From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Honnappa.Nagarahalli@arm.com>
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50081.outbound.protection.outlook.com [40.107.5.81])
 by dpdk.org (Postfix) with ESMTP id 7F5B42C37;
 Fri,  5 Oct 2018 17:11:46 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z9GP4gZ9Y/TIXLBSBcJ17Vf7JAvG8QBI5ZfI/R8lkQc=;
 b=QxMJvTbor+U43LZteRtPoUQJm5hMs3+fnkrFZzRF1GU8k9gWKrr+g3KVHLF7QXv1skMCwvULTvMKUt3MMOoxIt/4yK607BS61kwwGOwIRvcgyPFEz1lN418q14ZTDcHMWjybzSsOdFD/L8ZBQESh4wwt3kRQFH5ziqqTKjXbgvw=
Received: from AM6PR08MB3672.eurprd08.prod.outlook.com (20.177.115.29) by
 AM6PR08MB3464.eurprd08.prod.outlook.com (20.177.113.25) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1207.22; Fri, 5 Oct 2018 15:11:45 +0000
Received: from AM6PR08MB3672.eurprd08.prod.outlook.com
 ([fe80::f423:e46a:a03c:e928]) by AM6PR08MB3672.eurprd08.prod.outlook.com
 ([fe80::f423:e46a:a03c:e928%2]) with mapi id 15.20.1185.027; Fri, 5 Oct 2018
 15:11:45 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, Ola Liljedahl
 <Ola.Liljedahl@arm.com>, "Gavin Hu (Arm Technology China)"
 <Gavin.Hu@arm.com>, Jerin Jacob <jerin.jacob@caviumnetworks.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Steve Capper <Steve.Capper@arm.com>, nd
 <nd@arm.com>, "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [PATCH v3 1/3] ring: read tail using atomic load
Thread-Index: AQHUXIR8HYDms5kGFkyaw4kWx/U6y6UQgHYAgAAF34CAACPDgIAAFyZA
Date: Fri, 5 Oct 2018 15:11:44 +0000
Message-ID: <AM6PR08MB3672F618AABF380FDCF87B3A98EB0@AM6PR08MB3672.eurprd08.prod.outlook.com>
References: <20180807031943.5331-1-gavin.hu@arm.com>
 <1537172244-64874-1-git-send-email-gavin.hu@arm.com>
 <20180929104857.GA30457@jerin>
 <VI1PR08MB316716BE3A6CE22E70F044838FEB0@VI1PR08MB3167.eurprd08.prod.outlook.com>
 <2601191342CEEE43887BDE71AB9772580102FE261A@IRSMSX106.ger.corp.intel.com>
 <ACCAF4F3-1C57-43EB-A399-E1449E4C1277@arm.com>
 <621E373E-048D-4808-8CE8-84373EA98D2F@arm.com>
 <2601191342CEEE43887BDE71AB9772580102FE2951@IRSMSX106.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB9772580102FE2951@IRSMSX106.ger.corp.intel.com>
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=Honnappa.Nagarahalli@arm.com; 
x-originating-ip: [217.140.111.135]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM6PR08MB3464;
 6:sjF050cAK6ilimZh8g0BqEEgLnHFGdhjd4dTeJnYPulHR/X4O1HZXHbeb1Zwvm2UxqpPAeoS6MKs/yNpMp9phRDikRklgHI8SqGhb6RyvazlbS0WmuMlH3bdDmjlfFPiSjndET475PviIFiwg8k4MrjxFyG4g6qLRzWMBkwjnSfjFhoUn/MB9A0wn7nxnA2Qdk/nLfPC77nisYeFYUikdjVSdnqUYbkr8Pbb0gVA2WaLRDIhta6AV7cP0+z82eqmn79DNqincIna8TbmgUOTP9q/Au0M/+DLaTkR5OQba7w3X1UckZQykeF80eKNN6TYnGSjeni8b9DhOz/m5tzt9CW/zbNTyRnbc7FeOMGY6Dl4w4hqWjw2w9LnULAyNrVvtnLxceqfAL0x5M2c0TQHX610/+4is40zk3awf+8YO8+FcmZRxDsVRG67++KS1w08HlqzhNlvb/GOm/CXe+Uu6A==;
 5:Esg6F6Z14XUIruQlBWIQIEDTg2Ldz2X2F4UzHNzvwXBzJhC2wK2F3iL44o1VnYRvUPPj8u1n0CZ0O65dlok3UDaU/mb3HO3Kg2aomMGxsDEQSlmOds5WUZmWRC1jd2fOeQVs6RGZTsRzaiuWUwDV3ZssVHBojHWjahowTDeJSzg=;
 7:MGaWVfrQD5lmScl9sbT0n7tW+2ar70ktLhrE4lEjMik59lj+vLlU+o0g1xYG+dm1V4submA2cQn78RsJaG5iblYfh+g66Ocw6AlDwHw8El2awvX6FsANEPhjLw6DRnyGplCeIgng0/hqZMpu5r8CnYKa1ADMEVA2N++giRdWJK2T6ZpPbIR2llSLzmIOdemY7QBo1+9u7FeK2yscQa3t46TpEkK83gOyBi6q4scZfWdlDbJe0z8Qk0NxJTvQXJpq
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: f9132a00-ed48-48a4-1e95-08d62ad4dd1d
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);
 SRVR:AM6PR08MB3464; 
x-ms-traffictypediagnostic: AM6PR08MB3464:
nodisclaimer: True
x-microsoft-antispam-prvs: <AM6PR08MB3464D8143FADBE6D8B21B82898EB0@AM6PR08MB3464.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(180628864354917)(100405760836317);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231355)(944501410)(52105095)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(20161123560045)(201708071742011)(7699051);
 SRVR:AM6PR08MB3464; BCL:0; PCL:0; RULEID:; SRVR:AM6PR08MB3464; 
x-forefront-prvs: 0816F1D86E
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(366004)(396003)(376002)(39860400002)(136003)(13464003)(189003)(199004)(446003)(6246003)(71190400001)(478600001)(71200400001)(476003)(97736004)(486006)(14454004)(11346002)(72206003)(256004)(106356001)(8936002)(14444005)(105586002)(81166006)(81156014)(68736007)(8676002)(2900100001)(86362001)(229853002)(316002)(2906002)(25786009)(6436002)(76176011)(6116002)(5250100002)(53546011)(9686003)(7736002)(66066001)(6506007)(53936002)(305945005)(99286004)(55016002)(186003)(4326008)(74316002)(3846002)(7696005)(110136005)(33656002)(26005)(5660300001)(93886005)(54906003)(102836004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3464;
 H:AM6PR08MB3672.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: QmvgdJkvfQCaxGWYHyP8fEUnqG6SciKxfnk6gVcohKyP3Y60lAF7A+tA875aq9TcXFujL3dhhcClPnuAS25FdtmYiFYHmtiz80lR7A2tTtlY13PHRfBnLgCNvKR3Z9xloRGuHQ5XBhUAvuey1WmsN9qmlcQXi44SzQpnCxwDNH1kWVW5l/G6lWDB2epw1HHv3fKeK0KQUClWX0Z6PGnHt2kfPqhHa7JfcS79rzWHZcbkUCmY2rpvyaO6RUjQMCAljy6xgM8ku1kaK1Aoc7EH7YITODl7M6f5X/BU2ZTMf/NCSP7wR6ME3AZhV2QDaW9Gp8NyN+8SgymN67yudiSf+wTDzPBQL1LjDvPUsvcUMd4=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9132a00-ed48-48a4-1e95-08d62ad4dd1d
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2018 15:11:44.9204 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3464
Subject: Re: [dpdk-stable] [PATCH v3 1/3] ring: read tail using atomic load
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Oct 2018 15:11:46 -0000

PiA+ICAgICAgICAgPg0KPiA+ICAgICAgICAgPiBIaSBKZXJpbiwNCj4gPiAgICAgICAgID4NCj4g
PiAgICAgICAgID4gVGhhbmtzIGZvciB5b3VyIHJldmlldywgaW5saW5lIGNvbW1lbnRzIGZyb20g
b3VyIGludGVybmFsDQo+IGRpc2N1c3Npb25zLg0KPiA+ICAgICAgICAgPg0KPiA+ICAgICAgICAg
PiBCUi4gR2F2aW4NCj4gPiAgICAgICAgID4NCj4gPiAgICAgICAgID4gPiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+ICAgICAgICAgPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbi5q
YWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+ID4gICAgICAgICA+ID4gU2VudDogU2F0dXJkYXks
IFNlcHRlbWJlciAyOSwgMjAxOCA2OjQ5IFBNDQo+ID4gICAgICAgICA+ID4gVG86IEdhdmluIEh1
IChBcm0gVGVjaG5vbG9neSBDaGluYSkgPEdhdmluLkh1QGFybS5jb20+DQo+ID4gICAgICAgICA+
ID4gQ2M6IGRldkBkcGRrLm9yZzsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiAgICAgICAgID4g
PiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IFN0ZXZlIENhcHBlcg0KPiA+ICAgICAg
ICAgPiA+IDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT47IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRh
aGxAYXJtLmNvbT47DQo+IG5kDQo+ID4gICAgICAgICA+ID4gPG5kQGFybS5jb20+OyBzdGFibGVA
ZHBkay5vcmcNCj4gPiAgICAgICAgID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDEvM10gcmlu
ZzogcmVhZCB0YWlsIHVzaW5nIGF0b21pYyBsb2FkDQo+ID4gICAgICAgICA+ID4NCj4gPiAgICAg
ICAgID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ICAgICAgICAgPiA+ID4gRGF0
ZTogTW9uLCAxNyBTZXAgMjAxOCAxNjoxNzoyMiArMDgwMA0KPiA+ICAgICAgICAgPiA+ID4gRnJv
bTogR2F2aW4gSHUgPGdhdmluLmh1QGFybS5jb20+DQo+ID4gICAgICAgICA+ID4gPiBUbzogZGV2
QGRwZGsub3JnDQo+ID4gICAgICAgICA+ID4gPiBDQzogZ2F2aW4uaHVAYXJtLmNvbSwgSG9ubmFw
cGEuTmFnYXJhaGFsbGlAYXJtLmNvbSwNCj4gPiAgICAgICAgID4gPiA+IHN0ZXZlLmNhcHBlckBh
cm0uY29tLCAgT2xhLkxpbGplZGFobEBhcm0uY29tLA0KPiA+ICAgICAgICAgPiA+ID4gamVyaW4u
amFjb2JAY2F2aXVtbmV0d29ya3MuY29tLCBuZEBhcm0uY29tLA0KPiBzdGFibGVAZHBkay5vcmcN
Cj4gPiAgICAgICAgID4gPiA+IFN1YmplY3Q6IFtQQVRDSCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFp
bCB1c2luZyBhdG9taWMgbG9hZA0KPiA+ICAgICAgICAgPiA+ID4gWC1NYWlsZXI6IGdpdC1zZW5k
LWVtYWlsIDIuNy40DQo+ID4gICAgICAgICA+ID4gPg0KPiA+ICAgICAgICAgPiA+ID4gRXh0ZXJu
YWwgRW1haWwNCj4gPiAgICAgICAgID4gPiA+DQo+ID4gICAgICAgICA+ID4gPiBJbiB1cGRhdGVf
dGFpbCwgcmVhZCBodC0+dGFpbCB1c2luZyBfX2F0b21pY19sb2FkLkFsdGhvdWdoIHRoZQ0KPiA+
ICAgICAgICAgPiA+ID4gY29tcGlsZXIgY3VycmVudGx5IHNlZW1zIHRvIGJlIGRvaW5nIHRoZSBy
aWdodCB0aGluZyBldmVuIHdpdGhvdXQNCj4gPiAgICAgICAgID4gPiA+IF9hdG9taWNfbG9hZCwg
d2UgZG9uJ3Qgd2FudCB0byBnaXZlIHRoZSBjb21waWxlciBmcmVlZG9tIHRvDQo+IG9wdGltaXNl
DQo+ID4gICAgICAgICA+ID4gPiB3aGF0IHNob3VsZCBiZSBhbiBhdG9taWMgbG9hZCwgaXQgc2hv
dWxkIG5vdCBiZSBhcmJpdGFyaWx5IG1vdmVkDQo+ID4gICAgICAgICA+ID4gPiBhcm91bmQuDQo+
ID4gICAgICAgICA+ID4gPg0KPiA+ICAgICAgICAgPiA+ID4gRml4ZXM6IDM5MzY4ZWJmYzYgKCJy
aW5nOiBpbnRyb2R1Y2UgQzExIG1lbW9yeSBtb2RlbCBiYXJyaWVyDQo+IG9wdGlvbiIpDQo+ID4g
ICAgICAgICA+ID4gPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4gICAgICAgICA+ID4gPg0KPiA+
ICAgICAgICAgPiA+ID4gU2lnbmVkLW9mZi1ieTogR2F2aW4gSHUgPGdhdmluLmh1QGFybS5jb20+
DQo+ID4gICAgICAgICA+ID4gPiBSZXZpZXdlZC1ieTogSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4g
PEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+DQo+ID4gICAgICAgICA+ID4gPiBSZXZpZXdl
ZC1ieTogU3RldmUgQ2FwcGVyIDxzdGV2ZS5jYXBwZXJAYXJtLmNvbT4NCj4gPiAgICAgICAgID4g
PiA+IFJldmlld2VkLWJ5OiBPbGEgTGlsamVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5jb20+DQo+
ID4gICAgICAgICA+ID4gPiAtLS0NCj4gPiAgICAgICAgID4gPiA+ICBsaWIvbGlicnRlX3Jpbmcv
cnRlX3JpbmdfYzExX21lbS5oIHwgMyArKy0NCj4gPiAgICAgICAgID4gPiA+ICAxIGZpbGUgY2hh
bmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4gICAgICAgICA+ID4gPg0K
PiA+ICAgICAgICAgPiBUaGUgcmVhZCBvZiBodC0+dGFpbCBuZWVkcyB0byBiZSBhdG9taWMsIGEg
bm9uLWF0b21pYyByZWFkIHdvdWxkIG5vdA0KPiBiZSBjb3JyZWN0Lg0KPiA+DQo+ID4gICAgICAg
ICBUaGF0J3MgYSAzMmJpdCB2YWx1ZSBsb2FkLg0KPiA+ICAgICAgICAgQUZBSUsgb24gYWxsIENQ
VXMgdGhhdCB3ZSBzdXBwb3J0IGl0IGlzIGFuIGF0b21pYyBvcGVyYXRpb24uDQo+ID4gICAgIFtP
bGFdIEJ1dCB0aGF0IHRoZSBvcmRpbmFyeSBDIGxvYWQgaXMgdHJhbnNsYXRlZCB0byBhbiBhdG9t
aWMgbG9hZCBmb3IgdGhlDQo+IHRhcmdldCBhcmNoaXRlY3R1cmUgaXMgaW5jaWRlbnRhbC4NCj4g
Pg0KPiA+ICAgICBJZiB0aGUgZGVzaWduIHJlcXVpcmVzIGFuIGF0b21pYyBsb2FkICh3aGljaCBp
cyB0aGUgY2FzZSBoZXJlKSwgd2UNCj4gPiBzaG91bGQgdXNlIGFuIGF0b21pYyBsb2FkIG9uIHRo
ZSBsYW5ndWFnZSBsZXZlbC4gVGhlbiB3ZSBjYW4gYmUgc3VyZSBpdCB3aWxsDQo+IGFsd2F5cyBi
ZSB0cmFuc2xhdGVkIHRvIGFuIGF0b21pYyBsb2FkIGZvciB0aGUgdGFyZ2V0IGluIHF1ZXN0aW9u
IG9yDQo+IGNvbXBpbGF0aW9uIHdpbGwgZmFpbC4gV2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24g
YXNzdW1wdGlvbnMuDQo+IA0KPiBXZSBhbGwga25vdyB0aGF0IDMyYml0IGxvYWQvc3RvcmUgb24g
Y3B1IHdlIHN1cHBvcnQgLSBhcmUgYXRvbWljLg0KPiBJZiBpdCB3b3VsZG4ndCBiZSB0aGUgY2Fz
ZSAtIERQREsgd291bGQgYmUgYnJva2VuIGluIGRvemVuIHBsYWNlcy4NCj4gU28gd2hhdCB0aGUg
cG9pbnQgdG8gcHJldGVuZCB0aGF0ICJpdCBtaWdodCBiZSBub3QgYXRvbWljIiBpZiB3ZSBkbyBr
bm93IGZvcg0KPiBzdXJlIHRoYXQgaXQgaXM/DQo+IEkgZG8gdW5kZXJzdGFuZCB0aGF0IHlvdSB3
YW50IHRvIHVzZSBhdG9taWNfbG9hZChyZWxheGVkKSBoZXJlIGZvcg0KPiBjb25zaXN0ZW5jeSwg
YW5kIHRvIGNvbmZvcm0gd2l0aCBDMTEgbWVtLW1vZGVsIGFuZCBJIGRvbid0IHNlZSBhbnkgaGFy
bSBpbg0KPiB0aGF0Lg0KV2UgY2FuIGNvbnRpbnVlIHRvIGRpc2N1c3MgdGhlIHRvcGljLCBpdCBp
cyBhIGdvb2QgZGlzY3Vzc2lvbi4gQnV0LCBhcyBmYXIgdGhpcyBwYXRjaCBpcyBjb25jZXJuZWQs
IGNhbiBJIGNvbnNpZGVyIHRoaXMgYXMgdXMgaGF2aW5nIGEgY29uc2Vuc3VzPyBUaGUgZmlsZSBy
dGVfcmluZ19jMTFfbWVtLmggaXMgc3BlY2lmaWNhbGx5IGZvciBDMTEgbWVtb3J5IG1vZGVsIGFu
ZCBJIGFsc28gZG8gbm90IHNlZSBhbnkgaGFybSBpbiBoYXZpbmcgY29kZSB0aGF0IGNvbXBsZXRl
bHkgY29uZm9ybXMgdG8gQzExIG1lbW9yeSBtb2RlbC4NCg0KPiBCdXQgYXJndW1lbnQgdGhhdCB3
ZSBzaG91bGRuJ3QgYXNzdW1lIDMyYml0IGxvYWQvc3RvcmUgb3BzIGFzIGF0b21pYw0KPiBzb3Vu
ZHMgYSBiaXQgZmxha3kgdG8gbWUuDQo+IEtvbnN0YW50aW4NCj4gDQo+IA0KPiA+DQo+ID4NCj4g
Pg0KPiA+ICAgICAgICAgPiBCdXQgdGhlcmUgYXJlIG5vIG1lbW9yeSBvcmRlcmluZyByZXF1aXJl
bWVudHMgKHdpdGgNCj4gPiAgICAgICAgID4gcmVnYXJkcyB0byBvdGhlciBsb2FkcyBhbmQvb3Ig
c3RvcmVzIGJ5IHRoaXMgdGhyZWFkKSBzbyByZWxheGVkDQo+IG1lbW9yeSBvcmRlciBpcyBzdWZm
aWNpZW50Lg0KPiA+ICAgICAgICAgPiBBbm90aGVyIGFzcGVjdCBvZiB1c2luZyBfX2F0b21pY19s
b2FkX24oKSBpcyB0aGF0IHRoZQ0KPiA+IGNvbXBpbGVyIGNhbm5vdCAib3B0aW1pc2UiIHRoaXMg
bG9hZCAoZS5nLiBjb21iaW5lLCBob2lzdCBldGMpLCBpdCBoYXMgdG8gYmUNCj4gZG9uZSBhcw0K
PiA+ICAgICAgICAgPiBzcGVjaWZpZWQgaW4gdGhlIHNvdXJjZSBjb2RlIHdoaWNoIGlzIGFsc28g
d2hhdCB3ZSBuZWVkIGhlcmUuDQo+ID4NCj4gPiAgICAgICAgIEkgdGhpbmsgSmVyaW4gcG9pbnRz
IHRoYXQgcnRlX3BhdXNlKCkgYWN0cyBoZXJlIGFzIGNvbXBpbGVyIGJhcnJpZXIgdG9vLA0KPiA+
ICAgICAgICAgc28gbm8gbmVlZCB0byB3b3JyeSB0aGF0IGNvbXBpbGVyIHdvdWxkIG9wdGltaXpl
IG91dCB0aGUgbG9vcC4NCj4gPiAgICAgW09sYV0gU29ycnkgbWlzc2VkIHRoYXQuIEJ1dCB0aGUg
YmFycmllciBiZWhhdmlvdXIgb2YgcnRlX3BhdXNlKCkNCj4gPiBpcyBub3QgcGFydCBvZiBDMTEs
IGlzIGl0IGVzc2VudGlhbGx5IGEgaGFuZC1tYWRlIGZlYXR1cmUgdG8gc3VwcG9ydA0KPiA+IHRo
ZSBsZWdhY3kgbXVsdGl0aHJlYWRlZCBtZW1vcnkgbW9kZWwgKHdoaWNoIHVzZXMgZXhwbGljaXQg
SFcgYW5kDQo+IGNvbXBpbGVyIGJhcnJpZXJzKS4gSSdkIHByZWZlciBjb2RlIHVzaW5nIHRoZSBD
MTEgbWVtb3J5IG1vZGVsIG5vdCB0bw0KPiBkZXBlbmQgb24gc3VjaCBsZWdhY3kgZmVhdHVyZXMu
DQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAgICBLb25zdGFudGluDQo+ID4NCj4gPiAgICAgICAg
ID4NCj4gPiAgICAgICAgID4gT25lIHBvaW50IHdvcnRoIG1lbnRpb25pbmcgdGhvdWdoIGlzIHRo
YXQgdGhpcyBjaGFuZ2UgaXMgZm9yDQo+ID4gdGhlIHJ0ZV9yaW5nX2MxMV9tZW0uaCBmaWxlLCBu
b3QgdGhlIGxlZ2FjeSByaW5nLiBJdCBtYXkgYmUgd29ydGggcGVyc2lzdGluZw0KPiA+ICAgICAg
ICAgPiB3aXRoIGdldHRpbmcgdGhlIEMxMSBjb2RlIHJpZ2h0IHdoZW4gcGVvcGxlIGFyZSBsZXNz
IGV4Y2l0ZWQgYWJvdXQNCj4gc2VuZGluZyBhIHJlbGVhc2Ugb3V0Pw0KPiA+ICAgICAgICAgPg0K
PiA+ICAgICAgICAgPiBXZSBjYW4gZXhwbGFpbiB0aGF0IGZvciBDMTEgd2Ugd291bGQgcHJlZmVy
IHRvIGRvIGxvYWRzIGFuZCBzdG9yZXMNCj4gYXMgcGVyIHRoZSBDMTEgbWVtb3J5IG1vZGVsLiBJ
biB0aGUgY2FzZSBvZiBydGVfcmluZywgdGhlIGNvZGUgaXMNCj4gPiAgICAgICAgID4gc2VwYXJh
dGVkIGNsZWFubHkgaW50byBDMTEgc3BlY2lmaWMgZmlsZXMgYW55d2F5Lg0KPiA+ICAgICAgICAg
Pg0KPiA+ICAgICAgICAgPiBJIHRoaW5rIHJlYWRpbmcgaHQtPnRhaWwgdXNpbmcgX19hdG9taWNf
bG9hZF9uKCkgaXMgdGhlIG1vc3QNCj4gYXBwcm9wcmlhdGUgd2F5LiBXZSBzaG93IHRoYXQgaHQt
PnRhaWwgaXMgdXNlZCBmb3Igc3luY2hyb25pemF0aW9uLCB3ZQ0KPiA+ICAgICAgICAgPiBhY2tu
b3dsZWRnZSB0aGF0IGh0LT50YWlsIG1heSBiZSB3cml0dGVuIGJ5IG90aGVyIHRocmVhZHMNCj4g
PiB3aXRob3V0IGFueSBvdGhlciBraW5kIG9mIHN5bmNocm9uaXphdGlvbiAoZS5nLiBubyBsb2Nr
IGludm9sdmVkKSBhbmQgd2UNCj4gcmVxdWlyZQ0KPiA+ICAgICAgICAgPiBhbiBhdG9taWMgbG9h
ZCAoYW55IHdyaXRlIHRvIGh0LT50YWlsIG11c3QgYWxzbyBiZSBhdG9taWMpLg0KPiA+ICAgICAg
ICAgPg0KPiA+ICAgICAgICAgPiBVc2luZyB2b2xhdGlsZSBhbmQgZXhwbGljaXQgY29tcGlsZXIg
KG9yIHByb2Nlc3NvcikgbWVtb3J5IGJhcnJpZXJzDQo+IChmZW5jZXMpIGlzIHRoZSBsZWdhY3kg
cHJlLUMxMSB3YXkgb2YgYWNjb21wbGlzaGluZyB0aGVzZSB0aGluZ3MuDQo+ID4gVGhlcmUncw0K
PiA+ICAgICAgICAgPiBhIHJlYXNvbiB3aHkgQzExL0MrKzExIG1vdmVkIGF3YXkgZnJvbSB0aGUg
b2xkIHdheXMuDQo+ID4gICAgICAgICA+ID4gPg0KPiA+ICAgICAgICAgPiA+ID4gICAgICAgICBf
X2F0b21pY19zdG9yZV9uKCZodC0+dGFpbCwgbmV3X3ZhbCwgX19BVE9NSUNfUkVMRUFTRSk7DQo+
ID4gICAgICAgICA+ID4gPiAtLQ0KPiA+ICAgICAgICAgPiA+ID4gMi43LjQNCj4gPiAgICAgICAg
ID4gPiA+DQo+ID4NCj4gPg0KPiA+DQoNCg==