From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 42D67A09FF; Wed, 30 Dec 2020 04:06:07 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ADDC2C8E0; Wed, 30 Dec 2020 04:06:04 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id EA66F2B8C for ; Wed, 30 Dec 2020 04:06:01 +0100 (CET) IronPort-SDR: T9Kph5QT5dpy+He3/zynARO3Zxc3atYNIFGQyrvh1hYkR5nITfGF5TjXo+Moq1dF8Hhv4zP46D m4Y01sKdQ5FA== X-IronPort-AV: E=McAfee;i="6000,8403,9849"; a="173986293" X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="173986293" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Dec 2020 19:05:59 -0800 IronPort-SDR: 2miPTGbDp1f4P2CMd95n6Rjwm6GUI3n+rMLBOTZMmTHyI1AHlfyS8br5PQfJPTgojvHDrRqabp ATSV/LTV4V+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="359096066" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga002.jf.intel.com with ESMTP; 29 Dec 2020 19:05:59 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 29 Dec 2020 19:05:59 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 29 Dec 2020 19:05:58 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 29 Dec 2020 19:05:58 -0800 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.46) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 29 Dec 2020 19:05:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X35DlTSIw+sn8ljX/6ix2vUJc+oMslgeW23QF5mZkMwnBMWQN7X7ecmEUAuHUvQbd82hwKnV4D7RKNuu8aTclC/jXOqVPTLX6dpay3oDV/fRoL4qa1tSntGWTGie6RCeZc1an+g5SYskF3sytjBh5afpCyWlFtUz9RhGXRgKC56TcO4e0tNfymKA8vcAgtwivs5PuuDsCdzALwElTqw3UrIj1SKihDQ5tWzyz8FkOBnyhXs+LVthyvutoPeIPFLKXAqpnP4ce0M9K6GySpxpEhdVY2NdAkTgKx//0J+0ePpe2865/bqp6SA56qWDtVyxXWTrBwzBtXME0VId+Br1EA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s4FX+W7g4ZrO9d+JEfG6y0yYGSo+fn1C+VKZs5YAMRY=; b=n4TDi7ZafNzjDxnHrYFsg9FH8jbaKy+P0Lu0llfSeen0UbgNCIqI9x9j/fqZMDzkK94ezIzPAPCDdqYSwFIksFZFAW0Dfo52xIo/5Ti1hZd0N8OUEBBXZU9Thz2nL/xtAmGKAAN2UcwJunXhtlIXdnB0iQjPHu26K8rkz+R2A57ik8sbu7Mkr8kBdBUJ/ppeTOf3jeJPQJwURH9SHcTYcgIB2p7ctjQ9rxqQ0jce1l8Wvz6B29mc3QktiwyeZOeyBa0eq7PNqnJPol9WIvzbtFYZcUZs36xAxHJ/zw4/xrWwhgJL2ovz2cZAsaPesJcCqe00ghdLCZiT9ghZ/L3yEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s4FX+W7g4ZrO9d+JEfG6y0yYGSo+fn1C+VKZs5YAMRY=; b=omBoD05rkNzDSJB1wghl2sajm3c6LXDkdxowbJ36rk9V2PF5A84Oc56KqMwysfXE2J00OVxmEjILj+z1GdH3wq1NcL9ADlkBH+Nexg8egqNZ9sGSfZIXvTMUK8YmJ2hmfqrhXE+ti/niLXUXcSJ1yGGXXYJXOBENtSeFEL+FK6s= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3744.namprd11.prod.outlook.com (2603:10b6:208:f5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.28; Wed, 30 Dec 2020 03:05:57 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3700.031; Wed, 30 Dec 2020 03:05:57 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 07/40] net/virtio: move MSIX detection to PCI ethdev Thread-Index: AQHW1xU/qEaN5jJxOkSOjhKgrCm8LqoPAymg Date: Wed, 30 Dec 2020 03:05:57 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-8-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-8-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40046a95-fdab-4230-b833-08d8ac6fd443 x-ms-traffictypediagnostic: MN2PR11MB3744: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +5Isnk5Cl90B+GHUvKaHlwatvR7GvdhGzQWYxdtmMcd0OMYsXFwfAs6YBCQ2xCDgdLaXJ5u+I2WK5vizeiAIO4QeG/3Iv1n3H8Rc+1Fh7rHGDwwD5EIZZZMvbOIYQXXRjrz5O7L14y+TdY3Fc3fZ4/hKdg3x7wgTMyI5DY3xz4gN27q6895kVHCab6T3fiNVW0Iq7kfP+xf1UsnnNX75EBvg8Fp1GptkdevliYcTO1Z092x2KiTKEp7sVoaP3csAVpKt4up/JJmmzOjj1a+PBLWUn9K+Y7hyOdCm7yLUqsVgowCVjgKXlL6nvwrNetk1RJpkOUpPLQ23fZthTTngrGjGCY52y44jmb/DvRYx4jezWmV/iEYECMOS+kjbVuIsieTngou3q4ZpRjOEfyC5rw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(39860400002)(136003)(396003)(346002)(52536014)(6506007)(9686003)(71200400001)(478600001)(64756008)(33656002)(66946007)(86362001)(66446008)(186003)(53546011)(26005)(55016002)(110136005)(76116006)(316002)(66476007)(5660300002)(2906002)(66556008)(8676002)(8936002)(83380400001)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?MXhBNzRHdmtkS0t6UkRvanlJSytxbGc4SmtnTDRpYmszR0I5SjBEcmo2cWVn?= =?utf-8?B?MFdJRDMwcERtWkhlVjN1MlhzeExuUkJ6bXpIcjNtL2tzeFlGSzlaTk5LK05G?= =?utf-8?B?S0Z2ZFBTZk12UmNrR1ZrUWdsLzdLMk1QUFByYitJVHZYOVRkbjQ4NzZFWWJZ?= =?utf-8?B?OGpOY3lNUlczc25uL0Z1aGRhYllDWHp1eWF0TmdSL1poMkhEa2FiK29QUDhm?= =?utf-8?B?VDQ3RURDak9XZ3BqV1lVS28vQnBJenBBa29IVG9ZV2k5dW1qQnhtZngxSkNz?= =?utf-8?B?SzYzWE82aDdzaFZYZW93WEFjREdtWW55RENwallHZFROVnBUaWM2c3QvVUw2?= =?utf-8?B?TGdBN3I0aHRrUlRNQlNNUXFmTlVudEhVZU1ibGJWbTV0YmhMUlF1RWRMbkdR?= =?utf-8?B?SjVDcDRPbytlWklNWXlybWd4WUhNNldhS3N0SzAzQVRLQ20xSDhESWJwNDBZ?= =?utf-8?B?TWp0WFBRaytpaGVjNVRTVVpmNDVSdmRib0VjWjZEYWZhbkI4bXpDK1NJQmFE?= =?utf-8?B?VUlKVXFkTjhXRnpJQVpMVGlCa3ZTRVRpOVdQNDF3ZEFvNGxFcVRFWlM1NXZi?= =?utf-8?B?ZkVqb09pUkFvdUU3NGJhT3c4K3dlZHcrZzhHTnhOaTBLYXhCQnhNNGk0ZFox?= =?utf-8?B?SVBEbEUrZEpVTENKaGxOQXduZ3dvRVFVMkV0eW5qQTJwRml3Z1BkbEFrL2Nn?= =?utf-8?B?T0laU3RFNkIrTjlyTVQwcFhNRW5xOEFMTHl0VGpIZWZUZ1FvOUpqYldFV3hp?= =?utf-8?B?elF3Nklta1daeDZLbnc3Yngwa3B3b3hlYXRQdSsvbWFucWxob3dQdjA4TTZ5?= =?utf-8?B?ekhZVHU2eXRpTVpENlZkd2xoUDR6WDNRZjNmUjk1M01BMGhuc1l6ZkhValFu?= =?utf-8?B?U1BteVprZEhtNkVwQUZxNzRPUXljVFd0bXZxMFRSeldKOFFzcG9uK2M0anRW?= =?utf-8?B?SDlaV3BoeFlMK0sxWDhLei9CQzZRZE5FM0ZCeW1NV2lxSWtBU296UFNLRElV?= =?utf-8?B?MXpaRTNHUjBuTC8rNWJESlE1aWVXZkdJc3FqeE5NSkdEbWRDL3RyY0RoeEh0?= =?utf-8?B?eGVQemRheWZPMmd2MkFUWS82ekVlY2lqSGFZTEhjSzJGcStPajJYSTFwUHhR?= =?utf-8?B?TVU5clFaMkVnaUVVWHRxUk04dGU1YzR6QU80MGp2Y0doOWd0ZEpjbzNKTWda?= =?utf-8?B?cUR3UHhqbDJlOWZkWGpPVlgvbnJ1RmhsM05HNTNvMGVyYldXTlJhVk1YTklk?= =?utf-8?B?clVZU1FMMjVVNEZYeUVndnloRSs0RDI2RjZOdWRYNzZwSHoxbUlzUjNTbzFp?= =?utf-8?Q?eBQbxLnDFn3b4=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40046a95-fdab-4230-b833-08d8ac6fd443 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2020 03:05:57.4600 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6N5OOOjM1PFHs+BtoIXhLqye+j5OSGNJ1CV1/5arftBY93abLCdeytRLdKnPz/1dcYc0sCnPRaoZhrrT8dtMig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3744 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 07/40] net/virtio: move MSIX detection to PCI ethdev 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIxLCAy MDIwIDU6MTQgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsNCj4gYW1vcmVub3pAcmVkaGF0LmNv bTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDA3LzQwXSBuZXQvdmly dGlvOiBtb3ZlIE1TSVggZGV0ZWN0aW9uIHRvIFBDSSBldGhkZXYNCj4gDQo+IFRoZXJlIGlzIG5v IHBvaW50IGl0IGRldGVjdGluZyB3aGV0aGVyIHdlIGNhbiB1c2UgTVNJWA0KPiBldmVyeSB0aW1l IHRoZSBpbnRlcnJ1cHQgaXMgZW5hYmxlZC9kaXNhYmxlZC9tYXNrZWQuDQo+IA0KPiBMZXQncyBk byBpdCBvbmNlIGZvciBhbGwgYXQgUENJIGRldmljZSBpbml0IHRpbWUuDQo+IA0KPiBTaWduZWQt b2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAt LS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMgfCAxNSAtLS0tLS0tLS0t LS0tLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgfCAgNSArKysrLQ0K PiAgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQ0KPiAN Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gYi9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IGluZGV4IDQwMzJhODkzOTYuLjY3 ZjZiZTNmYTggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2 LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0KPiBAQCAtMTI4 Miw0MiArMTI4MiwyNyBAQCB2aXJ0aW9fdmxhbl9maWx0ZXJfc2V0KHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2LA0KPiB1aW50MTZfdCB2bGFuX2lkLCBpbnQgb24pDQo+ICBzdGF0aWMgaW50DQo+ICB2 aXJ0aW9faW50cl91bm1hc2soc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICB7DQo+IC0Jc3Ry dWN0IHZpcnRpb19odyAqaHcgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiAtDQo+ICAJaWYg KHJ0ZV9pbnRyX2FjayhkZXYtPmludHJfaGFuZGxlKSA8IDApDQo+ICAJCXJldHVybiAtMTsNCj4g DQo+IC0JaWYgKGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9MRUdBQ1kgfHwgaHctPmJ1 c190eXBlID09DQo+IFZJUlRJT19CVVNfUENJX01PREVSTikNCj4gLQkJaHctPnVzZV9tc2l4ID0g dnRwY2lfbXNpeF9kZXRlY3QoUlRFX0VUSF9ERVZfVE9fUENJKGRldikpOw0KPiAtDQo+ICAJcmV0 dXJuIDA7DQo+ICB9DQo+IA0KPiAgc3RhdGljIGludA0KPiAgdmlydGlvX2ludHJfZW5hYmxlKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgew0KPiAtCXN0cnVjdCB2aXJ0aW9faHcgKmh3ID0g ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gLQ0KPiAgCWlmIChydGVfaW50cl9lbmFibGUoZGV2 LT5pbnRyX2hhbmRsZSkgPCAwKQ0KPiAgCQlyZXR1cm4gLTE7DQo+IA0KPiAtCWlmIChody0+YnVz X3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVHQUNZIHx8IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJU SU9fQlVTX1BDSV9NT0RFUk4pDQo+IC0JCWh3LT51c2VfbXNpeCA9IHZ0cGNpX21zaXhfZGV0ZWN0 KFJURV9FVEhfREVWX1RPX1BDSShkZXYpKTsNCj4gLQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiAN Cj4gIHN0YXRpYyBpbnQNCj4gIHZpcnRpb19pbnRyX2Rpc2FibGUoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQo+ICB7DQo+IC0Jc3RydWN0IHZpcnRpb19odyAqaHcgPSBkZXYtPmRhdGEtPmRldl9w cml2YXRlOw0KPiAtDQo+ICAJaWYgKHJ0ZV9pbnRyX2Rpc2FibGUoZGV2LT5pbnRyX2hhbmRsZSkg PCAwKQ0KPiAgCQlyZXR1cm4gLTE7DQo+IA0KPiAtCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElP X0JVU19QQ0lfTEVHQUNZIHx8IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9NT0RF Uk4pDQo+IC0JCWh3LT51c2VfbXNpeCA9IHZ0cGNpX21zaXhfZGV0ZWN0KFJURV9FVEhfREVWX1RP X1BDSShkZXYpKTsNCj4gLQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmMgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3BjaS5jDQo+IGluZGV4IDE2OTIyNjhmMzAuLjg2MDUyNTRlNTMgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb19wY2kuYw0KPiBAQCAtNjk4LDcgKzY5OCw3IEBAIHZ0cGNpX2luaXQoc3RydWN0 IHJ0ZV9wY2lfZGV2aWNlICpkZXYsIHN0cnVjdCB2aXJ0aW9faHcNCj4gKmh3KQ0KPiAgCQlQTURf SU5JVF9MT0coSU5GTywgIm1vZGVybiB2aXJ0aW8gcGNpIGRldGVjdGVkLiIpOw0KPiAgCQl2aXJ0 aW9faHdfaW50ZXJuYWxbaHctPnBvcnRfaWRdLnZ0cGNpX29wcyA9ICZtb2Rlcm5fb3BzOw0KPiAg CQlody0+YnVzX3R5cGUgPSBWSVJUSU9fQlVTX1BDSV9NT0RFUk47DQo+IC0JCXJldHVybiAwOw0K PiArCQlnb3RvIG1zaXhfZGV0ZWN0Ow0KPiAgCX0NCj4gDQo+ICAJUE1EX0lOSVRfTE9HKElORk8s ICJ0cnlpbmcgd2l0aCBsZWdhY3kgdmlydGlvIHBjaS4iKTsNCj4gQEAgLTcxOCw2ICs3MTgsOSBA QCB2dHBjaV9pbml0KHN0cnVjdCBydGVfcGNpX2RldmljZSAqZGV2LCBzdHJ1Y3QgdmlydGlvX2h3 DQo+ICpodykNCj4gIAl2aXJ0aW9faHdfaW50ZXJuYWxbaHctPnBvcnRfaWRdLnZ0cGNpX29wcyA9 ICZsZWdhY3lfb3BzOw0KPiAgCWh3LT5idXNfdHlwZSA9IFZJUlRJT19CVVNfUENJX0xFR0FDWTsN Cj4gDQo+ICttc2l4X2RldGVjdDoNCj4gKwlody0+dXNlX21zaXggPSB2dHBjaV9tc2l4X2RldGVj dChkZXYpOw0KPiArDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiAtLQ0KPiAyLjI5LjINCg0K UmV2aWV3ZWQtYnk6IENoZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0KDQo=