From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from enterprise03.smtp.diehl.com ([193.201.238.214]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dwUW3-0000tl-TZ for ptxdist@pengutronix.de; Mon, 25 Sep 2017 16:37:48 +0200 From: Denis OSTERLAND Date: Mon, 25 Sep 2017 14:37:31 +0000 Message-ID: <1506350250.4348.7.camel@diehl.com> References: <1505466290-16548-1-git-send-email-Denis.Osterland@diehl.com> <20170925131059.yyrfzznizbptgdis@pengutronix.de> In-Reply-To: <20170925131059.yyrfzznizbptgdis@pengutronix.de> MIME-Version: 1.0 Content-Language: en-US Content-ID: <50A6DF9C323BB6448F2EEF543EB55B6D@diehl.internal> Subject: Re: [ptxdist] [PATCH] lua: version bump 5.1.4 -> 5.3.4 List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: "ptxdist@pengutronix.de" QW0gTW9udGFnLCBkZW4gMjUuMDkuMjAxNywgMTU6MTAgKzAyMDAgc2NocmllYiBNaWNoYWVsIE9s YnJpY2g6Cj4gT24gRnJpLCBTZXAgMTUsIDIwMTcgYXQgMDk6MDc6NTJBTSArMDAwMCwgRGVuaXMg T1NURVJMQU5EIHdyb3RlOgo+ID4gCj4gPiBJbnN0ZWFkIG9mIHdyaXRlIG93biBidWlsZCBydWxl cyB3aXRoIGF1dG9jb25mIHRvb2xzLAo+ID4gb25seSBhZGFwdCBwcm9qZWN0cyBtYWtlIGZpbGVz IHRvIHdvcmsgaW4gcHR4ZGlzdCBlbnZpcm9ubWVudC4KPiBJIGxpa2UgdGhpcyBQYXRjaCBpbiBn ZW5lcmFsLCBidXQgYnVpbGRpbmcgbHVhZXhwYXQgc3RpbGwgZmFpbHM6Cj4gCj4gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gdGFyZ2V0OiBsdWFleHBhdC5jb21waWxlCj4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gCj4gbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvc3J2L2plbmtp bnMtZGF0YS9hZ2VudC93b3Jrc3BhY2UvcHR4ZGlzdC10ZXN0cy9hbGwteWVzL21hc3Rlci5tb2wt bmV4dC5hcm0taGYvcGxhdGZvcm0tYXJtLWhmL2J1aWxkLXRhcmdldC9sdWFleHBhdC0KPiAxLjIu MCcKPiBhcm0tdjdhLWxpbnV4LWdudWVhYmloZi1nY2MgLVdhbGwgLXBlZGFudGljIC1XYWdncmVn YXRlLXJldHVybiAtV2Nhc3QtYWxpZ24gLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJv dG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XcG9pbnRlci0KPiBhcml0aCAtV3NoYWRvdyAtV3dy aXRlLXN0cmluZ3MgLWFuc2kgLU8yIC1JLiAtSS4uL2NvbXBhdC9zcmMgLUkuwqDCoMKgLWMgLW8g c3JjL2x4cGxpYi5vIHNyYy9seHBsaWIuYwo+IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvc3J2L2pl bmtpbnMtZGF0YS9hZ2VudC93b3Jrc3BhY2UvcHR4ZGlzdC10ZXN0cy9hbGwteWVzL21hc3Rlci5t b2wtbmV4dC5hcm0taGYvcGxhdGZvcm0tYXJtLWhmL3N5c3Jvb3QtCj4gdGFyZ2V0L3Vzci9pbmNs dWRlL2x1YS5oOjE2OjAsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyb20g c3JjL2x4cGxpYi5jOjE0Ogo+IC9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhk aXN0LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYv c3lzcm9vdC10YXJnZXQvdXNyL2luY2x1ZGUvbHVhY29uZi5oOjU4MToyOiBlcnJvcjoKPiAjZXJy b3IgIkNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgJ2xvbmcgbG9uZycuIFVzZSBvcHRpb24gJy1E TFVBXzMyQklUUyfCoMKgwqBvciAnLURMVUFfQzg5X05VTUJFUlMnIChzZWUgZmlsZSAnbHVhY29u Zi5oJyBmb3IgZGV0YWlscykiCj4gwqAjZXJyb3IgIkNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQg J2xvbmcgbG9uZycuIFVzZSBvcHRpb24gJy1ETFVBXzMyQklUUycgXAo+IMKgIF4KPiA8YnVpbHRp bj46IHJlY2lwZSBmb3IgdGFyZ2V0ICdzcmMvbHhwbGliLm8nIGZhaWxlZAo+IG1ha2VbMV06ICoq KiBbc3JjL2x4cGxpYi5vXSBFcnJvciAxCj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy9z cnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0LXRlc3RzL2FsbC15ZXMvbWFz dGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYvYnVpbGQtdGFyZ2V0L2x1YWV4cGF0 LQo+IDEuMi4wJwo+IC9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0LXRl c3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wdHhkaXN0L3J1bGVzL3Bvc3QvcHR4 ZF9tYWtlX3dvcmxkX2NvbXBpbGUubWFrZToyMTogcmVjaXBlIGZvciB0YXJnZXQKPiAnL3Nydi9q ZW5raW5zLWRhdGEvYWdlbnQvd29ya3NwYWNlL3B0eGRpc3QtdGVzdHMvYWxsLXllcy9tYXN0ZXIu bW9sLW5leHQuYXJtLWhmL3BsYXRmb3JtLWFybS1oZi9zdGF0ZS9sdWFleHBhdC5jb21waWxlJyBm YWlsZWQKPiBtYWtlOiAqKiogWy9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhk aXN0LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYv c3RhdGUvbHVhZXhwYXQuY29tcGlsZV0gRXJyb3IgMgo+IAo+IERvIHlvdSBoYXZlIGFueSBpbnNp Z2h0LCB3aGF0IGhhcHBlbnMgaGVyZT8gTWF5YmUgdXBkYXRpbmcgbHVhZXhwYXQgYXMgd2VsbAo+ IG1pZ2h0IGhlbHAuIE9yIGp1c3QgbWFyayBpdCBhcyBicm9rZW4gdW50aWwgc29tZW9uZSBjYXJl cyBlbm91Z2h0IGFib3V0IGl0Cj4gdG8gZml4IHRoaXMuClNlZW1zIC1hbnNpIGNhdXNlcyB0aGlz IGVycm9yLgpJZiBJIHJlbW92ZSBpdCwgaXQgZ2V0IGltcGxpY2l0IGRlY2xhcmF0aW9uIGVycm9y cy4KR29vZCBxdWVzdGlvbiBpZiB0aGlzIGlzIGJyb2tlbi4KVmVyc2lvbiAxLjMuMCBzdXBwb3J0 cyBMdWEgNS4yLCBhcyBIaXN0b3J5IHNheXMuIChodHRwczovL21hdHRoZXd3aWxkLmNvLnVrL3By b2plY3RzL2x1YWV4cGF0LykKVmVyc2lvbiAxLjMuMCBzZWVtcyB0byBjb21waWxlIHdpdGhvdXQg Ii1hbnNpIi4KSSB3aWxsIGNsZWFuIGl0IHVwIGFuZCBzZW5kIGl0LCBidXQgSSBkb27CtHQga25v dyBob3cgdG8gdGVzdCBpdC4uLgo+IAo+IE1pY2hhZWwKPiAKPiAKPiA+IAo+ID4gU2lnbmVkLW9m Zi1ieTogRGVuaXMgT3N0ZXJsYW5kIDxEZW5pcy5Pc3RlcmxhbmRAZGllaGwuY29tPgo+ID4gLS0t Cj4gPiDCoC4uLmx5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNo IHzCoMKgMTMgLQo+ID4gwqAuLi5ibGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10 b28tbS5wYXRjaCB8wqDCoDE0IC0KPiA+IMKgLi4uZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1 bGFyLWJvb2xlYW4tZXgucGF0Y2ggfMKgwqA3MiAtLQo+ID4gwqAuLi5sZS1tYXktaW52YWxpZGF0 ZS1hLXJlZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaCB8wqDCoDUyIC0tCj4gPiDCoC4uLm52LWRv ZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoIHzCoMKgMzIgLQo+ID4g wqAuLi5zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaCB8wqDC oDM1IC0KPiA+IMKgLi4uYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUu cGF0Y2ggfMKgwqA0NCAtCj4gPiDCoC4uLm4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1y ZWFkLWZhaWxzLnBhdGNoIHzCoMKgMzcgLQo+ID4gwqAuLi5nZW5lcmF0aW9uLWZvci1zb21lLXBh cnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaCB8wqDCoDU2IC0tCj4gPiDCoC4uLm1ldGFtZXRob2Qt bWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIHzCoMKgMzcgLQo+ID4gwqAuLi5t YXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaCB8wqDCoDMxIC0K PiA+IMKgLi4ucHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2gg fCAxNTEgLS0tLQo+ID4gwqAuLi51cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1m aWxlcy5wYXRjaCB8IDkxOCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+IMKgLi4udXBwb3J0LXRv LXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2ggfCAxMjUgLS0tCj4gPiDCoHBh dGNoZXMvbHVhLTUuMS40L2F1dG9nZW4uc2jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+ID4gwqBwYXRjaGVzL2x1YS01LjEuNC9zZXJpZXPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDC oDE5IC0KPiA+IMKgLi4uMDAxLUNyb3NzLWNvbXBpbGUtaW4tcHR4ZGlzdC1lbnZpcmlvbm1lbnQu cGF0Y2ggfCAxMDUgKysrCj4gPiDCoC4uLi9sdWEtNS4zLjQvMDAwMi1JbnN0YWxsLXBrZ2NvbmZp Zy1maWxlLnBhdGNowqDCoMKgwqB8wqDCoDYxICsrCj4gPiDCoHBhdGNoZXMvbHVhLTUuMy40L3Nl cmllc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHzCoMKgwqA1ICsKPiA+IMKgcnVsZXMvbHVhLmluwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDC oDkgKy0KPiA+IMKgcnVsZXMvbHVhLm1ha2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMjAgKy0KPiA+ IMKgMjEgZmlsZXMgY2hhbmdlZCwgMTgyIGluc2VydGlvbnMoKyksIDE2NTUgZGVsZXRpb25zKC0p Cj4gPiDCoGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDAxLU1hbGljaW91 c2x5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNoCj4gPiDCoGRl bGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDAyLUl0LWlzLXBvc3NpYmxlLXRv LWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2gKPiA+IMKgZGVsZXRlIG1v ZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9uLWZv ci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+ID4gwqBkZWxldGUgbW9kZSAxMDA2 NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEt cmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gPiDCoGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRj aGVzL2x1YS01LjEuNC8wMDA1LWRlYnVnLmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hldGhlci1p dC1oYXMtYW4tYXJndW0ucGF0Y2gKPiA+IMKgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVh LTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXBy b3Blci1yZS5wYXRjaAo+ID4gwqBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQv MDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhl LnBhdGNoCj4gPiDCoGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDA4LWlv LnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5wYXRjaAo+ ID4gwqBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2Rl LWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4gPiDCoGRl bGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDEwLV9fbmV3aW5kZXgtbWV0YW1l dGhvZC1tYXktbm90LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gKPiA+IMKgZGVsZXRlIG1v ZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xsZWN0LWEtcHJv dG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoCj4gPiDCoGRlbGV0ZSBtb2RlIDEwMDY0NCBw YXRjaGVzL2x1YS01LjEuNC8wMTAwLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktcmVt b3ZlLW9sZC1NYWtlZmlsZS5wYXRjaAo+ID4gwqBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9s dWEtNS4xLjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29u Zi1maWxlcy5wYXRjaAo+ID4gwqBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQv MDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5w YXRjaAo+ID4gwqBkZWxldGUgbW9kZSAxMjAwMDAgcGF0Y2hlcy9sdWEtNS4xLjQvYXV0b2dlbi5z aAo+ID4gwqBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCj4gPiDC oGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjMuNC8wMDAxLUNyb3NzLWNvbXBpbGUt aW4tcHR4ZGlzdC1lbnZpcmlvbm1lbnQucGF0Y2gKPiA+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHBh dGNoZXMvbHVhLTUuMy40LzAwMDItSW5zdGFsbC1wa2djb25maWctZmlsZS5wYXRjaAo+ID4gwqBj cmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCj4gPiAKPiA+IGRpZmYg LS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29t cGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1N YWxpY2lvdXNseS1jcmFmdGVkLQo+ID4gcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBh dGNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDg0OGZlMzAuLjAwMDAw MDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDEtTWFsaWNpb3VzbHktY3JhZnRlZC1w cmVjb21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2gKPiA+ICsrKyAvZGV2L251bGwKPiA+ IEBAIC0xLDEzICswLDAgQEAKPiA+IC1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJu aWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+ID4gLURhdGU6IFR1ZSwgNiBE ZWMgMjAxMSAxNDowNTozNSArMDEwMAo+ID4gLVN1YmplY3Q6IFtQQVRDSF0gTWFsaWNpb3VzbHkg Y3JhZnRlZCBwcmVjb21waWxlZCBjb2RlIGNhbiBjcmFzaCBMdWEKPiA+IC1NSU1FLVZlcnNpb246 IDEuMAo+ID4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+ID4gLUNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKPiA+IC0KPiA+IC1Db21lcyBmcm9tIGh0dHA6 Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtMQo+ID4gLQo+ID4gLVNpZ25lZC1vZmYtYnk6 IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtCj4g PiAtLS0tCj4gPiAtCj4gPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMi1JdC1p cy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1tLnBhdGNoIGIv cGF0Y2hlcy9sdWEtNS4xLjQvMDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtCj4gPiBmdW5j dGlvbnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2gKPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAo+ID4gaW5kZXggMjgwZmVlMy4uMDAwMDAwMAo+ID4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQv MDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1t LnBhdGNoCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSwxNCArMCwwIEBACj4gPiAtRnJvbTog PT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWly dGFnLmNvbT4KPiA+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MDc6MTggKzAxMDAKPiA+IC1T dWJqZWN0OiBbUEFUQ0hdIEl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBmdW5jdGlvbnMgdGhhdCBy ZXR1cm4gdG9vIG1hbnkKPiA+IC0gYXJndW1lbnRzIGFuZCBvdmVyZmxvdyB0aGUgc3RhY2sgb2Yg QyBmdW5jdGlvbnMuCj4gPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiA+IC1Db250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiA+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0Cj4gPiAtCj4gPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUu MS40LTIKPiA+IC0KPiA+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0 LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+ID4gLQo+ID4gLS0tLQo+ID4gLQo+ID4gZGlmZiAtLWdp dCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21l LXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3Jv bmctY29kZS1nZW5lcmF0aW9uLWZvci0KPiA+IHNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBh dGNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IGM1OTljYzYuLjAwMDAw MDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9u LWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+ID4gKysrIC9kZXYvbnVsbAo+ ID4gQEAgLTEsNzIgKzAsMCBAQAo+ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1 cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTogVHVlLCA2 IERlYyAyMDExIDE0OjEwOjU2ICswMTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBXcm9uZyBjb2Rl IGdlbmVyYXRpb24gZm9yIHNvbWUgcGFydGljdWxhciBib29sZWFuCj4gPiAtIGV4cHJlc3Npb25z LiAoc2VlIGFsc28gOSkKPiA+IC1NSU1FLVZlcnNpb246IDEuMAo+ID4gLUNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+ID4gLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKPiA+IC0KPiA+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwj NS4xLjQtMwo+ID4gLQo+ID4gLSByZXBvcnRlZCBieSBCcmlhbiBLZWxsZXkgb24gMTUgQXByIDIw MDkuCj4gPiAtIEV4YW1wbGU6Cj4gPiAtIC0tCj4gPiAtIHByaW50KCgoMSBvciBmYWxzZSkgYW5k IHRydWUpIG9yIGZhbHNlKcKgwqDCoC0tPiAxLCBidXQgc2hvdWxkIGJlICd0cnVlJwo+ID4gLSAt LQo+ID4gLQo+ID4gLVBhdGNoOiAocGFydGlhbCBzb2x1dGlvbjsgc2VlIGFsc28gOSkKPiA+IC0K PiA+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBh aXJ0YWcuY29tPgo+ID4gLS0tLQo+ID4gLSBzcmMvbGNvZGUuYyB8wqDCoMKgMjIgKysrKysrKysr KysrKystLS0tLS0tLQo+ID4gLSAxIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCj4gPiAtCj4gPiAtZGlmZiAtLWdpdCBhL3NyYy9sY29kZS5jIGIvc3JjL2xj b2RlLmMKPiA+IC1pbmRleCBjZmY2MjZiLi44NGYyODZiIDEwMDY0NAo+ID4gLS0tLSBhL3NyYy9s Y29kZS5jCj4gPiAtKysrIGIvc3JjL2xjb2RlLmMKPiA+IC1AQCAtNTQ0LDE1ICs1NDQsMTggQEAg dm9pZCBsdWFLX2dvaWZ0cnVlIChGdW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Cj4gPiAtwqDC oMKgwqDCoMKgwqBwYyA9IE5PX0pVTVA7wqDCoC8qIGFsd2F5cyB0cnVlOyBkbyBub3RoaW5nICov Cj4gPiAtwqDCoMKgwqDCoMKgwqBicmVhazsKPiA+IC3CoMKgwqDCoMKgfQo+ID4gLS3CoMKgwqDC oGNhc2UgVkZBTFNFOiB7Cj4gPiAtLcKgwqDCoMKgwqDCoHBjID0gbHVhS19qdW1wKGZzKTvCoMKg LyogYWx3YXlzIGp1bXAgKi8KPiA+IC0twqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtLcKgwqDCoMKg fQo+ID4gLcKgwqDCoMKgwqBjYXNlIFZKTVA6IHsKPiA+IC3CoMKgwqDCoMKgwqDCoGludmVydGp1 bXAoZnMsIGUpOwo+ID4gLcKgwqDCoMKgwqDCoMKgcGMgPSBlLT51LnMuaW5mbzsKPiA+IC3CoMKg wqDCoMKgwqDCoGJyZWFrOwo+ID4gLcKgwqDCoMKgwqB9Cj4gPiAtK8KgwqDCoMKgY2FzZSBWRkFM U0U6IHsKPiA+IC0rwqDCoMKgwqDCoMKgaWYgKCFoYXNqdW1wcyhlKSkgewo+ID4gLSvCoMKgwqDC oMKgwqDCoMKgcGMgPSBsdWFLX2p1bXAoZnMpO8KgwqAvKiBhbHdheXMganVtcCAqLwo+ID4gLSvC oMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtK8KgwqDCoMKgwqDCoH0KPiA+IC0rwqDCoMKgwqDC oMKgLyogZWxzZSBnbyB0aHJvdWdoICovCj4gPiAtK8KgwqDCoMKgfQo+ID4gLcKgwqDCoMKgwqBk ZWZhdWx0OiB7Cj4gPiAtwqDCoMKgwqDCoMKgwqBwYyA9IGp1bXBvbmNvbmQoZnMsIGUsIDApOwo+ ID4gLcKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtQEAgLTU3MiwxNCArNTc1LDE3IEBAIHN0YXRp YyB2b2lkIGx1YUtfZ29pZmZhbHNlIChGdW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Cj4gPiAt wqDCoMKgwqDCoMKgwqBwYyA9IE5PX0pVTVA7wqDCoC8qIGFsd2F5cyBmYWxzZTsgZG8gbm90aGlu ZyAqLwo+ID4gLcKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtwqDCoMKgwqDCoH0KPiA+IC0twqDC oMKgwqBjYXNlIFZUUlVFOiB7Cj4gPiAtLcKgwqDCoMKgwqDCoHBjID0gbHVhS19qdW1wKGZzKTvC oMKgLyogYWx3YXlzIGp1bXAgKi8KPiA+IC0twqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtLcKgwqDC oMKgfQo+ID4gLcKgwqDCoMKgwqBjYXNlIFZKTVA6IHsKPiA+IC3CoMKgwqDCoMKgwqDCoHBjID0g ZS0+dS5zLmluZm87Cj4gPiAtwqDCoMKgwqDCoMKgwqBicmVhazsKPiA+IC3CoMKgwqDCoMKgfQo+ ID4gLSvCoMKgwqDCoGNhc2UgVlRSVUU6IHsKPiA+IC0rwqDCoMKgwqDCoMKgaWYgKCFoYXNqdW1w cyhlKSkgewo+ID4gLSvCoMKgwqDCoMKgwqDCoMKgcGMgPSBsdWFLX2p1bXAoZnMpO8KgwqAvKiBh bHdheXMganVtcCAqLwo+ID4gLSvCoMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtK8KgwqDCoMKg wqDCoH0KPiA+IC0rwqDCoMKgwqDCoMKgLyogZWxzZSBnbyB0aHJvdWdoICovCj4gPiAtK8KgwqDC oMKgfQo+ID4gLcKgwqDCoMKgwqBkZWZhdWx0OiB7Cj4gPiAtwqDCoMKgwqDCoMKgwqBwYyA9IGp1 bXBvbmNvbmQoZnMsIGUsIDEpOwo+ID4gLcKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiBkaWZmIC0t Z2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRl LWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1s dWFWX3NldHRhYmxlLW1heS0KPiA+IGludmFsaWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10YWJsZS0u cGF0Y2gKPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggZmUxMTg5Mi4uMDAw MDAwMAo+ID4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1p bnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gPiArKysgL2Rldi9udWxs Cj4gPiBAQCAtMSw1MiArMCwwIEBACj4gPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIw QnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiA+IC1EYXRlOiBUdWUs IDYgRGVjIDIwMTEgMTQ6MTM6NTkgKzAxMDAKPiA+IC1TdWJqZWN0OiBbUEFUQ0hdIGx1YVZfc2V0 dGFibGUgbWF5IGludmFsaWRhdGUgYSByZWZlcmVuY2UgdG8gYSB0YWJsZSBhbmQgdHJ5Cj4gPiAt IHRvIHJldXNlIGl0Cj4gPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiA+IC1Db250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiA+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0Cj4gPiAtCj4gPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUu MS40LTQKPiA+IC0KPiA+IC1yZXBvcnRlZCBieSBNYXJrIEZlbGRtYW4gb24gMjcgSnVuIDIwMDku Cj4gPiAtRXhhbXBsZToKPiA+IC0gLS0KPiA+IC0gZ3JhbmRwYXJlbnQgPSB7fQo+ID4gLSBncmFu ZHBhcmVudC5fX25ld2luZGV4ID0gZnVuY3Rpb24ocyxfLF8pIHByaW50KHMpIGVuZAo+ID4gLQo+ ID4gLSBwYXJlbnQgPSB7fQo+ID4gLSBwYXJlbnQuX19uZXdpbmRleCA9IHBhcmVudAo+ID4gLSBz ZXRtZXRhdGFibGUocGFyZW50LCBncmFuZHBhcmVudCkKPiA+IC0KPiA+IC0gY2hpbGQgPSBzZXRt ZXRhdGFibGUoe30sIHBhcmVudCkKPiA+IC0gY2hpbGQuZm9vID0gMTDCoMKgwqDCoMKgwqAtLT4g KGNyYXNoIG9uIHNvbWUgbWFjaGluZXMpCj4gPiAtIC0tCj4gPiAtCj4gPiAtU2lnbmVkLW9mZi1i eTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiA+IC0t LS0KPiA+IC0gc3JjL2x2bS5jIHzCoMKgwqDCoDUgKysrKy0KPiA+IC0gMSBmaWxlcyBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gPiAtCj4gPiAtZGlmZiAtLWdpdCBh L3NyYy9sdm0uYyBiL3NyYy9sdm0uYwo+ID4gLWluZGV4IGVlMzI1NmEuLjRhYzJlNzEgMTAwNjQ0 Cj4gPiAtLS0tIGEvc3JjL2x2bS5jCj4gPiAtKysrIGIvc3JjL2x2bS5jCj4gPiAtQEAgLTEzMyw2 ICsxMzMsNyBAQCB2b2lkIGx1YVZfZ2V0dGFibGUgKGx1YV9TdGF0ZSAqTCwgY29uc3QgVFZhbHVl ICp0LCBUVmFsdWUgKmtleSwgU3RrSWQgdmFsKSB7Cj4gPiAtwqAKPiA+IC0gdm9pZCBsdWFWX3Nl dHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1ZSAqdCwgVFZhbHVlICprZXksIFN0a0lk IHZhbCkgewo+ID4gLcKgwqDCoGludCBsb29wOwo+ID4gLSvCoMKgVFZhbHVlIHRlbXA7Cj4gPiAt wqDCoMKgZm9yIChsb29wID0gMDsgbG9vcCA8IE1BWFRBR0xPT1A7IGxvb3ArKykgewo+ID4gLcKg wqDCoMKgwqBjb25zdCBUVmFsdWUgKnRtOwo+ID4gLcKgwqDCoMKgwqBpZiAodHRpc3RhYmxlKHQp KSB7wqDCoC8qIGB0JyBpcyBhIHRhYmxlPyAqLwo+ID4gLUBAIC0xNTIsNyArMTUzLDkgQEAgdm9p ZCBsdWFWX3NldHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1ZSAqdCwgVFZhbHVlICpr ZXksIFN0a0lkIHZhbCkgewo+ID4gLcKgwqDCoMKgwqDCoMKgY2FsbFRNKEwsIHRtLCB0LCBrZXks IHZhbCk7Cj4gPiAtwqDCoMKgwqDCoMKgwqByZXR1cm47Cj4gPiAtwqDCoMKgwqDCoH0KPiA+IC0t wqDCoMKgwqB0ID0gdG07wqDCoC8qIGVsc2UgcmVwZWF0IHdpdGggYHRtJyAqL8KgCj4gPiAtK8Kg wqDCoMKgLyogZWxzZSByZXBlYXQgd2l0aCBgdG0nICovCj4gPiAtK8KgwqDCoMKgc2V0b2JqKEws ICZ0ZW1wLCB0bSk7wqDCoC8qIGF2b2lkIHBvaW50aW5nIGluc2lkZSB0YWJsZSAobWF5IHJlaGFz aCkgKi8KPiA+IC0rwqDCoMKgwqB0ID0gJnRlbXA7Cj4gPiAtwqDCoMKgfQo+ID4gLcKgwqDCoGx1 YUdfcnVuZXJyb3IoTCwgImxvb3AgaW4gc2V0dGFibGUiKTsKPiA+IC0gfQo+ID4gZGlmZiAtLWdp dCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13 aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVi dWcuZ2V0ZmVudi1kb2VzLW5vdC0KPiA+IGNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBh dGNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDQwYzBlM2YuLjAwMDAw MDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5v dC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaAo+ID4gKysrIC9kZXYvbnVsbAo+ ID4gQEAgLTEsMzIgKzAsMCBAQAo+ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1 cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTogVHVlLCA2 IERlYyAyMDExIDE0OjE4OjIwICswMTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBkZWJ1Zy5nZXRm ZW52IGRvZXMgbm90IGNoZWNrIHdoZXRoZXIgaXQgaGFzIGFuIGFyZ3VtZW50Lgo+ID4gLU1JTUUt VmVyc2lvbjogMS4wCj4gPiAtQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 Cj4gPiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+ID4gLQo+ID4gLUNvbWVzIGZy b20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC01Cj4gPiAtCj4gPiAtcmVwb3J0 ZWQgYnkgUGF0cmljayBEb25uZWxseSBvbiAzMCBKdWwgMjAwOS4KPiA+IC1FeGFtcGxlOgo+ID4g LSAtLQo+ID4gLSBkZWJ1Zy5nZXRmZW52KCnCoMKgwqAtLSBzaG91bGQgcmFpc2UgYW4gZXJyb3IK PiA+IC0gLS0KPiA+IC0KPiA+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVu b2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+ID4gLS0tLQo+ID4gLSBzcmMvbGRibGliLmMgfMKg wqDCoMKgMSArCj4gPiAtIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0 aW9ucygtKQo+ID4gLQo+ID4gLWRpZmYgLS1naXQgYS9zcmMvbGRibGliLmMgYi9zcmMvbGRibGli LmMKPiA+IC1pbmRleCA2N2RlMTIyLi4yMTExNmFjIDEwMDY0NAo+ID4gLS0tLSBhL3NyYy9sZGJs aWIuYwo+ID4gLSsrKyBiL3NyYy9sZGJsaWIuYwo+ID4gLUBAIC00NSw2ICs0NSw3IEBAIHN0YXRp YyBpbnQgZGJfc2V0bWV0YXRhYmxlIChsdWFfU3RhdGUgKkwpIHsKPiA+IC3CoAo+ID4gLcKgCj4g PiAtIHN0YXRpYyBpbnQgZGJfZ2V0ZmVudiAobHVhX1N0YXRlICpMKSB7Cj4gPiAtK8KgwqBsdWFM X2NoZWNrYW55KEwsIDEpOwo+ID4gLcKgwqDCoGx1YV9nZXRmZW52KEwsIDEpOwo+ID4gLcKgwqDC oHJldHVybiAxOwo+ID4gLSB9Cj4gPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAw Ni1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBh dGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy0KPiA+ IHBhcnNpbmctYW5kLWF2b2lkcy1wcm9wZXItcmUucGF0Y2gKPiA+IGRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAo+ID4gaW5kZXggZjc0ODM3Mi4uMDAwMDAwMAo+ID4gLS0tIGEvcGF0Y2hlcy9sdWEt NS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJv cGVyLXJlLnBhdGNoCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSwzNSArMCwwIEBACj4gPiAt RnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNo b25AYWlydGFnLmNvbT4KPiA+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjA6MTUgKzAxMDAK PiA+IC1TdWJqZWN0OiBbUEFUQ0hdIEdDIG1heSBnZXQgc3R1Y2sgZHVyaW5nIHBhcnNpbmcgYW5k IGF2b2lkcyBwcm9wZXIgcmVzaXppbmcKPiA+IC0gb2YgdGhlIHN0cmluZyB0YWJsZSwgbWFraW5n IGl0cyBsaXN0cyBncm93IHRvbyBtdWNoIGFuZAo+ID4gLSBkZWdyYWRpbmcgcGVyZm9ybWFuY2Uu Cj4gPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiA+IC1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKPiA+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gPiAtCj4g PiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTYKPiA+IC0K PiA+IC0gcmVwb3J0ZWQgYnkgU2VhbiBDb25uZXIgb24gMTAgTm92IDIwMDkuCj4gPiAtCj4gPiAt Cj4gPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25A YWlydGFnLmNvbT4KPiA+IC0tLS0KPiA+IC0gc3JjL2xsZXguYyB8wqDCoMKgwqA0ICsrKy0KPiA+ IC0gMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gPiAt Cj4gPiAtZGlmZiAtLWdpdCBhL3NyYy9sbGV4LmMgYi9zcmMvbGxleC5jCj4gPiAtaW5kZXggNmRj MzE5My4uOTJkNjU3NSAxMDA2NDQKPiA+IC0tLS0gYS9zcmMvbGxleC5jCj4gPiAtKysrIGIvc3Jj L2xsZXguYwo+ID4gLUBAIC0xMTgsOCArMTE4LDEwIEBAIFRTdHJpbmcgKmx1YVhfbmV3c3RyaW5n IChMZXhTdGF0ZSAqbHMsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGwpIHsKPiA+IC3CoMKgwqBs dWFfU3RhdGUgKkwgPSBscy0+TDsKPiA+IC3CoMKgwqBUU3RyaW5nICp0cyA9IGx1YVNfbmV3bHN0 cihMLCBzdHIsIGwpOwo+ID4gLcKgwqDCoFRWYWx1ZSAqbyA9IGx1YUhfc2V0c3RyKEwsIGxzLT5m cy0+aCwgdHMpO8KgwqAvKiBlbnRyeSBmb3IgYHN0cicgKi8KPiA+IC0twqDCoGlmICh0dGlzbmls KG8pKQo+ID4gLSvCoMKgaWYgKHR0aXNuaWwobykpIHsKPiA+IC3CoMKgwqDCoMKgc2V0YnZhbHVl KG8sIDEpO8KgwqAvKiBtYWtlIHN1cmUgYHN0cicgd2lsbCBub3QgYmUgY29sbGVjdGVkICovCj4g PiAtK8KgwqDCoMKgbHVhQ19jaGVja0dDKEwpOwo+ID4gLSvCoMKgfQo+ID4gLcKgwqDCoHJldHVy biB0czsKPiA+IC0gfQo+ID4gLcKgCj4gPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQv MDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhl LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtCj4g PiBidWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2gKPiA+IGRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAo+ID4gaW5kZXggY2MwYzMxMC4uMDAwMDAwMAo+ID4gLS0tIGEvcGF0Y2hlcy9s dWEtNS4xLjQvMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50 LXdoZW4tdGhlLnBhdGNoCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSw0NCArMCwwIEBACj4g PiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJu aWNob25AYWlydGFnLmNvbT4KPiA+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjE6NDYgKzAx MDAKPiA+IC1TdWJqZWN0OiBbUEFUQ0hdIHN0cmluZy5mb3JtYXQgbWF5IGdldCBidWZmZXIgYXMg YW4gYXJndW1lbnQgd2hlbiB0aGVyZSBhcmUKPiA+IC0gbWlzc2luZyBhcmd1bWVudHMgYW5kIGZv cm1hdCBzdHJpbmcgaXMgdG9vIGxvbmcuCj4gPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiA+IC1Db250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiA+IC1Db250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0Cj4gPiAtCj4gPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcv YnVncy5odG1sIzUuMS40LTcKPiA+IC0KPiA+IC1yZXBvcnRlZCBieSBSb2JlcnRvIG9uIDEyIEFw ciAyMDEwLgo+ID4gLUV4YW1wbGU6Cj4gPiAtIC0tCj4gPiAtIHggPSBzdHJpbmcucmVwKCJ4Iiwg MTAwMDApIC4uICIlZCIKPiA+IC0gcHJpbnQoc3RyaW5nLmZvcm1hdCh4KSnCoMKgwqDCoC0tIGdp dmVzIHdyb25nIGVycm9yIG1lc3NhZ2UKPiA+IC0gLS0KPiA+IC0KPiA+IC1TaWduZWQtb2ZmLWJ5 OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+ID4gLS0t LQo+ID4gLSBzcmMvbHN0cmxpYi5jIHzCoMKgwqDCoDQgKysrLQo+ID4gLSAxIGZpbGVzIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKPiA+IC0KPiA+IC1kaWZmIC0tZ2l0 IGEvc3JjL2xzdHJsaWIuYyBiL3NyYy9sc3RybGliLmMKPiA+IC1pbmRleCAxYjQ3NjNkLi5mZTQ1 MmNlIDEwMDY0NAo+ID4gLS0tLSBhL3NyYy9sc3RybGliLmMKPiA+IC0rKysgYi9zcmMvbHN0cmxp Yi5jCj4gPiAtQEAgLTc1NCw2ICs3NTQsNyBAQCBzdGF0aWMgdm9pZCBhZGRpbnRsZW4gKGNoYXIg KmZvcm0pIHsKPiA+IC3CoAo+ID4gLcKgCj4gPiAtIHN0YXRpYyBpbnQgc3RyX2Zvcm1hdCAobHVh X1N0YXRlICpMKSB7Cj4gPiAtK8KgwqBpbnQgdG9wID0gbHVhX2dldHRvcChMKTsKPiA+IC3CoMKg wqBpbnQgYXJnID0gMTsKPiA+IC3CoMKgwqBzaXplX3Qgc2ZsOwo+ID4gLcKgwqDCoGNvbnN0IGNo YXIgKnN0cmZybXQgPSBsdWFMX2NoZWNrbHN0cmluZyhMLCBhcmcsICZzZmwpOwo+ID4gLUBAIC03 NjgsNyArNzY5LDggQEAgc3RhdGljIGludCBzdHJfZm9ybWF0IChsdWFfU3RhdGUgKkwpIHsKPiA+ IC3CoMKgwqDCoMKgZWxzZSB7IC8qIGZvcm1hdCBpdGVtICovCj4gPiAtwqDCoMKgwqDCoMKgwqBj aGFyIGZvcm1bTUFYX0ZPUk1BVF07wqDCoC8qIHRvIHN0b3JlIHRoZSBmb3JtYXQgKGAlLi4uJykg Ki8KPiA+IC3CoMKgwqDCoMKgwqDCoGNoYXIgYnVmZltNQVhfSVRFTV07wqDCoC8qIHRvIHN0b3Jl IHRoZSBmb3JtYXR0ZWQgaXRlbSAqLwo+ID4gLS3CoMKgwqDCoMKgwqBhcmcrKzsKPiA+IC0rwqDC oMKgwqDCoMKgaWYgKCsrYXJnID4gdG9wKQo+ID4gLSvCoMKgwqDCoMKgwqDCoMKgbHVhTF9hcmdl cnJvcihMLCBhcmcsICJubyB2YWx1ZSIpOwo+ID4gLcKgwqDCoMKgwqDCoMKgc3RyZnJtdCA9IHNj YW5mb3JtYXQoTCwgc3RyZnJtdCwgZm9ybSk7Cj4gPiAtwqDCoMKgwqDCoMKgwqBzd2l0Y2ggKCpz dHJmcm10KyspIHsKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqBjYXNlICdjJzogewo+ID4gZGlmZiAt LWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJi YWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOC1p by5yZWFkLW4tbi1tYXktcmV0dXJuLQo+ID4gZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5w YXRjaAo+ID4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCA1YTVkMGYyLi4wMDAw MDAwCj4gPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1 cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5wYXRjaAo+ID4gKysrIC9kZXYvbnVsbAo+ ID4gQEAgLTEsMzcgKzAsMCBAQAo+ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1 cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTogVHVlLCA2 IERlYyAyMDExIDE0OjIzOjUzICswMTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBpby5yZWFkKCIq biIsICIqbiIpIG1heSByZXR1cm4gZ2FyYmFnZSBpZiBzZWNvbmQgcmVhZCBmYWlscy4KPiA+IC1N SU1FLVZlcnNpb246IDEuMAo+ID4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOAo+ID4gLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKPiA+IC0KPiA+IC1Db21l cyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtOAo+ID4gLQo+ID4gLXJl cG9ydGVkIGJ5IFJvYmVydG8gb24gMTIgQXByIDIwMTAuCj4gPiAtRXhhbXBsZToKPiA+IC0gLS0K PiA+IC0gcHJpbnQoaW8ucmVhZCgiKm4iLCAiKm4iKSnCoMKgwqAtLTw8IGVudGVyICIxMMKgwqDC oGhpIgo+ID4gLSAtLT4gZmlsZSAoMHg4ODQ0MjApCW5pbAo+ID4gLSAtLQo+ID4gLQo+ID4gLVNp Z25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5j b20+Cj4gPiAtLS0tCj4gPiAtIHNyYy9saW9saWIuYyB8wqDCoMKgwqA1ICsrKystCj4gPiAtIDEg ZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQo+ID4gLQo+ID4g LWRpZmYgLS1naXQgYS9zcmMvbGlvbGliLmMgYi9zcmMvbGlvbGliLmMKPiA+IC1pbmRleCBlNzll ZDFjLi44ZGUyNTQ3IDEwMDY0NAo+ID4gLS0tLSBhL3NyYy9saW9saWIuYwo+ID4gLSsrKyBiL3Ny Yy9saW9saWIuYwo+ID4gLUBAIC0yNzYsNyArMjc2LDEwIEBAIHN0YXRpYyBpbnQgcmVhZF9udW1i ZXIgKGx1YV9TdGF0ZSAqTCwgRklMRSAqZikgewo+ID4gLcKgwqDCoMKgwqBsdWFfcHVzaG51bWJl cihMLCBkKTsKPiA+IC3CoMKgwqDCoMKgcmV0dXJuIDE7Cj4gPiAtwqDCoMKgfQo+ID4gLS3CoMKg ZWxzZSByZXR1cm4gMDvCoMKgLyogcmVhZCBmYWlscyAqLwo+ID4gLSvCoMKgZWxzZSB7Cj4gPiAt K8KgwqDCoMKgbHVhX3B1c2huaWwoTCk7wqDCoC8qICJyZXN1bHQiIHRvIGJlIHJlbW92ZWQgKi8K PiA+IC0rwqDCoMKgwqByZXR1cm4gMDvCoMKgLyogcmVhZCBmYWlscyAqLwo+ID4gLSvCoMKgfQo+ ID4gLSB9Cj4gPiAtwqAKPiA+IC3CoAo+ID4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40 LzAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1l eC5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZv ci0KPiA+IHNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4gPiBkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKPiA+IGluZGV4IDIwYzBiMTEuLjAwMDAwMDAKPiA+IC0tLSBhL3BhdGNoZXMv bHVhLTUuMS40LzAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXIt Ym9vbGVhbi1leC5wYXRjaAo+ID4gKysrIC9kZXYvbnVsbAo+ID4gQEAgLTEsNTYgKzAsMCBAQAo+ ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVy bmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjI1OjE4ICsw MTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBXcm9uZyBjb2RlIGdlbmVyYXRpb24gZm9yIHNvbWUg cGFydGljdWxhciBib29sZWFuCj4gPiAtIGV4cHJlc3Npb25zLgo+ID4gLU1JTUUtVmVyc2lvbjog MS4wCj4gPiAtQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4gPiAtQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+ID4gLQo+ID4gLUNvbWVzIGZyb20gaHR0cDov L3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC05Cj4gPiAtCj4gPiAtcmVwb3J0ZWQgYnkgVGhp ZXJyeSBWYW4gRWxzdXdlIG9uIDIwIEphbiAyMDExLgo+ID4gLUV4YW1wbGU6Cj4gPiAtIC0tCj4g PiAtIHByaW50KCgoJ2hpJyBvciB0cnVlKSBhbmQgdHJ1ZSkgb3IgdHJ1ZSkKPiA+IC0gLS0+IGhp wqDCoMKgwqDCoChzaG91bGQgYmUgdHJ1ZSkKPiA+IC0gcHJpbnQoKChuaWwgYW5kIG5pbCkgb3Ig ZmFsc2UpIGFuZCB0cnVlKQo+ID4gLSAtLT4gbmlswqDCoMKgwqAoc2hvdWxkIGJlIGZhbHNlKQo+ ID4gLSAtLQo+ID4gLQo+ID4gLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5v aXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtLS0tCj4gPiAtIHNyYy9sY29kZS5jIHzCoMKg wqAxNCAtLS0tLS0tLS0tLS0tLQo+ID4gLSAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygr KSwgMTQgZGVsZXRpb25zKC0pCj4gPiAtCj4gPiAtZGlmZiAtLWdpdCBhL3NyYy9sY29kZS5jIGIv c3JjL2xjb2RlLmMKPiA+IC1pbmRleCA4NGYyODZiLi5jMTMwNjZlIDEwMDY0NAo+ID4gLS0tLSBh L3NyYy9sY29kZS5jCj4gPiAtKysrIGIvc3JjL2xjb2RlLmMKPiA+IC1AQCAtNTQ5LDEzICs1NDks NiBAQCB2b2lkIGx1YUtfZ29pZnRydWUgKEZ1bmNTdGF0ZSAqZnMsIGV4cGRlc2MgKmUpIHsKPiA+ IC3CoMKgwqDCoMKgwqDCoHBjID0gZS0+dS5zLmluZm87Cj4gPiAtwqDCoMKgwqDCoMKgwqBicmVh azsKPiA+IC3CoMKgwqDCoMKgfQo+ID4gLS3CoMKgwqDCoGNhc2UgVkZBTFNFOiB7Cj4gPiAtLcKg wqDCoMKgwqDCoGlmICghaGFzanVtcHMoZSkpIHsKPiA+IC0twqDCoMKgwqDCoMKgwqDCoHBjID0g bHVhS19qdW1wKGZzKTvCoMKgLyogYWx3YXlzIGp1bXAgKi8KPiA+IC0twqDCoMKgwqDCoMKgwqDC oGJyZWFrOwo+ID4gLS3CoMKgwqDCoMKgwqB9Cj4gPiAtLcKgwqDCoMKgwqDCoC8qIGVsc2UgZ28g dGhyb3VnaCAqLwo+ID4gLS3CoMKgwqDCoH0KPiA+IC3CoMKgwqDCoMKgZGVmYXVsdDogewo+ID4g LcKgwqDCoMKgwqDCoMKgcGMgPSBqdW1wb25jb25kKGZzLCBlLCAwKTsKPiA+IC3CoMKgwqDCoMKg wqDCoGJyZWFrOwo+ID4gLUBAIC01NzksMTMgKzU3Miw2IEBAIHN0YXRpYyB2b2lkIGx1YUtfZ29p ZmZhbHNlIChGdW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Cj4gPiAtwqDCoMKgwqDCoMKgwqBw YyA9IGUtPnUucy5pbmZvOwo+ID4gLcKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiAtwqDCoMKgwqDC oH0KPiA+IC0twqDCoMKgwqBjYXNlIFZUUlVFOiB7Cj4gPiAtLcKgwqDCoMKgwqDCoGlmICghaGFz anVtcHMoZSkpIHsKPiA+IC0twqDCoMKgwqDCoMKgwqDCoHBjID0gbHVhS19qdW1wKGZzKTvCoMKg LyogYWx3YXlzIGp1bXAgKi8KPiA+IC0twqDCoMKgwqDCoMKgwqDCoGJyZWFrOwo+ID4gLS3CoMKg wqDCoMKgwqB9Cj4gPiAtLcKgwqDCoMKgwqDCoC8qIGVsc2UgZ28gdGhyb3VnaCAqLwo+ID4gLS3C oMKgwqDCoH0KPiA+IC3CoMKgwqDCoMKgZGVmYXVsdDogewo+ID4gLcKgwqDCoMKgwqDCoMKgcGMg PSBqdW1wb25jb25kKGZzLCBlLCAxKTsKPiA+IC3CoMKgwqDCoMKgwqDCoGJyZWFrOwo+ID4gZGlm ZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTAtX19uZXdpbmRleC1tZXRhbWV0aG9kLW1h eS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAw MTAtX19uZXdpbmRleC1tZXRhbWV0aG9kLW1heS0KPiA+IG5vdC13b3JrLWlmLW1ldGF0YWJsZS1p cy1pLnBhdGNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDZjOWY3ZTEu LjAwMDAwMDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTAtX19uZXdpbmRleC1tZXRh bWV0aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRjaAo+ID4gKysrIC9kZXYv bnVsbAo+ID4gQEAgLTEsMzcgKzAsMCBAQAo+ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFF dD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTog VHVlLCA2IERlYyAyMDExIDE0OjI3OjA0ICswMTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBfX25l d2luZGV4IG1ldGFtZXRob2QgbWF5IG5vdCB3b3JrIGlmIG1ldGF0YWJsZSBpcyBpdHMgb3duCj4g PiAtIG1ldGF0YWJsZS4KPiA+IC1NSU1FLVZlcnNpb246IDEuMAo+ID4gLUNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+ID4gLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKPiA+IC0KPiA+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwj NS4xLjQtMTAKPiA+IC0KPiA+IC1yZXBvcnRlZCBieSBDdWVybyBCdWdvdCBvbiAwOSBBdWcgMjAx MS4KPiA+IC1FeGFtcGxlOgo+ID4gLSAtLQo+ID4gLSBtZXRhPXt9Cj4gPiAtIHNldG1ldGF0YWJs ZShtZXRhLCBtZXRhKQo+ID4gLSBtZXRhLl9fbmV3aW5kZXggPSBmdW5jdGlvbih0LCBrZXksIHZh bHVlKSBwcmludCgic2V0IikgZW5kCj4gPiAtIG8gPSBzZXRtZXRhdGFibGUoe30sIG1ldGEpCj4g PiAtIG8ueCA9IDEwwqDCoMKgwqAtLSBzaG91bGQgcHJpbnQgJ3NldCcKPiA+IC0gLS0KPiA+IC0K PiA+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBh aXJ0YWcuY29tPgo+ID4gLS0tLQo+ID4gLSBzcmMvbHZtLmMgfMKgwqDCoMKgMSArCj4gPiAtIDEg ZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQo+ID4gLQo+ID4g LWRpZmYgLS1naXQgYS9zcmMvbHZtLmMgYi9zcmMvbHZtLmMKPiA+IC1pbmRleCA0YWMyZTcxLi5j YTdiZWEwIDEwMDY0NAo+ID4gLS0tLSBhL3NyYy9sdm0uYwo+ID4gLSsrKyBiL3NyYy9sdm0uYwo+ ID4gLUBAIC0xNDIsNiArMTQyLDcgQEAgdm9pZCBsdWFWX3NldHRhYmxlIChsdWFfU3RhdGUgKkws IGNvbnN0IFRWYWx1ZSAqdCwgVFZhbHVlICprZXksIFN0a0lkIHZhbCkgewo+ID4gLcKgwqDCoMKg wqDCoMKgaWYgKCF0dGlzbmlsKG9sZHZhbCkgfHzCoMKgLyogcmVzdWx0IGlzIG5vIG5pbD8gKi8K PiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgKHRtID0gZmFzdHRtKEwsIGgtPm1ldGF0YWJsZSwg VE1fTkVXSU5ERVgpKSA9PSBOVUxMKSB7IC8qIG9yIG5vIFRNPyAqLwo+ID4gLcKgwqDCoMKgwqDC oMKgwqDCoHNldG9iajJ0KEwsIG9sZHZhbCwgdmFsKTsKPiA+IC0rwqDCoMKgwqDCoMKgwqDCoGgt PmZsYWdzID0gMDsKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqBsdWFDX2JhcnJpZXJ0KEwsIGgsIHZh bCk7Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ID4gLcKgwqDCoMKgwqDCoMKgfQo+ ID4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xsZWN0 LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQv MDAxMS1QYXJzZXItbWF5LWNvbGxlY3QtYS0KPiA+IHByb3RvdHlwZS13aGlsZS1idWlsZGluZy1p dC5wYXRjaAo+ID4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCA5NGVlMmU0Li4w MDAwMDAwCj4gPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDExLVBhcnNlci1tYXktY29sbGVj dC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaAo+ID4gKysrIC9kZXYvbnVsbAo+ ID4gQEAgLTEsMzEgKzAsMCBAQAo+ID4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1 cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtRGF0ZTogVHVlLCA2 IERlYyAyMDExIDE0OjI4OjE5ICswMTAwCj4gPiAtU3ViamVjdDogW1BBVENIXSBQYXJzZXIgbWF5 IGNvbGxlY3QgYSBwcm90b3R5cGUgd2hpbGUgYnVpbGRpbmcgaXQuCj4gPiAtTUlNRS1WZXJzaW9u OiAxLjAKPiA+IC1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiA+IC1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gPiAtCj4gPiAtQ29tZXMgZnJvbSBodHRw Oi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTExCj4gPiAtCj4gPiAtcmVwb3J0ZWQgYnkg SW5nbyB2YW4gTGlsIG9uIDEzIE9jdCAyMDExLgo+ID4gLQo+ID4gLVNpZ25lZC1vZmYtYnk6IEJl bm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gPiAtLS0tCj4g PiAtIHNyYy9scGFyc2VyLmMgfMKgwqDCoMKgMiArLQo+ID4gLSAxIGZpbGVzIGNoYW5nZWQsIDEg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKPiA+IC0KPiA+IC1kaWZmIC0tZ2l0IGEvc3Jj L2xwYXJzZXIuYyBiL3NyYy9scGFyc2VyLmMKPiA+IC1pbmRleCAxZTJhOWE4Li5hMjcyMWQyIDEw MDY0NAo+ID4gLS0tLSBhL3NyYy9scGFyc2VyLmMKPiA+IC0rKysgYi9zcmMvbHBhcnNlci5jCj4g PiAtQEAgLTM3NCw5ICszNzQsOSBAQCBzdGF0aWMgdm9pZCBjbG9zZV9mdW5jIChMZXhTdGF0ZSAq bHMpIHsKPiA+IC3CoMKgwqBsdWFfYXNzZXJ0KGx1YUdfY2hlY2tjb2RlKGYpKTsKPiA+IC3CoMKg wqBsdWFfYXNzZXJ0KGZzLT5ibCA9PSBOVUxMKTsKPiA+IC3CoMKgwqBscy0+ZnMgPSBmcy0+cHJl djsKPiA+IC0twqDCoEwtPnRvcCAtPSAyO8KgwqAvKiByZW1vdmUgdGFibGUgYW5kIHByb3RvdHlw ZSBmcm9tIHRoZSBzdGFjayAqLwo+ID4gLcKgwqDCoC8qIGxhc3QgdG9rZW4gcmVhZCB3YXMgYW5j aG9yZWQgaW4gZGVmdW5jdCBmdW5jdGlvbjsgbXVzdCByZWFuY2hvciBpdCAqLwo+ID4gLcKgwqDC oGlmIChmcykgYW5jaG9yX3Rva2VuKGxzKTsKPiA+IC0rwqDCoEwtPnRvcCAtPSAyO8KgwqAvKiBy ZW1vdmUgdGFibGUgYW5kIHByb3RvdHlwZSBmcm9tIHRoZSBzdGFjayAqLwo+ID4gLSB9Cj4gPiAt wqAKPiA+IC3CoAo+ID4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAxMDAtQWRkLWx1 YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoIGIvcGF0 Y2hlcy9sdWEtNS4xLjQvMDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0KPiA+IDEuOTkt cmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRjaAo+ID4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4g PiBpbmRleCAwOTExOGMxLi4wMDAwMDAwCj4gPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMTAw LUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRj aAo+ID4gKysrIC9kZXYvbnVsbAo+ID4gQEAgLTEsMTUxICswLDAgQEAKPiA+IC1Gcm9tOiBFcndp biBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KPiA+IC1EYXRlOiBGcmksIDkgRGVjIDIwMTEgMTE6 MzI6MTEgKzAxMDAKPiA+IC1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsdWEgc3VwcG9ydCB0byBwdHhk aXN0IDEuOTk6IHJlbW92ZSBvbGQgTWFrZWZpbGUKPiA+IC0KPiA+IC1UaGlzIHBhdGNoIGFkZCBs dWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKPiA+ IC1zY3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxl IHRvIHVzZSBhdXRvY29uZgo+ID4gLXRvIGJ1aWxkLgo+ID4gLQo+ID4gLVRoaXMgcGFydCBvZiB0 aGUgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIE1ha2VmaWxlLgo+ID4gLQo+ID4gLVNpZ25lZC1vZmYt Ynk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgo+ID4gLVNpZ25lZC1vZmYtYnk6IFJv YmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KPiA+IC0tLS0KPiA+IC0g TWFrZWZpbGUgfCAxMjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAtIDEgZmlsZSBjaGFuZ2VkLCAxMjggZGVsZXRpb25z KC0pCj4gPiAtIGRlbGV0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZQo+ID4gLQo+ID4gLWRpZmYgLS1n aXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gPiAtZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4g PiAtaW5kZXggNmU3OGY2Ni4uMDAwMDAwMAo+ID4gLS0tLSBhL01ha2VmaWxlCj4gPiAtKysrIC9k ZXYvbnVsbAo+ID4gLUBAIC0xLDEyOCArMCwwIEBACj4gPiAtLSMgbWFrZWZpbGUgZm9yIGluc3Rh bGxpbmcgTHVhCj4gPiAtLSMgc2VlIElOU1RBTEwgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlv bnMKPiA+IC0tIyBzZWUgc3JjL01ha2VmaWxlIGFuZCBzcmMvbHVhY29uZi5oIGZvciBmdXJ0aGVy IGN1c3RvbWl6YXRpb24KPiA+IC0tCj4gPiAtLSMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxP VyBUTyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KPiA+IC0t Cj4gPiAtLSMgWW91ciBwbGF0Zm9ybS4gU2VlIFBMQVRTIGZvciBwb3NzaWJsZSB2YWx1ZXMuCj4g PiAtLVBMQVQ9IG5vbmUKPiA+IC0tCj4gPiAtLSMgV2hlcmUgdG8gaW5zdGFsbC4gVGhlIGluc3Rh bGxhdGlvbiBzdGFydHMgaW4gdGhlIHNyYyBhbmQgZG9jIGRpcmVjdG9yaWVzLAo+ID4gLS0jIHNv IHRha2UgY2FyZSBpZiBJTlNUQUxMX1RPUCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC4KPiA+IC0t SU5TVEFMTF9UT1A9IC91c3IvbG9jYWwKPiA+IC0tSU5TVEFMTF9CSU49ICQoSU5TVEFMTF9UT1Ap L2Jpbgo+ID4gLS1JTlNUQUxMX0lOQz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQo+ID4gLS1JTlNU QUxMX0xJQj0gJChJTlNUQUxMX1RPUCkvbGliCj4gPiAtLUlOU1RBTExfTUFOPSAkKElOU1RBTExf VE9QKS9tYW4vbWFuMQo+ID4gLS0jCj4gPiAtLSMgWW91IHByb2JhYmx5IHdhbnQgdG8gbWFrZSBJ TlNUQUxMX0xNT0QgYW5kIElOU1RBTExfQ01PRCBjb25zaXN0ZW50IHdpdGgKPiA+IC0tIyBMVUFf Uk9PVCwgTFVBX0xESVIsIGFuZCBMVUFfQ0RJUiBpbiBsdWFjb25mLmggKGFuZCBhbHNvIHdpdGgg ZXRjL2x1YS5wYykuCj4gPiAtLUlOU1RBTExfTE1PRD0gJChJTlNUQUxMX1RPUCkvc2hhcmUvbHVh LyRWCj4gPiAtLUlOU1RBTExfQ01PRD0gJChJTlNUQUxMX1RPUCkvbGliL2x1YS8kVgo+ID4gLS0K PiA+IC0tIyBIb3cgdG8gaW5zdGFsbC4gSWYgeW91ciBpbnN0YWxsIHByb2dyYW0gZG9lcyBub3Qg c3VwcG9ydCAiLXAiLCB0aGVuIHlvdQo+ID4gLS0jIG1heSBoYXZlIHRvIHJ1biByYW5saWIgb24g dGhlIGluc3RhbGxlZCBsaWJsdWEuYSAoZG8gIm1ha2UgcmFubGliIikuCj4gPiAtLUlOU1RBTEw9 IGluc3RhbGwgLXAKPiA+IC0tSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpIC1tIDA3NTUKPiA+IC0t SU5TVEFMTF9EQVRBPSAkKElOU1RBTEwpIC1tIDA2NDQKPiA+IC0tIwo+ID4gLS0jIElmIHlvdSBk b24ndCBoYXZlIGluc3RhbGwgeW91IGNhbiB1c2UgY3AgaW5zdGVhZC4KPiA+IC0tIyBJTlNUQUxM PSBjcCAtcAo+ID4gLS0jIElOU1RBTExfRVhFQz0gJChJTlNUQUxMKQo+ID4gLS0jIElOU1RBTExf REFUQT0gJChJTlNUQUxMKQo+ID4gLS0KPiA+IC0tIyBVdGlsaXRpZXMuCj4gPiAtLU1LRElSPSBt a2RpciAtcAo+ID4gLS1SQU5MSUI9IHJhbmxpYgo+ID4gLS0KPiA+IC0tIyA9PSBFTkQgT0YgVVNF UiBTRVRUSU5HUy4gTk8gTkVFRCBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FID09 PT09PT09PQo+ID4gLS0KPiA+IC0tIyBDb252ZW5pZW5jZSBwbGF0Zm9ybXMgdGFyZ2V0cy4KPiA+ IC0tUExBVFM9IGFpeCBhbnNpIGJzZCBmcmVlYnNkIGdlbmVyaWMgbGludXggbWFjb3N4IG1pbmd3 IHBvc2l4IHNvbGFyaXMKPiA+IC0tCj4gPiAtLSMgV2hhdCB0byBpbnN0YWxsLgo+ID4gLS1UT19C SU49IGx1YSBsdWFjCj4gPiAtLVRPX0lOQz0gbHVhLmggbHVhY29uZi5oIGx1YWxpYi5oIGxhdXhs aWIuaCAuLi9ldGMvbHVhLmhwcAo+ID4gLS1UT19MSUI9IGxpYmx1YS5hCj4gPiAtLVRPX01BTj0g bHVhLjEgbHVhYy4xCj4gPiAtLQo+ID4gLS0jIEx1YSB2ZXJzaW9uIGFuZCByZWxlYXNlLgo+ID4g LS1WPSA1LjEKPiA+IC0tUj0gNS4xLjQKPiA+IC0tCj4gPiAtLWFsbDoJJChQTEFUKQo+ID4gLS0K PiA+IC0tJChQTEFUUykgY2xlYW46Cj4gPiAtLQljZCBzcmMgJiYgJChNQUtFKSAkQAo+ID4gLS0K PiA+IC0tdGVzdDoJZHVtbXkKPiA+IC0tCXNyYy9sdWEgdGVzdC9oZWxsby5sdWEKPiA+IC0tCj4g PiAtLWluc3RhbGw6IGR1bW15Cj4gPiAtLQljZCBzcmMgJiYgJChNS0RJUikgJChJTlNUQUxMX0JJ TikgJChJTlNUQUxMX0lOQykgJChJTlNUQUxMX0xJQikgJChJTlNUQUxMX01BTikgJChJTlNUQUxM X0xNT0QpICQoSU5TVEFMTF9DTU9EKQo+ID4gLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9FWEVDKSAk KFRPX0JJTikgJChJTlNUQUxMX0JJTikKPiA+IC0tCWNkIHNyYyAmJiAkKElOU1RBTExfREFUQSkg JChUT19JTkMpICQoSU5TVEFMTF9JTkMpCj4gPiAtLQljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEp ICQoVE9fTElCKSAkKElOU1RBTExfTElCKQo+ID4gLS0JY2QgZG9jICYmICQoSU5TVEFMTF9EQVRB KSAkKFRPX01BTikgJChJTlNUQUxMX01BTikKPiA+IC0tCj4gPiAtLXJhbmxpYjoKPiA+IC0tCWNk IHNyYyAmJiBjZCAkKElOU1RBTExfTElCKSAmJiAkKFJBTkxJQikgJChUT19MSUIpCj4gPiAtLQo+ ID4gLS1sb2NhbDoKPiA+IC0tCSQoTUFLRSkgaW5zdGFsbCBJTlNUQUxMX1RPUD0uLgo+ID4gLS0K PiA+IC0tbm9uZToKPiA+IC0tCUBlY2hvICJQbGVhc2UgZG8iCj4gPiAtLQlAZWNobyAiwqDCoMKg bWFrZSBQTEFURk9STSIKPiA+IC0tCUBlY2hvICJ3aGVyZSBQTEFURk9STSBpcyBvbmUgb2YgdGhl c2U6Igo+ID4gLS0JQGVjaG8gIsKgwqDCoCQoUExBVFMpIgo+ID4gLS0JQGVjaG8gIlNlZSBJTlNU QUxMIGZvciBjb21wbGV0ZSBpbnN0cnVjdGlvbnMuIgo+ID4gLS0KPiA+IC0tIyBtYWtlIG1heSBn ZXQgY29uZnVzZWQgd2l0aCB0ZXN0LyBhbmQgSU5TVEFMTCBpbiBhIGNhc2UtaW5zZW5zaXRpdmUg T1MKPiA+IC0tZHVtbXk6Cj4gPiAtLQo+ID4gLS0jIGVjaG8gY29uZmlnIHBhcmFtZXRlcnMKPiA+ IC0tZWNobzoKPiA+IC0tCUBlY2hvICIiCj4gPiAtLQlAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJh bWV0ZXJzIGN1cnJlbnRseSBzZXQgaW4gc3JjL01ha2VmaWxlIHRvIGJ1aWxkIEx1YSAkUjoiCj4g PiAtLQlAZWNobyAiIgo+ID4gLS0JQGNkIHNyYyAmJiAkKE1BS0UpIC1zIGVjaG8KPiA+IC0tCUBl Y2hvICIiCj4gPiAtLQlAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJhbWV0ZXJzIGN1cnJlbnRseSBz ZXQgaW4gTWFrZWZpbGUgdG8gaW5zdGFsbCBMdWEgJFI6Igo+ID4gLS0JQGVjaG8gIiIKPiA+IC0t CUBlY2hvICJQTEFUID0gJChQTEFUKSIKPiA+IC0tCUBlY2hvICJJTlNUQUxMX1RPUCA9ICQoSU5T VEFMTF9UT1ApIgo+ID4gLS0JQGVjaG8gIklOU1RBTExfQklOID0gJChJTlNUQUxMX0JJTikiCj4g PiAtLQlAZWNobyAiSU5TVEFMTF9JTkMgPSAkKElOU1RBTExfSU5DKSIKPiA+IC0tCUBlY2hvICJJ TlNUQUxMX0xJQiA9ICQoSU5TVEFMTF9MSUIpIgo+ID4gLS0JQGVjaG8gIklOU1RBTExfTUFOID0g JChJTlNUQUxMX01BTikiCj4gPiAtLQlAZWNobyAiSU5TVEFMTF9MTU9EID0gJChJTlNUQUxMX0xN T0QpIgo+ID4gLS0JQGVjaG8gIklOU1RBTExfQ01PRCA9ICQoSU5TVEFMTF9DTU9EKSIKPiA+IC0t CUBlY2hvICJJTlNUQUxMX0VYRUMgPSAkKElOU1RBTExfRVhFQykiCj4gPiAtLQlAZWNobyAiSU5T VEFMTF9EQVRBID0gJChJTlNUQUxMX0RBVEEpIgo+ID4gLS0JQGVjaG8gIiIKPiA+IC0tCUBlY2hv ICJTZWUgYWxzbyBzcmMvbHVhY29uZi5oIC4iCj4gPiAtLQlAZWNobyAiIgo+ID4gLS0KPiA+IC0t IyBlY2hvIHByaXZhdGUgY29uZmlnIHBhcmFtZXRlcnMKPiA+IC0tcGVjaG86Cj4gPiAtLQlAZWNo byAiViA9ICQoVikiCj4gPiAtLQlAZWNobyAiUiA9ICQoUikiCj4gPiAtLQlAZWNobyAiVE9fQklO ID0gJChUT19CSU4pIgo+ID4gLS0JQGVjaG8gIlRPX0lOQyA9ICQoVE9fSU5DKSIKPiA+IC0tCUBl Y2hvICJUT19MSUIgPSAkKFRPX0xJQikiCj4gPiAtLQlAZWNobyAiVE9fTUFOID0gJChUT19NQU4p Igo+ID4gLS0KPiA+IC0tIyBlY2hvIGNvbmZpZyBwYXJhbWV0ZXJzIGFzIEx1YSBjb2RlCj4gPiAt LSMgdW5jb21tZW50IHRoZSBsYXN0IHNlZCBleHByZXNzaW9uIGlmIHlvdSB3YW50IG5pbCBpbnN0 ZWFkIG9mIGVtcHR5IHN0cmluZ3MKPiA+IC0tbGVjaG86Cj4gPiAtLQlAZWNobyAiLS0gaW5zdGFs bGF0aW9uIHBhcmFtZXRlcnMgZm9yIEx1YSAkUiIKPiA+IC0tCUBlY2hvICJWRVJTSU9OID0gJyRW JyIKPiA+IC0tCUBlY2hvICJSRUxFQVNFID0gJyRSJyIKPiA+IC0tCUAkKE1BS0UpIGVjaG8gfCBn cmVwID0gfCBzZWQgLWUgJ3MvPSAvPSAiLycgLWUgJ3MvJCQvIi8nICMtZSAncy8iIi9uaWwvJwo+ ID4gLS0JQGVjaG8gIi0tIEVPRiIKPiA+IC0tCj4gPiAtLSMgbGlzdCB0YXJnZXRzIHRoYXQgZG8g bm90IGNyZWF0ZSBmaWxlcyAoYnV0IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFuZCAuUEhPTlkpCj4g PiAtLS5QSE9OWTogYWxsICQoUExBVFMpIGNsZWFuIHRlc3QgaW5zdGFsbCBsb2NhbCBub25lIGR1 bW15IGVjaG8gcGVjaG8gbGVjaG8KPiA+IC0tCj4gPiAtLSMgKGVuZCBvZiBNYWtlZmlsZSkKPiA+ IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMTAxLUFkZC1sdWEtc3VwcG9ydC10by1w dHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQv MDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0KPiA+IDEuOTktYWRkLWF1dG9jb25mLWZp bGVzLnBhdGNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IGYyN2E2MmUu LjAwMDAwMDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAxMDEtQWRkLWx1YS1zdXBwb3J0 LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKPiA+ICsrKyAvZGV2L251 bGwKPiA+IEBAIC0xLDkxOCArMCwwIEBACj4gPiAtRnJvbTogRXJ3aW4gUm9sIDxlcndpbkBlcndp bnJvbC5jb20+Cj4gPiAtRGF0ZTogRnJpLCA5IERlYyAyMDExIDExOjMyOjEyICswMTAwCj4gPiAt U3ViamVjdDogW1BBVENIXSBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiBhZGQgYXV0 b2NvbmYgZmlsZXMKPiA+IC0KPiA+IC1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhk aXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKPiA+IC1zY3JpcHRpbmcgbGFuZ3Vh Z2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBhdXRvY29uZgo+ ID4gLXRvIGJ1aWxkLgo+ID4gLQo+ID4gLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggYWRkcyB0aGUg YXV0b2NvbmYgZmlsZXMuCj4gPiAtCj4gPiAtU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxlcndp bkBlcndpbnJvbC5jb20+Cj4gPiAtU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNj aHdlYmVsQHBlbmd1dHJvbml4LmRlPgo+ID4gLS0tLQo+ID4gLSBjb25maWd1cmUuYWPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqA3MCArKysrKwo+ID4gLSBldGMvbHVhLnBjLmluwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDMyICsrCj4gPiAtIHNyYy9sdWFjb25mLmgudGVt cGxhdGUuaW4gfCA3NzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ID4gLSAzIGZpbGVzIGNoYW5nZWQsIDg3OSBpbnNlcnRpb25zKCspCj4gPiAtIGNyZWF0 ZSBtb2RlIDEwMDY0NCBjb25maWd1cmUuYWMKPiA+IC0gY3JlYXRlIG1vZGUgMTAwNjQ0IGV0Yy9s dWEucGMuaW4KPiA+IC0gY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9sdWFjb25mLmgudGVtcGxhdGUu aW4KPiA+IC0KPiA+IC1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCj4g PiAtbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IC1pbmRleCAwMDAwMDAwLi5kODc5YTg2Cj4gPiAt LS0tIC9kZXYvbnVsbAo+ID4gLSsrKyBiL2NvbmZpZ3VyZS5hYwo+ID4gLUBAIC0wLDAgKzEsNzAg QEAKPiA+IC0rQUNfUFJFUkVRKFsyLjY3XSkKPiA+IC0rQUNfSU5JVChbQXV0b3Rvb2xpemVkIEx1 YV0sWzUuMS40XSxbXSxbbHVhLWF0XSkKPiA+IC0rCj4gPiAtK0FDX0NPTkZJR19NQUNST19ESVIo W200XSkKPiA+IC0rCj4gPiAtK0FDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCj4gPiAtK0FD X0NPTkZJR19TUkNESVIoW3NyYy9sYXBpLmNdKQo+ID4gLSsKPiA+IC0rQU1fSU5JVF9BVVRPTUFL RShbMS45IGZvcmVpZ25dKQo+ID4gLSsKPiA+IC0rQUNfUFJPR19DQwo+ID4gLStMVF9JTklUCj4g PiAtKwo+ID4gLStBQ19BUkdfV0lUSCgKPiA+IC0rwqDCoFtyZWFkbGluZV0sCj4gPiAtK8KgwqBb QVNfSEVMUF9TVFJJTkcoWy0td2l0aC1yZWFkbGluZV0sW1VzZSByZWFkbGluZSBmb3IgaW50ZXJw cmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0pXSwKPiA+IC0rwqDCoFt1c2VfcmVhZGxpbmU9JHdp dGh2YWxdLAo+ID4gLSvCoMKgW3VzZV9yZWFkbGluZT15ZXNdCj4gPiAtKykKPiA+IC0rCj4gPiAt K0xVQV9MSUJTPSItbG0iCj4gPiAtKwo+ID4gLSsjIENoZWNrIGZvciByZWFkbGluZQo+ID4gLStS RUFETElORV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9SRUFETElORSIKPiA+IC0raWYgdGVzdCAieCR1 c2VfcmVhZGxpbmUiID09ICJ4eWVzIjsgdGhlbgo+ID4gLSvCoMKgQUNfQ0hFQ0tfTElCKFtyZWFk bGluZV0sIFtyZWFkbGluZV0sIFtdLCBbdXNlX3JlYWRsaW5lPW5vXSkKPiA+IC0rwqDCoEFDX0NI RUNLX0hFQURFUlMoW3JlYWRsaW5lL3JlYWRsaW5lLmggcmVhZGxpbmUvaGlzdG9yeS5oXSwgW10s IFt1c2VfcmVhZGxpbmU9bm9dKQo+ID4gLSvCoMKgaWYgdGVzdCAieCR1c2VfcmVhZGxpbmUiID09 ICJ4bm8iOyB0aGVuCj4gPiAtK8KgwqDCoMKgQUNfTVNHX1dBUk4oW3JlYWRsaW5lIGhlYWRlcnMg Y291bGQgbm90IGJlIGZvdW5kLCBkaXNhYmxpbmcgcmVhZGxpbmUgc3VwcG9ydF0pCj4gPiAtK8Kg wqBlbHNlCj4gPiAtK8KgwqDCoMKgUkVBRExJTkVfREVGUz0iI2RlZmluZSBMVUFfVVNFX1JFQURM SU5FIgo+ID4gLSvCoMKgwqDCoExVQV9MSUJTPSIkTFVBX0xJQlMgLWxyZWFkbGluZSIKPiA+IC0r wqDCoGZpCj4gPiAtK2ZpCj4gPiAtK0FDX1NVQlNUKFJFQURMSU5FX0RFRlMpCj4gPiAtKwo+ID4g LStjYXNlICIkaG9zdCIgaW4KPiA+IC0rwqDCoCotbWluZ3cqKcKgwqB1c2Vfb3M9d2luMzLCoMKg OzsKPiA+IC0rwqDCoCotZGFyd2luKikgdXNlX29zPW1hY29zeCA7Owo+ID4gLSvCoMKgKinCoMKg wqDCoMKgwqDCoMKgwqB1c2Vfb3M9cG9zaXjCoMKgOzsKPiA+IC0rZXNhYwo+ID4gLSsKPiA+IC0r UE9TSVhfREVGUz0iI3VuZGVmIExVQV9VU0VfUE9TSVgiCj4gPiAtK0xVQV9ETF9ERUZTPSIjdW5k ZWYgTFVBX1VTRV9ETE9QRU4iCj4gPiAtK0xVQV9CVUlMRF9BU19ETExfREVGUz0iI3VuZGVmIExV QV9CVUlMRF9BU19ETEwiCj4gPiAtKwo+ID4gLStpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInh3aW4z MiI7IHRoZW4KPiA+IC0rwqDCoExVQV9CVUlMRF9BU19ETExfREVGUz0iI2RlZmluZSBMVUFfQlVJ TERfQVNfRExMIgo+ID4gLStlbGlmIHRlc3QgIngkdXNlX29zIiA9PSAieG1hY29zeCI7IHRoZW4K PiA+IC0rwqDCoFBPU0lYX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9QT1NJWCIKPiA+IC0rwqDCoExV QV9ETF9ERUZTPSIjZGVmaW5lIExVQV9ETF9EWUxEIgo+ID4gLStlbGlmIHRlc3QgIngkdXNlX29z IiA9PSAieHBvc2l4IjsgdGhlbgo+ID4gLSvCoMKgUE9TSVhfREVGUz0iI2RlZmluZSBMVUFfVVNF X1BPU0lYIgo+ID4gLSvCoMKgTFVBX0RMX0RFRlM9IiNkZWZpbmUgTFVBX0RMX0RMT1BFTiIKPiA+ IC0rwqDCoExVQV9MSUJTPSIkTFVBX0xJQlMgLWxkbCIKPiA+IC0rZmkKPiA+IC0rQUNfU1VCU1Qo UE9TSVhfREVGUykKPiA+IC0rQUNfU1VCU1QoTFVBX0RMX0RFRlMpCj4gPiAtK0FDX1NVQlNUKExV QV9CVUlMRF9BU19ETExfREVGUykKPiA+IC0rCj4gPiAtK0FDX1NVQlNUKExVQV9MSUJTKQo+ID4g LSsKPiA+IC0rQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQo+ID4gLSvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgc3JjL01ha2VmaWxlCj4gPiAtK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBzcmMvbHVhY29uZi5oLnRlbXBsYXRlCj4gPiAtK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBldGMvTWFrZWZpbGUKPiA+IC0rwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGV0Yy9sdWEucGMKPiA+IC0rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGRvYy9NYWtlZmlsZQo+ID4gLSsJCcKgdGVzdC9NYWtlZmlsZV0pCj4gPiAtK0FD X09VVFBVVAo+ID4gLWRpZmYgLS1naXQgYS9ldGMvbHVhLnBjLmluIGIvZXRjL2x1YS5wYy5pbgo+ ID4gLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiAtaW5kZXggMDAwMDAwMC4uN2YzM2NmZgo+ID4g LS0tLSAvZGV2L251bGwKPiA+IC0rKysgYi9ldGMvbHVhLnBjLmluCj4gPiAtQEAgLTAsMCArMSwz MiBAQAo+ID4gLSsjIGx1YS5wYyAtLSBwa2ctY29uZmlnIGRhdGEgZm9yIEx1YQo+ID4gLSsKPiA+ IC0rIyB2YXJzIGZyb20gaW5zdGFsbCBNYWtlZmlsZQo+ID4gLSsKPiA+IC0rIyBncmVwICdeVj0n IC4uL01ha2VmaWxlCj4gPiAtK1Y9IDUuMQo+ID4gLSsjIGdyZXAgJ15SPScgLi4vTWFrZWZpbGUK PiA+IC0rUj0gQFZFUlNJT05ACj4gPiAtKwo+ID4gLSsjIGdyZXAgJ15JTlNUQUxMXy4qPScgLi4v TWFrZWZpbGUgfCBzZWQgJ3MvSU5TVEFMTF9UT1AvcHJlZml4LycKPiA+IC0rIyBwbHVzIGF1dG90 b29saWZpY2F0aW9uCj4gPiAtK3ByZWZpeD0gQHByZWZpeEAKPiA+IC0rSU5TVEFMTF9CSU49ICR7 cHJlZml4fS9iaW4KPiA+IC0rSU5TVEFMTF9JTkM9ICR7cHJlZml4fS9pbmNsdWRlCj4gPiAtK0lO U1RBTExfTElCPSAke3ByZWZpeH0vbGliCj4gPiAtK0lOU1RBTExfTUFOPSAke3ByZWZpeH0vbWFu L21hbjEKPiA+IC0rSU5TVEFMTF9MTU9EPSAke3ByZWZpeH0vc2hhcmUvbHVhLyR7Vn0KPiA+IC0r SU5TVEFMTF9DTU9EPSAke3ByZWZpeH0vbGliL2x1YS8ke1Z9Cj4gPiAtKwo+ID4gLSsjIGNhbm9u aWNhbCB2YXJzCj4gPiAtK2V4ZWNfcHJlZml4PSR7cHJlZml4fQo+ID4gLStsaWJkaXI9JHtleGVj X3ByZWZpeH0vbGliCj4gPiAtK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKPiA+IC0rCj4g PiAtK05hbWU6IEx1YQo+ID4gLStEZXNjcmlwdGlvbjogQW4gRXh0ZW5zaWJsZSBFeHRlbnNpb24g TGFuZ3VhZ2UKPiA+IC0rVmVyc2lvbjogJHtSfQo+ID4gLStSZXF1aXJlczrCoAo+ID4gLStMaWJz OiAtTCR7bGliZGlyfSAtbGx1YSAtbG0KPiA+IC0rQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KPiA+ IC0rCj4gPiAtKyMgKGVuZCBvZiBsdWEucGMpCj4gPiAtZGlmZiAtLWdpdCBhL3NyYy9sdWFjb25m LmgudGVtcGxhdGUuaW4gYi9zcmMvbHVhY29uZi5oLnRlbXBsYXRlLmluCj4gPiAtbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiA+IC1pbmRleCAwMDAwMDAwLi40MWIyMzRkCj4gPiAtLS0tIC9kZXYvbnVs bAo+ID4gLSsrKyBiL3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4KPiA+IC1AQCAtMCwwICsxLDc3 NyBAQAo+ID4gLSsvKgo+ID4gLSsqKiAkSWQ6IGx1YWNvbmYuaCx2IDEuODJhIDIwMDYvMDQvMTAg MTg6Mjc6MjMgcm9iZXJ0byBFeHAgJAo+ID4gLSsqKiBDb25maWd1cmF0aW9uIGZpbGUgZm9yIEx1 YQo+ID4gLSsqKiBTZWUgQ29weXJpZ2h0IE5vdGljZSBpbiBsdWEuaAo+ID4gLSsqLwo+ID4gLSsK PiA+IC0rCj4gPiAtKyNpZm5kZWYgbGNvbmZpZ19oCj4gPiAtKyNkZWZpbmUgbGNvbmZpZ19oCj4g PiAtKwo+ID4gLSsjaW5jbHVkZSA8bGltaXRzLmg+Cj4gPiAtKyNpbmNsdWRlIDxzdGRkZWYuaD4K PiA+IC0rCj4gPiAtKy8qCj4gPiAtKyoqID09PT09PT09PT09PT09PT09Cj4gPiAtKyoqIEF1dG90 b29saWZpY2F0aW9uCj4gPiAtKyoqID09PT09PT09PT09PT09PT09Cj4gPiAtKyovCj4gPiAtKwo+ ID4gLSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCj4gPiAtK0BQT1NJWF9ERUZTQAo+ID4gLStA TFVBX0RMX0RFRlNACj4gPiAtK0BMVUFfQlVJTERfQVNfRExMX0RFRlNACj4gPiAtK0BSRUFETElO RV9ERUZTQAo+ID4gLSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCj4gPiAtKwo+ID4gLSsvKgo+ ID4gLSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPiA+IC0rKiogU2VhcmNoIGZvciAiQEAiIHRvIGZpbmQgYWxsIGNv bmZpZ3VyYWJsZSBkZWZpbml0aW9ucy4KPiA+IC0rKiogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4gLSsqLwo+ID4g LSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQV9BTlNJIGNvbnRyb2xzIHRoZSB1c2Ugb2Yg bm9uLWFuc2kgZmVhdHVyZXMuCj4gPiAtKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ug d2FudCBMdWEgdG8gYXZvaWQgdGhlIHVzZSBvZiBhbnkKPiA+IC0rKiogbm9uLWFuc2kgZmVhdHVy ZSBvciBsaWJyYXJ5Lgo+ID4gLSsqLwo+ID4gLSsjaWYgZGVmaW5lZChfX1NUUklDVF9BTlNJX18p Cj4gPiAtKyNkZWZpbmUgTFVBX0FOU0kKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4gLSsKPiA+IC0r I2lmICFkZWZpbmVkKExVQV9BTlNJKSAmJiBkZWZpbmVkKF9XSU4zMikKPiA+IC0rI2RlZmluZSBM VUFfV0lOCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9MSU5V WCkKPiA+IC0rI2RlZmluZSBMVUFfVVNFX1BPU0lYCj4gPiAtKyNkZWZpbmUgTFVBX1VTRV9ETE9Q RU4JCS8qIG5lZWRzIGFuIGV4dHJhIGxpYnJhcnk6IC1sZGwgKi8KPiA+IC0rI2RlZmluZSBMVUFf VVNFX1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFyaWVzICovCj4gPiAtKyNlbmRp Zgo+ID4gLSsKPiA+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gpCj4gPiAtKyNkZWZpbmUg TFVBX1VTRV9QT1NJWAo+ID4gLSsjZGVmaW5lIExVQV9ETF9EWUxECQkvKiBkb2VzIG5vdCBuZWVk IGV4dHJhIGxpYnJhcnkgKi8KPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4gLSsKPiA+IC0rCj4gPiAt Ky8qCj4gPiAtK0BAIExVQV9VU0VfUE9TSVggaW5jbHVkZXMgYWxsIGZ1bmN0aW9uYWxsaXR5IGxp c3RlZCBhcyBYL09wZW4gU3lzdGVtCj4gPiAtK0AqIEludGVyZmFjZXMgRXh0ZW5zaW9uIChYU0kp Lgo+ID4gLSsqKiBDSEFOR0UgaXQgKGRlZmluZSBpdCkgaWYgeW91ciBzeXN0ZW0gaXMgWFNJIGNv bXBhdGlibGUuCj4gPiAtKyovCj4gPiAtKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9TSVgpCj4gPiAt KyNkZWZpbmUgTFVBX1VTRV9NS1NURU1QCj4gPiAtKyNkZWZpbmUgTFVBX1VTRV9JU0FUVFkKPiA+ IC0rI2RlZmluZSBMVUFfVVNFX1BPUEVOCj4gPiAtKyNkZWZpbmUgTFVBX1VTRV9VTE9OR0pNUAo+ ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFfUEFUSCBhbmQg TFVBX0NQQVRIIGFyZSB0aGUgbmFtZXMgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0 Cj4gPiAtK0AqIEx1YSBjaGVjayB0byBzZXQgaXRzIHBhdGhzLgo+ID4gLStAQCBMVUFfSU5JVCBp cyB0aGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBMdWEKPiA+IC0rQCog Y2hlY2tzIGZvciBpbml0aWFsaXphdGlvbiBjb2RlLgo+ID4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5 b3Ugd2FudCBkaWZmZXJlbnQgbmFtZXMuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBX1BBVEjC oMKgwqDCoMKgwqDCoMKgIkxVQV9QQVRIIgo+ID4gLSsjZGVmaW5lIExVQV9DUEFUSMKgwqDCoMKg wqDCoMKgIkxVQV9DUEFUSCIKPiA+IC0rI2RlZmluZSBMVUFfSU5JVAkiTFVBX0lOSVQiCj4gPiAt Kwo+ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAgTFVBX1BBVEhfREVGQVVMVCBpcyB0aGUgZGVmYXVs dCBwYXRoIHRoYXQgTHVhIHVzZXMgdG8gbG9vayBmb3IKPiA+IC0rQCogTHVhIGxpYnJhcmllcy4K PiA+IC0rQEAgTFVBX0NQQVRIX0RFRkFVTFQgaXMgdGhlIGRlZmF1bHQgcGF0aCB0aGF0IEx1YSB1 c2VzIHRvIGxvb2sgZm9yCj4gPiAtK0AqIEMgbGlicmFyaWVzLgo+ID4gLSsqKiBDSEFOR0UgdGhl bSBpZiB5b3VyIG1hY2hpbmUgaGFzIGEgbm9uLWNvbnZlbnRpb25hbCBkaXJlY3RvcnkKPiA+IC0r KiogaGllcmFyY2h5IG9yIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgeW91ciBsaWJyYXJpZXMgaW4K PiA+IC0rKiogbm9uLWNvbnZlbnRpb25hbCBkaXJlY3Rvcmllcy4KPiA+IC0rKi8KPiA+IC0rI2lm IGRlZmluZWQoX1dJTjMyKQo+ID4gLSsvKgo+ID4gLSsqKiBJbiBXaW5kb3dzLCBhbnkgZXhjbGFt YXRpb24gbWFyayAoJyEnKSBpbiB0aGUgcGF0aCBpcyByZXBsYWNlZCBieSB0aGUKPiA+IC0rKiog cGF0aCBvZiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBleGVjdXRhYmxlIGZpbGUgb2YgdGhlIGN1cnJl bnQgcHJvY2Vzcy4KPiA+IC0rKi8KPiA+IC0rI2RlZmluZSBMVUFfTERJUgkiIVxcbHVhXFwiCj4g PiAtKyNkZWZpbmUgTFVBX0NESVIJIiFcXCIKPiA+IC0rI2RlZmluZSBMVUFfUEFUSF9ERUZBVUxU wqDCoFwKPiA+IC0rCQkiLlxcPy5sdWE7IsKgwqBMVUFfTERJUiI/Lmx1YTsiwqDCoExVQV9MRElS Ij9cXGluaXQubHVhOyIgXAo+ID4gLSsJCcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgTFVBX0NE SVIiPy5sdWE7IsKgwqBMVUFfQ0RJUiI/XFxpbml0Lmx1YSIKPiA+IC0rI2RlZmluZSBMVUFfQ1BB VEhfREVGQVVMVCBcCj4gPiAtKwkiLlxcPy5kbGw7IsKgwqBMVUFfQ0RJUiI/LmRsbDsiIExVQV9D RElSImxvYWRhbGwuZGxsIgo+ID4gLSsKPiA+IC0rI2Vsc2UKPiA+IC0rCj4gPiAtKy8qKiBhdXRv dG9vbGl6ZSBwYXRjaCAqKi8KPiA+IC0rI2RlZmluZSBMVUFfTERJUgkiJWx1YV9kYXRhZGlyJS9s dWEvNS4xLyIKPiA+IC0rI2RlZmluZSBMVUFfQ0RJUgkiJWx1YV9saWJkaXIlL2x1YS81LjEvIgo+ ID4gLSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCj4gPiAtKwo+ID4gLSsjZGVmaW5lIExVQV9Q QVRIX0RFRkFVTFTCoMKgXAo+ID4gLSsJCSIuLz8ubHVhOyLCoMKgTFVBX0xESVIiPy5sdWE7IsKg wqBMVUFfTERJUiI/L2luaXQubHVhOyIgXAo+ID4gLSsJCcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oExVQV9DRElSIj8ubHVhOyLCoMKgTFVBX0NESVIiPy9pbml0Lmx1YSIKPiA+IC0rI2RlZmluZSBM VUFfQ1BBVEhfREVGQVVMVCBcCj4gPiAtKwkiLi8/LnNvOyLCoMKgTFVBX0NESVIiPy5zbzsiIExV QV9DRElSImxvYWRhbGwuc28iCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4g PiAtK0BAIExVQV9ESVJTRVAgaXMgdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3IgKGZvciBzdWJtb2R1 bGVzKS4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdXIgbWFjaGluZSBkb2VzIG5vdCB1c2UgIi8i IGFzIHRoZSBkaXJlY3Rvcnkgc2VwYXJhdG9yCj4gPiAtKyoqIGFuZCBpcyBub3QgV2luZG93cy4g KE9uIFdpbmRvd3MgTHVhIGF1dG9tYXRpY2FsbHkgdXNlcyAiXCIuKQo+ID4gLSsqLwo+ID4gLSsj aWYgZGVmaW5lZChfV0lOMzIpCj4gPiAtKyNkZWZpbmUgTFVBX0RJUlNFUAkiXFwiCj4gPiAtKyNl bHNlCj4gPiAtKyNkZWZpbmUgTFVBX0RJUlNFUAkiLyIKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4g LSsKPiA+IC0rLyoKPiA+IC0rQEAgTFVBX1BBVEhTRVAgaXMgdGhlIGNoYXJhY3RlciB0aGF0IHNl cGFyYXRlcyB0ZW1wbGF0ZXMgaW4gYSBwYXRoLgo+ID4gLStAQCBMVUFfUEFUSF9NQVJLIGlzIHRo ZSBzdHJpbmcgdGhhdCBtYXJrcyB0aGUgc3Vic3RpdHV0aW9uIHBvaW50cyBpbiBhCj4gPiAtK0Aq IHRlbXBsYXRlLgo+ID4gLStAQCBMVUFfRVhFQ0RJUiBpbiBhIFdpbmRvd3MgcGF0aCBpcyByZXBs YWNlZCBieSB0aGUgZXhlY3V0YWJsZSdzCj4gPiAtK0AqIGRpcmVjdG9yeS4KPiA+IC0rQEAgTFVB X0lHTUFSSyBpcyBhIG1hcmsgdG8gaWdub3JlIGFsbCBiZWZvcmUgaXQgd2hlbiBidWxkaW5nIHRo ZQo+ID4gLStAKiBsdWFvcGVuXyBmdW5jdGlvbiBuYW1lLgo+ID4gLSsqKiBDSEFOR0UgdGhlbSBp ZiBmb3Igc29tZSByZWFzb24geW91ciBzeXN0ZW0gY2Fubm90IHVzZSB0aG9zZQo+ID4gLSsqKiBj aGFyYWN0ZXJzLiAoRS5nLiwgaWYgb25lIG9mIHRob3NlIGNoYXJhY3RlcnMgaXMgYSBjb21tb24g Y2hhcmFjdGVyCj4gPiAtKyoqIGluIGZpbGUvZGlyZWN0b3J5IG5hbWVzLikgUHJvYmFibHkgeW91 IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGVtLgo+ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQV9Q QVRIU0VQCSI7Igo+ID4gLSsjZGVmaW5lIExVQV9QQVRIX01BUksJIj8iCj4gPiAtKyNkZWZpbmUg TFVBX0VYRUNESVIJIiEiCj4gPiAtKyNkZWZpbmUgTFVBX0lHTUFSSwkiLSIKPiA+IC0rCj4gPiAt Kwo+ID4gLSsvKgo+ID4gLStAQCBMVUFfSU5URUdFUiBpcyB0aGUgaW50ZWdyYWwgdHlwZSB1c2Vk IGJ5IGx1YV9wdXNoaW50ZWdlci9sdWFfdG9pbnRlZ2VyLgo+ID4gLSsqKiBDSEFOR0UgdGhhdCBp ZiBwdHJkaWZmX3QgaXMgbm90IGFkZXF1YXRlIG9uIHlvdXIgbWFjaGluZS4gKE9uIG1vc3QKPiA+ IC0rKiogbWFjaGluZXMsIHB0cmRpZmZfdCBnaXZlcyBhIGdvb2QgY2hvaWNlIGJldHdlZW4gaW50 IG9yIGxvbmcuKQo+ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQV9JTlRFR0VSCXB0cmRpZmZfdAo+ ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQV9BUEkgaXMgYSBtYXJrIGZvciBhbGwg Y29yZSBBUEkgZnVuY3Rpb25zLgo+ID4gLStAQCBMVUFMSUJfQVBJIGlzIGEgbWFyayBmb3IgYWxs IHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rpb25zLgo+ID4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ug bmVlZCB0byBkZWZpbmUgdGhvc2UgZnVuY3Rpb25zIGluIHNvbWUgc3BlY2lhbCB3YXkuCj4gPiAt KyoqIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIG9uZSBXaW5kb3dzIERMTCB3 aXRoIHRoZSBjb3JlIGFuZAo+ID4gLSsqKiB0aGUgbGlicmFyaWVzLCB5b3UgbWF5IHdhbnQgdG8g dXNlIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbiAoZGVmaW5lCj4gPiAtKyoqIExVQV9CVUlMRF9B U19ETEwgdG8gZ2V0IGl0KS4KPiA+IC0rKi8KPiA+IC0rI2lmIGRlZmluZWQoTFVBX0JVSUxEX0FT X0RMTCkKPiA+IC0rCj4gPiAtKyNpZiBkZWZpbmVkKExVQV9DT1JFKSB8fCBkZWZpbmVkKExVQV9M SUIpCj4gPiAtKyNkZWZpbmUgTFVBX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKPiA+IC0rI2Vs c2UKPiA+IC0rI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQo+ID4gLSsjZW5k aWYKPiA+IC0rCj4gPiAtKyNlbHNlCj4gPiAtKwo+ID4gLSsjZGVmaW5lIExVQV9BUEkJCWV4dGVy bgo+ID4gLSsKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4gLSsvKiBtb3JlIG9mdGVuIHRoYW4gbm90 IHRoZSBsaWJzIGdvIHRvZ2V0aGVyIHdpdGggdGhlIGNvcmUgKi8KPiA+IC0rI2RlZmluZSBMVUFM SUJfQVBJCUxVQV9BUEkKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX0ZVTkMg aXMgYSBtYXJrIGZvciBhbGwgZXh0ZXJuIGZ1bmN0aW9ucyB0aGF0IGFyZSBub3QgdG8gYmUKPiA+ IC0rQCogZXhwb3J0ZWQgdG8gb3V0c2lkZSBtb2R1bGVzLgo+ID4gLStAQCBMVUFJX0RBVEEgaXMg YSBtYXJrIGZvciBhbGwgZXh0ZXJuIChjb25zdCkgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB0bwo+ ID4gLStAKiBiZSBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuCj4gPiAtKyoqIENIQU5HRSB0 aGVtIGlmIHlvdSBuZWVkIHRvIG1hcmsgdGhlbSBpbiBzb21lIHNwZWNpYWwgd2F5LiBFbGYvZ2Nj Cj4gPiAtKyoqICh2ZXJzaW9ucyAzLjIgYW5kIGxhdGVyKSBtYXJrIHRoZW0gYXMgImhpZGRlbiIg dG8gb3B0aW1pemUgYWNjZXNzCj4gPiAtKyoqIHdoZW4gTHVhIGlzIGNvbXBpbGVkIGFzIGEgc2hh cmVkIGxpYnJhcnkuCj4gPiAtKyovCj4gPiAtKyNpZiBkZWZpbmVkKGx1YWFsbF9jKQo+ID4gLSsj ZGVmaW5lIExVQUlfRlVOQwlzdGF0aWMKPiA+IC0rI2RlZmluZSBMVUFJX0RBVEEJLyogZW1wdHkg Ki8KPiA+IC0rCj4gPiAtKyNlbGlmIGRlZmluZWQoX19HTlVDX18pICYmICgoX19HTlVDX18qMTAw ICsgX19HTlVDX01JTk9SX18pID49IDMwMikgJiYgXAo+ID4gLSvCoMKgwqDCoMKgwqBkZWZpbmVk KF9fRUxGX18pCj4gPiAtKyNkZWZpbmUgTFVBSV9GVU5DCV9fYXR0cmlidXRlX18oKHZpc2liaWxp dHkoImhpZGRlbiIpKSkgZXh0ZXJuCj4gPiAtKyNkZWZpbmUgTFVBSV9EQVRBCUxVQUlfRlVOQwo+ ID4gLSsKPiA+IC0rI2Vsc2UKPiA+IC0rI2RlZmluZSBMVUFJX0ZVTkMJZXh0ZXJuCj4gPiAtKyNk ZWZpbmUgTFVBSV9EQVRBCWV4dGVybgo+ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiAtKwo+ID4gLSsK PiA+IC0rLyoKPiA+IC0rQEAgTFVBX1FMIGRlc2NyaWJlcyBob3cgZXJyb3IgbWVzc2FnZXMgcXVv dGUgcHJvZ3JhbSBlbGVtZW50cy4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlm ZmVyZW50IGFwcGVhcmFuY2UuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBX1FMKHgpCSInIiB4 ICInIgo+ID4gLSsjZGVmaW5lIExVQV9RUwkJTFVBX1FMKCIlcyIpCj4gPiAtKwo+ID4gLSsKPiA+ IC0rLyoKPiA+IC0rQEAgTFVBX0lEU0laRSBnaXZlcyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUg ZGVzY3JpcHRpb24gb2YgdGhlIHNvdXJjZQo+ID4gLStAKiBvZiBhIGZ1bmN0aW9uIGluIGRlYnVn IGluZm9ybWF0aW9uLgo+ID4gLSsqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQg c2l6ZS4KPiA+IC0rKi8KPiA+IC0rI2RlZmluZSBMVUFfSURTSVpFCTYwCj4gPiAtKwo+ID4gLSsK PiA+IC0rLyoKPiA+IC0rKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4gLSsqKiBTdGFuZC1hbG9uZSBjb25maWd1 cmF0aW9uCj4gPiAtKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiA+IC0rKi8KPiA+IC0rCj4gPiAtKyNpZiBkZWZp bmVkKGx1YV9jKSB8fCBkZWZpbmVkKGx1YWFsbF9jKQo+ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAg bHVhX3N0ZGluX2lzX3R0eSBkZXRlY3RzIHdoZXRoZXIgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGEg J3R0eScgKHRoYXQKPiA+IC0rQCogaXMsIHdoZXRoZXIgd2UncmUgcnVubmluZyBsdWEgaW50ZXJh Y3RpdmVseSkuCj4gPiAtKyoqIENIQU5HRSBpdCBpZiB5b3UgaGF2ZSBhIGJldHRlciBkZWZpbml0 aW9uIGZvciBub24tUE9TSVgvbm9uLVdpbmRvd3MKPiA+IC0rKiogc3lzdGVtcy4KPiA+IC0rKi8K PiA+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9JU0FUVFkpCj4gPiAtKyNpbmNsdWRlIDx1bmlzdGQu aD4KPiA+IC0rI2RlZmluZSBsdWFfc3RkaW5faXNfdHR5KCkJaXNhdHR5KDApCj4gPiAtKyNlbGlm IGRlZmluZWQoTFVBX1dJTikKPiA+IC0rI2luY2x1ZGUgPGlvLmg+Cj4gPiAtKyNpbmNsdWRlIDxz dGRpby5oPgo+ID4gLSsjZGVmaW5lIGx1YV9zdGRpbl9pc190dHkoKQlfaXNhdHR5KF9maWxlbm8o c3RkaW4pKQo+ID4gLSsjZWxzZQo+ID4gLSsjZGVmaW5lIGx1YV9zdGRpbl9pc190dHkoKQkxwqDC oC8qIGFzc3VtZSBzdGRpbiBpcyBhIHR0eSAqLwo+ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiAtKwo+ ID4gLSsvKgo+ID4gLStAQCBMVUFfUFJPTVBUIGlzIHRoZSBkZWZhdWx0IHByb21wdCB1c2VkIGJ5 IHN0YW5kLWFsb25lIEx1YS4KPiA+IC0rQEAgTFVBX1BST01QVDIgaXMgdGhlIGRlZmF1bHQgY29u dGludWF0aW9uIHByb21wdCB1c2VkIGJ5IHN0YW5kLWFsb25lIEx1YS4KPiA+IC0rKiogQ0hBTkdF IHRoZW0gaWYgeW91IHdhbnQgZGlmZmVyZW50IHByb21wdHMuIChZb3UgY2FuIGFsc28gY2hhbmdl IHRoZQo+ID4gLSsqKiBwcm9tcHRzIGR5bmFtaWNhbGx5LCBhc3NpZ25pbmcgdG8gZ2xvYmFscyBf UFJPTVBUL19QUk9NUFQyLikKPiA+IC0rKi8KPiA+IC0rI2RlZmluZSBMVUFfUFJPTVBUCQkiPiAi Cj4gPiAtKyNkZWZpbmUgTFVBX1BST01QVDIJCSI+PiAiCj4gPiAtKwo+ID4gLSsKPiA+IC0rLyoK PiA+IC0rQEAgTFVBX1BST0dOQU1FIGlzIHRoZSBkZWZhdWx0IG5hbWUgZm9yIHRoZSBzdGFuZC1h bG9uZSBMdWEgcHJvZ3JhbS4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdXIgc3RhbmQtYWxvbmUg aW50ZXJwcmV0ZXIgaGFzIGEgZGlmZmVyZW50IG5hbWUgYW5kCj4gPiAtKyoqIHlvdXIgc3lzdGVt IGlzIG5vdCBhYmxlIHRvIGRldGVjdCB0aGF0IG5hbWUgYXV0b21hdGljYWxseS4KPiA+IC0rKi8K PiA+IC0rI2RlZmluZSBMVUFfUFJPR05BTUUJCSJsdWEiCj4gPiAtKwo+ID4gLSsKPiA+IC0rLyoK PiA+IC0rQEAgTFVBX01BWElOUFVUIGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBmb3IgYW4gaW5wdXQg bGluZSBpbiB0aGUKPiA+IC0rQCogc3RhbmQtYWxvbmUgaW50ZXJwcmV0ZXIuCj4gPiAtKyoqIENI QU5HRSBpdCBpZiB5b3UgbmVlZCBsb25nZXIgbGluZXMuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUg TFVBX01BWElOUFVUCTUxMgo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIGx1YV9yZWFk bGluZSBkZWZpbmVzIGhvdyB0byBzaG93IGEgcHJvbXB0IGFuZCB0aGVuIHJlYWQgYSBsaW5lIGZy b20KPiA+IC0rQCogdGhlIHN0YW5kYXJkIGlucHV0Lgo+ID4gLStAQCBsdWFfc2F2ZWxpbmUgZGVm aW5lcyBob3cgdG8gInNhdmUiIGEgcmVhZCBsaW5lIGluIGEgImhpc3RvcnkiLgo+ID4gLStAQCBs dWFfZnJlZWxpbmUgZGVmaW5lcyBob3cgdG8gZnJlZSBhIGxpbmUgcmVhZCBieSBsdWFfcmVhZGxp bmUuCj4gPiAtKyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50IHRvIGltcHJvdmUgdGhpcyBmdW5j dGlvbmFsaXR5IChlLmcuLCBieSB1c2luZwo+ID4gLSsqKiBHTlUgcmVhZGxpbmUgYW5kIGhpc3Rv cnkgZmFjaWxpdGllcykuCj4gPiAtKyovCj4gPiAtKyNpZiBkZWZpbmVkKExVQV9VU0VfUkVBRExJ TkUpCj4gPiAtKyNpbmNsdWRlIDxzdGRpby5oPgo+ID4gLSsjaW5jbHVkZSA8cmVhZGxpbmUvcmVh ZGxpbmUuaD4KPiA+IC0rI2luY2x1ZGUgPHJlYWRsaW5lL2hpc3RvcnkuaD4KPiA+IC0rI2RlZmlu ZSBsdWFfcmVhZGxpbmUoTCxiLHApCSgodm9pZClMLCAoKGIpPXJlYWRsaW5lKHApKSAhPSBOVUxM KQo+ID4gLSsjZGVmaW5lIGx1YV9zYXZlbGluZShMLGlkeCkgXAo+ID4gLSsJaWYgKGx1YV9zdHJs ZW4oTCxpZHgpID4gMCnCoMKgLyogbm9uLWVtcHR5IGxpbmU/ICovIFwKPiA+IC0rCcKgwqBhZGRf aGlzdG9yeShsdWFfdG9zdHJpbmcoTCwgaWR4KSk7wqDCoC8qIGFkZCBpdCB0byBoaXN0b3J5ICov Cj4gPiAtKyNkZWZpbmUgbHVhX2ZyZWVsaW5lKEwsYikJKCh2b2lkKUwsIGZyZWUoYikpCj4gPiAt KyNlbHNlCj4gPiAtKyNkZWZpbmUgbHVhX3JlYWRsaW5lKEwsYixwKQlcCj4gPiAtKwkoKHZvaWQp TCwgZnB1dHMocCwgc3Rkb3V0KSwgZmZsdXNoKHN0ZG91dCkswqDCoC8qIHNob3cgcHJvbXB0ICov IFwKPiA+IC0rCWZnZXRzKGIsIExVQV9NQVhJTlBVVCwgc3RkaW4pICE9IE5VTEwpwqDCoC8qIGdl dCBsaW5lICovCj4gPiAtKyNkZWZpbmUgbHVhX3NhdmVsaW5lKEwsaWR4KQl7ICh2b2lkKUw7ICh2 b2lkKWlkeDsgfQo+ID4gLSsjZGVmaW5lIGx1YV9mcmVlbGluZShMLGIpCXsgKHZvaWQpTDsgKHZv aWQpYjsgfQo+ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rLyog fT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PSAqLwo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQUlfR0NQQVVT RSBkZWZpbmVzIHRoZSBkZWZhdWx0IHBhdXNlIGJldHdlZW4gZ2FyYmFnZS1jb2xsZWN0b3IgY3lj bGVzCj4gPiAtK0AqIGFzIGEgcGVyY2VudGFnZS4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3 YW50IHRoZSBHQyB0byBydW4gZmFzdGVyIG9yIHNsb3dlciAoaGlnaGVyIHZhbHVlcwo+ID4gLSsq KiBtZWFuIGxhcmdlciBwYXVzZXMgd2hpY2ggbWVhbiBzbG93ZXIgY29sbGVjdGlvbi4pIFlvdSBj YW4gYWxzbyBjaGFuZ2UKPiA+IC0rKiogdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KPiA+IC0rKi8K PiA+IC0rI2RlZmluZSBMVUFJX0dDUEFVU0UJMjAwwqDCoC8qIDIwMCUgKHdhaXQgbWVtb3J5IHRv IGRvdWJsZSBiZWZvcmUgbmV4dCBHQykgKi8KPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStA QCBMVUFJX0dDTVVMIGRlZmluZXMgdGhlIGRlZmF1bHQgc3BlZWQgb2YgZ2FyYmFnZSBjb2xsZWN0 aW9uIHJlbGF0aXZlIHRvCj4gPiAtK0AqIG1lbW9yeSBhbGxvY2F0aW9uIGFzIGEgcGVyY2VudGFn ZS4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgZ3JhbnVsYXJp dHkgb2YgdGhlIGdhcmJhZ2UKPiA+IC0rKiogY29sbGVjdGlvbi4gKEhpZ2hlciB2YWx1ZXMgbWVh biBjb2Fyc2VyIGNvbGxlY3Rpb25zLiAwIHJlcHJlc2VudHMKPiA+IC0rKiogaW5maW5pdHksIHdo ZXJlIGVhY2ggc3RlcCBwZXJmb3JtcyBhIGZ1bGwgY29sbGVjdGlvbi4pIFlvdSBjYW4gYWxzbwo+ ID4gLSsqKiBjaGFuZ2UgdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KPiA+IC0rKi8KPiA+IC0rI2Rl ZmluZSBMVUFJX0dDTVVMCTIwMCAvKiBHQyBydW5zICd0d2ljZSB0aGUgc3BlZWQnIG9mIG1lbW9y eSBhbGxvY2F0aW9uICovCj4gPiAtKwo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExV QV9DT01QQVRfR0VUTiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGdldG4gYmVoYXZp b3IuCj4gPiAtKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2FudCBleGFjdCBjb21w YXRpYmlsaXR5IHdpdGggdGhlCj4gPiAtKyoqIGJlaGF2aW9yIG9mIHNldG4vZ2V0biBpbiBMdWEg NS4wLgo+ID4gLSsqLwo+ID4gLSsjdW5kZWYgTFVBX0NPTVBBVF9HRVROCj4gPiAtKwo+ID4gLSsv Kgo+ID4gLStAQCBMVUFfQ09NUEFUX0xPQURMSUIgY29udHJvbHMgY29tcGF0aWJpbGl0eSBhYm91 dCBnbG9iYWwgbG9hZGxpYi4KPiA+IC0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29u IGFzIHlvdSBkbyBub3QgbmVlZCBhIGdsb2JhbCAnbG9hZGxpYicKPiA+IC0rKiogZnVuY3Rpb24g KHRoZSBmdW5jdGlvbiBpcyBzdGlsbCBhdmFpbGFibGUgYXMgJ3BhY2thZ2UubG9hZGxpYicpLgo+ ID4gLSsqLwo+ID4gLSsjdW5kZWYgTFVBX0NPTVBBVF9MT0FETElCCj4gPiAtKwo+ID4gLSsvKgo+ ID4gLStAQCBMVUFfQ09NUEFUX1ZBUkFSRyBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xk IHZhcmFyZyBmZWF0dXJlLgo+ID4gLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24g YXMgeW91ciBwcm9ncmFtcyB1c2Ugb25seSAnLi4uJyB0bwo+ID4gLSsqKiBhY2Nlc3MgdmFyYXJn IHBhcmFtZXRlcnMgKGluc3RlYWQgb2YgdGhlIG9sZCAnYXJnJyB0YWJsZSkuCj4gPiAtKyovCj4g PiAtKyNkZWZpbmUgTFVBX0NPTVBBVF9WQVJBUkcKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExV QV9DT01QQVRfTU9EIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgbWF0aC5tb2QgZnVu Y3Rpb24uCj4gPiAtKyoqIENIQU5HRSBpdCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3VyIHBy b2dyYW1zIHVzZSAnbWF0aC5mbW9kJyBvcgo+ID4gLSsqKiB0aGUgbmV3ICclJyBvcGVyYXRvciBp bnN0ZWFkIG9mICdtYXRoLm1vZCcuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBX0NPTVBBVF9N T0QKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQV9DT01QQVRfTFNUUiBjb250cm9scyBjb21w YXRpYmlsaXR5IHdpdGggb2xkIGxvbmcgc3RyaW5nIG5lc3RpbmcKPiA+IC0rQCogZmFjaWxpdHku Cj4gPiAtKyoqIENIQU5HRSBpdCB0byAyIGlmIHlvdSB3YW50IHRoZSBvbGQgYmVoYXZpb3VyLCBv ciB1bmRlZmluZSBpdCB0byB0dXJuCj4gPiAtKyoqIG9mZiB0aGUgYWR2aXNvcnkgZXJyb3Igd2hl biBuZXN0aW5nIFtbLi4uXV0uCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBX0NPTVBBVF9MU1RS CQkxCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFfQ09NUEFUX0dGSU5EIGNvbnRyb2xzIGNv bXBhdGliaWxpdHkgd2l0aCBvbGQgJ3N0cmluZy5nZmluZCcgbmFtZS4KPiA+IC0rKiogQ0hBTkdF IGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdSByZW5hbWUgJ3N0cmluZy5nZmluZCcgdG8K PiA+IC0rKiogJ3N0cmluZy5nbWF0Y2gnLgo+ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQV9DT01Q QVRfR0ZJTkQKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQV9DT01QQVRfT1BFTkxJQiBjb250 cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkICdsdWFMX29wZW5saWInCj4gPiAtK0AqIGJlaGF2 aW9yLgo+ID4gLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IHJlcGxh Y2UgdG8gJ2x1YUxfcmVnaXN0ZXInCj4gPiAtKyoqIHlvdXIgdXNlcyBvZiAnbHVhTF9vcGVubGli Jwo+ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQV9DT01QQVRfT1BFTkxJQgo+ID4gLSsKPiA+IC0r Cj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBsdWFpX2FwaWNoZWNrIGlzIHRoZSBhc3NlcnQgbWFj cm8gdXNlZCBieSB0aGUgTHVhLUMgQVBJLgo+ID4gLSsqKiBDSEFOR0UgbHVhaV9hcGljaGVjayBp ZiB5b3Ugd2FudCBMdWEgdG8gcGVyZm9ybSBzb21lIGNoZWNrcyBpbiB0aGUKPiA+IC0rKiogcGFy YW1ldGVycyBpdCBnZXRzIGZyb20gQVBJIGNhbGxzLiBUaGlzIG1heSBzbG93IGRvd24gdGhlIGlu dGVycHJldGVyCj4gPiAtKyoqIGEgYml0LCBidXQgbWF5IGJlIHF1aXRlIHVzZWZ1bCB3aGVuIGRl YnVnZ2luZyBDIGNvZGUgdGhhdCBpbnRlcmZhY2VzCj4gPiAtKyoqIHdpdGggTHVhLiBBIHVzZWZ1 bCByZWRlZmluaXRpb24gaXMgdG8gdXNlIGFzc2VydC5oLgo+ID4gLSsqLwo+ID4gLSsjaWYgZGVm aW5lZChMVUFfVVNFX0FQSUNIRUNLKQo+ID4gLSsjaW5jbHVkZSA8YXNzZXJ0Lmg+Cj4gPiAtKyNk ZWZpbmUgbHVhaV9hcGljaGVjayhMLG8pCXsgKHZvaWQpTDsgYXNzZXJ0KG8pOyB9Cj4gPiAtKyNl bHNlCj4gPiAtKyNkZWZpbmUgbHVhaV9hcGljaGVjayhMLG8pCXsgKHZvaWQpTDsgfQo+ID4gLSsj ZW5kaWYKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX0JJVFNJTlQgZGVmaW5l cyB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gYW4gaW50Lgo+ID4gLSsqKiBDSEFOR0UgaGVyZSBpZiBM dWEgY2Fubm90IGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBudW1iZXIgb2YgYml0cyBvZgo+ID4g LSsqKiB5b3VyIG1hY2hpbmUuIFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhp cy4KPiA+IC0rKi8KPiA+IC0rLyogYXZvaWQgb3ZlcmZsb3dzIGluIGNvbXBhcmlzb24gKi8KPiA+ IC0rI2lmIElOVF9NQVgtMjAgPCAzMjc2MAo+ID4gLSsjZGVmaW5lIExVQUlfQklUU0lOVAkxNgo+ ID4gLSsjZWxpZiBJTlRfTUFYID4gMjE0NzQ4MzY0MEwKPiA+IC0rLyogaW50IGhhcyBhdCBsZWFz dCAzMiBiaXRzICovCj4gPiAtKyNkZWZpbmUgTFVBSV9CSVRTSU5UCTMyCj4gPiAtKyNlbHNlCj4g PiAtKyNlcnJvciAieW91IG11c3QgZGVmaW5lIExVQV9CSVRTSU5UIHdpdGggbnVtYmVyIG9mIGJp dHMgaW4gYW4gaW50ZWdlciIKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4gLSsKPiA+IC0rLyoKPiA+ IC0rQEAgTFVBSV9VSU5UMzIgaXMgYW4gdW5zaWduZWQgaW50ZWdlciB3aXRoIGF0IGxlYXN0IDMy IGJpdHMuCj4gPiAtK0BAIExVQUlfSU5UMzIgaXMgYW4gc2lnbmVkIGludGVnZXIgd2l0aCBhdCBs ZWFzdCAzMiBiaXRzLgo+ID4gLStAQCBMVUFJX1VNRU0gaXMgYW4gdW5zaWduZWQgaW50ZWdlciBi aWcgZW5vdWdoIHRvIGNvdW50IHRoZSB0b3RhbAo+ID4gLStAKiBtZW1vcnkgdXNlZCBieSBMdWEu Cj4gPiAtK0BAIExVQUlfTUVNIGlzIGEgc2lnbmVkIGludGVnZXIgYmlnIGVub3VnaCB0byBjb3Vu dCB0aGUgdG90YWwgbWVtb3J5Cj4gPiAtK0AqIHVzZWQgYnkgTHVhLgo+ID4gLSsqKiBDSEFOR0Ug aGVyZSBpZiBmb3Igc29tZSB3ZWlyZCByZWFzb24gdGhlIGRlZmF1bHQgZGVmaW5pdGlvbnMgYXJl IG5vdAo+ID4gLSsqKiBnb29kIGVub3VnaCBmb3IgeW91ciBtYWNoaW5lLiAoVGhlIGRlZmluaXRp b25zIGluIHRoZSAnZWxzZScKPiA+IC0rKiogcGFydCBhbHdheXMgd29ya3MsIGJ1dCBtYXkgd2Fz dGUgc3BhY2Ugb24gbWFjaGluZXMgd2l0aCA2NC1iaXQKPiA+IC0rKiogbG9uZ3MuKSBQcm9iYWJs eSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCj4gPiAtKyovCj4gPiAtKyNpZiBMVUFJ X0JJVFNJTlQgPj0gMzIKPiA+IC0rI2RlZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBpbnQKPiA+ IC0rI2RlZmluZSBMVUFJX0lOVDMyCWludAo+ID4gLSsjZGVmaW5lIExVQUlfTUFYSU5UMzIJSU5U X01BWAo+ID4gLSsjZGVmaW5lIExVQUlfVU1FTQlzaXplX3QKPiA+IC0rI2RlZmluZSBMVUFJX01F TQlwdHJkaWZmX3QKPiA+IC0rI2Vsc2UKPiA+IC0rLyogMTYtYml0IGludHMgKi8KPiA+IC0rI2Rl ZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBsb25nCj4gPiAtKyNkZWZpbmUgTFVBSV9JTlQzMgls b25nCj4gPiAtKyNkZWZpbmUgTFVBSV9NQVhJTlQzMglMT05HX01BWAo+ID4gLSsjZGVmaW5lIExV QUlfVU1FTQl1bnNpZ25lZCBsb25nCj4gPiAtKyNkZWZpbmUgTFVBSV9NRU0JbG9uZwo+ID4gLSsj ZW5kaWYKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX01BWENBTExTIGxpbWl0 cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCBjYWxscy4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSBu ZWVkIHJlYWxseSBkZWVwIHJlY3Vyc2l2ZSBjYWxscy4gVGhpcyBsaW1pdCBpcwo+ID4gLSsqKiBh cmJpdHJhcnk7IGl0cyBvbmx5IHB1cnBvc2UgaXMgdG8gc3RvcCBpbmZpbml0ZSByZWN1cnNpb24g YmVmb3JlCj4gPiAtKyoqIGV4aGF1c3RpbmcgbWVtb3J5Lgo+ID4gLSsqLwo+ID4gLSsjZGVmaW5l IExVQUlfTUFYQ0FMTFMJMjAwMDAKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJ X01BWENTVEFDSyBsaW1pdHMgdGhlIG51bWJlciBvZiBMdWEgc3RhY2sgc2xvdHMgdGhhdCBhIEMg ZnVuY3Rpb24KPiA+IC0rQCogY2FuIHVzZS4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVk IGxvdHMgb2YgKEx1YSkgc3RhY2sgc3BhY2UgZm9yIHlvdXIgQwo+ID4gLSsqKiBmdW5jdGlvbnMu IFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5OyBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3AgQwo+ ID4gLSsqKiBmdW5jdGlvbnMgdG8gY29uc3VtZSB1bmxpbWl0ZWQgc3RhY2sgc3BhY2UuCj4gPiAt KyovCj4gPiAtKyNkZWZpbmUgTFVBSV9NQVhDU1RBQ0sJMjA0OAo+ID4gLSsKPiA+IC0rCj4gPiAt Kwo+ID4gLSsvKgo+ID4gLSsqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPiAtKyoqIENIQU5HRSAodG8gc21hbGxl ciB2YWx1ZXMpIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgaWYgeW91ciBzeXN0ZW0KPiA+IC0r KiogaGFzIGEgc21hbGwgQyBzdGFjay4gKE9yIHlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdGhlbSB0 byBsYXJnZXIKPiA+IC0rKiogdmFsdWVzIGlmIHlvdXIgc3lzdGVtIGhhcyBhIGxhcmdlIEMgc3Rh Y2sgYW5kIHRoZXNlIGxpbWl0cyBhcmUKPiA+IC0rKiogdG9vIHJpZ2lkIGZvciB5b3UuKSBTb21l IG9mIHRoZXNlIGNvbnN0YW50cyBjb250cm9sIHRoZSBzaXplIG9mCj4gPiAtKyoqIHN0YWNrLWFs bG9jYXRlZCBhcnJheXMgdXNlZCBieSB0aGUgY29tcGlsZXIgb3IgdGhlIGludGVycHJldGVyLCB3 aGlsZQo+ID4gLSsqKiBvdGhlcnMgbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlY3Vyc2l2 ZSBjYWxscyB0aGF0IHRoZSBjb21waWxlcgo+ID4gLSsqKiBvciB0aGUgaW50ZXJwcmV0ZXIgY2Fu IHBlcmZvcm0uIFZhbHVlcyB0b28gbGFyZ2UgbWF5IGNhdXNlIGEgQyBzdGFjawo+ID4gLSsqKiBv dmVyZmxvdyBmb3Igc29tZSBmb3JtcyBvZiBkZWVwIGNvbnN0cnVjdHMuCj4gPiAtKyoqID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KPiA+IC0rKi8KPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX01BWEND QUxMUyBpcyB0aGUgbWF4aW11bSBkZXB0aCBmb3IgbmVzdGVkIEMgY2FsbHMgKHNob3J0KSBhbmQK PiA+IC0rQCogc3ludGFjdGljYWwgbmVzdGVkIG5vbi10ZXJtaW5hbHMgaW4gYSBwcm9ncmFtLgo+ ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQUlfTUFYQ0NBTExTCQkyMDAKPiA+IC0rCj4gPiAtKwo+ ID4gLSsvKgo+ID4gLStAQCBMVUFJX01BWFZBUlMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGxv Y2FsIHZhcmlhYmxlcyBwZXIgZnVuY3Rpb24KPiA+IC0rQCogKG11c3QgYmUgc21hbGxlciB0aGFu IDI1MCkuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBSV9NQVhWQVJTCQkyMDAKPiA+IC0rCj4g PiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX01BWFVQVkFMVUVTIGlzIHRoZSBtYXhpbXVtIG51 bWJlciBvZiB1cHZhbHVlcyBwZXIgZnVuY3Rpb24KPiA+IC0rQCogKG11c3QgYmUgc21hbGxlciB0 aGFuIDI1MCkuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBSV9NQVhVUFZBTFVFUwk2MAo+ID4g LSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQUxfQlVGRkVSU0laRSBpcyB0aGUgYnVmZmVy IHNpemUgdXNlZCBieSB0aGUgbGF1eGxpYiBidWZmZXIgc3lzdGVtLgo+ID4gLSsqLwo+ID4gLSsj ZGVmaW5lIExVQUxfQlVGRkVSU0laRQkJQlVGU0laCj4gPiAtKwo+ID4gLSsvKiB9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ICovCj4gPiAtKwo+ID4gLSsKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLSsqKiB7PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cj4gPiAtK0BAIExVQV9OVU1CRVIgaXMgdGhlIHR5cGUgb2YgbnVtYmVycyBpbiBMdWEuCj4g PiAtKyoqIENIQU5HRSB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zIG9ubHkgaWYgeW91IHdhbnQg dG8gYnVpbGQgTHVhCj4gPiAtKyoqIHdpdGggYSBudW1iZXIgdHlwZSBkaWZmZXJlbnQgZnJvbSBk b3VibGUuIFlvdSBtYXkgYWxzbyBuZWVkIHRvCj4gPiAtKyoqIGNoYW5nZSBsdWFfbnVtYmVyMmlu dCAmIGx1YV9udW1iZXIyaW50ZWdlci4KPiA+IC0rKiogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4gLSsqLwo+ID4g LSsKPiA+IC0rI2RlZmluZSBMVUFfTlVNQkVSX0RPVUJMRQo+ID4gLSsjZGVmaW5lIExVQV9OVU1C RVIJZG91YmxlCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX1VBQ05VTUJFUiBpcyB0aGUg cmVzdWx0IG9mIGFuICd1c3VhbCBhcmd1bWVudCBjb252ZXJzaW9uJwo+ID4gLStAKiBvdmVyIGEg bnVtYmVyLgo+ID4gLSsqLwo+ID4gLSsjZGVmaW5lIExVQUlfVUFDTlVNQkVSCWRvdWJsZQo+ID4g LSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQV9OVU1CRVJfU0NBTiBpcyB0aGUgZm9ybWF0 IGZvciByZWFkaW5nIG51bWJlcnMuCj4gPiAtK0BAIExVQV9OVU1CRVJfRk1UIGlzIHRoZSBmb3Jt YXQgZm9yIHdyaXRpbmcgbnVtYmVycy4KPiA+IC0rQEAgbHVhX251bWJlcjJzdHIgY29udmVydHMg YSBudW1iZXIgdG8gYSBzdHJpbmcuCj4gPiAtK0BAIExVQUlfTUFYTlVNQkVSMlNUUiBpcyBtYXhp bXVtIHNpemUgb2YgcHJldmlvdXMgY29udmVyc2lvbi4KPiA+IC0rQEAgbHVhX3N0cjJudW1iZXIg Y29udmVydHMgYSBzdHJpbmcgdG8gYSBudW1iZXIuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVB X05VTUJFUl9TQ0FOCQkiJWxmIgo+ID4gLSsjZGVmaW5lIExVQV9OVU1CRVJfRk1UCQkiJS4xNGci Cj4gPiAtKyNkZWZpbmUgbHVhX251bWJlcjJzdHIocyxuKQlzcHJpbnRmKChzKSwgTFVBX05VTUJF Ul9GTVQsIChuKSkKPiA+IC0rI2RlZmluZSBMVUFJX01BWE5VTUJFUjJTVFIJMzIgLyogMTYgZGln aXRzLCBzaWduLCBwb2ludCwgYW5kIFwwICovCj4gPiAtKyNkZWZpbmUgbHVhX3N0cjJudW1iZXIo cyxwKQlzdHJ0b2QoKHMpLCAocCkpCj4gPiAtKwo+ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAgVGhl IGx1YWlfbnVtKiBtYWNyb3MgZGVmaW5lIHRoZSBwcmltaXRpdmUgb3BlcmF0aW9ucyBvdmVyIG51 bWJlcnMuCj4gPiAtKyovCj4gPiAtKyNpZiBkZWZpbmVkKExVQV9DT1JFKQo+ID4gLSsjaW5jbHVk ZSA8bWF0aC5oPgo+ID4gLSsjZGVmaW5lIGx1YWlfbnVtYWRkKGEsYikJKChhKSsoYikpCj4gPiAt KyNkZWZpbmUgbHVhaV9udW1zdWIoYSxiKQkoKGEpLShiKSkKPiA+IC0rI2RlZmluZSBsdWFpX251 bW11bChhLGIpCSgoYSkqKGIpKQo+ID4gLSsjZGVmaW5lIGx1YWlfbnVtZGl2KGEsYikJKChhKS8o YikpCj4gPiAtKyNkZWZpbmUgbHVhaV9udW1tb2QoYSxiKQkoKGEpIC0gZmxvb3IoKGEpLyhiKSkq KGIpKQo+ID4gLSsjZGVmaW5lIGx1YWlfbnVtcG93KGEsYikJKHBvdyhhLGIpKQo+ID4gLSsjZGVm aW5lIGx1YWlfbnVtdW5tKGEpCQkoLShhKSkKPiA+IC0rI2RlZmluZSBsdWFpX251bWVxKGEsYikJ CSgoYSk9PShiKSkKPiA+IC0rI2RlZmluZSBsdWFpX251bWx0KGEsYikJCSgoYSk8KGIpKQo+ID4g LSsjZGVmaW5lIGx1YWlfbnVtbGUoYSxiKQkJKChhKTw9KGIpKQo+ID4gLSsjZGVmaW5lIGx1YWlf bnVtaXNuYW4oYSkJKCFsdWFpX251bWVxKChhKSwgKGEpKSkKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAgbHVhX251bWJlcjJpbnQgaXMgYSBtYWNybyB0byBjb252 ZXJ0IGx1YV9OdW1iZXIgdG8gaW50Lgo+ID4gLStAQCBsdWFfbnVtYmVyMmludGVnZXIgaXMgYSBt YWNybyB0byBjb252ZXJ0IGx1YV9OdW1iZXIgdG8gbHVhX0ludGVnZXIuCj4gPiAtKyoqIENIQU5H RSB0aGVtIGlmIHlvdSBrbm93IGEgZmFzdGVyIHdheSB0byBjb252ZXJ0IGEgbHVhX051bWJlciB0 bwo+ID4gLSsqKiBpbnQgKHdpdGggYW55IHJvdW5kaW5nIG1ldGhvZCBhbmQgd2l0aG91dCB0aHJv d2luZyBlcnJvcnMpIGluIHlvdXIKPiA+IC0rKiogc3lzdGVtLiBJbiBQZW50aXVtIG1hY2hpbmVz LCBhIG5haXZlIHR5cGVjYXN0IGZyb20gZG91YmxlIHRvIGludAo+ID4gLSsqKiBpbiBDIGlzIGV4 dHJlbWVseSBzbG93LCBzbyBhbnkgYWx0ZXJuYXRpdmUgaXMgd29ydGggdHJ5aW5nLgo+ID4gLSsq Lwo+ID4gLSsKPiA+IC0rLyogT24gYSBQZW50aXVtLCByZXNvcnQgdG8gYSB0cmljayAqLwo+ID4g LSsjaWYgZGVmaW5lZChMVUFfTlVNQkVSX0RPVUJMRSkgJiYgIWRlZmluZWQoTFVBX0FOU0kpICYm ICFkZWZpbmVkKF9fU1NFMl9fKSAmJiBcCj4gPiAtK8KgwqDCoMKgKGRlZmluZWQoX19pMzg2KSB8 fCBkZWZpbmVkIChfTV9JWDg2KSB8fCBkZWZpbmVkKF9faTM4Nl9fKSkKPiA+IC0rCj4gPiAtKy8q IE9uIGEgTWljcm9zb2Z0IGNvbXBpbGVyLCB1c2UgYXNzZW1ibGVyICovCj4gPiAtKyNpZiBkZWZp bmVkKF9NU0NfVkVSKQo+ID4gLSsKPiA+IC0rI2RlZmluZSBsdWFfbnVtYmVyMmludChpLGQpwqDC oMKgX19hc20gZmxkIGTCoMKgwqBfX2FzbSBmaXN0cCBpCj4gPiAtKyNkZWZpbmUgbHVhX251bWJl cjJpbnRlZ2VyKGksbikJCWx1YV9udW1iZXIyaW50KGksIG4pCj4gPiAtKwo+ID4gLSsvKiB0aGUg bmV4dCB0cmljayBzaG91bGQgd29yayBvbiBhbnkgUGVudGl1bSwgYnV0IHNvbWV0aW1lcyBjbGFz aGVzCj4gPiAtK8KgwqDCoHdpdGggYSBEaXJlY3RYIGlkaW9zeW5jcmFzeSAqLwo+ID4gLSsjZWxz ZQo+ID4gLSsKPiA+IC0rdW5pb24gbHVhaV9DYXN0IHsgZG91YmxlIGxfZDsgbG9uZyBsX2w7IH07 Cj4gPiAtKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKSBcCj4gPiAtK8KgwqB7IHZvbGF0aWxl IHVuaW9uIGx1YWlfQ2FzdCB1OyB1LmxfZCA9IChkKSArIDY3NTUzOTk0NDEwNTU3NDQuMDsgKGkp ID0gdS5sX2w7IH0KPiA+IC0rI2RlZmluZSBsdWFfbnVtYmVyMmludGVnZXIoaSxuKQkJbHVhX251 bWJlcjJpbnQoaSwgbikKPiA+IC0rCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rCj4gPiAtKy8q IHRoaXMgb3B0aW9uIGFsd2F5cyB3b3JrcywgYnV0IG1heSBiZSBzbG93ICovCj4gPiAtKyNlbHNl Cj4gPiAtKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKQkoKGkpPShpbnQpKGQpKQo+ID4gLSsj ZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLGQpCSgoaSk9KGx1YV9JbnRlZ2VyKShkKSkKPiA+ IC0rCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rLyogfT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwo+ID4gLSsKPiA+ IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQUlfVVNFUl9BTElHTk1FTlRfVCBpcyBhIHR5cGUgdGhh dCByZXF1aXJlcyBtYXhpbXVtIGFsaWdubWVudC4KPiA+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdXIg c3lzdGVtIHJlcXVpcmVzIGFsaWdubWVudHMgbGFyZ2VyIHRoYW4gZG91YmxlLiAoRm9yCj4gPiAt KyoqIGluc3RhbmNlLCBpZiB5b3VyIHN5c3RlbSBzdXBwb3J0cyBsb25nIGRvdWJsZXMgYW5kIHRo ZXkgbXVzdCBiZQo+ID4gLSsqKiBhbGlnbmVkIGluIDE2LWJ5dGUgYm91bmRhcmllcywgdGhlbiB5 b3Ugc2hvdWxkIGFkZCBsb25nIGRvdWJsZSBpbiB0aGUKPiA+IC0rKiogdW5pb24uKSBQcm9iYWJs eSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUg TFVBSV9VU0VSX0FMSUdOTUVOVF9UCXVuaW9uIHsgZG91YmxlIHU7IHZvaWQgKnM7IGxvbmcgbDsg fQo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIExVQUlfVEhST1cvTFVBSV9UUlkgZGVm aW5lIGhvdyBMdWEgZG9lcyBleGNlcHRpb24gaGFuZGxpbmcuCj4gPiAtKyoqIENIQU5HRSB0aGVt IGlmIHlvdSBwcmVmZXIgdG8gdXNlIGxvbmdqbXAvc2V0am1wIGV2ZW4gd2l0aCBDKysKPiA+IC0r Kiogb3IgaWYgd2FudC9kb24ndCB0byB1c2UgX2xvbmdqbXAvX3NldGptcCBpbnN0ZWFkIG9mIHJl Z3VsYXIKPiA+IC0rKiogbG9uZ2ptcC9zZXRqbXAuIEJ5IGRlZmF1bHQsIEx1YSBoYW5kbGVzIGVy cm9ycyB3aXRoIGV4Y2VwdGlvbnMgd2hlbgo+ID4gLSsqKiBjb21waWxpbmcgYXMgQysrIGNvZGUs IHdpdGggX2xvbmdqbXAvX3NldGptcCB3aGVuIGFza2VkIHRvIHVzZSB0aGVtLAo+ID4gLSsqKiBh bmQgd2l0aCBsb25nam1wL3NldGptcCBvdGhlcndpc2UuCj4gPiAtKyovCj4gPiAtKyNpZiBkZWZp bmVkKF9fY3BsdXNwbHVzKQo+ID4gLSsvKiBDKysgZXhjZXB0aW9ucyAqLwo+ID4gLSsjZGVmaW5l IExVQUlfVEhST1coTCxjKQl0aHJvdyhjKQo+ID4gLSsjZGVmaW5lIExVQUlfVFJZKEwsYyxhKQl0 cnkgeyBhIH0gY2F0Y2goLi4uKSBcCj4gPiAtKwl7IGlmICgoYyktPnN0YXR1cyA9PSAwKSAoYykt PnN0YXR1cyA9IC0xOyB9Cj4gPiAtKyNkZWZpbmUgbHVhaV9qbXBidWYJaW50wqDCoC8qIGR1bW15 IHZhcmlhYmxlICovCj4gPiAtKwo+ID4gLSsjZWxpZiBkZWZpbmVkKExVQV9VU0VfVUxPTkdKTVAp Cj4gPiAtKy8qIGluIFVuaXgsIHRyeSBfbG9uZ2ptcC9fc2V0am1wIChtb3JlIGVmZmljaWVudCkg Ki8KPiA+IC0rI2RlZmluZSBMVUFJX1RIUk9XKEwsYykJX2xvbmdqbXAoKGMpLT5iLCAxKQo+ID4g LSsjZGVmaW5lIExVQUlfVFJZKEwsYyxhKQlpZiAoX3NldGptcCgoYyktPmIpID09IDApIHsgYSB9 Cj4gPiAtKyNkZWZpbmUgbHVhaV9qbXBidWYJam1wX2J1Zgo+ID4gLSsKPiA+IC0rI2Vsc2UKPiA+ IC0rLyogZGVmYXVsdCBoYW5kbGluZyB3aXRoIGxvbmcganVtcHMgKi8KPiA+IC0rI2RlZmluZSBM VUFJX1RIUk9XKEwsYykJbG9uZ2ptcCgoYyktPmIsIDEpCj4gPiAtKyNkZWZpbmUgTFVBSV9UUlko TCxjLGEpCWlmIChzZXRqbXAoKGMpLT5iKSA9PSAwKSB7IGEgfQo+ID4gLSsjZGVmaW5lIGx1YWlf am1wYnVmCWptcF9idWYKPiA+IC0rCj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rCj4gPiAtKy8q Cj4gPiAtK0BAIExVQV9NQVhDQVBUVVJFUyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2FwdHVy ZXMgdGhhdCBhIHBhdHRlcm4KPiA+IC0rQCogY2FuIGRvIGR1cmluZyBwYXR0ZXJuLW1hdGNoaW5n Lgo+ID4gLSsqKiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgbW9yZSBjYXB0dXJlcy4gVGhpcyBsaW1p dCBpcyBhcmJpdHJhcnkuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgTFVBX01BWENBUFRVUkVTCQkz Mgo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BAIGx1YV90bXBuYW0gaXMgdGhlIGZ1bmN0 aW9uIHRoYXQgdGhlIE9TIGxpYnJhcnkgdXNlcyB0byBjcmVhdGUgYQo+ID4gLStAKiB0ZW1wb3Jh cnkgbmFtZS4KPiA+IC0rQEAgTFVBX1RNUE5BTUJVRlNJWkUgaXMgdGhlIG1heGltdW0gc2l6ZSBv ZiBhIG5hbWUgY3JlYXRlZCBieSBsdWFfdG1wbmFtLgo+ID4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5 b3UgaGF2ZSBhbiBhbHRlcm5hdGl2ZSB0byB0bXBuYW0gKHdoaWNoIGlzIGNvbnNpZGVyZWQKPiA+ IC0rKiogaW5zZWN1cmUpIG9yIGlmIHlvdSB3YW50IHRoZSBvcmlnaW5hbCB0bXBuYW0gYW55d2F5 LsKgwqBCeSBkZWZhdWx0LCBMdWEKPiA+IC0rKiogdXNlcyB0bXBuYW0gZXhjZXB0IHdoZW4gUE9T SVggaXMgYXZhaWxhYmxlLCB3aGVyZSBpdCB1c2VzIG1rc3RlbXAuCj4gPiAtKyovCj4gPiAtKyNp ZiBkZWZpbmVkKGxvc2xpYl9jKSB8fCBkZWZpbmVkKGx1YWFsbF9jKQo+ID4gLSsKPiA+IC0rI2lm IGRlZmluZWQoTFVBX1VTRV9NS1NURU1QKQo+ID4gLSsjaW5jbHVkZSA8dW5pc3RkLmg+Cj4gPiAt KyNkZWZpbmUgTFVBX1RNUE5BTUJVRlNJWkUJMzIKPiA+IC0rI2RlZmluZSBsdWFfdG1wbmFtKGIs ZSkJeyBcCj4gPiAtKwlzdHJjcHkoYiwgIi90bXAvbHVhX1hYWFhYWCIpOyBcCj4gPiAtKwllID0g bWtzdGVtcChiKTsgXAo+ID4gLSsJaWYgKGUgIT0gLTEpIGNsb3NlKGUpOyBcCj4gPiAtKwllID0g KGUgPT0gLTEpOyB9Cj4gPiAtKwo+ID4gLSsjZWxzZQo+ID4gLSsjZGVmaW5lIExVQV9UTVBOQU1C VUZTSVpFCUxfdG1wbmFtCj4gPiAtKyNkZWZpbmUgbHVhX3RtcG5hbShiLGUpCQl7IGUgPSAodG1w bmFtKGIpID09IE5VTEwpOyB9Cj4gPiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rI2VuZGlmCj4gPiAt Kwo+ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAgbHVhX3BvcGVuIHNwYXducyBhIG5ldyBwcm9jZXNz IGNvbm5lY3RlZCB0byB0aGUgY3VycmVudCBvbmUgdGhyb3VnaAo+ID4gLStAKiB0aGUgZmlsZSBz dHJlYW1zLgo+ID4gLSsqKiBDSEFOR0UgaXQgaWYgeW91IGhhdmUgYSB3YXkgdG8gaW1wbGVtZW50 IGl0IGluIHlvdXIgc3lzdGVtLgo+ID4gLSsqLwo+ID4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX1BP UEVOKQo+ID4gLSsKPiA+IC0rI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pCSgodm9pZClMLCBwb3Bl bihjLG0pKQo+ID4gLSsjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkoKHZvaWQpTCwgKHBjbG9z ZShmaWxlKSAhPSAtMSkpCj4gPiAtKwo+ID4gLSsjZWxpZiBkZWZpbmVkKExVQV9XSU4pCj4gPiAt Kwo+ID4gLSsjZGVmaW5lIGx1YV9wb3BlbihMLGMsbSkJKCh2b2lkKUwsIF9wb3BlbihjLG0pKQo+ ID4gLSsjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkoKHZvaWQpTCwgKF9wY2xvc2UoZmlsZSkg IT0gLTEpKQo+ID4gLSsKPiA+IC0rI2Vsc2UKPiA+IC0rCj4gPiAtKyNkZWZpbmUgbHVhX3BvcGVu KEwsYyxtKQkoKHZvaWQpKCh2b2lkKWMsIG0pLMKgwqBcCj4gPiAtKwkJbHVhTF9lcnJvcihMLCBM VUFfUUwoInBvcGVuIikgIiBub3Qgc3VwcG9ydGVkIiksIChGSUxFKikwKQo+ID4gLSsjZGVmaW5l IGx1YV9wY2xvc2UoTCxmaWxlKQkJKCh2b2lkKSgodm9pZClMLCBmaWxlKSwgMCkKPiA+IC0rCj4g PiAtKyNlbmRpZgo+ID4gLSsKPiA+IC0rLyoKPiA+IC0rQEAgTFVBX0RMXyogZGVmaW5lIHdoaWNo IGR5bmFtaWMtbGlicmFyeSBzeXN0ZW0gTHVhIHNob3VsZCB1c2UuCj4gPiAtKyoqIENIQU5HRSBo ZXJlIGlmIEx1YSBoYXMgcHJvYmxlbXMgY2hvb3NpbmcgdGhlIGFwcHJvcHJpYXRlCj4gPiAtKyoq IGR5bmFtaWMtbGlicmFyeSBzeXN0ZW0gZm9yIHlvdXIgcGxhdGZvcm0gKGVpdGhlciBXaW5kb3dz JyBETEwsIE1hYydzCj4gPiAtKyoqIGR5bGQsIG9yIFVuaXgncyBkbG9wZW4pLiBJZiB5b3VyIHN5 c3RlbSBpcyBzb21lIGtpbmQgb2YgVW5peCwgdGhlcmUKPiA+IC0rKiogaXMgYSBnb29kIGNoYW5j ZSB0aGF0IGl0IGhhcyBkbG9wZW4sIHNvIExVQV9ETF9ETE9QRU4gd2lsbCB3b3JrIGZvcgo+ID4g LSsqKiBpdC7CoMKgVG8gdXNlIGRsb3BlbiB5b3UgYWxzbyBuZWVkIHRvIGFkYXB0IHRoZSBzcmMv TWFrZWZpbGUgKHByb2JhYmx5Cj4gPiAtKyoqIGFkZGluZyAtbGRsIHRvIHRoZSBsaW5rZXIgb3B0 aW9ucyksIHNvIEx1YSBkb2VzIG5vdCBzZWxlY3QgaXQKPiA+IC0rKiogYXV0b21hdGljYWxseS7C oMKgKFdoZW4geW91IGNoYW5nZSB0aGUgbWFrZWZpbGUgdG8gYWRkIC1sZGwsIHlvdSBtdXN0Cj4g PiAtKyoqIGFsc28gYWRkIC1ETFVBX1VTRV9ETE9QRU4uKQo+ID4gLSsqKiBJZiB5b3UgZG8gbm90 IHdhbnQgYW55IGtpbmQgb2YgZHluYW1pYyBsaWJyYXJ5LCB1bmRlZmluZSBhbGwgdGhlc2UKPiA+ IC0rKiogb3B0aW9ucy4KPiA+IC0rKiogQnkgZGVmYXVsdCwgX1dJTjMyIGdldHMgTFVBX0RMX0RM TCBhbmQgTUFDIE9TIFggZ2V0cyBMVUFfRExfRFlMRC4KPiA+IC0rKi8KPiA+IC0rI2lmIGRlZmlu ZWQoTFVBX1VTRV9ETE9QRU4pCj4gPiAtKyNkZWZpbmUgTFVBX0RMX0RMT1BFTgo+ID4gLSsjZW5k aWYKPiA+IC0rCj4gPiAtKyNpZiBkZWZpbmVkKExVQV9XSU4pCj4gPiAtKyNkZWZpbmUgTFVBX0RM X0RMTAo+ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiAtKwo+ID4gLSsvKgo+ID4gLStAQCBMVUFJX0VY VFJBU1BBQ0UgYWxsb3dzIHlvdSB0byBhZGQgdXNlci1zcGVjaWZpYyBkYXRhIGluIGEgbHVhX1N0 YXRlCj4gPiAtK0AqICh0aGUgZGF0YSBnb2VzIGp1c3QgKmJlZm9yZSogdGhlIGx1YV9TdGF0ZSBw b2ludGVyKS4KPiA+IC0rKiogQ0hBTkdFIChkZWZpbmUpIHRoaXMgaWYgeW91IHJlYWxseSBuZWVk IHRoYXQuIFRoaXMgdmFsdWUgbXVzdCBiZQo+ID4gLSsqKiBhIG11bHRpcGxlIG9mIHRoZSBtYXhp bXVtIGFsaWdubWVudCByZXF1aXJlZCBmb3IgeW91ciBtYWNoaW5lLgo+ID4gLSsqLwo+ID4gLSsj ZGVmaW5lIExVQUlfRVhUUkFTUEFDRQkJMAo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qCj4gPiAtK0BA IGx1YWlfdXNlcnN0YXRlKiBhbGxvdyB1c2VyLXNwZWNpZmljIGFjdGlvbnMgb24gdGhyZWFkcy4K PiA+IC0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IGRlZmluZWQgTFVBSV9FWFRSQVNQQUNFIGFuZCBu ZWVkIHRvIGRvIHNvbWV0aGluZwo+ID4gLSsqKiBleHRyYSB3aGVuIGEgdGhyZWFkIGlzIGNyZWF0 ZWQvZGVsZXRlZC9yZXN1bWVkL3lpZWxkZWQuCj4gPiAtKyovCj4gPiAtKyNkZWZpbmUgbHVhaV91 c2Vyc3RhdGVvcGVuKEwpCQkoKHZvaWQpTCkKPiA+IC0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZWNs b3NlKEwpCQkoKHZvaWQpTCkKPiA+IC0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZXRocmVhZChMLEwx KQkoKHZvaWQpTCkKPiA+IC0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZWZyZWUoTCkJCSgodm9pZClM KQo+ID4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlcmVzdW1lKEwsbikJKCh2b2lkKUwpCj4gPiAt KyNkZWZpbmUgbHVhaV91c2Vyc3RhdGV5aWVsZChMLG4pCSgodm9pZClMKQo+ID4gLSsKPiA+IC0r Cj4gPiAtKy8qCj4gPiAtK0BAIExVQV9JTlRGUk1MRU4gaXMgdGhlIGxlbmd0aCBtb2RpZmllciBm b3IgaW50ZWdlciBjb252ZXJzaW9ucwo+ID4gLStAKiBpbiAnc3RyaW5nLmZvcm1hdCcuCj4gPiAt K0BAIExVQV9JTlRGUk1fVCBpcyB0aGUgaW50ZWdlciB0eXBlIGNvcnJlc3BvZGluZyB0byB0aGUg cHJldmlvdXMgbGVuZ3RoCj4gPiAtK0AqIG1vZGlmaWVyLgo+ID4gLSsqKiBDSEFOR0UgdGhlbSBp ZiB5b3VyIHN5c3RlbSBzdXBwb3J0cyBsb25nIGxvbmcgb3IgZG9lcyBub3Qgc3VwcG9ydCBsb25n Lgo+ID4gLSsqLwo+ID4gLSsKPiA+IC0rI2lmIGRlZmluZWQoTFVBX1VTRUxPTkdMT05HKQo+ID4g LSsKPiA+IC0rI2RlZmluZSBMVUFfSU5URlJNTEVOCQkibGwiCj4gPiAtKyNkZWZpbmUgTFVBX0lO VEZSTV9UCQlsb25nIGxvbmcKPiA+IC0rCj4gPiAtKyNlbHNlCj4gPiAtKwo+ID4gLSsjZGVmaW5l IExVQV9JTlRGUk1MRU4JCSJsIgo+ID4gLSsjZGVmaW5lIExVQV9JTlRGUk1fVAkJbG9uZwo+ID4g LSsKPiA+IC0rI2VuZGlmCj4gPiAtKwo+ID4gLSsKPiA+IC0rCj4gPiAtKy8qID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g Ki8KPiA+IC0rCj4gPiAtKy8qCj4gPiAtKyoqIExvY2FsIGNvbmZpZ3VyYXRpb24uIFlvdSBjYW4g dXNlIHRoaXMgc3BhY2UgdG8gYWRkIHlvdXIgcmVkZWZpbml0aW9ucwo+ID4gLSsqKiB3aXRob3V0 IG1vZGlmeWluZyB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBmaWxlLgo+ID4gLSsqLwo+ID4gLSsKPiA+ IC0rCj4gPiAtKwo+ID4gLSsjZW5kaWYKPiA+IC0rCj4gPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9s dWEtNS4xLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFr ZS1maWxlcy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAxMDItQWRkLWx1YS1zdXBwb3J0LXRv LXB0eGRpc3QtCj4gPiAxLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5wYXRjaAo+ID4gZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCBhMmI2YzRhLi4wMDAwMDAwCj4gPiAtLS0gYS9wYXRj aGVzL2x1YS01LjEuNC8wMTAyLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1 dG9tYWtlLWZpbGVzLnBhdGNoCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSwxMjUgKzAsMCBA QAo+ID4gLUZyb206IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgo+ID4gLURhdGU6IEZy aSwgOSBEZWMgMjAxMSAxMTozMjoxMiArMDEwMAo+ID4gLVN1YmplY3Q6IFtQQVRDSF0gQWRkIGx1 YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRkIGF1dG9tYWtlIGZpbGVzCj4gPiAtCj4gPiAt VGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51 IGVudHJ5IHVuZGVyCj4gPiAtc2NyaXB0aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBt YWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgYXV0b2NvbmYKPiA+IC10byBidWlsZC4KPiA+IC0KPiA+ IC1UaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFkZHMgdGhlIGF1dG9tYWtlIGZpbGVzLgo+ID4gLQo+ ID4gLVNpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgo+ID4gLVNp Z25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4K PiA+IC0tLS0KPiA+IC0gTWFrZWZpbGUuYW3CoMKgwqDCoMKgwqB8wqDCoDUgKysrKysKPiA+IC0g ZG9jL01ha2VmaWxlLmFtwqDCoHzCoMKgNSArKysrKwo+ID4gLSBldGMvTWFrZWZpbGUuYW3CoMKg fMKgwqA4ICsrKysrKysrCj4gPiAtIHNyYy9NYWtlZmlsZS5hbcKgwqB8IDQ3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAtIHRlc3QvTWFrZWZpbGUu YW0gfMKgwqA1ICsrKysrCj4gPiAtIDUgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKQo+ ID4gLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUuYW0KPiA+IC0gY3JlYXRlIG1vZGUgMTAw NjQ0IGRvYy9NYWtlZmlsZS5hbQo+ID4gLSBjcmVhdGUgbW9kZSAxMDA2NDQgZXRjL01ha2VmaWxl LmFtCj4gPiAtIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvTWFrZWZpbGUuYW0KPiA+IC0gY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3QvTWFrZWZpbGUuYW0KPiA+IC0KPiA+IC1kaWZmIC0tZ2l0IGEvTWFr ZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQo+ID4gLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiAtaW5k ZXggMDAwMDAwMC4uZGU3OGEyNAo+ID4gLS0tLSAvZGV2L251bGwKPiA+IC0rKysgYi9NYWtlZmls ZS5hbQo+ID4gLUBAIC0wLDAgKzEsNSBAQAo+ID4gLStBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNAo+ ID4gLSsKPiA+IC0rU1VCRElSUyA9IHNyYyBkb2MgZXRjIHRlc3QKPiA+IC0rCj4gPiAtK0VYVFJB X0RJU1QgPSBhdXRvZ2VuLnNoIENPUFlSSUdIVCBISVNUT1JZIElOU1RBTEwgUkVBRE1FCj4gPiAt ZGlmZiAtLWdpdCBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQo+ID4gLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gPiAtaW5kZXggMDAwMDAwMC4uNTc0YjZmOAo+ID4gLS0tLSAvZGV2 L251bGwKPiA+IC0rKysgYi9kb2MvTWFrZWZpbGUuYW0KPiA+IC1AQCAtMCwwICsxLDUgQEAKPiA+ IC0rbWFuMV9NQU5TID0gbHVhLjEgbHVhYy4xCj4gPiAtKwo+ID4gLStFWFRSQV9ESVNUID0gXAo+ ID4gLSsJY29udGVudHMuaHRtbMKgwqBsdWEuMcKgwqDCoGx1YWMuaHRtbMKgwqBsdWEuaHRtbMKg wqDCoMKgwqBtYW51YWwuaHRtbCBcCj4gPiAtKwlsb2dvLmdpZsKgwqDCoMKgwqDCoMKgbHVhYy4x wqDCoGx1YS5jc3PCoMKgwqDCoHJlYWRtZS5odG1sCj4gPiAtZGlmZiAtLWdpdCBhL2V0Yy9NYWtl ZmlsZS5hbSBiL2V0Yy9NYWtlZmlsZS5hbQo+ID4gLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiAt aW5kZXggMDAwMDAwMC4uMjNlZGQ5Mgo+ID4gLS0tLSAvZGV2L251bGwKPiA+IC0rKysgYi9ldGMv TWFrZWZpbGUuYW0KPiA+IC1AQCAtMCwwICsxLDggQEAKPiA+IC0raW5jbHVkZV9IRUFERVJTID0g bHVhLmhwcAo+ID4gLSsKPiA+IC0rcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZwo+ ID4gLStwa2djb25maWdfREFUQSA9IGx1YS5wYwo+ID4gLSsKPiA+IC0rRVhUUkFfRElTVCA9IFwK PiA+IC0rCWFsbC5jwqDCoMKgwqDCoMKgbHVhLmljb8KgwqDCoMKgbHVhLnBjLmluwqDCoG5vcGFy c2VyLmPCoMKgc3RyaWN0Lmx1YSBcCj4gPiAtKwlsdWF2cy5iYXTCoMKgbWluLmPCoMKgwqDCoMKg wqBSRUFETUUKPiA+IC1kaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxl LmFtCj4gPiAtbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IC1pbmRleCAwMDAwMDAwLi5jZjZiZGVh Cj4gPiAtLS0tIC9kZXYvbnVsbAo+ID4gLSsrKyBiL3NyYy9NYWtlZmlsZS5hbQo+ID4gLUBAIC0w LDAgKzEsNDcgQEAKPiA+IC0rQU1fQ0ZMQUdTID0gLVdhbGwKPiA+IC0rCj4gPiAtK2luY2x1ZGVf SEVBREVSUyA9IGx1YS5oIGx1YWxpYi5oIGxhdXhsaWIuaAo+ID4gLStub2Rpc3RfaW5jbHVkZV9I RUFERVJTID0gbHVhY29uZi5oCj4gPiAtKwo+ID4gLStsaWJfTFRMSUJSQVJJRVMgPSBsaWJsdWEu bGEKPiA+IC0rbGlibHVhX2xhX0xERkxBR1MgPSAtcmVsZWFzZSBAVkVSU0lPTkAgLVdsLC0tYXMt bmVlZGVkCj4gPiAtK2xpYmx1YV9sYV9TT1VSQ0VTID0gXAo+ID4gLSsJbGFwaS5jIGxjb2RlLmMg bGRlYnVnLmMgbGRvLmMgbGR1bXAuYyBsZnVuYy5jIGxnYy5jIGxsZXguYyBsbWVtLmMgXAo+ID4g LSsJbG9iamVjdC5jIGxvcGNvZGVzLmMgbHBhcnNlci5jIGxzdGF0ZS5jIGxzdHJpbmcuYyBsdGFi bGUuYyBsdG0uY8KgwqBcCj4gPiAtKwlsdW5kdW1wLmMgbHZtLmMgbHppby5jIFwKPiA+IC0rCWxh dXhsaWIuYyBsYmFzZWxpYi5jIGxkYmxpYi5jIGxpb2xpYi5jIGxtYXRobGliLmMgbG9zbGliLmMg bHRhYmxpYi5jIFwKPiA+IC0rCWxzdHJsaWIuYyBsb2FkbGliLmMgbGluaXQuYyBcCj4gPiAtKwls YXBpLmggbGRlYnVnLmggbGdjLmggbG1lbS5oIGxwYXJzZXIuaCBsdGFibGUuaCBsemlvLmggbGRv LmggbGxleC5oIFwKPiA+IC0rCWxvYmplY3QuaCBsc3RhdGUuaCBsdG0uaCBsdW5kdW1wLmggbGNv ZGUuaCBsZnVuYy5oIGxsaW1pdHMuaCBsb3Bjb2Rlcy5oIFwKPiA+IC0rCWxzdHJpbmcuaCBsdm0u aAo+ID4gLSsKPiA+IC0rbGlibHVhX2xhX0xJQkFERCA9IEBMVUFfTElCU0AKPiA+IC0rCj4gPiAt K2Jpbl9QUk9HUkFNUyA9IGx1YSBsdWFjCj4gPiAtKwo+ID4gLStsdWFfU09VUkNFUyA9IGx1YS5j Cj4gPiAtK2x1YV9MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNACj4gPiAtK2x1YV9ERVBFTkRF TkNJRVMgPSBsaWJsdWEubGEKPiA+IC0rCj4gPiAtK2x1YWNfU09VUkNFUyA9IGx1YWMuYyBwcmlu dC5jCj4gPiAtK2x1YWNfTERBREQgPSBsaWJsdWEubGEgQExVQV9MSUJTQAo+ID4gLStsdWFjX0RF UEVOREVOQ0lFUyA9IGxpYmx1YS5sYQo+ID4gLSsKPiA+IC0rIyBsdWFjIG11c3QgYmUgbGlua2Vk IHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VzIGZ1bmN0aW9ucyB0aGF0Cj4gPiAtKyMgZG9uJ3Qg Z2V0IGV4cG9ydGVkIHRvIHRoZSBzaGFyZWQgb2JqZWN0Cj4gPiAtK2x1YWNfTERGTEFHUyA9IC1z dGF0aWMKPiA+IC0rCj4gPiAtK0VYVFJBX0RJU1QgPSBsdWFjb25mLmgudGVtcGxhdGUuaW4KPiA+ IC0rQlVJTFRfU09VUkNFUyA9IGx1YWNvbmYuaAo+ID4gLStDTEVBTkZJTEVTID0gbHVhY29uZi5o Cj4gPiAtKwo+ID4gLStyZWFkbGluZV9kZWZzID0gQFJFQURMSU5FX0RFRlNACj4gPiAtKwo+ID4g LStlZGl0ID3CoAlzZWQgXAo+ID4gLSsJwqDCoC1lICdzLCVsdWFfZGF0YWRpciUsJChkYXRhZGly KSxnJyBcCj4gPiAtKwnCoMKgLWUgJ3MsJWx1YV9saWJkaXIlLCQobGliZGlyKSxnJwo+ID4gLSsK PiA+IC0rbHVhY29uZi5oIDogbHVhY29uZi5oLnRlbXBsYXRlCj4gPiAtKwlybSAtZiBsdWFjb25m LmggbHVhY29uZi5oLnRtcAo+ID4gLSsJJChlZGl0KSBsdWFjb25mLmgudGVtcGxhdGUgPiBsdWFj b25mLmgudG1wCj4gPiAtKwltdiBsdWFjb25mLmgudG1wIGx1YWNvbmYuaAo+ID4gLWRpZmYgLS1n aXQgYS90ZXN0L01ha2VmaWxlLmFtIGIvdGVzdC9NYWtlZmlsZS5hbQo+ID4gLW5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gPiAtaW5kZXggMDAwMDAwMC4uYmFiN2VhYwo+ID4gLS0tLSAvZGV2L251bGwK PiA+IC0rKysgYi90ZXN0L01ha2VmaWxlLmFtCj4gPiAtQEAgLTAsMCArMSw1IEBACj4gPiAtK0VY VFJBX0RJU1QgPSBcCj4gPiAtKwliaXNlY3QubHVhwqDCoGVudi5sdWHCoMKgwqDCoMKgwqDCoMKg wqBmaWIubHVhwqDCoMKgwqDCoMKgbGlmZS5sdWHCoMKgwqDCoMKgwqDCoMKgwqDCoHByaW50Zi5s dWEgXAo+ID4gLSsJc2lldmUubHVhwqDCoMKgdHJhY2UtY2FsbHMubHVhIGNmLmx1YcKgwqDCoMKg wqDCoMKgZmFjdG9yaWFsLmx1YcKgwqDCoMKgwqBnbG9iYWxzLmx1YSBcCj4gPiAtKwlsdWFjLmx1 YcKgwqDCoMKgUkVBRE1FwqDCoMKgwqDCoMKgwqDCoMKgwqBzb3J0Lmx1YcKgwqDCoMKgwqB0cmFj ZS1nbG9iYWxzLmx1YSBlY2hvLmx1YSBcCj4gPiAtKwlmaWJmb3IubHVhwqDCoGhlbGxvLmx1YcKg wqDCoMKgwqDCoMKgcmVhZG9ubHkubHVhIHRhYmxlLmx1YcKgwqDCoMKgwqDCoMKgwqDCoHhkLmx1 YQo+ID4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40L2F1dG9nZW4uc2ggYi9wYXRjaGVz L2x1YS01LjEuNC9hdXRvZ2VuLnNoCj4gPiBkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKPiA+IGlu ZGV4IDlmOGE0Y2IuLjAwMDAwMDAKPiA+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40L2F1dG9nZW4u c2gKPiA+ICsrKyAvZGV2L251bGwKPiA+IEBAIC0xICswLDAgQEAKPiA+IC0uLi9hdXRvZ2VuLnNo Cj4gPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPiA+IGRpZmYgLS1naXQgYS9wYXRjaGVz L2x1YS01LjEuNC9zZXJpZXMgYi9wYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMKPiA+IGRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggNzQ2ZTgxOS4uMDAwMDAwMAo+ID4gLS0tIGEvcGF0 Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCj4gPiArKysgL2Rldi9udWxsCj4gPiBAQCAtMSwxOSArMCww IEBACj4gPiAtIyBnZW5lcmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCj4gPiAtIyB1cHN0cmVhbSBp c3N1ZXMgd2l0aCBubyBjb250ZW50Cj4gPiAtIzAwMDEtTWFsaWNpb3VzbHktY3JhZnRlZC1wcmVj b21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2gKPiA+IC0jMDAwMi1JdC1pcy1wb3NzaWJs ZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1tLnBhdGNoCj4gPiAtI3RhZzp1 cHN0cmVhbSAtLXN0YXJ0LW51bWJlciAzCj4gPiAtMDAwMy1Xcm9uZy1jb2RlLWdlbmVyYXRpb24t Zm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4gPiAtMDAwNC1sdWFWX3NldHRh YmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gPiAtMDAw NS1kZWJ1Zy5nZXRmZW52LWRvZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBh dGNoCj4gPiAtMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMt cHJvcGVyLXJlLnBhdGNoCj4gPiAtMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFz LWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNoCj4gPiAtMDAwOC1pby5yZWFkLW4tbi1tYXktcmV0 dXJuLWdhcmJhZ2UtaWYtc2Vjb25kLXJlYWQtZmFpbHMucGF0Y2gKPiA+IC0wMDA5LVdyb25nLWNv ZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gKPiA+IC0w MDEwLV9fbmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90LXdvcmstaWYtbWV0YXRhYmxlLWlzLWku cGF0Y2gKPiA+IC0wMDExLVBhcnNlci1tYXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWls ZGluZy1pdC5wYXRjaAo+ID4gLSN0YWc6YXV0b3Rvb2xzIC0tc3RhcnQtbnVtYmVyIDEwMAo+ID4g LTAxMDAtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxl LnBhdGNoCj4gPiAtMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRv Y29uZi1maWxlcy5wYXRjaAo+ID4gLTAxMDItQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45 OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2gKPiA+IC0jIDhiOTA5MDRiMGE1OTIzMDMzNDNhNTdi ZDYzNWUyZWY4wqDCoC0gZ2l0LXB0eC1wYXRjaGVzIG1hZ2ljCj4gPiBkaWZmIC0tZ2l0IGEvcGF0 Y2hlcy9sdWEtNS4zLjQvMDAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3QtZW52aXJpb25tZW50 LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4zLjQvMDAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3Qt Cj4gPiBlbnZpcmlvbm1lbnQucGF0Y2gKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRl eCAwMDAwMDAwLi41Mjg4M2YzCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9wYXRjaGVzL2x1 YS01LjMuNC8wMDAxLUNyb3NzLWNvbXBpbGUtaW4tcHR4ZGlzdC1lbnZpcmlvbm1lbnQucGF0Y2gK PiA+IEBAIC0wLDAgKzEsMTA1IEBACj4gPiArRnJvbTogRGVuaXMgT3N0ZXJsYW5kIDxEZW5pcy5P c3RlcmxhbmRAZGllaGwuY29tPgo+ID4gK0RhdGU6IFdlZCwgMjggSnVuIDIwMTcgMTU6NTI6NDIg KzAyMDAKPiA+ICtTdWJqZWN0OiBbUEFUQ0hdIENyb3NzLWNvbXBpbGUgaW4gcHR4ZGlzdCBlbnZp cmlvbm1lbnQuCj4gPiArCj4gPiArU2lnbmVkLW9mZi1ieTogRGVuaXMgT3N0ZXJsYW5kIDxEZW5p cy5Pc3RlcmxhbmRAZGllaGwuY29tPgo+ID4gKy0tLQo+ID4gKyBNYWtlZmlsZcKgwqDCoMKgwqB8 wqDCoDkgKysrKysrLS0tCj4gPiArIHNyYy9NYWtlZmlsZSB8IDE4ICsrKysrKysrKystLS0tLS0t LQo+ID4gKyAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygt KQo+ID4gKwo+ID4gK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gPiAraW5kZXgg MTE5MTEwZDJmMDEwLi4yYjI5Njg0NDlmYjUgMTAwNjQ0Cj4gPiArLS0tIGEvTWFrZWZpbGUKPiA+ ICsrKysgYi9NYWtlZmlsZQo+ID4gK0BAIC00LDEzICs0LDEzIEBACj4gPiArICMgPT0gQ0hBTkdF IFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09 PT09PT09PT09PT0KPiA+ICvCoAo+ID4gKyAjIFlvdXIgcGxhdGZvcm0uIFNlZSBQTEFUUyBmb3Ig cG9zc2libGUgdmFsdWVzLgo+ID4gKy1QTEFUPSBub25lCj4gPiArK1BMQVQ9IGxpbnV4Cj4gPiAr wqAKPiA+ICsgIyBXaGVyZSB0byBpbnN0YWxsLiBUaGUgaW5zdGFsbGF0aW9uIHN0YXJ0cyBpbiB0 aGUgc3JjIGFuZCBkb2MgZGlyZWN0b3JpZXMsCj4gPiArICMgc28gdGFrZSBjYXJlIGlmIElOU1RB TExfVE9QIGlzIG5vdCBhbiBhYnNvbHV0ZSBwYXRoLiBTZWUgdGhlIGxvY2FsIHRhcmdldC4KPiA+ ICsgIyBZb3UgbWF5IHdhbnQgdG8gbWFrZSBJTlNUQUxMX0xNT0QgYW5kIElOU1RBTExfQ01PRCBj b25zaXN0ZW50IHdpdGgKPiA+ICsgIyBMVUFfUk9PVCwgTFVBX0xESVIsIGFuZCBMVUFfQ0RJUiBp biBsdWFjb25mLmguCj4gPiArLUlOU1RBTExfVE9QPSAvdXNyL2xvY2FsCj4gPiArK0lOU1RBTExf VE9QPSAkKERFU1RESVIpL3Vzcgo+ID4gKyBJTlNUQUxMX0JJTj0gJChJTlNUQUxMX1RPUCkvYmlu Cj4gPiArIElOU1RBTExfSU5DPSAkKElOU1RBTExfVE9QKS9pbmNsdWRlCj4gPiArIElOU1RBTExf TElCPSAkKElOU1RBTExfVE9QKS9saWIKPiA+ICtAQCAtNTIsNyArNTIsNyBAQCBSPSAkVi40Cj4g PiArIGFsbDoJJChQTEFUKQo+ID4gK8KgCj4gPiArICQoUExBVFMpIGNsZWFuOgo+ID4gKy0JY2Qg c3JjICYmICQoTUFLRSkgJEAKPiA+ICsrCWNkIHNyYyAmJiAkKE1BS0UpICRAIFI9JFIKPiA+ICvC oAo+ID4gKyB0ZXN0OglkdW1teQo+ID4gK8KgCXNyYy9sdWEgLXYKPiA+ICtAQCAtNjIsNiArNjIs OSBAQCBpbnN0YWxsOiBkdW1teQo+ID4gK8KgCWNkIHNyYyAmJiAkKElOU1RBTExfRVhFQykgJChU T19CSU4pICQoSU5TVEFMTF9CSU4pCj4gPiArwqAJY2Qgc3JjICYmICQoSU5TVEFMTF9EQVRBKSAk KFRPX0lOQykgJChJTlNUQUxMX0lOQykKPiA+ICvCoAljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEp ICQoVE9fTElCKSAkKElOU1RBTExfTElCKQo+ID4gKysJY2Qgc3JjICYmICQoSU5TVEFMTF9FWEVD KSBsaWJsdWEuc28uJFIgJChJTlNUQUxMX0xJQikKPiA+ICsrCWxuIC1zIGxpYmx1YS5zby4kUiAk KElOU1RBTExfTElCKS9saWJsdWEuc28uJFYKPiA+ICsrCWxuIC1zIGxpYmx1YS5zby4kViAkKElO U1RBTExfTElCKS9saWJsdWEuc28KPiA+ICvCoAljZCBkb2MgJiYgJChJTlNUQUxMX0RBVEEpICQo VE9fTUFOKSAkKElOU1RBTExfTUFOKQo+ID4gK8KgCj4gPiArIHVuaW5zdGFsbDoKPiA+ICtkaWZm IC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCj4gPiAraW5kZXggZDcxYzc1Yzg3 MzIyLi5lZjE3NjBkNjUyMjUgMTAwNjQ0Cj4gPiArLS0tIGEvc3JjL01ha2VmaWxlCj4gPiArKysr IGIvc3JjL01ha2VmaWxlCj4gPiArQEAgLTQsMTUgKzQsMTMgQEAKPiA+ICsgIyA9PSBDSEFOR0Ug VEhFIFNFVFRJTkdTIEJFTE9XIFRPIFNVSVQgWU9VUiBFTlZJUk9OTUVOVCA9PT09PT09PT09PT09 PT09PT09PT09PQo+ID4gK8KgCj4gPiArICMgWW91ciBwbGF0Zm9ybS4gU2VlIFBMQVRTIGZvciBw b3NzaWJsZSB2YWx1ZXMuCj4gPiArLVBMQVQ9IG5vbmUKPiA+ICsrUExBVD0gbGludXgKPiA+ICvC oAo+ID4gKy1DQz0gZ2NjIC1zdGQ9Z251OTkKPiA+ICstQ0ZMQUdTPSAtTzIgLVdhbGwgLVdleHRy YSAtRExVQV9DT01QQVRfNV8yICQoU1lTQ0ZMQUdTKSAkKE1ZQ0ZMQUdTKQo+ID4gKytDRkxBR1M9 IC1zdGQ9Z251OTkgLWZQSUMgLU8yIC1XYWxsIC1XZXh0cmEgLURMVUFfQ09NUEFUXzVfMiAkKFNZ U0NGTEFHUykgJChNWUNGTEFHUykKPiA+ICsgTERGTEFHUz0gJChTWVNMREZMQUdTKSAkKE1ZTERG TEFHUykKPiA+ICsgTElCUz0gLWxtICQoU1lTTElCUykgJChNWUxJQlMpCj4gPiArwqAKPiA+ICst QVI9IGFyIHJjdQo+ID4gKy1SQU5MSUI9IHJhbmxpYgo+ID4gKytBUkZMQUdTPSByY3UKPiA+ICsg Uk09IHJtIC1mCj4gPiArwqAKPiA+ICsgU1lTQ0ZMQUdTPQo+ID4gK0BAIC0yOSw2ICsyNyw3IEBA IE1ZT0JKUz0KPiA+ICsgUExBVFM9IGFpeCBic2QgYzg5IGZyZWVic2QgZ2VuZXJpYyBsaW51eCBt YWNvc3ggbWluZ3cgcG9zaXggc29sYXJpcwo+ID4gK8KgCj4gPiArIExVQV9BPQlsaWJsdWEuYQo+ ID4gKytMVUFfU089IGxpYmx1YS5zby4kUgo+ID4gKyBDT1JFX089CWxhcGkubyBsY29kZS5vIGxj dHlwZS5vIGxkZWJ1Zy5vIGxkby5vIGxkdW1wLm8gbGZ1bmMubyBsZ2MubyBsbGV4Lm8gXAo+ID4g K8KgCWxtZW0ubyBsb2JqZWN0Lm8gbG9wY29kZXMubyBscGFyc2VyLm8gbHN0YXRlLm8gbHN0cmlu Zy5vIGx0YWJsZS5vIFwKPiA+ICvCoAlsdG0ubyBsdW5kdW1wLm8gbHZtLm8gbHppby5vCj4gPiAr QEAgLTQzLDggKzQyLDggQEAgTFVBQ19UPQlsdWFjCj4gPiArIExVQUNfTz0JbHVhYy5vCj4gPiAr wqAKPiA+ICsgQUxMX089ICQoQkFTRV9PKSAkKExVQV9PKSAkKExVQUNfTykKPiA+ICstQUxMX1Q9 ICQoTFVBX0EpICQoTFVBX1QpICQoTFVBQ19UKQo+ID4gKy1BTExfQT0gJChMVUFfQSkKPiA+ICsr QUxMX1Q9ICQoTFVBX0EpICQoTFVBX1NPKSAkKExVQV9UKSAkKExVQUNfVCkKPiA+ICsrQUxMX0E9 ICQoTFVBX0EpICQoTFVBX1NPKQo+ID4gK8KgCj4gPiArICMgVGFyZ2V0cyBzdGFydCBoZXJlLgo+ ID4gKyBkZWZhdWx0OiAkKFBMQVQpCj4gPiArQEAgLTU2LDkgKzU1LDEyIEBAIG86CSQoQUxMX08p Cj4gPiArIGE6CSQoQUxMX0EpCj4gPiArwqAKPiA+ICsgJChMVUFfQSk6ICQoQkFTRV9PKQo+ID4g Ky0JJChBUikgJEAgJChCQVNFX08pCj4gPiArKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoQkFTRV9P KQo+ID4gK8KgCSQoUkFOTElCKSAkQAo+ID4gK8KgCj4gPiArKyQoTFVBX1NPKTogJChCQVNFX08p Cj4gPiArKwkkKENDKSAtc2hhcmVkIC1vICRAICQoQkFTRV9PKSAkKGZpbHRlci1vdXQgJXJlYWRs aW5lLCAkKExJQlMpKQo+ID4gKysKPiA+ICsgJChMVUFfVCk6ICQoTFVBX08pICQoTFVBX0EpCj4g PiArwqAJJChDQykgLW8gJEAgJChMREZMQUdTKSAkKExVQV9PKSAkKExVQV9BKSAkKExJQlMpCj4g PiArwqAKPiA+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjMuNC8wMDAyLUluc3RhbGwtcGtn Y29uZmlnLWZpbGUucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjMuNC8wMDAyLUluc3RhbGwtcGtnY29u ZmlnLWZpbGUucGF0Y2gKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAw Li41NzE3MTc4Cj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9wYXRjaGVzL2x1YS01LjMuNC8w MDAyLUluc3RhbGwtcGtnY29uZmlnLWZpbGUucGF0Y2gKPiA+IEBAIC0wLDAgKzEsNjEgQEAKPiA+ ICtGcm9tOiBEZW5pcyBPc3RlcmxhbmQgPERlbmlzLk9zdGVybGFuZEBkaWVobC5jb20+Cj4gPiAr RGF0ZTogVGh1LCAyOSBKdW4gMjAxNyAxNDo1NDowNCArMDIwMAo+ID4gK1N1YmplY3Q6IFtQQVRD SF0gSW5zdGFsbCBwa2djb25maWcgZmlsZS4KPiA+ICsKPiA+ICtTaWduZWQtb2ZmLWJ5OiBEZW5p cyBPc3RlcmxhbmQgPERlbmlzLk9zdGVybGFuZEBkaWVobC5jb20+Cj4gPiArLS0tCj4gPiArIE1h a2VmaWxlwqDCoHzCoMKgOCArKysrKystLQo+ID4gKyBsdWEucGMuaW4gfCAxMiArKysrKysrKysr KysKPiA+ICsgMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQo+ID4gKyBjcmVhdGUgbW9kZSAxMDA2NDQgbHVhLnBjLmluCj4gPiArCj4gPiArZGlmZiAtLWdp dCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKPiA+ICtpbmRleCAyYjI5Njg0NDlmYjUuLjBlY2QwMTk4 MTY5ZiAxMDA2NDQKPiA+ICstLS0gYS9NYWtlZmlsZQo+ID4gKysrKyBiL01ha2VmaWxlCj4gPiAr QEAgLTU3LDE0ICs1NywxNSBAQCAkKFBMQVRTKSBjbGVhbjoKPiA+ICsgdGVzdDoJZHVtbXkKPiA+ ICvCoAlzcmMvbHVhIC12Cj4gPiArwqAKPiA+ICstaW5zdGFsbDogZHVtbXkKPiA+ICstCWNkIHNy YyAmJiAkKE1LRElSKSAkKElOU1RBTExfQklOKSAkKElOU1RBTExfSU5DKSAkKElOU1RBTExfTElC KSAkKElOU1RBTExfTUFOKSAkKElOU1RBTExfTE1PRCkgJChJTlNUQUxMX0NNT0QpCj4gPiArK2lu c3RhbGw6IGR1bW15IGx1YS5wYwo+ID4gKysJY2Qgc3JjICYmICQoTUtESVIpICQoSU5TVEFMTF9C SU4pICQoSU5TVEFMTF9JTkMpICQoSU5TVEFMTF9MSUIpL3BrZ2NvbmZpZyAkKElOU1RBTExfTUFO KSAkKElOU1RBTExfTE1PRCkgJChJTlNUQUxMX0NNT0QpCj4gPiArwqAJY2Qgc3JjICYmICQoSU5T VEFMTF9FWEVDKSAkKFRPX0JJTikgJChJTlNUQUxMX0JJTikKPiA+ICvCoAljZCBzcmMgJiYgJChJ TlNUQUxMX0RBVEEpICQoVE9fSU5DKSAkKElOU1RBTExfSU5DKQo+ID4gK8KgCWNkIHNyYyAmJiAk KElOU1RBTExfREFUQSkgJChUT19MSUIpICQoSU5TVEFMTF9MSUIpCj4gPiArwqAJY2Qgc3JjICYm ICQoSU5TVEFMTF9FWEVDKSBsaWJsdWEuc28uJFIgJChJTlNUQUxMX0xJQikKPiA+ICvCoAlsbiAt cyBsaWJsdWEuc28uJFIgJChJTlNUQUxMX0xJQikvbGlibHVhLnNvLiRWCj4gPiArwqAJbG4gLXMg bGlibHVhLnNvLiRWICQoSU5TVEFMTF9MSUIpL2xpYmx1YS5zbwo+ID4gKysJJChJTlNUQUxMX0RB VEEpIGx1YS5wYyAkKElOU1RBTExfTElCKS9wa2djb25maWcKPiA+ICvCoAljZCBkb2MgJiYgJChJ TlNUQUxMX0RBVEEpICQoVE9fTUFOKSAkKElOU1RBTExfTUFOKQo+ID4gK8KgCj4gPiArIHVuaW5z dGFsbDoKPiA+ICtAQCAtMTExLDYgKzExMiw5IEBAIHBjOgo+ID4gK8KgCUBlY2hvICJsaWJkaXI9 JChJTlNUQUxMX0xJQikiCj4gPiArwqAJQGVjaG8gImluY2x1ZGVkaXI9JChJTlNUQUxMX0lOQyki Cj4gPiArwqAKPiA+ICsrbHVhLnBjOiBsdWEucGMuaW4KPiA+ICsrCXNlZCAtZSAicy9AVkVSU0lP TkAvJFIvZyIgJDwgPiAkQAo+ID4gKysKPiA+ICsgIyBsaXN0IHRhcmdldHMgdGhhdCBkbyBub3Qg Y3JlYXRlIGZpbGVzIChidXQgbm90IGFsbCBtYWtlcyB1bmRlcnN0YW5kIC5QSE9OWSkKPiA+ICsg LlBIT05ZOiBhbGwgJChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxsIGxvY2FsIG5vbmUgZHVtbXkg ZWNobyBwZWNobyBsZWNobwo+ID4gK8KgCj4gPiArZGlmZiAtLWdpdCBhL2x1YS5wYy5pbiBiL2x1 YS5wYy5pbgo+ID4gK25ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiAraW5kZXggMDAwMDAwMDAwMDAw Li42MzdiNGU2YjRjMTQKPiA+ICstLS0gL2Rldi9udWxsCj4gPiArKysrIGIvbHVhLnBjLmluCj4g PiArQEAgLTAsMCArMSwxMiBAQAo+ID4gKytwcmVmaXg9JHtwY2ZpbGVkaXJ9Ly4uLy4uCj4gPiAr K2xpYmRpcj0ke3ByZWZpeH0vbGliCj4gPiArK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUK PiA+ICsrCj4gPiArK05hbWU6IEx1YQo+ID4gKytEZXNjcmlwdGlvbjogTHVhIGxhbmd1YWdlIGVu Z2luZQo+ID4gKytWZXJzaW9uOiBAVkVSU0lPTkAKPiA+ICsrUmVxdWlyZXM6Cj4gPiArK0xpYnM6 IC1MJHtsaWJkaXJ9IC1sbHVhCj4gPiArK0xpYnMucHJpdmF0ZTogLWxtIC1sZGwKPiA+ICsrQ2Zs YWdzOiAtSSR7aW5jbHVkZWRpcn0KPiA+ICsrCj4gPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEt NS4zLjQvc2VyaWVzIGIvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCj4gPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMC4uOGQwYTc5Mwo+ID4gLS0tIC9kZXYvbnVsbAo+ID4g KysrIGIvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCj4gPiBAQCAtMCwwICsxLDUgQEAKPiA+ICsj IGdlbmVyYXRlZCBieSBnaXQtcHR4LXBhdGNoZXMKPiA+ICsjdGFnOmJhc2UgLS1zdGFydC1udW1i ZXIgMQo+ID4gKzAwMDEtQ3Jvc3MtY29tcGlsZS1pbi1wdHhkaXN0LWVudmlyaW9ubWVudC5wYXRj aAo+ID4gKzAwMDItSW5zdGFsbC1wa2djb25maWctZmlsZS5wYXRjaAo+ID4gKyMgOGNlYjIzMWJk MWQ3ZGFmZjA2NmFhMDQ1ZTc2MWE1ZDjCoMKgLSBnaXQtcHR4LXBhdGNoZXMgbWFnaWMKPiA+IGRp ZmYgLS1naXQgYS9ydWxlcy9sdWEuaW4gYi9ydWxlcy9sdWEuaW4KPiA+IGluZGV4IDNhMDMxYmMu LjE1YzlkNzEgMTAwNjQ0Cj4gPiAtLS0gYS9ydWxlcy9sdWEuaW4KPiA+ICsrKyBiL3J1bGVzL2x1 YS5pbgo+ID4gQEAgLTMsNyArMyw3IEBACj4gPiDCoG1lbnVjb25maWcgTFVBCj4gPiDCoAl0cmlz dGF0ZQo+ID4gwqAJcHJvbXB0ICJsdWHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAiCj4gPiAtCXNlbGVjdCBSRUFETElORQlpZiBMVUFfUkVBRExJ TkUKPiA+ICsJc2VsZWN0IFJFQURMSU5FCj4gPiDCoAlzZWxlY3QgTElCQ19NCj4gPiDCoAlzZWxl Y3QgTElCQ19ETAo+ID4gwqAJaGVscAo+ID4gQEAgLTE5LDEzICsxOSw2IEBAIG1lbnVjb25maWcg TFVBCj4gPiDCoAo+ID4gwqBpZiBMVUEKPiA+IMKgCj4gPiAtY29uZmlnIExVQV9SRUFETElORQo+ ID4gLQlib29sCj4gPiAtCXByb21wdCAiVXNlIHJlYWRsaW5lIgo+ID4gLQlkZXBlbmRzIG9uIEJS T0tFTgo+ID4gLQloZWxwCj4gPiAtCcKgwqBGSVhNRQo+ID4gLQo+ID4gwqBjb25maWcgTFVBX0lO U1RBTExfTFVBCj4gPiDCoAlib29sCj4gPiDCoAlwcm9tcHQgIkluc3RhbGwgbHVhIG9uIHRhcmdl dCIKPiA+IGRpZmYgLS1naXQgYS9ydWxlcy9sdWEubWFrZSBiL3J1bGVzL2x1YS5tYWtlCj4gPiBp bmRleCA1YTMxOGY1Li4wNDkzYWQxIDEwMDY0NAo+ID4gLS0tIGEvcnVsZXMvbHVhLm1ha2UKPiA+ ICsrKyBiL3J1bGVzL2x1YS5tYWtlCj4gPiBAQCAtMTcsOCArMTcsOCBAQCBQQUNLQUdFUy0kKFBU WENPTkZfTFVBKSArPSBsdWEKPiA+IMKgIwo+ID4gwqAjIFBhdGhzIGFuZCBuYW1lcwo+ID4gwqAj Cj4gPiAtTFVBX1ZFUlNJT04JOj0gNS4xLjQKPiA+IC1MVUFfTUQ1CQk6PSBkMDg3MGYyZGU1NWQ1 OWMxYzg0MTlmMzZlOGZhYzE1MAo+ID4gK0xVQV9WRVJTSU9OCTo9IDUuMy40Cj4gPiArTFVBX01E NQkJOj0gNTNhOWM2OGJjYzBlZGE1OGJkYzIwOTVhZDVjZGZjNjMKPiA+IMKgTFVBCQk6PSBsdWEt JChMVUFfVkVSU0lPTikKPiA+IMKgTFVBX1NVRkZJWAk6PSB0YXIuZ3oKPiA+IMKgTFVBX1VSTAkJ Oj0gaHR0cDovL3d3dy5sdWEub3JnL2Z0cC8kKExVQSkuJChMVUFfU1VGRklYKQo+ID4gQEAgLTMw LDEzICszMCwxMyBAQCBMVUFfTElDRU5TRcKgwqDCoMKgwqA6PSBNSVQKPiA+IMKgIyBQcmVwYXJl Cj4gPiDCoCMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gwqAKPiA+IC0jCj4gPiAtIyBhdXRvY29u Zgo+ID4gLSMKPiA+IC1MVUFfQVVUT0NPTkYgOj0gXAo+ID4gLQkkKENST1NTX0FVVE9DT05GX1VT UikgXAo+ID4gLQktLWVuYWJsZS1zdGF0aWMgXAo+ID4gLQktLSQoY2FsbCBwdHgvd3dvLCBQVFhD T05GX0xVQV9SRUFETElORSktcmVhZGxpbmUgXAo+ID4gK0xVQV9DT05GX1RPT0zCoMKgwqDCoMKg wqA6PSBOTwo+ID4gKwo+ID4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gKyMgQ29tcGlsZQo+ ID4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gKwo+ID4gK0xVQV9NQUtFX0VOVsKgwqDCoMKg wqDCoMKgOj0gJChDUk9TU19FTlYpCj4gPiDCoAo+ID4gwqAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiA+IMKgIyBUYXJnZXQtSW5zdGFsbAo+ID4gQEAgLTU4LDcgKzU4LDcgQEAgaWZkZWYgUFRYQ09O Rl9MVUFfSU5TVEFMTF9MVUFDCj4gPiDCoAlAJChjYWxsIGluc3RhbGxfY29weSwgbHVhLCAwLCAw LCAwNzU1LCAtLCAvdXNyL2Jpbi9sdWFjKQo+ID4gwqBlbmRpZgo+ID4gwqBpZmRlZiBQVFhDT05G X0xVQV9JTlNUQUxMX0xJQkxVQQo+ID4gLQlAJChjYWxsIGluc3RhbGxfbGliLCBsdWEsIDAsIDAs IDA2NDQsIGxpYmx1YS0kKExVQV9WRVJTSU9OKSkKPiA+ICsJQCQoY2FsbCBpbnN0YWxsX2xpYiwg bHVhLCAwLCAwLCAwNjQ0LCBsaWJsdWEpCj4gPiDCoGVuZGlmCj4gPiDCoAlAJChjYWxsIGluc3Rh bGxfZmluaXNoLCBsdWEpCj4gPiDCoAo+ID4gLS3CoAo+ID4gMi43LjQKPiA+IAo+ID4gCj4gPiBE aWVobCBBS08gU3RpZnR1bmcgJiBDby4gS0csIFBmYW5uZXJzdHJhw59lIDc1LTgzLCA4ODIzOSBX YW5nZW4gaW0gQWxsZ8OkdQo+ID4gQmVyZWljaHN2b3JzdGFuZDogRGlwbC4tSW5nLiBNaWNoYWVs IFNpZWRlbnRvcCAoU3ByZWNoZXIpLCBKb3NlZiBGZWxsbmVyIChNaXRnbGllZCkKPiA+IFNpdHog ZGVyIEdlc2VsbHNjaGFmdDogV2FuZ2VuIGkuQS4g4oCTIFJlZ2lzdGVyZ2VyaWNodDogQW10c2dl cmljaHQgVWxtIEhSQSA2MjA2MDkg4oCTIFBlcnPDtm5saWNoIGhhZnRlbmRlIEdlc2VsbHNjaGFm dGVyaW46IERpZWhsIFZlcndhbHR1bmdzLQo+ID4gU3RpZnR1bmcg4oCTIFNpdHo6IE7DvHJuYmVy ZyDigJMgUmVnaXN0ZXJnZXJpY2h0OiBBbXRzZ2VyaWNodCBOw7xybmJlcmcgSFJBIDExNzU2IOKA kwo+ID4gVm9yc3RhbmQ6IERyLi1JbmcuIEUuaC4gVGhvbWFzIERpZWhsICjigKApIChWb3JzaXR6 ZW5kZXIpLCBIZXJyIERpcGwuLVdpcnRzY2guLUluZy4gV29sZmdhbmcgV2VnZ2VuIChzdGVsbHZl cnRyZXRlbmRlciBWb3JzaXR6ZW5kZXIpLCBEaXBsLi1LZm0uCj4gPiBDbGF1cyBHw7xudGhlciwg RGlwbC4tS2ZtLiBGcmFuayBHdXR6ZWl0LCBEci4tSW5nLiBIZWlucmljaCBTY2h1bmssIERyLi1J bmcuIE1pY2hhZWwgU2llZGVudG9wICwgRGlwbC4tS2ZtLiBEci4tSW5nLiBNYXJ0aW4gU29tbWVy LCBEaXBsLi1JbmcuIChGSCkKPiA+IFJhaW5lciB2b24gQm9yc3RlbCwgVm9yc2l0emVuZGVyIGRl cyBBdWZzaWNodHNyYXRlczogRHIuIEtsYXVzIE1haWVyCj4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiA+IERlciBJbmhhbHQgZGVyIHZvcnN0ZWhlbmRlbiBF LU1haWwgaXN0IG5pY2h0IHJlY2h0bGljaCBiaW5kZW5kLiBEaWVzZSBFLU1haWwgZW50aGFlbHQg dmVydHJhdWxpY2hlIHVuZC9vZGVyIHJlY2h0bGljaCBnZXNjaHVldHp0ZSBJbmZvcm1hdGlvbmVu Lgo+ID4gSW5mb3JtaWVyZW4gU2llIHVucyBiaXR0ZSwgd2VubiBTaWUgZGllc2UgRS1NYWlsIGZh ZWxzY2hsaWNoZXJ3ZWlzZSBlcmhhbHRlbiBoYWJlbi4gQml0dGUgbG9lc2NoZW4gU2llIGluIGRp ZXNlbSBGYWxsIGRpZSBOYWNocmljaHQuIEplZGUKPiA+IHVuZXJsYXVidGUgRm9ybSBkZXIgUmVw cm9kdWt0aW9uLCBCZWthbm50Z2FiZSwgQWVuZGVydW5nLCBWZXJ0ZWlsdW5nIHVuZC9vZGVyIFB1 Ymxpa2F0aW9uIGRpZXNlciBFLU1haWwgaXN0IHN0cmVuZ3N0ZW5zIHVudGVyc2FndC4KPiA+IFRo ZSBjb250ZW50cyBvZiB0aGUgYWJvdmUgbWVudGlvbmVkIGUtbWFpbCBpcyBub3QgbGVnYWxseSBi aW5kaW5nLiBUaGlzIGUtbWFpbCBjb250YWlucyBjb25maWRlbnRpYWwgYW5kL29yIGxlZ2FsbHkg cHJvdGVjdGVkIGluZm9ybWF0aW9uLiBQbGVhc2UKPiA+IGluZm9ybSB1cyBpZiB5b3UgaGF2ZSBy ZWNlaXZlZCB0aGlzIGUtbWFpbCBieSBtaXN0YWtlIGFuZCBkZWxldGUgaXQgaW4gc3VjaCBhIGNh c2UuIEVhY2ggdW5hdXRob3JpemVkIHJlcHJvZHVjdGlvbiwgZGlzY2xvc3VyZSwgYWx0ZXJhdGlv biwKPiA+IGRpc3RyaWJ1dGlvbiBhbmQvb3IgcHVibGljYXRpb24gb2YgdGhpcyBlLW1haWwgaXMg c3RyaWN0bHkgcHJvaGliaXRlZC4KPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiA+IHB0eGRpc3QgbWFpbGluZyBsaXN0Cj4gPiBwdHhkaXN0 QHBlbmd1dHJvbml4LmRlCgpEaWVobCBBS08gU3RpZnR1bmcgJiBDby4gS0csIFBmYW5uZXJzdHJh w59lIDc1LTgzLCA4ODIzOSBXYW5nZW4gaW0gQWxsZ8OkdQpCZXJlaWNoc3ZvcnN0YW5kOiBEaXBs Li1JbmcuIE1pY2hhZWwgU2llZGVudG9wIChTcHJlY2hlciksIEpvc2VmIEZlbGxuZXIgKE1pdGds aWVkKQpTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IFdhbmdlbiBpLkEuIOKAkyBSZWdpc3Rlcmdlcmlj aHQ6IEFtdHNnZXJpY2h0IFVsbSBIUkEgNjIwNjA5IOKAkyBQZXJzw7ZubGljaCBoYWZ0ZW5kZSBH ZXNlbGxzY2hhZnRlcmluOiBEaWVobCBWZXJ3YWx0dW5ncy1TdGlmdHVuZyDigJMgU2l0ejogTsO8 cm5iZXJnIOKAkyBSZWdpc3RlcmdlcmljaHQ6IEFtdHNnZXJpY2h0IE7DvHJuYmVyZyBIUkEgMTE3 NTYg4oCTClZvcnN0YW5kOiBEci4tSW5nLiBFLmguIFRob21hcyBEaWVobCAo4oCgKSAoVm9yc2l0 emVuZGVyKSwgSGVyciBEaXBsLi1XaXJ0c2NoLi1JbmcuIFdvbGZnYW5nIFdlZ2dlbiAoc3RlbGx2 ZXJ0cmV0ZW5kZXIgVm9yc2l0emVuZGVyKSwgRGlwbC4tS2ZtLiBDbGF1cyBHw7xudGhlciwgRGlw bC4tS2ZtLiBGcmFuayBHdXR6ZWl0LCBEci4tSW5nLiBIZWlucmljaCBTY2h1bmssIERyLi1Jbmcu IE1pY2hhZWwgU2llZGVudG9wICwgRGlwbC4tS2ZtLiBEci4tSW5nLiBNYXJ0aW4gU29tbWVyLCBE aXBsLi1JbmcuIChGSCkgUmFpbmVyIHZvbiBCb3JzdGVsLCBWb3JzaXR6ZW5kZXIgZGVzIEF1ZnNp Y2h0c3JhdGVzOiBEci4gS2xhdXMgTWFpZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkRlciBJbmhhbHQgZGVyIHZvcnN0ZWhlbmRlbiBFLU1haWwgaXN0IG5pY2h0 IHJlY2h0bGljaCBiaW5kZW5kLiBEaWVzZSBFLU1haWwgZW50aGFlbHQgdmVydHJhdWxpY2hlIHVu ZC9vZGVyIHJlY2h0bGljaCBnZXNjaHVldHp0ZSBJbmZvcm1hdGlvbmVuLgpJbmZvcm1pZXJlbiBT aWUgdW5zIGJpdHRlLCB3ZW5uIFNpZSBkaWVzZSBFLU1haWwgZmFlbHNjaGxpY2hlcndlaXNlIGVy aGFsdGVuIGhhYmVuLiBCaXR0ZSBsb2VzY2hlbiBTaWUgaW4gZGllc2VtIEZhbGwgZGllIE5hY2hy aWNodC4gSmVkZSB1bmVybGF1YnRlIEZvcm0gZGVyIFJlcHJvZHVrdGlvbiwgQmVrYW5udGdhYmUs IEFlbmRlcnVuZywgVmVydGVpbHVuZyB1bmQvb2RlciBQdWJsaWthdGlvbiBkaWVzZXIgRS1NYWls IGlzdCBzdHJlbmdzdGVucyB1bnRlcnNhZ3QuClRoZSBjb250ZW50cyBvZiB0aGUgYWJvdmUgbWVu dGlvbmVkIGUtbWFpbCBpcyBub3QgbGVnYWxseSBiaW5kaW5nLiBUaGlzIGUtbWFpbCBjb250YWlu cyBjb25maWRlbnRpYWwgYW5kL29yIGxlZ2FsbHkgcHJvdGVjdGVkIGluZm9ybWF0aW9uLiBQbGVh c2UgaW5mb3JtIHVzIGlmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZS1tYWlsIGJ5IG1pc3Rha2Ug YW5kIGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhvcml6ZWQgcmVwcm9kdWN0 aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uLCBkaXN0cmlidXRpb24gYW5kL29yIHB1YmxpY2F0 aW9uIG9mIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdHhkaXN0IG1haWxpbmcgbGlzdApw dHhkaXN0QHBlbmd1dHJvbml4LmRl