From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0048.outbound.protection.outlook.com [104.47.2.48]) by dpdk.org (Postfix) with ESMTP id 1ED786CC7 for ; Fri, 14 Sep 2018 01:45:33 +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=9vU34/ssLNlWDhWers1CTNjqTViACAA3Gpw2MrhsVy8=; b=e9SbCOU5s8EGX7FnY5DvTNuYcJ9w89r+eX5VAr2M1Qb3DF8Z7LfOhEgngubTZWf6RrLi1jei1OYif+7rTfGk0KZb5v/YuYglHebgeELuJuw2huF4zgukfi7PKSqc/Ra89VUd2sExDjDBTB9VaQZOXjGY3o49OqQLuepyxru7nkI= Received: from AM6PR08MB3672.eurprd08.prod.outlook.com (20.177.115.29) by AM6PR08MB2951.eurprd08.prod.outlook.com (52.135.163.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.15; Thu, 13 Sep 2018 23:45:31 +0000 Received: from AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::589e:d3cf:9777:5ff9]) by AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::589e:d3cf:9777:5ff9%2]) with mapi id 15.20.1122.018; Thu, 13 Sep 2018 23:45:31 +0000 From: Honnappa Nagarahalli To: Jerin Jacob CC: Ola Liljedahl , "Kokkilagadda, Kiran" , "Gavin Hu (Arm Technology China)" , Ferruh Yigit , "Jacob, Jerin" , "dev@dpdk.org" , nd , Steve Capper , "Phil Yang (Arm Technology China)" Thread-Topic: [dpdk-dev] [PATCH v2] kni: fix kni Rx fifo producer synchronization Thread-Index: AQHUNUdKDAxxlajx7EqxtswFT/Xr1aTTtAyAgAAZYECAAUATgIAAj0wggACeoyCAABI7AIAAHT4AgAAPAQCAAAV/AIAAAq8AgBgjT7CAAATUAIAAXQzA Date: Thu, 13 Sep 2018 23:45:31 +0000 Message-ID: References: <7C80C637-DF76-423E-92AA-868EA06EF2C3@arm.com> <20180829082814.GA15610@jerin> <9CD1E941-1C51-4942-B0C8-30F6177124A5@arm.com> <20180829085730.GA2563@jerin> <20180913175124.GA11207@jerin> In-Reply-To: <20180913175124.GA11207@jerin> 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; AM6PR08MB2951; 6:FXP9scxTorEbuJhWrgTix/98P35eSbzhpG/80Lmm9/PaZBRQRqW3BwpecpUiGNDfebo041PIBTNmJwpNUZkeTv6vJ5qIk0C60qAa2SK8mNmhedUsfnSlwkK6Lewt9rtxf6TTKg2JbgRzx8gwbe3wMjaB5j+jNyCSiiZbe1ugkTA+TzyoUq0QlaMey4n9kfCh4h3Jd1cRxs8Eit6WJh/fZ7HsvfevCF6yNzpHzPBZEEAIOM3wkKWkCM34rTUdQfHVQDl1FEYbXTPbyyLLWtTE3Now2p8738HxkmdCniFv8hKfX0WnI8Re7g2typwfXSTx/N3GtNX/YTuU588kvGX4iBLQRD2cpkLwMnn/fSKn3AA8Ku7N7Hi+1d3Z3f/05oyoV/1Q5e5j7nK7CVHaL/Y9WHQ6uP2jwvEz57YWS4l0KkSRMj//2XaKj9MLlN6JtLUVASqK7hzKNYeZ6Alzs2uk5A==; 5:OIPmCXRwWdaQb74hZhzw77IMR1OONUw/CQc9t8KCnOV3el2ktUlizo/U1gxq1rYxlN6Fh7/QfP/Hvfka8TMXUXolfvnbmmCet2oEqQVzw4M5ZgI3dHBnokgj6TMl7ZM+L4MUjcZM+Ad9SMV3Oup4YHkBW0MCx5L80/0MFoHdMNg=; 7:LARMuTC7LkHS7cUI7PLp1kCtJrunIA34BZgYcL6DJy9sdL2MpriHsRkfVk4Y6lLy82mwn9URaF/ePqv/Q4r8F5fYRWiU3h2+EbMTgEDdvZnqmzBvF+auW5LfXb51vy4TSg92lLg0O87nJxPqBf8bIVyBsyeE/sVMsyh5uSTlAICOH62zIcmFPtHumc+4soBcOKP2GuL1p9w3pHFwmz1zyby7hH5RvzhS2lRRub103qbY5NwPH+pjhRq4scmb7rAz x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 9eb7d83c-b19a-46fa-1037-08d619d2fddc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR08MB2951; x-ms-traffictypediagnostic: AM6PR08MB2951: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(103651359005742)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:AM6PR08MB2951; BCL:0; PCL:0; RULEID:; SRVR:AM6PR08MB2951; x-forefront-prvs: 07943272E1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(396003)(376002)(39860400002)(346002)(136003)(366004)(40434004)(13464003)(199004)(189003)(4326008)(6246003)(33656002)(45954006)(105586002)(106356001)(19627235002)(14454004)(53546011)(6116002)(3846002)(74316002)(478600001)(86362001)(81156014)(97736004)(81166006)(6916009)(8936002)(54906003)(45080400002)(8676002)(256004)(5660300001)(966005)(5024004)(25786009)(14444005)(72206003)(316002)(66066001)(68736007)(486006)(2900100001)(2906002)(53936002)(6506007)(7696005)(476003)(55016002)(186003)(9686003)(6436002)(6306002)(99286004)(76176011)(305945005)(93886005)(446003)(11346002)(26005)(7736002)(102836004)(229853002)(5250100002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB2951; H:AM6PR08MB3672.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: OrVXdK/JoKk+gGFs20hUvAhJB+SXb2xoJoherv4u901FvyKdxU35mRdt/HTTMa9OJK31ceOFOl656wOyOjKR0/DOEbph2GRNy1vD/bf+9O/dHbXvOcBztQje6mIw2ZL6kiNFatwI6eIGye2ImAeVAVmyBahler1SVg/vcaZ5lK6SSDXiNlEpRWkRKKmLyi1F0rwXtJ+YGltLOMWuN3c7o8Ya4fUyg68X6RawJVyX+LU18jJjryg6D3BC/T94cz3crlhlBtVV2Ym/Sj5Y+VGxeOYV/PlclNf2ZepLA1qToYogxxG3SreHAjxO2nE0AsGWB0/xkVo12K8JVdbv9Bl6fZUFXsCLNrOfGL/szceqeEA= 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: 9eb7d83c-b19a-46fa-1037-08d619d2fddc X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2018 23:45:31.1138 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2951 Subject: Re: [dpdk-dev] [PATCH v2] kni: fix kni Rx fifo producer synchronization 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: , X-List-Received-Date: Thu, 13 Sep 2018 23:45:33 -0000 DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBEYXRlOiBUaHUsIDEzIFNlcCAyMDE4IDE3 OjQwOjUzICswMDAwDQo+IEZyb206IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdh cmFoYWxsaUBhcm0uY29tPg0KPiBUbzogSmVyaW4gSmFjb2IgPGplcmluLmphY29iQGNhdml1bW5l dHdvcmtzLmNvbT4sIE9sYSBMaWxqZWRhaGwgIA0KPiA8T2xhLkxpbGplZGFobEBhcm0uY29tPg0K PiBDQzogIktva2tpbGFnYWRkYSwgS2lyYW4iIDxLaXJhbi5Lb2traWxhZ2FkZGFAY2F2aXVtLmNv bT4sICJHYXZpbiBIdSANCj4gKEFybSAgVGVjaG5vbG9neSBDaGluYSkiIDxHYXZpbi5IdUBhcm0u Y29tPiwgRmVycnVoIFlpZ2l0ICANCj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+LCAiSmFjb2Is ICBKZXJpbiINCj4gIDxKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5AY2F2aXVtLmNvbT4sICJkZXZA ZHBkay5vcmciIDxkZXZAZHBkay5vcmc+LCANCj4gbmQgIDxuZEBhcm0uY29tPiwgU3RldmUgQ2Fw cGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4sICJQaGlsIFlhbmcgKEFybSAgDQo+IFRlY2hub2xv Z3kgQ2hpbmEpIiA8UGhpbC5ZYW5nQGFybS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZd IFtQQVRDSCB2Ml0ga25pOiBmaXgga25pIFJ4IGZpZm8gcHJvZHVjZXIgIA0KPiBzeW5jaHJvbml6 YXRpb24NCj4gDQo+IA0KPiBIaSBKZXJpbiwNCj4gICAgICAgICBJcyB0aGVyZSBhbnkgcmVhc29u IGZvciBoYXZpbmcgJ1JURV9SSU5HX1VTRV9DMTFfTUVNX01PREVMJywgd2hpY2ggaXMgc3BlY2lm aWMgdG8gcnRlX3Jpbmc/IEkgZG8gbm90IHNlZSBhIG5lZWQgZm9yIGNob29zaW5nIG9ubHkgc29t ZSBhbGdvcml0aG1zIHRvIHdvcmsgd2l0aCBDMTEgbW9kZWwuIEkgc3VnZ2VzdCB0aGF0IHdlIGNo YW5nZSB0aGlzIHRvICdSVEVfVVNFX0MxMV9NRU1fTU9ERUwnIHNvIHRoYXQgaXQgY2FuIGFwcGx5 IHRvIGFsbCBsaWJyYXJpZXMvYWxnb3JpdGhtcy4NCg0KDQpZZXMuIE1ha2VzIHNlbnNlIHRvIG1l IHRvIGtlZXAgb25seSBzaW5nbGUgY29uZmlnIG9wdGlvbi4NCg0KcnRlX3JpbmcgaGFzIDIgc2V0 cyBvZiBhbGdvcml0aG1zIGZvciBBcm0gYXJjaGl0ZWN0dXJlLCBvbmUgd2l0aCBDMTEgbWVtb3J5 IG1vZGVsIGFuZCB0aGUgb3RoZXIgd2l0aCBiYXJyaWVycy4gR29pbmcgZm9yd2FyZCAoZm9yIGV4 OiBmb3IgS05JKSwgSSB0aGluayB3ZSBzaG91bGQgc3VwcG9ydCBDMTEgbWVtb3J5IG1vZGVsIG9u bHkgYW5kIHNraXAgdGhlIGJhcnJpZXJzLg0KDQpBbHNvLCBkbyB5b3Ugc2VlIGFueSBpc3N1ZXMg aW4gbWFraW5nIEMxMSBtZW1vcnkgbW9kZWwgZGVmYXVsdCBmb3IgQXJtIGFyY2hpdGVjdHVyZT8N Cg0KPiANCj4gVGhhbmsgeW91LA0KPiBIb25uYXBwYQ0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluLmphY29iQGNhdml1bW5ldHdvcmtz LmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMjksIDIwMTggMzo1OCBBTQ0KPiBUbzog T2xhIExpbGplZGFobCA8T2xhLkxpbGplZGFobEBhcm0uY29tPg0KPiBDYzogS29ra2lsYWdhZGRh LCBLaXJhbiA8S2lyYW4uS29ra2lsYWdhZGRhQGNhdml1bS5jb20+OyBIb25uYXBwYSANCj4gTmFn YXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBHYXZpbiBIdSANCj4gPEdh dmluLkh1QGFybS5jb20+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBK YWNvYiwgDQo+IEplcmluIDxKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5AY2F2aXVtLmNvbT47IGRl dkBkcGRrLm9yZzsgbmQgDQo+IDxuZEBhcm0uY29tPjsgU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBw ZXJAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBrbmk6IGZp eCBrbmkgUnggZmlmbyBwcm9kdWNlciANCj4gc3luY2hyb25pemF0aW9uDQo+IA0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IERhdGU6IFdlZCwgMjkgQXVnIDIwMTggMDg6NDc6NTYg KzAwMDANCj4gPiBGcm9tOiBPbGEgTGlsamVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5jb20+DQo+ ID4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+ID4g Q0M6ICJLb2traWxhZ2FkZGEsIEtpcmFuIiA8S2lyYW4uS29ra2lsYWdhZGRhQGNhdml1bS5jb20+ LCBIb25uYXBwYSANCj4gPiBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNv bT4sIEdhdmluIEh1IA0KPiA+IDxHYXZpbi5IdUBhcm0uY29tPiwgIEZlcnJ1aCBZaWdpdCA8ZmVy cnVoLnlpZ2l0QGludGVsLmNvbT4sICJKYWNvYiwgIEplcmluIg0KPiA+ICA8SmVyaW4uSmFjb2JL b2xsYW51a2thcmFuQGNhdml1bS5jb20+LCAiZGV2QGRwZGsub3JnIiANCj4gPiA8ZGV2QGRwZGsu b3JnPiwgbmQgIDxuZEBhcm0uY29tPiwgU3RldmUgQ2FwcGVyIA0KPiA+IDxTdGV2ZS5DYXBwZXJA YXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4 IGtuaSBSeCBmaWZvIHByb2R1Y2VyIA0KPiA+IHN5bmNocm9uaXphdGlvbg0KPiA+IHVzZXItYWdl bnQ6IE1pY3Jvc29mdC1NYWNPdXRsb29rLzEwLjEwLjAuMTgwODEyDQo+ID4NCj4gPg0KPiA+IFRo ZXJlIHdhcyBhIG1lbnRpb24gb2YgcnRlX3Jpbmcgd2hpY2ggaXMgYSBkaWZmZXJlbnQgZGF0YSBz dHJ1Y3R1cmUuIEJ1dCBwZXJoYXBzIEkgbWlzdW5kZXJzdG9vZCB3aHkgdGhpcyB3YXMgbWVudGlv bmVkIGFuZCB0aGUgaWRlYSB3YXMgb25seSB0byB1c2UgdGhlIEMxMSBtZW1vcnkgbW9kZWwgYXMg aXMgYWxzbyB1c2VkIGluIHJ0ZV9yaW5nIG5vd2FkYXlzLg0KPiA+DQo+ID4gQnV0IHdoeSB3b3Vs ZCB3ZSBoYXZlIGRpZmZlcmVudCBjb2RlIGZvciB4ODYgYW5kIGZvciBvdGhlciBhcmNoaXRlY3R1 cmVzIChBUk0sIFBvd2VyKT8gSWYgd2UgdXNlIHRoZSBDMTEgbWVtb3J5IG1vZGVsIChhbmQgZS5n LiBHQ0MgX19hdG9taWMgYnVpbHRpbnMpLCB0aGUgY29kZSBnZW5lcmF0ZWQgZm9yIHg4NiB3aWxs IGJlIHRoZSBzYW1lLiBfX2F0b21pY19sb2FkKF9fQVRPTUlDX0FDUVVJUkUpIGFuZCBfX2F0b21p Y19zdG9yZShfX0FUT01JQ19SRUxFQVNFKSBzaG91bGQgdHJhbnNsYXRlIHRvIHBsYWluIGxvYWRz IGFuZCBzdG9yZXMgb24geDg2Pw0KPiANCj4gIyBPbmUgcmVhc29uIHdhcyBfX2F0b21pYyBidWls dGlucyAgcHJpbWl0aXZlcyB3ZXJlIGltcGxlbWVudGVkIGluIGdjYyA0LjcgYW5kIHg4NiB3b3Vs ZCBsaWtlIHRvIHN1cHBvcnQgPCBnY2MgNC43IGFuZCBJQ0MgY29tcGlsZXIuDQo+ICMgVGhlIHRo ZW1lIHdhcyBubyBjaGFuZ2UgaW4gdGhlIGV4aXN0aW5nIGNvZGUgZm9yIHg4Ni5JIGFtIG5vdCBz dXJlIGFib3V0IHRoZSBjb2RlIGdlbmVyYXRpb24gZm9yIHg4NiB3aXRoIF9fYXRvbWljIGJ1aWx0 aW5zLCBJIGxldCB4ODYgbWFpbnRhaW5lcnMgdG8gY29tbWVudHMgb24gdGhpcy4NCj4gDQo+IA0K PiA+DQo+ID4gLS0gT2xhDQo+ID4NCj4gPiDvu79PbiAyOS8wOC8yMDE4LCAxMDoyOCwgIkplcmlu IEphY29iIiA8amVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3MuY29tPiB3cm90ZToNCj4gPg0KPiA+ ICAgICAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ICAgICA+IERhdGU6IFdlZCwgMjkg QXVnIDIwMTggMDc6MzQ6MzQgKzAwMDANCj4gPiAgICAgPiBGcm9tOiBPbGEgTGlsamVkYWhsIDxP bGEuTGlsamVkYWhsQGFybS5jb20+DQo+ID4gICAgID4gVG86ICJLb2traWxhZ2FkZGEsIEtpcmFu IiA8S2lyYW4uS29ra2lsYWdhZGRhQGNhdml1bS5jb20+LCBIb25uYXBwYQ0KPiA+ICAgICA+ICBO YWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4sIEdhdmluIEh1IDxHYXZp bi5IdUBhcm0uY29tPiwNCj4gPiAgICAgPiAgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50 ZWwuY29tPiwgIkphY29iLCAgSmVyaW4iDQo+ID4gICAgID4gIDxKZXJpbi5KYWNvYktvbGxhbnVr a2FyYW5AY2F2aXVtLmNvbT4NCj4gPiAgICAgPiBDQzogImRldkBkcGRrLm9yZyIgPGRldkBkcGRr Lm9yZz4sIG5kIDxuZEBhcm0uY29tPiwgU3RldmUgQ2FwcGVyDQo+ID4gICAgID4gIDxTdGV2ZS5D YXBwZXJAYXJtLmNvbT4NCj4gPiAgICAgPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0gg djJdIGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyDQo+ID4gICAgID4gIHN5bmNocm9uaXph dGlvbg0KPiA+ICAgICA+IHVzZXItYWdlbnQ6IE1pY3Jvc29mdC1NYWNPdXRsb29rLzEwLjEwLjAu MTgwODEyDQo+ID4gICAgID4NCj4gPiAgICAgPiBJcyB0aGUgcnRlX2tuaSBrZXJuZWwvdXNlciBi aW5hcnkgaW50ZXJmYWNlIHN1YmplY3QgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVxdWly ZW1lbnRzPyBPciBjYW4gd2UgY2hhbmdlIGl0IGZvciBhIG5ldyBEUERLIHJlbGVhc2U/DQo+ID4N Cj4gPiAgICAgV2hhdCB3b3VsZCBiZSB0aGUgY2hhbmdlIGluIGludGVyZmFjZT8gSXMgaXQgcmVt b3ZpbmcgdGhlIHZvbGF0aWxlIGZvcg0KPiA+ICAgICBDMTEgY2FzZSwgVGhlbiB5b3UgY2FuIHVz ZSBhbm9ueW1vdXMgdW5pb24gT1IgI2RlZmluZSB0byBrZWVwIHRoZSBzaXplDQo+ID4gICAgIGFu ZCBvZmZzZXQgb2YgdGhlIGVsZW1lbnQgaW50YWN0Lg0KPiA+DQo+ID4gICAgIHN0cnVjdCBydGVf a25pX2ZpZm8gew0KPiA+ICAgICAjaWZuZGVmIFJURV9DMTEuLi4NCj4gPiAgICAgICAgICAgICB2 b2xhdGlsZSB1bnNpZ25lZCB3cml0ZTsgICAgIC8qKjwgTmV4dCBwb3NpdGlvbiB0byBiZSB3cml0 dGVuKi8NCj4gPiAgICAgICAgICAgICB2b2xhdGlsZSB1bnNpZ25lZCByZWFkOyAgICAgIC8qKjwg TmV4dCBwb3NpdGlvbiB0byBiZSByZWFkICovDQo+ID4gICAgICNlbHNlDQo+ID4gICAgICAgICAg ICAgdW5zaWduZWQgd3JpdGU7ICAgICAvKio8IE5leHQgcG9zaXRpb24gdG8gYmUgd3JpdHRlbiov DQo+ID4gICAgICAgICAgICAgdW5zaWduZWQgcmVhZDsgICAgICAvKio8IE5leHQgcG9zaXRpb24g dG8gYmUgcmVhZCAqLw0KPiA+ICAgICAjZW5kaWYNCj4gPiAgICAgICAgICAgICB1bnNpZ25lZCBs ZW47ICAgICAgICAgICAgICAgIC8qKjwgQ2lyY3VsYXIgYnVmZmVyIGxlbmd0aCAqLw0KPiA+ICAg ICAgICAgICAgIHVuc2lnbmVkIGVsZW1fc2l6ZTsgICAgICAgICAgLyoqPCBQb2ludGVyIHNpemUg LSBmb3IgMzIvNjQgYml0T1MgKi8NCj4gPiAgICAgICAgICAgICB2b2lkICp2b2xhdGlsZSBidWZm ZXJbXTsgICAgIC8qKjwgVGhlIGJ1ZmZlciBjb250YWlucyBtYnVmDQo+ID4gICAgIHBvaW50ZXJz ICovDQo+ID4gICAgIH07DQo+ID4NCj4gPiAgICAgQW5vbnltb3VzIHVuaW9uIGV4YW1wbGU6DQo+ ID4gICAgIGh0dHBzOi8vZ2l0LmRwZGsub3JnL2RwZGsvdHJlZS9saWIvbGlicnRlX21idWYvcnRl X21idWYuaCNuNDYxDQo+ID4NCj4gPiAgICAgWW91IGNhbiBjaGVjayB0aGUgQUJJIGJyZWFrYWdl IGJ5IGRldnRvb2xzL3ZhbGlkYXRlLWFiaS5zaA0KPiA+DQo+ID4gICAgID4NCj4gPiAgICAgPiAt LSBPbGENCj4gPiAgICAgPg0KPiA+ICAgICA+IEZyb206ICJLb2traWxhZ2FkZGEsIEtpcmFuIiA8 S2lyYW4uS29ra2lsYWdhZGRhQGNhdml1bS5jb20+DQo+ID4gICAgID4gRGF0ZTogV2VkbmVzZGF5 LCAyOSBBdWd1c3QgMjAxOCBhdCAwNzo1MA0KPiA+ICAgICA+IFRvOiBIb25uYXBwYSBOYWdhcmFo YWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4sIEdhdmluIEh1IDxHYXZpbi5IdUBh cm0uY29tPiwgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPiwgIkphY29iLCBK ZXJpbiIgPEplcmluLkphY29iS29sbGFudWtrYXJhbkBjYXZpdW0uY29tPg0KPiA+ICAgICA+IENj OiAiZGV2QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgbmQgPG5kQGFybS5jb20+LCBPbGEgTGls amVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5jb20+LCBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBl ckBhcm0uY29tPg0KPiA+ICAgICA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2Ml0g a25pOiBmaXgga25pIFJ4IGZpZm8gcHJvZHVjZXIgc3luY2hyb25pemF0aW9uDQo+ID4gICAgID4N Cj4gPiAgICAgPg0KPiA+ICAgICA+IEFncmVlZC4gUGxlYXNlIGdvIGEgaGVhZCBhbmQgbWFrZSB0 aGUgY2hhbmdlcy4gWW91IG5lZWQgdG8gbWFrZSBzYW1lIGNoYW5nZSBpbiBrZXJuZWwgc2lkZSBh bHNvLiBBbmQgcGxlYXNlIHVzZSBjMTEgcmluZyAoc2VlIHJ0ZV9yaW5nKSBtZWNoYW5pc20gc28g dGhhdCBpdCB3b24ndCBpbXBhY3Qgb3RoZXIgcGxhdGZvcm1zIGxpa2UgaW50ZWwuIFdlIG5lZWQg dGhpcyBjaGFuZ2UganVzdCBmb3IgYXJtIGFuZCBwcGMuDQo+ID4gICAgID4NCj4gPiAgICAgPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ICAgICA+IEZyb206IEhvbm5hcHBh IE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+ICAgICA+IFNl bnQ6IFdlZG5lc2RheSwgQXVndXN0IDI5LCAyMDE4IDEwOjI5IEFNDQo+ID4gICAgID4gVG86IEdh dmluIEh1OyBLb2traWxhZ2FkZGEsIEtpcmFuOyBGZXJydWggWWlnaXQ7IEphY29iLCBKZXJpbg0K PiA+ICAgICA+IENjOiBkZXZAZHBkay5vcmc7IG5kOyBPbGEgTGlsamVkYWhsOyBTdGV2ZSBDYXBw ZXINCj4gPiAgICAgPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4 IGtuaSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXphdGlvbg0KPiA+ICAgICA+DQo+ID4gICAg ID4NCj4gPiAgICAgPiBFeHRlcm5hbCBFbWFpbA0KPiA+ICAgICA+DQo+ID4gICAgID4gSSBhZ3Jl ZSB3aXRoIEdhdmluIGhlcmUuIFN0b3JlIHRvIGZpZm8tPndyaXRlIGFuZCBmaWZvLT5yZWFkIGNh biBnZXQgaG9pc3RlZCByZXN1bHRpbmcgaW4gYWNjZXNzaW5nIGludmFsaWQgYnVmZmVyIGFycmF5 IGVudHJpZXMgb3Igb3ZlciB3cml0aW5nIG9mIHRoZSBidWZmZXIgYXJyYXkgZW50cmllcy4NCj4g PiAgICAgPg0KPiA+ICAgICA+IElNTywgd2Ugc2hvdWxkIHNvbHZlIHRoaXMgdXNpbmcgYzExIGF0 b21pY3MuIFRoaXMgd2lsbCBhbHNvIGhlbHAgcmVtb3ZlIHRoZSB1c2Ugb2Yg4oCYdm9sYXRpbGXi gJkgZnJvbSDigJhydGVfa25pX2ZpZm/igJkgc3RydWN0dXJlLg0KPiA+ICAgICA+DQo+ID4gICAg ID4NCj4gPiAgICAgPg0KPiA+ICAgICA+IElmIHlvdSB3YW50IHVzIHRvIHB1dCB0b2dldGhlciBh IHBhdGNoIHdpdGggdGhpcyBpZGVhLCBwbGVhc2UgbGV0IHVzIGtub3cuDQo+ID4gICAgID4NCj4g PiAgICAgPg0KPiA+ICAgICA+DQo+ID4gICAgID4gVGhhbmsgeW91LA0KPiA+ICAgICA+DQo+ID4g ICAgID4gSG9ubmFwcGENCj4gPiAgICAgPg0KPiA+ICAgICA+DQo+ID4gICAgID4NCj4gPiAgICAg PiBGcm9tOiBHYXZpbiBIdQ0KPiA+ICAgICA+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyOCwgMjAx OCAyOjMxIFBNDQo+ID4gICAgID4gVG86IEtva2tpbGFnYWRkYSwgS2lyYW4gPEtpcmFuLktva2tp bGFnYWRkYUBjYXZpdW0uY29tPjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29t PjsgSmFjb2IsIEplcmluIDxKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5AY2F2aXVtLmNvbT4NCj4g PiAgICAgPiBDYzogZGV2QGRwZGsub3JnOyBIb25uYXBwYSBOYWdhcmFoYWxsaSA8SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsgT2xhIExpbGplZGFobCA8T2xh LkxpbGplZGFobEBhcm0uY29tPjsgU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4N Cj4gPiAgICAgPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4IGtu aSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXphdGlvbg0KPiA+ICAgICA+DQo+ID4gICAgID4N Cj4gPiAgICAgPg0KPiA+ICAgICA+IEFzc3VtaW5nIHJlYWRlciBhbmQgd3JpdGVyIG1heSBleGVj dXRlIG9uIGRpZmZlcmVudCBDUFUncywgdGhpcyBiZWNvbWUgc3RhbmRhcmQgbXVsdGl0aHJlYWRl ZCBwcm9ncmFtbWluZy4NCj4gPiAgICAgPg0KPiA+ICAgICA+IFdlIGFyZSBjb25jZXJuZWQgYWJv dXQgdGhhdCB1cGRhdGUgdGhlIHJlYWRlciBwb2ludGVyIHRvbyBlYXJseSh3ZWFrIG9yZGVyaW5n IG1heSByZW9yZGVyIGl0IGJlZm9yZSByZWFkaW5nIGZyb20gdGhlIHNsb3RzKSwgdGhhdCBtZWFu cyB0aGUgc2xvdHMgYXJlIHJlbGVhc2VkIGFuZCBtYXkgaW1tZWRpYXRlbHkgb3ZlcndyaXR0ZW4g YnkgdGhlIHdyaXRlciB0aGVuIHlvdSBnZXQg4oCcdG9vIG5ld+KAnSBkYXRhIGFuZCBnZXQgbG9z dCBvZiB0aGUgb2xkIGRhdGEuDQo+ID4gICAgID4NCj4gPiAgICAgPg0KPiA+ICAgICA+DQo+ID4g ICAgID4gRnJvbTogS29ra2lsYWdhZGRhLCBLaXJhbiA8S2lyYW4uS29ra2lsYWdhZGRhQGNhdml1 bS5jb208bWFpbHRvOktpcmFuLktva2tpbGFnYWRkYUBjYXZpdW0uY29tPj4NCj4gPiAgICAgPiBT ZW50OiBUdWVzZGF5LCBBdWd1c3QgMjgsIDIwMTggNjo0NCBQTQ0KPiA+ICAgICA+IFRvOiBHYXZp biBIdSA8R2F2aW4uSHVAYXJtLmNvbTxtYWlsdG86R2F2aW4uSHVAYXJtLmNvbT4+OyBGZXJydWgg WWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb208bWFpbHRvOmZlcnJ1aC55aWdpdEBpbnRlbC5j b20+PjsgSmFjb2IsIEplcmluIDxKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5AY2F2aXVtLmNvbTxt YWlsdG86SmVyaW4uSmFjb2JLb2xsYW51a2thcmFuQGNhdml1bS5jb20+Pg0KPiA+ICAgICA+IENj OiBkZXZAZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IEhvbm5hcHBhIE5hZ2FyYWhhbGxp IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPG1haWx0bzpIb25uYXBwYS5OYWdhcmFoYWxs aUBhcm0uY29tPj4NCj4gPiAgICAgPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjJd IGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXphdGlvbg0KPiA+ICAgICA+ DQo+ID4gICAgID4NCj4gPiAgICAgPg0KPiA+ICAgICA+IEluIHRoaXMgaW5zdGFuY2UgdGhlcmUg d29uJ3QgYmUgYW55IHByb2JsZW0sIGFzIHVudGlsIHRoZSB2YWx1ZSBvZiBmaWZvLT53cml0ZSBj aGFuZ2VzLCB0aGlzIGxvb3Agd29uJ3QgZ2V0IGV4ZWN1dGVkLiBBcyBvZiBub3cgd2UgZGlkbid0 IHNlZSBhbnkgaXNzdWUgd2l0aCBpdCBhbmQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGRv bid0IHdhbnQgdG8ga2VlcCByZWFkIGJhcnJpZXIuDQo+ID4gICAgID4NCj4gPiAgICAgPg0KPiA+ ICAgICA+DQo+ID4gICAgID4NCj4gPiAgICAgPg0KPiA+ICAgICA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+ID4gICAgID4NCj4gPiAgICAgPiBGcm9tOiBHYXZpbiBIdSA8R2F2 aW4uSHVAYXJtLmNvbTxtYWlsdG86R2F2aW4uSHVAYXJtLmNvbT4+DQo+ID4gICAgID4gU2VudDog TW9uZGF5LCBBdWd1c3QgMjcsIDIwMTggOToxMCBQTQ0KPiA+ICAgICA+IFRvOiBGZXJydWggWWln aXQ7IEtva2tpbGFnYWRkYSwgS2lyYW47IEphY29iLCBKZXJpbg0KPiA+ICAgICA+IENjOiBkZXZA ZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4g ICAgID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBrbmk6IGZpeCBrbmkgUngg ZmlmbyBwcm9kdWNlciBzeW5jaHJvbml6YXRpb24NCj4gPiAgICAgPg0KPiA+ICAgICA+DQo+ID4g ICAgID4NCj4gPiAgICAgPiBFeHRlcm5hbCBFbWFpbA0KPiA+ICAgICA+DQo+ID4gICAgID4gVGhp cyBmaXggaXMgbm90IGNvbXBsZXRlLCBrbmlfZmlmb19nZXQgcmVxdWlyZXMgYSByZWFkIGZlbmNl IGFsc28sIG90aGVyd2lzZSBpdCBwcm9iYWJseSBnZXRzIHN0YWxlIGRhdGEgb24gYSB3ZWFrIG9y ZGVyaW5nIHBsYXRmb3JtLg0KPiA+ICAgICA+DQo+ID4gICAgID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ICAgICA+ID4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZzxt YWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmc+PiBPbiBCZWhhbGYgT2YgRmVycnVoIFlpZ2l0DQo+ ID4gICAgID4gPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyNywgMjAxOCAxMDowOCBQTQ0KPiA+ICAg ICA+ID4gVG86IEtpcmFuIEt1bWFyIDxra29ra2lsYWdhZGRhQGNhdml1bW5ldHdvcmtzLmNvbTxt YWlsdG86a2tva2tpbGFnYWRkYUBjYXZpdW1uZXR3b3Jrcy5jb20+PjsNCj4gPiAgICAgPiA+IGpl cmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbTxtYWlsdG86amVyaW4uamFjb2JAY2F2aXVtbmV0 d29ya3MuY29tPg0KPiA+ICAgICA+ID4gQ2M6IGRldkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsu b3JnPg0KPiA+ICAgICA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBrbmk6 IGZpeCBrbmkgUnggZmlmbyBwcm9kdWNlcg0KPiA+ICAgICA+ID4gc3luY2hyb25pemF0aW9uDQo+ ID4gICAgID4gPg0KPiA+ICAgICA+ID4gT24gOC8xNi8yMDE4IDEwOjU1IEFNLCBLaXJhbiBLdW1h ciB3cm90ZToNCj4gPiAgICAgPiA+ID4gV2l0aCBleGlzdGluZyBjb2RlIGluIGtuaV9maWZvX3B1 dCwgcnhfcSB2YWx1ZXMgYXJlIG5vdCBiZWluZyB1cGRhdGVkDQo+ID4gICAgID4gPiA+IGJlZm9y ZSB1cGRhdGluZyBmaWZvX3dyaXRlLiBXaGlsZSByZWFkaW5nIHJ4X3EgaW4ga25pX25ldF9yeF9u b3JtYWwsDQo+ID4gICAgID4gPiA+IFRoaXMgaXMgY2F1c2luZyB0aGUgc3luYyBpc3N1ZSBvbiBv dGhlciBjb3JlLiBTbyBhZGRpbmcgYSB3cml0ZQ0KPiA+ICAgICA+ID4gPiBiYXJyaWVyIHRvIG1h a2Ugc3VyZSB0aGUgdmFsdWVzIGJlaW5nIHN5bmNlZCBiZWZvcmUgdXBkYXRpbmcgZmlmb193cml0 ZS4NCj4gPiAgICAgPiA+ID4NCj4gPiAgICAgPiA+ID4gRml4ZXM6IDNmYzVjYTJmNjM1MiAoImtu aTogaW5pdGlhbCBpbXBvcnQiKQ0KPiA+ICAgICA+ID4gPg0KPiA+ICAgICA+ID4gPiBTaWduZWQt b2ZmLWJ5OiBLaXJhbiBLdW1hciA8a2tva2tpbGFnYWRkYUBjYXZpdW1uZXR3b3Jrcy5jb208bWFp bHRvOmtrb2traWxhZ2FkZGFAY2F2aXVtbmV0d29ya3MuY29tPj4NCj4gPiAgICAgPiA+ID4gQWNr ZWQtYnk6IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb208bWFpbHRv OmplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4+DQo+ID4gICAgID4gPg0KPiA+ICAgICA+ ID4gQWNrZWQtYnk6IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbTxtYWlsdG86 ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4+DQo+ID4gICAgID4gSU1QT1JUQU5UIE5PVElDRTogVGhl IGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgY29uZmlkZW50 aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5k ZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRv IG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZv ciBhbnkgcHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0aGUgaW5mb3JtYXRpb24gaW4gYW55IG1l ZGl1bS4gVGhhbmsgeW91Lg0KPiA+DQo+ID4NCg==