From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-eopbgr820139.outbound.protection.outlook.com ([40.107.82.139] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gYqWq-0006Eu-Ak for ptxdist@pengutronix.de; Mon, 17 Dec 2018 11:53:41 +0100 From: "Dold, Wolfram" Date: Mon, 17 Dec 2018 10:53:32 +0000 Message-ID: <14407aa120dc08625572957b21f300a2d45f81c5.camel@allegion.com> References: <20181211074137.kkolavuvocv273w3@pengutronix.de> <20181217082546.27099-1-wolfram.dold@allegion.com> In-Reply-To: <20181217082546.27099-1-wolfram.dold@allegion.com> Content-Language: en-US Content-ID: <60CBC7C69964A84C9E85B1566FA2BB8E@prod.exchangelabs.com> MIME-Version: 1.0 Subject: Re: [ptxdist] [PATCH v2 2/2] patches/polkit-0.105: Ubuntu polkit patches 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" T24gTW9uLCAyMDE4LTEyLTE3IGF0IDA4OjI2ICswMDAwLCBEb2xkLCBXb2xmcmFtIHdyb3RlOg0K PiBPbiBNb24sIERlYyAxMCwgMjAxOCBhdCAwMjoxODowN1BNICswMDAwLCBEb2xkLCBXb2xmcmFt IHdyb3RlOg0KPiA+ID4gSW5zdGFsbGluZyAnb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuY29u ZicgdG8gZGlyZWN0b3J5DQo+ID4gPiAnL2V0Yy9kYnVzLTEvc3lzdGVtLmQvJyBmYWlscy4NCj4g PiA+IFRoZSBjb3JyZWN0IGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgaXMgJy91c3Ivc2hhcmUvZGJ1 cy0xL3N5c3RlbS5kLycuDQo+ID4gPiAtLS0NCj4gPiA+ICBydWxlcy9wb2xraXQubWFrZSB8IDIg Ky0NCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkN Cj4gPiA+IA0KPiA+ID4gZGlmZiAtLWdpdCBhL3J1bGVzL3BvbGtpdC5tYWtlIGIvcnVsZXMvcG9s a2l0Lm1ha2UNCj4gPiA+IGluZGV4IDQ1MDVlMGU3OC4uNmU3YjNlYjBhIDEwMDY0NA0KPiA+ID4g LS0tIGEvcnVsZXMvcG9sa2l0Lm1ha2UNCj4gPiA+ICsrKyBiL3J1bGVzL3BvbGtpdC5tYWtlDQo+ ID4gPiBAQCAtNjAsNyArNjAsNyBAQCAkKFNUQVRFRElSKS9wb2xraXQudGFyZ2V0aW5zdGFsbDoN Cj4gPiA+ICANCj4gPiA+ICAjIGRidXMNCj4gPiA+ICAJQCQoY2FsbCBpbnN0YWxsX2NvcHksIHBv bGtpdCwgMCwgMCwgMDY0NCwgLSwgXA0KPiA+ID4gLQkJL2V0Yy9kYnVzLTEvc3lzdGVtLmQvb3Jn LmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuY29uZikNCj4gPiA+ICsJCS91c3Ivc2hhcmUvZGJ1cy0x L3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLmNvbmYpDQo+ID4gDQo+ID4gVGhp cyBkb2VzIG5vdCB3b3JrLiAnbWFrZSBpbnN0YWxsJyBuZWVkcyB0byBpbnN0YWxsIHRoZSBmaWxl IHRvIHRoZSBjb3JyZWN0DQo+ID4gbG9jYXRpb24gYXMgd2VsbC4gSSB0aGluayBkZWJpYW4gaGFz IGEgcGF0Y2ggZm9yIHRoaXMuDQo+ID4gDQo+IA0KPiBXaGlsZSBzZWFyY2hpbmcgZm9yIHRoZSBw YXRjaCBJIGZvdW5kIG91dCB0aGF0IHVidW50dSBpcyBzdGlsbCBhY3RpdmVseQ0KPiBtYWludGFp bmluZyB0aGUgdmVyc2lvbiBwb2xraXQgMTA1LiBTbyBJIHRob3VnaHQgaXQgd2FzIHdvcnRoIHVz aW5nIA0KPiBhbGwgVWJ1bnR1IHBhdGNoZXMgaW4gcHR4ZGlzdCBhcyB3ZWxsLg0KPiANCg0KVGhl IHBvbGtpdCB2ZXJzaW9uIDAuMTA1IGlzIG5vdCB1cC10by1kYXRlLCBidXQgdGhlIGxhc3Qgb25l IHdpdGhvdXQNCkphdmFTY3JpcHQuDQpKYXZhU2NyaXB0IGlzIG5vdCBhbiBvcHRpb24gYmVjYXVz ZSBpdCBuZWVkcyB0b28gbXVjaCBzdG9yYWdlLg0KSW4gVWJ1bnR1IC0gYXQgbGVhc3QgdW50aWwg dmVyc2lvbiAxOS4wNCAtIHRoaXMgcG9sa2l0IHZlcnNpb24NCmlzIHN0aWxsIG1haW50YWluZWQu DQpJbiBvcmRlciBmb3IgdGhlIHBhdGNoZXMgdG8gYmUgYXBwbGllZCwgJ3BvbGtpdC5tYWtlJyBo YWQgdG8gYmUgYWRhcHRlZA0KYXMgd2VsbCAuDQoNClNpZ25lZC1vZmYtYnk6IFdvbGZyYW0gRG9s ZCA8d29sZnJhbS5kb2xkQGFsbGVnaW9uLmNvbT4NCi0tLQ0KIC4uLmhlbHBlci1wYW0tRml4LW5l d2xpbmUtdHJpbW1pbmctY29kZS5wYXRjaCB8ICA0MyArKw0KIC4uLml4LS5naXItZ2VuZXJhdGlv bi1mb3ItcGFyYWxsZWwtbWFrZS5wYXRjaCB8ICA0MSArKw0KIHBhdGNoZXMvcG9sa2l0LTAuMTA1 LzAuMTEwLzA0X2dldF9jd2QucGF0Y2ggICB8ICA0MCArKw0KIC4uLkhPUklUWS1lbnZpcm9ubWVu dC12YXJpYWJsZS1pZi11bnNldC5wYXRjaCB8ICA1OCArKw0KIC4uLi8wLjExMS8wOV9wYW1fZW52 aXJvbm1lbnQucGF0Y2ggICAgICAgICAgICB8ICA0MyArKw0KIC4uLi8wLjExMS9GaXgtYS1tZW1v cnktbGVhay5wYXRjaCAgICAgICAgICAgICB8ICAyMiArDQogLi4uLzAuMTEyLzAwZ2l0X3R5cGVf cmVnaXN0cmF0aW9uLnBhdGNoICAgICAgIHwgMTE4ICsrKysNCiAuLi4vMC4xMTIvMDhfZGVwcmVj YXRlX3JhY3lfQVBJcy5wYXRjaCAgICAgICAgfCAgMjcgKw0KIC4uLi9wb2xraXQtMC4xMDUvMC4x MTIvY3ZlLTIwMTMtNDI4OC5wYXRjaCAgICB8IDExNiArKysrDQogLi4uLzAuMTEzLzAwZ2l0X2Zp eF9tZW1sZWFrLnBhdGNoICAgICAgICAgICAgIHwgIDI2ICsNCiAuLi4vMC4xMTMvMDBnaXRfaW52 YWxpZF9vYmplY3RfcGF0aHMucGF0Y2ggICAgfCAxMTYgKysrKw0KIC4uLm9uLWZpeC1yYWNlLWJl dHdlZW4tY2hpbGQtYW5kLWlvLXdhdC5wYXRjaCB8IDEyMCArKysrDQogLi4uL0NWRS0yMDE1LTMy NTUtRml4LUdIYXNoVGFibGUtdXNhZ2UucGF0Y2ggIHwgIDY4ICsrKw0KIC4uLkJpbmQtdXNlLW9m LWNvb2tpZXMtdG8tc3BlY2lmaWMtdWlkcy5wYXRjaCB8IDQ4NCArKysrKysrKysrKysrKysNCiAu Li5lLXVucHJlZGljdGFibGUtY29va2llLXZhbHVlcy1rZWVwLXQucGF0Y2ggfCA1NDAgKysrKysr KysrKysrKysrKysNCiAuLi5yb3ItZGF0YS1yZXR1cm5lZC1ieS1wb2xraXRfc3lzdGVtX2IucGF0 Y2ggfCAgMjUgKw0KIC4uLi10d28tYXV0aGVudGljYXRpb24tcmVxdWVzdHMtYXJlLWluLS5wYXRj aCB8ICAzNiArKw0KIC4uLmstd2hlbi1yZWdpc3RlcmluZy1hbi1hdXRoZW50aWNhdGlvbi5wYXRj aCB8ICAyMiArDQogLi4uL0ZpeC1hLXBlci1hdXRob3JpemF0aW9uLW1lbW9yeS1sZWFrLnBhdGNo IHwgIDQ5ICsrDQogLi4uL0ZpeC1hLXBvc3NpYmxlLU5VTEwtZGVyZWZlcmVuY2UucGF0Y2ggICAg IHwgIDM1ICsrDQogLi4uaWNhdGUtR0Vycm9yLXVzZS13aGVuLXVpZC1pcy1taXNzaW5nLnBhdGNo IHwgIDMyICsNCiAuLi5lLWFmdGVyLWZyZWUtaW4tcG9sa2l0YWdlbnRzZXNzaW9uLmMucGF0Y2gg fCAgMzIgKw0KIC4uLmQtY29tcGlsYXRpb24tcHJvYmxlbS1pbi10aGUtYmFja2VuZC5wYXRjaCB8 ICAyMyArDQogLi4uYW1lLUFkZC1wdWJsaWMtQVBJLXRvLXJldHJpZXZlLVVuaXgtLnBhdGNoIHwg MTY2ICsrKysrDQogLi4ub24tZGVwcmVjYXRlZC1Qb2xraXRQcm9jZXNzLUFQSS13aGVyLnBhdGNo IHwgIDI5ICsNCiAuLi5lbmQtc2VjdXJpdHktcmVwb3J0cy12aWEtREJ1cy1zLW1lY2gucGF0Y2gg fCAgMzkgKysNCiAuLi5lLWR1cGxpY2F0ZS11c2VyLWFyZ3VtZW50cy10by1wa2V4ZWMucGF0Y2gg fCAgMzggKysNCiAuLi4vMC4xMTMvUmVtb3ZlLWEtcmVkdW5kYW50LWFzc2lnbm1lbnQucGF0Y2gg fCAgMjYgKw0KIC4uLmNoYW5nZXMtdG8tdWlkLWJpbmRpbmctQXV0aGVudGljYXRpby5wYXRjaCB8 IDI1OSArKysrKysrKw0KIC4uLm5kLXN5c3RlbWQtaW5qZWN0aW5nLWJyb2tlbi1YREdfUlVOVC5w YXRjaCB8ICA3NiArKysNCiAuLi5sZW0td2l0aC1yZW1vdmluZy1ub24tZXhpc3RlbnQtc291cmMu cGF0Y2ggfCAgMjMgKw0KIC4uLm5pdG9yLXN5c3RlbWQtRGVkdXBsaWNhdGUtY29kZS1wYXRocy5w YXRjaCB8IDEwNCArKysrDQogLi4ueXN0ZW1kLVVzZS1zZF91aWRfZ2V0X3N0YXRlLXRvLWNoZWNr LnBhdGNoIHwgIDczICsrKw0KIC4uLnlzdGVtZC1wcmVwYXJlLWZvci1ELUJ1cy11c2VyLWJ1cy1t by5wYXRjaCB8ICA4OSArKysNCiAuLi5kZC1nZXR0ZXh0LXN1cHBvcnQtZm9yLS5wb2xpY3ktZmls ZXMucGF0Y2ggfCAgNTggKysNCiAuLi4vMC4xMTQvRml4LW11bHRpLWxpbmUtcGFtLXRleHQtaW5m by5wYXRjaCAgfCAgMzkgKysNCiAuLi4vMC4xMTQvUmVmYWN0b3Itc2VuZF90b19oZWxwZXItdXNh Z2UucGF0Y2ggfCAxNDkgKysrKysNCiAuLi5uLWFnZW50LXJ1bm5pbmctb3V0c2lkZS11c2VyLXNl c3Npb24ucGF0Y2ggfCAgNTEgKysNCiAuLi50dGV4dC1zd2l0Y2gtdG8tZGVmYXVsdC10cmFuc2xh dGUtbm8ucGF0Y2ggfCAgNDEgKysNCiAuLi4xOC0xMTE2LVRydXN0aW5nLWNsaWVudC1zdXBwbGll ZC1VSUQucGF0Y2ggfCA1NjkgKysrKysrKysrKysrKysrKysrDQogLi4uYnN5c3RlbWQtaW5zdGVh ZC1vZi1saWJzeXN0ZW1kLWxvZ2luLnBhdGNoIHwgIDIyIC0NCiBwYXRjaGVzL3BvbGtpdC0wLjEw NS8wMV9wYW1fcG9sa2l0LnBhdGNoICAgICAgfCAgMjYgKw0KIHBhdGNoZXMvcG9sa2l0LTAuMTA1 LzAyX2dldHRleHQucGF0Y2ggICAgICAgICB8IDE5MyArKysrKysNCiAuLi5ydC1hZG1pbi1pZGVu dGl0aWVzLXVuaXgtZ3JvdXAtd2hlZWwucGF0Y2ggfCAgMzUgKysNCiBwYXRjaGVzL3BvbGtpdC0w LjEwNS8wNl9zeXN0ZW1kLXNlcnZpY2UucGF0Y2ggfCAgMTggKw0KIC4uLi8xMF9idWlsZC1hZ2Fp bnN0LWxpYnN5c3RlbWQucGF0Y2ggICAgICAgICB8ICAzMiArDQogLi4uY3ktZmlsZS10by11c3It c2hhcmUtZGJ1cy0xLXN5c3RlbS5kLnBhdGNoIHwgIDMxICsNCiBwYXRjaGVzL3BvbGtpdC0wLjEw NS9hdXRvZ2VuLnNoICAgICAgICAgICAgICAgfCAgMTkgKy0NCiBwYXRjaGVzL3BvbGtpdC0wLjEw NS9zZXJpZXMgICAgICAgICAgICAgICAgICAgfCAgNTAgKy0NCiBydWxlcy9wb2xraXQubWFrZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCiA1MCBmaWxlcyBjaGFuZ2VkLCA0 MzQ1IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBw YXRjaGVzL3BvbGtpdC0wLjEwNS8wLjEwNi9hZ2VudGhlbHBlci1wYW0tRml4LW5ld2xpbmUtdHJp bW1pbmctY29kZS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEw NS8wLjEwOC9idWlsZC1GaXgtLmdpci1nZW5lcmF0aW9uLWZvci1wYXJhbGxlbC1tYWtlLnBhdGNo DQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEwLzA0X2dldF9j d2QucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTAv MDdfc2V0LVhBVVRIT1JJVFktZW52aXJvbm1lbnQtdmFyaWFibGUtaWYtdW5zZXQucGF0Y2gNCiBj cmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTEvMDlfcGFtX2Vudmly b25tZW50LnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAu MTExL0ZpeC1hLW1lbW9yeS1sZWFrLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMv cG9sa2l0LTAuMTA1LzAuMTEyLzAwZ2l0X3R5cGVfcmVnaXN0cmF0aW9uLnBhdGNoDQogY3JlYXRl IG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEyLzA4X2RlcHJlY2F0ZV9yYWN5 X0FQSXMucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4x MTIvY3ZlLTIwMTMtNDI4OC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtp dC0wLjEwNS8wLjExMy8wMGdpdF9maXhfbWVtbGVhay5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy8wMGdpdF9pbnZhbGlkX29iamVjdF9wYXRocy5w YXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy8wM19Q b2xraXRBZ2VudFNlc3Npb24tZml4LXJhY2UtYmV0d2Vlbi1jaGlsZC1hbmQtaW8td2F0LnBhdGNo DQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0NWRS0yMDE1 LTMyNTUtRml4LUdIYXNoVGFibGUtdXNhZ2UucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0 Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvQ1ZFLTIwMTUtNDYyNS1CaW5kLXVzZS1vZi1jb29raWVz LXRvLXNwZWNpZmljLXVpZHMucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xr aXQtMC4xMDUvMC4xMTMvQ1ZFLTIwMTUtNDYyNS1Vc2UtdW5wcmVkaWN0YWJsZS1jb29raWUtdmFs dWVzLWtlZXAtdC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEw NS8wLjExMy9Eb24tdC1kaXNjYXJkLWVycm9yLWRhdGEtcmV0dXJuZWQtYnktcG9sa2l0X3N5c3Rl bV9iLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEz L0ZpeC1hLWNyYXNoLXdoZW4tdHdvLWF1dGhlbnRpY2F0aW9uLXJlcXVlc3RzLWFyZS1pbi0ucGF0 Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LWEt bWVtb3J5LWxlYWstd2hlbi1yZWdpc3RlcmluZy1hbi1hdXRoZW50aWNhdGlvbi5wYXRjaA0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9GaXgtYS1wZXItYXV0 aG9yaXphdGlvbi1tZW1vcnktbGVhay5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVz L3BvbGtpdC0wLjEwNS8wLjExMy9GaXgtYS1wb3NzaWJsZS1OVUxMLWRlcmVmZXJlbmNlLnBhdGNo DQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeC1kdXBs aWNhdGUtR0Vycm9yLXVzZS13aGVuLXVpZC1pcy1taXNzaW5nLnBhdGNoDQogY3JlYXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeC11c2UtYWZ0ZXItZnJlZS1pbi1w b2xraXRhZ2VudHNlc3Npb24uYy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3Bv bGtpdC0wLjEwNS8wLjExMy9GaXhlZC1jb21waWxhdGlvbi1wcm9ibGVtLWluLXRoZS1iYWNrZW5k LnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL1Bv bGtpdFN5c3RlbUJ1c05hbWUtQWRkLXB1YmxpYy1BUEktdG8tcmV0cmlldmUtVW5peC0ucGF0Y2gN CiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvUG9ydC1pbnRl cm5hbHMtbm9uLWRlcHJlY2F0ZWQtUG9sa2l0UHJvY2Vzcy1BUEktd2hlci5wYXRjaA0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9SRUFETUUtTm90ZS10by1z ZW5kLXNlY3VyaXR5LXJlcG9ydHMtdmlhLURCdXMtcy1tZWNoLnBhdGNoDQogY3JlYXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL1JlZnVzZS1kdXBsaWNhdGUtdXNlci1h cmd1bWVudHMtdG8tcGtleGVjLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9s a2l0LTAuMTA1LzAuMTEzL1JlbW92ZS1hLXJlZHVuZGFudC1hc3NpZ25tZW50LnBhdGNoDQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL2RvY3MtVXBkYXRlLWZv ci1jaGFuZ2VzLXRvLXVpZC1iaW5kaW5nLUF1dGhlbnRpY2F0aW8ucGF0Y2gNCiBjcmVhdGUgbW9k ZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvcGtleGVjLVdvcmstYXJvdW5kLXN5 c3RlbWQtaW5qZWN0aW5nLWJyb2tlbi1YREdfUlVOVC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9wb2xraXRkLUZpeC1wcm9ibGVtLXdpdGgtcmVt b3Zpbmctbm9uLWV4aXN0ZW50LXNvdXJjLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNo ZXMvcG9sa2l0LTAuMTA1LzAuMTEzL3Nlc3Npb25tb25pdG9yLXN5c3RlbWQtRGVkdXBsaWNhdGUt Y29kZS1wYXRocy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEw NS8wLjExMy9zZXNzaW9ubW9uaXRvci1zeXN0ZW1kLVVzZS1zZF91aWRfZ2V0X3N0YXRlLXRvLWNo ZWNrLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEz L3Nlc3Npb25tb25pdG9yLXN5c3RlbWQtcHJlcGFyZS1mb3ItRC1CdXMtdXNlci1idXMtbW8ucGF0 Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTQvQWRkLWdl dHRleHQtc3VwcG9ydC1mb3ItLnBvbGljeS1maWxlcy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExNC9GaXgtbXVsdGktbGluZS1wYW0tdGV4dC1pbmZv LnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE0L1Jl ZmFjdG9yLXNlbmRfdG9faGVscGVyLXVzYWdlLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBh dGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE0L1N1cHBvcnQtcG9sa2l0LXNlc3Npb24tYWdlbnQtcnVu bmluZy1vdXRzaWRlLXVzZXItc2Vzc2lvbi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRj aGVzL3BvbGtpdC0wLjEwNS8wLjExNC9nZXR0ZXh0LXN3aXRjaC10by1kZWZhdWx0LXRyYW5zbGF0 ZS1uby5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjEx NS9GaXgtQ1ZFLTIwMTgtMTExNi1UcnVzdGluZy1jbGllbnQtc3VwcGxpZWQtVUlELnBhdGNoDQog ZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAwMDEtY2hlY2stZm9yLWxp YnN5c3RlbWQtaW5zdGVhZC1vZi1saWJzeXN0ZW1kLWxvZ2luLnBhdGNoDQogY3JlYXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvcG9sa2l0LTAuMTA1LzAxX3BhbV9wb2xraXQucGF0Y2gNCiBjcmVhdGUg bW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvMDJfZ2V0dGV4dC5wYXRjaA0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8wNV9yZXZlcnQtYWRtaW4taWRlbnRp dGllcy11bml4LWdyb3VwLXdoZWVsLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMv cG9sa2l0LTAuMTA1LzA2X3N5c3RlbWQtc2VydmljZS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwYXRjaGVzL3BvbGtpdC0wLjEwNS8xMF9idWlsZC1hZ2FpbnN0LWxpYnN5c3RlbWQucGF0Y2gN CiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb2xraXQtMC4xMDUvTW92ZS1ELUJ1cy1wb2xp Y3ktZmlsZS10by11c3Itc2hhcmUtZGJ1cy0xLXN5c3RlbS5kLnBhdGNoDQogbW9kZSBjaGFuZ2Ug MTIwMDAwID0+IDEwMDc1NSBwYXRjaGVzL3BvbGtpdC0wLjEwNS9hdXRvZ2VuLnNoDQoNCmRpZmYg LS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjEwNi9hZ2VudGhlbHBlci1wYW0tRml4LW5l d2xpbmUtdHJpbW1pbmctY29kZS5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMDYv YWdlbnRoZWxwZXItcGFtLUZpeC1uZXdsaW5lLXRyaW1taW5nLWNvZGUucGF0Y2gNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjA1MTViNTM1YQ0KLS0tIC9kZXYvbnVsbA0K KysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMDYvYWdlbnRoZWxwZXItcGFtLUZpeC1uZXds aW5lLXRyaW1taW5nLWNvZGUucGF0Y2gNCkBAIC0wLDAgKzEsNDMgQEANCitGcm9tOiBDb2xpbiBX YWx0ZXJzIDx3YWx0ZXJzQHZlcmJ1bS5vcmc+DQorRGF0ZTogV2VkLCA2IEp1biAyMDEyIDA5OjA1 OjE0IC0wNDAwDQorU3ViamVjdDogYWdlbnRoZWxwZXItcGFtOiBGaXggbmV3bGluZS10cmltbWlu ZyBjb2RlDQorDQorRmlyc3QsIHdlIHdlcmUgdXNpbmcgPT0gaW5zdGVhZCBvZiA9LCBhcyB0aGUg YXV0aG9yIHByb2JhYmx5IGludGVuZGVkLg0KK0J1dCBhZnRlciBjaGFuZ2luZyB0aGF0LCB3ZSdy ZSBub3cgYXNzaWduaW5nIHRvIGNvbnN0IG1lbW9yeS4gIEZpeA0KK3RoYXQgYnkgd3JpdGluZyB0 byBhIHRlbXBvcmFyeSBzdHJpbmcgYnVmZmVyLg0KKw0KK1NpZ25lZC1vZmYtYnk6IERhdmlkIFpl dXRoZW4gPHpldXRoZW5AZ21haWwuY29tPg0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTA2LCBjb21t aXQ6MTQxMjFmZGE3ZTRmYTk0NjNjNjZjZTQxOWNjMzJiZTdlN2YzYjUzNQ0KKy0tLQ0KKyBzcmMv cG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMgfCAxMSArKysrKysrKy0tLQ0KKyAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYg LS1naXQgYS9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMgYi9zcmMvcG9s a2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMNCitpbmRleCA4NWEyNjcxLi43YWY1MzIx IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYw0K KysrKyBiL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYw0KK0BAIC0yMjcs NiArMjI3LDggQEAgY29udmVyc2F0aW9uX2Z1bmN0aW9uIChpbnQgbiwgY29uc3Qgc3RydWN0IHBh bV9tZXNzYWdlICoqbXNnLCBzdHJ1Y3QgcGFtX3Jlc3BvbnMNCisgICBjaGFyIGJ1ZltQQU1fTUFY X1JFU1BfU0laRV07DQorICAgaW50IGk7DQorICAgZ2NoYXIgKmVzY2FwZWQgPSBOVUxMOw0KKysg IGdjaGFyICp0bXAgPSBOVUxMOw0KKysgIHNpemVfdCBsZW47DQorIA0KKyAgIGRhdGEgPSBkYXRh Ow0KKyAgIGlmIChuIDw9IDAgfHwgbiA+IFBBTV9NQVhfTlVNX01TRykNCitAQCAtMjU4LDkgKzI2 MCwxMiBAQCBjb252ZXJzYXRpb25fZnVuY3Rpb24gKGludCBuLCBjb25zdCBzdHJ1Y3QgcGFtX21l c3NhZ2UgKiptc2csIHN0cnVjdCBwYW1fcmVzcG9ucw0KKyAjaWZkZWYgUEFIX0RFQlVHDQorICAg ICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IHdyaXRpbmcg YCVzJyB0byBzdGRvdXRcbiIsIG1zZ1tpXS0+bXNnKTsNCisgI2VuZGlmIC8qIFBBSF9ERUJVRyAq Lw0KKy0gICAgICAgICAgaWYgKHN0cmxlbiAobXNnW2ldLT5tc2cpID4gMCAmJiBtc2dbaV0tPm1z Z1tzdHJsZW4gKG1zZ1tpXS0+bXNnKSAtIDFdID09ICdcbicpDQorLSAgICAgICAgICAgIG1zZ1tp XS0+bXNnW3N0cmxlbiAobXNnW2ldLT5tc2cpIC0gMV0gPT0gJ1wwJzsNCistICAgICAgICAgIGVz Y2FwZWQgPSBnX3N0cmVzY2FwZSAobXNnW2ldLT5tc2csIE5VTEwpOw0KKysgICAgICAgICAgdG1w ID0gZ19zdHJkdXAgKG1zZ1tpXS0+bXNnKTsNCisrICAgICAgICAgIGxlbiA9IHN0cmxlbiAodG1w KTsNCisrICAgICAgICAgIGlmIChsZW4gPiAwICYmIHRtcFtsZW4gLSAxXSA9PSAnXG4nKQ0KKysg ICAgICAgICAgICB0bXBbbGVuIC0gMV0gPSAnXDAnOw0KKysgICAgICAgICAgZXNjYXBlZCA9IGdf c3RyZXNjYXBlICh0bXAsIE5VTEwpOw0KKysgICAgICAgICAgZ19mcmVlICh0bXApOw0KKyAgICAg ICAgICAgZnB1dHMgKGVzY2FwZWQsIHN0ZG91dCk7DQorICAgICAgICAgICBnX2ZyZWUgKGVzY2Fw ZWQpOw0KKyAjaWZkZWYgUEFIX0RFQlVHDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4x MDUvMC4xMDgvYnVpbGQtRml4LS5naXItZ2VuZXJhdGlvbi1mb3ItcGFyYWxsZWwtbWFrZS5wYXRj aCBiL3BhdGNoZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMDgvYnVpbGQtRml4LS5naXItZ2VuZXJhdGlv bi1mb3ItcGFyYWxsZWwtbWFrZS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwMC4uNThmNmZiYmQ3DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0w LjEwNS8wLjEwOC9idWlsZC1GaXgtLmdpci1nZW5lcmF0aW9uLWZvci1wYXJhbGxlbC1tYWtlLnBh dGNoDQpAQCAtMCwwICsxLDQxIEBADQorRnJvbTogUnlhbiBMb3J0aWUgPGRlc3J0QHZlbG9jaXR5 Lihub25lKT4NCitEYXRlOiBUdWUsIDEzIE5vdiAyMDEyIDExOjUwOjE0IC0wNTAwDQorU3ViamVj dDogYnVpbGQ6IEZpeCAuZ2lyIGdlbmVyYXRpb24gZm9yIHBhcmFsbGVsIG1ha2UNCisNCitBcyBw ZXIgdGhlIGludHJ1Y3Rpb25zIGluIHRoZSBpbnRyb3NwZWN0aW9uIE1ha2VmaWxlLCB3ZSBzaG91 bGQgaGF2ZSBhDQorbGluZSBkZWNsYXJpbmcgYSBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIC5naXIg YW5kIC5sYSBmaWxlcy4NCisNCitCdWc6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hv d19idWcuY2dpP2lkPTU3MDc3DQorU2lnbmVkLW9mZi1ieTogRGF2aWQgWmV1dGhlbiA8emV1dGhl bkBnbWFpbC5jb20+DQorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODk0MjA1 DQorLS0tDQorIHNyYy9wb2xraXQvTWFrZWZpbGUuYW0gICAgICB8IDIgKysNCisgc3JjL3BvbGtp dGFnZW50L01ha2VmaWxlLmFtIHwgMiArKw0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0L01ha2VmaWxlLmFtIGIvc3JjL3BvbGtp dC9NYWtlZmlsZS5hbQ0KK2luZGV4IDEwNjhlYTEuLjQxY2NmNWMgMTAwNjQ0DQorLS0tIGEvc3Jj L3BvbGtpdC9NYWtlZmlsZS5hbQ0KKysrKyBiL3NyYy9wb2xraXQvTWFrZWZpbGUuYW0NCitAQCAt MTA2LDYgKzEwNiw4IEBAIGlmIEhBVkVfSU5UUk9TUEVDVElPTg0KKyANCisgSU5UUk9TUEVDVElP Tl9HSVJTID0gUG9sa2l0LTEuMC5naXINCisgDQorK1BvbGtpdC0xLjAuZ2lyOiBsaWJwb2xraXQt Z29iamVjdC0xLmxhDQorKw0KKyBnaXJkaXIgPSAkKElOVFJPU1BFQ1RJT05fR0lSRElSKQ0KKyBn aXJfREFUQSA9IFBvbGtpdC0xLjAuZ2lyDQorIA0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YWdl bnQvTWFrZWZpbGUuYW0gYi9zcmMvcG9sa2l0YWdlbnQvTWFrZWZpbGUuYW0NCitpbmRleCBlOGM5 ZmIxLi43YjUxMTM3IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRhZ2VudC9NYWtlZmlsZS5hbQ0K KysrKyBiL3NyYy9wb2xraXRhZ2VudC9NYWtlZmlsZS5hbQ0KK0BAIC0xMDYsNiArMTA2LDggQEAg aWYgSEFWRV9JTlRST1NQRUNUSU9ODQorIGdpcmRpciA9ICQoSU5UUk9TUEVDVElPTl9HSVJESVIp DQorIGdpcl9EQVRBID0gUG9sa2l0QWdlbnQtMS4wLmdpcg0KKyANCisrUG9sa2l0QWdlbnQtMS4w LmdpcjogbGlicG9sa2l0LWFnZW50LTEubGENCisrDQorIHR5cGVsaWJzZGlyID0gJChJTlRST1NQ RUNUSU9OX1RZUEVMSUJESVIpDQorIHR5cGVsaWJzX0RBVEEgPSBQb2xraXRBZ2VudC0xLjAudHlw ZWxpYg0KKyANCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMC8wNF9nZXRf Y3dkLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTAvMDRfZ2V0X2N3ZC5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uYWNhYTY4ZDUxDQotLS0gL2Rl di9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMC8wNF9nZXRfY3dkLnBhdGNo DQpAQCAtMCwwICsxLDQwIEBADQorRnJvbTogRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHUy N0BnbWFpbC5jb20+DQorRGF0ZTogU2F0LCAyNiBNYXIgMjAxMSAwNzoyODoxNCArMDAwMA0KK1N1 YmplY3Q6IEZpeCBidWlsZCBvbiBHTlUgSHVyZA0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVk ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2ODUNCitBcHBsaWVkLXVwc3RyZWFtOiAwLjEx MCwgY29tbWl0OmQ2ZGUxM2UxMjM3OTgyNmFmOGNhOTM1NWEzMmRhNDg3MDdiOTgzMWYNCistLS0N Cisgc3JjL3Byb2dyYW1zL3BrZXhlYy5jIHwgNSArKystLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcHJvZ3Jh bXMvcGtleGVjLmMgYi9zcmMvcHJvZ3JhbXMvcGtleGVjLmMNCitpbmRleCA3ZmFmYTE0Li42ODJm ZTk1IDEwMDY0NA0KKy0tLSBhL3NyYy9wcm9ncmFtcy9wa2V4ZWMuYw0KKysrKyBiL3NyYy9wcm9n cmFtcy9wa2V4ZWMuYw0KK0BAIC01Myw3ICs1Myw3IEBADQorICNpbmNsdWRlIDxwb2xraXRhZ2Vu dC9wb2xraXRhZ2VudC5oPg0KKyANCisgc3RhdGljIGdjaGFyICpvcmlnaW5hbF91c2VyX25hbWUg PSBOVUxMOw0KKy1zdGF0aWMgZ2NoYXIgb3JpZ2luYWxfY3dkW1BBVEhfTUFYXTsNCisrc3RhdGlj IGdjaGFyICpvcmlnaW5hbF9jd2Q7DQorIHN0YXRpYyBnY2hhciAqY29tbWFuZF9saW5lID0gTlVM TDsNCisgc3RhdGljIHN0cnVjdCBwYXNzd2QgKnB3Ow0KKyANCitAQCAtNDY1LDcgKzQ2NSw3IEBA IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pDQorICAgICAgIGdvdG8gb3V0Ow0KKyAgICAg fQ0KKyANCistICBpZiAoZ2V0Y3dkIChvcmlnaW5hbF9jd2QsIHNpemVvZiAob3JpZ2luYWxfY3dk KSkgPT0gTlVMTCkNCisrICBpZiAoKG9yaWdpbmFsX2N3ZCA9IGdfZ2V0X2N1cnJlbnRfZGlyICgp KSA9PSBOVUxMKQ0KKyAgICAgew0KKyAgICAgICBnX3ByaW50ZXJyICgiRXJyb3IgZ2V0dGluZyBj d2Q6ICVzXG4iLA0KKyAgICAgICAgICAgICAgICAgICBnX3N0cmVycm9yIChlcnJubykpOw0KK0BA IC05NTMsNiArOTUzLDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCisgICAgICAg Z19wdHJfYXJyYXlfZnJlZSAoc2F2ZWRfZW52LCBUUlVFKTsNCisgICAgIH0NCisgDQorKyAgZ19m cmVlIChvcmlnaW5hbF9jd2QpOw0KKyAgIGdfZnJlZSAocGF0aCk7DQorICAgZ19mcmVlIChjb21t YW5kX2xpbmUpOw0KKyAgIGdfZnJlZSAob3B0X3VzZXIpOw0KZGlmZiAtLWdpdCBhL3BhdGNoZXMv cG9sa2l0LTAuMTA1LzAuMTEwLzA3X3NldC1YQVVUSE9SSVRZLWVudmlyb25tZW50LXZhcmlhYmxl LWlmLXVuc2V0LnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExMC8wN19zZXQtWEFV VEhPUklUWS1lbnZpcm9ubWVudC12YXJpYWJsZS1pZi11bnNldC5wYXRjaA0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uMWRkZjc4Y2FiDQotLS0gL2Rldi9udWxsDQorKysg Yi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMC8wN19zZXQtWEFVVEhPUklUWS1lbnZpcm9ubWVu dC12YXJpYWJsZS1pZi11bnNldC5wYXRjaA0KQEAgLTAsMCArMSw1OCBAQA0KK0Zyb206IERhdmlk IFpldXRoZW4gPHpldXRoZW5AZ21haWwuY29tPg0KK0RhdGU6IFdlZCwgMTkgRGVjIDIwMTIgMTQ6 Mjg6MjkgLTA1MDANCitTdWJqZWN0OiBTZXQgWEFVVEhPUklUWSBlbnZpcm9ubWVudCB2YXJpYWJs ZSBpZiBpcyB1bnNldA0KKw0KK1RoZSB3YXkgaXQgd29ya3MgaXMgdGhhdCBpZiBYQVVUSE9SSVRZ IGlzIHVuc2V0LCB0aGVuIGl0cyBkZWZhdWx0DQordmFsdWUgaXMgJEhPTUUvLlhhdXRob3JpdHku IEJ1dCBzaW5jZSB3ZSdyZSBjaGFuZ2luZyB1c2VyIGlkZW50aXR5DQordGhpcyB3aWxsIG5vdCB3 b3JrIHNpbmNlICRIT01FIHdpbGwgbm93IGNoYW5nZS4gVGhlcmVmb3JlLCBpZg0KK1hBVVRIT1JJ VFkgaXMgdW5zZXQsIGp1c3Qgc2V0IGl0cyBkZWZhdWx0IHZhbHVlIGJlZm9yZSBjaGFuZ2luZw0K K2lkZW50aXR5LiBUaGlzIGJ1ZyBvbmx5IGFmZmVjdGVkIGxvZ2luIG1hbmFnZXJzIHVzaW5nIFgg V2luZG93DQorQXV0aG9yaXphdGlvbiBidXQgbm90IGV4cGxpY2l0bHkgc2V0dGluZyB0aGUgWEFV VEhPUklUWSB2YXJpYWJsZS4NCisNCitZb3UgY2FuIGFyZ3VlIHRoYXQgWEFVVEhPUklUWSBpcyBi cm9rZW4gc2luY2UgaXQgZm9yY2VzIHVpZC1jaGFuZ2luZw0KK2FwcHMgbGlrZSBwa2V4ZWMoMSkg dG8gZG8gbW9yZSB3b3JrIC0gYW5kIGdldCBpbnZvbHZlZCBpbiBpbnRpbWF0ZQ0KK2RldGFpbHMg b2YgaG93IFggd29ya3MgYW5kIHNvIG9uIC0gYnV0IHRoYXQgZG9lc24ndCBjaGFuZ2UgaG93IHRo aW5ncw0KK3dvcmsuDQorDQorQmFzZWQgb24gYSBwYXRjaCBmcm9tIFBldGVyIFd1IDxsZWtlbnN0 ZXluQGdtYWlsLmNvbT4uDQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD01MTYyMw0KK1NpZ25lZC1vZmYtYnk6IERhdmlkIFpldXRoZW4gPHpldXRo ZW5AZ21haWwuY29tPg0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEwLCBjb21taXQ6ZDZhY2VjZGQw ZWJiNDJlMjhmZjI4ZTA0ZTAyMDdjYjAxZmEyMDkxMA0KKy0tLQ0KKyBzcmMvcHJvZ3JhbXMvcGtl eGVjLmMgfCAyMiArKysrKysrKysrKysrKysrKysrKysrDQorIDEgZmlsZSBjaGFuZ2VkLCAyMiBp bnNlcnRpb25zKCspDQorDQorZGlmZiAtLWdpdCBhL3NyYy9wcm9ncmFtcy9wa2V4ZWMuYyBiL3Ny Yy9wcm9ncmFtcy9wa2V4ZWMuYw0KK2luZGV4IDM3Mzk3N2IuLjdmYWZhMTQgMTAwNjQ0DQorLS0t IGEvc3JjL3Byb2dyYW1zL3BrZXhlYy5jDQorKysrIGIvc3JjL3Byb2dyYW1zL3BrZXhlYy5jDQor QEAgLTU5Nyw2ICs1OTcsMjggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCisgICAg ICAgZ19wdHJfYXJyYXlfYWRkIChzYXZlZF9lbnYsIGdfc3RyZHVwICh2YWx1ZSkpOw0KKyAgICAg fQ0KKyANCisrICAvKiAkWEFVVEhPUklUWSBpcyAic3BlY2lhbCIgLSBpZiB1bnNldCwgd2UgbmVl ZCB0byBzZXQgaXQgdG8gfi8uWGF1dGhvcml0eS4gWWVzLA0KKysgICAqIHRoaXMgaXMgYnJva2Vu IGJ1dCBpdCdzIHVuZm9ydHVuYXRlbHkgaG93IHRoaW5ncyB3b3JrIChzZWUgZmRvICM1MTYyMyBm b3INCisrICAgKiBkZXRhaWxzKQ0KKysgICAqLw0KKysgIGlmIChnX2dldGVudiAoIlhBVVRIT1JJ VFkiKSA9PSBOVUxMKQ0KKysgICAgew0KKysgICAgICBjb25zdCBnY2hhciAqaG9tZTsNCisrDQor KyAgICAgIC8qIHByZS0yLjM2IEdMaWIgZG9lcyBub3QgZXhhbWluZSAkSE9NRSAoaXQgYWx3YXlz IGxvb2tzIGluIC9ldGMvcGFzc3dkKSBhbmQNCisrICAgICAgICogdGhpcyBpcyBub3Qgd2hhdCB3 ZSB3YW50DQorKyAgICAgICAqLw0KKysgICAgICBob21lID0gZ19nZXRlbnYgKCJIT01FIik7DQor KyAgICAgIGlmIChob21lID09IE5VTEwpDQorKyAgICAgICAgaG9tZSA9IGdfZ2V0X2hvbWVfZGly ICgpOw0KKysNCisrICAgICAgaWYgKGhvbWUgIT0gTlVMTCkNCisrICAgICAgICB7DQorKyAgICAg ICAgICBnX3B0cl9hcnJheV9hZGQgKHNhdmVkX2VudiwgZ19zdHJkdXAgKCJYQVVUSE9SSVRZIikp Ow0KKysgICAgICAgICAgZ19wdHJfYXJyYXlfYWRkIChzYXZlZF9lbnYsIGdfYnVpbGRfZmlsZW5h bWUgKGhvbWUsICIuWGF1dGhvcml0eSIsIE5VTEwpKTsNCisrICAgICAgICB9DQorKyAgICB9DQor Kw0KKyAgIC8qIE51a2UgdGhlIGVudmlyb25tZW50IHRvIGdldCBhIHdlbGwta25vd24gYW5kIHNh bml0aXplZCBlbnZpcm9ubWVudCB0byBhdm9pZCBhdHRhY2tzDQorICAgICogdmlhIGUuZy4gdGhl IERCVVNfU1lTVEVNX0JVU19BRERSRVNTIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCBzaW1pbGFy Lg0KKyAgICAqLw0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTExLzA5X3Bh bV9lbnZpcm9ubWVudC5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTExLzA5X3BhbV9l bnZpcm9ubWVudC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4u NzkzZWZlZTY0DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjEx MS8wOV9wYW1fZW52aXJvbm1lbnQucGF0Y2gNCkBAIC0wLDAgKzEsNDMgQEANCitGcm9tOiBTdGV2 ZSBMYW5nYXNlayA8c3RldmUubGFuZ2FzZWtAY2Fub25pY2FsLmNvbT4NCitEYXRlOiBGcmksIDgg TWFyIDIwMTMgMTI6MDA6MDAgKzAxMDANCitTdWJqZWN0OiBwa2V4ZWM6IFNldCBwcm9jZXNzIGVu dmlyb25tZW50IGZyb20gcGFtX2dldGVudmxpc3QoKQ0KKw0KK1ZhcmlvdXMgcGFtIG1vZHVsZXMg cHJvdmlkZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgaW50ZW5kZWQgdG8gYmUgc2V0 DQoraW4gdGhlIGVudmlyb25tZW50IG9mIHRoZSBwYW0gc2Vzc2lvbi4gIHBrZXhlYyBuZWVkcyB0 byBwcm9jZXNzIHRoZSBvdXRwdXQgb2YNCitwYW1fZ2V0ZW52bGlzdCgpIHRvIGdldCB0aGVzZS4N CisNCitCdWc6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTYy MDE2DQorQXBwbGllZC11cHN0cmVhbTogMC4xMTEsIGNvbW1pdDo1YWVmOTcyMmMxNWEzNTBmYmY4 YjIwYTNiNTg0MTlmMTU2Y2M3Yzk4DQorQnVnLVVidW50dTogaHR0cHM6Ly9idWdzLmxhdW5jaHBh ZC5uZXQvYnVncy85ODI2ODQNCistLS0NCisgc3JjL3Byb2dyYW1zL3BrZXhlYy5jIHwgMTAgKysr KysrKysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQ0KKw0KK2RpZmYgLS1n aXQgYS9zcmMvcHJvZ3JhbXMvcGtleGVjLmMgYi9zcmMvcHJvZ3JhbXMvcGtleGVjLmMNCitpbmRl eCA2ODJmZTk1Li45YTA1NzBhIDEwMDY0NA0KKy0tLSBhL3NyYy9wcm9ncmFtcy9wa2V4ZWMuYw0K KysrKyBiL3NyYy9wcm9ncmFtcy9wa2V4ZWMuYw0KK0BAIC0xNDUsNiArMTQ1LDcgQEAgb3Blbl9z ZXNzaW9uIChjb25zdCBnY2hhciAqdXNlcl90b19hdXRoKQ0KKyAgIGdib29sZWFuIHJldDsNCisg ICBnaW50IHJjOw0KKyAgIHBhbV9oYW5kbGVfdCAqcGFtX2g7DQorKyAgY2hhciAqKmVudmxpc3Q7 DQorICAgc3RydWN0IHBhbV9jb252IGNvbnZlcnNhdGlvbjsNCisgDQorICAgcmV0ID0gRkFMU0U7 DQorQEAgLTE3Niw2ICsxNzcsMTUgQEAgb3Blbl9zZXNzaW9uIChjb25zdCBnY2hhciAqdXNlcl90 b19hdXRoKQ0KKyANCisgICByZXQgPSBUUlVFOw0KKyANCisrICBlbnZsaXN0ID0gcGFtX2dldGVu dmxpc3QgKHBhbV9oKTsNCisrICBpZiAoZW52bGlzdCAhPSBOVUxMKQ0KKysgICAgew0KKysgICAg ICBndWludCBuOw0KKysgICAgICBmb3IgKG4gPSAwOyBlbnZsaXN0W25dOyBuKyspDQorKyAgICAg ICAgcHV0ZW52IChlbnZsaXN0W25dKTsNCisrICAgICAgZnJlZSAoZW52bGlzdCk7DQorKyAgICB9 DQorKw0KKyBvdXQ6DQorICAgaWYgKHBhbV9oICE9IE5VTEwpDQorICAgICBwYW1fZW5kIChwYW1f aCwgcmMpOw0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTExL0ZpeC1hLW1l bW9yeS1sZWFrLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTEvRml4LWEtbWVtb3J5 LWxlYWsucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjlhYTY2 YmY0Zg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTEvRml4 LWEtbWVtb3J5LWxlYWsucGF0Y2gNCkBAIC0wLDAgKzEsMjIgQEANCitGcm9tOiA9P3V0Zi04P3E/ TWlsb3NsYXZfVHJtYT1DND04RD89IDxtaXRyQHJlZGhhdC5jb20+DQorRGF0ZTogVHVlLCA3IE1h eSAyMDEzIDIyOjMwOjI1ICswMjAwDQorU3ViamVjdDogRml4IGEgbWVtb3J5IGxlYWsNCisNCitC dWc6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzM2DQor T3JpZ2luOiB1cHN0cmVhbSwgMC4xMTEsIGNvbW1pdDpkN2I2YWI0MGI1ODZjMjU1YzQ5YWJhMjJm NTU4ZWI2NjAyYzg4YjFlDQorLS0tDQorIHNyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBl ci1wYW0uYyB8IDEgKw0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykNCisNCitkaWZm IC0tZ2l0IGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jIGIvc3JjL3Bv bGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQoraW5kZXggN2FmNTMyMS4uMjkyYWJi ZSAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMN CisrKysgYi9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMNCitAQCAtMzIx LDYgKzMyMSw3IEBAIGVycm9yOg0KKyAgICAgICB9DQorICAgICB9DQorICAgbWVtc2V0IChhcmVz cCwgMCwgbiAqIHNpemVvZiAqYXJlc3ApOw0KKysgIGZyZWUgKGFyZXNwKTsNCisgICAqcmVzcCA9 IE5VTEw7DQorICAgcmV0dXJuIFBBTV9DT05WX0VSUjsNCisgfQ0KZGlmZiAtLWdpdCBhL3BhdGNo ZXMvcG9sa2l0LTAuMTA1LzAuMTEyLzAwZ2l0X3R5cGVfcmVnaXN0cmF0aW9uLnBhdGNoIGIvcGF0 Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExMi8wMGdpdF90eXBlX3JlZ2lzdHJhdGlvbi5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uMzkzNjgwMWYyDQotLS0gL2Rl di9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMi8wMGdpdF90eXBlX3JlZ2lz dHJhdGlvbi5wYXRjaA0KQEAgLTAsMCArMSwxMTggQEANCitGcm9tOiBUb21hcyBCemF0ZWsgPHRi emF0ZWtAcmVkaGF0LmNvbT4NCitEYXRlOiBXZWQsIDI5IE1heSAyMDEzIDEzOjQ1OjMxICswMDAw DQorU3ViamVjdDogVXNlIEdPbmNlIGZvciBpbnRlcmZhY2UgdHlwZSByZWdpc3RyYXRpb24NCisN CitTdGF0aWMgbG9jYWwgdmFyaWFibGUgbWF5IG5vdCBiZSBlbm91Z2ggc2luY2UgaXQgZG9lc24n dCBwcm92aWRlIGxvY2tpbmcuDQorDQorUmVsYXRlZCB0byB0aGVzZSB1ZGlza3NkIHdhcm5pbmdz Og0KKyAgR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGNhbm5vdCByZWdpc3RlciBleGlzdGluZyB0 eXBlIGBQb2xraXRTdWJqZWN0Jw0KKw0KK1RoYW5rcyB0byBIYW5zIGRlIEdvZWRlIGZvciBzcG90 dGluZyB0aGlzIQ0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9NjUxMzANCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMiwgY29tbWl0OjIwYWQxMTZh NjU4MmU1N2QyMGY5ZDgxOTc3NTg5NDc5MTg3NTNhNGMNCistLS0NCisgc3JjL3BvbGtpdC9wb2xr aXRpZGVudGl0eS5jICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrLS0tLQ0KKyBzcmMvcG9s a2l0L3BvbGtpdHN1YmplY3QuYyAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKystLS0tDQor IHNyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rpb25sb29rdXAuYyB8IDEwICsrKysr Ky0tLS0NCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo LSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdC9wb2xraXRpZGVudGl0eS5jIGIvc3JjL3Bv bGtpdC9wb2xraXRpZGVudGl0eS5jDQoraW5kZXggZGQxNWIyZi4uNzgxM2MyYyAxMDA2NDQNCist LS0gYS9zcmMvcG9sa2l0L3BvbGtpdGlkZW50aXR5LmMNCisrKysgYi9zcmMvcG9sa2l0L3BvbGtp dGlkZW50aXR5LmMNCitAQCAtNDksOSArNDksOSBAQCBiYXNlX2luaXQgKGdwb2ludGVyIGdfaWZh Y2UpDQorIEdUeXBlDQorIHBvbGtpdF9pZGVudGl0eV9nZXRfdHlwZSAodm9pZCkNCisgew0KKy0g IHN0YXRpYyBHVHlwZSBpZmFjZV90eXBlID0gMDsNCisrICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUg Z19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUgPSAwOw0KKyANCistICBpZiAoaWZhY2VfdHlwZSA9 PSAwKQ0KKysgIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJmdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0 aWxlKSkNCisgICAgIHsNCisgICAgICAgc3RhdGljIGNvbnN0IEdUeXBlSW5mbyBpbmZvID0NCisg ICAgICAgew0KK0BAIC02NywxMiArNjcsMTQgQEAgcG9sa2l0X2lkZW50aXR5X2dldF90eXBlICh2 b2lkKQ0KKyAgICAgICAgIE5VTEwgICAgICAgICAgICAgICAgICAgIC8qIHZhbHVlX3RhYmxlICAg ICovDQorICAgICAgIH07DQorIA0KKy0gICAgICBpZmFjZV90eXBlID0gZ190eXBlX3JlZ2lzdGVy X3N0YXRpYyAoR19UWVBFX0lOVEVSRkFDRSwgIlBvbGtpdElkZW50aXR5IiwgJmluZm8sIDApOw0K KysgICAgICBHVHlwZSBpZmFjZV90eXBlID0NCisrICAgICAgICBnX3R5cGVfcmVnaXN0ZXJfc3Rh dGljIChHX1RZUEVfSU5URVJGQUNFLCAiUG9sa2l0SWRlbnRpdHkiLCAmaW5mbywgMCk7DQorIA0K KyAgICAgICBnX3R5cGVfaW50ZXJmYWNlX2FkZF9wcmVyZXF1aXNpdGUgKGlmYWNlX3R5cGUsIEdf VFlQRV9PQkpFQ1QpOw0KKysgICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdfZGVmaW5lX3R5cGVf aWRfX3ZvbGF0aWxlLCBpZmFjZV90eXBlKTsNCisgICAgIH0NCisgDQorLSAgcmV0dXJuIGlmYWNl X3R5cGU7DQorKyAgcmV0dXJuIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlOw0KKyB9DQorIA0K KyAvKioNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMgYi9zcmMvcG9s a2l0L3BvbGtpdHN1YmplY3QuYw0KK2luZGV4IGQyYzRjMjAuLmFlZDU3OTUgMTAwNjQ0DQorLS0t IGEvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMNCisrKysgYi9zcmMvcG9sa2l0L3BvbGtpdHN1 YmplY3QuYw0KK0BAIC01MCw5ICs1MCw5IEBAIGJhc2VfaW5pdCAoZ3BvaW50ZXIgZ19pZmFjZSkN CisgR1R5cGUNCisgcG9sa2l0X3N1YmplY3RfZ2V0X3R5cGUgKHZvaWQpDQorIHsNCistICBzdGF0 aWMgR1R5cGUgaWZhY2VfdHlwZSA9IDA7DQorKyAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGdfZGVm aW5lX3R5cGVfaWRfX3ZvbGF0aWxlID0gMDsNCisgDQorLSAgaWYgKGlmYWNlX3R5cGUgPT0gMCkN CisrICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSkp DQorICAgICB7DQorICAgICAgIHN0YXRpYyBjb25zdCBHVHlwZUluZm8gaW5mbyA9DQorICAgICAg IHsNCitAQCAtNjgsMTIgKzY4LDE0IEBAIHBvbGtpdF9zdWJqZWN0X2dldF90eXBlICh2b2lkKQ0K KyAgICAgICAgIE5VTEwgICAgICAgICAgICAgICAgICAgIC8qIHZhbHVlX3RhYmxlICAgICovDQor ICAgICAgIH07DQorIA0KKy0gICAgICBpZmFjZV90eXBlID0gZ190eXBlX3JlZ2lzdGVyX3N0YXRp YyAoR19UWVBFX0lOVEVSRkFDRSwgIlBvbGtpdFN1YmplY3QiLCAmaW5mbywgMCk7DQorKyAgICAg IEdUeXBlIGlmYWNlX3R5cGUgPQ0KKysgICAgICAgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMgKEdf VFlQRV9JTlRFUkZBQ0UsICJQb2xraXRTdWJqZWN0IiwgJmluZm8sIDApOw0KKyANCisgICAgICAg Z190eXBlX2ludGVyZmFjZV9hZGRfcHJlcmVxdWlzaXRlIChpZmFjZV90eXBlLCBHX1RZUEVfT0JK RUNUKTsNCisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90eXBlX2lkX192b2xh dGlsZSwgaWZhY2VfdHlwZSk7DQorICAgICB9DQorIA0KKy0gIHJldHVybiBpZmFjZV90eXBlOw0K KysgIHJldHVybiBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZTsNCisgfQ0KKyANCisgLyoqDQor ZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rpb25sb29rdXAu YyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rpb25sb29rdXAuYw0KK2luZGV4 IDVhMWEyMjguLjIwNzQ3ZTcgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZGFjdGlvbmxvb2t1cC5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFj a2VuZGFjdGlvbmxvb2t1cC5jDQorQEAgLTc0LDkgKzc0LDkgQEAgYmFzZV9pbml0IChncG9pbnRl ciBnX2lmYWNlKQ0KKyBHVHlwZQ0KKyBwb2xraXRfYmFja2VuZF9hY3Rpb25fbG9va3VwX2dldF90 eXBlICh2b2lkKQ0KKyB7DQorLSAgc3RhdGljIEdUeXBlIGlmYWNlX3R5cGUgPSAwOw0KKysgIHN0 YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSA9IDA7DQorIA0K Ky0gIGlmIChpZmFjZV90eXBlID09IDApDQorKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmZ19k ZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUpKQ0KKyAgICAgew0KKyAgICAgICBzdGF0aWMgY29uc3Qg R1R5cGVJbmZvIGluZm8gPQ0KKyAgICAgICB7DQorQEAgLTkyLDEyICs5MiwxNCBAQCBwb2xraXRf YmFja2VuZF9hY3Rpb25fbG9va3VwX2dldF90eXBlICh2b2lkKQ0KKyAgICAgICAgIE5VTEwgICAg ICAgICAgICAgICAgICAgIC8qIHZhbHVlX3RhYmxlICAgICovDQorICAgICAgIH07DQorIA0KKy0g ICAgICBpZmFjZV90eXBlID0gZ190eXBlX3JlZ2lzdGVyX3N0YXRpYyAoR19UWVBFX0lOVEVSRkFD RSwgIlBvbGtpdEJhY2tlbmRBY3Rpb25Mb29rdXAiLCAmaW5mbywgMCk7DQorKyAgICAgIEdUeXBl IGlmYWNlX3R5cGUgPQ0KKysgICAgICAgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMgKEdfVFlQRV9J TlRFUkZBQ0UsICJQb2xraXRCYWNrZW5kQWN0aW9uTG9va3VwIiwgJmluZm8sIDApOw0KKyANCisg ICAgICAgZ190eXBlX2ludGVyZmFjZV9hZGRfcHJlcmVxdWlzaXRlIChpZmFjZV90eXBlLCBHX1RZ UEVfT0JKRUNUKTsNCisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90eXBlX2lk X192b2xhdGlsZSwgaWZhY2VfdHlwZSk7DQorICAgICB9DQorIA0KKy0gIHJldHVybiBpZmFjZV90 eXBlOw0KKysgIHJldHVybiBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZTsNCisgfQ0KKyANCisg LyoqDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTIvMDhfZGVwcmVjYXRl X3JhY3lfQVBJcy5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMTIvMDhfZGVwcmVj YXRlX3JhY3lfQVBJcy5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw MC4uNzI1YTQ0YTJkDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8w LjExMi8wOF9kZXByZWNhdGVfcmFjeV9BUElzLnBhdGNoDQpAQCAtMCwwICsxLDI3IEBADQorRnJv bTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPg0KK0RhdGU6IFR1ZSwgMjAgQXVn IDIwMTMgMTU6MTU6MzEgLTA0MDANCitTdWJqZWN0OiBwb2xraXR1bml4cHJvY2VzczogRGVwcmVj YXRlIHJhY3kgQVBJcw0KKw0KK0l0J3Mgb25seSBzYWZlIGZvciBwcm9jZXNzZXMgdG8gYmUgY3Jl YXRlZCB3aXRoIHRoZWlyIG93bmluZyB1aWQsDQorKHdpdGhvdXQga2VybmVsIHN1cHBvcnQsIHdo aWNoIHdlIGRvbid0IGhhdmUpLiAgQW55dGhpbmcgZWxzZSBpcw0KK3N1YmplY3QgdG8gY2xpZW50 cyBleGVjKClpbmcgc2V0dWlkIGJpbmFyaWVzIGFmdGVyIHRoZSBmYWN0Lg0KKw0KK09yaWdpbjog dXBzdHJlYW0sIDAuMTEyLCBjb21taXQ6MDgyOTE3ODlhMWY5OWQ0YWIyOWM3NGMzOTM0NDMwNGJj Y2E0MzAyMw0KKy0tLQ0KKyBzcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmggfCAyICsrDQor IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3Bv bGtpdC9wb2xraXR1bml4cHJvY2Vzcy5oIGIvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5o DQoraW5kZXggNTMxYTU3ZC4uZjVlZDFhNyAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0L3BvbGtp dHVuaXhwcm9jZXNzLmgNCisrKysgYi9zcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmgNCitA QCAtNDcsNyArNDcsOSBAQCB0eXBlZGVmIHN0cnVjdCBfUG9sa2l0VW5peFByb2Nlc3MgUG9sa2l0 VW5peFByb2Nlc3M7DQorIHR5cGVkZWYgc3RydWN0IF9Qb2xraXRVbml4UHJvY2Vzc0NsYXNzIFBv bGtpdFVuaXhQcm9jZXNzQ2xhc3M7DQorIA0KKyBHVHlwZSAgICAgICAgICAgcG9sa2l0X3VuaXhf cHJvY2Vzc19nZXRfdHlwZSAgICAgICAodm9pZCkgR19HTlVDX0NPTlNUOw0KKytHX0dOVUNfREVQ UkVDQVRFRF9GT1IocG9sa2l0X3VuaXhfcHJvY2Vzc19uZXdfZm9yX293bmVyKQ0KKyBQb2xraXRT dWJqZWN0ICAqcG9sa2l0X3VuaXhfcHJvY2Vzc19uZXcgICAgICAgICAgICAoZ2ludCAgICAgICAg ICAgICAgIHBpZCk7DQorK0dfR05VQ19ERVBSRUNBVEVEX0ZPUihwb2xraXRfdW5peF9wcm9jZXNz X25ld19mb3Jfb3duZXIpDQorIFBvbGtpdFN1YmplY3QgICpwb2xraXRfdW5peF9wcm9jZXNzX25l d19mdWxsICAgICAgIChnaW50ICAgICAgICAgICAgICAgcGlkLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQ2NCAgICAgICAgICAgIHN0 YXJ0X3RpbWUpOw0KKyBQb2xraXRTdWJqZWN0ICAqcG9sa2l0X3VuaXhfcHJvY2Vzc19uZXdfZm9y X293bmVyICAoZ2ludCAgICAgICAgICAgICAgIHBpZCwNCmRpZmYgLS1naXQgYS9wYXRjaGVzL3Bv bGtpdC0wLjEwNS8wLjExMi9jdmUtMjAxMy00Mjg4LnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4x MDUvMC4xMTIvY3ZlLTIwMTMtNDI4OC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMC4uMjA3YmNmMDQ0DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtp dC0wLjEwNS8wLjExMi9jdmUtMjAxMy00Mjg4LnBhdGNoDQpAQCAtMCwwICsxLDExNiBAQA0KK0Zy b206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4NCitEYXRlOiBNb24sIDE5IEF1 ZyAyMDEzIDEyOjE2OjExIC0wNDAwDQorU3ViamVjdDogcGtjaGVjazogU3VwcG9ydCAtLXByb2Nl c3M9cGlkLHN0YXJ0LXRpbWUsdWlkIHN5bnRheCB0b28NCisNCitUaGUgdWlkIGlzIGEgbmV3IGFk ZGl0aW9uOyB0aGlzIGFsbG93cyBjYWxsZXJzIHN1Y2ggYXMgbGlidmlydCB0bw0KK2Nsb3NlIGEg cmFjZSBjb25kaXRpb24gaW4gcmVhZGluZyB0aGUgdWlkIG9mIHRoZSBwcm9jZXNzIHRhbGtpbmcg dG8NCit0aGVtLiAgVGhleSBjYW4gcmVhZCBpdCB2aWEgZ2V0c29ja29wdChTT19QRUVSQ1JFRCkg b3IgZXF1aXZhbGVudCwNCityYXRoZXIgdGhhbiBoYXZpbmcgcGtjaGVjayBsb29rIGF0IC9wcm9j IGxhdGVyIGFmdGVyIHRoZSBmYWN0Lg0KKw0KK1Byb2dyYW1zIHdoaWNoIGludm9rZSBwa2NoZWNr IGJ1dCBuZWVkIHRvIGtub3cgYmVmb3JlaGFuZCAoaS5lLiAgYXQNCitjb21waWxlIHRpbWUpIHdo ZXRoZXIgb3Igbm90IGl0IHN1cHBvcnRzIHBhc3NpbmcgdGhlIHVpZCBjYW4NCit1c2U6DQorDQor cGtjaGVja19zdXBwb3J0c191aWQ9JCgkUEtHX0NPTkZJRyAtLXZhcmlhYmxlIHBrY2hlY2tfc3Vw cG9ydHNfdWlkIHBvbGtpdC1nb2JqZWN0LTEpDQordGVzdCB4JHBrY2hlY2tfc3VwcG9ydHNfdWlk ID0geHllcw0KKw0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEyLCBjb21taXQ6Mzk2ODQxMWIwYzdi YTE5M2Y5YjkyNzZlYzkxMTY5MmFlYzI0ODYwOA0KKy0tLQ0KKyBkYXRhL3BvbGtpdC1nb2JqZWN0 LTEucGMuaW4gfCAgMyArKysNCisgZG9jcy9tYW4vcGtjaGVjay54bWwgICAgICAgIHwgMjkgKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0NCisgc3JjL3Byb2dyYW1zL3BrY2hlY2suYyAgICAg IHwgIDcgKysrKysrLQ0KKyAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDEwIGRl bGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9kYXRhL3BvbGtpdC1nb2JqZWN0LTEucGMuaW4g Yi9kYXRhL3BvbGtpdC1nb2JqZWN0LTEucGMuaW4NCitpbmRleCBjMzk2NzdkLi41YzRjNjIwIDEw MDY0NA0KKy0tLSBhL2RhdGEvcG9sa2l0LWdvYmplY3QtMS5wYy5pbg0KKysrKyBiL2RhdGEvcG9s a2l0LWdvYmplY3QtMS5wYy5pbg0KK0BAIC0xMSwzICsxMSw2IEBAIFZlcnNpb246IEBWRVJTSU9O QA0KKyBMaWJzOiAtTCR7bGliZGlyfSAtbHBvbGtpdC1nb2JqZWN0LTENCisgQ2ZsYWdzOiAtSSR7 aW5jbHVkZWRpcn0vcG9sa2l0LTENCisgUmVxdWlyZXM6IGdpby0yLjAgPj0gMi4xOCBnbGliLTIu MCA+PSAyLjE4DQorKyMgUHJvZ3JhbXMgdXNpbmcgcGtjaGVjayBjYW4gdXNlIHRoaXMgdG8gZGV0 ZXJtaW5lDQorKyMgd2hldGhlciBvciBub3QgaXQgY2FuIGJlIHBhc3NlZCBhIHVpZC4NCisrcGtj aGVja19zdXBwb3J0c191aWQ9dHJ1ZQ0KK2RpZmYgLS1naXQgYS9kb2NzL21hbi9wa2NoZWNrLnht bCBiL2RvY3MvbWFuL3BrY2hlY2sueG1sDQoraW5kZXggNmI4YTg3NC4uNTA4NDQ3ZSAxMDA2NDQN CistLS0gYS9kb2NzL21hbi9wa2NoZWNrLnhtbA0KKysrKyBiL2RvY3MvbWFuL3BrY2hlY2sueG1s DQorQEAgLTU1LDYgKzU1LDkgQEANCisgICAgICAgICAgICAgPGFyZyBjaG9pY2U9InBsYWluIj4N CisgICAgICAgICAgICAgICA8cmVwbGFjZWFibGU+cGlkLHBpZC1zdGFydC10aW1lPC9yZXBsYWNl YWJsZT4NCisgICAgICAgICAgICAgPC9hcmc+DQorKyAgICAgICAgICAgIDxhcmcgY2hvaWNlPSJw bGFpbiI+DQorKyAgICAgICAgICAgICAgPHJlcGxhY2VhYmxlPnBpZCxwaWQtc3RhcnQtdGltZSx1 aWQ8L3JlcGxhY2VhYmxlPg0KKysgICAgICAgICAgICA8L2FyZz4NCisgICAgICAgICAgIDwvZ3Jv dXA+DQorICAgICAgICAgPC9hcmc+DQorICAgICAgICAgPGFyZyBjaG9pY2U9InBsYWluIj4NCitA QCAtOTAsNyArOTMsNyBAQA0KKyAgICAgPHRpdGxlPkRFU0NSSVBUSU9OPC90aXRsZT4NCisgICAg IDxwYXJhPg0KKyAgICAgICA8Y29tbWFuZD5wa2NoZWNrPC9jb21tYW5kPiBpcyB1c2VkIHRvIGNo ZWNrIHdoZXRoZXIgYSBwcm9jZXNzLCBzcGVjaWZpZWQgYnkNCistICAgICAgZWl0aGVyIDxvcHRp b24+LS1wcm9jZXNzPC9vcHRpb24+IG9yIDxvcHRpb24+LS1zeXN0ZW0tYnVzLW5hbWU8L29wdGlv bj4sDQorKyAgICAgIGVpdGhlciA8b3B0aW9uPi0tcHJvY2Vzczwvb3B0aW9uPiAoc2VlIGJlbG93 KSBvciA8b3B0aW9uPi0tc3lzdGVtLWJ1cy1uYW1lPC9vcHRpb24+LA0KKyAgICAgICBpcyBhdXRo b3JpemVkIGZvciA8cmVwbGFjZWFibGU+YWN0aW9uPC9yZXBsYWNlYWJsZT4uIFRoZSA8b3B0aW9u Pi0tZGV0YWlsPC9vcHRpb24+DQorICAgICAgIG9wdGlvbiBjYW4gYmUgdXNlZCB6ZXJvIG9yIG1v cmUgdGltZXMgdG8gcGFzcyBkZXRhaWxzIGFib3V0IDxyZXBsYWNlYWJsZT5hY3Rpb248L3JlcGxh Y2VhYmxlPi4NCisgICAgICAgSWYgPG9wdGlvbj4tLWFsbG93LXVzZXItaW50ZXJhY3Rpb248L29w dGlvbj4gaXMgcGFzc2VkLCA8Y29tbWFuZD5wa2NoZWNrPC9jb21tYW5kPiBibG9ja3MNCitAQCAt MTYwLDE3ICsxNjMsMjUgQEAgS0VZMz1WQUxVRTMNCisgICA8cmVmc2VjdDEgaWQ9InBrY2hlY2st bm90ZXMiPg0KKyAgICAgPHRpdGxlPk5PVEVTPC90aXRsZT4NCisgICAgIDxwYXJhPg0KKy0gICAg ICBTaW5jZSBwcm9jZXNzIGlkZW50aWZpZXJzIGNhbiBiZSByZWN5Y2xlZCwgdGhlIGNhbGxlciBz aG91bGQgYWx3YXlzIHVzZQ0KKy0gICAgICA8cmVwbGFjZWFibGU+cGlkLHBpZC1zdGFydC10aW1l PC9yZXBsYWNlYWJsZT4gdG8gc3BlY2lmeSB0aGUgcHJvY2Vzcw0KKy0gICAgICB0byBjaGVjayBm b3IgYXV0aG9yaXphdGlvbiB3aGVuIHVzaW5nIHRoZSA8b3B0aW9uPi0tcHJvY2Vzczwvb3B0aW9u PiBvcHRpb24uDQorLSAgICAgIFRoZSB2YWx1ZSBvZiA8cmVwbGFjZWFibGU+cGlkLXN0YXJ0LXRp bWU8L3JlcGxhY2VhYmxlPg0KKy0gICAgICBjYW4gYmUgZGV0ZXJtaW5lZCBieSBjb25zdWx0aW5n IGUuZy4gdGhlDQorKyAgICAgIERvIG5vdCB1c2UgZWl0aGVyIHRoZSBiYXJlIDxyZXBsYWNlYWJs ZT5waWQ8L3JlcGxhY2VhYmxlPiBvcg0KKysgICAgICA8cmVwbGFjZWFibGU+cGlkLHN0YXJ0LXRp bWU8L3JlcGxhY2VhYmxlPiBzeW50YXggZm9ybXMgZm9yDQorKyAgICAgIDxvcHRpb24+LS1wcm9j ZXNzPC9vcHRpb24+LiAgVGhlcmUgYXJlIHJhY2UgY29uZGl0aW9ucyBpbiBib3RoLg0KKysgICAg ICBOZXcgY29kZSBzaG91bGQgYWx3YXlzIHVzZQ0KKysgICAgICA8cmVwbGFjZWFibGU+cGlkLHBp ZC1zdGFydC10aW1lLHVpZDwvcmVwbGFjZWFibGU+LiAgVGhlIHZhbHVlIG9mDQorKyAgICAgIDxy ZXBsYWNlYWJsZT5zdGFydC10aW1lPC9yZXBsYWNlYWJsZT4gY2FuIGJlIGRldGVybWluZWQgYnkN CisrICAgICAgY29uc3VsdGluZyBlLmcuIHRoZQ0KKyAgICAgICA8Y2l0ZXJlZmVudHJ5Pg0KKyAg ICAgICAgIDxyZWZlbnRyeXRpdGxlPnByb2M8L3JlZmVudHJ5dGl0bGU+PG1hbnZvbG51bT41PC9t YW52b2xudW0+DQorICAgICAgIDwvY2l0ZXJlZmVudHJ5Pg0KKy0gICAgICBmaWxlIHN5c3RlbSBk ZXBlbmRpbmcgb24gdGhlIG9wZXJhdGluZyBzeXN0ZW0uIElmIG9ubHkgPHJlcGxhY2VhYmxlPnBp ZDwvcmVwbGFjZWFibGU+DQorLSAgICAgIGlzIHBhc3NlZCB0byB0aGUgPG9wdGlvbj4tLXByb2Nl c3M8L29wdGlvbj4gb3B0aW9uLCB0aGVuIDxjb21tYW5kPnBrY2hlY2s8L2NvbW1hbmQ+DQorLSAg ICAgIHdpbGwgbG9vayB1cCB0aGUgc3RhcnQgdGltZSBpdHNlbGYgYnV0IG5vdGUgdGhhdCB0aGlz IG1heSBiZSByYWN5Lg0KKysgICAgICBmaWxlIHN5c3RlbSBkZXBlbmRpbmcgb24gdGhlIG9wZXJh dGluZyBzeXN0ZW0uICBJZiBmZXdlciB0aGFuIDMNCisrICAgICAgYXJndW1lbnRzIGFyZSBwYXNz ZWQsIDxjb21tYW5kPnBrY2hlY2s8L2NvbW1hbmQ+IHdpbGwgYXR0ZW1wdCB0bw0KKysgICAgICBs b29rIHVwIHRoZW0gdXAgaW50ZXJuYWxseSwgYnV0IG5vdGUgdGhhdCB0aGlzIG1heSBiZSByYWN5 Lg0KKysgICAgPC9wYXJhPg0KKysgICAgPHBhcmE+DQorKyAgICAgIElmIHlvdXIgcHJvZ3JhbSBp cyBhIGRhZW1vbiB3aXRoIGUuZy4gYSBjdXN0b20gVW5peCBkb21haW4NCisrICAgICAgc29ja2V0 LCB5b3Ugc2hvdWxkIGRldGVybWluZSB0aGUgPHJlcGxhY2VhYmxlPnVpZDwvcmVwbGFjZWFibGU+ DQorKyAgICAgIHBhcmFtZXRlciB2aWEgb3BlcmF0aW5nIHN5c3RlbSBtZWNoYW5pc21zIHN1Y2gg YXMNCisrICAgICAgPGxpdGVyYWw+UEVFUkNSRUQ8L2xpdGVyYWw+Lg0KKyAgICAgPC9wYXJhPg0K KyAgIDwvcmVmc2VjdDE+DQorIA0KK2RpZmYgLS1naXQgYS9zcmMvcHJvZ3JhbXMvcGtjaGVjay5j IGIvc3JjL3Byb2dyYW1zL3BrY2hlY2suYw0KK2luZGV4IDcxOWEzNmMuLjA1N2U5MjYgMTAwNjQ0 DQorLS0tIGEvc3JjL3Byb2dyYW1zL3BrY2hlY2suYw0KKysrKyBiL3NyYy9wcm9ncmFtcy9wa2No ZWNrLmMNCitAQCAtMzcyLDYgKzM3Miw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10p DQorICAgICAgIGVsc2UgaWYgKGdfc3RyY21wMCAoYXJndltuXSwgIi0tcHJvY2VzcyIpID09IDAg fHwgZ19zdHJjbXAwIChhcmd2W25dLCAiLXAiKSA9PSAwKQ0KKyAgICAgICAgIHsNCisgICAgICAg ICAgIGdpbnQgcGlkOw0KKysgICAgICAgIGd1aW50IHVpZDsNCisgICAgICAgICAgIGd1aW50NjQg cGlkX3N0YXJ0X3RpbWU7DQorIA0KKyAgICAgICAgICAgbisrOw0KK0BAIC0zODEsNyArMzgyLDEx IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pDQorICAgICAgICAgICAgICAgZ290byBv dXQ7DQorICAgICAgICAgICAgIH0NCisgDQorLSAgICAgICAgICBpZiAoc3NjYW5mIChhcmd2W25d LCAiJWksJSIgR19HVUlOVDY0X0ZPUk1BVCwgJnBpZCwgJnBpZF9zdGFydF90aW1lKSA9PSAyKQ0K KysgICAgICAgICAgaWYgKHNzY2FuZiAoYXJndltuXSwgIiVpLCUiIEdfR1VJTlQ2NF9GT1JNQVQg IiwldSIsICZwaWQsICZwaWRfc3RhcnRfdGltZSwgJnVpZCkgPT0gMykNCisrICAgICAgICAgICAg ew0KKysgICAgICAgICAgICAgIHN1YmplY3QgPSBwb2xraXRfdW5peF9wcm9jZXNzX25ld19mb3Jf b3duZXIgKHBpZCwgcGlkX3N0YXJ0X3RpbWUsIHVpZCk7DQorKyAgICAgICAgICAgIH0NCisrICAg ICAgICAgIGVsc2UgaWYgKHNzY2FuZiAoYXJndltuXSwgIiVpLCUiIEdfR1VJTlQ2NF9GT1JNQVQs ICZwaWQsICZwaWRfc3RhcnRfdGltZSkgPT0gMikNCisgICAgICAgICAgICAgew0KKyAgICAgICAg ICAgICAgIHN1YmplY3QgPSBwb2xraXRfdW5peF9wcm9jZXNzX25ld19mdWxsIChwaWQsIHBpZF9z dGFydF90aW1lKTsNCisgICAgICAgICAgICAgfQ0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0 LTAuMTA1LzAuMTEzLzAwZ2l0X2ZpeF9tZW1sZWFrLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4x MDUvMC4xMTMvMDBnaXRfZml4X21lbWxlYWsucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwMDAuLjQyODMzNDVhMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9w b2xraXQtMC4xMDUvMC4xMTMvMDBnaXRfZml4X21lbWxlYWsucGF0Y2gNCkBAIC0wLDAgKzEsMjYg QEANCitGcm9tOiAiTWF4IEEuIERlZG5ldiIgPGRlZG5ldkByYW1ibGVyLnJ1Pg0KK0RhdGU6IFN1 biwgMTEgSmFuIDIwMTUgMjA6MDA6NDQgLTA1MDANCitTdWJqZWN0OiBhdXRob3JpdHk6IEZpeCBt ZW1vcnkgbGVhayBpbiBFbnVtZXJhdGVBY3Rpb25zIGNhbGwgcmVzdWx0cyBoYW5kbGVyDQorDQor UG9saWN5a2l0LTEgZG9lc24ndCByZWxlYXNlIHJlZmVyZW5jZSBjb3VudGVycyBvZiBHVmFyaWFu dCBkYXRhIGZvcg0KK29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5FbnVtZXJh dGVBY3Rpb25zIGRidXMgY2FsbC4gIFRoaXMNCitwYXRjaCBmaXhlZCByZWZlcmVuY2UgY291bnRp bmcgYW5kIGZvbGxvd2luZyBtZW1vcnkgbGVhay4NCisNCitCdWc6IGh0dHBzOi8vYnVncy5mcmVl ZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Mjg4DQorT3JpZ2luOiB1cHN0cmVhbSwgMC4x MTMsIGNvbW1pdDpmNGQ3MWUwZGU4ODUwMTA0OTRiOGIwYjhkNjJjYTkxMDAxMWQ3NTQ0DQorLS0t DQorIHNyYy9wb2xraXQvcG9sa2l0YXV0aG9yaXR5LmMgfCAxIC0NCisgMSBmaWxlIGNoYW5nZWQs IDEgZGVsZXRpb24oLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdC9wb2xraXRhdXRob3Jp dHkuYyBiL3NyYy9wb2xraXQvcG9sa2l0YXV0aG9yaXR5LmMNCitpbmRleCA5OTQ3Y2YzLi44NGRh YjcyIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXQvcG9sa2l0YXV0aG9yaXR5LmMNCisrKysgYi9z cmMvcG9sa2l0L3BvbGtpdGF1dGhvcml0eS5jDQorQEAgLTcxNSw3ICs3MTUsNiBAQCBwb2xraXRf YXV0aG9yaXR5X2VudW1lcmF0ZV9hY3Rpb25zX2ZpbmlzaCAoUG9sa2l0QXV0aG9yaXR5ICphdXRo b3JpdHksDQorICAgd2hpbGUgKChjaGlsZCA9IGdfdmFyaWFudF9pdGVyX25leHRfdmFsdWUgKCZp dGVyKSkgIT0gTlVMTCkNCisgICAgIHsNCisgICAgICAgcmV0ID0gZ19saXN0X3ByZXBlbmQgKHJl dCwgcG9sa2l0X2FjdGlvbl9kZXNjcmlwdGlvbl9uZXdfZm9yX2d2YXJpYW50IChjaGlsZCkpOw0K Ky0gICAgICBnX3ZhcmlhbnRfcmVmX3NpbmsgKGNoaWxkKTsNCisgICAgICAgZ192YXJpYW50X3Vu cmVmIChjaGlsZCk7DQorICAgICB9DQorICAgcmV0ID0gZ19saXN0X3JldmVyc2UgKHJldCk7DQpk aWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvMDBnaXRfaW52YWxpZF9vYmpl Y3RfcGF0aHMucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzLzAwZ2l0X2ludmFs aWRfb2JqZWN0X3BhdGhzLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwLi4wODhkMTcwYTANCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1 LzAuMTEzLzAwZ2l0X2ludmFsaWRfb2JqZWN0X3BhdGhzLnBhdGNoDQpAQCAtMCwwICsxLDExNiBA QA0KK0Zyb206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAcmVkaGF0LmNvbT4NCitEYXRlOiBTYXQs IDMwIE1heSAyMDE1IDA5OjA2OjIzIC0wNDAwDQorU3ViamVjdDogQ1ZFLTIwMTUtMzIxODogYmFj a2VuZDogSGFuZGxlIGludmFsaWQgb2JqZWN0IHBhdGhzIGluDQorIFJlZ2lzdGVyQXV0aGVudGlj YXRpb25BZ2VudA0KK01JTUUtVmVyc2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PSJ1dGYtOCINCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQor UHJvcGVybHkgcHJvcGFnYXRlIHRoZSBlcnJvciwgb3RoZXJ3aXNlIHdlIGRlcmVmZXJlbmNlIGEg YE5VTExgDQorcG9pbnRlci4gIFRoaXMgaXMgYSBsb2NhbCwgYXV0aGVudGljYXRlZCBEb1MuDQor DQorYFJlZ2lzdGVyQXV0aGVudGljYXRpb25BZ2VudFdpdGhPcHRpb25zYCBhbmQNCitgVW5yZWdp c3RlckF1dGhlbnRpY2F0aW9uYCBoYXZlIGJlZW4gdmFsaWRhdGVkIHRvIG5vdCBuZWVkIGNoYW5n ZXMgZm9yDQordGhpcy4NCisNCitodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVz L3BvbGtpdC1kZXZlbC8yMDE1LU1heS8wMDA0MjAuaHRtbA0KKw0KK0J1ZzogaHR0cHM6Ly9idWdz LmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MjkNCitCdWctRGViaWFuOiBodHRw czovL2J1Z3MuZGViaWFuLm9yZy83ODc5MzINCitSZXBvcnRlZC1ieTogVGF2aXMgT3JtYW5keSA8 dGF2aXNvQGdvb2dsZS5jb20+DQorUmV2aWV3ZWQtYnk6IFBoaWxpcCBXaXRobmFsbCA8cGhpbGlw QHRlY25vY29kZS5jby51az4NCitSZXZpZXdlZC1ieTogTWlsb3NsYXYgVHJtYcSNIDxtaXRyQHJl ZGhhdC5jb20+DQorU2lnbmVkLW9mZi1ieTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0ByZWRoYXQu Y29tPg0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEzLCBjb21taXQ6NDhlNjQ2OTE4ZWZiMmJmMGIz YjUwNTc0NzY1NTcyNmQ3ODY5ZjMxYw0KKy0tLQ0KKyAuLi4vcG9sa2l0YmFja2VuZGludGVyYWN0 aXZlYXV0aG9yaXR5LmMgICAgICAgICAgICB8IDUzICsrKysrKysrKysrKy0tLS0tLS0tLS0NCisg MSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQ0KKw0KK2Rp ZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRo b3JpdHkuYw0KYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRo b3JpdHkuYw0KK2luZGV4IGIyMzdlOWQuLjI1ZTEzZmIgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtp dGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMNCisrKysgYi9zcmMv cG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KK0BAIC0x NTU4LDM2ICsxNTU4LDQyIEBAIGF1dGhlbnRpY2F0aW9uX2FnZW50X25ldyAoUG9sa2l0U3ViamVj dCAqc2NvcGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnVuaXF1 ZV9zeXN0ZW1fYnVzX25hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2No YXIgKmxvY2FsZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqb2Jq ZWN0X3BhdGgsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgKnJlZ2lz dHJhdGlvbl9vcHRpb25zKQ0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAg ICpyZWdpc3RyYXRpb25fb3B0aW9ucywNCisrICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgICAgICoqZXJyb3IpDQorIHsNCisgICBBdXRoZW50aWNhdGlvbkFnZW50ICphZ2VudDsNCist ICBHRXJyb3IgKmVycm9yOw0KKysgIEdEQnVzUHJveHkgKnByb3h5Ow0KKyANCistICBhZ2VudCA9 IGdfbmV3MCAoQXV0aGVudGljYXRpb25BZ2VudCwgMSk7DQorKyAgaWYgKCFnX3ZhcmlhbnRfaXNf b2JqZWN0X3BhdGggKG9iamVjdF9wYXRoKSkNCisrICAgIHsNCisrICAgICAgZ19zZXRfZXJyb3Ig KGVycm9yLCBQT0xLSVRfRVJST1IsIFBPTEtJVF9FUlJPUl9GQUlMRUQsDQorKyAgICAgICAgICAg ICAgICAgICAiSW52YWxpZCBvYmplY3QgcGF0aCAnJXMnIiwgb2JqZWN0X3BhdGgpOw0KKysgICAg ICByZXR1cm4gTlVMTDsNCisrICAgIH0NCisrDQorKyAgcHJveHkgPSBnX2RidXNfcHJveHlfbmV3 X2Zvcl9idXNfc3luYyAoR19CVVNfVFlQRV9TWVNURU0sDQorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR19EQlVTX1BST1hZX0ZMQUdTX0RPX05PVF9MT0FEX1BST1BF UlRJRVMgfA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfREJV U19QUk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdOQUxTLA0KKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIC8qIEdEQnVzSW50ZXJmYWNlSW5mbyogKi8N CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVfc3lzdGVt X2J1c19uYW1lLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i amVjdF9wYXRoLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv cmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50IiwNCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAvKiBHQ2FuY2VsbGFibGUq ICovDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IpOw0K KysgIGlmIChwcm94eSA9PSBOVUxMKQ0KKysgICAgew0KKysgICAgICBnX3ByZWZpeF9lcnJvciAo ZXJyb3IsICJGYWlsZWQgdG8gY29uc3RydWN0IHByb3h5IGZvciBhZ2VudDogIiApOw0KKysgICAg ICByZXR1cm4gTlVMTDsNCisrICAgIH0NCisgDQorKyAgYWdlbnQgPSBnX25ldzAgKEF1dGhlbnRp Y2F0aW9uQWdlbnQsIDEpOw0KKyAgIGFnZW50LT5yZWZfY291bnQgPSAxOw0KKyAgIGFnZW50LT5z Y29wZSA9IGdfb2JqZWN0X3JlZiAoc2NvcGUpOw0KKyAgIGFnZW50LT5vYmplY3RfcGF0aCA9IGdf c3RyZHVwIChvYmplY3RfcGF0aCk7DQorICAgYWdlbnQtPnVuaXF1ZV9zeXN0ZW1fYnVzX25hbWUg PSBnX3N0cmR1cCAodW5pcXVlX3N5c3RlbV9idXNfbmFtZSk7DQorICAgYWdlbnQtPmxvY2FsZSA9 IGdfc3RyZHVwIChsb2NhbGUpOw0KKyAgIGFnZW50LT5yZWdpc3RyYXRpb25fb3B0aW9ucyA9IHJl Z2lzdHJhdGlvbl9vcHRpb25zICE9IE5VTEwgPyBnX3ZhcmlhbnRfcmVmIChyZWdpc3RyYXRpb25f b3B0aW9ucykgOiBOVUxMOw0KKy0NCistICBlcnJvciA9IE5VTEw7DQorLSAgYWdlbnQtPnByb3h5 ID0gZ19kYnVzX3Byb3h5X25ld19mb3JfYnVzX3N5bmMgKEdfQlVTX1RZUEVfU1lTVEVNLA0KKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNfUFJP WFlfRkxBR1NfRE9fTk9UX0xPQURfUFJPUEVSVElFUyB8DQorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfREJVU19QUk9YWV9GTEFHU19ET19OT1RfQ09O TkVDVF9TSUdOQUxTLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLCAvKiBHREJ1c0ludGVyZmFjZUluZm8qICovDQorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50LT51bmlxdWVfc3lzdGVtX2J1 c19uYW1lLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhZ2VudC0+b2JqZWN0X3BhdGgsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlv bkFnZW50IiwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwgLyogR0NhbmNlbGxhYmxlKiAqLw0KKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOw0KKy0gIGlmIChhZ2VudC0+cHJveHkgPT0g TlVMTCkNCistICAgIHsNCistICAgICAgZ193YXJuaW5nICgiRXJyb3IgY29uc3RydWN0aW5nIHBy b3h5IGZvciBhZ2VudDogJXMiLCBlcnJvci0+bWVzc2FnZSk7DQorLSAgICAgIGdfZXJyb3JfZnJl ZSAoZXJyb3IpOw0KKy0gICAgICAvKiBUT0RPOiBNYWtlIGF1dGhlbnRpY2F0aW9uX2FnZW50X25l dygpIHJldHVybiBOVUxMIGFuZCBzZXQgYSBHRXJyb3IgKi8NCistICAgIH0NCisrICBhZ2VudC0+ cHJveHkgPSBwcm94eTsNCisgDQorICAgcmV0dXJuIGFnZW50Ow0KKyB9DQorQEAgLTIyMzQsOCAr MjI0MCw2IEBAIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0eV9yZWdpc3Rlcl9h dXRoZW50aWNhdGlvbl9hZ2VudCAoUG9sa2l0QmFja2VuDQorICAgY2FsbGVyX2NtZGxpbmUgPSBO VUxMOw0KKyAgIGFnZW50ID0gTlVMTDsNCisgDQorLSAgLyogVE9ETzogdmFsaWRhdGUgdGhhdCBv YmplY3QgcGF0aCBpcyB3ZWxsLWZvcm1lZCAqLw0KKy0NCisgICBpbnRlcmFjdGl2ZV9hdXRob3Jp dHkgPSBQT0xLSVRfQkFDS0VORF9JTlRFUkFDVElWRV9BVVRIT1JJVFkgKGF1dGhvcml0eSk7DQor ICAgcHJpdiA9IFBPTEtJVF9CQUNLRU5EX0lOVEVSQUNUSVZFX0FVVEhPUklUWV9HRVRfUFJJVkFU RSAoaW50ZXJhY3RpdmVfYXV0aG9yaXR5KTsNCisgDQorQEAgLTIzMjIsNyArMjMyNiwxMCBAQCBw b2xraXRfYmFja2VuZF9pbnRlcmFjdGl2ZV9hdXRob3JpdHlfcmVnaXN0ZXJfYXV0aGVudGljYXRp b25fYWdlbnQgKFBvbGtpdEJhY2tlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwb2xraXRfc3lzdGVtX2J1c19uYW1lX2dldF9uYW1lIChQT0xLSVRfU1lTVEVNX0JVU19O QU1FIChjYWxsZXIpKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9j YWxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RfcGF0aCwN CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyk7DQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsDQorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsNCisrICBpZiAoIWFnZW50KQ0KKysgICAgZ290 byBvdXQ7DQorIA0KKyAgIGdfaGFzaF90YWJsZV9pbnNlcnQgKHByaXYtPmhhc2hfc2NvcGVfdG9f YXV0aGVudGljYXRpb25fYWdlbnQsDQorICAgICAgICAgICAgICAgICAgICAgICAgZ19vYmplY3Rf cmVmIChzdWJqZWN0KSwNCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy8w M19Qb2xraXRBZ2VudFNlc3Npb24tZml4LXJhY2UtYmV0d2Vlbi1jaGlsZC1hbmQtaW8td2F0LnBh dGNoIGIvcGF0Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExMy8wM19Qb2xraXRBZ2VudFNlc3Npb24t Zml4LXJhY2UtYmV0d2Vlbi1jaGlsZC1hbmQtaW8td2F0LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwLi45NTYwOTliNmQNCi0tLSAvZGV2L251bGwNCisrKyBiL3Bh dGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzLzAzX1BvbGtpdEFnZW50U2Vzc2lvbi1maXgtcmFjZS1i ZXR3ZWVuLWNoaWxkLWFuZC1pby13YXQucGF0Y2gNCkBAIC0wLDAgKzEsMTIwIEBADQorRnJvbTog UnVpIE1hdG9zIDx0aWFnb21hdG9zQGdtYWlsLmNvbT4NCitEYXRlOiBUaHUsIDYgRmViIDIwMTQg MTg6NDE6MTggKzAxMDANCitTdWJqZWN0OiBQb2xraXRBZ2VudFNlc3Npb246IGZpeCByYWNlIGJl dHdlZW4gY2hpbGQgYW5kIGlvIHdhdGNoZXMNCisNCitUaGUgaGVscGVyIGZsdXNoZXMgYW5kIGZk YXRhc3luY3Mgc3Rkb3V0IGFuZCBzdGRlcnIgYmVmb3JlIHRlcm1pbmF0aW5nDQorYnV0IHRoaXMg ZG9lc24ndCBndWFyYW50ZWUgdGhhdCBvdXIgaW8gd2F0Y2ggaXMgY2FsbGVkIGJlZm9yZSBvdXIN CitjaGlsZCB3YXRjaC4gVGhpcyBtZWFucyB0aGF0IHdlIGNhbiBlbmQgdXAgd2l0aCBhIHN1Y2Nl c3NmdWwgcmV0dXJuDQorZnJvbSB0aGUgaGVscGVyIHdoaWNoIHdlIHN0aWxsIHJlcG9ydCBhcyBh IGZhaWx1cmUuDQorDQorSWYgd2UgYWRkIEdfSU9fSFVQIGFuZCBHX0lPX0VSUiB0byB0aGUgY29u ZGl0aW9ucyB3ZSBsb29rIGZvciBpbiB0aGUNCitpbyB3YXRjaCBhbmQgdGhlIGNoaWxkIHRlcm1p bmF0ZXMgd2Ugc3RpbGwgcnVuIHRoZSBpbyB3YXRjaCBoYW5kbGVyDQord2hpY2ggd2lsbCBjb21w bGV0ZSB0aGUgc2Vzc2lvbi4NCisNCitUaGlzIG1lYW5zIHRoYXQgdGhlIGNoaWxkIHdhdGNoIGlz IGluIGZhY3QgbmVlZGxlc3MgYW5kIHdlIGNhbiByZW1vdmUNCitpdC4NCisNCitCdWc6IGh0dHBz Oi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODQ3DQorT3JpZ2luOiB1 cHN0cmVhbSwgMC4xMTMsIGNvbW1pdDo3NjUwYWQxZTA4YWIxM2JkYjQ2MTc4M2M0OTk1ZDE4NmQ5 MzkyODQwDQorQnVnOiBodHRwOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTMwNTE1DQorQnVnLVVidW50dTogaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2J1Z3MvNjQ5OTM5DQor QnVnLVVidW50dTogaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2J1Z3MvNDQ1MzAzDQorLS0tDQorIHNy Yy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudHNlc3Npb24uYyB8IDQ3ICsrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwg MzYgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRh Z2VudHNlc3Npb24uYyBiL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudHNlc3Npb24uYw0KK2lu ZGV4IDgxMjljZDkuLmE2NThhMjIgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGFnZW50L3BvbGtp dGFnZW50c2Vzc2lvbi5jDQorKysrIGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50c2Vzc2lv bi5jDQorQEAgLTkyLDcgKzkyLDYgQEAgc3RydWN0IF9Qb2xraXRBZ2VudFNlc3Npb24NCisgICBp bnQgY2hpbGRfc3Rkb3V0Ow0KKyAgIEdQaWQgY2hpbGRfcGlkOw0KKyANCistICBHU291cmNlICpj aGlsZF93YXRjaF9zb3VyY2U7DQorICAgR1NvdXJjZSAqY2hpbGRfc3Rkb3V0X3dhdGNoX3NvdXJj ZTsNCisgICBHSU9DaGFubmVsICpjaGlsZF9zdGRvdXRfY2hhbm5lbDsNCisgDQorQEAgLTM3Nywx MyArMzc2LDYgQEAga2lsbF9oZWxwZXIgKFBvbGtpdEFnZW50U2Vzc2lvbiAqc2Vzc2lvbikNCisg ICAgICAgc2Vzc2lvbi0+Y2hpbGRfcGlkID0gMDsNCisgICAgIH0NCisgDQorLSAgaWYgKHNlc3Np b24tPmNoaWxkX3dhdGNoX3NvdXJjZSAhPSBOVUxMKQ0KKy0gICAgew0KKy0gICAgICBnX3NvdXJj ZV9kZXN0cm95IChzZXNzaW9uLT5jaGlsZF93YXRjaF9zb3VyY2UpOw0KKy0gICAgICBnX3NvdXJj ZV91bnJlZiAoc2Vzc2lvbi0+Y2hpbGRfd2F0Y2hfc291cmNlKTsNCistICAgICAgc2Vzc2lvbi0+ Y2hpbGRfd2F0Y2hfc291cmNlID0gTlVMTDsNCistICAgIH0NCistDQorICAgaWYgKHNlc3Npb24t PmNoaWxkX3N0ZG91dF93YXRjaF9zb3VyY2UgIT0gTlVMTCkNCisgICAgIHsNCisgICAgICAgZ19z b3VyY2VfZGVzdHJveSAoc2Vzc2lvbi0+Y2hpbGRfc3Rkb3V0X3dhdGNoX3NvdXJjZSk7DQorQEAg LTQyOSwyNiArNDIxLDYgQEAgY29tcGxldGVfc2Vzc2lvbiAoUG9sa2l0QWdlbnRTZXNzaW9uICpz ZXNzaW9uLA0KKyAgICAgfQ0KKyB9DQorIA0KKy1zdGF0aWMgdm9pZA0KKy1jaGlsZF93YXRjaF9m dW5jIChHUGlkICAgICBwaWQsDQorLSAgICAgICAgICAgICAgICAgIGdpbnQgICAgIHN0YXR1cywN CistICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgdXNlcl9kYXRhKQ0KKy17DQorLSAgUG9sa2l0 QWdlbnRTZXNzaW9uICpzZXNzaW9uID0gUE9MS0lUX0FHRU5UX1NFU1NJT04gKHVzZXJfZGF0YSk7 DQorLQ0KKy0gIGlmIChHX1VOTElLRUxZIChfc2hvd19kZWJ1ZyAoKSkpDQorLSAgICB7DQorLSAg ICAgIGdfcHJpbnQgKCJQb2xraXRBZ2VudFNlc3Npb246IGluIGNoaWxkX3dhdGNoX2Z1bmMgZm9y IHBpZCAlZCAoV0lGRVhJVEVEPSVkIFdFWElUU1RBVFVTPSVkKVxuIiwNCistICAgICAgICAgICAg ICAgKGdpbnQpIHBpZCwNCistICAgICAgICAgICAgICAgV0lGRVhJVEVEKHN0YXR1cyksDQorLSAg ICAgICAgICAgICAgIFdFWElUU1RBVFVTKHN0YXR1cykpOw0KKy0gICAgfQ0KKy0NCistICAvKiBr aWxsIGFsbCB0aGUgd2F0Y2hlcyB3ZSBoYXZlIHNldCB1cCwgZXhjZXB0IGZvciB0aGUgY2hpbGQg c2luY2UgaXQgaGFzIGV4aXRlZCBhbHJlYWR5ICovDQorLSAgc2Vzc2lvbi0+Y2hpbGRfcGlkID0g MDsNCistICBjb21wbGV0ZV9zZXNzaW9uIChzZXNzaW9uLCBGQUxTRSk7DQorLX0NCistDQorIHN0 YXRpYyBnYm9vbGVhbg0KKyBpb193YXRjaF9oYXZlX2RhdGEgKEdJT0NoYW5uZWwgICAgKmNoYW5u ZWwsDQorICAgICAgICAgICAgICAgICAgICAgR0lPQ29uZGl0aW9uICAgY29uZGl0aW9uLA0KK0BA IC00NzUsMTAgKzQ0NywxMyBAQCBpb193YXRjaF9oYXZlX2RhdGEgKEdJT0NoYW5uZWwgICAgKmNo YW5uZWwsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcik7 DQorLSAgaWYgKGVycm9yICE9IE5VTEwpDQorKyAgaWYgKGVycm9yICE9IE5VTEwgfHwgbGluZSA9 PSBOVUxMKQ0KKyAgICAgew0KKy0gICAgICBnX3dhcm5pbmcgKCJFcnJvciByZWFkaW5nIGxpbmUg ZnJvbSBoZWxwZXI6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOw0KKy0gICAgICBnX2Vycm9yX2ZyZWUg KGVycm9yKTsNCisrICAgICAgLyogSW4gY2FzZSB3ZSBnZXQganVzdCBHX0lPX0hVUCwgbGluZSBp cyBOVUxMIGJ1dCBlcnJvciBpcw0KKysgICAgICAgICB1bnNldC4qLw0KKysgICAgICBnX3dhcm5p bmcgKCJFcnJvciByZWFkaW5nIGxpbmUgZnJvbSBoZWxwZXI6ICVzIiwNCisrICAgICAgICAgICAg ICAgICBlcnJvciA/IGVycm9yLT5tZXNzYWdlIDogIm5vdGhpbmcgdG8gcmVhZCIpOw0KKysgICAg ICBnX2NsZWFyX2Vycm9yICgmZXJyb3IpOw0KKyANCisgICAgICAgY29tcGxldGVfc2Vzc2lvbiAo c2Vzc2lvbiwgRkFMU0UpOw0KKyAgICAgICBnb3RvIG91dDsNCitAQCAtNTQwLDYgKzUxNSw5IEBA IGlvX3dhdGNoX2hhdmVfZGF0YSAoR0lPQ2hhbm5lbCAgICAqY2hhbm5lbCwNCisgICBnX2ZyZWUg KGxpbmUpOw0KKyAgIGdfZnJlZSAodW5lc2NhcGVkKTsNCisgDQorKyAgaWYgKGNvbmRpdGlvbiAm IChHX0lPX0VSUiB8IEdfSU9fSFVQKSkNCisrICAgIGNvbXBsZXRlX3Nlc3Npb24gKHNlc3Npb24s IEZBTFNFKTsNCisrDQorICAgLyoga2VlcCB0aGUgSU9DaGFubmVsIGFyb3VuZCAqLw0KKyAgIHJl dHVybiBUUlVFOw0KKyB9DQorQEAgLTY1MCwxMiArNjI4LDkgQEAgcG9sa2l0X2FnZW50X3Nlc3Np b25faW5pdGlhdGUgKFBvbGtpdEFnZW50U2Vzc2lvbiAqc2Vzc2lvbikNCisgICBpZiAoR19VTkxJ S0VMWSAoX3Nob3dfZGVidWcgKCkpKQ0KKyAgICAgZ19wcmludCAoIlBvbGtpdEFnZW50U2Vzc2lv bjogc3Bhd25lZCBoZWxwZXIgd2l0aCBwaWQgJWRcbiIsIChnaW50KSBzZXNzaW9uLT5jaGlsZF9w aWQpOw0KKyANCistICBzZXNzaW9uLT5jaGlsZF93YXRjaF9zb3VyY2UgPSBnX2NoaWxkX3dhdGNo X3NvdXJjZV9uZXcgKHNlc3Npb24tPmNoaWxkX3BpZCk7DQorLSAgZ19zb3VyY2Vfc2V0X2NhbGxi YWNrIChzZXNzaW9uLT5jaGlsZF93YXRjaF9zb3VyY2UsIChHU291cmNlRnVuYykgY2hpbGRfd2F0 Y2hfZnVuYywgc2Vzc2lvbiwgTlVMTCk7DQorLSAgZ19zb3VyY2VfYXR0YWNoIChzZXNzaW9uLT5j aGlsZF93YXRjaF9zb3VyY2UsIGdfbWFpbl9jb250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCAoKSk7 DQorLQ0KKyAgIHNlc3Npb24tPmNoaWxkX3N0ZG91dF9jaGFubmVsID0gZ19pb19jaGFubmVsX3Vu aXhfbmV3IChzZXNzaW9uLT5jaGlsZF9zdGRvdXQpOw0KKy0gIHNlc3Npb24tPmNoaWxkX3N0ZG91 dF93YXRjaF9zb3VyY2UgPSBnX2lvX2NyZWF0ZV93YXRjaCAoc2Vzc2lvbi0+Y2hpbGRfc3Rkb3V0 X2NoYW5uZWwsIEdfSU9fSU4pOw0KKysgIHNlc3Npb24tPmNoaWxkX3N0ZG91dF93YXRjaF9zb3Vy Y2UgPSBnX2lvX2NyZWF0ZV93YXRjaCAoc2Vzc2lvbi0+Y2hpbGRfc3Rkb3V0X2NoYW5uZWwsDQor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHX0lPX0lOIHwgR19JT19FUlIgfCBHX0lPX0hVUCk7DQorICAgZ19zb3VyY2Vfc2V0X2NhbGxi YWNrIChzZXNzaW9uLT5jaGlsZF9zdGRvdXRfd2F0Y2hfc291cmNlLCAoR1NvdXJjZUZ1bmMpIGlv X3dhdGNoX2hhdmVfZGF0YSwgc2Vzc2lvbiwgTlVMTCk7DQorICAgZ19zb3VyY2VfYXR0YWNoIChz ZXNzaW9uLT5jaGlsZF9zdGRvdXRfd2F0Y2hfc291cmNlLCBnX21haW5fY29udGV4dF9nZXRfdGhy ZWFkX2RlZmF1bHQgKCkpOw0KKyANCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8w LjExMy9DVkUtMjAxNS0zMjU1LUZpeC1HSGFzaFRhYmxlLXVzYWdlLnBhdGNoIGIvcGF0Y2hlcy9w b2xraXQtMC4xMDUvMC4xMTMvQ1ZFLTIwMTUtDQozMjU1LUZpeC1HSGFzaFRhYmxlLXVzYWdlLnBh dGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi5mMjBmYWIyZjkNCi0t LSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0NWRS0yMDE1LTMy NTUtRml4LUdIYXNoVGFibGUtdXNhZ2UucGF0Y2gNCkBAIC0wLDAgKzEsNjggQEANCitGcm9tOiA9 P3V0Zi04P3E/TWlsb3NsYXZfVHJtYT1DND04RD89IDxtaXRyQHJlZGhhdC5jb20+DQorRGF0ZTog V2VkLCAxIEFwciAyMDE1IDA1OjIyOjM3ICswMjAwDQorU3ViamVjdDogQ1ZFLTIwMTUtMzI1NSBG aXggR0hhc2hUYWJsZSB1c2FnZS4NCisNCitEb24ndCBhc3N1bWUgdGhhdCB0aGUgaGFzaCB0YWJs ZSB3aXRoIGZyZWUgYm90aCB0aGUga2V5IGFuZCB0aGUgdmFsdWUNCithdCB0aGUgc2FtZSB0aW1l LCBzdXBwbHkgcHJvcGVyIGRlYWxsb2NhdGlvbiBmdW5jdGlvbnMgZm9yIHRoZSBrZXkNCithbmQg dmFsdWUgc2VwYXJhdGVseS4NCisNCitUaGVuIGRyb3AgUGFyc2VkQWN0aW9uOjphY3Rpb25faWQg d2hpY2ggaXMgbm8gbG9uZ2VyIHVzZWQgZm9yIGFueXRoaW5nLg0KKw0KK2h0dHBzOi8vYnVncy5m cmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTAxDQorYW5kDQoraHR0cHM6Ly9idWdz LmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM1OTANCisNCitDVkU6IENWRS0yMDE1 LTMyNTUNCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0OjlmNWUwYzczMTc4NDAwM2Jk NGQ2ZmM3NWFiNzM5ZmY4YjJlYTI2OWYNCitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFu Lm9yZy83OTYxMzQNCistLS0NCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGFjdGlv bnBvb2wuYyB8IDggKysrLS0tLS0NCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZGFjdGlvbnBvb2wuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rp b25wb29sLmMNCitpbmRleCBlM2VkMzhkLi40MjcwZDRlIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xr aXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rpb25wb29sLmMNCisrKysgYi9zcmMvcG9sa2l0YmFj a2VuZC9wb2xraXRiYWNrZW5kYWN0aW9ucG9vbC5jDQorQEAgLTQwLDcgKzQwLDYgQEANCisgDQor IHR5cGVkZWYgc3RydWN0DQorIHsNCistICBnY2hhciAqYWN0aW9uX2lkOw0KKyAgIGdjaGFyICp2 ZW5kb3JfbmFtZTsNCisgICBnY2hhciAqdmVuZG9yX3VybDsNCisgICBnY2hhciAqaWNvbl9uYW1l Ow0KK0BAIC02Miw3ICs2MSw2IEBAIHR5cGVkZWYgc3RydWN0DQorIHN0YXRpYyB2b2lkDQorIHBh cnNlZF9hY3Rpb25fZnJlZSAoUGFyc2VkQWN0aW9uICphY3Rpb24pDQorIHsNCistICBnX2ZyZWUg KGFjdGlvbi0+YWN0aW9uX2lkKTsNCisgICBnX2ZyZWUgKGFjdGlvbi0+dmVuZG9yX25hbWUpOw0K KyAgIGdfZnJlZSAoYWN0aW9uLT52ZW5kb3JfdXJsKTsNCisgICBnX2ZyZWUgKGFjdGlvbi0+aWNv bl9uYW1lKTsNCitAQCAtMTM0LDcgKzEzMiw3IEBAIHBvbGtpdF9iYWNrZW5kX2FjdGlvbl9wb29s X2luaXQgKFBvbGtpdEJhY2tlbmRBY3Rpb25Qb29sICpwb29sKQ0KKyANCisgICBwcml2LT5wYXJz ZWRfYWN0aW9ucyA9IGdfaGFzaF90YWJsZV9uZXdfZnVsbCAoZ19zdHJfaGFzaCwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19zdHJfZXF1YWwsDQor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZnJlZSwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdEZXN0 cm95Tm90aWZ5KSBwYXJzZWRfYWN0aW9uX2ZyZWUpOw0KKyANCisgICBwcml2LT5wYXJzZWRfZmls ZXMgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwgKGdfc3RyX2hhc2gsDQorQEAgLTk4OCw3ICs5ODYs NiBAQCBfZW5kICh2b2lkICpkYXRhLCBjb25zdCBjaGFyICplbCkNCisgICAgICAgICAgIGljb25f bmFtZSA9IHBkLT5nbG9iYWxfaWNvbl9uYW1lOw0KKyANCisgICAgICAgICBhY3Rpb24gPSBnX25l dzAgKFBhcnNlZEFjdGlvbiwgMSk7DQorLSAgICAgICAgYWN0aW9uLT5hY3Rpb25faWQgPSBnX3N0 cmR1cCAocGQtPmFjdGlvbl9pZCk7DQorICAgICAgICAgYWN0aW9uLT52ZW5kb3JfbmFtZSA9IGdf c3RyZHVwICh2ZW5kb3IpOw0KKyAgICAgICAgIGFjdGlvbi0+dmVuZG9yX3VybCA9IGdfc3RyZHVw ICh2ZW5kb3JfdXJsKTsNCisgICAgICAgICBhY3Rpb24tPmljb25fbmFtZSA9IGdfc3RyZHVwIChp Y29uX25hbWUpOw0KK0BAIC0xMDAzLDcgKzEwMDAsOCBAQCBfZW5kICh2b2lkICpkYXRhLCBjb25z dCBjaGFyICplbCkNCisgICAgICAgICBhY3Rpb24tPmltcGxpY2l0X2F1dGhvcml6YXRpb25faW5h Y3RpdmUgPSBwZC0+aW1wbGljaXRfYXV0aG9yaXphdGlvbl9pbmFjdGl2ZTsNCisgICAgICAgICBh Y3Rpb24tPmltcGxpY2l0X2F1dGhvcml6YXRpb25fYWN0aXZlID0gcGQtPmltcGxpY2l0X2F1dGhv cml6YXRpb25fYWN0aXZlOw0KKyANCistICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0IChwcml2 LT5wYXJzZWRfYWN0aW9ucywgYWN0aW9uLT5hY3Rpb25faWQsIGFjdGlvbik7DQorKyAgICAgICAg Z19oYXNoX3RhYmxlX2luc2VydCAocHJpdi0+cGFyc2VkX2FjdGlvbnMsIGdfc3RyZHVwIChwZC0+ YWN0aW9uX2lkKSwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24pOw0KKyAN CisgICAgICAgICAvKiB3ZSBzdGVhbCB0aGVzZSBoYXNoIHRhYmxlcyAqLw0KKyAgICAgICAgIHBk LT5hbm5vdGF0aW9ucyA9IE5VTEw7DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUv MC4xMTMvQ1ZFLTIwMTUtNDYyNS1CaW5kLXVzZS1vZi1jb29raWVzLXRvLXNwZWNpZmljLXVpZHMu cGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL0NWRS0yMDE1LTQ2MjUtQmluZC11 c2Utb2YtY29va2llcy10by1zcGVjaWZpYy11aWRzLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwLi44YjU4NGE3NjQNCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNo ZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0NWRS0yMDE1LTQ2MjUtQmluZC11c2Utb2YtY29va2llcy10 by1zcGVjaWZpYy11aWRzLnBhdGNoDQpAQCAtMCwwICsxLDQ4NCBAQA0KK0Zyb206IENvbGluIFdh bHRlcnMgPHdhbHRlcnNAcmVkaGF0LmNvbT4NCitEYXRlOiBXZWQsIDE3IEp1biAyMDE1IDEzOjA3 OjAyIC0wNDAwDQorU3ViamVjdDogQ1ZFLTIwMTUtNDYyNTogQmluZCB1c2Ugb2YgY29va2llcyB0 byBzcGVjaWZpYyB1aWRzDQorTUlNRS1WZXJzaW9uOiAxLjANCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9InV0Zi04Ig0KK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQN CisNCitodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL3BvbGtpdC1kZXZlbC8y MDE1LUp1bmUvMDAwNDI1Lmh0bWwNCisNCitUaGUgImNvb2tpZSIgdmFsdWUgdGhhdCBQb2xraXQg aGFuZHMgb3V0IGlzIGdsb2JhbCB0byBhbGwgcG9sa2l0DQordXNlcnMuICBBbmQgd2hlbiBgQXV0 aGVudGljYXRpb25BZ2VudFJlc3BvbnNlYCBpcyBpbnZva2VkLCB3ZQ0KK3ByZXZpb3VzbHkgb25s eSByZWNlaXZlZCB0aGUgY29va2llIGFuZCAqdGFyZ2V0KiBpZGVudGl0eSwgYW5kDQorYXR0ZW1w dGVkIHRvIGZpbmQgYW4gYWdlbnQgZnJvbSB0aGF0Lg0KKw0KK1RoZSBwcm9ibGVtIGlzIHRoYXQg dGhlIGN1cnJlbnQgY29va2llIGlzIGp1c3QgYW4gaW50ZWdlcg0KK2NvdW50ZXIsIGFuZCBpZiBp dCBvdmVyZmxvd2VkLCBpdCB3b3VsZCBiZSBwb3NzaWJsZSBmb3INCithbiBzdWNjZXNzZnVsIGF1 dGhvcml6YXRpb24gaW4gb25lIHNlc3Npb24gdG8gdHJpZ2dlciBhIHJlc3BvbnNlDQoraW4gYW5v dGhlciBzZXNzaW9uLg0KKw0KK1RoZSBvdmVyZmxvdyBhbmQgYWJpbGl0eSB0byBndWVzcyB0aGUg Y29va2llIHdlcmUgZml4ZWQgYnkgdGhlDQorcHJldmlvdXMgcGF0Y2guDQorDQorVGhpcyBwYXRj aCBpcyBjb25jZXB0dWFsbHkgZnVydGhlciBoYXJkZW5pbmcgb24gdG9wIG9mIHRoYXQuICBQb2xr aXQNCitjdXJyZW50bHkgdHJlYXRzIHVpZHMgYXMgZXF1aXZhbGVudCBmcm9tIGEgc2VjdXJpdHkg ZG9tYWluDQorcGVyc3BlY3RpdmU7IHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yDQorU0VMaW51eC9B cHBBcm1vci9ldGMuIGRpZmZlcmVudGlhdGlvbi4NCisNCitXZSBjYW4gcmV0cmlldmUgdGhlIHVp ZCBmcm9tIGBnZXR1aWQoKWAgaW4gdGhlIHNldHVpZCBoZWxwZXIsIHdoaWNoDQorYWxsb3dzIHVz IHRvIGVuc3VyZSB0aGUgdWlkIGludm9raW5nIGBBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2Uy YA0KK21hdGNoZXMgdGhhdCBvZiB0aGUgYWdlbnQuDQorDQorVGhlbiB0aGUgYXV0aG9yaXR5IG9u bHkgbG9va3MgYXQgYXV0aGVudGljYXRpb24gc2Vzc2lvbnMgbWF0Y2hpbmcgdGhlDQorY29va2ll IHRoYXQgd2VyZSBjcmVhdGVkIGJ5IGEgbWF0Y2hpbmcgdWlkLCB0aHVzIHJlbW92aW5nIHRoZSBh YmlsaXR5DQorZm9yIGRpZmZlcmVudCB1aWRzIHRvIGludGVyZmVyZSB3aXRoIGVhY2ggb3RoZXIg ZW50aXJlbHkuDQorDQorU2V2ZXJhbCBmaXhlcyB0byB0aGlzIHBhdGNoIHdlcmUgY29udHJpYnV0 ZWQgYnk6DQorTWlsb3NsYXYgVHJtYcSNIDxtaXRyQHJlZGhhdC5jb20+DQorDQorQnVnOiBodHRw czovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MDgzNw0KK0NWRTogQ1ZF LTIwMTUtNDYyNQ0KK1JlcG9ydGVkLWJ5OiBUYXZpcyBPcm1hbmR5IDx0YXZpc29AZ29vZ2xlLmNv bT4NCitSZXZpZXdlZC1ieTogTWlsb3NsYXYgVHJtYcSNIDxtaXRyQHJlZGhhdC5jb20+DQorU2ln bmVkLW9mZi1ieTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0ByZWRoYXQuY29tPg0KK09yaWdpbjog dXBzdHJlYW0sIDAuMTEzLCBjb21taXQ6NDkzYWE1ZGMxZDI3OGFiOTA5NzExMGMxMjYyZjUyMjli YmFmMTc2Ng0KK0J1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc5NjEzNA0KKy0t LQ0KKyAuLi4uZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50LnhtbCB8 IDE0ICsrKystDQorIGRhdGEvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5Lnht bCAgICAgIHwgMjQgKysrKysrKystDQorIC4uLmVyZmFjZS1vcmcuZnJlZWRlc2t0b3AuUG9saWN5 S2l0MS5BdXRob3JpdHkueG1sIHwgNDYgKysrKysrKysrKysrKysrLQ0KKyBkb2NzL3BvbGtpdC9v dmVydmlldy54bWwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE4ICsrKystLS0NCisgc3Jj L3BvbGtpdC9wb2xraXRhdXRob3JpdHkuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysr LQ0KKyBzcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kYXV0aG9yaXR5LmMgICAgICAgICB8 IDYxICsrKysrKysrKysrKysrKysrKysrKy0NCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFj a2VuZGF1dGhvcml0eS5oICAgICAgICAgfCAgMiArDQorIC4uLi9wb2xraXRiYWNrZW5kaW50ZXJh Y3RpdmVhdXRob3JpdHkuYyAgICAgICAgICAgIHwgMzkgKysrKysrKysrKysrLS0NCisgOCBmaWxl cyBjaGFuZ2VkLCAxOTggaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pDQorDQorZGlmZiAt LWdpdCBhL2RhdGEvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aGVudGljYXRpb25BZ2Vu dC54bWwNCmIvZGF0YS9vcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlvbkFn ZW50LnhtbA0KK2luZGV4IDNiNTE5YzIuLjViZWVmN2QgMTAwNjQ0DQorLS0tIGEvZGF0YS9vcmcu ZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50LnhtbA0KKysrKyBiL2Rh dGEvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aGVudGljYXRpb25BZ2VudC54bWwNCitA QCAtOCw3ICs4LDE5IEBADQorICAgICA8YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3RrLkVnZ0RCdXMu RG9jU3RyaW5nIiB2YWx1ZT0iPHBhcmE+VGhpcyBELUJ1cyBpbnRlcmZhY2UgaXMgdXNlZCBmb3Ig Y29tbXVuaWNhdGlvbiBiZXR3ZWVuDQp0aGUgc3lzdGVtLXdpZGUgUG9saWN5S2l0IGRhZW1vbiBh bmQgb25lIG9yIG1vcmUgYXV0aGVudGljYXRpb24gYWdlbnRzIGVhY2ggcnVubmluZyBpbiBhIHVz ZXIgc2Vzc2lvbi48L3BhcmE+PHBhcmE+QW4NCmF1dGhlbnRpY2F0aW9uIGFnZW50IG11c3QgaW1w bGVtZW50IHRoaXMgaW50ZXJmYWNlIGFuZCByZWdpc3RlciAocGFzc2luZyB0aGUgb2JqZWN0IHBh dGggb2YgdGhlIG9iamVjdCBpbXBsZW1lbnRpbmcgdGhlDQppbnRlcmZhY2UpIHVzaW5nIHRoZSBv cmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuUmVnaXN0ZXJBdXRoZW50aWNhdGlv bkFnZW50KCkgYW5kDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuVW5yZWdp c3RlckF1dGhlbnRpY2F0aW9uQWdlbnQoKSBtZXRob2RzIG9uIHRoZQ0KI29yZy5mcmVlZGVza3Rv cC5Qb2xpY3lLaXQxLkF1dGhvcml0eSBpbnRlcmZhY2Ugb2YgdGhlIFBvbGljeUtpdCBkYWVtb24u PC9wYXJhPiIvPg0KKyANCisgICAgIDxtZXRob2QgbmFtZT0iQmVnaW5BdXRoZW50aWNhdGlvbiI+ DQorLSAgICAgIDxhbm5vdGF0aW9uIG5hbWU9Im9yZy5ndGsuRWdnREJ1cy5Eb2NTdHJpbmciIHZh bHVlPSI8cGFyYT5DYWxsZWQgYnkgdGhlIFBvbGljeUtpdCBkYWVtb24gd2hlbiB0aGUgYXV0aGVu dGljYXRpb24NCmFnZW50IG5lZWRzIHRoZSB1c2VyIHRvIGF1dGhlbnRpY2F0ZSBhcyBvbmUgb2Yg dGhlIGlkZW50aXRpZXMgaW4gQGlkZW50aXRpZXMgZm9yIHRoZSBhY3Rpb24gd2l0aCB0aGUgaWRl bnRpZmllcg0KQGFjdGlvbl9pZC48L3BhcmE+PHBhcmE+VXBvbiBzdWNjZXNmdWwgYXV0aGVudGlj YXRpb24sIHRoZSBhdXRoZW50aWNhdGlvbiBhZ2VudCBtdXN0IGludm9rZSB0aGUNCm9yZy5mcmVl ZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2Uo KSBtZXRob2Qgb24gdGhlICNvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkNCmlu dGVyZmFjZSBvZiB0aGUgUG9saWN5S2l0IGRhZW1vbiBiZWZvcmUgcmV0dXJuaW5nLjwvcGFyYT48 cGFyYT5JZiB0aGUgdXNlciBkaXNtaXNzZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGRpYWxvZywgdGhl DQphdXRoZW50aWNhdGlvbiBhZ2VudCBzaG91bGQgcmV0dXJuIGFuIGVycm9yLjwvcGFyYT4iLz4N CisrICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRvY1N0cmluZyIgdmFs dWU9IjxwYXJhPkNhbGxlZA0KKysgICAgICBieSB0aGUgUG9saWN5S2l0IGRhZW1vbiB3aGVuIHRo ZSBhdXRoZW50aWNhdGlvbiBhZ2VudCBuZWVkcyB0aGUNCisrICAgICAgdXNlciB0byBhdXRoZW50 aWNhdGUgYXMgb25lIG9mIHRoZSBpZGVudGl0aWVzIGluIEBpZGVudGl0aWVzIGZvcg0KKysgICAg ICB0aGUgYWN0aW9uIHdpdGggdGhlIGlkZW50aWZpZXIgQGFjdGlvbl9pZC48L3BhcmE+PHBhcmE+ VGhpcw0KKysgICAgICBhdXRoZW50aWNhdGlvbiBpcyBub3JtYWxseSBhY2hpZXZlZCB2aWEgdGhl DQorKyAgICAgIHBvbGtpdF9hZ2VudF9zZXNzaW9uX3Jlc3BvbnNlKCkgQVBJLCB3aGljaCBpbnZv a2VzIGEgcHJpdmF0ZQ0KKysgICAgICBzZXR1aWQgaGVscGVyIHByb2Nlc3MgdG8gdmVyaWZ5IHRo ZSBhdXRoZW50aWNhdGlvbi4gIFdoZW4NCisrICAgICAgc3VjY2Vzc2Z1bCwgaXQgY2FsbHMgdGhl DQorKyAgICAgIG9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRoZW50aWNh dGlvbkFnZW50UmVzcG9uc2UyKCkNCisrICAgICAgbWV0aG9kIG9uIHRoZSAjb3JnLmZyZWVkZXNr dG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5IGludGVyZmFjZSBvZg0KKysgICAgICB0aGUgUG9saWN5 S2l0IGRhZW1vbiBiZWZvcmUgcmV0dXJuaW5nLiAgSWYgdGhlIHVzZXIgZGlzbWlzc2VzIHRoZQ0K KysgICAgICBhdXRoZW50aWNhdGlvbiBkaWFsb2csIHRoZSBhdXRoZW50aWNhdGlvbiBhZ2VudCBz aG91bGQgY2FsbA0KKysgICAgICBwb2xraXRfYWdlbnRfc2Vzc2lvbl9jYW5jZWwoKS48L3BhcmE+ Ii8+DQorIA0KKyAgICAgICA8YXJnIG5hbWU9ImFjdGlvbl9pZCIgZGlyZWN0aW9uPSJpbiIgdHlw ZT0icyI+DQorICAgICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRvY1N0 cmluZyIgdmFsdWU9IlRoZSBpZGVudGlmaWVyIGZvciB0aGUgYWN0aW9uIHRoYXQgdGhlIHVzZXIg aXMNCmF1dGhlbnRpY2F0aW9uIGZvci4iLz4NCitkaWZmIC0tZ2l0IGEvZGF0YS9vcmcuZnJlZWRl c2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkueG1sIGIvZGF0YS9vcmcuZnJlZWRlc2t0b3AuUG9s aWN5S2l0MS5BdXRob3JpdHkueG1sDQoraW5kZXggZmJmYjljZC4uZjkwMjFlZSAxMDA2NDQNCist LS0gYS9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCisrKysg Yi9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCitAQCAtMzEz LDcgKzMxMywyOSBAQA0KKyAgICAgPC9tZXRob2Q+DQorIA0KKyAgICAgPG1ldGhvZCBuYW1lPSJB dXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UiPg0KKy0gICAgICA8YW5ub3RhdGlvbiBuYW1lPSJv cmcuZ3RrLkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iTWV0aG9kIGZvciBhdXRoZW50aWNhdGlv biBhZ2VudHMgdG8gaW52b2tlIG9uIHN1Y2Nlc3NmdWwNCmF1dGhlbnRpY2F0aW9uLiBUaGlzIG1l dGhvZCB3aWxsIGZhaWwgdW5sZXNzIGEgc3VmZmljaWVudGx5IHByaXZpbGVnZWQgY2FsbGVyIGlu dm9rZXMgaXQuIi8+DQorKyAgICAgIDxhbm5vdGF0aW9uIG5hbWU9Im9yZy5ndGsuRWdnREJ1cy5E b2NTdHJpbmciIHZhbHVlPSJNZXRob2QgZm9yIGF1dGhlbnRpY2F0aW9uIGFnZW50cyB0byBpbnZv a2Ugb24gc3VjY2Vzc2Z1bA0KKythdXRoZW50aWNhdGlvbiwgaW50ZW5kZWQgb25seSBmb3IgdXNl IGJ5IGEgcHJpdmlsZWdlZCBoZWxwZXIgcHJvY2Vzcw0KKytpbnRlcm5hbCB0byBwb2xraXQuIi8+ DQorKw0KKysgICAgICA8YXJnIG5hbWU9ImNvb2tpZSIgZGlyZWN0aW9uPSJpbiIgdHlwZT0icyI+ DQorKyAgICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRvY1N0cmluZyIg dmFsdWU9IlRoZSBjb29raWUgaWRlbnRpZnlpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3Qg dGhhdCB3YXMNCnBhc3NlZCB0byB0aGUgYXV0aGVudGljYXRpb24gYWdlbnQuIi8+DQorKyAgICAg IDwvYXJnPg0KKysNCisrICAgICAgPGFyZyBuYW1lPSJpZGVudGl0eSIgZGlyZWN0aW9uPSJpbiIg dHlwZT0iKHNhe3N2fSkiPg0KKysgICAgICAgIDxhbm5vdGF0aW9uIG5hbWU9Im9yZy5ndGsuRWdn REJ1cy5UeXBlIiB2YWx1ZT0iSWRlbnRpdHkiLz4NCisrICAgICAgICA8YW5ub3RhdGlvbiBuYW1l PSJvcmcuZ3RrLkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iQSAjSWRlbnRpdHkgc3RydWN0IGRl c2NyaWJpbmcgd2hhdCBpZGVudGl0eSB3YXMNCmF1dGhlbnRpY2F0ZWQuIi8+DQorKyAgICAgIDwv YXJnPg0KKysgICAgPC9tZXRob2Q+DQorKw0KKysgICAgPG1ldGhvZCBuYW1lPSJBdXRoZW50aWNh dGlvbkFnZW50UmVzcG9uc2UyIj4NCisrICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5F Z2dEQnVzLkRvY1N0cmluZyIgdmFsdWU9Ik1ldGhvZCBmb3IgYXV0aGVudGljYXRpb24gYWdlbnRz IHRvIGludm9rZSBvbiBzdWNjZXNzZnVsDQorK2F1dGhlbnRpY2F0aW9uLCBpbnRlbmRlZCBvbmx5 IGZvciB1c2UgYnkgYSBwcml2aWxlZ2VkIGhlbHBlciBwcm9jZXNzDQorK2ludGVybmFsIHRvIHBv bGtpdC4gICBOb3RlIHRoaXMgbWV0aG9kIHdhcyBhZGRlZCBpbiAwLjExNCwgYW5kIHNob3VsZCBi ZSBwcmVmZXJyZWQgb3ZlciBBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UNCisrYXMgaXQgZml4 ZXMgYSBzZWN1cml0eSBpc3N1ZS4iLz4NCisrDQorKyAgICAgIDxhcmcgbmFtZT0idWlkIiBkaXJl Y3Rpb249ImluIiB0eXBlPSJ1Ij4NCisrICAgICAgICA8YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3Rr LkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iVGhlIHJlYWwgdWlkIG9mIHRoZSBhZ2VudC4gIE5v cm1hbGx5IHNldCBieSB0aGUgc2V0dWlkDQpoZWxwZXIgcHJvZ3JhbS4iLz4NCisrICAgICAgPC9h cmc+DQorIA0KKyAgICAgICA8YXJnIG5hbWU9ImNvb2tpZSIgZGlyZWN0aW9uPSJpbiIgdHlwZT0i cyI+DQorICAgICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRvY1N0cmlu ZyIgdmFsdWU9IlRoZSBjb29raWUgaWRlbnRpZnlpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVl c3QgdGhhdCB3YXMNCnBhc3NlZCB0byB0aGUgYXV0aGVudGljYXRpb24gYWdlbnQuIi8+DQorZGlm ZiAtLWdpdCBhL2RvY3MvcG9sa2l0L2RvY2Jvb2staW50ZXJmYWNlLW9yZy5mcmVlZGVza3RvcC5Q b2xpY3lLaXQxLkF1dGhvcml0eS54bWwgYi9kb2NzL3BvbGtpdC9kb2Nib29rLWludGVyZmFjZS0N Cm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCitpbmRleCA2NTI1ZTI1 Li5lNjZiZjUzIDEwMDY0NA0KKy0tLSBhL2RvY3MvcG9sa2l0L2RvY2Jvb2staW50ZXJmYWNlLW9y Zy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCisrKysgYi9kb2NzL3BvbGtp dC9kb2Nib29rLWludGVyZmFjZS1vcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHku eG1sDQorQEAgLTQyLDYgKzQyLDggQEAgU3RydWN0dXJlICAgIDxsaW5rIGxpbmtlbmQ9ImVnZ2Ri dXMtc3RydWN0LVRlbXBvcmFyeUF1dGhvcml6YXRpb24iPlRlbXBvcmFyeUF1dGgNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOICBTdHJpbmcgICAgICAgICAgICAgICAgICAg ICAgICAgb2JqZWN0X3BhdGgpDQorIDxsaW5rIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3Jn LmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNw b25zZSI+QXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlPC9saW5rPiAgICAgIChJTiAgU3RyaW5n ICAgDQogICAgICAgICAgICAgICAgICAgICAgY29va2llLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSU4gIDxsaW5rIGxpbmtlbmQ9ImVnZ2RidXMtc3RydWN0LQ0KSWRlbnRp dHkiPklkZW50aXR5PC9saW5rPiAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkpDQorKzxs aW5rIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEu QXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSI+QXV0aGVudGljYXRpb25BZ2Vu dFJlc3BvbnNlMjwvbGluaz4gICAgICAoSU4gdWludDMyDQp1aWQsIElOICBTdHJpbmcgICAgICAg ICAgICAgICAgICAgICAgICAgY29va2llLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU4gIDxsaW5rIGxpbmtlbmQ9ImVnZ2RidXMtc3RydWN0LQ0KSWRlbnRpdHkiPklkZW50 aXR5PC9saW5rPiAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkpDQorIDxsaW5rIGxpbmtl bmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5 LkVudW1lcmF0ZVRlbXBvcmFyeUF1dGhvcml6YXRpb25zIj5FbnVtZXJhdGVUZW1wb3JhcnlBdXRo b3JpemF0aW9uczwvbGluaz4NCihJTiAgPGxpbmsgbGlua2VuZD0iZWdnZGJ1cy1zdHJ1Y3QtU3Vi amVjdCI+U3ViamVjdDwvbGluaz4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1VUIEFycmF5Jmx0OzxsaW5rIGxpbmtl bmQ9ImVnZ2RidXMtc3RydWN0LQ0KVGVtcG9yYXJ5QXV0aG9yaXphdGlvbiI+VGVtcG9yYXJ5QXV0 aG9yaXphdGlvbjwvbGluaz4mZ3Q7ICB0ZW1wb3JhcnlfYXV0aG9yaXphdGlvbnMpDQorIDxsaW5r IGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0 aG9yaXR5LlJldm9rZVRlbXBvcmFyeUF1dGhvcml6YXRpb25zIj5SZXZva2VUZW1wb3JhcnlBdXRo b3JpemF0aW9uczwvbGluaz4gICAgKElOICA8bGluaw0KbGlua2VuZD0iZWdnZGJ1cy1zdHJ1Y3Qt U3ViamVjdCI+U3ViamVjdDwvbGluaz4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0KQ0K K0BAIC03NzcsOSArNzc5LDUxIEBAIEF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSAoSU4gIFN0 cmluZyAgICBjb29raWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU4gIDxsaW5r IGxpbmtlbmQ9ImVnZ2RidXMtc3RydWN0LUlkZW50aXR5Ij5JZGVudGl0eTwvbGluaz4gIGlkZW50 aXR5KQ0KKyAgICAgPC9wcm9ncmFtbGlzdGluZz4NCisgICAgIDxwYXJhPg0KKy1NZXRob2QgZm9y IGF1dGhlbnRpY2F0aW9uIGFnZW50cyB0byBpbnZva2Ugb24gc3VjY2Vzc2Z1bCBhdXRoZW50aWNh dGlvbi4gVGhpcyBtZXRob2Qgd2lsbCBmYWlsIHVubGVzcyBhIHN1ZmZpY2llbnRseQ0KcHJpdmls ZWdlZCBjYWxsZXIgaW52b2tlcyBpdC4NCisrTWV0aG9kIGZvciBhdXRoZW50aWNhdGlvbiBhZ2Vu dHMgdG8gaW52b2tlIG9uIHN1Y2Nlc3NmdWwNCisrYXV0aGVudGljYXRpb24sIGludGVuZGVkIG9u bHkgZm9yIHVzZSBieSBhIHByaXZpbGVnZWQgaGVscGVyIHByb2Nlc3MNCisraW50ZXJuYWwgdG8g cG9sa2l0LiAgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiBBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9u c2UyLg0KKysgICAgPC9wYXJhPg0KKys8dmFyaWFibGVsaXN0IHJvbGU9InBhcmFtcyI+DQorKyAg PHZhcmxpc3RlbnRyeT4NCisrICAgIDx0ZXJtPjxsaXRlcmFsPklOICBTdHJpbmcgPHBhcmFtZXRl cj5jb29raWU8L3BhcmFtZXRlcj48L2xpdGVyYWw+OjwvdGVybT4NCisrICAgIDxsaXN0aXRlbT4N CisrICAgICAgPHBhcmE+DQorK1RoZSBjb29raWUgaWRlbnRpZnlpbmcgdGhlIGF1dGhlbnRpY2F0 aW9uIHJlcXVlc3QgdGhhdCB3YXMgcGFzc2VkIHRvIHRoZSBhdXRoZW50aWNhdGlvbiBhZ2VudC4N CisrICAgICAgPC9wYXJhPg0KKysgICAgPC9saXN0aXRlbT4NCisrICA8L3Zhcmxpc3RlbnRyeT4N CisrICA8dmFybGlzdGVudHJ5Pg0KKysgICAgPHRlcm0+PGxpdGVyYWw+SU4gIDxsaW5rIGxpbmtl bmQ9ImVnZ2RidXMtc3RydWN0LUlkZW50aXR5Ij5JZGVudGl0eTwvbGluaz4NCjxwYXJhbWV0ZXI+ aWRlbnRpdHk8L3BhcmFtZXRlcj48L2xpdGVyYWw+OjwvdGVybT4NCisrICAgIDxsaXN0aXRlbT4N CisrICAgICAgPHBhcmE+DQorK0EgPGxpbmsgbGlua2VuZD0iZWdnZGJ1cy1zdHJ1Y3QtSWRlbnRp dHkiPklkZW50aXR5PC9saW5rPiBzdHJ1Y3QgZGVzY3JpYmluZyB3aGF0IGlkZW50aXR5IHdhcyBh dXRoZW50aWNhdGVkLg0KKysgICAgICA8L3BhcmE+DQorKyAgICA8L2xpc3RpdGVtPg0KKysgIDwv dmFybGlzdGVudHJ5Pg0KKys8L3ZhcmlhYmxlbGlzdD4NCisrICAgIDwvcmVmc2VjdDI+DQorKyAg ICA8cmVmc2VjdDIgcm9sZT0iZnVuY3Rpb24iIGlkPSJlZ2dkYnVzLW1ldGhvZC1vcmcuZnJlZWRl c2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlMiI+ DQorKyAgICAgIDx0aXRsZT5BdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UyICgpPC90aXRsZT4N CisrICAgIDxwcm9ncmFtbGlzdGluZz4NCisrQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlMiAo SU4gIHVpbnQzMiB1aWQsDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOICBTdHJp bmcgY29va2llLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTiAgPGxpbmsgbGlu a2VuZD0iZWdnZGJ1cy1zdHJ1Y3QtSWRlbnRpdHkiPklkZW50aXR5PC9saW5rPiAgaWRlbnRpdHkp DQorKyAgICA8L3Byb2dyYW1saXN0aW5nPg0KKysgICAgPHBhcmE+DQorK01ldGhvZCBmb3IgYXV0 aGVudGljYXRpb24gYWdlbnRzIHRvIGludm9rZSBvbiBzdWNjZXNzZnVsDQorK2F1dGhlbnRpY2F0 aW9uLCBpbnRlbmRlZCBvbmx5IGZvciB1c2UgYnkgYSBwcml2aWxlZ2VkIGhlbHBlciBwcm9jZXNz DQorK2ludGVybmFsIHRvIHBvbGtpdC4gIE5vdGUgdGhpcyBtZXRob2Qgd2FzIGludHJvZHVjZWQg aW4gMC4xMTQgdG8gZml4IGEgc2VjdXJpdHkgaXNzdWUuDQorICAgICA8L3BhcmE+DQorIDx2YXJp YWJsZWxpc3Qgcm9sZT0icGFyYW1zIj4NCisrICA8dmFybGlzdGVudHJ5Pg0KKysgICAgPHRlcm0+ PGxpdGVyYWw+SU4gIHVpbnQzMiA8cGFyYW1ldGVyPnVpZDwvcGFyYW1ldGVyPjwvbGl0ZXJhbD46 PC90ZXJtPg0KKysgICAgPGxpc3RpdGVtPg0KKysgICAgICA8cGFyYT4NCisrVGhlIHVzZXIgaWQg b2YgdGhlIGFnZW50OyBub3JtYWxseSB0aGlzIGlzIHRoZSBvd25lciBvZiB0aGUgcGFyZW50IHBp ZA0KKytvZiB0aGUgcHJvY2VzcyB0aGF0IGludm9rZWQgdGhlIGludGVybmFsIHNldHVpZCBoZWxw ZXIuDQorKyAgICAgIDwvcGFyYT4NCisrICAgIDwvbGlzdGl0ZW0+DQorKyAgPC92YXJsaXN0ZW50 cnk+DQorICAgPHZhcmxpc3RlbnRyeT4NCisgICAgIDx0ZXJtPjxsaXRlcmFsPklOICBTdHJpbmcg PHBhcmFtZXRlcj5jb29raWU8L3BhcmFtZXRlcj48L2xpdGVyYWw+OjwvdGVybT4NCisgICAgIDxs aXN0aXRlbT4NCitkaWZmIC0tZ2l0IGEvZG9jcy9wb2xraXQvb3ZlcnZpZXcueG1sIGIvZG9jcy9w b2xraXQvb3ZlcnZpZXcueG1sDQoraW5kZXggMjQ0NDBkMi4uYzI5ZDhkYSAxMDA2NDQNCistLS0g YS9kb2NzL3BvbGtpdC9vdmVydmlldy54bWwNCisrKysgYi9kb2NzL3BvbGtpdC9vdmVydmlldy54 bWwNCitAQCAtNjYsMTYgKzY2LDE4IEBADQorICAgICA8cGFyYT4NCisgICAgICAgQXV0aGVudGlj YXRpb24gYWdlbnRzIGFyZSBwcm92aWRlZCBieSBkZXNrdG9wIGVudmlyb25tZW50cy4gV2hlbg0K KyAgICAgICBhbiB1c2VyIHNlc3Npb24gc3RhcnRzLCB0aGUgYWdlbnQgcmVnaXN0ZXJzIHdpdGgg dGhlIHBvbGtpdA0KKy0gICAgICBBdXRob3JpdHkgdXNpbmcNCistICAgICAgdGhlIDxsaW5rIGxp bmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9y aXR5LlJlZ2lzdGVyQXV0aGVudGljYXRpb25BZ2VudCI+UmVnaXN0ZXJBdXRoZW50aWNhdGlvbkFn ZW50KCk8L2xpbms+DQorKyAgICAgIEF1dGhvcml0eSB1c2luZyB0aGUgPGxpbmsNCisrICAgICAg bGlua2VuZD0iZWdnZGJ1cy1tZXRob2QtDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRo b3JpdHkuUmVnaXN0ZXJBdXRoZW50aWNhdGlvbkFnZW50Ij5SZWdpc3RlckF1dGhlbnRpY2F0aW9u QWdlbnQoKTwvbGluaz4NCisgICAgICAgbWV0aG9kLiBXaGVuIHNlcnZpY2VzIGFyZSBuZWVkZWQs IHRoZSBhdXRob3JpdHkgd2lsbCBpbnZva2UNCistICAgICAgbWV0aG9kcyBvbg0KKy0gICAgICB0 aGUgPGxpbmsgbGlua2VuZD0iZWdnZGJ1cy1pbnRlcmZhY2UtDQpvcmcuZnJlZWRlc2t0b3AuUG9s aWN5S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50Ij5vcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5B dXRoZW50aWNhdGlvbkFnZW50PC9saW5rPg0KKysgICAgICBtZXRob2RzIG9uIHRoZSA8bGluaw0K KysgICAgICBsaW5rZW5kPSJlZ2dkYnVzLWludGVyZmFjZS0NCm9yZy5mcmVlZGVza3RvcC5Qb2xp Y3lLaXQxLkF1dGhlbnRpY2F0aW9uQWdlbnQiPm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1 dGhlbnRpY2F0aW9uQWdlbnQ8L2xpbms+DQorICAgICAgIEQtQnVzIGludGVyZmFjZS4gT25jZSB0 aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkLCAoYSBwcml2aWxlZ2VkDQorLSAgICAgIHBhcnQgb2Yp IHRoZSBhZ2VudCBpbnZva2VzDQorLSAgICAgIHRoZSA8bGluayBsaW5rZW5kPSJlZ2dkYnVzLW1l dGhvZC0NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRoZW50aWNhdGlv bkFnZW50UmVzcG9uc2UiPkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSgpPC9saW5rPg0KKy0g ICAgICBtZXRob2QuICBOb3RlIHRoYXQgdGhlIHBvbGtpdCBBdXRob3JpdHkgaXRzZWxmIGRvZXMg bm90IGNhcmUNCistICAgICAgaG93IHRoZSBhZ2VudCBhdXRoZW50aWNhdGVzIHRoZSB1c2VyLg0K KysgICAgICBwYXJ0IG9mKSB0aGUgYWdlbnQgaW52b2tlcyB0aGUgPGxpbmsNCisrICAgICAgbGlu a2VuZD0iZWdnZGJ1cy1tZXRob2QtDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3Jp dHkuQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlIj5BdXRoZW50aWNhdGlvbkFnZW50UmVzcG9u c2UoKTwvbGluaz4NCisrICAgICAgbWV0aG9kLiAgVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHRyZWF0 ZWQgYXMgYW4gaW50ZXJuYWwNCisrICAgICAgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBhbmQgY2Fs bGVycyBzaG91bGQgdXNlIHRoZSBwdWJsaWMgc2hhcmVkDQorKyAgICAgIGxpYnJhcnkgQVBJIHRv IGludm9rZSBpdCwgd2hpY2ggY3VycmVudGx5IHVzZXMgYSBzZXR1aWQgaGVscGVyDQorKyAgICAg IHByb2dyYW0uDQorICAgICA8L3BhcmE+DQorICAgICA8cGFyYT4NCisgICAgICAgVGhlIDxsaW5r IGxpbmtlbmQ9InJlZi1hdXRoZW50aWNhdGlvbi1hZ2VudC1hcGkiPmxpYnBvbGtpdC1hZ2VudC0x PC9saW5rPg0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0L3BvbGtpdGF1dGhvcml0eS5jIGIvc3Jj L3BvbGtpdC9wb2xraXRhdXRob3JpdHkuYw0KK2luZGV4IDg0ZGFiNzIuLmY0NWFiYzQgMTAwNjQ0 DQorLS0tIGEvc3JjL3BvbGtpdC9wb2xraXRhdXRob3JpdHkuYw0KKysrKyBiL3NyYy9wb2xraXQv cG9sa2l0YXV0aG9yaXR5LmMNCitAQCAtMTQ5Miw2ICsxNDkyLDE0IEBAIHBvbGtpdF9hdXRob3Jp dHlfYXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKFBvbGtpdEF1dGhvcml0eSAgICAgICph dXRob3JpdHksDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdwb2ludGVyICAgICAgICAgICAgICB1c2VyX2RhdGEpDQorIHsNCisgICBHVmFyaWFudCAq aWRlbnRpdHlfdmFsdWU7DQorKyAgLyogTm90ZSB0aGF0IGluIHJlYWxpdHksIHRoaXMgQVBJIGlz IG9ubHkgYWNjZXNzaWJsZSB0byByb290LCBhbmQNCisrICAgKiBvbmx5IGNhbGxlZCBmcm9tIHRo ZSBzZXR1aWQgaGVscGVyIGBwb2xraXQtYWdlbnQtaGVscGVyLTFgLg0KKysgICAqDQorKyAgICog SG93ZXZlciwgYmVjYXVzZSB0aGlzIGlzIGN1cnJlbnRseSBwdWJsaWMgQVBJLCB3ZSBhdm9pZA0K KysgICAqIHRyaWdnZXJpbmcgd2FybmluZ3MgZnJvbSBBQkkgZGlmZiB0eXBlIHByb2dyYW1zIGJ5 IGp1c3QgZ3JhYmJpbmcNCisrICAgKiB0aGUgcmVhbCB1aWQgb2YgdGhlIGNhbGxlciBoZXJlLg0K KysgICAqLw0KKysgIHVpZF90IHVpZCA9IGdldHVpZCAoKTsNCisgDQorICAgZ19yZXR1cm5faWZf ZmFpbCAoUE9MS0lUX0lTX0FVVEhPUklUWSAoYXV0aG9yaXR5KSk7DQorICAgZ19yZXR1cm5faWZf ZmFpbCAoY29va2llICE9IE5VTEwpOw0KK0BAIC0xNTAxLDggKzE1MDksOSBAQCBwb2xraXRfYXV0 aG9yaXR5X2F1dGhlbnRpY2F0aW9uX2FnZW50X3Jlc3BvbnNlIChQb2xraXRBdXRob3JpdHkgICAg ICAqYXV0aG9yaXR5LA0KKyAgIGlkZW50aXR5X3ZhbHVlID0gcG9sa2l0X2lkZW50aXR5X3RvX2d2 YXJpYW50IChpZGVudGl0eSk7DQorICAgZ192YXJpYW50X3JlZl9zaW5rIChpZGVudGl0eV92YWx1 ZSk7DQorICAgZ19kYnVzX3Byb3h5X2NhbGwgKGF1dGhvcml0eS0+cHJveHksDQorLSAgICAgICAg ICAgICAgICAgICAgICJBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UiLA0KKy0gICAgICAgICAg ICAgICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHNAKHNhe3N2fSkpIiwNCisrICAgICAgICAgICAg ICAgICAgICAgIkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTIiLA0KKysgICAgICAgICAgICAg ICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHVzQChzYXtzdn0pKSIsDQorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChndWludDMyKXVpZCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29va2llLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZGVudGl0eV92YWx1ZSksDQorICAgICAgICAgICAgICAgICAgICAgIEdfREJVU19D QUxMX0ZMQUdTX05PTkUsDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJh Y2tlbmRhdXRob3JpdHkuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3Jp dHkuYw0KK2luZGV4IGZkNGYxNjEuLmQxYjFhMjUgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJh Y2tlbmQvcG9sa2l0YmFja2VuZGF1dGhvcml0eS5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQv cG9sa2l0YmFja2VuZGF1dGhvcml0eS5jDQorQEAgLTM1NSw2ICszNTUsNyBAQCBwb2xraXRfYmFj a2VuZF9hdXRob3JpdHlfdW5yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAoUG9sa2l0QmFj a2VuZEF1dGhvcml0eQ0KKyBnYm9vbGVhbg0KKyBwb2xraXRfYmFja2VuZF9hdXRob3JpdHlfYXV0 aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKFBvbGtpdEJhY2tlbmRBdXRob3JpdHkgICAgKmF1 dGhvcml0eSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICAgICpjYWxsZXIsDQorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlkX3QgICAg ICAgICAgICAgICAgICAgICAgdWlkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICAgKmNvb2tp ZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQb2xraXRJZGVudGl0eSAgICAgICAgICAgICppZGVudGl0eSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAg ICAgICAgICAgICAgKiplcnJvcikNCitAQCAtMzczLDcgKzM3NCw3IEBAIHBvbGtpdF9iYWNrZW5k X2F1dGhvcml0eV9hdXRoZW50aWNhdGlvbl9hZ2VudF9yZXNwb25zZSAoUG9sa2l0QmFja2VuZEF1 dGhvcml0eQ0KKyAgICAgfQ0KKyAgIGVsc2UNCisgICAgIHsNCistICAgICAgcmV0dXJuIGtsYXNz LT5hdXRoZW50aWNhdGlvbl9hZ2VudF9yZXNwb25zZSAoYXV0aG9yaXR5LCBjYWxsZXIsIGNvb2tp ZSwgaWRlbnRpdHksIGVycm9yKTsNCisrICAgICAgcmV0dXJuIGtsYXNzLT5hdXRoZW50aWNhdGlv bl9hZ2VudF9yZXNwb25zZSAoYXV0aG9yaXR5LCBjYWxsZXIsIHVpZCwgY29va2llLCBpZGVudGl0 eSwgZXJyb3IpOw0KKyAgICAgfQ0KKyB9DQorIA0KK0BAIC01ODcsNiArNTg4LDExIEBAIHN0YXRp YyBjb25zdCBnY2hhciAqc2VydmVyX2ludHJvc3BlY3Rpb25fZGF0YSA9DQorICAgIiAgICAgIDxh cmcgdHlwZT0ncycgbmFtZT0nY29va2llJyBkaXJlY3Rpb249J2luJy8+Ig0KKyAgICIgICAgICA8 YXJnIHR5cGU9JyhzYXtzdn0pJyBuYW1lPSdpZGVudGl0eScgZGlyZWN0aW9uPSdpbicvPiINCisg ICAiICAgIDwvbWV0aG9kPiINCisrICAiICAgIDxtZXRob2QgbmFtZT0nQXV0aGVudGljYXRpb25B Z2VudFJlc3BvbnNlMic+Ig0KKysgICIgICAgICA8YXJnIHR5cGU9J3UnIG5hbWU9J3VpZCcgZGly ZWN0aW9uPSdpbicvPiINCisrICAiICAgICAgPGFyZyB0eXBlPSdzJyBuYW1lPSdjb29raWUnIGRp cmVjdGlvbj0naW4nLz4iDQorKyAgIiAgICAgIDxhcmcgdHlwZT0nKHNhe3N2fSknIG5hbWU9J2lk ZW50aXR5JyBkaXJlY3Rpb249J2luJy8+Ig0KKysgICIgICAgPC9tZXRob2Q+Ig0KKyAgICIgICAg PG1ldGhvZCBuYW1lPSdFbnVtZXJhdGVUZW1wb3JhcnlBdXRob3JpemF0aW9ucyc+Ig0KKyAgICIg ICAgICA8YXJnIHR5cGU9JyhzYXtzdn0pJyBuYW1lPSdzdWJqZWN0JyBkaXJlY3Rpb249J2luJy8+ Ig0KKyAgICIgICAgICA8YXJnIHR5cGU9J2Eoc3Moc2F7c3Z9KXR0KScgbmFtZT0ndGVtcG9yYXJ5 X2F1dGhvcml6YXRpb25zJyBkaXJlY3Rpb249J291dCcvPiINCitAQCAtMTAzNSw2ICsxMDQxLDU3 IEBAIHNlcnZlcl9oYW5kbGVfYXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKFNlcnZlciAg ICAgICAgICAgICAgICAgKnNlcnZlciwNCisgICBlcnJvciA9IE5VTEw7DQorICAgaWYgKCFwb2xr aXRfYmFja2VuZF9hdXRob3JpdHlfYXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKHNlcnZl ci0+YXV0aG9yaXR5LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXIsDQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aWRfdCktMSwNCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29va2llLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZGVudGl0eSwNCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKSkNCisrICAgIHsN CisrICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl9nZXJyb3IgKGludm9jYXRp b24sIGVycm9yKTsNCisrICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7DQorKyAgICAgIGdvdG8g b3V0Ow0KKysgICAgfQ0KKysNCisrICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX3Zh bHVlIChpbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3ICgiKCkiKSk7DQorKw0KKysgb3V0Og0KKysg IGlmIChpZGVudGl0eSAhPSBOVUxMKQ0KKysgICAgZ19vYmplY3RfdW5yZWYgKGlkZW50aXR5KTsN CisrfQ0KKysNCisrc3RhdGljIHZvaWQNCisrc2VydmVyX2hhbmRsZV9hdXRoZW50aWNhdGlvbl9h Z2VudF9yZXNwb25zZTIgKFNlcnZlciAgICAgICAgICAgICAgICAgKnNlcnZlciwNCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAg ICAgICAgKnBhcmFtZXRlcnMsDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICpjYWxsZXIsDQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJ1c01ldGhvZEludm9jYXRpb24g ICppbnZvY2F0aW9uKQ0KKyt7DQorKyAgY29uc3QgZ2NoYXIgKmNvb2tpZTsNCisrICBHVmFyaWFu dCAqaWRlbnRpdHlfZ3ZhcmlhbnQ7DQorKyAgUG9sa2l0SWRlbnRpdHkgKmlkZW50aXR5Ow0KKysg IEdFcnJvciAqZXJyb3I7DQorKyAgZ3VpbnQzMiB1aWQ7DQorKw0KKysgIGlkZW50aXR5ID0gTlVM TDsNCisrDQorKyAgZ192YXJpYW50X2dldCAocGFyYW1ldGVycywNCisrICAgICAgICAgICAgICAg ICAiKHUmc0Aoc2F7c3Z9KSkiLA0KKysgICAgICAgICAgICAgICAgICZ1aWQsDQorKyAgICAgICAg ICAgICAgICAgJmNvb2tpZSwNCisrICAgICAgICAgICAgICAgICAmaWRlbnRpdHlfZ3ZhcmlhbnQp Ow0KKysNCisrICBlcnJvciA9IE5VTEw7DQorKyAgaWRlbnRpdHkgPSBwb2xraXRfaWRlbnRpdHlf bmV3X2Zvcl9ndmFyaWFudCAoaWRlbnRpdHlfZ3ZhcmlhbnQsICZlcnJvcik7DQorKyAgaWYgKGlk ZW50aXR5ID09IE5VTEwpDQorKyAgICB7DQorKyAgICAgIGdfcHJlZml4X2Vycm9yICgmZXJyb3Is ICJFcnJvciBnZXR0aW5nIGlkZW50aXR5OiAiKTsNCisrICAgICAgZ19kYnVzX21ldGhvZF9pbnZv Y2F0aW9uX3JldHVybl9nZXJyb3IgKGludm9jYXRpb24sIGVycm9yKTsNCisrICAgICAgZ19lcnJv cl9mcmVlIChlcnJvcik7DQorKyAgICAgIGdvdG8gb3V0Ow0KKysgICAgfQ0KKysNCisrICBlcnJv ciA9IE5VTEw7DQorKyAgaWYgKCFwb2xraXRfYmFja2VuZF9hdXRob3JpdHlfYXV0aGVudGljYXRp b25fYWdlbnRfcmVzcG9uc2UgKHNlcnZlci0+YXV0aG9yaXR5LA0KKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXIsDQor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICh1aWRfdCl1aWQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHksDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZlcnJvcikpDQorQEAgLTEyMjIsNiArMTI3OSw4IEBAIHNlcnZlcl9oYW5kbGVfbWV0 aG9kX2NhbGwgKEdEQnVzQ29ubmVjdGlvbiAgICAgICAgKmNvbm5lY3Rpb24sDQorICAgICBzZXJ2 ZXJfaGFuZGxlX3VucmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnQgKHNlcnZlciwgcGFyYW1l dGVycywgY2FsbGVyLCBpbnZvY2F0aW9uKTsNCisgICBlbHNlIGlmIChnX3N0cmNtcDAgKG1ldGhv ZF9uYW1lLCAiQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlIikgPT0gMCkNCisgICAgIHNlcnZl cl9oYW5kbGVfYXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKHNlcnZlciwgcGFyYW1ldGVy cywgY2FsbGVyLCBpbnZvY2F0aW9uKTsNCisrICBlbHNlIGlmIChnX3N0cmNtcDAgKG1ldGhvZF9u YW1lLCAiQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlMiIpID09IDApDQorKyAgICBzZXJ2ZXJf aGFuZGxlX2F1dGhlbnRpY2F0aW9uX2FnZW50X3Jlc3BvbnNlMiAoc2VydmVyLCBwYXJhbWV0ZXJz LCBjYWxsZXIsIGludm9jYXRpb24pOw0KKyAgIGVsc2UgaWYgKGdfc3RyY21wMCAobWV0aG9kX25h bWUsICJFbnVtZXJhdGVUZW1wb3JhcnlBdXRob3JpemF0aW9ucyIpID09IDApDQorICAgICBzZXJ2 ZXJfaGFuZGxlX2VudW1lcmF0ZV90ZW1wb3JhcnlfYXV0aG9yaXphdGlvbnMgKHNlcnZlciwgcGFy YW1ldGVycywgY2FsbGVyLCBpbnZvY2F0aW9uKTsNCisgICBlbHNlIGlmIChnX3N0cmNtcDAgKG1l dGhvZF9uYW1lLCAiUmV2b2tlVGVtcG9yYXJ5QXV0aG9yaXphdGlvbnMiKSA9PSAwKQ0KK2RpZmYg LS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kYXV0aG9yaXR5LmggYi9zcmMv cG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kYXV0aG9yaXR5LmgNCitpbmRleCBhNTY0MDU0Li4x YzIxMmUwIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRo b3JpdHkuaA0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3JpdHku aA0KK0BAIC0xNTQsNiArMTU0LDcgQEAgc3RydWN0IF9Qb2xraXRCYWNrZW5kQXV0aG9yaXR5Q2xh c3MNCisgDQorICAgZ2Jvb2xlYW4gKCphdXRoZW50aWNhdGlvbl9hZ2VudF9yZXNwb25zZSkgKFBv bGtpdEJhY2tlbmRBdXRob3JpdHkgICAqYXV0aG9yaXR5LA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICAgKmNhbGxl ciwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlkX3Qg ICAgICAgICAgICAgICAgICAgICB1aWQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICAqY29va2llLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRJZGVudGl0eSAg ICAgICAgICAgKmlkZW50aXR5LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAqKmVycm9yKTsNCitAQCAtMjU2LDYg KzI1Nyw3IEBAIGdib29sZWFuIHBvbGtpdF9iYWNrZW5kX2F1dGhvcml0eV91bnJlZ2lzdGVyX2F1 dGhlbnRpY2F0aW9uX2FnZW50IChQb2xraXRCYWNrZW5kDQorIA0KKyBnYm9vbGVhbiBwb2xraXRf YmFja2VuZF9hdXRob3JpdHlfYXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UgKFBvbGtpdEJh Y2tlbmRBdXRob3JpdHkgICAgKmF1dGhvcml0eSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAg ICAgICAgICAgICpjYWxsZXIsDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlkX3QgICAgICAgICAgICAgICAgICAgICAg dWlkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICAgKmNvb2tpZSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQb2xraXRJZGVudGl0eSAgICAgICAgICAgICppZGVudGl0eSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgICAgICAgICAgICAgICAgICAgKiplcnJvcik7DQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRi YWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jDQpiL3NyYy9wb2xraXRi YWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jDQoraW5kZXggMTBlZGEy Yy4uNWUyOWFmMiAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5k aW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJh Y2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jDQorQEAgLTEwNiw4ICsxMDYsOSBAQCBzdGF0aWMg QXV0aGVudGljYXRpb25BZ2VudCAqZ2V0X2F1dGhlbnRpY2F0aW9uX2FnZW50X2Zvcl9zdWJqZWN0 IChQb2xraXRCYWNrZW5kSQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICpzdWJqZWN0KTsNCisg DQorIA0KKy1zdGF0aWMgQXV0aGVudGljYXRpb25TZXNzaW9uICpnZXRfYXV0aGVudGljYXRpb25f c2Vzc2lvbl9mb3JfY29va2llIChQb2xraXRCYWNrZW5kSW50ZXJhY3RpdmVBdXRob3JpdHkgKmF1 dGhvcml0eSwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmNvb2tpZSk7DQorK3N0YXRpYyBB dXRoZW50aWNhdGlvblNlc3Npb24gKmdldF9hdXRoZW50aWNhdGlvbl9zZXNzaW9uX2Zvcl91aWRf YW5kX2Nvb2tpZSAoUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9yaXR5DQoqYXV0aG9yaXR5 LA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpZF90ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWlkLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0DQpnY2hhciAgICAgICAgICAgICAg ICAgICAgICAgKmNvb2tpZSk7DQorIA0KKyBzdGF0aWMgR0xpc3QgKmdldF9hdXRoZW50aWNhdGlv bl9zZXNzaW9uc19pbml0aWF0ZWRfYnlfc3lzdGVtX2J1c191bmlxdWVfbmFtZSAoUG9sa2l0QmFj a2VuZEludGVyYWN0aXZlQXV0aG9yaXR5DQoqYXV0aG9yaXR5LA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgZ2NoYXIgKnN5c3RlbV9idXNfdW5pcXVlX25hbWUpOw0KK0BAIC0xNjcsNiAr MTY4LDcgQEAgc3RhdGljIGdib29sZWFuIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1dGhv cml0eV91bnJlZ2lzdGVyX2F1dGhlbnRpY2F0aW9uX2ENCisgDQorIHN0YXRpYyBnYm9vbGVhbiBw b2xraXRfYmFja2VuZF9pbnRlcmFjdGl2ZV9hdXRob3JpdHlfYXV0aGVudGljYXRpb25fYWdlbnRf cmVzcG9uc2UNCihQb2xraXRCYWNrZW5kQXV0aG9yaXR5ICAgKmF1dGhvcml0eSwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUG9sa2l0U3ViamVjdCAgICAgICAgICAgICpjYWxsZXIsDQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpZF90ICAgICAgICAgICAgICAgICAgICAgdWlkLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgICAgKmNvb2tpZSwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUG9sa2l0SWRlbnRpdHkgICAgICAgICAgICppZGVudGl0eSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgICAgICAgICAgKiplcnJvcik7DQorQEAg LTQzMSw2ICs0MzMsNyBAQCBzdHJ1Y3QgQXV0aGVudGljYXRpb25BZ2VudA0KKyB7DQorICAgdm9s YXRpbGUgZ2ludCByZWZfY291bnQ7DQorIA0KKysgIHVpZF90IGNyZWF0b3JfdWlkOw0KKyAgIFBv bGtpdFN1YmplY3QgKnNjb3BlOw0KKyAgIGd1aW50NjQgc2VyaWFsOw0KKyANCitAQCAtMTYwMyw2 ICsxNjA2LDcgQEAgYXV0aGVudGljYXRpb25fYWdlbnRfdW5yZWYgKEF1dGhlbnRpY2F0aW9uQWdl bnQgKmFnZW50KQ0KKyBzdGF0aWMgQXV0aGVudGljYXRpb25BZ2VudCAqDQorIGF1dGhlbnRpY2F0 aW9uX2FnZW50X25ldyAoZ3VpbnQ2NCAgICAgIHNlcmlhbCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBQb2xraXRTdWJqZWN0ICpzY29wZSwNCisrICAgICAgICAgICAgICAgICAgICAgICAg ICBQb2xraXRJZGVudGl0eSAqY3JlYXRvciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBnY2hhciAqdW5pcXVlX3N5c3RlbV9idXNfbmFtZSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBnY2hhciAqbG9jYWxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGdjaGFyICpvYmplY3RfcGF0aCwNCitAQCAtMTYxMSw2ICsxNjE1LDEwIEBAIGF1dGhl bnRpY2F0aW9uX2FnZW50X25ldyAoZ3VpbnQ2NCAgICAgIHNlcmlhbCwNCisgew0KKyAgIEF1dGhl bnRpY2F0aW9uQWdlbnQgKmFnZW50Ow0KKyAgIEdEQnVzUHJveHkgKnByb3h5Ow0KKysgIFBvbGtp dFVuaXhVc2VyICpjcmVhdG9yX3VzZXI7DQorKw0KKysgIGdfYXNzZXJ0IChQT0xLSVRfSVNfVU5J WF9VU0VSIChjcmVhdG9yKSk7DQorKyAgY3JlYXRvcl91c2VyID0gUE9MS0lUX1VOSVhfVVNFUiAo Y3JlYXRvcik7DQorIA0KKyAgIGlmICghZ192YXJpYW50X2lzX29iamVjdF9wYXRoIChvYmplY3Rf cGF0aCkpDQorICAgICB7DQorQEAgLTE2MzgsNiArMTY0Niw3IEBAIGF1dGhlbnRpY2F0aW9uX2Fn ZW50X25ldyAoZ3VpbnQ2NCAgICAgIHNlcmlhbCwNCisgICBhZ2VudC0+cmVmX2NvdW50ID0gMTsN CisgICBhZ2VudC0+c2VyaWFsID0gc2VyaWFsOw0KKyAgIGFnZW50LT5zY29wZSA9IGdfb2JqZWN0 X3JlZiAoc2NvcGUpOw0KKysgIGFnZW50LT5jcmVhdG9yX3VpZCA9ICh1aWRfdClwb2xraXRfdW5p eF91c2VyX2dldF91aWQgKGNyZWF0b3JfdXNlcik7DQorICAgYWdlbnQtPm9iamVjdF9wYXRoID0g Z19zdHJkdXAgKG9iamVjdF9wYXRoKTsNCisgICBhZ2VudC0+dW5pcXVlX3N5c3RlbV9idXNfbmFt ZSA9IGdfc3RyZHVwICh1bmlxdWVfc3lzdGVtX2J1c19uYW1lKTsNCisgICBhZ2VudC0+bG9jYWxl ID0gZ19zdHJkdXAgKGxvY2FsZSk7DQorQEAgLTE3MzYsOCArMTc0NSw5IEBAIGdldF9hdXRoZW50 aWNhdGlvbl9hZ2VudF9mb3Jfc3ViamVjdCAoUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9y aXR5ICphdXRob3JpDQorIH0NCisgDQorIHN0YXRpYyBBdXRoZW50aWNhdGlvblNlc3Npb24gKg0K Ky1nZXRfYXV0aGVudGljYXRpb25fc2Vzc2lvbl9mb3JfY29va2llIChQb2xraXRCYWNrZW5kSW50 ZXJhY3RpdmVBdXRob3JpdHkgKmF1dGhvcml0eSwNCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmNvb2tpZSkNCisrZ2V0X2F1dGhlbnRpY2F0aW9u X3Nlc3Npb25fZm9yX3VpZF9hbmRfY29va2llIChQb2xraXRCYWNrZW5kSW50ZXJhY3RpdmVBdXRo b3JpdHkgKmF1dGhvcml0eSwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aWRfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZCwNCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAg ICAgICAgICAgICAgICAgICAgICAgKmNvb2tpZSkNCisgew0KKyAgIFBvbGtpdEJhY2tlbmRJbnRl cmFjdGl2ZUF1dGhvcml0eVByaXZhdGUgKnByaXY7DQorICAgR0hhc2hUYWJsZUl0ZXIgaGFzaF9p dGVyOw0KK0BAIC0xNzU1LDYgKzE3NjUsMjMgQEAgZ2V0X2F1dGhlbnRpY2F0aW9uX3Nlc3Npb25f Zm9yX2Nvb2tpZSAoUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9yaXR5ICphdXRob3INCisg ICAgIHsNCisgICAgICAgR0xpc3QgKmw7DQorIA0KKysgICAgICAvKiBXZSBuZWVkIHRvIGVuc3Vy ZSB0aGF0IGlmIHNvbWVob3cgd2UgaGF2ZSBkdXBsaWNhdGUgY29va2llcw0KKysgICAgICAgKiBk dWUgdG8gd3JhcHBpbmcsIHRoYXQgdGhlIGNvb2tpZSB1c2VkIGlzIG1hdGNoZWQgdG8gdGhlIHVz ZXINCisrICAgICAgICogd2hvIGNhbGxlZCBBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UyLiAg U2VlDQorKyAgICAgICAqIGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvcG9s a2l0LWRldmVsLzIwMTUtSnVuZS8wMDA0MjUuaHRtbA0KKysgICAgICAgKiANCisrICAgICAgICog RXhjZXB0IGlmIHRoZSBsZWdhY3kgQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlIGlzIGludm9r ZWQsDQorKyAgICAgICAqIHdlIGRvbid0IGtub3cgdGhlIHVpZCBhbmQgaGVuY2UgdXNlIC0xLiAg Q29udGludWUgdG8gc3VwcG9ydA0KKysgICAgICAgKiB0aGUgb2xkIGJlaGF2aW9yIGZvciBiYWNr d2FyZHMgY29tcGF0aWJpbGl0eSwgYWx0aG91Z2ggZXZlcnlvbmUNCisrICAgICAgICogd2hvIGlz IHVzaW5nIG91ciBvd24gc2V0dWlkIGhlbHBlciB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdXBkYXRl ZA0KKysgICAgICAgKiB0byB0aGUgbmV3IEFQSS4NCisrICAgICAgICovDQorKyAgICAgIGlmICh1 aWQgIT0gKHVpZF90KS0xKQ0KKysgICAgICAgIHsNCisrICAgICAgICAgIGlmIChhZ2VudC0+Y3Jl YXRvcl91aWQgIT0gdWlkKQ0KKysgICAgICAgICAgICBjb250aW51ZTsNCisrICAgICAgICB9DQor Kw0KKyAgICAgICBmb3IgKGwgPSBhZ2VudC0+YWN0aXZlX3Nlc3Npb25zOyBsICE9IE5VTEw7IGwg PSBsLT5uZXh0KQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uU2Vzc2lv biAqc2Vzc2lvbiA9IGwtPmRhdGE7DQorQEAgLTIzODgsNiArMjQxNSw3IEBAIHBvbGtpdF9iYWNr ZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0eV9yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAo UG9sa2l0QmFja2VuDQorICAgcHJpdi0+YWdlbnRfc2VyaWFsKys7DQorICAgYWdlbnQgPSBhdXRo ZW50aWNhdGlvbl9hZ2VudF9uZXcgKHByaXYtPmFnZW50X3NlcmlhbCwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdCwNCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdXNlcl9vZl9jYWxsZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X25hbWUgKFBPTEtJVF9TWVNU RU1fQlVTX05BTUUgKGNhbGxlcikpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsb2NhbGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVj dF9wYXRoLA0KK0BAIC0yNjAxLDYgKzI2MjksNyBAQCBwb2xraXRfYmFja2VuZF9pbnRlcmFjdGl2 ZV9hdXRob3JpdHlfdW5yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAoUG9sa2l0QmFjaw0K KyBzdGF0aWMgZ2Jvb2xlYW4NCisgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5 X2F1dGhlbnRpY2F0aW9uX2FnZW50X3Jlc3BvbnNlIChQb2xraXRCYWNrZW5kQXV0aG9yaXR5ICAg KmF1dGhvcml0eSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICAgKmNhbGxlciwNCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aWRfdCAgICAgICAgICAgICAgICAgICAgIHVpZCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAg ICAgICAgICAgICAgKmNvb2tpZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRJZGVudGl0eSAgICAgICAgICAgKmlk ZW50aXR5LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICAgICAgICAgICoqZXJyb3IpDQorQEAgLTI2 NDMsNyArMjY3Miw3IEBAIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0eV9hdXRo ZW50aWNhdGlvbl9hZ2VudF9yZXNwb25zZSAoUG9sa2l0QmFja2VuDQorICAgICB9DQorIA0KKyAg IC8qIGZpbmQgdGhlIGF1dGhlbnRpY2F0aW9uIHNlc3Npb24gKi8NCistICBzZXNzaW9uID0gZ2V0 X2F1dGhlbnRpY2F0aW9uX3Nlc3Npb25fZm9yX2Nvb2tpZSAoaW50ZXJhY3RpdmVfYXV0aG9yaXR5 LCBjb29raWUpOw0KKysgIHNlc3Npb24gPSBnZXRfYXV0aGVudGljYXRpb25fc2Vzc2lvbl9mb3Jf dWlkX2FuZF9jb29raWUgKGludGVyYWN0aXZlX2F1dGhvcml0eSwgdWlkLCBjb29raWUpOw0KKyAg IGlmIChzZXNzaW9uID09IE5VTEwpDQorICAgICB7DQorICAgICAgIGdfc2V0X2Vycm9yIChlcnJv ciwNCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9DVkUtMjAxNS00NjI1 LVVzZS11bnByZWRpY3RhYmxlLWNvb2tpZS12YWx1ZXMta2VlcC10LnBhdGNoIGIvcGF0Y2hlcy9w b2xraXQtDQowLjEwNS8wLjExMy9DVkUtMjAxNS00NjI1LVVzZS11bnByZWRpY3RhYmxlLWNvb2tp ZS12YWx1ZXMta2VlcC10LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwLi5mNmE0MjQ4OTYNCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1 LzAuMTEzL0NWRS0yMDE1LTQ2MjUtVXNlLXVucHJlZGljdGFibGUtY29va2llLXZhbHVlcy1rZWVw LXQucGF0Y2gNCkBAIC0wLDAgKzEsNTQwIEBADQorRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVy c0ByZWRoYXQuY29tPg0KK0RhdGU6IFRodSwgNCBKdW4gMjAxNSAxMjoxNToxOCAtMDQwMA0KK1N1 YmplY3Q6IENWRS0yMDE1LTQ2MjU6IFVzZSB1bnByZWRpY3RhYmxlIGNvb2tpZSB2YWx1ZXMsIGtl ZXAgdGhlbSBzZWNyZXQNCitNSU1FLVZlcnNpb246IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD0idXRmLTgiDQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0K Kw0KK1RhdmlzIG5vdGVkIHRoYXQgaXQnZCBiZSBwb3NzaWJsZSB3aXRoIGEgMzIgYml0IGNvdW50 ZXIgZm9yIHNvbWVvbmUgdG8NCitjYXVzZSB0aGUgY29va2llIHRvIHdyYXAgYnkgY3JlYXRpbmcg QXV0aGVudGljYXRpb24gcmVxdWVzdHMgaW4gYQ0KK2xvb3AuDQorDQorU29tZXRoaW5nIGltcG9y dGFudCB0byBub3RlIGhlcmUgaXMgdGhhdCB3cmFwcGluZyBvZiBzaWduZWQgaW50ZWdlcnMNCitp cyB1bmRlZmluZWQgYmVoYXZpb3IgaW4gQywgc28gd2UgZGVmaW5pdGVseSB3YW50IHRvIGZpeCB0 aGF0LiAgQWxsDQorY291bnRlciBpbnRlZ2VycyB1c2VkIGluIHRoaXMgcGF0Y2ggYXJlIHVuc2ln bmVkLg0KKw0KK1NlZSB0aGUgY29tbWVudCBhYm92ZSBgYXV0aGVudGljYXRpb25fYWdlbnRfZ2Vu ZXJhdGVfY29va2llYCBmb3INCitkZXRhaWxzLCBidXQgYmFzaWNhbGx5IHdlJ3JlIG5vdyB1c2lu ZyBhIGNvb2tpZSBvZiB0aGUgZm9ybToNCisNCitgYGANCisgICAgICAgIDxhZ2VudCBzZXJpYWw+ IC0gPGFnZW50IHJhbmRvbSBpZD4gLSA8c2Vzc2lvbiBzZXJpYWw+IC0gPHNlc3Npb24NCityYW5k b20gaWQ+DQorYGBgDQorDQorV2hpY2ggaGFzIG11bHRpcGxlIDY0IGJpdCBjb3VudGVycywgcGx1 cyB1bnByZWRpY3RhYmxlIHJhbmRvbSAxMjggYml0DQoraW50ZWdlciBpZHMgKGVmZmVjdGl2ZWx5 IFVVSURzLCBidXQgd2UncmUgbm90IGNhbGxpbmcgdGhlbSB0aGF0DQorYmVjYXVzZSB3ZSBkb24n dCBuZWVkIHRvIGJlIGdsb2JhbGx5IHVuaXF1ZS4NCisNCitXZSBmdXJ0aGVyIGVuc3VyZSB0aGF0 IHRoZSBjb29raWVzIGFyZSBub3QgdmlzaWJsZSB0byBvdGhlciBwcm9jZXNzZXMNCitieSBjaGFu Z2luZyB0aGUgc2V0dWlkIGhlbHBlciB0byBhY2NlcHQgdGhlbSBvdmVyIHN0YW5kYXJkIGlucHV0 LiAgVGhpcw0KK21lYW5zIHRoYXQgYW4gYXR0YWNrZXIgd291bGQgaGF2ZSB0byBndWVzcyBib3Ro IGlkcy4NCisNCitJbiBhbnkgY2FzZSwgdGhlIHNlY3VyaXR5IGhvbGUgaGVyZSBpcyBiZXR0ZXIg Zml4ZWQgd2l0aCB0aGUgb3RoZXINCitjaGFuZ2UgdG8gYmluZCB1c2VyIGlkICh1aWQpIG9mIHRo ZSBhZ2VudCB3aXRoIGNvb2tpZSBsb29rdXBzLCBtYWtpbmcNCitjb29raWUgZ3Vlc3Npbmcgd29y dGhsZXNzLg0KKw0KK05ldmVydGhlbGVzcywgSSB0aGluayBpdCdzIHdvcnRoIGRvaW5nIHRoaXMg Y2hhbmdlIHRvbywgZm9yIGRlZmVuc2UgaW4NCitkZXB0aC4NCisNCitCdWc6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODMyDQorQ1ZFOiBDVkUtMjAxNS00 NjI1DQorUmVwb3J0ZWQtYnk6IFRhdmlzIE9ybWFuZHkgPHRhdmlzb0Bnb29nbGUuY29tPg0KK1Jl dmlld2VkLWJ5OiBNaWxvc2xhdiBUcm1hxI0gPG1pdHJAcmVkaGF0LmNvbT4NCitTaWduZWQtb2Zm LWJ5OiBDb2xpbiBXYWx0ZXJzIDx3YWx0ZXJzQHJlZGhhdC5jb20+DQorT3JpZ2luOiB1cHN0cmVh bSwgMC4xMTMsIGNvbW1pdDplYTU0NGZmYzE4NDA1MjM3Y2NkOTVkMjhkN2Y0NWFmZWY0OWFjYTE3 DQorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk2MTM0DQorLS0tDQorIGNv bmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0N Cisgc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jICAgICAgICAgICAgfCAx MiArKy0NCisgc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXNoYWRvdy5jICAgICAg ICAgfCAxMiArKy0NCisgc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVycHJpdmF0ZS5j ICAgICAgICAgfCAzMyArKysrKysrKw0KKyBzcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxw ZXJwcml2YXRlLmggICAgICAgICB8ICAyICsNCisgc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50 c2Vzc2lvbi5jICAgICAgICAgICAgICAgfCAzMCArKysrLS0tDQorIC4uLi9wb2xraXRiYWNrZW5k aW50ZXJhY3RpdmVhdXRob3JpdHkuYyAgICAgICAgICAgIHwgOTkgKysrKysrKysrKysrKysrKyst LS0tLQ0KKyA3IGZpbGVzIGNoYW5nZWQsIDE1MCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMo LSkNCisNCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjDQoraW5kZXgg YWEyNzYwZi4uMzg4NjA1ZCAxMDA2NDQNCistLS0gYS9jb25maWd1cmUuYWMNCisrKysgYi9jb25m aWd1cmUuYWMNCitAQCAtMTIzLDcgKzEyMyw3IEBAIGlmIHRlc3QgIngkR0NDIiA9ICJ4eWVzIjsg dGhlbg0KKyAgIGNoYW5nZXF1b3RlKFssXSlkbmwNCisgZmkNCisgDQorLVBLR19DSEVDS19NT0RV TEVTKEdMSUIsIFtnaW8tMi4wID49IDIuMjguMF0pDQorK1BLR19DSEVDS19NT0RVTEVTKEdMSUIs IFtnbW9kdWxlLTIuMCBnaW8tdW5peC0yLjAgPj0gMi4zMC4wXSkNCisgQUNfU1VCU1QoR0xJQl9D RkxBR1MpDQorIEFDX1NVQlNUKEdMSUJfTElCUykNCisgDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xr aXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYyBiL3NyYy9wb2xraXRhZ2VudC9wb2xraXRh Z2VudGhlbHBlci1wYW0uYw0KK2luZGV4IDkzNzM4NmUuLjE5MDYyYWEgMTAwNjQ0DQorLS0tIGEv c3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQorKysrIGIvc3JjL3BvbGtp dGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQorQEAgLTY1LDcgKzY1LDcgQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCisgew0KKyAgIGludCByYzsNCisgICBjb25zdCBjaGFy ICp1c2VyX3RvX2F1dGg7DQorLSAgY29uc3QgY2hhciAqY29va2llOw0KKysgIGNoYXIgKmNvb2tp ZSA9IE5VTEw7DQorICAgc3RydWN0IHBhbV9jb252IHBhbV9jb252ZXJzYXRpb247DQorICAgcGFt X2hhbmRsZV90ICpwYW1faDsNCisgICBjb25zdCB2b2lkICphdXRoZWRfdXNlcjsNCitAQCAtOTcs NyArOTcsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgIG9wZW5sb2cgKCJw b2xraXQtYWdlbnQtaGVscGVyLTEiLCBMT0dfQ09OUyB8IExPR19QSUQsIExPR19BVVRIUFJJVik7 DQorIA0KKyAgIC8qIGNoZWNrIGZvciBjb3JyZWN0IGludm9jYXRpb24gKi8NCistICBpZiAoYXJn YyAhPSAzKQ0KKysgIGlmICghKGFyZ2MgPT0gMiB8fCBhcmdjID09IDMpKQ0KKyAgICAgew0KKyAg ICAgICBzeXNsb2cgKExPR19OT1RJQ0UsICJpbmFwcHJvcHJpYXRlIHVzZSBvZiBoZWxwZXIsIHdy b25nIG51bWJlciBvZiBhcmd1bWVudHMgW3VpZD0lZF0iLCBnZXR1aWQgKCkpOw0KKyAgICAgICBm cHJpbnRmIChzdGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IHdyb25nIG51bWJlciBvZiBh cmd1bWVudHMuIFRoaXMgaW5jaWRlbnQgaGFzIGJlZW4gbG9nZ2VkLlxuIik7DQorQEAgLTEwNSw3 ICsxMDUsMTAgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCisgICAgIH0NCisgDQor ICAgdXNlcl90b19hdXRoID0gYXJndlsxXTsNCistICBjb29raWUgPSBhcmd2WzJdOw0KKysNCisr ICBjb29raWUgPSByZWFkX2Nvb2tpZSAoYXJnYywgYXJndik7DQorKyAgaWYgKCFjb29raWUpDQor KyAgICBnb3RvIGVycm9yOw0KKyANCisgICBpZiAoZ2V0dWlkICgpICE9IDApDQorICAgICB7DQor QEAgLTIwMyw2ICsyMDYsOCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgICAg ICBnb3RvIGVycm9yOw0KKyAgICAgfQ0KKyANCisrICBmcmVlIChjb29raWUpOw0KKysNCisgI2lm ZGVmIFBBSF9ERUJVRw0KKyAgIGZwcmludGYgKHN0ZGVyciwgInBvbGtpdC1hZ2VudC1oZWxwZXIt MTogc3VjY2Vzc2Z1bGx5IHNlbnQgRC1CdXMgbWVzc2FnZSB0byBQb2xpY3lLaXQgZGFlbW9uXG4i KTsNCisgI2VuZGlmIC8qIFBBSF9ERUJVRyAqLw0KK0BAIC0yMTIsNiArMjE3LDcgQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCisgICByZXR1cm4gMDsNCisgDQorIGVycm9yOg0KKysg IGZyZWUgKGNvb2tpZSk7DQorICAgaWYgKHBhbV9oICE9IE5VTEwpDQorICAgICBwYW1fZW5kIChw YW1faCwgcmMpOw0KKyANCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50 aGVscGVyLXNoYWRvdy5jIGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXNoYWRv dy5jDQoraW5kZXggYTRmNzNhYy4uZTg3NzkxNSAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0YWdl bnQvcG9sa2l0YWdlbnRoZWxwZXItc2hhZG93LmMNCisrKysgYi9zcmMvcG9sa2l0YWdlbnQvcG9s a2l0YWdlbnRoZWxwZXItc2hhZG93LmMNCitAQCAtNDYsNyArNDYsNyBAQCBtYWluIChpbnQgYXJn YywgY2hhciAqYXJndltdKQ0KKyB7DQorICAgc3RydWN0IHNwd2QgKnNoYWRvdzsNCisgICBjb25z dCBjaGFyICp1c2VyX3RvX2F1dGg7DQorLSAgY29uc3QgY2hhciAqY29va2llOw0KKysgIGNoYXIg KmNvb2tpZSA9IE5VTEw7DQorICAgdGltZV90IG5vdzsNCisgDQorICAgLyogY2xlYXIgdGhlIGVu dGlyZSBlbnZpcm9ubWVudCB0byBhdm9pZCBhdHRhY2tzIHdpdGgNCitAQCAtNjcsNyArNjcsNyBA QCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgIG9wZW5sb2cgKCJwb2xraXQtYWdl bnQtaGVscGVyLTEiLCBMT0dfQ09OUyB8IExPR19QSUQsIExPR19BVVRIUFJJVik7DQorIA0KKyAg IC8qIGNoZWNrIGZvciBjb3JyZWN0IGludm9jYXRpb24gKi8NCistICBpZiAoYXJnYyAhPSAzKQ0K KysgIGlmICghKGFyZ2MgPT0gMiB8fCBhcmdjID09IDMpKQ0KKyAgICAgew0KKyAgICAgICBzeXNs b2cgKExPR19OT1RJQ0UsICJpbmFwcHJvcHJpYXRlIHVzZSBvZiBoZWxwZXIsIHdyb25nIG51bWJl ciBvZiBhcmd1bWVudHMgW3VpZD0lZF0iLCBnZXR1aWQgKCkpOw0KKyAgICAgICBmcHJpbnRmIChz dGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMu IFRoaXMgaW5jaWRlbnQgaGFzIGJlZW4gbG9nZ2VkLlxuIik7DQorQEAgLTg2LDcgKzg2LDEwIEBA IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pDQorICAgICB9DQorIA0KKyAgIHVzZXJfdG9f YXV0aCA9IGFyZ3ZbMV07DQorLSAgY29va2llID0gYXJndlsyXTsNCisrDQorKyAgY29va2llID0g cmVhZF9jb29raWUgKGFyZ2MsIGFyZ3YpOw0KKysgIGlmICghY29va2llKQ0KKysgICAgZ290byBl cnJvcjsNCisgDQorICNpZmRlZiBQQUhfREVCVUcNCisgICBmcHJpbnRmIChzdGRlcnIsICJwb2xr aXQtYWdlbnQtaGVscGVyLTE6IHVzZXIgdG8gYXV0aCBpcyAnJXMnLlxuIiwgdXNlcl90b19hdXRo KTsNCitAQCAtMTUzLDYgKzE1Niw4IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pDQor ICAgICAgIGdvdG8gZXJyb3I7DQorICAgICB9DQorIA0KKysgIGZyZWUgKGNvb2tpZSk7DQorKw0K KyAjaWZkZWYgUEFIX0RFQlVHDQorICAgZnByaW50ZiAoc3RkZXJyLCAicG9sa2l0LWFnZW50LWhl bHBlci0xOiBzdWNjZXNzZnVsbHkgc2VudCBELUJ1cyBtZXNzYWdlIHRvIFBvbGljeUtpdCBkYWVt b25cbiIpOw0KKyAjZW5kaWYgLyogUEFIX0RFQlVHICovDQorQEAgLTE2Miw2ICsxNjcsNyBAQCBt YWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgIHJldHVybiAwOw0KKyANCisgZXJyb3I6 DQorKyAgZnJlZSAoY29va2llKTsNCisgICBmcHJpbnRmIChzdGRvdXQsICJGQUlMVVJFXG4iKTsN CisgICBmbHVzaF9hbmRfd2FpdCAoKTsNCisgICByZXR1cm4gMTsNCitkaWZmIC0tZ2l0IGEvc3Jj L3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVycHJpdmF0ZS5jIGIvc3JjL3BvbGtpdGFnZW50 L3BvbGtpdGFnZW50aGVscGVycHJpdmF0ZS5jDQoraW5kZXggNDQxN2U3MC4uYTk5ZGU3ZCAxMDA2 NDQNCistLS0gYS9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXJwcml2YXRlLmMNCisr KysgYi9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXJwcml2YXRlLmMNCitAQCAtMjMs NiArMjMsNyBAQA0KKyAjaW5jbHVkZSAiY29uZmlnLmgiDQorICNpbmNsdWRlICJwb2xraXRhZ2Vu dGhlbHBlcnByaXZhdGUuaCINCisgI2luY2x1ZGUgPHN0ZGlvLmg+DQorKyNpbmNsdWRlIDxzdHJp bmcuaD4NCisgI2luY2x1ZGUgPHN0ZGxpYi5oPg0KKyAjaW5jbHVkZSA8dW5pc3RkLmg+DQorIA0K K0BAIC00NSw2ICs0NiwzOCBAQCBfcG9sa2l0X2NsZWFyZW52ICh2b2lkKQ0KKyAjZW5kaWYNCisg DQorIA0KKytjaGFyICoNCisrcmVhZF9jb29raWUgKGludCBhcmdjLCBjaGFyICoqYXJndikNCisr ew0KKysgIC8qIEFzIHBhcnQgb2YgQ1ZFLTIwMTUtNDYyNSwgd2Ugc3RhcnRlZCBwYXNzaW5nIHRo ZSBjb29raWUNCisrICAgKiBvbiBzdGFuZGFyZCBpbnB1dCwgdG8gZW5zdXJlIGl0J3Mgbm90IHZp c2libGUgdG8gb3RoZXINCisrICAgKiBwcm9jZXNzZXMuICBIb3dldmVyLCB0byBlbnN1cmUgdGhh dCB0aGluZ3MgY29udGludWUNCisrICAgKiB0byB3b3JrIGlmIHRoZSBzZXR1aWQgYmluYXJ5IGlz IHVwZ3JhZGVkIHdoaWxlIG9sZA0KKysgICAqIGFnZW50cyBhcmUgc3RpbGwgcnVubmluZyAodGhp cyB3aWxsIGJlIGNvbW1vbiB3aXRoDQorKyAgICogcGFja2FnZSBtYW5hZ2VycyksIHdlIHN1cHBv cnQgYm90aCBtb2Rlcy4NCisrICAgKi8NCisrICBpZiAoYXJnYyA9PSAzKQ0KKysgICAgcmV0dXJu IHN0cmR1cCAoYXJndlsyXSk7DQorKyAgZWxzZQ0KKysgICAgew0KKysgICAgICBjaGFyICpyZXQg PSBOVUxMOw0KKysgICAgICBzaXplX3QgbiA9IDA7DQorKyAgICAgIHNzaXplX3QgciA9IGdldGxp bmUgKCZyZXQsICZuLCBzdGRpbik7DQorKyAgICAgIGlmIChyID09IC0xKQ0KKysgICAgICAgIHsN CisrICAgICAgICAgIGlmICghZmVvZiAoc3RkaW4pKQ0KKysgICAgICAgICAgICBwZXJyb3IgKCJn ZXRsaW5lIik7DQorKyAgICAgICAgICBmcmVlIChyZXQpOw0KKysgICAgICAgICAgcmV0dXJuIE5V TEw7DQorKyAgICAgICAgfQ0KKysgICAgICBlbHNlDQorKyAgICAgICAgew0KKysgICAgICAgICAg Z19zdHJjaG9tcCAocmV0KTsNCisrICAgICAgICAgIHJldHVybiByZXQ7DQorKyAgICAgICAgfQ0K KysgICAgfQ0KKyt9DQorKw0KKyBnYm9vbGVhbg0KKyBzZW5kX2RidXNfbWVzc2FnZSAoY29uc3Qg Y2hhciAqY29va2llLCBjb25zdCBjaGFyICp1c2VyKQ0KKyB7DQorZGlmZiAtLWdpdCBhL3NyYy9w b2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlcnByaXZhdGUuaCBiL3NyYy9wb2xraXRhZ2VudC9w b2xraXRhZ2VudGhlbHBlcnByaXZhdGUuaA0KK2luZGV4IGFlY2EyYzcuLjU0N2ZkY2MgMTAwNjQ0 DQorLS0tIGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVycHJpdmF0ZS5oDQorKysr IGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVycHJpdmF0ZS5oDQorQEAgLTM4LDYg KzM4LDggQEANCisgDQorIGludCBfcG9sa2l0X2NsZWFyZW52ICh2b2lkKTsNCisgDQorK2NoYXIg KnJlYWRfY29va2llIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOw0KKysNCisgZ2Jvb2xlYW4gc2Vu ZF9kYnVzX21lc3NhZ2UgKGNvbnN0IGNoYXIgKmNvb2tpZSwgY29uc3QgY2hhciAqdXNlcik7DQor IA0KKyB2b2lkIGZsdXNoX2FuZF93YWl0ICgpOw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YWdl bnQvcG9sa2l0YWdlbnRzZXNzaW9uLmMgYi9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRzZXNz aW9uLmMNCitpbmRleCBhNjU4YTIyLi42YTNkNmJjIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRh Z2VudC9wb2xraXRhZ2VudHNlc3Npb24uYw0KKysrKyBiL3NyYy9wb2xraXRhZ2VudC9wb2xraXRh Z2VudHNlc3Npb24uYw0KK0BAIC01NSw2ICs1NSw3IEBADQorICNpbmNsdWRlIDxzdGRpby5oPg0K KyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQorICNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KKysjaW5j bHVkZSA8Z2lvL2d1bml4b3V0cHV0c3RyZWFtLmg+DQorICNpbmNsdWRlIDxwd2QuaD4NCisgDQor ICNpbmNsdWRlICJwb2xraXRhZ2VudG1hcnNoYWwuaCINCitAQCAtODgsNyArODksNyBAQCBzdHJ1 Y3QgX1BvbGtpdEFnZW50U2Vzc2lvbg0KKyAgIGdjaGFyICpjb29raWU7DQorICAgUG9sa2l0SWRl bnRpdHkgKmlkZW50aXR5Ow0KKyANCistICBpbnQgY2hpbGRfc3RkaW47DQorKyAgR091dHB1dFN0 cmVhbSAqY2hpbGRfc3RkaW47DQorICAgaW50IGNoaWxkX3N0ZG91dDsNCisgICBHUGlkIGNoaWxk X3BpZDsNCisgDQorQEAgLTEyOSw3ICsxMzAsNiBAQCBHX0RFRklORV9UWVBFIChQb2xraXRBZ2Vu dFNlc3Npb24sIHBvbGtpdF9hZ2VudF9zZXNzaW9uLCBHX1RZUEVfT0JKRUNUKTsNCisgc3RhdGlj IHZvaWQNCisgcG9sa2l0X2FnZW50X3Nlc3Npb25faW5pdCAoUG9sa2l0QWdlbnRTZXNzaW9uICpz ZXNzaW9uKQ0KKyB7DQorLSAgc2Vzc2lvbi0+Y2hpbGRfc3RkaW4gPSAtMTsNCisgICBzZXNzaW9u LT5jaGlsZF9zdGRvdXQgPSAtMTsNCisgfQ0KKyANCitAQCAtMzk1LDExICszOTUsNyBAQCBraWxs X2hlbHBlciAoUG9sa2l0QWdlbnRTZXNzaW9uICpzZXNzaW9uKQ0KKyAgICAgICBzZXNzaW9uLT5j aGlsZF9zdGRvdXQgPSAtMTsNCisgICAgIH0NCisgDQorLSAgaWYgKHNlc3Npb24tPmNoaWxkX3N0 ZGluICE9IC0xKQ0KKy0gICAgew0KKy0gICAgICBnX3dhcm5faWZfZmFpbCAoY2xvc2UgKHNlc3Np b24tPmNoaWxkX3N0ZGluKSA9PSAwKTsNCistICAgICAgc2Vzc2lvbi0+Y2hpbGRfc3RkaW4gPSAt MTsNCistICAgIH0NCisrICBnX2NsZWFyX29iamVjdCAoJnNlc3Npb24tPmNoaWxkX3N0ZGluKTsN CisgDQorICAgc2Vzc2lvbi0+aGVscGVyX2lzX3J1bm5pbmcgPSBGQUxTRTsNCisgDQorQEAgLTU0 NSw5ICs1NDEsOSBAQCBwb2xraXRfYWdlbnRfc2Vzc2lvbl9yZXNwb25zZSAoUG9sa2l0QWdlbnRT ZXNzaW9uICpzZXNzaW9uLA0KKyANCisgICBhZGRfbmV3bGluZSA9IChyZXNwb25zZVtyZXNwb25z ZV9sZW5dICE9ICdcbicpOw0KKyANCistICB3cml0ZSAoc2Vzc2lvbi0+Y2hpbGRfc3RkaW4sIHJl c3BvbnNlLCByZXNwb25zZV9sZW4pOw0KKysgICh2b2lkKSBnX291dHB1dF9zdHJlYW1fd3JpdGVf YWxsIChzZXNzaW9uLT5jaGlsZF9zdGRpbiwgcmVzcG9uc2UsIHJlc3BvbnNlX2xlbiwgTlVMTCwg TlVMTCwgTlVMTCk7DQorICAgaWYgKGFkZF9uZXdsaW5lKQ0KKy0gICAgd3JpdGUgKHNlc3Npb24t PmNoaWxkX3N0ZGluLCBuZXdsaW5lLCAxKTsNCisrICAgICh2b2lkKSBnX291dHB1dF9zdHJlYW1f d3JpdGVfYWxsIChzZXNzaW9uLT5jaGlsZF9zdGRpbiwgbmV3bGluZSwgMSwgTlVMTCwgTlVMTCwg TlVMTCk7DQorIH0NCisgDQorIC8qKg0KK0BAIC01NjcsOCArNTYzLDkgQEAgcG9sa2l0X2FnZW50 X3Nlc3Npb25faW5pdGlhdGUgKFBvbGtpdEFnZW50U2Vzc2lvbiAqc2Vzc2lvbikNCisgew0KKyAg IHVpZF90IHVpZDsNCisgICBHRXJyb3IgKmVycm9yOw0KKy0gIGdjaGFyICpoZWxwZXJfYXJndls0 XTsNCisrICBnY2hhciAqaGVscGVyX2FyZ3ZbM107DQorICAgc3RydWN0IHBhc3N3ZCAqcGFzc3dk Ow0KKysgIGludCBzdGRpbl9mZCA9IC0xOw0KKyANCisgICBnX3JldHVybl9pZl9mYWlsIChQT0xL SVRfQUdFTlRfSVNfU0VTU0lPTiAoc2Vzc2lvbikpOw0KKyANCitAQCAtNjAwLDEwICs1OTcsOCBA QCBwb2xraXRfYWdlbnRfc2Vzc2lvbl9pbml0aWF0ZSAoUG9sa2l0QWdlbnRTZXNzaW9uICpzZXNz aW9uKQ0KKyANCisgICBoZWxwZXJfYXJndlswXSA9IFBBQ0tBR0VfTElCRVhFQ19ESVIgIi9wb2xr aXQtYWdlbnQtaGVscGVyLTEiOw0KKyAgIGhlbHBlcl9hcmd2WzFdID0gcGFzc3dkLT5wd19uYW1l Ow0KKy0gIGhlbHBlcl9hcmd2WzJdID0gc2Vzc2lvbi0+Y29va2llOw0KKy0gIGhlbHBlcl9hcmd2 WzNdID0gTlVMTDsNCisrICBoZWxwZXJfYXJndlsyXSA9IE5VTEw7DQorIA0KKy0gIHNlc3Npb24t PmNoaWxkX3N0ZGluID0gLTE7DQorICAgc2Vzc2lvbi0+Y2hpbGRfc3Rkb3V0ID0gLTE7DQorIA0K KyAgIGVycm9yID0gTlVMTDsNCitAQCAtNjE1LDcgKzYxMCw3IEBAIHBvbGtpdF9hZ2VudF9zZXNz aW9uX2luaXRpYXRlIChQb2xraXRBZ2VudFNlc3Npb24gKnNlc3Npb24pDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXNzaW9u LT5jaGlsZF9waWQsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXNzaW9u LT5jaGlsZF9zdGRpbiwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0ZGlu X2ZkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2Vzc2lvbi0+Y2hpbGRf c3Rkb3V0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpKQ0KK0BAIC02MjgsNiArNjIzLDEz IEBAIHBvbGtpdF9hZ2VudF9zZXNzaW9uX2luaXRpYXRlIChQb2xraXRBZ2VudFNlc3Npb24gKnNl c3Npb24pDQorICAgaWYgKEdfVU5MSUtFTFkgKF9zaG93X2RlYnVnICgpKSkNCisgICAgIGdfcHJp bnQgKCJQb2xraXRBZ2VudFNlc3Npb246IHNwYXduZWQgaGVscGVyIHdpdGggcGlkICVkXG4iLCAo Z2ludCkgc2Vzc2lvbi0+Y2hpbGRfcGlkKTsNCisgDQorKyAgc2Vzc2lvbi0+Y2hpbGRfc3RkaW4g PSAoR091dHB1dFN0cmVhbSopZ191bml4X291dHB1dF9zdHJlYW1fbmV3IChzdGRpbl9mZCwgVFJV RSk7DQorKw0KKysgIC8qIFdyaXRlIHRoZSBjb29raWUgb24gc3RkaW4gc28gaXQgY2FuJ3QgYmUg c2VlbiBieSBvdGhlciBwcm9jZXNzZXMgKi8NCisrICAodm9pZCkgZ19vdXRwdXRfc3RyZWFtX3dy aXRlX2FsbCAoc2Vzc2lvbi0+Y2hpbGRfc3RkaW4sIHNlc3Npb24tPmNvb2tpZSwgc3RybGVuIChz ZXNzaW9uLT5jb29raWUpLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLCBOVUxMLCBOVUxMKTsNCisrICAodm9pZCkgZ19vdXRwdXRfc3RyZWFtX3dyaXRlX2FsbCAo c2Vzc2lvbi0+Y2hpbGRfc3RkaW4sICJcbiIsIDEsIE5VTEwsIE5VTEwsIE5VTEwpOw0KKysNCisg ICBzZXNzaW9uLT5jaGlsZF9zdGRvdXRfY2hhbm5lbCA9IGdfaW9fY2hhbm5lbF91bml4X25ldyAo c2Vzc2lvbi0+Y2hpbGRfc3Rkb3V0KTsNCisgICBzZXNzaW9uLT5jaGlsZF9zdGRvdXRfd2F0Y2hf c291cmNlID0gZ19pb19jcmVhdGVfd2F0Y2ggKHNlc3Npb24tPmNoaWxkX3N0ZG91dF9jaGFubmVs LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR19JT19JTiB8IEdfSU9fRVJSIHwgR19JT19IVVApOw0KK2RpZmYgLS1naXQgYS9zcmMv cG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KYi9zcmMv cG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KK2luZGV4 IDAwZWUwNDQuLjEwZWRhMmMgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMNCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9w b2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KK0BAIC0yMTIsNiArMjEyLDggQEAg dHlwZWRlZiBzdHJ1Y3QNCisgDQorICAgR0RCdXNDb25uZWN0aW9uICpzeXN0ZW1fYnVzX2Nvbm5l Y3Rpb247DQorICAgZ3VpbnQgbmFtZV9vd25lcl9jaGFuZ2VkX3NpZ25hbF9pZDsNCisrDQorKyAg Z3VpbnQ2NCBhZ2VudF9zZXJpYWw7DQorIH0gUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9y aXR5UHJpdmF0ZTsNCisgDQorIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gKi8NCitAQCAtNDMwLDExICs0MzIsMTUgQEAgc3RydWN0IEF1dGhlbnRpY2F0aW9u QWdlbnQNCisgICB2b2xhdGlsZSBnaW50IHJlZl9jb3VudDsNCisgDQorICAgUG9sa2l0U3ViamVj dCAqc2NvcGU7DQorKyAgZ3VpbnQ2NCBzZXJpYWw7DQorIA0KKyAgIGdjaGFyICpsb2NhbGU7DQor ICAgR1ZhcmlhbnQgKnJlZ2lzdHJhdGlvbl9vcHRpb25zOw0KKyAgIGdjaGFyICpvYmplY3RfcGF0 aDsNCisgICBnY2hhciAqdW5pcXVlX3N5c3RlbV9idXNfbmFtZTsNCisrICBHUmFuZCAqY29va2ll X3Bvb2w7DQorKyAgZ2NoYXIgKmNvb2tpZV9wcmVmaXg7DQorKyAgZ3VpbnQ2NCAgY29va2llX3Nl cmlhbDsNCisgDQorICAgR0RCdXNQcm94eSAqcHJveHk7DQorIA0KK0BAIC0xNDMwLDkgKzE0MzYs NTQgQEAgYXV0aGVudGljYXRpb25fc2Vzc2lvbl9jYW5jZWxsZWRfY2IgKEdDYW5jZWxsYWJsZSAq Y2FuY2VsbGFibGUsDQorICAgYXV0aGVudGljYXRpb25fc2Vzc2lvbl9jYW5jZWwgKHNlc3Npb24p Ow0KKyB9DQorIA0KKysvKiBXZSdyZSBub3QgY2FsbGluZyB0aGlzIGEgVVVJRCwgYnV0IGl0J3Mg YmFzaWNhbGx5DQorKyAqIHRoZSBzYW1lIHRoaW5nLCBqdXN0IG5vdCBmb3JtYXR0ZWQgdGhhdCB3 YXkgYmVjYXVzZToNCisrICoNCisrICogIC0gSSdtIHRvbyBsYXp5IHRvIGRvIGl0DQorKyAqICAt IElmIHdlIGRpZCwgcGVvcGxlIG1pZ2h0IHRoaW5rIGl0IHdhcyBhY3R1YWxseQ0KKysgKiAgICBn ZW5lcmF0ZWQgZnJvbSAvZGV2L3JhbmRvbSwgd2hpY2ggd2UncmUgbm90IGRvaW5nDQorKyAqICAg IGJlY2F1c2UgdGhpcyB2YWx1ZSBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgdG8gYmUNCisrICogICAg Z2xvYmFsbHkgdW5pcXVlLg0KKysgKi8NCisrc3RhdGljIHZvaWQNCisrYXBwZW5kX3JhbmRfdTEy OF9zdHIgKEdTdHJpbmcgKmJ1ZiwNCisrICAgICAgICAgICAgICAgICAgICAgIEdSYW5kICAgKnBv b2wpDQorK3sNCisrICBnX3N0cmluZ19hcHBlbmRfcHJpbnRmIChidWYsICIlMDh4JTA4eCUwOHgl MDh4IiwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICBnX3JhbmRfaW50IChwb29sKSwNCisr ICAgICAgICAgICAgICAgICAgICAgICAgICBnX3JhbmRfaW50IChwb29sKSwNCisrICAgICAgICAg ICAgICAgICAgICAgICAgICBnX3JhbmRfaW50IChwb29sKSwNCisrICAgICAgICAgICAgICAgICAg ICAgICAgICBnX3JhbmRfaW50IChwb29sKSk7DQorK30NCisrDQorKy8qIEEgdmFsdWUgdGhhdCBz aG91bGQgYmUgdW5pcXVlIHRvIHRoZSAoQXV0aGVudGljYXRpb25BZ2VudCwgQXV0aGVudGljYXRp b25TZXNzaW9uKQ0KKysgKiBwYWlyLCBhbmQgbm90IGd1ZXNzYWJsZSBieSBvdGhlciBhZ2VudHMu DQorKyAqDQorKyAqIDxhZ2VudCBzZXJpYWw+IC0gPGFnZW50IHV1aWQ+IC0gPHNlc3Npb24gc2Vy aWFsPiAtIDxzZXNzaW9uIHV1aWQ+DQorKyAqDQorKyAqIFNlZSBodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL2FyY2hpdmVzL3BvbGtpdC1kZXZlbC8yMDE1LUp1bmUvMDAwNDI1Lmh0bWwNCisr ICoNCisrICovDQorK3N0YXRpYyBnY2hhciAqDQorK2F1dGhlbnRpY2F0aW9uX2FnZW50X2dlbmVy YXRlX2Nvb2tpZSAoQXV0aGVudGljYXRpb25BZ2VudCAqYWdlbnQpDQorK3sNCisrICBHU3RyaW5n ICpidWYgPSBnX3N0cmluZ19uZXcgKCIiKTsNCisrDQorKyAgZ19zdHJpbmdfYXBwZW5kIChidWYs IGFnZW50LT5jb29raWVfcHJlZml4KTsNCisrICANCisrICBnX3N0cmluZ19hcHBlbmRfYyAoYnVm LCAnLScpOw0KKysgIGFnZW50LT5jb29raWVfc2VyaWFsKys7DQorKyAgZ19zdHJpbmdfYXBwZW5k X3ByaW50ZiAoYnVmLCAiJSIgR19HVUlOVDY0X0ZPUk1BVCwgDQorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgYWdlbnQtPmNvb2tpZV9zZXJpYWwpOw0KKysgIGdfc3RyaW5nX2FwcGVuZF9jIChi dWYsICctJyk7DQorKyAgYXBwZW5kX3JhbmRfdTEyOF9zdHIgKGJ1ZiwgYWdlbnQtPmNvb2tpZV9w b29sKTsNCisrDQorKyAgcmV0dXJuIGdfc3RyaW5nX2ZyZWUgKGJ1ZiwgRkFMU0UpOw0KKyt9DQor Kw0KKysNCisgc3RhdGljIEF1dGhlbnRpY2F0aW9uU2Vzc2lvbiAqDQorIGF1dGhlbnRpY2F0aW9u X3Nlc3Npb25fbmV3IChBdXRoZW50aWNhdGlvbkFnZW50ICAgICAgICAgKmFnZW50LA0KKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgICAgICpjb29r aWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAg ICAgICAgKnN1YmplY3QsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRJZGVu dGl0eSAgICAgICAgICAgICAgKnVzZXJfb2Zfc3ViamVjdCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBvbGtpdFN1YmplY3QgICAgICAgICAgICAgICAqY2FsbGVyLA0KK0BAIC0xNDQ5 LDcgKzE1MDAsNyBAQCBhdXRoZW50aWNhdGlvbl9zZXNzaW9uX25ldyAoQXV0aGVudGljYXRpb25B Z2VudCAgICAgICAgICphZ2VudCwNCisgDQorICAgc2Vzc2lvbiA9IGdfbmV3MCAoQXV0aGVudGlj YXRpb25TZXNzaW9uLCAxKTsNCisgICBzZXNzaW9uLT5hZ2VudCA9IGF1dGhlbnRpY2F0aW9uX2Fn ZW50X3JlZiAoYWdlbnQpOw0KKy0gIHNlc3Npb24tPmNvb2tpZSA9IGdfc3RyZHVwIChjb29raWUp Ow0KKysgIHNlc3Npb24tPmNvb2tpZSA9IGF1dGhlbnRpY2F0aW9uX2FnZW50X2dlbmVyYXRlX2Nv b2tpZSAoYWdlbnQpOw0KKyAgIHNlc3Npb24tPnN1YmplY3QgPSBnX29iamVjdF9yZWYgKHN1Ympl Y3QpOw0KKyAgIHNlc3Npb24tPnVzZXJfb2Zfc3ViamVjdCA9IGdfb2JqZWN0X3JlZiAodXNlcl9v Zl9zdWJqZWN0KTsNCisgICBzZXNzaW9uLT5jYWxsZXIgPSBnX29iamVjdF9yZWYgKGNhbGxlcik7 DQorQEAgLTE0OTYsMTYgKzE1NDcsNiBAQCBhdXRoZW50aWNhdGlvbl9zZXNzaW9uX2ZyZWUgKEF1 dGhlbnRpY2F0aW9uU2Vzc2lvbiAqc2Vzc2lvbikNCisgICBnX2ZyZWUgKHNlc3Npb24pOw0KKyB9 DQorIA0KKy1zdGF0aWMgZ2NoYXIgKg0KKy1hdXRoZW50aWNhdGlvbl9hZ2VudF9uZXdfY29va2ll IChBdXRoZW50aWNhdGlvbkFnZW50ICphZ2VudCkNCistew0KKy0gIHN0YXRpYyBnaW50IGNvdW50 ZXIgPSAwOw0KKy0NCistICAvKiBUT0RPOiB1c2UgYSBtb3JlIHJhbmRvbS1sb29raW5nIGNvb2tp ZSAqLw0KKy0NCistICByZXR1cm4gZ19zdHJkdXBfcHJpbnRmICgiY29va2llJWQiLCBjb3VudGVy KyspOw0KKy19DQorLQ0KKyBzdGF0aWMgUG9sa2l0U3ViamVjdCAqDQorIGF1dGhlbnRpY2F0aW9u X2FnZW50X2dldF9zY29wZSAoQXV0aGVudGljYXRpb25BZ2VudCAqYWdlbnQpDQorIHsNCitAQCAt MTU1MywxMiArMTU5NCwxNSBAQCBhdXRoZW50aWNhdGlvbl9hZ2VudF91bnJlZiAoQXV0aGVudGlj YXRpb25BZ2VudCAqYWdlbnQpDQorICAgICAgIGdfZnJlZSAoYWdlbnQtPnVuaXF1ZV9zeXN0ZW1f YnVzX25hbWUpOw0KKyAgICAgICBpZiAoYWdlbnQtPnJlZ2lzdHJhdGlvbl9vcHRpb25zICE9IE5V TEwpDQorICAgICAgICAgZ192YXJpYW50X3VucmVmIChhZ2VudC0+cmVnaXN0cmF0aW9uX29wdGlv bnMpOw0KKysgICAgICBnX3JhbmRfZnJlZSAoYWdlbnQtPmNvb2tpZV9wb29sKTsNCisrICAgICAg Z19mcmVlIChhZ2VudC0+Y29va2llX3ByZWZpeCk7DQorICAgICAgIGdfZnJlZSAoYWdlbnQpOw0K KyAgICAgfQ0KKyB9DQorIA0KKyBzdGF0aWMgQXV0aGVudGljYXRpb25BZ2VudCAqDQorLWF1dGhl bnRpY2F0aW9uX2FnZW50X25ldyAoUG9sa2l0U3ViamVjdCAqc2NvcGUsDQorK2F1dGhlbnRpY2F0 aW9uX2FnZW50X25ldyAoZ3VpbnQ2NCAgICAgIHNlcmlhbCwNCisrICAgICAgICAgICAgICAgICAg ICAgICAgICBQb2xraXRTdWJqZWN0ICpzY29wZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBnY2hhciAqdW5pcXVlX3N5c3RlbV9idXNfbmFtZSwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBnY2hhciAqbG9jYWxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICpvYmplY3RfcGF0aCwNCitAQCAtMTU5Miw2ICsxNjM2LDcgQEAgYXV0 aGVudGljYXRpb25fYWdlbnRfbmV3IChQb2xraXRTdWJqZWN0ICpzY29wZSwNCisgDQorICAgYWdl bnQgPSBnX25ldzAgKEF1dGhlbnRpY2F0aW9uQWdlbnQsIDEpOw0KKyAgIGFnZW50LT5yZWZfY291 bnQgPSAxOw0KKysgIGFnZW50LT5zZXJpYWwgPSBzZXJpYWw7DQorICAgYWdlbnQtPnNjb3BlID0g Z19vYmplY3RfcmVmIChzY29wZSk7DQorICAgYWdlbnQtPm9iamVjdF9wYXRoID0gZ19zdHJkdXAg KG9iamVjdF9wYXRoKTsNCisgICBhZ2VudC0+dW5pcXVlX3N5c3RlbV9idXNfbmFtZSA9IGdfc3Ry ZHVwICh1bmlxdWVfc3lzdGVtX2J1c19uYW1lKTsNCitAQCAtMTU5OSw2ICsxNjQ0LDI1IEBAIGF1 dGhlbnRpY2F0aW9uX2FnZW50X25ldyAoUG9sa2l0U3ViamVjdCAqc2NvcGUsDQorICAgYWdlbnQt PnJlZ2lzdHJhdGlvbl9vcHRpb25zID0gcmVnaXN0cmF0aW9uX29wdGlvbnMgIT0gTlVMTCA/IGdf dmFyaWFudF9yZWYgKHJlZ2lzdHJhdGlvbl9vcHRpb25zKSA6IE5VTEw7DQorICAgYWdlbnQtPnBy b3h5ID0gcHJveHk7DQorIA0KKysgIHsNCisrICAgIEdTdHJpbmcgKmNvb2tpZV9wcmVmaXggPSBn X3N0cmluZ19uZXcgKCIiKTsNCisrICAgIEdSYW5kICphZ2VudF9wcml2YXRlX3JhbmQgPSBnX3Jh bmRfbmV3ICgpOw0KKysNCisrICAgIGdfc3RyaW5nX2FwcGVuZF9wcmludGYgKGNvb2tpZV9wcmVm aXgsICIlIiBHX0dVSU5UNjRfRk9STUFUICItIiwgYWdlbnQtPnNlcmlhbCk7DQorKw0KKysgICAg LyogVXNlIGEgdW5pcXVlbHkgc2VlZGVkIFBSTkcgdG8gZ2V0IGEgcHJlZml4IGNvb2tpZSBmb3Ig dGhpcyBhZ2VudCwNCisrICAgICAqIHdob3NlIHNlcXVlbmNlIHdpbGwgbm90IGNvcnJlbGF0ZSB3 aXRoIHRoZSBwZXItYXV0aGVudGljYXRpb24gc2Vzc2lvbg0KKysgICAgICogY29va2llcy4NCisr ICAgICAqLw0KKysgICAgYXBwZW5kX3JhbmRfdTEyOF9zdHIgKGNvb2tpZV9wcmVmaXgsIGFnZW50 X3ByaXZhdGVfcmFuZCk7DQorKyAgICBnX3JhbmRfZnJlZSAoYWdlbnRfcHJpdmF0ZV9yYW5kKTsN CisrDQorKyAgICBhZ2VudC0+Y29va2llX3ByZWZpeCA9IGdfc3RyaW5nX2ZyZWUgKGNvb2tpZV9w cmVmaXgsIEZBTFNFKTsNCisrICAgIA0KKysgICAgLyogQW5kIGEgbmV3bHkgc2VlZGVkIHBvb2wg Zm9yIHBlci1zZXNzaW9uIGNvb2tpZXMgKi8NCisrICAgIGFnZW50LT5jb29raWVfcG9vbCA9IGdf cmFuZF9uZXcgKCk7DQorKyAgfQ0KKysNCisgICByZXR1cm4gYWdlbnQ7DQorIH0NCisgDQorQEAg LTIwODMsNyArMjE0Nyw2IEBAIGF1dGhlbnRpY2F0aW9uX2FnZW50X2luaXRpYXRlX2NoYWxsZW5n ZSAoQXV0aGVudGljYXRpb25BZ2VudCAgICAgICAgICphZ2VudCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgICAgICAgICAgIHVz ZXJfZGF0YSkNCisgew0KKyAgIEF1dGhlbnRpY2F0aW9uU2Vzc2lvbiAqc2Vzc2lvbjsNCistICBn Y2hhciAqY29va2llOw0KKyAgIEdMaXN0ICpsOw0KKyAgIEdMaXN0ICppZGVudGl0aWVzOw0KKyAg IGdjaGFyICpsb2NhbGl6ZWRfbWVzc2FnZTsNCitAQCAtMjEwNCw4ICsyMTY3LDYgQEAgYXV0aGVu dGljYXRpb25fYWdlbnRfaW5pdGlhdGVfY2hhbGxlbmdlIChBdXRoZW50aWNhdGlvbkFnZW50ICAg ICAgICAgKmFnZW50LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9j YWxpemVkX2ljb25fbmFtZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmxvY2FsaXplZF9kZXRhaWxzKTsNCisgDQorLSAgY29va2llID0gYXV0aGVudGljYXRpb25fYWdl bnRfbmV3X2Nvb2tpZSAoYWdlbnQpOw0KKy0NCisgICBpZGVudGl0aWVzID0gTlVMTDsNCisgDQor ICAgLyogc2VsZWN0IGFkbWluIHVzZXIgaWYgcmVxdWlyZWQgYnkgdGhlIGltcGxpY2l0IGF1dGhv cml6YXRpb24gKi8NCitAQCAtMjEyNSw3ICsyMTg2LDYgQEAgYXV0aGVudGljYXRpb25fYWdlbnRf aW5pdGlhdGVfY2hhbGxlbmdlIChBdXRoZW50aWNhdGlvbkFnZW50ICAgICAgICAgKmFnZW50LA0K KyAgICAgfQ0KKyANCisgICBzZXNzaW9uID0gYXV0aGVudGljYXRpb25fc2Vzc2lvbl9uZXcgKGFn ZW50LA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2llLA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdCwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfb2Zfc3ViamVjdCwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlciwNCitAQCAtMjE3 OSw3ICsyMjM5LDYgQEAgYXV0aGVudGljYXRpb25fYWdlbnRfaW5pdGlhdGVfY2hhbGxlbmdlIChB dXRoZW50aWNhdGlvbkFnZW50ICAgICAgICAgKmFnZW50LA0KKyANCisgICBnX2xpc3RfZm9yZWFj aCAoaWRlbnRpdGllcywgKEdGdW5jKSBnX29iamVjdF91bnJlZiwgTlVMTCk7DQorICAgZ19saXN0 X2ZyZWUgKGlkZW50aXRpZXMpOw0KKy0gIGdfZnJlZSAoY29va2llKTsNCisgDQorICAgZ19mcmVl IChsb2NhbGl6ZWRfbWVzc2FnZSk7DQorICAgZ19mcmVlIChsb2NhbGl6ZWRfaWNvbl9uYW1lKTsN CitAQCAtMjMyNiw3ICsyMzg1LDkgQEAgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9y aXR5X3JlZ2lzdGVyX2F1dGhlbnRpY2F0aW9uX2FnZW50IChQb2xraXRCYWNrZW4NCisgICAgICAg Z290byBvdXQ7DQorICAgICB9DQorIA0KKy0gIGFnZW50ID0gYXV0aGVudGljYXRpb25fYWdlbnRf bmV3IChzdWJqZWN0LA0KKysgIHByaXYtPmFnZW50X3NlcmlhbCsrOw0KKysgIGFnZW50ID0gYXV0 aGVudGljYXRpb25fYWdlbnRfbmV3IChwcml2LT5hZ2VudF9zZXJpYWwsDQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X25hbWUgKFBPTEtJVF9T WVNURU1fQlVTX05BTUUgKGNhbGxlcikpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsb2NhbGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i amVjdF9wYXRoLA0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0Rvbi10 LWRpc2NhcmQtZXJyb3ItZGF0YS1yZXR1cm5lZC1ieS1wb2xraXRfc3lzdGVtX2IucGF0Y2ggYi9w YXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL0Rvbi10LWRpc2NhcmQtZXJyb3ItZGF0YS1yZXR1 cm5lZC1ieS1wb2xraXRfc3lzdGVtX2IucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAuLjBlYjdlYzE2NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xr aXQtMC4xMDUvMC4xMTMvRG9uLXQtZGlzY2FyZC1lcnJvci1kYXRhLXJldHVybmVkLWJ5LXBvbGtp dF9zeXN0ZW1fYi5wYXRjaA0KQEAgLTAsMCArMSwyNSBAQA0KK0Zyb206ID0/dXRmLTg/cT9NaWxv c2xhdl9Ucm1hPUM0PThEPz0gPG1pdHJAcmVkaGF0LmNvbT4NCitEYXRlOiBNb24sIDExIE5vdiAy MDEzIDIzOjUxOjIzICswMTAwDQorU3ViamVjdDogRG9uJ3QgZGlzY2FyZCBlcnJvciBkYXRhIHJl dHVybmVkIGJ5DQorIHBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X3VzZXJfc3luYw0KKw0KK0J1 ZzogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NTgNCitP cmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0OiAxNDVkNDNiOWM4OTFmMjQ4YWQ2OGViZTU5 N2NiMTUxYTg2NWJkYjNhDQorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk4 NzY5DQorLS0tDQorIHNyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRv ci5jIHwgMiArLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Np b25tb25pdG9yLmMgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0 b3IuYw0KK2luZGV4IDA1ZjUxYzUuLmUxYTlhYjMgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJh Y2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmMNCisrKysgYi9zcmMvcG9sa2l0YmFj a2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3IuYw0KK0BAIC0zMDYsNyArMzA2LDcgQEAg cG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0IChQb2xr aXRCYWNrZW5kU2Vzc2lvbk1vbml0b3INCisgICAgIH0NCisgICBlbHNlIGlmIChQT0xLSVRfSVNf U1lTVEVNX0JVU19OQU1FIChzdWJqZWN0KSkNCisgICAgIHsNCistICAgICAgcmV0ID0gKFBvbGtp dElkZW50aXR5Kilwb2xraXRfc3lzdGVtX2J1c19uYW1lX2dldF91c2VyX3N5bmMgKFBPTEtJVF9T WVNURU1fQlVTX05BTUUgKHN1YmplY3QpLCBOVUxMLCBOVUxMKTsNCisrICAgICAgcmV0ID0gKFBv bGtpdElkZW50aXR5Kilwb2xraXRfc3lzdGVtX2J1c19uYW1lX2dldF91c2VyX3N5bmMgKFBPTEtJ VF9TWVNURU1fQlVTX05BTUUgKHN1YmplY3QpLCBOVUxMLCBlcnJvcik7DQorICAgICB9DQorICAg ZWxzZSBpZiAoUE9MS0lUX0lTX1VOSVhfU0VTU0lPTiAoc3ViamVjdCkpDQorICAgICB7DQpkaWZm IC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LWEtY3Jhc2gtd2hlbi10d28t YXV0aGVudGljYXRpb24tcmVxdWVzdHMtYXJlLWluLS5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LQ0K MC4xMDUvMC4xMTMvRml4LWEtY3Jhc2gtd2hlbi10d28tYXV0aGVudGljYXRpb24tcmVxdWVzdHMt YXJlLWluLS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uZWU0 NDUzMWQwDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9G aXgtYS1jcmFzaC13aGVuLXR3by1hdXRoZW50aWNhdGlvbi1yZXF1ZXN0cy1hcmUtaW4tLnBhdGNo DQpAQCAtMCwwICsxLDM2IEBADQorRnJvbTogPT91dGYtOD9xP01pbG9zbGF2X1RybWE9QzQ9OEQ/ PSA8bWl0ckByZWRoYXQuY29tPg0KK0RhdGU6IFNhdCwgNiBKdW4gMjAxNSAwMTowNzowOCArMDIw MA0KK1N1YmplY3Q6IEZpeCBhIGNyYXNoIHdoZW4gdHdvIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3Rz IGFyZSBpbiBmbGlnaHQuDQorDQorVG8gcmVwcm9kdWNlOg0KKzEuIHBrdHR5YWdlbnQgLXAgJCQg IyBvciBhbm90aGVyIHN1aXRhYmxlIFBJRA0KKzIuIHBrY2hlY2sgLXAgJHRoYXRfcGlkIC1hIG9y Zy5mcmVlZGVza3RvcC5wb2xpY3lraXQuZXhlYyAtdQ0KKzMuIHBrY2hlY2sgLXAgJHRoYXRfcGlk IC1hIG9yZy5mcmVlZGVza3RvcC5wb2xpY3lraXQuZXhlYyAtdQ0KKzQuIFRoZW4sIGluIHRoZSBw a3R0eWFnZW50IHByb21wdCwgcHJlc3MgRW50ZXIuDQorDQorcG9sa2l0X2FnZW50X3RleHRfbGlz dGVuZXJfaW5pdGlhdGVfYXV0aGVudGljYXRpb24gd2FzIGFscmVhZHkgc2V0dGluZw0KK2FuIGFw cHJvcHJpYXRlIGVycm9yIGNvZGUsIHNvIHRoZSBnX2Fzc2VydCB3YXMgdW5uZWNlc3NhcnkuDQor DQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg3 OQ0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEzLCBjb21taXQ6ZTJkMmZhZmQxMDY2MjRkZGZlYTRi MTdkM2Y0MDcwNGIyMDMxYzAwYg0KKy0tLQ0KKyBzcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnR0 ZXh0bGlzdGVuZXIuYyB8IDIgLS0NCisgMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pDQor DQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudHRleHRsaXN0ZW5lci5j IGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50dGV4dGxpc3RlbmVyLmMNCitpbmRleCBiNWM4 YTNmLi5lNjNjMjg1IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudHRl eHRsaXN0ZW5lci5jDQorKysrIGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50dGV4dGxpc3Rl bmVyLmMNCitAQCAtNTQ2LDEyICs1NDYsMTAgQEAgcG9sa2l0X2FnZW50X3RleHRfbGlzdGVuZXJf aW5pdGlhdGVfYXV0aGVudGljYXRpb25fZmluaXNoIChQb2xraXRBZ2VudExpc3RlbmVyDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0FzeW5jUmVzdWx0ICAgICAgICAgKnJlcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICoqZXJy b3IpDQorIHsNCistICBQb2xraXRBZ2VudFRleHRMaXN0ZW5lciAqbGlzdGVuZXIgPSBQT0xLSVRf QUdFTlRfVEVYVF9MSVNURU5FUiAoX2xpc3RlbmVyKTsNCisgICBnYm9vbGVhbiByZXQ7DQorIA0K KyAgIGdfd2Fybl9pZl9mYWlsIChnX3NpbXBsZV9hc3luY19yZXN1bHRfZ2V0X3NvdXJjZV90YWcg KEdfU0lNUExFX0FTWU5DX1JFU1VMVCAocmVzKSkgPT0NCisgICAgICAgICAgICAgICAgICAgcG9s a2l0X2FnZW50X3RleHRfbGlzdGVuZXJfaW5pdGlhdGVfYXV0aGVudGljYXRpb24pOw0KKy0gIGdf YXNzZXJ0IChsaXN0ZW5lci0+YWN0aXZlX3Nlc3Npb24gPT0gTlVMTCk7DQorIA0KKyAgIHJldCA9 IEZBTFNFOw0KKyANCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9GaXgt YS1tZW1vcnktbGVhay13aGVuLXJlZ2lzdGVyaW5nLWFuLWF1dGhlbnRpY2F0aW9uLnBhdGNoIGIv cGF0Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExMy9GaXgtYS1tZW1vcnktbGVhay13aGVuLXJlZ2lz dGVyaW5nLWFuLWF1dGhlbnRpY2F0aW9uLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwLi5iN2ZkY2Y0NjYNCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9s a2l0LTAuMTA1LzAuMTEzL0ZpeC1hLW1lbW9yeS1sZWFrLXdoZW4tcmVnaXN0ZXJpbmctYW4tYXV0 aGVudGljYXRpb24ucGF0Y2gNCkBAIC0wLDAgKzEsMjIgQEANCitGcm9tOiA9P3V0Zi04P3E/TWls b3NsYXZfVHJtYT1DND04RD89IDxtaXRyQHJlZGhhdC5jb20+DQorRGF0ZTogVHVlLCAxIEp1bCAy MDE0IDIwOjAwOjQ4ICswMjAwDQorU3ViamVjdDogRml4IGEgbWVtb3J5IGxlYWsgd2hlbiByZWdp c3RlcmluZyBhbiBhdXRoZW50aWNhdGlvbiBhZ2VudA0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MDENCitPcmlnaW46IHVwc3RyZWFtLCAw LjExMywgY29tbWl0OmVjMDM5ZjlkN2VkZTViODM5ZjU1MTFlMjZkNWNkNmFlOTEwN2NiMmUNCist LS0NCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGF1dGhvcml0eS5jIHwgMSArDQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9s a2l0YmFja2VuZC9wb2xraXRiYWNrZW5kYXV0aG9yaXR5LmMgYi9zcmMvcG9sa2l0YmFja2VuZC9w b2xraXRiYWNrZW5kYXV0aG9yaXR5LmMNCitpbmRleCAzOWViNWI5Li5hZmU1YjkwIDEwMDY0NA0K Ky0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3JpdHkuYw0KKysrKyBi L3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3JpdHkuYw0KK0BAIC05MDAsNiAr OTAwLDcgQEAgc2VydmVyX2hhbmRsZV9yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAoU2Vy dmVyICAgICAgICAgICAgICAgICAqc2VydmVyLA0KKyAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlv bl9yZXR1cm5fdmFsdWUgKGludm9jYXRpb24sIGdfdmFyaWFudF9uZXcgKCIoKSIpKTsNCisgDQor ICBvdXQ6DQorKyAgZ192YXJpYW50X3VucmVmIChzdWJqZWN0X2d2YXJpYW50KTsNCisgICBpZiAo c3ViamVjdCAhPSBOVUxMKQ0KKyAgICAgZ19vYmplY3RfdW5yZWYgKHN1YmplY3QpOw0KKyB9DQpk aWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LWEtcGVyLWF1dGhvcml6 YXRpb24tbWVtb3J5LWxlYWsucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9GaXgt YS0NCnBlci1hdXRob3JpemF0aW9uLW1lbW9yeS1sZWFrLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwLi5lYWFmZWQ2NDQNCi0tLSAvZGV2L251bGwNCisrKyBiL3Bh dGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeC1hLXBlci1hdXRob3JpemF0aW9uLW1lbW9yeS1s ZWFrLnBhdGNoDQpAQCAtMCwwICsxLDQ5IEBADQorRnJvbTogPT91dGYtOD9xP01pbG9zbGF2X1Ry bWE9QzQ9OEQ/PSA8bWl0ckByZWRoYXQuY29tPg0KK0RhdGU6IFR1ZSwgMSBKdWwgMjAxNCAyMDow MDo0OCArMDIwMA0KK1N1YmplY3Q6IEZpeCBhIHBlci1hdXRob3JpemF0aW9uIG1lbW9yeSBsZWFr DQorDQorV2Ugd2VyZSBsZWFraW5nIFBvbGtpdEF1dGhvcml6YXRpb25SZXN1bHQgb24gZXZlcnkg cmVxdWVzdCwgcHJpbWFyaWx5IG9uDQordGhlIHN1Y2Nlc3MgcGF0aCwgYnV0IGFsc28gb24gdmFy aW91cyBlcnJvciBwYXRocyBhcyB3ZWxsLg0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVkZXNr dG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MDENCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywg Y29tbWl0OjBmNTg1MmE0YmRhYmUzNzdkZGNkYmVkMDlhMGMxZjk1NzEwZTE3ZmUNCistLS0NCisg c3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGF1dGhvcml0eS5jICAgICAgICAgICAgfCAx ICsNCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5 LmMgfCA1ICsrKystDQorIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRh dXRob3JpdHkuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3JpdHkuYw0K K2luZGV4IDEwYjhhZjMuLjM5ZWI1YjkgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQv cG9sa2l0YmFja2VuZGF1dGhvcml0eS5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZGF1dGhvcml0eS5jDQorQEAgLTcxNCw2ICs3MTQsNyBAQCBjaGVja19hdXRoX2NiIChH T2JqZWN0ICAgICAgKnNvdXJjZV9vYmplY3QsDQorICAgICAgIGdfdmFyaWFudF9yZWZfc2luayAo dmFsdWUpOw0KKyAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX3ZhbHVlIChk YXRhLT5pbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3ICgiKEAoYmJhe3NzfSkpIiwgdmFsdWUpKTsN CisgICAgICAgZ192YXJpYW50X3VucmVmICh2YWx1ZSk7DQorKyAgICAgIGdfb2JqZWN0X3VucmVm IChyZXN1bHQpOw0KKyAgICAgfQ0KKyANCisgICBjaGVja19hdXRoX2RhdGFfZnJlZSAoZGF0YSk7 DQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2 ZWF1dGhvcml0eS5jDQpiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2 ZWF1dGhvcml0eS5jDQoraW5kZXggNWUyOWFmMi4uNzNkMGEwZSAxMDA2NDQNCistLS0gYS9zcmMv cG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KKysrKyBi L3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jDQor QEAgLTEwMTUsNyArMTAxNSw3IEBAIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0 eV9jaGVja19hdXRob3JpemF0aW9uIChQb2xraXRCYWNrZW5kQXV0aG9yaXR5DQorIA0KKyAgIC8q IE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgcmVzdWx0ICovDQorICAgZ19zaW1wbGVfYXN5bmNf cmVzdWx0X3NldF9vcF9yZXNfZ3BvaW50ZXIgKHNpbXBsZSwNCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LA0KKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF9yZWYgKHJlc3VsdCksDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmKTsN CisgICBnX3NpbXBsZV9hc3luY19yZXN1bHRfY29tcGxldGUgKHNpbXBsZSk7DQorICAgZ19vYmpl Y3RfdW5yZWYgKHNpbXBsZSk7DQorQEAgLTEwMzIsNiArMTAzMiw5IEBAIHBvbGtpdF9iYWNrZW5k X2ludGVyYWN0aXZlX2F1dGhvcml0eV9jaGVja19hdXRob3JpemF0aW9uIChQb2xraXRCYWNrZW5k QXV0aG9yaXR5DQorICAgZ19mcmVlIChzdWJqZWN0X3N0cik7DQorICAgZ19mcmVlICh1c2VyX29m X2NhbGxlcl9zdHIpOw0KKyAgIGdfZnJlZSAodXNlcl9vZl9zdWJqZWN0X3N0cik7DQorKw0KKysg IGlmIChyZXN1bHQgIT0gTlVMTCkNCisrICAgIGdfb2JqZWN0X3VucmVmIChyZXN1bHQpOw0KKyB9 DQorIA0KKyAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICov DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LWEtcG9zc2libGUt TlVMTC1kZXJlZmVyZW5jZS5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeC1h LQ0KcG9zc2libGUtTlVMTC1kZXJlZmVyZW5jZS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMC4uYmE2ODVlYjllDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVz L3BvbGtpdC0wLjEwNS8wLjExMy9GaXgtYS1wb3NzaWJsZS1OVUxMLWRlcmVmZXJlbmNlLnBhdGNo DQpAQCAtMCwwICsxLDM1IEBADQorRnJvbTogPT91dGYtOD9xP01pbG9zbGF2X1RybWE9QzQ9OEQ/ PSA8bWl0ckByZWRoYXQuY29tPg0KK0RhdGU6IFdlZCwgMTEgSnVuIDIwMTQgMjI6MzY6NTAgKzAy MDANCitTdWJqZWN0OiBGaXggYSBwb3NzaWJsZSBOVUxMIGRlcmVmZXJlbmNlLg0KK01JTUUtVmVy c2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCINCitD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorcG9sa2l0X2JhY2tlbmRfc2Vzc2lv bl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0KCkgbWF5IHJldHVybiBOVUxMDQorKGFuZCBi ZWNhdXNlIGl0IGlzIHVzaW5nIGV4dGVybmFsIHByb2Nlc3Nlcywgd2UgY2Fu4oCZdCByZWFsbHkg cnVsZSBpdA0KK291dCkuICBUaGUgY29kZSB3YXMgYWxyZWFkeSBhbnRpY2lwYXRpbmcgTlVMTCBp biB0aGUgY2xlYW51cCBzZWN0aW9uLCBzbw0KK2hhbmRsZSBpdCBhbHNvIHdoZW4gYWN0dWFsbHkg dXNpbmcgdGhlIHZhbHVlLg0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9ODA3NjcNCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0OjYx MDk1NDMzMDNkZWYzNjdiODRlYWFjOTdkMmZmOWNlZmU3MzVlZmINCistLS0NCisgc3JjL3BvbGtp dGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMgfCA2ICsrKysrLQ0K KyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlm ZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhv cml0eS5jDQpiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhv cml0eS5jDQoraW5kZXggMjVlMTNmYi4uMDBlZTA0NCAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0 YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KKysrKyBiL3NyYy9w b2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jDQorQEAgLTU1 Nyw3ICs1NTcsMTEgQEAgbG9nX3Jlc3VsdCAoUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9y aXR5ICAgICphdXRob3JpdHksDQorICAgdXNlcl9vZl9zdWJqZWN0ID0gcG9sa2l0X2JhY2tlbmRf c2Vzc2lvbl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0IChwcml2LT5zZXNzaW9uX21vbml0 b3IsIHN1YmplY3QsIE5VTEwpOw0KKyANCisgICBzdWJqZWN0X3N0ciA9IHBvbGtpdF9zdWJqZWN0 X3RvX3N0cmluZyAoc3ViamVjdCk7DQorLSAgdXNlcl9vZl9zdWJqZWN0X3N0ciA9IHBvbGtpdF9p ZGVudGl0eV90b19zdHJpbmcgKHVzZXJfb2Zfc3ViamVjdCk7DQorKw0KKysgIGlmICh1c2VyX29m X3N1YmplY3QgIT0gTlVMTCkNCisrICAgIHVzZXJfb2Zfc3ViamVjdF9zdHIgPSBwb2xraXRfaWRl bnRpdHlfdG9fc3RyaW5nICh1c2VyX29mX3N1YmplY3QpOw0KKysgIGVsc2UNCisrICAgIHVzZXJf b2Zfc3ViamVjdF9zdHIgPSBnX3N0cmR1cCAoIjx1bmtub3duPiIpOw0KKyAgIGNhbGxlcl9zdHIg PSBwb2xraXRfc3ViamVjdF90b19zdHJpbmcgKGNhbGxlcik7DQorIA0KKyAgIHN1YmplY3RfY21k bGluZSA9IF9wb2xraXRfc3ViamVjdF9nZXRfY21kbGluZSAoc3ViamVjdCk7DQpkaWZmIC0tZ2l0 IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LWR1cGxpY2F0ZS1HRXJyb3ItdXNlLXdo ZW4tdWlkLWlzLW1pc3NpbmcucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL0Zp eC1kdXBsaWNhdGUtR0Vycm9yLXVzZS13aGVuLXVpZC1pcy1taXNzaW5nLnBhdGNoDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi5mMTFjYjNkZjUNCi0tLSAvZGV2L251bGwN CisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeC1kdXBsaWNhdGUtR0Vycm9yLXVz ZS13aGVuLXVpZC1pcy1taXNzaW5nLnBhdGNoDQpAQCAtMCwwICsxLDMyIEBADQorRnJvbTogPT91 dGYtOD9xP01pbG9zbGF2X1RybWE9QzQ9OEQ/PSA8bWl0ckByZWRoYXQuY29tPg0KK0RhdGU6IE1v biwgMTUgU2VwIDIwMTQgMTk6NDU6MTUgKzAyMDANCitTdWJqZWN0OiBGaXggZHVwbGljYXRlIEdF cnJvciB1c2Ugd2hlbiAidWlkIiBpcyBtaXNzaW5nDQorDQorU29tZSBHTGliIHZlcnNpb25zIGNv bXBsYWluIGxvdWRseSBhYm91dCB0aGlzLg0KKw0KK1RvIHJlcHJvZHVjZSwgY2FsbCBlLmcuIFJl Z2lzdGVyQXV0aGVudGljYXRpb25BZ2VudCB3aXRoIHRoZSBmb2xsb3dpbmcNCitwYXJhbWV0ZXJz Og0KKygidW5peC1wcm9jZXNzIiwgeyJwaWQiOiBfX2ltcG9ydF9fKCdnaS5yZXBvc2l0b3J5LkdM aWInLCBnbG9iYWxzKCksDQorbG9jYWxzKCksIFsnVmFyaWFudCddKS5WYXJpYW50KCJ1IiwgMSks ICJzdGFydC10aW1lIjoNCitfX2ltcG9ydF9fKCdnaS5yZXBvc2l0b3J5LkdMaWInLCBnbG9iYWxz KCksIGxvY2FscygpLA0KK1snVmFyaWFudCddKS5WYXJpYW50KCJ0IiwgMSl9KSwgImNzIiwgIi8i DQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05 MDg3Nw0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEzLCBjb21taXQ6MmM4NzM4OTQxYmUxOGVmMDVj ZTcyNGRmNDY1NDdmNDFkYmMwMmZiNQ0KKy0tLQ0KKyBzcmMvcG9sa2l0L3BvbGtpdHN1YmplY3Qu YyB8IDIgKy0NCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p DQorDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jIGIvc3JjL3BvbGtp dC9wb2xraXRzdWJqZWN0LmMNCitpbmRleCBhZWQ1Nzk1Li43OGVjNzQ1IDEwMDY0NA0KKy0tLSBh L3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jDQorKysrIGIvc3JjL3BvbGtpdC9wb2xraXRzdWJq ZWN0LmMNCitAQCAtNDI0LDcgKzQyNCw3IEBAIHBvbGtpdF9zdWJqZWN0X25ld19mb3JfZ3Zhcmlh bnQgKEdWYXJpYW50ICAqdmFyaWFudCwNCisgICAgICAgc3RhcnRfdGltZSA9IGdfdmFyaWFudF9n ZXRfdWludDY0ICh2KTsNCisgICAgICAgZ192YXJpYW50X3VucmVmICh2KTsNCisgDQorLSAgICAg IHYgPSBsb29rdXBfYXN2IChkZXRhaWxzX2d2YXJpYW50LCAidWlkIiwgR19WQVJJQU5UX1RZUEVf SU5UMzIsIGVycm9yKTsNCisrICAgICAgdiA9IGxvb2t1cF9hc3YgKGRldGFpbHNfZ3ZhcmlhbnQs ICJ1aWQiLCBHX1ZBUklBTlRfVFlQRV9JTlQzMiwgTlVMTCk7DQorICAgICAgIGlmICh2ICE9IE5V TEwpDQorICAgICAgICAgew0KKyAgICAgICAgICAgdWlkID0gZ192YXJpYW50X2dldF9pbnQzMiAo dik7DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LXVzZS1hZnRl ci1mcmVlLWluLXBvbGtpdGFnZW50c2Vzc2lvbi5jLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtDQow LjEwNS8wLjExMy9GaXgtdXNlLWFmdGVyLWZyZWUtaW4tcG9sa2l0YWdlbnRzZXNzaW9uLmMucGF0 Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjZmN2JkMzU2Yw0KLS0t IC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4LXVzZS1hZnRl ci1mcmVlLWluLXBvbGtpdGFnZW50c2Vzc2lvbi5jLnBhdGNoDQpAQCAtMCwwICsxLDMyIEBADQor RnJvbTogPT91dGYtOD9xP01pbG9zbGF2X1RybWE9QzQ9OEQ/PSA8bWl0ckByZWRoYXQuY29tPg0K K0RhdGU6IFR1ZSwgMTQgQXByIDIwMTUgMjI6Mjc6NDEgKzAyMDANCitTdWJqZWN0OiBGaXggdXNl LWFmdGVyLWZyZWUgaW4gcG9sa2l0YWdlbnRzZXNzaW9uLmMNCisNCitQb2xraXRBZ2VudFRleHRM aXN0ZW5lcidzICJjb21wbGV0ZWQiIGhhbmRsZXIgZHJvcHMgdGhlIGxhc3QgcmVmZXJlbmNlDQor dG8gdGhlIHNlc3Npb247IGluIGZhY3QgdGhpcyBpcyBleHBsaWNpdGx5IHJlY29tbWVuZGVkIGlu IHRoZSBzaWduYWwncw0KK2RvY3VtZW50YXRpb24uICBTbyB3ZSBtdXN0IG5vdCBhY2Nlc3MgYW55 IG1lbWJlcnMgb2Ygc2Vzc2lvbiBhZnRlcg0KK2VtaXR0aW5nIHRoZSBzaWduYWwuDQorDQorRm91 bmQgd2hpbGUgZGVhbGluZyB3aXRoDQoraHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9Njk1MDENCisNCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0OmVm YjZjZDU2YTQyM2JhMTViYjFmNDRlZTNjNDk4N2FhZDVhNWZkNDUNCistLS0NCisgc3JjL3BvbGtp dGFnZW50L3BvbGtpdGFnZW50c2Vzc2lvbi5jIHwgMyArKy0NCisgMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0 YWdlbnQvcG9sa2l0YWdlbnRzZXNzaW9uLmMgYi9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRz ZXNzaW9uLmMNCitpbmRleCA2YTNkNmJjLi40NmZiYWYwIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xr aXRhZ2VudC9wb2xraXRhZ2VudHNlc3Npb24uYw0KKysrKyBiL3NyYy9wb2xraXRhZ2VudC9wb2xr aXRhZ2VudHNlc3Npb24uYw0KK0BAIC00MTIsOCArNDEyLDkgQEAgY29tcGxldGVfc2Vzc2lvbiAo UG9sa2l0QWdlbnRTZXNzaW9uICpzZXNzaW9uLA0KKyAgICAgew0KKyAgICAgICBpZiAoR19VTkxJ S0VMWSAoX3Nob3dfZGVidWcgKCkpKQ0KKyAgICAgICAgIGdfcHJpbnQgKCJQb2xraXRBZ2VudFNl c3Npb246IGVtaXR0aW5nIDo6Y29tcGxldGVkKCVzKVxuIiwgcmVzdWx0ID8gIlRSVUUiIDogIkZB TFNFIik7DQorLSAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSAoc2Vzc2lvbiwgImNvbXBsZXRl ZCIsIHJlc3VsdCk7DQorICAgICAgIHNlc3Npb24tPmhhdmVfZW1pdHRlZF9jb21wbGV0ZWQgPSBU UlVFOw0KKysgICAgICAvKiBOb3RlIHRoYXQgdGhlIHNpZ25hbCBoYW5kbGVyIG1heSBkcm9wIHRo ZSBsYXN0IHJlZmVyZW5jZSB0byBzZXNzaW9uLiAqLw0KKysgICAgICBnX3NpZ25hbF9lbWl0X2J5 X25hbWUgKHNlc3Npb24sICJjb21wbGV0ZWQiLCByZXN1bHQpOw0KKyAgICAgfQ0KKyB9DQorIA0K ZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL0ZpeGVkLWNvbXBpbGF0aW9u LXByb2JsZW0taW4tdGhlLWJhY2tlbmQucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAu MTEzL0ZpeGVkLWNvbXBpbGF0aW9uLXByb2JsZW0taW4tdGhlLWJhY2tlbmQucGF0Y2gNCm5ldyBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLmNjYmJjYjc0Yw0KLS0tIC9kZXYvbnVs bA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvRml4ZWQtY29tcGlsYXRpb24tcHJv YmxlbS1pbi10aGUtYmFja2VuZC5wYXRjaA0KQEAgLTAsMCArMSwyMyBAQA0KK0Zyb206IFhhYmll ciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPg0KK0RhdGU6IFN1biwgMTAg Tm92IDIwMTMgMTk6MTY6NDEgKzAxMDANCitTdWJqZWN0OiBGaXhlZCBjb21waWxhdGlvbiBwcm9i bGVtIGluIHRoZSBiYWNrZW5kDQorDQorT3JpZ2luOiB1cHN0cmVhbSwgMC4xMTMsIGNvbW1pdDog ZGJiYjdkYzYwYWJkZDk3MGFmMGE4ZmFlNDA0NDg0MTgxZmE5MDljOQ0KK0J1Zy1EZWJpYW46IGh0 dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc5ODc2OQ0KKy0tLQ0KKyBzcmMvcG9sa2l0YmFja2VuZC9w b2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3IuYyB8IDIgKy0NCisgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRi YWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci5jIGIvc3JjL3BvbGtpdGJhY2tlbmQv cG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmMNCitpbmRleCA0MDc1ZDNmLi4wNWY1MWM1IDEw MDY0NA0KKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRv ci5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9y LmMNCitAQCAtMzA2LDcgKzMwNiw3IEBAIHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9n ZXRfdXNlcl9mb3Jfc3ViamVjdCAoUG9sa2l0QmFja2VuZFNlc3Npb25Nb25pdG9yDQorICAgICB9 DQorICAgZWxzZSBpZiAoUE9MS0lUX0lTX1NZU1RFTV9CVVNfTkFNRSAoc3ViamVjdCkpDQorICAg ICB7DQorLSAgICAgIHJldCA9IChQb2xraXRJZGVudGl0eSopcG9sa2l0X3N5c3RlbV9idXNfbmFt ZV9nZXRfdXNlcl9zeW5jIChQT0xLSVRfU1lTVEVNX0JVU19OQU1FIChzdWJqZWN0KSk7DQorKyAg ICAgIHJldCA9IChQb2xraXRJZGVudGl0eSopcG9sa2l0X3N5c3RlbV9idXNfbmFtZV9nZXRfdXNl cl9zeW5jIChQT0xLSVRfU1lTVEVNX0JVU19OQU1FIChzdWJqZWN0KSwgTlVMTCwgTlVMTCk7DQor ICAgICB9DQorICAgZWxzZSBpZiAoUE9MS0lUX0lTX1VOSVhfU0VTU0lPTiAoc3ViamVjdCkpDQor ICAgICB7DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvUG9sa2l0U3lz dGVtQnVzTmFtZS1BZGQtcHVibGljLUFQSS10by1yZXRyaWV2ZS1Vbml4LS5wYXRjaCBiL3BhdGNo ZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMTMvUG9sa2l0U3lzdGVtQnVzTmFtZS1BZGQtcHVibGljLUFQ SS10by1yZXRyaWV2ZS1Vbml4LS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwMC4uYTE2MmFlZjNlDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0w LjEwNS8wLjExMy9Qb2xraXRTeXN0ZW1CdXNOYW1lLUFkZC1wdWJsaWMtQVBJLXRvLXJldHJpZXZl LVVuaXgtLnBhdGNoDQpAQCAtMCwwICsxLDE2NiBAQA0KK0Zyb206IENvbGluIFdhbHRlcnMgPHdh bHRlcnNAdmVyYnVtLm9yZz4NCitEYXRlOiBXZWQsIDIxIEF1ZyAyMDEzIDEyOjIzOjU1IC0wNDAw DQorU3ViamVjdDogUG9sa2l0U3lzdGVtQnVzTmFtZTogQWRkIHB1YmxpYyBBUEkgdG8gcmV0cmll dmUgVW5peCB1c2VyDQorDQorQW5kIGNoYW5nZSB0aGUgZHVwbGljYXRlZCBjb2RlIGluIHRoZSBi YWNrZW5kIHNlc3Npb24gbW9uaXRvcnMgdG8gdXNlDQoraXQuICBUaGlzIGp1c3QgYSBjb2RlIGNs ZWFudXAgcmVzdWx0aW5nIGZyb20gcmV2aWV3IGFmdGVyDQorQ1ZFLTIwMTMtNDI4OC4gIFRoZXJl J3Mgbm8gc2VjdXJpdHkgaW1wYWN0IGZyb20gdGhpcyBwYXRjaCwgaXQganVzdA0KK3JlbW92ZXMg ZHVwbGljYXRlZCBjb2RlLg0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9Njk1MzgNCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0Ojkw NGQ4NDA0ZDkzZGVjNDVmY2UzYjcxOWViMWE2MjZhY2M2YjhhNzMNCistLS0NCisgc3JjL3BvbGtp dC9wb2xraXRzeXN0ZW1idXNuYW1lLmMgICAgICAgICAgICAgICAgICAgfCA1NiArKysrKysrKysr KysrKysrKysrKysrDQorIHNyYy9wb2xraXQvcG9sa2l0c3lzdGVtYnVzbmFtZS5oICAgICAgICAg ICAgICAgICAgIHwgIDQgKysNCisgLi4uL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci1zeXN0 ZW1kLmMgICAgICAgICAgfCAyMCArLS0tLS0tLQ0KKyBzcmMvcG9sa2l0YmFja2VuZC9wb2xraXRi YWNrZW5kc2Vzc2lvbm1vbml0b3IuYyAgICB8IDIwICstLS0tLS0tDQorIDQgZmlsZXMgY2hhbmdl ZCwgNjIgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL3Ny Yy9wb2xraXQvcG9sa2l0c3lzdGVtYnVzbmFtZS5jIGIvc3JjL3BvbGtpdC9wb2xraXRzeXN0ZW1i dXNuYW1lLmMNCitpbmRleCAyYTI5N2M0Li41MWU0YTY5IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xr aXQvcG9sa2l0c3lzdGVtYnVzbmFtZS5jDQorKysrIGIvc3JjL3BvbGtpdC9wb2xraXRzeXN0ZW1i dXNuYW1lLmMNCitAQCAtMjUsNiArMjUsNyBAQA0KKyANCisgI2luY2x1ZGUgPHN0cmluZy5oPg0K KyAjaW5jbHVkZSAicG9sa2l0c3lzdGVtYnVzbmFtZS5oIg0KKysjaW5jbHVkZSAicG9sa2l0dW5p eHVzZXIuaCINCisgI2luY2x1ZGUgInBvbGtpdHN1YmplY3QuaCINCisgI2luY2x1ZGUgInBvbGtp dHByaXZhdGUuaCINCisgDQorQEAgLTM5NiwzICszOTcsNTggQEAgcG9sa2l0X3N5c3RlbV9idXNf bmFtZV9nZXRfcHJvY2Vzc19zeW5jIChQb2xraXRTeXN0ZW1CdXNOYW1lICAqc3lzdGVtX2J1c19u YW1lLA0KKyAgIHJldHVybiByZXQ7DQorIH0NCisgDQorKy8qKg0KKysgKiBwb2xraXRfc3lzdGVt X2J1c19uYW1lX2dldF91c2VyX3N5bmM6DQorKyAqIEBzeXN0ZW1fYnVzX25hbWU6IEEgI1BvbGtp dFN5c3RlbUJ1c05hbWUuDQorKyAqIEBjYW5jZWxsYWJsZTogKGFsbG93LW5vbmUpOiBBICNHQ2Fu Y2VsbGFibGUgb3IgJU5VTEwuDQorKyAqIEBlcnJvcjogKGFsbG93LW5vbmUpOiBSZXR1cm4gbG9j YXRpb24gZm9yIGVycm9yIG9yICVOVUxMLg0KKysgKg0KKysgKiBTeW5jaHJvbm91c2x5IGdldHMg YSAjUG9sa2l0VW5peFVzZXIgb2JqZWN0IGZvciBAc3lzdGVtX2J1c19uYW1lOw0KKysgKiB0aGUg Y2FsbGluZyB0aHJlYWQgaXMgYmxvY2tlZCB1bnRpbCBhIHJlcGx5IGlzIHJlY2VpdmVkLg0KKysg Kg0KKysgKiBSZXR1cm5zOiAoYWxsb3ctbm9uZSkgKHRyYW5zZmVyIGZ1bGwpOiBBICNQb2xraXRV bml4VXNlciBvYmplY3Qgb3IgJU5VTEwgaWYgQGVycm9yIGlzIHNldC4NCisrICoqLw0KKytQb2xr aXRVbml4VXNlciAqDQorK3BvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X3VzZXJfc3luYyAoUG9s a2l0U3lzdGVtQnVzTmFtZSAgKnN5c3RlbV9idXNfbmFtZSwNCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0NhbmNlbGxhYmxlICAgICAgICAgKmNhbmNlbGxhYmxlLA0KKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICoq ZXJyb3IpDQorK3sNCisrICBHREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb247DQorKyAgUG9sa2l0 VW5peFVzZXIgKnJldDsNCisrICBHVmFyaWFudCAqcmVzdWx0Ow0KKysgIGd1aW50MzIgdWlkOw0K KysNCisrICBnX3JldHVybl92YWxfaWZfZmFpbCAoUE9MS0lUX0lTX1NZU1RFTV9CVVNfTkFNRSAo c3lzdGVtX2J1c19uYW1lKSwgTlVMTCk7DQorKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGNhbmNl bGxhYmxlID09IE5VTEwgfHwgR19JU19DQU5DRUxMQUJMRSAoY2FuY2VsbGFibGUpLCBOVUxMKTsN CisrICBnX3JldHVybl92YWxfaWZfZmFpbCAoZXJyb3IgPT0gTlVMTCB8fCAqZXJyb3IgPT0gTlVM TCwgTlVMTCk7DQorKw0KKysgIHJldCA9IE5VTEw7DQorKw0KKysgIGNvbm5lY3Rpb24gPSBnX2J1 c19nZXRfc3luYyAoR19CVVNfVFlQRV9TWVNURU0sIGNhbmNlbGxhYmxlLCBlcnJvcik7DQorKyAg aWYgKGNvbm5lY3Rpb24gPT0gTlVMTCkNCisrICAgIGdvdG8gb3V0Ow0KKysNCisrICByZXN1bHQg PSBnX2RidXNfY29ubmVjdGlvbl9jYWxsX3N5bmMgKGNvbm5lY3Rpb24sDQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLkRCdXMiLCAgICAg ICAvKiBuYW1lICovDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi L29yZy9mcmVlZGVza3RvcC9EQnVzIiwgICAgICAvKiBvYmplY3QgcGF0aCAqLw0KKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzIiwg ICAgICAgLyogaW50ZXJmYWNlIG5hbWUgKi8NCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJHZXRDb25uZWN0aW9uVW5peFVzZXIiLCAgICAgIC8qIG1ldGhvZCAqLw0K KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAo IihzKSIsIHN5c3RlbV9idXNfbmFtZS0+bmFtZSksDQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHX1ZBUklBTlRfVFlQRSAoIih1KSIpLA0KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR19EQlVTX0NBTExfRkxBR1NfTk9ORSwNCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLA0KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGFibGUsDQorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7DQorKyAgaWYgKHJlc3VsdCA9PSBOVUxM KQ0KKysgICAgZ290byBvdXQ7DQorKw0KKysgIGdfdmFyaWFudF9nZXQgKHJlc3VsdCwgIih1KSIs ICZ1aWQpOw0KKysgIGdfdmFyaWFudF91bnJlZiAocmVzdWx0KTsNCisrDQorKyAgcmV0ID0gKFBv bGtpdFVuaXhVc2VyKilwb2xraXRfdW5peF91c2VyX25ldyAodWlkKTsNCisrDQorKyBvdXQ6DQor KyAgaWYgKGNvbm5lY3Rpb24gIT0gTlVMTCkNCisrICAgIGdfb2JqZWN0X3VucmVmIChjb25uZWN0 aW9uKTsNCisrICByZXR1cm4gcmV0Ow0KKyt9DQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXQvcG9s a2l0c3lzdGVtYnVzbmFtZS5oIGIvc3JjL3BvbGtpdC9wb2xraXRzeXN0ZW1idXNuYW1lLmgNCitp bmRleCAxZmM0NjRmLi4zOGQzMWY3IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXQvcG9sa2l0c3lz dGVtYnVzbmFtZS5oDQorKysrIGIvc3JjL3BvbGtpdC9wb2xraXRzeXN0ZW1idXNuYW1lLmgNCitA QCAtNTYsNiArNTYsMTAgQEAgUG9sa2l0U3ViamVjdCAgKnBvbGtpdF9zeXN0ZW1fYnVzX25hbWVf Z2V0X3Byb2Nlc3Nfc3luYyAgIChQb2xraXRTeXN0ZW1CdXNOYW1lDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NhbmNlbGxhYmxl ICAgICAgICAgKmNhbmNlbGxhYmxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICAgICAgKiplcnJvcik7 DQorIA0KKytQb2xraXRVbml4VXNlciAqIHBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X3VzZXJf c3luYyAgICAgKFBvbGtpdFN5c3RlbUJ1c05hbWUgICpzeXN0ZW1fYnVzX25hbWUsDQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDYW5j ZWxsYWJsZSAgICAgICAgICpjYW5jZWxsYWJsZSwNCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgICAgICAqKmVy cm9yKTsNCisrDQorIEdfRU5EX0RFQ0xTDQorIA0KKyAjZW5kaWYgLyogX19QT0xLSVRfU1lTVEVN X0JVU19OQU1FX0ggKi8NCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFj a2VuZHNlc3Npb25tb25pdG9yLXN5c3RlbWQuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJh Y2tlbmRzZXNzaW9ubW9uaXRvci0NCnN5c3RlbWQuYw0KK2luZGV4IDU4NTkzYzMuLjAxODUzMTAg MTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25p dG9yLXN5c3RlbWQuYw0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNz aW9ubW9uaXRvci1zeXN0ZW1kLmMNCitAQCAtMjc3LDI1ICsyNzcsNyBAQCBwb2xraXRfYmFja2Vu ZF9zZXNzaW9uX21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKFBvbGtpdEJhY2tlbmRTZXNz aW9uTW9uaXRvcg0KKyAgICAgfQ0KKyAgIGVsc2UgaWYgKFBPTEtJVF9JU19TWVNURU1fQlVTX05B TUUgKHN1YmplY3QpKQ0KKyAgICAgew0KKy0gICAgICBHVmFyaWFudCAqcmVzdWx0Ow0KKy0NCist ICAgICAgcmVzdWx0ID0gZ19kYnVzX2Nvbm5lY3Rpb25fY2FsbF9zeW5jIChtb25pdG9yLT5zeXN0 ZW1fYnVzLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv cmcuZnJlZWRlc2t0b3AuREJ1cyIsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi9vcmcvZnJlZWRlc2t0b3AvREJ1cyIsDQorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzIiwNCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2V0Q29ubmVjdGlvblVu aXhVc2VyIiwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn X3ZhcmlhbnRfbmV3ICgiKHMpIiwgcG9sa2l0X3N5c3RlbV9idXNfbmFtZV9nZXRfbmFtZQ0KKFBP TEtJVF9TWVNURU1fQlVTX05BTUUgKHN1YmplY3QpKSksDQorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR19WQVJJQU5UX1RZUEUgKCIodSkiKSwNCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNfQ0FMTF9GTEFHU19O T05FLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAv KiB0aW1lb3V0X21zZWMgKi8NCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLCAvKiBHQ2FuY2VsbGFibGUgKi8NCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7DQorLSAgICAgIGlmIChyZXN1bHQgPT0gTlVM TCkNCistICAgICAgICBnb3RvIG91dDsNCistICAgICAgZ192YXJpYW50X2dldCAocmVzdWx0LCAi KHUpIiwgJnVpZCk7DQorLSAgICAgIGdfdmFyaWFudF91bnJlZiAocmVzdWx0KTsNCistDQorLSAg ICAgIHJldCA9IHBvbGtpdF91bml4X3VzZXJfbmV3ICh1aWQpOw0KKysgICAgICByZXQgPSAoUG9s a2l0SWRlbnRpdHkqKXBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0X3VzZXJfc3luYyAoUE9MS0lU X1NZU1RFTV9CVVNfTkFNRSAoc3ViamVjdCksIE5VTEwsIGVycm9yKTsNCisgICAgIH0NCisgICBl bHNlIGlmIChQT0xLSVRfSVNfVU5JWF9TRVNTSU9OIChzdWJqZWN0KSkNCisgICAgIHsNCitkaWZm IC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmMg Yi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3IuYw0KK2luZGV4 IDljMzMxYjYuLjQwNzVkM2YgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZHNlc3Npb25tb25pdG9yLmMNCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRi YWNrZW5kc2Vzc2lvbm1vbml0b3IuYw0KK0BAIC0zMDYsMjUgKzMwNiw3IEBAIHBvbGtpdF9iYWNr ZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAoUG9sa2l0QmFja2VuZFNl c3Npb25Nb25pdG9yDQorICAgICB9DQorICAgZWxzZSBpZiAoUE9MS0lUX0lTX1NZU1RFTV9CVVNf TkFNRSAoc3ViamVjdCkpDQorICAgICB7DQorLSAgICAgIEdWYXJpYW50ICpyZXN1bHQ7DQorLQ0K Ky0gICAgICByZXN1bHQgPSBnX2RidXNfY29ubmVjdGlvbl9jYWxsX3N5bmMgKG1vbml0b3ItPnN5 c3RlbV9idXMsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Im9yZy5mcmVlZGVza3RvcC5EQnVzIiwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiL29yZy9mcmVlZGVza3RvcC9EQnVzIiwNCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLkRCdXMiLA0KKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHZXRDb25uZWN0aW9u VW5peFVzZXIiLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdfdmFyaWFudF9uZXcgKCIocykiLCBwb2xraXRfc3lzdGVtX2J1c19uYW1lX2dldF9uYW1lDQoo UE9MS0lUX1NZU1RFTV9CVVNfTkFNRSAoc3ViamVjdCkpKSwNCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHX1ZBUklBTlRfVFlQRSAoIih1KSIpLA0KKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfREJVU19DQUxMX0ZMQUdT X05PTkUsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEs IC8qIHRpbWVvdXRfbXNlYyAqLw0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwsIC8qIEdDYW5jZWxsYWJsZSAqLw0KKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsNCistICAgICAgaWYgKHJlc3VsdCA9PSBO VUxMKQ0KKy0gICAgICAgIGdvdG8gb3V0Ow0KKy0gICAgICBnX3ZhcmlhbnRfZ2V0IChyZXN1bHQs ICIodSkiLCAmdWlkKTsNCistICAgICAgZ192YXJpYW50X3VucmVmIChyZXN1bHQpOw0KKy0NCist ICAgICAgcmV0ID0gcG9sa2l0X3VuaXhfdXNlcl9uZXcgKHVpZCk7DQorKyAgICAgIHJldCA9IChQ b2xraXRJZGVudGl0eSopcG9sa2l0X3N5c3RlbV9idXNfbmFtZV9nZXRfdXNlcl9zeW5jIChQT0xL SVRfU1lTVEVNX0JVU19OQU1FIChzdWJqZWN0KSk7DQorICAgICB9DQorICAgZWxzZSBpZiAoUE9M S0lUX0lTX1VOSVhfU0VTU0lPTiAoc3ViamVjdCkpDQorICAgICB7DQpkaWZmIC0tZ2l0IGEvcGF0 Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvUG9ydC1pbnRlcm5hbHMtbm9uLWRlcHJlY2F0ZWQtUG9s a2l0UHJvY2Vzcy1BUEktd2hlci5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMTMv UG9ydC1pbnRlcm5hbHMtbm9uLWRlcHJlY2F0ZWQtUG9sa2l0UHJvY2Vzcy1BUEktd2hlci5wYXRj aA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uOGE4ZmEzY2Y5DQotLS0g L2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9Qb3J0LWludGVybmFs cy1ub24tZGVwcmVjYXRlZC1Qb2xraXRQcm9jZXNzLUFQSS13aGVyLnBhdGNoDQpAQCAtMCwwICsx LDI5IEBADQorRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPg0KK0RhdGU6 IFNhdCwgOSBOb3YgMjAxMyAxMzo0ODoyMSAtMDUwMA0KK1N1YmplY3Q6IFBvcnQgaW50ZXJuYWxz IG5vbi1kZXByZWNhdGVkIFBvbGtpdFByb2Nlc3MgQVBJIHdoZXJlIHBvc3NpYmxlDQorDQorV2Ug Y2FuJ3QgcG9ydCBldmVyeXRoaW5nLCBidXQgaW4gUG9sa2l0UGVybWlzc2lvbiBhbmQgdGhlc2Ug dGVzdA0KK2Nhc2VzLCB3ZSBjYW4gdXNlIF9mb3Jfb3duZXIoKSB3aXRoIHRoZSByaWdodCBpbmZv cm1hdGlvbi4NCisNCitbc21jdjogZHJvcCB0aGUgcGFydCB0aGF0IHRvdWNoZXMNCit0ZXN0L3Bv bGtpdGJhY2tlbmQvdGVzdC1wb2xraXRiYWNrZW5kanNhdXRob3JpdHkuYyB3aGljaCBpcyBub3QN CitpbiB0aGlzIGJyYW5jaF0NCisNCitPcmlnaW46IHVwc3RyZWFtLCAwLjExMywgY29tbWl0OjZk M2QwYThmZmIwZmQ4YWU1OWViMzU1OTNiMzA1ZWM4N2RhODg1OGQNCistLS0NCisgc3JjL3BvbGtp dC9wb2xraXRwZXJtaXNzaW9uLmMgfCAyICstDQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0L3BvbGtpdHBl cm1pc3Npb24uYyBiL3NyYy9wb2xraXQvcG9sa2l0cGVybWlzc2lvbi5jDQoraW5kZXggMjJkMTk1 Zi4uZjhhNjY2ZSAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0L3BvbGtpdHBlcm1pc3Npb24uYw0K KysrKyBiL3NyYy9wb2xraXQvcG9sa2l0cGVybWlzc2lvbi5jDQorQEAgLTEyMiw3ICsxMjIsNyBA QCBwb2xraXRfcGVybWlzc2lvbl9jb25zdHJ1Y3RlZCAoR09iamVjdCAqb2JqZWN0KQ0KKyAgIFBv bGtpdFBlcm1pc3Npb24gKnBlcm1pc3Npb24gPSBQT0xLSVRfUEVSTUlTU0lPTiAob2JqZWN0KTsN CisgDQorICAgaWYgKHBlcm1pc3Npb24tPnN1YmplY3QgPT0gTlVMTCkNCistICAgIHBlcm1pc3Np b24tPnN1YmplY3QgPSBwb2xraXRfdW5peF9wcm9jZXNzX25ldyAoZ2V0cGlkICgpKTsNCisrICAg IHBlcm1pc3Npb24tPnN1YmplY3QgPSBwb2xraXRfdW5peF9wcm9jZXNzX25ld19mb3Jfb3duZXIg KGdldHBpZCAoKSwgMCwgZ2V0dWlkICgpKTsNCisgDQorICAgaWYgKEdfT0JKRUNUX0NMQVNTIChw b2xraXRfcGVybWlzc2lvbl9wYXJlbnRfY2xhc3MpLT5jb25zdHJ1Y3RlZCAhPSBOVUxMKQ0KKyAg ICAgR19PQkpFQ1RfQ0xBU1MgKHBvbGtpdF9wZXJtaXNzaW9uX3BhcmVudF9jbGFzcyktPmNvbnN0 cnVjdGVkIChvYmplY3QpOw0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEz L1JFQURNRS1Ob3RlLXRvLXNlbmQtc2VjdXJpdHktcmVwb3J0cy12aWEtREJ1cy1zLW1lY2gucGF0 Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL1JFQURNRS1Ob3RlLXRvLXNlbmQtc2Vj dXJpdHktcmVwb3J0cy12aWEtREJ1cy1zLW1lY2gucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMDAuLjk0ODQ2OTk2ZQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hl cy9wb2xraXQtMC4xMDUvMC4xMTMvUkVBRE1FLU5vdGUtdG8tc2VuZC1zZWN1cml0eS1yZXBvcnRz LXZpYS1EQnVzLXMtbWVjaC5wYXRjaA0KQEAgLTAsMCArMSwzOSBAQA0KK0Zyb206IENvbGluIFdh bHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4NCitEYXRlOiBUaHUsIDQgSnVuIDIwMTUgMDg6NDE6 MzYgLTA0MDANCitTdWJqZWN0OiBSRUFETUU6IE5vdGUgdG8gc2VuZCBzZWN1cml0eSByZXBvcnRz IHZpYSBEQnVzJ3MgbWVjaGFuaXNtDQorDQorVGhpcyBhdm9pZHMgZHVwbGljYXRpbmcgZWZmb3J0 Lg0KKw0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEzLCBjb21taXQ6Y2NlYzc2NmM1MDlkMTZkYWI0 MTc1ODJlOTRmNDNkOTA2Y2VmZDRhZQ0KKy0tLQ0KKyBSRUFETUUgfCAxOCArKysrKysrKysrKysr KysrKy0NCisgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN CisNCitkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FDQoraW5kZXggYjA3NTE2Mi4uMDcyMzAw MiAxMDA2NDQNCistLS0gYS9SRUFETUUNCisrKysgYi9SRUFETUUNCitAQCAtMjIsNiArMjIsMjIg QEAgVG8gdmVyaWZ5IHRoZSBhdXRoZW50aWNpdHkgb2YgdGhlIGNvbXByZXNzZWQgdGFyYmFsbCwg dXNlIHRoaXMgY29tbWFuZA0KKyBCVUdTIGFuZCBERVZFTE9QTUVOVA0KKyA9PT09PT09PT09PT09 PT09PT09PQ0KKyANCistUGxlYXNlIHJlcG9ydCBidWdzIHZpYSB0aGUgZnJlZWRlc2t0b3Aub3Jn IGJ1Z3ppbGxhIGF0DQorK1BsZWFzZSByZXBvcnQgbm9uLXNlY3VyaXR5IGJ1Z3MgdmlhIHRoZSBm cmVlZGVza3RvcC5vcmcgYnVnemlsbGEgYXQNCisgDQorICBodHRwczovL2J1Z3MuZnJlZWRlc2t0 b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1Qb2xpY3lLaXQNCisrDQorK1NFQ1VSSVRZIElT U1VFUw0KKys9PT09PT09PT09PT09PT0NCisrDQorK3BvbGtpdCB1c2VzIHRoZSBzYW1lIG1lY2hh bmlzbSBmb3IgcmVwb3J0aW5nIHNlY3VyaXR5IGlzc3VlcyBhcyBkYnVzLA0KKyt0aGUgbW9zdCBy ZWNlbnQgY29weSBvZiBpbnN0cnVjdGlvbnMgY2FuIGJlIGZvdW5kIGluIHRoZSBEQnVzIGdpdA0K KytyZXBvc2l0b3J5Og0KKysNCisraHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2RidXMvZGJ1 cy90cmVlL0hBQ0tJTkcNCisrDQorK0EgY29weSBvZiB0aGUgaW5zdHJ1Y3Rpb25zIGFzIG9mIDIw MTUtMDYtMDQ6DQorKw0KKytJZiB5b3UgZmluZCBhIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdHkgdGhh dCBpcyBub3Qga25vd24gdG8gdGhlIHB1YmxpYywNCisrcGxlYXNlIHJlcG9ydCBpdCBwcml2YXRl bHkgdG8gZGJ1cy1zZWN1cml0eUBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCisrb3IgYnkgcmVwb3J0 aW5nIGEgZnJlZWRlc2t0b3Aub3JnIGJ1ZyB0aGF0IGlzIG1hcmtlZCBhcw0KKytyZXN0cmljdGVk IHRvIHRoZSAiRC1CVVMgc2VjdXJpdHkgZ3JvdXAiLg0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9s a2l0LTAuMTA1LzAuMTEzL1JlZnVzZS1kdXBsaWNhdGUtdXNlci1hcmd1bWVudHMtdG8tcGtleGVj LnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExMy9SZWZ1c2UtZHVwbGljYXRlLXVz ZXItYXJndW1lbnRzLXRvLXBrZXhlYy5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMC4uMTg2MzVlNTgxDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtp dC0wLjEwNS8wLjExMy9SZWZ1c2UtZHVwbGljYXRlLXVzZXItYXJndW1lbnRzLXRvLXBrZXhlYy5w YXRjaA0KQEAgLTAsMCArMSwzOCBAQA0KK0Zyb206ID0/dXRmLTg/cT9NaWxvc2xhdl9Ucm1hPUM0 PThEPz0gPG1pdHJAcmVkaGF0LmNvbT4NCitEYXRlOiBUdWUsIDI2IEF1ZyAyMDE0IDE3OjU5OjQ3 ICswMjAwDQorU3ViamVjdDogUmVmdXNlIGR1cGxpY2F0ZSAtLXVzZXIgYXJndW1lbnRzIHRvIHBr ZXhlYw0KKw0KK1RoaXMgdXNhZ2UgaXMgY2xlYXJseSBlcnJvbmVvdXMsIHNvIHdlIHNob3VsZCB0 ZWxsIHRoZSB1c2VycyB0aGV5IGFyZQ0KK21ha2luZyBhIG1pc3Rha2UuDQorDQorQmVzaWRlcywg dGhpcyBhbGxvd3MgYW4gYXR0YWNrZXIgdG8gY2F1c2UgYSBoaWdoIG51bWJlciBvZiBoZWFwDQor YWxsb2NhdGlvbnMgd2l0aCBhdHRhY2tlci1jb250cm9sbGVkIHNpemVzICgNCitodHRwOi8vZ29v Z2xlcHJvamVjdHplcm8uYmxvZ3Nwb3QuY3ovMjAxNC8wOC90aGUtcG9pc29uZWQtbnVsLWJ5dGUt MjAxNC1lZGl0aW9uLmh0bWwNCispLCBtYWtpbmcgc29tZSBleHBsb2l0cyBlYXNpZXIuDQorDQor KFRvIGJlIGNsZWFyLCB0aGlzIGlzIG5vdCBhIHBrZXhlYyB2dWxuZXJhYmlsaXR5LCBhbmQgd2Ug d2lsbCBub3QNCityZWZ1c2UgYXR0YWNrZXItYWZmZWN0ZWQgbWFsbG9jKCkgdXNhZ2UgYXMgYSBt YXR0ZXIgb2YgcG9saWN5OyBidXQgdGhpcw0KK2NvbW1pdCBpcyBib3RoIHVzZXItZnJpZW5kbHkg YW5kIGFkZGluZyBzb21lIGhhcmRlbmluZy4pDQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04MzA5Mw0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTEz LCBjb21taXQ6NmM5OTJiYzhhZWZhMTk1YTQxZWFhNDFjMDdmNDZmMTdkZTE4ZTI1Yw0KKy0tLQ0K KyBzcmMvcHJvZ3JhbXMvcGtleGVjLmMgfCA1ICsrKysrDQorIDEgZmlsZSBjaGFuZ2VkLCA1IGlu c2VydGlvbnMoKykNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3Byb2dyYW1zL3BrZXhlYy5jIGIvc3Jj L3Byb2dyYW1zL3BrZXhlYy5jDQoraW5kZXggNWU5OTA0NC4uYWJjNjYwZCAxMDA2NDQNCistLS0g YS9zcmMvcHJvZ3JhbXMvcGtleGVjLmMNCisrKysgYi9zcmMvcHJvZ3JhbXMvcGtleGVjLmMNCitA QCAtNTMzLDYgKzUzMywxMSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgICAg ICAgICAgICAgIGdvdG8gb3V0Ow0KKyAgICAgICAgICAgICB9DQorIA0KKysgICAgICAgICAgaWYg KG9wdF91c2VyICE9IE5VTEwpDQorKyAgICAgICAgICAgIHsNCisrICAgICAgICAgICAgICBnX3By aW50ZXJyICgiLS11c2VyIHNwZWNpZmllZCB0d2ljZVxuIik7DQorKyAgICAgICAgICAgICAgZ290 byBvdXQ7DQorKyAgICAgICAgICAgIH0NCisgICAgICAgICAgIG9wdF91c2VyID0gZ19zdHJkdXAg KGFyZ3Zbbl0pOw0KKyAgICAgICAgIH0NCisgICAgICAgZWxzZSBpZiAoc3RyY21wIChhcmd2W25d LCAiLS1kaXNhYmxlLWludGVybmFsLWFnZW50IikgPT0gMCkNCmRpZmYgLS1naXQgYS9wYXRjaGVz L3BvbGtpdC0wLjEwNS8wLjExMy9SZW1vdmUtYS1yZWR1bmRhbnQtYXNzaWdubWVudC5wYXRjaCBi L3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL1JlbW92ZS1hLQ0KcmVkdW5kYW50LWFzc2lnbm1l bnQucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjc5MmNhN2Yy NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvUmVtb3Zl LWEtcmVkdW5kYW50LWFzc2lnbm1lbnQucGF0Y2gNCkBAIC0wLDAgKzEsMjYgQEANCitGcm9tOiA9 P3V0Zi04P3E/TWlsb3NsYXZfVHJtYT1DND04RD89IDxtaXRyQHJlZGhhdC5jb20+DQorRGF0ZTog V2VkLCAxMSBKdW4gMjAxNCAyMjo0NDoyOCArMDIwMA0KK1N1YmplY3Q6IFJlbW92ZSBhIHJlZHVu ZGFudCBhc3NpZ25tZW50Lg0KKw0KK0luc3RlYWQgb2YgYSBub25zZW5zaWNhbCAoZGF0YSA9IGRh dGEpLCB1c2UgdGhlIG1vcmUgY3VzdG9tYXJ5DQorKCh2b2lkKWRhdGEpIHRvIHNpbGVuY2UgdGhl IHdhcm5pbmcgYWJvdXQgYW4gdW51c2VkIHBhcmFtZXRlci4NCisNCitCdWc6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNzY3DQorT3JpZ2luOiB1cHN0cmVh bSwgMC4xMTMsIGNvbW1pdDozNzE0M2ViMDZjYjBjNGRmZmNhNjcwNzlkZDFjMTBjNWIxOTFiNmE3 DQorLS0tDQorIHNyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYyB8IDIgKy0N CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlm ZiAtLWdpdCBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYyBiL3NyYy9w b2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYw0KK2luZGV4IDI5MmFiYmUuLjkzNzM4 NmUgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5j DQorKysrIGIvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQorQEAgLTIz MCw3ICsyMzAsNyBAQCBjb252ZXJzYXRpb25fZnVuY3Rpb24gKGludCBuLCBjb25zdCBzdHJ1Y3Qg cGFtX21lc3NhZ2UgKiptc2csIHN0cnVjdCBwYW1fcmVzcG9ucw0KKyAgIGdjaGFyICp0bXAgPSBO VUxMOw0KKyAgIHNpemVfdCBsZW47DQorIA0KKy0gIGRhdGEgPSBkYXRhOw0KKysgICh2b2lkKWRh dGE7DQorICAgaWYgKG4gPD0gMCB8fCBuID4gUEFNX01BWF9OVU1fTVNHKQ0KKyAgICAgcmV0dXJu IFBBTV9DT05WX0VSUjsNCisgDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4x MTMvZG9jcy1VcGRhdGUtZm9yLWNoYW5nZXMtdG8tdWlkLWJpbmRpbmctQXV0aGVudGljYXRpby5w YXRjaCBiL3BhdGNoZXMvcG9sa2l0LQ0KMC4xMDUvMC4xMTMvZG9jcy1VcGRhdGUtZm9yLWNoYW5n ZXMtdG8tdWlkLWJpbmRpbmctQXV0aGVudGljYXRpby5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAwMC4uNDUxYzI5OTg1DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRj aGVzL3BvbGtpdC0wLjEwNS8wLjExMy9kb2NzLVVwZGF0ZS1mb3ItY2hhbmdlcy10by11aWQtYmlu ZGluZy1BdXRoZW50aWNhdGlvLnBhdGNoDQpAQCAtMCwwICsxLDI1OSBAQA0KK0Zyb206ID0/dXRm LTg/cT9NaWxvc2xhdl9Ucm1hPUM0PThEPz0gPG1pdHJAcmVkaGF0LmNvbT4NCitEYXRlOiBXZWQs IDE3IEp1biAyMDE1IDAxOjAxOjI3ICswMjAwDQorU3ViamVjdDogZG9jczogVXBkYXRlIGZvciBj aGFuZ2VzIHRvIHVpZCBiaW5kaW5nL0F1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTINCisNCisg LSBSZWZlciB0byBQb2xraXRBZ2VudFNlc3Npb24gaW4gZ2VuZXJhbCBpbnN0ZWFkIG9mIHRvIF9y ZXNwb25zZSBvbmx5DQorIC0gUmV2ZXJ0IHRvIHRoZSBvcmlnaW5hbCBkZXNjcmlwdGlvbiBvZiBh dXRoZW50aWNhdGlvbiBjYW5jZWxsYXRpb24sIHRoZQ0KKyAgIGFnZW50IHJlYWxseSBuZWVkcyB0 byByZXR1cm4gYW4gZXJyb3IgdG8gdGhlIGNhbGxlciAoaW4gYWRkaXRpb24gdG8gZGVhbGluZw0K KyAgIHdpdGggdGhlIHNlc3Npb24gaWYgYW55KS4NCisgLSBFeHBsaWNpdGx5IGRvY3VtZW50IHRo ZSBVSUQgYXNzdW1wdGlvbjsgaW4gdGhlIHByb2Nlc3MgZml4aW5nIGJ1ZyAjNjk5ODAuDQorIC0g S2VlcCBkb2N1bWVudGluZyB0aGF0IHdlIG5lZWQgYSBzdWZmaWNpZW50bHkgcHJpdmlsZWdlZCBj YWxsZXIuDQorIC0gUmVmZXIgdG8gdGhlIC4uLlJlc3BvbnNlMiBBUEkgaW4gbW9yZSBwbGFjZXMu DQorIC0gQWxzbyB1cGRhdGUgZG9jYm9vayBkb2N1bWVudGF0aW9uLg0KKyAtIERyb3AgYSBwYXJh Z3JhcGggc3VnZ2VzdGluZyBub24tUG9sa2l0QWdlbnRTZXNzaW9uIGltcGxlbWVudGF0aW9ucyBh cmUNCisgICBleHBlY3RlZCBhbmQgY29tbW9ucGxhY2UuDQorDQorQnVnOiBodHRwczovL2J1Z3Mu ZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MDgzNw0KK1Jldmlld2VkLWJ5OiBDb2xp biBXYWx0ZXJzIDx3YWx0ZXJzQHJlZGhhdC5jb20+DQorT3JpZ2luOiB1cHN0cmVhbSwgMC4xMTMs IGNvbW1pdDpmYjUwNzZiN2MwNWQwMWE1MzJkNTkzYTQwNzlhMjljZjJkNjNhMjI4DQorQnVnLURl YmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk2MTM0DQorLS0tDQorIC4uLi5mcmVlZGVz a3RvcC5Qb2xpY3lLaXQxLkF1dGhlbnRpY2F0aW9uQWdlbnQueG1sIHwgIDYgKysrLS0tDQorIGRh dGEvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LnhtbCAgICAgIHwgMTEgKysr KysrLS0tLQ0KKyAuLi4uZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50 LnhtbCB8ICA3ICsrKysrLS0NCisgLi4uZXJmYWNlLW9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQx LkF1dGhvcml0eS54bWwgfCAxMiArKysrKysrLS0tLQ0KKyBkb2NzL3BvbGtpdC9vdmVydmlldy54 bWwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKystLS0tDQorIHNyYy9wb2xraXQv cG9sa2l0YXV0aG9yaXR5LmMgICAgICAgICAgICAgICAgICAgICAgIHwgMjQgKysrKysrKysrKysr KysrKysrKystLQ0KKyBzcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRsaXN0ZW5lci5jICAgICAg ICAgICAgICB8ICA1ICstLS0tDQorIHNyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRo b3JpdHkuYyAgICAgICAgIHwgIDEgKw0KKyA4IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMo KyksIDIzIGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9kYXRhL29yZy5mcmVlZGVza3Rv cC5Qb2xpY3lLaXQxLkF1dGhlbnRpY2F0aW9uQWdlbnQueG1sDQpiL2RhdGEvb3JnLmZyZWVkZXNr dG9wLlBvbGljeUtpdDEuQXV0aGVudGljYXRpb25BZ2VudC54bWwNCitpbmRleCA1YmVlZjdkLi40 ODIzMzJmIDEwMDY0NA0KKy0tLSBhL2RhdGEvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0 aGVudGljYXRpb25BZ2VudC54bWwNCisrKysgYi9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lL aXQxLkF1dGhlbnRpY2F0aW9uQWdlbnQueG1sDQorQEAgLTEzLDE0ICsxMywxNCBAQA0KKyAgICAg ICB1c2VyIHRvIGF1dGhlbnRpY2F0ZSBhcyBvbmUgb2YgdGhlIGlkZW50aXRpZXMgaW4gQGlkZW50 aXRpZXMgZm9yDQorICAgICAgIHRoZSBhY3Rpb24gd2l0aCB0aGUgaWRlbnRpZmllciBAYWN0aW9u X2lkLjwvcGFyYT48cGFyYT5UaGlzDQorICAgICAgIGF1dGhlbnRpY2F0aW9uIGlzIG5vcm1hbGx5 IGFjaGlldmVkIHZpYSB0aGUNCistICAgICAgcG9sa2l0X2FnZW50X3Nlc3Npb25fcmVzcG9uc2Uo KSBBUEksIHdoaWNoIGludm9rZXMgYSBwcml2YXRlDQorKyAgICAgIFBvbGtpdEFnZW50U2Vzc2lv biBBUEksIHdoaWNoIGludm9rZXMgYSBwcml2YXRlDQorICAgICAgIHNldHVpZCBoZWxwZXIgcHJv Y2VzcyB0byB2ZXJpZnkgdGhlIGF1dGhlbnRpY2F0aW9uLiAgV2hlbg0KKyAgICAgICBzdWNjZXNz ZnVsLCBpdCBjYWxscyB0aGUNCisgICAgICAgb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0 aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTIoKQ0KKyAgICAgICBtZXRob2Qgb24g dGhlICNvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkgaW50ZXJmYWNlIG9mDQor ICAgICAgIHRoZSBQb2xpY3lLaXQgZGFlbW9uIGJlZm9yZSByZXR1cm5pbmcuICBJZiB0aGUgdXNl ciBkaXNtaXNzZXMgdGhlDQorLSAgICAgIGF1dGhlbnRpY2F0aW9uIGRpYWxvZywgdGhlIGF1dGhl bnRpY2F0aW9uIGFnZW50IHNob3VsZCBjYWxsDQorLSAgICAgIHBvbGtpdF9hZ2VudF9zZXNzaW9u X2NhbmNlbCgpLjwvcGFyYT4iLz4NCisrICAgICAgYXV0aGVudGljYXRpb24gZGlhbG9nLCB0aGUg YXV0aGVudGljYXRpb24gYWdlbnQgc2hvdWxkIHJldHVybiBhbg0KKysgICAgICBlcnJvci48L3Bh cmE+Ii8+DQorIA0KKyAgICAgICA8YXJnIG5hbWU9ImFjdGlvbl9pZCIgZGlyZWN0aW9uPSJpbiIg dHlwZT0icyI+DQorICAgICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRv Y1N0cmluZyIgdmFsdWU9IlRoZSBpZGVudGlmaWVyIGZvciB0aGUgYWN0aW9uIHRoYXQgdGhlIHVz ZXIgaXMNCmF1dGhlbnRpY2F0aW9uIGZvci4iLz4NCitkaWZmIC0tZ2l0IGEvZGF0YS9vcmcuZnJl ZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkueG1sIGIvZGF0YS9vcmcuZnJlZWRlc2t0b3Au UG9saWN5S2l0MS5BdXRob3JpdHkueG1sDQoraW5kZXggZjkwMjFlZS4uODhkYTNjMCAxMDA2NDQN CistLS0gYS9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCisr KysgYi9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwNCitAQCAt MjgzLDcgKzI4Myw3IEBADQorICAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gLS0+DQorIA0KKyAgICAgPG1ldGhvZCBuYW1lPSJSZWdpc3RlckF1dGhl bnRpY2F0aW9uQWdlbnQiPg0KKy0gICAgICA8YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3RrLkVnZ0RC dXMuRG9jU3RyaW5nIiB2YWx1ZT0iPHBhcmE+UmVnaXN0ZXIgYW4gYXV0aGVudGljYXRpb24gYWdl bnQuPC9wYXJhPjxwYXJhPk5vdGUNCnRoYXQgY3VycmVudCB2ZXJzaW9ucyBvZiBQb2xpY3lLaXQg d2lsbCBvbmx5IHdvcmsgaWYgQHNlc3Npb25faWQgaXMgc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcu IEluIHRoZSBmdXR1cmUgaXQgbWlnaHQgd29yaw0KZm9yIG5vbi1lbXB0eSBzdHJpbmdzIGlmIHRo ZSBjYWxsZXIgaXMgc3VmZmljaWVudGx5IHByaXZpbGVnZWQuPC9wYXJhPiIvPg0KKysgICAgICA8 YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3RrLkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iPHBhcmE+ UmVnaXN0ZXIgYW4gYXV0aGVudGljYXRpb24gYWdlbnQuPC9wYXJhPjxwYXJhPk5vdGUNCnRoYXQg dGhpcyBzaG91bGQgYmUgY2FsbGVkIGJ5IHRoZSBzYW1lIGVmZmVjdGl2ZSBVSUQgd2hpY2ggd2ls bCBiZSBwYXNzZWQgdG8NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRo ZW50aWNhdGlvbkFnZW50UmVzcG9uc2UyKCkuPC9wYXJhPiIvPg0KKyANCisgICAgICAgPGFyZyBu YW1lPSJzdWJqZWN0IiBkaXJlY3Rpb249ImluIiB0eXBlPSIoc2F7c3Z9KSI+DQorICAgICAgICAg PGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLlR5cGUiIHZhbHVlPSJTdWJqZWN0Ii8+ DQorQEAgLTMxNSw3ICszMTUsOCBAQA0KKyAgICAgPG1ldGhvZCBuYW1lPSJBdXRoZW50aWNhdGlv bkFnZW50UmVzcG9uc2UiPg0KKyAgICAgICA8YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3RrLkVnZ0RC dXMuRG9jU3RyaW5nIiB2YWx1ZT0iTWV0aG9kIGZvciBhdXRoZW50aWNhdGlvbiBhZ2VudHMgdG8g aW52b2tlIG9uIHN1Y2Nlc3NmdWwNCisgYXV0aGVudGljYXRpb24sIGludGVuZGVkIG9ubHkgZm9y IHVzZSBieSBhIHByaXZpbGVnZWQgaGVscGVyIHByb2Nlc3MNCistaW50ZXJuYWwgdG8gcG9sa2l0 LiIvPg0KKytpbnRlcm5hbCB0byBwb2xraXQuIFRoaXMgbWV0aG9kIHdpbGwgZmFpbCB1bmxlc3Mg YSBzdWZmaWNpZW50bHkgcHJpdmlsZWdlZA0KKytjYWxsZXIgaW52b2tlcyBpdC4gRGVwcmVjYXRl ZCBpbiBmYXZvciBvZiBvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuQXV0aGVu dGljYXRpb25BZ2VudFJlc3BvbnNlMi4iLz4NCisgDQorICAgICAgIDxhcmcgbmFtZT0iY29va2ll IiBkaXJlY3Rpb249ImluIiB0eXBlPSJzIj4NCisgICAgICAgICA8YW5ub3RhdGlvbiBuYW1lPSJv cmcuZ3RrLkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iVGhlIGNvb2tpZSBpZGVudGlmeWluZyB0 aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCB0aGF0IHdhcw0KcGFzc2VkIHRvIHRoZSBhdXRoZW50 aWNhdGlvbiBhZ2VudC4iLz4NCitAQCAtMzMwLDExICszMzEsMTMgQEAgaW50ZXJuYWwgdG8gcG9s a2l0LiIvPg0KKyAgICAgPG1ldGhvZCBuYW1lPSJBdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2Uy Ij4NCisgICAgICAgPGFubm90YXRpb24gbmFtZT0ib3JnLmd0ay5FZ2dEQnVzLkRvY1N0cmluZyIg dmFsdWU9Ik1ldGhvZCBmb3IgYXV0aGVudGljYXRpb24gYWdlbnRzIHRvIGludm9rZSBvbiBzdWNj ZXNzZnVsDQorIGF1dGhlbnRpY2F0aW9uLCBpbnRlbmRlZCBvbmx5IGZvciB1c2UgYnkgYSBwcml2 aWxlZ2VkIGhlbHBlciBwcm9jZXNzDQorLWludGVybmFsIHRvIHBvbGtpdC4gICBOb3RlIHRoaXMg bWV0aG9kIHdhcyBhZGRlZCBpbiAwLjExNCwgYW5kIHNob3VsZCBiZSBwcmVmZXJyZWQgb3ZlciBB dXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UNCisraW50ZXJuYWwgdG8gcG9sa2l0LiBUaGlzIG1l dGhvZCB3aWxsIGZhaWwgdW5sZXNzIGEgc3VmZmljaWVudGx5IHByaXZpbGVnZWQNCisrY2FsbGVy IGludm9rZXMgaXQuIE5vdGUgdGhpcyBtZXRob2Qgd2FzIGFkZGVkIGluIDAuMTE0LCBhbmQgc2hv dWxkIGJlIHByZWZlcnJlZCBvdmVyDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3Jp dHkuQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlKCkNCisgYXMgaXQgZml4ZXMgYSBzZWN1cml0 eSBpc3N1ZS4iLz4NCisgDQorICAgICAgIDxhcmcgbmFtZT0idWlkIiBkaXJlY3Rpb249ImluIiB0 eXBlPSJ1Ij4NCistICAgICAgICA8YW5ub3RhdGlvbiBuYW1lPSJvcmcuZ3RrLkVnZ0RCdXMuRG9j U3RyaW5nIiB2YWx1ZT0iVGhlIHJlYWwgdWlkIG9mIHRoZSBhZ2VudC4gIE5vcm1hbGx5IHNldCBi eSB0aGUgc2V0dWlkDQpoZWxwZXIgcHJvZ3JhbS4iLz4NCisrICAgICAgICA8YW5ub3RhdGlvbiBu YW1lPSJvcmcuZ3RrLkVnZ0RCdXMuRG9jU3RyaW5nIiB2YWx1ZT0iVGhlIHJlYWwgdWlkIG9mIHRo ZSBhZ2VudC4gIE5vcm1hbGx5IHNldCBieSB0aGUgc2V0dWlkDQpoZWxwZXIgcHJvZ3JhbS4NCisr TXVzdCBtYXRjaCB0aGUgZWZmZWN0aXZlIFVJRCBvZiB0aGUgY2FsbGVyIG9mIG9yZy5mcmVlZGVz a3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5SZWdpc3RlckF1dGhlbnRpY2F0aW9uQWdlbnQoKS4i Lz4NCisgICAgICAgPC9hcmc+DQorIA0KKyAgICAgICA8YXJnIG5hbWU9ImNvb2tpZSIgZGlyZWN0 aW9uPSJpbiIgdHlwZT0icyI+DQorZGlmZiAtLWdpdCBhL2RvY3MvcG9sa2l0L2RvY2Jvb2staW50 ZXJmYWNlLW9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhlbnRpY2F0aW9uQWdlbnQueG1s IGIvZG9jcy9wb2xraXQvZG9jYm9vay0NCmludGVyZmFjZS1vcmcuZnJlZWRlc2t0b3AuUG9saWN5 S2l0MS5BdXRoZW50aWNhdGlvbkFnZW50LnhtbA0KK2luZGV4IGVjNTk2MjYuLmFiMjdiMmYgMTAw NjQ0DQorLS0tIGEvZG9jcy9wb2xraXQvZG9jYm9vay1pbnRlcmZhY2Utb3JnLmZyZWVkZXNrdG9w LlBvbGljeUtpdDEuQXV0aGVudGljYXRpb25BZ2VudC54bWwNCisrKysgYi9kb2NzL3BvbGtpdC9k b2Nib29rLWludGVyZmFjZS1vcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRoZW50aWNhdGlv bkFnZW50LnhtbA0KK0BAIC00NywxMCArNDcsMTMgQEAgQmVnaW5BdXRoZW50aWNhdGlvbiAoSU4g IFN0cmluZyAgICAgICAgICAgICAgIGFjdGlvbl9pZCwNCisgICAgICAgICBpZGVudGlmaWVyIDxw YXJhbWV0ZXI+YWN0aW9uX2lkPC9wYXJhbWV0ZXI+LjwvcGFyYT48cGFyYT5VcG9uDQorICAgICAg ICAgc3VjY2VzZnVsIGF1dGhlbnRpY2F0aW9uLCB0aGUgYXV0aGVudGljYXRpb24gYWdlbnQgbXVz dCBpbnZva2UNCisgICAgICAgICB0aGUgPGxpbmsNCistICAgICAgICBsaW5rZW5kPSJlZ2dkYnVz LW1ldGhvZC0NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRoZW50aWNh dGlvbkFnZW50UmVzcG9uc2UiPkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSgpPC9saW5rPg0K KysgICAgICAgIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGlj eUtpdDEuQXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTIiPkF1dGhlbnRpY2F0 aW9uQWdlbnRSZXNwb25zZTIoKTwvbGluaz4NCisgICAgICAgICBtZXRob2Qgb24gdGhlIDxsaW5r DQorICAgICAgICAgbGlua2VuZD0iZWdnZGJ1cy1pbnRlcmZhY2Utb3JnLmZyZWVkZXNrdG9wLlBv bGljeUtpdDEuQXV0aG9yaXR5Ij5vcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHk8 L2xpbms+DQorLSAgICAgICAgaW50ZXJmYWNlIG9mIHRoZSBQb2xpY3lLaXQgZGFlbW9uIGJlZm9y ZSByZXR1cm5pbmcuDQorKyAgICAgICAgaW50ZXJmYWNlIG9mIHRoZSBQb2xpY3lLaXQgZGFlbW9u IGJlZm9yZSByZXR1cm5pbmcuIFRoaXMgaXMgbm9ybWFsbHkNCisrICAgICAgICBhY2hpZXZlZCB2 aWEgdGhlIDxsaW5rIGxpbmtlbmQ9IlBvbGtpdEFnZW50U2Vzc2lvbiI+UG9sa2l0QWdlbnRTZXNz aW9uPC9saW5rPg0KKysgICAgICAgIEFQSSwgd2hpY2ggaW52b2tlcyBhIHByaXZhdGUgc2V0dWlk IGhlbHBlciBwcm9jZXNzIHRvIHZlcmlmeSB0aGUNCisrICAgICAgICBhdXRoZW50aWNhdGlvbi4N CisgICAgICAgPC9wYXJhPg0KKyAgICAgICA8cGFyYT4NCisgICAgICAgICBUaGUgYXV0aGVudGlj YXRpb24gYWdlbnQgc2hvdWxkIG5vdCByZXR1cm4gdW50aWwgYWZ0ZXIgYXV0aGVudGljYXRpb24g aXMgY29tcGxldGUuDQorZGlmZiAtLWdpdCBhL2RvY3MvcG9sa2l0L2RvY2Jvb2staW50ZXJmYWNl LW9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwgYi9kb2NzL3BvbGtpdC9k b2Nib29rLWludGVyZmFjZS0NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54 bWwNCitpbmRleCBlNjZiZjUzLi5mMmVlZDYzIDEwMDY0NA0KKy0tLSBhL2RvY3MvcG9sa2l0L2Rv Y2Jvb2staW50ZXJmYWNlLW9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS54bWwN CisrKysgYi9kb2NzL3BvbGtpdC9kb2Nib29rLWludGVyZmFjZS1vcmcuZnJlZWRlc2t0b3AuUG9s aWN5S2l0MS5BdXRob3JpdHkueG1sDQorQEAgLTQyLDcgKzQyLDcgQEAgU3RydWN0dXJlICAgIDxs aW5rIGxpbmtlbmQ9ImVnZ2RidXMtc3RydWN0LVRlbXBvcmFyeUF1dGhvcml6YXRpb24iPlRlbXBv cmFyeUF1dGgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOICBTdHJpbmcg ICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3BhdGgpDQorIDxsaW5rIGxpbmtlbmQ9ImVn Z2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LkF1dGhl bnRpY2F0aW9uQWdlbnRSZXNwb25zZSI+QXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlPC9saW5r PiAgICAgIChJTiAgU3RyaW5nICAgDQogICAgICAgICAgICAgICAgICAgICAgY29va2llLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU4gIDxsaW5rIGxpbmtlbmQ9ImVnZ2Ri dXMtc3RydWN0LQ0KSWRlbnRpdHkiPklkZW50aXR5PC9saW5rPiAgICAgICAgICAgICAgICAgICAg ICAgaWRlbnRpdHkpDQorLTxsaW5rIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVk ZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSI+ QXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlMjwvbGluaz4gICAgICAoSU4gdWludDMyDQp1aWQs IElOICBTdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgY29va2llLA0KKys8bGluayBsaW5r ZW5kPSJlZ2dkYnVzLW1ldGhvZC0NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0 eS5BdXRoZW50aWNhdGlvbkFnZW50UmVzcG9uc2UyIj5BdXRoZW50aWNhdGlvbkFnZW50UmVzcG9u c2UyPC9saW5rPiAgICAgIChJTiB1aW50MzINCnVpZCwgSU4gIFN0cmluZyAgICAgICAgICAgICAg ICAgICAgICAgICBjb29raWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TiAgPGxpbmsgbGlua2VuZD0iZWdnZGJ1cy1zdHJ1Y3QtDQpJZGVudGl0eSI+SWRlbnRpdHk8L2xp bms+ICAgICAgICAgICAgICAgICAgICAgICBpZGVudGl0eSkNCisgPGxpbmsgbGlua2VuZD0iZWdn ZGJ1cy1tZXRob2QtDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuRW51bWVy YXRlVGVtcG9yYXJ5QXV0aG9yaXphdGlvbnMiPkVudW1lcmF0ZVRlbXBvcmFyeUF1dGhvcml6YXRp b25zPC9saW5rPg0KKElOICA8bGluayBsaW5rZW5kPSJlZ2dkYnVzLXN0cnVjdC1TdWJqZWN0Ij5T dWJqZWN0PC9saW5rPiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPVVQgQXJyYXkmbHQ7PGxpbmsgbGlua2VuZD0iZWdn ZGJ1cy1zdHJ1Y3QtDQpUZW1wb3JhcnlBdXRob3JpemF0aW9uIj5UZW1wb3JhcnlBdXRob3JpemF0 aW9uPC9saW5rPiZndDsgIHRlbXBvcmFyeV9hdXRob3JpemF0aW9ucykNCitAQCAtNzAxLDcgKzcw MSw3IEBAIFJlZ2lzdGVyQXV0aGVudGljYXRpb25BZ2VudCAoSU4gIDxsaW5rIGxpbmtlbmQ9ImVn Z2RidXMtc3RydWN0LVN1YmplY3QiPlN1YmplY3Q8DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU4gIFN0cmluZyAgIG9iamVjdF9wYXRoKQ0KKyAgICAgPC9wcm9ncmFtbGlzdGluZz4N CisgICAgIDxwYXJhPg0KKy08cGFyYT5SZWdpc3RlciBhbiBhdXRoZW50aWNhdGlvbiBhZ2VudC48 L3BhcmE+PHBhcmE+Tm90ZSB0aGF0IGN1cnJlbnQgdmVyc2lvbnMgb2YgUG9saWN5S2l0IHdpbGwg b25seSB3b3JrIGlmDQo8cGFyYW1ldGVyPnNlc3Npb25faWQ8L3BhcmFtZXRlcj4gaXMgc2V0IHRv IHRoZSBlbXB0eSBzdHJpbmcuIEluIHRoZSBmdXR1cmUgaXQgbWlnaHQgd29yayBmb3Igbm9uLWVt cHR5IHN0cmluZ3MgaWYgdGhlDQpjYWxsZXIgaXMgc3VmZmljaWVudGx5IHByaXZpbGVnZWQuPC9w YXJhPg0KKys8cGFyYT5SZWdpc3RlciBhbiBhdXRoZW50aWNhdGlvbiBhZ2VudC48L3BhcmE+PHBh cmE+Tm90ZSB0aGF0IHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBieSBzYW1lIGVmZmVjdGl2ZSBVSUQg d2hpY2ggd2lsbA0KYmUgcGFzc2VkIHRvIDxsaW5rIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0K b3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRS ZXNwb25zZTIiPkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTIoKTwvbGluaz4uPC9wYXJhPg0K KyAgICAgPC9wYXJhPg0KKyA8dmFyaWFibGVsaXN0IHJvbGU9InBhcmFtcyI+DQorICAgPHZhcmxp c3RlbnRyeT4NCitAQCAtNzgxLDcgKzc4MSw4IEBAIEF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25z ZSAoSU4gIFN0cmluZyAgICBjb29raWUsDQorICAgICA8cGFyYT4NCisgTWV0aG9kIGZvciBhdXRo ZW50aWNhdGlvbiBhZ2VudHMgdG8gaW52b2tlIG9uIHN1Y2Nlc3NmdWwNCisgYXV0aGVudGljYXRp b24sIGludGVuZGVkIG9ubHkgZm9yIHVzZSBieSBhIHByaXZpbGVnZWQgaGVscGVyIHByb2Nlc3MN CistaW50ZXJuYWwgdG8gcG9sa2l0LiAgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiBBdXRoZW50aWNh dGlvbkFnZW50UmVzcG9uc2UyLg0KKytpbnRlcm5hbCB0byBwb2xraXQuIFRoaXMgbWV0aG9kIHdp bGwgZmFpbCB1bmxlc3MgYSBzdWZmaWNpZW50bHkgcHJpdmlsZWdlZA0KKysrY2FsbGVyIGludm9r ZXMgaXQuIERlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgPGxpbmsgbGlua2VuZD0iZWdnZGJ1cy1tZXRo b2QtDQpvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5BdXRob3JpdHkuQXV0aGVudGljYXRpb25B Z2VudFJlc3BvbnNlMiI+QXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlMigpPC9saW5rPi4NCisg ICAgIDwvcGFyYT4NCisgPHZhcmlhYmxlbGlzdCByb2xlPSJwYXJhbXMiPg0KKyAgIDx2YXJsaXN0 ZW50cnk+DQorQEAgLTgxMiw3ICs4MTMsMTAgQEAgQXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNl MiAoSU4gIHVpbnQzMiB1aWQsDQorICAgICA8cGFyYT4NCisgTWV0aG9kIGZvciBhdXRoZW50aWNh dGlvbiBhZ2VudHMgdG8gaW52b2tlIG9uIHN1Y2Nlc3NmdWwNCisgYXV0aGVudGljYXRpb24sIGlu dGVuZGVkIG9ubHkgZm9yIHVzZSBieSBhIHByaXZpbGVnZWQgaGVscGVyIHByb2Nlc3MNCistaW50 ZXJuYWwgdG8gcG9sa2l0LiAgTm90ZSB0aGlzIG1ldGhvZCB3YXMgaW50cm9kdWNlZCBpbiAwLjEx NCB0byBmaXggYSBzZWN1cml0eSBpc3N1ZS4NCisraW50ZXJuYWwgdG8gcG9sa2l0LiBUaGlzIG1l dGhvZCB3aWxsIGZhaWwgdW5sZXNzIGEgc3VmZmljaWVudGx5IHByaXZpbGVnZWQNCisrY2FsbGVy IGludm9rZXMgaXQuIE5vdGUgdGhpcyBtZXRob2Qgd2FzIGludHJvZHVjZWQgaW4gMC4xMTQgYW5k IHNob3VsZCBiZQ0KKytwcmVmZXJyZWQgb3ZlciA8bGluayBsaW5rZW5kPSJlZ2dkYnVzLW1ldGhv ZC0NCm9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLkF1dGhvcml0eS5BdXRoZW50aWNhdGlvbkFn ZW50UmVzcG9uc2UiPkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZSgpPC9saW5rPg0KKythcyBp dCBmaXhlcyBhIHNlY3VyaXR5IGlzc3VlLg0KKyAgICAgPC9wYXJhPg0KKyA8dmFyaWFibGVsaXN0 IHJvbGU9InBhcmFtcyI+DQorICAgPHZhcmxpc3RlbnRyeT4NCitkaWZmIC0tZ2l0IGEvZG9jcy9w b2xraXQvb3ZlcnZpZXcueG1sIGIvZG9jcy9wb2xraXQvb3ZlcnZpZXcueG1sDQoraW5kZXggYzI5 ZDhkYS4uOGRkYjM0YyAxMDA2NDQNCistLS0gYS9kb2NzL3BvbGtpdC9vdmVydmlldy54bWwNCisr KysgYi9kb2NzL3BvbGtpdC9vdmVydmlldy54bWwNCitAQCAtNzMsMTEgKzczLDExIEBADQorICAg ICAgIGxpbmtlbmQ9ImVnZ2RidXMtaW50ZXJmYWNlLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtp dDEuQXV0aGVudGljYXRpb25BZ2VudCI+b3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aGVu dGljYXRpb25BZ2VudDwvbGluaz4NCisgICAgICAgRC1CdXMgaW50ZXJmYWNlLiBPbmNlIHRoZSB1 c2VyIGlzIGF1dGhlbnRpY2F0ZWQsIChhIHByaXZpbGVnZWQNCisgICAgICAgcGFydCBvZikgdGhl IGFnZW50IGludm9rZXMgdGhlIDxsaW5rDQorLSAgICAgIGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9k LQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdl bnRSZXNwb25zZSI+QXV0aGVudGljYXRpb25BZ2VudFJlc3BvbnNlKCk8L2xpbms+DQorKyAgICAg IGxpbmtlbmQ9ImVnZ2RidXMtbWV0aG9kLQ0Kb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuQXV0 aG9yaXR5LkF1dGhlbnRpY2F0aW9uQWdlbnRSZXNwb25zZTIiPkF1dGhlbnRpY2F0aW9uQWdlbnRS ZXNwb25zZTIoKTwvbGluaz4NCisgICAgICAgbWV0aG9kLiAgVGhpcyBtZXRob2Qgc2hvdWxkIGJl IHRyZWF0ZWQgYXMgYW4gaW50ZXJuYWwNCistICAgICAgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBh bmQgY2FsbGVycyBzaG91bGQgdXNlIHRoZSBwdWJsaWMgc2hhcmVkDQorLSAgICAgIGxpYnJhcnkg QVBJIHRvIGludm9rZSBpdCwgd2hpY2ggY3VycmVudGx5IHVzZXMgYSBzZXR1aWQgaGVscGVyDQor LSAgICAgIHByb2dyYW0uDQorKyAgICAgIGltcGxlbWVudGF0aW9uIGRldGFpbCwgYW5kIGNhbGxl cnMgc2hvdWxkIHVzZSB0aGUNCisrICAgICAgPGxpbmsgbGlua2VuZD0iUG9sa2l0QWdlbnRTZXNz aW9uIj5Qb2xraXRBZ2VudFNlc3Npb248L2xpbms+IEFQSSB0byBpbnZva2UNCisrICAgICAgaXQs IHdoaWNoIGN1cnJlbnRseSB1c2VzIGEgc2V0dWlkIGhlbHBlciBwcm9ncmFtLg0KKyAgICAgPC9w YXJhPg0KKyAgICAgPHBhcmE+DQorICAgICAgIFRoZSA8bGluayBsaW5rZW5kPSJyZWYtYXV0aGVu dGljYXRpb24tYWdlbnQtYXBpIj5saWJwb2xraXQtYWdlbnQtMTwvbGluaz4NCitkaWZmIC0tZ2l0 IGEvc3JjL3BvbGtpdC9wb2xraXRhdXRob3JpdHkuYyBiL3NyYy9wb2xraXQvcG9sa2l0YXV0aG9y aXR5LmMNCitpbmRleCBmNDVhYmM0Li40ZTg4MmU2IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXQv cG9sa2l0YXV0aG9yaXR5LmMNCisrKysgYi9zcmMvcG9sa2l0L3BvbGtpdGF1dGhvcml0eS5jDQor QEAgLTEwMzgsNiArMTAzOCwxMCBAQCBwb2xraXRfYXV0aG9yaXR5X2NoZWNrX2F1dGhvcml6YXRp b25fc3luYyAoUG9sa2l0QXV0aG9yaXR5ICAgICAgICAgICAgICAgKmF1dGhvcg0KKyAgKg0KKyAg KiBBc3luY2hyb25vdXNseSByZWdpc3RlcnMgYW4gYXV0aGVudGljYXRpb24gYWdlbnQuDQorICAq DQorKyAqIE5vdGUgdGhhdCB0aGlzIHNob3VsZCBiZSBjYWxsZWQgYnkgdGhlIHNhbWUgZWZmZWN0 aXZlIFVJRCB3aGljaCB3aWxsIGJlDQorKyAqIHRoZSByZWFsIFVJRCB1c2luZyB0aGUgI1BvbGtp dEFnZW50U2Vzc2lvbiBBUEkgb3Igb3RoZXJ3aXNlIGNhbGxpbmcNCisrICogcG9sa2l0X2F1dGhv cml0eV9hdXRoZW50aWNhdGlvbl9hZ2VudF9yZXNwb25zZSgpLg0KKysgKg0KKyAgKiBXaGVuIHRo ZSBvcGVyYXRpb24gaXMgZmluaXNoZWQsIEBjYWxsYmFjayB3aWxsIGJlIGludm9rZWQgaW4gdGhl DQorICAqIDxsaW5rIGxpbmtlbmQ9ImctbWFpbi1jb250ZXh0LXB1c2gtdGhyZWFkLWRlZmF1bHQi PnRocmVhZC1kZWZhdWx0DQorICAqIG1haW4gbG9vcDwvbGluaz4gb2YgdGhlIHRocmVhZCB5b3Ug YXJlIGNhbGxpbmcgdGhpcyBtZXRob2QNCitAQCAtMTEyOSw3ICsxMTMzLDEzIEBAIHBvbGtpdF9h dXRob3JpdHlfcmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnRfZmluaXNoIChQb2xraXRBdXRo b3JpdHkgKmF1dGhvcml0DQorICAqIEBjYW5jZWxsYWJsZTogKGFsbG93LW5vbmUpOiBBICNHQ2Fu Y2VsbGFibGUgb3IgJU5VTEwuDQorICAqIEBlcnJvcjogKGFsbG93LW5vbmUpOiBSZXR1cm4gbG9j YXRpb24gZm9yIGVycm9yIG9yICVOVUxMLg0KKyAgKg0KKy0gKiBSZWdpc3RlcnMgYW4gYXV0aGVu dGljYXRpb24gYWdlbnQuIFRoZSBjYWxsaW5nIHRocmVhZCBpcyBibG9ja2VkDQorKyAqIFJlZ2lz dGVycyBhbiBhdXRoZW50aWNhdGlvbiBhZ2VudC4NCisrICoNCisrICogTm90ZSB0aGF0IHRoaXMg c2hvdWxkIGJlIGNhbGxlZCBieSB0aGUgc2FtZSBlZmZlY3RpdmUgVUlEIHdoaWNoIHdpbGwgYmUN CisrICogdGhlIHJlYWwgVUlEIHVzaW5nIHRoZSAjUG9sa2l0QWdlbnRTZXNzaW9uIEFQSSBvciBv dGhlcndpc2UgY2FsbGluZw0KKysgKiBwb2xraXRfYXV0aG9yaXR5X2F1dGhlbnRpY2F0aW9uX2Fn ZW50X3Jlc3BvbnNlKCkuDQorKyAqDQorKyAqIFRoZSBjYWxsaW5nIHRocmVhZCBpcyBibG9ja2Vk DQorICAqIHVudGlsIGEgcmVwbHkgaXMgcmVjZWl2ZWQuIFNlZQ0KKyAgKiBwb2xraXRfYXV0aG9y aXR5X3JlZ2lzdGVyX2F1dGhlbnRpY2F0aW9uX2FnZW50KCkgZm9yIHRoZQ0KKyAgKiBhc3luY2hy b25vdXMgdmVyc2lvbi4NCitAQCAtMTE3OCw2ICsxMTg4LDEwIEBAIHBvbGtpdF9hdXRob3JpdHlf cmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnRfc3luYyAoUG9sa2l0QXV0aG9yaXR5ICAgICAq YXV0aG9yDQorICAqDQorICAqIEFzeW5jaHJvbm91c2x5IHJlZ2lzdGVycyBhbiBhdXRoZW50aWNh dGlvbiBhZ2VudC4NCisgICoNCisrICogTm90ZSB0aGF0IHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBi eSB0aGUgc2FtZSBlZmZlY3RpdmUgVUlEIHdoaWNoIHdpbGwgYmUNCisrICogdGhlIHJlYWwgVUlE IHVzaW5nIHRoZSAjUG9sa2l0QWdlbnRTZXNzaW9uIEFQSSBvciBvdGhlcndpc2UgY2FsbGluZw0K KysgKiBwb2xraXRfYXV0aG9yaXR5X2F1dGhlbnRpY2F0aW9uX2FnZW50X3Jlc3BvbnNlKCkuDQor KyAqDQorICAqIFdoZW4gdGhlIG9wZXJhdGlvbiBpcyBmaW5pc2hlZCwgQGNhbGxiYWNrIHdpbGwg YmUgaW52b2tlZCBpbiB0aGUNCisgICogPGxpbmsgbGlua2VuZD0iZy1tYWluLWNvbnRleHQtcHVz aC10aHJlYWQtZGVmYXVsdCI+dGhyZWFkLWRlZmF1bHQNCisgICogbWFpbiBsb29wPC9saW5rPiBv ZiB0aGUgdGhyZWFkIHlvdSBhcmUgY2FsbGluZyB0aGlzIG1ldGhvZA0KK0BAIC0xMjkyLDcgKzEz MDYsMTMgQEAgcG9sa2l0X2F1dGhvcml0eV9yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudF93 aXRoX29wdGlvbnNfZmluaXNoIChQb2xraXRBdXRob3INCisgICogQGNhbmNlbGxhYmxlOiAoYWxs b3ctbm9uZSk6IEEgI0dDYW5jZWxsYWJsZSBvciAlTlVMTC4NCisgICogQGVycm9yOiAoYWxsb3ct bm9uZSk6IFJldHVybiBsb2NhdGlvbiBmb3IgZXJyb3Igb3IgJU5VTEwuDQorICAqDQorLSAqIFJl Z2lzdGVycyBhbiBhdXRoZW50aWNhdGlvbiBhZ2VudC4gVGhlIGNhbGxpbmcgdGhyZWFkIGlzIGJs b2NrZWQNCisrICogUmVnaXN0ZXJzIGFuIGF1dGhlbnRpY2F0aW9uIGFnZW50Lg0KKysgKg0KKysg KiBOb3RlIHRoYXQgdGhpcyBzaG91bGQgYmUgY2FsbGVkIGJ5IHRoZSBzYW1lIGVmZmVjdGl2ZSBV SUQgd2hpY2ggd2lsbCBiZQ0KKysgKiB0aGUgcmVhbCBVSUQgdXNpbmcgdGhlICNQb2xraXRBZ2Vu dFNlc3Npb24gQVBJIG9yIG90aGVyd2lzZSBjYWxsaW5nDQorKyAqIHBvbGtpdF9hdXRob3JpdHlf YXV0aGVudGljYXRpb25fYWdlbnRfcmVzcG9uc2UoKS4NCisrICoNCisrICogVGhlIGNhbGxpbmcg dGhyZWFkIGlzIGJsb2NrZWQNCisgICogdW50aWwgYSByZXBseSBpcyByZWNlaXZlZC4gU2VlDQor ICAqIHBvbGtpdF9hdXRob3JpdHlfcmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnRfd2l0aF9v cHRpb25zKCkgZm9yIHRoZQ0KKyAgKiBhc3luY2hyb25vdXMgdmVyc2lvbi4NCitkaWZmIC0tZ2l0 IGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50bGlzdGVuZXIuYyBiL3NyYy9wb2xraXRhZ2Vu dC9wb2xraXRhZ2VudGxpc3RlbmVyLmMNCitpbmRleCAwZDk3NTAxLi4xMGRiZmI5IDEwMDY0NA0K Ky0tLSBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGxpc3RlbmVyLmMNCisrKysgYi9zcmMv cG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRsaXN0ZW5lci5jDQorQEAgLTM3LDEwICszNyw3IEBADQor ICAqDQorICAqIFR5cGljYWxseSBhdXRoZW50aWNhdGlvbiBhZ2VudHMgdXNlICNQb2xraXRBZ2Vu dFNlc3Npb24gdG8NCisgICogYXV0aGVudGljYXRlIHVzZXJzICh2aWEgcGFzc3dvcmRzKSBhbmQg Y29tbXVuaWNhdGUgYmFjayB0aGUNCistICogYXV0aGVudGljYXRpb24gcmVzdWx0IHRvIHRoZSBQ b2xpY3lLaXQgZGFlbW9uLiAgVGhpcyBpcyBob3dldmVyIG5vdA0KKy0gKiByZXF1aXJlbWVudC4g RGVwZW5kaW5nIG9uIHRoZSBzeXN0ZW0gYW4gYXV0aGVudGljYXRpb24gYWdlbnQgbWF5DQorLSAq IHVzZSBvdGhlciBtZWFucyAoc3VjaCBhcyBhIFllcy9ObyBkaWFsb2cpIHRvIG9idGFpbiBzdWZm aWNpZW50DQorLSAqIGV2aWRlbmNlIHRoYXQgdGhlIHVzZXIgaXMgb25lIG9mIHRoZSByZXF1ZXN0 ZWQgaWRlbnRpdGllcy4NCisrICogYXV0aGVudGljYXRpb24gcmVzdWx0IHRvIHRoZSBQb2xpY3lL aXQgZGFlbW9uLg0KKyAgKg0KKyAgKiBUbyByZWdpc3RlciBhICNQb2xraXRBZ2VudExpc3RlbmVy IHdpdGggdGhlIFBvbGljeUtpdCBkYWVtb24sIHVzZQ0KKyAgKiBwb2xraXRfYWdlbnRfbGlzdGVu ZXJfcmVnaXN0ZXIoKSBvcg0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRi YWNrZW5kYXV0aG9yaXR5LmMgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kYXV0aG9y aXR5LmMNCitpbmRleCBkMWIxYTI1Li4xMGI4YWYzIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRi YWNrZW5kL3BvbGtpdGJhY2tlbmRhdXRob3JpdHkuYw0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5k L3BvbGtpdGJhY2tlbmRhdXRob3JpdHkuYw0KK0BAIC0zNDMsNiArMzQzLDcgQEAgcG9sa2l0X2Jh Y2tlbmRfYXV0aG9yaXR5X3VucmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnQgKFBvbGtpdEJh Y2tlbmRBdXRob3JpdHkNCisgICogcG9sa2l0X2JhY2tlbmRfYXV0aG9yaXR5X2F1dGhlbnRpY2F0 aW9uX2FnZW50X3Jlc3BvbnNlOg0KKyAgKiBAYXV0aG9yaXR5OiBBICNQb2xraXRCYWNrZW5kQXV0 aG9yaXR5Lg0KKyAgKiBAY2FsbGVyOiBUaGUgc3lzdGVtIGJ1cyBuYW1lIHRoYXQgaW5pdGlhdGVk IHRoZSBxdWVyeS4NCisrICogQHVpZDogVGhlIHJlYWwgVUlEIG9mIHRoZSByZWdpc3RlcmVkIGFn ZW50LCBvciAodWlkX3QpLTEgaWYgdW5rbm93bi4NCisgICogQGNvb2tpZTogVGhlIGNvb2tpZSBw YXNzZWQgdG8gdGhlIGF1dGhlbnRpY2F0aW9uIGFnZW50IGZyb20gdGhlIGF1dGhvcml0eS4NCisg ICogQGlkZW50aXR5OiBUaGUgaWRlbnRpdHkgdGhhdCB3YXMgYXV0aGVudGljYXRlZC4NCisgICog QGVycm9yOiBSZXR1cm4gbG9jYXRpb24gZm9yIGVycm9yIG9yICVOVUxMLg0KZGlmZiAtLWdpdCBh L3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL3BrZXhlYy1Xb3JrLWFyb3VuZC1zeXN0ZW1kLWlu amVjdGluZy1icm9rZW4tWERHX1JVTlQucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAu MTEzL3BrZXhlYy1Xb3JrLWFyb3VuZC1zeXN0ZW1kLWluamVjdGluZy1icm9rZW4tWERHX1JVTlQu cGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLmU4ZTliNmIxZA0K LS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvcGtleGVjLVdv cmstYXJvdW5kLXN5c3RlbWQtaW5qZWN0aW5nLWJyb2tlbi1YREdfUlVOVC5wYXRjaA0KQEAgLTAs MCArMSw3NiBAQA0KK0Zyb206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4NCitE YXRlOiBUaHUsIDIxIE5vdiAyMDEzIDE3OjM5OjM3IC0wNTAwDQorU3ViamVjdDogcGtleGVjOiBX b3JrIGFyb3VuZCBzeXN0ZW1kIGluamVjdGluZyBicm9rZW4gWERHX1JVTlRJTUVfRElSDQorDQor VGhpcyB3b3JrYXJvdW5kIGlzbid0IHRvbyBtdWNoIGNvZGUsIGFuZCBpdCdzIG9mdGVuIGJldHRl ciB0byBmaXggYnVncw0KK2luIHR3byBwbGFjZXMgYW55d2F5cy4NCisNCitGb3IgbW9yZSBpbmZv cm1hdGlvbjoNCisNCitTZWUgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD03NTM4ODINCitTZWUgaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9z eXN0ZW1kLWRldmVsLzIwMTMtTm92ZW1iZXIvMDE0MzcwLmh0bWwNCisNCitPcmlnaW46IHVwc3Ry ZWFtLCAwLjExMywgY29tbWl0Ojg2MzVmZmMxNmFlZmY2YTA3ZDY3NWY4NjFmZTBkZWEwM2VhODFk N2UNCistLS0NCisgc3JjL3Byb2dyYW1zL3BrZXhlYy5jIHwgMzMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcHJvZ3JhbXMvcGtleGVjLmMgYi9zcmMv cHJvZ3JhbXMvcGtleGVjLmMNCitpbmRleCA5YTA1NzBhLi41ZTk5MDQ0IDEwMDY0NA0KKy0tLSBh L3NyYy9wcm9ncmFtcy9wa2V4ZWMuYw0KKysrKyBiL3NyYy9wcm9ncmFtcy9wa2V4ZWMuYw0KK0BA IC0xMzksOCArMTM5LDIyIEBAIHBhbV9jb252ZXJzYXRpb25fZnVuY3Rpb24gKGludCBuLA0KKyAg IHJldHVybiBQQU1fQ09OVl9FUlI7DQorIH0NCisgDQorKy8qIEEgd29yayBhcm91bmQgZm9yOg0K KysgKiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTc1Mzg4Mg0K KysgKi8NCisrc3RhdGljIGdib29sZWFuDQorK3hkZ19ydW50aW1lX2Rpcl9pc19vd25lZF9ieSAo Y29uc3QgY2hhciAqcGF0aCwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlkX3QgICAg ICAgdGFyZ2V0X3VpZCkNCisrew0KKysgIHN0cnVjdCBzdGF0IHN0YnVmOw0KKysNCisrICByZXR1 cm4gc3RhdCAocGF0aCwgJnN0YnVmKSA9PSAwICYmDQorKyAgICBzdGJ1Zi5zdF91aWQgPT0gdGFy Z2V0X3VpZDsNCisrfQ0KKysNCisgc3RhdGljIGdib29sZWFuDQorLW9wZW5fc2Vzc2lvbiAoY29u c3QgZ2NoYXIgKnVzZXJfdG9fYXV0aCkNCisrb3Blbl9zZXNzaW9uIChjb25zdCBnY2hhciAqdXNl cl90b19hdXRoLA0KKysgICAgICAgICAgICB1aWRfdCAgICAgICAgdGFyZ2V0X3VpZCkNCisgew0K KyAgIGdib29sZWFuIHJldDsNCisgICBnaW50IHJjOw0KK0BAIC0xODIsNyArMTk2LDE5IEBAIG9w ZW5fc2Vzc2lvbiAoY29uc3QgZ2NoYXIgKnVzZXJfdG9fYXV0aCkNCisgICAgIHsNCisgICAgICAg Z3VpbnQgbjsNCisgICAgICAgZm9yIChuID0gMDsgZW52bGlzdFtuXTsgbisrKQ0KKy0gICAgICAg IHB1dGVudiAoZW52bGlzdFtuXSk7DQorKyAgICAgIHsNCisrICAgICAgICBjb25zdCBjaGFyICpl bnZpdGVtID0gZW52bGlzdFtuXTsNCisrICAgICAgICANCisrICAgICAgICBpZiAoZ19zdHJfaGFz X3ByZWZpeCAoZW52aXRlbSwgIlhER19SVU5USU1FX0RJUj0iKSkNCisrICAgICAgICAgIHsNCisr ICAgICAgICAgICAgY29uc3QgY2hhciAqZXEgPSBzdHJjaHIgKGVudml0ZW0sICc9Jyk7DQorKyAg ICAgICAgICAgIGdfYXNzZXJ0IChlcSk7DQorKyAgICAgICAgICAgIGlmICgheGRnX3J1bnRpbWVf ZGlyX2lzX293bmVkX2J5IChlcSArIDEsIHRhcmdldF91aWQpKQ0KKysgICAgICAgICAgICAgIGNv bnRpbnVlOw0KKysgICAgICAgICAgfQ0KKysNCisrICAgICAgICBwdXRlbnYgKGVudmxpc3Rbbl0p Ow0KKysgICAgICB9DQorICAgICAgIGZyZWUgKGVudmxpc3QpOw0KKyAgICAgfQ0KKyANCitAQCAt ODkyLDcgKzkxOCw4IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pDQorICAgICogQXMg ZXZpZGVudCBhYm92ZSwgbmVpdGhlciBzdSgxKSAoYW5kLCBmb3IgdGhhdCBtYXR0ZXIsIG5vciBz dWRvKDgpKSBkb2VzIHRoaXMuDQorICAgICovDQorICNpZmRlZiBQT0xLSVRfQVVUSEZXX1BBTQ0K Ky0gIGlmICghb3Blbl9zZXNzaW9uIChwdy0+cHdfbmFtZSkpDQorKyAgaWYgKCFvcGVuX3Nlc3Np b24gKHB3LT5wd19uYW1lLA0KKysgICAgICAgICAgICAgICAgICAgcHctPnB3X3VpZCkpDQorICAg ICB7DQorICAgICAgIGdvdG8gb3V0Ow0KKyAgICAgfQ0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9s a2l0LTAuMTA1LzAuMTEzL3BvbGtpdGQtRml4LXByb2JsZW0td2l0aC1yZW1vdmluZy1ub24tZXhp c3RlbnQtc291cmMucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL3BvbGtpdGQt Rml4LXByb2JsZW0td2l0aC1yZW1vdmluZy1ub24tZXhpc3RlbnQtc291cmMucGF0Y2gNCm5ldyBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjE3MzcwMjBmYw0KLS0tIC9kZXYvbnVs bA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvcG9sa2l0ZC1GaXgtcHJvYmxlbS13 aXRoLXJlbW92aW5nLW5vbi1leGlzdGVudC1zb3VyYy5wYXRjaA0KQEAgLTAsMCArMSwyMyBAQA0K K0Zyb206IEx1a2FzeiBTa2Fsc2tpIDxsLnNrYWxza2lAc2Ftc3VuZy5jb20+DQorRGF0ZTogVHVl LCAyMiBBcHIgMjAxNCAxMToxMToyMCArMDIwMA0KK1N1YmplY3Q6IHBvbGtpdGQ6IEZpeCBwcm9i bGVtIHdpdGggcmVtb3Zpbmcgbm9uLWV4aXN0ZW50IHNvdXJjZQ0KKw0KK0J1ZzogaHR0cHM6Ly9i dWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNjcNCitBcHBsaWVkLXVwc3Ry ZWFtOiAwLjExMywgY29tbWl0OjNjYTRlMDBjN2UwMDNlYTgwYWE5NmI0OTliYzdjZDgzMjQ2ZDcx MDgNCistLS0NCisgc3JjL3BvbGtpdGQvbWFpbi5jIHwgMiArLQ0KKyAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtp dGQvbWFpbi5jIGIvc3JjL3BvbGtpdGQvbWFpbi5jDQoraW5kZXggYjIxNzIzZi4uZjE4ZmI5MSAx MDA2NDQNCistLS0gYS9zcmMvcG9sa2l0ZC9tYWluLmMNCisrKysgYi9zcmMvcG9sa2l0ZC9tYWlu LmMNCitAQCAtOTMsNyArOTMsNyBAQCBvbl9zaWdpbnQgKGdwb2ludGVyIHVzZXJfZGF0YSkNCisg ew0KKyAgIGdfcHJpbnQgKCJIYW5kbGluZyBTSUdJTlRcbiIpOw0KKyAgIGdfbWFpbl9sb29wX3F1 aXQgKGxvb3ApOw0KKy0gIHJldHVybiBGQUxTRTsNCisrICByZXR1cm4gVFJVRTsNCisgfQ0KKyAN CisgaW50DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvc2Vzc2lvbm1v bml0b3Itc3lzdGVtZC1EZWR1cGxpY2F0ZS1jb2RlLXBhdGhzLnBhdGNoIGIvcGF0Y2hlcy9wb2xr aXQtDQowLjEwNS8wLjExMy9zZXNzaW9ubW9uaXRvci1zeXN0ZW1kLURlZHVwbGljYXRlLWNvZGUt cGF0aHMucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLmU3ZDBh NGI3Zg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvc2Vz c2lvbm1vbml0b3Itc3lzdGVtZC1EZWR1cGxpY2F0ZS1jb2RlLXBhdGhzLnBhdGNoDQpAQCAtMCww ICsxLDEwNCBAQA0KK0Zyb206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4NCitE YXRlOiBUaHUsIDcgTm92IDIwMTMgMTU6NTc6NTAgLTA1MDANCitTdWJqZWN0OiBzZXNzaW9ubW9u aXRvci1zeXN0ZW1kOiBEZWR1cGxpY2F0ZSBjb2RlIHBhdGhzDQorDQorV2UgaGFkIHRoZSBjb2Rl IHRvIGdvIGZyb20gcGlkIC0+IHNlc3Npb24gZHVwbGljYXRlZC4gIElmIHdlIGhhdmUgYQ0KK1Bv bGtpdFN5c3RlbUJ1c05hbWUsIGNvbnZlcnQgaXQgdG8gYSBQb2xraXRVbml4UHJvY2Vzcy4NCitU aGVuIHdlIGNhbiBkbyBQb2xraXRVbml4UHJvY2VzcyAtPiBwaWQgLT4gc2Vzc2lvbiBpbiBvbmUg cGxhY2UuDQorDQorVGhpcyBpcyBqdXN0IGEgY29kZSBjbGVhbnVwLg0KKw0KK0J1ZzogaHR0cHM6 Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MzgNCitPcmlnaW46IHVw c3RyZWFtLCAwLjExMywgY29tbWl0OjI2ZDBjMDU3ODIxMWZiOTZmYzhmZTc1NTcyYWExMWFkNmVj YmY5YjgNCistLS0NCisgLi4uL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci1zeXN0ZW1kLmMg ICAgICAgICAgfCA2MyArKysrKysrKy0tLS0tLS0tLS0tLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCAy MiBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3Bv bGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLXN5c3RlbWQuYyBiL3NyYy9w b2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci0NCnN5c3RlbWQuYw0KK2lu ZGV4IDAxODUzMTAuLjc1NmI3MjggMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9s a2l0YmFja2VuZHNlc3Npb25tb25pdG9yLXN5c3RlbWQuYw0KKysrKyBiL3NyYy9wb2xraXRiYWNr ZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci1zeXN0ZW1kLmMNCitAQCAtMzEzLDYxICsz MTMsNDIgQEAgcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF9zZXNzaW9uX2Zvcl9z dWJqZWN0IChQb2xraXRCYWNrZW5kU2Vzc2lvbk1vbmkNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAg ICAgICAgKnN1YmplY3QsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgICAgICAgICAgICAgKiplcnJvcikNCisg ew0KKy0gIFBvbGtpdFN1YmplY3QgKnNlc3Npb247DQorLQ0KKy0gIHNlc3Npb24gPSBOVUxMOw0K KysgIFBvbGtpdFVuaXhQcm9jZXNzICp0bXBfcHJvY2VzcyA9IE5VTEw7DQorKyAgUG9sa2l0VW5p eFByb2Nlc3MgKnByb2Nlc3MgPSBOVUxMOw0KKysgIFBvbGtpdFN1YmplY3QgKnNlc3Npb24gPSBO VUxMOw0KKysgIGNoYXIgKnNlc3Npb25faWQgPSBOVUxMOw0KKysgIHBpZF90IHBpZDsNCisgDQor ICAgaWYgKFBPTEtJVF9JU19VTklYX1BST0NFU1MgKHN1YmplY3QpKQ0KKy0gICAgew0KKy0gICAg ICBnY2hhciAqc2Vzc2lvbl9pZDsNCistICAgICAgcGlkX3QgcGlkOw0KKy0NCistICAgICAgcGlk ID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfcGlkIChQT0xLSVRfVU5JWF9QUk9DRVNTIChzdWJq ZWN0KSk7DQorLSAgICAgIGlmIChzZF9waWRfZ2V0X3Nlc3Npb24gKHBpZCwgJnNlc3Npb25faWQp IDwgMCkNCistICAgICAgICBnb3RvIG91dDsNCistDQorLSAgICAgIHNlc3Npb24gPSBwb2xraXRf dW5peF9zZXNzaW9uX25ldyAoc2Vzc2lvbl9pZCk7DQorLSAgICAgIGZyZWUgKHNlc3Npb25faWQp Ow0KKy0gICAgfQ0KKysgICAgcHJvY2VzcyA9IFBPTEtJVF9VTklYX1BST0NFU1MgKHN1YmplY3Qp OyAvKiBXZSBhbHJlYWR5IGhhdmUgYSBwcm9jZXNzICovDQorICAgZWxzZSBpZiAoUE9MS0lUX0lT X1NZU1RFTV9CVVNfTkFNRSAoc3ViamVjdCkpDQorICAgICB7DQorLSAgICAgIGd1aW50MzIgcGlk Ow0KKy0gICAgICBnY2hhciAqc2Vzc2lvbl9pZDsNCistICAgICAgR1ZhcmlhbnQgKnJlc3VsdDsN CistDQorLSAgICAgIHJlc3VsdCA9IGdfZGJ1c19jb25uZWN0aW9uX2NhbGxfc3luYyAobW9uaXRv ci0+c3lzdGVtX2J1cywNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAib3JnLmZyZWVkZXNrdG9wLkRCdXMiLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIvb3JnL2ZyZWVkZXNrdG9wL0RCdXMiLA0KKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3AuREJ1cyIs DQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldENvbm5l Y3Rpb25Vbml4UHJvY2Vzc0lEIiwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHMpIiwgcG9sa2l0X3N5c3RlbV9idXNfbmFtZV9n ZXRfbmFtZQ0KKFBPTEtJVF9TWVNURU1fQlVTX05BTUUgKHN1YmplY3QpKSksDQorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19WQVJJQU5UX1RZUEUgKCIodSki KSwNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNf Q0FMTF9GTEFHU19OT05FLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0xLCAvKiB0aW1lb3V0X21zZWMgKi8NCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOVUxMLCAvKiBHQ2FuY2VsbGFibGUgKi8NCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7DQorLSAgICAgIGlmIChy ZXN1bHQgPT0gTlVMTCkNCistICAgICAgICBnb3RvIG91dDsNCistICAgICAgZ192YXJpYW50X2dl dCAocmVzdWx0LCAiKHUpIiwgJnBpZCk7DQorLSAgICAgIGdfdmFyaWFudF91bnJlZiAocmVzdWx0 KTsNCistDQorLSAgICAgIGlmIChzZF9waWRfZ2V0X3Nlc3Npb24gKHBpZCwgJnNlc3Npb25faWQp IDwgMCkNCistICAgICAgICBnb3RvIG91dDsNCistDQorLSAgICAgIHNlc3Npb24gPSBwb2xraXRf dW5peF9zZXNzaW9uX25ldyAoc2Vzc2lvbl9pZCk7DQorLSAgICAgIGZyZWUgKHNlc3Npb25faWQp Ow0KKysgICAgICAvKiBDb252ZXJ0IGJ1cyBuYW1lIHRvIHByb2Nlc3MgKi8NCisrICAgICAgdG1w X3Byb2Nlc3MgPSAoUG9sa2l0VW5peFByb2Nlc3MqKXBvbGtpdF9zeXN0ZW1fYnVzX25hbWVfZ2V0 X3Byb2Nlc3Nfc3luYyAoUE9MS0lUX1NZU1RFTV9CVVNfTkFNRSAoc3ViamVjdCksDQpOVUxMLCBl cnJvcik7DQorKyAgICAgIGlmICghdG1wX3Byb2Nlc3MpDQorKyAgICAgIGdvdG8gb3V0Ow0KKysg ICAgICBwcm9jZXNzID0gdG1wX3Byb2Nlc3M7DQorICAgICB9DQorICAgZWxzZQ0KKyAgICAgew0K KyAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsDQorICAgICAgICAgICAgICAgICAgICBQT0xLSVRf RVJST1IsDQorICAgICAgICAgICAgICAgICAgICBQT0xLSVRfRVJST1JfTk9UX1NVUFBPUlRFRCwN CistICAgICAgICAgICAgICAgICAgICJDYW5ub3QgZ2V0IHVzZXIgZm9yIHN1YmplY3Qgb2YgdHlw ZSAlcyIsDQorKyAgICAgICAgICAgICAgICAgICAiQ2Fubm90IGdldCBzZXNzaW9uIGZvciBzdWJq ZWN0IG9mIHR5cGUgJXMiLA0KKyAgICAgICAgICAgICAgICAgICAgZ190eXBlX25hbWUgKEdfVFlQ RV9GUk9NX0lOU1RBTkNFIChzdWJqZWN0KSkpOw0KKyAgICAgfQ0KKyANCistIG91dDoNCisrICAv KiBOb3cgZG8gcHJvY2VzcyAtPiBwaWQgLT4gc2Vzc2lvbiAqLw0KKysgIGdfYXNzZXJ0IChwcm9j ZXNzICE9IE5VTEwpOw0KKysgIHBpZCA9IHBvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X3BpZCAocHJv Y2Vzcyk7DQorIA0KKysgIGlmIChzZF9waWRfZ2V0X3Nlc3Npb24gKHBpZCwgJnNlc3Npb25faWQp IDwgMCkNCisrICAgIGdvdG8gb3V0Ow0KKysgIA0KKysgIHNlc3Npb24gPSBwb2xraXRfdW5peF9z ZXNzaW9uX25ldyAoc2Vzc2lvbl9pZCk7DQorKyAgZnJlZSAoc2Vzc2lvbl9pZCk7DQorKyBvdXQ6 DQorKyAgaWYgKHRtcF9wcm9jZXNzKSBnX29iamVjdF91bnJlZiAodG1wX3Byb2Nlc3MpOw0KKyAg IHJldHVybiBzZXNzaW9uOw0KKyB9DQorIA0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAu MTA1LzAuMTEzL3Nlc3Npb25tb25pdG9yLXN5c3RlbWQtVXNlLXNkX3VpZF9nZXRfc3RhdGUtdG8t Y2hlY2sucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0NCjAuMTA1LzAuMTEzL3Nlc3Npb25tb25pdG9y LXN5c3RlbWQtVXNlLXNkX3VpZF9nZXRfc3RhdGUtdG8tY2hlY2sucGF0Y2gNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjdjMGNhNGJiNA0KLS0tIC9kZXYvbnVsbA0KKysr IGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTMvc2Vzc2lvbm1vbml0b3Itc3lzdGVtZC1Vc2Ut c2RfdWlkX2dldF9zdGF0ZS10by1jaGVjay5wYXRjaA0KQEAgLTAsMCArMSw3MyBAQA0KK0Zyb206 IFBoaWxpcCBXaXRobmFsbCA8cGhpbGlwLndpdGhuYWxsQGNvbGxhYm9yYS5jby51az4NCitEYXRl OiBUdWUsIDIgSnVuIDIwMTUgMTY6MTk6NTEgKzAxMDANCitTdWJqZWN0OiBzZXNzaW9ubW9uaXRv ci1zeXN0ZW1kOiBVc2Ugc2RfdWlkX2dldF9zdGF0ZSgpIHRvIGNoZWNrIHNlc3Npb24NCisgYWN0 aXZpdHkNCitNSU1FLVZlcnNpb246IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD0idXRmLTgiDQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0KK0luc3Rl YWQgb2YgdXNpbmcgc2RfcGlkX2dldF9zZXNzaW9uKCkgdGhlbiBzZF9zZXNzaW9uX2lzX2FjdGl2 ZSgpIHRvDQorZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaXMgYWN0aXZlLCB1c2Ugc2RfdWlk X2dldF9zdGF0ZSgpIGRpcmVjdGx5Lg0KK1RoaXMgZ2V0cyB0aGUgbWF4aW11bSBvZiB0aGUgc3Rh dGVzIG9mIGFsbCB0aGUgdXNlcuKAmXMgc2Vzc2lvbnMsIHJhdGhlcg0KK3RoYW4gdGhlIHN0YXRl IG9mIHRoZSBzZXNzaW9uIGNvbnRhaW5pbmcgdGhlIHN1YmplY3QgcHJvY2Vzcy4gU2luY2UgdGhl DQordXNlciBpcyB0aGUgc2VjdXJpdHkgYm91bmRhcnksIHRoaXMgaXMgZmluZS4NCisNCitUaGlz IGNoYW5nZSBpcyBuZWNlc3NhcnkgZm9yIGBzeXN0ZW1kIC0tdXNlcmAgc2Vzc2lvbnMsIHdoZXJl IG1vc3QgdXNlcg0KK2NvZGUgd2lsbCBiZSBmb3JrZWQgb2ZmIHVzZXJALnNlcnZpY2UsIHJhdGhl ciB0aGFuIHJ1bm5pbmcgaW5zaWRlIHRoZQ0KK2xvZ2luZCBzZXNzaW9uICh3aGV0aGVyIHRoYXQg YmUgYSBmb3JlZ3JvdW5kL2FjdGl2ZSBvciBiYWNrZ3JvdW5kL29ubGluZQ0KK3Nlc3Npb24pLg0K Kw0KK1BvbGljeS13aXNlLCB0aGUgY2hhbmdlIGlzIGZyb20gY2hlY2tpbmcgd2hldGhlciB0aGUg c3ViamVjdCBwcm9jZXNzIGlzDQoraW4gYW4gYWN0aXZlIHNlc3Npb247IHRvIGNoZWNraW5nIHdo ZXRoZXIgdGhlIHN1YmplY3QgcHJvY2VzcyBpcyBvd25lZA0KK2J5IGEgdXNlciB3aXRoIGF0IGxl YXN0IG9uZSBhY3RpdmUgc2Vzc2lvbi4NCisNCitCdWc6IGh0dHBzOi8vYnVncy5mcmVlZGVza3Rv cC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzU4DQorQXBwbGllZC11cHN0cmVhbTogMC4xMTMsIGNv bW1pdDphMjk2NTNmZmE5OWUwODA5ZTE1YWEzNGFmY2Q3YjJkZjg1OTM4NzFjDQorQnVnLURlYmlh bjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzc5OTg4DQorLS0tDQorIC4uLi9wb2xraXRiYWNr ZW5kc2Vzc2lvbm1vbml0b3Itc3lzdGVtZC5jICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysr KysrKysrLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lv bm1vbml0b3Itc3lzdGVtZC5jIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Np b25tb25pdG9yLQ0Kc3lzdGVtZC5jDQoraW5kZXggZWJkMDVjZS4uNmJkNTE3YSAxMDA2NDQNCist LS0gYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3Itc3lzdGVt ZC5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9y LXN5c3RlbWQuYw0KK0BAIC0zOTEsNiArMzkxLDM3IEBAIGdib29sZWFuDQorIHBvbGtpdF9iYWNr ZW5kX3Nlc3Npb25fbW9uaXRvcl9pc19zZXNzaW9uX2FjdGl2ZSAoUG9sa2l0QmFja2VuZFNlc3Np b25Nb25pdG9yICptb25pdG9yLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBvbGtpdFN1YmplY3QgICAgICAgICAgICAgICAqc2Vzc2lvbikNCisg ew0KKy0gIHJldHVybiBzZF9zZXNzaW9uX2lzX2FjdGl2ZSAocG9sa2l0X3VuaXhfc2Vzc2lvbl9n ZXRfc2Vzc2lvbl9pZCAoUE9MS0lUX1VOSVhfU0VTU0lPTiAoc2Vzc2lvbikpKTsNCisrICBjb25z dCBjaGFyICpzZXNzaW9uX2lkOw0KKysgIGNoYXIgKnN0YXRlOw0KKysgIHVpZF90IHVpZDsNCisr ICBnYm9vbGVhbiBpc19hY3RpdmUgPSBGQUxTRTsNCisrDQorKyAgc2Vzc2lvbl9pZCA9IHBvbGtp dF91bml4X3Nlc3Npb25fZ2V0X3Nlc3Npb25faWQgKFBPTEtJVF9VTklYX1NFU1NJT04gKHNlc3Np b24pKTsNCisrDQorKyAgZ19kZWJ1ZyAoIkNoZWNraW5nIHdoZXRoZXIgc2Vzc2lvbiAlcyBpcyBh Y3RpdmUuIiwgc2Vzc2lvbl9pZCk7DQorKw0KKysgIC8qIENoZWNrIHdoZXRoZXIgKmFueSogb2Yg dGhlIHVzZXIncyBjdXJyZW50IHNlc3Npb25zIGFyZSBhY3RpdmUuICovDQorKyAgaWYgKHNkX3Nl c3Npb25fZ2V0X3VpZCAoc2Vzc2lvbl9pZCwgJnVpZCkgPCAwKQ0KKysgICAgZ290byBmYWxsYmFj azsNCisrDQorKyAgZ19kZWJ1ZyAoIlNlc3Npb24gJXMgaGFzIFVJRCAldS4iLCBzZXNzaW9uX2lk LCB1aWQpOw0KKysNCisrICBpZiAoc2RfdWlkX2dldF9zdGF0ZSAodWlkLCAmc3RhdGUpIDwgMCkN CisrICAgIGdvdG8gZmFsbGJhY2s7DQorKw0KKysgIGdfZGVidWcgKCJVSUQgJXUgaGFzIHN0YXRl ICVzLiIsIHVpZCwgc3RhdGUpOw0KKysNCisrICBpc19hY3RpdmUgPSAoZ19zdHJjbXAwIChzdGF0 ZSwgImFjdGl2ZSIpID09IDApOw0KKysgIGZyZWUgKHN0YXRlKTsNCisrDQorKyAgcmV0dXJuIGlz X2FjdGl2ZTsNCisrDQorK2ZhbGxiYWNrOg0KKysgIC8qIEZhbGwgYmFjayB0byBjaGVja2luZyB0 aGUgc2Vzc2lvbi4gVGhpcyBpcyBub3QgaWRlYWwsIHNpbmNlIHRoZSB1c2VyDQorKyAgICogbWln aHQgaGF2ZSBtdWx0aXBsZSBzZXNzaW9ucywgYW5kIHdlIGNhbm5vdCBndWFyYW50ZWUgdG8gaGF2 ZSBjaG9zZW4NCisrICAgKiB0aGUgYWN0aXZlIG9uZS4NCisrICAgKg0KKysgICAqIFNlZTogaHR0 cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNTguICovDQorKyAg cmV0dXJuIHNkX3Nlc3Npb25faXNfYWN0aXZlIChzZXNzaW9uX2lkKTsNCisgfQ0KKyANCmRpZmYg LS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExMy9zZXNzaW9ubW9uaXRvci1zeXN0ZW1k LXByZXBhcmUtZm9yLUQtQnVzLXVzZXItYnVzLW1vLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtDQow LjEwNS8wLjExMy9zZXNzaW9ubW9uaXRvci1zeXN0ZW1kLXByZXBhcmUtZm9yLUQtQnVzLXVzZXIt YnVzLW1vLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi42YjA5 Y2U3OWENCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTEzL3Nl c3Npb25tb25pdG9yLXN5c3RlbWQtcHJlcGFyZS1mb3ItRC1CdXMtdXNlci1idXMtbW8ucGF0Y2gN CkBAIC0wLDAgKzEsODkgQEANCitGcm9tOiBLYXkgU2lldmVycyA8a2F5QHZyZnkub3JnPg0KK0Rh dGU6IE1vbiwgMTkgTWF5IDIwMTQgMTA6MTk6NDkgKzA5MDANCitTdWJqZWN0OiBzZXNzaW9ubW9u aXRvci1zeXN0ZW1kOiBwcmVwYXJlIGZvciBELUJ1cyAidXNlciBidXMiIG1vZGVsDQorDQorSW4g dGhlIEQtQnVzICJ1c2VyIGJ1cyIgbW9kZWwsIGFsbCBzZXNzaW9ucyBvZiBhIHVzZXIgc2hhcmUg dGhlIHNhbWUNCitELUJ1cyBpbnN0YW5jZSwgYSBwb2xraXQgcmVxdWVzdGluZyBwcm9jZXNzIG1p Z2h0IGxpdmUgb3V0c2lkZSB0aGUNCitsb2dpbiBzZXNzaW9uIHdoaWNoIHJlZ2lzdGVyZWQgdGhl IHVzZXIncyBwb2xraXQgYWdlbnQuDQorDQorSW4gY2FzZSBhIHBvbGtpdCByZXF1ZXN0aW5nIHBy b2Nlc3MgaXMgbm90IHBhcnQgb2YgdGhlIHVzZXIncyBsb2dpbg0KK3Nlc3Npb24sIHdlIGFzayBz eXN0ZW1kLWxvZ2luZCBmb3IgdGhlIHVzZXIncyAiZGlzcGxheSIgc2Vzc2lvbg0KK2luc3RlYWQu DQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD03 ODkwNQ0KK0J1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc3OTk4OA0KK0FwcGxp ZWQtdXBzdHJlYW06IDAuMTEzLCBjb21taXQ6YTY4ZjVkZmQ3NjYyNzY3YjdiOTgyMjA5MGI3MGJj NWJkMTQ1YzUwYw0KK1tzbWN2OiBiYWNrcG9ydCBjb25maWd1cmUuYWMgY2hhbmdlczsgZmFpbCB3 aXRoICNlcnJvciBpZiB0aGUgcmVxdWlyZWQNCitBUEkgaXMgbm90IGZvdW5kXQ0KKy0tLQ0KKyBj b25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr Kw0KKyAuLi4vcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLXN5c3RlbWQuYyAgICAgICAgICB8 IDI5ICsrKysrKysrKysrKysrKysrKy0tLS0NCisgMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9j b25maWd1cmUuYWMNCitpbmRleCBmNGEwYzQxLi5hYTI3NjBmIDEwMDY0NA0KKy0tLSBhL2NvbmZp Z3VyZS5hYw0KKysrKyBiL2NvbmZpZ3VyZS5hYw0KK0BAIC0xNjUsNiArMTY1LDEwIEBAIGlmIHRl c3QgIiRlbmFibGVfc3lzdGVtZCIgIT0gIm5vIjsgdGhlbg0KKyAgICAgICAgICAgICAgICAgICAg IGhhdmVfc3lzdGVtZD1ubykNCisgICBpZiB0ZXN0ICIkaGF2ZV9zeXN0ZW1kIiA9ICJ5ZXMiOyB0 aGVuDQorICAgICBTRVNTSU9OX1RSQUNLSU5HPXN5c3RlbWQNCisrICAgIHNhdmVfTElCUz0kTElC Uw0KKysgICAgTElCUz0kU1lTVEVNRF9MSUJTDQorKyAgICBBQ19DSEVDS19GVU5DUyhzZF91aWRf Z2V0X2Rpc3BsYXkpDQorKyAgICBMSUJTPSRzYXZlX0xJQlMNCisgICBlbHNlDQorICAgICBpZiB0 ZXN0ICIkZW5hYmxlX3N5c3RlbWQiID0gInllcyI7IHRoZW4NCisgICAgICAgQUNfTVNHX0VSUk9S KFtzeXN0ZW1kIHN1cHBvcnQgcmVxdWVzdGVkIGJ1dCBsaWJzeXN0ZW1kLWxvZ2luMSBsaWJyYXJ5 IG5vdCBmb3VuZF0pDQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tl bmRzZXNzaW9ubW9uaXRvci1zeXN0ZW1kLmMgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNr ZW5kc2Vzc2lvbm1vbml0b3ItDQpzeXN0ZW1kLmMNCitpbmRleCA3NTZiNzI4Li5lYmQwNWNlIDEw MDY0NA0KKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRv ci1zeXN0ZW1kLmMNCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lv bm1vbml0b3Itc3lzdGVtZC5jDQorQEAgLTMxOCw2ICszMTgsOSBAQCBwb2xraXRfYmFja2VuZF9z ZXNzaW9uX21vbml0b3JfZ2V0X3Nlc3Npb25fZm9yX3N1YmplY3QgKFBvbGtpdEJhY2tlbmRTZXNz aW9uTW9uaQ0KKyAgIFBvbGtpdFN1YmplY3QgKnNlc3Npb24gPSBOVUxMOw0KKyAgIGNoYXIgKnNl c3Npb25faWQgPSBOVUxMOw0KKyAgIHBpZF90IHBpZDsNCisrI2lmIEhBVkVfU0RfVUlEX0dFVF9E SVNQTEFZDQorKyAgdWlkX3QgdWlkOw0KKysjZW5kaWYNCisgDQorICAgaWYgKFBPTEtJVF9JU19V TklYX1BST0NFU1MgKHN1YmplY3QpKQ0KKyAgICAgcHJvY2VzcyA9IFBPTEtJVF9VTklYX1BST0NF U1MgKHN1YmplY3QpOyAvKiBXZSBhbHJlYWR5IGhhdmUgYSBwcm9jZXNzICovDQorQEAgLTMzOCwx NiArMzQxLDMyIEBAIHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfc2Vzc2lvbl9m b3Jfc3ViamVjdCAoUG9sa2l0QmFja2VuZFNlc3Npb25Nb25pDQorICAgICAgICAgICAgICAgICAg ICBnX3R5cGVfbmFtZSAoR19UWVBFX0ZST01fSU5TVEFOQ0UgKHN1YmplY3QpKSk7DQorICAgICB9 DQorIA0KKy0gIC8qIE5vdyBkbyBwcm9jZXNzIC0+IHBpZCAtPiBzZXNzaW9uICovDQorKyAgLyog Tm93IGRvIHByb2Nlc3MgLT4gcGlkIC0+IHNhbWUgc2Vzc2lvbiAqLw0KKyAgIGdfYXNzZXJ0IChw cm9jZXNzICE9IE5VTEwpOw0KKyAgIHBpZCA9IHBvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X3BpZCAo cHJvY2Vzcyk7DQorIA0KKy0gIGlmIChzZF9waWRfZ2V0X3Nlc3Npb24gKHBpZCwgJnNlc3Npb25f aWQpIDwgMCkNCisrICBpZiAoc2RfcGlkX2dldF9zZXNzaW9uIChwaWQsICZzZXNzaW9uX2lkKSA+ PSAwKQ0KKysgICAgew0KKysgICAgICBzZXNzaW9uID0gcG9sa2l0X3VuaXhfc2Vzc2lvbl9uZXcg KHNlc3Npb25faWQpOw0KKysgICAgICBnb3RvIG91dDsNCisrICAgIH0NCisrDQorKyNpZiBIQVZF X1NEX1VJRF9HRVRfRElTUExBWQ0KKysgIC8qIE5vdyBkbyBwcm9jZXNzIC0+IHVpZCAtPiBncmFw aGljYWwgc2Vzc2lvbiAoc3lzdGVtZCB2ZXJzaW9uIDIxMykqLw0KKysgIGlmIChzZF9waWRfZ2V0 X293bmVyX3VpZCAocGlkLCAmdWlkKSA8IDApDQorICAgICBnb3RvIG91dDsNCistICANCistICBz ZXNzaW9uID0gcG9sa2l0X3VuaXhfc2Vzc2lvbl9uZXcgKHNlc3Npb25faWQpOw0KKy0gIGZyZWUg KHNlc3Npb25faWQpOw0KKysNCisrICBpZiAoc2RfdWlkX2dldF9kaXNwbGF5ICh1aWQsICZzZXNz aW9uX2lkKSA+PSAwKQ0KKysgICAgew0KKysgICAgICBzZXNzaW9uID0gcG9sa2l0X3VuaXhfc2Vz c2lvbl9uZXcgKHNlc3Npb25faWQpOw0KKysgICAgICBnb3RvIG91dDsNCisrICAgIH0NCisrI2Vs c2UNCisrI2Vycm9yIERlYmlhbiBzaG91bGQgaGF2ZSBzZF91aWRfZ2V0X2Rpc3BsYXkoKQ0KKysj ZW5kaWYNCisrDQorICBvdXQ6DQorKyAgZnJlZSAoc2Vzc2lvbl9pZCk7DQorICAgaWYgKHRtcF9w cm9jZXNzKSBnX29iamVjdF91bnJlZiAodG1wX3Byb2Nlc3MpOw0KKyAgIHJldHVybiBzZXNzaW9u Ow0KKyB9DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTQvQWRkLWdldHRl eHQtc3VwcG9ydC1mb3ItLnBvbGljeS1maWxlcy5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1 LzAuMTE0L0FkZC0NCmdldHRleHQtc3VwcG9ydC1mb3ItLnBvbGljeS1maWxlcy5wYXRjaA0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uMDI1NDAzZjhmDQotLS0gL2Rldi9u dWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExNC9BZGQtZ2V0dGV4dC1zdXBwb3J0 LWZvci0ucG9saWN5LWZpbGVzLnBhdGNoDQpAQCAtMCwwICsxLDU4IEBADQorRnJvbTogTWF0dGhp YXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+DQorRGF0ZTogRnJpLCAxNSBKdWwgMjAxNiAx MToxMjozNSAtMDQwMA0KK1N1YmplY3Q6IEFkZCBnZXR0ZXh0IHN1cHBvcnQgZm9yIC5wb2xpY3kg ZmlsZXMNCisNCitnZXR0ZXh0IGNhbiBleHRyYWN0IHN0cmluZ3MgZnJvbSBhbmQgbWVyZ2UgdGhl bSBiYWNrIGludG8geG1sDQorZmlsZSBmb3JtYXRzLCB3aXRoIHRoZSBoZWxwIG9mIC5pdHMgZmls ZXMuDQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9p ZD05Njk0MA0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTE0LCBjb21taXQ6Yzc4ODE5MjQ1ZmY4YTI3 MGY5N2M5ZjgwMDc3M2U3Mjc5MThiZTgzOA0KKy0tLQ0KKyBkYXRhL01ha2VmaWxlLmFtIHwgNSAr KysrKw0KKyBkYXRhL3BvbGtpdC5pdHMgIHwgNyArKysrKysrDQorIGRhdGEvcG9sa2l0LmxvYyAg fCA2ICsrKysrKw0KKyAzIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKykNCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGRhdGEvcG9sa2l0Lml0cw0KKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGF0YS9w b2xraXQubG9jDQorDQorZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2Vm aWxlLmFtDQoraW5kZXggZjBiZWViYS4uZTFhNjBhYSAxMDA2NDQNCistLS0gYS9kYXRhL01ha2Vm aWxlLmFtDQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQ0KK0BAIC0yMCw2ICsyMCwxMSBAQCBlbmRp Zg0KKyBwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnDQorIHBrZ2NvbmZpZ19EQVRB ID0gcG9sa2l0LWdvYmplY3QtMS5wYyBwb2xraXQtYmFja2VuZC0xLnBjIHBvbGtpdC1hZ2VudC0x LnBjDQorIA0KKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CisrDQorK2l0c2RpciA9ICQoZGF0YWRpcikvZ2V0dGV4dC9pdHMNCisraXRzX0RBVEEgPSBwb2xr aXQubG9jIHBvbGtpdC5pdHMNCisrDQorIENMRUFORklMRVMgPSAkKEJVSUxUX1NPVVJDRVMpDQor IA0KKyBFWFRSQV9ESVNUID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCitkaWZmIC0tZ2l0IGEvZGF0YS9wb2xraXQuaXRzIGIvZGF0YS9wb2xraXQu aXRzDQorbmV3IGZpbGUgbW9kZSAxMDA2NDQNCitpbmRleCAwMDAwMDAwLi4xMzEyZWNiDQorLS0t IC9kZXYvbnVsbA0KKysrKyBiL2RhdGEvcG9sa2l0Lml0cw0KK0BAIC0wLDAgKzEsNyBAQA0KKys8 P3htbCB2ZXJzaW9uPSIxLjAiPz4NCisrPGl0czpydWxlcyB4bWxuczppdHM9Imh0dHA6Ly93d3cu dzMub3JnLzIwMDUvMTEvaXRzIg0KKysgICAgICAgICAgIHZlcnNpb249IjIuMCI+DQorKyAgPGl0 czp0cmFuc2xhdGVSdWxlIHNlbGVjdG9yPSIvYWN0aW9uL2Rlc2NyaXB0aW9uIHwNCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC9hY3Rpb24vbWVzc2FnZSINCisrICAgICAgICAgICAg ICAgICAgICAgdHJhbnNsYXRlPSJ5ZXMiLz4NCisrPC9pdHM6cnVsZXM+DQorZGlmZiAtLWdpdCBh L2RhdGEvcG9sa2l0LmxvYyBiL2RhdGEvcG9sa2l0LmxvYw0KK25ldyBmaWxlIG1vZGUgMTAwNjQ0 DQoraW5kZXggMDAwMDAwMC4uYzc0MjdlYw0KKy0tLSAvZGV2L251bGwNCisrKysgYi9kYXRhL3Bv bGtpdC5sb2MNCitAQCAtMCwwICsxLDYgQEANCisrPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorKzxs b2NhdGluZ1J1bGVzPg0KKysgIDxsb2NhdGluZ1J1bGUgbmFtZT0icG9sa2l0IHBvbGljeSIgcGF0 dGVybj0iKi5wb2xpY3kiPg0KKysgICAgPGRvY3VtZW50UnVsZSBsb2NhbE5hbWU9InBvbGljeWNv bmZpZyIgdGFyZ2V0PSJwb2xraXQuaXRzIi8+DQorKyAgPC9sb2NhdGluZ1J1bGU+DQorKzwvbG9j YXRpbmdSdWxlcz4NCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExNC9GaXgt bXVsdGktbGluZS1wYW0tdGV4dC1pbmZvLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMC4x MTQvRml4LW11bHRpLWxpbmUtDQpwYW0tdGV4dC1pbmZvLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwLi44YTE4MzYxM2UNCi0tLSAvZGV2L251bGwNCisrKyBiL3Bh dGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE0L0ZpeC1tdWx0aS1saW5lLXBhbS10ZXh0LWluZm8ucGF0 Y2gNCkBAIC0wLDAgKzEsMzkgQEANCitGcm9tOiBEYXJpdXN6IEdhZG9tc2tpIDxkYXJpdXN6Lmdh ZG9tc2tpQGNhbm9uaWNhbC5jb20+DQorRGF0ZTogVHVlLCAxMCBOb3YgMjAxNSAxMDo1MjowMiAr MDEwMA0KK1N1YmplY3Q6IEZpeCBtdWx0aS1saW5lIHBhbSB0ZXh0IGluZm8uDQorDQorVGhlcmUg YXJlIHBhbSBtb2R1bGVzIChlLmcuIHBhbV92YXMpIHRoYXQgbWF5IGF0dGVtcHQgdG8gZGlzcGxh eSBtdWx0aS1saW5lDQorUEFNX1RFWFRfSU5GTyBtZXNzYWdlcy4gUG9sa2l0IHdhcyBpbnRlcnBy ZXRpbmcgdGhlIGxpbmVzIGFmdGVyIHRoZSBmaXJzdCBvbmUNCithcyBhIHNlcGFyYXRlIG1lc3Nh Z2UgdGhhdCB3YXMgbm90IHJlY29nbml6ZWQgY2F1c2luZyB0aGUgYXV0aG9yaXphdGlvbg0KK3Rv IGZhaWwuIEVzY2FwaW5nIHRoZXNlIHN0cmluZ3MgYW5kIHVuZXNjYXBpbmcgdGhlbSBmaXhlcyB0 aGUgaXNzdWUuDQorDQorQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVn LmNnaT9pZD05Mjg4Ng0KK09yaWdpbjogdXBzdHJlYW0sIDAuMTE0LCBjb21taXQ6MTA1OTczMjJl Y2NjMzIwZjkwNTM4MjE3NTBhZTlhZjUxZTkxOGQ3NA0KKy0tLQ0KKyBzcmMvcG9sa2l0YWdlbnQv cG9sa2l0YWdlbnRoZWxwZXItcGFtLmMgfCAxMyArKysrKysrKystLS0tDQorIDEgZmlsZSBjaGFu Z2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL3Ny Yy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYyBiL3NyYy9wb2xraXRhZ2VudC9w b2xraXRhZ2VudGhlbHBlci1wYW0uYw0KK2luZGV4IDE5MDYyYWEuLjA2M2Q2NTYgMTAwNjQ0DQor LS0tIGEvc3JjL3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQorKysrIGIvc3Jj L3BvbGtpdGFnZW50L3BvbGtpdGFnZW50aGVscGVyLXBhbS5jDQorQEAgLTMwMiwxMCArMzAyLDE1 IEBAIGNvbnZlcnNhdGlvbl9mdW5jdGlvbiAoaW50IG4sIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2Fn ZSAqKm1zZywgc3RydWN0IHBhbV9yZXNwb25zDQorICAgICAgICAgY2FzZSBQQU1fVEVYVF9JTkZP Og0KKyAgICAgICAgICAgZnByaW50ZiAoc3Rkb3V0LCAiUEFNX1RFWFRfSU5GTyAiKTsNCisgICAg ICAgICBjb252MjoNCistICAgICAgICAgIGZwdXRzIChtc2dbaV0tPm1zZywgc3Rkb3V0KTsNCist ICAgICAgICAgIGlmIChzdHJsZW4gKG1zZ1tpXS0+bXNnKSA+IDAgJiYNCistICAgICAgICAgICAg ICBtc2dbaV0tPm1zZ1tzdHJsZW4gKG1zZ1tpXS0+bXNnKSAtIDFdICE9ICdcbicpDQorLSAgICAg ICAgICAgIGZwdXRjICgnXG4nLCBzdGRvdXQpOw0KKysgICAgICAgICAgdG1wID0gZ19zdHJkdXAg KG1zZ1tpXS0+bXNnKTsNCisrICAgICAgICAgIGxlbiA9IHN0cmxlbiAodG1wKTsNCisrICAgICAg ICAgIGlmIChsZW4gPiAwICYmIHRtcFtsZW4gLSAxXSA9PSAnXG4nKQ0KKysgICAgICAgICAgICB0 bXBbbGVuIC0gMV0gPSAnXDAnOw0KKysgICAgICAgICAgZXNjYXBlZCA9IGdfc3RyZXNjYXBlICh0 bXAsIE5VTEwpOw0KKysgICAgICAgICAgZ19mcmVlICh0bXApOw0KKysgICAgICAgICAgZnB1dHMg KGVzY2FwZWQsIHN0ZG91dCk7DQorKyAgICAgICAgICBnX2ZyZWUgKGVzY2FwZWQpOw0KKysgICAg ICAgICAgZnB1dGMgKCdcbicsIHN0ZG91dCk7DQorICAgICAgICAgICBmZmx1c2ggKHN0ZG91dCk7 DQorICAgICAgICAgICBicmVhazsNCisgDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4x MDUvMC4xMTQvUmVmYWN0b3Itc2VuZF90b19oZWxwZXItdXNhZ2UucGF0Y2ggYi9wYXRjaGVzL3Bv bGtpdC0wLjEwNS8wLjExNC9SZWZhY3Rvci0NCnNlbmRfdG9faGVscGVyLXVzYWdlLnBhdGNoDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi43NWU1YzdkYWQNCi0tLSAvZGV2 L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE0L1JlZmFjdG9yLXNlbmRfdG9f aGVscGVyLXVzYWdlLnBhdGNoDQpAQCAtMCwwICsxLDE0OSBAQA0KK0Zyb206IERhcml1c3ogR2Fk b21za2kgPGRhcml1c3ouZ2Fkb21za2lAY2Fub25pY2FsLmNvbT4NCitEYXRlOiBUaHUsIDEyIE5v diAyMDE1IDE1OjAxOjE5ICswMTAwDQorU3ViamVjdDogUmVmYWN0b3Igc2VuZF90b19oZWxwZXIg dXNhZ2UNCisNCitUaGVyZSB3ZXJlIGR1cGxpY2F0ZWQgcGllY2VzIG9mIGNvZGUgZGV0ZWN0aW5n IEVPTHMgYW5kIGVzY2FwaW5nIHRoZSBjb2RlLg0KK1Rob3NlIGFjdGlvbnMgaGFzIGJlZW4gZGVs ZWdhdGVkIHRvIGFscmVhZHktZXhpc3Rpbmcgc2VuZF90b19oZWxwZXIgZnVuY3Rpb24uDQorDQor QnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjg4Ng0K K09yaWdpbjogdXBzdHJlYW0sIDAuMTE0LCBjb21taXQ6MjY5MGNkMDMxMmIzMTA5NDZjODY2NzRj OGRkMWY1NWM2M2Y3ZGQ2YQ0KKy0tLQ0KKyBzcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxw ZXItcGFtLmMgfCA4MSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgMSBmaWxl IGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1n aXQgYS9zcmMvcG9sa2l0YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMgYi9zcmMvcG9sa2l0 YWdlbnQvcG9sa2l0YWdlbnRoZWxwZXItcGFtLmMNCitpbmRleCAwNjNkNjU2Li4zZWEzYTNmIDEw MDY0NA0KKy0tLSBhL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYw0KKysr KyBiL3NyYy9wb2xraXRhZ2VudC9wb2xraXRhZ2VudGhlbHBlci1wYW0uYw0KK0BAIC0zOSwyNSAr MzksMzUgQEAgc3RhdGljIHZvaWQNCisgc2VuZF90b19oZWxwZXIgKGNvbnN0IGdjaGFyICpzdHIx LA0KKyAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnN0cjIpDQorIHsNCisrICBjaGFyICpl c2NhcGVkOw0KKysgIGNoYXIgKnRtcDI7DQorKyAgc2l6ZV90IGxlbjI7DQorKw0KKysgIHRtcDIg PSBnX3N0cmR1cChzdHIyKTsNCisrICBsZW4yID0gc3RybGVuKHRtcDIpOw0KKyAjaWZkZWYgUEFI X0RFQlVHDQorLSAgZnByaW50ZiAoc3RkZXJyLCAicG9sa2l0LWFnZW50LWhlbHBlci0xOiB3cml0 aW5nIGAlcycgdG8gc3Rkb3V0XG4iLCBzdHIxKTsNCisrICBmcHJpbnRmIChzdGRlcnIsICJwb2xr aXQtYWdlbnQtaGVscGVyLTE6IHdyaXRpbmcgYCVzICcgdG8gc3Rkb3V0XG4iLCBzdHIxKTsNCisg I2VuZGlmIC8qIFBBSF9ERUJVRyAqLw0KKy0gIGZwcmludGYgKHN0ZG91dCwgIiVzIiwgc3RyMSk7 DQorKyAgZnByaW50ZiAoc3Rkb3V0LCAiJXMgIiwgc3RyMSk7DQorKw0KKysgIGlmIChsZW4yID4g MCAmJiB0bXAyW2xlbjIgLSAxXSA9PSAnXG4nKQ0KKysgICAgdG1wMltsZW4yIC0gMV0gPSAnXDAn Ow0KKysgIGVzY2FwZWQgPSBnX3N0cmVzY2FwZSAodG1wMiwgTlVMTCk7DQorICNpZmRlZiBQQUhf REVCVUcNCistICBmcHJpbnRmIChzdGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IHdyaXRp bmcgYCVzJyB0byBzdGRvdXRcbiIsIHN0cjIpOw0KKysgIGZwcmludGYgKHN0ZGVyciwgInBvbGtp dC1hZ2VudC1oZWxwZXItMTogd3JpdGluZyBgJXMnIHRvIHN0ZG91dFxuIiwgZXNjYXBlZCk7DQor ICNlbmRpZiAvKiBQQUhfREVCVUcgKi8NCistICBmcHJpbnRmIChzdGRvdXQsICIlcyIsIHN0cjIp Ow0KKy0gIGlmIChzdHJsZW4gKHN0cjIpID4gMCAmJiBzdHIyW3N0cmxlbiAoc3RyMikgLSAxXSAh PSAnXG4nKQ0KKy0gICAgew0KKysgIGZwcmludGYgKHN0ZG91dCwgIiVzIiwgZXNjYXBlZCk7DQor ICNpZmRlZiBQQUhfREVCVUcNCistICAgICAgZnByaW50ZiAoc3RkZXJyLCAicG9sa2l0LWFnZW50 LWhlbHBlci0xOiB3cml0aW5nIG5ld2xpbmUgdG8gc3Rkb3V0XG4iKTsNCisrICBmcHJpbnRmIChz dGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IHdyaXRpbmcgbmV3bGluZSB0byBzdGRvdXRc biIpOw0KKyAjZW5kaWYgLyogUEFIX0RFQlVHICovDQorLSAgICAgIGZwdXRjICgnXG4nLCBzdGRv dXQpOw0KKy0gICAgfQ0KKysgIGZwdXRjICgnXG4nLCBzdGRvdXQpOw0KKyAjaWZkZWYgUEFIX0RF QlVHDQorICAgZnByaW50ZiAoc3RkZXJyLCAicG9sa2l0LWFnZW50LWhlbHBlci0xOiBmbHVzaGlu ZyBzdGRvdXRcbiIpOw0KKyAjZW5kaWYgLyogUEFIX0RFQlVHICovDQorICAgZmZsdXNoIChzdGRv dXQpOw0KKysNCisrICBnX2ZyZWUgKGVzY2FwZWQpOw0KKysgIGdfZnJlZSAodG1wMik7DQorIH0N CisgDQorIGludA0KK0BAIC04OSw3ICs5OSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2 W10pDQorIA0KKyAgICAgICAvKiBTcGVjaWFsLWNhc2UgYSB2ZXJ5IGNvbW1vbiBlcnJvciB0cmln Z2VyZWQgaW4gamhidWlsZCBzZXR1cHMgKi8NCisgICAgICAgcyA9IGdfc3RyZHVwX3ByaW50ZiAo IkluY29ycmVjdCBwZXJtaXNzaW9ucyBvbiAlcyAobmVlZHMgdG8gYmUgc2V0dWlkIHJvb3QpIiwg YXJndlswXSk7DQorLSAgICAgIHNlbmRfdG9faGVscGVyICgiUEFNX0VSUk9SX01TRyAiLCBzKTsN CisrICAgICAgc2VuZF90b19oZWxwZXIgKCJQQU1fRVJST1JfTVNHIiwgcyk7DQorICAgICAgIGdf ZnJlZSAocyk7DQorICAgICAgIGdvdG8gZXJyb3I7DQorICAgICB9DQorQEAgLTIzMiw5ICsyNDIs NiBAQCBjb252ZXJzYXRpb25fZnVuY3Rpb24gKGludCBuLCBjb25zdCBzdHJ1Y3QgcGFtX21lc3Nh Z2UgKiptc2csIHN0cnVjdCBwYW1fcmVzcG9ucw0KKyAgIHN0cnVjdCBwYW1fcmVzcG9uc2UgKmFy ZXNwOw0KKyAgIGNoYXIgYnVmW1BBTV9NQVhfUkVTUF9TSVpFXTsNCisgICBpbnQgaTsNCistICBn Y2hhciAqZXNjYXBlZCA9IE5VTEw7DQorLSAgZ2NoYXIgKnRtcCA9IE5VTEw7DQorLSAgc2l6ZV90 IGxlbjsNCisgDQorICAgKHZvaWQpZGF0YTsNCisgICBpZiAobiA8PSAwIHx8IG4gPiBQQU1fTUFY X05VTV9NU0cpDQorQEAgLTI1MSwzOCArMjU4LDEzIEBAIGNvbnZlcnNhdGlvbl9mdW5jdGlvbiAo aW50IG4sIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKm1zZywgc3RydWN0IHBhbV9yZXNwb25z DQorICAgICAgICAgew0KKyANCisgICAgICAgICBjYXNlIFBBTV9QUk9NUFRfRUNIT19PRkY6DQor LSNpZmRlZiBQQUhfREVCVUcNCistICAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgInBvbGtpdC1h Z2VudC1oZWxwZXItMTogd3JpdGluZyBgUEFNX1BST01QVF9FQ0hPX09GRiAnIHRvIHN0ZG91dFxu Iik7DQorLSNlbmRpZiAvKiBQQUhfREVCVUcgKi8NCistICAgICAgICAgIGZwcmludGYgKHN0ZG91 dCwgIlBBTV9QUk9NUFRfRUNIT19PRkYgIik7DQorKyAgICAgICAgICBzZW5kX3RvX2hlbHBlciAo IlBBTV9QUk9NUFRfRUNIT19PRkYiLCBtc2dbaV0tPm1zZyk7DQorICAgICAgICAgICBnb3RvIGNv bnYxOw0KKyANCisgICAgICAgICBjYXNlIFBBTV9QUk9NUFRfRUNIT19PTjoNCistI2lmZGVmIFBB SF9ERUJVRw0KKy0gICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAicG9sa2l0LWFnZW50LWhlbHBl ci0xOiB3cml0aW5nIGBQQU1fUFJPTVBUX0VDSE9fT04gJyB0byBzdGRvdXRcbiIpOw0KKy0jZW5k aWYgLyogUEFIX0RFQlVHICovDQorLSAgICAgICAgICBmcHJpbnRmIChzdGRvdXQsICJQQU1fUFJP TVBUX0VDSE9fT04gIik7DQorLSAgICAgICAgY29udjE6DQorLSNpZmRlZiBQQUhfREVCVUcNCist ICAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgInBvbGtpdC1hZ2VudC1oZWxwZXItMTogd3JpdGlu ZyBgJXMnIHRvIHN0ZG91dFxuIiwgbXNnW2ldLT5tc2cpOw0KKy0jZW5kaWYgLyogUEFIX0RFQlVH ICovDQorLSAgICAgICAgICB0bXAgPSBnX3N0cmR1cCAobXNnW2ldLT5tc2cpOw0KKy0gICAgICAg ICAgbGVuID0gc3RybGVuICh0bXApOw0KKy0gICAgICAgICAgaWYgKGxlbiA+IDAgJiYgdG1wW2xl biAtIDFdID09ICdcbicpDQorLSAgICAgICAgICAgIHRtcFtsZW4gLSAxXSA9ICdcMCc7DQorLSAg ICAgICAgICBlc2NhcGVkID0gZ19zdHJlc2NhcGUgKHRtcCwgTlVMTCk7DQorLSAgICAgICAgICBn X2ZyZWUgKHRtcCk7DQorLSAgICAgICAgICBmcHV0cyAoZXNjYXBlZCwgc3Rkb3V0KTsNCistICAg ICAgICAgIGdfZnJlZSAoZXNjYXBlZCk7DQorLSNpZmRlZiBQQUhfREVCVUcNCistICAgICAgICAg IGZwcmludGYgKHN0ZGVyciwgInBvbGtpdC1hZ2VudC1oZWxwZXItMTogd3JpdGluZyBuZXdsaW5l IHRvIHN0ZG91dFxuIik7DQorLSNlbmRpZiAvKiBQQUhfREVCVUcgKi8NCistICAgICAgICAgIGZw dXRjICgnXG4nLCBzdGRvdXQpOw0KKy0jaWZkZWYgUEFIX0RFQlVHDQorLSAgICAgICAgICBmcHJp bnRmIChzdGRlcnIsICJwb2xraXQtYWdlbnQtaGVscGVyLTE6IGZsdXNoaW5nIHN0ZG91dFxuIik7 DQorLSNlbmRpZiAvKiBQQUhfREVCVUcgKi8NCistICAgICAgICAgIGZmbHVzaCAoc3Rkb3V0KTsN CisrICAgICAgICAgIHNlbmRfdG9faGVscGVyICgiUEFNX1BST01QVF9FQ0hPX09OIiwgbXNnW2ld LT5tc2cpOw0KKyANCisrICAgICAgICBjb252MToNCisgICAgICAgICAgIGlmIChmZ2V0cyAoYnVm LCBzaXplb2YgYnVmLCBzdGRpbikgPT0gTlVMTCkNCisgICAgICAgICAgICAgZ290byBlcnJvcjsN CisgDQorQEAgLTI5NiwyMiArMjc4LDExIEBAIGNvbnZlcnNhdGlvbl9mdW5jdGlvbiAoaW50IG4s IGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKm1zZywgc3RydWN0IHBhbV9yZXNwb25zDQorICAg ICAgICAgICBicmVhazsNCisgDQorICAgICAgICAgY2FzZSBQQU1fRVJST1JfTVNHOg0KKy0gICAg ICAgICAgZnByaW50ZiAoc3Rkb3V0LCAiUEFNX0VSUk9SX01TRyAiKTsNCistICAgICAgICAgIGdv dG8gY29udjI7DQorKyAgICAgICAgICBzZW5kX3RvX2hlbHBlciAoIlBBTV9FUlJPUl9NU0ciLCBt c2dbaV0tPm1zZyk7DQorKyAgICAgICAgICBicmVhazsNCisgDQorICAgICAgICAgY2FzZSBQQU1f VEVYVF9JTkZPOg0KKy0gICAgICAgICAgZnByaW50ZiAoc3Rkb3V0LCAiUEFNX1RFWFRfSU5GTyAi KTsNCistICAgICAgICBjb252MjoNCistICAgICAgICAgIHRtcCA9IGdfc3RyZHVwIChtc2dbaV0t Pm1zZyk7DQorLSAgICAgICAgICBsZW4gPSBzdHJsZW4gKHRtcCk7DQorLSAgICAgICAgICBpZiAo bGVuID4gMCAmJiB0bXBbbGVuIC0gMV0gPT0gJ1xuJykNCistICAgICAgICAgICAgdG1wW2xlbiAt IDFdID0gJ1wwJzsNCistICAgICAgICAgIGVzY2FwZWQgPSBnX3N0cmVzY2FwZSAodG1wLCBOVUxM KTsNCistICAgICAgICAgIGdfZnJlZSAodG1wKTsNCistICAgICAgICAgIGZwdXRzIChlc2NhcGVk LCBzdGRvdXQpOw0KKy0gICAgICAgICAgZ19mcmVlIChlc2NhcGVkKTsNCistICAgICAgICAgIGZw dXRjICgnXG4nLCBzdGRvdXQpOw0KKy0gICAgICAgICAgZmZsdXNoIChzdGRvdXQpOw0KKysgICAg ICAgICAgc2VuZF90b19oZWxwZXIgKCJQQU1fVEVYVF9JTkZPIiwgbXNnW2ldLT5tc2cpOw0KKyAg ICAgICAgICAgYnJlYWs7DQorIA0KKyAgICAgICAgIGRlZmF1bHQ6DQpkaWZmIC0tZ2l0IGEvcGF0 Y2hlcy9wb2xraXQtMC4xMDUvMC4xMTQvU3VwcG9ydC1wb2xraXQtc2Vzc2lvbi1hZ2VudC1ydW5u aW5nLW91dHNpZGUtdXNlci1zZXNzaW9uLnBhdGNoDQpiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAu MTE0L1N1cHBvcnQtcG9sa2l0LXNlc3Npb24tYWdlbnQtcnVubmluZy1vdXRzaWRlLXVzZXItc2Vz c2lvbi5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uNzE3OWE5 MmJhDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExNC9TdXBw b3J0LXBvbGtpdC1zZXNzaW9uLWFnZW50LXJ1bm5pbmctb3V0c2lkZS11c2VyLXNlc3Npb24ucGF0 Y2gNCkBAIC0wLDAgKzEsNTEgQEANCitGcm9tOiBTZWJhc3RpZW4gQmFjaGVyIDxzZWIxMjhAdWJ1 bnR1LmNvbT4NCitEYXRlOiBNb24sIDIgQXByIDIwMTggMTA6NTI6NDcgLTA0MDANCitTdWJqZWN0 OiBTdXBwb3J0IHBvbGtpdCBzZXNzaW9uIGFnZW50IHJ1bm5pbmcgb3V0c2lkZSB1c2VyIHNlc3Np b24NCisNCitjb21taXQgYTY4ZjVkZmQ3NjYyNzY3YjdiOTgyMjA5MGI3MGJjNWJkMTQ1YzUwYyBt YWRlDQorc2Vzc2lvbiBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgcnVubmluZyBmcm9tIGEgdXNlciBi dXMNCit3b3JrIHdpdGggcG9sa2l0ZCwgYnkgZmFsbGluZyBiYWNrIHRvIHVzaW5nIHRoZSBjdXJy ZW50bHkNCithY3RpdmUgc2Vzc2lvbi4NCisNCitUaGlzIGNvbW1pdCBpcyBzaW1pbGFyLCBidXQg Zm9yIHRoZSBwb2xraXQgYWdlbnQuICBJdCBhbGxvd3MsDQorYSBwb2xraXQgYWdlbnQgdG8gYmUg cnVuIGZyb20gYSBzeXN0ZW1kIC0tdXNlciBzZXJ2aWNlDQordGhhdCdzIG5vdCBydW5uaW5nIGRp cmVjdGx5IGluIHRoZSB1c2VycyBzZXNzaW9uLg0KKw0KK0J1ZzogaHR0cHM6Ly9idWdzLmZyZWVk ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY5NzcNCitBcHBsaWVkLXVwc3RyZWFtOiAwLjEx NCwgY29tbWl0OjAwYTY2M2UzZmIxNGQ4MDIzZTdjYjZhNjZkMDkxODcyYmY0ZjI4NTENCistLS0N Cisgc3JjL3BvbGtpdC9wb2xraXR1bml4c2Vzc2lvbi1zeXN0ZW1kLmMgfCAxNCArKysrKysrKysr KysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQ0KKw0KK2RpZmYgLS1naXQg YS9zcmMvcG9sa2l0L3BvbGtpdHVuaXhzZXNzaW9uLXN5c3RlbWQuYyBiL3NyYy9wb2xraXQvcG9s a2l0dW5peHNlc3Npb24tc3lzdGVtZC5jDQoraW5kZXggOGE4YmY2NS4uYzM0ZjM2YSAxMDA2NDQN CistLS0gYS9zcmMvcG9sa2l0L3BvbGtpdHVuaXhzZXNzaW9uLXN5c3RlbWQuYw0KKysrKyBiL3Ny Yy9wb2xraXQvcG9sa2l0dW5peHNlc3Npb24tc3lzdGVtZC5jDQorQEAgLTQ1MSw2ICs0NTEsNyBA QCBwb2xraXRfdW5peF9zZXNzaW9uX2luaXRhYmxlX2luaXQgKEdJbml0YWJsZSAgICAgKmluaXRh YmxlLA0KKyAgIFBvbGtpdFVuaXhTZXNzaW9uICpzZXNzaW9uID0gUE9MS0lUX1VOSVhfU0VTU0lP TiAoaW5pdGFibGUpOw0KKyAgIGdib29sZWFuIHJldCA9IEZBTFNFOw0KKyAgIGNoYXIgKnM7DQor KyAgdWlkX3QgdWlkOw0KKyANCisgICBpZiAoc2Vzc2lvbi0+c2Vzc2lvbl9pZCAhPSBOVUxMKQ0K KyAgICAgew0KK0BAIC00NjcsNiArNDY4LDE5IEBAIHBvbGtpdF91bml4X3Nlc3Npb25faW5pdGFi bGVfaW5pdCAoR0luaXRhYmxlICAgICAqaW5pdGFibGUsDQorICAgICAgIGdvdG8gb3V0Ow0KKyAg ICAgfQ0KKyANCisrICAvKiBOb3cgZG8gcHJvY2VzcyAtPiB1aWQgLT4gZ3JhcGhpY2FsIHNlc3Np b24gKHN5c3RlbWQgdmVyc2lvbiAyMTMpKi8NCisrICBpZiAoc2RfcGlkX2dldF9vd25lcl91aWQg KHNlc3Npb24tPnBpZCwgJnVpZCkgPCAwKQ0KKysgICAgZ290byBlcnJvcjsNCisrDQorKyAgaWYg KHNkX3VpZF9nZXRfZGlzcGxheSAodWlkLCAmcykgPj0gMCkNCisrICAgIHsNCisrICAgICAgc2Vz c2lvbi0+c2Vzc2lvbl9pZCA9ICBnX3N0cmR1cCAocyk7DQorKyAgICAgIGZyZWUgKHMpOw0KKysg ICAgICByZXQgPSBUUlVFOw0KKysgICAgICBnb3RvIG91dDsNCisrICAgIH0NCisrDQorK2Vycm9y Og0KKyAgIGdfc2V0X2Vycm9yIChlcnJvciwNCisgICAgICAgICAgICAgICAgUE9MS0lUX0VSUk9S LA0KKyAgICAgICAgICAgICAgICBQT0xLSVRfRVJST1JfRkFJTEVELA0KZGlmZiAtLWdpdCBhL3Bh dGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE0L2dldHRleHQtc3dpdGNoLXRvLWRlZmF1bHQtdHJhbnNs YXRlLW5vLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtDQowLjEwNS8wLjExNC9nZXR0ZXh0LXN3aXRj aC10by1kZWZhdWx0LXRyYW5zbGF0ZS1uby5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMC4uNTc3ZDVhYjFiDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3Bv bGtpdC0wLjEwNS8wLjExNC9nZXR0ZXh0LXN3aXRjaC10by1kZWZhdWx0LXRyYW5zbGF0ZS1uby5w YXRjaA0KQEAgLTAsMCArMSw0MSBAQA0KK0Zyb206IFBldGVyIEh1dHRlcmVyIDxwZXRlci5odXR0 ZXJlckB3aG8tdC5uZXQ+DQorRGF0ZTogVGh1LCAyMCBPY3QgMjAxNiAxMDo1MDo1OCArMTAwMA0K K1N1YmplY3Q6IGdldHRleHQ6IHN3aXRjaCB0byBkZWZhdWx0LXRyYW5zbGF0ZSAibm8iDQorDQor VGhlIGRlZmF1bHQgYXBwZWFycyB0byBiZSB0byB0cmFuc2xhdGUgYWxsIGVudHJpZXMuIFRoaXMg cnVsZSBuZXZlciB0YWtlcw0KK2VmZmVjdCwgdGhlIHBhdGggdG8gL2FjdGlvbi9tZXNzYWdlIGFu ZCAvYWN0aW9uL2Rlc2NyaXB0aW9uIGlzIHdyb25nICgvYWN0aW9uDQoraXMgbm90IGEgcm9vdCBu b2RlKS4gU2luY2Ugd2Ugd2FudGVkIHRoZW0gdG8gYmUgdHJhbnNsYXRlZCwgaXQgZG9lc24ndCBt YXR0ZXIuDQorDQorQnV0IGl0IGFsc28gdHJhbnNsYXRlcyBhbGwgb3RoZXIgdGFncyAodmVuZG9y LCBhbGxvd19hbnksIGV0Yy4pIGFuZCB0aGF0DQorY2F1c2VzIHBvbGtpdCB0byBiZSB1bmhhcHB5 LCBpdCBjYW4ndCBoYW5kbGUgdGhlIHZhcmlvdXMgbGFuZ3VhZ2UgdmVyc2lvbnMgb2YNCisibm8i DQorDQorKiogKHBvbGtpdGQ6Mjc0MzQpOiBXQVJOSU5HICoqOiBVbmtub3duIFBvbGtpdEltcGxp Y2l0QXV0aG9yaXphdGlvbiBzdHJpbmcNCisndGlkYWsnDQorDQorU3dpdGNoIHRvIGEgZGVmYXVs dCBvZiAibm8iIGFuZCBleHBsaWNpdGx5IGluY2x1ZGUgdGhlIG1lc3NhZ2UgYW5kIGRlc2NyaXB0 aW9uDQorc3RyaW5ncyB0byBiZSB0cmFuc2xhdGVkLg0KKw0KK1RoZSBwYXRjaCB3YXMgbW9kaWZp ZWQgZm9yIFBvbGljeUtpdCBieSBPbmRyZWogSG9seSA8b2hvbHlAcmVkaGF0LmNvbT4uDQorDQor QnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05ODM2Ng0K K09yaWdpbjogdXBzdHJlYW0sIDAuMTE0LCBjb21taXQ6MzJlOWE2OWMzMzUzMjRhNTNhMmMwYmE0 ZTBiNTEzZmIwNDRiZTBmZA0KKy0tLQ0KKyBkYXRhL3BvbGtpdC5pdHMgfCA1ICsrKy0tDQorIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQorDQorZGlmZiAt LWdpdCBhL2RhdGEvcG9sa2l0Lml0cyBiL2RhdGEvcG9sa2l0Lml0cw0KK2luZGV4IDEzMTJlY2Iu LjFjMzdlNmIgMTAwNjQ0DQorLS0tIGEvZGF0YS9wb2xraXQuaXRzDQorKysrIGIvZGF0YS9wb2xr aXQuaXRzDQorQEAgLTEsNyArMSw4IEBADQorIDw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKyA8aXRz OnJ1bGVzIHhtbG5zOml0cz0iaHR0cDovL3d3dy53My5vcmcvMjAwNS8xMS9pdHMiDQorICAgICAg ICAgICAgdmVyc2lvbj0iMi4wIj4NCistICA8aXRzOnRyYW5zbGF0ZVJ1bGUgc2VsZWN0b3I9Ii9h Y3Rpb24vZGVzY3JpcHRpb24gfA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Fj dGlvbi9tZXNzYWdlIg0KKysgIDxpdHM6dHJhbnNsYXRlUnVsZSBzZWxlY3Rvcj0iLy8qIiB0cmFu c2xhdGU9Im5vIi8+DQorKyAgPGl0czp0cmFuc2xhdGVSdWxlIHNlbGVjdG9yPSIvL2FjdGlvbi9k ZXNjcmlwdGlvbiB8DQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2FjdGlvbi9t ZXNzYWdlIg0KKyAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9InllcyIvPg0KKyA8L2l0 czpydWxlcz4NCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wLjExNS9GaXgtQ1ZF LTIwMTgtMTExNi1UcnVzdGluZy1jbGllbnQtc3VwcGxpZWQtVUlELnBhdGNoIGIvcGF0Y2hlcy9w b2xraXQtDQowLjEwNS8wLjExNS9GaXgtQ1ZFLTIwMTgtMTExNi1UcnVzdGluZy1jbGllbnQtc3Vw cGxpZWQtVUlELnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi5k M2UzNDM1MDQNCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAuMTE1 L0ZpeC1DVkUtMjAxOC0xMTE2LVRydXN0aW5nLWNsaWVudC1zdXBwbGllZC1VSUQucGF0Y2gNCkBA IC0wLDAgKzEsNTY5IEBADQorRnJvbTogPT91dGYtOD9xP01pbG9zbGF2X1RybWE9QzQ9OEQ/PSA8 bWl0ckByZWRoYXQuY29tPg0KK0RhdGU6IE1vbiwgMjUgSnVuIDIwMTggMTk6MjQ6MDYgKzAyMDAN CitTdWJqZWN0OiBGaXggQ1ZFLTIwMTgtMTExNjogVHJ1c3RpbmcgY2xpZW50LXN1cHBsaWVkIFVJ RA0KK01JTUUtVmVyc2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PSJ1dGYtOCINCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorQXMgcGFydCBv ZiBDVkUtMjAxMy00Mjg4LCB0aGUgRC1CdXMgY2xpZW50cyB3ZXJlIGFsbG93ZWQgKGFuZA0KK2Vu Y291cmFnZWQpIHRvIHN1Ym1pdCB0aGUgVUlEIG9mIHRoZSBzdWJqZWN0IG9mIGF1dGhvcml6YXRp b24gY2hlY2tzDQordG8gYXZvaWQgcmFjZXMgYWdhaW5zdCBVSUQgY2hhbmdlcyAobm90YWJseSB1 c2luZyBleGVjdXRhYmxlcw0KK3NldC1VSUQgdG8gcm9vdCkuDQorDQorSG93ZXZlciwgdGhhdCBh bHNvIGFsbG93ZWQgYW55IGNsaWVudCB0byBzdWJtaXQgYW4gYXJiaXRyYXJ5IFVJRCwgYW5kDQor dGhhdCBjb3VsZCBiZSB1c2VkIHRvIGJ5cGFzcyAiY2FuIG9ubHkgYXNrIGFib3V0IC8gYWZmZWN0 IHRoZSBzYW1lIFVJRCINCitjaGVja3MgaW4gQ2hlY2tBdXRob3JpemF0aW9uIC8gUmVnaXN0ZXJB dXRoZW50aWNhdGlvbkFnZW50IC8NCitVbnJlZ2lzdGVyQXV0aGVudGljYXRpb25BZ2VudC4gIFRo aXMgYWxsb3dlZCBhbiBhdHRhY2tlcjoNCisNCistIFdpdGggQ2hlY2tBdXRob3JpemF0aW9uLCB0 byBjYXVzZSB0aGUgcmVnaXN0ZXJlZCBhdXRoZW50aWNhdGlvbg0KKyAgYWdlbnQgaW4gdmljdGlt J3Mgc2Vzc2lvbiB0byBwb3AgdXAgYSBkaWFsb2csIG9yIHRvIGRldGVybWluZSB3aGV0aGVyDQor ICB0aGUgdmljdGltIGN1cnJlbnRseSBoYXMgYSB0ZW1wb3JhcnkgYXV0aG9yaXphdGlvbiB0byBw ZXJmb3JtIGFuDQorICBvcGVyYXRpb24uDQorDQorICAoSW4gcHJpbmNpcGxlLCB0aGUgYXR0YWNr ZXIgY2FuIGFsc28gZGV0ZXJtaW5lIHdoZXRoZXIgSmF2YVNjcmlwdA0KKyAgcnVsZXMgYWxsb3cg dGhlIHZpY3RpbSBwcm9jZXNzIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uOyBob3dldmVyLA0KKyAg dXN1YWxseSBydWxlcyBiYXNlIHRoZWlyIGRlY2lzaW9ucyBvbiBpbmZvcm1hdGlvbiBkZXRlcm1p bmVkIGZyb20NCisgIHRoZSBzdXBwbGllZCBVSUQsIHNvIHRoZSBhdHRhY2tlciB1c3VhbGx5IHdv bid0IGxlYXJuIGFueXRoaW5nIG5ldy4pDQorDQorLSBXaXRoIFJlZ2lzdGVyQXV0aGVudGljYXRp b25BZ2VudCwgdG8gcHJldmVudCB0aGUgdmljdGltJ3MNCisgIGF1dGhlbnRpY2F0aW9uIGFnZW50 IHRvIHdvcmsgKGZvciBhIHNwZWNpZmljIHZpY3RpbSBwcm9jZXNzKSwNCisgIG9yIHRvIGxlYXJu IGFib3V0IHdoaWNoIG9wZXJhdGlvbnMgcmVxdWlyaW5nIGF1dGhvcml6YXRpb24NCisgIHRoZSB2 aWN0aW0gaXMgYXR0ZW1wdGluZy4NCisNCitUbyBmaXggdGhpcywgZXhwb3NlIGludGVybmFsIF9w b2xraXRfdW5peF9wcm9jZXNzX2dldF9vd25lcigpIC8NCitvYnNvbGV0ZSBwb2xraXRfdW5peF9w cm9jZXNzX2dldF9vd25lcigpIGFzIGEgcHJpdmF0ZQ0KK3BvbGtpdF91bml4X3Byb2Nlc3NfZ2V0 X3JhY3lfdWlkX18oKSAoYmVpbmcgbW9yZSBleHBsaWNpdCBhYm91dCB0aGUNCitkYW5nZXJzIG9u IHJlbHlpbmcgb24gaXQpLCBhbmQgdXNlIGl0IGluDQorcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9t b25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0KCkgdG8gcmV0dXJuDQorYSBib29sZWFuIGluZGlj YXRpbmcgd2hldGhlciB0aGUgc3ViamVjdCBVSUQgbWF5IGJlIGNhbGxlci1jaG9zZW4uDQorDQor VGhlbiwgaW4gdGhlIHBlcm1pc3Npb24gY2hlY2tzIHRoYXQgcmVxdWlyZSB0aGUgc3ViamVjdCB0 byBiZQ0KK2VxdWFsIHRvIHRoZSBjYWxsZXIsIGZhaWwgb24gY2FsbGVyLWNob3NlbiBVSURzIChh bmQgY29udGludWUNCit0aHJvdWdoIHRoZSBwcmUtZXhpc3RpbmcgY29kZSBwYXRocyB3aGljaCBh bGxvdyByb290LCBvciByb290LWRlc2lnbmF0ZWQNCitzZXJ2ZXIgcHJvY2Vzc2VzLCB0byBhc2sg YWJvdXQgYXJiaXRyYXJ5IHN1YmplY3RzLikNCisNCitTaWduZWQtb2ZmLWJ5OiBNaWxvc2xhdiBU cm1hxI0gPG1pdHJAcmVkaGF0LmNvbT4NCitPcmlnaW46IHVwc3RyZWFtLCAwLjExNSwgY29tbWl0 OmJjN2ZmYWQ1MzY0M2E5YzgwMjMxZmM0MWY1NTgyZDZhODkzMWMzMmMNCistLS0NCisgc3JjL3Bv bGtpdC9wb2xraXRwcml2YXRlLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArDQorIHNy Yy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYyAgICAgICAgICAgICAgICAgICAgIHwgNjAgKysr KysrKysrKysrKysrKysrLS0tLQ0KKyAuLi4vcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9y aXR5LmMgICAgICAgICAgICB8IDM5ICsrKysrKysrKy0tLS0tDQorIC4uLi9wb2xraXRiYWNrZW5k c2Vzc2lvbm1vbml0b3Itc3lzdGVtZC5jICAgICAgICAgIHwgMzggKysrKysrKysrKysrLS0NCisg c3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmMgICAgfCA0MCAr KysrKysrKysrKysrLS0NCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25t b25pdG9yLmggICAgfCAgMSArDQorIDYgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyks IDMzIGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0L3BvbGtpdHByaXZh dGUuaCBiL3NyYy9wb2xraXQvcG9sa2l0cHJpdmF0ZS5oDQoraW5kZXggNTc5Y2MyNS4uZDZjZDQ1 ZCAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0L3BvbGtpdHByaXZhdGUuaA0KKysrKyBiL3NyYy9w b2xraXQvcG9sa2l0cHJpdmF0ZS5oDQorQEAgLTM0LDYgKzM0LDggQEAgR1ZhcmlhbnQgKnBvbGtp dF9hY3Rpb25fZGVzY3JpcHRpb25fdG9fZ3ZhcmlhbnQgKFBvbGtpdEFjdGlvbkRlc2NyaXB0aW9u ICphY3Rpb24NCisgR1ZhcmlhbnQgKnBvbGtpdF9zdWJqZWN0X3RvX2d2YXJpYW50IChQb2xraXRT dWJqZWN0ICpzdWJqZWN0KTsNCisgR1ZhcmlhbnQgKnBvbGtpdF9pZGVudGl0eV90b19ndmFyaWFu dCAoUG9sa2l0SWRlbnRpdHkgKmlkZW50aXR5KTsNCisgDQorK2dpbnQgcG9sa2l0X3VuaXhfcHJv Y2Vzc19nZXRfcmFjeV91aWRfXyAoUG9sa2l0VW5peFByb2Nlc3MgKnByb2Nlc3MsIEdFcnJvciAq KmVycm9yKTsNCisrDQorIFBvbGtpdFN1YmplY3QgICpwb2xraXRfc3ViamVjdF9uZXdfZm9yX2d2 YXJpYW50IChHVmFyaWFudCAqdmFyaWFudCwgR0Vycm9yICoqZXJyb3IpOw0KKyBQb2xraXRJZGVu dGl0eSAqcG9sa2l0X2lkZW50aXR5X25ld19mb3JfZ3ZhcmlhbnQgKEdWYXJpYW50ICp2YXJpYW50 LCBHRXJyb3IgKiplcnJvcik7DQorIA0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0L3BvbGtpdHVu aXhwcm9jZXNzLmMgYi9zcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmMNCitpbmRleCA5MTNi ZTNhLi40NjRmMDM0IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3Mu Yw0KKysrKyBiL3NyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYw0KK0BAIC00OSw2ICs0OSwx NCBAQA0KKyAgKiBUbyB1bmlxdWVseSBpZGVudGlmeSBwcm9jZXNzZXMsIGJvdGggdGhlIHByb2Nl c3MgaWQgYW5kIHRoZSBzdGFydA0KKyAgKiB0aW1lIG9mIHRoZSBwcm9jZXNzIChhIG1vbm90b25p YyBpbmNyZWFzaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUNCisgICogdGltZSBzaW5jZSB0aGUg a2VybmVsIHdhcyBzdGFydGVkKSBpcyB1c2VkLg0KKysgKg0KKysgKiBOT1RFOiBUaGlzIG9iamVj dCBzdG9yZXMsIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8sIHRoZSByZWFsIFVJRCBvZiB0aGUNCisr ICogcHJvY2Vzcy4gIFRoYXQgdmFsdWUgY2FuIGNoYW5nZSBvdmVyIHRpbWUgKHdpdGggc2V0KnVp ZCooMikgYW5kIGV4ZWMqKDIpKS4NCisrICogQ2hlY2tzIHdoZXRoZXIgYW4gb3BlcmF0aW9uIGlz IGFsbG93ZWQgbmVlZCB0byB0YWtlIGNhcmUgdG8gdXNlIHRoZSBVSUQNCisrICogdmFsdWUgYXMg b2YgdGhlIHRpbWUgd2hlbiB0aGUgb3BlcmF0aW9uIHdhcyBtYWRlIChvciwgZm9sbG93aW5nIHRo ZSBvcGVuKCkNCisrICogcHJpdmlsZWdlIGNoZWNrIG1vZGVsLCB3aGVuIHRoZSBjb25uZWN0aW9u IG1ha2luZyB0aGUgb3BlcmF0aW9uIHBvc3NpYmxlDQorKyAqIHdhcyBpbml0aWF0ZWQpLiAgVGhh dCBpcyB1c3VhbGx5IGRvbmUgYnkgaW5pdGlhbGl6aW5nIHRoaXMgd2l0aA0KKysgKiBwb2xraXRf dW5peF9wcm9jZXNzX25ld19mb3Jfb3duZXIoKSB3aXRoIHRydXN0ZWQgZGF0YS4NCisgICovDQor IA0KKyAvKioNCitAQCAtODMsOSArOTEsNiBAQCBzdGF0aWMgdm9pZCBzdWJqZWN0X2lmYWNlX2lu aXQgKFBvbGtpdFN1YmplY3RJZmFjZSAqc3ViamVjdF9pZmFjZSk7DQorIHN0YXRpYyBndWludDY0 IGdldF9zdGFydF90aW1lX2Zvcl9waWQgKGdpbnQgICAgcGlkLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgKiplcnJvcik7DQorIA0KKy1zdGF0aWMgZ2lu dCBfcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfb3duZXIgKFBvbGtpdFVuaXhQcm9jZXNzICAqcHJv Y2VzcywNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgICAgICAgICAgICAqKmVycm9yKTsNCistDQorICNpZmRlZiBIQVZFX0ZSRUVCU0QNCisgc3Rh dGljIGdib29sZWFuIGdldF9raW5mb19wcm9jIChnaW50IHBpZCwgc3RydWN0IGtpbmZvX3Byb2Mg KnApOw0KKyAjZW5kaWYNCitAQCAtMTcwLDcgKzE3NSw3IEBAIHBvbGtpdF91bml4X3Byb2Nlc3Nf Y29uc3RydWN0ZWQgKEdPYmplY3QgKm9iamVjdCkNCisgICAgIHsNCisgICAgICAgR0Vycm9yICpl cnJvcjsNCisgICAgICAgZXJyb3IgPSBOVUxMOw0KKy0gICAgICBwcm9jZXNzLT51aWQgPSBfcG9s a2l0X3VuaXhfcHJvY2Vzc19nZXRfb3duZXIgKHByb2Nlc3MsICZlcnJvcik7DQorKyAgICAgIHBy b2Nlc3MtPnVpZCA9IHBvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X3JhY3lfdWlkX18gKHByb2Nlc3Ms ICZlcnJvcik7DQorICAgICAgIGlmIChlcnJvciAhPSBOVUxMKQ0KKyAgICAgICAgIHsNCisgICAg ICAgICAgIHByb2Nlc3MtPnVpZCA9IC0xOw0KK0BAIC0yNTksNiArMjY0LDEyIEBAIHBvbGtpdF91 bml4X3Byb2Nlc3NfY2xhc3NfaW5pdCAoUG9sa2l0VW5peFByb2Nlc3NDbGFzcyAqa2xhc3MpDQor ICAqIEdldHMgdGhlIHVzZXIgaWQgZm9yIEBwcm9jZXNzLiBOb3RlIHRoYXQgdGhpcyBpcyB0aGUg cmVhbCB1c2VyLWlkLA0KKyAgKiBub3QgdGhlIGVmZmVjdGl2ZSB1c2VyLWlkLg0KKyAgKg0KKysg KiBOT1RFOiBUaGUgVUlEIG1heSBjaGFuZ2Ugb3ZlciB0aW1lLCBzbyB0aGUgcmV0dXJuZWQgdmFs dWUgbWF5IG5vdCBtYXRjaCB0aGUNCisrICogY3VycmVudCBzdGF0ZSBvZiB0aGUgdW5kZXJseWlu ZyBwcm9jZXNzOyBvciB0aGUgVUlEIG1heSBoYXZlIGJlZW4gc2V0IGJ5DQorKyAqIHBvbGtpdF91 bml4X3Byb2Nlc3NfbmV3X2Zvcl9vd25lcigpIG9yIHBvbGtpdF91bml4X3Byb2Nlc3Nfc2V0X3Vp ZCgpLA0KKysgKiBpbiB3aGljaCBjYXNlIGl0IG1heSBub3QgY29ycmVzcG9uZCB0byB0aGUgYWN0 dWFsIFVJRCBvZiB0aGUgcmVmZXJlbmNlZA0KKysgKiBwcm9jZXNzIGF0IGFsbCAoYXQgYW55IHBv aW50IGluIHRpbWUpLg0KKysgKg0KKyAgKiBSZXR1cm5zOiBUaGUgdXNlciBpZCBmb3IgQHByb2Nl c3Mgb3IgLTEgaWYgdW5rbm93bi4NCisgICovDQorIGdpbnQNCitAQCAtNjU1LDE4ICs2NjYsMjYg QEAgb3V0Og0KKyAgIHJldHVybiBzdGFydF90aW1lOw0KKyB9DQorIA0KKy1zdGF0aWMgZ2ludA0K Ky1fcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfb3duZXIgKFBvbGtpdFVuaXhQcm9jZXNzICAqcHJv Y2VzcywNCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAg ICAqKmVycm9yKQ0KKysvKg0KKysgKiBQcml2YXRlOiBSZXR1cm4gdGhlICJjdXJyZW50IiBVSUQu ICBOb3RlIHRoYXQgdGhpcyBpcyBpbmhlcmVudGx5IHJhY3ksDQorKyAqIGFuZCB0aGUgdmFsdWUg bWF5IGFscmVhZHkgYmUgb2Jzb2xldGUgYnkgdGhlIHRpbWUgdGhpcyBmdW5jdGlvbiByZXR1cm5z Ow0KKysgKiB0aGlzIGZ1bmN0aW9uIG9ubHkgZ3VhcmFudGVlcyB0aGF0IHRoZSBVSUQgd2FzIHZh bGlkIGF0IHNvbWUgcG9pbnQgZHVyaW5nDQorKyAqIGl0cyBleGVjdXRpb24uDQorKyAqLw0KKytn aW50DQorK3BvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X3JhY3lfdWlkX18gKFBvbGtpdFVuaXhQcm9j ZXNzICAqcHJvY2VzcywNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vy cm9yICAgICAgICAgICAgKiplcnJvcikNCisgew0KKyAgIGdpbnQgcmVzdWx0Ow0KKyAgIGdjaGFy ICpjb250ZW50czsNCisgICBnY2hhciAqKmxpbmVzOw0KKysgIGd1aW50NjQgc3RhcnRfdGltZTsN CisgI2lmZGVmIEhBVkVfRlJFRUJTRA0KKyAgIHN0cnVjdCBraW5mb19wcm9jIHA7DQorICNlbHNl DQorICAgZ2NoYXIgZmlsZW5hbWVbNjRdOw0KKyAgIGd1aW50IG47DQorKyAgR0Vycm9yICpsb2Nh bF9lcnJvcjsNCisgI2VuZGlmDQorIA0KKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChQT0xLSVRf SVNfVU5JWF9QUk9DRVNTIChwcm9jZXNzKSwgMCk7DQorQEAgLTY4OSw2ICs3MDgsNyBAQCBfcG9s a2l0X3VuaXhfcHJvY2Vzc19nZXRfb3duZXIgKFBvbGtpdFVuaXhQcm9jZXNzICAqcHJvY2VzcywN CisgICAgIH0NCisgDQorICAgcmVzdWx0ID0gcC5raV91aWQ7DQorKyAgc3RhcnRfdGltZSA9IChn dWludDY0KSBwLmtpX3N0YXJ0LnR2X3NlYzsNCisgI2Vsc2UNCisgDQorICAgLyogc2VlICdtYW4g cHJvYycgZm9yIGxheW91dCBvZiB0aGUgc3RhdHVzIGZpbGUNCitAQCAtNzIyLDE3ICs3NDIsMzcg QEAgX3BvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X293bmVyIChQb2xraXRVbml4UHJvY2VzcyAgKnBy b2Nlc3MsDQorICAgICAgIGVsc2UNCisgICAgICAgICB7DQorICAgICAgICAgICByZXN1bHQgPSBy ZWFsX3VpZDsNCistICAgICAgICAgIGdvdG8gb3V0Ow0KKysgICAgICAgICAgZ290byBmb3VuZDsN CisgICAgICAgICB9DQorICAgICB9DQorLQ0KKyAgIGdfc2V0X2Vycm9yIChlcnJvciwNCisgICAg ICAgICAgICAgICAgUE9MS0lUX0VSUk9SLA0KKyAgICAgICAgICAgICAgICBQT0xLSVRfRVJST1Jf RkFJTEVELA0KKyAgICAgICAgICAgICAgICAiRGlkbid0IGZpbmQgYW55IGxpbmUgc3RhcnRpbmcg d2l0aCBgVWlkOicgaW4gZmlsZSAlcyIsDQorICAgICAgICAgICAgICAgIGZpbGVuYW1lKTsNCisr ICBnb3RvIG91dDsNCisrDQorK2ZvdW5kOg0KKysgIC8qIFRoZSBVSUQgYW5kIHN0YXJ0IHRpbWUg YXJlLCBzYWRseSwgbm90IGF2YWlsYWJsZSBpbiBhIHNpbmdsZSBmaWxlLiAgU28sDQorKyAgICog cmVhZCB0aGUgVUlEIGZpcnN0LCBhbmQgdGhlbiB0aGUgc3RhcnQgdGltZTsgaWYgdGhlIHN0YXJ0 IHRpbWUgaXMgdGhlIHNhbWUNCisrICAgKiBiZWZvcmUgYW5kIGFmdGVyIHJlYWRpbmcgdGhlIFVJ RCwgaXQgY291bGRuJ3QgaGF2ZSBjaGFuZ2VkLg0KKysgICAqLw0KKysgIGxvY2FsX2Vycm9yID0g TlVMTDsNCisrICBzdGFydF90aW1lID0gZ2V0X3N0YXJ0X3RpbWVfZm9yX3BpZCAocHJvY2Vzcy0+ cGlkLCAmbG9jYWxfZXJyb3IpOw0KKysgIGlmIChsb2NhbF9lcnJvciAhPSBOVUxMKQ0KKysgICAg ew0KKysgICAgICBnX3Byb3BhZ2F0ZV9lcnJvciAoZXJyb3IsIGxvY2FsX2Vycm9yKTsNCisrICAg ICAgZ290byBvdXQ7DQorKyAgICB9DQorICNlbmRpZg0KKyANCisrICBpZiAocHJvY2Vzcy0+c3Rh cnRfdGltZSAhPSBzdGFydF90aW1lKQ0KKysgICAgew0KKysgICAgICBnX3NldF9lcnJvciAoZXJy b3IsIFBPTEtJVF9FUlJPUiwgUE9MS0lUX0VSUk9SX0ZBSUxFRCwNCisrICAgICAgICAgICAgICAg ICAicHJvY2VzcyB3aXRoIFBJRCAlZCBoYXMgYmVlbiByZXBsYWNlZCIsIHByb2Nlc3MtPnBpZCk7 DQorKyAgICAgIGdvdG8gb3V0Ow0KKysgICAgfQ0KKysNCisgb3V0Og0KKyAgIGdfc3RyZnJlZXYg KGxpbmVzKTsNCisgICBnX2ZyZWUgKGNvbnRlbnRzKTsNCitAQCAtNzQ0LDUgKzc4NCw1IEBAIGdp bnQNCisgcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfb3duZXIgKFBvbGtpdFVuaXhQcm9jZXNzICAq cHJvY2VzcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAg ICAgICoqZXJyb3IpDQorIHsNCistICByZXR1cm4gX3BvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X293 bmVyIChwcm9jZXNzLCBlcnJvcik7DQorKyAgcmV0dXJuIHBvbGtpdF91bml4X3Byb2Nlc3NfZ2V0 X3JhY3lfdWlkX18gKHByb2Nlc3MsIGVycm9yKTsNCisgfQ0KK2RpZmYgLS1naXQgYS9zcmMvcG9s a2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KYi9zcmMvcG9s a2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KK2luZGV4IDcz ZDBhMGUuLjk3YThkODAgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFj a2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMNCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xr aXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYw0KK0BAIC01NjMsNyArNTYzLDcgQEAgbG9n X3Jlc3VsdCAoUG9sa2l0QmFja2VuZEludGVyYWN0aXZlQXV0aG9yaXR5ICAgICphdXRob3JpdHks DQorICAgaWYgKHBvbGtpdF9hdXRob3JpemF0aW9uX3Jlc3VsdF9nZXRfaXNfYXV0aG9yaXplZCAo cmVzdWx0KSkNCisgICAgIGxvZ19yZXN1bHRfc3RyID0gIkFMTE9XSU5HIjsNCisgDQorLSAgdXNl cl9vZl9zdWJqZWN0ID0gcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF91c2VyX2Zv cl9zdWJqZWN0IChwcml2LT5zZXNzaW9uX21vbml0b3IsIHN1YmplY3QsIE5VTEwpOw0KKysgIHVz ZXJfb2Zfc3ViamVjdCA9IHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9m b3Jfc3ViamVjdCAocHJpdi0+c2Vzc2lvbl9tb25pdG9yLCBzdWJqZWN0LCBOVUxMLCBOVUxMKTsN CisgDQorICAgc3ViamVjdF9zdHIgPSBwb2xraXRfc3ViamVjdF90b19zdHJpbmcgKHN1YmplY3Qp Ow0KKyANCitAQCAtODM3LDYgKzgzNyw3IEBAIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1 dGhvcml0eV9jaGVja19hdXRob3JpemF0aW9uIChQb2xraXRCYWNrZW5kQXV0aG9yaXR5DQorICAg Z2NoYXIgKnN1YmplY3Rfc3RyOw0KKyAgIFBvbGtpdElkZW50aXR5ICp1c2VyX29mX2NhbGxlcjsN CisgICBQb2xraXRJZGVudGl0eSAqdXNlcl9vZl9zdWJqZWN0Ow0KKysgIGdib29sZWFuIHVzZXJf b2Zfc3ViamVjdF9tYXRjaGVzOw0KKyAgIGdjaGFyICp1c2VyX29mX2NhbGxlcl9zdHI7DQorICAg Z2NoYXIgKnVzZXJfb2Zfc3ViamVjdF9zdHI7DQorICAgUG9sa2l0QXV0aG9yaXphdGlvblJlc3Vs dCAqcmVzdWx0Ow0KK0BAIC04ODIsNyArODgzLDcgQEAgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3Rp dmVfYXV0aG9yaXR5X2NoZWNrX2F1dGhvcml6YXRpb24gKFBvbGtpdEJhY2tlbmRBdXRob3JpdHkN CisgICAgICAgICAgICBhY3Rpb25faWQpOw0KKyANCisgICB1c2VyX29mX2NhbGxlciA9IHBvbGtp dF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAocHJpdi0+c2Vz c2lvbl9tb25pdG9yLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXIsDQorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNhbGxlciwgTlVMTCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsNCisgICBpZiAoZXJyb3Ig IT0gTlVMTCkNCisgICAgIHsNCitAQCAtODk3LDcgKzg5OCw3IEBAIHBvbGtpdF9iYWNrZW5kX2lu dGVyYWN0aXZlX2F1dGhvcml0eV9jaGVja19hdXRob3JpemF0aW9uIChQb2xraXRCYWNrZW5kQXV0 aG9yaXR5DQorICAgZ19kZWJ1ZyAoIiB1c2VyIG9mIGNhbGxlciBpcyAlcyIsIHVzZXJfb2ZfY2Fs bGVyX3N0cik7DQorIA0KKyAgIHVzZXJfb2Zfc3ViamVjdCA9IHBvbGtpdF9iYWNrZW5kX3Nlc3Np b25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAocHJpdi0+c2Vzc2lvbl9tb25pdG9yLA0K Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3ViamVjdCwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QsICZ1 c2VyX29mX3N1YmplY3RfbWF0Y2hlcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcik7DQorICAg aWYgKGVycm9yICE9IE5VTEwpDQorICAgICB7DQorQEAgLTkyNyw3ICs5MjgsMTAgQEAgcG9sa2l0 X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5X2NoZWNrX2F1dGhvcml6YXRpb24gKFBvbGtp dEJhY2tlbmRBdXRob3JpdHkNCisgICAgKiBXZSBvbmx5IGFsbG93IHRoaXMgaWYsIGFuZCBvbmx5 IGlmLA0KKyAgICAqDQorICAgICogIC0gcHJvY2Vzc2VzIG1heSBjaGVjayBmb3IgYW5vdGhlciBw cm9jZXNzIG93bmVkIGJ5IHRoZSAqc2FtZSogdXNlciBidXQgbm90DQorLSAgICogICAgaWYgZGV0 YWlscyBhcmUgcGFzc2VkIChvdGhlcndpc2UgeW91J2QgYmUgYWJsZSB0byBzcG9vZiB0aGUgZGlh bG9nKQ0KKysgICAqICAgIGlmIGRldGFpbHMgYXJlIHBhc3NlZCAob3RoZXJ3aXNlIHlvdSdkIGJl IGFibGUgdG8gc3Bvb2YgdGhlIGRpYWxvZyk7DQorKyAgICogICAgdGhlIGNhbGxlciBzdXBwbGll cyB0aGUgdXNlcl9vZl9zdWJqZWN0IHZhbHVlLCBzbyB3ZSBhZGRpdGlvbmFsbHkNCisrICAgKiAg ICByZXF1aXJlIGl0IHRvIG1hdGNoIGF0IGxlYXN0IGF0IG9uZSBwb2ludCBpbiB0aW1lICh2aWEN CisrICAgKiAgICB1c2VyX29mX3N1YmplY3RfbWF0Y2hlcykuDQorICAgICoNCisgICAgKiAgLSBw cm9jZXNzZXMgcnVubmluZyBhcyB1aWQgMCBtYXkgY2hlY2sgYW55dGhpbmcgYW5kIHBhc3MgYW55 IGRldGFpbHMNCisgICAgKg0KK0BAIC05MzUsNyArOTM5LDkgQEAgcG9sa2l0X2JhY2tlbmRfaW50 ZXJhY3RpdmVfYXV0aG9yaXR5X2NoZWNrX2F1dGhvcml6YXRpb24gKFBvbGtpdEJhY2tlbmRBdXRo b3JpdHkNCisgICAgKiAgICB0aGVuIGFueSB1aWQgcmVmZXJlbmNlZCBieSB0aGF0IGFubm90YXRp b24gaXMgYWxzbyBhbGxvd2VkIHRvIGNoZWNrDQorICAgICogICAgdG8gY2hlY2sgYW55dGhpbmcg YW5kIHBhc3MgYW55IGRldGFpbHMNCisgICAgKi8NCistICBpZiAoIXBvbGtpdF9pZGVudGl0eV9l cXVhbCAodXNlcl9vZl9jYWxsZXIsIHVzZXJfb2Zfc3ViamVjdCkgfHwgaGFzX2RldGFpbHMpDQor KyAgaWYgKCF1c2VyX29mX3N1YmplY3RfbWF0Y2hlcw0KKysgICAgICB8fCAhcG9sa2l0X2lkZW50 aXR5X2VxdWFsICh1c2VyX29mX2NhbGxlciwgdXNlcl9vZl9zdWJqZWN0KQ0KKysgICAgICB8fCBo YXNfZGV0YWlscykNCisgICAgIHsNCisgICAgICAgaWYgKCFtYXlfaWRlbnRpdHlfY2hlY2tfYXV0 aG9yaXphdGlvbiAoaW50ZXJhY3RpdmVfYXV0aG9yaXR5LCBhY3Rpb25faWQsIHVzZXJfb2ZfY2Fs bGVyKSkNCisgICAgICAgICB7DQorQEAgLTExMDIsOSArMTEwOCwxMCBAQCBjaGVja19hdXRob3Jp emF0aW9uX3N5bmMgKFBvbGtpdEJhY2tlbmRBdXRob3JpdHkgICAgICAgICAqYXV0aG9yaXR5LA0K KyAgICAgICBnb3RvIG91dDsNCisgICAgIH0NCisgDQorLSAgLyogZXZlcnkgc3ViamVjdCBoYXMg YSB1c2VyICovDQorKyAgLyogZXZlcnkgc3ViamVjdCBoYXMgYSB1c2VyOyB0aGlzIGlzIHN1cHBs aWVkIGJ5IHRoZSBjbGllbnQsIHNvIHdlIHJlbHkNCisrICAgKiBvbiB0aGUgY2FsbGVyIHRvIHZh bGlkYXRlIGl0cyBhY2NlcHRhYmlsaXR5LiAqLw0KKyAgIHVzZXJfb2Zfc3ViamVjdCA9IHBvbGtp dF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAocHJpdi0+c2Vz c2lvbl9tb25pdG9yLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdCwNCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN1YmplY3QsIE5VTEwsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7DQorICAgaWYgKHVz ZXJfb2Zfc3ViamVjdCA9PSBOVUxMKQ0KKyAgICAgICBnb3RvIG91dDsNCitAQCAtMjMxOSw2ICsy MzI2LDcgQEAgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5X3JlZ2lzdGVyX2F1 dGhlbnRpY2F0aW9uX2FnZW50IChQb2xraXRCYWNrZW4NCisgICBQb2xraXRTdWJqZWN0ICpzZXNz aW9uX2Zvcl9jYWxsZXI7DQorICAgUG9sa2l0SWRlbnRpdHkgKnVzZXJfb2ZfY2FsbGVyOw0KKyAg IFBvbGtpdElkZW50aXR5ICp1c2VyX29mX3N1YmplY3Q7DQorKyAgZ2Jvb2xlYW4gdXNlcl9vZl9z dWJqZWN0X21hdGNoZXM7DQorICAgQXV0aGVudGljYXRpb25BZ2VudCAqYWdlbnQ7DQorICAgZ2Jv b2xlYW4gcmV0Ow0KKyAgIGdjaGFyICpjYWxsZXJfY21kbGluZTsNCitAQCAtMjM3MSw3ICsyMzc5 LDcgQEAgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5X3JlZ2lzdGVyX2F1dGhl bnRpY2F0aW9uX2FnZW50IChQb2xraXRCYWNrZW4NCisgICAgICAgZ290byBvdXQ7DQorICAgICB9 DQorIA0KKy0gIHVzZXJfb2ZfY2FsbGVyID0gcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9y X2dldF91c2VyX2Zvcl9zdWJqZWN0IChwcml2LT5zZXNzaW9uX21vbml0b3IsIGNhbGxlciwgTlVM TCk7DQorKyAgdXNlcl9vZl9jYWxsZXIgPSBwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0b3Jf Z2V0X3VzZXJfZm9yX3N1YmplY3QgKHByaXYtPnNlc3Npb25fbW9uaXRvciwgY2FsbGVyLCBOVUxM LCBOVUxMKTsNCisgICBpZiAodXNlcl9vZl9jYWxsZXIgPT0gTlVMTCkNCisgICAgIHsNCisgICAg ICAgZ19zZXRfZXJyb3IgKGVycm9yLA0KK0BAIC0yMzgwLDcgKzIzODgsNyBAQCBwb2xraXRfYmFj a2VuZF9pbnRlcmFjdGl2ZV9hdXRob3JpdHlfcmVnaXN0ZXJfYXV0aGVudGljYXRpb25fYWdlbnQg KFBvbGtpdEJhY2tlbg0KKyAgICAgICAgICAgICAgICAgICAgIkNhbm5vdCBkZXRlcm1pbmUgdXNl ciBvZiBjYWxsZXIiKTsNCisgICAgICAgZ290byBvdXQ7DQorICAgICB9DQorLSAgdXNlcl9vZl9z dWJqZWN0ID0gcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJq ZWN0IChwcml2LT5zZXNzaW9uX21vbml0b3IsIHN1YmplY3QsIE5VTEwpOw0KKysgIHVzZXJfb2Zf c3ViamVjdCA9IHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3Vi amVjdCAocHJpdi0+c2Vzc2lvbl9tb25pdG9yLCBzdWJqZWN0LA0KJnVzZXJfb2Zfc3ViamVjdF9t YXRjaGVzLCBOVUxMKTsNCisgICBpZiAodXNlcl9vZl9zdWJqZWN0ID09IE5VTEwpDQorICAgICB7 DQorICAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwNCitAQCAtMjM4OSw3ICsyMzk3LDggQEAgcG9s a2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5X3JlZ2lzdGVyX2F1dGhlbnRpY2F0aW9u X2FnZW50IChQb2xraXRCYWNrZW4NCisgICAgICAgICAgICAgICAgICAgICJDYW5ub3QgZGV0ZXJt aW5lIHVzZXIgb2Ygc3ViamVjdCIpOw0KKyAgICAgICBnb3RvIG91dDsNCisgICAgIH0NCistICBp ZiAoIXBvbGtpdF9pZGVudGl0eV9lcXVhbCAodXNlcl9vZl9jYWxsZXIsIHVzZXJfb2Zfc3ViamVj dCkpDQorKyAgaWYgKCF1c2VyX29mX3N1YmplY3RfbWF0Y2hlcw0KKysgICAgICB8fCAhcG9sa2l0 X2lkZW50aXR5X2VxdWFsICh1c2VyX29mX2NhbGxlciwgdXNlcl9vZl9zdWJqZWN0KSkNCisgICAg IHsNCisgICAgICAgaWYgKFBPTEtJVF9JU19VTklYX1VTRVIgKHVzZXJfb2ZfY2FsbGVyKSAmJiBw b2xraXRfdW5peF91c2VyX2dldF91aWQgKFBPTEtJVF9VTklYX1VTRVIgKHVzZXJfb2ZfY2FsbGVy KSkgPT0gMCkNCisgICAgICAgICB7DQorQEAgLTI0ODIsNiArMjQ5MSw3IEBAIHBvbGtpdF9iYWNr ZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0eV91bnJlZ2lzdGVyX2F1dGhlbnRpY2F0aW9uX2FnZW50 IChQb2xraXRCYWNrDQorICAgUG9sa2l0U3ViamVjdCAqc2Vzc2lvbl9mb3JfY2FsbGVyOw0KKyAg IFBvbGtpdElkZW50aXR5ICp1c2VyX29mX2NhbGxlcjsNCisgICBQb2xraXRJZGVudGl0eSAqdXNl cl9vZl9zdWJqZWN0Ow0KKysgIGdib29sZWFuIHVzZXJfb2Zfc3ViamVjdF9tYXRjaGVzOw0KKyAg IEF1dGhlbnRpY2F0aW9uQWdlbnQgKmFnZW50Ow0KKyAgIGdib29sZWFuIHJldDsNCisgICBnY2hh ciAqc2NvcGVfc3RyOw0KK0BAIC0yNTMwLDcgKzI1NDAsNyBAQCBwb2xraXRfYmFja2VuZF9pbnRl cmFjdGl2ZV9hdXRob3JpdHlfdW5yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAoUG9sa2l0 QmFjaw0KKyAgICAgICBnb3RvIG91dDsNCisgICAgIH0NCisgDQorLSAgdXNlcl9vZl9jYWxsZXIg PSBwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKHBy aXYtPnNlc3Npb25fbW9uaXRvciwgY2FsbGVyLCBOVUxMKTsNCisrICB1c2VyX29mX2NhbGxlciA9 IHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAocHJp di0+c2Vzc2lvbl9tb25pdG9yLCBjYWxsZXIsIE5VTEwsIE5VTEwpOw0KKyAgIGlmICh1c2VyX29m X2NhbGxlciA9PSBOVUxMKQ0KKyAgICAgew0KKyAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsDQor QEAgLTI1MzksNyArMjU0OSw3IEBAIHBvbGtpdF9iYWNrZW5kX2ludGVyYWN0aXZlX2F1dGhvcml0 eV91bnJlZ2lzdGVyX2F1dGhlbnRpY2F0aW9uX2FnZW50IChQb2xraXRCYWNrDQorICAgICAgICAg ICAgICAgICAgICAiQ2Fubm90IGRldGVybWluZSB1c2VyIG9mIGNhbGxlciIpOw0KKyAgICAgICBn b3RvIG91dDsNCisgICAgIH0NCistICB1c2VyX29mX3N1YmplY3QgPSBwb2xraXRfYmFja2VuZF9z ZXNzaW9uX21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKHByaXYtPnNlc3Npb25fbW9uaXRv ciwgc3ViamVjdCwgTlVMTCk7DQorKyAgdXNlcl9vZl9zdWJqZWN0ID0gcG9sa2l0X2JhY2tlbmRf c2Vzc2lvbl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0IChwcml2LT5zZXNzaW9uX21vbml0 b3IsIHN1YmplY3QsDQomdXNlcl9vZl9zdWJqZWN0X21hdGNoZXMsIE5VTEwpOw0KKyAgIGlmICh1 c2VyX29mX3N1YmplY3QgPT0gTlVMTCkNCisgICAgIHsNCisgICAgICAgZ19zZXRfZXJyb3IgKGVy cm9yLA0KK0BAIC0yNTQ4LDcgKzI1NTgsOCBAQCBwb2xraXRfYmFja2VuZF9pbnRlcmFjdGl2ZV9h dXRob3JpdHlfdW5yZWdpc3Rlcl9hdXRoZW50aWNhdGlvbl9hZ2VudCAoUG9sa2l0QmFjaw0KKyAg ICAgICAgICAgICAgICAgICAgIkNhbm5vdCBkZXRlcm1pbmUgdXNlciBvZiBzdWJqZWN0Iik7DQor ICAgICAgIGdvdG8gb3V0Ow0KKyAgICAgfQ0KKy0gIGlmICghcG9sa2l0X2lkZW50aXR5X2VxdWFs ICh1c2VyX29mX2NhbGxlciwgdXNlcl9vZl9zdWJqZWN0KSkNCisrICBpZiAoIXVzZXJfb2Zfc3Vi amVjdF9tYXRjaGVzDQorKyAgICAgIHx8ICFwb2xraXRfaWRlbnRpdHlfZXF1YWwgKHVzZXJfb2Zf Y2FsbGVyLCB1c2VyX29mX3N1YmplY3QpKQ0KKyAgICAgew0KKyAgICAgICBpZiAoUE9MS0lUX0lT X1VOSVhfVVNFUiAodXNlcl9vZl9jYWxsZXIpICYmIHBvbGtpdF91bml4X3VzZXJfZ2V0X3VpZCAo UE9MS0lUX1VOSVhfVVNFUiAodXNlcl9vZl9jYWxsZXIpKSA9PSAwKQ0KKyAgICAgICAgIHsNCitA QCAtMjY1OCw3ICsyNjY5LDcgQEAgcG9sa2l0X2JhY2tlbmRfaW50ZXJhY3RpdmVfYXV0aG9yaXR5 X2F1dGhlbnRpY2F0aW9uX2FnZW50X3Jlc3BvbnNlIChQb2xraXRCYWNrZW4NCisgICAgICAgICAg ICBpZGVudGl0eV9zdHIpOw0KKyANCisgICB1c2VyX29mX2NhbGxlciA9IHBvbGtpdF9iYWNrZW5k X3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9mb3Jfc3ViamVjdCAocHJpdi0+c2Vzc2lvbl9tb25p dG9yLA0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXIsDQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlciwg TlVMTCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IpOw0KKyAgIGlmICh1c2VyX29mX2NhbGxlciA9 PSBOVUxMKQ0KKyAgICAgZ290byBvdXQ7DQorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5k L3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci1zeXN0ZW1kLmMgYi9zcmMvcG9sa2l0YmFja2Vu ZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3ItDQpzeXN0ZW1kLmMNCitpbmRleCA2YmQ1MTdh Li43NzMyNTZlIDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRz ZXNzaW9ubW9uaXRvci1zeXN0ZW1kLmMNCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRi YWNrZW5kc2Vzc2lvbm1vbml0b3Itc3lzdGVtZC5jDQorQEAgLTI5LDYgKzI5LDcgQEANCisgI2lu Y2x1ZGUgPHN0ZGxpYi5oPg0KKyANCisgI2luY2x1ZGUgPHBvbGtpdC9wb2xraXQuaD4NCisrI2lu Y2x1ZGUgPHBvbGtpdC9wb2xraXRwcml2YXRlLmg+DQorICNpbmNsdWRlICJwb2xraXRiYWNrZW5k c2Vzc2lvbm1vbml0b3IuaCINCisgDQorIC8qIDxpbnRlcm5hbD4NCitAQCAtMjQ2LDI2ICsyNDcs NDAgQEAgcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF9zZXNzaW9ucyAoUG9sa2l0 QmFja2VuZFNlc3Npb25Nb25pdG9yICptb25pdG8NCisgICogcG9sa2l0X2JhY2tlbmRfc2Vzc2lv bl9tb25pdG9yX2dldF91c2VyOg0KKyAgKiBAbW9uaXRvcjogQSAjUG9sa2l0QmFja2VuZFNlc3Np b25Nb25pdG9yLg0KKyAgKiBAc3ViamVjdDogQSAjUG9sa2l0U3ViamVjdC4NCisrICogQHJlc3Vs dF9tYXRjaGVzOiBJZiBub3QgJU5VTEwsIHNldCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSByZXR1 cm4gdmFsdWUgbWF0Y2hlcyBjdXJyZW50IChSQUNZKSBzdGF0ZS4NCisgICogQGVycm9yOiBSZXR1 cm4gbG9jYXRpb24gZm9yIGVycm9yLg0KKyAgKg0KKyAgKiBHZXRzIHRoZSB1c2VyIGNvcnJlc3Bv bmRpbmcgdG8gQHN1YmplY3Qgb3IgJU5VTEwgaWYgbm8gdXNlciBleGlzdHMuDQorICAqDQorKyAq IE5PVEU6IEZvciBhICNQb2xraXRVbml4UHJvY2VzcywgdGhlIFVJRCBpcyByZWFkIGZyb20gQHN1 YmplY3QgKHdoaWNoIG1heQ0KKysgKiBjb21lIGZyb20gZS5nLiBhIEQtQnVzIGNsaWVudCksIHNv IGl0IG1heSBub3QgY29ycmVzcG9uZCB0byB0aGUgYWN0dWFsIFVJRA0KKysgKiBvZiB0aGUgcmVm ZXJlbmNlZCBwcm9jZXNzIChhdCBhbnkgcG9pbnQgaW4gdGltZSkuICBUaGlzIGlzIGluZGljYXRl ZCBieQ0KKysgKiBzZXR0aW5nIEByZXN1bHRfbWF0Y2hlcyB0byAlRkFMU0U7IHRoZSBjYWxsZXIg bWF5IHJlamVjdCBzdWNoIHN1YmplY3RzIG9yDQorKyAqIHJlcXVpcmUgYWRkaXRpb25hbCBwcml2 aWxlZ2VzLiBAcmVzdWx0X21hdGNoZXMgPT0gJVRSVUUgb25seSBpbmRpY2F0ZXMgdGhhdA0KKysg KiB0aGUgVUlEIG1hdGNoZWQgdGhlIHVuZGVybHlpbmcgcHJvY2VzcyBhdCBPTkUgcG9pbnQgaW4g dGltZSwgaXQgbWF5IG5vdCBtYXRjaA0KKysgKiBsYXRlci4NCisrICoNCisgICogUmV0dXJuczog JU5VTEwgaWYgQGVycm9yIGlzIHNldCBvdGhlcndpc2UgYSAjUG9sa2l0VW5peFVzZXIgdGhhdCBz aG91bGQgYmUgZnJlZWQgd2l0aCBnX29iamVjdF91bnJlZigpLg0KKyAgKi8NCisgUG9sa2l0SWRl bnRpdHkgKg0KKyBwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1 YmplY3QgKFBvbGtpdEJhY2tlbmRTZXNzaW9uTW9uaXRvciAgKm1vbml0b3IsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9sa2l0U3ViamVj dCAgICAgICAgICAgICAgICAqc3ViamVjdCwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICpy ZXN1bHRfbWF0Y2hlcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAgICAgKiplcnJvcikNCisgew0K KyAgIFBvbGtpdElkZW50aXR5ICpyZXQ7DQorLSAgZ3VpbnQzMiB1aWQ7DQorKyAgZ2Jvb2xlYW4g bWF0Y2hlczsNCisgDQorICAgcmV0ID0gTlVMTDsNCisrICBtYXRjaGVzID0gRkFMU0U7DQorIA0K KyAgIGlmIChQT0xLSVRfSVNfVU5JWF9QUk9DRVNTIChzdWJqZWN0KSkNCisgICAgIHsNCistICAg ICAgdWlkID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkIChQT0xLSVRfVU5JWF9QUk9DRVNT IChzdWJqZWN0KSk7DQorLSAgICAgIGlmICgoZ2ludCkgdWlkID09IC0xKQ0KKysgICAgICBnaW50 IHN1YmplY3RfdWlkLCBjdXJyZW50X3VpZDsNCisrICAgICAgR0Vycm9yICpsb2NhbF9lcnJvcjsN CisrDQorKyAgICAgIHN1YmplY3RfdWlkID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkIChQ T0xLSVRfVU5JWF9QUk9DRVNTIChzdWJqZWN0KSk7DQorKyAgICAgIGlmIChzdWJqZWN0X3VpZCA9 PSAtMSkNCisgICAgICAgICB7DQorICAgICAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsDQorICAg ICAgICAgICAgICAgICAgICAgICAgUE9MS0lUX0VSUk9SLA0KK0BAIC0yNzMsMTQgKzI4OCwyNCBA QCBwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKFBv bGtpdEJhY2tlbmRTZXNzaW9uTW9uaXRvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICJVbml4 IHByb2Nlc3Mgc3ViamVjdCBkb2VzIG5vdCBoYXZlIHVpZCBzZXQiKTsNCisgICAgICAgICAgIGdv dG8gb3V0Ow0KKyAgICAgICAgIH0NCistICAgICAgcmV0ID0gcG9sa2l0X3VuaXhfdXNlcl9uZXcg KHVpZCk7DQorKyAgICAgIGxvY2FsX2Vycm9yID0gTlVMTDsNCisrICAgICAgY3VycmVudF91aWQg PSBwb2xraXRfdW5peF9wcm9jZXNzX2dldF9yYWN5X3VpZF9fIChQT0xLSVRfVU5JWF9QUk9DRVNT IChzdWJqZWN0KSwgJmxvY2FsX2Vycm9yKTsNCisrICAgICAgaWYgKGxvY2FsX2Vycm9yICE9IE5V TEwpDQorKyAgICAgIHsNCisrICAgICAgICBnX3Byb3BhZ2F0ZV9lcnJvciAoZXJyb3IsIGxvY2Fs X2Vycm9yKTsNCisrICAgICAgICBnb3RvIG91dDsNCisrICAgICAgfQ0KKysgICAgICByZXQgPSBw b2xraXRfdW5peF91c2VyX25ldyAoc3ViamVjdF91aWQpOw0KKysgICAgICBtYXRjaGVzID0gKHN1 YmplY3RfdWlkID09IGN1cnJlbnRfdWlkKTsNCisgICAgIH0NCisgICBlbHNlIGlmIChQT0xLSVRf SVNfU1lTVEVNX0JVU19OQU1FIChzdWJqZWN0KSkNCisgICAgIHsNCisgICAgICAgcmV0ID0gKFBv bGtpdElkZW50aXR5Kilwb2xraXRfc3lzdGVtX2J1c19uYW1lX2dldF91c2VyX3N5bmMgKFBPTEtJ VF9TWVNURU1fQlVTX05BTUUgKHN1YmplY3QpLCBOVUxMLCBlcnJvcik7DQorKyAgICAgIG1hdGNo ZXMgPSBUUlVFOw0KKyAgICAgfQ0KKyAgIGVsc2UgaWYgKFBPTEtJVF9JU19VTklYX1NFU1NJT04g KHN1YmplY3QpKQ0KKyAgICAgew0KKysgICAgICB1aWRfdCB1aWQ7DQorIA0KKyAgICAgICBpZiAo c2Rfc2Vzc2lvbl9nZXRfdWlkIChwb2xraXRfdW5peF9zZXNzaW9uX2dldF9zZXNzaW9uX2lkIChQ T0xLSVRfVU5JWF9TRVNTSU9OIChzdWJqZWN0KSksICZ1aWQpIDwgMCkNCisgICAgICAgICB7DQor QEAgLTI5Miw5ICszMTcsMTQgQEAgcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF91 c2VyX2Zvcl9zdWJqZWN0IChQb2xraXRCYWNrZW5kU2Vzc2lvbk1vbml0b3INCisgICAgICAgICB9 DQorIA0KKyAgICAgICByZXQgPSBwb2xraXRfdW5peF91c2VyX25ldyAodWlkKTsNCisrICAgICAg bWF0Y2hlcyA9IFRSVUU7DQorICAgICB9DQorIA0KKyAgb3V0Og0KKysgIGlmIChyZXN1bHRfbWF0 Y2hlcyAhPSBOVUxMKQ0KKysgICAgew0KKysgICAgICAqcmVzdWx0X21hdGNoZXMgPSBtYXRjaGVz Ow0KKysgICAgfQ0KKyAgIHJldHVybiByZXQ7DQorIH0NCisgDQorZGlmZiAtLWdpdCBhL3NyYy9w b2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci5jIGIvc3JjL3BvbGtpdGJh Y2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmMNCitpbmRleCBlMWE5YWIzLi5lZDMw NzU1IDEwMDY0NA0KKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9u bW9uaXRvci5jDQorKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZHNlc3Npb25t b25pdG9yLmMNCitAQCAtMjcsNiArMjcsNyBAQA0KKyAjaW5jbHVkZSA8Z2xpYi9nc3RkaW8uaD4N CisgDQorICNpbmNsdWRlIDxwb2xraXQvcG9sa2l0Lmg+DQorKyNpbmNsdWRlIDxwb2xraXQvcG9s a2l0cHJpdmF0ZS5oPg0KKyAjaW5jbHVkZSAicG9sa2l0YmFja2VuZHNlc3Npb25tb25pdG9yLmgi DQorIA0KKyAjZGVmaW5lIENLREJfUEFUSCAiL3Zhci9ydW4vQ29uc29sZUtpdC9kYXRhYmFzZSIN CitAQCAtMjczLDI4ICsyNzQsNDAgQEAgcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dl dF9zZXNzaW9ucyAoUG9sa2l0QmFja2VuZFNlc3Npb25Nb25pdG9yICptb25pdG8NCisgICogcG9s a2l0X2JhY2tlbmRfc2Vzc2lvbl9tb25pdG9yX2dldF91c2VyOg0KKyAgKiBAbW9uaXRvcjogQSAj UG9sa2l0QmFja2VuZFNlc3Npb25Nb25pdG9yLg0KKyAgKiBAc3ViamVjdDogQSAjUG9sa2l0U3Vi amVjdC4NCisrICogQHJlc3VsdF9tYXRjaGVzOiBJZiBub3QgJU5VTEwsIHNldCB0byBpbmRpY2F0 ZSB3aGV0aGVyIHRoZSByZXR1cm4gdmFsdWUgbWF0Y2hlcyBjdXJyZW50IChSQUNZKSBzdGF0ZS4N CisgICogQGVycm9yOiBSZXR1cm4gbG9jYXRpb24gZm9yIGVycm9yLg0KKyAgKg0KKyAgKiBHZXRz IHRoZSB1c2VyIGNvcnJlc3BvbmRpbmcgdG8gQHN1YmplY3Qgb3IgJU5VTEwgaWYgbm8gdXNlciBl eGlzdHMuDQorICAqDQorKyAqIE5PVEU6IEZvciBhICNQb2xraXRVbml4UHJvY2VzcywgdGhlIFVJ RCBpcyByZWFkIGZyb20gQHN1YmplY3QgKHdoaWNoIG1heQ0KKysgKiBjb21lIGZyb20gZS5nLiBh IEQtQnVzIGNsaWVudCksIHNvIGl0IG1heSBub3QgY29ycmVzcG9uZCB0byB0aGUgYWN0dWFsIFVJ RA0KKysgKiBvZiB0aGUgcmVmZXJlbmNlZCBwcm9jZXNzIChhdCBhbnkgcG9pbnQgaW4gdGltZSku ICBUaGlzIGlzIGluZGljYXRlZCBieQ0KKysgKiBzZXR0aW5nIEByZXN1bHRfbWF0Y2hlcyB0byAl RkFMU0U7IHRoZSBjYWxsZXIgbWF5IHJlamVjdCBzdWNoIHN1YmplY3RzIG9yDQorKyAqIHJlcXVp cmUgYWRkaXRpb25hbCBwcml2aWxlZ2VzLiBAcmVzdWx0X21hdGNoZXMgPT0gJVRSVUUgb25seSBp bmRpY2F0ZXMgdGhhdA0KKysgKiB0aGUgVUlEIG1hdGNoZWQgdGhlIHVuZGVybHlpbmcgcHJvY2Vz cyBhdCBPTkUgcG9pbnQgaW4gdGltZSwgaXQgbWF5IG5vdCBtYXRjaA0KKysgKiBsYXRlci4NCisr ICoNCisgICogUmV0dXJuczogJU5VTEwgaWYgQGVycm9yIGlzIHNldCBvdGhlcndpc2UgYSAjUG9s a2l0VW5peFVzZXIgdGhhdCBzaG91bGQgYmUgZnJlZWQgd2l0aCBnX29iamVjdF91bnJlZigpLg0K KyAgKi8NCisgUG9sa2l0SWRlbnRpdHkgKg0KKyBwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0 b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKFBvbGtpdEJhY2tlbmRTZXNzaW9uTW9uaXRvciAgKm1v bml0b3IsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUG9sa2l0U3ViamVjdCAgICAgICAgICAgICAgICAqc3ViamVjdCwNCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAg ICAgICAgICAgICAgICAgICpyZXN1bHRfbWF0Y2hlcywNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAg ICAgKiplcnJvcikNCisgew0KKyAgIFBvbGtpdElkZW50aXR5ICpyZXQ7DQorKyAgZ2Jvb2xlYW4g bWF0Y2hlczsNCisgICBHRXJyb3IgKmxvY2FsX2Vycm9yOw0KKy0gIGdjaGFyICpncm91cDsNCist ICBndWludDMyIHVpZDsNCisgDQorICAgcmV0ID0gTlVMTDsNCisrICBtYXRjaGVzID0gRkFMU0U7 DQorIA0KKyAgIGlmIChQT0xLSVRfSVNfVU5JWF9QUk9DRVNTIChzdWJqZWN0KSkNCisgICAgIHsN CistICAgICAgdWlkID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkIChQT0xLSVRfVU5JWF9Q Uk9DRVNTIChzdWJqZWN0KSk7DQorLSAgICAgIGlmICgoZ2ludCkgdWlkID09IC0xKQ0KKysgICAg ICBnaW50IHN1YmplY3RfdWlkLCBjdXJyZW50X3VpZDsNCisrDQorKyAgICAgIHN1YmplY3RfdWlk ID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkIChQT0xLSVRfVU5JWF9QUk9DRVNTIChzdWJq ZWN0KSk7DQorKyAgICAgIGlmIChzdWJqZWN0X3VpZCA9PSAtMSkNCisgICAgICAgICB7DQorICAg ICAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsDQorICAgICAgICAgICAgICAgICAgICAgICAgUE9M S0lUX0VSUk9SLA0KK0BAIC0zMDIsMTQgKzMxNSwyNiBAQCBwb2xraXRfYmFja2VuZF9zZXNzaW9u X21vbml0b3JfZ2V0X3VzZXJfZm9yX3N1YmplY3QgKFBvbGtpdEJhY2tlbmRTZXNzaW9uTW9uaXRv cg0KKyAgICAgICAgICAgICAgICAgICAgICAgICJVbml4IHByb2Nlc3Mgc3ViamVjdCBkb2VzIG5v dCBoYXZlIHVpZCBzZXQiKTsNCisgICAgICAgICAgIGdvdG8gb3V0Ow0KKyAgICAgICAgIH0NCist ICAgICAgcmV0ID0gcG9sa2l0X3VuaXhfdXNlcl9uZXcgKHVpZCk7DQorKyAgICAgIGxvY2FsX2Vy cm9yID0gTlVMTDsNCisrICAgICAgY3VycmVudF91aWQgPSBwb2xraXRfdW5peF9wcm9jZXNzX2dl dF9yYWN5X3VpZF9fIChQT0xLSVRfVU5JWF9QUk9DRVNTIChzdWJqZWN0KSwgJmxvY2FsX2Vycm9y KTsNCisrICAgICAgaWYgKGxvY2FsX2Vycm9yICE9IE5VTEwpDQorKyAgICAgIHsNCisrICAgICAg ICBnX3Byb3BhZ2F0ZV9lcnJvciAoZXJyb3IsIGxvY2FsX2Vycm9yKTsNCisrICAgICAgICBnb3Rv IG91dDsNCisrICAgICAgfQ0KKysgICAgICByZXQgPSBwb2xraXRfdW5peF91c2VyX25ldyAoc3Vi amVjdF91aWQpOw0KKysgICAgICBtYXRjaGVzID0gKHN1YmplY3RfdWlkID09IGN1cnJlbnRfdWlk KTsNCisgICAgIH0NCisgICBlbHNlIGlmIChQT0xLSVRfSVNfU1lTVEVNX0JVU19OQU1FIChzdWJq ZWN0KSkNCisgICAgIHsNCisgICAgICAgcmV0ID0gKFBvbGtpdElkZW50aXR5Kilwb2xraXRfc3lz dGVtX2J1c19uYW1lX2dldF91c2VyX3N5bmMgKFBPTEtJVF9TWVNURU1fQlVTX05BTUUgKHN1Ympl Y3QpLCBOVUxMLCBlcnJvcik7DQorKyAgICAgIG1hdGNoZXMgPSBUUlVFOw0KKyAgICAgfQ0KKyAg IGVsc2UgaWYgKFBPTEtJVF9JU19VTklYX1NFU1NJT04gKHN1YmplY3QpKQ0KKyAgICAgew0KKysg ICAgICBnaW50IHVpZDsNCisrICAgICAgZ2NoYXIgKmdyb3VwOw0KKysNCisgICAgICAgaWYgKCFl bnN1cmVfZGF0YWJhc2UgKG1vbml0b3IsIGVycm9yKSkNCisgICAgICAgICB7DQorICAgICAgICAg ICBnX3ByZWZpeF9lcnJvciAoZXJyb3IsICJFcnJvciBnZXR0aW5nIHVzZXIgZm9yIHNlc3Npb246 IEVycm9yIGVuc3VyaW5nIENLIGRhdGFiYXNlIGF0ICIgQ0tEQl9QQVRIICI6ICIpOw0KK0BAIC0z MjgsOSArMzUzLDE0IEBAIHBvbGtpdF9iYWNrZW5kX3Nlc3Npb25fbW9uaXRvcl9nZXRfdXNlcl9m b3Jfc3ViamVjdCAoUG9sa2l0QmFja2VuZFNlc3Npb25Nb25pdG9yDQorICAgICAgIGdfZnJlZSAo Z3JvdXApOw0KKyANCisgICAgICAgcmV0ID0gcG9sa2l0X3VuaXhfdXNlcl9uZXcgKHVpZCk7DQor KyAgICAgIG1hdGNoZXMgPSBUUlVFOw0KKyAgICAgfQ0KKyANCisgIG91dDoNCisrICBpZiAocmVz dWx0X21hdGNoZXMgIT0gTlVMTCkNCisrICAgIHsNCisrICAgICAgKnJlc3VsdF9tYXRjaGVzID0g bWF0Y2hlczsNCisrICAgIH0NCisgICByZXR1cm4gcmV0Ow0KKyB9DQorIA0KK2RpZmYgLS1naXQg YS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kc2Vzc2lvbm1vbml0b3IuaCBiL3NyYy9w b2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRzZXNzaW9ubW9uaXRvci5oDQoraW5kZXggOGY4YTJj YS4uMzk3MjMyNiAxMDA2NDQNCistLS0gYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5k c2Vzc2lvbm1vbml0b3IuaA0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRz ZXNzaW9ubW9uaXRvci5oDQorQEAgLTQ3LDYgKzQ3LDcgQEAgR0xpc3QgICAgICAgICAgICAgICAg ICAgICAgICpwb2xraXRfYmFja2VuZF9zZXNzaW9uX21vbml0b3JfZ2V0X3Nlc3Npb25zIChQb2xr aXQNCisgDQorIFBvbGtpdElkZW50aXR5ICAgICAgICAgICAgICAqcG9sa2l0X2JhY2tlbmRfc2Vz c2lvbl9tb25pdG9yX2dldF91c2VyX2Zvcl9zdWJqZWN0IChQb2xraXRCYWNrZW5kU2Vzc2lvbk1v bml0b3INCiptb25pdG9yLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9sa2l0U3ViamVj dCAgICAgICAgICAgICAgICpzdWJqZWN0DQosDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn Ym9vbGVhbiAgICAgICAgICAgICAgICAgICAgKnJlc3VsdF8NCm1hdGNoZXMsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAgICAqKmVycm9yKTsNCisg DQorIFBvbGtpdFN1YmplY3QgICAgICAgICAgICAgICAqcG9sa2l0X2JhY2tlbmRfc2Vzc2lvbl9t b25pdG9yX2dldF9zZXNzaW9uX2Zvcl9zdWJqZWN0IChQb2xraXRCYWNrZW5kU2Vzc2lvbk1vbml0 b3INCiptb25pdG9yLA0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAwMDEtY2hl Y2stZm9yLWxpYnN5c3RlbWQtaW5zdGVhZC1vZi1saWJzeXN0ZW1kLWxvZ2luLnBhdGNoIGIvcGF0 Y2hlcy9wb2xraXQtDQowLjEwNS8wMDAxLWNoZWNrLWZvci1saWJzeXN0ZW1kLWluc3RlYWQtb2Yt bGlic3lzdGVtZC1sb2dpbi5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAx ODE0ZWU5ODkuLjAwMDAwMDAwMA0KLS0tIGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMDAwMS1jaGVj ay1mb3ItbGlic3lzdGVtZC1pbnN0ZWFkLW9mLWxpYnN5c3RlbWQtbG9naW4ucGF0Y2gNCisrKyAv ZGV2L251bGwNCkBAIC0xLDIyICswLDAgQEANCi1Gcm9tOiBNaWNoYWVsIE9sYnJpY2ggPG0ub2xi cmljaEBwZW5ndXRyb25peC5kZT4NCi1EYXRlOiBGcmksIDI3IE1heSAyMDE2IDIwOjIwOjE2ICsw MjAwDQotU3ViamVjdDogW1BBVENIXSBjaGVjayBmb3IgbGlic3lzdGVtZCBpbnN0ZWFkIG9mIGxp YnN5c3RlbWQtbG9naW4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE9sYnJpY2ggPG0ub2xi cmljaEBwZW5ndXRyb25peC5kZT4NCi0tLS0NCi0gY29uZmlndXJlLmFjIHwgMiArLQ0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCi0NCi1kaWZmIC0tZ2l0 IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjDQotaW5kZXggZjRhMGM0MTc3ZmJmLi40YmYy YzA1ZDk4OWMgMTAwNjQ0DQotLS0tIGEvY29uZmlndXJlLmFjDQotKysrIGIvY29uZmlndXJlLmFj DQotQEAgLTE2MCw3ICsxNjAsNyBAQCBBQ19BUkdfRU5BQkxFKFtzeXN0ZW1kXSwNCi0gICAgICAg ICAgICAgICBbZW5hYmxlX3N5c3RlbWQ9YXV0b10pDQotIGlmIHRlc3QgIiRlbmFibGVfc3lzdGVt ZCIgIT0gIm5vIjsgdGhlbg0KLSAgIFBLR19DSEVDS19NT0RVTEVTKFNZU1RFTUQsDQotLSAgICAg ICAgICAgICAgICAgICAgW2xpYnN5c3RlbWQtbG9naW5dLA0KLSsgICAgICAgICAgICAgICAgICAg IFtsaWJzeXN0ZW1kXSwNCi0gICAgICAgICAgICAgICAgICAgICBoYXZlX3N5c3RlbWQ9eWVzLA0K LSAgICAgICAgICAgICAgICAgICAgIGhhdmVfc3lzdGVtZD1ubykNCi0gICBpZiB0ZXN0ICIkaGF2 ZV9zeXN0ZW1kIiA9ICJ5ZXMiOyB0aGVuDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4x MDUvMDFfcGFtX3BvbGtpdC5wYXRjaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzAxX3BhbV9wb2xr aXQucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjVmYzU1MzNl ZA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMDFfcGFtX3BvbGtp dC5wYXRjaA0KQEAgLTAsMCArMSwyNiBAQA0KK0Zyb206IE1pY2hhZWwgQmllYmwgPGJpZWJsQGRl Ymlhbi5vcmc+DQorRGF0ZTogVHVlLCAyIE9jdCAyMDA3IDIyOjM4OjA0ICswMjAwDQorU3ViamVj dDogVXNlIERlYmlhbidzIGNvbW1vbi0qIFBBTSBpbmZyYXN0cnVjdHVyZSwgcGx1cyBwYW1fZW52 DQorDQorRm9yd2FyZGVkOiBubywgRGViaWFuLXNwZWNpZmljDQorLS0tDQorIGRhdGEvcG9sa2l0 LTEuaW4gfCAxMCArKysrKystLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2RhdGEvcG9sa2l0LTEuaW4gYi9kYXRh L3BvbGtpdC0xLmluDQoraW5kZXggMTQyZGFkZC4uNmY4YWYyYSAxMDA2NDQNCistLS0gYS9kYXRh L3BvbGtpdC0xLmluDQorKysrIGIvZGF0YS9wb2xraXQtMS5pbg0KK0BAIC0xLDYgKzEsOCBAQA0K KyAjJVBBTS0xLjANCisgDQorLWF1dGggICAgICAgaW5jbHVkZSAgICAgIEBQQU1fRklMRV9JTkNM VURFX0FVVEhADQorLWFjY291bnQgICAgaW5jbHVkZSAgICAgIEBQQU1fRklMRV9JTkNMVURFX0FD Q09VTlRADQorLXBhc3N3b3JkICAgaW5jbHVkZSAgICAgIEBQQU1fRklMRV9JTkNMVURFX1BBU1NX T1JEQA0KKy1zZXNzaW9uICAgIGluY2x1ZGUgICAgICBAUEFNX0ZJTEVfSU5DTFVERV9TRVNTSU9O QA0KKytAaW5jbHVkZSBjb21tb24tYXV0aA0KKytAaW5jbHVkZSBjb21tb24tYWNjb3VudA0KKytA aW5jbHVkZSBjb21tb24tcGFzc3dvcmQNCisrc2Vzc2lvbiAgICAgICByZXF1aXJlZCAgIHBhbV9l bnYuc28gcmVhZGVudj0xIHVzZXJfcmVhZGVudj0wDQorK3Nlc3Npb24gICAgICAgcmVxdWlyZWQg ICBwYW1fZW52LnNvIHJlYWRlbnY9MSBlbnZmaWxlPS9ldGMvZGVmYXVsdC9sb2NhbGUgdXNlcl9y ZWFkZW52PTANCisrQGluY2x1ZGUgY29tbW9uLXNlc3Npb24tbm9uaW50ZXJhY3RpdmUNCmRpZmYg LS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wMl9nZXR0ZXh0LnBhdGNoIGIvcGF0Y2hlcy9w b2xraXQtMC4xMDUvMDJfZ2V0dGV4dC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMC4uN2IyZjA3YmRlDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtp dC0wLjEwNS8wMl9nZXR0ZXh0LnBhdGNoDQpAQCAtMCwwICsxLDE5MyBAQA0KK0Zyb206IFJvYmVy dCBBbmNlbGwgPHJvYmVydC5hbmNlbGxAY2Fub25pY2FsLmNvbT4NCitEYXRlOiBXZWQsIDE4IEF1 ZyAyMDEwIDE2OjI2OjE1ICsxMDAwDQorU3ViamVjdDogVXNlIGdldHRleHQgZm9yIHRyYW5zbGF0 aW9ucyBpbiAucG9saWN5IGZpbGVzDQorDQorQnVnOiBodHRwOi8vYnVncy5mcmVlZGVza3RvcC5v cmcvc2hvd19idWcuY2dpP2lkPTI5NjM5DQorQnVnLVVidW50dTogaHR0cHM6Ly9sYXVuY2hwYWQu bmV0L2J1Z3MvNjE5NjMyDQorLS0tDQorIHNyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRh Y3Rpb25wb29sLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KKyAxIGZpbGUg Y2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFj a2VuZC9wb2xraXRiYWNrZW5kYWN0aW9ucG9vbC5jIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0 YmFja2VuZGFjdGlvbnBvb2wuYw0KK2luZGV4IDQyNzBkNGUuLmUyZGJmOWUgMTAwNjQ0DQorLS0t IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGFjdGlvbnBvb2wuYw0KKysrKyBiL3Ny Yy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRhY3Rpb25wb29sLmMNCitAQCAtMjQsNiArMjQs OCBAQA0KKyAjaW5jbHVkZSA8cHdkLmg+DQorICNpbmNsdWRlIDxzdHJpbmcuaD4NCisgI2luY2x1 ZGUgPGV4cGF0Lmg+DQorKyNpbmNsdWRlIDxsb2NhbGUuaD4NCisrI2luY2x1ZGUgPGdsaWIvZ2kx OG4uaD4NCisgDQorICNpbmNsdWRlIDxwb2xraXQvcG9sa2l0Lmg+DQorICNpbmNsdWRlIDxwb2xr aXQvcG9sa2l0cHJpdmF0ZS5oPg0KK0BAIC00NCw3ICs0Niw5IEBAIHR5cGVkZWYgc3RydWN0DQor ICAgZ2NoYXIgKnZlbmRvcl91cmw7DQorICAgZ2NoYXIgKmljb25fbmFtZTsNCisgICBnY2hhciAq ZGVzY3JpcHRpb247DQorKyAgZ2NoYXIgKmRlc2NyaXB0aW9uX2RvbWFpbjsNCisgICBnY2hhciAq bWVzc2FnZTsNCisrICBnY2hhciAqbWVzc2FnZV9kb21haW47ICANCisgDQorICAgUG9sa2l0SW1w bGljaXRBdXRob3JpemF0aW9uIGltcGxpY2l0X2F1dGhvcml6YXRpb25fYW55Ow0KKyAgIFBvbGtp dEltcGxpY2l0QXV0aG9yaXphdGlvbiBpbXBsaWNpdF9hdXRob3JpemF0aW9uX2luYWN0aXZlOw0K K0BAIC02NSw3ICs2OSw5IEBAIHBhcnNlZF9hY3Rpb25fZnJlZSAoUGFyc2VkQWN0aW9uICphY3Rp b24pDQorICAgZ19mcmVlIChhY3Rpb24tPnZlbmRvcl91cmwpOw0KKyAgIGdfZnJlZSAoYWN0aW9u LT5pY29uX25hbWUpOw0KKyAgIGdfZnJlZSAoYWN0aW9uLT5kZXNjcmlwdGlvbik7DQorKyAgZ19m cmVlIChhY3Rpb24tPmRlc2NyaXB0aW9uX2RvbWFpbik7DQorICAgZ19mcmVlIChhY3Rpb24tPm1l c3NhZ2UpOw0KKysgIGdfZnJlZSAoYWN0aW9uLT5tZXNzYWdlX2RvbWFpbik7DQorIA0KKyAgIGdf aGFzaF90YWJsZV91bnJlZiAoYWN0aW9uLT5sb2NhbGl6ZWRfZGVzY3JpcHRpb24pOw0KKyAgIGdf aGFzaF90YWJsZV91bnJlZiAoYWN0aW9uLT5sb2NhbGl6ZWRfbWVzc2FnZSk7DQorQEAgLTg1LDYg KzkxLDcgQEAgc3RhdGljIHZvaWQgZW5zdXJlX2FsbF9maWxlcyAoUG9sa2l0QmFja2VuZEFjdGlv blBvb2wgKnBvb2wpOw0KKyANCisgc3RhdGljIGNvbnN0IGdjaGFyICpfbG9jYWxpemUgKEdIYXNo VGFibGUgKnRyYW5zbGF0aW9ucywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGdjaGFyICp1bnRyYW5zbGF0ZWQsDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBnY2hhciAqZG9tYWluLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKmxhbmcpOw0KKyANCisgdHlwZWRlZiBzdHJ1Y3QNCitAQCAtMzg1LDkgKzM5 MiwxMSBAQCBwb2xraXRfYmFja2VuZF9hY3Rpb25fcG9vbF9nZXRfYWN0aW9uIChQb2xraXRCYWNr ZW5kQWN0aW9uUG9vbCAqcG9vbCwNCisgDQorICAgZGVzY3JpcHRpb24gPSBfbG9jYWxpemUgKHBh cnNlZF9hY3Rpb24tPmxvY2FsaXplZF9kZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGFyc2VkX2FjdGlvbi0+ZGVzY3JpcHRpb24sDQorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBhcnNlZF9hY3Rpb24tPmRlc2NyaXB0aW9uX2RvbWFpbiwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbG9jYWxlKTsNCisgICBtZXNzYWdlID0gX2xvY2FsaXplIChwYXJz ZWRfYWN0aW9uLT5sb2NhbGl6ZWRfbWVzc2FnZSwNCisgICAgICAgICAgICAgICAgICAgICAgICBw YXJzZWRfYWN0aW9uLT5tZXNzYWdlLA0KKysgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZF9h Y3Rpb24tPm1lc3NhZ2VfZG9tYWluLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZSk7 DQorIA0KKyAgIHJldCA9IHBvbGtpdF9hY3Rpb25fZGVzY3JpcHRpb25fbmV3IChhY3Rpb25faWQs DQorQEAgLTYwMywxMSArNjEyLDE2IEBAIHR5cGVkZWYgc3RydWN0IHsNCisgICBHSGFzaFRhYmxl ICpwb2xpY3lfbWVzc2FnZXM7DQorIA0KKyAgIGNoYXIgKnBvbGljeV9kZXNjcmlwdGlvbl9ub2xh bmc7DQorKyAgY2hhciAqcG9saWN5X2Rlc2NyaXB0aW9uX2RvbWFpbjsNCisgICBjaGFyICpwb2xp Y3lfbWVzc2FnZV9ub2xhbmc7DQorKyAgY2hhciAqcG9saWN5X21lc3NhZ2VfZG9tYWluOw0KKyAN CisgICAvKiB0aGUgdmFsdWUgb2YgeG1sOmxhbmcgZm9yIHRoZSB0aGluZyB3ZSdyZSByZWFkaW5n IGluIF9jZGF0YSgpICovDQorICAgY2hhciAqZWxlbV9sYW5nOw0KKyANCisrICAvKiB0aGUgdmFs dWUgb2YgZ2V0dGV4dC1kb21haW4gZm9yIHRoZSB0aGluZyB3ZSdyZSByZWFkaW5nIGluIF9jZGF0 YSgpICovDQorKyAgY2hhciAqZWxlbV9kb21haW47DQorKw0KKyAgIGNoYXIgKmFubm90YXRlX2tl eTsNCisgICBHSGFzaFRhYmxlICphbm5vdGF0aW9uczsNCisgDQorQEAgLTYyOSw4ICs2NDMsMTIg QEAgcGRfdW5yZWZfYWN0aW9uX2RhdGEgKFBhcnNlckRhdGEgKnBkKQ0KKyANCisgICBnX2ZyZWUg KHBkLT5wb2xpY3lfZGVzY3JpcHRpb25fbm9sYW5nKTsNCisgICBwZC0+cG9saWN5X2Rlc2NyaXB0 aW9uX25vbGFuZyA9IE5VTEw7DQorKyAgZ19mcmVlIChwZC0+cG9saWN5X2Rlc2NyaXB0aW9uX2Rv bWFpbik7DQorKyAgcGQtPnBvbGljeV9kZXNjcmlwdGlvbl9kb21haW4gPSBOVUxMOw0KKyAgIGdf ZnJlZSAocGQtPnBvbGljeV9tZXNzYWdlX25vbGFuZyk7DQorICAgcGQtPnBvbGljeV9tZXNzYWdl X25vbGFuZyA9IE5VTEw7DQorKyAgZ19mcmVlIChwZC0+cG9saWN5X21lc3NhZ2VfZG9tYWluKTsN CisrICBwZC0+cG9saWN5X21lc3NhZ2VfZG9tYWluID0gTlVMTDsNCisgICBpZiAocGQtPnBvbGlj eV9kZXNjcmlwdGlvbnMgIT0gTlVMTCkNCisgICAgIHsNCisgICAgICAgZ19oYXNoX3RhYmxlX3Vu cmVmIChwZC0+cG9saWN5X2Rlc2NyaXB0aW9ucyk7DQorQEAgLTY1MCw2ICs2NjgsOCBAQCBwZF91 bnJlZl9hY3Rpb25fZGF0YSAoUGFyc2VyRGF0YSAqcGQpDQorICAgICB9DQorICAgZ19mcmVlIChw ZC0+ZWxlbV9sYW5nKTsNCisgICBwZC0+ZWxlbV9sYW5nID0gTlVMTDsNCisrICBnX2ZyZWUgKHBk LT5lbGVtX2RvbWFpbik7DQorKyAgcGQtPmVsZW1fZG9tYWluID0gTlVMTDsNCisgfQ0KKyANCisg c3RhdGljIHZvaWQNCitAQCAtNzM3LDYgKzc1NywxMCBAQCBfc3RhcnQgKHZvaWQgKmRhdGEsIGNv bnN0IGNoYXIgKmVsLCBjb25zdCBjaGFyICoqYXR0cikNCisgICAgICAgICAgICAgew0KKyAgICAg ICAgICAgICAgIHBkLT5lbGVtX2xhbmcgPSBnX3N0cmR1cCAoYXR0clsxXSk7DQorICAgICAgICAg ICAgIH0NCisrICAgICAgICAgIGlmIChudW1fYXR0ciA9PSAyICYmIHN0cmNtcCAoYXR0clswXSwg ImdldHRleHQtZG9tYWluIikgPT0gMCkNCisrICAgICAgICAgICAgew0KKysgICAgICAgICAgICAg IHBkLT5lbGVtX2RvbWFpbiA9IGdfc3RyZHVwIChhdHRyWzFdKTsNCisrICAgICAgICAgICAgfQ0K KyAgICAgICAgICAgc3RhdGUgPSBTVEFURV9JTl9BQ1RJT05fREVTQ1JJUFRJT047DQorICAgICAg ICAgfQ0KKyAgICAgICBlbHNlIGlmIChzdHJjbXAgKGVsLCAibWVzc2FnZSIpID09IDApDQorQEAg LTc0NSw2ICs3NjksMTAgQEAgX3N0YXJ0ICh2b2lkICpkYXRhLCBjb25zdCBjaGFyICplbCwgY29u c3QgY2hhciAqKmF0dHIpDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICBwZC0+ZWxl bV9sYW5nID0gZ19zdHJkdXAgKGF0dHJbMV0pOw0KKyAgICAgICAgICAgICB9DQorKyAgICAgICAg ICBpZiAobnVtX2F0dHIgPT0gMiAmJiBzdHJjbXAgKGF0dHJbMF0sICJnZXR0ZXh0LWRvbWFpbiIp ID09IDApDQorKyAgICAgICAgICAgIHsNCisrICAgICAgICAgICAgICBwZC0+ZWxlbV9kb21haW4g PSBnX3N0cmR1cCAoYXR0clsxXSk7DQorKyAgICAgICAgICAgIH0NCisgICAgICAgICAgIHN0YXRl ID0gU1RBVEVfSU5fQUNUSU9OX01FU1NBR0U7DQorICAgICAgICAgfQ0KKyAgICAgICBlbHNlIGlm IChzdHJjbXAgKGVsLCAidmVuZG9yIikgPT0gMCAmJiBudW1fYXR0ciA9PSAwKQ0KK0BAIC04NDcs NiArODc1LDcgQEAgX2NkYXRhICh2b2lkICpkYXRhLCBjb25zdCBjaGFyICpzLCBpbnQgbGVuKQ0K KyAgICAgICAgIHsNCisgICAgICAgICAgIGdfZnJlZSAocGQtPnBvbGljeV9kZXNjcmlwdGlvbl9u b2xhbmcpOw0KKyAgICAgICAgICAgcGQtPnBvbGljeV9kZXNjcmlwdGlvbl9ub2xhbmcgPSBzdHI7 DQorKyAgICAgICAgICBwZC0+cG9saWN5X2Rlc2NyaXB0aW9uX2RvbWFpbiA9IGdfc3RyZHVwIChw ZC0+ZWxlbV9kb21haW4pOw0KKyAgICAgICAgICAgc3RyID0gTlVMTDsNCisgICAgICAgICB9DQor ICAgICAgIGVsc2UNCitAQCAtODYzLDYgKzg5Miw3IEBAIF9jZGF0YSAodm9pZCAqZGF0YSwgY29u c3QgY2hhciAqcywgaW50IGxlbikNCisgICAgICAgICB7DQorICAgICAgICAgICBnX2ZyZWUgKHBk LT5wb2xpY3lfbWVzc2FnZV9ub2xhbmcpOw0KKyAgICAgICAgICAgcGQtPnBvbGljeV9tZXNzYWdl X25vbGFuZyA9IHN0cjsNCisrICAgICAgICAgIHBkLT5wb2xpY3lfbWVzc2FnZV9kb21haW4gPSBn X3N0cmR1cCAocGQtPmVsZW1fZG9tYWluKTsNCisgICAgICAgICAgIHN0ciA9IE5VTEw7DQorICAg ICAgICAgfQ0KKyAgICAgICBlbHNlDQorQEAgLTk2MCw2ICs5OTAsOCBAQCBfZW5kICh2b2lkICpk YXRhLCBjb25zdCBjaGFyICplbCkNCisgDQorICAgZ19mcmVlIChwZC0+ZWxlbV9sYW5nKTsNCisg ICBwZC0+ZWxlbV9sYW5nID0gTlVMTDsNCisrICBnX2ZyZWUgKHBkLT5lbGVtX2RvbWFpbik7DQor KyAgcGQtPmVsZW1fZG9tYWluID0gTlVMTDsNCisgDQorICAgc3dpdGNoIChwZC0+c3RhdGUpDQor ICAgICB7DQorQEAgLTk5MCw3ICsxMDIyLDkgQEAgX2VuZCAodm9pZCAqZGF0YSwgY29uc3QgY2hh ciAqZWwpDQorICAgICAgICAgYWN0aW9uLT52ZW5kb3JfdXJsID0gZ19zdHJkdXAgKHZlbmRvcl91 cmwpOw0KKyAgICAgICAgIGFjdGlvbi0+aWNvbl9uYW1lID0gZ19zdHJkdXAgKGljb25fbmFtZSk7 DQorICAgICAgICAgYWN0aW9uLT5kZXNjcmlwdGlvbiA9IGdfc3RyZHVwIChwZC0+cG9saWN5X2Rl c2NyaXB0aW9uX25vbGFuZyk7DQorKyAgICAgICAgYWN0aW9uLT5kZXNjcmlwdGlvbl9kb21haW4g PSBnX3N0cmR1cCAocGQtPnBvbGljeV9kZXNjcmlwdGlvbl9kb21haW4pOw0KKyAgICAgICAgIGFj dGlvbi0+bWVzc2FnZSA9IGdfc3RyZHVwIChwZC0+cG9saWN5X21lc3NhZ2Vfbm9sYW5nKTsNCisr ICAgICAgICBhY3Rpb24tPm1lc3NhZ2VfZG9tYWluID0gZ19zdHJkdXAgKHBkLT5wb2xpY3lfbWVz c2FnZV9kb21haW4pOw0KKyANCisgICAgICAgICBhY3Rpb24tPmxvY2FsaXplZF9kZXNjcmlwdGlv biA9IHBkLT5wb2xpY3lfZGVzY3JpcHRpb25zOw0KKyAgICAgICAgIGFjdGlvbi0+bG9jYWxpemVk X21lc3NhZ2UgICAgID0gcGQtPnBvbGljeV9tZXNzYWdlczsNCitAQCAtMTA5Myw2ICsxMTI3LDcg QEAgZXJyb3I6DQorICAqIF9sb2NhbGl6ZToNCisgICogQHRyYW5zbGF0aW9uczogYSBtYXBwaW5n IGZyb20geG1sOmxhbmcgdG8gdGhlIHZhbHVlLCBlLmcuICdkYScgLT4gJ1NtYWRyZScsICdlbl9D QScgLT4gJ1B1bmNoLCBBeWUhJw0KKyAgKiBAdW50cmFuc2xhdGVkOiB0aGUgdW50cmFuc2xhdGVk IHZhbHVlLCBlLmcuICdQdW5jaCcNCisrICogQGRvbWFpbjogdGhlIGdldHRleHQgZG9tYWluIGZv ciB0aGlzIHN0cmluZy4gTWFrZSBiZSBOVUxMLg0KKyAgKiBAbGFuZzogdGhlIGxvY2FsZSB3ZSdy ZSBpbnRlcmVzdGVkIGluLCBlLmcuICdkYV9ESycsICdkYScsICdlbl9DQScsICdlbl9VUyc7IGJh c2ljYWxseSBqdXN0ICRMQU5HDQorICAqIHdpdGggdGhlIGVuY29kaW5nIGN1dCBvZmYuIE1heWJl IGJlIE5VTEwuDQorICAqDQorQEAgLTExMDMsMTEgKzExMzgsMjUgQEAgZXJyb3I6DQorIHN0YXRp YyBjb25zdCBnY2hhciAqDQorIF9sb2NhbGl6ZSAoR0hhc2hUYWJsZSAqdHJhbnNsYXRpb25zLA0K KyAgICAgICAgICAgIGNvbnN0IGdjaGFyICp1bnRyYW5zbGF0ZWQsDQorKyAgICAgICAgICAgY29u c3QgZ2NoYXIgKmRvbWFpbiwNCisgICAgICAgICAgICBjb25zdCBnY2hhciAqbGFuZykNCisgew0K KyAgIGNvbnN0IGdjaGFyICpyZXN1bHQ7DQorICAgZ2NoYXIgbGFuZzJbMjU2XTsNCisgICBndWlu dCBuOw0KKysgIA0KKysgIGlmIChkb21haW4gIT0gTlVMTCkNCisrICAgIHsNCisrICAgICAgZ2No YXIgKm9sZF9sb2NhbGU7DQorKw0KKysgICAgICBvbGRfbG9jYWxlID0gZ19zdHJkdXAgKHNldGxv Y2FsZSAoTENfQUxMLCBOVUxMKSk7DQorKyAgICAgIHNldGxvY2FsZSAoTENfQUxMLCBsYW5nKTsN CisrICAgICAgcmVzdWx0ID0gZGdldHRleHQgKGRvbWFpbiwgdW50cmFuc2xhdGVkKTsNCisrICAg ICAgc2V0bG9jYWxlIChMQ19BTEwsIG9sZF9sb2NhbGUpOw0KKysgICAgICBnX2ZyZWUgKG9sZF9s b2NhbGUpOw0KKysNCisrICAgICAgZ290byBvdXQ7DQorKyAgICB9DQorIA0KKyAgIGlmIChsYW5n ID09IE5VTEwpDQorICAgICB7DQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4xMDUvMDVf cmV2ZXJ0LWFkbWluLWlkZW50aXRpZXMtdW5peC1ncm91cC13aGVlbC5wYXRjaCBiL3BhdGNoZXMv cG9sa2l0LTAuMTA1LzA1X3JldmVydC0NCmFkbWluLWlkZW50aXRpZXMtdW5peC1ncm91cC13aGVl bC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uYmQ2ZTliOTRl DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wNV9yZXZlcnQtYWRt aW4taWRlbnRpdGllcy11bml4LWdyb3VwLXdoZWVsLnBhdGNoDQpAQCAtMCwwICsxLDM1IEBADQor RnJvbTogTWljaGFlbCBCaWVibCA8YmllYmxAZGViaWFuLm9yZz4NCitEYXRlOiBGcmksIDkgRGVj IDIwMTEgMDA6MzE6MjEgKzAxMDANCitTdWJqZWN0OiBSZXZlcnQgIkRlZmF1bHQgdG8gQWRtaW5J ZGVudGl0aWVzPXVuaXgtZ3JvdXA6d2hlZWwgZm9yIGxvY2FsDQorIGF1dGhvcml0eSINCisNCitU aGlzIHJldmVydHMgY29tbWl0IDc2M2ZhZjQzNGI0NDVjMjBhZTk1MjkxMDBkM2VmNTI5MDk3NmQw YzkuDQorDQorT24gUmVkIEhhdCBkZXJpdmF0aXZlcywgZXZlcnkgbWVtYmVyIG9mIGdyb3VwICd3 aGVlbCcgaXMgbmVjZXNzYXJpbHkNCitwcml2aWxlZ2VkLiBPbiBEZWJpYW4gZGVyaXZhdGl2ZXMs IHRoZXJlIGlzIG5vIHdoZWVsIGdyb3VwLCBhbmQgZ2lkIDANCisocm9vdCkgaXMgbm90IHVzZWQg aW4gdGhpcyB3YXkuIENoYW5nZSB0aGUgZGVmYXVsdCBydWxlIHRvIGNvbnNpZGVyDQordWlkIDAg dG8gYmUgcHJpdmlsZWdlZCwgaW5zdGVhZC4NCisNCitPbiBSZWQgSGF0IGRlcml2YXRpdmVzLCA1 MC1kZWZhdWx0LnJ1bGVzIGlzIG5vdCBwcmVzZXJ2ZWQgYnkgdXBncmFkZXM7DQorb24gZHBrZy1i YXNlZCBzeXN0ZW1zLCBpdCBpcyBhIHByb3BlciBjb25mZmlsZSBhbmQgbWF5IGJlIGVkaXRlZA0K KyhhdCB0aGUgc3lzYWRtaW4ncyBvd24gcmlzayksIHNvIHRoZSBjb21tZW50IGFib3V0IG5vdCBl ZGl0aW5nIGl0IGlzDQorbWlzbGVhZGluZy4NCisNCitbc21jdjogYWRkZWQgbG9uZ2VyIGV4cGxh bmF0aW9uIG9mIHdoeSB3ZSBtYWtlIHRoaXMgY2hhbmdlOw0KK3JlbW92ZSB1bnJlbGF0ZWQgY29z bWV0aWMgY2hhbmdlIHRvIGEgbWFuIHBhZ2VdDQorDQorRm9yd2FyZGVkOiBubywgRGViaWFuLXNw ZWNpZmljDQorLS0tDQorIHNyYy9wb2xraXRiYWNrZW5kLzUwLWxvY2FsYXV0aG9yaXR5LmNvbmYg fCAyICstDQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQ0K Kw0KK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC81MC1sb2NhbGF1dGhvcml0eS5jb25m IGIvc3JjL3BvbGtpdGJhY2tlbmQvNTAtbG9jYWxhdXRob3JpdHkuY29uZg0KK2luZGV4IDVlNDRi ZGUuLjIwZTBiYTMgMTAwNjQ0DQorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvNTAtbG9jYWxhdXRo b3JpdHkuY29uZg0KKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kLzUwLWxvY2FsYXV0aG9yaXR5LmNv bmYNCitAQCAtNyw0ICs3LDQgQEANCisgIw0KKyANCisgW0NvbmZpZ3VyYXRpb25dDQorLUFkbWlu SWRlbnRpdGllcz11bml4LWdyb3VwOndoZWVsDQorK0FkbWluSWRlbnRpdGllcz11bml4LXVzZXI6 MA0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzA2X3N5c3RlbWQtc2VydmljZS5w YXRjaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1LzA2X3N5c3RlbWQtc2VydmljZS5wYXRjaA0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uMzYzNjNjNGE1DQotLS0gL2Rldi9u dWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8wNl9zeXN0ZW1kLXNlcnZpY2UucGF0Y2gN CkBAIC0wLDAgKzEsMTggQEANCitGcm9tOiBNaWNoYWVsIEJpZWJsIDxiaWVibEBkZWJpYW4ub3Jn Pg0KK0RhdGU6IFNhdCwgMTEgRmViIDIwMTIgMjM6NDg6MjkgKzAxMDANCitTdWJqZWN0OiBJbnN0 YWxsIHN5c3RlbWQgc2VydmljZSBmaWxlIGZvciBwb2xraXRkLg0KKw0KK0ZvcndhcmRlZDogbm8s IG9ic29sZXRlZCBieSBhbiB1cHN0cmVhbSBjb21taXQgaW4gMC4xMDYNCistLS0NCisgZGF0YS9v cmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5zZXJ2aWNlLmluIHwgMSArDQorIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKQ0KKw0KK2RpZmYgLS1naXQgYS9kYXRhL29yZy5mcmVlZGVza3Rv cC5Qb2xpY3lLaXQxLnNlcnZpY2UuaW4gYi9kYXRhL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQx LnNlcnZpY2UuaW4NCitpbmRleCBiNmNkMDJiLi5mYmNlYjNmIDEwMDY0NA0KKy0tLSBhL2RhdGEv b3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuc2VydmljZS5pbg0KKysrKyBiL2RhdGEvb3JnLmZy ZWVkZXNrdG9wLlBvbGljeUtpdDEuc2VydmljZS5pbg0KK0BAIC0yLDMgKzIsNCBAQA0KKyBOYW1l PW9yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxDQorIEV4ZWM9QGxpYmV4ZWNkaXJAL3BvbGtpdGQg LS1uby1kZWJ1Zw0KKyBVc2VyPXJvb3QNCisrU3lzdGVtZFNlcnZpY2U9cG9sa2l0LnNlcnZpY2UN CmRpZmYgLS1naXQgYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS8xMF9idWlsZC1hZ2FpbnN0LWxpYnN5 c3RlbWQucGF0Y2ggYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8xMF9idWlsZC1hZ2FpbnN0LQ0KbGli c3lzdGVtZC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uNjIz MGE2MzE1DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL3BvbGtpdC0wLjEwNS8xMF9idWls ZC1hZ2FpbnN0LWxpYnN5c3RlbWQucGF0Y2gNCkBAIC0wLDAgKzEsMzIgQEANCitGcm9tOiBNaWNo YWVsIEJpZWJsIDxiaWVibEBkZWJpYW4ub3JnPg0KK0RhdGU6IFdlZCwgOCBKdWwgMjAxNSAwMjow ODozMyArMDIwMA0KK1N1YmplY3Q6IEJ1aWxkIGFnYWluc3QgbGlic3lzdGVtZA0KKw0KK0J1Zy1E ZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9 Nzc5NzU2DQorRm9yd2FyZGVkOiBubywgb2Jzb2xldGVkIGJ5IHVwc3RyZWFtIGNvbW1pdCAyMjkx NzY3YTAxNGY1YTA0YTkyY2E2ZjBlYjQ3Mjc5NGYyMTJjYTY3IGluIDAuMTEzDQorLS0tDQorIGNv bmZpZ3VyZS5hYyB8IDQgKystLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUu YWMNCitpbmRleCAzODg2MDVkLi5mNTVkZGI3IDEwMDY0NA0KKy0tLSBhL2NvbmZpZ3VyZS5hYw0K KysrKyBiL2NvbmZpZ3VyZS5hYw0KK0BAIC0xNjAsNyArMTYwLDcgQEAgQUNfQVJHX0VOQUJMRShb c3lzdGVtZF0sDQorICAgICAgICAgICAgICAgW2VuYWJsZV9zeXN0ZW1kPWF1dG9dKQ0KKyBpZiB0 ZXN0ICIkZW5hYmxlX3N5c3RlbWQiICE9ICJubyI7IHRoZW4NCisgICBQS0dfQ0hFQ0tfTU9EVUxF UyhTWVNURU1ELA0KKy0gICAgICAgICAgICAgICAgICAgIFtsaWJzeXN0ZW1kLWxvZ2luXSwNCisr ICAgICAgICAgICAgICAgICAgICBbbGlic3lzdGVtZF0sDQorICAgICAgICAgICAgICAgICAgICAg aGF2ZV9zeXN0ZW1kPXllcywNCisgICAgICAgICAgICAgICAgICAgICBoYXZlX3N5c3RlbWQ9bm8p DQorICAgaWYgdGVzdCAiJGhhdmVfc3lzdGVtZCIgPSAieWVzIjsgdGhlbg0KK0BAIC0xNzEsNyAr MTcxLDcgQEAgaWYgdGVzdCAiJGVuYWJsZV9zeXN0ZW1kIiAhPSAibm8iOyB0aGVuDQorICAgICBM SUJTPSRzYXZlX0xJQlMNCisgICBlbHNlDQorICAgICBpZiB0ZXN0ICIkZW5hYmxlX3N5c3RlbWQi ID0gInllcyI7IHRoZW4NCistICAgICAgQUNfTVNHX0VSUk9SKFtzeXN0ZW1kIHN1cHBvcnQgcmVx dWVzdGVkIGJ1dCBsaWJzeXN0ZW1kLWxvZ2luMSBsaWJyYXJ5IG5vdCBmb3VuZF0pDQorKyAgICAg IEFDX01TR19FUlJPUihbc3lzdGVtZCBzdXBwb3J0IHJlcXVlc3RlZCBidXQgbGlic3lzdGVtZCBs aWJyYXJ5IG5vdCBmb3VuZF0pDQorICAgICBmaQ0KKyAgIGZpDQorIGZpDQpkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9wb2xraXQtMC4xMDUvTW92ZS1ELUJ1cy1wb2xpY3ktZmlsZS10by11c3Itc2hhcmUt ZGJ1cy0xLXN5c3RlbS5kLnBhdGNoIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvTW92ZS0NCkQtQnVz LXBvbGljeS1maWxlLXRvLXVzci1zaGFyZS1kYnVzLTEtc3lzdGVtLmQucGF0Y2gNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAuLjU3NGEyNWQ4OA0KLS0tIC9kZXYvbnVsbA0K KysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvTW92ZS1ELUJ1cy1wb2xpY3ktZmlsZS10by11c3It c2hhcmUtZGJ1cy0xLXN5c3RlbS5kLnBhdGNoDQpAQCAtMCwwICsxLDMxIEBADQorRnJvbTogTWlj aGFlbCBCaWVibCA8YmllYmxAZGViaWFuLm9yZz4NCitEYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDE4 OjM2OjI3ICswMTAwDQorU3ViamVjdDogTW92ZSBELUJ1cyBwb2xpY3kgZmlsZSB0byAvdXNyL3No YXJlL2RidXMtMS9zeXN0ZW0uZC8NCisNCitUbyBiZXR0ZXIgc3VwcG9ydCBzdGF0ZWxlc3Mgc3lz dGVtcyB3aXRoIGFuIGVtcHR5IC9ldGMsIHRoZSBvbGQgbG9jYXRpb24NCitpbiAvZXRjL2RidXMt MS9zeXN0ZW0uZC8gc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgbG9jYWwgYWRtaW4gY2hhbmdlcy4N CitQYWNrYWdlIHByb3ZpZGVkIEQtQnVzIHBvbGljeSBmaWxlcyBhcmUgc3VwcG9zZWQgdG8gYmUg aW5zdGFsbGVkIGluDQorL3Vzci9zaGFyZS9kYnVzLTEvc3lzdGVtLmQvLg0KKw0KK1RoaXMgaXMg c3VwcG9ydGVkIHNpbmNlIGRidXMgMS45LjE4Lg0KKw0KK2h0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL2FyY2hpdmVzL2RidXMvMjAxNS1KdWx5LzAxNjc0Ni5odG1sDQorDQoraHR0cHM6Ly9n aXRsYWIuZnJlZWRlc2t0b3Aub3JnL3BvbGtpdC9wb2xraXQvbWVyZ2VfcmVxdWVzdHMvMTENCist LS0NCisgZGF0YS9NYWtlZmlsZS5hbSB8IDIgKy0NCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0g Yi9kYXRhL01ha2VmaWxlLmFtDQoraW5kZXggZTFhNjBhYS4uM2Q4NzQzOSAxMDA2NDQNCistLS0g YS9kYXRhL01ha2VmaWxlLmFtDQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQ0KK0BAIC05LDcgKzks NyBAQCBzZXJ2aWNlX0RBVEEgICAgID0gJChzZXJ2aWNlX2luX2ZpbGVzOi5zZXJ2aWNlLmluPS5z ZXJ2aWNlKQ0KKyAkKHNlcnZpY2VfREFUQSk6ICQoc2VydmljZV9pbl9maWxlcykgTWFrZWZpbGUN CisgICAgICAgQHNlZCAtZSAic3xcQGxpYmV4ZWNkaXJcQHwkKGxpYmV4ZWNkaXIpfCIgJDwgPiAk QA0KKyANCistZGJ1c2NvbmZkaXIgPSAkKHN5c2NvbmZkaXIpL2RidXMtMS9zeXN0ZW0uZA0KKytk YnVzY29uZmRpciA9ICQoZGF0YWRpcikvZGJ1cy0xL3N5c3RlbS5kDQorIGRidXNjb25mX0RBVEEg PSBvcmcuZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5jb25mDQorIA0KKyBpZiBQT0xLSVRfQVVUSEZX X1BBTQ0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1L2F1dG9nZW4uc2ggYi9wYXRj aGVzL3BvbGtpdC0wLjEwNS9hdXRvZ2VuLnNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDANCmlu ZGV4IDlmOGE0Y2I3ZC4uMDAwMDAwMDAwDQotLS0gYS9wYXRjaGVzL3BvbGtpdC0wLjEwNS9hdXRv Z2VuLnNoDQorKysgL2Rldi9udWxsDQpAQCAtMSArMCwwIEBADQotLi4vYXV0b2dlbi5zaA0KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb2xraXQtMC4x MDUvYXV0b2dlbi5zaCBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1L2F1dG9nZW4uc2gNCm5ldyBmaWxl IG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMDAuLmRmNzhjMzg4Yg0KLS0tIC9kZXYvbnVsbA0K KysrIGIvcGF0Y2hlcy9wb2xraXQtMC4xMDUvYXV0b2dlbi5zaA0KQEAgLTAsMCArMSwxOCBAQA0K KyMhL2Jpbi9iYXNoDQorDQorc2V0IC1lDQorDQorYWNsb2NhbCAkQUNMT0NBTF9GTEFHUw0KKw0K K2xpYnRvb2xpemUgXA0KKyAgICAgICAtLWZvcmNlIFwNCisgICAgICAgLS1jb3B5DQorDQorYXV0 b3JlY29uZiBcDQorICAgICAgIC0tZm9yY2UgXA0KKyAgICAgICAtLWluc3RhbGwgXA0KKyAgICAg ICAtLXdhcm5pbmdzPWNyb3NzIFwNCisgICAgICAgLS13YXJuaW5ncz1zeW50YXggXA0KKyAgICAg ICAtLXdhcm5pbmdzPW9ic29sZXRlIFwNCisgICAgICAgLS13YXJuaW5ncz11bnN1cHBvcnRlZA0K Kw0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9sa2l0LTAuMTA1L3NlcmllcyBiL3BhdGNoZXMvcG9s a2l0LTAuMTA1L3Nlcmllcw0KaW5kZXggMjhhZmJmZTlkLi4yMzhkMmRkNjcgMTAwNjQ0DQotLS0g YS9wYXRjaGVzL3BvbGtpdC0wLjEwNS9zZXJpZXMNCisrKyBiL3BhdGNoZXMvcG9sa2l0LTAuMTA1 L3Nlcmllcw0KQEAgLTEsNSArMSw0NyBAQA0KLSMgZ2VuZXJhdGVkIGJ5IGdpdC1wdHgtcGF0Y2hl cw0KLSN0YWc6YmFzZSAtLXN0YXJ0LW51bWJlciAxDQotMDAwMS1jaGVjay1mb3ItbGlic3lzdGVt ZC1pbnN0ZWFkLW9mLWxpYnN5c3RlbWQtbG9naW4ucGF0Y2gNCiswLjEwNi9hZ2VudGhlbHBlci1w YW0tRml4LW5ld2xpbmUtdHJpbW1pbmctY29kZS5wYXRjaA0KKzAuMTA4L2J1aWxkLUZpeC0uZ2ly LWdlbmVyYXRpb24tZm9yLXBhcmFsbGVsLW1ha2UucGF0Y2gNCiswLjExMC8wN19zZXQtWEFVVEhP UklUWS1lbnZpcm9ubWVudC12YXJpYWJsZS1pZi11bnNldC5wYXRjaA0KKzAuMTEwLzA0X2dldF9j d2QucGF0Y2gNCiswLjExMS8wOV9wYW1fZW52aXJvbm1lbnQucGF0Y2gNCiswLjExMS9GaXgtYS1t ZW1vcnktbGVhay5wYXRjaA0KKzAuMTEyLzAwZ2l0X3R5cGVfcmVnaXN0cmF0aW9uLnBhdGNoDQor MC4xMTIvMDhfZGVwcmVjYXRlX3JhY3lfQVBJcy5wYXRjaA0KKzAuMTEyL2N2ZS0yMDEzLTQyODgu cGF0Y2gNCiswLjExMy9Qb3J0LWludGVybmFscy1ub24tZGVwcmVjYXRlZC1Qb2xraXRQcm9jZXNz LUFQSS13aGVyLnBhdGNoDQorMC4xMTMvcGtleGVjLVdvcmstYXJvdW5kLXN5c3RlbWQtaW5qZWN0 aW5nLWJyb2tlbi1YREdfUlVOVC5wYXRjaA0KKzAuMTEzLzAzX1BvbGtpdEFnZW50U2Vzc2lvbi1m aXgtcmFjZS1iZXR3ZWVuLWNoaWxkLWFuZC1pby13YXQucGF0Y2gNCiswLjExMy9wb2xraXRkLUZp eC1wcm9ibGVtLXdpdGgtcmVtb3Zpbmctbm9uLWV4aXN0ZW50LXNvdXJjLnBhdGNoDQorMC4xMTMv UG9sa2l0U3lzdGVtQnVzTmFtZS1BZGQtcHVibGljLUFQSS10by1yZXRyaWV2ZS1Vbml4LS5wYXRj aA0KKzAuMTEzL0ZpeGVkLWNvbXBpbGF0aW9uLXByb2JsZW0taW4tdGhlLWJhY2tlbmQucGF0Y2gN CiswLjExMy9Eb24tdC1kaXNjYXJkLWVycm9yLWRhdGEtcmV0dXJuZWQtYnktcG9sa2l0X3N5c3Rl bV9iLnBhdGNoDQorMC4xMTMvc2Vzc2lvbm1vbml0b3Itc3lzdGVtZC1EZWR1cGxpY2F0ZS1jb2Rl LXBhdGhzLnBhdGNoDQorMC4xMTMvc2Vzc2lvbm1vbml0b3Itc3lzdGVtZC1wcmVwYXJlLWZvci1E LUJ1cy11c2VyLWJ1cy1tby5wYXRjaA0KKzAuMTEzL1JlZnVzZS1kdXBsaWNhdGUtdXNlci1hcmd1 bWVudHMtdG8tcGtleGVjLnBhdGNoDQorMC4xMTMvMDBnaXRfZml4X21lbWxlYWsucGF0Y2gNCisw LjExMy8wMGdpdF9pbnZhbGlkX29iamVjdF9wYXRocy5wYXRjaA0KKzAuMTEzL3Nlc3Npb25tb25p dG9yLXN5c3RlbWQtVXNlLXNkX3VpZF9nZXRfc3RhdGUtdG8tY2hlY2sucGF0Y2gNCiswLjExMy9G aXgtYS1wb3NzaWJsZS1OVUxMLWRlcmVmZXJlbmNlLnBhdGNoDQorMC4xMTMvUmVtb3ZlLWEtcmVk dW5kYW50LWFzc2lnbm1lbnQucGF0Y2gNCiswLjExMy9GaXgtZHVwbGljYXRlLUdFcnJvci11c2Ut d2hlbi11aWQtaXMtbWlzc2luZy5wYXRjaA0KKzAuMTEzL0ZpeC1hLWNyYXNoLXdoZW4tdHdvLWF1 dGhlbnRpY2F0aW9uLXJlcXVlc3RzLWFyZS1pbi0ucGF0Y2gNCiswLjExMy9DVkUtMjAxNS00NjI1 LVVzZS11bnByZWRpY3RhYmxlLWNvb2tpZS12YWx1ZXMta2VlcC10LnBhdGNoDQorMC4xMTMvQ1ZF LTIwMTUtNDYyNS1CaW5kLXVzZS1vZi1jb29raWVzLXRvLXNwZWNpZmljLXVpZHMucGF0Y2gNCisw LjExMy9kb2NzLVVwZGF0ZS1mb3ItY2hhbmdlcy10by11aWQtYmluZGluZy1BdXRoZW50aWNhdGlv LnBhdGNoDQorMC4xMTMvRml4LWEtcGVyLWF1dGhvcml6YXRpb24tbWVtb3J5LWxlYWsucGF0Y2gN CiswLjExMy9GaXgtYS1tZW1vcnktbGVhay13aGVuLXJlZ2lzdGVyaW5nLWFuLWF1dGhlbnRpY2F0 aW9uLnBhdGNoDQorMC4xMTMvQ1ZFLTIwMTUtMzI1NS1GaXgtR0hhc2hUYWJsZS11c2FnZS5wYXRj aA0KKzAuMTEzL0ZpeC11c2UtYWZ0ZXItZnJlZS1pbi1wb2xraXRhZ2VudHNlc3Npb24uYy5wYXRj aA0KKzAuMTEzL1JFQURNRS1Ob3RlLXRvLXNlbmQtc2VjdXJpdHktcmVwb3J0cy12aWEtREJ1cy1z LW1lY2gucGF0Y2gNCiswLjExNC9GaXgtbXVsdGktbGluZS1wYW0tdGV4dC1pbmZvLnBhdGNoDQor MC4xMTQvUmVmYWN0b3Itc2VuZF90b19oZWxwZXItdXNhZ2UucGF0Y2gNCiswLjExNC9BZGQtZ2V0 dGV4dC1zdXBwb3J0LWZvci0ucG9saWN5LWZpbGVzLnBhdGNoDQorMC4xMTQvZ2V0dGV4dC1zd2l0 Y2gtdG8tZGVmYXVsdC10cmFuc2xhdGUtbm8ucGF0Y2gNCiswLjExNC9TdXBwb3J0LXBvbGtpdC1z ZXNzaW9uLWFnZW50LXJ1bm5pbmctb3V0c2lkZS11c2VyLXNlc3Npb24ucGF0Y2gNCiswLjExNS9G aXgtQ1ZFLTIwMTgtMTExNi1UcnVzdGluZy1jbGllbnQtc3VwcGxpZWQtVUlELnBhdGNoDQorMDFf cGFtX3BvbGtpdC5wYXRjaA0KKzAyX2dldHRleHQucGF0Y2gNCiswNV9yZXZlcnQtYWRtaW4taWRl bnRpdGllcy11bml4LWdyb3VwLXdoZWVsLnBhdGNoDQorMDZfc3lzdGVtZC1zZXJ2aWNlLnBhdGNo DQorMTBfYnVpbGQtYWdhaW5zdC1saWJzeXN0ZW1kLnBhdGNoDQorTW92ZS1ELUJ1cy1wb2xpY3kt ZmlsZS10by11c3Itc2hhcmUtZGJ1cy0xLXN5c3RlbS5kLnBhdGNoDQogMDAwMi1hdXRvbWFrZS1h ZGQtbWlzc2luZy1jb25kaXRpb25hbC1IQVZFX0lOVFJPU1BFQ1RJT04ucGF0Y2gNCi0jIDRiODI3 YzE5ZmZjM2RkNzdiNTdkODlmOWMyYzlhYjhkICAtIGdpdC1wdHgtcGF0Y2hlcyBtYWdpYw0KZGlm ZiAtLWdpdCBhL3J1bGVzL3BvbGtpdC5tYWtlIGIvcnVsZXMvcG9sa2l0Lm1ha2UNCmluZGV4IDQ1 MDVlMGU3OC4uNmU3YjNlYjBhIDEwMDY0NA0KLS0tIGEvcnVsZXMvcG9sa2l0Lm1ha2UNCisrKyBi L3J1bGVzL3BvbGtpdC5tYWtlDQpAQCAtNjAsNyArNjAsNyBAQCAkKFNUQVRFRElSKS9wb2xraXQu dGFyZ2V0aW5zdGFsbDoNCiANCiAjIGRidXMNCiAgICAgICAgQCQoY2FsbCBpbnN0YWxsX2NvcHks IHBvbGtpdCwgMCwgMCwgMDY0NCwgLSwgXA0KLSAgICAgICAgICAgICAgIC9ldGMvZGJ1cy0xL3N5 c3RlbS5kL29yZy5mcmVlZGVza3RvcC5Qb2xpY3lLaXQxLmNvbmYpDQorICAgICAgICAgICAgICAg L3Vzci9zaGFyZS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLlBvbGljeUtpdDEuY29u ZikNCiAgICAgICAgQCQoY2FsbCBpbnN0YWxsX2NvcHksIHBvbGtpdCwgMCwgMCwgMDY0NCwgLSwg XA0KICAgICAgICAgICAgICAgIC91c3Ivc2hhcmUvZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy9vcmcu ZnJlZWRlc2t0b3AuUG9saWN5S2l0MS5zZXJ2aWNlKQ0KIA0KLS0gDQoyLjE3LjENCg0KIA0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdHhkaXN0IG1h aWxpbmcgbGlzdApwdHhkaXN0QHBlbmd1dHJvbml4LmRl