From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Ola.Liljedahl@arm.com>
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr40045.outbound.protection.outlook.com [40.107.4.45])
 by dpdk.org (Postfix) with ESMTP id 159CB1DB8;
 Mon,  8 Oct 2018 12:25:48 +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=n1RWPcZrfE17hebn58DGzgU45HZOmclfzWVJMQPJ2G8=;
 b=B8qPccdoB3EqlyyGVrPVUAmf9sWyIa4EcU3Eqja66mgqfzogC1x+SJYxb3mouxDR/N8izOl+dBRsWq/k7qHOuzOM2/X8lu03IQ0w/V6rc23mflIEt/q0A5jgUlUJLyvuSggLDmkStru+JOU6O7qtluR1zU83tREJaZF9v32lM1k=
Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com (10.168.95.140) by
 HE1PR0801MB1755.eurprd08.prod.outlook.com (10.168.150.10) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1207.26; Mon, 8 Oct 2018 10:25:45 +0000
Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com
 ([fe80::c84:eee7:43bf:9f20]) by HE1PR0801MB2076.eurprd08.prod.outlook.com
 ([fe80::c84:eee7:43bf:9f20%11]) with mapi id 15.20.1207.024; Mon, 8 Oct 2018
 10:25:45 +0000
From: Ola Liljedahl <Ola.Liljedahl@arm.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, "Gavin Hu (Arm Technology China)"
 <Gavin.Hu@arm.com>, 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: AQHUTl7o9KT3/H6K10G5NrmKOHANTqUHJ0+AgAjF7gCAAH79gIAAUg2AgAAF3wCAAAI9gIAAGFMAgAAgVICAADHKgIAAAE+AgAAkl4D//+HIgIAAIteAgACY7ICAAOuGgIAAaawAgAE5hICAAHtkgIAAWCoA///pGICAACiyAA==
Date: Mon, 8 Oct 2018 10:25:45 +0000
Message-ID: <B00E8CE9-7D26-46FC-A98B-06BA6DEEB813@arm.com>
References: <AM6PR08MB3672E0CA10AAA9D587B9E13698EB0@AM6PR08MB3672.eurprd08.prod.outlook.com>
 <1555626C-F2B8-44EB-98A3-79B1F7002587@arm.com>
 <AM6PR08MB367225A0461ECC718D50CE9C98EB0@AM6PR08MB3672.eurprd08.prod.outlook.com>
 <60055965-A7C8-4E9F-8668-0AE1DCE57515@arm.com> <20181006074126.GA16715@jerin>
 <F83A969A-15F5-4D79-85B4-CB435E2C9B51@arm.com> <20181007040243.GA1850@jerin>
 <7A156041-23EC-4CCB-B129-3607AF34A992@arm.com> <20181008060629.GA5228@jerin>
 <063A95EC-CFC1-42F7-B864-DFB9C6718AC8@arm.com> <20181008100004.GB11081@jerin>
In-Reply-To: <20181008100004.GB11081@jerin>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.11.0.180909
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Ola.Liljedahl@arm.com; 
x-originating-ip: [217.140.96.140]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1755;
 6:Yl659Tt1Ly0+crsFJKm1mHtPN8THhJ13/mICsuA2P37ZquebR7b30FLtkWkVftImqBeHsEB0bVJzeLMtNlcgZ8FTLxMyZgU1el/brQUcq2nPGI8f1Sw7CDJfLtpr/lsxs3U8hL3XJtc/4kBz0V0yVjBWq3E89CdO06xSO3lsTLyYDFEo3vSZshqVMDmpbpTeFVMxtyei/aLuMR+DI2HP8p1hU6RnQze+y6KqHzH8BggI8xfeurDLjrfhMA4oTNUWEf1/HkPM3k4UG8cmjzPadzadYD/VEmfCqsbk8GioAortPYeyoiyq3qI3HeUqe9g1sL7ADkQcH7v0fnpkw2vhR0Wto1LG4Lw1WxdgTPRyZAlP8CNWOrxUypxuq+LemGGmi7Ci0KR8HvR2doj+Pp8MyLIfCECvDmxkuE6CUMslw5jgCf2aEa6ffH2S+QBrOSuTwcFGuvDI5t0IhiWPNIXWzg==;
 5:nl3Byycw47X18xlGybG09T2hQr2H+MJrjGQf5bse6dh1jWtm7UT0/XHRtwmym92DJTWEuMb1gtFe/N6/Enr6MerX1MmDmvoKUY2j/Q9VFiO8LStUMjDCZhyU96q4bE2RyGjiLCTDQduJI8Z7Av7FmgQomfoASBNgRa9ylUTyj4o=;
 7:OYswomHMFgCM6NqIAVsW8WktrRFuOWXGwDBAW6qiCPHNw1QCbTEAF2hqTTJ3NXTPvSK5k9kP4UntfanvhOdhEXkeRoOSd6KFBEvLJoj2eyRQNQaQJWFnyiLOcn388Sfu5oXLT+ZcpIsMeFEBtZhe84lChF4eJRKK3CQdKzltmpcgoRvCZVMS2Nckrtg4ZY06aSikNHUoH0oFtdkJishi+/L+v8wthynhP7UgfUaY0ddOZD0qb6dWCPGAIPP+ytHX
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: 2925e6c7-240a-4835-1f7b-08d62d08685c
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);
 SRVR:HE1PR0801MB1755; 
x-ms-traffictypediagnostic: HE1PR0801MB1755:
nodisclaimer: True
x-microsoft-antispam-prvs: <HE1PR0801MB17555150DF240147193E39F8E0E60@HE1PR0801MB1755.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(166708455590820)(180628864354917)(228905959029699); 
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051);
 SRVR:HE1PR0801MB1755; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1755; 
x-forefront-prvs: 081904387B
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(376002)(39850400004)(396003)(346002)(136003)(13464003)(189003)(199004)(186003)(8676002)(6486002)(25786009)(36756003)(93886005)(6246003)(26005)(66066001)(486006)(6116002)(81166006)(316002)(4326008)(476003)(446003)(81156014)(3846002)(14444005)(58126008)(19627235002)(2900100001)(86362001)(2616005)(256004)(83716004)(71190400001)(71200400001)(11346002)(102836004)(45080400002)(478600001)(76176011)(6436002)(105586002)(53936002)(5250100002)(305945005)(7736002)(14454004)(33656002)(99286004)(97736004)(82746002)(8936002)(53546011)(966005)(6506007)(5660300001)(54906003)(106356001)(2906002)(229853002)(6306002)(6512007)(68736007)(72206003)(6916009);
 DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1755;
 H:HE1PR0801MB2076.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: RGYOEcPlPFZBI7CHqXsEoHEU/4HIDB1+PY+IlyIi+lzHCHos31vhVlT78uMxGj3p10HE0CUSnWAiB66OKZG8AsHgefYHMFmjHWW1a5sZpkP/ClV4CJHrLbVMnFh47SSfk/ngP749mj4YPV/Vk9QDVOgb0thDVbf51dyrsT4qHZ1uRysdpM9Ps/n8BjA05zKSapGNsMXT9lRP0EhZy5AZ2HJbX7OWjo+xqbxzWy29sAu1ckzJtu2yOegx9gwUqUrfMQ4olpdAojLw1AZ0QQaOyedcUr2DsMdFPsDCKRZb6Lvo9jVCVHssfCSRDNgxAaxpn5JWBjDufIEbTc0iLhEppe9NN14b0U79C+2YPXE7MV4=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <1BED3D31541CDF47B96D60F07F836C0B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2925e6c7-240a-4835-1f7b-08d62d08685c
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2018 10:25:45.1688 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1755
Subject: Re: [dpdk-dev] [PATCH v3 1/3] ring: read tail using atomic load
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2018 10:25:48 -0000

DQoNCu+7v09uIDA4LzEwLzIwMTgsIDEyOjAwLCAiSmVyaW4gSmFjb2IiIDxqZXJpbi5qYWNvYkBj
YXZpdW1uZXR3b3Jrcy5jb20+IHdyb3RlOg0KDQogICAgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCiAgICA+IERhdGU6IE1vbiwgOCBPY3QgMjAxOCAwOToyMjowNSArMDAwMA0KICAgID4gRnJv
bTogT2xhIExpbGplZGFobCA8T2xhLkxpbGplZGFobEBhcm0uY29tPg0KICAgID4gVG86IEplcmlu
IEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQogICAgPiBDQzogImRldkBk
cGRrLm9yZyIgPGRldkBkcGRrLm9yZz4sIEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQogICAgPiAgPEhv
bm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+LCAiQW5hbnlldiwgS29uc3RhbnRpbiINCiAgICA+
ICA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4sICJHYXZpbiBIdSAoQXJtIFRlY2hub2xv
Z3kgQ2hpbmEpIg0KICAgID4gIDxHYXZpbi5IdUBhcm0uY29tPiwgU3RldmUgQ2FwcGVyIDxTdGV2
ZS5DYXBwZXJAYXJtLmNvbT4sIG5kIDxuZEBhcm0uY29tPiwNCiAgICA+ICAic3RhYmxlQGRwZGsu
b3JnIiA8c3RhYmxlQGRwZGsub3JnPg0KICAgID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzNd
IHJpbmc6IHJlYWQgdGFpbCB1c2luZyBhdG9taWMgbG9hZA0KICAgID4gdXNlci1hZ2VudDogTWlj
cm9zb2Z0LU1hY091dGxvb2svMTAuMTEuMC4xODA5MDkNCiAgICA+IA0KICAgID4gRXh0ZXJuYWwg
RW1haWwNCiAgICA+IA0KICAgID4gT24gMDgvMTAvMjAxOCwgMDg6MDYsICJKZXJpbiBKYWNvYiIg
PGplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4gd3JvdGU6DQogICAgPiANCiAgICA+ICAg
ICAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KICAgID4gICAgID4gRGF0ZTogU3VuLCA3IE9j
dCAyMDE4IDIwOjQ0OjU0ICswMDAwDQogICAgPiAgICAgPiBGcm9tOiBPbGEgTGlsamVkYWhsIDxP
bGEuTGlsamVkYWhsQGFybS5jb20+DQogICAgPiAgICAgPiBUbzogSmVyaW4gSmFjb2IgPGplcmlu
LmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4NCiAgICA+ICAgICA+IENDOiAiZGV2QGRwZGsub3Jn
IiA8ZGV2QGRwZGsub3JnPiwgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCiAgICA+ICAgICA+ICA8SG9u
bmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4sICJBbmFueWV2LCBLb25zdGFudGluIg0KICAgID4g
ICAgID4gIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPiwgIkdhdmluIEh1IChBcm0gVGVj
aG5vbG9neSBDaGluYSkiDQogICAgPiAgICAgPiAgPEdhdmluLkh1QGFybS5jb20+LCBTdGV2ZSBD
YXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPiwgbmQgPG5kQGFybS5jb20+LA0KICAgID4gICAg
ID4gICJzdGFibGVAZHBkay5vcmciIDxzdGFibGVAZHBkay5vcmc+DQogICAgPiAgICAgPiBTdWJq
ZWN0OiBSZTogW1BBVENIIHYzIDEvM10gcmluZzogcmVhZCB0YWlsIHVzaW5nIGF0b21pYyBsb2Fk
DQogICAgPiAgICAgPiB1c2VyLWFnZW50OiBNaWNyb3NvZnQtTWFjT3V0bG9vay8xMC4xMS4wLjE4
MDkwOQ0KICAgID4gICAgID4NCiAgICA+IA0KICAgID4gDQogICAgPiAgICAgQ291bGQgeW91IHBs
ZWFzZSBmaXggdGhlIGVtYWlsIGNsaWVudCBmb3IgaW5saW5lIHJlcGx5Lg0KICAgID4gU29ycnkg
dGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgd2l0aCBPdXRsb29rIGZvciBNYWMgMTYg
b3IgT2ZmaWNlMzY1LiBUaGUgb2ZmaWNpYWwgT2ZmaWNlMzY1L091dGxvb2sNCiAgICA+IGRvY3Vt
ZW50YXRpb24gZG9lc24ndCBtYXRjaCB0aGUgYWN0dWFsIHVzZXIgaW50ZXJmYWNlLi4uDQogICAg
PiANCiAgICA+IA0KICAgID4gDQogICAgPiAgICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2Mv
aHRtbC92NC4xOS1yYzcvcHJvY2Vzcy9lbWFpbC1jbGllbnRzLmh0bWwNCiAgICA+IA0KICAgID4g
DQogICAgPiAgICAgPg0KICAgID4gICAgID4gT24gMDcvMTAvMjAxOCwgMDY6MDMsICJKZXJpbiBK
YWNvYiIgPGplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4gd3JvdGU6DQogICAgPiAgICAg
Pg0KICAgID4gICAgID4gICAgIEluIGFybTY0IGNhc2UsIGl0IHdpbGwgaGF2ZSBBVE9NSUNfUkVM
QVhFRCBmb2xsb3dlZCBieSBhc20gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIpIG9mIHJ0ZV9wYXVz
ZSgpLg0KICAgID4gICAgID4gICAgIEkgd291bGQgbid0IGhhdmUgYW55IGlzc3VlLCBpZiB0aGUg
Z2VuZXJhdGVkIGNvZGUgY29kZSBpcyBzYW1lIG9yIGJldHRlciB0aGFuIHRoZSBleGl0aW5nIGNh
c2UuIGJ1dCBpdCBub3QgdGhlIGNhc2UsIFJpZ2h0Pw0KICAgID4gICAgID4gVGhlIGV4aXN0aW5n
IGNhc2UgaXMgYWN0dWFsbHkgbm90IGludGVyZXN0aW5nIChJTU8pIGFzIGl0IGV4cG9zZXMgdW5k
ZWZpbmVkIGJlaGF2aW91ciB3aGljaCBhbGxvd3MgdGhlIGNvbXBpbGVyIHRvIGRvIGFueXRoaW5n
LiBCdXQgeW91IHNlZW0gdG8gYmUgc2F0aXNmaWVkIHdpdGggIndvcmtzIGZvciBtZSwgcmlnaHQg
aGVyZSByaWdodCBub3ciLiBJIHRoaW5rIHRoZSBjb3N0IG9mIGF2b2lkaW5nIHVuZGVmaW5lZCBi
ZWhhdmlvdXIgaXMgYWNjZXB0YWJsZSAoYWN0dWFsbHkgSSBkb24ndCB0aGluayBpdCBldmVuIHdp
bGwgYmUgbm90aWNlYWJsZSkuDQogICAgPiANCiAgICA+ICAgICBJIGFtIG5vdCBjb252aW5jZWQg
YmVjYXVzZSBvZiB1c2Ugb2Ygdm9sYXRpbGUgaW4gaGVhZCBhbmQgdGFpbCBpbmRleGVzLg0KICAg
ID4gICAgIEZvciBtZSB0aGF0IGJyaW5ncyB0aGUgZGVmaW5lZCBiZWhhdmlvci4NCiAgICA+IEFz
IGxvbmcgYXMgeW91IGRvbid0IG1peCBpbiBDMTEgYXRvbWljIGFjY2Vzc2VzIChqdXN0IHVzZSAi
cGxhaW4iIGFjY2Vzc2VzIHRvIHZvbGF0aWxlIG9iamVjdHMpLA0KICAgID4gaXQgaXMgQUZBSUsg
ZGVmaW5lZCBiZWhhdmlvdXIgKGJ1dCBub3QgbmVjZXNzYXJpbHkgdXNpbmcgYXRvbWljIGxvYWRz
IGFuZCBzdG9yZXMpLiBCdXQgSSBxdW90ZWQNCiAgICA+IHRoZSBDMTEgc3BlYyB3aGVyZSBpdCBl
eHBsaWNpdGx5IG1lbnRpb25zIHRoYXQgbWl4aW5nIGF0b21pYyBhbmQgbm9uLWF0b21pYyBhY2Nl
c3NlcyB0byB0aGUgc2FtZQ0KICAgID4gb2JqZWN0IGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIuIERv
bid0IGFyZ3VlIHdpdGggbWUsIGFyZ3VlIHdpdGggdGhlIEMxMSBzcGVjLg0KICAgID4gSWYgeW91
IHdhbnQgdG8gZGlzb2JleSB0aGUgc3BlYywgdGhpcyBzaG91bGQgYXQgbGVhc3QgYmUgY2FsbGVk
IG91dCBmb3IgaW4gdGhlIGNvZGUgd2l0aCBhIGNvbW1lbnQuDQogICAgDQogICAgVGhhdCdzIGJv
aWxzIGRvd24gb25seSBvbmUgcXVlc3Rpb24sIHNob3VsZCB3ZSBmb2xsb3cgQzExIHNwZWM/IFdo
eSBub3Qgb25seSB0YWtlIGxvYWQNCiAgICBhY3F1aXJlIGFuZCBzdG9yZSByZWxlYXNlIHNlbWFu
dGljcyBvbmx5IGp1c3QgbGlrZSBMaW51eCBrZXJuZWwgYW5kIEZyZWVCU0QuDQpBbmQgaW50cm9k
dWNlIGV2ZW4gbW9yZSB1bmRlZmluZWQgYmVoYXZpb3VyPw0KDQogICAgRG9lcyBub3QgbG9vayBs
aWtlIEMxMSBtZW1vcnkgbW9kZWwgaXMgc3VwZXIgZWZmaWNpZW50IGluIHRlcm0gb2YgZ2NjDQog
ICAgaW1wbGVtZW50YXRpb24uDQpZb3UgYXJlIG1ha2luZyBhIGNoaWNrZW4gb3V0IG9mIGEgZmVh
dGhlci4NCg0KSSB0aGluayB0aGlzICJwcm9ibGVtIiB3aXRoIG9uZSBhZGRpdGlvbmFsIEFERCBp
bnN0cnVjdGlvbiB3aWxsIG9ubHkgY29uY2VybiBfX2F0b21pY19sb2FkX24oX19BVE9NSUNfUkVM
QVhFRCkgYW5kIF9fYXRvbWljX3N0b3JlX24oX19BVE9NSUNfUkVMQVhFRCkgYmVjYXVzZSB0aGUg
Y29tcGlsZXIgc2VwYXJhdGVzIHRoZSBhZGRyZXNzIGdlbmVyYXRpb24gKGFkZCBvZmZzZXQgb2Yg
c3RydWN0IG1lbWJlcikgZnJvbSB0aGUgbG9hZCBvciBzdG9yZSBpdHNlbGYuIEZvciBvdGhlciBh
dG9taWMgb3BlcmF0aW9ucyBhbmQgbWVtb3J5IG9yZGVyaW5ncyAoZS5nLiBfX2F0b21pY19sb2Fk
X24oX19BVE9NSUNfQUNRVUlSRSksIHRoZSBleHRyYSBBREQgaW5zdHJ1Y3Rpb24gd2lsbCBiZSBp
bmNsdWRlZCBhbnl3YXkgKGFzIGxvbmcgYXMgd2UgYWNjZXNzIGEgbm9uLWZpcnN0IHN0cnVjdCBt
ZW1iZXIpIGJlY2F1c2UgZS5nLiBMREFSIG9ubHkgYWNjZXB0cyBhIGJhc2UgcmVnaXN0ZXIgd2l0
aCBubyBvZmZzZXQuDQoNCkkgc3VnZ2VzdCBtaW5pbWlzaW5nIHRoZSBpbXBvc2VkIG1lbW9yeSBv
cmRlcmluZ3MgY2FuIGhhdmUgYSBtdWNoIGxhcmdlciAocG9zaXRpdmUpIGVmZmVjdCBvbiBwZXJm
b3JtYW5jZSBjb21wYXJlZCB0byBhdm9pZGluZyBvbmUgQUREIGluc3RydWN0aW9uIChtZW1vcnkg
YWNjZXNzZXMgYXJlIG11Y2ggc2xvd2VyIHRoYW4gQ1BVIEFMVSBpbnN0cnVjdGlvbnMpLg0KVXNp
bmcgQzExIG1lbW9yeSBtb2RlbCBhbmQgaWRlbnRpZnlpbmcgZXhhY3RseSB3aGljaCBvYmplY3Rz
IGFyZSB1c2VkIGZvciBzeW5jaHJvbmlzYXRpb24gYW5kIHdoZXRoZXIgKGFueSkgdXBkYXRlcyB0
byBzaGFyZWQgbWVtb3J5IGFyZSBhY3F1aXJlZCBvciByZWxlYXNlZCAobm8gdXBkYXRlcyB0byBz
aGFyZWQgbWVtb3J5IG1lYW5zIHJlbGF4ZWQgb3JkZXIgY2FuIGJlIHVzZWQpIHdpbGwgcHJvdmlk
ZSBtYXhpbXVtIGZyZWVkb20gdG8gdGhlIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSB0byBnZXQgdGhl
IGJlc3QgcmVzdWx0Lg0KDQpUaGUgRnJlZUJTRCBhbmQgRFBESyByaW5nIGJ1ZmZlcnMgc2hvdyBz
b21lIGZ1bmRhbWVudGFsIG1pc3VuZGVyc3RhbmRpbmdzIGhlcmUuIEluc3RlYWQgZXhjZXNzaXZl
IG9yZGVyaW5ncyBhbmQgZXhwbGljaXQgYmFycmllcnMgaGF2ZSBiZWVuIHVzZWQgYXMgYmFuZC1h
aWRzLCB3aXRoIHVua25vd24gZWZmZWN0cyBvbiBwZXJmb3JtYW5jZS4NCg0KICAgIA0KICAgID4g
DQogICAgPiANCiAgICA+ICAgICBUaGF0IHRoZSByZWFzb24gd2h5IEkgc2hhcmVkDQogICAgPiAg
ICAgdGhlIGdlbmVyYXRlZCBhc3NlbWJseSBjb2RlLiBJZiB5b3UgdGhpbmsgb3RoZXIgd2F5LCBQ
aWNrIGFueSBjb21waWxlcg0KICAgID4gICAgIGFuZCBzZWUgZ2VuZXJhdGVkIG91dHB1dC4NCiAg
ICA+IFRoaXMgaXMgd2hhdCBvbmUgY29tcGlsZXIgZm9yIG9uZSBhcmNoaXRlY3R1cmUgZ2VuZXJh
dGVzIHRvZGF5LiBUaGVzZSB0aGluZ3MgY2hhbmdlLiBPdGhlciB0aGluZ3MNCiAgICA+IHRoYXQg
dXNlZCB0byB3b3JrIG9yIHdvcmtlZCBmb3Igc29tZSBzcGVjaWZpYyBhcmNoaXRlY3R1cmUgaGFz
IHN0b3BwZWQgd29ya2luZyBpbiBuZXdlciB2ZXJzaW9ucyBvZg0KICAgID4gdGhlIGNvbXBpbGVy
Lg0KICAgID4gDQogICAgPiANCiAgICA+ICAgICBBbmQNCiAgICA+IA0KICAgID4gICAgIEZyZWVi
c2QgaW1wbGVtZW50YXRpb24gb2YgcmluZyBidWZmZXIoV2hpY2ggRFBESyBkZXJpdmVkIGZyb20p
LCBEb24ndCBoYXZlDQogICAgPiAgICAgc3VjaCBsb2dpYywgU2VlIGh0dHBzOi8vZ2l0aHViLmNv
bS9mcmVlYnNkL2ZyZWVic2QvYmxvYi9tYXN0ZXIvc3lzL3N5cy9idWZfcmluZy5oI0wxMDgNCiAg
ICA+IEl0IGxvb2tzIGxpa2UgRnJlZUJTRCB1c2VzIHNvbWUga2luZCBvZiBDMTEgYXRvbWljIG1l
bW9yeSBtb2RlbC1pbnNwaXJlZCBBUEkgYWx0aG91Z2ggSSBkb24ndCBzZWUNCiAgICA+IGV4YWN0
bHkgaG93IGUuZy4gYXRvbWljX3N0b3JlX3JlbF9pbnQoKSBpcyBpbXBsZW1lbnRlZC4gVGhlIGNv
ZGUgYWxzbyBtaXhlcyBpbiBleHBsaWNpdCBiYXJyaWVycw0KICAgID4gc28gZGVmaW5pdGl2ZWx5
IG5vdCBwdXJlIEMxMSBtZW1vcnkgbW9kZWwgdXNhZ2UuIEFuZCBmaW5hbGx5LCBpdCBkb2Vzbid0
IGVzdGFibGlzaCB0aGUgcHJvcGVyDQogICAgPiBsb2FkLWFjcXVpcmUvc3RvcmUtcmVsZWFzZSBy
ZWxhdGlvbnNoaXBzIChlLmcuIHN0b3JlLXJlbGVhc2UgY29uc190YWlsIHJlcXVpcmVzIGEgbG9h
ZC1hY3F1aXJlIGNvbnNfdGFpbCwNCiAgICA+IHNhbWUgZm9yIHByb2RfdGFpbCkuDQogICAgPiAN
CiAgICA+ICIqIG11bHRpLXByb2R1Y2VyIHNhZmUgbG9jay1mcmVlIHJpbmcgYnVmZmVyIGVucXVl
dWUiDQogICAgPiBUaGUgY29tbWVudCBpcyBhbHNvIHdyb25nLiBUaGlzIGRlc2lnbiBpcyBub3Qg
bG9jay1mcmVlLCBob3cgY291bGQgaXQgYmUgd2hlbiB0aGVyZSBpcyBzcGlubmluZw0KICAgID4g
KHdhaXRpbmcpIGZvciBvdGhlciB0aHJlYWRzIGluIHRoZSBjb2RlPyBJZiBhIHRocmVhZCBtdXN0
IHdhaXQgZm9yIG90aGVyIHRocmVhZHMsIHRoZW4gYnkgZGVmaW5pdGlvbg0KICAgID4gdGhlIGRl
c2lnbiBpcyBibG9ja2luZy4NCiAgICA+IA0KICAgID4gU28geW91IGFyZSBzYXlpbmcgdGhhdCBi
ZWNhdXNlIEZyZWVCU0QgaXMgZG9pbmcgaXQgd3JvbmcsIERQREsgY2FuIGFsc28gZG8gaXQgd3Jv
bmc/DQogICAgPiANCiAgICA+IA0KICAgID4gICAgIFNlZSBiZWxvdyB0b28uDQogICAgPiANCiAg
ICA+ICAgICA+DQogICAgPiAgICAgPiBTa2lwcGluZyB0aGUgY29tcGlsZXIgbWVtb3J5IGJhcnJp
ZXIgaW4gcnRlX3BhdXNlKCkgcG90ZW50aWFsbHkgYWxsb3dzIGZvciBvcHRpbWlzYXRpb25zIHRo
YXQgcHJvdmlkZSBtdWNoIG1vcmUgYmVuZWZpdCwgZS5nLiBoaWRpbmcgc29tZSBjYWNoZSBtaXNz
IGxhdGVuY3kgZm9yIGxhdGVyIGxvYWRzLiBUaGUgRFBESyByaW5nIGJ1ZmZlciBpbXBsZW1lbnRh
dGlvbiBpcyBkZWZpbmVkIHNvIHRvIGVuYWJsZSBpbmxpbmluZyBvZiBlbnF1ZXVlL2RlcXVldWUg
ZnVuY3Rpb25zIGludG8gdGhlIGNhbGxlciwgYW55IGNvZGUgY291bGQgaW1tZWRpYXRlbHkgZm9s
bG93IHRoZXNlIGNhbGxzLg0KICAgID4gICAgID4NCiAgICA+ICAgICA+IEZyb20gSU5URVJOQVRJ
T05BTCBTVEFOREFSRCDCqUlTTy9JRUMgSVNPL0lFQyA5ODk5OjIwMXgNCiAgICA+ICAgICA+IFBy
b2dyYW1taW5nIGxhbmd1YWdlcyDigJQgQw0KICAgID4gICAgID4NCiAgICA+ICAgICA+IDUuMS4y
LjQNCiAgICA+ICAgICA+IDQgVHdvIGV4cHJlc3Npb24gZXZhbHVhdGlvbnMgY29uZmxpY3QgaWYg
b25lIG9mIHRoZW0gbW9kaWZpZXMgYSBtZW1vcnkgbG9jYXRpb24gYW5kIHRoZSBvdGhlciBvbmUg
cmVhZHMgb3IgbW9kaWZpZXMgdGhlIHNhbWUgbWVtb3J5IGxvY2F0aW9uLg0KICAgID4gICAgID4N
CiAgICA+ICAgICA+IDI1IFRoZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIGNvbnRhaW5zIGEgZGF0
YSByYWNlIGlmIGl0IGNvbnRhaW5zIHR3byBjb25mbGljdGluZyBhY3Rpb25zIGluIGRpZmZlcmVu
dCB0aHJlYWRzLCBhdCBsZWFzdCBvbmUgb2Ygd2hpY2ggaXMgbm90IGF0b21pYywgYW5kIG5laXRo
ZXIgaGFwcGVucyBiZWZvcmUgdGhlIG90aGVyLiBBbnkgc3VjaCBkYXRhIHJhY2UgcmVzdWx0cyBp
biB1bmRlZmluZWQgYmVoYXZpb3IuDQogICAgPiANCiAgICA+ICAgICBJTU8sIEJvdGggY29uZGl0
aW9uIHdpbGwgc2F0aXNmeSBpZiB0aGUgdmFyaWFibGUgaXMgdm9sYXRpbGUgYW5kIDMyYml0IHJl
YWQgd2lsbCBhdG9taWMNCiAgICA+ICAgICBmb3IgMzJiIGFuZCA2NGIgbWFjaGluZXMuIElmIG5v
dCwgdGhlIHByb2JsZW0gcGVyc2lzdCBmb3IgZ2VuZXJpYyBjYXNlDQogICAgPiAgICAgYXMgd2Vs
bChsaWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZ2VuZXJpYy5oKQ0KICAgID4gVGhlIHJlYWQgZnJv
bSBhIHZvbGF0aWxlIG9iamVjdCBpcyBub3QgYW4gYXRvbWljIGFjY2VzcyBwZXIgdGhlIEMxMSBz
cGVjLiBJdCBqdXN0IGhhcHBlbnMgdG8NCiAgICA+IGJlIHRyYW5zbGF0ZWQgdG8gYW4gaW5zdHJ1
Y3Rpb24gKG9uIHg4Ni02NCBhbmQgQUFyY2g2NC9BNjQpIHRoYXQgaW1wbGVtZW50cyBhbiBhdG9t
aWMgbG9hZC4NCiAgICA+IEkgZG9uJ3QgdGhpbmsgYW55IGNvbXBpbGVyIHdvdWxkIGNoYW5nZSB0
aGlzIGNvZGUgZ2VuZXJhdGlvbiBhbmQgc3VkZGVubHkgZ2VuZXJhdGUgc29tZQ0KICAgID4gbm9u
LWF0b21pYyBsb2FkIGluc3RydWN0aW9uIGZvciBhIHByb2dyYW0gdGhhdCAqb25seSogdXNlcyB2
b2xhdGlsZSB0byBkbyAiYXRvbWljIiBhY2Nlc3Nlcy4NCiAgICA+IEJ1dCBhIGZ1dHVyZSBjb21w
aWxlciBjb3VsZCBkZXRlY3QgdGhlIG1peCBvZiBhdG9taWMgYW5kIG5vbi1hdG9taWMgYWNjZXNz
ZXMgYW5kIG1hcmsgdGhpcw0KICAgID4gZXhwcmVzc2lvbiBhcyBjYXVzaW5nIHVuZGVmaW5lZCBi
ZWhhdmlvdXIgYW5kIHRoYXQgd291bGQgaGF2ZSBjb25zZXF1ZW5jZXMgZm9yIGNvZGUgZ2VuZXJh
dGlvbi4NCiAgICA+IA0KICAgID4gDQogICAgPiAgICAgSSBhZ3JlZSB3aXRoIHlvdSBvbiBDMTEg
bWVtb3J5IG1vZGVsIHNlbWFudGljcyB1c2FnZS4gVGhlIHJlYXNvbiB3aHkgSQ0KICAgID4gICAg
IHByb3Bvc2UgbmFtZSBmb3IgdGhlIGZpbGUgYXMgcnRlX3JpbmdfYzExX21lbS5oIGFzIERQREsg
aXQgc2VsZiBkaWQgbm90DQogICAgPiAgICAgaGFkIGRlZmluaXRpb25zIGZvciBsb2FkIGFjcXVp
cmUgYW5kIHN0b3JlIHJlbGVhc2Ugc2VtYW50aWNzLg0KICAgID4gICAgIEkgd2FzIGxvb2tpbmcg
Zm9yIHRha2luZyBsb2FkIGFjcXVpcmUgYW5kIHN0b3JlIHJlbGVhc2Ugc2VtYW50aWNzDQogICAg
PiAgICAgZnJvbSBDMTEgaW5zdGVhZCBvZiBjcmVhdGluZyBuZXcgQVBJIGxpa2UgTGludXgga2Vy
bmVsIGZvciBGcmVlQlNEKEFQSXMNCiAgICA+ICAgICBsaWtlICBhdG9taWNfbG9hZF9hY3FfMzIo
KSwgYXRvbWljX3N0b3JlX3JlbF8zMigpKS4gSWYgdGhlIGZpbGUgbmFtZSBpcyB5b3VyDQogICAg
PiAgICAgY29uY2VybiB0aGVuIHdlIGNvdWxkIGNyZWF0ZSBuZXcgYWJzdHJhY3Rpb25zIGFzIHdl
bGwuIFRoYXQgd291bGQgaGVscA0KICAgID4gICAgIGV4aXRpbmcgS05JIHByb2JsZW0gYXMgd2Vs
bC4NCiAgICA+IEkgYXBwcmVjaWF0ZSB5b3VyIGVtYnJhY2Ugb2YgdGhlIEMxMSBtZW1vcnkgbW9k
ZWwuIEkgdGhpbmsgaXQgaXMgYmV0dGVyIGZvciBkZXNjcmliaW5nDQogICAgPiAoYm90aCB0byB0
aGUgY29tcGlsZXIgYW5kIHRvIGh1bWFucykgd2hpY2ggYW5kIGhvdyBvYmplY3RzIGFyZSB1c2Vk
IGZvciBzeW5jaHJvbmlzYXRpb24uDQogICAgPiANCiAgICA+IEhvd2V2ZXIsIEkgZG9uJ3QgdGhp
bmsgYW4gQVBJIGFzIHlvdSBzdWdnZXN0IChhbmQgb3RoZXJzIGhhdmUgc3VnZ2VzdGVkIGJlZm9y
ZSwgZS5nLiBhcw0KICAgID4gZG9uZSBpbiBPRFApIGlzIGEgZ29vZCBpZGVhLiBUaGVyZSBpcyBh
biBpbmZpbml0ZSBhbW91bnQgb2YgcG9zc2libGUgYmFzZSB0eXBlcywgYW4NCiAgICA+IGluY3Jl
YXNpbmcgbnVtYmVyIG9mIG9wZXJhdGlvbnMgYW5kIGEgYnVuY2ggb2YgZGlmZmVyZW50IG1lbW9y
eSBvcmRlcmluZ3MsIGEgImNvbXBsZXRlIg0KICAgID4gQVBJIHdvdWxkIGJlIHZlcnkgbGFyZ2Ug
YW5kIGRpZmZpY3VsdCB0byB0ZXN0LCBhbmQgbW9zdCBtZW1iZXJzIG9mIHRoZSBBUEkgd291bGQg
bmV2ZXIgYmUgdXNlZC4NCiAgICA+IEdDQyBhbmQgQ2xhbmcgYm90aCBzdXBwb3J0IHRoZSBfX2F0
b21pYyBpbnRyaW5zaWNzLiBUaGlzIEFQSSBhdm9pZHMgdGhlIHByb2JsZW1zIEkNCiAgICA+IGRl
c2NyaWJlZCBhYm92ZS4gT3Igd2UgY291bGQgdXNlIHRoZSBvZmZpY2lhbCBDMTEgc3ludGF4IChz
dGRhdG9taWMuaCkuIEJ1dCB0aGVuIHdlDQogICAgPiBoYXZlIHRoZSBwcm9ibGVtIHdpdGggdXNp
bmcgcHJlLUMxMSBjb21waWxlcnMuLi4NCiAgICANCiAgICBJIGhhdmUgbm8gb2JqZWN0aW9uLCBp
ZiBldmVyeW9uZSBhZ3JlZXMgdG8gbW92ZSBDMTEgbWVtb3J5IG1vZGVsDQogICAgd2l0aCBfX2F0
b21pYyBpbnRyaW5zaWNzLiBCdXQgaWYgd2UgbmVlZCB0byBrZWVwIGJvdGggaGF2ZSB0aGVuDQog
ICAgYXRvbWljX2xvYWRfYWNxXzMyKCkga2luZCBvZiBBUEkgbWFrZSBzZW5zZS4NCiAgICANCiAg
ICANCiAgICA+IA0KICAgID4gDQogICAgPiANCiAgICA+IA0KICAgID4gICAgIEkgdGhpbmssIGN1
cnJlbnRseSBpdCBtaXhlZCB1c2FnZSBiZWNhdXNlLCB0aGUgc2FtZSB2YXJpYWJsZSBkZWNsYXJh
dGlvbg0KICAgID4gICAgIHVzZWQgZm9yIEMxMSB2cyBub24gQzExIHVzYWdlLklkZWFsbHkgd2Ug
d29udCBuZWVkICJ2b2xhdGlsZSIgZm9yIEMxMQ0KICAgID4gICAgIGNhc2UuIEVpdGhlciB3ZSBu
ZWVkIHRvIGNoYW5nZSBvbmx5IHRvIEMxMSBtb2RlIE9SIGhhdmUgQVBJcyBmb3INCiAgICA+ICAg
ICBhdG9taWNfbG9hZF9hY3FfKCkgYW5kIGF0b21pY19zdG9yZV9yZWxfKCkgdG8gYWxsb3cgYm90
aCBtb2RlbHMgbGlrZQ0KICAgID4gICAgIExpbnV4IGtlcm5lbCBhbmQgRnJlZUJTRC4NCiAgICA+
IA0KICAgID4gICAgID4NCiAgICA+ICAgICA+IC0tIE9sYQ0KICAgID4gICAgID4NCiAgICA+ICAg
ICA+DQogICAgPiAgICAgPg0KICAgID4gDQogICAgPiANCiAgICANCg0K