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 8E718A04F9; Wed, 18 Dec 2019 04:54:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A2A521B9BF; Wed, 18 Dec 2019 04:54:34 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id BAFA11B3BB for ; Wed, 18 Dec 2019 04:54:33 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xBI3jFWZ019328; Tue, 17 Dec 2019 19:54:31 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=339V8U0d2cbhI+12l7w7RIa+j+4Rjz8nsMQYNwdMAkI=; b=Q4acjXi59RmSnio15NIBwV+pW8kEdsGtzFAmUnh/VtJNIbEDVkyERSSffK5prDk+bApY 0mQ/6WgnUozrZWapb8BWr0Cjex1KJU8fZLCkLaZj4CION7nBiTt2woTvDanse+GrJP4h 62iagibngaQX0LztpVRIscY3xLFVEgVQUjR2WBisyG1XFT9D9nGEFr7wFj6FoVXpYeJS 9/Jz39kWoYOIYfGZ8hOkwqy2oup5kZAgmgL52h/vS7j2J4KcgcMHni5qPER1CjNXysYx /1kbLIUoG10S8faUKbhFpaShBZGdJWr+eWwLm/WFyzEjEGOCrZk0k8nyHScu1ZfLxkVn Pw== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2wxn0wn2jk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 17 Dec 2019 19:54:31 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 17 Dec 2019 19:54:29 -0800 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.56) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 17 Dec 2019 19:54:29 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jw8oHjjDB9lvbxlyqpym87nCnFoxex9kByH1bz4Ji4WIwtNlU9G+P0cLkTa5R50Og1V+Xjz0GRtIGmRgquQ0mYTtyRFdKjY17qq/4p7tjUMngytNJRj2CrMPAqNfphX04rkbqCilsf5c1ijUd0x9YWgku2treTCGvjffqHpyyMdm9SfDJ8Dx+1UkkcsbQLEztDsm7JLG6pWLx22qqSnPirHb+2q8Fsxkug5voNSBx4cEl+QozmN8pGbpl087gUJrFuZjKVW/vh0Mx0hsa3n9sr+olhwn8b+xw8gUU0wZLk6unlxTX5VHqn/T0owfgdiXONVVcvFEq2C9P8WgxybNPw== 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=339V8U0d2cbhI+12l7w7RIa+j+4Rjz8nsMQYNwdMAkI=; b=T76q+SRocVbQvTEgIf6fSRYWBaI+apL3f2dLWULHfzAnmAry82a2Fc1c1aIXwkJwQRAEQyDMFuj190jOCdt2SdlTJZTFRjyUI0czSVKN0KxkJKGLXR3N5ArPLnkybHiY4a6OJIgiRiZ59GL10qnIMpXPahJUiy+ts1/b9j0yS9bwpVnrfBo5p30UgteHbUjyLBPBHtLG+CJVinykKZDYFINlAeRySqnkLRnMl1gLqo5NUelKmWQBoY0YLd+EUi3OmxFcsRpiHllkK/kpMKIvYiOEMYnRPLlWLWqJV03leEwSQPTcsUktJ1zMWUPIdFW2KL+nVkRZsm/N8Ed5GUHx6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=339V8U0d2cbhI+12l7w7RIa+j+4Rjz8nsMQYNwdMAkI=; b=fGREde4WYuhx5/ozwe4CMT0xGVq7V/ULs0ape5YipTxu9Rt9NPEDzus1H0kUsKq35KFp0Lqlgj/ACmNcHHbSZTQ90OlxGYJjFXf/AGfmsnqLVk3U9PMKNtY6NM4y7EOXVlzLPBc4+BWPVWQl+jTO64sRKpvVoRl3J34BgRmlJjM= Received: from MN2PR18MB2877.namprd18.prod.outlook.com (20.179.20.218) by MN2PR18MB2909.namprd18.prod.outlook.com (20.179.20.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.17; Wed, 18 Dec 2019 03:54:28 +0000 Received: from MN2PR18MB2877.namprd18.prod.outlook.com ([fe80::358a:10f1:5e8e:f6f]) by MN2PR18MB2877.namprd18.prod.outlook.com ([fe80::358a:10f1:5e8e:f6f%7]) with mapi id 15.20.2538.019; Wed, 18 Dec 2019 03:54:27 +0000 From: Anoob Joseph To: "Medvedkin, Vladimir" , "Ananyev, Konstantin" , Akhil Goyal , Adrien Mazarguil , "Doherty, Declan" , "Yigit, Ferruh" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: Ankur Dwivedi , Hemant Agrawal , Matan Azrad , "Nicolau, Radu" , Shahaf Shuler , "Narayana Prasad Raju Athreya" , "dev@dpdk.org" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH] ethdev: allow multiple security sessions to use one rte flow Thread-Index: AQHVrpMvw4Myz8aLekOSWFJnfZYPsaexyb8AgAL/DQCAAFP3wIAH2XiAgAAASsCAAUSNAIAAMGLggAA6nYCAAKj2MA== Date: Wed, 18 Dec 2019 03:54:27 +0000 Message-ID: References: <1575801683-27269-1-git-send-email-anoobj@marvell.com> <1fc05516-3686-4267-a760-edbe0b92bc87@intel.com> <0a7d957d-e1f6-835b-15d8-4bccc491b4f9@intel.com> <8d5062b2-d7a7-9788-5788-01720dbad2f5@intel.com> In-Reply-To: <8d5062b2-d7a7-9788-5788-01720dbad2f5@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.140.231.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e8717a6f-0da6-463e-131e-08d7836dfad1 x-ms-traffictypediagnostic: MN2PR18MB2909: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0255DF69B9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(366004)(376002)(346002)(396003)(199004)(189003)(51914003)(13464003)(7696005)(6506007)(478600001)(316002)(15650500001)(110136005)(8676002)(76116006)(66446008)(26005)(33656002)(66946007)(55236004)(9686003)(55016002)(81166006)(5660300002)(52536014)(64756008)(30864003)(8936002)(53546011)(81156014)(4326008)(86362001)(186003)(66476007)(54906003)(2906002)(71200400001)(66556008)(7416002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB2909; H:MN2PR18MB2877.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RQVqKOxZxmwIdNIsThnOHdtS2babdQp4fBiYG/Dd5bcBgeRAyOS8U+w+KUEqzY5DiAydo5K9KqSlGvAC9SyJKWHfQLcaxS20CYijgyN/LDjdVXgZ1IP6KzaKQzi5na5kjxPWhZGwhaQHVWoDFYvF6WvPrggkaxW+p/vqbDFp9CwGdo7Fp/cgVW/xuiCCWEj5Eye0L3SID408tOKOx8VGWdZciKbygZvq1o0WdY2nzjfEjybgwWYKWLBj6GmRUY7w8pEnTiWZnMblXM6gGHpUWiBvU1jJYMhQAp0bhm6p1tTC69Ab3nzsHtLr91KkS1HwBCgwLXLBFTY5g6AaBXDlrN1oSlnbQojQCuTU6jsdXJcVIz7/rBSXUJ5PXU873QJbQnpbPIz04EDUL86zXCOuaDNYwt/5JhrRijLbilD/3vk3UGgDWrxj457K/Uua7xkPENuolUnBnwQHlOyTvtn88iWXyuxVj3w/3HwtUtVAJPLqM3W5UVZtjm5ggG++6TgAO0fHdW18TgnkYj33Z/H4uBfVxgD/cPEDvljzLxYNLTrBvEarjitbo/B3lSPc8iN0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: e8717a6f-0da6-463e-131e-08d7836dfad1 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 03:54:27.7505 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6+bMfeR/7xBa5zlWq2KW3TDf0ZvdzRVaHXVFdvbtPwIZm7EKsReTpZ47o0hE4XyhN3GJd3j0BJvVd7VtPsH3Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB2909 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-17_05:2019-12-17,2019-12-17 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] ethdev: allow multiple security sessions to use one rte flow 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" SGkgVmxhZGltaXIsDQoNClBsZWFzZSBzZWUgaW5saW5lLg0KDQpUaGFua3MsDQpBbm9vYg0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1lZHZlZGtpbiwgVmxhZGltaXIg PHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIERlY2VtYmVy IDE3LCAyMDE5IDExOjE0IFBNDQo+IFRvOiBBbm9vYiBKb3NlcGggPGFub29iakBtYXJ2ZWxsLmNv bT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+ OyBBa2hpbCBHb3lhbCA8YWtoaWwuZ295YWxAbnhwLmNvbT47DQo+IEFkcmllbiBNYXphcmd1aWwg PGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+IDxkZWNsYW4u ZG9oZXJ0eUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29t PjsgSmVyaW4NCj4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsgVGhv bWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBDYzogQW5rdXIgRHdpdmVk aSA8YWR3aXZlZGlAbWFydmVsbC5jb20+OyBIZW1hbnQgQWdyYXdhbA0KPiA8aGVtYW50LmFncmF3 YWxAbnhwLmNvbT47IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+Ow0KPiBOaWNvbGF1 LCBSYWR1IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFm c0BtZWxsYW5veC5jb20+OyBOYXJheWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhDQo+IDxwYXRocmV5 YUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW0VYVF0gUmU6IFtk cGRrLWRldl0gW1BBVENIXSBldGhkZXY6IGFsbG93IG11bHRpcGxlIHNlY3VyaXR5DQo+IHNlc3Np b25zIHRvIHVzZSBvbmUgcnRlIGZsb3cNCj4gDQo+IEhpIEFub29iLA0KPiANCj4gT24gMTcvMTIv MjAxOSAxNDoyNCwgQW5vb2IgSm9zZXBoIHdyb3RlOg0KPiA+IEhpIFZsYWRpbWlyLA0KPiA+DQo+ ID4gUGxlYXNlIHNlZSBpbmxpbmUuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gQW5vb2INCj4gPg0K PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBNZWR2ZWRraW4sIFZs YWRpbWlyIDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwuY29tPg0KPiA+PiBTZW50OiBUdWVzZGF5 LCBEZWNlbWJlciAxNywgMjAxOSA0OjUxIFBNDQo+ID4+IFRvOiBBbm9vYiBKb3NlcGggPGFub29i akBtYXJ2ZWxsLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPj4gPGtvbnN0YW50aW4uYW5h bnlldkBpbnRlbC5jb20+OyBBa2hpbCBHb3lhbCA8YWtoaWwuZ295YWxAbnhwLmNvbT47DQo+ID4+ IEFkcmllbiBNYXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwg RGVjbGFuDQo+ID4+IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoIDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPj4gSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8 amVyaW5qQG1hcnZlbGwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4+IDx0aG9tYXNAbW9uamFs b24ubmV0Pg0KPiA+PiBDYzogQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5jb20+OyBI ZW1hbnQgQWdyYXdhbA0KPiA+PiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IE1hdGFuIEF6cmFk IDxtYXRhbkBtZWxsYW5veC5jb20+Ow0KPiBOaWNvbGF1LA0KPiA+PiBSYWR1IDxyYWR1Lm5pY29s YXVAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+Ow0K PiA+PiBOYXJheWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhIDxwYXRocmV5YUBtYXJ2ZWxsLmNvbT47 IGRldkBkcGRrLm9yZw0KPiA+PiBTdWJqZWN0OiBSZTogW0VYVF0gUmU6IFtkcGRrLWRldl0gW1BB VENIXSBldGhkZXY6IGFsbG93IG11bHRpcGxlDQo+ID4+IHNlY3VyaXR5IHNlc3Npb25zIHRvIHVz ZSBvbmUgcnRlIGZsb3cNCj4gPj4NCj4gPj4gSGkgQW5vb2IsDQo+ID4+DQo+ID4+IE9uIDE2LzEy LzIwMTkgMTY6MTYsIEFub29iIEpvc2VwaCB3cm90ZToNCj4gPj4+IEhpIFZsYWRpbWlyLA0KPiA+ Pj4NCj4gPj4+IFBsZWFzZSBzZWUgaW5saW5lLg0KPiA+Pj4NCj4gPj4+IFRoYW5rcywNCj4gPj4+ IEFub29iDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4g RnJvbTogTWVkdmVka2luLCBWbGFkaW1pciA8dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT4N Cj4gPj4+PiBTZW50OiBNb25kYXksIERlY2VtYmVyIDE2LCAyMDE5IDk6MjkgUE0NCj4gPj4+PiBU bzogQW5vb2IgSm9zZXBoIDxhbm9vYmpAbWFydmVsbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGlu DQo+ID4+Pj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBBa2hpbCBHb3lhbCA8YWto aWwuZ295YWxAbnhwLmNvbT47DQo+ID4+Pj4gQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFy Z3VpbEA2d2luZC5jb20+OyBEb2hlcnR5LCBEZWNsYW4NCj4gPj4+PiA8ZGVjbGFuLmRvaGVydHlA aW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ID4+ Pj4gSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsgVGhvbWFz IE1vbmphbG9uDQo+ID4+Pj4gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4+Pj4gQ2M6IEFua3Vy IER3aXZlZGkgPGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3YWwNCj4gPj4+PiA8 aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+ Ow0KPiA+PiBOaWNvbGF1LA0KPiA+Pj4+IFJhZHUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+OyBT aGFoYWYgU2h1bGVyDQo+ID4+Pj4gPHNoYWhhZnNAbWVsbGFub3guY29tPjsgTmFyYXlhbmEgUHJh c2FkIFJhanUgQXRocmV5YQ0KPiA+Pj4+IDxwYXRocmV5YUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRr Lm9yZw0KPiA+Pj4+IFN1YmplY3Q6IFtFWFRdIFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gZXRoZGV2 OiBhbGxvdyBtdWx0aXBsZQ0KPiA+Pj4+IHNlY3VyaXR5IHNlc3Npb25zIHRvIHVzZSBvbmUgcnRl IGZsb3cNCj4gPj4+Pg0KPiA+Pj4+IEV4dGVybmFsIEVtYWlsDQo+ID4+Pj4NCj4gPj4+PiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+ID4+Pj4gLS0NCj4gPj4+PiAtDQo+ID4+Pj4gSGkgQW5vb2IsDQo+ID4+Pj4NCj4g Pj4+PiBPbiAxMS8xMi8yMDE5IDE3OjMzLCBBbm9vYiBKb3NlcGggd3JvdGU6DQo+ID4+Pj4+IEhp IEtvbnN0YW50aW4sDQo+ID4+Pj4+DQo+ID4+Pj4+IFBsZWFzZSBzZWUgaW5saW5lLg0KPiA+Pj4+ Pg0KPiA+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+IEFub29iDQo+ID4+Pj4+DQo+ID4+Pj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0Bk cGRrLm9yZz4gT24gQmVoYWxmIE9mIEFuYW55ZXYsDQo+IEtvbnN0YW50aW4NCj4gPj4+Pj4+IFNl bnQ6IFdlZG5lc2RheSwgRGVjZW1iZXIgMTEsIDIwMTkgNDozNiBQTQ0KPiA+Pj4+Pj4gVG86IEFu b29iIEpvc2VwaCA8YW5vb2JqQG1hcnZlbGwuY29tPjsgQWtoaWwgR295YWwNCj4gPj4+Pj4+IDxh a2hpbC5nb3lhbEBueHAuY29tPjsgQWRyaWVuIE1hemFyZ3VpbA0KPiA+Pj4+Pj4gPGFkcmllbi5t YXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+ID4+Pj4+PiA8ZGVjbGFuLmRv aGVydHlAaW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1aA0KPiA+Pj4+Pj4gPGZlcnJ1aC55aWdpdEBp bnRlbC5jb20+OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+ID4+Pj4+PiA8amVyaW5qQG1h cnZlbGwuY29tPjsgVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+Pj4+ Pj4gQ2M6IEFua3VyIER3aXZlZGkgPGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3 YWwNCj4gPj4+Pj4+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgTWF0YW4gQXpyYWQNCj4gPG1h dGFuQG1lbGxhbm94LmNvbT47DQo+ID4+Pj4gTmljb2xhdSwNCj4gPj4+Pj4+IFJhZHUgPHJhZHUu bmljb2xhdUBpbnRlbC5jb20+OyBTaGFoYWYgU2h1bGVyDQo+ID4+Pj4+PiA8c2hhaGFmc0BtZWxs YW5veC5jb20+OyBOYXJheWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhDQo+ID4+Pj4+PiA8cGF0aHJl eWFAbWFydmVsbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtQQVRDSF0gZXRoZGV2OiBhbGxvdyBtdWx0aXBsZSBzZWN1cml0eQ0KPiA+Pj4+Pj4g c2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUgZmxvdw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+ Pj4+PiBUaGUgcnRlX3NlY3VyaXR5IEFQSSB3aGljaCBlbmFibGVzIGlubGluZSBwcm90b2NvbC9j cnlwdG8NCj4gPj4+Pj4+Pj4+IGZlYXR1cmUgbWFuZGF0ZXMgdGhhdCBmb3IgZXZlcnkgc2VjdXJp dHkgc2Vzc2lvbiBhbiBydGVfZmxvdyBpcw0KPiBjcmVhdGVkLg0KPiA+Pj4+Pj4+Pj4gVGhpcyB3 b3VsZCBpbnRlcm5hbGx5IHRyYW5zbGF0ZSB0byBhIHJ1bGUgaW4gdGhlIGhhcmR3YXJlDQo+ID4+ Pj4+Pj4+PiB3aGljaCB3b3VsZCBkbyBwYWNrZXQgY2xhc3NpZmljYXRpb24uDQo+ID4+Pj4+Pj4+ Pg0KPiA+Pj4+Pj4+Pj4gSW4gcnRlX3NlY3VydHksIG9uZSBTQSB3b3VsZCBiZSBvbmUgc2VjdXJp dHkgc2Vzc2lvbi4gQW5kIGlmDQo+ID4+Pj4+Pj4+PiBhbiBydGVfZmxvdyBuZWVkIHRvIGJlIGNy ZWF0ZWQgZm9yIGV2ZXJ5IHNlc3Npb24sIHRoZSBudW1iZXINCj4gPj4+Pj4+Pj4+IG9mIFNBcyBz dXBwb3J0ZWQgYnkgYW4gaW5saW5lIGltcGxlbWVudGF0aW9uIHdvdWxkIGJlIGxpbWl0ZWQNCj4g Pj4+Pj4+Pj4+IGJ5IHRoZSBudW1iZXIgb2YgcnRlX2Zsb3dzIHRoZSBQTUQgd291bGQgYmUgYWJs ZSB0byBzdXBwb3J0Lg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IElmIHRoZSBmaWVsZHMgU1BJ ICYgSVAgYWRkcmVzc2VzIGFyZSBhbGxvd2VkIHRvIGJlIGEgcmFuZ2UsDQo+ID4+Pj4+Pj4+PiB0 aGVuIHRoaXMgbGltaXRhdGlvbiBjYW4gYmUgb3ZlcmNvbWUuIE11bHRpcGxlIGZsb3dzIHdpbGwg YmUNCj4gPj4+Pj4+Pj4+IGFibGUgdG8gdXNlIG9uZSBydWxlIGZvciBTRUNVUklUWSBwcm9jZXNz aW5nLiBJbiB0aGlzIGNhc2UsDQo+ID4+Pj4+Pj4+PiB0aGUgc2VjdXJpdHkgc2Vzc2lvbiBwcm92 aWRlZCBhcyBjb25mIHdvdWxkIGJlIE5VTEwuDQo+ID4+Pj4+Pj4+IFdvbmRlciB3aGF0IHdpbGwg YmUgdGhlIHVzYWdlIG1vZGVsIGZvciBpdD8NCj4gPj4+Pj4+Pj4gQUZBSUssICBSRkMgNDMwMSBj bGVhcmx5IHN0YXRlcyB0aGF0IGVpdGhlciBTUEkgdmFsdWUgYWxvbmUgb3INCj4gPj4+Pj4+Pj4g aW4gY29uanVuY3Rpb24gd2l0aCBkc3QgKGFuZCBzcmMpIElQIHNob3VsZCBjbGVhcmx5IGlkZW50 aWZ5IFNBDQo+ID4+Pj4+Pj4+IGZvciBpbmJvdW5kIFNBRA0KPiA+Pj4+Pj4gbG9va3VwLg0KPiA+ Pj4+Pj4+PiBBbSBJIG1pc3Npbmcgc29tZXRoaW5nIG9idmlvdXMgaGVyZT8NCj4gPj4+Pj4+PiBb QW5vb2JdIEV4aXN0aW5nIFNFQ1VSSVRZIGFjdGlvbiB0eXBlIHJlcXVpcmVzIGFwcGxpY2F0aW9u IHRvDQo+ID4+Pj4+Pj4gY3JlYXRlIGFuICdydGVfZmxvdycgcGVyIFNBLCB3aGljaCBpcyBub3Qg cmVhbGx5IHJlcXVpcmVkIGlmIGgvdw0KPiA+Pj4+Pj4+IGNhbiB1c2UgU1BJIHRvIHVuaXF1ZWx5 DQo+ID4+Pj4+PiBpZGVudGlmeSB0aGUgc2VjdXJpdHkgc2Vzc2lvbi9TQS4NCj4gPj4+Pj4+PiBF eGlzdGluZyBydGVfZmxvdyB1c2FnZTogSVAgKGRzdCxzcmMpICsgRVNQICsgU1BJIC0+IHNlY3Vy aXR5DQo+ID4+Pj4+Pj4gcHJvY2Vzc2luZyBlbmFibGVkIG9uIG9uZSBzZWN1cml0eSBzZXNzaW9u IChpZSBvbiBTQSkNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFRoZSBhYm92ZSBydWxlIHdvdWxkIHVu aXF1ZWx5IGlkZW50aWZ5IHBhY2tldHMgZm9yIGFuIFNBLiBCdXQNCj4gPj4+Pj4+PiB3aXRoIHRo ZSBhYm92ZSB1c2FnZSwgd2Ugd291bGQgcXVpY2tseSBleGhhdXN0IGVudHJpZXMgYXZhaWxhYmxl DQo+ID4+Pj4+Pj4gaW4gaC93IGxvb2t1cCB0YWJsZXMgKHdoaWNoIGFyZSBsaW1pdGVkIG9uIG91 ciBoYXJkd2FyZSkuIEJ1dCBpZg0KPiA+Pj4+Pj4+IGgvdyBjYW4gdXNlIFNQSSBmaWVsZCB0byBp bmRleA0KPiA+Pj4+Pj4gaW50byBhIHRhYmxlIChmb3IgZXhhbXBsZSksIHRoZW4gdGhlIGFib3Zl IHJlcXVpcmVtZW50IG9mIG9uZQ0KPiA+Pj4+Pj4gcnRlX2Zsb3cgcGVyIFNBIGlzIG5vdCByZXF1 aXJlZC4NCj4gPj4+Pj4+PiBQcm9wb3NlZCBydGVfZmxvdyB1c2FnZTogSVAgKGFueSkgKyBFU1Ag KyBTUEkgKGFueSkgLT4gc2VjdXJpdHkNCj4gPj4+Pj4+PiBwcm9jZXNzaW5nIGVuYWJsZWQgb24g YWxsIEVTUCBwYWNrZXRzDQo+ID4+Pj4gU28gdGhpcyBtZWFucyB0aGF0IFNBIHdpbGwgYmUgaW5k ZXhlZCBvbmx5IGJ5IHNwaT8gV2hhdCBhYm91dCBTQSdzDQo+ID4+Pj4gd2hpY2ggYXJlIGluZGV4 ZWQgYnkgU1BJK0RJUCtTSVA/DQo+ID4+Pj4+Pj4gTm93IGgvdyBjb3VsZCB1c2UgU1BJIHRvIGlu ZGV4IGludG8gYSBwcmUtcG9wdWxhdGVkIHRhYmxlIHRvIGdldA0KPiA+Pj4+Pj4+IHNlY3VyaXR5 IHNlc3Npb24uIFBsZWFzZSBkbyBub3RlIHRoYXQsIFNQSSBpcyBub3QgaWdub3JlZCBkdXJpbmcN Cj4gPj4+Pj4+PiB0aGUgYWN0dWFsDQo+ID4+Pj4+PiBsb29rdXAuIEp1c3QgdGhhdCBpdCBpcyBu b3QgdXNlZCB3aGlsZSBjcmVhdGluZyAncnRlX2Zsb3cnLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEFu ZCB0aGlzIHRhYmxlIHdpbGwgYmUgcHJlcG9wdWxhdGVkIGJ5IHVzZXIgYW5kIHBvaW50ZXIgdG8g aXQNCj4gPj4+Pj4+IHdpbGwgYmUgc29tZWhvdyBwYXNzZWQgdmlhIHJ0ZV9mbG93IEFQST8NCj4g Pj4+Pj4+IElmIHllcywgdGhlbiB3aGF0IHdvdWxkIGJlIHRoZSBtZWNoYW5pc20/DQo+ID4+Pj4+ IFtBbm9vYl0gSSdtIG5vdCBzdXJlIHdoYXQgZXhhY3RseSB5b3UgbWVhbnQgYnkgdXNlci4gQnV0 IG1heSBiZQ0KPiA+Pj4+PiBJJ2xsIGV4cGxhaW4NCj4gPj4+PiBob3cgaXQncyBkb25lIGluIE9D VEVPTlRYMiBQTUQuDQo+ID4+Pj4+IFRoZSBhcHBsaWNhdGlvbiB3b3VsZCBjcmVhdGUgc2VjdXJp dHlfc2Vzc2lvbiBmb3IgZXZlcnkgU0EuIFNQSQ0KPiA+Pj4+PiBldGMgd291bGQgYmUNCj4gPj4+ PiBhdmFpbGFibGUgdG8gUE1EIChpbiBjb25mKSB3aGVuIHRoZSBzZXNzaW9uIGlzIGNyZWF0ZWQu IE5vdyB0aGUgUE1EDQo+ID4+Pj4gd291bGQgcG9wdWxhdGUgU0EgcmVsYXRlZCBwYXJhbXMgaW4g YSBzcGVjaWZpYyBsb2NhdGlvbiB0aGF0IGgvdw0KPiA+Pj4+IHdvdWxkIGFjY2Vzcy4gVGhpcyBt ZW1vcnkgaXMgYWxsb2NhdGVkIGR1cmluZyBkZXZpY2UgY29uZmlndXJlIGFuZA0KPiA+Pj4+IGgv dyB3b3VsZCBoYXZlIHRoZSBwb2ludGVyIGFmdGVyIHRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25l Lg0KPiA+Pj4+IElmIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZHVyaW5nIGRldmljZSBjb25maWd1cmUg d2hhdCBpcyB1cHBlciBsaW1pdA0KPiA+Pj4+IGZvciBudW1iZXIgb2Ygc2Vzc2lvbnM/IFdoYXQg aWYgYXBwIG5lZWRzIG1vcmU/DQo+ID4+Pj4+IFBNRCB1c2VzIFNQSSBhcyBpbmRleCB0byB3cml0 ZSBpbnRvIHNwZWNpZmljIGxvY2F0aW9ucyhkdXJpbmcNCj4gPj4+Pj4gc2Vzc2lvbiBjcmVhdGUp DQo+ID4+Pj4gYW5kIGgvdyB3b3VsZCB1c2UgaXQgd2hlbiBpdCBzZWVzIGFuIEVTUCBwYWNrZXQg ZWxpZ2libGUgZm9yDQo+ID4+Pj4gU0VDVVJJVFkgKGluIHJlY2VpdmUgcGF0aCwgcGVyIHBhY2tl dCkuIEFzIGxvbmcgYXMgc2Vzc2lvbiBjcmVhdGlvbg0KPiA+Pj4+IGNvdWxkIHBvcHVsYXRlIGF0 IG1lbW9yeSBsb2NhdGlvbnMgdGhhdCBoL3cgd291bGQgbG9vayBhdCwgdGhpcw0KPiA+Pj4+IHNj aGVtZSB3b3VsZA0KPiA+PiB3b3JrLg0KPiA+Pj4gW0Fub29iXSBZZXMuIEJ1dCB3ZSBuZWVkIHRv IGFsbG93IGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgdGhlIGgvdw0KPiA+Pj4gaXBzZWMNCj4gPj4g cHJvY2Vzc2luZyBhcyB3ZWxsLiBMZXQncyBzYXksIGFwcGxpY2F0aW9uIHdhbnRzIHRvIGhhbmRs ZSBhIHNwZWNpZmljDQo+ID4+IFNQSSByYW5nZSBpbiBsb29rYXNpZGUgbW9kZSAobWF5IGJlIGJl Y2F1c2Ugb2YgdW5zdXBwb3J0ZWQNCj4gPj4gY2FwYWJpbGl0aWVzPyksIGluIHRoYXQgY2FzZSBo YXZpbmcgcnRlX2Zsb3cgd2lsbCBoZWxwIGluIGZpbmUgdHVuaW5nIGhvdyB0aGUNCj4gaC93IHBh Y2tldCBzdGVlcmluZyBoYXBwZW5zLg0KPiA+PiBBbHNvLCBydGVfZmxvdyBlbmFibGVzIEgvdyBw YXJzaW5nIG9uIGluY29taW5nIHBhY2tldHMuIFRoaXMgaW5mbyBpcw0KPiA+PiB1c2VmdWwgZXZl biBhZnRlciBJUHNlYyBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlLiBPciBpZiBhcHBsaWNhdGlvbg0K PiA+PiB3YW50cyB0byBnaXZlIGhpZ2hlciBwcmlvcml0eSB0byBhIHJhbmdlIG9mIFNQSXMsIHJ0 ZV9mbG93IHdvdWxkIGFsbG93IGRvaW5nDQo+IHNvLg0KPiA+Pj4+IFdoYXQgYWxnb3JpdGhtIG9m IGluZGV4aW5nIGJ5IFNQSSBpcyB0aGVyZT8gQ291bGQgSSB1c2UgYW55DQo+ID4+Pj4gYXJiaXRy YXJ5IFNQST8gSWYgc29tZSBraW5kIG9mIGhhc2hpbmcgaXMgdXNlZCwgd2hhdCBhYm91dCBjb2xs aXNpb25zPw0KPiA+Pj4gW0Fub29iXSBUaGF0IGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4g SW4gb3VyIFBNRCwgd2UgbWFwIGl0IG9uZQ0KPiB0byBvbmUuDQo+ID4+IEFzIGluLCBTUEkgaXMg dXNlZCBhcyBpbmRleCBpbiB0aGUgdGFibGUuDQo+ID4+IFNvLCBhcyBmYXIgYXMgeW91IGFyZSBt YXBwaW5nIG9uZSB0byBvbmUgYW5kIHVzaW5nIFNQSSBhcyBhbiBpbmRleCwgYQ0KPiA+PiBsb3Qg b2YgbWVtb3J5IGlzIHdhc3RlZCBpbiB0aGUgdGFibGUgZm9yIHVudXNlZCBTUEkncy7CoCBBbHNv LCB5b3UgYXJlDQo+ID4+IG5vdCBhYmxlIHRvIGhhdmUgYSB0YWJsZSB3aXRoIDJeMzIgc2Vzc2lv bnMuIEl0IGlzIGxpa2VseSB0aGF0IHNvbWUNCj4gPj4gbnVtYmVyIG9mIFNQSSdzIGxlYXN0IHNp Z25pZmljYW50IGJpdHMgYXJlIHVzZWQgYXMgYW4gaW5kZXguIEFuZCBpdA0KPiA+PiByYWlzZXMg YSBxdWVzdGlvbiAtIHdoYXQgaWYgYXBwbGljYXRpb24gbmVlZHMgdHdvIHNlc3Npb25zIHdpdGgg ZGlmZmVyZW50DQo+IFNQSSdzIHdoaWNoIGhhdmUgdGhlIHNhbWUgbHNiJ3M/DQo+ID4gW0Fub29i XSBydGVfc2VjdXJpdHlfc2Vzc2lvbl9jcmVhdGUoKSB3b3VsZCBmYWlsLiBXaHkgZG8geW91IHNh eSB3ZQ0KPiBjYW5ub3Qgc3VwcG9ydCAyXjMyIHNlc3Npb25zPyBJZiBpdCdzIG1lbW9yeSBsaW1p dGF0aW9uLCB0aGUgc2FtZSBtZW1vcnkNCj4gbGltaXRhdGlvbiB3b3VsZCBhcHBseSBldmVuIGlm IHlvdSBoYXZlIGR5bmFtaWMgYWxsb2NhdGlvbiBvZiBtZW1vcnkgZm9yDQo+IHNlc3Npb25zLiBT byBhdCBzb21lIHBvaW50IHNlc3Npb24gY3JlYXRpb24gd291bGQgc3RhcnQgZmFpbGluZy4gSW4g b3VyIFBNRCwNCj4gd2UgYWxsb3cgdXNlciB0byBzcGVjaWZ5IHRoZSByYW5nZSBpdCByZXF1aXJl cyB1c2luZyBkZXZhcmdzLg0KPiA+DQo+ID4gQWxzbywgY29sbGlzaW9uIG9mIExTQnMgY2FuIGJl IGF2b2lkZWQgYnkgaW50cm9kdWNpbmcgYSAiTUFSSyIgcnVsZSBpbg0KPiBhZGRpdGlvbiB0byAi U0VDVVJJVFkiIGZvciB0aGUgcnRlX2Zsb3cgY3JlYXRlZCBmb3IgaW5saW5lIGlwc2VjLiBDdXJy ZW50bHkNCj4gdGhhdCBtb2RlbCBpcyBub3Qgc3VwcG9ydGVkIChpbiB0aGUgbGlicmFyeSksIGJ1 dCB0aGF0IGlzIG9uZSBzb2x1dGlvbiB0byB0aGUNCj4gY29sbGlzaW9ucyB0aGF0IGNhbiBiZSBw dXJzdWVkIGxhdGVyLg0KPiA+DQo+ID4+IE1vcmVvdmVyLCB3aGF0IGFib3V0DQo+ID4+IHR3byBz ZXNzaW9ucyB3aXRoIHNhbWUgU1BJIGJ1dCBkaWZmZXJlbnQgZHN0IGFuZCBzcmMgaXAgYWRkcmVz c2VzPw0KPiA+IFtBbm9vYl0gQ3VycmVudGx5IG91ciBQTUQgb25seSBzdXBwb3J0IFVDQVNUIElQ U0VDLiBTbyBhbm90aGVyIHNlc3Npb24NCj4gd2l0aCBzYW1lIFNQSSB3b3VsZCByZXN1bHQgaW4g c2Vzc2lvbiBjcmVhdGlvbiBmYWlsdXJlLg0KPiANCj4gQWhhLCBJIHNlZSwgdGhhbmtzIGZvciB0 aGUgZXhwbGFuYXRpb24uIFNvIG15IHN1Z2dlc3Rpb24gaGVyZSB3b3VsZCBiZToNCj4gDQo+IC0g QXBwbGljYXRpb24gZGVmaW5lcyB0aGF0IHNvbWUgc3Vic2V0IG9mIFNBJ3Mgd291bGQgYmUgaW5s aW5lIHByb3RvY29sDQo+IHByb2Nlc3NlZC4gQW5kIHRoaXMgU0EncyB3aWxsIGJlIGluZGV4ZWQg YnkgU1BJIG9ubHkuDQo+IA0KPiAtIEFwcCBkZWZpbmVzIHNwZWNpYWwgcmFuZ2UgZm9yIFNQSSB2 YWx1ZXMgb2YgdGhpcyBTQSdzIChzaXplIG9mIHRoaXMgcmFuZ2UgaXMNCj4gZGVmaW5lZCB1c2lu ZyBkZXZhcmdzKSBhbmQgZmlyc3QgU1BJIHZhbHVlIChmcm9tIGNvbmZpZ3VyYXRpb24/KS4NCj4g DQo+IC0gQXBwIGluc3RhbGxzIHJ0ZV9mbG93IG9ubHkgZm9yIHRoaXMgcmFuZ2UgKGZyb20gZmly c3QgU1BJIHRvIGZpcnN0IFNQSQ0KPiArIHJhbmdlIHNpemUpLCBub3QgZm9yIGFsbCBTUEkgdmFs dWVzLg0KDQpbQW5vb2JdIFRoaXMgaXMgZXhhY3RseSB3aGF0IHRoaXMgcGF0Y2ggcHJvcG9zZXMu IEFsbG93aW5nIHRoZSBTUEkgYW5kIHRoZSBJUCBhZGRyZXNzZXMgdG8gYmUgcmFuZ2UgYW5kIGhh dmUgc2VjdXJpdHlfc2Vzc2lvbiBwcm92aWRlZCBhcyBOVUxMLiBXaGF0IHlvdSBoYXZlIGRlc2Ny aWJlZCB3b3VsZCBiZSBhY2hpZXZhYmxlIG9ubHkgaWYgd2UgY2FuIGFsbG93IHRoaXMgbW9kaWZp Y2F0aW9uIGluIHRoZSBsaWIuDQoNClNvIGNhbiBJIGFzc3VtZSB5b3UgYXJlIGluIGFncmVlbWVu dCB3aXRoIHRoaXMgcGF0Y2g/DQogDQo+IA0KPiAtIE90aGVyIFNQSSB2YWx1ZXMgd291bGQgYmUg cHJvY2Vzc2VkIG5vbiBpbmxpbmUuDQo+IA0KPiBJbiB0aGlzIGNhc2Ugd2Ugd291bGQgYmUgYWJs ZSB0byBoYXZlIFNBIGFkZHJlc3NlZCBieSBsb25nZXIgdHVwbGUgKGkuZS4NCj4gU1BJK0RJUCtT SVApIG91dHNpZGUgb2YgYmVmb3JlIG1lbnRpb25lZCByYW5nZSwgYXMgd2VsbCBhcyBTQSB3aXRo DQo+IHVuc3VwcG9ydGVkIGNhcGFiaWxpdGllcyBieSBpbmxpbmUgcHJvdG9jb2wgZGV2aWNlLg0K PiANCj4gPg0KPiA+Pj4+Pj4+IFRoZSB1c2FnZSBvZiBvbmUgJ3J0ZV9mbG93JyBmb3IgbXVsdGlw bGUgU0FzIGlzIG5vdCBtYW5kYXRvcnkuIEl0DQo+ID4+Pj4+Pj4gaXMgb25seSByZXF1aXJlZCB3 aGVuIGFwcGxpY2F0aW9uIHJlcXVpcmVzIGxhcmdlIG51bWJlciBvZiBTQXMuDQo+ID4+Pj4+Pj4g VGhlIHByb3Bvc2VkDQo+ID4+Pj4+PiBjaGFuZ2UgaXMgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQg dXNhZ2Ugb2YgaC93IHJlc291cmNlcyB3aGVyZSBpdCdzDQo+ID4+Pj4+PiBwZXJtaXR0ZWQgYnkg dGhlIFBNRC4NCj4gPj4+Pj4+Pj4+IEFwcGxpY2F0aW9uIHNob3VsZCBkbyBhbiBydGVfZmxvd192 YWxpZGF0ZSgpIHRvIG1ha2Ugc3VyZSB0aGUNCj4gPj4+Pj4+Pj4+IGZsb3cgaXMgc3VwcG9ydGVk IG9uIHRoZSBQTUQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQW5v b2IgSm9zZXBoIDxhbm9vYmpAbWFydmVsbC5jb20+DQo+ID4+Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+ Pj4+ICAgICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oIHwgNiArKysrKysNCj4gPj4+Pj4+ Pj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspDQo+ID4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgNCj4gPj4+ Pj4+Pj4+IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaCBpbmRleCA0NTJkMzU5Li4yMWZh N2VkIDEwMDY0NA0KPiA+Pj4+Pj4+Pj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cu aA0KPiA+Pj4+Pj4+Pj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+Pj4+ Pj4+Pj4gQEAgLTIyMzksNiArMjIzOSwxMiBAQCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX21ldGVy IHsNCj4gPj4+Pj4+Pj4+ICAgICAgKiBkaXJlY3Rpb24uDQo+ID4+Pj4+Pj4+PiAgICAgICoNCj4g Pj4+Pj4+Pj4+ICAgICAgKiBNdWx0aXBsZSBmbG93cyBjYW4gYmUgY29uZmlndXJlZCB0byB1c2Ug dGhlIHNhbWUgc2VjdXJpdHkNCj4gc2Vzc2lvbi4NCj4gPj4+Pj4+Pj4+ICsgKg0KPiA+Pj4+Pj4+ Pj4gKyAqIFRoZSBOVUxMIHZhbHVlIGlzIGFsbG93ZWQgZm9yIHNlY3VyaXR5IHNlc3Npb24uIElm IHNlY3VyaXR5DQo+ID4+Pj4+Pj4+PiArIHNlc3Npb24gaXMgTlVMTCwNCj4gPj4+Pj4+Pj4+ICsg KiB0aGVuIFNQSSBmaWVsZCBpbiBFU1AgZmxvdyBpdGVtIGFuZCBJUCBhZGRyZXNzZXMgaW4gZmxv dw0KPiA+Pj4+Pj4+Pj4gKyBpdGVtcyAnSVB2NCcgYW5kDQo+ID4+Pj4+Pj4+PiArICogJ0lQdjYn IHdpbGwgYmUgYWxsb3dlZCB0byBiZSBhIHJhbmdlLiBUaGUgcnVsZSB0aHVzIGNyZWF0ZWQNCj4g Pj4+Pj4+Pj4+ICsgY2FuIGVuYWJsZQ0KPiA+Pj4+Pj4+Pj4gKyAqIFNFQ1VSSVRZIHByb2Nlc3Np bmcgb24gbXVsdGlwbGUgZmxvd3MuDQo+ID4+Pj4+Pj4+PiArICoNCj4gPj4+Pj4+Pj4+ICAgICAg Ki8NCj4gPj4+Pj4+Pj4+ICAgICBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NlY3VyaXR5IHsNCj4g Pj4+Pj4+Pj4+ICAgICAJdm9pZCAqc2VjdXJpdHlfc2Vzc2lvbjsgLyoqPCBQb2ludGVyIHRvIHNl Y3VyaXR5IHNlc3Npb24NCj4gPj4gc3RydWN0dXJlLg0KPiA+Pj4+Pj4+Pj4gKi8NCj4gPj4+Pj4+ Pj4+IC0tDQo+ID4+Pj4+Pj4+PiAyLjcuNA0KPiA+Pj4+IC0tDQo+ID4+Pj4gUmVnYXJkcywNCj4g Pj4+PiBWbGFkaW1pcg0KPiA+PiAtLQ0KPiA+PiBSZWdhcmRzLA0KPiA+PiBWbGFkaW1pcg0KPiAN Cj4gLS0NCj4gUmVnYXJkcywNCj4gVmxhZGltaXINCg0K