From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.27.1571760508321000540 for ; Tue, 22 Oct 2019 09:08:28 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Oct 2019 09:08:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,216,1569308400"; d="scan'208";a="196481344" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by fmsmga008.fm.intel.com with ESMTP; 22 Oct 2019 09:08:26 -0700 Received: from orsmsx116.amr.corp.intel.com (10.22.240.14) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 22 Oct 2019 09:08:26 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.28]) by ORSMSX116.amr.corp.intel.com ([169.254.7.79]) with mapi id 14.03.0439.000; Tue, 22 Oct 2019 09:08:26 -0700 From: "Michael D Kinney" To: =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Sean Brogan , "Yao, Jiewen" , "Wang, Jian J" , "Zhang, Chao B" Subject: Re: [edk2-devel] [Patch] SecurityPkg: Fix spelling errors Thread-Topic: [edk2-devel] [Patch] SecurityPkg: Fix spelling errors Thread-Index: AQHVhead3TWdnDqtWUWXDQtx7+ezrqdnFXUA///EC1A= Date: Tue, 22 Oct 2019 16:08:25 +0000 Message-ID: References: <20191018190138.25544-1-michael.d.kinney@intel.com> <48a2b100-4460-17a3-4a31-e71ce85de4a1@redhat.com> In-Reply-To: <48a2b100-4460-17a3-4a31-e71ce85de4a1@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVzcG9uc2UgYmVsb3cuDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiBGcm9tOiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+DQo+IFNl bnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjIsIDIwMTkgNTo0MSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW87IEtpbm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT4NCj4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgWWFvLA0K PiBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+IDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+OyBaaGFuZywgQ2hhbyBCDQo+IDxjaGFvLmIuemhhbmdAaW50ZWwuY29t Pg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaF0gU2VjdXJpdHlQa2c6IEZpeA0K PiBzcGVsbGluZyBlcnJvcnMNCj4gDQo+IEhpIE1pY2hhZWwsDQo+IA0KPiBGZXcgcmV2aWV3IGNv bW1lbnQgYmVsb3cuDQo+IA0KPiBPbiAxMC8xOC8xOSA5OjAxIFBNLCBNaWNoYWVsIEQgS2lubmV5 IHdyb3RlOg0KPiA+IEZyb206IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29t Pg0KPiA+DQo+ID4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9p ZD0yMjY1DQo+ID4NCj4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ ID4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IENoYW8g WmhhbmcgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogTWljaGFl bCBEIEtpbm5leQ0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4g ICBTZWN1cml0eVBrZy9GdlJlcG9ydFBlaS9GdlJlcG9ydFBlaS5jICAgICAgICAgfCAgNA0KPiAr Ky0tDQo+ID4gICBTZWN1cml0eVBrZy9IYXNoMkR4ZUNyeXB0by9Ecml2ZXIuYyAgICAgICAgICAg fCAgNg0KPiArKy0tLQ0KPiA+ICAgU2VjdXJpdHlQa2cvSGFzaDJEeGVDcnlwdG8vRHJpdmVyLmgg ICAgICAgICAgIHwgIDQNCj4gKystLQ0KPiA+ICAgU2VjdXJpdHlQa2cvSGRkUGFzc3dvcmQvSGRk UGFzc3dvcmREeGUuYyAgICAgIHwgMTANCj4gKysrKy0tLS0NCj4gPiAgIFNlY3VyaXR5UGtnL0hk ZFBhc3N3b3JkL0hkZFBhc3N3b3JkRHhlLmggICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vSGRk UGFzc3dvcmQvSGRkUGFzc3dvcmRTdHJpbmdzLnVuaSAgICAgICAgfCAgMg0KPiArLQ0KPiA+ICAg Li4uL0d1aWQvQXV0aGVudGljYXRlZFZhcmlhYmxlRm9ybWF0LmggICAgICAgIHwgIDINCj4gKy0N Cj4gPiAgIC4uLi9JbmNsdWRlL0xpYnJhcnkvVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaCB8ICA0 DQo+ICsrLS0NCj4gPiAgIC4uLi9JbmNsdWRlL0xpYnJhcnkvVGNnU3RvcmFnZUNvcmVMaWIuaCAg ICAgICB8IDEyDQo+ICsrKysrLS0tLS0NCj4gPiAgIFNlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFy eS9UcG0yQ29tbWFuZExpYi5oICB8ICAyDQo+ICstDQo+ID4gICBTZWN1cml0eVBrZy9JbmNsdWRl L0xpYnJhcnkvVHBtQ29tbUxpYi5oICAgICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4uL1BwaS9GaXJt d2FyZVZvbHVtZUluZm9QcmVoYXNoZWRGVi5oICAgICAgIHwgIDQNCj4gKystLQ0KPiA+ICAgLi4u L0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMgICAgIHwgIDQNCj4gKystLQ0K PiA+ICAgLi4uL0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmggICAgIHwgIDIN Cj4gKy0NCj4gPiAgIC4uLi9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIu YyB8ICA0DQo+ICsrLS0NCj4gPiAgIC4uLi9EeGVJbWFnZUF1dGhlbnRpY2F0aW9uU3RhdHVzTGli LmMgICAgICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIu YyAgICAgICAgICAgICAgICAgfCAxMA0KPiArKysrLS0tLQ0KPiA+ICAgLi4uL0R4ZVJzYTIwNDhT aGEyNTZHdWlkZWRTZWN0aW9uRXh0cmFjdExpYi5jIHwgIDQNCj4gKystLQ0KPiA+ICAgLi4ueGVS c2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIuaW5mIHwgIDINCj4gKy0NCj4gPiAg IC4uLnhlUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLnVuaSB8ICAyDQo+ICst DQo+ID4gICAuLi4vRHhlVHBtMk1lYXN1cmVCb290TGliLmMgICAgICAgICAgICAgICAgICAgfCAg NA0KPiArKy0tDQo+ID4gICAuLi4vRHhlVHBtTWVhc3VyZUJvb3RMaWIuYyAgICAgICAgICAgICAg ICAgICAgfCAgNA0KPiArKy0tDQo+ID4gICAuLi4vRHhlVHBtTWVhc3VyZW1lbnRMaWIuYyAgICAg ICAgICAgICAgICAgICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4uL0hhc2hJbnN0YW5jZUxpYlNoYTEv SGFzaEluc3RhbmNlTGliU2hhMS5jIHwgIDINCj4gKy0NCj4gPiAgIC4uLi9IYXNoSW5zdGFuY2VM aWJTaGEyNTYuYyAgICAgICAgICAgICAgICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vSGFzaElu c3RhbmNlTGliU2hhMzg0LmMgICAgICAgICAgICAgICAgICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4u L0hhc2hJbnN0YW5jZUxpYlNoYTUxMi5jICAgICAgICAgICAgICAgICAgIHwgIDINCj4gKy0NCj4g PiAgIFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaExpYlRwbTIvSGFzaExpYlRwbTIuYyB8ICAyDQo+ ICstDQo+ID4gICAuLi4vUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmMg fCAgNA0KPiArKy0tDQo+ID4gICAuLi5laVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cmFj dExpYi5pbmYgfCAgMg0KPiArLQ0KPiA+ICAgLi4uZWlSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlv bkV4dHJhY3RMaWIudW5pIHwgIDINCj4gKy0NCj4gPiAgIC4uLi9UY2dTdG9yYWdlQ29yZUxpYi9U Y2dTdG9yYWdlQ29yZS5jICAgICAgICB8IDEwDQo+ICsrKystLS0tDQo+ID4gICAuLi4vVGNnU3Rv cmFnZUNvcmVMaWIvVGNnU3RvcmFnZVV0aWwuYyAgICAgICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4u L1RjZ1N0b3JhZ2VPcGFsTGliL1RjZ1N0b3JhZ2VPcGFsVXRpbC5jICAgIHwgIDYNCj4gKystLS0N Cj4gPiAgIC4uLi9MaWJyYXJ5L1RwbTEyQ29tbWFuZExpYi9UcG0xMk52U3RvcmFnZS5jICB8ICAy DQo+ICstDQo+ID4gICAuLi4vTGlicmFyeS9UcG0xMkRldmljZUxpYkRUcG0vVHBtMTJUaXMuYyAg ICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4uL0xpYnJhcnkvVHBtMkNvbW1hbmRMaWIvVHBtMkNhcGFi aWxpdHkuYyAgIHwgIDQNCj4gKystLQ0KPiA+ICAgLi4uL0xpYnJhcnkvVHBtMkNvbW1hbmRMaWIv VHBtMkhpZXJhcmNoeS5jICAgIHwgIDINCj4gKy0NCj4gPiAgIC4uLi9UcG0yRGV2aWNlTGliRFRw bS9UcG0yRGV2aWNlTGliRFRwbS5jICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vVHBtMkRldmlj ZUxpYkRUcG0vVHBtMkluc3RhbmNlTGliRFRwbS5jICAgfCAgMg0KPiArLQ0KPiA+ICAgLi4uL0xp YnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMlB0cC5jICAgICAgIHwgIDQNCj4gKystLQ0KPiA+ ICAgLi4uL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMlRpcy5jICAgICAgIHwgIDQNCj4g KystLQ0KPiA+ICAgU2VjdXJpdHlQa2cvTGlicmFyeS9UcG1Db21tTGliL0NvbW1vbkhlYWRlci5o IHwgIDINCj4gKy0NCj4gPiAgIFNlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9UaXNQYy5j ICAgICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vUGtjczdWZXJpZnlEeGUvUGtjczdWZXJpZnlE eGUuYyAgICAgICAgICAgfCAxOA0KPiArKysrKysrLS0tLS0tLQ0KPiA+ICAgLi4uL1JhbmRvbU51 bWJlckdlbmVyYXRvci9SbmdEeGUvUmRSYW5kLmMgICAgIHwgIDINCj4gKy0NCj4gPiAgIFNlY3Vy aXR5UGtnL1NlY3VyaXR5UGtnLmRlYyAgICAgICAgICAgICAgICAgICB8IDE4DQo+ICsrKysrKyst LS0tLS0tDQo+ID4gICBTZWN1cml0eVBrZy9TZWN1cml0eVBrZy5kc2MgICAgICAgICAgICAgICAg ICAgfCAgMg0KPiArLQ0KPiA+ICAgU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pICAgICAgICAg ICAgICAgICAgIHwgMTINCj4gKysrKystLS0tLQ0KPiA+ICAgLi4uL1RjZy9NZW1vcnlPdmVyd3Jp dGVDb250cm9sL1RjZ01vci5jICAgICAgIHwgIDYNCj4gKystLS0NCj4gPiAgIC4uLi9UY2cvTWVt b3J5T3ZlcndyaXRlQ29udHJvbC9UY2dNb3IuaW5mICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4v VGNnL01lbW9yeU92ZXJ3cml0ZUNvbnRyb2wvVGNnTW9yLnVuaSAgICAgfCAgMg0KPiArLQ0KPiA+ ICAgLi4uL1RjZ01vckxvY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQNCj4g KystLQ0KPiA+ICAgLi4uL1RjZ01vckxvY2suaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDINCj4gKy0NCj4gPiAgIC4uLi9UY2dNb3JMb2NrLnVuaSAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA0DQo+ICsrLS0NCj4gPiAgIC4uLi9UY2dNb3JMb2NrU21tLmluZiAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyDQo+ICstDQo+ID4gICAuLi4vVGNnL09wYWwvT3BhbFBhc3N3 b3JkL09wYWxEcml2ZXIuYyAgICAgICAgfCAgNg0KPiArKy0tLQ0KPiA+ICAgLi4uL1RjZy9PcGFs L09wYWxQYXNzd29yZC9PcGFsRHJpdmVyLmggICAgICAgIHwgIDYNCj4gKystLS0NCj4gPiAgIFNl Y3VyaXR5UGtnL1RjZy9PcGFsL09wYWxQYXNzd29yZC9PcGFsSGlpLmMgICB8IDEwDQo+ICsrKyst LS0tDQo+ID4gICBTZWN1cml0eVBrZy9UY2cvT3BhbC9PcGFsUGFzc3dvcmQvT3BhbEhpaS5oICAg fCAgOA0KPiArKystLS0tDQo+ID4gICAuLi4vUGh5c2ljYWxQcmVzZW5jZVBlaS9QaHlzaWNhbFBy ZXNlbmNlUGVpLmMgfCAgMg0KPiArLQ0KPiA+ICAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcv VGNnMkNvbmZpZy52ZnIgICAgIHwgIDYNCj4gKystLS0NCj4gPiAgIFNlY3VyaXR5UGtnL1RjZy9U Y2cyQ29uZmlnL1RjZzJDb25maWdEcml2ZXIuYyB8ICAyDQo+ICstDQo+ID4gICBTZWN1cml0eVBr Zy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpbS5jICAgfCAgNA0KPiArKy0tDQo+ID4gICBT ZWN1cml0eVBrZy9UY2cvVGNnMkR4ZS9NZWFzdXJlQm9vdFBlQ29mZi5jICAgfCAgMg0KPiArLQ0K PiA+ICAgU2VjdXJpdHlQa2cvVGNnL1RjZzJEeGUvVGNnMkR4ZS5jICAgICAgICAgICAgIHwgIDIN Cj4gKy0NCj4gPiAgIFNlY3VyaXR5UGtnL1RjZy9UY2cyUGVpL1RjZzJQZWkuYyAgICAgICAgICAg ICB8IDE2DQo+ICsrKysrKy0tLS0tLS0NCj4gPiAgIFNlY3VyaXR5UGtnL1RjZy9UY2cyU21tL1Rj ZzJTbW0uYyAgICAgICAgICAgICB8IDIyDQo+ICsrKysrKysrLS0tLS0tLS0tDQo+ID4gICBTZWN1 cml0eVBrZy9UY2cvVGNnMlNtbS9UcG0uYXNsICAgICAgICAgICAgICAgfCAgNg0KPiArKy0tLQ0K PiA+ICAgLi4uL1RjZy9UY2dDb25maWdEeGUvVGNnQ29uZmlnRHJpdmVyLmMgICAgICAgIHwgIDIN Cj4gKy0NCj4gPiAgIFNlY3VyaXR5UGtnL1RjZy9UY2dEeGUvVGNnRHhlLmMgICAgICAgICAgICAg ICB8ICA2DQo+ICsrLS0tDQo+ID4gICBTZWN1cml0eVBrZy9UY2cvVGNnUGVpL1RjZ1BlaS5jICAg ICAgICAgICAgICAgfCAxOA0KPiArKysrKysrLS0tLS0tLQ0KPiA+ICAgU2VjdXJpdHlQa2cvVGNn L1RjZ1NtbS9UcG0uYXNsICAgICAgICAgICAgICAgIHwgIDYNCj4gKystLS0NCj4gPiAgIC4uLi9T ZWN1cmVCb290Q29uZmlnRHJpdmVyLmMgICAgICAgICAgICAgICAgICB8ICAyDQo+ICstDQo+ID4g ICAuLi4vU2VjdXJlQm9vdENvbmZpZ0R4ZS5pbmYgICAgICAgICAgICAgICAgICAgfCAgMg0KPiAr LQ0KPiA+ICAgLi4uL1NlY3VyZUJvb3RDb25maWdEeGUudW5pICAgICAgICAgICAgICAgICAgIHwg IDINCj4gKy0NCj4gPiAgIC4uLi9TZWN1cmVCb290Q29uZmlnSW1wbC5jICAgICAgICAgICAgICAg ICAgICB8IDI0DQo+ICsrKysrKysrKy0tLS0tLS0tLS0NCj4gPiAgIC4uLi9TZWN1cmVCb290Q29u ZmlnSW1wbC5oICAgICAgICAgICAgICAgICAgICB8IDEwDQo+ICsrKystLS0tDQo+ID4gICAuLi4v U2VjdXJlQm9vdENvbmZpZ01pc2MuYyAgICAgICAgICAgICAgICAgICAgfCAgOA0KPiArKystLS0t DQo+ID4gICAuLi4vU2VjdXJlQm9vdENvbmZpZ052RGF0YS5oICAgICAgICAgICAgICAgICAgfCAg NA0KPiArKy0tDQo+ID4gICAuLi4vU2VjdXJlQm9vdENvbmZpZ1N0cmluZ3MudW5pICAgICAgICAg ICAgICAgfCAgNA0KPiArKy0tDQo+ID4gICA4MSBmaWxlcyBjaGFuZ2VkLCAyMDUgaW5zZXJ0aW9u cygrKSwgMjA1DQo+IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5 UGtnL0Z2UmVwb3J0UGVpL0Z2UmVwb3J0UGVpLmMNCj4gYi9TZWN1cml0eVBrZy9GdlJlcG9ydFBl aS9GdlJlcG9ydFBlaS5jDQo+ID4gaW5kZXggZDI0NDcwYWY2Yi4uZDcwOTc2MGVhMyAxMDA2NDQN Cj4gPiAtLS0gYS9TZWN1cml0eVBrZy9GdlJlcG9ydFBlaS9GdlJlcG9ydFBlaS5jDQo+ID4gKysr IGIvU2VjdXJpdHlQa2cvRnZSZXBvcnRQZWkvRnZSZXBvcnRQZWkuYw0KPiA+IEBAIC0xNDUsNyAr MTQ1LDcgQEAgVmVyaWZ5SGFzaGVkRnYgKA0KPiA+ICAgICBBU1NFUlQgKEhhc2hWYWx1ZSAhPSBO VUxMKTsNCj4gPg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIENhbGN1YXRlIGhhc2ggdmFsdWUgZm9y IGVhY2ggRlYgZmlyc3QuDQo+ID4gKyAgLy8gQ2FsY3VsYXRlIGhhc2ggdmFsdWUgZm9yIGVhY2gg RlYgZmlyc3QuDQo+ID4gICAgIC8vDQo+ID4gICAgIEZ2SGFzaFZhbHVlID0gSGFzaFZhbHVlOw0K PiA+ICAgICBmb3IgKEZ2SW5kZXggPSAwOyBGdkluZGV4IDwgRnZOdW1iZXI7ICsrRnZJbmRleCkN Cj4gew0KPiA+IEBAIC0yODEsNyArMjgxLDcgQEAgUmVwb3J0SGFzaGVkRnYgKA0KPiA+ICAgICBA cGFyYW1baW5dIFN0b3JlZEhhc2hGdlBwaSAgUG9pbnRlciB0byBQUEkNCj4gY29udGFpbmluZyBo YXNoIGluZm9ybWF0aW9uLg0KPiA+ICAgICBAcGFyYW1baW5dIEJvb3RNb2RlICAgICAgICAgQ3Vy cmVudCBib290IG1vZGUuDQo+ID4NCj4gPiAtICBAcmV0dmFsIFBvaW50ZXIgdG8gc3RydWN0dXJl IGNvbnRhaW5uaW5nIHZhbGlkDQo+IGhhc2ggaW5mb3JtYXRpb24gZm9yIGN1cnJlbnQgYm9vdCBt b2RlLg0KPiA+ICsgIEByZXR2YWwgUG9pbnRlciB0byBzdHJ1Y3R1cmUgY29udGFpbmluZyB2YWxp ZCBoYXNoDQo+IGluZm9ybWF0aW9uIGZvciBjdXJyZW50IGJvb3QgbW9kZS4NCj4gPiAgICAgQHJl dHZhbCBOVUxMIGlmIHRoZXJlJ3Mgbm8gaGFzaCBhc3NvY2lhdGVkIHdpdGgNCj4gY3VycmVudCBi b290IG1vZGUuDQo+ID4gICAqKi8NCj4gPiAgIFNUQVRJQw0KPiA+IGRpZmYgLS1naXQgYS9TZWN1 cml0eVBrZy9IYXNoMkR4ZUNyeXB0by9Ecml2ZXIuYw0KPiBiL1NlY3VyaXR5UGtnL0hhc2gyRHhl Q3J5cHRvL0RyaXZlci5jDQo+ID4gaW5kZXggNmFhODhmOGIzYi4uNDYyNzA2MWEyOCAxMDA2NDQN Cj4gPiAtLS0gYS9TZWN1cml0eVBrZy9IYXNoMkR4ZUNyeXB0by9Ecml2ZXIuYw0KPiA+ICsrKyBi L1NlY3VyaXR5UGtnL0hhc2gyRHhlQ3J5cHRvL0RyaXZlci5jDQo+ID4gQEAgLTIyLDcgKzIyLDcg QEAgRUZJX1NFUlZJQ0VfQklORElOR19QUk9UT0NPTA0KPiBtSGFzaDJTZXJ2aWNlQmluZGluZ1By b3RvY29sID0gew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0 IGlzIG5vdA0KPiBOVUxMLCB0aGVuIHRoZSBJL08gc2VydmljZXMgYXJlIGFkZGVkDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlDQo+IGV4aXN0aW5nIGNo aWxkIGhhbmRsZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0NFUyAgICAgICAgICAgICAg ICAgVGhlIHByb3RvY29sDQo+IHdhcyBhZGRlZCB0byBDaGlsZEhhbmRsZS4NCj4gPiArICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgIFRoZSBwcm90b2NvbA0KPiB3YXMgYWRkZWQg dG8gQ2hpbGRIYW5kbGUuDQo+ID4gICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAg ICAgQ2hpbGRIYW5kbGUgaXMNCj4gTlVMTC4NCj4gPiAgICAgQHJldHZhbCBFRklfT1VUX09GX1JF U09VUkNFUyAgICAgICBUaGVyZSBhcmUgbm90DQo+IGVub3VnaCByZXNvdXJjZXMgYXZhaWxhYmxl IHRvDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIHRo ZQ0KPiBjaGlsZC4NCj4gPiBAQCAtOTksNyArOTksNyBAQCBIYXNoMlNlcnZpY2VCaW5kaW5nQ3Jl YXRlQ2hpbGQgKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFu Y2UuDQo+ID4gICAgIEBwYXJhbVtpbl0gIENoaWxkSGFuZGxlICAgICAgICBIYW5kbGUgb2YgdGhl DQo+IGNoaWxkIHRvIGRlc3Ryb3kuDQo+ID4NCj4gPiAtICBAcmV0dmFsIEVGSV9TVUNDRVMgICAg ICAgICAgICAgVGhlIHByb3RvY29sIHdhcw0KPiByZW1vdmVkIGZyb20gQ2hpbGRIYW5kbGUuDQo+ ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBwcm90b2NvbCB3YXMNCj4g cmVtb3ZlZCBmcm9tIENoaWxkSGFuZGxlLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRF RCAgICAgICAgQ2hpbGRIYW5kbGUgZG9lcw0KPiBub3Qgc3VwcG9ydCB0aGUgcHJvdG9jb2wgdGhh dA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgYmVpbmcgcmVtb3Zl ZC4NCj4gPiAgICAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIENoaWxkSGFuZGxlIGlz DQo+IE5VTEwuDQo+ID4gQEAgLTE5Myw3ICsxOTMsNyBAQCBIYXNoMlNlcnZpY2VCaW5kaW5nRGVz dHJveUNoaWxkICgNCj4gPiAgICAgQHBhcmFtW2luXSAgSW1hZ2VIYW5kbGUgIFRoZSBpbWFnZSBo YW5kbGUgb2YgdGhlDQo+IGRyaXZlci4NCj4gPiAgICAgQHBhcmFtW2luXSAgU3lzdGVtVGFibGUg IFRoZSBzeXN0ZW0gdGFibGUuDQo+ID4NCj4gPiAtICBAcmV0dmFsIEVGSV9TVUNDRVMgICAgICAg VGhlIHNlcnZpY2UgYmluZGluZw0KPiBwcm90b2NvbHMgaXMgc3VjY2Vzc2Z1bGx5IGluc3RhbGxl ZC4NCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgVGhlIHNlcnZpY2UgYmluZGluZw0K PiBwcm90b2NvbHMgaXMgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4NCj4gPiAgICAgQHJldHZhbCBP dGhlcnMgICAgICAgICAgIE90aGVyIGVycm9ycyBhcw0KPiBpbmRpY2F0ZWQuDQo+ID4NCj4gPiAg ICoqLw0KPiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9IYXNoMkR4ZUNyeXB0by9Ecml2ZXIu aA0KPiBiL1NlY3VyaXR5UGtnL0hhc2gyRHhlQ3J5cHRvL0RyaXZlci5oDQo+ID4gaW5kZXggMTYy Mjc5ZTQ2OS4uN2I4OTk2OTEyYSAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9IYXNoMkR4 ZUNyeXB0by9Ecml2ZXIuaA0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL0hhc2gyRHhlQ3J5cHRvL0Ry aXZlci5oDQo+ID4gQEAgLTc5LDcgKzc5LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0IGlzIG5vdA0KPiBOVUxMLCB0aGVu IHRoZSBJL08gc2VydmljZXMgYXJlIGFkZGVkDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdG8gdGhlDQo+IGV4aXN0aW5nIGNoaWxkIGhhbmRsZS4NCj4gPg0KPiA+ IC0gIEByZXR2YWwgRUZJX1NVQ0NFUyAgICAgICAgICAgICAgICAgVGhlIHByb3RvY29sDQo+IHdh cyBhZGRlZCB0byBDaGlsZEhhbmRsZS4NCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICAgICAgIFRoZSBwcm90b2NvbA0KPiB3YXMgYWRkZWQgdG8gQ2hpbGRIYW5kbGUuDQo+ID4g ICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgQ2hpbGRIYW5kbGUgaXMNCj4g TlVMTC4NCj4gPiAgICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgICAgICBUaGVyZSBh cmUgbm90DQo+IGVub3VnaCByZXNvdXJjZXMgYXZhaWxhYmxlIHRvDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIHRoZQ0KPiBjaGlsZC4NCj4gPiBAQCAt MTA0LDcgKzEwNCw3IEBAIEhhc2gyU2VydmljZUJpbmRpbmdDcmVhdGVDaGlsZCAoDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS4NCj4gPiAgICAgQHBhcmFt W2luXSAgQ2hpbGRIYW5kbGUgICAgICAgIEhhbmRsZSBvZiB0aGUNCj4gY2hpbGQgdG8gZGVzdHJv eS4NCj4gPg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0NFUyAgICAgICAgICAgICBUaGUgcHJvdG9j b2wgd2FzDQo+IHJlbW92ZWQgZnJvbSBDaGlsZEhhbmRsZS4NCj4gPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgICAgVGhlIHByb3RvY29sIHdhcw0KPiByZW1vdmVkIGZyb20gQ2hpbGRI YW5kbGUuDQo+ID4gICAgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBDaGlsZEhhbmRs ZSBkb2VzDQo+IG5vdCBzdXBwb3J0IHRoZSBwcm90b2NvbCB0aGF0DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpcyBiZWluZyByZW1vdmVkLg0KPiA+ICAgICBAcmV0dmFs IEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgQ2hpbGRIYW5kbGUgaXMNCj4gTlVMTC4NCj4gPiBkaWZm IC0tZ2l0IGEvU2VjdXJpdHlQa2cvSGRkUGFzc3dvcmQvSGRkUGFzc3dvcmREeGUuYw0KPiBiL1Nl Y3VyaXR5UGtnL0hkZFBhc3N3b3JkL0hkZFBhc3N3b3JkRHhlLmMNCj4gPiBpbmRleCAwNTFlNjQw OTFkLi5hMjViMzQ3MWQwIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL0hkZFBhc3N3b3Jk L0hkZFBhc3N3b3JkRHhlLmMNCj4gPiArKysgYi9TZWN1cml0eVBrZy9IZGRQYXNzd29yZC9IZGRQ YXNzd29yZER4ZS5jDQo+ID4gQEAgLTEyMCw3ICsxMjAsNyBAQCBCdWlsZEhkZFBhc3N3b3JkRGV2 aWNlSW5mbyAoDQo+ID4NCj4gPiAgICAgICAvLw0KPiA+ICAgICAgIC8vIDEuIEhhbmRsZSBkZXZp Y2Ugd2hpY2ggYWxyZWFkeSBzZXQgcGFzc3dvcmQuDQo+ID4gLSAgICAvLyAyLiBXaGVuIHJlcXVl c3QgdG8gc2VuZCBmcmVlemUgY29tYW1uZCwNCj4gZHJpdmVyIGFsc28gbmVlZHMgdG8gaGFuZGxl IGRldmljZQ0KPiA+ICsgICAgLy8gMi4gV2hlbiByZXF1ZXN0IHRvIHNlbmQgZnJlZXplIGNvbW1h bmQsDQo+IGRyaXZlciBhbHNvIG5lZWRzIHRvIGhhbmRsZSBkZXZpY2UNCj4gPiAgICAgICAvLyAg ICB3aGljaCBzdXBwb3J0IHNlY3VyaXR5IGZlYXR1cmUuDQo+ID4gICAgICAgLy8NCj4gPiAgICAg ICBpZiAoKCFQYXNzd29yZElzRnVsbFplcm8gKENvbmZpZ0Zvcm1FbnRyeS0NCj4gPlBhc3N3b3Jk KSkgfHwNCj4gPiBAQCAtMjAwOCw5ICsyMDA4LDkgQEAgU2F2ZUhkZFBhc3N3b3JkUmVxdWVzdCAo DQo+ID4gICB9DQo+ID4NCj4gPiAgIC8qKg0KPiA+IC0gIEdldCB0aGUgSEREIFBhc3N3b3JkIGNv bmZpZ3VyYXRpb24gZm9ybSBlbnRyeSBieQ0KPiB0aGUgaW5kZXggb2YgdGhlIGdvdG8gb3Bjb2Rl IGFjdGl2ZWQuDQo+ID4gKyAgR2V0IHRoZSBIREQgUGFzc3dvcmQgY29uZmlndXJhdGlvbiBmb3Jt IGVudHJ5IGJ5DQo+IHRoZSBpbmRleCBvZiB0aGUgZ290byBvcGNvZGUgYWN0aXZhdGVkLg0KPiA+ DQo+ID4gLSAgQHBhcmFtW2luXSAgSW5kZXggVGhlIDAtYmFzZWQgaW5kZXggb2YgdGhlIGdvdG8N Cj4gb3Bjb2RlIGFjdGl2ZWQuDQo+ID4gKyAgQHBhcmFtW2luXSAgSW5kZXggVGhlIDAtYmFzZWQg aW5kZXggb2YgdGhlIGdvdG8NCj4gb3Bjb2RlIGFjdGl2YXRlZC4NCj4gPg0KPiA+ICAgICBAcmV0 dXJuIFRoZSBIREQgUGFzc3dvcmQgY29uZmlndXJhdGlvbiBmb3JtIGVudHJ5DQo+IGZvdW5kLg0K PiA+ICAgKiovDQo+ID4gQEAgLTI3NTgsNyArMjc1OCw3IEBAIEhkZFBhc3N3b3JkQ29uZmlnRm9y bUluaXQgKA0KPiA+ICAgICBAcGFyYW0gSW1hZ2VIYW5kbGUgICAgIEltYWdlIGhhbmRsZSB0aGlz IGRyaXZlci4NCj4gPiAgICAgQHBhcmFtIFN5c3RlbVRhYmxlICAgICBQb2ludGVyIHRvIFN5c3Rl bVRhYmxlLg0KPiA+DQo+ID4gLSAgQHJldHZhbCBFRklfU1VDRVNTICAgICBUaGlzIGZ1bmN0aW9u IGFsd2F5cw0KPiBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBFRklfU1VD Q0VTUyAgICAgVGhpcyBmdW5jdGlvbiBhbHdheXMNCj4gY29tcGxldGUgc3VjY2Vzc2Z1bGx5Lg0K PiA+DQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiBAQCAtMjgwNiw3ICsyODA2LDcg QEAgSGRkUGFzc3dvcmREeGVJbml0ICgNCj4gPiAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCj4gPg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIE1ha2UgSEREX1BBU1NXT1JEX1ZBUklBQkxF X05BTUUgdmFyaWJsZSByZWFkLQ0KPiBvbmx5Lg0KPiA+ICsgIC8vIE1ha2UgSEREX1BBU1NXT1JE X1ZBUklBQkxFX05BTUUgdmFyaWFibGUgcmVhZC0NCj4gb25seS4NCj4gPiAgICAgLy8NCj4gPiAg ICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbA0KPiAoJmdFZGtpaVZhcmlhYmxlTG9ja1By b3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopDQo+ICZWYXJpYWJsZUxvY2spOw0KPiA+ICAgICBp ZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9I ZGRQYXNzd29yZC9IZGRQYXNzd29yZER4ZS5oDQo+IGIvU2VjdXJpdHlQa2cvSGRkUGFzc3dvcmQv SGRkUGFzc3dvcmREeGUuaA0KPiA+IGluZGV4IGY2OTVjYTk0NTQuLjg3ZGI1ODdlYjYgMTAwNjQ0 DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cvSGRkUGFzc3dvcmQvSGRkUGFzc3dvcmREeGUuaA0KPiA+ ICsrKyBiL1NlY3VyaXR5UGtnL0hkZFBhc3N3b3JkL0hkZFBhc3N3b3JkRHhlLmgNCj4gPiBAQCAt ODgsNyArODgsNyBAQCB0eXBlZGVmIHN0cnVjdA0KPiBfSEREX1BBU1NXT1JEX0RYRV9QUklWQVRF X0RBVEEgew0KPiA+ICAgI2RlZmluZSBIRERfUEFTU1dPUkRfRFhFX1BSSVZBVEVfRlJPTV9USElT KGEpICBDUg0KPiAoYSwgSEREX1BBU1NXT1JEX0RYRV9QUklWQVRFX0RBVEEsIENvbmZpZ0FjY2Vz cywNCj4gSEREX1BBU1NXT1JEX0RYRV9QUklWQVRFX1NJR05BVFVSRSkNCj4gPg0KPiA+ICAgLy8N Cj4gPiAtLy9JdGVyYXRlIHRocm91Z2ggdGhlIGRvdWxlIGxpbmtlZCBsaXN0LiBOT1QgZGVsZXRl DQo+IHNhZmUNCj4gPiArLy9JdGVyYXRlIHRocm91Z2ggdGhlIGRvdWJsZSBsaW5rZWQgbGlzdC4g Tk9UIGRlbGV0ZQ0KPiBzYWZlDQo+ID4gICAvLw0KPiA+ICAgI2RlZmluZSBFRklfTElTVF9GT1Jf RUFDSChFbnRyeSwgTGlzdEhlYWQpICAgIFwNCj4gPiAgICAgZm9yIChFbnRyeSA9IChMaXN0SGVh ZCktPkZvcndhcmRMaW5rOyBFbnRyeSAhPQ0KPiAoTGlzdEhlYWQpOyBFbnRyeSA9IEVudHJ5LT5G b3J3YXJkTGluaykNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvSGRkUGFzc3dvcmQv SGRkUGFzc3dvcmRTdHJpbmdzLnVuaQ0KPiBiL1NlY3VyaXR5UGtnL0hkZFBhc3N3b3JkL0hkZFBh c3N3b3JkU3RyaW5ncy51bmkNCj4gPiBpbmRleCAxODhjNDBmMzQ5Li5iNmZkZGZmY2VkIDEwMDY0 NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL0hkZFBhc3N3b3JkL0hkZFBhc3N3b3JkU3RyaW5ncy51 bmkNCj4gPiArKysgYi9TZWN1cml0eVBrZy9IZGRQYXNzd29yZC9IZGRQYXNzd29yZFN0cmluZ3Mu dW5pDQo+ID4gQEAgLTE2LDcgKzE2LDcgQEANCj4gPiAgICNzdHJpbmcgU1RSX1NFQ1VSSVRZX0hE RF9CQU5ORVJfT05FDQo+ICNsYW5ndWFnZSBlbi1VUyAiQWxsb3dzIEFjY2VzcyB0byBTZXQsIE1v ZGlmeSBhbmQgQ2xlYXINCj4gSGFyZERpc2sgVXNlciBhbmQiDQo+ID4gICAjc3RyaW5nIFNUUl9T RUNVUklUWV9IRERfQkFOTkVSX1RXTw0KPiAjbGFuZ3VhZ2UgZW4tVVMgIk1hc3RlciBQYXNzd29y ZHMuIg0KPiA+ICAgI3N0cmluZyBTVFJfU0VDVVJJVFlfSEREX0JBTk5FUl9USFJFRQ0KPiAjbGFu Z3VhZ2UgZW4tVVMgIlVzZXIgUGFzc3dvcmQgbmVlZCB0byBiZSBpbnN0YWxsZWQgZm9yDQo+IEVu YWJsaW5nIFNlY3VyaXR5LiINCj4gPiAtI3N0cmluZyBTVFJfU0VDVVJJVFlfSEREX0JBTk5FUl9G T1VSDQo+ICNsYW5ndWFnZSBlbi1VUyAiTWFzdGVyIFBhc3N3b3JkIGNhbiBiZSBtb2RpZmllZCBv bmx5DQo+IHdoZW4gc3VjY2VzZnVsbHkiDQo+ID4gKyNzdHJpbmcgU1RSX1NFQ1VSSVRZX0hERF9C QU5ORVJfRk9VUg0KPiAjbGFuZ3VhZ2UgZW4tVVMgIk1hc3RlciBQYXNzd29yZCBjYW4gYmUgbW9k aWZpZWQgb25seQ0KPiB3aGVuIHN1Y2Nlc3NmdWxseSINCj4gPiAgICNzdHJpbmcgU1RSX1NFQ1VS SVRZX0hERF9CQU5ORVJfRklWRQ0KPiAjbGFuZ3VhZ2UgZW4tVVMgInVubG9ja2VkIHdpdGggVXNl ciBQYXNzd29yZCBpbiBQT1NULiINCj4gPg0KPiA+ICAgI3N0cmluZyBTVFJfSEREX1NFQ1VSSVRZ X0hEDQo+ICNsYW5ndWFnZSBlbi1VUyAiSEREIFBhc3N3b3JkIg0KPiA+IGRpZmYgLS1naXQNCj4g YS9TZWN1cml0eVBrZy9JbmNsdWRlL0d1aWQvQXV0aGVudGljYXRlZFZhcmlhYmxlRm9ybWF0Lg0K PiBoDQo+IGIvU2VjdXJpdHlQa2cvSW5jbHVkZS9HdWlkL0F1dGhlbnRpY2F0ZWRWYXJpYWJsZUZv cm1hdC4NCj4gaA0KPiA+IGluZGV4IDJhMDk3ODI2YTAuLjQ0Y2VlYmM0ODggMTAwNjQ0DQo+ID4g LS0tDQo+IGEvU2VjdXJpdHlQa2cvSW5jbHVkZS9HdWlkL0F1dGhlbnRpY2F0ZWRWYXJpYWJsZUZv cm1hdC4NCj4gaA0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0luY2x1ZGUvR3VpZC9BdXRoZW50 aWNhdGVkVmFyaWFibGVGb3JtYXQuDQo+IGgNCj4gPiBAQCAtNTQsNyArNTQsNyBAQCBleHRlcm4g RUZJX0dVSUQNCj4gZ0VmaVZlbmRvcktleXNOdkd1aWQ7DQo+ID4NCj4gPiAgIC8vLw0KPiA+ICAg Ly8vICAiVmVuZG9yS2V5c052IiB2YXJpYWJsZSB0byByZWNvcmQgdGhlIG91dCBvZg0KPiBiYW5k IHNlY3VyZSBib290IGtleXMgbW9kaWZpY2F0aW9uLg0KPiA+IC0vLy8gIFRoaXMgdmFyaWFibGUg aXMgYSByZWFkLW9ubHkgTlYgdmFyYWlibGUgdGhhdA0KPiBpbmRpY2F0ZXMgd2hldGhlciBzb21l b25lIG90aGVyIHRoYW4NCj4gPiArLy8vICBUaGlzIHZhcmlhYmxlIGlzIGEgcmVhZC1vbmx5IE5W IHZhcmlhYmxlIHRoYXQNCj4gaW5kaWNhdGVzIHdoZXRoZXIgc29tZW9uZSBvdGhlciB0aGFuDQo+ ID4gICAvLy8gIHRoZSBwbGF0Zm9ybSB2ZW5kb3IgaGFzIHVzZWQgYSBtZWNoYW5pc20gbm90DQo+ IGRlZmluZWQgYnkgdGhlIFVFRkkgU3BlY2lmaWNhdGlvbiB0bw0KPiA+ICAgLy8vICB0cmFuc2l0 aW9uIHRoZSBzeXN0ZW0gdG8gc2V0dXAgbW9kZSBvciB0bw0KPiB1cGRhdGUgc2VjdXJlIGJvb3Qg a2V5cy4NCj4gPiAgIC8vLw0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9JbmNsdWRl L0xpYnJhcnkvVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaA0KPiBiL1NlY3VyaXR5UGtnL0luY2x1 ZGUvTGlicmFyeS9UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi5oDQo+ID4gaW5kZXggOGRhM2RlYWY4 Ni4uMzlmZWJjYjY1NSAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9JbmNsdWRlL0xp YnJhcnkvVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaA0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtn L0luY2x1ZGUvTGlicmFyeS9UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi5oDQo+ID4gQEAgLTI5LDgg KzI5LDggQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLQ0KPiBDbGF1c2UtUGF0ZW50 DQo+ID4gICAvLw0KPiA+ICAgLy8gVUVGSSBUQ0cyIGxpYnJhcnkgZGVmaW5pdGlvbiBiaXQgb2Yg dGhlIEJJT1MNCj4gSW5mb3JtYXRpb24gRmxhZ3MNCj4gPiAgIC8vDQo+ID4gLSNkZWZpbmUNCj4g VENHMl9CSU9TX0lORk9STUFUSU9OX0ZMQUdfSElFUkFDSFlfQ09OVFJPTF9TVE9SQUdFX0RJUw0K PiBBQkxFICAgICAgQklUOA0KPiA+IC0jZGVmaW5lDQo+IFRDRzJfQklPU19JTkZPUk1BVElPTl9G TEFHX0hJRVJBQ0hZX0NPTlRST0xfRU5ET1JTRU1FTlQNCj4gX0RJU0FCTEUgIEJJVDkNCj4gPiAr I2RlZmluZQ0KPiBUQ0cyX0JJT1NfSU5GT1JNQVRJT05fRkxBR19ISUVSQVJDSFlfQ09OVFJPTF9T VE9SQUdFX0RJDQo+IFNBQkxFICAgICAgQklUOA0KPiA+ICsjZGVmaW5lDQo+IFRDRzJfQklPU19J TkZPUk1BVElPTl9GTEFHX0hJRVJBUkNIWV9DT05UUk9MX0VORE9SU0VNRU4NCj4gVF9ESVNBQkxF ICBCSVQ5DQo+IA0KPiBOaWNlIGNhdGNoLg0KPiANCj4gPg0KPiA+ICAgLy8NCj4gPiAgIC8vIFVF RkkgVENHMiBsaWJyYXJ5IGRlZmluaXRpb24gYml0IG9mIHRoZSBCSU9TDQo+IFN0b3JhZ2UgTWFu YWdlbWVudCBGbGFncw0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9JbmNsdWRlL0xp YnJhcnkvVGNnU3RvcmFnZUNvcmVMaWIuaA0KPiBiL1NlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFy eS9UY2dTdG9yYWdlQ29yZUxpYi5oDQo+ID4gaW5kZXggMTkwMDY1YjYzZS4uYzI1YTU2YTE0YyAx MDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9JbmNsdWRlL0xpYnJhcnkvVGNnU3RvcmFnZUNv cmVMaWIuaA0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFyeS9UY2dTdG9yYWdl Q29yZUxpYi5oDQo+ID4gQEAgLTY5Niw3ICs2OTYsNyBAQCBUY2dHZXRUb2tlblVJTlQ2NCgNCj4g PiAgICAgR2V0IG5leHQgc3BlY2lmeSB2YWx1ZS4NCj4gPg0KPiA+ICAgICBAcGFyYW0gICAgUGFy c2VTdHJ1Y3QgICBJbnB1dCBwYXJzZSBzdHJ1Y3R1cmUuDQo+ID4gLSAgQHBhcmFtICAgIFZhbHVl ICAgICAgICAgUmV0dXJuIHZsYXVlLg0KPiA+ICsgIEBwYXJhbSAgICBWYWx1ZSAgICAgICAgIFJl dHVybiB2YWx1ZS4NCj4gPg0KPiA+ICAgICBAcmV0dmFsICAgcmV0dXJuIHRoZSBhY3Rpb24gcmVz dWx0Lg0KPiA+DQo+ID4gQEAgLTcxMyw3ICs3MTMsNyBAQCBUY2dHZXROZXh0VUlOVDgoDQo+ID4g ICAgIEdldCBuZXh0IHNwZWNpZnkgdmFsdWUuDQo+ID4NCj4gPiAgICAgQHBhcmFtICAgIFBhcnNl U3RydWN0ICAgSW5wdXQgcGFyc2Ugc3RydWN0dXJlLg0KPiA+IC0gIEBwYXJhbSAgICBWYWx1ZSAg ICAgICAgIFJldHVybiB2bGF1ZS4NCj4gPiArICBAcGFyYW0gICAgVmFsdWUgICAgICAgICBSZXR1 cm4gdmFsdWUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgIHJldHVybiB0aGUgYWN0aW9uIHJlc3Vs dC4NCj4gPg0KPiA+IEBAIC03MjksNyArNzI5LDcgQEAgVGNnR2V0TmV4dFVJTlQxNigNCj4gPiAg ICAgR2V0IG5leHQgc3BlY2lmeSB2YWx1ZS4NCj4gPg0KPiA+ICAgICBAcGFyYW0gICAgUGFyc2VT dHJ1Y3QgICBJbnB1dCBwYXJzZSBzdHJ1Y3R1cmUuDQo+ID4gLSAgQHBhcmFtICAgIFZhbHVlICAg ICAgICAgUmV0dXJuIHZsYXVlLg0KPiA+ICsgIEBwYXJhbSAgICBWYWx1ZSAgICAgICAgIFJldHVy biB2YWx1ZS4NCj4gPg0KPiA+ICAgICBAcmV0dmFsICAgcmV0dXJuIHRoZSBhY3Rpb24gcmVzdWx0 Lg0KPiA+DQo+ID4gQEAgLTc0NSw3ICs3NDUsNyBAQCBUY2dHZXROZXh0VUlOVDMyKA0KPiA+ICAg ICBHZXQgbmV4dCBzcGVjaWZ5IHZhbHVlLg0KPiA+DQo+ID4gICAgIEBwYXJhbSAgICBQYXJzZVN0 cnVjdCAgIElucHV0IHBhcnNlIHN0cnVjdHVyZS4NCj4gPiAtICBAcGFyYW0gICAgVmFsdWUgICAg ICAgICBSZXR1cm4gdmxhdWUuDQo+ID4gKyAgQHBhcmFtICAgIFZhbHVlICAgICAgICAgUmV0dXJu IHZhbHVlLg0KPiA+DQo+ID4gICAgIEByZXR2YWwgICByZXR1cm4gdGhlIGFjdGlvbiByZXN1bHQu DQo+ID4NCj4gPiBAQCAtNzYxLDcgKzc2MSw3IEBAIFRjZ0dldE5leHRVSU5UNjQoDQo+ID4gICAg IEdldCBuZXh0IHNwZWNpZnkgdmFsdWUuDQo+ID4NCj4gPiAgICAgQHBhcmFtICAgIFBhcnNlU3Ry dWN0ICAgSW5wdXQgcGFyc2Ugc3RydWN0dXJlLg0KPiA+IC0gIEBwYXJhbSAgICBWYWx1ZSAgICAg ICAgIFJldHVybiB2bGF1ZS4NCj4gPiArICBAcGFyYW0gICAgVmFsdWUgICAgICAgICBSZXR1cm4g dmFsdWUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgIHJldHVybiB0aGUgYWN0aW9uIHJlc3VsdC4N Cj4gPg0KPiA+IEBAIC0xMjYxLDcgKzEyNjEsNyBAQCBUY2dFbnVtTGV2ZWwwRGlzY292ZXJ5KA0K PiA+ICAgICBHZXQgRmVhdHVyZSBjb2RlIGZyb20gdGhlIGhlYWRlci4NCj4gPg0KPiA+ICAgICBA cGFyYW0gICAgIERpc2NvdmVyeUhlYWRlciAgICBUaGUgZGlzY292ZXJ5DQo+IGhlYWRlci4NCj4g PiAtICBAcGFyYW0gICAgIEZlYXR1cmVDb2RlICAgICAgICByZXV0cm4gdGhlIEZlYXR1cmUNCj4g Y29kZS4NCj4gPiArICBAcGFyYW0gICAgIEZlYXR1cmVDb2RlICAgICAgICByZXR1cm4gdGhlIEZl YXR1cmUNCj4gY29kZS4NCj4gPiAgICAgQHBhcmFtICAgICBGZWF0dXJlU2l6ZSAgICAgICAgcmV0 dXJuIHRoZSBGZWF0dXJlDQo+IHNpemUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgICByZXR1cm4g dGhlIEZlYXR1cmUgY29kZSBkYXRhLg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9J bmNsdWRlL0xpYnJhcnkvVHBtMkNvbW1hbmRMaWIuaA0KPiBiL1NlY3VyaXR5UGtnL0luY2x1ZGUv TGlicmFyeS9UcG0yQ29tbWFuZExpYi5oDQo+ID4gaW5kZXggZDc4ZDVlZTFiYS4uY2UzODFlNzg2 YiAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9JbmNsdWRlL0xpYnJhcnkvVHBtMkNvbW1h bmRMaWIuaA0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFyeS9UcG0yQ29tbWFu ZExpYi5oDQo+ID4gQEAgLTU4NSw3ICs1ODUsNyBAQCBUcG0yUGNyQWxsb2NhdGVCYW5rcyAoDQo+ ID4gICAgIE5PVEU6DQo+ID4gICAgIFRvIHNpbXBsaWZ5IHRoaXMgZnVuY3Rpb24sIGxlYXZlIHJl dHVybmVkDQo+IENhcGFiaWxpdHlEYXRhIGZvciBjYWxsZXIgdG8gdW5wYWNrIHNpbmNlIHRoZXJl IGFyZQ0KPiA+ICAgICBtYW55IGNhcGFiaWxpdHkgY2F0ZWdvcmllcyBhbmQgb25seSBmZXcNCj4g Y2F0ZWdvcmllcyB3aWxsIGJlIHVzZWQgaW4gZmlybXdhcmUuIEl0IG1lYW5zIHRoZQ0KPiBjYWxs ZXINCj4gPiAtICBuZWVkIHN3YXAgdGhlIGJ5dGUgb3JkZXIgZm9yIHRoZSBmZWlsZHMgaW4NCj4g Q2FwYWJpbGl0eURhdGEuDQo+ID4gKyAgbmVlZCBzd2FwIHRoZSBieXRlIG9yZGVyIGZvciB0aGUg ZmllbGRzIGluDQo+IENhcGFiaWxpdHlEYXRhLg0KPiA+DQo+ID4gICAgIEBwYXJhbVtpbl0gIENh cGFiaWxpdHkgICAgICAgICBHcm91cCBzZWxlY3Rpb247DQo+IGRldGVybWluZXMgdGhlIGZvcm1h dCBvZiB0aGUgcmVzcG9uc2UuDQo+ID4gICAgIEBwYXJhbVtpbl0gIFByb3BlcnR5ICAgICAgICAg ICBGdXJ0aGVyIGRlZmluaXRpb24NCj4gb2YgaW5mb3JtYXRpb24uDQo+ID4gZGlmZiAtLWdpdCBh L1NlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFyeS9UcG1Db21tTGliLmgNCj4gYi9TZWN1cml0eVBr Zy9JbmNsdWRlL0xpYnJhcnkvVHBtQ29tbUxpYi5oDQo+ID4gaW5kZXggYjlhY2E2MGI4Mi4uN2Ux MDJhNmExMSAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9JbmNsdWRlL0xpYnJhcnkvVHBt Q29tbUxpYi5oDQo+ID4gKysrIGIvU2VjdXJpdHlQa2cvSW5jbHVkZS9MaWJyYXJ5L1RwbUNvbW1M aWIuaA0KPiA+IEBAIC0yMTQsNyArMjE0LDcgQEAgVGlzUGNXYWl0UmVnaXN0ZXJCaXRzICgNCj4g PiAgICAgaW4gdGhlIHRpbWUgb2YgZGVmYXVsdCBUSVNfVElNRU9VVF9ELg0KPiA+DQo+ID4gICAg IEBwYXJhbVtpbl0gIFRpc1JlZyAgICAgICAgICAgICAgICBQb2ludGVyIHRvIFRJUw0KPiByZWdp c3Rlci4NCj4gPiAtICBAcGFyYW1bb3V0XSBCdXJzdENvdW50ICAgICAgICAgICAgUG9pbnRlciB0 byBhDQo+IGJ1ZmZlciB0byBzdG9yZSB0aGUgZ290IEJ1cnN0Q29udXQuDQo+ID4gKyAgQHBhcmFt W291dF0gQnVyc3RDb3VudCAgICAgICAgICAgIFBvaW50ZXIgdG8gYQ0KPiBidWZmZXIgdG8gc3Rv cmUgdGhlIGdvdCBCdXJzdENvdW50Lg0KPiANCj4gVGhpcyBvbmUgd2FzIGZ1bm55Lg0KPiANCj4g Pg0KPiA+ICAgICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUyAgICAgICAgICAgR2V0IEJ1cnN0Q291 bnQuDQo+ID4gICAgIEByZXR2YWwgICAgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUaXNSZWcgaXMg TlVMTA0KPiBvciBCdXJzdENvdW50IGlzIE5VTEwuDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3Vy aXR5UGtnL0luY2x1ZGUvUHBpL0Zpcm13YXJlVm9sdW1lSW5mb1ByZWhhc2hlZEZWDQo+IC5oDQo+ IGIvU2VjdXJpdHlQa2cvSW5jbHVkZS9QcGkvRmlybXdhcmVWb2x1bWVJbmZvUHJlaGFzaGVkRlYN Cj4gLmgNCj4gPiBpbmRleCAyZmM5NTUzN2RjLi4xYjczMjBlOTE2IDEwMDY0NA0KPiA+IC0tLQ0K PiBhL1NlY3VyaXR5UGtnL0luY2x1ZGUvUHBpL0Zpcm13YXJlVm9sdW1lSW5mb1ByZWhhc2hlZEZW DQo+IC5oDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQa2cvSW5jbHVkZS9QcGkvRmlybXdhcmVWb2x1 bWVJbmZvUHJlaGFzaGVkRlYNCj4gLmgNCj4gPiBAQCAtMjYsMTAgKzI2LDEwIEBAIHR5cGVkZWYg c3RydWN0IF9IQVNIX0lORk8gew0KPiA+ICAgLy8NCj4gPiAgIC8vIFRoaXMgUFBJIGNhcnJpZXMg cHJlaGFzaHNlZCBkYXRhIGZvciBvbmUgRlYuDQo+IFBsYXRmb3JtIHNob3VsZCBlbnN1cmUgMTox IG1hcHBpbmcgYmV0d2VlbiBwcmUtaGFzaGVkDQo+IFBQSSBhbmQgY29ycmVzcG9uZGluZyBGVi4N Cj4gPiAgIC8vIFRoZSBDb3VudCBmaWVsZCBpbiBQUEkgaXMgZm9sbG93ZWQgYnkgQ291bnQNCj4g bnVtYmVyIG9mIEZWIGhhc2ggaW5mbyBlbnRyaWVzLCB3aGljaCBjYW4gYmUgZXh0ZW5kZWQNCj4g dG8gUENSIGFuZCBsb2dnZWQgdG8gVENHIGV2ZW50IGxvZyBkaXJlY3RseSBieSBUQ0cNCj4gbW9k dWxlcy4NCj4gPiAtLy8gVENHIG1vZHVsZSBjaGVja3MgVFBNIHJlcXVpcmVkIGhhc2gNCj4gYWxn b3JpdGhtcyhQY2RUcG0ySGFzaE1hc2spIHdpdGggZWFjaCBwcmUtaGFzZWQgUFBJcw0KPiA+ICsv LyBUQ0cgbW9kdWxlIGNoZWNrcyBUUE0gcmVxdWlyZWQgaGFzaA0KPiBhbGdvcml0aG1zKFBjZFRw bTJIYXNoTWFzaykgd2l0aCBlYWNoIHByZS1oYXNoZWQgUFBJcw0KPiA+ICAgLy8gICBGb3IgZWFj aCBwcmUtaGFzaGVkIFBQSQ0KPiA+ICAgLy8gICAgIElmIFBQSSBjYXJyaWVzIGhhc2ggZ2VuZXJh dGVkIGJ5IGVxdWl2YWxlbnQNCj4gb3IgbGFyZ2VyIGFsZ29yaXRobSBzZXQgdGhhbiBUUE0gcmVx dWlyZWQsIGRpcmVjdGx5IHVzZQ0KPiBQUEkNCj4gPiAtLy8gICAgIGVsc2UsIGRyb3BzIFBQSSBk YXRhIGFuZCBjYWNsdWF0ZSBhbGwgaGFzaA0KPiBhZ2Fpbg0KPiA+ICsvLyAgICAgZWxzZSwgZHJv cHMgUFBJIGRhdGEgYW5kIGNhbGN1bGF0ZSBhbGwgaGFzaA0KPiBhZ2Fpbg0KPiA+ICAgLy8NCj4g PiAgIHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgICAgVUlOVDMyDQo+IEZ2QmFzZTsNCj4gPiBkaWZm IC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZp Y2UuYw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNl LmMNCj4gPiBpbmRleCA0ODZkZjU1YmVkLi4yZjYwMzMxZjJjIDEwMDY0NA0KPiA+IC0tLQ0KPiBh L1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMNCj4gPiAr KysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZS5j DQo+ID4gQEAgLTQyNSw3ICs0MjUsNyBAQCBDaGVja1NpZ25hdHVyZUxpc3RGb3JtYXQoDQo+ID4g ICAgIFJzYUNvbnRleHQgPSBOVUxMOw0KPiA+DQo+ID4gICAgIC8vDQo+ID4gLSAgLy8gV2FsayB0 aHJvdXRoIHRoZSBpbnB1dCBzaWduYXR1cmUgbGlzdCBhbmQgY2hlY2sNCj4gdGhlIGRhdGEgZm9y bWF0Lg0KPiA+ICsgIC8vIFdhbGsgdGhyb3VnaCB0aGUgaW5wdXQgc2lnbmF0dXJlIGxpc3QgYW5k IGNoZWNrDQo+IHRoZSBkYXRhIGZvcm1hdC4NCj4gPiAgICAgLy8gSWYgYW55IHNpZ25hdHVyZSBp cyBpbmNvcnJlY3RseSBmb3JtZWQsIHRoZQ0KPiB3aG9sZSBjaGVjayB3aWxsIGZhaWwuDQo+ID4g ICAgIC8vDQo+ID4gICAgIHdoaWxlICgoU2lnRGF0YVNpemUgPiAwKSAmJiAoU2lnRGF0YVNpemUg Pj0NCj4gU2lnTGlzdC0+U2lnbmF0dXJlTGlzdFNpemUpKSB7DQo+ID4gQEAgLTEwNjksNyArMTA2 OSw3IEBADQo+IEF1dGhTZXJ2aWNlSW50ZXJuYWxDb21wYXJlVGltZVN0YW1wICgNCj4gPiAgICAg QHBhcmFtW291dF0gU2hhMjU2RGlnZXN0ICAgICAgIFNoYTI1NiBkaWdlc3QNCj4gY2FsY3VsYXRl ZC4NCj4gPg0KPiA+ICAgICBAcmV0dXJuIEVGSV9BQk9SVEVEICAgICAgICAgIERpZ2VzdCBwcm9j ZXNzDQo+IGZhaWxlZC4NCj4gPiAtICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAgIFNIQTI1 NiBEaWdlc3QgaXMNCj4gc3VjY2VzZnVsbHkgY2FsY3VsYXRlZC4NCj4gPiArICBAcmV0dXJuIEVG SV9TVUNDRVNTICAgICAgICAgIFNIQTI1NiBEaWdlc3QgaXMNCj4gc3VjY2Vzc2Z1bGx5IGNhbGN1 bGF0ZWQuDQo+ID4NCj4gPiAgICoqLw0KPiA+ICAgRUZJX1NUQVRVUw0KPiA+IGRpZmYgLS1naXQN Cj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVy bg0KPiBhbC5oDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNl cnZpY2VJbnRlcm4NCj4gYWwuaA0KPiA+IGluZGV4IGRhMmM0MGJjMzcuLjJiZWM2MzdmNzUgMTAw NjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0 aFNlcnZpY2VJbnRlcm4NCj4gYWwuaA0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkv QXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlSW50ZXJuDQo+IGFsLmgNCj4gPiBAQCAtMTU5LDcg KzE1OSw3IEBAIERlbGV0ZUNlcnRzRnJvbURiICgNCj4gPiAgIC8qKg0KPiA+ICAgICBDbGVhbiB1 cCBzaWduZXIncyBjZXJ0aWZpY2F0ZXMgZm9yIGNvbW1vbg0KPiBhdXRoZW50aWNhdGVkIHZhcmlh YmxlDQo+ID4gICAgIGJ5IGNvcnJlc3BvbmRpbmcgVmFyaWFibGVOYW1lIGFuZCBWZW5kb3JHdWlk IGZyb20NCj4gImNlcnRkYiIuDQo+ID4gLSAgU3l0ZW0gbWF5IGJyZWFrIGRvd24gZHVyaW5nIFRp bWViYXNlZCBWYXJpYWJsZQ0KPiB1cGRhdGUgJiBjZXJ0ZGIgdXBkYXRlLA0KPiA+ICsgIFN5c3Rl bSBtYXkgYnJlYWsgZG93biBkdXJpbmcgVGltZWJhc2VkIFZhcmlhYmxlDQo+IHVwZGF0ZSAmIGNl cnRkYiB1cGRhdGUsDQo+ID4gICAgIG1ha2UgdGhlbSBpbmNvbnNpc3RlbnQsICB0aGlzIGZ1bmN0 aW9uIGlzIGNhbGxlZA0KPiBpbiBBdXRoVmFyaWFibGUgSW5pdCB0byBlbnN1cmUNCj4gPiAgICAg Y29uc2lzdGVuY3kNCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5 L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJh cnkvQXV0aFZhcmlhYmxlTGliL0F1dGhWYXJpYWJsZUxpYi5jDQo+ID4gaW5kZXggZTgwZmFkYmYw NS4uMTIyYjNiMGJmNCAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1 dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtn L0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhWYXJpYWJsZUxpYi5jDQo+ID4gQEAgLTk2LDcg Kzk2LDcgQEAgVk9JRCAqKm1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbOV07DQo+ID4gICBBVVRIX1ZB Ul9MSUJfQ09OVEVYVF9JTiAqbUF1dGhWYXJMaWJDb250ZXh0SW4gPQ0KPiBOVUxMOw0KPiA+DQo+ ID4gICAvKioNCj4gPiAtICBJbml0aWFsaXphdGlvbiBmb3IgYXV0aGVudGljYXRlZCB2YXJpYmFs ZQ0KPiBzZXJ2aWNlcy4NCj4gPiArICBJbml0aWFsaXphdGlvbiBmb3IgYXV0aGVudGljYXRlZCB2 YXJpYWJsZQ0KPiBzZXJ2aWNlcy4NCj4gPiAgICAgSWYgdGhpcyBpbml0aWFsaXphdGlvbiByZXR1 cm5zIGVycm9yIHN0YXR1cywNCj4gb3RoZXIgQVBJcyB3aWxsIG5vdCB3b3JrDQo+ID4gICAgIGFu ZCBleHBlY3QgdG8gYmUgbm90IGNhbGxlZCB0aGVuLg0KPiA+DQo+ID4gQEAgLTM4Miw3ICszODIs NyBAQCBBdXRoVmFyaWFibGVMaWJJbml0aWFsaXplICgNCj4gPiAgICAgQHJldHZhbCBFRklfSU5W QUxJRF9QQVJBTUVURVIgICAgIEludmFsaWQNCj4gcGFyYW1ldGVyLg0KPiA+ICAgICBAcmV0dmFs IEVGSV9XUklURV9QUk9URUNURUQgICAgICAgVmFyaWFibGUgaXMNCj4gd3JpdGUtcHJvdGVjdGVk Lg0KPiA+ICAgICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICAgVGhlcmUgaXMgbm90 DQo+IGVub3VnaCByZXNvdXJjZS4NCj4gPiAtICBAcmV0dmFsIEVGSV9TRUNVUklUWV9WSU9MQVRJ T04gICAgVGhlIHZhcmlhYmxlIGlzDQo+IHdpdGggRUZJX1ZBUklBQkxFX1RJTUVfQkFTRURfQVVU SEVOVElDQVRFRF9XUklURV9BQ0VTUw0KPiA+ICsgIEByZXR2YWwgRUZJX1NFQ1VSSVRZX1ZJT0xB VElPTiAgICBUaGUgdmFyaWFibGUgaXMNCj4gd2l0aCBFRklfVkFSSUFCTEVfVElNRV9CQVNFRF9B VVRIRU5USUNBVEVEX1dSSVRFX0FDQ0VTUw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2V0LCBidXQgdGhlDQo+IEF1dGhJbmZvIGRvZXMgTk9UIHBhc3MgdGhlIHZh bGlkYXRpb24NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNr IGNhcnJpZWQNCj4gb3V0IGJ5IHRoZSBmaXJtd2FyZS4NCj4gPiAgICAgQHJldHZhbCBFRklfVU5T VVBQT1JURUQgICAgICAgICAgIFVuc3VwcG9ydGVkIHRvDQo+IHByb2Nlc3MgYXV0aGVudGljYXRl ZCB2YXJpYWJsZS4NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJ bWFnZUF1dGhlbnRpY2F0aW9uU3RhdHVzTGliL0QNCj4geGVJbWFnZUF1dGhlbnRpY2F0aW9uU3Rh dHVzTGliLmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlQXV0aGVudGljYXRpb25T dGF0dXNMaWIvRA0KPiB4ZUltYWdlQXV0aGVudGljYXRpb25TdGF0dXNMaWIuYw0KPiA+IGluZGV4 IDM4NDQ4ZjBjOGMuLmU0ZGRmZjIxYjUgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cv TGlicmFyeS9EeGVJbWFnZUF1dGhlbnRpY2F0aW9uU3RhdHVzTGliL0QNCj4geGVJbWFnZUF1dGhl bnRpY2F0aW9uU3RhdHVzTGliLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZUltYWdlQXV0aGVudGljYXRpb25TdGF0dXNMaWIvRA0KPiB4ZUltYWdlQXV0aGVudGljYXRpb25T dGF0dXNMaWIuYw0KPiA+IEBAIC00OSw3ICs0OSw3IEBAIER4ZUltYWdlQXV0aGVudGljYXRpb25T dGF0dXNIYW5kbGVyDQo+ICgNCj4gPg0KPiA+DQo+ID4gICAvKioNCj4gPiAtICBSZWdpc3RlciBp bWFnZSBhdXRoZW50aWNhaW9uIHN0YXR1cyBjaGVjayBoYW5kbGVyLg0KPiA+ICsgIFJlZ2lzdGVy IGltYWdlIGF1dGhlbnRpY2F0aW9uIHN0YXR1cyBjaGVjaw0KPiBoYW5kbGVyLg0KPiA+DQo+ID4g ICAgIEBwYXJhbSAgSW1hZ2VIYW5kbGUgICBJbWFnZUhhbmRsZSBvZiB0aGUgbG9hZGVkDQo+IGRy aXZlci4NCj4gPiAgICAgQHBhcmFtICBTeXN0ZW1UYWJsZSAgIFBvaW50ZXIgdG8gdGhlIEVGSSBT eXN0ZW0NCj4gVGFibGUuDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkv RHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VWDQo+IGVyaWZpY2F0aW9uTGliLmMNCj4g Yi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVg0K PiBlcmlmaWNhdGlvbkxpYi5jDQo+ID4gaW5kZXggZmU0Y2RjY2VkZC4uYTBhMTJiNTBkZCAxMDA2 NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9u TGliL0R4ZUltYWdlVg0KPiBlcmlmaWNhdGlvbkxpYi5jDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJbWFnZVYNCj4gZXJpZmljYXRp b25MaWIuYw0KPiA+IEBAIC03NDUsNyArNzQ1LDcgQEAgQWRkSW1hZ2VFeGVJbmZvICgNCj4gPiAg ICAgaWYgKEltYWdlRXhlSW5mb1RhYmxlICE9IE5VTEwpIHsNCj4gPiAgICAgICAvLw0KPiA+ICAg ICAgIC8vIFRoZSB0YWJsZSBoYXMgYmVlbiBmb3VuZCENCj4gPiAtICAgIC8vIFdlIG11c3QgZW5s YXJnZSB0aGUgdGFibGUgdG8gYWNjb21vZGF0ZSB0aGUNCj4gbmV3IGV4ZSBpbmZvIGVudHJ5Lg0K PiA+ICsgICAgLy8gV2UgbXVzdCBlbmxhcmdlIHRoZSB0YWJsZSB0byBhY2NvbW1vZGF0ZSB0aGUN Cj4gbmV3IGV4ZSBpbmZvIGVudHJ5Lg0KPiA+ICAgICAgIC8vDQo+ID4gICAgICAgSW1hZ2VFeGVJ bmZvVGFibGVTaXplID0NCj4gR2V0SW1hZ2VFeGVJbmZvVGFibGVTaXplIChJbWFnZUV4ZUluZm9U YWJsZSk7DQo+ID4gICAgIH0gZWxzZSB7DQo+ID4gQEAgLTk0Nyw3ICs5NDcsNyBAQCBEb25lOg0K PiA+DQo+ID4gICAgIEBwYXJhbVtpbl0gIFZhcmlhYmxlTmFtZSAgICAgICAgTmFtZSBvZiBkYXRh YmFzZQ0KPiB2YXJpYWJsZSB0aGF0IGlzIHNlYXJjaGVkIGluLg0KPiA+ICAgICBAcGFyYW1baW5d ICBTaWduYXR1cmUgICAgICAgICAgIFBvaW50ZXIgdG8NCj4gc2lnbmF0dXJlIHRoYXQgaXMgc2Vh cmNoZWQgZm9yLg0KPiA+IC0gIEBwYXJhbVtpbl0gIENlcnRUeXBlICAgICAgICAgICAgUG9pbnRl ciB0byBoYXNoDQo+IGFsZ3JpdGhvbS4NCj4gPiArICBAcGFyYW1baW5dICBDZXJ0VHlwZSAgICAg ICAgICAgIFBvaW50ZXIgdG8gaGFzaA0KPiBhbGdvcml0aG0uDQo+ID4gICAgIEBwYXJhbVtpbl0g IFNpZ25hdHVyZVNpemUgICAgICAgU2l6ZSBvZg0KPiBTaWduYXR1cmUuDQo+ID4NCj4gPiAgICAg QHJldHVybiBUUlVFICAgICAgICAgICAgICAgICAgICBGb3VuZCB0aGUNCj4gc2lnbmF0dXJlIGlu IHRoZSB2YXJpYWJsZSBkYXRhYmFzZS4NCj4gPiBAQCAtOTkyLDcgKzk5Miw3IEBAIElzU2lnbmF0 dXJlRm91bmRJbkRhdGFiYXNlICgNCj4gPiAgICAgICBnb3RvIERvbmU7DQo+ID4gICAgIH0NCj4g PiAgICAgLy8NCj4gPiAtICAvLyBFbnVtZXJhdGUgYWxsIHNpZ25hdHVyZSBkYXRhIGluIFNpZ0RC IHRvIGNoZWNrDQo+IGlmIGV4ZWN1dGFibGUncyBzaWduYXR1cmUgZXhpc3RzLg0KPiA+ICsgIC8v IEVudW1lcmF0ZSBhbGwgc2lnbmF0dXJlIGRhdGEgaW4gU2lnREIgdG8gY2hlY2sNCj4gaWYgc2ln bmF0dXJlIGV4aXN0cyBmb3IgZXhlY3V0YWJsZS4NCj4gPiAgICAgLy8NCj4gPiAgICAgQ2VydExp c3QgPSAoRUZJX1NJR05BVFVSRV9MSVNUICopIERhdGE7DQo+ID4gICAgIHdoaWxlICgoRGF0YVNp emUgPiAwKSAmJiAoRGF0YVNpemUgPj0gQ2VydExpc3QtDQo+ID5TaWduYXR1cmVMaXN0U2l6ZSkp IHsNCj4gPiBAQCAtMTg0NCw3ICsxODQ0LDcgQEAgRHhlSW1hZ2VWZXJpZmljYXRpb25IYW5kbGVy ICgNCj4gPg0KPiA+ICAgICBpZiAoT2ZmU2V0ICE9IChTZWNEYXRhRGlyLT5WaXJ0dWFsQWRkcmVz cyArDQo+IFNlY0RhdGFEaXItPlNpemUpKSB7DQo+ID4gICAgICAgLy8NCj4gPiAtICAgIC8vIFRo ZSBTaXplIGluIENlcnRpZmljYXRlIFRhYmxlIG9yIHRoZQ0KPiBhdHRyaWJ1dGUgY2VydGljYXRl IHRhYmxlIGlzIGNvcnJ1cHRlZC4NCj4gPiArICAgIC8vIFRoZSBTaXplIGluIENlcnRpZmljYXRl IFRhYmxlIG9yIHRoZQ0KPiBhdHRyaWJ1dGUgY2VydGlmaWNhdGUgdGFibGUgaXMgY29ycnVwdGVk Lg0KPiA+ICAgICAgIC8vDQo+ID4gICAgICAgVmVyaWZ5U3RhdHVzID0gRUZJX0FDQ0VTU19ERU5J RUQ7DQo+ID4gICAgIH0NCj4gPiBAQCAtMTg1NSw3ICsxODU1LDcgQEAgRHhlSW1hZ2VWZXJpZmlj YXRpb25IYW5kbGVyICgNCj4gPiAgICAgICBTdGF0dXMgPSBFRklfQUNDRVNTX0RFTklFRDsNCj4g PiAgICAgICBpZiAoQWN0aW9uID09DQo+IEVGSV9JTUFHRV9FWEVDVVRJT05fQVVUSF9TSUdfRkFJ TEVEIHx8IEFjdGlvbiA9PQ0KPiBFRklfSU1BR0VfRVhFQ1VUSU9OX0FVVEhfU0lHX0ZPVU5EKSB7 DQo+ID4gICAgICAgICAvLw0KPiA+IC0gICAgICAvLyBHZXQgaW1hZ2UgaGFzaCB2YWx1ZSBhcyBl eGVjdXRhYmxlJ3MNCj4gc2lnbmF0dXJlLg0KPiA+ICsgICAgICAvLyBHZXQgaW1hZ2UgaGFzaCB2 YWx1ZSBhcyBzaWduYXR1cmUgb2YNCj4gZXhlY3V0YWJsZS4NCj4gPiAgICAgICAgIC8vDQo+ID4g ICAgICAgICBTaWduYXR1cmVMaXN0U2l6ZSA9IHNpemVvZg0KPiAoRUZJX1NJR05BVFVSRV9MSVNU KSArIHNpemVvZiAoRUZJX1NJR05BVFVSRV9EQVRBKSAtIDENCj4gKyBtSW1hZ2VEaWdlc3RTaXpl Ow0KPiA+ICAgICAgICAgU2lnbmF0dXJlTGlzdCAgICAgPSAoRUZJX1NJR05BVFVSRV9MSVNUICop DQo+IEFsbG9jYXRlWmVyb1Bvb2wgKFNpZ25hdHVyZUxpc3RTaXplKTsNCj4gPiBkaWZmIC0tZ2l0 DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4 dHINCj4gYWN0TGliL0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cmFjdExpYi5jDQo+ IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHIN Cj4gYWN0TGliL0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cmFjdExpYi5jDQo+ID4g aW5kZXggMDA1OTMyODk1MC4uMjg4MDdkNGQ5OCAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0 eVBrZy9MaWJyYXJ5L0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIv RHhlUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmMNCj4gPiArKysNCj4gYi9T ZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBh Y3RMaWIvRHhlUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmMNCj4gPiBAQCAt Miw3ICsyLDcgQEANCj4gPg0KPiA+ICAgICBUaGlzIGxpYnJhcnkgcmVnaXN0ZXJzIFJTQSAyMDQ4 IFNIQSAyNTYgZ3VpZGVkDQo+IHNlY3Rpb24gaGFuZGxlcg0KPiA+ICAgICB0byBwYXJzZSBSU0Eg MjA0OCBTSEEgMjU2IGVuY2Fwc3VsYXRpb24gc2VjdGlvbg0KPiBhbmQgZXh0cmFjdCByYXcgZGF0 YS4NCj4gPiAtICBJdCB1c2VzIHRoZSBCYXNlQ3J5cHlMaWIgYmFzZWQgb24gT3BlblNTTCB0bw0K PiBhdXRoZW50aWNhdGUgdGhlIHNpZ25hdHVyZS4NCj4gPiArICBJdCB1c2VzIHRoZSBCYXNlQ3J5 cHRMaWIgYmFzZWQgb24gT3BlblNTTCB0bw0KPiBhdXRoZW50aWNhdGUgdGhlIHNpZ25hdHVyZS4N Cj4gPg0KPiA+ICAgQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbA0KPiByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiBAQCAtMjEzLDcgKzIxMyw3IEBAIFJzYTIwNDhT aGEyNTZHdWlkZWRTZWN0aW9uSGFuZGxlcg0KPiAoDQo+ID4gICAgIH0NCj4gPg0KPiA+ICAgICAv Lw0KPiA+IC0gIC8vIEFsbCBwYXRocyBmcm9tIGhlcmUgcmV0dXJuIEVGSV9TVUNFU1MgYW5kDQo+ IHJlc3VsdCBpcyByZXR1cm5lZCBpbiBBdXRoZW50aWNhdGlvblN0YXR1cw0KPiA+ICsgIC8vIEFs bCBwYXRocyBmcm9tIGhlcmUgcmV0dXJuIEVGSV9TVUNDRVNTIGFuZA0KPiByZXN1bHQgaXMgcmV0 dXJuZWQgaW4gQXV0aGVudGljYXRpb25TdGF0dXMNCj4gPiAgICAgLy8NCj4gPiAgICAgU3RhdHVz ID0gRUZJX1NVQ0NFU1M7DQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGli cmFyeS9EeGVSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL0R4ZVJzYTIw NDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cmFjdExpYi5pbmYNCj4gYi9TZWN1cml0eVBrZy9MaWJy YXJ5L0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvRHhlUnNhMjA0 OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmluZg0KPiA+IGluZGV4IDA4MjJmZDA4NTYu LjljNDI2ZWRhY2UgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVS c2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL0R4ZVJzYTIwNDhTaGEyNTZH dWlkZWRTZWN0aW9uRXh0cmFjdExpYi5pbmYNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJy YXJ5L0R4ZVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvRHhlUnNhMjA0 OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmluZg0KPiA+IEBAIC0zLDcgKzMsNyBAQA0K PiA+ICAgIyAgRXh0cmFjdEd1aWRlZFNlY3Rpb25MaWIgc2VydmljZSB0byByZWdpc3RlciBhbg0K PiBSU0EgMjA0OCBTSEEgMjU2IGd1aWRlZCBzZWN0aW9uIGhhbmRsZXINCj4gPiAgICMgIHRoYXQg cGFyc2VzIFJTQSAyMDQ4IFNIQSAyNTYgZW5jYXBzdWxhdGlvbg0KPiBzZWN0aW9uIGFuZCBleHRy YWN0cyByYXcgZGF0YS4NCj4gPiAgICMNCj4gPiAtIyAgSXQgdXNlcyB0aGUgQmFzZUNyeXB5TGli IGJhc2VkIG9uIE9wZW5TU0wgdG8NCj4gYXV0aGVudGljYXRlIHRoZSBzaWduYXR1cmUuDQo+ID4g KyMgIEl0IHVzZXMgdGhlIEJhc2VDcnlwdExpYiBiYXNlZCBvbiBPcGVuU1NMIHRvDQo+IGF1dGhl bnRpY2F0ZSB0aGUgc2lnbmF0dXJlLg0KPiA+ICAgIw0KPiA+ICAgIyBDb3B5cmlnaHQgKGMpIDIw MTMgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsDQo+IHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ID4gICAjDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlUnNh MjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyDQo+IGFjdExpYi9EeGVSc2EyMDQ4U2hhMjU2R3Vp ZGVkU2VjdGlvbkV4dHJhY3RMaWIudW5pDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVSc2Ey MDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL0R4ZVJzYTIwNDhTaGEyNTZHdWlk ZWRTZWN0aW9uRXh0cmFjdExpYi51bmkNCj4gPiBpbmRleCA0ODRiZGUwYWZjLi5mMDI5NGE2OGY1 IDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlUnNhMjA0OFNoYTI1 Nkd1aWRlZFNlY3Rpb25FeHRyDQo+IGFjdExpYi9EeGVSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlv bkV4dHJhY3RMaWIudW5pDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVSc2Ey MDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL0R4ZVJzYTIwNDhTaGEyNTZHdWlk ZWRTZWN0aW9uRXh0cmFjdExpYi51bmkNCj4gPiBAQCAtNCw3ICs0LDcgQEANCj4gPiAgIC8vIEV4 dHJhY3RHdWlkZWRTZWN0aW9uTGliIHNlcnZpY2UgdG8gcmVnaXN0ZXIgYW4NCj4gUlNBIDIwNDgg U0hBIDI1NiBndWlkZWQgc2VjdGlvbiBoYW5kbGVyDQo+ID4gICAvLyB0aGF0IHBhcnNlcyBSU0Eg MjA0OCBTSEEgMjU2IGVuY2Fwc3VsYXRpb24NCj4gc2VjdGlvbiBhbmQgZXh0cmFjdHMgcmF3IGRh dGEuDQo+ID4gICAvLw0KPiA+IC0vLyBJdCB1c2VzIHRoZSBCYXNlQ3J5cHlMaWIgYmFzZWQgb24g T3BlblNTTCB0bw0KPiBhdXRoZW50aWNhdGUgdGhlIHNpZ25hdHVyZS4NCj4gPiArLy8gSXQgdXNl cyB0aGUgQmFzZUNyeXB0TGliIGJhc2VkIG9uIE9wZW5TU0wgdG8NCj4gYXV0aGVudGljYXRlIHRo ZSBzaWduYXR1cmUuDQo+ID4gICAvLw0KPiA+ICAgLy8gQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAx OCwgSW50ZWwgQ29ycG9yYXRpb24uDQo+IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICAg Ly8NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG0yTWVhc3Vy ZUJvb3RMaWIvRHhlVHBtMk1lYXMNCj4gdXJlQm9vdExpYi5jDQo+IGIvU2VjdXJpdHlQa2cvTGli cmFyeS9EeGVUcG0yTWVhc3VyZUJvb3RMaWIvRHhlVHBtMk1lYXMNCj4gdXJlQm9vdExpYi5jDQo+ ID4gaW5kZXggNTQzNjM1YjJlNC4uMDRiOWIwZDdmYiAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1 cml0eVBrZy9MaWJyYXJ5L0R4ZVRwbTJNZWFzdXJlQm9vdExpYi9EeGVUcG0yTWVhcw0KPiB1cmVC b290TGliLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVRwbTJNZWFzdXJl Qm9vdExpYi9EeGVUcG0yTWVhcw0KPiB1cmVCb290TGliLmMNCj4gPiBAQCAtMzYyLDcgKzM2Miw3 IEBAIFRjZzJNZWFzdXJlUGVJbWFnZSAoDQo+ID4gICAgIGlmIChTdGF0dXMgPT0gRUZJX1ZPTFVN RV9GVUxMKSB7DQo+ID4gICAgICAgLy8NCj4gPiAgICAgICAvLyBWb2x1bWUgZnVsbCBoZXJlIG1l YW5zIHRoZSBpbWFnZSBpcyBoYXNoZWQNCj4gYW5kIGl0cyByZXN1bHQgaXMgZXh0ZW5kZWQgdG8g UENSLg0KPiA+IC0gICAgLy8gQnV0IHRoZSBldmVudCBsb2cgY2Fubid0IGJlIHNhdmVkIHNpbmNl IGxvZw0KPiBhcmVhIGlzIGZ1bGwuDQo+ID4gKyAgICAvLyBCdXQgdGhlIGV2ZW50IGxvZyBjYW4n dCBiZSBzYXZlZCBzaW5jZSBsb2cNCj4gYXJlYSBpcyBmdWxsLg0KPiA+ICAgICAgIC8vIEp1c3Qg cmV0dXJuIEVGSV9TVUNDRVNTIGluIG9yZGVyIG5vdCB0bw0KPiBibG9jayB0aGUgaW1hZ2UgbG9h ZC4NCj4gPiAgICAgICAvLw0KPiA+ICAgICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiA+IEBA IC01NDEsNyArNTQxLDcgQEAgRHhlVHBtMk1lYXN1cmVCb290SGFuZGxlciAoDQo+ID4gICAgICAg fQ0KPiA+ICAgICAgIC8vDQo+ID4gICAgICAgLy8gVGhlIFBFIGltYWdlIGZyb20gdW5tZWFzdXJl ZCBGaXJtd2FyZSB2b2x1bWUNCj4gbmVlZCBiZSBtZWFzdXJlZA0KPiA+IC0gICAgLy8gVGhlIFBF IGltYWdlIGZyb20gbWVhc3VyZWQgRmlybXdhcmUgdm9sdW1lDQo+IHdpbGwgYmUgbWVhcnN1cmVk IGFjY29yZGluZyB0byBwb2xpY3kgYmVsb3cuDQo+ID4gKyAgICAvLyBUaGUgUEUgaW1hZ2UgZnJv bSBtZWFzdXJlZCBGaXJtd2FyZSB2b2x1bWUNCj4gd2lsbCBiZSBtZWFzdXJlZCBhY2NvcmRpbmcg dG8gcG9saWN5IGJlbG93Lg0KPiA+ICAgICAgIC8vICAgSWYgaXQgaXMgZHJpdmVyLCBkbyBub3Qg bWVhc3VyZQ0KPiA+ICAgICAgIC8vICAgSWYgaXQgaXMgYXBwbGljYXRpb24sIHN0aWxsIG1lYXN1 cmUuDQo+ID4gICAgICAgLy8NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFy eS9EeGVUcG1NZWFzdXJlQm9vdExpYi9EeGVUcG1NZWFzdXINCj4gZUJvb3RMaWIuYw0KPiBiL1Nl Y3VyaXR5UGtnL0xpYnJhcnkvRHhlVHBtTWVhc3VyZUJvb3RMaWIvRHhlVHBtTWVhc3VyDQo+IGVC b290TGliLmMNCj4gPiBpbmRleCBhMmQzOTIzY2E2Li4xZjJlZWQyOWExIDEwMDY0NA0KPiA+IC0t LQ0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlVHBtTWVhc3VyZUJvb3RMaWIvRHhlVHBtTWVh c3VyDQo+IGVCb290TGliLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVRw bU1lYXN1cmVCb290TGliL0R4ZVRwbU1lYXN1cg0KPiBlQm9vdExpYi5jDQo+ID4gQEAgLTY0OSw3 ICs2NDksNyBAQCBUY2dNZWFzdXJlUGVJbWFnZSAoDQo+ID4gICAgIGlmIChTdGF0dXMgPT0gRUZJ X09VVF9PRl9SRVNPVVJDRVMpIHsNCj4gPiAgICAgICAvLw0KPiA+ICAgICAgIC8vIE91dCBvZiBy ZXNvdXJjZSBoZXJlIG1lYW5zIHRoZSBpbWFnZSBpcw0KPiBoYXNoZWQgYW5kIGl0cyByZXN1bHQg aXMgZXh0ZW5kZWQgdG8gUENSLg0KPiA+IC0gICAgLy8gQnV0IHRoZSBldmVudCBsb2cgY2Fubid0 IGJlIHNhdmVkIHNpbmNlIGxvZw0KPiBhcmVhIGlzIGZ1bGwuDQo+ID4gKyAgICAvLyBCdXQgdGhl IGV2ZW50IGxvZyBjYW4ndCBiZSBzYXZlZCBzaW5jZSBsb2cNCj4gYXJlYSBpcyBmdWxsLg0KPiA+ ICAgICAgIC8vIEp1c3QgcmV0dXJuIEVGSV9TVUNDRVNTIGluIG9yZGVyIG5vdCB0bw0KPiBibG9j ayB0aGUgaW1hZ2UgbG9hZC4NCj4gPiAgICAgICAvLw0KPiA+ICAgICAgIFN0YXR1cyA9IEVGSV9T VUNDRVNTOw0KPiA+IEBAIC04MzgsNyArODM4LDcgQEAgRHhlVHBtTWVhc3VyZUJvb3RIYW5kbGVy ICgNCj4gPiAgICAgICB9DQo+ID4gICAgICAgLy8NCj4gPiAgICAgICAvLyBUaGUgUEUgaW1hZ2Ug ZnJvbSB1bm1lYXN1cmVkIEZpcm13YXJlIHZvbHVtZQ0KPiBuZWVkIGJlIG1lYXN1cmVkDQo+ID4g LSAgICAvLyBUaGUgUEUgaW1hZ2UgZnJvbSBtZWFzdXJlZCBGaXJtd2FyZSB2b2x1bWUNCj4gd2ls bCBiZSBtZWFyc3VyZWQgYWNjb3JkaW5nIHRvIHBvbGljeSBiZWxvdy4NCj4gPiArICAgIC8vIFRo ZSBQRSBpbWFnZSBmcm9tIG1lYXN1cmVkIEZpcm13YXJlIHZvbHVtZQ0KPiB3aWxsIGJlIG1lYXN1 cmVkIGFjY29yZGluZyB0byBwb2xpY3kgYmVsb3cuDQo+ID4gICAgICAgLy8gICBJZiBpdCBpcyBk cml2ZXIsIGRvIG5vdCBtZWFzdXJlDQo+ID4gICAgICAgLy8gICBJZiBpdCBpcyBhcHBsaWNhdGlv biwgc3RpbGwgbWVhc3VyZS4NCj4gPiAgICAgICAvLw0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1 cml0eVBrZy9MaWJyYXJ5L0R4ZVRwbU1lYXN1cmVtZW50TGliL0R4ZVRwbU1lYXN1cg0KPiBlbWVu dExpYi5jDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG1NZWFzdXJlbWVudExpYi9EeGVU cG1NZWFzdXINCj4gZW1lbnRMaWIuYw0KPiA+IGluZGV4IGFkZjAzYmIyMjYuLjA2MTEzNmVlNzgg MTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG1NZWFzdXJlbWVu dExpYi9EeGVUcG1NZWFzdXINCj4gZW1lbnRMaWIuYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtn L0xpYnJhcnkvRHhlVHBtTWVhc3VyZW1lbnRMaWIvRHhlVHBtTWVhc3VyDQo+IGVtZW50TGliLmMN Cj4gPiBAQCAtNTYsNyArNTYsNyBAQCBUcG0xMk1lYXN1cmVBbmRMb2dEYXRhICgNCj4gPiAgICAg VGNnRXZlbnQgPSBOVUxMOw0KPiA+DQo+ID4gICAgIC8vDQo+ID4gLSAgLy8gVHBtIGFjdGl2ZS9k ZWFjdGl2ZSBzdGF0ZSBpcyBjaGVja2VkIGluDQo+IEhhc2hMb2dFeHRlbmRFdmVudA0KPiA+ICsg IC8vIFRwbSBhY3RpdmF0aW9uIHN0YXRlIGlzIGNoZWNrZWQgaW4NCj4gSGFzaExvZ0V4dGVuZEV2 ZW50DQo+ID4gICAgIC8vDQo+ID4gICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wNCj4g KCZnRWZpVGNnUHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRCAqKikgJlRjZ1Byb3RvY29sKTsNCj4g PiAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKXsNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJp dHlQa2cvTGlicmFyeS9IYXNoSW5zdGFuY2VMaWJTaGExL0hhc2hJbnN0YW5jZUwNCj4gaWJTaGEx LmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTEvSGFzaEluc3Rh bmNlTA0KPiBpYlNoYTEuYw0KPiA+IGluZGV4IDljYTc4NGE4NzMuLjUyNTIxYjY0NDQgMTAwNjQ0 DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9IYXNoSW5zdGFuY2VMaWJTaGExL0hh c2hJbnN0YW5jZUwNCj4gaWJTaGExLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5 L0hhc2hJbnN0YW5jZUxpYlNoYTEvSGFzaEluc3RhbmNlTA0KPiBpYlNoYTEuYw0KPiA+IEBAIC0x MjgsNyArMTI4LDcgQEAgSEFTSF9JTlRFUkZBQ0UNCj4gbVNoYTFJbnRlcm5hbEhhc2hJbnN0YW5j ZSA9IHsNCj4gPiAgIC8qKg0KPiA+ICAgICBUaGUgZnVuY3Rpb24gcmVnaXN0ZXIgU0hBMSBpbnN0 YW5jZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICBTSEExIGluc3RhbmNlIGlz IHJlZ2lzdGVyZWQsDQo+IG9yIHN5c3RlbSBkb3NlIG5vdCBzdXJwcG9ydCByZWdpc3RyIFNIQTEg aW5zdGFuY2UNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgU0hBMSBpbnN0YW5jZSBpcyBy ZWdpc3RlcmVkLA0KPiBvciBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZWdpc3RlciBTSEExIGlu c3RhbmNlDQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAgIEVGSUFQSQ0KPiA+IGRp ZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni9I YXNoSW5zdGFuYw0KPiBlTGliU2hhMjU2LmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJ bnN0YW5jZUxpYlNoYTI1Ni9IYXNoSW5zdGFuYw0KPiBlTGliU2hhMjU2LmMNCj4gPiBpbmRleCAw MWZjZTNmZDJiLi43NjBlMjBiYWUwIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtnL0xp YnJhcnkvSGFzaEluc3RhbmNlTGliU2hhMjU2L0hhc2hJbnN0YW5jDQo+IGVMaWJTaGEyNTYuYw0K PiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hhMjU2L0hh c2hJbnN0YW5jDQo+IGVMaWJTaGEyNTYuYw0KPiA+IEBAIC0xMjgsNyArMTI4LDcgQEAgSEFTSF9J TlRFUkZBQ0UNCj4gbVNoYTI1NkludGVybmFsSGFzaEluc3RhbmNlID0gew0KPiA+ICAgLyoqDQo+ ID4gICAgIFRoZSBmdW5jdGlvbiByZWdpc3RlciBTSEEyNTYgaW5zdGFuY2UuDQo+ID4NCj4gPiAt ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgU0hBMjU2IGluc3RhbmNlIGlzDQo+IHJlZ2lzdGVyZWQs IG9yIHN5c3RlbSBkb3NlIG5vdCBzdXJwcG9ydCByZWdpc3RyIFNIQTI1Ng0KPiBpbnN0YW5jZQ0K PiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICBTSEEyNTYgaW5zdGFuY2UgaXMNCj4gcmVnaXN0 ZXJlZCwgb3Igc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVnaXN0ZXIgU0hBMjU2DQo+IGluc3Rh bmNlDQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAgIEVGSUFQSQ0KPiA+IGRpZmYg LS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTM4NC9IYXNo SW5zdGFuYw0KPiBlTGliU2hhMzg0LmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0 YW5jZUxpYlNoYTM4NC9IYXNoSW5zdGFuYw0KPiBlTGliU2hhMzg0LmMNCj4gPiBpbmRleCAyOWY2 YzhhODI4Li45OWUyNDE2YThlIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtnL0xpYnJh cnkvSGFzaEluc3RhbmNlTGliU2hhMzg0L0hhc2hJbnN0YW5jDQo+IGVMaWJTaGEzODQuYw0KPiA+ ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hhMzg0L0hhc2hJ bnN0YW5jDQo+IGVMaWJTaGEzODQuYw0KPiA+IEBAIC0xMjgsNyArMTI4LDcgQEAgSEFTSF9JTlRF UkZBQ0UNCj4gbVNoYTM4NEludGVybmFsSGFzaEluc3RhbmNlID0gew0KPiA+ICAgLyoqDQo+ID4g ICAgIFRoZSBmdW5jdGlvbiByZWdpc3RlciBTSEEzODQgaW5zdGFuY2UuDQo+ID4NCj4gPiAtICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgU0hBMzg0IGluc3RhbmNlIGlzDQo+IHJlZ2lzdGVyZWQsIG9y IHN5c3RlbSBkb3NlIG5vdCBzdXJwcG9ydCByZWdpc3RyIFNIQTM4NA0KPiBpbnN0YW5jZQ0KPiA+ ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICBTSEEzODQgaW5zdGFuY2UgaXMNCj4gcmVnaXN0ZXJl ZCwgb3Igc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVnaXN0ZXIgU0hBMzg0DQo+IGluc3RhbmNl DQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAgIEVGSUFQSQ0KPiA+IGRpZmYgLS1n aXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTUxMi9IYXNoSW5z dGFuYw0KPiBlTGliU2hhNTEyLmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5j ZUxpYlNoYTUxMi9IYXNoSW5zdGFuYw0KPiBlTGliU2hhNTEyLmMNCj4gPiBpbmRleCBkNTM4OWUx ZTIyLi5iMDQ3NzkxZTAyIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkv SGFzaEluc3RhbmNlTGliU2hhNTEyL0hhc2hJbnN0YW5jDQo+IGVMaWJTaGE1MTIuYw0KPiA+ICsr Kw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hhNTEyL0hhc2hJbnN0 YW5jDQo+IGVMaWJTaGE1MTIuYw0KPiA+IEBAIC0xMjcsNyArMTI3LDcgQEAgSEFTSF9JTlRFUkZB Q0UNCj4gbVNoYTUxMkludGVybmFsSGFzaEluc3RhbmNlID0gew0KPiA+ICAgLyoqDQo+ID4gICAg IFRoZSBmdW5jdGlvbiByZWdpc3RlciBTSEE1MTIgaW5zdGFuY2UuDQo+ID4NCj4gPiAtICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgU0hBNTEyIGluc3RhbmNlIGlzDQo+IHJlZ2lzdGVyZWQsIG9yIHN5 c3RlbSBkb3NlIG5vdCBzdXJwcG9ydCByZWdpc3RyIFNIQTUxMg0KPiBpbnN0YW5jZQ0KPiA+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICBTSEE1MTIgaW5zdGFuY2UgaXMNCj4gcmVnaXN0ZXJlZCwg b3Igc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVnaXN0ZXIgU0hBNTEyDQo+IGluc3RhbmNlDQo+ ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAgIEVGSUFQSQ0KPiA+IGRpZmYgLS1naXQN Cj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJUcG0yL0hhc2hMaWJUcG0yLmMNCj4gYi9T ZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJUcG0yL0hhc2hMaWJUcG0yLmMNCj4gPiBpbmRleCBm NjgxOTc5M2FiLi5iZDI0OTU4NTA1IDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL0xpYnJh cnkvSGFzaExpYlRwbTIvSGFzaExpYlRwbTIuYw0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL0xpYnJh cnkvSGFzaExpYlRwbTIvSGFzaExpYlRwbTIuYw0KPiA+IEBAIC0yOSw3ICsyOSw3IEBAIFRQTTJf SEFTSF9NQVNLIG1UcG0ySGFzaE1hc2tbXSA9IHsNCj4gPiAgIH07DQo+ID4NCj4gPiAgIC8qKg0K PiA+IC0gIFRoZSBmdW5jdGlvbiBnZXQgYWxnb3JpdGggZnJvbSBoYXNoIG1hc2sgaW5mby4NCj4g PiArICBUaGUgZnVuY3Rpb24gZ2V0IGFsZ29yaXRobSBmcm9tIGhhc2ggbWFzayBpbmZvLg0KPiA+ DQo+ID4gICAgIEByZXR1cm4gSGFzaCBhbGdvcml0aG0NCj4gPiAgICoqLw0KPiA+IGRpZmYgLS1n aXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1BlaVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9u RXh0cg0KPiBhY3RMaWIvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmMN Cj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1BlaVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0 cg0KPiBhY3RMaWIvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmMNCj4g PiBpbmRleCBkZjE2NzE1MTIwLi5hNzU5MTgzZDIwIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3Vy aXR5UGtnL0xpYnJhcnkvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyDQo+IGFjdExp Yi9QZWlSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIuYw0KPiA+ICsrKw0KPiBi L1NlY3VyaXR5UGtnL0xpYnJhcnkvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyDQo+ IGFjdExpYi9QZWlSc2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIuYw0KPiA+IEBA IC0yLDcgKzIsNyBAQA0KPiA+DQo+ID4gICAgIFRoaXMgbGlicmFyeSByZWdpc3RlcnMgUlNBIDIw NDggU0hBIDI1NiBndWlkZWQNCj4gc2VjdGlvbiBoYW5kbGVyDQo+ID4gICAgIHRvIHBhcnNlIFJT QSAyMDQ4IFNIQSAyNTYgZW5jYXBzdWxhdGlvbiBzZWN0aW9uDQo+IGFuZCBleHRyYWN0IHJhdyBk YXRhLg0KPiA+IC0gIEl0IHVzZXMgdGhlIEJhc2VDcnlweUxpYiBiYXNlZCBvbiBPcGVuU1NMIHRv DQo+IGF1dGhlbnRpY2F0ZSB0aGUgc2lnbmF0dXJlLg0KPiA+ICsgIEl0IHVzZXMgdGhlIEJhc2VD cnlwdExpYiBiYXNlZCBvbiBPcGVuU1NMIHRvDQo+IGF1dGhlbnRpY2F0ZSB0aGUgc2lnbmF0dXJl Lg0KPiA+DQo+ID4gICBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsDQo+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+IEBAIC0xOTcsNyArMTk3LDcgQEAgUnNhMjA0 OFNoYTI1Nkd1aWRlZFNlY3Rpb25IYW5kbGVyDQo+ICgNCj4gPiAgICAgfQ0KPiA+DQo+ID4gICAg IC8vDQo+ID4gLSAgLy8gQWxsIHBhdGhzIGZyb20gaGVyZSByZXR1cm4gRUZJX1NVQ0VTUyBhbmQN Cj4gcmVzdWx0IGlzIHJldHVybmVkIGluIEF1dGhlbnRpY2F0aW9uU3RhdHVzDQo+ID4gKyAgLy8g QWxsIHBhdGhzIGZyb20gaGVyZSByZXR1cm4gRUZJX1NVQ0NFU1MgYW5kDQo+IHJlc3VsdCBpcyBy ZXR1cm5lZCBpbiBBdXRoZW50aWNhdGlvblN0YXR1cw0KPiA+ICAgICAvLw0KPiA+ICAgICBTdGF0 dXMgPSBFRklfU1VDQ0VTUzsNCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9M aWJyYXJ5L1BlaVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvUGVpUnNh MjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmluZg0KPiBiL1NlY3VyaXR5UGtnL0xp YnJhcnkvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyDQo+IGFjdExpYi9QZWlSc2Ey MDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIuaW5mDQo+ID4gaW5kZXggM2ZkNWU1MjQz MC4uZGFjOTdhMDUwZSAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1Bl aVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvUGVpUnNhMjA0OFNoYTI1 Nkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmluZg0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xp YnJhcnkvUGVpUnNhMjA0OFNoYTI1Nkd1aWRlZFNlY3Rpb25FeHRyDQo+IGFjdExpYi9QZWlSc2Ey MDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIuaW5mDQo+ID4gQEAgLTMsNyArMyw3IEBA DQo+ID4gICAjICBFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYiBzZXJ2aWNlIHRvIHJlZ2lzdGVyIGFu DQo+IFJTQSAyMDQ4IFNIQSAyNTYgZ3VpZGVkIHNlY3Rpb24gaGFuZGxlcg0KPiA+ICAgIyAgdGhh dCBwYXJzZXMgUlNBIDIwNDggU0hBIDI1NiBlbmNhcHN1bGF0aW9uDQo+IHNlY3Rpb24gYW5kIGV4 dHJhY3RzIHJhdyBkYXRhLg0KPiA+ICAgIw0KPiA+IC0jICBJdCB1c2VzIHRoZSBCYXNlQ3J5cHlM aWIgYmFzZWQgb24gT3BlblNTTCB0bw0KPiBhdXRoZW50aWNhdGUgdGhlIHNpZ25hdHVyZS4NCj4g PiArIyAgSXQgdXNlcyB0aGUgQmFzZUNyeXB0TGliIGJhc2VkIG9uIE9wZW5TU0wgdG8NCj4gYXV0 aGVudGljYXRlIHRoZSBzaWduYXR1cmUuDQo+ID4gICAjDQo+ID4gICAjIENvcHlyaWdodCAoYykg MjAxMyAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gPiAgICMNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlS c2EyMDQ4U2hhMjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL1BlaVJzYTIwNDhTaGEyNTZH dWlkZWRTZWN0aW9uRXh0cmFjdExpYi51bmkNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1BlaVJz YTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvUGVpUnNhMjA0OFNoYTI1Nkd1 aWRlZFNlY3Rpb25FeHRyYWN0TGliLnVuaQ0KPiA+IGluZGV4IDQ4NGJkZTBhZmMuLmYwMjk0YTY4 ZjUgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlSc2EyMDQ4U2hh MjU2R3VpZGVkU2VjdGlvbkV4dHINCj4gYWN0TGliL1BlaVJzYTIwNDhTaGEyNTZHdWlkZWRTZWN0 aW9uRXh0cmFjdExpYi51bmkNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1BlaVJz YTIwNDhTaGEyNTZHdWlkZWRTZWN0aW9uRXh0cg0KPiBhY3RMaWIvUGVpUnNhMjA0OFNoYTI1Nkd1 aWRlZFNlY3Rpb25FeHRyYWN0TGliLnVuaQ0KPiA+IEBAIC00LDcgKzQsNyBAQA0KPiA+ICAgLy8g RXh0cmFjdEd1aWRlZFNlY3Rpb25MaWIgc2VydmljZSB0byByZWdpc3RlciBhbg0KPiBSU0EgMjA0 OCBTSEEgMjU2IGd1aWRlZCBzZWN0aW9uIGhhbmRsZXINCj4gPiAgIC8vIHRoYXQgcGFyc2VzIFJT QSAyMDQ4IFNIQSAyNTYgZW5jYXBzdWxhdGlvbg0KPiBzZWN0aW9uIGFuZCBleHRyYWN0cyByYXcg ZGF0YS4NCj4gPiAgIC8vDQo+ID4gLS8vIEl0IHVzZXMgdGhlIEJhc2VDcnlweUxpYiBiYXNlZCBv biBPcGVuU1NMIHRvDQo+IGF1dGhlbnRpY2F0ZSB0aGUgc2lnbmF0dXJlLg0KPiA+ICsvLyBJdCB1 c2VzIHRoZSBCYXNlQ3J5cHRMaWIgYmFzZWQgb24gT3BlblNTTCB0bw0KPiBhdXRoZW50aWNhdGUg dGhlIHNpZ25hdHVyZS4NCj4gPiAgIC8vDQo+ID4gICAvLyBDb3B5cmlnaHQgKGMpIDIwMTMgLSAy MDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4g ICAvLw0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RjZ1N0b3JhZ2VD b3JlTGliL1RjZ1N0b3JhZ2VDb3JlLg0KPiBjDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9UY2dT dG9yYWdlQ29yZUxpYi9UY2dTdG9yYWdlQ29yZS4NCj4gYw0KPiA+IGluZGV4IDFjMDcyZmFjMjMu LmY5YzU3YTEzZjIgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9UY2dT dG9yYWdlQ29yZUxpYi9UY2dTdG9yYWdlQ29yZS4NCj4gYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5 UGtnL0xpYnJhcnkvVGNnU3RvcmFnZUNvcmVMaWIvVGNnU3RvcmFnZUNvcmUuDQo+IGMNCj4gPiBA QCAtMTI0OSw3ICsxMjQ5LDcgQEAgVGNnR2V0VG9rZW5CeXRlU2VxdWVuY2UoDQo+ID4gICAgIEdl dCBuZXh0IHNwZWNpZnkgdmFsdWUuDQo+ID4NCj4gPiAgICAgQHBhcmFtICAgIFBhcnNlU3RydWN0 ICAgSW5wdXQgcGFyc2Ugc3RydWN0dXJlLg0KPiA+IC0gIEBwYXJhbSAgICBWYWx1ZSAgICAgICAg IFJldHVybiB2bGF1ZS4NCj4gPiArICBAcGFyYW0gICAgVmFsdWUgICAgICAgICBSZXR1cm4gdmFs dWUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgIHJldHVybiB0aGUgYWN0aW9uIHJlc3VsdC4NCj4g Pg0KPiA+IEBAIC0xMjgyLDcgKzEyODIsNyBAQCBUY2dHZXROZXh0VUlOVDgoDQo+ID4gICAgIEdl dCBuZXh0IHNwZWNpZnkgdmFsdWUuDQo+ID4NCj4gPiAgICAgQHBhcmFtICAgIFBhcnNlU3RydWN0 ICAgSW5wdXQgcGFyc2Ugc3RydWN0dXJlLg0KPiA+IC0gIEBwYXJhbSAgICBWYWx1ZSAgICAgICAg IFJldHVybiB2bGF1ZS4NCj4gPiArICBAcGFyYW0gICAgVmFsdWUgICAgICAgICBSZXR1cm4gdmFs dWUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgIHJldHVybiB0aGUgYWN0aW9uIHJlc3VsdC4NCj4g Pg0KPiA+IEBAIC0xMzE1LDcgKzEzMTUsNyBAQCBUY2dHZXROZXh0VUlOVDE2KA0KPiA+ICAgICBH ZXQgbmV4dCBzcGVjaWZ5IHZhbHVlLg0KPiA+DQo+ID4gICAgIEBwYXJhbSAgICBQYXJzZVN0cnVj dCAgIElucHV0IHBhcnNlIHN0cnVjdHVyZS4NCj4gPiAtICBAcGFyYW0gICAgVmFsdWUgICAgICAg ICBSZXR1cm4gdmxhdWUuDQo+ID4gKyAgQHBhcmFtICAgIFZhbHVlICAgICAgICAgUmV0dXJuIHZh bHVlLg0KPiA+DQo+ID4gICAgIEByZXR2YWwgICByZXR1cm4gdGhlIGFjdGlvbiByZXN1bHQuDQo+ ID4NCj4gPiBAQCAtMTM0OCw3ICsxMzQ4LDcgQEAgVGNnR2V0TmV4dFVJTlQzMigNCj4gPiAgICAg R2V0IG5leHQgc3BlY2lmeSB2YWx1ZS4NCj4gPg0KPiA+ICAgICBAcGFyYW0gICAgUGFyc2VTdHJ1 Y3QgICBJbnB1dCBwYXJzZSBzdHJ1Y3R1cmUuDQo+ID4gLSAgQHBhcmFtICAgIFZhbHVlICAgICAg ICAgUmV0dXJuIHZsYXVlLg0KPiA+ICsgIEBwYXJhbSAgICBWYWx1ZSAgICAgICAgIFJldHVybiB2 YWx1ZS4NCj4gPg0KPiA+ICAgICBAcmV0dmFsICAgcmV0dXJuIHRoZSBhY3Rpb24gcmVzdWx0Lg0K PiA+DQo+ID4gQEAgLTEzNzAsNyArMTM3MCw3IEBAIFRjZ0dldE5leHRVSU5UNjQoDQo+ID4gICAg IEdldCBuZXh0IHNwZWNpZnkgdmFsdWUuDQo+ID4NCj4gPiAgICAgQHBhcmFtICAgIFBhcnNlU3Ry dWN0ICAgSW5wdXQgcGFyc2Ugc3RydWN0dXJlLg0KPiA+IC0gIEBwYXJhbSAgICBWYWx1ZSAgICAg ICAgIFJldHVybiB2bGF1ZS4NCj4gPiArICBAcGFyYW0gICAgVmFsdWUgICAgICAgICBSZXR1cm4g dmFsdWUuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgIHJldHVybiB0aGUgYWN0aW9uIHJlc3VsdC4N Cj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RjZ1N0b3JhZ2VD b3JlTGliL1RjZ1N0b3JhZ2VVdGlsLg0KPiBjDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9UY2dT dG9yYWdlQ29yZUxpYi9UY2dTdG9yYWdlVXRpbC4NCj4gYw0KPiA+IGluZGV4IGQwNmFkNjJjOTEu LmI2ZDVjZjk4OTAgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9UY2dT dG9yYWdlQ29yZUxpYi9UY2dTdG9yYWdlVXRpbC4NCj4gYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5 UGtnL0xpYnJhcnkvVGNnU3RvcmFnZUNvcmVMaWIvVGNnU3RvcmFnZVV0aWwuDQo+IGMNCj4gPiBA QCAtODEwLDcgKzgxMCw3IEBAIFRjZ0ZpbmRGZWF0dXJlQ2FsbGJhY2soDQo+ID4gICAgIEdldCBG ZWF0dXJlIGNvZGUgZnJvbSB0aGUgaGVhZGVyLg0KPiA+DQo+ID4gICAgIEBwYXJhbSAgICAgRGlz Y292ZXJ5SGVhZGVyICAgIFRoZSBkaXNjb3ZlcnkNCj4gaGVhZGVyLg0KPiA+IC0gIEBwYXJhbSAg ICAgRmVhdHVyZUNvZGUgICAgICAgIHJldXRybiB0aGUgRmVhdHVyZQ0KPiBjb2RlLg0KPiA+ICsg IEBwYXJhbSAgICAgRmVhdHVyZUNvZGUgICAgICAgIHJldHVybiB0aGUgRmVhdHVyZQ0KPiBjb2Rl Lg0KPiA+ICAgICBAcGFyYW0gICAgIEZlYXR1cmVTaXplICAgICAgICByZXR1cm4gdGhlIEZlYXR1 cmUNCj4gc2l6ZS4NCj4gPg0KPiA+ICAgICBAcmV0dmFsICAgIHJldHVybiB0aGUgRmVhdHVyZSBj b2RlIGRhdGEuDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVGNnU3Rv cmFnZU9wYWxMaWIvVGNnU3RvcmFnZU9wYWxVDQo+IHRpbC5jDQo+IGIvU2VjdXJpdHlQa2cvTGli cmFyeS9UY2dTdG9yYWdlT3BhbExpYi9UY2dTdG9yYWdlT3BhbFUNCj4gdGlsLmMNCj4gPiBpbmRl eCBiYzUyY2NlYWJkLi5iNDkyN2EwODcyIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtn L0xpYnJhcnkvVGNnU3RvcmFnZU9wYWxMaWIvVGNnU3RvcmFnZU9wYWxVDQo+IHRpbC5jDQo+ID4g KysrDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9UY2dTdG9yYWdlT3BhbExpYi9UY2dTdG9yYWdl T3BhbFUNCj4gdGlsLmMNCj4gPiBAQCAtMTEsNyArMTEsNyBAQCBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItDQo+IENsYXVzZS1QYXRlbnQNCj4gPiAgICNpbmNsdWRlIDxMaWJyYXJ5L1Rj Z1N0b3JhZ2VPcGFsTGliLmg+DQo+ID4gICAjaW5jbHVkZSAiVGNnU3RvcmFnZU9wYWxMaWJJbnRl cm5hbC5oIg0KPiA+DQo+ID4gLSNkZWZpbmUgT1BBTF9NU0lEX0xFTkdIVCAgICAgICAgMTI4DQo+ ID4gKyNkZWZpbmUgT1BBTF9NU0lEX0xFTkdUSCAgICAgICAgMTI4DQo+ID4NCj4gPiAgIC8qKg0K PiA+ICAgICBDcmVhdGVzIGEgc2Vzc2lvbiB3aXRoIE9QQUxfVUlEX0FETUlOX1NQIGFzDQo+IE9Q QUxfQURNSU5fU1BfUFNJRF9BVVRIT1JJVFksIHRoZW4gcmV2ZXJ0cyBkZXZpY2UgdXNpbmcNCj4g QWRtaW4gU1AgUmV2ZXJ0IG1ldGhvZC4NCj4gPiBAQCAtMTA5NSw3ICsxMDk1LDcgQEAgR2V0UmV2 ZXJ0VGltZU91dCAoDQo+ID4gICAgIE9QQUxfRElTS19TVVBQT1JUX0FUVFJJQlVURSAgU3VwcG9y dGVkQXR0cmlidXRlczsNCj4gPiAgICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICBCYXNl Q29tSWQ7DQo+ID4gICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgTXNpZExlbmd0aDsN Cj4gPiAtICBVSU5UOA0KPiBNc2lkW09QQUxfTVNJRF9MRU5HSFRdOw0KPiA+ICsgIFVJTlQ4DQo+ IE1zaWRbT1BBTF9NU0lEX0xFTkdUSF07DQo+ID4gICAgIFVJTlQzMg0KPiBSZW1vdmFsTWVjaGFu aXNoTGlzdHNbUmVzZWFydmVkTWVjaGFuaXNtXTsNCj4gPiAgICAgVUlOVDgNCj4gQWN0aXZlRGF0 YVJlbW92YWxNZWNoYW5pc207DQo+ID4NCj4gPiBAQCAtMTEwNCw3ICsxMTA0LDcgQEAgR2V0UmV2 ZXJ0VGltZU91dCAoDQo+ID4gICAgICAgcmV0dXJuIDA7DQo+ID4gICAgIH0NCj4gPg0KPiA+IC0g IFRjZ1Jlc3VsdCA9IE9wYWxVdGlsR2V0TXNpZCAoU2Vzc2lvbiwgTXNpZCwNCj4gT1BBTF9NU0lE X0xFTkdIVCwgJk1zaWRMZW5ndGgpOw0KPiA+ICsgIFRjZ1Jlc3VsdCA9IE9wYWxVdGlsR2V0TXNp ZCAoU2Vzc2lvbiwgTXNpZCwNCj4gT1BBTF9NU0lEX0xFTkdUSCwgJk1zaWRMZW5ndGgpOw0KPiA+ ICAgICBpZiAoVGNnUmVzdWx0ICE9IFRjZ1Jlc3VsdFN1Y2Nlc3MpIHsNCj4gPiAgICAgICByZXR1 cm4gMDsNCj4gPiAgICAgfQ0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5 L1RwbTEyQ29tbWFuZExpYi9UcG0xMk52U3RvcmFnZS5jDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFy eS9UcG0xMkNvbW1hbmRMaWIvVHBtMTJOdlN0b3JhZ2UuYw0KPiA+IGluZGV4IDYwOTE4NmZiN2Mu LjgyOTVhMWQyNjcgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9UcG0x MkNvbW1hbmRMaWIvVHBtMTJOdlN0b3JhZ2UuYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xp YnJhcnkvVHBtMTJDb21tYW5kTGliL1RwbTEyTnZTdG9yYWdlLmMNCj4gPiBAQCAtMjE4LDcgKzIx OCw3IEBAIFRwbTEyTnZXcml0ZVZhbHVlICgNCj4gPiAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiA+ICAgICAgIHJldHVybiBTdGF0dXM7DQo+ID4gICAgIH0NCj4gPiAtICBERUJVRyAo KERFQlVHX0lORk8sICJUcG0xMk52V3JpdGVkVmFsdWUgLQ0KPiBSZXR1cm5Db2RlID0gJXhcbiIs IFN3YXBCeXRlczMyDQo+IChSZXNwb25zZS5yZXR1cm5Db2RlKSkpOw0KPiA+ICsgIERFQlVHICgo REVCVUdfSU5GTywgIlRwbTEyTnZXcml0ZVZhbHVlIC0NCj4gUmV0dXJuQ29kZSA9ICV4XG4iLCBT d2FwQnl0ZXMzMg0KPiAoUmVzcG9uc2UucmV0dXJuQ29kZSkpKTsNCj4gPiAgICAgc3dpdGNoIChT d2FwQnl0ZXMzMiAoUmVzcG9uc2UucmV0dXJuQ29kZSkpIHsNCj4gPiAgICAgY2FzZSBUUE1fU1VD Q0VTUzoNCj4gPiAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4gZGlmZiAtLWdpdA0KPiBh L1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMTJEZXZpY2VMaWJEVHBtL1RwbTEyVGlzLmMNCj4gYi9T ZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTEyRGV2aWNlTGliRFRwbS9UcG0xMlRpcy5jDQo+ID4gaW5k ZXggOWM1YjNkNTc0MC4uMWNhYTA3NjIwMyAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBr Zy9MaWJyYXJ5L1RwbTEyRGV2aWNlTGliRFRwbS9UcG0xMlRpcy5jDQo+ID4gKysrDQo+IGIvU2Vj dXJpdHlQa2cvTGlicmFyeS9UcG0xMkRldmljZUxpYkRUcG0vVHBtMTJUaXMuYw0KPiA+IEBAIC0x MjUsNyArMTI1LDcgQEAgVHBtMTJUaXNQY1dhaXRSZWdpc3RlckJpdHMgKA0KPiA+ICAgICBpbiB0 aGUgdGltZSBvZiBkZWZhdWx0IFRJU19USU1FT1VUX0QuDQo+ID4NCj4gPiAgICAgQHBhcmFtW2lu XSAgVGlzUmVnICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gVElTDQo+IHJlZ2lzdGVyLg0KPiA+ IC0gIEBwYXJhbVtvdXRdIEJ1cnN0Q291bnQgICAgICAgICAgICBQb2ludGVyIHRvIGENCj4gYnVm ZmVyIHRvIHN0b3JlIHRoZSBnb3QgQnVyc3RDb251dC4NCj4gPiArICBAcGFyYW1bb3V0XSBCdXJz dENvdW50ICAgICAgICAgICAgUG9pbnRlciB0byBhDQo+IGJ1ZmZlciB0byBzdG9yZSB0aGUgZ290 IEJ1cnN0Q291bnQuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAg ICAgIEdldCBCdXJzdENvdW50Lg0KPiA+ICAgICBAcmV0dmFsICAgICBFRklfSU5WQUxJRF9QQVJB TUVURVIgVGlzUmVnIGlzIE5VTEwNCj4gb3IgQnVyc3RDb3VudCBpcyBOVUxMLg0KPiA+IGRpZmYg LS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJDb21tYW5kTGliL1RwbTJDYXBhYmls aXR5LmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJDb21tYW5kTGliL1RwbTJDYXBhYmls aXR5LmMNCj4gPiBpbmRleCA0ZTlmMDMwZTc3Li44NWIxMWM3NzE1IDEwMDY0NA0KPiA+IC0tLQ0K PiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkNvbW1hbmRMaWIvVHBtMkNhcGFiaWxpdHkuYw0K PiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkNvbW1hbmRMaWIvVHBtMkNhcGFi aWxpdHkuYw0KPiA+IEBAIC01Myw3ICs1Myw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgICAg Tk9URToNCj4gPiAgICAgVG8gc2ltcGxpZnkgdGhpcyBmdW5jdGlvbiwgbGVhdmUgcmV0dXJuZWQN Cj4gQ2FwYWJpbGl0eURhdGEgZm9yIGNhbGxlciB0byB1bnBhY2sgc2luY2UgdGhlcmUgYXJlDQo+ ID4gICAgIG1hbnkgY2FwYWJpbGl0eSBjYXRlZ29yaWVzIGFuZCBvbmx5IGZldw0KPiBjYXRlZ29y aWVzIHdpbGwgYmUgdXNlZCBpbiBmaXJtd2FyZS4gSXQgbWVhbnMgdGhlDQo+IGNhbGxlcg0KPiA+ IC0gIG5lZWQgc3dhcCB0aGUgYnl0ZSBvcmRlciBmb3IgdGhlIGZlaWxkcyBpbg0KPiBDYXBhYmls aXR5RGF0YS4NCj4gPiArICBuZWVkIHN3YXAgdGhlIGJ5dGUgb3JkZXIgZm9yIHRoZSBmaWVsZHMg aW4NCj4gQ2FwYWJpbGl0eURhdGEuDQo+ID4NCj4gPiAgICAgQHBhcmFtW2luXSAgQ2FwYWJpbGl0 eSAgICAgICAgIEdyb3VwIHNlbGVjdGlvbjsNCj4gZGV0ZXJtaW5lcyB0aGUgZm9ybWF0IG9mIHRo ZSByZXNwb25zZS4NCj4gPiAgICAgQHBhcmFtW2luXSAgUHJvcGVydHkgICAgICAgICAgIEZ1cnRo ZXIgZGVmaW5pdGlvbg0KPiBvZiBpbmZvcm1hdGlvbi4NCj4gPiBAQCAtMTE5LDcgKzExOSw3IEBA IFRwbTJHZXRDYXBhYmlsaXR5ICgNCj4gPiAgICAgLy8NCj4gPiAgICAgKk1vcmVEYXRhID0gUmVj dkJ1ZmZlci5Nb3JlRGF0YTsNCj4gPiAgICAgLy8NCj4gPiAtICAvLyBEb2VzIG5vdCB1bnBhY2sg YWxsIHBvc3NpYWJsZSBwcm9wZXJ0eSBoZXJlLA0KPiB0aGUgY2FsbGVyIHNob3VsZCB1bnBhY2sg aXQgYW5kIG5vdGUgdGhlIGJ5dGUgb3JkZXIuDQo+ID4gKyAgLy8gRG9lcyBub3QgdW5wYWNrIGFs bCBwb3NzaWJsZSBwcm9wZXJ0eSBoZXJlLCB0aGUNCj4gY2FsbGVyIHNob3VsZCB1bnBhY2sgaXQg YW5kIG5vdGUgdGhlIGJ5dGUgb3JkZXIuDQo+ID4gICAgIC8vDQo+ID4gICAgIENvcHlNZW0gKENh cGFiaWxpdHlEYXRhLA0KPiAmUmVjdkJ1ZmZlci5DYXBhYmlsaXR5RGF0YSwgUmVjdkJ1ZmZlclNp emUgLSBzaXplb2YNCj4gKFRQTTJfUkVTUE9OU0VfSEVBREVSKSAtIHNpemVvZiAoVUlOVDgpKTsN Cj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJDb21tYW5k TGliL1RwbTJIaWVyYXJjaHkuYw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkNvbW1hbmRM aWIvVHBtMkhpZXJhcmNoeS5jDQo+ID4gaW5kZXggOGUwNTU5Njc2My4uZGMzNjk2M2MwZSAxMDA2 NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJDb21tYW5kTGliL1RwbTJI aWVyYXJjaHkuYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkNvbW1hbmRM aWIvVHBtMkhpZXJhcmNoeS5jDQo+ID4gQEAgLTQzNSw3ICs0MzUsNyBAQCBUcG0ySGllcmFyY2h5 Q2hhbmdlQXV0aCAoDQo+ID4gICAgIFdyaXRlVW5hbGlnbmVkMTYgKChVSU5UMTYgKilCdWZmZXIs DQo+IFN3YXBCeXRlczE2KE5ld0F1dGgtPnNpemUpKTsNCj4gPiAgICAgQnVmZmVyICs9IHNpemVv ZihVSU5UMTYpOw0KPiA+DQo+ID4gLSAgLy8gTmV3IEF1dGhvcml6ZWF0aW9uDQo+ID4gKyAgLy8g TmV3IEF1dGhvcml6YXRpb24NCj4gPiAgICAgQ29weU1lbShCdWZmZXIsIE5ld0F1dGgtPmJ1ZmZl ciwgTmV3QXV0aC0+c2l6ZSk7DQo+ID4gICAgIEJ1ZmZlciArPSBOZXdBdXRoLT5zaXplOw0KPiA+ DQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRU cG0vVHBtMkRldmljZUxpYkRUDQo+IHBtLmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJE ZXZpY2VMaWJEVHBtL1RwbTJEZXZpY2VMaWJEVA0KPiBwbS5jDQo+ID4gaW5kZXggNTNiOWJjNDJm Yi4uNDJlMWVjYmNlOSAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1Rw bTJEZXZpY2VMaWJEVHBtL1RwbTJEZXZpY2VMaWJEVA0KPiBwbS5jDQo+ID4gKysrDQo+IGIvU2Vj dXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yRGV2aWNlTGliRFQNCj4gcG0u Yw0KPiA+IEBAIC0xMzcsNyArMTM3LDcgQEAgVHBtMlJlZ2lzdGVyVHBtMkRldmljZUxpYiAoDQo+ ID4gICAvKioNCj4gPiAgICAgVGhlIGZ1bmN0aW9uIGNhY2hlcyBjdXJyZW50IGFjdGl2ZSBUUE0g aW50ZXJmYWNlDQo+IHR5cGUuDQo+ID4NCj4gPiAtICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgRFRQ TTIuMCBpbnN0YW5jZSBpcw0KPiByZWdpc3RlcmVkLCBvciBzeXN0ZW0gZG9zZSBub3Qgc3VycHBv cnQgcmVnaXN0ciBEVFBNMi4wDQo+IGluc3RhbmNlDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgIERUUE0yLjAgaW5zdGFuY2UgaXMNCj4gcmVnaXN0ZXJlZCwgb3Igc3lzdGVtIGRvZXMgbm90 IHN1cHBvcnQgcmVnaXN0ZXIgRFRQTTIuMA0KPiBpbnN0YW5jZQ0KPiA+ICAgKiovDQo+ID4gICBF RklfU1RBVFVTDQo+ID4gICBFRklBUEkNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cv TGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0ySW5zdGFuY2VMaWINCj4gRFRwbS5jDQo+IGIv U2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0ySW5zdGFuY2VMaWINCj4g RFRwbS5jDQo+ID4gaW5kZXggNDM1Y2JmNjI5OC4uNjkxZWFhNDBjMCAxMDA2NDQNCj4gPiAtLS0N Cj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJJbnN0YW5jZUxp Yg0KPiBEVHBtLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VM aWJEVHBtL1RwbTJJbnN0YW5jZUxpYg0KPiBEVHBtLmMNCj4gPiBAQCAtOTMsNyArOTMsNyBAQCBU UE0yX0RFVklDRV9JTlRFUkZBQ0UNCj4gbURUcG0ySW50ZXJuYWxUcG0yRGV2aWNlID0gew0KPiA+ ICAgLyoqDQo+ID4gICAgIFRoZSBmdW5jdGlvbiByZWdpc3RlciBEVFBNMi4wIGluc3RhbmNlIGFu ZCBjYWNoZXMNCj4gY3VycmVudCBhY3RpdmUgVFBNIGludGVyZmFjZSB0eXBlLg0KPiA+DQo+ID4g LSAgQHJldHZhbCBFRklfU1VDQ0VTUyAgIERUUE0yLjAgaW5zdGFuY2UgaXMNCj4gcmVnaXN0ZXJl ZCwgb3Igc3lzdGVtIGRvc2Ugbm90IHN1cnBwb3J0IHJlZ2lzdHIgRFRQTTIuMA0KPiBpbnN0YW5j ZQ0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICBEVFBNMi4wIGluc3RhbmNlIGlzDQo+IHJl Z2lzdGVyZWQsIG9yIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlZ2lzdGVyIERUUE0yLjANCj4g aW5zdGFuY2UNCj4gPiAgICoqLw0KPiA+ICAgRUZJX1NUQVRVUw0KPiA+ICAgRUZJQVBJDQo+ID4g ZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBt MlB0cC5jDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yUHRw LmMNCj4gPiBpbmRleCA4NTk2MTQzYjUzLi5iNjcxY2VmMDRlIDEwMDY0NA0KPiA+IC0tLSBhL1Nl Y3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMlB0cC5jDQo+ID4gKysrIGIv U2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yUHRwLmMNCj4gPiBAQCAt MzI3LDcgKzMyNyw3IEBAIFB0cENyYlRwbUNvbW1hbmQgKA0KPiA+DQo+ID4gICBHb1JlYWR5X0V4 aXQ6DQo+ID4gICAgIC8vDQo+ID4gLSAgLy8gR290byBSZWFkeSBTdGF0ZSBpZiBjb21tYW5kIGlz IGNvbXBsZXRlZA0KPiBzdWNjZXNmdWxseSBhbmQgVFBNIHN1cHBvcnQgSWRsZUJ5cGFzcw0KPiA+ ICsgIC8vIEdvdG8gUmVhZHkgU3RhdGUgaWYgY29tbWFuZCBpcyBjb21wbGV0ZWQNCj4gc3VjY2Vz c2Z1bGx5IGFuZCBUUE0gc3VwcG9ydCBJZGxlQnlwYXNzDQo+ID4gICAgIC8vIElmIG5vdCBzdXBw b3J0ZWQuIGZsb3cgZG93biB0byBHb0lkbGUNCj4gPiAgICAgLy8NCj4gPiAgICAgaWYgKFBjZEdl dDgoUGNkQ1JCSWRsZUJ5UGFzcykgPT0gMSkgew0KPiA+IEBAIC0zNDcsNyArMzQ3LDcgQEAgR29J ZGxlX0V4aXQ6DQo+ID4gICAgIE1taW9Xcml0ZTMyKChVSU5UTikmQ3JiUmVnLT5DcmJDb250cm9s UmVxdWVzdCwNCj4gUFRQX0NSQl9DT05UUk9MX0FSRUFfUkVRVUVTVF9HT19JRExFKTsNCj4gPg0K PiA+ICAgICAvLw0KPiA+IC0gIC8vIE9ubHkgZW5mb3JjZSBJZGxlIHN0YXRlIHRyYW5zaXRpb24g aWYgZXhlY3V0aW9uDQo+IGZhaWxzIHdoZW4gQ1JCSW5kbGVCeXBhc3M9PTENCj4gPiArICAvLyBP bmx5IGVuZm9yY2UgSWRsZSBzdGF0ZSB0cmFuc2l0aW9uIGlmIGV4ZWN1dGlvbg0KPiBmYWlscyB3 aGVuIENSQklkbGVCeXBhc3M9PTENCj4gPiAgICAgLy8gTGVhdmUgcmVndWxhciBJZGxlIGRlbGF5 IGF0IHRoZSBiZWdpbm5pbmcgb2YNCj4gbmV4dCBjb21tYW5kIGV4ZWN1dGlvbg0KPiA+ICAgICAv Lw0KPiA+ICAgICBpZiAoUGNkR2V0OChQY2RDUkJJZGxlQnlQYXNzKSA9PSAxKXsNCj4gPiBkaWZm IC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yVGlz LmMNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJUaXMuYw0K PiA+IGluZGV4IGQyY2U4ZDFmMDkuLmJiZWJjOTRiNGQgMTAwNjQ0DQo+ID4gLS0tIGEvU2VjdXJp dHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yVGlzLmMNCj4gPiArKysgYi9TZWN1 cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJUaXMuYw0KPiA+IEBAIC04MSw3 ICs4MSw3IEBAIFRpc1BjV2FpdFJlZ2lzdGVyQml0cyAoDQo+ID4gICAgIGluIHRoZSB0aW1lIG9m IGRlZmF1bHQgVElTX1RJTUVPVVRfRC4NCj4gPg0KPiA+ICAgICBAcGFyYW1baW5dICBUaXNSZWcg ICAgICAgICAgICAgICAgUG9pbnRlciB0byBUSVMNCj4gcmVnaXN0ZXIuDQo+ID4gLSAgQHBhcmFt W291dF0gQnVyc3RDb3VudCAgICAgICAgICAgIFBvaW50ZXIgdG8gYQ0KPiBidWZmZXIgdG8gc3Rv cmUgdGhlIGdvdCBCdXJzdENvbnV0Lg0KPiA+ICsgIEBwYXJhbVtvdXRdIEJ1cnN0Q291bnQgICAg ICAgICAgICBQb2ludGVyIHRvIGENCj4gYnVmZmVyIHRvIHN0b3JlIHRoZSBnb3QgQnVyc3RDb3Vu dC4NCj4gPg0KPiA+ICAgICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUyAgICAgICAgICAgR2V0IEJ1 cnN0Q291bnQuDQo+ID4gICAgIEByZXR2YWwgICAgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUaXNS ZWcgaXMgTlVMTA0KPiBvciBCdXJzdENvdW50IGlzIE5VTEwuDQo+ID4gQEAgLTMwMyw3ICszMDMs NyBAQCBUcG0yVGlzVHBtQ29tbWFuZCAoDQo+ID4gICAgICAgICAgICAgICAgICBUSVNfVElNRU9V VF9CDQo+ID4gICAgICAgICAgICAgICAgICApOw0KPiA+ICAgICAgIC8vDQo+ID4gLSAgICAvLyBE byBub3QgY2xlYXIgQ0FOQ0VMIGJpdCBoZXJlIGJpY296IFdyaXRlcyBvZg0KPiAwIHRvIHRoaXMg Yml0IGFyZSBpZ25vcmVkDQo+ID4gKyAgICAvLyBEbyBub3QgY2xlYXIgQ0FOQ0VMIGJpdCBoZXJl IGJlY2F1c2UgV3JpdGVzDQo+IG9mIDAgdG8gdGhpcyBiaXQgYXJlIGlnbm9yZWQNCj4gPiAgICAg ICAvLw0KPiA+ICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiAgICAgICAgIC8v DQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9Db21t b25IZWFkZXIuaA0KPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9Db21tb25IZWFk ZXIuaA0KPiA+IGluZGV4IDM4NmM5ZmFiNDQuLmFhMmU0MTJhMTEgMTAwNjQ0DQo+ID4gLS0tIGEv U2VjdXJpdHlQa2cvTGlicmFyeS9UcG1Db21tTGliL0NvbW1vbkhlYWRlci5oDQo+ID4gKysrIGIv U2VjdXJpdHlQa2cvTGlicmFyeS9UcG1Db21tTGliL0NvbW1vbkhlYWRlci5oDQo+ID4gQEAgLTEs NSArMSw1IEBADQo+ID4gICAvKiogQGZpbGUNCj4gPiAtICBUaGUgaW50ZW5hbCBoZWFkZXIgZmls ZSBmb3IgVHBtQ29tbUxpYi4NCj4gPiArICBUaGUgaW50ZXJuYWwgaGVhZGVyIGZpbGUgZm9yIFRw bUNvbW1MaWIuDQo+ID4NCj4gPiAgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTgsIEludGVsIENv cnBvcmF0aW9uLiBBbGwNCj4gcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiAgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gZGlmZiAtLWdpdCBhL1NlY3Vy aXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9UaXNQYy5jDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFy eS9UcG1Db21tTGliL1Rpc1BjLmMNCj4gPiBpbmRleCAxNjJlODgzZDIxLi40YTE0YTJiZjgxIDEw MDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9UaXNQYy5jDQo+ ID4gKysrIGIvU2VjdXJpdHlQa2cvTGlicmFyeS9UcG1Db21tTGliL1Rpc1BjLmMNCj4gPiBAQCAt NjQsNyArNjQsNyBAQCBUaXNQY1dhaXRSZWdpc3RlckJpdHMgKA0KPiA+ICAgICBpbiB0aGUgdGlt ZSBvZiBkZWZhdWx0IFRJU19USU1FT1VUX0QuDQo+ID4NCj4gPiAgICAgQHBhcmFtW2luXSAgVGlz UmVnICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gVElTDQo+IHJlZ2lzdGVyLg0KPiA+IC0gIEBw YXJhbVtvdXRdIEJ1cnN0Q291bnQgICAgICAgICAgICBQb2ludGVyIHRvIGENCj4gYnVmZmVyIHRv IHN0b3JlIHRoZSBnb3QgQnVyc3RDb251dC4NCj4gPiArICBAcGFyYW1bb3V0XSBCdXJzdENvdW50 ICAgICAgICAgICAgUG9pbnRlciB0byBhDQo+IGJ1ZmZlciB0byBzdG9yZSB0aGUgZ290IEJ1cnN0 Q291bnQuDQo+ID4NCj4gPiAgICAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAgICAgIEdl dCBCdXJzdENvdW50Lg0KPiA+ICAgICBAcmV0dmFsICAgICBFRklfSU5WQUxJRF9QQVJBTUVURVIg VGlzUmVnIGlzIE5VTEwNCj4gb3IgQnVyc3RDb3VudCBpcyBOVUxMLg0KPiA+IGRpZmYgLS1naXQN Cj4gYS9TZWN1cml0eVBrZy9Qa2NzN1ZlcmlmeS9Qa2NzN1ZlcmlmeUR4ZS9Qa2NzN1ZlcmlmeUR4 ZQ0KPiAuYw0KPiBiL1NlY3VyaXR5UGtnL1BrY3M3VmVyaWZ5L1BrY3M3VmVyaWZ5RHhlL1BrY3M3 VmVyaWZ5RHhlDQo+IC5jDQo+ID4gaW5kZXggYTExM2RmMzcxOC4uYTk2ODYyZjkzNyAxMDA2NDQN Cj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9Qa2NzN1ZlcmlmeS9Qa2NzN1ZlcmlmeUR4ZS9Qa2Nz N1ZlcmlmeUR4ZQ0KPiAuYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL1BrY3M3VmVyaWZ5L1Br Y3M3VmVyaWZ5RHhlL1BrY3M3VmVyaWZ5RHhlDQo+IC5jDQo+ID4gQEAgLTQ5NCw3ICs0OTQsNyBA QCBJc1ZhbGlkVGltZXN0YW1wICgNCj4gPiAgICAgICBUc2FDZXJ0U2l6ZSA9IFNpZ0xpc3QtPlNp Z25hdHVyZVNpemUgLSBzaXplb2YNCj4gKEVGSV9HVUlEKTsNCj4gPg0KPiA+ICAgICAgIC8vDQo+ ID4gLSAgICAvLyBFYWNoIFRTQSBDZXJ0aWZpY2F0ZSB3aWxsIG5vcm1hbGx5IGJlIGluIGENCj4g c2VwZXJhdGUgRUZJX1NJR05BVFVSRV9MSVNUDQo+ID4gKyAgICAvLyBFYWNoIFRTQSBDZXJ0aWZp Y2F0ZSB3aWxsIG5vcm1hbGx5IGJlIGluIGENCj4gc2VwYXJhdGUgRUZJX1NJR05BVFVSRV9MSVNU DQo+ID4gICAgICAgLy8gTGV2ZXJhZ2UgSW1hZ2VUaW1lc3RhbXBWZXJpZnkgaW50ZXJmYWNlIGZv cg0KPiBUaW1lc3RhbXAgY291bnRlclNpZ25hdHVyZSBWZXJpZmljYXRpb24NCj4gPiAgICAgICAv Lw0KPiA+ICAgICAgIGlmIChJbWFnZVRpbWVzdGFtcFZlcmlmeSAoU2lnbmVkRGF0YSwNCj4gU2ln bmVkRGF0YVNpemUsIFRzYUNlcnQsIFRzYUNlcnRTaXplLCAmU2lnbmluZ1RpbWUpKSB7DQo+ID4g QEAgLTUxNCw3ICs1MTQsNyBAQCBJc1ZhbGlkVGltZXN0YW1wICgNCj4gPiAgIC8qKg0KPiA+ICAg ICBDaGVjayB3aGV0aGVyIHRoZSBQS0NTNyBzaWduZWREYXRhIGlzIHJldm9rZWQgYnkNCj4gdmVy aWZ5aW5nIHdpdGggdGhlIHJldm9rZWQNCj4gPiAgICAgY2VydGlmaWNhdGVzIGRhdGFiYXNlLCBh bmQgaWYgdGhlIHNpZ25lZERhdGEgaXMNCj4gdGltZXN0YW1wZWQsIHRoZSBlbWJlZGRlZCB0aW1l c3RhbXANCj4gPiAtICBjb3V0ZXJTaWduYXR1cmUgd2lsbCBiZSBjaGVja2VkIHdpdGggdGhlIHN1 cHBsaWVkDQo+IHRpbWVzdGFtcCBkYXRhYmFzZS4NCj4gPiArICBjb3VudGVyU2lnbmF0dXJlIHdp bGwgYmUgY2hlY2tlZCB3aXRoIHRoZSBzdXBwbGllZA0KPiB0aW1lc3RhbXAgZGF0YWJhc2UuDQo+ ID4NCj4gPiAgICAgQHBhcmFtW2luXSAgU2lnbmVkRGF0YSAgICAgIFBvaW50ZXIgdG8gYnVmZmVy DQo+IGNvbnRhaW5pbmcgQVNOLjEgREVSLWVuY29kZWQgUEtDUzcNCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZS4NCj4gPiBAQCAtNjU3LDggKzY1Nyw4IEBAIFA3 Q2hlY2tSZXZvY2F0aW9uQnlIYXNoICgNCj4gPiAgICAgICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNT Ow0KPiA+ICAgICAgICAgaWYgKElzVmFsaWRUaW1lc3RhbXAgKFNpZ25lZERhdGEsDQo+IFNpZ25l ZERhdGFTaXplLCBUaW1lU3RhbXBEYiwgJlJldm9jYXRpb25UaW1lKSkgew0KPiA+ICAgICAgICAg ICAvLw0KPiA+IC0gICAgICAgIC8vIFVzZSBFRklfTk9UX1JFQURZIHRvIGlkZW50aWZ5IHRoZSBQ N0RhdGENCj4gaXMgbm90IHJlb3ZrZWQsIGJlY2F1c2UgdGhlIHRpbWVzdGFtcGluZw0KPiA+IC0g ICAgICAgIC8vIG9jY3VyZWQgcHJpb3IgdG8gdGhlIHRpbWUgb2YgY2VydGlmaWNhdGUNCj4gcmV2 b2NhdGlvbi4NCj4gPiArICAgICAgICAvLyBVc2UgRUZJX05PVF9SRUFEWSB0byBpZGVudGlmeSB0 aGUgUDdEYXRhDQo+IGlzIG5vdCByZXZva2VkLCBiZWNhdXNlIHRoZSB0aW1lc3RhbXBpbmcNCj4g PiArICAgICAgICAvLyBvY2N1cnJlZCBwcmlvciB0byB0aGUgdGltZSBvZiBjZXJ0aWZpY2F0ZQ0K PiByZXZvY2F0aW9uLg0KPiA+ICAgICAgICAgICAvLw0KPiA+ICAgICAgICAgICBTdGF0dXMgPSBF RklfTk9UX1JFQURZOw0KPiA+ICAgICAgICAgfQ0KPiA+IEBAIC02NzksNyArNjc5LDcgQEAgX0V4 aXQ6DQo+ID4gICAvKioNCj4gPiAgICAgQ2hlY2sgd2hldGhlciB0aGUgUEtDUzcgc2lnbmVkRGF0 YSBpcyByZXZva2VkIGJ5DQo+IHZlcmlmeWluZyB3aXRoIHRoZSByZXZva2VkDQo+ID4gICAgIGNl cnRpZmljYXRlcyBkYXRhYmFzZSwgYW5kIGlmIHRoZSBzaWduZWREYXRhIGlzDQo+IHRpbWVzdGFt cGVkLCB0aGUgZW1iZWRkZWQgdGltZXN0YW1wDQo+ID4gLSAgY291dGVyU2lnbmF0dXJlIHdpbGwg YmUgY2hlY2tlZCB3aXRoIHRoZSBzdXBwbGllZA0KPiB0aW1lc3RhbXAgZGF0YWJhc2UuDQo+ID4g KyAgY291bnRlclNpZ25hdHVyZSB3aWxsIGJlIGNoZWNrZWQgd2l0aCB0aGUgc3VwcGxpZWQNCj4g dGltZXN0YW1wIGRhdGFiYXNlLg0KPiA+DQo+ID4gICAgIEBwYXJhbVtpbl0gIFNpZ25lZERhdGEg ICAgICBQb2ludGVyIHRvIGJ1ZmZlcg0KPiBjb250YWluaW5nIEFTTi4xIERFUi1lbmNvZGVkIFBL Q1M3DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUuDQo+ID4g QEAgLTgyMiw4ICs4MjIsOCBAQCBQN0NoZWNrUmV2b2NhdGlvbiAoDQo+ID4gICAgICAgICBTdGF0 dXMgPSBFRklfU1VDQ0VTUzsNCj4gPiAgICAgICAgIGlmIChJc1ZhbGlkVGltZXN0YW1wIChTaWdu ZWREYXRhLA0KPiBTaWduZWREYXRhU2l6ZSwgVGltZVN0YW1wRGIsICZSZXZvY2F0aW9uVGltZSkp IHsNCj4gPiAgICAgICAgICAgLy8NCj4gPiAtICAgICAgICAvLyBVc2UgRUZJX05PVF9SRUFEWSB0 byBpZGVudGlmeSB0aGUgUDdEYXRhDQo+IGlzIG5vdCByZW92a2VkLCBiZWNhdXNlIHRoZSB0aW1l c3RhbXBpbmcNCj4gPiAtICAgICAgICAvLyBvY2N1cmVkIHByaW9yIHRvIHRoZSB0aW1lIG9mIGNl cnRpZmljYXRlDQo+IHJldm9jYXRpb24uDQo+ID4gKyAgICAgICAgLy8gVXNlIEVGSV9OT1RfUkVB RFkgdG8gaWRlbnRpZnkgdGhlIFA3RGF0YQ0KPiBpcyBub3QgcmV2b2tlZCwgYmVjYXVzZSB0aGUg dGltZXN0YW1waW5nDQo+ID4gKyAgICAgICAgLy8gb2NjdXJyZWQgcHJpb3IgdG8gdGhlIHRpbWUg b2YgY2VydGlmaWNhdGUNCj4gcmV2b2NhdGlvbi4NCj4gPiAgICAgICAgICAgLy8NCj4gPiAgICAg ICAgICAgU3RhdHVzID0gRUZJX05PVF9SRUFEWTsNCj4gPiAgICAgICAgIH0NCj4gPiBAQCAtMTI2 MSw3ICsxMjYxLDcgQEAgVmVyaWZ5QnVmZmVyICgNCj4gPiAgICAgICAgICAgICAgICAgICk7DQo+ ID4gICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiAgICAgICAgIC8vDQo+ID4g LSAgICAgIC8vIFRoZSBQS0NTNyBTaWduZWREYXRhIGlzIHJlb3ZrZWQNCj4gPiArICAgICAgLy8g VGhlIFBLQ1M3IFNpZ25lZERhdGEgaXMgcmV2b2tlZA0KPiA+ICAgICAgICAgLy8NCj4gPiAgICAg ICAgIFN0YXR1cyA9IEVGSV9TRUNVUklUWV9WSU9MQVRJT047DQo+ID4gICAgICAgICBnb3RvIF9F eGl0Ow0KPiA+IEBAIC0xNDEzLDcgKzE0MTMsNyBAQCBWZXJpZnlTaWduYXR1cmUgKA0KPiA+DQo+ ID4gICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiAgICAgICAgIC8vDQo+ID4g LSAgICAgIC8vIFRoZSBQS0NTNyBTaWduZWREYXRhIGlzIHJlb3ZrZWQNCj4gPiArICAgICAgLy8g VGhlIFBLQ1M3IFNpZ25lZERhdGEgaXMgcmV2b2tlZA0KPiA+ICAgICAgICAgLy8NCj4gPiAgICAg ICAgIHJldHVybiBFRklfU0VDVVJJVFlfVklPTEFUSU9OOw0KPiA+ICAgICAgIH0NCj4gPiBkaWZm IC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvUmFuZG9tTnVtYmVyR2VuZXJhdG9yL1JuZ0R4ZS9SZFJh bmQuYw0KPiBiL1NlY3VyaXR5UGtnL1JhbmRvbU51bWJlckdlbmVyYXRvci9SbmdEeGUvUmRSYW5k LmMNCj4gPiBpbmRleCA1OTc4OTUzM2IwLi5lN2RkNWFiMTgxIDEwMDY0NA0KPiA+IC0tLQ0KPiBh L1NlY3VyaXR5UGtnL1JhbmRvbU51bWJlckdlbmVyYXRvci9SbmdEeGUvUmRSYW5kLmMNCj4gPiAr KysNCj4gYi9TZWN1cml0eVBrZy9SYW5kb21OdW1iZXJHZW5lcmF0b3IvUm5nRHhlL1JkUmFuZC5j DQo+ID4gQEAgLTc5LDcgKzc5LDcgQEAgUmRSYW5kR2V0U2VlZDEyOCAoDQo+ID4gICAgIFVJTlQz MiAgICAgIEluZGV4MjsNCj4gPg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIENob3NlIGFuIGFyYml0 YXJ5IGtleSBhbmQgemVybyB0aGUNCj4gZmVlZF9mb3J3YXJkX3ZhbHVlIChGRlYpDQo+ID4gKyAg Ly8gQ2hvc2UgYW4gYXJiaXRyYXJ5IGtleSBhbmQgemVybyB0aGUNCj4gZmVlZF9mb3J3YXJkX3Zh bHVlIChGRlYpDQo+ID4gICAgIC8vDQo+ID4gICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IDE2 OyBJbmRleCsrKSB7DQo+ID4gICAgICAgS2V5W0luZGV4XSA9IChVSU5UOCkgSW5kZXg7DQo+ID4g ZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiBiL1NlY3VyaXR5UGtn L1NlY3VyaXR5UGtnLmRlYw0KPiA+IGluZGV4IDgyNDliZjAyMjAuLmNhYzM2Y2FmMGEgMTAwNjQ0 DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cuZGVjDQo+ID4gKysrIGIvU2VjdXJp dHlQa2cvU2VjdXJpdHlQa2cuZGVjDQo+ID4gQEAgLTY4LDExICs2OCwxMSBAQCBbTGlicmFyeUNs YXNzZXNdDQo+ID4gICAgICMNCj4gPg0KPiBUY2cyUGh5c2ljYWxQcmVzZW5jZUxpYnxJbmNsdWRl L0xpYnJhcnkvVGNnMlBoeXNpY2FsUHJlDQo+IHNlbmNlTGliLmgNCj4gPg0KPiA+IC0gICMjIEBs aWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGludGVyZmFjZXMgYWJvdXQgVENHDQo+IHN0b3JhZ2UgZ2Vu ZXJpYyBjb21tb25kLg0KPiA+ICsgICMjIEBsaWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGludGVyZmFj ZXMgYWJvdXQgVENHDQo+IHN0b3JhZ2UgZ2VuZXJpYyBjb21tYW5kLg0KPiA+ICAgICAjDQo+ID4N Cj4gVGNnU3RvcmFnZUNvcmVMaWJ8SW5jbHVkZS9MaWJyYXJ5L1RjZ1N0b3JhZ2VDb3JlTGliLmgN Cj4gPg0KPiA+IC0gICMjIEBsaWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGludGVyZmFjZXMgYWJvdXQg VENHDQo+IHN0b3JhZ2UgT3BhbCBnZW5lcmljIGNvbW1vbmQuDQo+ID4gKyAgIyMgQGxpYnJhcnlj bGFzcyAgUHJvdmlkZXMgaW50ZXJmYWNlcyBhYm91dCBUQ0cNCj4gc3RvcmFnZSBPcGFsIGdlbmVy aWMgY29tbWFuZC4NCj4gPiAgICAgIw0KPiA+DQo+IFRjZ1N0b3JhZ2VPcGFsTGlifEluY2x1ZGUv TGlicmFyeS9UY2dTdG9yYWdlT3BhbExpYi5oDQo+ID4NCj4gPiBAQCAtMzY5LDkgKzM2OSw5IEBA IFtQY2RzRml4ZWRBdEJ1aWxkLA0KPiBQY2RzUGF0Y2hhYmxlSW5Nb2R1bGUsIFBjZHNEeW5hbWlj LCBQY2RzRHluYW1pY0V4XQ0KPiA+ICAgICAjIEBQcm9tcHQgVFBNIGRldmljZSBhZGRyZXNzLg0K PiA+DQo+IGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbUJhc2VBZGRyZXNzfDB4 RkVENDANCj4gMDAwfFVJTlQ2NHwweDAwMDEwMDEyDQo+ID4NCj4gPiAtICAjIyBUaGlzIFBDUiBt ZWFucyB0aGUgT0VNIGNvbmZpZ3VyYXRlZCBudW1iZXIgb2YNCj4gUENSIGJhbmtzLg0KPiA+ICsg ICMjIFRoaXMgUENSIG1lYW5zIHRoZSBPRU0gY29uZmlndXJlZCBudW1iZXIgb2YgUENSDQo+IGJh bmtzLg0KPiA+ICAgICAjICAwIG1lYW5zIGR5bmFtaWMgZ2V0IGZyb20gc3VwcG9ydGVkIEhBU0gN Cj4gYWxnb3JpdGhtDQo+ID4gLSAgIyBAUHJvbXB0IE9FTSBjb25maWd1cmF0ZWQgbnVtYmVyIG9m IFBDUiBiYW5rcy4NCj4gPiArICAjIEBQcm9tcHQgT0VNIGNvbmZpZ3VyZWQgbnVtYmVyIG9mIFBD UiBiYW5rcy4NCj4gPg0KPiBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RUY2cyTnVt YmVyT2ZQQ1JCYW5rc3wwDQo+IHgwfFVJTlQzMnwweDAwMDEwMDE1DQo+ID4NCj4gPiAgICAgIyMg UHJvdmlkZXMgb25lIG9yIG1vcmUgU0hBIDI1NiBIYXNoZXMgb2YgdGhlIFJTQQ0KPiAyMDQ4IHB1 YmxpYyBrZXlzIHVzZWQgdG8gdmVyaWZ5IFJlY292ZXJ5IGFuZCBDYXBzdWxlDQo+IFVwZGF0ZSBp bWFnZXMNCj4gPiBAQCAtNDY5LDcgKzQ2OSw3IEBAIFtQY2RzRHluYW1pYywgUGNkc0R5bmFtaWNF eF0NCj4gPg0KPiBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RUY2cySGFzaEFsZ29y aXRobUJpdG1hDQo+IHB8MHhGRkZGRkZGRnxVSU5UMzJ8MHgwMDAxMDAxNg0KPiA+DQo+ID4gICAg ICMjIFRoaXMgUENEIGluZGljYXRlcyBjdXJyZW50IGFjdGl2ZSBUUE0NCj4gaW50ZXJmYWNlIHR5 cGUuDQo+ID4gLSAgIyAgQWNjb2Rpbmd0IHRvIFRDRyBQVFAgc3BlYyAxLjMsIHRoZXJlIGFyZSAz DQo+IHR5cGVzIGRlZmluZWQgaW4gVFBNMl9QVFBfSU5URVJGQUNFX1RZUEUuPEJSPg0KPiA+ICsg ICMgIEFjY29yZGluZyB0byBUQ0cgUFRQIHNwZWMgMS4zLCB0aGVyZSBhcmUgMw0KPiB0eXBlcyBk ZWZpbmVkIGluIFRQTTJfUFRQX0lOVEVSRkFDRV9UWVBFLjxCUj4NCj4gPiAgICAgIyAgMHgwMCAt IEZJRk8gaW50ZXJmYWNlIGFzIGRlZmluZWQgaW4gVElTIDEuMyBpcw0KPiBhY3RpdmUuPEJSPg0K PiA+ICAgICAjICAweDAxIC0gRklGTyBpbnRlcmZhY2UgYXMgZGVmaW5lZCBpbiBQVFAgZm9yDQo+ IFRQTSAyLjAgaXMgYWN0aXZlLjxCUj4NCj4gPiAgICAgIyAgMHgwMiAtIENSQiBpbnRlcmZhY2Ug aXMgYWN0aXZlLjxCUj4NCj4gPiBAQCAtNDc4LDE0ICs0NzgsMTQgQEAgW1BjZHNEeW5hbWljLCBQ Y2RzRHluYW1pY0V4XQ0KPiA+ICAgICAjIEBQcm9tcHQgY3VycmVudCBhY3RpdmUgVFBNIGludGVy ZmFjZSB0eXBlLg0KPiA+DQo+IGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEFjdGl2 ZVRwbUludGVyZmFjZVR5cGUNCj4gfDB4RkZ8VUlOVDh8MHgwMDAxMDAxRQ0KPiA+DQo+ID4gLSAg IyMgVGhpcyBQQ0QgcmVjb3JkcyBJZGxlQnlhc3Mgc3RhdHVzIHN1cHBvcnRlZCBieQ0KPiBjdXJy ZW50IGFjdGl2ZSBUUE0gaW50ZXJmYWNlLg0KPiA+IC0gICMgIEFjY29kaW5ndCB0byBUQ0cgUFRQ IHNwZWMgMS4zLCBUUE0gd2l0aCBDUkINCj4gaW50ZXJmYWNlIGNhbiBza2lwIGlkbGUgc3RhdGUg YW5kDQo+ID4gLSAgIyAgZGlyZXRjbHkgbW92ZSB0byBDbWRSZWFkeSBzdGF0ZS4gPEJSPg0KPiA+ ICsgICMjIFRoaXMgUENEIHJlY29yZHMgSWRsZUJ5cGFzcyBzdGF0dXMgc3VwcG9ydGVkIGJ5DQo+ IGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRlcmZhY2UuDQo+ID4gKyAgIyAgQWNjb3JkaW5nIHRvIFRD RyBQVFAgc3BlYyAxLjMsIFRQTSB3aXRoIENSQg0KPiBpbnRlcmZhY2UgY2FuIHNraXAgaWRsZSBz dGF0ZSBhbmQNCj4gPiArICAjICBkaXJlY3RseSBtb3ZlIHRvIENtZFJlYWR5IHN0YXRlLiA8QlI+ DQo+ID4gICAgICMgIDB4MDAgLSBEbyBub3Qgc3VwcG9ydCBJZGxlQnlQYXNzLjxCUj4NCj4gPiAg ICAgIyAgMHgwMSAtIFN1cHBvcnQgSWRsZUJ5UGFzcy48QlI+DQo+ID4gICAgICMgIDB4RkYgLSBJ ZGxlQnlQYXNzIFN0YXRlIGlzIG5vdCBzeW5jZWQgd2l0aCBUUE0NCj4gaGFyZHdhcmUuPEJSPg0K PiA+ICAgICAjDQo+ID4gLSAgIyBAUHJvbXB0IElkbGVCeWFzcyBzdGF0dXMgc3VwcG9ydGVkIGJ5 IGN1cnJlbnQNCj4gYWN0aXZlIFRQTSBpbnRlcmZhY2UuDQo+ID4gKyAgIyBAUHJvbXB0IElkbGVC eXBhc3Mgc3RhdHVzIHN1cHBvcnRlZCBieSBjdXJyZW50DQo+IGFjdGl2ZSBUUE0gaW50ZXJmYWNl Lg0KPiA+DQo+IGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENSQklkbGVCeVBhc3N8 MHhGRnxVSU4NCj4gVDh8MHgwMDAxMDAxRg0KPiA+DQo+ID4gICAgICMjIFRoaXMgUENEIHJlY29y ZHMgTEFNTCBmaWVsZCBpbiBUUE0yIEFDUEkNCj4gdGFibGUuDQo+ID4gZGlmZiAtLWdpdCBhL1Nl Y3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRzYw0KPiBiL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRz Yw0KPiA+IGluZGV4IGFlZjJhYzNhMjAuLjlhMjU0MDg3YTMgMTAwNjQ0DQo+ID4gLS0tIGEvU2Vj dXJpdHlQa2cvU2VjdXJpdHlQa2cuZHNjDQo+ID4gKysrIGIvU2VjdXJpdHlQa2cvU2VjdXJpdHlQ a2cuZHNjDQo+ID4gQEAgLTcwLDcgKzcwLDcgQEAgW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ICAgW0xp YnJhcnlDbGFzc2VzLkFSTV0NCj4gPiAgICAgIw0KPiA+ICAgICAjIEl0IGlzIG5vdCBwb3NzaWJs ZSB0byBwcmV2ZW50IHRoZSBBUk0gY29tcGlsZXINCj4gZm9yIGdlbmVyaWMgaW50cmluc2ljIGZ1 bmN0aW9ucy4NCj4gPiAtICAjIFRoaXMgbGlicmFyeSBwcm92aWRlcyB0aGUgaW5zdHJpbnNpYyBm dW5jdGlvbnMNCj4gZ2VuZXJhdGUgYnkgYSBnaXZlbiBjb21waWxlci4NCj4gPiArICAjIFRoaXMg bGlicmFyeSBwcm92aWRlcyB0aGUgaW50cmluc2ljIGZ1bmN0aW9ucw0KPiBnZW5lcmF0ZSBieSBh IGdpdmVuIGNvbXBpbGVyLg0KPiA+ICAgICAjIEFuZCBOVUxMIG1lYW4gbGluayB0aGlzIGxpYnJh cnkgaW50byBhbGwgQVJNDQo+IGltYWdlcy4NCj4gPiAgICAgIw0KPiA+DQo+IE5VTEx8QXJtUGtn L0xpYnJhcnkvQ29tcGlsZXJJbnRyaW5zaWNzTGliL0NvbXBpbGVySW50cmkNCj4gbnNpY3NMaWIu aW5mDQo+ID4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLnVuaQ0KPiBiL1Nl Y3VyaXR5UGtnL1NlY3VyaXR5UGtnLnVuaQ0KPiA+IGluZGV4IGVlNzliOThmMGQuLjY4NTg3MzA0 ZDcgMTAwNjQ0DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pDQo+ID4gKysr IGIvU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pDQo+ID4gQEAgLTgwLDcgKzgwLDcgQEANCj4g Pg0KPiA+ICAgI3N0cmluZw0KPiBTVFJfZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWRfUGNk VHBtUGh5c2ljYWxQcmVzZW5jDQo+IGVfUFJPTVBUICAjbGFuZ3VhZ2UgZW4tVVMgIlBoeXNpY2Fs IHByZXNlbmNlIG9mIHRoZQ0KPiBwbGF0Zm9ybSBvcGVyYXRvci4iDQo+ID4NCj4gPiAtI3N0cmlu Zw0KPiBTVFJfZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWRfUGNkVHBtUGh5c2ljYWxQcmVz ZW5jDQo+IGVfSEVMUCAgI2xhbmd1YWdlIGVuLVVTICJJbmRpY2F0ZXMgdGhlIHByZXNlbmNlIG9y DQo+IGFic2VuY2Ugb2YgdGhlIHBsYXRmb3JtIG9wZXJhdG9yIGR1cmluZyBmaXJtd2FyZQ0KPiBi b290aW5nLiBJZiBwbGF0Zm9ybSBvcGVyYXRvciBpcyBub3QgcGh5c2ljYWwgcHJlc25lY2UNCj4g ZHVyaW5nIGJvb3QuIFRQTSB3aWxsIGJlIGxvY2tlZCBhbmQgdGhlIFRQTSBjb21tYW5kcw0KPiB0 aGF0IHJlcXVpcmVkIG9wZXJhdG9yIHBoeXNpY2FsIHByZXNlbmNlIGNhbiBub3QNCj4gcnVuLjxC Uj48QlI+XG4iDQo+ID4gKyNzdHJpbmcNCj4gU1RSX2dFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VH dWlkX1BjZFRwbVBoeXNpY2FsUHJlc2VuYw0KPiBlX0hFTFAgICNsYW5ndWFnZSBlbi1VUyAiSW5k aWNhdGVzIHRoZSBwcmVzZW5jZSBvcg0KPiBhYnNlbmNlIG9mIHRoZSBwbGF0Zm9ybSBvcGVyYXRv ciBkdXJpbmcgZmlybXdhcmUNCj4gYm9vdGluZy4gSWYgcGxhdGZvcm0gb3BlcmF0b3IgaXMgbm90 IHBoeXNpY2FsIHByZXNlbmNlDQo+IGR1cmluZyBib290LiBUUE0gd2lsbCBiZSBsb2NrZWQgYW5k IHRoZSBUUE0gY29tbWFuZHMNCj4gdGhhdCByZXF1aXJlZCBvcGVyYXRvciBwaHlzaWNhbCBwcmVz ZW5jZSBjYW4gbm90DQo+IHJ1bi48QlI+PEJSPlxuIg0KPiA+DQo+ICJUUlVFICAtIFRoZSBwbGF0 Zm9ybSBvcGVyYXRvciBpcyBwaHlzaWNhbGx5DQo+IHByZXNlbnQuPEJSPlxuIg0KPiA+DQo+ICJG QUxTRSAtIFRoZSBwbGF0Zm9ybSBvcGVyYXRvciBpcyBub3QgcGh5c2ljYWxseQ0KPiBwcmVzZW50 LjxCUj4iDQo+ID4NCj4gPiBAQCAtMTc2LDkgKzE3Niw5IEBADQo+ID4gICAjc3RyaW5nDQo+IFNU Ul9nRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZF9QY2RSc2EyMDQ4U2hhMjU2UHVibGkNCj4g Y0tleUJ1ZmZlcl9IRUxQICAjbGFuZ3VhZ2UgZW4tVVMgIlByb3ZpZGVzIG9uZSBvciBtb3JlDQo+ IFNIQSAyNTYgSGFzaGVzIG9mIHRoZSBSU0EgMjA0OCBwdWJsaWMga2V5cyB1c2VkIHRvDQo+IHZl cmlmeSBSZWNvdmVyeSBhbmQgQ2Fwc3VsZSBVcGRhdGUgaW1hZ2VzXG4iDQo+ID4NCj4gIldBUk5J Tkc6IFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRyZWF0ZWQgYXMgdGVzdCBrZXkuDQo+IFBsZWFzZSBk byBub3QgdXNlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIHByb2R1Y3Rpb24uIg0KPiA+DQo+ID4gLSNz dHJpbmcNCj4gU1RSX2dFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkX1BjZFRjZzJOdW1iZXJP ZlBDUkJhbg0KPiBrc19QUk9NUFQgICNsYW5ndWFnZSBlbi1VUyAiT0VNIGNvbmZpZ3VyYXRlZCBu dW1iZXIgb2YNCj4gUENSIGJhbmtzLiINCj4gPiArI3N0cmluZw0KPiBTVFJfZ0VmaVNlY3VyaXR5 UGtnVG9rZW5TcGFjZUd1aWRfUGNkVGNnMk51bWJlck9mUENSQmFuDQo+IGtzX1BST01QVCAgI2xh bmd1YWdlIGVuLVVTICJPRU0gY29uZmlndXJlZCBudW1iZXIgb2YNCj4gUENSIGJhbmtzLiINCj4g Pg0KPiA+IC0jc3RyaW5nDQo+IFNUUl9nRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZF9QY2RU Y2cyTnVtYmVyT2ZQQ1JCYW4NCj4ga3NfSEVMUCAgI2xhbmd1YWdlIGVuLVVTICJUaGlzIFBDUiBt ZWFucyB0aGUgT0VNDQo+IGNvbmZpZ3VyYXRlZCBudW1iZXIgb2YgUENSIGJhbmtzLlxuIg0KPiA+ ICsjc3RyaW5nDQo+IFNUUl9nRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZF9QY2RUY2cyTnVt YmVyT2ZQQ1JCYW4NCj4ga3NfSEVMUCAgI2xhbmd1YWdlIGVuLVVTICJUaGlzIFBDUiBtZWFucyB0 aGUgT0VNDQo+IGNvbmZpZ3VyZWQgbnVtYmVyIG9mIFBDUiBiYW5rcy5cbiINCj4gPg0KPiAiMCBt ZWFucyBkeW5hbWljIGdldCBmcm9tIHN1cHBvcnRlZCBIQVNIIGFsZ29yaXRobSINCj4gPg0KPiA+ ICAgI3N0cmluZw0KPiBTVFJfZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWRfUGNkVGNnMkhh c2hBbGdvcml0aG1CDQo+IGl0bWFwX1BST01QVCAgI2xhbmd1YWdlIGVuLVVTICJIYXNoIEFsZ29y aXRobSBiaXRtYXAuIg0KPiA+IEBAIC0yNTYsMTAgKzI1NiwxMCBAQA0KPiA+DQo+ICIweDAyIC0g Q1JCIGludGVyZmFjZSBpcyBhY3RpdmUuPEJSPlxuIg0KPiA+DQo+ICIweEZGIC0gQ29udGFpbnMg bm8gY3VycmVudCBhY3RpdmUgVFBNIGludGVyZmFjZQ0KPiB0eXBlPEJSPiINCj4gPg0KPiA+IC0j c3RyaW5nDQo+IFNUUl9nRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZF9QY2RDUkJJZGxlQnlQ YXNzX1BST00NCj4gUFQgICNsYW5ndWFnZSBlbi1VUyAiSWRsZUJ5YXNzIHN0YXR1cyBzdXBwb3J0 ZWQgYnkNCj4gY3VycmVudCBhY3RpdmUgVFBNIGludGVyZmFjZS4iDQo+ID4gKyNzdHJpbmcNCj4g U1RSX2dFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkX1BjZENSQklkbGVCeVBhc3NfUFJPTQ0K PiBQVCAgI2xhbmd1YWdlIGVuLVVTICJJZGxlQnlwYXNzIHN0YXR1cyBzdXBwb3J0ZWQgYnkNCj4g Y3VycmVudCBhY3RpdmUgVFBNIGludGVyZmFjZS4iDQo+ID4NCj4gPiAtI3N0cmluZw0KPiBTVFJf Z0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWRfUGNkQ1JCSWRsZUJ5UGFzc19IRUxQDQo+ICNs YW5ndWFnZSBlbi1VUyAiVGhpcyBQQ0QgcmVjb3JkcyBJZGxlQnlhc3Mgc3RhdHVzDQo+IHN1cHBv cnRlZCBieSBjdXJyZW50IGFjdGl2ZSBUUE0gaW50ZXJmYWNlLlxuIg0KPiA+IC0NCj4gIkFjY29k aW5ndCB0byBUQ0cgUFRQIHNwZWMgMS4zLCBUUE0gd2l0aCBDUkIgaW50ZXJmYWNlDQo+IGNhbiBz a2lwIGlkbGUgc3RhdGUgYW5kIGRpcmV0Y2x5IG1vdmUgdG8gQ21kUmVhZHkNCj4gc3RhdGUuIDxC Uj4iDQo+ID4gKyNzdHJpbmcNCj4gU1RSX2dFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkX1Bj ZENSQklkbGVCeVBhc3NfSEVMUA0KPiAjbGFuZ3VhZ2UgZW4tVVMgIlRoaXMgUENEIHJlY29yZHMg SWRsZUJ5cGFzcyBzdGF0dXMNCj4gc3VwcG9ydGVkIGJ5IGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRl cmZhY2UuXG4iDQo+ID4gKw0KPiAiQWNjb3JkaW5nIHRvIFRDRyBQVFAgc3BlYyAxLjMsIFRQTSB3 aXRoIENSQiBpbnRlcmZhY2UNCj4gY2FuIHNraXAgaWRsZSBzdGF0ZSBhbmQgZGlyZWN0bHkgbW92 ZSB0byBDbWRSZWFkeQ0KPiBzdGF0ZS4gPEJSPiINCj4gPg0KPiAiMHgwMSAtIERvIG5vdCBzdXBw b3J0IElkbGVCeVBhc3MuPEJSPlxuIg0KPiA+DQo+ICIweDAyIC0gU3VwcG9ydCBJZGxlQnlQYXNz LjxCUj5cbiINCj4gPg0KPiAiMHhGRiAtIElkbGVCeVBhc3MgU3RhdGUgaXMgbm90IHN5bmNlZCB3 aXRoIFRQTQ0KPiBoYXJkd2FyZS48QlI+Ig0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBr Zy9UY2cvTWVtb3J5T3ZlcndyaXRlQ29udHJvbC9UY2dNb3IuYw0KPiBiL1NlY3VyaXR5UGtnL1Rj Zy9NZW1vcnlPdmVyd3JpdGVDb250cm9sL1RjZ01vci5jDQo+ID4gaW5kZXggZmUyYmQ3NDlmYi4u OTdlODE5ZWRmNCAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3Zlcndy aXRlQ29udHJvbC9UY2dNb3IuYw0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9NZW1vcnlPdmVy d3JpdGVDb250cm9sL1RjZ01vci5jDQo+ID4gQEAgLTEsNyArMSw3IEBADQo+ID4gICAvKiogQGZp bGUNCj4gPiAgICAgVENHIE1PUiAoTWVtb3J5IE92ZXJ3cml0ZSBSZXF1ZXN0KSBDb250cm9sDQo+ IERyaXZlci4NCj4gPg0KPiA+IC0gIFRoaXMgZHJpdmVyIGluaXRpbGl6ZQ0KPiBNZW1vcnlPdmVy d3JpdGVSZXF1ZXN0Q29udHJvbCB2YXJpYWJsZS4gSXQNCj4gPiArICBUaGlzIGRyaXZlciBpbml0 aWFsaXplDQo+IE1lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sIHZhcmlhYmxlLiBJdA0KPiA+ ICAgICB3aWxsIGNsZWFyIE1PUl9DTEVBUl9NRU1PUllfQklUIGJpdCBpZiBpdCBpcyBzZXQuDQo+ IEl0IHdpbGwgYWxzbyBkbyBUUGVyIFJlc2V0IGZvcg0KPiA+ICAgICB0aG9zZSBlbmNyeXB0ZWQg ZHJpdmVzIHRocm91Z2gNCj4gRUZJX1NUT1JBR0VfU0VDVVJJVFlfQ09NTUFORF9QUk9UT0NPTCBh dCBFbmRPZkR4ZS4NCj4gPg0KPiA+IEBAIC0yOTgsNyArMjk4LDcgQEAgVFBlclJlc2V0QXRFbmRP ZkR4ZSAoDQo+ID4gICAgIEBwYXJhbVtpbl0gSW1hZ2VIYW5kbGUgIEltYWdlIGhhbmRsZSBvZiB0 aGlzDQo+IGRyaXZlci4NCj4gPiAgICAgQHBhcmFtW2luXSBTeXN0ZW1UYWJsZSAgQSBQb2ludGVy IHRvIHRoZSBFRkkNCj4gU3lzdGVtIFRhYmxlLg0KPiA+DQo+ID4gLSAgQHJldHZhbCBFRklfU1VD RUVTUw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MNCj4gPiAgICAgQHJldHVybiBPdGhlcnMg ICAgICAgICAgU29tZSBlcnJvciBvY2N1cnMuDQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMN Cj4gPiBAQCAtMzQxLDcgKzM0MSw3IEBAIE1vckRyaXZlckVudHJ5UG9pbnQgKA0KPiA+ICAgICAg IC8vDQo+ID4gICAgICAgLy8gQ3JlYXRlIGEgUmVhZHkgVG8gQm9vdCBFdmVudCBhbmQgQ2xlYXIg dGhlDQo+IE1vckNvbnRyb2wgYml0IGluIHRoZSBjYWxsIGJhY2sgZnVuY3Rpb24uDQo+ID4gICAg ICAgLy8NCj4gPiAtICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlRjZ01vcjogQ3JlYXRlIFJlYWR5 VG9Cb290DQo+IEV2ZW50IGZvciBNb3JDb250cm9sIEJpdCBjbGVhbm5pbmchXG4iKSk7DQo+ID4g KyAgICBERUJVRyAoKERFQlVHX0lORk8sICJUY2dNb3I6IENyZWF0ZSBSZWFkeVRvQm9vdA0KPiBF dmVudCBmb3IgTW9yQ29udHJvbCBCaXQgY2xlYW5pbmchXG4iKSk7DQo+IA0KPiBIbW0gdGhpcyBp cyBub3QgYSBzcGVsbGluZyBjaGFuZ2UuLi4NCg0KVGhlIG9yaWdpbmFsIGZpeCBmcm9tIFNlYW4g aXMgZm9yIGNsZWFubmluZyAtPiBjbGVhbmluZy4NClBhdGNoQ2hlY2sucHkgZ2V0cyBhbiBlcnJv ciBvbiB0aGlzIHBhdGNoIGJlY2F1c2UgRUZJX0RfRVJST1INCnNob3VsZCBub3QgYmUgdXNlZCwg c28gSSBhZGRlZCB0aGUgY2hhbmdlIHRvIHVzZSBERUJVR19JTkZPDQp0byBwYXNzIFBhdGNoQ2hl Y2sucHkuDQoNCj4gDQo+ID4gICAgICAgU3RhdHVzID0gRWZpQ3JlYXRlRXZlbnRSZWFkeVRvQm9v dEV4ICgNCj4gPiAgICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCj4gPiAgICAgICAgICAg ICAgICAgIE9uUmVhZHlUb0Jvb3QsDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1Rj Zy9NZW1vcnlPdmVyd3JpdGVDb250cm9sL1RjZ01vci5pbmYNCj4gYi9TZWN1cml0eVBrZy9UY2cv TWVtb3J5T3ZlcndyaXRlQ29udHJvbC9UY2dNb3IuaW5mDQo+ID4gaW5kZXggZGU2MjQ0MjNhNi4u OTA2YmFmYTA0YSAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3Zl cndyaXRlQ29udHJvbC9UY2dNb3IuaW5mDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQa2cvVGNnL01l bW9yeU92ZXJ3cml0ZUNvbnRyb2wvVGNnTW9yLmluZg0KPiA+IEBAIC0xLDUgKzEsNSBAQA0KPiA+ ICAgIyMgQGZpbGUNCj4gPiAtIyAgSW5pdGlsaXplcyBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29u dHJvbCB2YXJpYWJsZQ0KPiA+ICsjICBpbml0aWFsaXplcyBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0 Q29udHJvbA0KPiB2YXJpYWJsZQ0KPiA+ICAgIw0KPiA+ICAgIyAgVGhpcyBtb2R1bGUgd2lsbCBj bGVhciBNT1JfQ0xFQVJfTUVNT1JZX0JJVCBiaXQNCj4gaWYgaXQgaXMgc2V0LiBJdCB3aWxsIGFs c28gZG8NCj4gPiAgICMgIFRQZXIgUmVzZXQgZm9yIHRob3NlIGVuY3J5cHRlZCBkcml2ZXMgdGhy b3VnaA0KPiBFRklfU1RPUkFHRV9TRUNVUklUWV9DT01NQU5EX1BST1RPQ09MDQo+ID4gZGlmZiAt LWdpdA0KPiBhL1NlY3VyaXR5UGtnL1RjZy9NZW1vcnlPdmVyd3JpdGVDb250cm9sL1RjZ01vci51 bmkNCj4gYi9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlQ29udHJvbC9UY2dNb3IudW5p DQo+ID4gaW5kZXggMGM0OTllN2QxYS4uNmExZGYxMDM5NCAxMDA2NDQNCj4gPiAtLS0NCj4gYS9T ZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlQ29udHJvbC9UY2dNb3IudW5pDQo+ID4gKysr DQo+IGIvU2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3cml0ZUNvbnRyb2wvVGNnTW9yLnVuaQ0K PiA+IEBAIC0xLDUgKzEsNSBAQA0KPiA+ICAgLy8gLyoqIEBmaWxlDQo+ID4gLS8vIEluaXRpbGl6 ZXMgTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2wgdmFyaWFibGUNCj4gPiArLy8gaW5pdGlh bGl6ZXMgTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2wNCj4gdmFyaWFibGUNCj4gPiAgIC8v DQo+ID4gICAvLyBUaGlzIG1vZHVsZSB3aWxsIGNsZWFyIE1PUl9DTEVBUl9NRU1PUllfQklUIGJp dA0KPiBpZiBpdCBpcyBzZXQuDQo+ID4gICAvLw0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0 eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2xMb2NrL1RjZw0KPiBNb3JMb2Nr LmMNCj4gYi9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2xMb2Nr L1RjZw0KPiBNb3JMb2NrLmMNCj4gPiBpbmRleCBlZjQ5ZmQ5MjhlLi5hYTIzMGVlZWZhIDEwMDY0 NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5UGtnL1RjZy9NZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29u dHJvbExvY2svVGNnDQo+IE1vckxvY2suYw0KPiA+ICsrKw0KPiBiL1NlY3VyaXR5UGtnL1RjZy9N ZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29udHJvbExvY2svVGNnDQo+IE1vckxvY2suYw0KPiA+IEBA IC0xLDcgKzEsNyBAQA0KPiA+ICAgLyoqIEBmaWxlDQo+ID4gICAgIFRDRyBNT1IgKE1lbW9yeSBP dmVyd3JpdGUgUmVxdWVzdCkgTG9jayBDb250cm9sDQo+IERyaXZlci4NCj4gPg0KPiA+IC0gIFRo aXMgZHJpdmVyIGluaXRpbGl6ZQ0KPiBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29udHJvbExvY2sg dmFyaWFibGUuDQo+ID4gKyAgVGhpcyBkcml2ZXIgaW5pdGlhbGl6ZXMNCj4gTWVtb3J5T3Zlcndy aXRlUmVxdWVzdENvbnRyb2xMb2NrIHZhcmlhYmxlLg0KPiA+ICAgICBUaGlzIG1vZHVsZSB3aWxs IGFkZCBWYXJpYWJsZSBIb29rIGFuZCBhbGxvdw0KPiBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29u dHJvbExvY2sgdmFyaWFibGUgc2V0IG9ubHkNCj4gb25jZS4NCj4gPg0KPiA+ICAgQ29weXJpZ2h0 IChjKSAyMDE1IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiA+IEBAIC0xNjcsNyArMTY3LDcgQEAgU2V0VmFyaWFibGVDaGVja0hhbmRsZXJN b3IgKA0KPiA+ICAgICBAcGFyYW1baW5dIEltYWdlSGFuZGxlICBJbWFnZSBoYW5kbGUgb2YgdGhp cw0KPiBkcml2ZXIuDQo+ID4gICAgIEBwYXJhbVtpbl0gU3lzdGVtVGFibGUgIEEgUG9pbnRlciB0 byB0aGUgRUZJDQo+IFN5c3RlbSBUYWJsZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0VF U1MNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTDQo+ID4gICAgIEByZXR1cm4gT3RoZXJzICAg ICAgICAgIFNvbWUgZXJyb3Igb2NjdXJzLg0KPiA+ICAgKiovDQo+ID4gICBFRklfU1RBVFVTDQo+ ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1RjZy9NZW1vcnlPdmVyd3JpdGVSZXF1ZXN0 Q29udHJvbExvY2svVGNnDQo+IE1vckxvY2suaA0KPiBiL1NlY3VyaXR5UGtnL1RjZy9NZW1vcnlP dmVyd3JpdGVSZXF1ZXN0Q29udHJvbExvY2svVGNnDQo+IE1vckxvY2suaA0KPiA+IGluZGV4IDJl ZjE5NGY5MmYuLjVhNjY1OGMxNTggMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvVGNn L01lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jay9UY2cNCj4gTW9yTG9jay5oDQo+ID4g KysrDQo+IGIvU2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9j ay9UY2cNCj4gTW9yTG9jay5oDQo+ID4gQEAgLTExOSw3ICsxMTksNyBAQCBTZXRWYXJpYWJsZUNo ZWNrSGFuZGxlck1vciAoDQo+ID4gICAgIEBwYXJhbVtpbl0gSW1hZ2VIYW5kbGUgIEltYWdlIGhh bmRsZSBvZiB0aGlzDQo+IGRyaXZlci4NCj4gPiAgICAgQHBhcmFtW2luXSBTeXN0ZW1UYWJsZSAg QSBQb2ludGVyIHRvIHRoZSBFRkkNCj4gU3lzdGVtIFRhYmxlLg0KPiA+DQo+ID4gLSAgQHJldHZh bCBFRklfU1VDRUVTUw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MNCj4gPiAgICAgQHJldHVy biBPdGhlcnMgICAgICAgICAgU29tZSBlcnJvciBvY2N1cnMuDQo+ID4gICAqKi8NCj4gPiAgIEVG SV9TVEFUVVMNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3 cml0ZVJlcXVlc3RDb250cm9sTG9jay9UY2cNCj4gTW9yTG9jay51bmkNCj4gYi9TZWN1cml0eVBr Zy9UY2cvTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2xMb2NrL1RjZw0KPiBNb3JMb2NrLnVu aQ0KPiA+IGluZGV4IDYzOWEzZWRjYmEuLjcxMWIzN2Q4NjYgMTAwNjQ0DQo+ID4gLS0tDQo+IGEv U2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jay9UY2cNCj4g TW9yTG9jay51bmkNCj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRl UmVxdWVzdENvbnRyb2xMb2NrL1RjZw0KPiBNb3JMb2NrLnVuaQ0KPiA+IEBAIC0xLDUgKzEsNSBA QA0KPiA+ICAgLy8gLyoqIEBmaWxlDQo+ID4gLS8vIEluaXRpbGl6ZXMgTWVtb3J5T3ZlcndyaXRl UmVxdWVzdENvbnRyb2xMb2NrDQo+IHZhcmlhYmxlDQo+ID4gKy8vIEluaXRpYWxpemVzIE1lbW9y eU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jaw0KPiB2YXJpYWJsZQ0KPiA+ICAgLy8NCj4gPiAg IC8vIFRoaXMgbW9kdWxlIHdpbGwgYWRkIFZhcmlhYmxlIEhvb2sgYW5kIGFsbG93DQo+IE1lbW9y eU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jayB2YXJpYWJsZSBzZXQgb25seQ0KPiBvbmNlLg0K PiA+ICAgLy8NCj4gPiBAQCAtMTAsNyArMTAsNyBAQA0KPiA+ICAgLy8gKiovDQo+ID4NCj4gPg0K PiA+IC0jc3RyaW5nIFNUUl9NT0RVTEVfQUJTVFJBQ1QgICAgICAgICAgICAgI2xhbmd1YWdlDQo+ IGVuLVVTICJJbml0aWxpemVzIE1lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jaw0KPiB2 YXJpYWJsZSINCj4gPiArI3N0cmluZyBTVFJfTU9EVUxFX0FCU1RSQUNUICAgICAgICAgICAgICNs YW5ndWFnZQ0KPiBlbi1VUyAiSW5pdGlhbGl6ZXMgTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRy b2xMb2NrDQo+IHZhcmlhYmxlIg0KPiA+DQo+ID4gICAjc3RyaW5nIFNUUl9NT0RVTEVfREVTQ1JJ UFRJT04gICAgICAgICAgI2xhbmd1YWdlDQo+IGVuLVVTICJUaGlzIG1vZHVsZSB3aWxsIGFkZCBW YXJpYWJsZSBIb29rIGFuZCBhbGxvdw0KPiBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29udHJvbExv Y2sgdmFyaWFibGUgc2V0IG9ubHkNCj4gb25jZS4iDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+IGEv U2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jay9UY2cNCj4g TW9yTG9ja1NtbS5pbmYNCj4gYi9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlUmVxdWVz dENvbnRyb2xMb2NrL1RjZw0KPiBNb3JMb2NrU21tLmluZg0KPiA+IGluZGV4IDY3ZDZiZGEyNjku Ljg3NWMxZTVmM2EgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvVGNnL01lbW9yeU92 ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jay9UY2cNCj4gTW9yTG9ja1NtbS5pbmYNCj4gPiArKysN Cj4gYi9TZWN1cml0eVBrZy9UY2cvTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRyb2xMb2NrL1Rj Zw0KPiBNb3JMb2NrU21tLmluZg0KPiA+IEBAIC0xLDUgKzEsNSBAQA0KPiA+ICAgIyMgQGZpbGUN Cj4gPiAtIyAgSW5pdGlsaXplcyBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29udHJvbExvY2sNCj4g dmFyaWFibGUNCj4gPiArIyAgSW5pdGlhbGl6ZXMgTWVtb3J5T3ZlcndyaXRlUmVxdWVzdENvbnRy b2xMb2NrDQo+IHZhcmlhYmxlDQo+ID4gICAjDQo+ID4gICAjICBUaGlzIG1vZHVsZSB3aWxsIGFk ZCBWYXJpYWJsZSBIb29rIGFuZCBhbGxvdw0KPiBNZW1vcnlPdmVyd3JpdGVSZXF1ZXN0Q29udHJv bExvY2sgdmFyaWFibGUgc2V0IG9ubHkNCj4gb25jZS4NCj4gPiAgICMNCj4gPiBkaWZmIC0tZ2l0 DQo+IGEvU2VjdXJpdHlQa2cvVGNnL09wYWwvT3BhbFBhc3N3b3JkL09wYWxEcml2ZXIuYw0KPiBi L1NlY3VyaXR5UGtnL1RjZy9PcGFsL09wYWxQYXNzd29yZC9PcGFsRHJpdmVyLmMNCj4gPiBpbmRl eCBlMTRmYTMyMzU0Li43NzkwNWQyYmY5IDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL1Rj Zy9PcGFsL09wYWxQYXNzd29yZC9PcGFsRHJpdmVyLmMNCj4gPiArKysgYi9TZWN1cml0eVBrZy9U Y2cvT3BhbC9PcGFsUGFzc3dvcmQvT3BhbERyaXZlci5jDQo+ID4gQEAgLTI1ODMsNyArMjU4Myw3 IEBAIE9wYWxEcml2ZXJHZXREcml2ZXJEZXZpY2VOYW1lKA0KPiA+ICAgICBAcGFyYW0gSW1hZ2VI YW5kbGUgICAgIEltYWdlIEhhbmRsZSB0aGlzIGRyaXZlci4NCj4gPiAgICAgQHBhcmFtIFN5c3Rl bVRhYmxlICAgICBQb2ludGVyIHRvIFN5c3RlbVRhYmxlLg0KPiA+DQo+ID4gLSAgQHJldHZhbCBF RklfU1VDRVNTICAgICBUaGlzIGZ1bmN0aW9uIGFsd2F5cw0KPiBjb21wbGV0ZSBzdWNjZXNzZnVs bHkuDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgVGhpcyBmdW5jdGlvbiBhbHdheXMN Cj4gY29tcGxldGUgc3VjY2Vzc2Z1bGx5Lg0KPiA+ICAgKiovDQo+ID4gICBFRklfU1RBVFVTDQo+ ID4gICBFRklBUEkNCj4gPiBAQCAtMjYzNyw3ICsyNjM3LDcgQEAgRWZpRHJpdmVyRW50cnlQb2lu dCgNCj4gPiAgICAgVGVzdHMgdG8gc2VlIGlmIHRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgZ2l2ZW4N Cj4gY29udHJvbGxlci4NCj4gPg0KPiA+ICAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0byBzZWUg aWYgdGhlIGNvbnRyb2xsZXINCj4gY29udGFpbnMgYW4gaW5zdGFuY2Ugb2YgdGhlDQo+ID4gLSAg RUZJX1NUT1JBR0VfU0VDVVJJVFlfQ09NTUFORF9QUk9UT0NPTCBhbmQgdGhlDQo+IEVGSV9CTE9D S19JT19QUk9UT0NMDQo+ID4gKyAgRUZJX1NUT1JBR0VfU0VDVVJJVFlfQ09NTUFORF9QUk9UT0NP TCBhbmQgdGhlDQo+IEVGSV9CTE9DS19JT19QUk9UT0NPTA0KPiA+ICAgICBhbmQgcmV0dXJucyBF RklfU1VDQ0VTUyBpZiBpdCBkb2VzLg0KPiA+DQo+ID4gICAgIEBwYXJhbVtpbl0gIFRoaXMgICAg ICAgICAgICAgICAgICBBIHBvaW50ZXIgdG8NCj4gdGhlIEVGSV9EUklWRVJfQklORElOR19QUk9U T0NPTCBpbnN0YW5jZS4NCj4gPiBAQCAtMjc0MSw3ICsyNzQxLDcgQEAgT3BhbEVmaURyaXZlckJp bmRpbmdTdXBwb3J0ZWQoDQo+ID4gICAgICJjb250cm9sbGVyIiwgd2hpY2ggaXMgYSBjaGlsZCBI YW5kbGUsIGNvbnRhaW5zDQo+IHRoZSBFRl9TVE9SQUdFX1NFQ1VSSVRZX0NPTU1BTkQgcHJvdG9j b2xzLg0KPiA+ICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgY29tcGxldGUgdGhlIG90aGVyIG5lY2Vz c2FyeQ0KPiBjaGVja3MsIHN1Y2ggYXMgdmVyaWZ5aW5nIHRoZSBkZXZpY2Ugc3VwcG9ydHMNCj4g PiAgICAgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBPcGFsLiAgVXBvbiB2ZXJpZmljYXRpb24sDQo+ IGl0IHdpbGwgYWRkIHRoZSBkZXZpY2UgdG8gdGhlDQo+ID4gLSAgT3BhbCBISUkgbGlzdCBpbiBv cmRlciB0byBleHBvc2UgT3BhbCBtYW5hZ21lZW50DQo+IG9wdGlvbnMuDQo+ID4gKyAgT3BhbCBI SUkgbGlzdCBpbiBvcmRlciB0byBleHBvc2UgT3BhbCBtYW5hZ2VtZW50DQo+IG9wdGlvbnMuDQo+ ID4NCj4gPiAgICAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0 bw0KPiB0aGUgRUZJX0RSSVZFUl9CSU5ESU5HX1BST1RPQ09MIGluc3RhbmNlLg0KPiA+ICAgICBA cGFyYW1baW5dICBDb250cm9sbGVySGFuZGxlICAgICAgVGhlIEhhbmRsZSBvZg0KPiB0aGUgY29u dHJvbGxlciB0byBzdGFydC4gVGhpcyBIYW5kbGUNCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJp dHlQa2cvVGNnL09wYWwvT3BhbFBhc3N3b3JkL09wYWxEcml2ZXIuaA0KPiBiL1NlY3VyaXR5UGtn L1RjZy9PcGFsL09wYWxQYXNzd29yZC9PcGFsRHJpdmVyLmgNCj4gPiBpbmRleCBiZWVhYmIxYzBh Li5jMTlkNzgyMThlIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL1RjZy9PcGFsL09wYWxQ YXNzd29yZC9PcGFsRHJpdmVyLmgNCj4gPiArKysgYi9TZWN1cml0eVBrZy9UY2cvT3BhbC9PcGFs UGFzc3dvcmQvT3BhbERyaXZlci5oDQo+ID4gQEAgLTYxLDcgKzYxLDcgQEAgZXh0ZXJuIEVGSV9E UklWRVJfQklORElOR19QUk9UT0NPTA0KPiBnT3BhbERyaXZlckJpbmRpbmc7DQo+ID4gICBleHRl cm4gRUZJX0NPTVBPTkVOVF9OQU1FX1BST1RPQ09MDQo+IGdPcGFsQ29tcG9uZW50TmFtZTsNCj4g PiAgIGV4dGVybiBFRklfQ09NUE9ORU5UX05BTUUyX1BST1RPQ09MDQo+IGdPcGFsQ29tcG9uZW50 TmFtZTI7DQo+ID4NCj4gPiAtI2RlZmluZSBPUEFMX01TSURfTEVOR0hUICAgICAgICAxMjgNCj4g PiArI2RlZmluZSBPUEFMX01TSURfTEVOR1RIICAgICAgICAxMjgNCj4gPg0KPiA+ICAgI2RlZmlu ZSBNQVhfUEFTU1dPUkRfVFJZX0NPVU5UICA1DQo+ID4NCj4gPiBAQCAtMTMxLDcgKzEzMSw3IEBA IHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgIC8vDQo+ID4gICB0eXBlZGVmIHN0cnVjdCB7DQo+ID4g ICAgIFVJTlQzMg0KPiBNc2lkTGVuZ3RoOyAgICAgICAgICAgICAvLyBCeXRlIGxlbmd0aCBvZiBN U0lEIFBpbiBmb3INCj4gZGV2aWNlDQo+ID4gLSAgVUlOVDgNCj4gTXNpZFtPUEFMX01TSURfTEVO R0hUXTsgLy8gTVNJRCBQaW4gZm9yIGRldmljZQ0KPiA+ICsgIFVJTlQ4DQo+IE1zaWRbT1BBTF9N U0lEX0xFTkdUSF07IC8vIE1TSUQgUGluIGZvciBkZXZpY2UNCj4gPiAgICAgRUZJX1NUT1JBR0Vf U0VDVVJJVFlfQ09NTUFORF9QUk9UT0NPTA0KPiAqU3NjcDsNCj4gPiAgICAgVUlOVDMyDQo+IE1l ZGlhSWQ7ICAgICAgICAgICAgICAgIC8vIE1lZGlhSWQgaXMgdXNlZCBieSBTc2MNCj4gUHJvdG9j b2wuDQo+ID4gICAgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTA0KPiAqT3BhbERldmljZVBhdGg7 DQo+ID4gQEAgLTMwOSw3ICszMDksNyBAQCBPcGFsRWZpRHJpdmVyQmluZGluZ1N1cHBvcnRlZCgN Cj4gPiAgICAgImNvbnRyb2xsZXIiLCB3aGljaCBpcyBhIGNoaWxkIGhhbmRsZSwgY29udGFpbnMN Cj4gdGhlIEVGX1NUT1JBR0VfU0VDVVJJVFlfQ09NTUFORCBwcm90b2NvbHMuDQo+ID4gICAgIFRo aXMgZnVuY3Rpb24gd2lsbCBjb21wbGV0ZSB0aGUgb3RoZXIgbmVjZXNzYXJ5DQo+IGNoZWNrcywg c3VjaCBhcyB2ZXJpZnlpbmcgdGhlIGRldmljZSBzdXBwb3J0cw0KPiA+ICAgICB0aGUgY29ycmVj dCB2ZXJzaW9uIG9mIE9wYWwuICBVcG9uIHZlcmlmaWNhdGlvbiwNCj4gaXQgd2lsbCBhZGQgdGhl IGRldmljZSB0byB0aGUNCj4gPiAtICBPcGFsIEhJSSBsaXN0IGluIG9yZGVyIHRvIGV4cG9zZSBP cGFsIG1hbmFnbWVlbnQNCj4gb3B0aW9ucy4NCj4gPiArICBPcGFsIEhJSSBsaXN0IGluIG9yZGVy IHRvIGV4cG9zZSBPcGFsIG1hbmFnZW1lbnQNCj4gb3B0aW9ucy4NCj4gPg0KPiA+ICAgICBAcGFy YW1baW5dICBUaGlzICAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvDQo+IHRoZSBFRklfRFJJ VkVSX0JJTkRJTkdfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gICAgIEBwYXJhbVtpbl0gIENvbnRy b2xsZXJIYW5kbGUgICAgICBUaGUgaGFuZGxlIG9mDQo+IHRoZSBjb250cm9sbGVyIHRvIHN0YXJ0 LiBUaGlzIGhhbmRsZQ0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9UY2cvT3BhbC9P cGFsUGFzc3dvcmQvT3BhbEhpaS5jDQo+IGIvU2VjdXJpdHlQa2cvVGNnL09wYWwvT3BhbFBhc3N3 b3JkL09wYWxIaWkuYw0KPiA+IGluZGV4IDE4YjY1ZGE3NTYuLmVmMTE3ZDNkMDMgMTAwNjQ0DQo+ ID4gLS0tIGEvU2VjdXJpdHlQa2cvVGNnL09wYWwvT3BhbFBhc3N3b3JkL09wYWxIaWkuYw0KPiA+ ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9PcGFsL09wYWxQYXNzd29yZC9PcGFsSGlpLmMNCj4gPiBA QCAtMTA5MCw3ICsxMDkwLDcgQEAgT3BhbEhpaVNldEJyb3dzZXJEYXRhICgNCj4gPg0KPiA+ICAg LyoqDQo+ID4NCj4gPiAtICBQb3B1bGF0ZSB0aGUgaGlpX2dfQ29uZmlndXJhdG9uIHdpdGggdGhl IGJyb3dzZXINCj4gRGF0YS4NCj4gPiArICBQb3B1bGF0ZSB0aGUgaGlpX2dfQ29uZmlndXJhdGlv biB3aXRoIHRoZSBicm93c2VyDQo+IERhdGEuDQo+ID4NCj4gPiAgICoqLw0KPiA+ICAgVk9JRA0K PiA+IEBAIC0xMTY0LDcgKzExNjQsNyBAQCBIaWlTZXRGb3JtU3RyaW5nKA0KPiA+DQo+ID4gICAg IEBwYXJhbSBEZXYgICAgICAgICAgICAgICAgICBUaGUgT3BhbCBkZXZpY2UuDQo+ID4NCj4gPiAt ICBAcmV0dmFsIEVGSV9TVUNFU1MgICAgICAgICAgSW5pdGlhbGl6ZSB0aGUgZGV2aWNlDQo+IHN1 Y2Nlc3MuDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBJbml0aWFsaXplIHRo ZSBkZXZpY2UNCj4gc3VjY2Vzcy4NCj4gPiAgICAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAg IEdldCBpbmZvIGZyb20gZGV2aWNlDQo+IGZhaWxlZC4NCj4gPg0KPiA+ICAgKiovDQo+ID4gQEAg LTExOTMsNyArMTE5Myw3IEBAIE9wYWxEaXNrSW5pdGlhbGl6ZSAoDQo+ID4gICAgIH0NCj4gPiAg ICAgU2Vzc2lvbi5PcGFsQmFzZUNvbUlkID0gRGV2LQ0KPiA+T3BhbERpc2suT3BhbEJhc2VDb21J ZDsNCj4gPg0KPiA+IC0gIFRjZ1Jlc3VsdCA9IE9wYWxVdGlsR2V0TXNpZCAoJlNlc3Npb24sIERl di0NCj4gPk9wYWxEaXNrLk1zaWQsIE9QQUxfTVNJRF9MRU5HSFQsICZEZXYtDQo+ID5PcGFsRGlz ay5Nc2lkTGVuZ3RoKTsNCj4gPiArICBUY2dSZXN1bHQgPSBPcGFsVXRpbEdldE1zaWQgKCZTZXNz aW9uLCBEZXYtDQo+ID5PcGFsRGlzay5Nc2lkLCBPUEFMX01TSURfTEVOR1RILCAmRGV2LQ0KPiA+ T3BhbERpc2suTXNpZExlbmd0aCk7DQo+ID4gICAgIGlmIChUY2dSZXN1bHQgIT0gVGNnUmVzdWx0 U3VjY2Vzcykgew0KPiA+ICAgICAgIHJldHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiA+ICAgICB9 DQo+ID4gQEAgLTEyMjAsNyArMTIyMCw3IEBAIE9wYWxEaXNrSW5pdGlhbGl6ZSAoDQo+ID4NCj4g PiAgICAgQHBhcmFtIE9wYWxEaXNrICAgICAgICAgICAgICAgIFRoZSBPcGFsIGRldmljZS4NCj4g Pg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0VTUyAgICAgICAgICAgICBHZXQgb3duZXJzaGlwDQo+ IHN1Y2Nlc3MuDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBHZXQgb3du ZXJzaGlwDQo+IHN1Y2Nlc3MuDQo+ID4gICAgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQgICAg ICBIYXMgc2VuZCBCbG9ja1NJRA0KPiBjb21tYW5kLCBjYW4ndCBjaGFuZ2Ugb3duZXJzaGlwLg0K PiA+ICAgICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgTm90IGdldCBNc2lkIGluZm8N Cj4gYmVmb3JlIGdldCBvd25lcnNoaXAgaW5mby4NCj4gPg0KPiA+IEBAIC0xMjU0LDcgKzEyNTQs NyBAQCBPcGFsRGlza1VwZGF0ZU93bmVyU2hpcCAoDQo+ID4NCj4gPiAgICAgQHBhcmFtIE9wYWxE aXNrICAgICAgICAgICAgICAgIFRoZSBPcGFsIGRldmljZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwg RUZJX1NVQ0VTUyAgICAgICAgICAgICBJbml0aWFsaXplIHRoZQ0KPiBkZXZpY2Ugc3VjY2Vzcy4N Cj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgIEluaXRpYWxpemUgdGhlDQo+ IGRldmljZSBzdWNjZXNzLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAg R2V0IGluZm8gZnJvbQ0KPiBkZXZpY2UgZmFpbGVkLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9JTlZB TElEX1BBUkFNRVRFUiAgTm90IGdldCBNc2lkIGluZm8NCj4gYmVmb3JlIGdldCBvd25lcnNoaXAg aW5mby4NCj4gPiAgICAgQHJldHZhbCBFRklfQUNDRVNTX0RFTklFRCAgICAgIEhhcyBzZW5kIEJs b2NrU0lEDQo+IGNvbW1hbmQsIGNhbid0IGNoYW5nZSBvd25lcnNoaXAuDQo+ID4gZGlmZiAtLWdp dA0KPiBhL1NlY3VyaXR5UGtnL1RjZy9PcGFsL09wYWxQYXNzd29yZC9PcGFsSGlpLmgNCj4gYi9T ZWN1cml0eVBrZy9UY2cvT3BhbC9PcGFsUGFzc3dvcmQvT3BhbEhpaS5oDQo+ID4gaW5kZXggODlj NzA5ZGY5OS4uMDU0M2EyY2U0OSAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9UY2cvT3Bh bC9PcGFsUGFzc3dvcmQvT3BhbEhpaS5oDQo+ID4gKysrIGIvU2VjdXJpdHlQa2cvVGNnL09wYWwv T3BhbFBhc3N3b3JkL09wYWxIaWkuaA0KPiA+IEBAIC0xNTYsNyArMTU2LDcgQEAgT3BhbEhpaVNl dEJyb3dzZXJEYXRhICgNCj4gPg0KPiA+ICAgLyoqDQo+ID4NCj4gPiAtICBQb3B1bGF0ZSB0aGUg aGlpX2dfQ29uZmlndXJhdG9uIHdpdGggdGhlIGJyb3dzZXINCj4gRGF0YS4NCj4gPiArICBQb3B1 bGF0ZSB0aGUgaGlpX2dfQ29uZmlndXJhdGlvbiB3aXRoIHRoZSBicm93c2VyDQo+IERhdGEuDQo+ ID4NCj4gPiAgICoqLw0KPiA+ICAgVk9JRA0KPiA+IEBAIC0yNDcsNyArMjQ3LDcgQEAgR2V0RGlz a05hbWVTdHJpbmdJZCgNCj4gPg0KPiA+ICAgICBAcGFyYW0gT3BhbERpc2sgICAgICAgICAgICAg ICAgVGhlIE9wYWwgZGV2aWNlLg0KPiA+DQo+ID4gLSAgQHJldHZhbCBFRklfU1VDRVNTICAgICAg ICAgICAgIEluaXRpYWxpemUgdGhlDQo+IGRldmljZSBzdWNjZXNzLg0KPiA+ICsgIEByZXR2YWwg RUZJX1NVQ0NFU1MgICAgICAgICAgICAgSW5pdGlhbGl6ZSB0aGUNCj4gZGV2aWNlIHN1Y2Nlc3Mu DQo+ID4gICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICBHZXQgaW5mbyBmcm9tDQo+ IGRldmljZSBmYWlsZWQuDQo+ID4gICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBO b3QgZ2V0IE1zaWQgaW5mbw0KPiBiZWZvcmUgZ2V0IG93bmVyc2hpcCBpbmZvLg0KPiA+DQo+ID4g QEAgLTM0OCw3ICszNDgsNyBAQCBIaWlVbmluc3RhbGwoDQo+ID4NCj4gPiAgICAgQHBhcmFtIERl diAgICAgICAgICAgICAgICAgIFRoZSBPcGFsIGRldmljZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwg RUZJX1NVQ0VTUyAgICAgICAgICBJbml0aWFsaXplIHRoZSBkZXZpY2UNCj4gc3VjY2Vzcy4NCj4g PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgIEluaXRpYWxpemUgdGhlIGRldmljZQ0K PiBzdWNjZXNzLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgR2V0IGluZm8g ZnJvbSBkZXZpY2UNCj4gZmFpbGVkLg0KPiA+DQo+ID4gICAqKi8NCj4gPiBAQCAtMzYyLDcgKzM2 Miw3IEBAIE9wYWxEaXNrSW5pdGlhbGl6ZSAoDQo+ID4NCj4gPiAgICAgQHBhcmFtIE9wYWxEaXNr ICAgICAgICAgICAgICAgIFRoZSBPcGFsIGRldmljZS4NCj4gPg0KPiA+IC0gIEByZXR2YWwgRUZJ X1NVQ0VTUyAgICAgICAgICAgICBHZXQgb3duZXJzaGlwDQo+IHN1Y2Nlc3MuDQo+ID4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBHZXQgb3duZXJzaGlwDQo+IHN1Y2Nlc3MuDQo+ ID4gICAgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQgICAgICBIYXMgc2VuZCBCbG9ja1NJRA0K PiBjb21tYW5kLCBjYW4ndCBjaGFuZ2Ugb3duZXJzaGlwLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgTm90IGdldCBNc2lkIGluZm8NCj4gYmVmb3JlIGdldCBvd25lcnNo aXAgaW5mby4NCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9UY2cvUGh5c2lj YWxQcmVzZW5jZVBlaS9QaHlzaWNhbFByZXNlbmNlUA0KPiBlaS5jDQo+IGIvU2VjdXJpdHlQa2cv VGNnL1BoeXNpY2FsUHJlc2VuY2VQZWkvUGh5c2ljYWxQcmVzZW5jZVANCj4gZWkuYw0KPiA+IGlu ZGV4IGYyNTQ4MTA0NGYuLjgzYzNhZDUwZDEgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQ a2cvVGNnL1BoeXNpY2FsUHJlc2VuY2VQZWkvUGh5c2ljYWxQcmVzZW5jZVANCj4gZWkuYw0KPiA+ ICsrKw0KPiBiL1NlY3VyaXR5UGtnL1RjZy9QaHlzaWNhbFByZXNlbmNlUGVpL1BoeXNpY2FsUHJl c2VuY2VQDQo+IGVpLmMNCj4gPiBAQCAtMzEsNyArMzEsNyBAQCBMb2NrVHBtUGh5c2ljYWxQcmVz ZW5jZSAoDQo+ID4gICAgICk7DQo+ID4NCj4gPiAgIC8vDQo+ID4gLS8vIEdvYmFsIGRlZmludGlv bnMgZm9yIGxvY2sgcGh5c2ljYWwgcHJlc2VuY2UgUFBJDQo+IGFuZCBpdHMgZGVzY3JpcHRvci4N Cj4gPiArLy8gR2xvYmFsIGRlZmludGlvbnMgZm9yIGxvY2sgcGh5c2ljYWwgcHJlc2VuY2UgUFBJ DQo+IGFuZCBpdHMgZGVzY3JpcHRvci4NCj4gPiAgIC8vDQo+ID4gICBQRUlfTE9DS19QSFlTSUNB TF9QUkVTRU5DRV9QUEkNCj4gbUxvY2tQaHlzaWNhbFByZXNlbmNlUHBpID0gew0KPiA+ICAgICBM b2NrVHBtUGh5c2ljYWxQcmVzZW5jZQ0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9U Y2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnLnZmcg0KPiBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyQ29u ZmlnL1RjZzJDb25maWcudmZyDQo+ID4gaW5kZXggMTJkOGFkYjdlYS4uOTFhNDYzOTk3YyAxMDA2 NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBrZy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnLnZmcg0K PiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWcudmZyDQo+ID4g QEAgLTE2LDE5ICsxNiwxOSBAQCBmb3Jtc2V0DQo+ID4NCj4gPiAgICAgZWZpdmFyc3RvcmUgVENH Ml9DT05GSUdVUkFUSU9OX0lORk8sDQo+ID4gICAgICAgdmFyaWQgPSBUQ0cyX0NPTkZJR1VSQVRJ T05fSU5GT19WQVJTVE9SRV9JRCwNCj4gPiAtICAgIGF0dHJpYnV0ZSA9IDB4MDIsICAvLyBFRkkg dmFyaWFibGUgYXR0cmlidXJlcw0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTDQo+ ID4gKyAgICBhdHRyaWJ1dGUgPSAweDAyLCAgLy8gRUZJIHZhcmlhYmxlIGF0dHJpYnV0ZXMNCj4g RUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUw0KPiA+ICAgICAgIG5hbWUgID0gVENHMl9D T05GSUdVUkFUSU9OX0lORk8sDQo+ID4gICAgICAgZ3VpZCAgPSBUQ0cyX0NPTkZJR19GT1JNX1NF VF9HVUlEOw0KPiA+DQo+ID4gICAgIGVmaXZhcnN0b3JlIFRDRzJfQ09ORklHVVJBVElPTiwNCj4g PiAgICAgICB2YXJpZCA9IFRDRzJfQ09ORklHVVJBVElPTl9WQVJTVE9SRV9JRCwNCj4gPiAtICAg IGF0dHJpYnV0ZSA9IDB4MDMsICAvLyBFRkkgdmFyaWFibGUgYXR0cmlidXJlcw0KPiBFRklfVkFS SUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRQ0K PiA+ICsgICAgYXR0cmlidXRlID0gMHgwMywgIC8vIEVGSSB2YXJpYWJsZSBhdHRyaWJ1dGVzDQo+ IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklfVkFSSUFCTEVfTk9OX1ZP TEFUSUxFDQo+ID4gICAgICAgbmFtZSAgPSBUQ0cyX0NPTkZJR1VSQVRJT04sDQo+ID4gICAgICAg Z3VpZCAgPSBUQ0cyX0NPTkZJR19GT1JNX1NFVF9HVUlEOw0KPiA+DQo+ID4gICAgIGVmaXZhcnN0 b3JlIFRDRzJfVkVSU0lPTiwNCj4gPiAgICAgICB2YXJpZCA9IFRDRzJfVkVSU0lPTl9WQVJTVE9S RV9JRCwNCj4gPiAtICAgIGF0dHJpYnV0ZSA9IDB4MDMsICAvLyBFRkkgdmFyaWFibGUgYXR0cmli dXJlcw0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxF X05PTl9WT0xBVElMRQ0KPiA+ICsgICAgYXR0cmlidXRlID0gMHgwMywgIC8vIEVGSSB2YXJpYWJs ZSBhdHRyaWJ1dGVzDQo+IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklf VkFSSUFCTEVfTk9OX1ZPTEFUSUxFDQo+ID4gICAgICAgbmFtZSAgPSBUQ0cyX1ZFUlNJT04sDQo+ ID4gICAgICAgZ3VpZCAgPSBUQ0cyX0NPTkZJR19GT1JNX1NFVF9HVUlEOw0KPiA+DQo+ID4gZGlm ZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdEcml2ZXIu Yw0KPiBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdEcml2ZXIuYw0KPiA+ IGluZGV4IDkwNTJlY2VkNzUuLjEwZDFjNWNjNzggMTAwNjQ0DQo+ID4gLS0tIGEvU2VjdXJpdHlQ a2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ0RyaXZlci5jDQo+ID4gKysrIGIvU2VjdXJpdHlQ a2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ0RyaXZlci5jDQo+ID4gQEAgLTI0MCw3ICsyNDAs NyBAQCBJbml0aWFsaXplVGNnMlZlcnNpb25JbmZvICgNCj4gPg0KPiA+ICAgICBAcmV0dmFsIEVG SV9BTFJFQURZX1NUQVJURUQgICAgVGhlIGRyaXZlciBhbHJlYWR5DQo+IGV4aXN0cyBpbiBzeXN0 ZW0uDQo+ID4gICAgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICBGYWlsIHRvIGV4ZWN1 dGUNCj4gZW50cnkgcG9pbnQgZHVlIHRvIGxhY2sgb2YgcmVzb3VyY2VzLg0KPiA+IC0gIEByZXR2 YWwgRUZJX1NVQ0NFUyAgICAgICAgICAgICBBbGwgdGhlIHJlbGF0ZWQNCj4gcHJvdG9jb2xzIGFy ZSBpbnN0YWxsZWQgb24gdGhlIGRyaXZlci4NCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgQWxsIHRoZSByZWxhdGVkDQo+IHByb3RvY29scyBhcmUgaW5zdGFsbGVkIG9uIHRo ZSBkcml2ZXIuDQo+ID4gICAgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICBGYWlsIHRv IGluc3RhbGwNCj4gcHJvdG9jb2xzIGFzIGluZGljYXRlZC4NCj4gPg0KPiA+ICAgKiovDQo+ID4g ZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdQZWlt LmMNCj4gYi9TZWN1cml0eVBrZy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpbS5jDQo+ID4g aW5kZXggYTE1OTE5Njg1ZS4uZTBkMGEyMDdlMSAxMDA2NDQNCj4gPiAtLS0gYS9TZWN1cml0eVBr Zy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpbS5jDQo+ID4gKysrIGIvU2VjdXJpdHlQa2cv VGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ1BlaW0uYw0KPiA+IEBAIC01Nyw3ICs1Nyw3IEBAIERl dGVjdFRwbURldmljZSAoDQo+ID4gICAgIEBwYXJhbSAgRmlsZUhhbmRsZSAgSGFuZGxlIG9mIHRo ZSBmaWxlIGJlaW5nDQo+IGludm9rZWQuDQo+ID4gICAgIEBwYXJhbSAgUGVpU2VydmljZXMgRGVz Y3JpYmVzIHRoZSBsaXN0IG9mDQo+IHBvc3NpYmxlIFBFSSBTZXJ2aWNlcy4NCj4gPg0KPiA+IC0g IEByZXR2YWwgRUZJX1NVQ0NFUyAgICAgICAgICAgICBDb252ZXJ0IHZhcmlhYmxlIHRvDQo+IFBD RCBzdWNjZXNzZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIENv bnZlcnQgdmFyaWFibGUgdG8NCj4gUENEIHN1Y2Nlc3NmdWxseS4NCj4gPiAgICAgQHJldHZhbCBP dGhlcnMgICAgICAgICAgICAgICAgIEZhaWwgdG8gY29udmVydA0KPiB2YXJpYWJsZSB0byBQQ0Qu DQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiBAQCAtMTE4LDcgKzExOCw3IEBAIFRj ZzJDb25maWdQZWltRW50cnlQb2ludCAoDQo+ID4NCj4gPiAgICAgLy8NCj4gPiAgICAgLy8gQ29u dmVydCB2YXJpYWJsZSB0byBQQ0QuDQo+ID4gLSAgLy8gVGhpcyBpcyB3b3JrLWFyb3VuZCBiZWNh dXNlIHRoZXJlIGlzIG5vDQo+IGd1cmFudGVlIER5bmFtaWNIaWlQY2QgY2FuIHJldHVybiBjb3Jy ZWN0IHZhbHVlIGluIERYRQ0KPiBwaGFzZS4NCj4gPiArICAvLyBUaGlzIGlzIHdvcmstYXJvdW5k IGJlY2F1c2UgdGhlcmUgaXMgbm8NCj4gZ3VhcmFudGVlIER5bmFtaWNIaWlQY2QgY2FuIHJldHVy biBjb3JyZWN0IHZhbHVlIGluIERYRQ0KPiBwaGFzZS4NCj4gPiAgICAgLy8gVXNpbmcgRHluYW1p Y1BjZCBpbnN0ZWFkLg0KPiA+ICAgICAvLw0KPiA+ICAgICAvLyBOT1RFOiBUY2cyQ29uZmlndXJh dGlvbiB2YXJpYWJsZSBjb250YWlucyB0aGUNCj4gZGVzaXJlZCBUcG1EZXZpY2UgdHlwZSwNCj4g PiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvVGNnL1RjZzJEeGUvTWVhc3VyZUJvb3RQZUNv ZmYuYw0KPiBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyRHhlL01lYXN1cmVCb290UGVDb2ZmLmMNCj4g PiBpbmRleCA0ZTY3YWM1MzNmLi4zNDdjNmFiNzAyIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5 UGtnL1RjZy9UY2cyRHhlL01lYXN1cmVCb290UGVDb2ZmLmMNCj4gPiArKysgYi9TZWN1cml0eVBr Zy9UY2cvVGNnMkR4ZS9NZWFzdXJlQm9vdFBlQ29mZi5jDQo+ID4gQEAgLTg2LDcgKzg2LDcgQEAg VGNnMkR4ZUltYWdlUmVhZCAoDQo+ID4gICAgIEBwYXJhbVtpbl0gIFBDUkluZGV4ICAgICAgIFRQ TSBQQ1IgaW5kZXgNCj4gPiAgICAgQHBhcmFtW2luXSAgSW1hZ2VBZGRyZXNzICAgU3RhcnQgYWRk cmVzcyBvZiBpbWFnZQ0KPiBidWZmZXIuDQo+ID4gICAgIEBwYXJhbVtpbl0gIEltYWdlU2l6ZSAg ICAgIEltYWdlIHNpemUNCj4gPiAtICBAcGFyYW1bb3V0XSBEaWdlc3RMaXN0ICAgICBEaWdlZXN0 IGxpc3Qgb2YgdGhpcw0KPiBpbWFnZS4NCj4gPiArICBAcGFyYW1bb3V0XSBEaWdlc3RMaXN0ICAg ICBEaWdlc3QgbGlzdCBvZiB0aGlzDQo+IGltYWdlLg0KPiA+DQo+ID4gICAgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgICBTdWNjZXNzZnVsbHkNCj4gbWVhc3VyZSBpbWFnZS4NCj4gPiAg ICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgIE5vIGVub3VnaCByZXNvdXJjZQ0KPiB0 byBtZWFzdXJlIGltYWdlLg0KPiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9UY2cvVGNnMkR4 ZS9UY2cyRHhlLmMNCj4gYi9TZWN1cml0eVBrZy9UY2cvVGNnMkR4ZS9UY2cyRHhlLmMNCj4gPiBp bmRleCA4NWYyZTBhZTM4Li4zY2QxNmMyZmEzIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtn L1RjZy9UY2cyRHhlL1RjZzJEeGUuYw0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyRHhl L1RjZzJEeGUuYw0KPiA+IEBAIC0xMjcsNyArMTI3LDcgQEAgRUZJX0hBTkRMRSBtSW1hZ2VIYW5k bGU7DQo+ID4gICAgIEBwYXJhbVtpbl0gIFBDUkluZGV4ICAgICAgIFRQTSBQQ1IgaW5kZXgNCj4g PiAgICAgQHBhcmFtW2luXSAgSW1hZ2VBZGRyZXNzICAgU3RhcnQgYWRkcmVzcyBvZiBpbWFnZQ0K PiBidWZmZXIuDQo+ID4gICAgIEBwYXJhbVtpbl0gIEltYWdlU2l6ZSAgICAgIEltYWdlIHNpemUN Cj4gPiAtICBAcGFyYW1bb3V0XSBEaWdlc3RMaXN0ICAgICBEaWdlZXN0IGxpc3Qgb2YgdGhpcw0K PiBpbWFnZS4NCj4gPiArICBAcGFyYW1bb3V0XSBEaWdlc3RMaXN0ICAgICBEaWdlc3QgbGlzdCBv ZiB0aGlzDQo+IGltYWdlLg0KPiA+DQo+ID4gICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICBTdWNjZXNzZnVsbHkNCj4gbWVhc3VyZSBpbWFnZS4NCj4gPiAgICAgQHJldHZhbCBFRklf T1VUX09GX1JFU09VUkNFUyAgIE5vIGVub3VnaCByZXNvdXJjZQ0KPiB0byBtZWFzdXJlIGltYWdl Lg0KPiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9UY2cvVGNnMlBlaS9UY2cyUGVpLmMNCj4g Yi9TZWN1cml0eVBrZy9UY2cvVGNnMlBlaS9UY2cyUGVpLmMNCj4gPiBpbmRleCBmMjhmMzNmZGVj Li4xNTY1ZDRlNDAyIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3VyaXR5UGtnL1RjZy9UY2cyUGVpL1Rj ZzJQZWkuYw0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyUGVpL1RjZzJQZWkuYw0KPiA+ IEBAIC03OSw3ICs3OSw3IEBAIFVJTlQzMiBtTWVhc3VyZWRNYXhDaGlsZEZ2SW5kZXggPQ0KPiAw Ow0KPiA+ICAgVUlOVDMyIG1NZWFzdXJlZENoaWxkRnZJbmRleCA9IDA7DQo+ID4NCj4gPiAgIC8q Kg0KPiA+IC0gIE1lYXN1cmUgYW5kIHJlY29yZCB0aGUgRmlybXdhcmUgVm9sdW0gSW5mb3JtYXRp b24NCj4gb25jZSBGdkluZm9QUEkgaW5zdGFsbC4NCj4gPiArICBNZWFzdXJlIGFuZCByZWNvcmQg dGhlIEZpcm13YXJlIFZvbHVtZSBJbmZvcm1hdGlvbg0KPiBvbmNlIEZ2SW5mb1BQSSBpbnN0YWxs Lg0KPiA+DQo+ID4gICAgIEBwYXJhbVtpbl0gUGVpU2VydmljZXMgICAgICAgQW4gaW5kaXJlY3Qg cG9pbnRlcg0KPiB0byB0aGUgRUZJX1BFSV9TRVJWSUNFUyB0YWJsZSBwdWJsaXNoZWQgYnkgdGhl IFBFSQ0KPiBGb3VuZGF0aW9uLg0KPiA+ICAgICBAcGFyYW1baW5dIE5vdGlmeURlc2NyaXB0b3Ig IEFkZHJlc3Mgb2YgdGhlDQo+IG5vdGlmaWNhdGlvbiBkZXNjcmlwdG9yIGRhdGEgc3RydWN0dXJl Lg0KPiA+IEBAIC05MSwxNCArOTEsMTQgQEAgVUlOVDMyIG1NZWFzdXJlZENoaWxkRnZJbmRleCA9 IDA7DQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAgIEVGSUFQSQ0KPiA+IC1GaXJt d2FyZVZvbG1lSW5mb1BwaU5vdGlmeUNhbGxiYWNrICgNCj4gPiArRmlybXdhcmVWb2x1bWVJbmZv UHBpTm90aWZ5Q2FsbGJhY2sgKA0KPiA+ICAgICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAg ICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ICAgICBJTiBFRklfUEVJX05PVElGWV9ERVNDUklQVE9S DQo+ICpOb3RpZnlEZXNjcmlwdG9yLA0KPiA+ICAgICBJTiBWT0lEICAgICAgICAgICAgICAgICAg ICAgICAgICAqUHBpDQo+ID4gICAgICk7DQo+ID4NCj4gPiAgIC8qKg0KPiA+IC0gIFJlY29yZCBh bGwgbWVhc3VyZWQgRmlybXdhcmUgVm9sdW0gSW5mb3JtYXRpb24NCj4gaW50byBhIEd1aWQgSG9i DQo+ID4gKyAgUmVjb3JkIGFsbCBtZWFzdXJlZCBGaXJtd2FyZSBWb2x1bWUgSW5mb3JtYXRpb24N Cj4gaW50byBhIEd1aWQgSG9iDQo+ID4NCj4gPiAgICAgQHBhcmFtW2luXSBQZWlTZXJ2aWNlcyAg ICAgICBBbiBpbmRpcmVjdCBwb2ludGVyDQo+IHRvIHRoZSBFRklfUEVJX1NFUlZJQ0VTIHRhYmxl IHB1Ymxpc2hlZCBieSB0aGUgUEVJDQo+IEZvdW5kYXRpb24uDQo+ID4gICAgIEBwYXJhbVtpbl0g Tm90aWZ5RGVzY3JpcHRvciAgQWRkcmVzcyBvZiB0aGUNCj4gbm90aWZpY2F0aW9uIGRlc2NyaXB0 b3IgZGF0YSBzdHJ1Y3R1cmUuDQo+ID4gQEAgLTEyMCwxMiArMTIwLDEyIEBAIEVGSV9QRUlfTk9U SUZZX0RFU0NSSVBUT1INCj4gbU5vdGlmeUxpc3RbXSA9IHsNCj4gPiAgICAgew0KPiA+ICAgICAg IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfTk9USUZZX0NBTExCQUNLLA0KPiA+ICAgICAgICZnRWZp UGVpRmlybXdhcmVWb2x1bWVJbmZvUHBpR3VpZCwNCj4gPiAtICAgIEZpcm13YXJlVm9sbWVJbmZv UHBpTm90aWZ5Q2FsbGJhY2sNCj4gPiArICAgIEZpcm13YXJlVm9sdW1lSW5mb1BwaU5vdGlmeUNh bGxiYWNrDQo+ID4gICAgIH0sDQo+ID4gICAgIHsNCj4gPiAgICAgICBFRklfUEVJX1BQSV9ERVND UklQVE9SX05PVElGWV9DQUxMQkFDSywNCj4gPiAgICAgICAmZ0VmaVBlaUZpcm13YXJlVm9sdW1l SW5mbzJQcGlHdWlkLA0KPiA+IC0gICAgRmlybXdhcmVWb2xtZUluZm9QcGlOb3RpZnlDYWxsYmFj aw0KPiA+ICsgICAgRmlybXdhcmVWb2x1bWVJbmZvUHBpTm90aWZ5Q2FsbGJhY2sNCj4gPiAgICAg fSwNCj4gPiAgICAgew0KPiA+ICAgICAgIChFRklfUEVJX1BQSV9ERVNDUklQVE9SX05PVElGWV9D QUxMQkFDSyB8DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QpLA0KPiA+ IEBAIC0xMzYsNyArMTM2LDcgQEAgRUZJX1BFSV9OT1RJRllfREVTQ1JJUFRPUg0KPiBtTm90aWZ5 TGlzdFtdID0gew0KPiA+DQo+ID4NCj4gPiAgIC8qKg0KPiA+IC0gIFJlY29yZCBhbGwgbWVhc3Vy ZWQgRmlybXdhcmUgVm9sdW0gSW5mb3JtYXRpb24NCj4gaW50byBhIEd1aWQgSG9iDQo+ID4gKyAg UmVjb3JkIGFsbCBtZWFzdXJlZCBGaXJtd2FyZSBWb2x1bWUgSW5mb3JtYXRpb24NCj4gaW50byBh IEd1aWQgSG9iDQo+ID4gICAgIEd1aWQgSG9iIHBheWxvYWQgbGF5b3V0IGlzDQo+ID4NCj4gPiAg ICAgICAgVUlOVDMyICoqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiBGSVJNV0FSRV9CTE9C IG51bWJlcg0KPiA+IEBAIC02ODgsNyArNjg4LDcgQEAgTWVhc3VyZU1haW5CaW9zICgNCj4gPiAg IH0NCj4gPg0KPiA+ICAgLyoqDQo+ID4gLSAgTWVhc3VyZSBhbmQgcmVjb3JkIHRoZSBGaXJtd2Fy ZSBWb2x1bSBJbmZvcm1hdGlvbg0KPiBvbmNlIEZ2SW5mb1BQSSBpbnN0YWxsLg0KPiA+ICsgIE1l YXN1cmUgYW5kIHJlY29yZCB0aGUgRmlybXdhcmUgVm9sdW1lIEluZm9ybWF0aW9uDQo+IG9uY2Ug RnZJbmZvUFBJIGluc3RhbGwuDQo+ID4NCj4gPiAgICAgQHBhcmFtW2luXSBQZWlTZXJ2aWNlcyAg ICAgICBBbiBpbmRpcmVjdCBwb2ludGVyDQo+IHRvIHRoZSBFRklfUEVJX1NFUlZJQ0VTIHRhYmxl IHB1Ymxpc2hlZCBieSB0aGUgUEVJDQo+IEZvdW5kYXRpb24uDQo+ID4gICAgIEBwYXJhbVtpbl0g Tm90aWZ5RGVzY3JpcHRvciAgQWRkcmVzcyBvZiB0aGUNCj4gbm90aWZpY2F0aW9uIGRlc2NyaXB0 b3IgZGF0YSBzdHJ1Y3R1cmUuDQo+ID4gQEAgLTcwMCw3ICs3MDAsNyBAQCBNZWFzdXJlTWFpbkJp b3MgKA0KPiA+ICAgKiovDQo+ID4gICBFRklfU1RBVFVTDQo+ID4gICBFRklBUEkNCj4gPiAtRmly bXdhcmVWb2xtZUluZm9QcGlOb3RpZnlDYWxsYmFjayAoDQo+ID4gK0Zpcm13YXJlVm9sdW1lSW5m b1BwaU5vdGlmeUNhbGxiYWNrICgNCj4gPiAgICAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAg ICAgICAgICoqUGVpU2VydmljZXMsDQo+ID4gICAgIElOIEVGSV9QRUlfTk9USUZZX0RFU0NSSVBU T1INCj4gKk5vdGlmeURlc2NyaXB0b3IsDQo+ID4gICAgIElOIFZPSUQgICAgICAgICAgICAgICAg ICAgICAgICAgICAqUHBpDQo+ID4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1RjZy9UY2cyU21t L1RjZzJTbW0uYw0KPiBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyU21tL1RjZzJTbW0uYw0KPiA+IGlu ZGV4IDE0ZTRlZDBlZTEuLmJkNzg2YmY0NzkgMTAwNjQ0DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cv VGNnL1RjZzJTbW0vVGNnMlNtbS5jDQo+ID4gKysrIGIvU2VjdXJpdHlQa2cvVGNnL1RjZzJTbW0v VGNnMlNtbS5jDQo+ID4gQEAgLTI2OSw3ICsyNjksNyBAQCBVcGRhdGVQUFZlcnNpb24gKA0KPiA+ DQo+ID4gICAvKioNCj4gPiAgICAgUGF0Y2ggaW50ZXJydXB0IHJlc291cmNlcyByZXR1cm5lZCBi eSBUUE0gX1BSUy4NCj4gUmVzb3VyY2VUZW1wbGF0ZSB0byBwYXRjaCBpcyBkZXRlcm1pbmVkIGJ5 IGlucHV0DQo+ID4gLSAgaW50ZXJydXB0IGJ1ZmZlciBzaXplLiBCdWZmZXJTaXplLCBQa2dMZW5n dGggYW5kDQo+IGludGVycnVwdCBkZXNjaXJwdG9yIGluIEJ5dGVMaXN0IG5lZWQgdG8gYmUgcGF0 Y2hlZA0KPiA+ICsgIGludGVycnVwdCBidWZmZXIgc2l6ZS4gQnVmZmVyU2l6ZSwgUGtnTGVuZ3Ro IGFuZA0KPiBpbnRlcnJ1cHQgZGVzY3JpcHRvciBpbiBCeXRlTGlzdCBuZWVkIHRvIGJlIHBhdGNo ZWQNCj4gPg0KPiA+ICAgICBAcGFyYW1baW4sIG91dF0gVGFibGUgICAgICAgICAgICBUaGUgVFBN IGl0ZW0gaW4NCj4gQUNQSSB0YWJsZS4NCj4gPiAgICAgQHBhcmFtW2luXSAgICAgIElycUJ1ZmZl ciAgICAgICAgSW5wdXQgbmV3IElSUQ0KPiBidWZmZXIuDQo+ID4gQEAgLTMwNCw3ICszMDQsNyBA QCBVcGRhdGVQb3NzaWJsZVJlc291cmNlICgNCj4gPiAgICAgLy8gdG8gcGF0Y2ggVFBNIEFDUEkg b2JqZWN0IF9QUlMgcmV0dXJuZWQNCj4gUmVzb3VyY2VUZW1wbGF0ZSgpIGNvbnRhaW5pbmcgMiBy ZXNvdXJjZSBkZXNjcmlwdG9ycw0KPiBhbmQgYW4gYXV0byBhcHBlbmRlZCBFbmQgVGFnDQo+ID4g ICAgIC8vDQo+ID4gICAgIC8vICBBTUwgZGF0YSBpcyBvcmdhbml6ZWQgYnkgZm9sbG93aW5nIHJ1 bGUuDQo+ID4gLSAgLy8gIENvZGUgbmVlZCB0byBwYXRjaCBCdWZmZXJTaXplIGFuZCBQa2dMZW5n dGgNCj4gYW5kIGludGVycnVwdCBkZXNjaXJwdG9yIGluIEJ5dGVMaXN0DQo+ID4gKyAgLy8gIENv ZGUgbmVlZCB0byBwYXRjaCBCdWZmZXJTaXplIGFuZCBQa2dMZW5ndGgNCj4gYW5kIGludGVycnVw dCBkZXNjcmlwdG9yIGluIEJ5dGVMaXN0DQo+ID4gICAgIC8vDQo+ID4gICAgIC8vID09PT09PT09 PT09PT0gIEJ1ZmZlciA9PT09PT09PT09PT09PT09PT09PQ0KPiA+ICAgICAvLyAgICAgICAgICAg RGVmQnVmZmVyIDo9IEJ1ZmZlck9wIFBrZ0xlbmd0aA0KPiBCdWZmZXJTaXplIEJ5dGVMaXN0DQo+ ID4gQEAgLTMyMSw4ICszMjEsOCBAQCBVcGRhdGVQb3NzaWJsZVJlc291cmNlICgNCj4gPiAgICAg Ly8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJpdCAzLTA6IExlYXN0DQo+IHNpZ25p ZmljYW50IHBhY2thZ2UgbGVuZ3RoIG55YmJsZT4NCj4gPiAgICAgLy8NCj4gPiAgICAgLy89PT09 PT09PT09PT09PUJ1ZmZlclNpemU9PT09PT09PT09PT09PT09PT0NCj4gPiAtICAvLyAgICAgICAg QnVmZmVyU2l6ZSA6PSBJbnRlZ2FyDQo+ID4gLSAgLy8gICAgICAgICAgIEludGVnYXIgOj0NCj4g Qnl0ZUNvbnN0fFdvcmRDb25zdHxEd29yZENvbnN0Li4uLg0KPiA+ICsgIC8vICAgICAgICBCdWZm ZXJTaXplIDo9IEludGVnZXINCj4gPiArICAvLyAgICAgICAgICAgSW50ZWdlciA6PQ0KPiBCeXRl Q29uc3R8V29yZENvbnN0fER3b3JkQ29uc3QuLi4uDQo+ID4gICAgIC8vDQo+ID4gICAgIC8vICAg ICAgICAgICBCeXRlQ29uc3QgOj0gQnl0ZVByZWZpeCBCeXRlRGF0YQ0KPiA+ICAgICAvLw0KPiA+ IEBAIC0zNzEsNyArMzcxLDcgQEAgVXBkYXRlUG9zc2libGVSZXNvdXJjZSAoDQo+ID4gICAgICAg ICB9DQo+ID4NCj4gPiAgICAgICAgIC8vDQo+ID4gLSAgICAgIC8vIEluY2x1ZGUgTWVtb3J5MzJG aXhlZCBEZXNjcml0b3IgKDEyIEJ5dGVzKQ0KPiArIEludGVycnVwdCBEZXNjcmlwdG9yIGhlYWRl cig1IEJ5dGVzKSArIEVuZCBUYWcoMg0KPiBCeXRlcykNCj4gPiArICAgICAgLy8gSW5jbHVkZSBN ZW1vcnkzMkZpeGVkIERlc2NyaXB0b3IgKDEyIEJ5dGVzKQ0KPiArIEludGVycnVwdCBEZXNjcmlw dG9yIGhlYWRlcig1IEJ5dGVzKSArIEVuZCBUYWcoMg0KPiBCeXRlcykNCj4gPiAgICAgICAgIC8v DQo+ID4gICAgICAgICBOZXdQa2dMZW5ndGggKz0gMTkgKyBJcnFCdWZmc2VyU2l6ZTsNCj4gPiAg ICAgICAgIGlmIChOZXdQa2dMZW5ndGggPiA2Mykgew0KPiA+IEBAIC0zODksNyArMzg5LDcgQEAg VXBkYXRlUG9zc2libGVSZXNvdXJjZSAoDQo+ID4gICAgICAgICAqRGF0YVB0ciA9IChVSU5UOClO ZXdQa2dMZW5ndGg7DQo+ID4NCj4gPiAgICAgICAgIC8vDQo+ID4gLSAgICAgIC8vIDEuMiBQYXRj aCBCdWZmZXJTaXplID0gc2l6ZW9mKE1lbW9yeTMyRml4ZWQNCj4gRGVzY3JpdG9yICsgSW50ZXJy dXB0IERlc2NyaXB0b3IgKyBFbmQgVGFnKS4NCj4gPiArICAgICAgLy8gMS4yIFBhdGNoIEJ1ZmZl clNpemUgPSBzaXplb2YoTWVtb3J5MzJGaXhlZA0KPiBEZXNjcmlwdG9yICsgSW50ZXJydXB0IERl c2NyaXB0b3IgKyBFbmQgVGFnKS4NCj4gPiAgICAgICAgIC8vICAgICAgSXQgaXMgTGl0dGxlIGVu ZGlhbi4gU28gb25seSBwYXRjaA0KPiBsb3dlc3QgYnl0ZSBvZiBCdWZmZXJTaXplIGR1ZSB0byBj dXJyZW50IGludGVycnVwdA0KPiBudW1iZXIgbGltaXQuDQo+ID4gICAgICAgICAvLw0KPiA+ICAg ICAgICAgKihEYXRhUHRyICsgMikgPSAoVUlOVDgpKElycUJ1ZmZzZXJTaXplICsNCj4gMTkpOw0K PiA+IEBAIC00NDUsNyArNDQ1LDcgQEAgVXBkYXRlUG9zc2libGVSZXNvdXJjZSAoDQo+ID4gICAg ICAgICAgIH0NCj4gPg0KPiA+ICAgICAgICAgICAvLw0KPiA+IC0gICAgICAgIC8vIEluY2x1ZGUg TWVtb3J5MzJGaXhlZCBEZXNjcml0b3IgKDEyDQo+IEJ5dGVzKSArIEludGVycnVwdCBEZXNjcmlw dG9yIGhlYWRlcig1IEJ5dGVzKSArIEVuZA0KPiBUYWcoMiAgQnl0ZXMpDQo+ID4gKyAgICAgICAg Ly8gSW5jbHVkZSBNZW1vcnkzMkZpeGVkIERlc2NyaXB0b3IgKDEyDQo+IEJ5dGVzKSArIEludGVy cnVwdCBEZXNjcmlwdG9yIGhlYWRlcig1IEJ5dGVzKSArIEVuZA0KPiBUYWcoMiAgQnl0ZXMpDQo+ ID4gICAgICAgICAgIC8vDQo+ID4gICAgICAgICAgIE5ld1BrZ0xlbmd0aCArPSAxOSArIElycUJ1 ZmZzZXJTaXplOw0KPiA+DQo+ID4gQEAgLTQ2MSw3ICs0NjEsNyBAQCBVcGRhdGVQb3NzaWJsZVJl c291cmNlICgNCj4gPiAgICAgICAgICAgKihEYXRhUHRyICsgMSkgPSAoVUlOVDgpKChOZXdQa2dM ZW5ndGggJg0KPiAweEZGMCkgPj4gNCk7DQo+ID4NCj4gPiAgICAgICAgICAgLy8NCj4gPiAtICAg ICAgICAvLyAyLjIgUGF0Y2ggQnVmZmVyU2l6ZSA9DQo+IHNpemVvZihNZW1vcnkzMkZpeGVkIERl c2NyaXRvciArIEludGVycnVwdCBEZXNjcmlwdG9yICsNCj4gRW5kIFRhZykuDQo+ID4gKyAgICAg ICAgLy8gMi4yIFBhdGNoIEJ1ZmZlclNpemUgPQ0KPiBzaXplb2YoTWVtb3J5MzJGaXhlZCBEZXNj cmlwdG9yICsgSW50ZXJydXB0IERlc2NyaXB0b3INCj4gKyBFbmQgVGFnKS4NCj4gPiAgICAgICAg ICAgLy8gICAgIEl0IGlzIExpdHRsZSBlbmRpYW4uIE9ubHkgcGF0Y2gNCj4gbG93ZXN0IGJ5dGUg b2YgQnVmZmVyU2l6ZSBkdWUgdG8gY3VycmVudCBpbnRlcnJ1cHQNCj4gbnVtYmVyIGxpbWl0Lg0K PiA+ICAgICAgICAgICAvLw0KPiA+ICAgICAgICAgICAqKERhdGFQdHIgKyAyICsgKCgqRGF0YVB0 ciAmIChCSVQ3fEJJVDYpKQ0KPiA+PiA2KSkgPSAoVUlOVDgpKElycUJ1ZmZzZXJTaXplICsgMTkp Ow0KPiA+IEBAIC00ODUsNyArNDg1LDcgQEAgVXBkYXRlUG9zc2libGVSZXNvdXJjZSAoDQo+ID4g ICAgIC8vDQo+ID4gICAgIERhdGFQdHIgKz0gTmV3UGtnTGVuZ3RoIC0gKDUgKyBJcnFCdWZmc2Vy U2l6ZSArDQo+IDIpOw0KPiA+ICAgICAvLw0KPiA+IC0gIC8vICAgMy4xIFBhdGNoIExlbmd0aCBi aXRbNzowXSBvZiBJbnRlcnJ1cHQNCj4gZGVzY2lycHRvciBwYXRjaCBpbnRlcnJ1cHQgZGVzY3Jp cHRvcg0KPiA+ICsgIC8vICAgMy4xIFBhdGNoIExlbmd0aCBiaXRbNzowXSBvZiBJbnRlcnJ1cHQN Cj4gZGVzY3JpcHRvciBwYXRjaCBpbnRlcnJ1cHQgZGVzY3JpcHRvcg0KPiA+ICAgICAvLw0KPiA+ ICAgICAqKERhdGFQdHIgKyAxKSA9IChVSU5UOCkoMiArIElycUJ1ZmZzZXJTaXplKTsNCj4gPiAg ICAgLy8NCj4gPiBAQCAtNDk4LDcgKzQ5OCw3IEBAIFVwZGF0ZVBvc3NpYmxlUmVzb3VyY2UgKA0K PiA+ICAgICBDb3B5TWVtKERhdGFQdHIgKyA1LCBJcnFCdWZmZXIsIElycUJ1ZmZzZXJTaXplKTsN Cj4gPg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIDQuIEp1bXAgb3ZlciBJbnRlcnJ1cHQgZGVzY2ly cHRvciBhbmQgUGF0Y2ggRU5EDQo+IFRhZywgc2V0IENoZWNrc3VtIGZpZWxkIHRvIDANCj4gPiAr ICAvLyA0LiBKdW1wIG92ZXIgSW50ZXJydXB0IGRlc2NyaXB0b3IgYW5kIFBhdGNoIEVORA0KPiBU YWcsIHNldCBDaGVja3N1bSBmaWVsZCB0byAwDQo+ID4gICAgIC8vDQo+ID4gICAgIERhdGFQdHIg ICAgICAgKz0gNSArIElycUJ1ZmZzZXJTaXplOw0KPiA+ICAgICAqRGF0YVB0ciAgICAgICA9IEFD UElfRU5EX1RBR19ERVNDUklQVE9SOw0KPiA+IEBAIC03MTUsNyArNzE1LDcgQEAgUHVibGlzaEFj cGlUYWJsZSAoDQo+ID4gICAgIG1UY2dOdnMtPklzU2hvcnRGb3JtUGtnTGVuZ3RoID0NCj4gSXNT aG9ydEZvcm1Qa2dMZW5ndGg7DQo+ID4NCj4gPiAgICAgLy8NCj4gPiAtICAvLyBQdWJsaXNoIHRo ZSBUUE0gQUNQSSB0YWJsZS4gVGFibGUgaXMgcmUtDQo+IGNoZWNrc3VtZWQuDQo+ID4gKyAgLy8g UHVibGlzaCB0aGUgVFBNIEFDUEkgdGFibGUuIFRhYmxlIGlzIHJlLQ0KPiBjaGVja3N1bW1lZC4N Cj4gPiAgICAgLy8NCj4gPiAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbA0KPiAoJmdF ZmlBY3BpVGFibGVQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKQ0KPiAmQWNwaVRhYmxlKTsN Cj4gPiAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPiBkaWZmIC0tZ2l0IGEvU2Vj dXJpdHlQa2cvVGNnL1RjZzJTbW0vVHBtLmFzbA0KPiBiL1NlY3VyaXR5UGtnL1RjZy9UY2cyU21t L1RwbS5hc2wNCj4gPiBpbmRleCA5YzRiOWFmYTQ2Li43YTkxNzA4YTFhIDEwMDY0NA0KPiA+IC0t LSBhL1NlY3VyaXR5UGtnL1RjZy9UY2cyU21tL1RwbS5hc2wNCj4gPiArKysgYi9TZWN1cml0eVBr Zy9UY2cvVGNnMlNtbS9UcG0uYXNsDQo+ID4gQEAgLTc2LDE3ICs3NiwxNyBAQCBEZWZpbml0aW9u QmxvY2sgKA0KPiA+ICAgICAgICAgRmllbGQgKFROVlMsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkNCj4gPiAgICAgICAgIHsNCj4gPiAgICAgICAgICAgUFBJTiwgICA4LCAgLy8gICBTb2Z0d2Fy ZSBTTUkgZm9yIFBoeXNpY2FsDQo+IFByZXNlbmNlIEludGVyZmFjZQ0KPiA+IC0gICAgICAgIFBQ SVAsICAgMzIsIC8vICAgVXNlZCBmb3Igc2F2ZSBwaHlzaWNhbA0KPiBwcmVzZW5jZSBwYXJhbXRl cg0KPiA+ICsgICAgICAgIFBQSVAsICAgMzIsIC8vICAgVXNlZCBmb3Igc2F2ZSBwaHlzaWNhbA0K PiBwcmVzZW5jZSBwYXJhbWV0ZXINCj4gPiAgICAgICAgICAgUFBSUCwgICAzMiwgLy8gICBQaHlz aWNhbCBQcmVzZW5jZSByZXF1ZXN0DQo+IG9wZXJhdGlvbiByZXNwb25zZQ0KPiA+ICAgICAgICAg ICBQUFJRLCAgIDMyLCAvLyAgIFBoeXNpY2FsIFByZXNlbmNlIHJlcXVlc3QNCj4gb3BlcmF0aW9u DQo+ID4gICAgICAgICAgIFBQUk0sICAgMzIsIC8vICAgUGh5c2ljYWwgUHJlc2VuY2UgcmVxdWVz dA0KPiBvcGVyYXRpb24gcGFyYW1ldGVyDQo+ID4gICAgICAgICAgIExQUFIsICAgMzIsIC8vICAg TGFzdCBQaHlzaWNhbCBQcmVzZW5jZQ0KPiByZXF1ZXN0IG9wZXJhdGlvbg0KPiA+ICAgICAgICAg ICBGUkVULCAgIDMyLCAvLyAgIFBoeXNpY2FsIFByZXNlbmNlIGZ1bmN0aW9uDQo+IHJldHVybiBj b2RlDQo+ID4gICAgICAgICAgIE1DSU4sICAgOCwgIC8vICAgU29mdHdhcmUgU01JIGZvciBNZW1v cnkNCj4gQ2xlYXIgSW50ZXJmYWNlDQo+ID4gLSAgICAgICAgTUNJUCwgICAzMiwgLy8gICBVc2Vk IGZvciBzYXZlIHRoZSBNb3INCj4gcGFyYW10ZXINCj4gPiArICAgICAgICBNQ0lQLCAgIDMyLCAv LyAgIFVzZWQgZm9yIHNhdmUgdGhlIE1vcg0KPiBwYXJhbWV0ZXINCj4gPiAgICAgICAgICAgTU9S RCwgICAzMiwgLy8gICBNZW1vcnkgT3ZlcndyaXRlIFJlcXVlc3QNCj4gRGF0YQ0KPiA+ICAgICAg ICAgICBNUkVULCAgIDMyLCAvLyAgIE1lbW9yeSBPdmVyd3JpdGUgZnVuY3Rpb24NCj4gcmV0dXJu IGNvZGUNCj4gPiAtICAgICAgICBVQ1JRLCAgIDMyLCAvLyAgIFBoeWljYWwgUHJlc2VuY2UgcmVx dWVzdA0KPiBvcGVyYXRpb24gdG8gR2V0IFVzZXIgQ29uZmlybWF0aW9uIFN0YXR1cw0KPiA+ICsg ICAgICAgIFVDUlEsICAgMzIsIC8vICAgUGh5c2ljYWwgUHJlc2VuY2UgcmVxdWVzdA0KPiBvcGVy YXRpb24gdG8gR2V0IFVzZXIgQ29uZmlybWF0aW9uIFN0YXR1cw0KPiA+ICAgICAgICAgICBJUlFO LCAgIDMyLCAvLyAgIElSUSBOdW1iZXIgZm9yIF9DUlMNCj4gPiAgICAgICAgICAgU0ZSQiwgICA4 ICAgLy8gICBJcyBzaG9ydGZvcm1lZCBQa2dsZW5ndGgNCj4gZm9yIHJlc291cmNlIGJ1ZmZlcg0K PiA+ICAgICAgICAgfQ0KPiA+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9UY2cvVGNnQ29u ZmlnRHhlL1RjZ0NvbmZpZ0RyaXZlci5jDQo+IGIvU2VjdXJpdHlQa2cvVGNnL1RjZ0NvbmZpZ0R4 ZS9UY2dDb25maWdEcml2ZXIuYw0KPiA+IGluZGV4IGZiMDY2MjRmZGIuLjgyMTA1NDgwNzcgMTAw NjQ0DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cvVGNnL1RjZ0NvbmZpZ0R4ZS9UY2dDb25maWdEcml2 ZXIuYw0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2dDb25maWdEeGUvVGNnQ29uZmlnRHJp dmVyLmMNCj4gPiBAQCAtMTcsNyArMTcsNyBAQCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItDQo+IENsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICAgICBAcmV0dmFsIEVGSV9BTFJFQURZX1NU QVJURUQgICAgVGhlIGRyaXZlciBhbHJlYWR5DQo+IGV4aXN0cyBpbiBzeXN0ZW0uDQo+ID4gICAg IEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICBGYWlsIHRvIGV4ZWN1dGUNCj4gZW50cnkg cG9pbnQgZHVlIHRvIGxhY2sgb2YgcmVzb3VyY2VzLg0KPiA+IC0gIEByZXR2YWwgRUZJX1NVQ0NF UyAgICAgICAgICAgICBBbGwgdGhlIHJlbGF0ZWQNCj4gcHJvdG9jb2xzIGFyZSBpbnN0YWxsZWQg b24gdGhlIGRyaXZlci4NCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgQWxs IHRoZSByZWxhdGVkDQo+IHByb3RvY29scyBhcmUgaW5zdGFsbGVkIG9uIHRoZSBkcml2ZXIuDQo+ ID4gICAgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICBGYWlsIHRvIGluc3RhbGwNCj4g cHJvdG9jb2xzIGFzIGluZGljYXRlZC4NCj4gPg0KPiA+ICAgKiovDQo+ID4gZGlmZiAtLWdpdCBh L1NlY3VyaXR5UGtnL1RjZy9UY2dEeGUvVGNnRHhlLmMNCj4gYi9TZWN1cml0eVBrZy9UY2cvVGNn RHhlL1RjZ0R4ZS5jDQo+ID4gaW5kZXggNmZlYjg4NjMwOC4uMzk5MGQxZTkzNyAxMDA2NDQNCj4g PiAtLS0gYS9TZWN1cml0eVBrZy9UY2cvVGNnRHhlL1RjZ0R4ZS5jDQo+ID4gKysrIGIvU2VjdXJp dHlQa2cvVGNnL1RjZ0R4ZS9UY2dEeGUuYw0KPiA+IEBAIC03OSw3ICs3OSw3IEBAIEVGSV9UQ0df Q0xJRU5UX0FDUElfVEFCTEUNCj4gbVRjZ0NsaWVudEFjcGlUZW1wbGF0ZSA9IHsNCj4gPg0KPiA+ ICAgLy8NCj4gPiAgIC8vIFRoZSBmb2xsb3dpbmcgRUZJX1RDR19TRVJWRVJfQUNQSV9UQUJMRSBk ZWZhdWx0DQo+IHNldHRpbmcgaXMganVzdCBvbmUgZXhhbXBsZSwNCj4gPiAtLy8gdGhlIFRQTSBk ZXZpY2UgY29ubmVjdGVzIHRvIExQQywgYW5kIGFsc28gZGVmaW5lZA0KPiB0aGUgQUNQSSBfVUlE IGFzIDB4RkYsDQo+ID4gKy8vIHRoZSBUUE0gZGV2aWNlIGNvbm5lY3RzIHRvIExQQywgYW5kIGFs c28gZGVmaW5lZA0KPiB0aGUgQUNQSSBfVUlEIGFzIDB4RkYsDQo+ID4gICAvLyB0aGlzIF9VSUQg Y2FuIGJlIGNoYW5nZWQgYW5kIHNob3VsZCBtYXRjaCB3aXRoDQo+IHRoZSBfVUlEIHNldHRpbmcg b2YgdGhlIFRQTQ0KPiA+ICAgLy8gQUNQSSBkZXZpY2Ugb2JqZWN0DQo+ID4gICAvLw0KPiA+IEBA IC0xMjI0LDcgKzEyMjQsNyBAQCBJbnN0YWxsQWNwaVRhYmxlICgNCj4gPiAgICAgICBtVGNnQ2xp ZW50QWNwaVRlbXBsYXRlLkhlYWRlci5DcmVhdG9ySWQNCj4gPSBQY2RHZXQzMiAoUGNkQWNwaURl ZmF1bHRDcmVhdG9ySWQpOw0KPiA+ICAgICAgIG1UY2dDbGllbnRBY3BpVGVtcGxhdGUuSGVhZGVy LkNyZWF0b3JSZXZpc2lvbg0KPiA9IFBjZEdldDMyIChQY2RBY3BpRGVmYXVsdENyZWF0b3JSZXZp c2lvbik7DQo+ID4gICAgICAgLy8NCj4gPiAtICAgIC8vIFRoZSBBQ1BJIHRhYmxlIG11c3QgYmUg Y2hlY2tzdW1lZCBiZWZvcmUNCj4gY2FsbGluZyB0aGUgSW5zdGFsbEFjcGlUYWJsZSgpDQo+ID4g KyAgICAvLyBUaGUgQUNQSSB0YWJsZSBtdXN0IGJlIGNoZWNrc3VtbWVkIGJlZm9yZQ0KPiBjYWxs aW5nIHRoZSBJbnN0YWxsQWNwaVRhYmxlKCkNCj4gPiAgICAgICAvLyBzZXJ2aWNlIG9mIHRoZSBB Q1BJIHRhYmxlIHByb3RvY29sIHRvDQo+IGluc3RhbGwgaXQuDQo+ID4gICAgICAgLy8NCj4gPiAg ICAgICBDaGVja3N1bSA9IENhbGN1bGF0ZUNoZWNrU3VtOCAoKFVJTlQ4DQo+ICopJm1UY2dDbGll bnRBY3BpVGVtcGxhdGUsIHNpemVvZg0KPiAobVRjZ0NsaWVudEFjcGlUZW1wbGF0ZSkpOw0KPiA+ IEBAIC0xMjQ0LDcgKzEyNDQsNyBAQCBJbnN0YWxsQWNwaVRhYmxlICgNCj4gPiAgICAgICBtVGNn U2VydmVyQWNwaVRlbXBsYXRlLkhlYWRlci5DcmVhdG9ySWQNCj4gPSBQY2RHZXQzMiAoUGNkQWNw aURlZmF1bHRDcmVhdG9ySWQpOw0KPiA+ICAgICAgIG1UY2dTZXJ2ZXJBY3BpVGVtcGxhdGUuSGVh ZGVyLkNyZWF0b3JSZXZpc2lvbg0KPiA9IFBjZEdldDMyIChQY2RBY3BpRGVmYXVsdENyZWF0b3JS ZXZpc2lvbik7DQo+ID4gICAgICAgLy8NCj4gPiAtICAgIC8vIFRoZSBBQ1BJIHRhYmxlIG11c3Qg YmUgY2hlY2tzdW1lZCBiZWZvcmUNCj4gY2FsbGluZyB0aGUgSW5zdGFsbEFjcGlUYWJsZSgpDQo+ ID4gKyAgICAvLyBUaGUgQUNQSSB0YWJsZSBtdXN0IGJlIGNoZWNrc3VtbWVkIGJlZm9yZQ0KPiBj YWxsaW5nIHRoZSBJbnN0YWxsQWNwaVRhYmxlKCkNCj4gPiAgICAgICAvLyBzZXJ2aWNlIG9mIHRo ZSBBQ1BJIHRhYmxlIHByb3RvY29sIHRvDQo+IGluc3RhbGwgaXQuDQo+ID4gICAgICAgLy8NCj4g PiAgICAgICBDaGVja3N1bSA9IENhbGN1bGF0ZUNoZWNrU3VtOCAoKFVJTlQ4DQo+ICopJm1UY2dT ZXJ2ZXJBY3BpVGVtcGxhdGUsIHNpemVvZg0KPiAobVRjZ1NlcnZlckFjcGlUZW1wbGF0ZSkpOw0K PiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9UY2cvVGNnUGVpL1RjZ1BlaS5jDQo+IGIvU2Vj dXJpdHlQa2cvVGNnL1RjZ1BlaS9UY2dQZWkuYw0KPiA+IGluZGV4IDBhZGZjYzUwYzUuLjI4NGZj Mzk0ZjAgMTAwNjQ0DQo+ID4gLS0tIGEvU2VjdXJpdHlQa2cvVGNnL1RjZ1BlaS9UY2dQZWkuYw0K PiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2dQZWkvVGNnUGVpLmMNCj4gPiBAQCAtODUsNyAr ODUsNyBAQCBQaHlzaWNhbFByZXNlbmNlUHBpTm90aWZ5Q2FsbGJhY2sgKA0KPiA+ICAgICApOw0K PiA+DQo+ID4gICAvKioNCj4gPiAtICBNZWFzdXJlIGFuZCByZWNvcmQgdGhlIEZpcm13YXJlIFZv bHVtIEluZm9ybWF0aW9uDQo+IG9uY2UgRnZJbmZvUFBJIGluc3RhbGwuDQo+ID4gKyAgTWVhc3Vy ZSBhbmQgcmVjb3JkIHRoZSBGaXJtd2FyZSBWb2x1bWUgSW5mb3JtYXRpb24NCj4gb25jZSBGdklu Zm9QUEkgaW5zdGFsbC4NCj4gPg0KPiA+ICAgICBAcGFyYW1baW5dIFBlaVNlcnZpY2VzICAgICAg IEFuIGluZGlyZWN0IHBvaW50ZXINCj4gdG8gdGhlIEVGSV9QRUlfU0VSVklDRVMgdGFibGUgcHVi bGlzaGVkIGJ5IHRoZSBQRUkNCj4gRm91bmRhdGlvbi4NCj4gPiAgICAgQHBhcmFtW2luXSBOb3Rp ZnlEZXNjcmlwdG9yICBBZGRyZXNzIG9mIHRoZQ0KPiBub3RpZmljYXRpb24gZGVzY3JpcHRvciBk YXRhIHN0cnVjdHVyZS4NCj4gPiBAQCAtOTcsMTQgKzk3LDE0IEBAIFBoeXNpY2FsUHJlc2VuY2VQ cGlOb3RpZnlDYWxsYmFjaw0KPiAoDQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAg IEVGSUFQSQ0KPiA+IC1GaXJtd2FyZVZvbG1lSW5mb1BwaU5vdGlmeUNhbGxiYWNrICgNCj4gPiAr RmlybXdhcmVWb2x1bWVJbmZvUHBpTm90aWZ5Q2FsbGJhY2sgKA0KPiA+ICAgICBJTiBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ICAgICBJTiBFRklfUEVJ X05PVElGWV9ERVNDUklQVE9SDQo+ICpOb3RpZnlEZXNjcmlwdG9yLA0KPiA+ICAgICBJTiBWT0lE ICAgICAgICAgICAgICAgICAgICAgICAgICAqUHBpDQo+ID4gICAgICk7DQo+ID4NCj4gPiAgIC8q Kg0KPiA+IC0gIFJlY29yZCBhbGwgbWVhc3VyZWQgRmlybXdhcmUgVm9sdW0gSW5mb3JtYXRpb24N Cj4gaW50byBhIEd1aWQgSG9iDQo+ID4gKyAgUmVjb3JkIGFsbCBtZWFzdXJlZCBGaXJtd2FyZSBW b2x1bWUgSW5mb3JtYXRpb24NCj4gaW50byBhIEd1aWQgSG9iDQo+ID4NCj4gPiAgICAgQHBhcmFt W2luXSBQZWlTZXJ2aWNlcyAgICAgICBBbiBpbmRpcmVjdCBwb2ludGVyDQo+IHRvIHRoZSBFRklf UEVJX1NFUlZJQ0VTIHRhYmxlIHB1Ymxpc2hlZCBieSB0aGUgUEVJDQo+IEZvdW5kYXRpb24uDQo+ ID4gICAgIEBwYXJhbVtpbl0gTm90aWZ5RGVzY3JpcHRvciAgQWRkcmVzcyBvZiB0aGUNCj4gbm90 aWZpY2F0aW9uIGRlc2NyaXB0b3IgZGF0YSBzdHJ1Y3R1cmUuDQo+ID4gQEAgLTEzMSwxMiArMTMx LDEyIEBAIEVGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1INCj4gbU5vdGlmeUxpc3RbXSA9IHsNCj4g PiAgICAgew0KPiA+ICAgICAgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfTk9USUZZX0NBTExCQUNL LA0KPiA+ICAgICAgICZnRWZpUGVpRmlybXdhcmVWb2x1bWVJbmZvUHBpR3VpZCwNCj4gPiAtICAg IEZpcm13YXJlVm9sbWVJbmZvUHBpTm90aWZ5Q2FsbGJhY2sNCj4gPiArICAgIEZpcm13YXJlVm9s dW1lSW5mb1BwaU5vdGlmeUNhbGxiYWNrDQo+ID4gICAgIH0sDQo+ID4gICAgIHsNCj4gPiAgICAg ICBFRklfUEVJX1BQSV9ERVNDUklQVE9SX05PVElGWV9DQUxMQkFDSywNCj4gPiAgICAgICAmZ0Vm aVBlaUZpcm13YXJlVm9sdW1lSW5mbzJQcGlHdWlkLA0KPiA+IC0gICAgRmlybXdhcmVWb2xtZUlu Zm9QcGlOb3RpZnlDYWxsYmFjaw0KPiA+ICsgICAgRmlybXdhcmVWb2x1bWVJbmZvUHBpTm90aWZ5 Q2FsbGJhY2sNCj4gPiAgICAgfSwNCj4gPiAgICAgew0KPiA+ICAgICAgIChFRklfUEVJX1BQSV9E RVNDUklQVE9SX05PVElGWV9DQUxMQkFDSyB8DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVS TUlOQVRFX0xJU1QpLA0KPiA+IEBAIC0xNDYsNyArMTQ2LDcgQEAgRUZJX1BFSV9OT1RJRllfREVT Q1JJUFRPUg0KPiBtTm90aWZ5TGlzdFtdID0gew0KPiA+ICAgfTsNCj4gPg0KPiA+ICAgLyoqDQo+ ID4gLSAgUmVjb3JkIGFsbCBtZWFzdXJlZCBGaXJtd2FyZSBWb2x1bSBJbmZvcm1hdGlvbg0KPiBp bnRvIGEgR3VpZCBIb2INCj4gPiArICBSZWNvcmQgYWxsIG1lYXN1cmVkIEZpcm13YXJlIFZvbHVl bSBJbmZvcm1hdGlvbg0KPiBpbnRvIGEgR3VpZCBIb2INCj4gDQo+IFR5cG8gIlZvbHVtZSINCj4g DQo+ID4gICAgIEd1aWQgSG9iIHBheWxvYWQgbGF5b3V0IGlzDQo+ID4NCj4gPiAgICAgICAgVUlO VDMyICoqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiBGSVJNV0FSRV9CTE9CIG51bWJlcg0K PiA+IEBAIC01MDEsNyArNTAxLDcgQEAgTWVhc3VyZU1haW5CaW9zICgNCj4gPiAgIH0NCj4gPg0K PiA+ICAgLyoqDQo+ID4gLSAgTWVhc3VyZSBhbmQgcmVjb3JkIHRoZSBGaXJtd2FyZSBWb2x1bSBJ bmZvcm1hdGlvbg0KPiBvbmNlIEZ2SW5mb1BQSSBpbnN0YWxsLg0KPiA+ICsgIE1lYXN1cmUgYW5k IHJlY29yZCB0aGUgRmlybXdhcmUgVm9sdWVtIEluZm9ybWF0aW9uDQo+IG9uY2UgRnZJbmZvUFBJ IGluc3RhbGwuDQo+IA0KPiBEaXR0byAiVm9sdW1lIg0KPiANCj4gPg0KPiA+ICAgICBAcGFyYW1b aW5dIFBlaVNlcnZpY2VzICAgICAgIEFuIGluZGlyZWN0IHBvaW50ZXINCj4gdG8gdGhlIEVGSV9Q RUlfU0VSVklDRVMgdGFibGUgcHVibGlzaGVkIGJ5IHRoZSBQRUkNCj4gRm91bmRhdGlvbi4NCj4g PiAgICAgQHBhcmFtW2luXSBOb3RpZnlEZXNjcmlwdG9yICBBZGRyZXNzIG9mIHRoZQ0KPiBub3Rp ZmljYXRpb24gZGVzY3JpcHRvciBkYXRhIHN0cnVjdHVyZS4NCj4gPiBAQCAtNTEzLDcgKzUxMyw3 IEBAIE1lYXN1cmVNYWluQmlvcyAoDQo+ID4gICAqKi8NCj4gPiAgIEVGSV9TVEFUVVMNCj4gPiAg IEVGSUFQSQ0KPiA+IC1GaXJtd2FyZVZvbG1lSW5mb1BwaU5vdGlmeUNhbGxiYWNrICgNCj4gPiAr RmlybXdhcmVWb2x1bWVJbmZvUHBpTm90aWZ5Q2FsbGJhY2sgKA0KPiA+ICAgICBJTiBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gPiAgICAgSU4gRUZJX1BF SV9OT1RJRllfREVTQ1JJUFRPUg0KPiAqTm90aWZ5RGVzY3JpcHRvciwNCj4gPiAgICAgSU4gVk9J RCAgICAgICAgICAgICAgICAgICAgICAgICAgICpQcGkNCj4gPiBAQCAtNjcyLDcgKzY3Miw3IEBA IFBoeXNpY2FsUHJlc2VuY2VQcGlOb3RpZnlDYWxsYmFjaw0KPiAoDQo+ID4gICB9DQo+ID4NCj4g PiAgIC8qKg0KPiA+IC0gIENoZWNrIGlmIFRQTSBjaGlwIGlzIGFjdGl2ZWF0ZWQgb3Igbm90Lg0K PiA+ICsgIENoZWNrIGlmIFRQTSBjaGlwIGlzIGFjdGl2YXRlZCBvciBub3QuDQo+ID4NCj4gPiAg ICAgQHBhcmFtW2luXSAgICAgIFBlaVNlcnZpY2VzICAgRGVzY3JpYmVzIHRoZSBsaXN0DQo+IG9m IHBvc3NpYmxlIFBFSSBTZXJ2aWNlcy4NCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBr Zy9UY2cvVGNnU21tL1RwbS5hc2wNCj4gYi9TZWN1cml0eVBrZy9UY2cvVGNnU21tL1RwbS5hc2wN Cj4gPiBpbmRleCA2ZGRjNDdhZTkxLi43MzkwNjdkYmVjIDEwMDY0NA0KPiA+IC0tLSBhL1NlY3Vy aXR5UGtnL1RjZy9UY2dTbW0vVHBtLmFzbA0KPiA+ICsrKyBiL1NlY3VyaXR5UGtnL1RjZy9UY2dT bW0vVHBtLmFzbA0KPiA+IEBAIC02NCwxNiArNjQsMTYgQEAgRGVmaW5pdGlvbkJsb2NrICgNCj4g PiAgICAgICAgIEZpZWxkIChUTlZTLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpDQo+ID4gICAg ICAgICB7DQo+ID4gICAgICAgICAgIFBQSU4sICAgOCwgIC8vICAgU29mdHdhcmUgU01JIGZvciBQ aHlzaWNhbA0KPiBQcmVzZW5jZSBJbnRlcmZhY2UNCj4gPiAtICAgICAgICBQUElQLCAgIDMyLCAv LyAgIFVzZWQgZm9yIHNhdmUgcGh5c2ljYWwNCj4gcHJlc2VuY2UgcGFyYW10ZXINCj4gPiArICAg ICAgICBQUElQLCAgIDMyLCAvLyAgIFVzZWQgZm9yIHNhdmUgcGh5c2ljYWwNCj4gcHJlc2VuY2Ug cGFyYW1ldGVyDQo+ID4gICAgICAgICAgIFBQUlAsICAgMzIsIC8vICAgUGh5c2ljYWwgUHJlc2Vu Y2UgcmVxdWVzdA0KPiBvcGVyYXRpb24gcmVzcG9uc2UNCj4gPiAgICAgICAgICAgUFBSUSwgICAz MiwgLy8gICBQaHlzaWNhbCBQcmVzZW5jZSByZXF1ZXN0DQo+IG9wZXJhdGlvbg0KPiA+ICAgICAg ICAgICBMUFBSLCAgIDMyLCAvLyAgIExhc3QgUGh5c2ljYWwgUHJlc2VuY2UNCj4gcmVxdWVzdCBv cGVyYXRpb24NCj4gPiAgICAgICAgICAgRlJFVCwgICAzMiwgLy8gICBQaHlzaWNhbCBQcmVzZW5j ZSBmdW5jdGlvbg0KPiByZXR1cm4gY29kZQ0KPiA+ICAgICAgICAgICBNQ0lOLCAgIDgsICAvLyAg IFNvZnR3YXJlIFNNSSBmb3IgTWVtb3J5DQo+IENsZWFyIEludGVyZmFjZQ0KPiA+IC0gICAgICAg IE1DSVAsICAgMzIsIC8vICAgVXNlZCBmb3Igc2F2ZSB0aGUgTW9yDQo+IHBhcmFtdGVyDQo+ID4g KyAgICAgICAgTUNJUCwgICAzMiwgLy8gICBVc2VkIGZvciBzYXZlIHRoZSBNb3INCj4gcGFyYW1l dGVyDQo+ID4gICAgICAgICAgIE1PUkQsICAgMzIsIC8vICAgTWVtb3J5IE92ZXJ3cml0ZSBSZXF1 ZXN0DQo+IERhdGENCj4gPiAgICAgICAgICAgTVJFVCwgICAzMiwgLy8gICBNZW1vcnkgT3Zlcndy aXRlIGZ1bmN0aW9uDQo+IHJldHVybiBjb2RlDQo+ID4gLSAgICAgICAgVUNSUSwgICAzMiAgLy8g ICBQaHlpY2FsIFByZXNlbmNlIHJlcXVlc3QNCj4gb3BlcmF0aW9uIHRvIEdldCBVc2VyIENvbmZp cm1hdGlvbiBTdGF0dXMNCj4gPiArICAgICAgICBVQ1JRLCAgIDMyICAvLyAgIFBoeXNpY2FsIFBy ZXNlbmNlIHJlcXVlc3QNCj4gb3BlcmF0aW9uIHRvIEdldCBVc2VyIENvbmZpcm1hdGlvbiBTdGF0 dXMNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+ICAgICAgICAgTWV0aG9kIChQVFMsIDEsIFNlcmlh bGl6ZWQpDQo+ID4gZGlmZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGlj YXRlZC9TZWN1cmVCb290Q29uZmlnRHhlDQo+IC9TZWN1cmVCb290Q29uZmlnRHJpdmVyLmMNCj4g Yi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0K PiAvU2VjdXJlQm9vdENvbmZpZ0RyaXZlci5jDQo+ID4gaW5kZXggNmMwMjk0MTUxZS4uODkzNmEw YTYzNCAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0 ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ0RyaXZlci5jDQo+ID4g KysrDQo+IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25m aWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdEcml2ZXIuYw0KPiA+IEBAIC0xNiw3ICsxNiw3IEBA IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi0NCj4gQ2xhdXNlLVBhdGVudA0KPiA+DQo+ ID4gICAgIEByZXR2YWwgRUZJX0FMUkVBRFlfU1RBUlRFRCAgICBUaGUgZHJpdmVyIGFscmVhZHkN Cj4gZXhpc3RzIGluIHN5c3RlbS4NCj4gPiAgICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNF UyAgIEZhaWwgdG8gZXhlY3V0ZQ0KPiBlbnRyeSBwb2ludCBkdWUgdG8gbGFjayBvZiByZXNvdXJj ZXMuDQo+ID4gLSAgQHJldHZhbCBFRklfU1VDQ0VTICAgICAgICAgICAgIEFsbCB0aGUgcmVsYXRl ZA0KPiBwcm90b2NvbHMgYXJlIGluc3RhbGxlZCBvbiB0aGUgZHJpdmVyLg0KPiA+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBBbGwgdGhlIHJlbGF0ZWQNCj4gcHJvdG9jb2xzIGFy ZSBpbnN0YWxsZWQgb24gdGhlIGRyaXZlci4NCj4gPiAgICAgQHJldHZhbCBPdGhlcnMgICAgICAg ICAgICAgICAgIEZhaWwgdG8gZ2V0IHRoZQ0KPiBTZWN1cmVCb290RW5hYmxlIHZhcmlhYmxlLg0K PiA+DQo+ID4gICAqKi8NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVB dXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdEeGUu aW5mDQo+IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25m aWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mDQo+ID4gaW5kZXggNTVhNDIzOTI1Mi4u NTczZWZhNjM3OSAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhl bnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ0R4ZS5pbmYN Cj4gPiArKysNCj4gYi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9v dENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ0R4ZS5pbmYNCj4gPiBAQCAtMSw1ICsxLDUg QEANCj4gPiAgICMjIEBmaWxlDQo+ID4gLSMgIFByb3ZpZGVzIHRoZSBjYXBiaWxpdHkgdG8gY29u ZmlndXJlIHNlY3VyZSBib290DQo+IGluIGEgc2V0dXAgYnJvd3Nlcg0KPiA+ICsjICBQcm92aWRl cyB0aGUgY2FwYWJpbGl0eSB0byBjb25maWd1cmUgc2VjdXJlIGJvb3QNCj4gaW4gYSBzZXR1cCBi cm93c2VyDQo+ID4gICAjICBCeSB0aGlzIG1vZHVsZSwgdXNlciBtYXkgY2hhbmdlIHRoZSBjb250 ZW50IG9mDQo+IERCLCBEQlgsIFBLIGFuZCBLRUsuDQo+ID4gICAjDQo+ID4gICAjIENvcHlyaWdo dCAoYykgMjAxMSAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50 aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdEeGUudW5pDQo+ IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUN Cj4gL1NlY3VyZUJvb3RDb25maWdEeGUudW5pDQo+ID4gaW5kZXggNTYwOTdkZWVlNS4uNGU5YzZm M2ZmNyAxMDA2NDQNCj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0 ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ0R4ZS51bmkNCj4gPiAr KysNCj4gYi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZp Z0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ0R4ZS51bmkNCj4gPiBAQCAtMSw1ICsxLDUgQEANCj4g PiAgIC8vIC8qKiBAZmlsZQ0KPiA+IC0vLyBQcm92aWRlcyB0aGUgY2FwYmlsaXR5IHRvIGNvbmZp Z3VyZSBzZWN1cmUgYm9vdA0KPiBpbiBhIHNldHVwIGJyb3dzZXINCj4gPiArLy8gUHJvdmlkZXMg dGhlIGNhcGFiaWxpdHkgdG8gY29uZmlndXJlIHNlY3VyZSBib290DQo+IGluIGEgc2V0dXAgYnJv d3Nlcg0KPiA+ICAgLy8NCj4gPiAgIC8vIEJ5IHRoaXMgbW9kdWxlLCB1c2VyIG1heSBjaGFuZ2Ug dGhlIGNvbnRlbnQgb2YNCj4gREIsIERCWCwgUEsgYW5kIEtFSy4NCj4gPiAgIC8vDQo+ID4gZGlm ZiAtLWdpdA0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290 Q29uZmlnRHhlDQo+IC9TZWN1cmVCb290Q29uZmlnSW1wbC5jDQo+IGIvU2VjdXJpdHlQa2cvVmFy aWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25m aWdJbXBsLmMNCj4gPiBpbmRleCBhMTUwMzhkYTEyLi44MzQ5N2EyM2Y1IDEwMDY0NA0KPiA+IC0t LQ0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmln RHhlDQo+IC9TZWN1cmVCb290Q29uZmlnSW1wbC5jDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQa2cv VmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RD b25maWdJbXBsLmMNCj4gPiBAQCAtMjM0LDcgKzIzNCw3IEBAIFNhdmVTZWN1cmVCb290VmFyaWFi bGUgKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCdzIGNhbGxl cidzDQo+IHJlc3BvbnNpYmlsaXR5IHRvIGZyZWUgdGhlIG1lbW9yeSB3aGVuIGZpbmlzaCB1c2lu ZyBpdC4NCj4gPg0KPiA+ICAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBDcmVh dGUgdGltZQ0KPiBiYXNlZCBwYXlsb2FkIHN1Y2Nlc3NmdWxseS4NCj4gPiAtICBAcmV0dmFsIEVG SV9PVVRfT0ZfUkVTT1VSQ0VTICAgICBUaGVyZSBhcmUgbm90DQo+IGVub3VnaCBtZW1vcnkgcmVz b3Vyc2VzIHRvIGNyZWF0ZSB0aW1lIGJhc2VkIHBheWxvYWQuDQo+ID4gKyAgQHJldHZhbCBFRklf T1VUX09GX1JFU09VUkNFUyAgICAgVGhlcmUgYXJlIG5vdA0KPiBlbm91Z2ggbWVtb3J5IHJlc291 cmNlcyB0byBjcmVhdGUgdGltZSBiYXNlZCBwYXlsb2FkLg0KPiA+ICAgICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgICBUaGUgcGFyYW1ldGVyIGlzDQo+IGludmFsaWQuDQo+ID4gICAg IEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFVuZXhwZWN0ZWQgZXJyb3INCj4gaGFw cGVucy4NCj4gPg0KPiA+IEBAIC0zOTAsNyArMzkwLDcgQEAgU2V0U2VjdXJlQm9vdE1vZGUgKA0K PiA+ICAgICBAcGFyYW1bb3V0XSAgUGtDZXJ0ICAgICAgICAgICAgICAgIFBvaW50IHRvIHRoZQ0K PiBkYXRhIGJ1ZmZlciB0byBzdG9yZSB0aGUgc2lnbmF0dXJlIGxpc3QuDQo+ID4NCj4gPiAgICAg QHJldHVybiBFRklfVU5TVVBQT1JURUQgICAgICAgICAgICBVbnN1cHBvcnRlZA0KPiBLZXkgTGVu Z3RoLg0KPiA+IC0gIEByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVMgICAgICAgVGhlcmUgYXJl IG5vdA0KPiBlbm91Z2ggbWVtb3J5IHJlc291cnNlcyB0byBmb3JtIHRoZSBzaWduYXR1cmUgbGlz dC4NCj4gPiArICBAcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICAgIFRoZXJlIGFyZSBu b3QNCj4gZW5vdWdoIG1lbW9yeSByZXNvdXJjZXMgdG8gZm9ybSB0aGUgc2lnbmF0dXJlIGxpc3Qu DQo+ID4NCj4gPiAgICoqLw0KPiA+ICAgRUZJX1NUQVRVUw0KPiA+IEBAIC01MDcsNyArNTA3LDcg QEAgRW5yb2xsUGxhdGZvcm1LZXkgKA0KPiA+ICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJGaWxl UG9zdEZpeCA9ICVzXG4iLA0KPiBGaWxlUG9zdEZpeCkpOw0KPiA+DQo+ID4gICAgIC8vDQo+ID4g LSAgLy8gUHJhc2UgdGhlIHNlbGVjdGVkIFBLIGZpbGUgYW5kIGdlbmVyYXR1cmUgUEsNCj4gY2Vy dGlmaWNhdGUgbGlzdC4NCj4gPiArICAvLyBQcmFzZSB0aGUgc2VsZWN0ZWQgUEsgZmlsZSBhbmQg Z2VuZXJhdGUgUEsNCj4gY2VydGlmaWNhdGUgbGlzdC4NCj4gPiAgICAgLy8NCj4gPiAgICAgU3Rh dHVzID0gQ3JlYXRlUGtYNTA5U2lnbmF0dXJlTGlzdCAoDQo+ID4gICAgICAgICAgICAgICBQcml2 YXRlLT5GaWxlQ29udGV4dC0+RkhhbmRsZSwNCj4gPiBAQCAtMTA4OCw3ICsxMDg4LDcgQEAgSXNT aWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KPiA+ICAgICB9DQo+ID4NCj4gPiAgICAgLy8NCj4g PiAtICAvLyBFbnVtZXJhdGUgYWxsIHNpZ25hdHVyZSBkYXRhIGluIFNpZ0RCIHRvIGNoZWNrDQo+ IGlmIGV4ZWN1dGFibGUncyBzaWduYXR1cmUgZXhpc3RzLg0KPiA+ICsgIC8vIEVudW1lcmF0ZSBh bGwgc2lnbmF0dXJlIGRhdGEgaW4gU2lnREIgdG8gY2hlY2sNCj4gaWYgc2lnbmF0dXJlIGV4aXN0 cyBmb3IgZXhlY3V0YWJsZS4NCj4gPiAgICAgLy8NCj4gPiAgICAgQ2VydExpc3QgPSAoRUZJX1NJ R05BVFVSRV9MSVNUICopIERhdGE7DQo+ID4gICAgIHdoaWxlICgoRGF0YVNpemUgPiAwKSAmJiAo RGF0YVNpemUgPj0gQ2VydExpc3QtDQo+ID5TaWduYXR1cmVMaXN0U2l6ZSkpIHsNCj4gPiBAQCAt MTMxMiw3ICsxMzEyLDcgQEAgRG9uZToNCj4gPiAgIC8qKg0KPiA+ICAgICBDaGVjayB3aGV0aGVy IHRoZSBzaWduYXR1cmUgbGlzdCBleGlzdHMgaW4gZ2l2ZW4NCj4gdmFyaWFibGUgZGF0YS4NCj4g Pg0KPiA+IC0gIEl0IHNlYXJjaGVzIHRoZSBzaWduYXR1cmUgbGlzdCBmb3IgdGhlDQo+IGNlcml0 aWZpY2F0ZSBoYXNoIGJ5IENlcnRUeXBlLg0KPiA+ICsgIEl0IHNlYXJjaGVzIHRoZSBzaWduYXR1 cmUgbGlzdCBmb3IgdGhlIGNlcnRpZmljYXRlDQo+IGhhc2ggYnkgQ2VydFR5cGUuDQo+ID4gICAg IElmIHRoZSBzaWduYXR1cmUgbGlzdCBpcyBmb3VuZCwgZ2V0IHRoZSBvZmZzZXQgb2YNCj4gRGF0 YWJhc2UgZm9yIHRoZQ0KPiA+ICAgICBuZXh0IGhhc2ggb2YgYSBjZXJ0aWZpY2F0ZS4NCj4gPg0K PiA+IEBAIC0yMTA3LDcgKzIxMDcsNyBAQCBIYXNoUGVJbWFnZUJ5VHlwZSAoDQo+ID4gICB9DQo+ ID4NCj4gPiAgIC8qKg0KPiA+IC0gIEVucm9sbCBhIG5ldyBleGVjdXRhYmxlJ3Mgc2lnbmF0dXJl IGludG8gU2lnbmF0dXJlDQo+IERhdGFiYXNlLg0KPiA+ICsgIEVucm9sbCBhIG5ldyBzaWduYXR1 cmUgb2YgZXhlY3V0YWJsZSBpbnRvDQo+IFNpZ25hdHVyZSBEYXRhYmFzZS4NCj4gPg0KPiA+ICAg ICBAcGFyYW1baW5dIFByaXZhdGVEYXRhICAgICBUaGUgbW9kdWxlJ3MgcHJpdmF0ZQ0KPiBkYXRh Lg0KPiA+ICAgICBAcGFyYW1baW5dIFZhcmlhYmxlTmFtZSAgICBWYXJpYWJsZSBuYW1lIG9mDQo+ IHNpZ25hdHVyZSBkYXRhYmFzZSwgbXVzdCBiZQ0KPiA+IEBAIC0yMTc3LDcgKzIxNzcsNyBAQCBF bnJvbGxBdXRoZW50aWNhdGlvbjJEZXNjcmlwdG9yDQo+ICgNCj4gPiAgICAgfQ0KPiA+DQo+ID4g ICAgIC8vDQo+ID4gLSAgLy8gRGlyZXRseSBzZXQgQVVUSEVOVElDQVRJT05fMiBkYXRhIHRvDQo+ IFNldFZhcmlhYmxlDQo+ID4gKyAgLy8gRGlyZWN0bHkgc2V0IEFVVEhFTlRJQ0FUSU9OXzIgZGF0 YSB0bw0KPiBTZXRWYXJpYWJsZQ0KPiA+ICAgICAvLw0KPiA+ICAgICBTdGF0dXMgPSBnUlQtPlNl dFZhcmlhYmxlKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1lLA0KPiA+IEBA IC0yMjA4LDcgKzIyMDgsNyBAQCBPTl9FWElUOg0KPiA+DQo+ID4NCj4gPiAgIC8qKg0KPiA+IC0g IEVucm9sbCBhIG5ldyBleGVjdXRhYmxlJ3Mgc2lnbmF0dXJlIGludG8gU2lnbmF0dXJlDQo+IERh dGFiYXNlLg0KPiA+ICsgIEVucm9sbCBhIG5ldyBzaWduYXR1cmUgb2YgZXhlY3V0YWJsZSBpbnRv DQo+IFNpZ25hdHVyZSBEYXRhYmFzZS4NCj4gPg0KPiA+ICAgICBAcGFyYW1baW5dIFByaXZhdGVE YXRhICAgICBUaGUgbW9kdWxlJ3MgcHJpdmF0ZQ0KPiBkYXRhLg0KPiA+ICAgICBAcGFyYW1baW5d IFZhcmlhYmxlTmFtZSAgICBWYXJpYWJsZSBuYW1lIG9mDQo+IHNpZ25hdHVyZSBkYXRhYmFzZSwg bXVzdCBiZQ0KPiA+IEBAIC0yMjQ3LDcgKzIyNDcsNyBAQCBFbnJvbGxJbWFnZVNpZ25hdHVyZVRv U2lnREIgKA0KPiA+ICAgICAvLyBGb3JtIHRoZSBTaWdEQiBjZXJ0aWZpY2F0ZSBsaXN0Lg0KPiA+ ICAgICAvLyBGb3JtYXQgdGhlIGRhdGEgaXRlbSBpbnRvIEVGSV9TSUdOQVRVUkVfTElTVA0KPiB0 eXBlLg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIFdlIG5lZWQgdG8gcGFyc2UgZXhlY3V0YWJsZSdz IHNpZ25hdHVyZSBkYXRhDQo+IGZyb20gc3BlY2lmaWVkIHNpZ25lZCBleGVjdXRhYmxlIGZpbGUu DQo+ID4gKyAgLy8gV2UgbmVlZCB0byBwYXJzZSBzaWduYXR1cmUgZGF0YSBvZiBleGVjdXRhYmxl DQo+IGZyb20gc3BlY2lmaWVkIHNpZ25lZCBleGVjdXRhYmxlIGZpbGUuDQo+ID4gICAgIC8vIElu IGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHdlIHNpbXBseSB0cnVzdCB0aGUNCj4gcGFzcy1pbiBz aWduZWQgZXhlY3V0YWJsZSBmaWxlLg0KPiA+ICAgICAvLyBJbiByZWFsaXR5LCBpdCdzIE9TJ3Mg cmVzcG9uc2liaWxpdHkgdG8gdmVyaWZ5DQo+IHRoZSBzaWduZWQgZXhlY3V0YWJsZSBmaWxlLg0K PiA+ICAgICAvLw0KPiA+IEBAIC0zMjY5LDcgKzMyNjksNyBAQA0KPiBTZWN1cmVCb290RXh0cmFj dENvbmZpZ0Zyb21WYXJpYWJsZSAoDQo+ID4gICAgIFNlY3VyZUJvb3RNb2RlICAgPSBOVUxMOw0K PiA+DQo+ID4gICAgIC8vDQo+ID4gLSAgLy8gSW5pdGlsaXplIHRoZSBEYXRlIGFuZCBUaW1lIHVz aW5nIHN5c3RlbSB0aW1lLg0KPiA+ICsgIC8vIEluaXRpYWxpemUgdGhlIERhdGUgYW5kIFRpbWUg dXNpbmcgc3lzdGVtIHRpbWUuDQo+ID4gICAgIC8vDQo+ID4gICAgIENvbmZpZ0RhdGEtPkNlcnRp ZmljYXRlRm9ybWF0ID0gSEFTSEFMR19SQVc7DQo+ID4gICAgIENvbmZpZ0RhdGEtPkFsd2F5c1Jl dm9jYXRpb24gPSBUUlVFOw0KPiA+IEBAIC0zMzA2LDcgKzMzMDYsNyBAQA0KPiBTZWN1cmVCb290 RXh0cmFjdENvbmZpZ0Zyb21WYXJpYWJsZSAoDQo+ID4gICAgIH0NCj4gPg0KPiA+ICAgICAvLw0K PiA+IC0gIC8vIENoZWNrIFNlY3VyZUJvb3RFbmFibGUgJiBQayBzdGF0dXMsIGZpeCB0aGUNCj4g aW5jb25zaXN0ZW5jZS4NCj4gPiArICAvLyBDaGVjayBTZWN1cmVCb290RW5hYmxlICYgUGsgc3Rh dHVzLCBmaXggdGhlDQo+IGluY29uc2lzdGVuY3kuDQo+ID4gICAgIC8vIElmIHRoZSBTZWN1cmVC b290RW5hYmxlIFZhcmlhYmxlIGRvZXNuJ3QNCj4gZXhpc3QsIGhpZGUgdGhlIFNlY3VyZUJvb3Qg RW5hYmxlL0Rpc2FibGUNCj4gPiAgICAgLy8gQ2hlY2tib3guDQo+ID4gICAgIC8vDQo+ID4gQEAg LTMzMTQsNyArMzMxNCw3IEBADQo+IFNlY3VyZUJvb3RFeHRyYWN0Q29uZmlnRnJvbVZhcmlhYmxl ICgNCj4gPiAgICAgR2V0VmFyaWFibGUyIChFRklfU0VDVVJFX0JPT1RfRU5BQkxFX05BTUUsDQo+ ICZnRWZpU2VjdXJlQm9vdEVuYWJsZURpc2FibGVHdWlkLA0KPiAoVk9JRCoqKSZTZWN1cmVCb290 RW5hYmxlLCBOVUxMKTsNCj4gPg0KPiA+ICAgICAvLw0KPiA+IC0gIC8vIEZpeCBQaywgU2VjdXJl Qm9vdEVuYWJsZSBpbmNvbnNpc3RlbmNlDQo+ID4gKyAgLy8gRml4IFBrIGFuZCBTZWN1cmVCb290 RW5hYmxlIGluY29uc2lzdGVuY3kNCj4gPiAgICAgLy8NCj4gPiAgICAgaWYgKChTZXR1cE1vZGUg IT0gTlVMTCkgJiYgKCpTZXR1cE1vZGUpID09DQo+IFVTRVJfTU9ERSkgew0KPiA+ICAgICAgIENv bmZpZ0RhdGEtPkhpZGVTZWN1cmVCb290ID0gRkFMU0U7DQo+ID4gZGlmZiAtLWdpdA0KPiBhL1Nl Y3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlDQo+IC9T ZWN1cmVCb290Q29uZmlnSW1wbC5oDQo+IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNh dGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdJbXBsLmgNCj4gPiBp bmRleCAzMmU5NjE5ZTkxLi4xZmFmYWUwN2FjIDEwMDY0NA0KPiA+IC0tLQ0KPiBhL1NlY3VyaXR5 UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlDQo+IC9TZWN1cmVC b290Q29uZmlnSW1wbC5oDQo+ID4gKysrDQo+IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50 aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdJbXBsLmgNCj4g PiBAQCAtMTcyLDcgKzE3Miw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgICAgQ1VSUkVOVF9W QVJJQUJMRV9OQU1FICAgICAgICAgICAgIFZhcmlhYmxlTmFtZTsNCj4gLy8gVGhlIHZhcmlhYmxl IG5hbWUgd2UgYXJlIHByb2Nlc3NpbmcuDQo+ID4gICAgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0Q291bnQ7DQo+IC8vIFJlY29yZCBjdXJyZW50IHZhcmlhYmxlIGhhcyBo b3cgbWFueSBzaWduYXR1cmUgbGlzdC4NCj4gPiAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3RJbmRleDsNCj4gLy8gUmVjb3JkIHdoaWNoIHNpZ25hdHVyZSBsaXN0IGlz IHByb2Nlc3NpbmcuDQo+ID4gLSAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICpD aGVja0FycmF5Ow0KPiAvLyBSZWNvcmQgd2hjaWggc2lnYW50dXJlIGRhdGEgY2hlY2tlZC4NCj4g PiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgKkNoZWNrQXJyYXk7DQo+IC8v IFJlY29yZCB3aGljaCBzaWduYXR1cmUgZGF0YSBjaGVja2VkLg0KPiANCj4gTmljZSBkeXNsZXhp YSByZXN1bHQuDQo+IA0KPiA+ICAgfSBTRUNVUkVCT09UX0NPTkZJR19QUklWQVRFX0RBVEE7DQo+ ID4NCj4gPiAgIGV4dGVybiBTRUNVUkVCT09UX0NPTkZJR19QUklWQVRFX0RBVEENCj4gbVNlY3Vy ZUJvb3RDb25maWdQcml2YXRlRGF0ZVRlbXBsYXRlOw0KPiA+IEBAIC0xODIsNyArMTgyLDcgQEAg ZXh0ZXJuDQo+IFNFQ1VSRUJPT1RfQ09ORklHX1BSSVZBVEVfREFUQQ0KPiAqZ1NlY3VyZUJvb3RQ cml2YXRlRGF0YTsNCj4gPiAgICNkZWZpbmUgU0VDVVJFQk9PVF9DT05GSUdfUFJJVkFURV9GUk9N X1RISVMoYSkgIENSDQo+IChhLCBTRUNVUkVCT09UX0NPTkZJR19QUklWQVRFX0RBVEEsIENvbmZp Z0FjY2VzcywNCj4gU0VDVVJFQk9PVF9DT05GSUdfUFJJVkFURV9EQVRBX1NJR05BVFVSRSkNCj4g Pg0KPiA+ICAgLy8NCj4gPiAtLy8gQ3J5cHRvZ3JhaHBpYyBLZXkgSW5mb3JtYXRpb24NCj4gPiAr Ly8gQ3J5cHRvZ3JhcGhpYyBLZXkgSW5mb3JtYXRpb24NCj4gPiAgIC8vDQo+ID4gICAjcHJhZ21h IHBhY2soMSkNCj4gPiAgIHR5cGVkZWYgc3RydWN0IF9DUExfS0VZX0lORk8gew0KPiA+IEBAIC00 NDgsMTIgKzQ0OCwxMiBAQCBDbGVhblVwUGFnZSAoDQo+ID4NCj4gPiAgIC8qKg0KPiA+ICAgICBS ZWFkIGZpbGUgY29udGVudCBpbnRvIEJ1ZmZlclB0ciwgdGhlIHNpemUgb2YgdGhlDQo+IGFsbG9j YXRlIGJ1ZmZlcg0KPiA+IC0gIGlzICpGaWxlU2l6ZSBwbHVzIEFkZHRpb25BbGxvY2F0ZVNpemUu DQo+ID4gKyAgaXMgKkZpbGVTaXplIHBsdXMgQWRkaXRpb25BbGxvY2F0ZVNpemUuDQo+ID4NCj4g PiAgICAgQHBhcmFtW2luXSAgICAgICBGaWxlSGFuZGxlICAgICAgICAgICAgVGhlIGZpbGUNCj4g dG8gYmUgcmVhZC4NCj4gPiAgICAgQHBhcmFtW2luLCBvdXRdICBCdWZmZXJQdHIgICAgICAgICAg ICAgUG9pbnRlcnMNCj4gdG8gdGhlIHBvaW50ZXIgb2YgYWxsb2NhdGVkIGJ1ZmZlci4NCj4gPiAg ICAgQHBhcmFtW291dF0gICAgICBGaWxlU2l6ZSAgICAgICAgICAgICAgU2l6ZSBvZg0KPiBpbnB1 dCBmaWxlDQo+ID4gLSAgQHBhcmFtW2luXSAgICAgICBBZGR0aW9uQWxsb2NhdGVTaXplICAgQWRk dGlvbg0KPiBzaXplIHRoZSBidWZmZXIgbmVlZCB0byBiZSBhbGxvY2F0ZWQuDQo+ID4gKyAgQHBh cmFtW2luXSAgICAgICBBZGRpdGlvbkFsbG9jYXRlU2l6ZSAgIEFkZGl0aW9uDQo+IHNpemUgdGhl IGJ1ZmZlciBuZWVkIHRvIGJlIGFsbG9jYXRlZC4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSW4gY2FzZQ0KPiB0aGUgYnVmZmVyIG5lZWQgdG8gY29udGFp biBvdGhlcnMgYmVzaWRlcyB0aGUgZmlsZQ0KPiBjb250ZW50Lg0KPiA+DQo+ID4gICAgIEByZXR2 YWwgICBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAgIFRoZSBmaWxlDQo+IHdhcyByZWFkIGlu dG8gdGhlIGJ1ZmZlci4NCj4gPiBAQCAtNDY3LDcgKzQ2Nyw3IEBAIFJlYWRGaWxlQ29udGVudCAo DQo+ID4gICAgIElOICAgICAgRUZJX0ZJTEVfSEFORExFICAgICAgICAgICBGaWxlSGFuZGxlLA0K PiA+ICAgICBJTiBPVVQgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgKipCdWZmZXJQdHIsDQo+ ID4gICAgICAgIE9VVCAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAqRmlsZVNpemUsDQo+ID4g LSAgSU4gICAgICBVSU5UTg0KPiBBZGR0aW9uQWxsb2NhdGVTaXplDQo+ID4gKyAgSU4gICAgICBV SU5UTg0KPiBBZGRpdGlvbkFsbG9jYXRlU2l6ZQ0KPiA+ICAgICApOw0KPiA+DQo+ID4NCj4gPiBk aWZmIC0tZ2l0DQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJv b3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdNaXNjLmMNCj4gYi9TZWN1cml0eVBrZy9W YXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENv bmZpZ01pc2MuYw0KPiA+IGluZGV4IGY1Y2U5NGUwNmQuLjM3MzBmYmU2NDYgMTAwNjQ0DQo+ID4g LS0tDQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25m aWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdNaXNjLmMNCj4gPiArKysNCj4gYi9TZWN1cml0eVBr Zy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9v dENvbmZpZ01pc2MuYw0KPiA+IEBAIC0xMCwxMiArMTAsMTIgQEAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLQ0KPiBDbGF1c2UtUGF0ZW50DQo+ID4NCj4gPiAgIC8qKg0KPiA+ICAgICBS ZWFkIGZpbGUgY29udGVudCBpbnRvIEJ1ZmZlclB0ciwgdGhlIHNpemUgb2YgdGhlDQo+IGFsbG9j YXRlIGJ1ZmZlcg0KPiA+IC0gIGlzICpGaWxlU2l6ZSBwbHVzIEFkZHRpb25BbGxvY2F0ZVNpemUu DQo+ID4gKyAgaXMgKkZpbGVTaXplIHBsdXMgQWRkaXRpb25BbGxvY2F0ZVNpemUuDQo+ID4NCj4g PiAgICAgQHBhcmFtW2luXSAgICAgICBGaWxlSGFuZGxlICAgICAgICAgICAgVGhlIGZpbGUNCj4g dG8gYmUgcmVhZC4NCj4gPiAgICAgQHBhcmFtW2luLCBvdXRdICBCdWZmZXJQdHIgICAgICAgICAg ICAgUG9pbnRlcnMNCj4gdG8gdGhlIHBvaW50ZXIgb2YgYWxsb2NhdGVkIGJ1ZmZlci4NCj4gPiAg ICAgQHBhcmFtW291dF0gICAgICBGaWxlU2l6ZSAgICAgICAgICAgICAgU2l6ZSBvZg0KPiBpbnB1 dCBmaWxlDQo+ID4gLSAgQHBhcmFtW2luXSAgICAgICBBZGR0aW9uQWxsb2NhdGVTaXplICAgQWRk dGlvbg0KPiBzaXplIHRoZSBidWZmZXIgbmVlZCB0byBiZSBhbGxvY2F0ZWQuDQo+ID4gKyAgQHBh cmFtW2luXSAgICAgICBBZGRpdGlvbkFsbG9jYXRlU2l6ZSAgIEFkZGl0aW9uDQo+IHNpemUgdGhl IGJ1ZmZlciBuZWVkIHRvIGJlIGFsbG9jYXRlZC4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSW4gY2FzZQ0KPiB0aGUgYnVmZmVyIG5lZWQgdG8gY29udGFp biBvdGhlcnMgYmVzaWRlcyB0aGUgZmlsZQ0KPiBjb250ZW50Lg0KPiA+DQo+ID4gICAgIEByZXR2 YWwgICBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAgIFRoZSBmaWxlDQo+IHdhcyByZWFkIGlu dG8gdGhlIGJ1ZmZlci4NCj4gPiBAQCAtMjksNyArMjksNyBAQCBSZWFkRmlsZUNvbnRlbnQgKA0K PiA+ICAgICBJTiAgICAgIEVGSV9GSUxFX0hBTkRMRSAgICAgICAgICAgRmlsZUhhbmRsZSwNCj4g PiAgICAgSU4gT1VUICBWT0lEICAgICAgICAgICAgICAgICAgICAgICoqQnVmZmVyUHRyLA0KPiA+ ICAgICAgICBPVVQgIFVJTlROICAgICAgICAgICAgICAgICAgICAgKkZpbGVTaXplLA0KPiA+IC0g IElOICAgICAgVUlOVE4NCj4gQWRkdGlvbkFsbG9jYXRlU2l6ZQ0KPiA+ICsgIElOICAgICAgVUlO VE4NCj4gQWRkaXRpb25BbGxvY2F0ZVNpemUNCj4gPiAgICAgKQ0KPiA+DQo+ID4gICB7DQo+ID4g QEAgLTYyLDcgKzYyLDcgQEAgUmVhZEZpbGVDb250ZW50ICgNCj4gPiAgICAgICBnb3RvIE9OX0VY SVQ7DQo+ID4gICAgIH0NCj4gPg0KPiA+IC0gIEJ1ZmZlclNpemUgPSAoVUlOVE4pIFNvdXJjZUZp bGVTaXplICsNCj4gQWRkdGlvbkFsbG9jYXRlU2l6ZTsNCj4gPiArICBCdWZmZXJTaXplID0gKFVJ TlROKSBTb3VyY2VGaWxlU2l6ZSArDQo+IEFkZGl0aW9uQWxsb2NhdGVTaXplOw0KPiA+ICAgICBC dWZmZXIgPSAgQWxsb2NhdGVaZXJvUG9vbChCdWZmZXJTaXplKTsNCj4gPiAgICAgaWYgKEJ1ZmZl ciA9PSBOVUxMKSB7DQo+ID4gICAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiA+ IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJl Qm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ052RGF0YS5oDQo+IGIvU2VjdXJpdHlQ a2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4gL1NlY3VyZUJv b3RDb25maWdOdkRhdGEuaA0KPiA+IGluZGV4IDhlYTU1MWQ4OGUuLjZlNTRhNGIwZjIgMTAwNjQ0 DQo+ID4gLS0tDQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJv b3RDb25maWdEeGUNCj4gL1NlY3VyZUJvb3RDb25maWdOdkRhdGEuaA0KPiA+ICsrKw0KPiBiL1Nl Y3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlDQo+IC9T ZWN1cmVCb290Q29uZmlnTnZEYXRhLmgNCj4gPiBAQCAtMTIyLDcgKzEyMiw3IEBAIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi0NCj4gQ2xhdXNlLVBhdGVudA0KPiA+ICAgLy8NCj4gPiAg IHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgICAgQk9PTEVBTiBBdHRlbXB0U2VjdXJlQm9vdDsgICAv LyBBdHRlbXB0IHRvDQo+IGVuYWJsZS9kaXNhYmxlIFNlY3VyZSBCb290DQo+ID4gLSAgQk9PTEVB TiBIaWRlU2VjdXJlQm9vdDsgICAgICAvLyBIaWRlbiBBdHRlbXB0DQo+IFNlY3VyZSBCb290DQo+ ID4gKyAgQk9PTEVBTiBIaWRlU2VjdXJlQm9vdDsgICAgICAvLyBIaWRkZW4gQXR0ZW1wdA0KPiBT ZWN1cmUgQm9vdA0KPiA+ICAgICBDSEFSMTYNCj4gU2lnbmF0dXJlR3VpZFtTRUNVUkVfQk9PVF9H VUlEX1NUT1JBR0VfU0laRV07DQo+ID4gICAgIEJPT0xFQU4gUGh5c2ljYWxQcmVzZW50OyAgICAg Ly8gSWYgYSBQaHlzaWNhbA0KPiBQcmVzZW50IFVzZXINCj4gPiAgICAgVUlOVDggICBTZWN1cmVC b290TW9kZTsgICAgICAvLyBTZWN1cmUgQm9vdCBNb2RlOg0KPiBTdGFuZGFyZCBPciBDdXN0b20N Cj4gPiBAQCAtMTMyLDcgKzEzMiw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiAgICAgVUlOVDgg ICBDZXJ0aWZpY2F0ZUZvcm1hdDsgICAvLyBUaGUgdHlwZSBvZiB0aGUNCj4gY2VydGlmaWNhdGUN Cj4gPiAgICAgRUZJX0hJSV9EQVRFIFJldm9jYXRpb25EYXRlOyAvLyBUaGUgcmV2b2NhdGlvbg0K PiBkYXRlIG9mIHRoZSBjZXJ0aWZpY2F0ZQ0KPiA+ICAgICBFRklfSElJX1RJTUUgUmV2b2NhdGlv blRpbWU7IC8vIFRoZSByZXZvY2F0aW9uDQo+IHRpbWUgb2YgdGhlIGNlcnRpZmljYXRlDQo+ID4g LSAgVUlOVDggICBGaWxlRW5yb2xsVHlwZTsgICAgICAvLyBGaWxlIHR5cGUgb2YNCj4gc2lndW5h dHVyZSBlbnJvbGwNCj4gPiArICBVSU5UOCAgIEZpbGVFbnJvbGxUeXBlOyAgICAgIC8vIEZpbGUg dHlwZSBvZg0KPiBzaWduYXR1cmUgZW5yb2xsDQo+ID4gICAgIFVJTlQzMiAgTGlzdENvdW50OyAg ICAgICAgICAgLy8gVGhlIGNvdW50IG9mDQo+IHNpZ25hdHVyZSBsaXN0Lg0KPiA+ICAgICBVSU5U MzIgIENoZWNrZWREYXRhQ291bnQ7ICAgIC8vIFRoZSBjb3VudCBvZg0KPiBjaGVja2VkIHNpZ25h dHVyZSBkYXRhLg0KPiA+ICAgfSBTRUNVUkVCT09UX0NPTkZJR1VSQVRJT047DQo+ID4gZGlmZiAt LWdpdA0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29u ZmlnRHhlDQo+IC9TZWN1cmVCb290Q29uZmlnU3RyaW5ncy51bmkNCj4gYi9TZWN1cml0eVBrZy9W YXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENv bmZpZ1N0cmluZ3MudW5pDQo+ID4gaW5kZXggYTQxMmQ1YmZlOS4uYWM3ODM0NTNjYyAxMDA2NDQN Cj4gPiAtLS0NCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9v dENvbmZpZ0R4ZQ0KPiAvU2VjdXJlQm9vdENvbmZpZ1N0cmluZ3MudW5pDQo+ID4gKysrDQo+IGIv U2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUNCj4g L1NlY3VyZUJvb3RDb25maWdTdHJpbmdzLnVuaQ0KPiA+IEBAIC00NSw4ICs0NSw4IEBAIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi0NCj4gQ2xhdXNlLVBhdGVudA0KPiA+ICAgI3N0cmlu ZyBTVFJfREJYX1BFX0lNQUdFX0ZPUk1BVF9IRUxQDQo+ICNsYW5ndWFnZSBlbi1VUyAiUEUgaW1h Z2UgZW5yb2xsZWQuIFVzZSBTSEEyNTYgaGFzaCB0bw0KPiBlbnJvbGwgaXQgaW50byBEQlgiDQo+ ID4gICAjc3RyaW5nIFNUUl9EQlhfUEVfRk9STUFUX1NIQTI1Ng0KPiAjbGFuZ3VhZ2UgZW4tVVMg IlBFIEltYWdlIFNIQTI1NiINCj4gPg0KPiA+IC0jc3RyaW5nIFNUUl9EQlhfQVVUSF8yX0ZPUk1B VF9IRUxQICAgICAgICAgI2xhbmd1YWdlDQo+IGVuLVVTICJWQVJJQUJMRV9BVVRIRU5JQ0FUSU9O XzIgYmluYXJ5IGVucm9sbGVkLiBVc2UNCj4gcmF3IGJpbmFyeSB0byBlbnJvbGwgaXQgaW50byBE QlgiDQo+ID4gLSNzdHJpbmcgU1RSX0RCWF9BVVRIXzJfRk9STUFUICAgICAgICAgICAgICAjbGFu Z3VhZ2UNCj4gZW4tVVMgIlZBUklBQkxFX0FVVEhFTklDQVRJT05fMiINCj4gPiArI3N0cmluZyBT VFJfREJYX0FVVEhfMl9GT1JNQVRfSEVMUCAgICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUyAiVkFS SUFCTEVfQVVUSEVOVElDQVRJT05fMiBiaW5hcnkgZW5yb2xsZWQuIFVzZQ0KPiByYXcgYmluYXJ5 IHRvIGVucm9sbCBpdCBpbnRvIERCWCINCj4gPiArI3N0cmluZyBTVFJfREJYX0FVVEhfMl9GT1JN QVQgICAgICAgICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUyAiVkFSSUFCTEVfQVVUSEVOVElDQVRJ T05fMiINCj4gPg0KPiA+ICAgI3N0cmluZyBTVFJfQ0VSVElGSUNBVEVfUkVWT0NBVElPTl9USU1F X1BST01QVA0KPiAjbGFuZ3VhZ2UgZW4tVVMgIiAgUmV2b2NhdGlvbiBUaW1lIg0KPiA+ICAgI3N0 cmluZyBTVFJfQ0VSVElGSUNBVEVfUkVWT0NBVElPTl9USU1FX0hFTFANCj4gI2xhbmd1YWdlIGVu LVVTICJJbnB1dCB0aGUgcmV2b2NhdGlvbiB0aW1lIG9mIHRoZQ0KPiBjZXJ0aWZpY2F0ZSINCj4g Pg0KDQo=