From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [2001:67c:670:100:5054:ff:fe2a:3aa] (helo=pty.hi.pengutronix.de) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dwTA3-0003nz-WF for ptxdist@pengutronix.de; Mon, 25 Sep 2017 15:11:00 +0200 Received: from mol by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1dwTA3-0002oW-OG for ptxdist@pengutronix.de; Mon, 25 Sep 2017 15:10:59 +0200 Date: Mon, 25 Sep 2017 15:10:59 +0200 From: Michael Olbrich Message-ID: <20170925131059.yyrfzznizbptgdis@pengutronix.de> References: <1505466290-16548-1-git-send-email-Denis.Osterland@diehl.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1505466290-16548-1-git-send-email-Denis.Osterland@diehl.com> 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 T24gRnJpLCBTZXAgMTUsIDIwMTcgYXQgMDk6MDc6NTJBTSArMDAwMCwgRGVuaXMgT1NURVJMQU5E IHdyb3RlOgo+IEluc3RlYWQgb2Ygd3JpdGUgb3duIGJ1aWxkIHJ1bGVzIHdpdGggYXV0b2NvbmYg dG9vbHMsCj4gb25seSBhZGFwdCBwcm9qZWN0cyBtYWtlIGZpbGVzIHRvIHdvcmsgaW4gcHR4ZGlz dCBlbnZpcm9ubWVudC4KCkkgbGlrZSB0aGlzIFBhdGNoIGluIGdlbmVyYWwsIGJ1dCBidWlsZGlu ZyBsdWFleHBhdCBzdGlsbCBmYWlsczoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp0YXJnZXQ6 IGx1YWV4cGF0LmNvbXBpbGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgJy9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0 LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYvYnVp bGQtdGFyZ2V0L2x1YWV4cGF0LTEuMi4wJwphcm0tdjdhLWxpbnV4LWdudWVhYmloZi1nY2MgLVdh bGwgLXBlZGFudGljIC1XYWdncmVnYXRlLXJldHVybiAtV2Nhc3QtYWxpZ24gLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XcG9pbnRlci1h cml0aCAtV3NoYWRvdyAtV3dyaXRlLXN0cmluZ3MgLWFuc2kgLU8yIC1JLiAtSS4uL2NvbXBhdC9z cmMgLUkuICAgLWMgLW8gc3JjL2x4cGxpYi5vIHNyYy9seHBsaWIuYwpJbiBmaWxlIGluY2x1ZGVk IGZyb20gL3Nydi9qZW5raW5zLWRhdGEvYWdlbnQvd29ya3NwYWNlL3B0eGRpc3QtdGVzdHMvYWxs LXllcy9tYXN0ZXIubW9sLW5leHQuYXJtLWhmL3BsYXRmb3JtLWFybS1oZi9zeXNyb290LXRhcmdl dC91c3IvaW5jbHVkZS9sdWEuaDoxNjowLAogICAgICAgICAgICAgICAgIGZyb20gc3JjL2x4cGxp Yi5jOjE0Ogovc3J2L2plbmtpbnMtZGF0YS9hZ2VudC93b3Jrc3BhY2UvcHR4ZGlzdC10ZXN0cy9h bGwteWVzL21hc3Rlci5tb2wtbmV4dC5hcm0taGYvcGxhdGZvcm0tYXJtLWhmL3N5c3Jvb3QtdGFy Z2V0L3Vzci9pbmNsdWRlL2x1YWNvbmYuaDo1ODE6MjogZXJyb3I6ICNlcnJvciAiQ29tcGlsZXIg ZG9lcyBub3Qgc3VwcG9ydCAnbG9uZyBsb25nJy4gVXNlIG9wdGlvbiAnLURMVUFfMzJCSVRTJyAg IG9yICctRExVQV9DODlfTlVNQkVSUycgKHNlZSBmaWxlICdsdWFjb25mLmgnIGZvciBkZXRhaWxz KSIKICNlcnJvciAiQ29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCAnbG9uZyBsb25nJy4gVXNlIG9w dGlvbiAnLURMVUFfMzJCSVRTJyBcCiAgXgo8YnVpbHRpbj46IHJlY2lwZSBmb3IgdGFyZ2V0ICdz cmMvbHhwbGliLm8nIGZhaWxlZAptYWtlWzFdOiAqKiogW3NyYy9seHBsaWIub10gRXJyb3IgMQpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Nydi9qZW5raW5zLWRhdGEvYWdlbnQvd29ya3Nw YWNlL3B0eGRpc3QtdGVzdHMvYWxsLXllcy9tYXN0ZXIubW9sLW5leHQuYXJtLWhmL3BsYXRmb3Jt LWFybS1oZi9idWlsZC10YXJnZXQvbHVhZXhwYXQtMS4yLjAnCi9zcnYvamVua2lucy1kYXRhL2Fn ZW50L3dvcmtzcGFjZS9wdHhkaXN0LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1o Zi9wdHhkaXN0L3J1bGVzL3Bvc3QvcHR4ZF9tYWtlX3dvcmxkX2NvbXBpbGUubWFrZToyMTogcmVj aXBlIGZvciB0YXJnZXQgJy9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0 LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYvc3Rh dGUvbHVhZXhwYXQuY29tcGlsZScgZmFpbGVkCm1ha2U6ICoqKiBbL3Nydi9qZW5raW5zLWRhdGEv YWdlbnQvd29ya3NwYWNlL3B0eGRpc3QtdGVzdHMvYWxsLXllcy9tYXN0ZXIubW9sLW5leHQuYXJt LWhmL3BsYXRmb3JtLWFybS1oZi9zdGF0ZS9sdWFleHBhdC5jb21waWxlXSBFcnJvciAyCgpEbyB5 b3UgaGF2ZSBhbnkgaW5zaWdodCwgd2hhdCBoYXBwZW5zIGhlcmU/IE1heWJlIHVwZGF0aW5nIGx1 YWV4cGF0IGFzIHdlbGwKbWlnaHQgaGVscC4gT3IganVzdCBtYXJrIGl0IGFzIGJyb2tlbiB1bnRp bCBzb21lb25lIGNhcmVzIGVub3VnaHQgYWJvdXQgaXQKdG8gZml4IHRoaXMuCgpNaWNoYWVsCgoK PiBTaWduZWQtb2ZmLWJ5OiBEZW5pcyBPc3RlcmxhbmQgPERlbmlzLk9zdGVybGFuZEBkaWVobC5j b20+Cj4gLS0tCj4gIC4uLmx5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVh LnBhdGNoIHwgIDEzIC0KPiAgLi4uYmxlLXRvLWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4t dG9vLW0ucGF0Y2ggfCAgMTQgLQo+ICAuLi5nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXIt Ym9vbGVhbi1leC5wYXRjaCB8ICA3MiAtLQo+ICAuLi5sZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVy ZW5jZS10by1hLXRhYmxlLS5wYXRjaCB8ICA1MiAtLQo+ICAuLi5udi1kb2VzLW5vdC1jaGVjay13 aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaCB8ICAzMiAtCj4gIC4uLnN0dWNrLWR1cmluZy1w YXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoIHwgIDM1IC0KPiAgLi4uYXQtbWF5LWdl dC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2ggfCAgNDQgLQo+ICAuLi5uLW1h eS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5wYXRjaCB8ICAzNyAtCj4gIC4u LmdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoIHwgIDU2IC0t Cj4gIC4uLm1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIHwg IDM3IC0KPiAgLi4ubWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0 Y2ggfCAgMzEgLQo+ICAuLi5wcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmls ZS5wYXRjaCB8IDE1MSAtLS0tCj4gIC4uLnVwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9j b25mLWZpbGVzLnBhdGNoIHwgOTE4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAuLi51cHBvcnQt dG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5wYXRjaCB8IDEyNSAtLS0KPiAgcGF0 Y2hlcy9sdWEtNS4xLjQvYXV0b2dlbi5zaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQo+ ICBwYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAx OSAtCj4gIC4uLjAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3QtZW52aXJpb25tZW50LnBhdGNo IHwgMTA1ICsrKwo+ICAuLi4vbHVhLTUuMy40LzAwMDItSW5zdGFsbC1wa2djb25maWctZmlsZS5w YXRjaCAgICB8ICA2MSArKwo+ICBwYXRjaGVzL2x1YS01LjMuNC9zZXJpZXMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNSArCj4gIHJ1bGVzL2x1YS5pbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA5ICstCj4gIHJ1bGVzL2x1YS5tYWtlICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIwICstCj4gIDIxIGZpbGVzIGNoYW5nZWQsIDE4 MiBpbnNlcnRpb25zKCspLCAxNjU1IGRlbGV0aW9ucygtKQo+ICBkZWxldGUgbW9kZSAxMDA2NDQg cGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVkLWNv ZGUtY2FuLWNyYXNoLUx1YS5wYXRjaAo+ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEt NS4xLjQvMDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJu LXRvby1tLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDAz LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0 Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0 YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaAo+ICBkZWxl dGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNS1kZWJ1Zy5nZXRmZW52LWRvZXMt bm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEw MDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDA2LUdDLW1heS1nZXQtc3R1Y2stZHVyaW5nLXBhcnNp bmctYW5kLWF2b2lkcy1wcm9wZXItcmUucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNo ZXMvbHVhLTUuMS40LzAwMDctc3RyaW5nLmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1 bWVudC13aGVuLXRoZS5wYXRjaAo+ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4x LjQvMDAwOC1pby5yZWFkLW4tbi1tYXktcmV0dXJuLWdhcmJhZ2UtaWYtc2Vjb25kLXJlYWQtZmFp bHMucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDktV3Jv bmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+ ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25ld2luZGV4LW1l dGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoCj4gIGRlbGV0ZSBt b2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDExLVBhcnNlci1tYXktY29sbGVjdC1hLXBy b3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaAo+ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0 Y2hlcy9sdWEtNS4xLjQvMDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92 ZS1vbGQtTWFrZWZpbGUucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUu MS40LzAxMDEtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b2NvbmYtZmls ZXMucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAxMDItQWRk LWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2gKPiAg ZGVsZXRlIG1vZGUgMTIwMDAwIHBhdGNoZXMvbHVhLTUuMS40L2F1dG9nZW4uc2gKPiAgZGVsZXRl IG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L3Nlcmllcwo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgcGF0Y2hlcy9sdWEtNS4zLjQvMDAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3QtZW52aXJp b25tZW50LnBhdGNoCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjMuNC8wMDAy LUluc3RhbGwtcGtnY29uZmlnLWZpbGUucGF0Y2gKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNo ZXMvbHVhLTUuMy40L3Nlcmllcwo+IAo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8w MDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBh dGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBp bGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ IGluZGV4IDg0OGZlMzAuLjAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAxLU1h bGljaW91c2x5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNoCj4g KysrIC9kZXYvbnVsbAo+IEBAIC0xLDEzICswLDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89 QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtRGF0 ZTogVHVlLCA2IERlYyAyMDExIDE0OjA1OjM1ICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gTWFs aWNpb3VzbHkgY3JhZnRlZCBwcmVjb21waWxlZCBjb2RlIGNhbiBjcmFzaCBMdWEKPiAtTUlNRS1W ZXJzaW9uOiAxLjAKPiAtQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4g LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKPiAtCj4gLUNvbWVzIGZyb20gaHR0cDov L3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC0xCj4gLQo+IC1TaWduZWQtb2ZmLWJ5OiBCZW5v w650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+IC0KPiAtLS0tCj4g LQo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAyLUl0LWlzLXBvc3NpYmxlLXRv LWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2ggYi9wYXRjaGVzL2x1YS01 LjEuNC8wMDAyLUl0LWlzLXBvc3NpYmxlLXRvLWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4t dG9vLW0ucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAyODBmZWUzLi4w MDAwMDAwCj4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMi1JdC1pcy1wb3NzaWJsZS10by1j cmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1tLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+ IEBAIC0xLDE0ICswLDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmlj aG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtRGF0ZTogVHVlLCA2IERlYyAy MDExIDE0OjA3OjE4ICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gSXQgaXMgcG9zc2libGUgdG8g Y3JlYXRlIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0b28gbWFueQo+IC0gYXJndW1lbnRzIGFuZCBv dmVyZmxvdyB0aGUgc3RhY2sgb2YgQyBmdW5jdGlvbnMuCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4g LUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9i dWdzLmh0bWwjNS4xLjQtMgo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24g PGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtCj4gLS0tLQo+IC0KPiBkaWZmIC0tZ2l0 IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUt cGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9u Zy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4g ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggYzU5OWNjNi4uMDAwMDAwMAo+IC0tLSBh L3BhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBh cnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSw3MiArMCww IEBACj4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQu YnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLURhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoxMDo1NiAr MDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIFdyb25nIGNvZGUgZ2VuZXJhdGlvbiBmb3Igc29tZSBw YXJ0aWN1bGFyIGJvb2xlYW4KPiAtIGV4cHJlc3Npb25zLiAoc2VlIGFsc28gOSkKPiAtTUlNRS1W ZXJzaW9uOiAxLjAKPiAtQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4g LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKPiAtCj4gLUNvbWVzIGZyb20gaHR0cDov L3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC0zCj4gLQo+IC0gcmVwb3J0ZWQgYnkgQnJpYW4g S2VsbGV5IG9uIDE1IEFwciAyMDA5Lgo+IC0gRXhhbXBsZToKPiAtIC0tCj4gLSBwcmludCgoKDEg b3IgZmFsc2UpIGFuZCB0cnVlKSBvciBmYWxzZSkgICAtLT4gMSwgYnV0IHNob3VsZCBiZSAndHJ1 ZScKPiAtIC0tCj4gLQo+IC1QYXRjaDogKHBhcnRpYWwgc29sdXRpb247IHNlZSBhbHNvIDkpCj4g LQo+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBh aXJ0YWcuY29tPgo+IC0tLS0KPiAtIHNyYy9sY29kZS5jIHwgICAyMiArKysrKysrKysrKysrKy0t LS0tLS0tCj4gLSAxIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xjb2RlLmMgYi9zcmMvbGNvZGUuYwo+IC1pbmRl eCBjZmY2MjZiLi44NGYyODZiIDEwMDY0NAo+IC0tLS0gYS9zcmMvbGNvZGUuYwo+IC0rKysgYi9z cmMvbGNvZGUuYwo+IC1AQCAtNTQ0LDE1ICs1NDQsMTggQEAgdm9pZCBsdWFLX2dvaWZ0cnVlIChG dW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Cj4gLSAgICAgICBwYyA9IE5PX0pVTVA7ICAvKiBh bHdheXMgdHJ1ZTsgZG8gbm90aGluZyAqLwo+IC0gICAgICAgYnJlYWs7Cj4gLSAgICAgfQo+IC0t ICAgIGNhc2UgVkZBTFNFOiB7Cj4gLS0gICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdh eXMganVtcCAqLwo+IC0tICAgICAgYnJlYWs7Cj4gLS0gICAgfQo+IC0gICAgIGNhc2UgVkpNUDog ewo+IC0gICAgICAgaW52ZXJ0anVtcChmcywgZSk7Cj4gLSAgICAgICBwYyA9IGUtPnUucy5pbmZv Owo+IC0gICAgICAgYnJlYWs7Cj4gLSAgICAgfQo+IC0rICAgIGNhc2UgVkZBTFNFOiB7Cj4gLSsg ICAgICBpZiAoIWhhc2p1bXBzKGUpKSB7Cj4gLSsgICAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsg IC8qIGFsd2F5cyBqdW1wICovCj4gLSsgICAgICAgIGJyZWFrOwo+IC0rICAgICAgfQo+IC0rICAg ICAgLyogZWxzZSBnbyB0aHJvdWdoICovCj4gLSsgICAgfQo+IC0gICAgIGRlZmF1bHQ6IHsKPiAt ICAgICAgIHBjID0ganVtcG9uY29uZChmcywgZSwgMCk7Cj4gLSAgICAgICBicmVhazsKPiAtQEAg LTU3MiwxNCArNTc1LDE3IEBAIHN0YXRpYyB2b2lkIGx1YUtfZ29pZmZhbHNlIChGdW5jU3RhdGUg KmZzLCBleHBkZXNjICplKSB7Cj4gLSAgICAgICBwYyA9IE5PX0pVTVA7ICAvKiBhbHdheXMgZmFs c2U7IGRvIG5vdGhpbmcgKi8KPiAtICAgICAgIGJyZWFrOwo+IC0gICAgIH0KPiAtLSAgICBjYXNl IFZUUlVFOiB7Cj4gLS0gICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdheXMganVtcCAq Lwo+IC0tICAgICAgYnJlYWs7Cj4gLS0gICAgfQo+IC0gICAgIGNhc2UgVkpNUDogewo+IC0gICAg ICAgcGMgPSBlLT51LnMuaW5mbzsKPiAtICAgICAgIGJyZWFrOwo+IC0gICAgIH0KPiAtKyAgICBj YXNlIFZUUlVFOiB7Cj4gLSsgICAgICBpZiAoIWhhc2p1bXBzKGUpKSB7Cj4gLSsgICAgICAgIHBj ID0gbHVhS19qdW1wKGZzKTsgIC8qIGFsd2F5cyBqdW1wICovCj4gLSsgICAgICAgIGJyZWFrOwo+ IC0rICAgICAgfQo+IC0rICAgICAgLyogZWxzZSBnbyB0aHJvdWdoICovCj4gLSsgICAgfQo+IC0g ICAgIGRlZmF1bHQ6IHsKPiAtICAgICAgIHBjID0ganVtcG9uY29uZChmcywgZSwgMSk7Cj4gLSAg ICAgICBicmVhazsKPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3Nl dHRhYmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoIGIvcGF0 Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJl bmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg ZmUxMTg5Mi4uMDAwMDAwMAo+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0 YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaAo+ICsrKyAv ZGV2L251bGwKPiBAQCAtMSw1MiArMCwwIEBACj4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFF dD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLURhdGU6IFR1 ZSwgNiBEZWMgMjAxMSAxNDoxMzo1OSArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIGx1YVZfc2V0 dGFibGUgbWF5IGludmFsaWRhdGUgYSByZWZlcmVuY2UgdG8gYSB0YWJsZSBhbmQgdHJ5Cj4gLSB0 byByZXVzZSBpdAo+IC1NSU1FLVZlcnNpb246IDEuMAo+IC1Db250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9VVRGLTgKPiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+IC0K PiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTQKPiAtCj4g LXJlcG9ydGVkIGJ5IE1hcmsgRmVsZG1hbiBvbiAyNyBKdW4gMjAwOS4KPiAtRXhhbXBsZToKPiAt IC0tCj4gLSBncmFuZHBhcmVudCA9IHt9Cj4gLSBncmFuZHBhcmVudC5fX25ld2luZGV4ID0gZnVu Y3Rpb24ocyxfLF8pIHByaW50KHMpIGVuZAo+IC0KPiAtIHBhcmVudCA9IHt9Cj4gLSBwYXJlbnQu X19uZXdpbmRleCA9IHBhcmVudAo+IC0gc2V0bWV0YXRhYmxlKHBhcmVudCwgZ3JhbmRwYXJlbnQp Cj4gLQo+IC0gY2hpbGQgPSBzZXRtZXRhdGFibGUoe30sIHBhcmVudCkKPiAtIGNoaWxkLmZvbyA9 IDEwICAgICAgLS0+IChjcmFzaCBvbiBzb21lIG1hY2hpbmVzKQo+IC0gLS0KPiAtCj4gLVNpZ25l ZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+ Cj4gLS0tLQo+IC0gc3JjL2x2bS5jIHwgICAgNSArKysrLQo+IC0gMSBmaWxlcyBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2x2 bS5jIGIvc3JjL2x2bS5jCj4gLWluZGV4IGVlMzI1NmEuLjRhYzJlNzEgMTAwNjQ0Cj4gLS0tLSBh L3NyYy9sdm0uYwo+IC0rKysgYi9zcmMvbHZtLmMKPiAtQEAgLTEzMyw2ICsxMzMsNyBAQCB2b2lk IGx1YVZfZ2V0dGFibGUgKGx1YV9TdGF0ZSAqTCwgY29uc3QgVFZhbHVlICp0LCBUVmFsdWUgKmtl eSwgU3RrSWQgdmFsKSB7Cj4gLSAKPiAtIHZvaWQgbHVhVl9zZXR0YWJsZSAobHVhX1N0YXRlICpM LCBjb25zdCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsKPiAtICAgaW50IGxv b3A7Cj4gLSsgIFRWYWx1ZSB0ZW1wOwo+IC0gICBmb3IgKGxvb3AgPSAwOyBsb29wIDwgTUFYVEFH TE9PUDsgbG9vcCsrKSB7Cj4gLSAgICAgY29uc3QgVFZhbHVlICp0bTsKPiAtICAgICBpZiAodHRp c3RhYmxlKHQpKSB7ICAvKiBgdCcgaXMgYSB0YWJsZT8gKi8KPiAtQEAgLTE1Miw3ICsxNTMsOSBA QCB2b2lkIGx1YVZfc2V0dGFibGUgKGx1YV9TdGF0ZSAqTCwgY29uc3QgVFZhbHVlICp0LCBUVmFs dWUgKmtleSwgU3RrSWQgdmFsKSB7Cj4gLSAgICAgICBjYWxsVE0oTCwgdG0sIHQsIGtleSwgdmFs KTsKPiAtICAgICAgIHJldHVybjsKPiAtICAgICB9Cj4gLS0gICAgdCA9IHRtOyAgLyogZWxzZSBy ZXBlYXQgd2l0aCBgdG0nICovIAo+IC0rICAgIC8qIGVsc2UgcmVwZWF0IHdpdGggYHRtJyAqLwo+ IC0rICAgIHNldG9iaihMLCAmdGVtcCwgdG0pOyAgLyogYXZvaWQgcG9pbnRpbmcgaW5zaWRlIHRh YmxlIChtYXkgcmVoYXNoKSAqLwo+IC0rICAgIHQgPSAmdGVtcDsKPiAtICAgfQo+IC0gICBsdWFH X3J1bmVycm9yKEwsICJsb29wIGluIHNldHRhYmxlIik7Cj4gLSB9Cj4gZGlmZiAtLWdpdCBhL3Bh dGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVy LWl0LWhhcy1hbi1hcmd1bS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0 ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaAo+IGRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDQwYzBlM2YuLjAwMDAwMDAKPiAtLS0gYS9wYXRj aGVzL2x1YS01LjEuNC8wMDA1LWRlYnVnLmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hldGhlci1p dC1oYXMtYW4tYXJndW0ucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMzIgKzAsMCBAQAo+ IC1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5p Y2hvbkBhaXJ0YWcuY29tPgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MTg6MjAgKzAxMDAK PiAtU3ViamVjdDogW1BBVENIXSBkZWJ1Zy5nZXRmZW52IGRvZXMgbm90IGNoZWNrIHdoZXRoZXIg aXQgaGFzIGFuIGFyZ3VtZW50Lgo+IC1NSU1FLVZlcnNpb246IDEuMAo+IC1Db250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAo+IC0KPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40 LTUKPiAtCj4gLXJlcG9ydGVkIGJ5IFBhdHJpY2sgRG9ubmVsbHkgb24gMzAgSnVsIDIwMDkuCj4g LUV4YW1wbGU6Cj4gLSAtLQo+IC0gZGVidWcuZ2V0ZmVudigpICAgLS0gc2hvdWxkIHJhaXNlIGFu IGVycm9yCj4gLSAtLQo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJl bm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbGRibGliLmMgfCAgICAx ICsKPiAtIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQo+ IC0KPiAtZGlmZiAtLWdpdCBhL3NyYy9sZGJsaWIuYyBiL3NyYy9sZGJsaWIuYwo+IC1pbmRleCA2 N2RlMTIyLi4yMTExNmFjIDEwMDY0NAo+IC0tLS0gYS9zcmMvbGRibGliLmMKPiAtKysrIGIvc3Jj L2xkYmxpYi5jCj4gLUBAIC00NSw2ICs0NSw3IEBAIHN0YXRpYyBpbnQgZGJfc2V0bWV0YXRhYmxl IChsdWFfU3RhdGUgKkwpIHsKPiAtIAo+IC0gCj4gLSBzdGF0aWMgaW50IGRiX2dldGZlbnYgKGx1 YV9TdGF0ZSAqTCkgewo+IC0rICBsdWFMX2NoZWNrYW55KEwsIDEpOwo+IC0gICBsdWFfZ2V0ZmVu dihMLCAxKTsKPiAtICAgcmV0dXJuIDE7Cj4gLSB9Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVh LTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXBy b3Blci1yZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1k dXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAo+IGluZGV4IGY3NDgzNzIuLjAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01 LjEuNC8wMDA2LUdDLW1heS1nZXQtc3R1Y2stZHVyaW5nLXBhcnNpbmctYW5kLWF2b2lkcy1wcm9w ZXItcmUucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMzUgKzAsMCBAQAo+IC1Gcm9tOiA9 P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0 YWcuY29tPgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjA6MTUgKzAxMDAKPiAtU3ViamVj dDogW1BBVENIXSBHQyBtYXkgZ2V0IHN0dWNrIGR1cmluZyBwYXJzaW5nIGFuZCBhdm9pZHMgcHJv cGVyIHJlc2l6aW5nCj4gLSBvZiB0aGUgc3RyaW5nIHRhYmxlLCBtYWtpbmcgaXRzIGxpc3RzIGdy b3cgdG9vIG11Y2ggYW5kCj4gLSBkZWdyYWRpbmcgcGVyZm9ybWFuY2UuCj4gLU1JTUUtVmVyc2lv bjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1Db250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cu bHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtNgo+IC0KPiAtIHJlcG9ydGVkIGJ5IFNlYW4gQ29ubmVy IG9uIDEwIE5vdiAyMDA5Lgo+IC0KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmlj aG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLS0tLQo+IC0gc3JjL2xsZXguYyB8 ICAgIDQgKysrLQo+IC0gMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xsZXguYyBiL3NyYy9sbGV4LmMKPiAtaW5k ZXggNmRjMzE5My4uOTJkNjU3NSAxMDA2NDQKPiAtLS0tIGEvc3JjL2xsZXguYwo+IC0rKysgYi9z cmMvbGxleC5jCj4gLUBAIC0xMTgsOCArMTE4LDEwIEBAIFRTdHJpbmcgKmx1YVhfbmV3c3RyaW5n IChMZXhTdGF0ZSAqbHMsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGwpIHsKPiAtICAgbHVhX1N0 YXRlICpMID0gbHMtPkw7Cj4gLSAgIFRTdHJpbmcgKnRzID0gbHVhU19uZXdsc3RyKEwsIHN0ciwg bCk7Cj4gLSAgIFRWYWx1ZSAqbyA9IGx1YUhfc2V0c3RyKEwsIGxzLT5mcy0+aCwgdHMpOyAgLyog ZW50cnkgZm9yIGBzdHInICovCj4gLS0gIGlmICh0dGlzbmlsKG8pKQo+IC0rICBpZiAodHRpc25p bChvKSkgewo+IC0gICAgIHNldGJ2YWx1ZShvLCAxKTsgIC8qIG1ha2Ugc3VyZSBgc3RyJyB3aWxs IG5vdCBiZSBjb2xsZWN0ZWQgKi8KPiAtKyAgICBsdWFDX2NoZWNrR0MoTCk7Cj4gLSsgIH0KPiAt ICAgcmV0dXJuIHRzOwo+IC0gfQo+IC0gCj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40 LzAwMDctc3RyaW5nLmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRo ZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5nLmZvcm1hdC1tYXktZ2V0LWJ1 ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAo+IGluZGV4IGNjMGMzMTAuLjAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8w MDA3LXN0cmluZy5mb3JtYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUu cGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsNDQgKzAsMCBAQAo+IC1Gcm9tOiA9P1VURi04 P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29t Pgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjE6NDYgKzAxMDAKPiAtU3ViamVjdDogW1BB VENIXSBzdHJpbmcuZm9ybWF0IG1heSBnZXQgYnVmZmVyIGFzIGFuIGFyZ3VtZW50IHdoZW4gdGhl cmUgYXJlCj4gLSBtaXNzaW5nIGFyZ3VtZW50cyBhbmQgZm9ybWF0IHN0cmluZyBpcyB0b28gbG9u Zy4KPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiAtQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04Cj4gLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKPiAtCj4gLUNvbWVz IGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC03Cj4gLQo+IC1yZXBvcnRl ZCBieSBSb2JlcnRvIG9uIDEyIEFwciAyMDEwLgo+IC1FeGFtcGxlOgo+IC0gLS0KPiAtIHggPSBz dHJpbmcucmVwKCJ4IiwgMTAwMDApIC4uICIlZCIKPiAtIHByaW50KHN0cmluZy5mb3JtYXQoeCkp ICAgIC0tIGdpdmVzIHdyb25nIGVycm9yIG1lc3NhZ2UKPiAtIC0tCj4gLQo+IC1TaWduZWQtb2Zm LWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+IC0t LS0KPiAtIHNyYy9sc3RybGliLmMgfCAgICA0ICsrKy0KPiAtIDEgZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQo+IC0KPiAtZGlmZiAtLWdpdCBhL3NyYy9sc3Ry bGliLmMgYi9zcmMvbHN0cmxpYi5jCj4gLWluZGV4IDFiNDc2M2QuLmZlNDUyY2UgMTAwNjQ0Cj4g LS0tLSBhL3NyYy9sc3RybGliLmMKPiAtKysrIGIvc3JjL2xzdHJsaWIuYwo+IC1AQCAtNzU0LDYg Kzc1NCw3IEBAIHN0YXRpYyB2b2lkIGFkZGludGxlbiAoY2hhciAqZm9ybSkgewo+IC0gCj4gLSAK PiAtIHN0YXRpYyBpbnQgc3RyX2Zvcm1hdCAobHVhX1N0YXRlICpMKSB7Cj4gLSsgIGludCB0b3Ag PSBsdWFfZ2V0dG9wKEwpOwo+IC0gICBpbnQgYXJnID0gMTsKPiAtICAgc2l6ZV90IHNmbDsKPiAt ICAgY29uc3QgY2hhciAqc3RyZnJtdCA9IGx1YUxfY2hlY2tsc3RyaW5nKEwsIGFyZywgJnNmbCk7 Cj4gLUBAIC03NjgsNyArNzY5LDggQEAgc3RhdGljIGludCBzdHJfZm9ybWF0IChsdWFfU3RhdGUg KkwpIHsKPiAtICAgICBlbHNlIHsgLyogZm9ybWF0IGl0ZW0gKi8KPiAtICAgICAgIGNoYXIgZm9y bVtNQVhfRk9STUFUXTsgIC8qIHRvIHN0b3JlIHRoZSBmb3JtYXQgKGAlLi4uJykgKi8KPiAtICAg ICAgIGNoYXIgYnVmZltNQVhfSVRFTV07ICAvKiB0byBzdG9yZSB0aGUgZm9ybWF0dGVkIGl0ZW0g Ki8KPiAtLSAgICAgIGFyZysrOwo+IC0rICAgICAgaWYgKCsrYXJnID4gdG9wKQo+IC0rICAgICAg ICBsdWFMX2FyZ2Vycm9yKEwsIGFyZywgIm5vIHZhbHVlIik7Cj4gLSAgICAgICBzdHJmcm10ID0g c2NhbmZvcm1hdChMLCBzdHJmcm10LCBmb3JtKTsKPiAtICAgICAgIHN3aXRjaCAoKnN0cmZybXQr Kykgewo+IC0gICAgICAgICBjYXNlICdjJzogewo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01 LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1m YWlscy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVy bi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0Cj4gaW5kZXggNWE1ZDBmMi4uMDAwMDAwMAo+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40 LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxz LnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDM3ICswLDAgQEAKPiAtRnJvbTogPT9VVEYt OD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNv bT4KPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjIzOjUzICswMTAwCj4gLVN1YmplY3Q6IFtQ QVRDSF0gaW8ucmVhZCgiKm4iLCAiKm4iKSBtYXkgcmV0dXJuIGdhcmJhZ2UgaWYgc2Vjb25kIHJl YWQgZmFpbHMuCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+ IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtOAo+IC0KPiAt cmVwb3J0ZWQgYnkgUm9iZXJ0byBvbiAxMiBBcHIgMjAxMC4KPiAtRXhhbXBsZToKPiAtIC0tCj4g LSBwcmludChpby5yZWFkKCIqbiIsICIqbiIpKSAgIC0tPDwgZW50ZXIgIjEwICAgaGkiCj4gLSAt LT4gZmlsZSAoMHg4ODQ0MjApCW5pbAo+IC0gLS0KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/D rnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLS0tLQo+IC0gc3Jj L2xpb2xpYi5jIHwgICAgNSArKysrLQo+IC0gMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xpb2xpYi5jIGIvc3Jj L2xpb2xpYi5jCj4gLWluZGV4IGU3OWVkMWMuLjhkZTI1NDcgMTAwNjQ0Cj4gLS0tLSBhL3NyYy9s aW9saWIuYwo+IC0rKysgYi9zcmMvbGlvbGliLmMKPiAtQEAgLTI3Niw3ICsyNzYsMTAgQEAgc3Rh dGljIGludCByZWFkX251bWJlciAobHVhX1N0YXRlICpMLCBGSUxFICpmKSB7Cj4gLSAgICAgbHVh X3B1c2hudW1iZXIoTCwgZCk7Cj4gLSAgICAgcmV0dXJuIDE7Cj4gLSAgIH0KPiAtLSAgZWxzZSBy ZXR1cm4gMDsgIC8qIHJlYWQgZmFpbHMgKi8KPiAtKyAgZWxzZSB7Cj4gLSsgICAgbHVhX3B1c2hu aWwoTCk7ICAvKiAicmVzdWx0IiB0byBiZSByZW1vdmVkICovCj4gLSsgICAgcmV0dXJuIDA7ICAv KiByZWFkIGZhaWxzICovCj4gLSsgIH0KPiAtIH0KPiAtIAo+IC0gCj4gZGlmZiAtLWdpdCBhL3Bh dGNoZXMvbHVhLTUuMS40LzAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRp Y3VsYXItYm9vbGVhbi1leC5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDktV3JvbmctY29k ZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+IGRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDIwYzBiMTEuLjAwMDAwMDAKPiAtLS0gYS9wYXRj aGVzL2x1YS01LjEuNC8wMDA5LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1 bGFyLWJvb2xlYW4tZXgucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsNTYgKzAsMCBAQAo+ IC1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5p Y2hvbkBhaXJ0YWcuY29tPgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjU6MTggKzAxMDAK PiAtU3ViamVjdDogW1BBVENIXSBXcm9uZyBjb2RlIGdlbmVyYXRpb24gZm9yIHNvbWUgcGFydGlj dWxhciBib29sZWFuCj4gLSBleHByZXNzaW9ucy4KPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiAtQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4gLUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKPiAtCj4gLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3Mu aHRtbCM1LjEuNC05Cj4gLQo+IC1yZXBvcnRlZCBieSBUaGllcnJ5IFZhbiBFbHN1d2Ugb24gMjAg SmFuIDIwMTEuCj4gLUV4YW1wbGU6Cj4gLSAtLQo+IC0gcHJpbnQoKCgnaGknIG9yIHRydWUpIGFu ZCB0cnVlKSBvciB0cnVlKQo+IC0gLS0+IGhpICAgICAoc2hvdWxkIGJlIHRydWUpCj4gLSBwcmlu dCgoKG5pbCBhbmQgbmlsKSBvciBmYWxzZSkgYW5kIHRydWUpCj4gLSAtLT4gbmlsICAgIChzaG91 bGQgYmUgZmFsc2UpCj4gLSAtLQo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNo b24gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbGNvZGUuYyB8 ICAgMTQgLS0tLS0tLS0tLS0tLS0KPiAtIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCsp LCAxNCBkZWxldGlvbnMoLSkKPiAtCj4gLWRpZmYgLS1naXQgYS9zcmMvbGNvZGUuYyBiL3NyYy9s Y29kZS5jCj4gLWluZGV4IDg0ZjI4NmIuLmMxMzA2NmUgMTAwNjQ0Cj4gLS0tLSBhL3NyYy9sY29k ZS5jCj4gLSsrKyBiL3NyYy9sY29kZS5jCj4gLUBAIC01NDksMTMgKzU0OSw2IEBAIHZvaWQgbHVh S19nb2lmdHJ1ZSAoRnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkgewo+IC0gICAgICAgcGMgPSBl LT51LnMuaW5mbzsKPiAtICAgICAgIGJyZWFrOwo+IC0gICAgIH0KPiAtLSAgICBjYXNlIFZGQUxT RTogewo+IC0tICAgICAgaWYgKCFoYXNqdW1wcyhlKSkgewo+IC0tICAgICAgICBwYyA9IGx1YUtf anVtcChmcyk7ICAvKiBhbHdheXMganVtcCAqLwo+IC0tICAgICAgICBicmVhazsKPiAtLSAgICAg IH0KPiAtLSAgICAgIC8qIGVsc2UgZ28gdGhyb3VnaCAqLwo+IC0tICAgIH0KPiAtICAgICBkZWZh dWx0OiB7Cj4gLSAgICAgICBwYyA9IGp1bXBvbmNvbmQoZnMsIGUsIDApOwo+IC0gICAgICAgYnJl YWs7Cj4gLUBAIC01NzksMTMgKzU3Miw2IEBAIHN0YXRpYyB2b2lkIGx1YUtfZ29pZmZhbHNlIChG dW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Cj4gLSAgICAgICBwYyA9IGUtPnUucy5pbmZvOwo+ IC0gICAgICAgYnJlYWs7Cj4gLSAgICAgfQo+IC0tICAgIGNhc2UgVlRSVUU6IHsKPiAtLSAgICAg IGlmICghaGFzanVtcHMoZSkpIHsKPiAtLSAgICAgICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyog YWx3YXlzIGp1bXAgKi8KPiAtLSAgICAgICAgYnJlYWs7Cj4gLS0gICAgICB9Cj4gLS0gICAgICAv KiBlbHNlIGdvIHRocm91Z2ggKi8KPiAtLSAgICB9Cj4gLSAgICAgZGVmYXVsdDogewo+IC0gICAg ICAgcGMgPSBqdW1wb25jb25kKGZzLCBlLCAxKTsKPiAtICAgICAgIGJyZWFrOwo+IGRpZmYgLS1n aXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDEwLV9fbmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90 LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMDEwLV9f bmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gK PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA2YzlmN2UxLi4wMDAwMDAwCj4gLS0t IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25ld2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13 b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDM3ICsw LDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9p dC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjI3OjA0 ICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gX19uZXdpbmRleCBtZXRhbWV0aG9kIG1heSBub3Qg d29yayBpZiBtZXRhdGFibGUgaXMgaXRzIG93bgo+IC0gbWV0YXRhYmxlLgo+IC1NSU1FLVZlcnNp b246IDEuMAo+IC1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiAtQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+IC0KPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3 Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTEwCj4gLQo+IC1yZXBvcnRlZCBieSBDdWVybyBCdWdv dCBvbiAwOSBBdWcgMjAxMS4KPiAtRXhhbXBsZToKPiAtIC0tCj4gLSBtZXRhPXt9Cj4gLSBzZXRt ZXRhdGFibGUobWV0YSwgbWV0YSkKPiAtIG1ldGEuX19uZXdpbmRleCA9IGZ1bmN0aW9uKHQsIGtl eSwgdmFsdWUpIHByaW50KCJzZXQiKSBlbmQKPiAtIG8gPSBzZXRtZXRhdGFibGUoe30sIG1ldGEp Cj4gLSBvLnggPSAxMCAgICAtLSBzaG91bGQgcHJpbnQgJ3NldCcKPiAtIC0tCj4gLQo+IC1TaWdu ZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29t Pgo+IC0tLS0KPiAtIHNyYy9sdm0uYyB8ICAgIDEgKwo+IC0gMSBmaWxlcyBjaGFuZ2VkLCAxIGlu c2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2x2bS5j IGIvc3JjL2x2bS5jCj4gLWluZGV4IDRhYzJlNzEuLmNhN2JlYTAgMTAwNjQ0Cj4gLS0tLSBhL3Ny Yy9sdm0uYwo+IC0rKysgYi9zcmMvbHZtLmMKPiAtQEAgLTE0Miw2ICsxNDIsNyBAQCB2b2lkIGx1 YVZfc2V0dGFibGUgKGx1YV9TdGF0ZSAqTCwgY29uc3QgVFZhbHVlICp0LCBUVmFsdWUgKmtleSwg U3RrSWQgdmFsKSB7Cj4gLSAgICAgICBpZiAoIXR0aXNuaWwob2xkdmFsKSB8fCAgLyogcmVzdWx0 IGlzIG5vIG5pbD8gKi8KPiAtICAgICAgICAgICAodG0gPSBmYXN0dG0oTCwgaC0+bWV0YXRhYmxl LCBUTV9ORVdJTkRFWCkpID09IE5VTEwpIHsgLyogb3Igbm8gVE0/ICovCj4gLSAgICAgICAgIHNl dG9iajJ0KEwsIG9sZHZhbCwgdmFsKTsKPiAtKyAgICAgICAgaC0+ZmxhZ3MgPSAwOwo+IC0gICAg ICAgICBsdWFDX2JhcnJpZXJ0KEwsIGgsIHZhbCk7Cj4gLSAgICAgICAgIHJldHVybjsKPiAtICAg ICAgIH0KPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMS1QYXJzZXItbWF5LWNv bGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0Y2ggYi9wYXRjaGVzL2x1YS01 LjEuNC8wMDExLVBhcnNlci1tYXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1p dC5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDk0ZWUyZTQuLjAwMDAw MDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDExLVBhcnNlci1tYXktY29sbGVjdC1hLXBy b3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwz MSArMCwwIEBACj4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxi ZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLURhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoy ODoxOSArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIFBhcnNlciBtYXkgY29sbGVjdCBhIHByb3Rv dHlwZSB3aGlsZSBidWlsZGluZyBpdC4KPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiAtQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4gLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKPiAtCj4gLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1 LjEuNC0xMQo+IC0KPiAtcmVwb3J0ZWQgYnkgSW5nbyB2YW4gTGlsIG9uIDEzIE9jdCAyMDExLgo+ IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25A YWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbHBhcnNlci5jIHwgICAgMiArLQo+IC0gMSBmaWxl cyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0t Z2l0IGEvc3JjL2xwYXJzZXIuYyBiL3NyYy9scGFyc2VyLmMKPiAtaW5kZXggMWUyYTlhOC4uYTI3 MjFkMiAxMDA2NDQKPiAtLS0tIGEvc3JjL2xwYXJzZXIuYwo+IC0rKysgYi9zcmMvbHBhcnNlci5j Cj4gLUBAIC0zNzQsOSArMzc0LDkgQEAgc3RhdGljIHZvaWQgY2xvc2VfZnVuYyAoTGV4U3RhdGUg KmxzKSB7Cj4gLSAgIGx1YV9hc3NlcnQobHVhR19jaGVja2NvZGUoZikpOwo+IC0gICBsdWFfYXNz ZXJ0KGZzLT5ibCA9PSBOVUxMKTsKPiAtICAgbHMtPmZzID0gZnMtPnByZXY7Cj4gLS0gIEwtPnRv cCAtPSAyOyAgLyogcmVtb3ZlIHRhYmxlIGFuZCBwcm90b3R5cGUgZnJvbSB0aGUgc3RhY2sgKi8K PiAtICAgLyogbGFzdCB0b2tlbiByZWFkIHdhcyBhbmNob3JlZCBpbiBkZWZ1bmN0IGZ1bmN0aW9u OyBtdXN0IHJlYW5jaG9yIGl0ICovCj4gLSAgIGlmIChmcykgYW5jaG9yX3Rva2VuKGxzKTsKPiAt KyAgTC0+dG9wIC09IDI7ICAvKiByZW1vdmUgdGFibGUgYW5kIHByb3RvdHlwZSBmcm9tIHRoZSBz dGFjayAqLwo+IC0gfQo+IC0gCj4gLSAKPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQv MDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUu cGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMTAwLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0 LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAo+IGluZGV4IDA5MTE4YzEuLjAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMTAw LUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRj aAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwxNTEgKzAsMCBAQAo+IC1Gcm9tOiBFcndpbiBSb2wg PGVyd2luQGVyd2lucm9sLmNvbT4KPiAtRGF0ZTogRnJpLCA5IERlYyAyMDExIDExOjMyOjExICsw MTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTog cmVtb3ZlIG9sZCBNYWtlZmlsZQo+IC0KPiAtVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8g cHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyCj4gLXNjcmlwdGluZyBsYW5n dWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9jb25m Cj4gLXRvIGJ1aWxkLgo+IC0KPiAtVGhpcyBwYXJ0IG9mIHRoZSBwYXRjaCByZW1vdmVzIHRoZSBv bGQgTWFrZWZpbGUuCj4gLQo+IC1TaWduZWQtb2ZmLWJ5OiBFcndpbiBSb2wgPGVyd2luQGVyd2lu cm9sLmNvbT4KPiAtU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBl bmd1dHJvbml4LmRlPgo+IC0tLS0KPiAtIE1ha2VmaWxlIHwgMTI4IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0gMSBmaWxl IGNoYW5nZWQsIDEyOCBkZWxldGlvbnMoLSkKPiAtIGRlbGV0ZSBtb2RlIDEwMDY0NCBNYWtlZmls ZQo+IC0KPiAtZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKPiAtZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDZlNzhmNjYuLjAwMDAwMDAKPiAtLS0tIGEvTWFrZWZpbGUK PiAtKysrIC9kZXYvbnVsbAo+IC1AQCAtMSwxMjggKzAsMCBAQAo+IC0tIyBtYWtlZmlsZSBmb3Ig aW5zdGFsbGluZyBMdWEKPiAtLSMgc2VlIElOU1RBTEwgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVj dGlvbnMKPiAtLSMgc2VlIHNyYy9NYWtlZmlsZSBhbmQgc3JjL2x1YWNvbmYuaCBmb3IgZnVydGhl ciBjdXN0b21pemF0aW9uCj4gLS0KPiAtLSMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxPVyBU TyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KPiAtLQo+IC0t IyBZb3VyIHBsYXRmb3JtLiBTZWUgUExBVFMgZm9yIHBvc3NpYmxlIHZhbHVlcy4KPiAtLVBMQVQ9 IG5vbmUKPiAtLQo+IC0tIyBXaGVyZSB0byBpbnN0YWxsLiBUaGUgaW5zdGFsbGF0aW9uIHN0YXJ0 cyBpbiB0aGUgc3JjIGFuZCBkb2MgZGlyZWN0b3JpZXMsCj4gLS0jIHNvIHRha2UgY2FyZSBpZiBJ TlNUQUxMX1RPUCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC4KPiAtLUlOU1RBTExfVE9QPSAvdXNy L2xvY2FsCj4gLS1JTlNUQUxMX0JJTj0gJChJTlNUQUxMX1RPUCkvYmluCj4gLS1JTlNUQUxMX0lO Qz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQo+IC0tSU5TVEFMTF9MSUI9ICQoSU5TVEFMTF9UT1Ap L2xpYgo+IC0tSU5TVEFMTF9NQU49ICQoSU5TVEFMTF9UT1ApL21hbi9tYW4xCj4gLS0jCj4gLS0j IFlvdSBwcm9iYWJseSB3YW50IHRvIG1ha2UgSU5TVEFMTF9MTU9EIGFuZCBJTlNUQUxMX0NNT0Qg Y29uc2lzdGVudCB3aXRoCj4gLS0jIExVQV9ST09ULCBMVUFfTERJUiwgYW5kIExVQV9DRElSIGlu IGx1YWNvbmYuaCAoYW5kIGFsc28gd2l0aCBldGMvbHVhLnBjKS4KPiAtLUlOU1RBTExfTE1PRD0g JChJTlNUQUxMX1RPUCkvc2hhcmUvbHVhLyRWCj4gLS1JTlNUQUxMX0NNT0Q9ICQoSU5TVEFMTF9U T1ApL2xpYi9sdWEvJFYKPiAtLQo+IC0tIyBIb3cgdG8gaW5zdGFsbC4gSWYgeW91ciBpbnN0YWxs IHByb2dyYW0gZG9lcyBub3Qgc3VwcG9ydCAiLXAiLCB0aGVuIHlvdQo+IC0tIyBtYXkgaGF2ZSB0 byBydW4gcmFubGliIG9uIHRoZSBpbnN0YWxsZWQgbGlibHVhLmEgKGRvICJtYWtlIHJhbmxpYiIp Lgo+IC0tSU5TVEFMTD0gaW5zdGFsbCAtcAo+IC0tSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpIC1t IDA3NTUKPiAtLUlOU1RBTExfREFUQT0gJChJTlNUQUxMKSAtbSAwNjQ0Cj4gLS0jCj4gLS0jIElm IHlvdSBkb24ndCBoYXZlIGluc3RhbGwgeW91IGNhbiB1c2UgY3AgaW5zdGVhZC4KPiAtLSMgSU5T VEFMTD0gY3AgLXAKPiAtLSMgSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpCj4gLS0jIElOU1RBTExf REFUQT0gJChJTlNUQUxMKQo+IC0tCj4gLS0jIFV0aWxpdGllcy4KPiAtLU1LRElSPSBta2RpciAt cAo+IC0tUkFOTElCPSByYW5saWIKPiAtLQo+IC0tIyA9PSBFTkQgT0YgVVNFUiBTRVRUSU5HUy4g Tk8gTkVFRCBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FID09PT09PT09PQo+IC0t Cj4gLS0jIENvbnZlbmllbmNlIHBsYXRmb3JtcyB0YXJnZXRzLgo+IC0tUExBVFM9IGFpeCBhbnNp IGJzZCBmcmVlYnNkIGdlbmVyaWMgbGludXggbWFjb3N4IG1pbmd3IHBvc2l4IHNvbGFyaXMKPiAt LQo+IC0tIyBXaGF0IHRvIGluc3RhbGwuCj4gLS1UT19CSU49IGx1YSBsdWFjCj4gLS1UT19JTkM9 IGx1YS5oIGx1YWNvbmYuaCBsdWFsaWIuaCBsYXV4bGliLmggLi4vZXRjL2x1YS5ocHAKPiAtLVRP X0xJQj0gbGlibHVhLmEKPiAtLVRPX01BTj0gbHVhLjEgbHVhYy4xCj4gLS0KPiAtLSMgTHVhIHZl cnNpb24gYW5kIHJlbGVhc2UuCj4gLS1WPSA1LjEKPiAtLVI9IDUuMS40Cj4gLS0KPiAtLWFsbDoJ JChQTEFUKQo+IC0tCj4gLS0kKFBMQVRTKSBjbGVhbjoKPiAtLQljZCBzcmMgJiYgJChNQUtFKSAk QAo+IC0tCj4gLS10ZXN0OglkdW1teQo+IC0tCXNyYy9sdWEgdGVzdC9oZWxsby5sdWEKPiAtLQo+ IC0taW5zdGFsbDogZHVtbXkKPiAtLQljZCBzcmMgJiYgJChNS0RJUikgJChJTlNUQUxMX0JJTikg JChJTlNUQUxMX0lOQykgJChJTlNUQUxMX0xJQikgJChJTlNUQUxMX01BTikgJChJTlNUQUxMX0xN T0QpICQoSU5TVEFMTF9DTU9EKQo+IC0tCWNkIHNyYyAmJiAkKElOU1RBTExfRVhFQykgJChUT19C SU4pICQoSU5TVEFMTF9CSU4pCj4gLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX0lO QykgJChJTlNUQUxMX0lOQykKPiAtLQljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fTElC KSAkKElOU1RBTExfTElCKQo+IC0tCWNkIGRvYyAmJiAkKElOU1RBTExfREFUQSkgJChUT19NQU4p ICQoSU5TVEFMTF9NQU4pCj4gLS0KPiAtLXJhbmxpYjoKPiAtLQljZCBzcmMgJiYgY2QgJChJTlNU QUxMX0xJQikgJiYgJChSQU5MSUIpICQoVE9fTElCKQo+IC0tCj4gLS1sb2NhbDoKPiAtLQkkKE1B S0UpIGluc3RhbGwgSU5TVEFMTF9UT1A9Li4KPiAtLQo+IC0tbm9uZToKPiAtLQlAZWNobyAiUGxl YXNlIGRvIgo+IC0tCUBlY2hvICIgICBtYWtlIFBMQVRGT1JNIgo+IC0tCUBlY2hvICJ3aGVyZSBQ TEFURk9STSBpcyBvbmUgb2YgdGhlc2U6Igo+IC0tCUBlY2hvICIgICAkKFBMQVRTKSIKPiAtLQlA ZWNobyAiU2VlIElOU1RBTEwgZm9yIGNvbXBsZXRlIGluc3RydWN0aW9ucy4iCj4gLS0KPiAtLSMg bWFrZSBtYXkgZ2V0IGNvbmZ1c2VkIHdpdGggdGVzdC8gYW5kIElOU1RBTEwgaW4gYSBjYXNlLWlu c2Vuc2l0aXZlIE9TCj4gLS1kdW1teToKPiAtLQo+IC0tIyBlY2hvIGNvbmZpZyBwYXJhbWV0ZXJz Cj4gLS1lY2hvOgo+IC0tCUBlY2hvICIiCj4gLS0JQGVjaG8gIlRoZXNlIGFyZSB0aGUgcGFyYW1l dGVycyBjdXJyZW50bHkgc2V0IGluIHNyYy9NYWtlZmlsZSB0byBidWlsZCBMdWEgJFI6Igo+IC0t CUBlY2hvICIiCj4gLS0JQGNkIHNyYyAmJiAkKE1BS0UpIC1zIGVjaG8KPiAtLQlAZWNobyAiIgo+ IC0tCUBlY2hvICJUaGVzZSBhcmUgdGhlIHBhcmFtZXRlcnMgY3VycmVudGx5IHNldCBpbiBNYWtl ZmlsZSB0byBpbnN0YWxsIEx1YSAkUjoiCj4gLS0JQGVjaG8gIiIKPiAtLQlAZWNobyAiUExBVCA9 ICQoUExBVCkiCj4gLS0JQGVjaG8gIklOU1RBTExfVE9QID0gJChJTlNUQUxMX1RPUCkiCj4gLS0J QGVjaG8gIklOU1RBTExfQklOID0gJChJTlNUQUxMX0JJTikiCj4gLS0JQGVjaG8gIklOU1RBTExf SU5DID0gJChJTlNUQUxMX0lOQykiCj4gLS0JQGVjaG8gIklOU1RBTExfTElCID0gJChJTlNUQUxM X0xJQikiCj4gLS0JQGVjaG8gIklOU1RBTExfTUFOID0gJChJTlNUQUxMX01BTikiCj4gLS0JQGVj aG8gIklOU1RBTExfTE1PRCA9ICQoSU5TVEFMTF9MTU9EKSIKPiAtLQlAZWNobyAiSU5TVEFMTF9D TU9EID0gJChJTlNUQUxMX0NNT0QpIgo+IC0tCUBlY2hvICJJTlNUQUxMX0VYRUMgPSAkKElOU1RB TExfRVhFQykiCj4gLS0JQGVjaG8gIklOU1RBTExfREFUQSA9ICQoSU5TVEFMTF9EQVRBKSIKPiAt LQlAZWNobyAiIgo+IC0tCUBlY2hvICJTZWUgYWxzbyBzcmMvbHVhY29uZi5oIC4iCj4gLS0JQGVj aG8gIiIKPiAtLQo+IC0tIyBlY2hvIHByaXZhdGUgY29uZmlnIHBhcmFtZXRlcnMKPiAtLXBlY2hv Ogo+IC0tCUBlY2hvICJWID0gJChWKSIKPiAtLQlAZWNobyAiUiA9ICQoUikiCj4gLS0JQGVjaG8g IlRPX0JJTiA9ICQoVE9fQklOKSIKPiAtLQlAZWNobyAiVE9fSU5DID0gJChUT19JTkMpIgo+IC0t CUBlY2hvICJUT19MSUIgPSAkKFRPX0xJQikiCj4gLS0JQGVjaG8gIlRPX01BTiA9ICQoVE9fTUFO KSIKPiAtLQo+IC0tIyBlY2hvIGNvbmZpZyBwYXJhbWV0ZXJzIGFzIEx1YSBjb2RlCj4gLS0jIHVu Y29tbWVudCB0aGUgbGFzdCBzZWQgZXhwcmVzc2lvbiBpZiB5b3Ugd2FudCBuaWwgaW5zdGVhZCBv ZiBlbXB0eSBzdHJpbmdzCj4gLS1sZWNobzoKPiAtLQlAZWNobyAiLS0gaW5zdGFsbGF0aW9uIHBh cmFtZXRlcnMgZm9yIEx1YSAkUiIKPiAtLQlAZWNobyAiVkVSU0lPTiA9ICckViciCj4gLS0JQGVj aG8gIlJFTEVBU0UgPSAnJFInIgo+IC0tCUAkKE1BS0UpIGVjaG8gfCBncmVwID0gfCBzZWQgLWUg J3MvPSAvPSAiLycgLWUgJ3MvJCQvIi8nICMtZSAncy8iIi9uaWwvJwo+IC0tCUBlY2hvICItLSBF T0YiCj4gLS0KPiAtLSMgbGlzdCB0YXJnZXRzIHRoYXQgZG8gbm90IGNyZWF0ZSBmaWxlcyAoYnV0 IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFuZCAuUEhPTlkpCj4gLS0uUEhPTlk6IGFsbCAkKFBMQVRT KSBjbGVhbiB0ZXN0IGluc3RhbGwgbG9jYWwgbm9uZSBkdW1teSBlY2hvIHBlY2hvIGxlY2hvCj4g LS0KPiAtLSMgKGVuZCBvZiBNYWtlZmlsZSkKPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4x LjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxl cy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAxMDEtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRp c3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCBmMjdhNjJlLi4wMDAwMDAwCj4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDEw MS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRj aAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSw5MTggKzAsMCBAQAo+IC1Gcm9tOiBFcndpbiBSb2wg PGVyd2luQGVyd2lucm9sLmNvbT4KPiAtRGF0ZTogRnJpLCA5IERlYyAyMDExIDExOjMyOjEyICsw MTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTog YWRkIGF1dG9jb25mIGZpbGVzCj4gLQo+IC1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBw dHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKPiAtc2NyaXB0aW5nIGxhbmd1 YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgYXV0b2NvbmYK PiAtdG8gYnVpbGQuCj4gLQo+IC1UaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFkZHMgdGhlIGF1dG9j b25mIGZpbGVzLgo+IC0KPiAtU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJv bC5jb20+Cj4gLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5n dXRyb25peC5kZT4KPiAtLS0tCj4gLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgIHwgIDcwICsr KysrCj4gLSBldGMvbHVhLnBjLmluICAgICAgICAgICAgIHwgIDMyICsrCj4gLSBzcmMvbHVhY29u Zi5oLnRlbXBsYXRlLmluIHwgNzc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAtIDMgZmlsZXMgY2hhbmdlZCwgODc5IGluc2VydGlvbnMoKykKPiAtIGNy ZWF0ZSBtb2RlIDEwMDY0NCBjb25maWd1cmUuYWMKPiAtIGNyZWF0ZSBtb2RlIDEwMDY0NCBldGMv bHVhLnBjLmluCj4gLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5p bgo+IC0KPiAtZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwo+IC1uZXcg ZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCAwMDAwMDAwLi5kODc5YTg2Cj4gLS0tLSAvZGV2L251 bGwKPiAtKysrIGIvY29uZmlndXJlLmFjCj4gLUBAIC0wLDAgKzEsNzAgQEAKPiAtK0FDX1BSRVJF UShbMi42N10pCj4gLStBQ19JTklUKFtBdXRvdG9vbGl6ZWQgTHVhXSxbNS4xLjRdLFtdLFtsdWEt YXRdKQo+IC0rCj4gLStBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCj4gLSsKPiAtK0FDX0NPTkZJ R19IRUFERVJTKFtjb25maWcuaF0pCj4gLStBQ19DT05GSUdfU1JDRElSKFtzcmMvbGFwaS5jXSkK PiAtKwo+IC0rQU1fSU5JVF9BVVRPTUFLRShbMS45IGZvcmVpZ25dKQo+IC0rCj4gLStBQ19QUk9H X0NDCj4gLStMVF9JTklUCj4gLSsKPiAtK0FDX0FSR19XSVRIKAo+IC0rICBbcmVhZGxpbmVdLAo+ IC0rICBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1yZWFkbGluZV0sW1VzZSByZWFkbGluZSBmb3Ig aW50ZXJwcmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0pXSwKPiAtKyAgW3VzZV9yZWFkbGluZT0k d2l0aHZhbF0sCj4gLSsgIFt1c2VfcmVhZGxpbmU9eWVzXQo+IC0rKQo+IC0rCj4gLStMVUFfTElC Uz0iLWxtIgo+IC0rCj4gLSsjIENoZWNrIGZvciByZWFkbGluZQo+IC0rUkVBRExJTkVfREVGUz0i I3VuZGVmIExVQV9VU0VfUkVBRExJTkUiCj4gLStpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0g Inh5ZXMiOyB0aGVuCj4gLSsgIEFDX0NIRUNLX0xJQihbcmVhZGxpbmVdLCBbcmVhZGxpbmVdLCBb XSwgW3VzZV9yZWFkbGluZT1ub10pCj4gLSsgIEFDX0NIRUNLX0hFQURFUlMoW3JlYWRsaW5lL3Jl YWRsaW5lLmggcmVhZGxpbmUvaGlzdG9yeS5oXSwgW10sIFt1c2VfcmVhZGxpbmU9bm9dKQo+IC0r ICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInhubyI7IHRoZW4KPiAtKyAgICBBQ19NU0df V0FSTihbcmVhZGxpbmUgaGVhZGVycyBjb3VsZCBub3QgYmUgZm91bmQsIGRpc2FibGluZyByZWFk bGluZSBzdXBwb3J0XSkKPiAtKyAgZWxzZQo+IC0rICAgIFJFQURMSU5FX0RFRlM9IiNkZWZpbmUg TFVBX1VTRV9SRUFETElORSIKPiAtKyAgICBMVUFfTElCUz0iJExVQV9MSUJTIC1scmVhZGxpbmUi Cj4gLSsgIGZpCj4gLStmaQo+IC0rQUNfU1VCU1QoUkVBRExJTkVfREVGUykKPiAtKwo+IC0rY2Fz ZSAiJGhvc3QiIGluCj4gLSsgICotbWluZ3cqKSAgdXNlX29zPXdpbjMyICA7Owo+IC0rICAqLWRh cndpbiopIHVzZV9vcz1tYWNvc3ggOzsKPiAtKyAgKikgICAgICAgICB1c2Vfb3M9cG9zaXggIDs7 Cj4gLStlc2FjCj4gLSsKPiAtK1BPU0lYX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1BPU0lYIgo+IC0r TFVBX0RMX0RFRlM9IiN1bmRlZiBMVUFfVVNFX0RMT1BFTiIKPiAtK0xVQV9CVUlMRF9BU19ETExf REVGUz0iI3VuZGVmIExVQV9CVUlMRF9BU19ETEwiCj4gLSsKPiAtK2lmIHRlc3QgIngkdXNlX29z IiA9PSAieHdpbjMyIjsgdGhlbgo+IC0rICBMVUFfQlVJTERfQVNfRExMX0RFRlM9IiNkZWZpbmUg TFVBX0JVSUxEX0FTX0RMTCIKPiAtK2VsaWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4bWFjb3N4Ijsg dGhlbgo+IC0rICBQT1NJWF9ERUZTPSIjZGVmaW5lIExVQV9VU0VfUE9TSVgiCj4gLSsgIExVQV9E TF9ERUZTPSIjZGVmaW5lIExVQV9ETF9EWUxEIgo+IC0rZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0g Inhwb3NpeCI7IHRoZW4KPiAtKyAgUE9TSVhfREVGUz0iI2RlZmluZSBMVUFfVVNFX1BPU0lYIgo+ IC0rICBMVUFfRExfREVGUz0iI2RlZmluZSBMVUFfRExfRExPUEVOIgo+IC0rICBMVUFfTElCUz0i JExVQV9MSUJTIC1sZGwiCj4gLStmaQo+IC0rQUNfU1VCU1QoUE9TSVhfREVGUykKPiAtK0FDX1NV QlNUKExVQV9ETF9ERUZTKQo+IC0rQUNfU1VCU1QoTFVBX0JVSUxEX0FTX0RMTF9ERUZTKQo+IC0r Cj4gLStBQ19TVUJTVChMVUFfTElCUykKPiAtKwo+IC0rQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmls ZQo+IC0rICAgICAgICAgICAgICAgICBzcmMvTWFrZWZpbGUKPiAtKyAgICAgICAgICAgICAgICAg c3JjL2x1YWNvbmYuaC50ZW1wbGF0ZQo+IC0rICAgICAgICAgICAgICAgICBldGMvTWFrZWZpbGUK PiAtKyAgICAgICAgICAgICAgICAgZXRjL2x1YS5wYwo+IC0rICAgICAgICAgICAgICAgICBkb2Mv TWFrZWZpbGUKPiAtKwkJIHRlc3QvTWFrZWZpbGVdKQo+IC0rQUNfT1VUUFVUCj4gLWRpZmYgLS1n aXQgYS9ldGMvbHVhLnBjLmluIGIvZXRjL2x1YS5wYy5pbgo+IC1uZXcgZmlsZSBtb2RlIDEwMDY0 NAo+IC1pbmRleCAwMDAwMDAwLi43ZjMzY2ZmCj4gLS0tLSAvZGV2L251bGwKPiAtKysrIGIvZXRj L2x1YS5wYy5pbgo+IC1AQCAtMCwwICsxLDMyIEBACj4gLSsjIGx1YS5wYyAtLSBwa2ctY29uZmln IGRhdGEgZm9yIEx1YQo+IC0rCj4gLSsjIHZhcnMgZnJvbSBpbnN0YWxsIE1ha2VmaWxlCj4gLSsK PiAtKyMgZ3JlcCAnXlY9JyAuLi9NYWtlZmlsZQo+IC0rVj0gNS4xCj4gLSsjIGdyZXAgJ15SPScg Li4vTWFrZWZpbGUKPiAtK1I9IEBWRVJTSU9OQAo+IC0rCj4gLSsjIGdyZXAgJ15JTlNUQUxMXy4q PScgLi4vTWFrZWZpbGUgfCBzZWQgJ3MvSU5TVEFMTF9UT1AvcHJlZml4LycKPiAtKyMgcGx1cyBh dXRvdG9vbGlmaWNhdGlvbgo+IC0rcHJlZml4PSBAcHJlZml4QAo+IC0rSU5TVEFMTF9CSU49ICR7 cHJlZml4fS9iaW4KPiAtK0lOU1RBTExfSU5DPSAke3ByZWZpeH0vaW5jbHVkZQo+IC0rSU5TVEFM TF9MSUI9ICR7cHJlZml4fS9saWIKPiAtK0lOU1RBTExfTUFOPSAke3ByZWZpeH0vbWFuL21hbjEK PiAtK0lOU1RBTExfTE1PRD0gJHtwcmVmaXh9L3NoYXJlL2x1YS8ke1Z9Cj4gLStJTlNUQUxMX0NN T0Q9ICR7cHJlZml4fS9saWIvbHVhLyR7Vn0KPiAtKwo+IC0rIyBjYW5vbmljYWwgdmFycwo+IC0r ZXhlY19wcmVmaXg9JHtwcmVmaXh9Cj4gLStsaWJkaXI9JHtleGVjX3ByZWZpeH0vbGliCj4gLStp bmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCj4gLSsKPiAtK05hbWU6IEx1YQo+IC0rRGVzY3Jp cHRpb246IEFuIEV4dGVuc2libGUgRXh0ZW5zaW9uIExhbmd1YWdlCj4gLStWZXJzaW9uOiAke1J9 Cj4gLStSZXF1aXJlczogCj4gLStMaWJzOiAtTCR7bGliZGlyfSAtbGx1YSAtbG0KPiAtK0NmbGFn czogLUkke2luY2x1ZGVkaXJ9Cj4gLSsKPiAtKyMgKGVuZCBvZiBsdWEucGMpCj4gLWRpZmYgLS1n aXQgYS9zcmMvbHVhY29uZi5oLnRlbXBsYXRlLmluIGIvc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5p bgo+IC1uZXcgZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCAwMDAwMDAwLi40MWIyMzRkCj4gLS0t LSAvZGV2L251bGwKPiAtKysrIGIvc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbgo+IC1AQCAtMCww ICsxLDc3NyBAQAo+IC0rLyoKPiAtKyoqICRJZDogbHVhY29uZi5oLHYgMS44MmEgMjAwNi8wNC8x MCAxODoyNzoyMyByb2JlcnRvIEV4cCAkCj4gLSsqKiBDb25maWd1cmF0aW9uIGZpbGUgZm9yIEx1 YQo+IC0rKiogU2VlIENvcHlyaWdodCBOb3RpY2UgaW4gbHVhLmgKPiAtKyovCj4gLSsKPiAtKwo+ IC0rI2lmbmRlZiBsY29uZmlnX2gKPiAtKyNkZWZpbmUgbGNvbmZpZ19oCj4gLSsKPiAtKyNpbmNs dWRlIDxsaW1pdHMuaD4KPiAtKyNpbmNsdWRlIDxzdGRkZWYuaD4KPiAtKwo+IC0rLyoKPiAtKyoq ID09PT09PT09PT09PT09PT09Cj4gLSsqKiBBdXRvdG9vbGlmaWNhdGlvbgo+IC0rKiogPT09PT09 PT09PT09PT09PT0KPiAtKyovCj4gLSsKPiAtKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KPiAt K0BQT1NJWF9ERUZTQAo+IC0rQExVQV9ETF9ERUZTQAo+IC0rQExVQV9CVUlMRF9BU19ETExfREVG U0AKPiAtK0BSRUFETElORV9ERUZTQAo+IC0rLyoqIGF1dG90b29saXplIHBhdGNoICoqLwo+IC0r Cj4gLSsvKgo+IC0rKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Cj4gLSsqKiBTZWFyY2ggZm9yICJAQCIgdG8gZmluZCBh bGwgY29uZmlndXJhYmxlIGRlZmluaXRpb25zLgo+IC0rKiogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0rKi8KPiAt Kwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX0FOU0kgY29udHJvbHMgdGhlIHVzZSBvZiBub24tYW5z aSBmZWF0dXJlcy4KPiAtKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2FudCBMdWEg dG8gYXZvaWQgdGhlIHVzZSBvZiBhbnkKPiAtKyoqIG5vbi1hbnNpIGZlYXR1cmUgb3IgbGlicmFy eS4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChfX1NUUklDVF9BTlNJX18pCj4gLSsjZGVmaW5lIExV QV9BTlNJCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsjaWYgIWRlZmluZWQoTFVBX0FOU0kpICYm IGRlZmluZWQoX1dJTjMyKQo+IC0rI2RlZmluZSBMVUFfV0lOCj4gLSsjZW5kaWYKPiAtKwo+IC0r I2lmIGRlZmluZWQoTFVBX1VTRV9MSU5VWCkKPiAtKyNkZWZpbmUgTFVBX1VTRV9QT1NJWAo+IC0r I2RlZmluZSBMVUFfVVNFX0RMT1BFTgkJLyogbmVlZHMgYW4gZXh0cmEgbGlicmFyeTogLWxkbCAq Lwo+IC0rI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFy aWVzICovCj4gLSsjZW5kaWYKPiAtKwo+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gpCj4g LSsjZGVmaW5lIExVQV9VU0VfUE9TSVgKPiAtKyNkZWZpbmUgTFVBX0RMX0RZTEQJCS8qIGRvZXMg bm90IG5lZWQgZXh0cmEgbGlicmFyeSAqLwo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rCj4gLSsv Kgo+IC0rQEAgTFVBX1VTRV9QT1NJWCBpbmNsdWRlcyBhbGwgZnVuY3Rpb25hbGxpdHkgbGlzdGVk IGFzIFgvT3BlbiBTeXN0ZW0KPiAtK0AqIEludGVyZmFjZXMgRXh0ZW5zaW9uIChYU0kpLgo+IC0r KiogQ0hBTkdFIGl0IChkZWZpbmUgaXQpIGlmIHlvdXIgc3lzdGVtIGlzIFhTSSBjb21wYXRpYmxl Lgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9TSVgpCj4gLSsjZGVmaW5lIExVQV9V U0VfTUtTVEVNUAo+IC0rI2RlZmluZSBMVUFfVVNFX0lTQVRUWQo+IC0rI2RlZmluZSBMVUFfVVNF X1BPUEVOCj4gLSsjZGVmaW5lIExVQV9VU0VfVUxPTkdKTVAKPiAtKyNlbmRpZgo+IC0rCj4gLSsK PiAtKy8qCj4gLStAQCBMVUFfUEFUSCBhbmQgTFVBX0NQQVRIIGFyZSB0aGUgbmFtZXMgb2YgdGhl IGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0Cj4gLStAKiBMdWEgY2hlY2sgdG8gc2V0IGl0cyBw YXRocy4KPiAtK0BAIExVQV9JTklUIGlzIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJp YWJsZSB0aGF0IEx1YQo+IC0rQCogY2hlY2tzIGZvciBpbml0aWFsaXphdGlvbiBjb2RlLgo+IC0r KiogQ0hBTkdFIHRoZW0gaWYgeW91IHdhbnQgZGlmZmVyZW50IG5hbWVzLgo+IC0rKi8KPiAtKyNk ZWZpbmUgTFVBX1BBVEggICAgICAgICJMVUFfUEFUSCIKPiAtKyNkZWZpbmUgTFVBX0NQQVRIICAg ICAgICJMVUFfQ1BBVEgiCj4gLSsjZGVmaW5lIExVQV9JTklUCSJMVUFfSU5JVCIKPiAtKwo+IC0r Cj4gLSsvKgo+IC0rQEAgTFVBX1BBVEhfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBwYXRoIHRoYXQg THVhIHVzZXMgdG8gbG9vayBmb3IKPiAtK0AqIEx1YSBsaWJyYXJpZXMuCj4gLStAQCBMVUFfQ1BB VEhfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBwYXRoIHRoYXQgTHVhIHVzZXMgdG8gbG9vayBmb3IK PiAtK0AqIEMgbGlicmFyaWVzLgo+IC0rKiogQ0hBTkdFIHRoZW0gaWYgeW91ciBtYWNoaW5lIGhh cyBhIG5vbi1jb252ZW50aW9uYWwgZGlyZWN0b3J5Cj4gLSsqKiBoaWVyYXJjaHkgb3IgaWYgeW91 IHdhbnQgdG8gaW5zdGFsbCB5b3VyIGxpYnJhcmllcyBpbgo+IC0rKiogbm9uLWNvbnZlbnRpb25h bCBkaXJlY3Rvcmllcy4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChfV0lOMzIpCj4gLSsvKgo+IC0r KiogSW4gV2luZG93cywgYW55IGV4Y2xhbWF0aW9uIG1hcmsgKCchJykgaW4gdGhlIHBhdGggaXMg cmVwbGFjZWQgYnkgdGhlCj4gLSsqKiBwYXRoIG9mIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGV4ZWN1 dGFibGUgZmlsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzLgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVB X0xESVIJIiFcXGx1YVxcIgo+IC0rI2RlZmluZSBMVUFfQ0RJUgkiIVxcIgo+IC0rI2RlZmluZSBM VUFfUEFUSF9ERUZBVUxUICBcCj4gLSsJCSIuXFw/Lmx1YTsiICBMVUFfTERJUiI/Lmx1YTsiICBM VUFfTERJUiI/XFxpbml0Lmx1YTsiIFwKPiAtKwkJICAgICAgICAgICAgIExVQV9DRElSIj8ubHVh OyIgIExVQV9DRElSIj9cXGluaXQubHVhIgo+IC0rI2RlZmluZSBMVUFfQ1BBVEhfREVGQVVMVCBc Cj4gLSsJIi5cXD8uZGxsOyIgIExVQV9DRElSIj8uZGxsOyIgTFVBX0NESVIibG9hZGFsbC5kbGwi Cj4gLSsKPiAtKyNlbHNlCj4gLSsKPiAtKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KPiAtKyNk ZWZpbmUgTFVBX0xESVIJIiVsdWFfZGF0YWRpciUvbHVhLzUuMS8iCj4gLSsjZGVmaW5lIExVQV9D RElSCSIlbHVhX2xpYmRpciUvbHVhLzUuMS8iCj4gLSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiov Cj4gLSsKPiAtKyNkZWZpbmUgTFVBX1BBVEhfREVGQVVMVCAgXAo+IC0rCQkiLi8/Lmx1YTsiICBM VUFfTERJUiI/Lmx1YTsiICBMVUFfTERJUiI/L2luaXQubHVhOyIgXAo+IC0rCQkgICAgICAgICAg ICBMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/L2luaXQubHVhIgo+IC0rI2RlZmluZSBMVUFf Q1BBVEhfREVGQVVMVCBcCj4gLSsJIi4vPy5zbzsiICBMVUFfQ0RJUiI/LnNvOyIgTFVBX0NESVIi bG9hZGFsbC5zbyIKPiAtKyNlbmRpZgo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfRElSU0VQ IGlzIHRoZSBkaXJlY3Rvcnkgc2VwYXJhdG9yIChmb3Igc3VibW9kdWxlcykuCj4gLSsqKiBDSEFO R0UgaXQgaWYgeW91ciBtYWNoaW5lIGRvZXMgbm90IHVzZSAiLyIgYXMgdGhlIGRpcmVjdG9yeSBz ZXBhcmF0b3IKPiAtKyoqIGFuZCBpcyBub3QgV2luZG93cy4gKE9uIFdpbmRvd3MgTHVhIGF1dG9t YXRpY2FsbHkgdXNlcyAiXCIuKQo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKF9XSU4zMikKPiAtKyNk ZWZpbmUgTFVBX0RJUlNFUAkiXFwiCj4gLSsjZWxzZQo+IC0rI2RlZmluZSBMVUFfRElSU0VQCSIv Igo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9QQVRIU0VQIGlzIHRoZSBj aGFyYWN0ZXIgdGhhdCBzZXBhcmF0ZXMgdGVtcGxhdGVzIGluIGEgcGF0aC4KPiAtK0BAIExVQV9Q QVRIX01BUksgaXMgdGhlIHN0cmluZyB0aGF0IG1hcmtzIHRoZSBzdWJzdGl0dXRpb24gcG9pbnRz IGluIGEKPiAtK0AqIHRlbXBsYXRlLgo+IC0rQEAgTFVBX0VYRUNESVIgaW4gYSBXaW5kb3dzIHBh dGggaXMgcmVwbGFjZWQgYnkgdGhlIGV4ZWN1dGFibGUncwo+IC0rQCogZGlyZWN0b3J5Lgo+IC0r QEAgTFVBX0lHTUFSSyBpcyBhIG1hcmsgdG8gaWdub3JlIGFsbCBiZWZvcmUgaXQgd2hlbiBidWxk aW5nIHRoZQo+IC0rQCogbHVhb3Blbl8gZnVuY3Rpb24gbmFtZS4KPiAtKyoqIENIQU5HRSB0aGVt IGlmIGZvciBzb21lIHJlYXNvbiB5b3VyIHN5c3RlbSBjYW5ub3QgdXNlIHRob3NlCj4gLSsqKiBj aGFyYWN0ZXJzLiAoRS5nLiwgaWYgb25lIG9mIHRob3NlIGNoYXJhY3RlcnMgaXMgYSBjb21tb24g Y2hhcmFjdGVyCj4gLSsqKiBpbiBmaWxlL2RpcmVjdG9yeSBuYW1lcy4pIFByb2JhYmx5IHlvdSBk byBub3QgbmVlZCB0byBjaGFuZ2UgdGhlbS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9QQVRIU0VQ CSI7Igo+IC0rI2RlZmluZSBMVUFfUEFUSF9NQVJLCSI/Igo+IC0rI2RlZmluZSBMVUFfRVhFQ0RJ UgkiISIKPiAtKyNkZWZpbmUgTFVBX0lHTUFSSwkiLSIKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAg TFVBX0lOVEVHRVIgaXMgdGhlIGludGVncmFsIHR5cGUgdXNlZCBieSBsdWFfcHVzaGludGVnZXIv bHVhX3RvaW50ZWdlci4KPiAtKyoqIENIQU5HRSB0aGF0IGlmIHB0cmRpZmZfdCBpcyBub3QgYWRl cXVhdGUgb24geW91ciBtYWNoaW5lLiAoT24gbW9zdAo+IC0rKiogbWFjaGluZXMsIHB0cmRpZmZf dCBnaXZlcyBhIGdvb2QgY2hvaWNlIGJldHdlZW4gaW50IG9yIGxvbmcuKQo+IC0rKi8KPiAtKyNk ZWZpbmUgTFVBX0lOVEVHRVIJcHRyZGlmZl90Cj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9B UEkgaXMgYSBtYXJrIGZvciBhbGwgY29yZSBBUEkgZnVuY3Rpb25zLgo+IC0rQEAgTFVBTElCX0FQ SSBpcyBhIG1hcmsgZm9yIGFsbCBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0aW9ucy4KPiAtKyoqIENI QU5HRSB0aGVtIGlmIHlvdSBuZWVkIHRvIGRlZmluZSB0aG9zZSBmdW5jdGlvbnMgaW4gc29tZSBz cGVjaWFsIHdheS4KPiAtKyoqIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIG9u ZSBXaW5kb3dzIERMTCB3aXRoIHRoZSBjb3JlIGFuZAo+IC0rKiogdGhlIGxpYnJhcmllcywgeW91 IG1heSB3YW50IHRvIHVzZSB0aGUgZm9sbG93aW5nIGRlZmluaXRpb24gKGRlZmluZQo+IC0rKiog TFVBX0JVSUxEX0FTX0RMTCB0byBnZXQgaXQpLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKExVQV9C VUlMRF9BU19ETEwpCj4gLSsKPiAtKyNpZiBkZWZpbmVkKExVQV9DT1JFKSB8fCBkZWZpbmVkKExV QV9MSUIpCj4gLSsjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhkbGxleHBvcnQpCj4gLSsjZWxz ZQo+IC0rI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQo+IC0rI2VuZGlmCj4g LSsKPiAtKyNlbHNlCj4gLSsKPiAtKyNkZWZpbmUgTFVBX0FQSQkJZXh0ZXJuCj4gLSsKPiAtKyNl bmRpZgo+IC0rCj4gLSsvKiBtb3JlIG9mdGVuIHRoYW4gbm90IHRoZSBsaWJzIGdvIHRvZ2V0aGVy IHdpdGggdGhlIGNvcmUgKi8KPiAtKyNkZWZpbmUgTFVBTElCX0FQSQlMVUFfQVBJCj4gLSsKPiAt Kwo+IC0rLyoKPiAtK0BAIExVQUlfRlVOQyBpcyBhIG1hcmsgZm9yIGFsbCBleHRlcm4gZnVuY3Rp b25zIHRoYXQgYXJlIG5vdCB0byBiZQo+IC0rQCogZXhwb3J0ZWQgdG8gb3V0c2lkZSBtb2R1bGVz Lgo+IC0rQEAgTFVBSV9EQVRBIGlzIGEgbWFyayBmb3IgYWxsIGV4dGVybiAoY29uc3QpIHZhcmlh YmxlcyB0aGF0IGFyZSBub3QgdG8KPiAtK0AqIGJlIGV4cG9ydGVkIHRvIG91dHNpZGUgbW9kdWxl cy4KPiAtKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBuZWVkIHRvIG1hcmsgdGhlbSBpbiBzb21lIHNw ZWNpYWwgd2F5LiBFbGYvZ2NjCj4gLSsqKiAodmVyc2lvbnMgMy4yIGFuZCBsYXRlcikgbWFyayB0 aGVtIGFzICJoaWRkZW4iIHRvIG9wdGltaXplIGFjY2Vzcwo+IC0rKiogd2hlbiBMdWEgaXMgY29t cGlsZWQgYXMgYSBzaGFyZWQgbGlicmFyeS4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChsdWFhbGxf YykKPiAtKyNkZWZpbmUgTFVBSV9GVU5DCXN0YXRpYwo+IC0rI2RlZmluZSBMVUFJX0RBVEEJLyog ZW1wdHkgKi8KPiAtKwo+IC0rI2VsaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKChfX0dOVUNfXyox MDAgKyBfX0dOVUNfTUlOT1JfXykgPj0gMzAyKSAmJiBcCj4gLSsgICAgICBkZWZpbmVkKF9fRUxG X18pCj4gLSsjZGVmaW5lIExVQUlfRlVOQwlfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJoaWRk ZW4iKSkpIGV4dGVybgo+IC0rI2RlZmluZSBMVUFJX0RBVEEJTFVBSV9GVU5DCj4gLSsKPiAtKyNl bHNlCj4gLSsjZGVmaW5lIExVQUlfRlVOQwlleHRlcm4KPiAtKyNkZWZpbmUgTFVBSV9EQVRBCWV4 dGVybgo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX1FMIGRlc2Ny aWJlcyBob3cgZXJyb3IgbWVzc2FnZXMgcXVvdGUgcHJvZ3JhbSBlbGVtZW50cy4KPiAtKyoqIENI QU5HRSBpdCBpZiB5b3Ugd2FudCBhIGRpZmZlcmVudCBhcHBlYXJhbmNlLgo+IC0rKi8KPiAtKyNk ZWZpbmUgTFVBX1FMKHgpCSInIiB4ICInIgo+IC0rI2RlZmluZSBMVUFfUVMJCUxVQV9RTCgiJXMi KQo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfSURTSVpFIGdpdmVzIHRoZSBtYXhpbXVtIHNp emUgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc291cmNlCj4gLStAKiBvZiBhIGZ1bmN0aW9u IGluIGRlYnVnIGluZm9ybWF0aW9uLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlm ZmVyZW50IHNpemUuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfSURTSVpFCTYwCj4gLSsKPiAtKwo+ IC0rLyoKPiAtKyoqIHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KPiAtKyoqIFN0YW5kLWFsb25lIGNvbmZpZ3VyYXRpb24K PiAtKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPiAtKyovCj4gLSsKPiAtKyNpZiBkZWZpbmVkKGx1YV9jKSB8fCBk ZWZpbmVkKGx1YWFsbF9jKQo+IC0rCj4gLSsvKgo+IC0rQEAgbHVhX3N0ZGluX2lzX3R0eSBkZXRl Y3RzIHdoZXRoZXIgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGEgJ3R0eScgKHRoYXQKPiAtK0AqIGlz LCB3aGV0aGVyIHdlJ3JlIHJ1bm5pbmcgbHVhIGludGVyYWN0aXZlbHkpLgo+IC0rKiogQ0hBTkdF IGl0IGlmIHlvdSBoYXZlIGEgYmV0dGVyIGRlZmluaXRpb24gZm9yIG5vbi1QT1NJWC9ub24tV2lu ZG93cwo+IC0rKiogc3lzdGVtcy4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX0lTQVRU WSkKPiAtKyNpbmNsdWRlIDx1bmlzdGQuaD4KPiAtKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgp CWlzYXR0eSgwKQo+IC0rI2VsaWYgZGVmaW5lZChMVUFfV0lOKQo+IC0rI2luY2x1ZGUgPGlvLmg+ Cj4gLSsjaW5jbHVkZSA8c3RkaW8uaD4KPiAtKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgpCV9p c2F0dHkoX2ZpbGVubyhzdGRpbikpCj4gLSsjZWxzZQo+IC0rI2RlZmluZSBsdWFfc3RkaW5faXNf dHR5KCkJMSAgLyogYXNzdW1lIHN0ZGluIGlzIGEgdHR5ICovCj4gLSsjZW5kaWYKPiAtKwo+IC0r Cj4gLSsvKgo+IC0rQEAgTFVBX1BST01QVCBpcyB0aGUgZGVmYXVsdCBwcm9tcHQgdXNlZCBieSBz dGFuZC1hbG9uZSBMdWEuCj4gLStAQCBMVUFfUFJPTVBUMiBpcyB0aGUgZGVmYXVsdCBjb250aW51 YXRpb24gcHJvbXB0IHVzZWQgYnkgc3RhbmQtYWxvbmUgTHVhLgo+IC0rKiogQ0hBTkdFIHRoZW0g aWYgeW91IHdhbnQgZGlmZmVyZW50IHByb21wdHMuIChZb3UgY2FuIGFsc28gY2hhbmdlIHRoZQo+ IC0rKiogcHJvbXB0cyBkeW5hbWljYWxseSwgYXNzaWduaW5nIHRvIGdsb2JhbHMgX1BST01QVC9f UFJPTVBUMi4pCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfUFJPTVBUCQkiPiAiCj4gLSsjZGVmaW5l IExVQV9QUk9NUFQyCQkiPj4gIgo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfUFJPR05BTUUg aXMgdGhlIGRlZmF1bHQgbmFtZSBmb3IgdGhlIHN0YW5kLWFsb25lIEx1YSBwcm9ncmFtLgo+IC0r KiogQ0hBTkdFIGl0IGlmIHlvdXIgc3RhbmQtYWxvbmUgaW50ZXJwcmV0ZXIgaGFzIGEgZGlmZmVy ZW50IG5hbWUgYW5kCj4gLSsqKiB5b3VyIHN5c3RlbSBpcyBub3QgYWJsZSB0byBkZXRlY3QgdGhh dCBuYW1lIGF1dG9tYXRpY2FsbHkuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfUFJPR05BTUUJCSJs dWEiCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9NQVhJTlBVVCBpcyB0aGUgbWF4aW11bSBs ZW5ndGggZm9yIGFuIGlucHV0IGxpbmUgaW4gdGhlCj4gLStAKiBzdGFuZC1hbG9uZSBpbnRlcnBy ZXRlci4KPiAtKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCBsb25nZXIgbGluZXMuCj4gLSsqLwo+ IC0rI2RlZmluZSBMVUFfTUFYSU5QVVQJNTEyCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIGx1YV9y ZWFkbGluZSBkZWZpbmVzIGhvdyB0byBzaG93IGEgcHJvbXB0IGFuZCB0aGVuIHJlYWQgYSBsaW5l IGZyb20KPiAtK0AqIHRoZSBzdGFuZGFyZCBpbnB1dC4KPiAtK0BAIGx1YV9zYXZlbGluZSBkZWZp bmVzIGhvdyB0byAic2F2ZSIgYSByZWFkIGxpbmUgaW4gYSAiaGlzdG9yeSIuCj4gLStAQCBsdWFf ZnJlZWxpbmUgZGVmaW5lcyBob3cgdG8gZnJlZSBhIGxpbmUgcmVhZCBieSBsdWFfcmVhZGxpbmUu Cj4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCB0byBpbXByb3ZlIHRoaXMgZnVuY3Rpb25h bGl0eSAoZS5nLiwgYnkgdXNpbmcKPiAtKyoqIEdOVSByZWFkbGluZSBhbmQgaGlzdG9yeSBmYWNp bGl0aWVzKS4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX1JFQURMSU5FKQo+IC0rI2lu Y2x1ZGUgPHN0ZGlvLmg+Cj4gLSsjaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KPiAtKyNp bmNsdWRlIDxyZWFkbGluZS9oaXN0b3J5Lmg+Cj4gLSsjZGVmaW5lIGx1YV9yZWFkbGluZShMLGIs cCkJKCh2b2lkKUwsICgoYik9cmVhZGxpbmUocCkpICE9IE5VTEwpCj4gLSsjZGVmaW5lIGx1YV9z YXZlbGluZShMLGlkeCkgXAo+IC0rCWlmIChsdWFfc3RybGVuKEwsaWR4KSA+IDApICAvKiBub24t ZW1wdHkgbGluZT8gKi8gXAo+IC0rCSAgYWRkX2hpc3RvcnkobHVhX3Rvc3RyaW5nKEwsIGlkeCkp OyAgLyogYWRkIGl0IHRvIGhpc3RvcnkgKi8KPiAtKyNkZWZpbmUgbHVhX2ZyZWVsaW5lKEwsYikJ KCh2b2lkKUwsIGZyZWUoYikpCj4gLSsjZWxzZQo+IC0rI2RlZmluZSBsdWFfcmVhZGxpbmUoTCxi LHApCVwKPiAtKwkoKHZvaWQpTCwgZnB1dHMocCwgc3Rkb3V0KSwgZmZsdXNoKHN0ZG91dCksICAv KiBzaG93IHByb21wdCAqLyBcCj4gLSsJZmdldHMoYiwgTFVBX01BWElOUFVULCBzdGRpbikgIT0g TlVMTCkgIC8qIGdldCBsaW5lICovCj4gLSsjZGVmaW5lIGx1YV9zYXZlbGluZShMLGlkeCkJeyAo dm9pZClMOyAodm9pZClpZHg7IH0KPiAtKyNkZWZpbmUgbHVhX2ZyZWVsaW5lKEwsYikJeyAodm9p ZClMOyAodm9pZCliOyB9Cj4gLSsjZW5kaWYKPiAtKwo+IC0rI2VuZGlmCj4gLSsKPiAtKy8qIH09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0gKi8KPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9HQ1BBVVNFIGRlZmluZXMg dGhlIGRlZmF1bHQgcGF1c2UgYmV0d2VlbiBnYXJiYWdlLWNvbGxlY3RvciBjeWNsZXMKPiAtK0Aq IGFzIGEgcGVyY2VudGFnZS4KPiAtKyoqIENIQU5HRSBpdCBpZiB5b3Ugd2FudCB0aGUgR0MgdG8g cnVuIGZhc3RlciBvciBzbG93ZXIgKGhpZ2hlciB2YWx1ZXMKPiAtKyoqIG1lYW4gbGFyZ2VyIHBh dXNlcyB3aGljaCBtZWFuIHNsb3dlciBjb2xsZWN0aW9uLikgWW91IGNhbiBhbHNvIGNoYW5nZQo+ IC0rKiogdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQUlfR0NQ QVVTRQkyMDAgIC8qIDIwMCUgKHdhaXQgbWVtb3J5IHRvIGRvdWJsZSBiZWZvcmUgbmV4dCBHQykg Ki8KPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9HQ01VTCBkZWZpbmVzIHRoZSBkZWZhdWx0 IHNwZWVkIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiByZWxhdGl2ZSB0bwo+IC0rQCogbWVtb3J5IGFs bG9jYXRpb24gYXMgYSBwZXJjZW50YWdlLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IHRv IGNoYW5nZSB0aGUgZ3JhbnVsYXJpdHkgb2YgdGhlIGdhcmJhZ2UKPiAtKyoqIGNvbGxlY3Rpb24u IChIaWdoZXIgdmFsdWVzIG1lYW4gY29hcnNlciBjb2xsZWN0aW9ucy4gMCByZXByZXNlbnRzCj4g LSsqKiBpbmZpbml0eSwgd2hlcmUgZWFjaCBzdGVwIHBlcmZvcm1zIGEgZnVsbCBjb2xsZWN0aW9u LikgWW91IGNhbiBhbHNvCj4gLSsqKiBjaGFuZ2UgdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KPiAt KyovCj4gLSsjZGVmaW5lIExVQUlfR0NNVUwJMjAwIC8qIEdDIHJ1bnMgJ3R3aWNlIHRoZSBzcGVl ZCcgb2YgbWVtb3J5IGFsbG9jYXRpb24gKi8KPiAtKwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBM VUFfQ09NUEFUX0dFVE4gY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBnZXRuIGJlaGF2 aW9yLgo+IC0rKiogQ0hBTkdFIGl0IChkZWZpbmUgaXQpIGlmIHlvdSB3YW50IGV4YWN0IGNvbXBh dGliaWxpdHkgd2l0aCB0aGUKPiAtKyoqIGJlaGF2aW9yIG9mIHNldG4vZ2V0biBpbiBMdWEgNS4w Lgo+IC0rKi8KPiAtKyN1bmRlZiBMVUFfQ09NUEFUX0dFVE4KPiAtKwo+IC0rLyoKPiAtK0BAIExV QV9DT01QQVRfTE9BRExJQiBjb250cm9scyBjb21wYXRpYmlsaXR5IGFib3V0IGdsb2JhbCBsb2Fk bGliLgo+IC0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdSBkbyBub3Qg bmVlZCBhIGdsb2JhbCAnbG9hZGxpYicKPiAtKyoqIGZ1bmN0aW9uICh0aGUgZnVuY3Rpb24gaXMg c3RpbGwgYXZhaWxhYmxlIGFzICdwYWNrYWdlLmxvYWRsaWInKS4KPiAtKyovCj4gLSsjdW5kZWYg TFVBX0NPTVBBVF9MT0FETElCCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfQ09NUEFUX1ZBUkFSRyBj b250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIHZhcmFyZyBmZWF0dXJlLgo+IC0rKiogQ0hB TkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdXIgcHJvZ3JhbXMgdXNlIG9ubHkgJy4u LicgdG8KPiAtKyoqIGFjY2VzcyB2YXJhcmcgcGFyYW1ldGVycyAoaW5zdGVhZCBvZiB0aGUgb2xk ICdhcmcnIHRhYmxlKS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9DT01QQVRfVkFSQVJHCj4gLSsK PiAtKy8qCj4gLStAQCBMVUFfQ09NUEFUX01PRCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGgg b2xkIG1hdGgubW9kIGZ1bmN0aW9uLgo+IC0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBz b29uIGFzIHlvdXIgcHJvZ3JhbXMgdXNlICdtYXRoLmZtb2QnIG9yCj4gLSsqKiB0aGUgbmV3ICcl JyBvcGVyYXRvciBpbnN0ZWFkIG9mICdtYXRoLm1vZCcuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFf Q09NUEFUX01PRAo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX0NPTVBBVF9MU1RSIGNvbnRyb2xzIGNv bXBhdGliaWxpdHkgd2l0aCBvbGQgbG9uZyBzdHJpbmcgbmVzdGluZwo+IC0rQCogZmFjaWxpdHku Cj4gLSsqKiBDSEFOR0UgaXQgdG8gMiBpZiB5b3Ugd2FudCB0aGUgb2xkIGJlaGF2aW91ciwgb3Ig dW5kZWZpbmUgaXQgdG8gdHVybgo+IC0rKiogb2ZmIHRoZSBhZHZpc29yeSBlcnJvciB3aGVuIG5l c3RpbmcgW1suLi5dXS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9DT01QQVRfTFNUUgkJMQo+IC0r Cj4gLSsvKgo+IC0rQEAgTFVBX0NPTVBBVF9HRklORCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdp dGggb2xkICdzdHJpbmcuZ2ZpbmQnIG5hbWUuCj4gLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVk IGFzIHNvb24gYXMgeW91IHJlbmFtZSAnc3RyaW5nLmdmaW5kJyB0bwo+IC0rKiogJ3N0cmluZy5n bWF0Y2gnLgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBX0NPTVBBVF9HRklORAo+IC0rCj4gLSsvKgo+ IC0rQEAgTFVBX0NPTVBBVF9PUEVOTElCIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQg J2x1YUxfb3BlbmxpYicKPiAtK0AqIGJlaGF2aW9yLgo+IC0rKiogQ0hBTkdFIGl0IHRvIHVuZGVm aW5lZCBhcyBzb29uIGFzIHlvdSByZXBsYWNlIHRvICdsdWFMX3JlZ2lzdGVyJwo+IC0rKiogeW91 ciB1c2VzIG9mICdsdWFMX29wZW5saWInCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfQ09NUEFUX09Q RU5MSUIKPiAtKwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBsdWFpX2FwaWNoZWNrIGlzIHRoZSBh c3NlcnQgbWFjcm8gdXNlZCBieSB0aGUgTHVhLUMgQVBJLgo+IC0rKiogQ0hBTkdFIGx1YWlfYXBp Y2hlY2sgaWYgeW91IHdhbnQgTHVhIHRvIHBlcmZvcm0gc29tZSBjaGVja3MgaW4gdGhlCj4gLSsq KiBwYXJhbWV0ZXJzIGl0IGdldHMgZnJvbSBBUEkgY2FsbHMuIFRoaXMgbWF5IHNsb3cgZG93biB0 aGUgaW50ZXJwcmV0ZXIKPiAtKyoqIGEgYml0LCBidXQgbWF5IGJlIHF1aXRlIHVzZWZ1bCB3aGVu IGRlYnVnZ2luZyBDIGNvZGUgdGhhdCBpbnRlcmZhY2VzCj4gLSsqKiB3aXRoIEx1YS4gQSB1c2Vm dWwgcmVkZWZpbml0aW9uIGlzIHRvIHVzZSBhc3NlcnQuaC4KPiAtKyovCj4gLSsjaWYgZGVmaW5l ZChMVUFfVVNFX0FQSUNIRUNLKQo+IC0rI2luY2x1ZGUgPGFzc2VydC5oPgo+IC0rI2RlZmluZSBs dWFpX2FwaWNoZWNrKEwsbykJeyAodm9pZClMOyBhc3NlcnQobyk7IH0KPiAtKyNlbHNlCj4gLSsj ZGVmaW5lIGx1YWlfYXBpY2hlY2soTCxvKQl7ICh2b2lkKUw7IH0KPiAtKyNlbmRpZgo+IC0rCj4g LSsKPiAtKy8qCj4gLStAQCBMVUFJX0JJVFNJTlQgZGVmaW5lcyB0aGUgbnVtYmVyIG9mIGJpdHMg aW4gYW4gaW50Lgo+IC0rKiogQ0hBTkdFIGhlcmUgaWYgTHVhIGNhbm5vdCBhdXRvbWF0aWNhbGx5 IGRldGVjdCB0aGUgbnVtYmVyIG9mIGJpdHMgb2YKPiAtKyoqIHlvdXIgbWFjaGluZS4gUHJvYmFi bHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGlzLgo+IC0rKi8KPiAtKy8qIGF2b2lkIG92 ZXJmbG93cyBpbiBjb21wYXJpc29uICovCj4gLSsjaWYgSU5UX01BWC0yMCA8IDMyNzYwCj4gLSsj ZGVmaW5lIExVQUlfQklUU0lOVAkxNgo+IC0rI2VsaWYgSU5UX01BWCA+IDIxNDc0ODM2NDBMCj4g LSsvKiBpbnQgaGFzIGF0IGxlYXN0IDMyIGJpdHMgKi8KPiAtKyNkZWZpbmUgTFVBSV9CSVRTSU5U CTMyCj4gLSsjZWxzZQo+IC0rI2Vycm9yICJ5b3UgbXVzdCBkZWZpbmUgTFVBX0JJVFNJTlQgd2l0 aCBudW1iZXIgb2YgYml0cyBpbiBhbiBpbnRlZ2VyIgo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0r LyoKPiAtK0BAIExVQUlfVUlOVDMyIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgd2l0aCBhdCBsZWFz dCAzMiBiaXRzLgo+IC0rQEAgTFVBSV9JTlQzMiBpcyBhbiBzaWduZWQgaW50ZWdlciB3aXRoIGF0 IGxlYXN0IDMyIGJpdHMuCj4gLStAQCBMVUFJX1VNRU0gaXMgYW4gdW5zaWduZWQgaW50ZWdlciBi aWcgZW5vdWdoIHRvIGNvdW50IHRoZSB0b3RhbAo+IC0rQCogbWVtb3J5IHVzZWQgYnkgTHVhLgo+ IC0rQEAgTFVBSV9NRU0gaXMgYSBzaWduZWQgaW50ZWdlciBiaWcgZW5vdWdoIHRvIGNvdW50IHRo ZSB0b3RhbCBtZW1vcnkKPiAtK0AqIHVzZWQgYnkgTHVhLgo+IC0rKiogQ0hBTkdFIGhlcmUgaWYg Zm9yIHNvbWUgd2VpcmQgcmVhc29uIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIGFyZSBub3QKPiAt KyoqIGdvb2QgZW5vdWdoIGZvciB5b3VyIG1hY2hpbmUuIChUaGUgZGVmaW5pdGlvbnMgaW4gdGhl ICdlbHNlJwo+IC0rKiogcGFydCBhbHdheXMgd29ya3MsIGJ1dCBtYXkgd2FzdGUgc3BhY2Ugb24g bWFjaGluZXMgd2l0aCA2NC1iaXQKPiAtKyoqIGxvbmdzLikgUHJvYmFibHkgeW91IGRvIG5vdCBu ZWVkIHRvIGNoYW5nZSB0aGlzLgo+IC0rKi8KPiAtKyNpZiBMVUFJX0JJVFNJTlQgPj0gMzIKPiAt KyNkZWZpbmUgTFVBSV9VSU5UMzIJdW5zaWduZWQgaW50Cj4gLSsjZGVmaW5lIExVQUlfSU5UMzIJ aW50Cj4gLSsjZGVmaW5lIExVQUlfTUFYSU5UMzIJSU5UX01BWAo+IC0rI2RlZmluZSBMVUFJX1VN RU0Jc2l6ZV90Cj4gLSsjZGVmaW5lIExVQUlfTUVNCXB0cmRpZmZfdAo+IC0rI2Vsc2UKPiAtKy8q IDE2LWJpdCBpbnRzICovCj4gLSsjZGVmaW5lIExVQUlfVUlOVDMyCXVuc2lnbmVkIGxvbmcKPiAt KyNkZWZpbmUgTFVBSV9JTlQzMglsb25nCj4gLSsjZGVmaW5lIExVQUlfTUFYSU5UMzIJTE9OR19N QVgKPiAtKyNkZWZpbmUgTFVBSV9VTUVNCXVuc2lnbmVkIGxvbmcKPiAtKyNkZWZpbmUgTFVBSV9N RU0JbG9uZwo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUlfTUFYQ0FMTFMg bGltaXRzIHRoZSBudW1iZXIgb2YgbmVzdGVkIGNhbGxzLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlv dSBuZWVkIHJlYWxseSBkZWVwIHJlY3Vyc2l2ZSBjYWxscy4gVGhpcyBsaW1pdCBpcwo+IC0rKiog YXJiaXRyYXJ5OyBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3AgaW5maW5pdGUgcmVjdXJzaW9u IGJlZm9yZQo+IC0rKiogZXhoYXVzdGluZyBtZW1vcnkuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFJ X01BWENBTExTCTIwMDAwCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUlfTUFYQ1NUQUNLIGxp bWl0cyB0aGUgbnVtYmVyIG9mIEx1YSBzdGFjayBzbG90cyB0aGF0IGEgQyBmdW5jdGlvbgo+IC0r QCogY2FuIHVzZS4KPiAtKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCBsb3RzIG9mIChMdWEpIHN0 YWNrIHNwYWNlIGZvciB5b3VyIEMKPiAtKyoqIGZ1bmN0aW9ucy4gVGhpcyBsaW1pdCBpcyBhcmJp dHJhcnk7IGl0cyBvbmx5IHB1cnBvc2UgaXMgdG8gc3RvcCBDCj4gLSsqKiBmdW5jdGlvbnMgdG8g Y29uc3VtZSB1bmxpbWl0ZWQgc3RhY2sgc3BhY2UuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFJX01B WENTVEFDSwkyMDQ4Cj4gLSsKPiAtKwo+IC0rCj4gLSsvKgo+IC0rKiogez09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0r KiogQ0hBTkdFICh0byBzbWFsbGVyIHZhbHVlcykgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBp ZiB5b3VyIHN5c3RlbQo+IC0rKiogaGFzIGEgc21hbGwgQyBzdGFjay4gKE9yIHlvdSBtYXkgd2Fu dCB0byBjaGFuZ2UgdGhlbSB0byBsYXJnZXIKPiAtKyoqIHZhbHVlcyBpZiB5b3VyIHN5c3RlbSBo YXMgYSBsYXJnZSBDIHN0YWNrIGFuZCB0aGVzZSBsaW1pdHMgYXJlCj4gLSsqKiB0b28gcmlnaWQg Zm9yIHlvdS4pIFNvbWUgb2YgdGhlc2UgY29uc3RhbnRzIGNvbnRyb2wgdGhlIHNpemUgb2YKPiAt KyoqIHN0YWNrLWFsbG9jYXRlZCBhcnJheXMgdXNlZCBieSB0aGUgY29tcGlsZXIgb3IgdGhlIGlu dGVycHJldGVyLCB3aGlsZQo+IC0rKiogb3RoZXJzIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBv ZiByZWN1cnNpdmUgY2FsbHMgdGhhdCB0aGUgY29tcGlsZXIKPiAtKyoqIG9yIHRoZSBpbnRlcnBy ZXRlciBjYW4gcGVyZm9ybS4gVmFsdWVzIHRvbyBsYXJnZSBtYXkgY2F1c2UgYSBDIHN0YWNrCj4g LSsqKiBvdmVyZmxvdyBmb3Igc29tZSBmb3JtcyBvZiBkZWVwIGNvbnN0cnVjdHMuCj4gLSsqKiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Cj4gLSsqLwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFJX01BWENDQUxMUyBp cyB0aGUgbWF4aW11bSBkZXB0aCBmb3IgbmVzdGVkIEMgY2FsbHMgKHNob3J0KSBhbmQKPiAtK0Aq IHN5bnRhY3RpY2FsIG5lc3RlZCBub24tdGVybWluYWxzIGluIGEgcHJvZ3JhbS4KPiAtKyovCj4g LSsjZGVmaW5lIExVQUlfTUFYQ0NBTExTCQkyMDAKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVB SV9NQVhWQVJTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NhbCB2YXJpYWJsZXMgcGVyIGZ1 bmN0aW9uCj4gLStAKiAobXVzdCBiZSBzbWFsbGVyIHRoYW4gMjUwKS4KPiAtKyovCj4gLSsjZGVm aW5lIExVQUlfTUFYVkFSUwkJMjAwCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUlfTUFYVVBW QUxVRVMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVwdmFsdWVzIHBlciBmdW5jdGlvbgo+IC0r QCogKG11c3QgYmUgc21hbGxlciB0aGFuIDI1MCkuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFJX01B WFVQVkFMVUVTCTYwCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUxfQlVGRkVSU0laRSBpcyB0 aGUgYnVmZmVyIHNpemUgdXNlZCBieSB0aGUgbGF1eGxpYiBidWZmZXIgc3lzdGVtLgo+IC0rKi8K PiAtKyNkZWZpbmUgTFVBTF9CVUZGRVJTSVpFCQlCVUZTSVoKPiAtKwo+IC0rLyogfT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PSAqLwo+IC0rCj4gLSsKPiAtKwo+IC0rCj4gLSsvKgo+IC0rKiogez09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0rQEAg TFVBX05VTUJFUiBpcyB0aGUgdHlwZSBvZiBudW1iZXJzIGluIEx1YS4KPiAtKyoqIENIQU5HRSB0 aGUgZm9sbG93aW5nIGRlZmluaXRpb25zIG9ubHkgaWYgeW91IHdhbnQgdG8gYnVpbGQgTHVhCj4g LSsqKiB3aXRoIGEgbnVtYmVyIHR5cGUgZGlmZmVyZW50IGZyb20gZG91YmxlLiBZb3UgbWF5IGFs c28gbmVlZCB0bwo+IC0rKiogY2hhbmdlIGx1YV9udW1iZXIyaW50ICYgbHVhX251bWJlcjJpbnRl Z2VyLgo+IC0rKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQo+IC0rKi8KPiAtKwo+IC0rI2RlZmluZSBMVUFfTlVNQkVS X0RPVUJMRQo+IC0rI2RlZmluZSBMVUFfTlVNQkVSCWRvdWJsZQo+IC0rCj4gLSsvKgo+IC0rQEAg TFVBSV9VQUNOVU1CRVIgaXMgdGhlIHJlc3VsdCBvZiBhbiAndXN1YWwgYXJndW1lbnQgY29udmVy c2lvbicKPiAtK0AqIG92ZXIgYSBudW1iZXIuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFJX1VBQ05V TUJFUglkb3VibGUKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX05VTUJFUl9TQ0FOIGlzIHRo ZSBmb3JtYXQgZm9yIHJlYWRpbmcgbnVtYmVycy4KPiAtK0BAIExVQV9OVU1CRVJfRk1UIGlzIHRo ZSBmb3JtYXQgZm9yIHdyaXRpbmcgbnVtYmVycy4KPiAtK0BAIGx1YV9udW1iZXIyc3RyIGNvbnZl cnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLgo+IC0rQEAgTFVBSV9NQVhOVU1CRVIyU1RSIGlzIG1h eGltdW0gc2l6ZSBvZiBwcmV2aW91cyBjb252ZXJzaW9uLgo+IC0rQEAgbHVhX3N0cjJudW1iZXIg Y29udmVydHMgYSBzdHJpbmcgdG8gYSBudW1iZXIuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfTlVN QkVSX1NDQU4JCSIlbGYiCj4gLSsjZGVmaW5lIExVQV9OVU1CRVJfRk1UCQkiJS4xNGciCj4gLSsj ZGVmaW5lIGx1YV9udW1iZXIyc3RyKHMsbikJc3ByaW50ZigocyksIExVQV9OVU1CRVJfRk1ULCAo bikpCj4gLSsjZGVmaW5lIExVQUlfTUFYTlVNQkVSMlNUUgkzMiAvKiAxNiBkaWdpdHMsIHNpZ24s IHBvaW50LCBhbmQgXDAgKi8KPiAtKyNkZWZpbmUgbHVhX3N0cjJudW1iZXIocyxwKQlzdHJ0b2Qo KHMpLCAocCkpCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIFRoZSBsdWFpX251bSogbWFjcm9zIGRl ZmluZSB0aGUgcHJpbWl0aXZlIG9wZXJhdGlvbnMgb3ZlciBudW1iZXJzLgo+IC0rKi8KPiAtKyNp ZiBkZWZpbmVkKExVQV9DT1JFKQo+IC0rI2luY2x1ZGUgPG1hdGguaD4KPiAtKyNkZWZpbmUgbHVh aV9udW1hZGQoYSxiKQkoKGEpKyhiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1zdWIoYSxiKQkoKGEp LShiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1tdWwoYSxiKQkoKGEpKihiKSkKPiAtKyNkZWZpbmUg bHVhaV9udW1kaXYoYSxiKQkoKGEpLyhiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1tb2QoYSxiKQko KGEpIC0gZmxvb3IoKGEpLyhiKSkqKGIpKQo+IC0rI2RlZmluZSBsdWFpX251bXBvdyhhLGIpCShw b3coYSxiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW11bm0oYSkJCSgtKGEpKQo+IC0rI2RlZmluZSBs dWFpX251bWVxKGEsYikJCSgoYSk9PShiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1sdChhLGIpCQko KGEpPChiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1sZShhLGIpCQkoKGEpPD0oYikpCj4gLSsjZGVm aW5lIGx1YWlfbnVtaXNuYW4oYSkJKCFsdWFpX251bWVxKChhKSwgKGEpKSkKPiAtKyNlbmRpZgo+ IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBsdWFfbnVtYmVyMmludCBpcyBhIG1hY3JvIHRvIGNvbnZl cnQgbHVhX051bWJlciB0byBpbnQuCj4gLStAQCBsdWFfbnVtYmVyMmludGVnZXIgaXMgYSBtYWNy byB0byBjb252ZXJ0IGx1YV9OdW1iZXIgdG8gbHVhX0ludGVnZXIuCj4gLSsqKiBDSEFOR0UgdGhl bSBpZiB5b3Uga25vdyBhIGZhc3RlciB3YXkgdG8gY29udmVydCBhIGx1YV9OdW1iZXIgdG8KPiAt KyoqIGludCAod2l0aCBhbnkgcm91bmRpbmcgbWV0aG9kIGFuZCB3aXRob3V0IHRocm93aW5nIGVy cm9ycykgaW4geW91cgo+IC0rKiogc3lzdGVtLiBJbiBQZW50aXVtIG1hY2hpbmVzLCBhIG5haXZl IHR5cGVjYXN0IGZyb20gZG91YmxlIHRvIGludAo+IC0rKiogaW4gQyBpcyBleHRyZW1lbHkgc2xv dywgc28gYW55IGFsdGVybmF0aXZlIGlzIHdvcnRoIHRyeWluZy4KPiAtKyovCj4gLSsKPiAtKy8q IE9uIGEgUGVudGl1bSwgcmVzb3J0IHRvIGEgdHJpY2sgKi8KPiAtKyNpZiBkZWZpbmVkKExVQV9O VU1CRVJfRE9VQkxFKSAmJiAhZGVmaW5lZChMVUFfQU5TSSkgJiYgIWRlZmluZWQoX19TU0UyX18p ICYmIFwKPiAtKyAgICAoZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQgKF9NX0lYODYpIHx8IGRl ZmluZWQoX19pMzg2X18pKQo+IC0rCj4gLSsvKiBPbiBhIE1pY3Jvc29mdCBjb21waWxlciwgdXNl IGFzc2VtYmxlciAqLwo+IC0rI2lmIGRlZmluZWQoX01TQ19WRVIpCj4gLSsKPiAtKyNkZWZpbmUg bHVhX251bWJlcjJpbnQoaSxkKSAgIF9fYXNtIGZsZCBkICAgX19hc20gZmlzdHAgaQo+IC0rI2Rl ZmluZSBsdWFfbnVtYmVyMmludGVnZXIoaSxuKQkJbHVhX251bWJlcjJpbnQoaSwgbikKPiAtKwo+ IC0rLyogdGhlIG5leHQgdHJpY2sgc2hvdWxkIHdvcmsgb24gYW55IFBlbnRpdW0sIGJ1dCBzb21l dGltZXMgY2xhc2hlcwo+IC0rICAgd2l0aCBhIERpcmVjdFggaWRpb3N5bmNyYXN5ICovCj4gLSsj ZWxzZQo+IC0rCj4gLSt1bmlvbiBsdWFpX0Nhc3QgeyBkb3VibGUgbF9kOyBsb25nIGxfbDsgfTsK PiAtKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKSBcCj4gLSsgIHsgdm9sYXRpbGUgdW5pb24g bHVhaV9DYXN0IHU7IHUubF9kID0gKGQpICsgNjc1NTM5OTQ0MTA1NTc0NC4wOyAoaSkgPSB1Lmxf bDsgfQo+IC0rI2RlZmluZSBsdWFfbnVtYmVyMmludGVnZXIoaSxuKQkJbHVhX251bWJlcjJpbnQo aSwgbikKPiAtKwo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyogdGhpcyBvcHRpb24gYWx3YXlz IHdvcmtzLCBidXQgbWF5IGJlIHNsb3cgKi8KPiAtKyNlbHNlCj4gLSsjZGVmaW5lIGx1YV9udW1i ZXIyaW50KGksZCkJKChpKT0oaW50KShkKSkKPiAtKyNkZWZpbmUgbHVhX251bWJlcjJpbnRlZ2Vy KGksZCkJKChpKT0obHVhX0ludGVnZXIpKGQpKQo+IC0rCj4gLSsjZW5kaWYKPiAtKwo+IC0rLyog fT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PSAqLwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFJX1VTRVJfQUxJR05NRU5U X1QgaXMgYSB0eXBlIHRoYXQgcmVxdWlyZXMgbWF4aW11bSBhbGlnbm1lbnQuCj4gLSsqKiBDSEFO R0UgaXQgaWYgeW91ciBzeXN0ZW0gcmVxdWlyZXMgYWxpZ25tZW50cyBsYXJnZXIgdGhhbiBkb3Vi bGUuIChGb3IKPiAtKyoqIGluc3RhbmNlLCBpZiB5b3VyIHN5c3RlbSBzdXBwb3J0cyBsb25nIGRv dWJsZXMgYW5kIHRoZXkgbXVzdCBiZQo+IC0rKiogYWxpZ25lZCBpbiAxNi1ieXRlIGJvdW5kYXJp ZXMsIHRoZW4geW91IHNob3VsZCBhZGQgbG9uZyBkb3VibGUgaW4gdGhlCj4gLSsqKiB1bmlvbi4p IFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4KPiAtKyovCj4gLSsjZGVm aW5lIExVQUlfVVNFUl9BTElHTk1FTlRfVAl1bmlvbiB7IGRvdWJsZSB1OyB2b2lkICpzOyBsb25n IGw7IH0KPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9USFJPVy9MVUFJX1RSWSBkZWZpbmUg aG93IEx1YSBkb2VzIGV4Y2VwdGlvbiBoYW5kbGluZy4KPiAtKyoqIENIQU5HRSB0aGVtIGlmIHlv dSBwcmVmZXIgdG8gdXNlIGxvbmdqbXAvc2V0am1wIGV2ZW4gd2l0aCBDKysKPiAtKyoqIG9yIGlm IHdhbnQvZG9uJ3QgdG8gdXNlIF9sb25nam1wL19zZXRqbXAgaW5zdGVhZCBvZiByZWd1bGFyCj4g LSsqKiBsb25nam1wL3NldGptcC4gQnkgZGVmYXVsdCwgTHVhIGhhbmRsZXMgZXJyb3JzIHdpdGgg ZXhjZXB0aW9ucyB3aGVuCj4gLSsqKiBjb21waWxpbmcgYXMgQysrIGNvZGUsIHdpdGggX2xvbmdq bXAvX3NldGptcCB3aGVuIGFza2VkIHRvIHVzZSB0aGVtLAo+IC0rKiogYW5kIHdpdGggbG9uZ2pt cC9zZXRqbXAgb3RoZXJ3aXNlLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQo+ IC0rLyogQysrIGV4Y2VwdGlvbnMgKi8KPiAtKyNkZWZpbmUgTFVBSV9USFJPVyhMLGMpCXRocm93 KGMpCj4gLSsjZGVmaW5lIExVQUlfVFJZKEwsYyxhKQl0cnkgeyBhIH0gY2F0Y2goLi4uKSBcCj4g LSsJeyBpZiAoKGMpLT5zdGF0dXMgPT0gMCkgKGMpLT5zdGF0dXMgPSAtMTsgfQo+IC0rI2RlZmlu ZSBsdWFpX2ptcGJ1ZglpbnQgIC8qIGR1bW15IHZhcmlhYmxlICovCj4gLSsKPiAtKyNlbGlmIGRl ZmluZWQoTFVBX1VTRV9VTE9OR0pNUCkKPiAtKy8qIGluIFVuaXgsIHRyeSBfbG9uZ2ptcC9fc2V0 am1wIChtb3JlIGVmZmljaWVudCkgKi8KPiAtKyNkZWZpbmUgTFVBSV9USFJPVyhMLGMpCV9sb25n am1wKChjKS0+YiwgMSkKPiAtKyNkZWZpbmUgTFVBSV9UUlkoTCxjLGEpCWlmIChfc2V0am1wKChj KS0+YikgPT0gMCkgeyBhIH0KPiAtKyNkZWZpbmUgbHVhaV9qbXBidWYJam1wX2J1Zgo+IC0rCj4g LSsjZWxzZQo+IC0rLyogZGVmYXVsdCBoYW5kbGluZyB3aXRoIGxvbmcganVtcHMgKi8KPiAtKyNk ZWZpbmUgTFVBSV9USFJPVyhMLGMpCWxvbmdqbXAoKGMpLT5iLCAxKQo+IC0rI2RlZmluZSBMVUFJ X1RSWShMLGMsYSkJaWYgKHNldGptcCgoYyktPmIpID09IDApIHsgYSB9Cj4gLSsjZGVmaW5lIGx1 YWlfam1wYnVmCWptcF9idWYKPiAtKwo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BA IExVQV9NQVhDQVBUVVJFUyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2FwdHVyZXMgdGhhdCBh IHBhdHRlcm4KPiAtK0AqIGNhbiBkbyBkdXJpbmcgcGF0dGVybi1tYXRjaGluZy4KPiAtKyoqIENI QU5HRSBpdCBpZiB5b3UgbmVlZCBtb3JlIGNhcHR1cmVzLiBUaGlzIGxpbWl0IGlzIGFyYml0cmFy eS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9NQVhDQVBUVVJFUwkJMzIKPiAtKwo+IC0rCj4gLSsv Kgo+IC0rQEAgbHVhX3RtcG5hbSBpcyB0aGUgZnVuY3Rpb24gdGhhdCB0aGUgT1MgbGlicmFyeSB1 c2VzIHRvIGNyZWF0ZSBhCj4gLStAKiB0ZW1wb3JhcnkgbmFtZS4KPiAtK0BAIExVQV9UTVBOQU1C VUZTSVpFIGlzIHRoZSBtYXhpbXVtIHNpemUgb2YgYSBuYW1lIGNyZWF0ZWQgYnkgbHVhX3RtcG5h bS4KPiAtKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBoYXZlIGFuIGFsdGVybmF0aXZlIHRvIHRtcG5h bSAod2hpY2ggaXMgY29uc2lkZXJlZAo+IC0rKiogaW5zZWN1cmUpIG9yIGlmIHlvdSB3YW50IHRo ZSBvcmlnaW5hbCB0bXBuYW0gYW55d2F5LiAgQnkgZGVmYXVsdCwgTHVhCj4gLSsqKiB1c2VzIHRt cG5hbSBleGNlcHQgd2hlbiBQT1NJWCBpcyBhdmFpbGFibGUsIHdoZXJlIGl0IHVzZXMgbWtzdGVt cC4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChsb3NsaWJfYykgfHwgZGVmaW5lZChsdWFhbGxfYykK PiAtKwo+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9NS1NURU1QKQo+IC0rI2luY2x1ZGUgPHVuaXN0 ZC5oPgo+IC0rI2RlZmluZSBMVUFfVE1QTkFNQlVGU0laRQkzMgo+IC0rI2RlZmluZSBsdWFfdG1w bmFtKGIsZSkJeyBcCj4gLSsJc3RyY3B5KGIsICIvdG1wL2x1YV9YWFhYWFgiKTsgXAo+IC0rCWUg PSBta3N0ZW1wKGIpOyBcCj4gLSsJaWYgKGUgIT0gLTEpIGNsb3NlKGUpOyBcCj4gLSsJZSA9IChl ID09IC0xKTsgfQo+IC0rCj4gLSsjZWxzZQo+IC0rI2RlZmluZSBMVUFfVE1QTkFNQlVGU0laRQlM X3RtcG5hbQo+IC0rI2RlZmluZSBsdWFfdG1wbmFtKGIsZSkJCXsgZSA9ICh0bXBuYW0oYikgPT0g TlVMTCk7IH0KPiAtKyNlbmRpZgo+IC0rCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsvKgo+IC0r QEAgbHVhX3BvcGVuIHNwYXducyBhIG5ldyBwcm9jZXNzIGNvbm5lY3RlZCB0byB0aGUgY3VycmVu dCBvbmUgdGhyb3VnaAo+IC0rQCogdGhlIGZpbGUgc3RyZWFtcy4KPiAtKyoqIENIQU5HRSBpdCBp ZiB5b3UgaGF2ZSBhIHdheSB0byBpbXBsZW1lbnQgaXQgaW4geW91ciBzeXN0ZW0uCj4gLSsqLwo+ IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9QT1BFTikKPiAtKwo+IC0rI2RlZmluZSBsdWFfcG9wZW4o TCxjLG0pCSgodm9pZClMLCBwb3BlbihjLG0pKQo+IC0rI2RlZmluZSBsdWFfcGNsb3NlKEwsZmls ZSkJKCh2b2lkKUwsIChwY2xvc2UoZmlsZSkgIT0gLTEpKQo+IC0rCj4gLSsjZWxpZiBkZWZpbmVk KExVQV9XSU4pCj4gLSsKPiAtKyNkZWZpbmUgbHVhX3BvcGVuKEwsYyxtKQkoKHZvaWQpTCwgX3Bv cGVuKGMsbSkpCj4gLSsjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkoKHZvaWQpTCwgKF9wY2xv c2UoZmlsZSkgIT0gLTEpKQo+IC0rCj4gLSsjZWxzZQo+IC0rCj4gLSsjZGVmaW5lIGx1YV9wb3Bl bihMLGMsbSkJKCh2b2lkKSgodm9pZCljLCBtKSwgIFwKPiAtKwkJbHVhTF9lcnJvcihMLCBMVUFf UUwoInBvcGVuIikgIiBub3Qgc3VwcG9ydGVkIiksIChGSUxFKikwKQo+IC0rI2RlZmluZSBsdWFf cGNsb3NlKEwsZmlsZSkJCSgodm9pZCkoKHZvaWQpTCwgZmlsZSksIDApCj4gLSsKPiAtKyNlbmRp Zgo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX0RMXyogZGVmaW5lIHdoaWNoIGR5bmFtaWMtbGlicmFy eSBzeXN0ZW0gTHVhIHNob3VsZCB1c2UuCj4gLSsqKiBDSEFOR0UgaGVyZSBpZiBMdWEgaGFzIHBy b2JsZW1zIGNob29zaW5nIHRoZSBhcHByb3ByaWF0ZQo+IC0rKiogZHluYW1pYy1saWJyYXJ5IHN5 c3RlbSBmb3IgeW91ciBwbGF0Zm9ybSAoZWl0aGVyIFdpbmRvd3MnIERMTCwgTWFjJ3MKPiAtKyoq IGR5bGQsIG9yIFVuaXgncyBkbG9wZW4pLiBJZiB5b3VyIHN5c3RlbSBpcyBzb21lIGtpbmQgb2Yg VW5peCwgdGhlcmUKPiAtKyoqIGlzIGEgZ29vZCBjaGFuY2UgdGhhdCBpdCBoYXMgZGxvcGVuLCBz byBMVUFfRExfRExPUEVOIHdpbGwgd29yayBmb3IKPiAtKyoqIGl0LiAgVG8gdXNlIGRsb3BlbiB5 b3UgYWxzbyBuZWVkIHRvIGFkYXB0IHRoZSBzcmMvTWFrZWZpbGUgKHByb2JhYmx5Cj4gLSsqKiBh ZGRpbmcgLWxkbCB0byB0aGUgbGlua2VyIG9wdGlvbnMpLCBzbyBMdWEgZG9lcyBub3Qgc2VsZWN0 IGl0Cj4gLSsqKiBhdXRvbWF0aWNhbGx5LiAgKFdoZW4geW91IGNoYW5nZSB0aGUgbWFrZWZpbGUg dG8gYWRkIC1sZGwsIHlvdSBtdXN0Cj4gLSsqKiBhbHNvIGFkZCAtRExVQV9VU0VfRExPUEVOLikK PiAtKyoqIElmIHlvdSBkbyBub3Qgd2FudCBhbnkga2luZCBvZiBkeW5hbWljIGxpYnJhcnksIHVu ZGVmaW5lIGFsbCB0aGVzZQo+IC0rKiogb3B0aW9ucy4KPiAtKyoqIEJ5IGRlZmF1bHQsIF9XSU4z MiBnZXRzIExVQV9ETF9ETEwgYW5kIE1BQyBPUyBYIGdldHMgTFVBX0RMX0RZTEQuCj4gLSsqLwo+ IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9ETE9QRU4pCj4gLSsjZGVmaW5lIExVQV9ETF9ETE9QRU4K PiAtKyNlbmRpZgo+IC0rCj4gLSsjaWYgZGVmaW5lZChMVUFfV0lOKQo+IC0rI2RlZmluZSBMVUFf RExfRExMCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9FWFRSQVNQQUNF IGFsbG93cyB5b3UgdG8gYWRkIHVzZXItc3BlY2lmaWMgZGF0YSBpbiBhIGx1YV9TdGF0ZQo+IC0r QCogKHRoZSBkYXRhIGdvZXMganVzdCAqYmVmb3JlKiB0aGUgbHVhX1N0YXRlIHBvaW50ZXIpLgo+ IC0rKiogQ0hBTkdFIChkZWZpbmUpIHRoaXMgaWYgeW91IHJlYWxseSBuZWVkIHRoYXQuIFRoaXMg dmFsdWUgbXVzdCBiZQo+IC0rKiogYSBtdWx0aXBsZSBvZiB0aGUgbWF4aW11bSBhbGlnbm1lbnQg cmVxdWlyZWQgZm9yIHlvdXIgbWFjaGluZS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQUlfRVhUUkFT UEFDRQkJMAo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBsdWFpX3VzZXJzdGF0ZSogYWxsb3cgdXNl ci1zcGVjaWZpYyBhY3Rpb25zIG9uIHRocmVhZHMuCj4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ug ZGVmaW5lZCBMVUFJX0VYVFJBU1BBQ0UgYW5kIG5lZWQgdG8gZG8gc29tZXRoaW5nCj4gLSsqKiBl eHRyYSB3aGVuIGEgdGhyZWFkIGlzIGNyZWF0ZWQvZGVsZXRlZC9yZXN1bWVkL3lpZWxkZWQuCj4g LSsqLwo+IC0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZW9wZW4oTCkJCSgodm9pZClMKQo+IC0rI2Rl ZmluZSBsdWFpX3VzZXJzdGF0ZWNsb3NlKEwpCQkoKHZvaWQpTCkKPiAtKyNkZWZpbmUgbHVhaV91 c2Vyc3RhdGV0aHJlYWQoTCxMMSkJKCh2b2lkKUwpCj4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRl ZnJlZShMKQkJKCh2b2lkKUwpCj4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlcmVzdW1lKEwsbikJ KCh2b2lkKUwpCj4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRleWllbGQoTCxuKQkoKHZvaWQpTCkK PiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX0lOVEZSTUxFTiBpcyB0aGUgbGVuZ3RoIG1vZGlm aWVyIGZvciBpbnRlZ2VyIGNvbnZlcnNpb25zCj4gLStAKiBpbiAnc3RyaW5nLmZvcm1hdCcuCj4g LStAQCBMVUFfSU5URlJNX1QgaXMgdGhlIGludGVnZXIgdHlwZSBjb3JyZXNwb2RpbmcgdG8gdGhl IHByZXZpb3VzIGxlbmd0aAo+IC0rQCogbW9kaWZpZXIuCj4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5 b3VyIHN5c3RlbSBzdXBwb3J0cyBsb25nIGxvbmcgb3IgZG9lcyBub3Qgc3VwcG9ydCBsb25nLgo+ IC0rKi8KPiAtKwo+IC0rI2lmIGRlZmluZWQoTFVBX1VTRUxPTkdMT05HKQo+IC0rCj4gLSsjZGVm aW5lIExVQV9JTlRGUk1MRU4JCSJsbCIKPiAtKyNkZWZpbmUgTFVBX0lOVEZSTV9UCQlsb25nIGxv bmcKPiAtKwo+IC0rI2Vsc2UKPiAtKwo+IC0rI2RlZmluZSBMVUFfSU5URlJNTEVOCQkibCIKPiAt KyNkZWZpbmUgTFVBX0lOVEZSTV9UCQlsb25nCj4gLSsKPiAtKyNlbmRpZgo+IC0rCj4gLSsKPiAt Kwo+IC0rLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PSAqLwo+IC0rCj4gLSsvKgo+IC0rKiogTG9jYWwgY29uZmlndXJh dGlvbi4gWW91IGNhbiB1c2UgdGhpcyBzcGFjZSB0byBhZGQgeW91ciByZWRlZmluaXRpb25zCj4g LSsqKiB3aXRob3V0IG1vZGlmeWluZyB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBmaWxlLgo+IC0rKi8K PiAtKwo+IC0rCj4gLSsKPiAtKyNlbmRpZgo+IC0rCj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVh LTUuMS40LzAxMDItQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2Ut ZmlsZXMucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMTAyLUFkZC1sdWEtc3VwcG9ydC10by1w dHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0Cj4gaW5kZXggYTJiNmM0YS4uMDAwMDAwMAo+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40 LzAxMDItQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMu cGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTI1ICswLDAgQEAKPiAtRnJvbTogRXJ3aW4g Um9sIDxlcndpbkBlcndpbnJvbC5jb20+Cj4gLURhdGU6IEZyaSwgOSBEZWMgMjAxMSAxMTozMjox MiArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEu OTk6IGFkZCBhdXRvbWFrZSBmaWxlcwo+IC0KPiAtVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQg dG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyCj4gLXNjcmlwdGluZyBs YW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9j b25mCj4gLXRvIGJ1aWxkLgo+IC0KPiAtVGhpcyBwYXJ0IG9mIHRoZSBwYXRjaCBhZGRzIHRoZSBh dXRvbWFrZSBmaWxlcy4KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3 aW5yb2wuY29tPgo+IC1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxA cGVuZ3V0cm9uaXguZGU+Cj4gLS0tLQo+IC0gTWFrZWZpbGUuYW0gICAgICB8ICA1ICsrKysrCj4g LSBkb2MvTWFrZWZpbGUuYW0gIHwgIDUgKysrKysKPiAtIGV0Yy9NYWtlZmlsZS5hbSAgfCAgOCAr KysrKysrKwo+IC0gc3JjL01ha2VmaWxlLmFtICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gLSB0ZXN0L01ha2VmaWxlLmFtIHwgIDUgKysrKysK PiAtIDUgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKQo+IC0gY3JlYXRlIG1vZGUgMTAw NjQ0IE1ha2VmaWxlLmFtCj4gLSBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL01ha2VmaWxlLmFtCj4g LSBjcmVhdGUgbW9kZSAxMDA2NDQgZXRjL01ha2VmaWxlLmFtCj4gLSBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL01ha2VmaWxlLmFtCj4gLSBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9NYWtlZmlsZS5h bQo+IC0KPiAtZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KPiAtbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiAtaW5kZXggMDAwMDAwMC4uZGU3OGEyNAo+IC0tLS0gL2Rldi9udWxs Cj4gLSsrKyBiL01ha2VmaWxlLmFtCj4gLUBAIC0wLDAgKzEsNSBAQAo+IC0rQUNMT0NBTF9BTUZM QUdTID0gLUkgbTQKPiAtKwo+IC0rU1VCRElSUyA9IHNyYyBkb2MgZXRjIHRlc3QKPiAtKwo+IC0r RVhUUkFfRElTVCA9IGF1dG9nZW4uc2ggQ09QWVJJR0hUIEhJU1RPUlkgSU5TVEFMTCBSRUFETUUK PiAtZGlmZiAtLWdpdCBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQo+IC1uZXcg ZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCAwMDAwMDAwLi41NzRiNmY4Cj4gLS0tLSAvZGV2L251 bGwKPiAtKysrIGIvZG9jL01ha2VmaWxlLmFtCj4gLUBAIC0wLDAgKzEsNSBAQAo+IC0rbWFuMV9N QU5TID0gbHVhLjEgbHVhYy4xCj4gLSsKPiAtK0VYVFJBX0RJU1QgPSBcCj4gLSsJY29udGVudHMu aHRtbCAgbHVhLjEgICBsdWFjLmh0bWwgIGx1YS5odG1sICAgICBtYW51YWwuaHRtbCBcCj4gLSsJ bG9nby5naWYgICAgICAgbHVhYy4xICBsdWEuY3NzICAgIHJlYWRtZS5odG1sCj4gLWRpZmYgLS1n aXQgYS9ldGMvTWFrZWZpbGUuYW0gYi9ldGMvTWFrZWZpbGUuYW0KPiAtbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiAtaW5kZXggMDAwMDAwMC4uMjNlZGQ5Mgo+IC0tLS0gL2Rldi9udWxsCj4gLSsrKyBi L2V0Yy9NYWtlZmlsZS5hbQo+IC1AQCAtMCwwICsxLDggQEAKPiAtK2luY2x1ZGVfSEVBREVSUyA9 IGx1YS5ocHAKPiAtKwo+IC0rcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZwo+IC0r cGtnY29uZmlnX0RBVEEgPSBsdWEucGMKPiAtKwo+IC0rRVhUUkFfRElTVCA9IFwKPiAtKwlhbGwu YyAgICAgIGx1YS5pY28gICAgbHVhLnBjLmluICBub3BhcnNlci5jICBzdHJpY3QubHVhIFwKPiAt KwlsdWF2cy5iYXQgIG1pbi5jICAgICAgUkVBRE1FCj4gLWRpZmYgLS1naXQgYS9zcmMvTWFrZWZp bGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KPiAtbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiAtaW5kZXgg MDAwMDAwMC4uY2Y2YmRlYQo+IC0tLS0gL2Rldi9udWxsCj4gLSsrKyBiL3NyYy9NYWtlZmlsZS5h bQo+IC1AQCAtMCwwICsxLDQ3IEBACj4gLStBTV9DRkxBR1MgPSAtV2FsbAo+IC0rCj4gLStpbmNs dWRlX0hFQURFUlMgPSBsdWEuaCBsdWFsaWIuaCBsYXV4bGliLmgKPiAtK25vZGlzdF9pbmNsdWRl X0hFQURFUlMgPSBsdWFjb25mLmgKPiAtKwo+IC0rbGliX0xUTElCUkFSSUVTID0gbGlibHVhLmxh Cj4gLStsaWJsdWFfbGFfTERGTEFHUyA9IC1yZWxlYXNlIEBWRVJTSU9OQCAtV2wsLS1hcy1uZWVk ZWQKPiAtK2xpYmx1YV9sYV9TT1VSQ0VTID0gXAo+IC0rCWxhcGkuYyBsY29kZS5jIGxkZWJ1Zy5j IGxkby5jIGxkdW1wLmMgbGZ1bmMuYyBsZ2MuYyBsbGV4LmMgbG1lbS5jIFwKPiAtKwlsb2JqZWN0 LmMgbG9wY29kZXMuYyBscGFyc2VyLmMgbHN0YXRlLmMgbHN0cmluZy5jIGx0YWJsZS5jIGx0bS5j ICBcCj4gLSsJbHVuZHVtcC5jIGx2bS5jIGx6aW8uYyBcCj4gLSsJbGF1eGxpYi5jIGxiYXNlbGli LmMgbGRibGliLmMgbGlvbGliLmMgbG1hdGhsaWIuYyBsb3NsaWIuYyBsdGFibGliLmMgXAo+IC0r CWxzdHJsaWIuYyBsb2FkbGliLmMgbGluaXQuYyBcCj4gLSsJbGFwaS5oIGxkZWJ1Zy5oIGxnYy5o IGxtZW0uaCBscGFyc2VyLmggbHRhYmxlLmggbHppby5oIGxkby5oIGxsZXguaCBcCj4gLSsJbG9i amVjdC5oIGxzdGF0ZS5oIGx0bS5oIGx1bmR1bXAuaCBsY29kZS5oIGxmdW5jLmggbGxpbWl0cy5o IGxvcGNvZGVzLmggXAo+IC0rCWxzdHJpbmcuaCBsdm0uaAo+IC0rCj4gLStsaWJsdWFfbGFfTElC QUREID0gQExVQV9MSUJTQAo+IC0rCj4gLStiaW5fUFJPR1JBTVMgPSBsdWEgbHVhYwo+IC0rCj4g LStsdWFfU09VUkNFUyA9IGx1YS5jCj4gLStsdWFfTERBREQgPSBsaWJsdWEubGEgQExVQV9MSUJT QAo+IC0rbHVhX0RFUEVOREVOQ0lFUyA9IGxpYmx1YS5sYQo+IC0rCj4gLStsdWFjX1NPVVJDRVMg PSBsdWFjLmMgcHJpbnQuYwo+IC0rbHVhY19MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNACj4g LStsdWFjX0RFUEVOREVOQ0lFUyA9IGxpYmx1YS5sYQo+IC0rCj4gLSsjIGx1YWMgbXVzdCBiZSBs aW5rZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZXMgZnVuY3Rpb25zIHRoYXQKPiAtKyMgZG9u J3QgZ2V0IGV4cG9ydGVkIHRvIHRoZSBzaGFyZWQgb2JqZWN0Cj4gLStsdWFjX0xERkxBR1MgPSAt c3RhdGljCj4gLSsKPiAtK0VYVFJBX0RJU1QgPSBsdWFjb25mLmgudGVtcGxhdGUuaW4KPiAtK0JV SUxUX1NPVVJDRVMgPSBsdWFjb25mLmgKPiAtK0NMRUFORklMRVMgPSBsdWFjb25mLmgKPiAtKwo+ IC0rcmVhZGxpbmVfZGVmcyA9IEBSRUFETElORV9ERUZTQAo+IC0rCj4gLStlZGl0ID0gCXNlZCBc Cj4gLSsJICAtZSAncywlbHVhX2RhdGFkaXIlLCQoZGF0YWRpciksZycgXAo+IC0rCSAgLWUgJ3Ms JWx1YV9saWJkaXIlLCQobGliZGlyKSxnJwo+IC0rCj4gLStsdWFjb25mLmggOiBsdWFjb25mLmgu dGVtcGxhdGUKPiAtKwlybSAtZiBsdWFjb25mLmggbHVhY29uZi5oLnRtcAo+IC0rCSQoZWRpdCkg bHVhY29uZi5oLnRlbXBsYXRlID4gbHVhY29uZi5oLnRtcAo+IC0rCW12IGx1YWNvbmYuaC50bXAg bHVhY29uZi5oCj4gLWRpZmYgLS1naXQgYS90ZXN0L01ha2VmaWxlLmFtIGIvdGVzdC9NYWtlZmls ZS5hbQo+IC1uZXcgZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCAwMDAwMDAwLi5iYWI3ZWFjCj4g LS0tLSAvZGV2L251bGwKPiAtKysrIGIvdGVzdC9NYWtlZmlsZS5hbQo+IC1AQCAtMCwwICsxLDUg QEAKPiAtK0VYVFJBX0RJU1QgPSBcCj4gLSsJYmlzZWN0Lmx1YSAgZW52Lmx1YSAgICAgICAgIGZp Yi5sdWEgICAgICBsaWZlLmx1YSAgICAgICAgICBwcmludGYubHVhIFwKPiAtKwlzaWV2ZS5sdWEg ICB0cmFjZS1jYWxscy5sdWEgY2YubHVhICAgICAgIGZhY3RvcmlhbC5sdWEgICAgIGdsb2JhbHMu bHVhIFwKPiAtKwlsdWFjLmx1YSAgICBSRUFETUUgICAgICAgICAgc29ydC5sdWEgICAgIHRyYWNl LWdsb2JhbHMubHVhIGVjaG8ubHVhIFwKPiAtKwlmaWJmb3IubHVhICBoZWxsby5sdWEgICAgICAg cmVhZG9ubHkubHVhIHRhYmxlLmx1YSAgICAgICAgIHhkLmx1YQo+IGRpZmYgLS1naXQgYS9wYXRj aGVzL2x1YS01LjEuNC9hdXRvZ2VuLnNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvYXV0b2dlbi5zaAo+ IGRlbGV0ZWQgZmlsZSBtb2RlIDEyMDAwMAo+IGluZGV4IDlmOGE0Y2IuLjAwMDAwMDAKPiAtLS0g YS9wYXRjaGVzL2x1YS01LjEuNC9hdXRvZ2VuLnNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xICsw LDAgQEAKPiAtLi4vYXV0b2dlbi5zaAo+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+IGRp ZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMgYi9wYXRjaGVzL2x1YS01LjEuNC9z ZXJpZXMKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA3NDZlODE5Li4wMDAwMDAw Cj4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0x LDE5ICswLDAgQEAKPiAtIyBnZW5lcmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCj4gLSMgdXBzdHJl YW0gaXNzdWVzIHdpdGggbm8gY29udGVudAo+IC0jMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXBy ZWNvbXBpbGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaAo+IC0jMDAwMi1JdC1pcy1wb3NzaWJs ZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1tLnBhdGNoCj4gLSN0YWc6dXBz dHJlYW0gLS1zdGFydC1udW1iZXIgMwo+IC0wMDAzLVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3It c29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gKPiAtMDAwNC1sdWFWX3NldHRhYmxlLW1h eS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gLTAwMDUtZGVidWcu Z2V0ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaAo+IC0w MDA2LUdDLW1heS1nZXQtc3R1Y2stZHVyaW5nLXBhcnNpbmctYW5kLWF2b2lkcy1wcm9wZXItcmUu cGF0Y2gKPiAtMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50 LXdoZW4tdGhlLnBhdGNoCj4gLTAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJiYWdlLWlm LXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCj4gLTAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZv ci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+IC0wMDEwLV9fbmV3aW5kZXgtbWV0 YW1ldGhvZC1tYXktbm90LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gKPiAtMDAxMS1QYXJz ZXItbWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0Y2gKPiAtI3Rh ZzphdXRvdG9vbHMgLS1zdGFydC1udW1iZXIgMTAwCj4gLTAxMDAtQWRkLWx1YS1zdXBwb3J0LXRv LXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCj4gLTAxMDEtQWRkLWx1YS1z dXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKPiAtMDEwMi1B ZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5wYXRjaAo+ IC0jIDhiOTA5MDRiMGE1OTIzMDMzNDNhNTdiZDYzNWUyZWY4ICAtIGdpdC1wdHgtcGF0Y2hlcyBt YWdpYwo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjMuNC8wMDAxLUNyb3NzLWNvbXBpbGUt aW4tcHR4ZGlzdC1lbnZpcmlvbm1lbnQucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjMuNC8wMDAxLUNy b3NzLWNvbXBpbGUtaW4tcHR4ZGlzdC1lbnZpcmlvbm1lbnQucGF0Y2gKPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjUyODgzZjMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIv cGF0Y2hlcy9sdWEtNS4zLjQvMDAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3QtZW52aXJpb25t ZW50LnBhdGNoCj4gQEAgLTAsMCArMSwxMDUgQEAKPiArRnJvbTogRGVuaXMgT3N0ZXJsYW5kIDxE ZW5pcy5Pc3RlcmxhbmRAZGllaGwuY29tPgo+ICtEYXRlOiBXZWQsIDI4IEp1biAyMDE3IDE1OjUy OjQyICswMjAwCj4gK1N1YmplY3Q6IFtQQVRDSF0gQ3Jvc3MtY29tcGlsZSBpbiBwdHhkaXN0IGVu dmlyaW9ubWVudC4KPiArCj4gK1NpZ25lZC1vZmYtYnk6IERlbmlzIE9zdGVybGFuZCA8RGVuaXMu T3N0ZXJsYW5kQGRpZWhsLmNvbT4KPiArLS0tCj4gKyBNYWtlZmlsZSAgICAgfCAgOSArKysrKyst LS0KPiArIHNyYy9NYWtlZmlsZSB8IDE4ICsrKysrKysrKystLS0tLS0tLQo+ICsgMiBmaWxlcyBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiArCj4gK2RpZmYgLS1n aXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gK2luZGV4IDExOTExMGQyZjAxMC4uMmIyOTY4NDQ5 ZmI1IDEwMDY0NAo+ICstLS0gYS9NYWtlZmlsZQo+ICsrKysgYi9NYWtlZmlsZQo+ICtAQCAtNCwx MyArNCwxMyBAQAo+ICsgIyA9PSBDSEFOR0UgVEhFIFNFVFRJTkdTIEJFTE9XIFRPIFNVSVQgWU9V UiBFTlZJUk9OTUVOVCA9PT09PT09PT09PT09PT09PT09PT09PQo+ICsgCj4gKyAjIFlvdXIgcGxh dGZvcm0uIFNlZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLgo+ICstUExBVD0gbm9uZQo+ICsr UExBVD0gbGludXgKPiArIAo+ICsgIyBXaGVyZSB0byBpbnN0YWxsLiBUaGUgaW5zdGFsbGF0aW9u IHN0YXJ0cyBpbiB0aGUgc3JjIGFuZCBkb2MgZGlyZWN0b3JpZXMsCj4gKyAjIHNvIHRha2UgY2Fy ZSBpZiBJTlNUQUxMX1RPUCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC4gU2VlIHRoZSBsb2NhbCB0 YXJnZXQuCj4gKyAjIFlvdSBtYXkgd2FudCB0byBtYWtlIElOU1RBTExfTE1PRCBhbmQgSU5TVEFM TF9DTU9EIGNvbnNpc3RlbnQgd2l0aAo+ICsgIyBMVUFfUk9PVCwgTFVBX0xESVIsIGFuZCBMVUFf Q0RJUiBpbiBsdWFjb25mLmguCj4gKy1JTlNUQUxMX1RPUD0gL3Vzci9sb2NhbAo+ICsrSU5TVEFM TF9UT1A9ICQoREVTVERJUikvdXNyCj4gKyBJTlNUQUxMX0JJTj0gJChJTlNUQUxMX1RPUCkvYmlu Cj4gKyBJTlNUQUxMX0lOQz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQo+ICsgSU5TVEFMTF9MSUI9 ICQoSU5TVEFMTF9UT1ApL2xpYgo+ICtAQCAtNTIsNyArNTIsNyBAQCBSPSAkVi40Cj4gKyBhbGw6 CSQoUExBVCkKPiArIAo+ICsgJChQTEFUUykgY2xlYW46Cj4gKy0JY2Qgc3JjICYmICQoTUFLRSkg JEAKPiArKwljZCBzcmMgJiYgJChNQUtFKSAkQCBSPSRSCj4gKyAKPiArIHRlc3Q6CWR1bW15Cj4g KyAJc3JjL2x1YSAtdgo+ICtAQCAtNjIsNiArNjIsOSBAQCBpbnN0YWxsOiBkdW1teQo+ICsgCWNk IHNyYyAmJiAkKElOU1RBTExfRVhFQykgJChUT19CSU4pICQoSU5TVEFMTF9CSU4pCj4gKyAJY2Qg c3JjICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX0lOQykgJChJTlNUQUxMX0lOQykKPiArIAljZCBz cmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fTElCKSAkKElOU1RBTExfTElCKQo+ICsrCWNkIHNy YyAmJiAkKElOU1RBTExfRVhFQykgbGlibHVhLnNvLiRSICQoSU5TVEFMTF9MSUIpCj4gKysJbG4g LXMgbGlibHVhLnNvLiRSICQoSU5TVEFMTF9MSUIpL2xpYmx1YS5zby4kVgo+ICsrCWxuIC1zIGxp Ymx1YS5zby4kViAkKElOU1RBTExfTElCKS9saWJsdWEuc28KPiArIAljZCBkb2MgJiYgJChJTlNU QUxMX0RBVEEpICQoVE9fTUFOKSAkKElOU1RBTExfTUFOKQo+ICsgCj4gKyB1bmluc3RhbGw6Cj4g K2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKPiAraW5kZXggZDcxYzc1 Yzg3MzIyLi5lZjE3NjBkNjUyMjUgMTAwNjQ0Cj4gKy0tLSBhL3NyYy9NYWtlZmlsZQo+ICsrKysg Yi9zcmMvTWFrZWZpbGUKPiArQEAgLTQsMTUgKzQsMTMgQEAKPiArICMgPT0gQ0hBTkdFIFRIRSBT RVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09 PT09PT0KPiArIAo+ICsgIyBZb3VyIHBsYXRmb3JtLiBTZWUgUExBVFMgZm9yIHBvc3NpYmxlIHZh bHVlcy4KPiArLVBMQVQ9IG5vbmUKPiArK1BMQVQ9IGxpbnV4Cj4gKyAKPiArLUNDPSBnY2MgLXN0 ZD1nbnU5OQo+ICstQ0ZMQUdTPSAtTzIgLVdhbGwgLVdleHRyYSAtRExVQV9DT01QQVRfNV8yICQo U1lTQ0ZMQUdTKSAkKE1ZQ0ZMQUdTKQo+ICsrQ0ZMQUdTPSAtc3RkPWdudTk5IC1mUElDIC1PMiAt V2FsbCAtV2V4dHJhIC1ETFVBX0NPTVBBVF81XzIgJChTWVNDRkxBR1MpICQoTVlDRkxBR1MpCj4g KyBMREZMQUdTPSAkKFNZU0xERkxBR1MpICQoTVlMREZMQUdTKQo+ICsgTElCUz0gLWxtICQoU1lT TElCUykgJChNWUxJQlMpCj4gKyAKPiArLUFSPSBhciByY3UKPiArLVJBTkxJQj0gcmFubGliCj4g KytBUkZMQUdTPSByY3UKPiArIFJNPSBybSAtZgo+ICsgCj4gKyBTWVNDRkxBR1M9Cj4gK0BAIC0y OSw2ICsyNyw3IEBAIE1ZT0JKUz0KPiArIFBMQVRTPSBhaXggYnNkIGM4OSBmcmVlYnNkIGdlbmVy aWMgbGludXggbWFjb3N4IG1pbmd3IHBvc2l4IHNvbGFyaXMKPiArIAo+ICsgTFVBX0E9CWxpYmx1 YS5hCj4gKytMVUFfU089IGxpYmx1YS5zby4kUgo+ICsgQ09SRV9PPQlsYXBpLm8gbGNvZGUubyBs Y3R5cGUubyBsZGVidWcubyBsZG8ubyBsZHVtcC5vIGxmdW5jLm8gbGdjLm8gbGxleC5vIFwKPiAr IAlsbWVtLm8gbG9iamVjdC5vIGxvcGNvZGVzLm8gbHBhcnNlci5vIGxzdGF0ZS5vIGxzdHJpbmcu byBsdGFibGUubyBcCj4gKyAJbHRtLm8gbHVuZHVtcC5vIGx2bS5vIGx6aW8ubwo+ICtAQCAtNDMs OCArNDIsOCBAQCBMVUFDX1Q9CWx1YWMKPiArIExVQUNfTz0JbHVhYy5vCj4gKyAKPiArIEFMTF9P PSAkKEJBU0VfTykgJChMVUFfTykgJChMVUFDX08pCj4gKy1BTExfVD0gJChMVUFfQSkgJChMVUFf VCkgJChMVUFDX1QpCj4gKy1BTExfQT0gJChMVUFfQSkKPiArK0FMTF9UPSAkKExVQV9BKSAkKExV QV9TTykgJChMVUFfVCkgJChMVUFDX1QpCj4gKytBTExfQT0gJChMVUFfQSkgJChMVUFfU08pCj4g KyAKPiArICMgVGFyZ2V0cyBzdGFydCBoZXJlLgo+ICsgZGVmYXVsdDogJChQTEFUKQo+ICtAQCAt NTYsOSArNTUsMTIgQEAgbzoJJChBTExfTykKPiArIGE6CSQoQUxMX0EpCj4gKyAKPiArICQoTFVB X0EpOiAkKEJBU0VfTykKPiArLQkkKEFSKSAkQCAkKEJBU0VfTykKPiArKwkkKEFSKSAkKEFSRkxB R1MpICRAICQoQkFTRV9PKQo+ICsgCSQoUkFOTElCKSAkQAo+ICsgCj4gKyskKExVQV9TTyk6ICQo QkFTRV9PKQo+ICsrCSQoQ0MpIC1zaGFyZWQgLW8gJEAgJChCQVNFX08pICQoZmlsdGVyLW91dCAl cmVhZGxpbmUsICQoTElCUykpCj4gKysKPiArICQoTFVBX1QpOiAkKExVQV9PKSAkKExVQV9BKQo+ ICsgCSQoQ0MpIC1vICRAICQoTERGTEFHUykgJChMVUFfTykgJChMVUFfQSkgJChMSUJTKQo+ICsg Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMy40LzAwMDItSW5zdGFsbC1wa2djb25maWct ZmlsZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMy40LzAwMDItSW5zdGFsbC1wa2djb25maWctZmls ZS5wYXRjaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNTcxNzE3OAo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9wYXRjaGVzL2x1YS01LjMuNC8wMDAyLUluc3RhbGwtcGtn Y29uZmlnLWZpbGUucGF0Y2gKPiBAQCAtMCwwICsxLDYxIEBACj4gK0Zyb206IERlbmlzIE9zdGVy bGFuZCA8RGVuaXMuT3N0ZXJsYW5kQGRpZWhsLmNvbT4KPiArRGF0ZTogVGh1LCAyOSBKdW4gMjAx NyAxNDo1NDowNCArMDIwMAo+ICtTdWJqZWN0OiBbUEFUQ0hdIEluc3RhbGwgcGtnY29uZmlnIGZp bGUuCj4gKwo+ICtTaWduZWQtb2ZmLWJ5OiBEZW5pcyBPc3RlcmxhbmQgPERlbmlzLk9zdGVybGFu ZEBkaWVobC5jb20+Cj4gKy0tLQo+ICsgTWFrZWZpbGUgIHwgIDggKysrKysrLS0KPiArIGx1YS5w Yy5pbiB8IDEyICsrKysrKysrKysrKwo+ICsgMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQo+ICsgY3JlYXRlIG1vZGUgMTAwNjQ0IGx1YS5wYy5pbgo+ICsK PiArZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKPiAraW5kZXggMmIyOTY4NDQ5ZmI1 Li4wZWNkMDE5ODE2OWYgMTAwNjQ0Cj4gKy0tLSBhL01ha2VmaWxlCj4gKysrKyBiL01ha2VmaWxl Cj4gK0BAIC01NywxNCArNTcsMTUgQEAgJChQTEFUUykgY2xlYW46Cj4gKyB0ZXN0OglkdW1teQo+ ICsgCXNyYy9sdWEgLXYKPiArIAo+ICstaW5zdGFsbDogZHVtbXkKPiArLQljZCBzcmMgJiYgJChN S0RJUikgJChJTlNUQUxMX0JJTikgJChJTlNUQUxMX0lOQykgJChJTlNUQUxMX0xJQikgJChJTlNU QUxMX01BTikgJChJTlNUQUxMX0xNT0QpICQoSU5TVEFMTF9DTU9EKQo+ICsraW5zdGFsbDogZHVt bXkgbHVhLnBjCj4gKysJY2Qgc3JjICYmICQoTUtESVIpICQoSU5TVEFMTF9CSU4pICQoSU5TVEFM TF9JTkMpICQoSU5TVEFMTF9MSUIpL3BrZ2NvbmZpZyAkKElOU1RBTExfTUFOKSAkKElOU1RBTExf TE1PRCkgJChJTlNUQUxMX0NNT0QpCj4gKyAJY2Qgc3JjICYmICQoSU5TVEFMTF9FWEVDKSAkKFRP X0JJTikgJChJTlNUQUxMX0JJTikKPiArIAljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9f SU5DKSAkKElOU1RBTExfSU5DKQo+ICsgCWNkIHNyYyAmJiAkKElOU1RBTExfREFUQSkgJChUT19M SUIpICQoSU5TVEFMTF9MSUIpCj4gKyAJY2Qgc3JjICYmICQoSU5TVEFMTF9FWEVDKSBsaWJsdWEu c28uJFIgJChJTlNUQUxMX0xJQikKPiArIAlsbiAtcyBsaWJsdWEuc28uJFIgJChJTlNUQUxMX0xJ QikvbGlibHVhLnNvLiRWCj4gKyAJbG4gLXMgbGlibHVhLnNvLiRWICQoSU5TVEFMTF9MSUIpL2xp Ymx1YS5zbwo+ICsrCSQoSU5TVEFMTF9EQVRBKSBsdWEucGMgJChJTlNUQUxMX0xJQikvcGtnY29u ZmlnCj4gKyAJY2QgZG9jICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX01BTikgJChJTlNUQUxMX01B TikKPiArIAo+ICsgdW5pbnN0YWxsOgo+ICtAQCAtMTExLDYgKzExMiw5IEBAIHBjOgo+ICsgCUBl Y2hvICJsaWJkaXI9JChJTlNUQUxMX0xJQikiCj4gKyAJQGVjaG8gImluY2x1ZGVkaXI9JChJTlNU QUxMX0lOQykiCj4gKyAKPiArK2x1YS5wYzogbHVhLnBjLmluCj4gKysJc2VkIC1lICJzL0BWRVJT SU9OQC8kUi9nIiAkPCA+ICRACj4gKysKPiArICMgbGlzdCB0YXJnZXRzIHRoYXQgZG8gbm90IGNy ZWF0ZSBmaWxlcyAoYnV0IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFuZCAuUEhPTlkpCj4gKyAuUEhP Tlk6IGFsbCAkKFBMQVRTKSBjbGVhbiB0ZXN0IGluc3RhbGwgbG9jYWwgbm9uZSBkdW1teSBlY2hv IHBlY2hvIGxlY2hvCj4gKyAKPiArZGlmZiAtLWdpdCBhL2x1YS5wYy5pbiBiL2x1YS5wYy5pbgo+ ICtuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ICtpbmRleCAwMDAwMDAwMDAwMDAuLjYzN2I0ZTZiNGMx NAo+ICstLS0gL2Rldi9udWxsCj4gKysrKyBiL2x1YS5wYy5pbgo+ICtAQCAtMCwwICsxLDEyIEBA Cj4gKytwcmVmaXg9JHtwY2ZpbGVkaXJ9Ly4uLy4uCj4gKytsaWJkaXI9JHtwcmVmaXh9L2xpYgo+ ICsraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQo+ICsrCj4gKytOYW1lOiBMdWEKPiArK0Rl c2NyaXB0aW9uOiBMdWEgbGFuZ3VhZ2UgZW5naW5lCj4gKytWZXJzaW9uOiBAVkVSU0lPTkAKPiAr K1JlcXVpcmVzOgo+ICsrTGliczogLUwke2xpYmRpcn0gLWxsdWEKPiArK0xpYnMucHJpdmF0ZTog LWxtIC1sZGwKPiArK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9Cj4gKysKPiBkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzIGIvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi44ZDBhNzkzCj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL3BhdGNoZXMvbHVhLTUuMy40L3Nlcmllcwo+IEBAIC0wLDAgKzEsNSBAQAo+ICsj IGdlbmVyYXRlZCBieSBnaXQtcHR4LXBhdGNoZXMKPiArI3RhZzpiYXNlIC0tc3RhcnQtbnVtYmVy IDEKPiArMDAwMS1Dcm9zcy1jb21waWxlLWluLXB0eGRpc3QtZW52aXJpb25tZW50LnBhdGNoCj4g KzAwMDItSW5zdGFsbC1wa2djb25maWctZmlsZS5wYXRjaAo+ICsjIDhjZWIyMzFiZDFkN2RhZmYw NjZhYTA0NWU3NjFhNWQ4ICAtIGdpdC1wdHgtcGF0Y2hlcyBtYWdpYwo+IGRpZmYgLS1naXQgYS9y dWxlcy9sdWEuaW4gYi9ydWxlcy9sdWEuaW4KPiBpbmRleCAzYTAzMWJjLi4xNWM5ZDcxIDEwMDY0 NAo+IC0tLSBhL3J1bGVzL2x1YS5pbgo+ICsrKyBiL3J1bGVzL2x1YS5pbgo+IEBAIC0zLDcgKzMs NyBAQAo+ICBtZW51Y29uZmlnIExVQQo+ICAJdHJpc3RhdGUKPiAgCXByb21wdCAibHVhICAgICAg ICAgICAgICAgICAgICAgICAgICAgIgo+IC0Jc2VsZWN0IFJFQURMSU5FCWlmIExVQV9SRUFETElO RQo+ICsJc2VsZWN0IFJFQURMSU5FCj4gIAlzZWxlY3QgTElCQ19NCj4gIAlzZWxlY3QgTElCQ19E TAo+ICAJaGVscAo+IEBAIC0xOSwxMyArMTksNiBAQCBtZW51Y29uZmlnIExVQQo+ICAKPiAgaWYg TFVBCj4gIAo+IC1jb25maWcgTFVBX1JFQURMSU5FCj4gLQlib29sCj4gLQlwcm9tcHQgIlVzZSBy ZWFkbGluZSIKPiAtCWRlcGVuZHMgb24gQlJPS0VOCj4gLQloZWxwCj4gLQkgIEZJWE1FCj4gLQo+ ICBjb25maWcgTFVBX0lOU1RBTExfTFVBCj4gIAlib29sCj4gIAlwcm9tcHQgIkluc3RhbGwgbHVh IG9uIHRhcmdldCIKPiBkaWZmIC0tZ2l0IGEvcnVsZXMvbHVhLm1ha2UgYi9ydWxlcy9sdWEubWFr ZQo+IGluZGV4IDVhMzE4ZjUuLjA0OTNhZDEgMTAwNjQ0Cj4gLS0tIGEvcnVsZXMvbHVhLm1ha2UK PiArKysgYi9ydWxlcy9sdWEubWFrZQo+IEBAIC0xNyw4ICsxNyw4IEBAIFBBQ0tBR0VTLSQoUFRY Q09ORl9MVUEpICs9IGx1YQo+ICAjCj4gICMgUGF0aHMgYW5kIG5hbWVzCj4gICMKPiAtTFVBX1ZF UlNJT04JOj0gNS4xLjQKPiAtTFVBX01ENQkJOj0gZDA4NzBmMmRlNTVkNTljMWM4NDE5ZjM2ZThm YWMxNTAKPiArTFVBX1ZFUlNJT04JOj0gNS4zLjQKPiArTFVBX01ENQkJOj0gNTNhOWM2OGJjYzBl ZGE1OGJkYzIwOTVhZDVjZGZjNjMKPiAgTFVBCQk6PSBsdWEtJChMVUFfVkVSU0lPTikKPiAgTFVB X1NVRkZJWAk6PSB0YXIuZ3oKPiAgTFVBX1VSTAkJOj0gaHR0cDovL3d3dy5sdWEub3JnL2Z0cC8k KExVQSkuJChMVUFfU1VGRklYKQo+IEBAIC0zMCwxMyArMzAsMTMgQEAgTFVBX0xJQ0VOU0UgICAg IDo9IE1JVAo+ICAjIFByZXBhcmUKPiAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIAo+IC0jCj4g LSMgYXV0b2NvbmYKPiAtIwo+IC1MVUFfQVVUT0NPTkYgOj0gXAo+IC0JJChDUk9TU19BVVRPQ09O Rl9VU1IpIFwKPiAtCS0tZW5hYmxlLXN0YXRpYyBcCj4gLQktLSQoY2FsbCBwdHgvd3dvLCBQVFhD T05GX0xVQV9SRUFETElORSktcmVhZGxpbmUgXAo+ICtMVUFfQ09ORl9UT09MICAgICAgOj0gTk8K PiArCj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsjIENvbXBpbGUKPiArIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gKwo+ICtMVUFfTUFLRV9FTlYgICAgICAgOj0gJChDUk9TU19FTlYpCj4gIAo+ ICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIyBUYXJnZXQtSW5zdGFsbAo+IEBAIC01OCw3ICs1 OCw3IEBAIGlmZGVmIFBUWENPTkZfTFVBX0lOU1RBTExfTFVBQwo+ICAJQCQoY2FsbCBpbnN0YWxs X2NvcHksIGx1YSwgMCwgMCwgMDc1NSwgLSwgL3Vzci9iaW4vbHVhYykKPiAgZW5kaWYKPiAgaWZk ZWYgUFRYQ09ORl9MVUFfSU5TVEFMTF9MSUJMVUEKPiAtCUAkKGNhbGwgaW5zdGFsbF9saWIsIGx1 YSwgMCwgMCwgMDY0NCwgbGlibHVhLSQoTFVBX1ZFUlNJT04pKQo+ICsJQCQoY2FsbCBpbnN0YWxs X2xpYiwgbHVhLCAwLCAwLCAwNjQ0LCBsaWJsdWEpCj4gIGVuZGlmCj4gIAlAJChjYWxsIGluc3Rh bGxfZmluaXNoLCBsdWEpCj4gIAo+IC0tIAo+IDIuNy40Cj4gCj4gCj4gRGllaGwgQUtPIFN0aWZ0 dW5nICYgQ28uIEtHLCBQZmFubmVyc3RyYcOfZSA3NS04MywgODgyMzkgV2FuZ2VuIGltIEFsbGfD pHUKPiBCZXJlaWNoc3ZvcnN0YW5kOiBEaXBsLi1JbmcuIE1pY2hhZWwgU2llZGVudG9wIChTcHJl Y2hlciksIEpvc2VmIEZlbGxuZXIgKE1pdGdsaWVkKQo+IFNpdHogZGVyIEdlc2VsbHNjaGFmdDog V2FuZ2VuIGkuQS4g4oCTIFJlZ2lzdGVyZ2VyaWNodDogQW10c2dlcmljaHQgVWxtIEhSQSA2MjA2 MDkg4oCTIFBlcnPDtm5saWNoIGhhZnRlbmRlIEdlc2VsbHNjaGFmdGVyaW46IERpZWhsIFZlcndh bHR1bmdzLVN0aWZ0dW5nIOKAkyBTaXR6OiBOw7xybmJlcmcg4oCTIFJlZ2lzdGVyZ2VyaWNodDog QW10c2dlcmljaHQgTsO8cm5iZXJnIEhSQSAxMTc1NiDigJMKPiBWb3JzdGFuZDogRHIuLUluZy4g RS5oLiBUaG9tYXMgRGllaGwgKOKAoCkgKFZvcnNpdHplbmRlciksIEhlcnIgRGlwbC4tV2lydHNj aC4tSW5nLiBXb2xmZ2FuZyBXZWdnZW4gKHN0ZWxsdmVydHJldGVuZGVyIFZvcnNpdHplbmRlciks IERpcGwuLUtmbS4gQ2xhdXMgR8O8bnRoZXIsIERpcGwuLUtmbS4gRnJhbmsgR3V0emVpdCwgRHIu LUluZy4gSGVpbnJpY2ggU2NodW5rLCBEci4tSW5nLiBNaWNoYWVsIFNpZWRlbnRvcCAsIERpcGwu LUtmbS4gRHIuLUluZy4gTWFydGluIFNvbW1lciwgRGlwbC4tSW5nLiAoRkgpIFJhaW5lciB2b24g Qm9yc3RlbCwgVm9yc2l0emVuZGVyIGRlcyBBdWZzaWNodHNyYXRlczogRHIuIEtsYXVzIE1haWVy Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gRGVyIEluaGFs dCBkZXIgdm9yc3RlaGVuZGVuIEUtTWFpbCBpc3QgbmljaHQgcmVjaHRsaWNoIGJpbmRlbmQuIERp ZXNlIEUtTWFpbCBlbnRoYWVsdCB2ZXJ0cmF1bGljaGUgdW5kL29kZXIgcmVjaHRsaWNoIGdlc2No dWV0enRlIEluZm9ybWF0aW9uZW4uCj4gSW5mb3JtaWVyZW4gU2llIHVucyBiaXR0ZSwgd2VubiBT aWUgZGllc2UgRS1NYWlsIGZhZWxzY2hsaWNoZXJ3ZWlzZSBlcmhhbHRlbiBoYWJlbi4gQml0dGUg bG9lc2NoZW4gU2llIGluIGRpZXNlbSBGYWxsIGRpZSBOYWNocmljaHQuIEplZGUgdW5lcmxhdWJ0 ZSBGb3JtIGRlciBSZXByb2R1a3Rpb24sIEJla2FubnRnYWJlLCBBZW5kZXJ1bmcsIFZlcnRlaWx1 bmcgdW5kL29kZXIgUHVibGlrYXRpb24gZGllc2VyIEUtTWFpbCBpc3Qgc3RyZW5nc3RlbnMgdW50 ZXJzYWd0Lgo+IFRoZSBjb250ZW50cyBvZiB0aGUgYWJvdmUgbWVudGlvbmVkIGUtbWFpbCBpcyBu b3QgbGVnYWxseSBiaW5kaW5nLiBUaGlzIGUtbWFpbCBjb250YWlucyBjb25maWRlbnRpYWwgYW5k L29yIGxlZ2FsbHkgcHJvdGVjdGVkIGluZm9ybWF0aW9uLiBQbGVhc2UgaW5mb3JtIHVzIGlmIHlv dSBoYXZlIHJlY2VpdmVkIHRoaXMgZS1tYWlsIGJ5IG1pc3Rha2UgYW5kIGRlbGV0ZSBpdCBpbiBz dWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhvcml6ZWQgcmVwcm9kdWN0aW9uLCBkaXNjbG9zdXJlLCBh bHRlcmF0aW9uLCBkaXN0cmlidXRpb24gYW5kL29yIHB1YmxpY2F0aW9uIG9mIHRoaXMgZS1tYWls IGlzIHN0cmljdGx5IHByb2hpYml0ZWQuCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBwdHhkaXN0IG1haWxpbmcgbGlzdAo+IHB0eGRpc3RAcGVu Z3V0cm9uaXguZGUKCi0tIApQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfApJbmR1c3RyaWFsIExpbnV4IFNvbHV0 aW9ucyAgICAgICAgICAgICAgICAgfCBodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlLyAgfApQZWlu ZXIgU3RyLiA2LTgsIDMxMTM3IEhpbGRlc2hlaW0sIEdlcm1hbnkgfCBQaG9uZTogKzQ5LTUxMjEt MjA2OTE3LTAgICAgfApBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAgICAgICAg fCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5n dXRyb25peC5kZQ==