From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9944DA2EDB for ; Tue, 1 Oct 2019 17:06:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 725255B3E; Tue, 1 Oct 2019 17:06:36 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40078.outbound.protection.outlook.com [40.107.4.78]) by dpdk.org (Postfix) with ESMTP id 24A3E5B3E for ; Tue, 1 Oct 2019 17:06:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ejhCC2GlShTY21xvGyAXeuXNcKNNaSef3jhiqpNGbOIy1Fcd3CVfFFXwrqOs/OLDBpFpLZPHoenr0t0AAAHqwM2+451sZnKqkrD95L7PpdR/EAtuoyEetIHUq7WxfrhbZoKixk8ZKmrW+SE1G6CjcHv2bvZdTxI+Y3/+jTQqfn48qBMWgA5cXlDO+9qRFkk4MEJkN4qMG1x6wvLZXyvqKXp/nqebQcTziX0oQ6CKwPXI8jU2blkBila3RqjXE/eK0zx0RKbUkl1XS9M5n6Wzx+0OBSTOfAXo+P2/q9/A5cT96PkxH7GwelCgkXa6GnMQ7gdwY2DIAscYrHizIhqKAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v4NmVcWKGuX8msym/HZXOvDJNBGDYbYMM9Cn/Al08B4=; b=EeMBZdZMKPmsjiwFMuraJMHNVN0MExCzKuAlZMFSnLaSDcZ4qUMGzXEuva9BZQzBZjq2kInX70OOihUylHmOSYiDTx352QY5PLvZnanwCT1UkM247S3yGkjozn0oJ4aaZYwXNgLpWeBDjZVmrRrAAF4pxgmD0wzkIC6y2OGO+i8o6axfHzINhR+QWWRbh4XosP1fQVF6S/nwM368tHH+oX3L5KVuBr7J3SKxr7TG1oo9z/uHiBT0957bAw4InsJHLrwY1FdTsgiZ57OSFwxBsXzbi+f4j6lIBIaCdjvpuVqL2HTFNDjuNrfj5SkAkfGqy3widxpTCP06xxldbANKOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v4NmVcWKGuX8msym/HZXOvDJNBGDYbYMM9Cn/Al08B4=; b=IHWCiajoDqWGbEHvTn9OBt7c712ayg10kqnY7UsODWHViT69jWEtMq+E/TArAp0+vE/qSJVsU1f0axHVeiht0DbGrdEZy8lIgAZWIsz630hOuibIy5iBLem1RPx7ZRdTapnAjYEVkLVM5WEbpqCaJ/2cEFxxaDYHcXoqiw6gvcA= Received: from VI1PR04MB4480.eurprd04.prod.outlook.com (20.177.53.224) by VI1PR04MB4767.eurprd04.prod.outlook.com (20.177.48.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Tue, 1 Oct 2019 15:06:33 +0000 Received: from VI1PR04MB4480.eurprd04.prod.outlook.com ([fe80::681a:2c5b:e170:683]) by VI1PR04MB4480.eurprd04.prod.outlook.com ([fe80::681a:2c5b:e170:683%6]) with mapi id 15.20.2305.017; Tue, 1 Oct 2019 15:06:33 +0000 From: Nipun Gupta To: Jerin Jacob CC: Jerin Jacob , dpdk-dev , Pavan Nikhilesh , Sunil Kumar Kori , Hemant Agrawal , "Richardson, Bruce" , Marko Kovacevic , Ori Kam , Radu Nicolau , Tomasz Kantecki , "Van Haaren, Harry" , "nikhil.rao@intel.com" Thread-Topic: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue Thread-Index: AQHVeCYo1dmaY6eZ/kuEX8G+rb7CUKdFZ7kAgAA4Z5CAACKDAIAACKwwgAALGYCAAAgL8A== Date: Tue, 1 Oct 2019 15:06:33 +0000 Message-ID: References: <20191001064641.28404-1-nipun.gupta@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=nipun.gupta@nxp.com; x-originating-ip: [92.120.1.68] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2f0132f4-59d1-4ec1-b1e8-08d74680f290 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: VI1PR04MB4767:|VI1PR04MB4767: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0177904E6B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(396003)(346002)(136003)(366004)(39860400002)(199004)(189003)(52314003)(13464003)(316002)(229853002)(6916009)(52536014)(1411001)(305945005)(7736002)(256004)(14444005)(71190400001)(71200400001)(6246003)(66066001)(33656002)(74316002)(9686003)(5660300002)(6436002)(30864003)(54906003)(55016002)(26005)(7416002)(86362001)(64756008)(8936002)(102836004)(186003)(14454004)(4326008)(486006)(6506007)(81156014)(76116006)(76176011)(66556008)(81166006)(66946007)(476003)(8676002)(25786009)(478600001)(66446008)(44832011)(2906002)(66476007)(99286004)(446003)(7696005)(53546011)(11346002)(3846002)(6116002)(579004)(559001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4767; H:VI1PR04MB4480.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +VZTUsvD/C8R0iJbIO12A0ltKLLm5nZEnJVWk4oizBFnopN5omqymHrjNzk/2z1skzxJ9Haz3TdW4tvv7+0nU2UKUPQJEy6Mw63+S8qKUdMk770cqfJm86p5EgM8+O2pEf0nH7k5qFT0N0RKgQ/XThHjRCzLZpBldS0yg3hy2zX6Aokajto+MkQIYWUWrkeBMFfL8kBvO4ZG5yjt8FmiklH53MAhHJ5wbHTnYbIFT2YbfBaYPBDDsoTGnMP3dbj/+haRnGjkRDspcfL0cGQm+wSxMtGZcnvDgKPrIL5drVqYWoZOD2Z8UvGglmnX397PCz3FtgDFAXpt/yXT4octTSGcPm8VfEvzGSt8fX/Ac4c8UUVZTzCpmjlUS3ZE2+J2A5zMxfjv8SgIPVXtSdjVBewtPlaFP0EQ73nAkAbVkFQ= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f0132f4-59d1-4ec1-b1e8-08d74680f290 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Oct 2019 15:06:33.3852 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DJZ6FPnNecrTSOqiq+V5NG8rf8S4muXGCdRtj7sJmfdNzAxwTZk6QKSmLb9b5AAHud3g0B2yO03W2r7dcRHSUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4767 Subject: Re: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxLCAyMDE5IDc6 NTAgUE0NCj4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29tPg0KPiBDYzogSmVy aW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBQ YXZhbg0KPiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IFN1bmlsIEt1bWFy IEtvcmkNCj4gPHNrb3JpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3YWwgPGhlbWFudC5hZ3Jh d2FsQG54cC5jb20+Ow0KPiBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRl bC5jb20+OyBNYXJrbyBLb3ZhY2V2aWMNCj4gPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBP cmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBSYWR1DQo+IE5pY29sYXUgPHJhZHUubmljb2xh dUBpbnRlbC5jb20+OyBUb21hc3ogS2FudGVja2kNCj4gPHRvbWFzei5rYW50ZWNraUBpbnRlbC5j b20+OyBWYW4gSGFhcmVuLCBIYXJyeQ0KPiA8aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb20+OyBu aWtoaWwucmFvQGludGVsLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGV2 ZW50ZGV2OiBmbGFnIHRvIGlkZW50aWZ5IHNhbWUgZGVzdGluZWQNCj4gcGFja2V0cyBlbnF1ZXVl DQo+IA0KPiBPbiBUdWUsIE9jdCAxLCAyMDE5IGF0IDc6MzIgUE0gTmlwdW4gR3VwdGEgPG5pcHVu Lmd1cHRhQG54cC5jb20+IHdyb3RlOg0KPiA+DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFp bC5jb20+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDEsIDIwMTkgNjo0MCBQTQ0KPiA+ ID4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29tPg0KPiA+ID4gQ2M6IGRwZGst ZGV2IDxkZXZAZHBkay5vcmc+OyBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwuY29tPjsgUGF2 YW4NCj4gPiA+IE5pa2hpbGVzaCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgU3VuaWwgS3Vt YXIgS29yaQ0KPiA+ID4gPHNrb3JpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3YWwgPGhlbWFu dC5hZ3Jhd2FsQG54cC5jb20+Ow0KPiA+ID4gUmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hh cmRzb25AaW50ZWwuY29tPjsgTWFya28gS292YWNldmljDQo+ID4gPiA8bWFya28ua292YWNldmlj QGludGVsLmNvbT47IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IFJhZHUNCj4gPiA+IE5p Y29sYXUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+OyBUb21hc3ogS2FudGVja2kNCj4gPiA+IDx0 b21hc3oua2FudGVja2lAaW50ZWwuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPiA+IDxoYXJy eS52YW4uaGFhcmVuQGludGVsLmNvbT47IG5pa2hpbC5yYW9AaW50ZWwuY29tDQo+ID4gPiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGV2ZW50ZGV2OiBmbGFnIHRvIGlkZW50aWZ5IHNh bWUNCj4gZGVzdGluZWQNCj4gPiA+IHBhY2tldHMgZW5xdWV1ZQ0KPiA+ID4NCj4gPiA+IE9uIFR1 ZSwgT2N0IDEsIDIwMTkgYXQgNToxMSBQTSBOaXB1biBHdXB0YSA8bmlwdW4uZ3VwdGFAbnhwLmNv bT4NCj4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5q YWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMSwgMjAx OSAxOjE0IFBNDQo+ID4gPiA+ID4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29t Pg0KPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgSmVyaW4gSmFjb2IgPGpl cmluakBtYXJ2ZWxsLmNvbT47DQo+IFBhdmFuDQo+ID4gPiA+ID4gTmlraGlsZXNoIDxwYmhhZ2F2 YXR1bGFAbWFydmVsbC5jb20+OyBTdW5pbCBLdW1hciBLb3JpDQo+ID4gPiA8c2tvcmlAbWFydmVs bC5jb20+Ow0KPiA+ID4gPiA+IEhlbWFudCBBZ3Jhd2FsIDxoZW1hbnQuYWdyYXdhbEBueHAuY29t PjsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPiA+ID4gPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5j b20+OyBNYXJrbyBLb3ZhY2V2aWMNCj4gPiA+ID4gPiA8bWFya28ua292YWNldmljQGludGVsLmNv bT47IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47DQo+IFJhZHUNCj4gPiA+IE5pY29sYXUN Cj4gPiA+ID4gPiA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFRvbWFzeiBLYW50ZWNraQ0KPiA+ ID4gPHRvbWFzei5rYW50ZWNraUBpbnRlbC5jb20+OyBWYW4NCj4gPiA+ID4gPiBIYWFyZW4sIEhh cnJ5IDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT47IG5pa2hpbC5yYW9AaW50ZWwuY29tDQo+ ID4gPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBldmVudGRldjogZmxhZyB0 byBpZGVudGlmeSBzYW1lDQo+ID4gPiBkZXN0aW5lZA0KPiA+ID4gPiA+IHBhY2tldHMgZW5xdWV1 ZQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gVHVlLCBPY3QgMSwgMjAxOSBhdCAxMjozMiBQTSBO aXB1biBHdXB0YSA8bmlwdW4uZ3VwdGFAbnhwLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIGBmbGFnYCBpbiB0aGUgRXRo IFRYIGFkYXB0ZXIgZW5xdWV1ZSBBUEkuDQo+ID4gPiA+ID4gPiBTb21lIGRyaXZlcnMgbWF5IHN1 cHBvcnQgYnVyc3QgZnVuY3Rpb25hbGl0eSBvbmx5IHdpdGggdGhlIHBhY2tldHMNCj4gPiA+ID4g PiA+IGhhdmluZyBzYW1lIGRlc3RpbmF0aW9uIGRldmljZSBhbmQgcXVldWUuDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gVGhlIGZsYWcgYFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVF X1NBTUVfREVTVGANCj4gY2FuDQo+ID4gPiBiZSB1c2VkDQo+ID4gPiA+ID4gPiB0byBpbmRpY2F0 ZSB0aGlzIHNvIHRoZSB1bmRlcmx5aW5nIGRyaXZlciwgZm9yIGRyaXZlcnMgdG8gdXRpbGl6ZQ0K PiA+ID4gPiA+ID4gYnVyc3QgZnVuY3Rpb25hbGl0eSBhcHByb3ByaWF0ZWx5Lg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gSSB1bmRlcnN0YW5kIHRoZSBjb3N0IG9mIGFnZ3JlZ2F0aW5nIHBhY2tldHMg YmFzZWQgb24gcG9ydCBhbmQNCj4gcXVldWUNCj4gPiA+ID4gPiB0byBtYWtlIGl0IGJ1cnN0Lg0K PiA+ID4gPiA+IEJ1dCwgQ291bGQgeW91IHNoYXJlIHRoZSB1c2UgY2FzZSB3aGVyZSBob3cgZG8g eW91IHdhbnQgdG8gdXNlIHRoaXMNCj4gPiA+ID4gPiBmbGFnPyBJIHNlZSB0d28gcG9zc2liaWxp dGllcyBpbiBldmVudGRldiBjb250ZXh0Lg0KPiA+ID4gPiA+IChXaGVyZSBkZXF1ZXVlIGNhbiBi ZSBmcm9tIGFueSBldGhkZXYgcG9ydCkNCj4gPiA+ID4gPiBhKSBUaGUgYXBwbGljYXRpb24gZG9l cyB0aGUgYWdncmVnYXRpb24uIElmIHNvLCB3aGF0IHdvdWxkIHRoZQ0KPiA+ID4gPiA+IGRpZmZl cmVuY2UgYmUgaW4gZG9pbmcgZHJpdmVyIG9yIGFwcGxpY2F0aW9uPw0KPiA+ID4gPiA+IGIpIFdl IG1heSB1c2UgdGhpcyBmbGFnIHdoZW4gdGhlIHN5c3RlbSBoYXMgb25seSBvbmUgcG9ydCBhbmQg b25lDQo+ID4gPiBxdWV1ZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENvdWxkIHlvdSBzaGFyZSBo b3cgZG8geW91IHdhbnQgdG8gdXNlIHRoaXMgZmxhZz8NCj4gPiA+ID4NCj4gPiA+ID4gSSB3b3Vs ZCBzYXkgYm90aCB0aGUgY2FzZXMgeW91IG1lbnRpb25lZC4gSSBwcmVmZXIgdGhpcyB0byBkZXBl bmQgb24NCj4gdGhlDQo+ID4gPiBzbWFydG5lc3Mgb2YNCj4gPiA+ID4gdGhlIGFwcGxpY2F0aW9u LCBhcyBpdCBpcyBhd2FyZSBvZiB0aGUgbnVtYmVyIG9mIGV0aCBkZXZpY2VzL3F1ZXVlcyBpdCBp cw0KPiA+ID4gdXNpbmcuDQo+ID4gPiA+IFRoaXMgaXMgdGhlIHJlYXNvbiB0byBhdm9pZCBpbiB0 aGUgZHJpdmVyLg0KPiA+ID4gPg0KPiA+ID4gPiBBIHVzZXIgY2FuIGFsc28gdXNlIHNlcGFyYXRl IGV2ZW50IHBvcnRzIGZvciBzZXBhcmF0ZSBvciBhIGdyb3VwIG9mDQo+ID4gPiBFdGhlcm5ldA0K PiA+ID4gPiBkZXZpY2VzL3F1ZXVlcywgdG8gY3JlYXRlIGVhc3kgc2VncmVnYXRpb24uDQo+ID4g Pg0KPiA+ID4gSWYgaXQgaXMgc3BlY2lmaWMgdG8gX3ZlcnlfIHN0YXRpYyBjb25maWd1cmF0aW9u LCB5b3UgY2FuIGFzc3VtZSBhbGwNCj4gPiA+IHRoZSBldmVudHMgY29tZXMNCj4gPiA+IGZyb20g YSBzcGVjaWZpYyBldmVudGRldiBwb3J0LCBjb21lcyBvbmx5IGZyb20gYSBzcGVjaWZpYyBldGhk ZXYgcG9ydC4NCj4gPg0KPiA+IEhpIEplcmluLA0KPiA+DQo+ID4gSWYgSSB1bmRlcnN0YW5kIGNv cnJlY3RseSB0aGlzIGFzc3VtcHRpb24gd291bGQgYmUgbWFkZSBpbiB0aGUgZHJpdmVyPw0KPiA+ IEJ1dCB0aGVuIGFwcGxpY2F0aW9ucyBsaWtlIGwyZndkLWV2ZW50IHdpbGwgYnJlYWsuDQo+IA0K PiBZZXMuIFdoYXQgSSBtZWFudCBpcyBhIHNwZWNpZmljIHN0YXRpYyBjb25maWd1cmF0aW9uIG9u bHkgdGhpcyBzY2hlbWUgY2FuIHVzZS4NCj4gDQo+IA0KPiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ ID4gPiBBbHNvIHRoZSBkcmF3YmFjayBvZiBpbXBsZW1lbnRpbmcgaW4gdGhlIGRyaXZlciwgY2Fu IGJlIHRoYXQgd2hlbiB0aGUNCj4gPiA+IGV2ZW50cyB0bw0KPiA+ID4gPiBTZXBhcmF0ZSBkZXZp Y2VzIGFuZCBxdWV1ZXMgYXJlIHNvIG1peGVkIHVwLCB0aGF0IHNlZ3JlZ2F0aW9uIGRvZXMNCj4g bm90DQo+ID4gPiBtYWtlDQo+ID4gPiA+IHNlbnNlLCBpdCBzaGFsbCBiZSBvdmVyaGVhZCBmb3Ig dGhlIGRyaXZlciB0byBzY2FuIGFsbCB0aGUgZXZlbnRzLg0KPiA+ID4NCj4gPiA+IEluIHRoZSB3 b3JzdCBjYXNlLCBib3RoLCBhcHBsaWNhdGlvbnMgbmVlZCB0byBzY2FuIGFuZCBkcml2ZXIgbmVl ZCB0bw0KPiA+ID4gaXRlcmF0ZSBvdmVyDQo+ID4gPiBhbGwgdGhlIGV2ZW50cy4NCj4gPg0KPiA+ IEFncmVlLCB0aGlzIGlzIHdoYXQgd2Ugd2FudCB0byBhdm9pZC4NCj4gPg0KPiA+ID4NCj4gPiA+ DQo+ID4gPiBJbiBnZW5lcmljIGwyZndkLWV2ZW50ZGV2IGFwcGxpY2F0aW9ucyBldGMsIHEwIHdp bGwgYmUgY29ubmVjdGVkIHAwIGFuZA0KPiBwMQ0KPiA+ID4gZXRjLg0KPiA+ID4gVGhpcyBmbGFn IHdpbGwgYmUgemVyby4NCj4gPg0KPiA+IE9rYXkuDQo+ID4NCj4gPiA+DQo+ID4gPiBCdXQsIElm IHlvdSB0aGluaywgdGhlcmUgaXMgYSBzcGVjaWZpYyB1c2UgY2FzZSBmb3IgaXQgd2UgY2FuIGFk ZCB0aGlzIGZsYWcuDQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gQSBmbGFnIHdvdWxk IGhlbHAgaW4gcHJvdmlkaW5nIHRoZSBkZWNpc2lvbiBmbGV4aWJpbGl0eSB0byB0aGUgYXBwbGlj YXRpb25zLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQW5kIGFub3RoZXIgcG9pbnQg aXMsIHR4IGFkYXB0ZXIgaXMgTk9UIGV4cGVyaW1lbnRhbCBub3csIFdlIG5lZWQNCj4gPiA+ID4g PiBkZXByZWNpYXRpb24gbm90aWNlIGZvciBBQkkgY2hhbmdlLg0KPiA+ID4gPiA+IElmIHlvdSBz aGFyZSB0aGUgZXhhY3QgdXNlIGNhc2UsIHRoZW4gd2UgY291bGQgdGhpbmsgb2YgYWRkaW5nIGEg bmV3DQo+ID4gPiA+ID4gc3ltYm9sIGluc3RlYWQgb2YgYnJlYWtpbmcgQUJJIGFuZA0KPiA+ID4g PiA+IGFkZCBpdCBmb3IgbmV4dCByZWxlYXNlLg0KPiA+ID4gPg0KPiA+ID4gPiBJIGhhdmUgaGVh cmQgdGhlIGRpc2N1c3Npb24gdGhhdCB3ZSBtYXkgZ2V0IHNvbWUgZXhjZXB0aW9ucyB0bw0KPiA+ ID4gZGVwcmVjYXRpb24NCj4gPiA+ID4gcHJvY2VzcyBmb3IgMTkuMTEgYXMgdGhlIEFQSXMgd2ls bCBmcmVlemUgb2YgMSB5ZWFyIHBvc3QgaXQuDQo+ID4gPiA+IEFueXdheSwgaWYgeW91IGhhdmUg YSBiZXR0ZXIgd2F5IHdpdGggc3ltYm9sLCBwbGVhc2Ugc3VnZ2VzdC4NCj4gPiA+DQo+ID4gPg0K PiA+ID4gT25lIG9wdGlvbiBjb3VsZCBiZSAobm90IGFzIGJhZCBhcyBjaGFuZ2luZyB0aGUgZW5x dWV1ZSBwcm90b3R5cGUpIHRvDQo+ID4gPiBhZGQgbmV3IGZpZWxkIGluIHN0cnVjdCBydGVfZXZl bnRfZXRoX3R4X2FkYXB0ZXJfY29uZi4NCj4gPiA+DQo+ID4gPiBTaW5jZSB0aGlzIHNjaGVtZSBj YW4gYmUgdXNlZCBPTkxZIG9uIHRoZSBzdGF0aWMgY29uZmlndXJhdGlvbiwgYWRkaW5nDQo+ID4g PiBhIGZldyBmaWVsZHMNCj4gPiA+IGZvciBUeCBhZGFwdGVyIGNvbmZpZ3VyYXRpb24gd291bGQg aGVscC4NCj4gPiA+IElmIHRoYXQgZmllbGQgaXMgc2V0IHlvdSBjYW4gY2hvb3NlIGRldi0+dHhh X2VucXVldWUgbGlnaHQgd2VpZ2h0DQo+ID4gPiBlbnF1ZXVlIGZ1bmN0aW9uDQo+ID4gPiBpZiBu b3QsIHRoZSBkcml2ZXIgY2FuIGFnZ3JlZ2F0ZSB0aGUgYnVmZmVycyBhbmQgc2VuZCB0aGVtLg0K PiA+DQo+ID4gVGhhbmtzIGZvciBzdWdnZXN0aW5nIHRoaXMsIHdlIGFsc28gdGhvdWdodCBvZiBp dCwgYnV0IHdvdWxkIHByZWZlciBoYXZpbmcNCj4gdGhpcyBhcyBhDQo+ID4gcnVudGltZSBvcHRp b24gcmF0aGVyIHRoYW4gc3RhdGljIG9wdGlvbi4NCj4gPiBXZSB3b3VsZCBub3QgbGlrZSB0byBo YXZlIG9uZSB0aW1lIGNvbmZpZ3VyYXRpb24gcmVzdHJpY3Rpb24uDQo+IA0KPiBOb3Qgc3VyZSBo b3cgaXQgY2FuIGJlIHVzZWQgaW4gcnVudGltZS4gSWYgcTAgaXMgY29ubmVjdGVkIHAwIGFuZCBw MSBhbmQgdGhlbg0KPiBpdCBmbGFnIGhhcyB0byBiZSBjbGVhcmVkLiBpZiBxMCBpcyBvbmx5IGNv bm5lY3RlZCB0byBwMCB0aGVuIHdlIGNhbg0KPiB1c2UgdGhpcyBzY2hlbWUuDQo+IFNvIGl0IGlz IHByZXR0eSBtdWNoIHN0YXRpYyBpbiBuYXR1cmUuDQo+IA0KPiBIb3cgZG8geW91IHRoaW5rLCBp dCBjYW4gYmUgdXNlZCBpbiBydW50aW1lLg0KPiANCj4gSWYgd2UgdGhpbmssIElmIHdlIGFyZSBw bGFubmluZyB0byB1c2UgbGlrZSBiZWxvdyBpbiBhcHBsaWNhdGlvbiwgaXQNCj4gd291bGQgYmUg cmVhbGx5IGJhZA0KPiBpbiB0aGUgd29yc3QgY2FzZS4obWJ1ZiBjYWNoZSBtaXNzZXMgaW4tYXBw IGFuZCBkcml2ZXIpDQo+IA0KPiBJbiBhcHA6DQo+IGNvbnN0IHBvcnQgPSBldmVudFswXS5tYnVm LnBvcnQ7DQo+IGNvbnN0IHF1ZXVlID0gZXZlbnRbMF0ubWJ1Zi5xdWV1ZTsNCj4gZm9yIChpID0g aTsgaSA8IG5iX2V2ZW50czsgaSsrKSB7DQo+ICAgICAgICAgICBpZiAocG9ydCAhPSBldmVudFtp XS5tYnVmLnBvcnQgfHwgcXVldWUgIT0gZXZlbnRbaV0ubWJ1Zi5xdWV1ZSkNCj4gICAgICAgICAg ICAgICAgICAgIGJyZWFrOw0KPiB9DQo+IGlmIChpID09IG5iX2V2ZW50cykNCj4gICAgICAgICAg ZmxhZyA9IDE7DQo+IGVsc2UNCj4gICAgICAgICBmbGFnID0gMDsNCj4gDQoNCkluIHN1Y2ggY2Fz ZSBpZiBjYWNoZSBtaXNzZXMgYXJlIG9ic2VydmVkIHdoaWNoIGlzIG1vcmUgdGhhbiB3aGF0IHNl bmRpbmcgYnVyc3QNCm9mIHRyYWZmaWMgaXMgaW4gdGhlIGFwcGxpY2F0aW9ucyB1c2UtY2FzZSwg dGhlIGFwcGxpY2F0aW9uIHNoYWxsIHNpbXBseSBub3QgdXNlIHRoZSBmbGFnLg0KDQpCdXQgYWdh aW4gSSB0aGluayB0aGlzIGlzIHRvIGJlIGdvdmVybmVkIGJ5IHRoZSBhcHBsaWNhdGlvbiB3aGlj aCBpcyB0aGUgdXNlciBvZiB0aGUNCmV2ZW50IGRldmljZSwgb24gdGhlIGJhc2lzIG9uIHRoZSBj b25maWd1cmF0aW9uIGFuZCB0aGUgbWVtb3J5IGZvb3RwcmludC91dGlsaXphdGlvbjsNCmFuZCBt b3JlIHRoYW4gdGhhdCBpdHMgcGVyZm9ybWFuY2UgYmVuY2htYXJraW5nLg0KDQo+IG1vcmUgb3Zl ciB0aGUgc3RhdGljIHNjaGVtZSBkb2VzIG5vdCBtYWtlIGFueSBjaGFuZ2UgaW4gb3RoZXIgZHJp dmVycy4NCj4gSWYgeW91IGhhdmUgdGhlIHVzZWNhc2UgZm9yIHRoZSBkeW5hbWljIHNjaGVtZSB0 aGVuIGxldCB1cyBrbm93IHRoZW4NCj4gd2UgYWRkIGR5bmFtaWMgZmxhZyBicmVha2luZyB0aGUg QUJJLg0KDQpJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJuIHRoYXQgdGhpcyBzaGFsbCBub3QgYmUg dmFsaWQgb24gYSBnZW5lcmFsIGNhc2VzLg0KDQpUaGVyZSBhcmUgY2VydGFpbiB1c2UtY2FzZSAo TlhQIGludGVybmFsKSBvZiBEUERLIGV2ZW50IHdoaWNoIGhhdmUgc2VwYXJhdGUNCmV2ZW50IHBv cnRzL2NvcmVzIGRlZGljYXRlZCBmb3IgY2VydGFpbiB0YXNrcyAtIGFuZCBjYW4gdXNlIHRoZSBi dXJzdCBmdW5jdGlvbmFsaXR5DQpmb3IgcGVyZm9ybWFuY2UgYWNjb3JkaW5nIHRvIHRoZSBldmVu dCBwb3J0cyB3aGljaCBhcmUgdXNlZC4gTm90IGhhdmluZyB0aGlzIGF0DQpydW50aW1lIHdpbGwg bGltaXQgdGhlIGZsZXhpYmlsaXR5IGZvciBzdWNoIGFwcGxpY2F0aW9ucy4NCg0KUmVnYXJkcywN Ck5pcHVuDQoNCj4gDQo+IA0KPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+DQo+ID4g PiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29tPg0KPiA+ID4gPiA+ID4g LS0tDQo+ID4gPiA+ID4gPiAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9jb21tb24u aCAgICAgICAgICB8ICA2ICsrKy0tLQ0KPiA+ID4gPiA+ID4gIC4uLi9wcm9nX2d1aWRlL2V2ZW50 X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0ICAgICAgfCAgMyArKy0NCj4gPiA+ID4gPiA+ICBkcml2 ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmggICAgICAgICAgICAgIHwgIDIgKy0NCj4g PiA+ID4gPiA+ICBkcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX3dvcmtlci5jICAgICAgICAg ICAgIHwgIDMgKystDQo+ID4gPiA+ID4gPiAgZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml9l dmRldi5oICAgICAgICAgICAgICB8IDEyICsrKysrKysrLS0tLQ0KPiA+ID4gPiA+ID4gIGRyaXZl cnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyLmMgICAgICAgICAgICAgfCAgOCArKysrKyst LQ0KPiA+ID4gPiA+ID4gIGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyX2R1YWwu YyAgICAgICAgfCAgOCArKysrKystLQ0KPiA+ID4gPiA+ID4gIGxpYi9saWJydGVfZXZlbnRkZXYv cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmggICAgfCAxNQ0KPiA+ID4gKysrKysrKysrKysrKy0t DQo+ID4gPiA+ID4gPiAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYyAgICAgICAg ICAgICAgICB8ICAzICsrLQ0KPiA+ID4gPiA+ID4gIGxpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2LmggICAgICAgICAgICAgICAgfCAgMiArLQ0KPiA+ID4gPiA+ID4gIDEwIGZpbGVzIGNo YW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2Nv bW1vbi5oDQo+IGIvYXBwL3Rlc3QtDQo+ID4gPiA+ID4gZXZlbnRkZXYvdGVzdF9waXBlbGluZV9j b21tb24uaA0KPiA+ID4gPiA+ID4gaW5kZXggMDQ0MGI5ZTI5Li42ZTczYzZhYjIgMTAwNjQ0DQo+ ID4gPiA+ID4gPiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5o DQo+ID4gPiA+ID4gPiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1v bi5oDQo+ID4gPiA+ID4gPiBAQCAtMTA2LDcgKzEwNiw3IEBAIHBpcGVsaW5lX2V2ZW50X3R4KGNv bnN0IHVpbnQ4X3QgZGV2LCBjb25zdA0KPiA+ID4gdWludDhfdA0KPiA+ID4gPiA+IHBvcnQsDQo+ ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCAqIGNvbnN0IGV2KQ0K PiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFw dGVyX3R4cV9zZXQoZXYtPm1idWYsIDApOw0KPiA+ID4gPiA+ID4gLSAgICAgICB3aGlsZSAoIXJ0 ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldiwgcG9ydCwgZXYsIDEpKQ0KPiA+ID4g PiA+ID4gKyAgICAgICB3aGlsZSAoIXJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRl diwgcG9ydCwgZXYsIDEsDQo+IDApKQ0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHJ0ZV9w YXVzZSgpOw0KPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtMTE2 LDEwICsxMTYsMTAgQEAgcGlwZWxpbmVfZXZlbnRfdHhfYnVyc3QoY29uc3QgdWludDhfdA0KPiBk ZXYsDQo+ID4gPiBjb25zdA0KPiA+ID4gPiA+IHVpbnQ4X3QgcG9ydCwNCj4gPiA+ID4gPiA+ICB7 DQo+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQxNl90IGVucTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiAtICAgICAgIGVucSA9IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldiwg cG9ydCwgZXYsDQo+IG5iX3J4KTsNCj4gPiA+ID4gPiA+ICsgICAgICAgZW5xID0gcnRlX2V2ZW50 X2V0aF90eF9hZGFwdGVyX2VucXVldWUoZGV2LCBwb3J0LCBldiwNCj4gbmJfcngsDQo+ID4gPiAw KTsNCj4gPiA+ID4gPiA+ICAgICAgICAgd2hpbGUgKGVucSA8IG5iX3J4KSB7DQo+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgZW5xICs9IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVl KGRldiwgcG9ydCwNCj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXYgKyBlbnEsIG5iX3J4IC0gZW5xKTsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZXYgKyBlbnEsIG5iX3J4IC0gZW5xLCAwKTsNCj4gPiA+ID4gPiA+ICAgICAg ICAgfQ0KPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0DQo+ ID4gPiA+ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRl ci5yc3QNCj4gPiA+ID4gPiA+IGluZGV4IDE5MmY5ZTFjZi4uYThjMTNlMTM2IDEwMDY0NA0KPiA+ ID4gPiA+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3R4X2Fk YXB0ZXIucnN0DQo+ID4gPiA+ID4gPiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRf ZXRoZXJuZXRfdHhfYWRhcHRlci5yc3QNCj4gPiA+ID4gPiA+IEBAIC0xMzcsMTEgKzEzNywxMiBA QCBzaG91bGQgdXNlIHRoZQ0KPiA+ID4gYGBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpYGANCj4g PiA+ID4gPiBmdW5jdGlvbi4NCj4gPiA+ID4gPiA+ICAgICAgICAgaWYgKGNhcCAmIFJURV9FVkVO VF9FVEhfVFhfQURBUFRFUl9DQVBfSU5URVJOQUxfUE9SVCkNCj4gew0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICAgICAgICAgICAgICAgICBldmVudC5tYnVmID0gbTsNCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICBlcV9mbGFncyA9IDA7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAg ICAgICAgICAgICAgIG0tPnBvcnQgPSB0eF9wb3J0Ow0KPiA+ID4gPiA+ID4gICAgICAgICAgICAg ICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KG0sIHR4X3F1ZXVlX2lkKTsNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9h ZGFwdGVyX2VucXVldWUoZGV2X2lkLCBldl9wb3J0LA0KPiAmZXZlbnQsDQo+ID4gPiAxKTsNCj4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1 ZShkZXZfaWQsIGV2X3BvcnQsDQo+ID4gPiAmZXZlbnQsIDEsDQo+ID4gPiA+ID4gZXFfZmxhZ3Mp Ow0KPiA+ID4gPiA+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAgICAgICAgICAgICAgICBldmVudC5xdWV1ZV9pZCA9IHFpZDsgLyogZXZlbnQgcXVldWUgbGlu a2VkIHRvIGFkYXB0ZXINCj4gcG9ydCAqLw0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuaA0KPiA+ID4gPiA+IGIvZHJpdmVycy9ldmVu dC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiBpbmRleCAwZTYyMjE1MmMuLjFi MTU2ZWRhYiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgv c3NvdmZfZXZkZXYuaA0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9z c292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiBAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgc3Nvd3Nf Zmx1c2hfZXZlbnRzKHN0cnVjdCBzc293cyAqd3MsDQo+ID4gPiB1aW50OF90DQo+ID4gPiA+ID4g cXVldWVfaWQsDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgc3Nvd3NfaGFuZGxlX2V2ZW50 X3QgZm4sIHZvaWQgKmFyZyk7DQo+ID4gPiA+ID4gPiAgdm9pZCBzc293c19yZXNldChzdHJ1Y3Qg c3Nvd3MgKndzKTsNCj4gPiA+ID4gPiA+ICB1aW50MTZfdCBzc29fZXZlbnRfdHhfYWRhcHRlcl9l bnF1ZXVlKHZvaWQgKnBvcnQsDQo+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgc3RydWN0IHJ0 ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpOw0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzLCB1aW50OF90 DQo+IGVxX2ZsYWdzKTsNCj4gPiA+ID4gPiA+ICBpbnQgc3NvdmZfaW5mbyhzdHJ1Y3Qgc3NvdmZf aW5mbyAqaW5mbyk7DQo+ID4gPiA+ID4gPiAgdm9pZCAqc3NvdmZfYmFyKGVudW0gc3NvdmZfdHlw ZSwgdWludDhfdCBpZCwgdWludDhfdCBiYXIpOw0KPiA+ID4gPiA+ID4gIGludCB0ZXN0X2V2ZW50 ZGV2X29jdGVvbnR4KHZvaWQpOw0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZl bnQvb2N0ZW9udHgvc3NvdmZfd29ya2VyLmMNCj4gPiA+ID4gPiBiL2RyaXZlcnMvZXZlbnQvb2N0 ZW9udHgvc3NvdmZfd29ya2VyLmMNCj4gPiA+ID4gPiA+IGluZGV4IGQ5NDBiNWRkNi4uMWQwNDY3 YWYzIDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292 Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292 Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4gQEAgLTI2NCw3ICsyNjQsNyBAQCBzc293c19yZXNldChz dHJ1Y3Qgc3Nvd3MgKndzKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICB1aW50MTZfdA0KPiA+ ID4gPiA+ID4gIHNzb19ldmVudF90eF9hZGFwdGVyX2VucXVldWUodm9pZCAqcG9ydCwNCj4gPiA+ ID4gPiA+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5i X2V2ZW50cykNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2 W10sIHVpbnQxNl90IG5iX2V2ZW50cywgdWludDhfdCBlcV9mbGFncykNCj4gPiA+ID4gPiA+ICB7 DQo+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQxNl90IHBvcnRfaWQ7DQo+ID4gPiA+ID4gPiAgICAg ICAgIHVpbnQxNl90IHF1ZXVlX2lkOw0KPiA+ID4gPiA+ID4gQEAgLTI3NSw2ICsyNzUsNyBAQCBz c29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKnBvcnQsDQo+ID4gPiA+ID4gPiAgICAg ICAgIG9jdGVvbnR4X2RxX3QgKmRxOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgICAg UlRFX1NFVF9VU0VEKG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiArICAgICAgIFJURV9TRVRfVVNF RChlcV9mbGFncyk7DQo+ID4gPiA+ID4gPiAgICAgICAgIHN3aXRjaCAoZXYtPnNjaGVkX3R5cGUp IHsNCj4gPiA+ID4gPiA+ICAgICAgICAgY2FzZSBTU09fU1lOQ19PUkRFUkVEOg0KPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgIHNzb3dzX3N3dGFnX25vcm0od3MsIGV2LT5ldmVudCwgU1NPX1NZ TkNfQVRPTUlDKTsNCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L29jdGVv bnR4Mi9vdHgyX2V2ZGV2LmgNCj4gPiA+ID4gPiBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290 eDJfZXZkZXYuaA0KPiA+ID4gPiA+ID4gaW5kZXggNWNkODBlM2IyLi43NGI3NDlhMTUgMTAwNjQ0 DQo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX2V2ZGV2LmgN Cj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfZXZkZXYuaA0K PiA+ID4gPiA+ID4gQEAgLTMzMywxNiArMzMzLDIwIEBAIFNTT19SWF9BRFBUUl9FTlFfRkFTVFBB VEhfRlVOQw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAjZGVmaW5lIFQobmFtZSwgZjQsIGYz LCBmMiwgZjEsIGYwLCBzeiwgZmxhZ3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV8gIyMgbmFtZSh2 b2lkICpwb3J0LCBzdHJ1Y3QNCj4gPiA+IHJ0ZV9ldmVudA0KPiA+ID4gPiA+IGV2W10sXA0KPiA+ ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IG5iX2V2ZW50cyk7ICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50OF90IGVxX2ZsYWdzKTsgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g IHVpbnQxNl90IG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZCAqcG9y dCwNCj4gPiA+IFwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCAgICAgICAgXA0KPiA+ID4gPiA+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf dCBuYl9ldmVudHMpOyAgICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAgICAgICAg IFwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gIHVpbnQx Nl90IG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5xXyAjIyBuYW1lKHZvaWQgKnBvcnQsDQo+ ID4gPiBcDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sICAgICAgIFwNCj4gPiA+ID4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5i X2V2ZW50cyk7ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50OF90IGVxX2ZsYWdzKTsgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ICB1aW50MTZfdCBv dHgyX3Nzb2d3c19kdWFsX3R4X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZA0KPiAqcG9ydCwN Cj4gPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCAgIFwNCj4gPiA+ID4g PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MTZfdCBuYl9ldmVudHMpOyAgICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAg ICBcDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgIFwNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAgU1NPX1RYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5DDQo+ID4gPiA+ID4gPiAgI3Vu ZGVmIFQNCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9v dHgyX3dvcmtlci5jDQo+ID4gPiA+ID4gYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dv cmtlci5jDQo+ID4gPiA+ID4gPiBpbmRleCBjZDE0Y2QzZDIuLjEwMGUyMTY2OSAxMDA2NDQNCj4g PiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyLmMNCj4g PiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyLmMNCj4g PiA+ID4gPiA+IEBAIC0yNzAsMTIgKzI3MCwxNCBAQCBvdHgyX3Nzb2d3c19lbnFfZndkX2J1cnN0 KHZvaWQgKnBvcnQsDQo+ID4gPiBjb25zdA0KPiA+ID4gPiA+IHN0cnVjdCBydGVfZXZlbnQgZXZb XSwNCj4gPiA+ID4gPiA+ICAjZGVmaW5lIFQobmFtZSwgZjQsIGYzLCBmMiwgZjEsIGYwLCBzeiwg ZmxhZ3MpICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ICB1aW50MTZfdCBf X2hvdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCj4gPiA+ID4gPiA+ICBvdHgyX3Nzb2d3c190eF9hZHB0cl9lbnFfICMjIG5hbWUodm9p ZCAqcG9ydCwgc3RydWN0IHJ0ZV9ldmVudA0KPiA+ID4gZXZbXSwgICBcDQo+ID4gPiA+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKSAgICAg ICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncykgICAg ICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgeyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqd3MgPSBwb3J0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ2NF90IGNtZFtz el07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNF RChuYl9ldmVudHMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiArICAgICAgIFJURV9TRVRfVVNFRChlcV9mbGFncyk7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgIHJldHVybiBv dHgyX3Nzb2d3c19ldmVudF90eCh3cywgZXYsIGNtZCwgZmxhZ3MpOyAgICAgICAgICAgICAgICBc DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4gIFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhf RlVOQw0KPiA+ID4gPiA+ID4gQEAgLTI4NCwxMiArMjg2LDE0IEBAIFNTT19UWF9BRFBUUl9FTlFf RkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gICNkZWZpbmUgVChuYW1lLCBmNCwgZjMsIGYyLCBm MSwgZjAsIHN6LCBmbGFncykgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g IHVpbnQxNl90IF9faG90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gIG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV9z ZWdfICMjIG5hbWUodm9pZCAqcG9ydCwgc3RydWN0DQo+ID4gPiBydGVfZXZlbnQgZXZbXSxcDQo+ ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90 IG5iX2V2ZW50cykgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAgICAgICAgICAgICBc DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4 X3QgZXFfZmxhZ3MpICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqd3MgPSBwb3J0OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgIHVp bnQ2NF90IGNtZFsoc3opICsgTklYX1RYX01TRUdfU0dfRFdPUkRTIC0gMl07ICAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAg IFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgIFJURV9TRVRfVVNFRChlcV9mbGFncyk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAg ICAgIHJldHVybiBvdHgyX3Nzb2d3c19ldmVudF90eCh3cywgZXYsIGNtZCwgKGZsYWdzKSB8ICAg ICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOSVhfVFhfTVVMVElfU0VHX0YpOyAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAg fQ0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJf d29ya2VyX2R1YWwuYw0KPiA+ID4gPiA+IGIvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml93 b3JrZXJfZHVhbC5jDQo+ID4gPiA+ID4gPiBpbmRleCAzN2MyNzRhNTQuLmMzZTQ4ZGE0MiAxMDA2 NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2Vy X2R1YWwuYw0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml93 b3JrZXJfZHVhbC5jDQo+ID4gPiA+ID4gPiBAQCAtMzEwLDcgKzMxMCw4IEBAIFNTT19SWF9BRFBU Ul9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gIHVpbnQxNl90IF9faG90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4g PiA+ID4gIG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5xXyAjIyBuYW1lKHZvaWQgKnBvcnQs ICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCAgICAgICAgICAgXA0KPiA+ ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qg bmJfZXZlbnRzKSAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf dCBlcV9mbGFncykgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gIHsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3NfZHVhbCAqd3MgPSBwb3J0 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1 Y3Qgb3R4Ml9zc29nd3MgKnZ3cyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiA+ID4gPiA+ID4gQEAgLTMxOCw2ICszMTksNyBAQCBvdHgyX3Nzb2d3c19kdWFsX3R4 X2FkcHRyX2VucV8gIyMNCj4gPiA+IG5hbWUodm9pZCAqcG9ydCwNCj4gPiA+ID4gPiBcDQo+ID4g PiA+ID4gPiAgICAgICAgIHVpbnQ2NF90IGNtZFtzel07ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiArICAgICAgIFJURV9TRVRf VVNFRChlcV9mbGFncyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ID4gPiA+ID4gPiAgICAgICAgIHJldHVybiBvdHgyX3Nzb2d3c19ldmVudF90eCh2d3MsIGV2 LCBjbWQsIGZsYWdzKTsgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ ID4gIFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gQEAgLTMyNyw3 ICszMjksOCBAQCBTU09fVFhfQURQVFJfRU5RX0ZBU1RQQVRIX0ZVTkMNCj4gPiA+ID4gPiA+ICB1 aW50MTZfdCBfX2hvdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ICBvdHgyX3Nzb2d3c19kdWFsX3R4X2FkcHRyX2Vu cV9zZWdfICMjIG5hbWUodm9pZCAqcG9ydCwNCj4gXA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgICAg ICAgXA0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQxNl90IG5iX2V2ZW50cykgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAg ICAgICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3NfZHVhbCAq d3MgPSBwb3J0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAg ICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3MgKnZ3cyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gQEAgLTMzNSw2ICszMzgsNyBAQCBvdHgyX3Nzb2d3 c19kdWFsX3R4X2FkcHRyX2VucV9zZWdfICMjDQo+ID4gPiBuYW1lKHZvaWQNCj4gPiA+ID4gPiAq cG9ydCwgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICB1aW50NjRf dCBjbWRbKHN6KSArIE5JWF9UWF9NU0VHX1NHX0RXT1JEUyAtIDJdOyAgICAgICAgICAgICAgICAg XA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICBSVEVf U0VUX1VTRUQobmJfZXZlbnRzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiA+ID4gPiA+ID4gKyAgICAgICBSVEVfU0VUX1VTRUQoZXFfZmxhZ3MpOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICBy ZXR1cm4gb3R4Ml9zc29nd3NfZXZlbnRfdHgodndzLCBldiwgY21kLCAoZmxhZ3MpIHwgICAgICAg ICAgICAgXA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TklYX1RYX01VTFRJX1NFR19GKTsgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gIH0NCj4g PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhf dHhfYWRhcHRlci5oDQo+ID4gPiA+ID4gYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9l dGhfdHhfYWRhcHRlci5oDQo+ID4gPiA+ID4gPiBpbmRleCBjODQ4MjYxYzQuLjk4YmU3NzU2OCAx MDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyLmgNCj4gPiA+ID4gPiA+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRl X2V2ZW50X2V0aF90eF9hZGFwdGVyLmgNCj4gPiA+ID4gPiA+IEBAIC0zMDAsNiArMzAwLDExIEBA IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfZ2V0KHN0cnVjdA0KPiA+ID4gcnRlX21idWYN Cj4gPiA+ID4gPiAqcGt0KQ0KPiA+ID4gPiA+ID4gIGludA0KPiA+ID4gPiA+ID4gIHJ0ZV9ldmVu dF9ldGhfdHhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCh1aW50OF90IGlkLCB1aW50OF90DQo+ID4g PiA+ID4gKmV2ZW50X3BvcnRfaWQpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsjZGVmaW5l IFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFX1NBTUVfREVTVA0KPiAweDENCj4gPiA+ ID4gPiA+ICsvKio8IFRoaXMgZmxhZyBpcyB1c2VkIHdoZW4gYWxsIHRoZSBwYWNrZXRzIGVucXVl dWVkIGluIHRoZSB0eA0KPiBhZGFwdGVyDQo+ID4gPiBhcmUNCj4gPiA+ID4gPiA+ICsgKiBkZXN0 aW5lZCBmb3IgdGhlIHNhbWUgRXRoZXJuZXQgZGV2aWNlLCBxdWV1ZSBwYWlyLg0KPiA+ID4gPiA+ ID4gKyAqLw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4gICAq IEVucXVldWUgYSBidXJzdCBvZiBldmVudHMgb2JqZWN0cyBvciBhbiBldmVudCBvYmplY3Qgc3Vw cGxpZWQgaW4NCj4gPiA+ID4gPiAqcnRlX2V2ZW50Kg0KPiA+ID4gPiA+ID4gICAqIHN0cnVjdHVy ZSBvbiBhbiAgZXZlbnQgZGV2aWNlIGRlc2lnbmF0ZWQgYnkgaXRzICpkZXZfaWQqIHRocm91Z2gN Cj4gPiA+IHRoZSBldmVudA0KPiA+ID4gPiA+ID4gQEAgLTMyNCw2ICszMjksMTAgQEANCj4gPiA+ IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCh1aW50OF90DQo+ID4gPiA+ ID4gaWQsIHVpbnQ4X3QgKmV2ZW50X3BvcnRfaWQpOw0KPiA+ID4gPiA+ID4gICAqICBUaGUgbnVt YmVyIG9mIGV2ZW50IG9iamVjdHMgdG8gZW5xdWV1ZSwgdHlwaWNhbGx5IG51bWJlciBvZg0KPiA+ ID4gPiA+ID4gICAqDQo+IHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KC4uLlJURV9FVkVOVF9QT1JU X0FUVFJfRU5RX0RFUFRILi4uKQ0KPiA+ID4gPiA+ID4gICAqICBhdmFpbGFibGUgZm9yIHRoaXMg cG9ydC4NCj4gPiA+ID4gPiA+ICsgKiBAcGFyYW0gZmxhZ3MNCj4gPiA+ID4gPiA+ICsgKiAgU2Vl IFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFXyBmbGFncy4NCj4gPiA+ID4gPiA+ICsg KiAgI1JURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFX1NBTUVfREVTVA0KPiBzaWduaWZp ZXMNCj4gPiA+IHRoYXQgYWxsDQo+ID4gPiA+ID4gdGhlIHBhY2tldHMNCj4gPiA+ID4gPiA+ICsg KiAgd2hpY2ggYXJlIGVucXVldWVkIGFyZSBkZXN0aW5lZCBmb3IgdGhlIHNhbWUgRXRoZXJuZXQg ZGV2aWNlLA0KPiA+ID4gcXVldWUgcGFpci4NCj4gPiA+ID4gPiA+ICAgKg0KPiA+ID4gPiA+ID4g ICAqIEByZXR1cm4NCj4gPiA+ID4gPiA+ICAgKiAgIFRoZSBudW1iZXIgb2YgZXZlbnQgb2JqZWN0 cyBhY3R1YWxseSBlbnF1ZXVlZCBvbiB0aGUgZXZlbnQNCj4gPiA+IGRldmljZS4gVGhlDQo+ID4g PiA+ID4gPiBAQCAtMzQzLDcgKzM1Miw4IEBAIHN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4gPiA+ ID4gPiA+ICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSh1aW50OF90IGRldl9pZCwN Cj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBwb3J0 X2lkLA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQxNl90IG5iX2V2ZW50cykNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50OF90IGZsYWdzKQ0KPiA+ID4gPiA+ID4gIHsNCj4gPiA+ ID4gPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVu dGRldnNbZGV2X2lkXTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtMzU5LDcgKzM2OSw4 IEBADQo+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKHVpbnQ4X3QNCj4gPiA+IGRl dl9pZCwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gPiA+ ICAgICAgICAgfQ0KPiA+ID4gPiA+ID4gICNlbmRpZg0KPiA+ID4gPiA+ID4gLSAgICAgICByZXR1 cm4gZGV2LT50eGFfZW5xdWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwNCj4gPiA+ IG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiArICAgICAgIHJldHVybiBkZXYtPnR4YV9lbnF1ZXVl KGRldi0+ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2LA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuYl9ldmVudHMsIGZsYWdzKTsNCj4gPiA+ID4gPiA+ICB9DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2xp Yi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiA+ID4gPiBiL2xpYi9saWJydGVf ZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiA+ID4gPiA+IGluZGV4IGY0NGM4NjljYi4uM2Jm OWQ3MTE1IDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRkZXYuYw0KPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZl bnRkZXYuYw0KPiA+ID4gPiA+ID4gQEAgLTEzMjQsNyArMTMyNCw4IEBADQo+IHJ0ZV9ldmVudGRl dl9maW5kX2ZyZWVfZGV2aWNlX2luZGV4KHZvaWQpDQo+ID4gPiA+ID4gPiAgc3RhdGljIHVpbnQx Nl90DQo+ID4gPiA+ID4gPiAgcnRlX2V2ZW50X3R4X2FkYXB0ZXJfZW5xdWV1ZShfX3J0ZV91bnVz ZWQgdm9pZCAqcG9ydCwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIF9fcnRl X3VudXNlZCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICBfX3J0ZV91bnVzZWQgdWludDE2X3QgbmJfZXZlbnRzKQ0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgX19ydGVfdW51c2VkIHVpbnQxNl90IG5iX2V2ZW50cywN Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fcnRlX3VudXNlZCB1aW50OF90 IGZsYWdzKQ0KPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ICAgICAgICAgcnRlX2Vycm5vID0g RU5PVFNVUDsNCj4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ID4gPiBkaWZm IC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+ID4gPiA+IGIv bGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+ID4gPiA+ID4gaW5kZXggNTA0 NGExM2QwLi4yYTU2NDNkYTMgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2V2 ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+ID4gPiA+ID4gPiArKysgYi9saWIvbGlicnRlX2V2ZW50 ZGV2L3J0ZV9ldmVudGRldi5oDQo+ID4gPiA+ID4gPiBAQCAtMTIyNyw3ICsxMjI3LDcgQEAgdHlw ZWRlZiB1aW50MTZfdA0KPiA+ID4gKCpldmVudF9kZXF1ZXVlX2J1cnN0X3QpKHZvaWQNCj4gPiA+ ID4gPiAqcG9ydCwgc3RydWN0IHJ0ZV9ldmVudCBldltdLA0KPiA+ID4gPiA+ID4gIC8qKjwgQGlu dGVybmFsIERlcXVldWUgYnVyc3Qgb2YgZXZlbnRzIGZyb20gcG9ydCBvZiBhIGRldmljZSAqLw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICB0eXBlZGVmIHVpbnQxNl90ICgqZXZlbnRfdHhfYWRh cHRlcl9lbnF1ZXVlKSh2b2lkICpwb3J0LA0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cyk7 DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50 MTZfdCBuYl9ldmVudHMsIHVpbnQ4X3QgZmxhZ3MpOw0KPiA+ID4gPiA+ID4gIC8qKjwgQGludGVy bmFsIEVucXVldWUgYnVyc3Qgb2YgZXZlbnRzIG9uIHBvcnQgb2YgYSBkZXZpY2UgKi8NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiAgI2RlZmluZSBSVEVfRVZFTlRERVZfTkFNRV9NQVhfTEVOICAg ICAgKDY0KQ0KPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+IDIuMTcuMQ0KPiA+ID4gPiA+ID4N Cg==