From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 9E930A05D3 for ; Fri, 29 Mar 2019 11:53:56 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 45E1D2BF4; Fri, 29 Mar 2019 11:53:56 +0100 (CET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10041.outbound.protection.outlook.com [40.107.1.41]) by dpdk.org (Postfix) with ESMTP id AD95E2BD3; Fri, 29 Mar 2019 11:53:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VHlVNpmdyryNL+d4Jm1aPW+M9UZy+FU7JMAdKJBi/7M=; b=jEmlxHm47kjq8otaWF06815i6tx1s0BhyKmatcvhGxRQ5Vbti/7zF1cCv/DXPMi6dPq7foriHNk4PpbbXXrLRkuPOuzWv4Fzj5xtasxVhJxrwAsFpk+vGaSeKynP0jqXGUPhs1tQ5JrUXKZ4SdlSPvtyEF3mtUbT7AOe2hYl+Ow= Received: from VI1PR04MB4893.eurprd04.prod.outlook.com (20.177.49.154) by VI1PR04MB5566.eurprd04.prod.outlook.com (20.178.123.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.17; Fri, 29 Mar 2019 10:53:52 +0000 Received: from VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb]) by VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb%4]) with mapi id 15.20.1750.014; Fri, 29 Mar 2019 10:53:52 +0000 From: Akhil Goyal To: Konstantin Ananyev , "dev@dpdk.org" CC: "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is misinterpreted Thread-Index: AQHU5WRxGVHM7USjq0W8SqV/lXm436YicJIA Date: Fri, 29 Mar 2019 10:53:52 +0000 Message-ID: References: <20190328124733.25580-1-konstantin.ananyev@intel.com> In-Reply-To: <20190328124733.25580-1-konstantin.ananyev@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BMXPR01CA0051.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:2c::15) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.1.65] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1a758daa-6a6f-4bf1-bdb8-08d6b434d500 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5566; x-ms-traffictypediagnostic: VI1PR04MB5566: x-microsoft-antispam-prvs: x-forefront-prvs: 0991CAB7B3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(376002)(39860400002)(136003)(346002)(366004)(199004)(189003)(71200400001)(14454004)(6246003)(71190400001)(6486002)(478600001)(44832011)(229853002)(106356001)(25786009)(52116002)(6436002)(99286004)(4326008)(36756003)(6512007)(76176011)(256004)(66066001)(2501003)(97736004)(7736002)(6506007)(81166006)(81156014)(11346002)(102836004)(476003)(68736007)(446003)(2616005)(110136005)(86362001)(31686004)(8676002)(486006)(53546011)(386003)(3846002)(31696002)(26005)(6116002)(316002)(53936002)(105586002)(186003)(2906002)(5660300002)(8936002)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5566; H:VI1PR04MB4893.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: bOHp6djE2wrSRQIEdPyshPUZZ/tj3jukXDF3lamyu2alXnOclZIqom9EMKynyMVG/lrZ6dJjEoR+r9bYrIgAoKroZw4LXrjbXk+jIWK/BtbsCsxcmb1bH4W+zHXzMdokOK2djp5nsoGv6MfNEkcBAPCu8afaCnTQIUHD5SqMBru6lP4qx+RFHZ0MWqoYwcfE3/50y2pqtVqKzXz+d29muH8eoNDmSnBATyB5fImXGoDf2QaHWmG819vesLhHchbplH2UGeCJNRDE/FswyE6kyiySgP8Eme1BmKBDe2vYyZE3tPWp0/iklOzY5HZdBofIzY6gZ2nROdaf02PRls2Db7RSe4NG2jdVfyMqvJoVu+qyTY+s27MtLy4GN+JwfyxPy0faN/vRTQqf9fES6FOZJGig2w1uHdOcCtS++GwRXj0= Content-Type: text/plain; charset="UTF-8" Content-ID: <6E9750190C23E340A170F845D0C25CAB@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a758daa-6a6f-4bf1-bdb8-08d6b434d500 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2019 10:53:52.7971 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5566 Subject: Re: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is misinterpreted 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" Message-ID: <20190329105352.x0rRF0hL5tsnvJvLsYLlIbHkqcA_C-CPCqQB2BdhCm4@z> SGkgS29uc3RhbnRpbiwNCg0KT24gMy8yOC8yMDE5IDY6MTcgUE0sIEtvbnN0YW50aW4gQW5hbnll diB3cm90ZToNCj4gYWNsX2NsYXNzaWZ5KCkgcmV0dXJucyB6ZXJvIHZhbHVlIHdoZW4gbm8gbWF0 Y2hpbmcgcnVsZSB3YXMgZm91bmQuDQo+IEN1cnJlbnRseSBpcHNlYy1zZWNndyB0cmVhdHMgaXQg YXMgYSB2YWxpZCBTUEkgdmFsdWUsIHRob3VnaCBpdCBoYXMNCj4gdG8gZGlzY2FyZCBzdWNoIHBh Y2tldHMuDQo+IEVycm9yIGNvdWxkIGJlIGVhc2lseSBvYnNlcnZlZCBieSBzZW5kaW5nIG91dGJv dW5kIHVubWF0Y2hlZCBwYWNrZXRzLA0KPiB1c2VyIHdpbGwgc2VlIHNvbWV0aGluZyBsaWtlIHRo YXQgaW4gdGhlIGxvZzoNCj4gSVBTRUM6IE5vIGNyeXB0b2RldjogY29yZSA3LCBjaXBoZXJfYWxn byAwLCBhdXRoX2FsZ28gMCwgYWVhZF9hbGdvIDANCj4NCj4gVG8gZml4IGl0IHdlIG5lZWQgdG8g dHJlYXQgcGFja2V0cyB3aXRoIHplcm8gcmVzdWx0IGZyb20gYWNsX2NsYXNzaWZ5KCkNCj4gYXMg aW52YWxpZCBvbmVzLiBBbHNvIHdlIGNhbiBjaGFuZ2UgRElTQ0FSRCBhbmQgQllQQVNTIHZhbHVl cyB0bw0KPiBzaW1wbGlmeSBjaGVja3MgYW5kIHNhdmUgc29tZSBleHRyYSBzcGFjZSBmb3IgdmFs aWQgU1BJIHZhbHVlcy4NCnNwaSB2YWx1ZSA9MCBpcyBpbnZhbGlkIGJ1dCB6ZXJvIHJlc3VsdCBt YXkgaGF2ZSBhIHZhbGlkIHBhY2tldC4NCmNvbnNpZGVyIGEgY2FzZToNClNQSSA9IDEyOCBvciAy NTYgb3IgNTEyIGFuZCBzbyBvbsKgID0+IHNhX2lkeCA9IDAgYW5kIHJlc3VsdCB3aWxsIGNvbWUg YXMgDQp6ZXJvLCBhbmQgdGhpcyB3b3VsZCBiZSBhIHZhbGlkIHBhY2tldC4NCg0KSSBzZWUgdGhh dCB0aGUgc2FfaWR4wqAgY2FsY3VsYXRpb24gbG9naWMgaXMgbm90IGNvcnJlY3QgaW4gZmlyc3Qg cGxhY2UuIA0KVGhlcmUgd2lsbCBiZSBtdWx0aXBsZSBzcGkgdmFsdWVzIGZvciBzYW1lIHNhX2lk eCB3aGljaCBpcyBub3QgY29ycmVjdC4NClNvIHdlIGhhdmUgMiBpc3N1ZXMgaGVyZToNCjEuIHJl c3VsdCA9IDAsIG1lYW5zIHNhX2lkeCA9MCB3aGljaCBtYXkgYmUgY29ycmVjdCwgYnV0IGFzIHlv dSBzYWlkIGlmIA0KYWNsX2NsYXNzaWZ5IGZhaWxzLCBpdCBhbHNvIHJldHVybiAwLg0KMi4gU1BJ IHZhbHVlcyB3aGljaCBhcmUgSVBTRUNfU0FfTUFYX0VOVFJJRVMgYXBhcnQgd2lsbCBoYXZlIHNh bWUgc2FfaWR4IA0KYW5kIHdpbGwga2VlcCBvbiBvdmVyd3JpdGluZyB0aGUgcHJldmlvdXMgb25l cy4NCg0KU28gSSBiZWxpZXZlIHRoZSBmaXggaW4gdGhpcyBwYXRjaCBpcyBub3QgZW5vdWdoIHRv IHJlc29sdmUgdGhlc2UgDQppc3N1ZXMuIEl0IHdpbGwgd29yayBvbiBzb21lIHZhbHVlcyBhbmQg d2lsbCBicmVhayBvbiBvdGhlciB2YWx1ZXMgb2Ygc3BpLg0KDQotQWtoaWwNCg0KPg0KPiBGaXhl czogOTA2MjU3ZTk2NWI3ICgiZXhhbXBsZXMvaXBzZWMtc2VjZ3c6IHN1cHBvcnQgSVB2NiIpDQo+ IEZpeGVzOiAyYTUxMDZhZjEzMmIgKCJleGFtcGxlcy9pcHNlYy1zZWNndzogZml4IGNvcm5lciBj YXNlIGZvciBTUEkgdmFsdWUiKQ0KPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+DQo+IFNpZ25lZC1v ZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4N Cj4gLS0tDQo+ICAgZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYyB8IDEyICsrKysr Ky0tLS0tLQ0KPiAgIGV4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLmggICAgICAgfCAgNiArKy0t LS0NCj4gICBleGFtcGxlcy9pcHNlYy1zZWNndy9zcDQuYyAgICAgICAgIHwgMTEgKysrKysrKyst LS0NCj4gICBleGFtcGxlcy9pcHNlYy1zZWNndy9zcDYuYyAgICAgICAgIHwgMTEgKysrKysrKyst LS0NCj4gICA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygt KQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYyBi L2V4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3LmMNCj4gaW5kZXggZmZiZDAwYjA4Li41 OWUwODQyMzQgMTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3 LmMNCj4gKysrIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiBAQCAtNDM4 LDExICs0MzgsMTEgQEAgaW5ib3VuZF9zcF9zYShzdHJ1Y3Qgc3BfY3R4ICpzcCwgc3RydWN0IHNh X2N0eCAqc2EsIHN0cnVjdCB0cmFmZmljX3R5cGUgKmlwLA0KPiAgIAlmb3IgKGkgPSAwOyBpIDwg aXAtPm51bTsgaSsrKSB7DQo+ICAgCQltID0gaXAtPnBrdHNbaV07DQo+ICAgCQlyZXMgPSBpcC0+ cmVzW2ldOw0KPiAtCQlpZiAocmVzICYgQllQQVNTKSB7DQo+ICsJCWlmIChyZXMgPT0gQllQQVNT KSB7DQo+ICAgCQkJaXAtPnBrdHNbaisrXSA9IG07DQo+ICAgCQkJY29udGludWU7DQo+ICAgCQl9 DQo+IC0JCWlmIChyZXMgJiBESVNDQVJEKSB7DQo+ICsJCWlmIChyZXMgPT0gRElTQ0FSRCkgew0K PiAgIAkJCXJ0ZV9wa3RtYnVmX2ZyZWUobSk7DQo+ICAgCQkJY29udGludWU7DQo+ICAgCQl9DQo+ IEBAIC00NTMsNyArNDUzLDcgQEAgaW5ib3VuZF9zcF9zYShzdHJ1Y3Qgc3BfY3R4ICpzcCwgc3Ry dWN0IHNhX2N0eCAqc2EsIHN0cnVjdCB0cmFmZmljX3R5cGUgKmlwLA0KPiAgIAkJCWNvbnRpbnVl Ow0KPiAgIAkJfQ0KPiAgIA0KPiAtCQlzYV9pZHggPSBpcC0+cmVzW2ldICYgUFJPVEVDVF9NQVNL Ow0KPiArCQlzYV9pZHggPSBpcC0+cmVzW2ldOw0KPiAgIAkJaWYgKHNhX2lkeCA+PSBJUFNFQ19T QV9NQVhfRU5UUklFUyB8fA0KPiAgIAkJCQkhaW5ib3VuZF9zYV9jaGVjayhzYSwgbSwgc2FfaWR4 KSkgew0KPiAgIAkJCXJ0ZV9wa3RtYnVmX2ZyZWUobSk7DQo+IEBAIC01NDEsMTAgKzU0MSwxMCBA QCBvdXRib3VuZF9zcChzdHJ1Y3Qgc3BfY3R4ICpzcCwgc3RydWN0IHRyYWZmaWNfdHlwZSAqaXAs DQo+ICAgCWogPSAwOw0KPiAgIAlmb3IgKGkgPSAwOyBpIDwgaXAtPm51bTsgaSsrKSB7DQo+ICAg CQltID0gaXAtPnBrdHNbaV07DQo+IC0JCXNhX2lkeCA9IGlwLT5yZXNbaV0gJiBQUk9URUNUX01B U0s7DQo+IC0JCWlmIChpcC0+cmVzW2ldICYgRElTQ0FSRCkNCj4gKwkJc2FfaWR4ID0gaXAtPnJl c1tpXTsNCj4gKwkJaWYgKHNhX2lkeCA9PSBESVNDQVJEKQ0KPiAgIAkJCXJ0ZV9wa3RtYnVmX2Zy ZWUobSk7DQo+IC0JCWVsc2UgaWYgKGlwLT5yZXNbaV0gJiBCWVBBU1MpDQo+ICsJCWVsc2UgaWYg KHNhX2lkeCA9PSBCWVBBU1MpDQo+ICAgCQkJaXAtPnBrdHNbaisrXSA9IG07DQo+ICAgCQllbHNl IGlmIChzYV9pZHggPCBJUFNFQ19TQV9NQVhfRU5UUklFUykgew0KPiAgIAkJCWlwc2VjLT5yZXNb aXBzZWMtPm51bV0gPSBzYV9pZHg7DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcHNlYy1zZWNn dy9pcHNlYy5oIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuaA0KPiBpbmRleCA5OWY0OWQ2 NWYuLjQ0ZGFmMzg0YiAxMDA2NDQNCj4gLS0tIGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMu aA0KPiArKysgYi9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy5oDQo+IEBAIC00MSwxMCArNDEs OCBAQA0KPiAgICNkZWZpbmUgU1BJMklEWChzcGkpIChzcGkgJiAoSVBTRUNfU0FfTUFYX0VOVFJJ RVMgLSAxKSkNCj4gICAjZGVmaW5lIElOVkFMSURfU1BJICgwKQ0KPiAgIA0KPiAtI2RlZmluZSBE SVNDQVJEICgweDgwMDAwMDAwKQ0KPiAtI2RlZmluZSBCWVBBU1MgKDB4NDAwMDAwMDApDQo+IC0j ZGVmaW5lIFBST1RFQ1RfTUFTSyAoMHgzZmZmZmZmZikNCj4gLSNkZWZpbmUgUFJPVEVDVChzYV9p ZHgpIChTUEkySURYKHNhX2lkeCkgJiBQUk9URUNUX01BU0spIC8qIFNBIGlkeCAzMCBiaXRzICov DQo+ICsjZGVmaW5lIERJU0NBUkQJSU5WQUxJRF9TUEkNCj4gKyNkZWZpbmUgQllQQVNTCVVJTlQz Ml9NQVgNCj4gICANCj4gICAjZGVmaW5lIElQU0VDX1hGT1JNX01BWCAyDQo+ICAgDQo+IGRpZmYg LS1naXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9zcDQuYyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3 L3NwNC5jDQo+IGluZGV4IGQxZGM2NGJhZC4uYmZhZGRjNTJlIDEwMDY0NA0KPiAtLS0gYS9leGFt cGxlcy9pcHNlYy1zZWNndy9zcDQuYw0KPiArKysgYi9leGFtcGxlcy9pcHNlYy1zZWNndy9zcDQu Yw0KPiBAQCAtOTksNiArOTksNyBAQCBwYXJzZV9zcDRfdG9rZW5zKGNoYXIgKip0b2tlbnMsIHVp bnQzMl90IG5fdG9rZW5zLA0KPiAgIA0KPiAgIAl1aW50MzJfdCAqcmkgPSBOVUxMOyAvKiBydWxl IGluZGV4ICovDQo+ICAgCXVpbnQzMl90IHRpID0gMDsgLyogdG9rZW4gaW5kZXggKi8NCj4gKwl1 aW50MzJfdCB0djsNCj4gICANCj4gICAJdWludDMyX3QgZXNwX3AgPSAwOw0KPiAgIAl1aW50MzJf dCBwcm90ZWN0X3AgPSAwOw0KPiBAQCAtMTY5LDggKzE3MCwxMiBAQCBwYXJzZV9zcDRfdG9rZW5z KGNoYXIgKip0b2tlbnMsIHVpbnQzMl90IG5fdG9rZW5zLA0KPiAgIAkJCWlmIChzdGF0dXMtPnN0 YXR1cyA8IDApDQo+ICAgCQkJCXJldHVybjsNCj4gICANCj4gLQkJCXJ1bGVfaXB2NC0+ZGF0YS51 c2VyZGF0YSA9DQo+IC0JCQkJUFJPVEVDVChhdG9pKHRva2Vuc1t0aV0pKTsNCj4gKwkJCXR2ID0g YXRvaSh0b2tlbnNbdGldKTsNCj4gKwkJCUFQUF9DSEVDSyh0diAhPSBESVNDQVJEICYmIHR2ICE9 IEJZUEFTUywgc3RhdHVzLA0KPiArCQkJCSJpbnZhbGlkIFNQSTogJXMiLCB0b2tlbnNbdGldKTsN Cj4gKwkJCWlmIChzdGF0dXMtPnN0YXR1cyA8IDApDQo+ICsJCQkJcmV0dXJuOw0KPiArCQkJcnVs ZV9pcHY0LT5kYXRhLnVzZXJkYXRhID0gdHY7DQo+ICAgDQo+ICAgCQkJcHJvdGVjdF9wID0gMTsN Cj4gICAJCQljb250aW51ZTsNCj4gQEAgLTUyMyw3ICs1MjgsNyBAQCBzcDRfc3BpX3ByZXNlbnQo dWludDMyX3Qgc3BpLCBpbnQgaW5ib3VuZCkNCj4gICAJfQ0KPiAgIA0KPiAgIAlmb3IgKGkgPSAw OyBpICE9IG51bTsgaSsrKSB7DQo+IC0JCWlmIChhY3JbaV0uZGF0YS51c2VyZGF0YSA9PSBQUk9U RUNUKHNwaSkpDQo+ICsJCWlmIChhY3JbaV0uZGF0YS51c2VyZGF0YSA9PSBzcGkpDQo+ICAgCQkJ cmV0dXJuIGk7DQo+ICAgCX0NCj4gICANCj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2lwc2VjLXNl Y2d3L3NwNi5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvc3A2LmMNCj4gaW5kZXggZTY3ZDg1YWFm Li5iN2ZjZjdjMTYgMTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jDQo+ ICsrKyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jDQo+IEBAIC0xMzAsNiArMTMwLDcgQEAg cGFyc2Vfc3A2X3Rva2VucyhjaGFyICoqdG9rZW5zLCB1aW50MzJfdCBuX3Rva2VucywNCj4gICAN Cj4gICAJdWludDMyX3QgKnJpID0gTlVMTDsgLyogcnVsZSBpbmRleCAqLw0KPiAgIAl1aW50MzJf dCB0aSA9IDA7IC8qIHRva2VuIGluZGV4ICovDQo+ICsJdWludDMyX3QgdHY7DQo+ICAgDQo+ICAg CXVpbnQzMl90IGVzcF9wID0gMDsNCj4gICAJdWludDMyX3QgcHJvdGVjdF9wID0gMDsNCj4gQEAg LTIwMiw4ICsyMDMsMTIgQEAgcGFyc2Vfc3A2X3Rva2VucyhjaGFyICoqdG9rZW5zLCB1aW50MzJf dCBuX3Rva2VucywNCj4gICAJCQlpZiAoc3RhdHVzLT5zdGF0dXMgPCAwKQ0KPiAgIAkJCQlyZXR1 cm47DQo+ICAgDQo+IC0JCQlydWxlX2lwdjYtPmRhdGEudXNlcmRhdGEgPQ0KPiAtCQkJCVBST1RF Q1QoYXRvaSh0b2tlbnNbdGldKSk7DQo+ICsJCQl0diA9IGF0b2kodG9rZW5zW3RpXSk7DQo+ICsJ CQlBUFBfQ0hFQ0sodHYgIT0gRElTQ0FSRCAmJiB0diAhPSBCWVBBU1MsIHN0YXR1cywNCj4gKwkJ CQkiaW52YWxpZCBTUEk6ICVzIiwgdG9rZW5zW3RpXSk7DQo+ICsJCQlpZiAoc3RhdHVzLT5zdGF0 dXMgPCAwKQ0KPiArCQkJCXJldHVybjsNCj4gKwkJCXJ1bGVfaXB2Ni0+ZGF0YS51c2VyZGF0YSA9 IHR2Ow0KPiAgIA0KPiAgIAkJCXByb3RlY3RfcCA9IDE7DQo+ICAgCQkJY29udGludWU7DQo+IEBA IC02MzcsNyArNjQyLDcgQEAgc3A2X3NwaV9wcmVzZW50KHVpbnQzMl90IHNwaSwgaW50IGluYm91 bmQpDQo+ICAgCX0NCj4gICANCj4gICAJZm9yIChpID0gMDsgaSAhPSBudW07IGkrKykgew0KPiAt CQlpZiAoYWNyW2ldLmRhdGEudXNlcmRhdGEgPT0gUFJPVEVDVChzcGkpKQ0KPiArCQlpZiAoYWNy W2ldLmRhdGEudXNlcmRhdGEgPT0gc3BpKQ0KPiAgIAkJCXJldHVybiBpOw0KPiAgIAl9DQo+ICAg DQoNCg==