From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0046.outbound.protection.outlook.com [104.47.0.46]) by dpdk.org (Postfix) with ESMTP id 4824E1B161; Fri, 5 Oct 2018 20:05:43 +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=NXkecrLPnG8lANzCMzc4x1HAtNRJj1WIWARKeTTOBds=; b=GHCK3e5imuy69OYVGZrrAufmLzBR4UYqsL25ddO58xf8kVg8Rn+28G7ZXithOIL+OCESGwoZAk0jhxN5VqnQTQ2YdJrlMfxhfTTW7foMAXuBi4Waybc16lPs+zPXoWM7sxoVpGfTUoXYNcoQR12w9VZGsGLYNwE69JOroMMp/6Y= Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com (10.168.95.140) by HE1PR0801MB1722.eurprd08.prod.outlook.com (10.168.149.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.21; Fri, 5 Oct 2018 18:05:40 +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; Fri, 5 Oct 2018 18:05:40 +0000 From: Ola Liljedahl To: Jerin Jacob , Honnappa Nagarahalli CC: "Ananyev, Konstantin" , "Gavin Hu (Arm Technology China)" , "dev@dpdk.org" , Steve Capper , nd , "stable@dpdk.org" Thread-Topic: [PATCH v3 1/3] ring: read tail using atomic load Thread-Index: AQHUTl7o9KT3/H6K10G5NrmKOHANTqUHJ0+AgAjF7gCAAH79gIAAUg2AgAAF3wCAAAI9gIAAGFMAgAAgVICAADHKgA== Date: Fri, 5 Oct 2018 18:05:39 +0000 Message-ID: References: <20180807031943.5331-1-gavin.hu@arm.com> <1537172244-64874-1-git-send-email-gavin.hu@arm.com> <20180929104857.GA30457@jerin> <2601191342CEEE43887BDE71AB9772580102FE261A@IRSMSX106.ger.corp.intel.com> <621E373E-048D-4808-8CE8-84373EA98D2F@arm.com> <2601191342CEEE43887BDE71AB9772580102FE2951@IRSMSX106.ger.corp.intel.com> <20181005170725.GA18671@jerin> In-Reply-To: <20181005170725.GA18671@jerin> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.10.0.180812 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ola.Liljedahl@arm.com; x-originating-ip: [158.174.8.16] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1722; 6:69cwXez7o7U2xNMBcG8soh8ET1S8p64uVlWtfkL00UCM5wAyFR8h4MeWZcecAyD1XVTNNPfpE4K7JjrIKqjwIqViuM2IjXzKwEcr5yrse8Cy+f448uOPnIvleDeeHW7E5LWdWMxX60IJIPWddoYjNJSUbsfGy1cYmX/X+ZtECUlhwVbk8AzVssYrSu949FUdaeUzTbYKB6eB3wQmCxNHzapPosDjReq9O/7w0ydU8cIAuZ9O9oTvDhnBk4S/ebrBLyGntF8/pWmTratMuQIRod2Q/5MOnb+NZAx30yRmhjoK4YAm+8MnFncC2iH9lhmGwW/BnRQz0Gi1nEETUQTkwqO87uq8mvpYDqAWWD0miuE2dIPVLaDf0O5bLGU/ej20LSnhgzASeuYXaPURikpPAhzJR5zXuxZJWjpNLBpYs5VsaZTo/n80yiP3jritR0g+CqEF/gnkWn2OV4EprGTjsw==; 5:thqXPprASSaKR5CGvcxlvvpchs7fiM/HeyMCaY5fwObpaCEyWypmrrOe6QLjQ7QIqaAwaxyLOZRsDzqz3BmLa1wUQCpqkNE4e+iG9dbdUcN55mYl99Rj1CwaQqHiM0snkeT6Ky9Wln8m+SEIZt9cMcBFcuuHrWtCYyPEh+cEGzo=; 7:n1Vxw7nhMMZRp0OO9EAp1EJjPYBf+HYw6p7ps5+h+6s/I3OE1K5OQntRYb2Z5SNQ2WE7XkHhOZSIwFJsWvKOHyOfynZoiEzIbt4n86wXAU+lhRduraDwh3f7XK6KGXgDBUTTDuuq/4Up76ypq9w1X8T33kZ/Zl6Sltloe+tcRTAiztiB7rPh8i8M08qfQFOMc2Y1Bg0eOaLOuVeGNOWZ3fLaGpPpfDQR6nkI3ETQcasm+yhB7SNErQJtEMiRyVI2 x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 829ac7cf-e6f5-41f1-b5eb-08d62aed28f1 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:HE1PR0801MB1722; x-ms-traffictypediagnostic: HE1PR0801MB1722: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(100405760836317)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(201708071742011)(7699051); SRVR:HE1PR0801MB1722; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1722; x-forefront-prvs: 0816F1D86E x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(346002)(376002)(136003)(39860400002)(396003)(189003)(13464003)(199004)(6486002)(14444005)(256004)(82746002)(6116002)(8676002)(2906002)(6246003)(6512007)(53936002)(6306002)(68736007)(7736002)(8936002)(6436002)(575784001)(102836004)(4326008)(26005)(446003)(305945005)(11346002)(186003)(81166006)(66066001)(229853002)(476003)(2616005)(81156014)(86362001)(99286004)(14454004)(25786009)(105586002)(54906003)(316002)(6506007)(36756003)(71190400001)(5250100002)(6636002)(3846002)(76176011)(106356001)(72206003)(486006)(478600001)(93886005)(966005)(58126008)(5660300001)(33656002)(71200400001)(83716004)(97736004)(53546011)(2900100001)(110136005)(10126625002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1722; 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: WbeaKZ7mZC8R/1BgZKgYfXx+MScS9N2MPsLqcKHaFmpustc8BXsBGQT/ZXP7w3+nMXwzLwoDmVxZ/w5y4HVi047EPaCekZiSZHwYkOxpe0H1g8Xq1wAxpn5cmhzuFtEWsoPsHmr+BO2a8u9cWB3glE03y7CLMlxJa4SfYxrYPKBYFdPipoWtBm5xjUCzo+rHqpLu2LwW85urkfoexyIkx+eLqbo5m1wlkGnV6+AbSrw5VZiScQkbbc6959Xs+sgjXy1CC8wVuQMv014WlV4xNAIGOGfuZziRilUsa3fkT2fC1ZsKfbCiy+TifKR+N0bCgwmUUBZ2iN0+yFsj5ZpRIR6/QTxhkbogHznG0p0ouXc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 829ac7cf-e6f5-41f1-b5eb-08d62aed28f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2018 18:05:40.0277 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1722 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Oct 2018 18:05:43 -0000 U28geW91IGRvbid0IHdhbnQgdG8gd3JpdGUgdGhlIHByb3BlciBDMTEgY29kZSBiZWNhdXNlIHRo ZSBjb21waWxlciBnZW5lcmF0ZXMgb25lIGV4dHJhIGluc3RydWN0aW9uIHRoYXQgd2F5Pw0KWW91 IGRvbid0IGV2ZW4ga25vdyBpZiB0aGF0IG9uZSBleHRyYSBpbnN0cnVjdGlvbiBoYXMgYW55IG1l YXN1cmFibGUgaW1wYWN0IG9uIHBlcmZvcm1hbmNlLiBFLmcuIGl0IGNvdWxkIGJlIGlzc3VlZCB0 aGUgY3ljbGUgYmVmb3JlIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zdHJ1Y3Rpb25zLg0KDQpXZSBj YW4gY29tcGxhaW4gdG8gdGhlIGNvbXBpbGVyIHdyaXRlcnMgdGhhdCB0aGUgY29kZSBnZW5lcmF0 aW9uIGZvciBfX2F0b21pY19sb2FkX24oLCBfX0FUT01JQ19SRUxBWEVEKSBpcyBub3Qgb3B0aW1h bCAoYXQgbGVhc3Qgb24gQVJNL0E2NCkuIEkgdGhpbmsgdGhlIHByb2JsZW0gaXMgdGhhdCB0aGUg X19hdG9taWMgYnVpbHRpbnMgb25seSBhY2NlcHQgYSBiYXNlIGFkZHJlc3Mgd2l0aG91dCBhbnkg b2Zmc2V0IGFuZCB0aGlzIGlzIHBvc3NpYmx5IGJlY2F1c2UgZS5nLiBsb2FkL3N0b3JlIGV4Y2x1 c2l2ZSAoTERYL1NUWCkgYW5kIGxvYWQtYWNxdWlyZSAoTERBUikgYW5kIHN0b3JlLXJlbGVhc2Ug KFNUTFIpIG9ubHkgYWNjZXB0IGEgYmFzZSByZWdpc3RlciB3aXRoIG5vIG9mZnNldC4gU28gYW55 IG9mZnNldCBoYXMgdG8gYmUgYWRkZWQgYmVmb3JlIHRoZSBhY3R1YWwgImF0b21pYyIgaW5zdHJ1 Y3Rpb24sIExEUiBpbiB0aGlzIGNhc2UuDQoNCg0KLS0gT2xhDQoNCg0K77u/T24gMDUvMTAvMjAx OCwgMTk6MDcsICJKZXJpbiBKYWNvYiIgPGplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4g d3JvdGU6DQoNCiAgICAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KICAgID4gRGF0ZTogRnJp LCA1IE9jdCAyMDE4IDE1OjExOjQ0ICswMDAwDQogICAgPiBGcm9tOiBIb25uYXBwYSBOYWdhcmFo YWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4NCiAgICA+IFRvOiAiQW5hbnlldiwg S29uc3RhbnRpbiIgPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+LCBPbGEgTGlsamVkYWhs DQogICAgPiAgPE9sYS5MaWxqZWRhaGxAYXJtLmNvbT4sICJHYXZpbiBIdSAoQXJtIFRlY2hub2xv Z3kgQ2hpbmEpIg0KICAgID4gIDxHYXZpbi5IdUBhcm0uY29tPiwgSmVyaW4gSmFjb2IgPGplcmlu LmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4NCiAgICA+IENDOiAiZGV2QGRwZGsub3JnIiA8ZGV2 QGRwZGsub3JnPiwgU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4sIG5kDQogICAg PiAgPG5kQGFybS5jb20+LCAic3RhYmxlQGRwZGsub3JnIiA8c3RhYmxlQGRwZGsub3JnPg0KICAg ID4gU3ViamVjdDogUkU6IFtQQVRDSCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFpbCB1c2luZyBhdG9t aWMgbG9hZA0KICAgID4gDQogICAgPiA+ID4gICAgICAgICA+IEhpIEplcmluLA0KICAgID4gPiA+ ICAgICAgICAgPg0KICAgID4gPiA+ICAgICAgICAgPiBUaGFua3MgZm9yIHlvdXIgcmV2aWV3LCBp bmxpbmUgY29tbWVudHMgZnJvbSBvdXIgaW50ZXJuYWwNCiAgICA+ID4gZGlzY3Vzc2lvbnMuDQog ICAgPiA+ID4gICAgICAgICA+DQogICAgPiA+ID4gICAgICAgICA+IEJSLiBHYXZpbg0KICAgID4g PiA+ICAgICAgICAgPg0KICAgID4gPiA+ICAgICAgICAgPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQogICAgPiA+ID4gICAgICAgICA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluLmph Y29iQGNhdml1bW5ldHdvcmtzLmNvbT4NCiAgICA+ID4gPiAgICAgICAgID4gPiBTZW50OiBTYXR1 cmRheSwgU2VwdGVtYmVyIDI5LCAyMDE4IDY6NDkgUE0NCiAgICA+ID4gPiAgICAgICAgID4gPiBU bzogR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8R2F2aW4uSHVAYXJtLmNvbT4NCiAg ICA+ID4gPiAgICAgICAgID4gPiBDYzogZGV2QGRwZGsub3JnOyBIb25uYXBwYSBOYWdhcmFoYWxs aQ0KICAgID4gPiA+ICAgICAgICAgPiA+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsg U3RldmUgQ2FwcGVyDQogICAgPiA+ID4gICAgICAgICA+ID4gPFN0ZXZlLkNhcHBlckBhcm0uY29t PjsgT2xhIExpbGplZGFobCA8T2xhLkxpbGplZGFobEBhcm0uY29tPjsNCiAgICA+ID4gbmQNCiAg ICA+ID4gPiAgICAgICAgID4gPiA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZw0KICAgID4g PiA+ICAgICAgICAgPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS8zXSByaW5nOiByZWFkIHRh aWwgdXNpbmcgYXRvbWljIGxvYWQNCiAgICA+ID4gPiAgICAgICAgID4gPg0KICAgID4gPiA+ICAg ICAgICAgPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQogICAgPiA+ID4gICAgICAgICA+ ID4gPiBEYXRlOiBNb24sIDE3IFNlcCAyMDE4IDE2OjE3OjIyICswODAwDQogICAgPiA+ID4gICAg ICAgICA+ID4gPiBGcm9tOiBHYXZpbiBIdSA8Z2F2aW4uaHVAYXJtLmNvbT4NCiAgICA+ID4gPiAg ICAgICAgID4gPiA+IFRvOiBkZXZAZHBkay5vcmcNCiAgICA+ID4gPiAgICAgICAgID4gPiA+IEND OiBnYXZpbi5odUBhcm0uY29tLCBIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tLA0KICAgID4g PiA+ICAgICAgICAgPiA+ID4gc3RldmUuY2FwcGVyQGFybS5jb20sICBPbGEuTGlsamVkYWhsQGFy bS5jb20sDQogICAgPiA+ID4gICAgICAgICA+ID4gPiBqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jr cy5jb20sIG5kQGFybS5jb20sDQogICAgPiA+IHN0YWJsZUBkcGRrLm9yZw0KICAgID4gPiA+ICAg ICAgICAgPiA+ID4gU3ViamVjdDogW1BBVENIIHYzIDEvM10gcmluZzogcmVhZCB0YWlsIHVzaW5n IGF0b21pYyBsb2FkDQogICAgPiA+ID4gICAgICAgICA+ID4gPiBYLU1haWxlcjogZ2l0LXNlbmQt ZW1haWwgMi43LjQNCiAgICA+ID4gPiAgICAgICAgID4gPiA+DQogICAgPiA+ID4gICAgICAgICA+ ID4gPiBFeHRlcm5hbCBFbWFpbA0KICAgID4gPiA+ICAgICAgICAgPiA+ID4NCiAgICA+ID4gPiAg ICAgICAgID4gPiA+IEluIHVwZGF0ZV90YWlsLCByZWFkIGh0LT50YWlsIHVzaW5nIF9fYXRvbWlj X2xvYWQuQWx0aG91Z2ggdGhlDQogICAgPiA+ID4gICAgICAgICA+ID4gPiBjb21waWxlciBjdXJy ZW50bHkgc2VlbXMgdG8gYmUgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nIGV2ZW4gd2l0aG91dA0KICAg ID4gPiA+ICAgICAgICAgPiA+ID4gX2F0b21pY19sb2FkLCB3ZSBkb24ndCB3YW50IHRvIGdpdmUg dGhlIGNvbXBpbGVyIGZyZWVkb20gdG8NCiAgICA+ID4gb3B0aW1pc2UNCiAgICA+ID4gPiAgICAg ICAgID4gPiA+IHdoYXQgc2hvdWxkIGJlIGFuIGF0b21pYyBsb2FkLCBpdCBzaG91bGQgbm90IGJl IGFyYml0YXJpbHkgbW92ZWQNCiAgICA+ID4gPiAgICAgICAgID4gPiA+IGFyb3VuZC4NCiAgICA+ ID4gPiAgICAgICAgID4gPiA+DQogICAgPiA+ID4gICAgICAgICA+ID4gPiBGaXhlczogMzkzNjhl YmZjNiAoInJpbmc6IGludHJvZHVjZSBDMTEgbWVtb3J5IG1vZGVsIGJhcnJpZXINCiAgICA+ID4g b3B0aW9uIikNCiAgICA+ID4gPiAgICAgICAgID4gPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCiAg ICA+ID4gPiAgICAgICAgID4gPiA+DQogICAgPiA+ID4gICAgICAgICA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBHYXZpbiBIdSA8Z2F2aW4uaHVAYXJtLmNvbT4NCiAgICA+ID4gPiAgICAgICAgID4gPiA+ IFJldmlld2VkLWJ5OiBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KICAgID4gPiA8SG9ubmFwcGEuTmFn YXJhaGFsbGlAYXJtLmNvbT4NCiAgICA+ID4gPiAgICAgICAgID4gPiA+IFJldmlld2VkLWJ5OiBT dGV2ZSBDYXBwZXIgPHN0ZXZlLmNhcHBlckBhcm0uY29tPg0KICAgID4gPiA+ICAgICAgICAgPiA+ ID4gUmV2aWV3ZWQtYnk6IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxAYXJtLmNvbT4NCiAg ICA+ID4gPiAgICAgICAgID4gPiA+IC0tLQ0KICAgID4gPiA+ICAgICAgICAgPiA+ID4gIGxpYi9s aWJydGVfcmluZy9ydGVfcmluZ19jMTFfbWVtLmggfCAzICsrLQ0KICAgID4gPiA+ICAgICAgICAg PiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCiAg ICA+ID4gPiAgICAgICAgID4gPiA+DQogICAgPiA+ID4gICAgICAgICA+IFRoZSByZWFkIG9mIGh0 LT50YWlsIG5lZWRzIHRvIGJlIGF0b21pYywgYSBub24tYXRvbWljIHJlYWQgd291bGQgbm90DQog ICAgPiA+IGJlIGNvcnJlY3QuDQogICAgPiA+ID4NCiAgICA+ID4gPiAgICAgICAgIFRoYXQncyBh IDMyYml0IHZhbHVlIGxvYWQuDQogICAgPiA+ID4gICAgICAgICBBRkFJSyBvbiBhbGwgQ1BVcyB0 aGF0IHdlIHN1cHBvcnQgaXQgaXMgYW4gYXRvbWljIG9wZXJhdGlvbi4NCiAgICA+ID4gPiAgICAg W09sYV0gQnV0IHRoYXQgdGhlIG9yZGluYXJ5IEMgbG9hZCBpcyB0cmFuc2xhdGVkIHRvIGFuIGF0 b21pYyBsb2FkIGZvciB0aGUNCiAgICA+ID4gdGFyZ2V0IGFyY2hpdGVjdHVyZSBpcyBpbmNpZGVu dGFsLg0KICAgID4gPiA+DQogICAgPiA+ID4gICAgIElmIHRoZSBkZXNpZ24gcmVxdWlyZXMgYW4g YXRvbWljIGxvYWQgKHdoaWNoIGlzIHRoZSBjYXNlIGhlcmUpLCB3ZQ0KICAgID4gPiA+IHNob3Vs ZCB1c2UgYW4gYXRvbWljIGxvYWQgb24gdGhlIGxhbmd1YWdlIGxldmVsLiBUaGVuIHdlIGNhbiBi ZSBzdXJlIGl0IHdpbGwNCiAgICA+ID4gYWx3YXlzIGJlIHRyYW5zbGF0ZWQgdG8gYW4gYXRvbWlj IGxvYWQgZm9yIHRoZSB0YXJnZXQgaW4gcXVlc3Rpb24gb3INCiAgICA+ID4gY29tcGlsYXRpb24g d2lsbCBmYWlsLiBXZSBkb24ndCBoYXZlIHRvIGRlcGVuZCBvbiBhc3N1bXB0aW9ucy4NCiAgICA+ ID4NCiAgICA+ID4gV2UgYWxsIGtub3cgdGhhdCAzMmJpdCBsb2FkL3N0b3JlIG9uIGNwdSB3ZSBz dXBwb3J0IC0gYXJlIGF0b21pYy4NCiAgICA+ID4gSWYgaXQgd291bGRuJ3QgYmUgdGhlIGNhc2Ug LSBEUERLIHdvdWxkIGJlIGJyb2tlbiBpbiBkb3plbiBwbGFjZXMuDQogICAgPiA+IFNvIHdoYXQg dGhlIHBvaW50IHRvIHByZXRlbmQgdGhhdCAiaXQgbWlnaHQgYmUgbm90IGF0b21pYyIgaWYgd2Ug ZG8ga25vdyBmb3INCiAgICA+ID4gc3VyZSB0aGF0IGl0IGlzPw0KICAgID4gPiBJIGRvIHVuZGVy c3RhbmQgdGhhdCB5b3Ugd2FudCB0byB1c2UgYXRvbWljX2xvYWQocmVsYXhlZCkgaGVyZSBmb3IN CiAgICA+ID4gY29uc2lzdGVuY3ksIGFuZCB0byBjb25mb3JtIHdpdGggQzExIG1lbS1tb2RlbCBh bmQgSSBkb24ndCBzZWUgYW55IGhhcm0gaW4NCiAgICA+ID4gdGhhdC4NCiAgICA+IFdlIGNhbiBj b250aW51ZSB0byBkaXNjdXNzIHRoZSB0b3BpYywgaXQgaXMgYSBnb29kIGRpc2N1c3Npb24uIEJ1 dCwgYXMgZmFyIHRoaXMgcGF0Y2ggaXMgY29uY2VybmVkLCBjYW4gSSBjb25zaWRlciB0aGlzIGFz IHVzIGhhdmluZyBhIGNvbnNlbnN1cz8gVGhlIGZpbGUgcnRlX3JpbmdfYzExX21lbS5oIGlzIHNw ZWNpZmljYWxseSBmb3IgQzExIG1lbW9yeSBtb2RlbCBhbmQgSSBhbHNvIGRvIG5vdCBzZWUgYW55 IGhhcm0gaW4gaGF2aW5nIGNvZGUgdGhhdCBjb21wbGV0ZWx5IGNvbmZvcm1zIHRvIEMxMSBtZW1v cnkgbW9kZWwuDQogICAgDQogICAgSGF2ZSB5b3UgZ3V5cyBjaGVja2VkIHRoZSBvdXRwdXQgYXNz ZW1ibHkgd2l0aCBhbmQgd2l0aG91dCBhdG9taWMgbG9hZD8NCiAgICBUaGVyZSBpcyBhbiBleHRy YSAiYWRkIiBpbnN0cnVjdGlvbiB3aXRoIGF0IGxlYXN0IHRoZSBjb2RlIEkgaGF2ZSBjaGVja2Vk Lg0KICAgIEkgdGhpbmssIGNvbXBpbGVyIGlzIG5vdCBzbWFydCBlbm91Z2ggdG8gdW5kZXJzdGFu ZCBpdCBpcyBhIGRlYWQgY29kZSBmb3INCiAgICBhcm02NC4NCiAgICANCiAgICDinpwgW35dICQg YWFyY2g2NC1saW51eC1nbnUtZ2NjIC12DQogICAgVXNpbmcgYnVpbHQtaW4gc3BlY3MuDQogICAg Q09MTEVDVF9HQ0M9YWFyY2g2NC1saW51eC1nbnUtZ2NjDQogICAgQ09MTEVDVF9MVE9fV1JBUFBF Uj0vdXNyL2xpYi9nY2MvYWFyY2g2NC1saW51eC1nbnUvOC4yLjAvbHRvLXdyYXBwZXINCiAgICBU YXJnZXQ6IGFhcmNoNjQtbGludXgtZ251DQogICAgQ29uZmlndXJlZCB3aXRoOiAvYnVpbGQvYWFy Y2g2NC1saW51eC1nbnUtZ2NjL3NyYy9nY2MtOC4yLjAvY29uZmlndXJlDQogICAgLS1wcmVmaXg9 L3VzciAtLXByb2dyYW0tcHJlZml4PWFhcmNoNjQtbGludXgtZ251LQ0KICAgIC0td2l0aC1sb2Nh bC1wcmVmaXg9L3Vzci9hYXJjaDY0LWxpbnV4LWdudQ0KICAgIC0td2l0aC1zeXNyb290PS91c3Iv YWFyY2g2NC1saW51eC1nbnUNCiAgICAtLXdpdGgtYnVpbGQtc3lzcm9vdD0vdXNyL2FhcmNoNjQt bGludXgtZ251IC0tbGliZGlyPS91c3IvbGliDQogICAgLS1saWJleGVjZGlyPS91c3IvbGliIC0t dGFyZ2V0PWFhcmNoNjQtbGludXgtZ251DQogICAgLS1ob3N0PXg4Nl82NC1wYy1saW51eC1nbnUg LS1idWlsZD14ODZfNjQtcGMtbGludXgtZ251IC0tZGlzYWJsZS1ubHMNCiAgICAtLWVuYWJsZS1s YW5ndWFnZXM9YyxjKysgLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9cG9zaXgNCiAg ICAtLXdpdGgtc3lzdGVtLXpsaWIgLS13aXRoLWlzbCAtLWVuYWJsZS1fX2N4YV9hdGV4aXQNCiAg ICAtLWRpc2FibGUtbGlidW53aW5kLWV4Y2VwdGlvbnMgLS1lbmFibGUtY2xvY2FsZT1nbnUNCiAg ICAtLWRpc2FibGUtbGlic3RkY3h4LXBjaCAtLWRpc2FibGUtbGlic3NwIC0tZW5hYmxlLWdudS11 bmlxdWUtb2JqZWN0DQogICAgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0tZW5hYmxlLWx0byAt LWVuYWJsZS1wbHVnaW4NCiAgICAtLWVuYWJsZS1pbnN0YWxsLWxpYmliZXJ0eSAtLXdpdGgtbGlu a2VyLWhhc2gtc3R5bGU9Z251DQogICAgLS1lbmFibGUtZ251LWluZGlyZWN0LWZ1bmN0aW9uIC0t ZGlzYWJsZS1tdWx0aWxpYiAtLWRpc2FibGUtd2Vycm9yDQogICAgLS1lbmFibGUtY2hlY2tpbmc9 cmVsZWFzZQ0KICAgIFRocmVhZCBtb2RlbDogcG9zaXgNCiAgICBnY2MgdmVyc2lvbiA4LjIuMCAo R0NDKQ0KICAgIA0KICAgIA0KICAgICMgYnVpbGQgc2V0dXANCiAgICBtYWtlIC1qIDggY29uZmln IFQ9YXJtNjQtYXJtdjhhLWxpbnV4YXBwLWdjYyAgQ1JPU1M9YWFyY2g2NC1saW51eC1nbnUtDQog ICAgbWFrZSAtaiA4IHRlc3QtYnVpbGQgQ1JPU1M9YWFyY2g2NC1saW51eC1nbnUtDQogICAgDQog ICAgIyBnZW5lcmF0ZSBhc20NCiAgICBhYXJjaDY0LWxpbnV4LWdudS1nZGIgLWJhdGNoIC1leCAn ZmlsZSBidWlsZC9hcHAvdGVzdCAnIC1leCAnZGlzYXNzZW1ibGUgL3JzIGJ1Y2tldF9lbnF1ZXVl X3NpbmdsZScgDQogICAgDQogICAgSSBoYXZlIHVwbG9hZGVkIGdlbmVyYXRlZCBmaWxlIGZvciB5 b3VyIGNvbnZlbmllbmNlDQogICAgd2l0aF9hdG9taWNfbG9hZC50eHQoaW5jbHVkZXMgcGF0Y2gg MSwyLDMpDQogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICBodHRwczovL3Bhc3RlYmlu LmNvbS9TUTZ3MXlSdQ0KICAgIA0KICAgIHdpdGhvdXRfYXRvbWljX2xvYWQudHh0KGluY2x1ZGVz IHBhdGNoIDIsMykNCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIGh0dHBzOi8vcGFz dGViaW4uY29tL0Jwdm5EMENBDQogICAgDQogICAgDQogICAgd2l0aG91dF9hdG9taWMNCiAgICAt LS0tLS0tLS0tLS0tDQogICAgMjMgICAgICAgICAgICAgIGlmICghc2luZ2xlKQ0KICAgICAgIDB4 MDAwMDAwMDAwMDY4ZDI5MCA8KzI0MD46ICAgODUgMDAgMDAgMzUgICAgIGNibnogICAgdzUsIDB4 NjhkMmEwIDxidWNrZXRfZW5xdWV1ZV9zaW5nbGUrMjU2Pg0KICAgICAgIDB4MDAwMDAwMDAwMDY4 ZDI5NCA8KzI0ND46ICAgODIgMDQgNDAgYjkgICAgIGxkciAgICAgdzIsIFt4NCwgIzRdDQogICAg ICAgMHgwMDAwMDAwMDAwNjhkMjk4IDwrMjQ4PjogICA1ZiAwMCAwMSA2YiAgICAgY21wICAgICB3 MiwgdzENCiAgICAgICAweDAwMDAwMDAwMDA2OGQyOWMgPCsyNTI+OiAgIDIxIDAxIDAwIDU0ICAg ICBiLm5lICAgIDB4NjhkMmMwIDxidWNrZXRfZW5xdWV1ZV9zaW5nbGUrMjg4PiAgLy8gYi5hbnkN CiAgICANCiAgICAyNCAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodW5saWtlbHkoaHQtPnRh aWwgIT0gb2xkX3ZhbCkpDQogICAgMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVf cGF1c2UoKTsNCiAgICANCiAgICANCiAgICB3aXRoX2F0b21pYw0KICAgIC0tLS0tLS0tLS0tDQog ICAgMjMgICAgICAgICAgICAgIGlmICghc2luZ2xlKQ0KICAgICAgIDB4MDAwMDAwMDAwMDY4Y2Vi MCA8KzI0MD46ICAgMDAgMTAgMDQgOTEgICAgIGFkZCAgICAgeDAsIHgwLCAjMHgxMDQNCiAgICAg ICAweDAwMDAwMDAwMDA2OGNlYjQgPCsyNDQ+OiAgIDg0IDAwIDAwIDM1ICAgICBjYm56ICAgIHc0 LCAweDY4Y2VjNCA8YnVja2V0X2VucXVldWVfc2luZ2xlKzI2MD4NCiAgICAgICAweDAwMDAwMDAw MDA2OGNlYjggPCsyNDg+OiAgIDAyIDAwIDQwIGI5ICAgICBsZHIgICAgIHcyLCBbeDBdDQogICAg ICAgMHgwMDAwMDAwMDAwNjhjZWJjIDwrMjUyPjogICAzZiAwMCAwMiA2YiAgICAgY21wICAgICB3 MSwgdzINCiAgICAgICAweDAwMDAwMDAwMDA2OGNlYzAgPCsyNTY+OiAgIDAxIDA5IDAwIDU0ICAg ICBiLm5lICAgIDB4NjhjZmUwIDxidWNrZXRfZW5xdWV1ZV9zaW5nbGUrNTQ0PiAgLy8gYi5hbnkN CiAgICANCiAgICAyNCAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodW5saWtlbHkob2xkX3Zh bCAhPSBfX2F0b21pY19sb2FkX24oJmh0LT50YWlsLCBfX0FUT01JQ19SRUxBWEVEKSkpDQogICAg DQogICAgDQogICAgSSBkb24ndCB3YW50IHRvIGJsb2NrIHRoaXMgc2VyaWVzIG9mIHBhdGNoZXMg ZHVlIHRoaXMgcGF0Y2guIENhbiB3ZSBtYWtlDQogICAgcmUgc3BpbiBvbmUgc2VyaWVzIHdpdGgg MiBhbmQgMyBwYXRjaGVzLiBBbmQgV2FpdCBmb3IgcGF0Y2ggMSB0byBjb25jbHVkZT8NCiAgICAN CiAgICBUaG91Z2h0cz8NCiAgICANCiAgICANCiAgICANCiAgICANCiAgICA+IA0KICAgID4gPiBC dXQgYXJndW1lbnQgdGhhdCB3ZSBzaG91bGRuJ3QgYXNzdW1lIDMyYml0IGxvYWQvc3RvcmUgb3Bz IGFzIGF0b21pYw0KICAgID4gPiBzb3VuZHMgYSBiaXQgZmxha3kgdG8gbWUuDQogICAgPiA+IEtv bnN0YW50aW4NCiAgICA+ID4NCiAgICA+ID4NCiAgICA+ID4gPg0KICAgID4gPiA+DQogICAgPiA+ ID4NCiAgICA+ID4gPiAgICAgICAgID4gQnV0IHRoZXJlIGFyZSBubyBtZW1vcnkgb3JkZXJpbmcg cmVxdWlyZW1lbnRzICh3aXRoDQogICAgPiA+ID4gICAgICAgICA+IHJlZ2FyZHMgdG8gb3RoZXIg bG9hZHMgYW5kL29yIHN0b3JlcyBieSB0aGlzIHRocmVhZCkgc28gcmVsYXhlZA0KICAgID4gPiBt ZW1vcnkgb3JkZXIgaXMgc3VmZmljaWVudC4NCiAgICA+ID4gPiAgICAgICAgID4gQW5vdGhlciBh c3BlY3Qgb2YgdXNpbmcgX19hdG9taWNfbG9hZF9uKCkgaXMgdGhhdCB0aGUNCiAgICA+ID4gPiBj b21waWxlciBjYW5ub3QgIm9wdGltaXNlIiB0aGlzIGxvYWQgKGUuZy4gY29tYmluZSwgaG9pc3Qg ZXRjKSwgaXQgaGFzIHRvIGJlDQogICAgPiA+IGRvbmUgYXMNCiAgICA+ID4gPiAgICAgICAgID4g c3BlY2lmaWVkIGluIHRoZSBzb3VyY2UgY29kZSB3aGljaCBpcyBhbHNvIHdoYXQgd2UgbmVlZCBo ZXJlLg0KICAgID4gPiA+DQogICAgPiA+ID4gICAgICAgICBJIHRoaW5rIEplcmluIHBvaW50cyB0 aGF0IHJ0ZV9wYXVzZSgpIGFjdHMgaGVyZSBhcyBjb21waWxlciBiYXJyaWVyIHRvbywNCiAgICA+ ID4gPiAgICAgICAgIHNvIG5vIG5lZWQgdG8gd29ycnkgdGhhdCBjb21waWxlciB3b3VsZCBvcHRp bWl6ZSBvdXQgdGhlIGxvb3AuDQogICAgPiA+ID4gICAgIFtPbGFdIFNvcnJ5IG1pc3NlZCB0aGF0 LiBCdXQgdGhlIGJhcnJpZXIgYmVoYXZpb3VyIG9mIHJ0ZV9wYXVzZSgpDQogICAgPiA+ID4gaXMg bm90IHBhcnQgb2YgQzExLCBpcyBpdCBlc3NlbnRpYWxseSBhIGhhbmQtbWFkZSBmZWF0dXJlIHRv IHN1cHBvcnQNCiAgICA+ID4gPiB0aGUgbGVnYWN5IG11bHRpdGhyZWFkZWQgbWVtb3J5IG1vZGVs ICh3aGljaCB1c2VzIGV4cGxpY2l0IEhXIGFuZA0KICAgID4gPiBjb21waWxlciBiYXJyaWVycyku IEknZCBwcmVmZXIgY29kZSB1c2luZyB0aGUgQzExIG1lbW9yeSBtb2RlbCBub3QgdG8NCiAgICA+ ID4gZGVwZW5kIG9uIHN1Y2ggbGVnYWN5IGZlYXR1cmVzLg0KICAgID4gPiA+DQogICAgPiA+ID4N CiAgICA+ID4gPg0KICAgID4gPiA+ICAgICAgICAgS29uc3RhbnRpbg0KICAgID4gPiA+DQogICAg PiA+ID4gICAgICAgICA+DQogICAgPiA+ID4gICAgICAgICA+IE9uZSBwb2ludCB3b3J0aCBtZW50 aW9uaW5nIHRob3VnaCBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIGZvcg0KICAgID4gPiA+IHRoZSBy dGVfcmluZ19jMTFfbWVtLmggZmlsZSwgbm90IHRoZSBsZWdhY3kgcmluZy4gSXQgbWF5IGJlIHdv cnRoIHBlcnNpc3RpbmcNCiAgICA+ID4gPiAgICAgICAgID4gd2l0aCBnZXR0aW5nIHRoZSBDMTEg Y29kZSByaWdodCB3aGVuIHBlb3BsZSBhcmUgbGVzcyBleGNpdGVkIGFib3V0DQogICAgPiA+IHNl bmRpbmcgYSByZWxlYXNlIG91dD8NCiAgICA+ID4gPiAgICAgICAgID4NCiAgICA+ID4gPiAgICAg ICAgID4gV2UgY2FuIGV4cGxhaW4gdGhhdCBmb3IgQzExIHdlIHdvdWxkIHByZWZlciB0byBkbyBs b2FkcyBhbmQgc3RvcmVzDQogICAgPiA+IGFzIHBlciB0aGUgQzExIG1lbW9yeSBtb2RlbC4gSW4g dGhlIGNhc2Ugb2YgcnRlX3JpbmcsIHRoZSBjb2RlIGlzDQogICAgPiA+ID4gICAgICAgICA+IHNl cGFyYXRlZCBjbGVhbmx5IGludG8gQzExIHNwZWNpZmljIGZpbGVzIGFueXdheS4NCiAgICA+ID4g PiAgICAgICAgID4NCiAgICA+ID4gPiAgICAgICAgID4gSSB0aGluayByZWFkaW5nIGh0LT50YWls IHVzaW5nIF9fYXRvbWljX2xvYWRfbigpIGlzIHRoZSBtb3N0DQogICAgPiA+IGFwcHJvcHJpYXRl IHdheS4gV2Ugc2hvdyB0aGF0IGh0LT50YWlsIGlzIHVzZWQgZm9yIHN5bmNocm9uaXphdGlvbiwg d2UNCiAgICA+ID4gPiAgICAgICAgID4gYWNrbm93bGVkZ2UgdGhhdCBodC0+dGFpbCBtYXkgYmUg d3JpdHRlbiBieSBvdGhlciB0aHJlYWRzDQogICAgPiA+ID4gd2l0aG91dCBhbnkgb3RoZXIga2lu ZCBvZiBzeW5jaHJvbml6YXRpb24gKGUuZy4gbm8gbG9jayBpbnZvbHZlZCkgYW5kIHdlDQogICAg PiA+IHJlcXVpcmUNCiAgICA+ID4gPiAgICAgICAgID4gYW4gYXRvbWljIGxvYWQgKGFueSB3cml0 ZSB0byBodC0+dGFpbCBtdXN0IGFsc28gYmUgYXRvbWljKS4NCiAgICA+ID4gPiAgICAgICAgID4N CiAgICA+ID4gPiAgICAgICAgID4gVXNpbmcgdm9sYXRpbGUgYW5kIGV4cGxpY2l0IGNvbXBpbGVy IChvciBwcm9jZXNzb3IpIG1lbW9yeSBiYXJyaWVycw0KICAgID4gPiAoZmVuY2VzKSBpcyB0aGUg bGVnYWN5IHByZS1DMTEgd2F5IG9mIGFjY29tcGxpc2hpbmcgdGhlc2UgdGhpbmdzLg0KICAgID4g PiA+IFRoZXJlJ3MNCiAgICA+ID4gPiAgICAgICAgID4gYSByZWFzb24gd2h5IEMxMS9DKysxMSBt b3ZlZCBhd2F5IGZyb20gdGhlIG9sZCB3YXlzLg0KICAgID4gPiA+ICAgICAgICAgPiA+ID4NCiAg ICA+ID4gPiAgICAgICAgID4gPiA+ICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmaHQtPnRhaWws IG5ld192YWwsIF9fQVRPTUlDX1JFTEVBU0UpOw0KICAgID4gPiA+ICAgICAgICAgPiA+ID4gLS0N CiAgICA+ID4gPiAgICAgICAgID4gPiA+IDIuNy40DQogICAgPiA+ID4gICAgICAgICA+ID4gPg0K ICAgID4gPiA+DQogICAgPiA+ID4NCiAgICA+ID4gPg0KICAgID4gDQogICAgDQoNCg==