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 477B1A04DE for ; Fri, 23 Oct 2020 07:21:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0CE396CBF; Fri, 23 Oct 2020 07:21:37 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id BB7A76A6D; Fri, 23 Oct 2020 07:21:31 +0200 (CEST) IronPort-SDR: PA9EDfjUC/Q8oKLWLQ7dCcSXIt/VBHY1TBtS3YbQMhQ0Kcm4qFjaNN2DFsrMJMQXcR6zSkeV1h UGzrI/9JF5Dw== X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="147489285" X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="147489285" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2020 22:21:30 -0700 IronPort-SDR: ibgbOYJt+HnTzHluJKhXmweHnHP5oa7DJ6ZP0hIIooYbwJQ1DixxNSH7sLjdLCqMIh2IWMtj6Y lwKGJWI1a0Yg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="423326005" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga001.fm.intel.com with ESMTP; 22 Oct 2020 22:21:30 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 22 Oct 2020 22:21:29 -0700 Received: from shsmsx605.ccr.corp.intel.com (10.109.6.215) by SHSMSX601.ccr.corp.intel.com (10.109.6.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 23 Oct 2020 13:21:27 +0800 Received: from shsmsx605.ccr.corp.intel.com ([10.109.6.215]) by SHSMSX605.ccr.corp.intel.com ([10.109.6.215]) with mapi id 15.01.1713.004; Fri, 23 Oct 2020 13:21:27 +0800 From: "Jiang, YuX" To: Maxime Coquelin , Adrian Moreno , "Xia, Chenbo" , "Wang, Yinan" , "dev@dpdk.org" CC: "Fu, Patrick" , "stable@dpdk.org" , "Wang, Zhihong" , "Xu, Qian Q" , "Jiang, YuX" Thread-Topic: [dpdk-dev] [PATCH v2 3/3] virtio-user: set status on virtio-user reconnect Thread-Index: AQHWpwAf3gkMg0lOzkiJu+kifDZ0dKmie9WAgAA1zoCAAAacgIAACdSAgAAFdACAAeMSYA== Date: Fri, 23 Oct 2020 05:21:27 +0000 Message-ID: <2f741d3168b7446189ca88dcec0b33cd@intel.com> References: <20201020152052.389446-1-amorenoz@redhat.com> <20201020152052.389446-4-amorenoz@redhat.com> <282c116e-0f8a-754e-f3fd-8eb256d68246@redhat.com> <59a07add-84e4-b111-4fc0-f8a491fe86b0@redhat.com> <70fe89be-ca87-6af7-9f4f-b7c377d4b41c@redhat.com> <06e26a13-fbe1-c96a-2aff-f84d413aedcf@redhat.com> In-Reply-To: <06e26a13-fbe1-c96a-2aff-f84d413aedcf@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v2 3/3] virtio-user: set status on virtio-user reconnect 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: , Errors-To: stable-bounces@dpdk.org Sender: "stable" VGVzdGVkLWJ5OiBKaWFuZ1l1WCA8eXV4LmppYW5nQGludGVsLmNvbT4NCg0KICAgIEJlc3QgUmVn YXJkcw0KICAgIEppYW5nIHl1DQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIE1heGlt ZSBDb3F1ZWxpbg0KPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyMiwgMjAyMCA0OjMyIFBNDQo+ IFRvOiBBZHJpYW4gTW9yZW5vIDxhbW9yZW5vekByZWRoYXQuY29tPjsgWGlhLCBDaGVuYm8NCj4g PGNoZW5iby54aWFAaW50ZWwuY29tPjsgV2FuZywgWWluYW4gPHlpbmFuLndhbmdAaW50ZWwuY29t PjsNCj4gZGV2QGRwZGsub3JnDQo+IENjOiBGdSwgUGF0cmljayA8cGF0cmljay5mdUBpbnRlbC5j b20+OyBzdGFibGVAZHBkay5vcmc7IFdhbmcsIFpoaWhvbmcNCj4gPHpoaWhvbmcud2FuZ0BpbnRl bC5jb20+OyBYdSwgUWlhbiBRIDxxaWFuLnEueHVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTog W2RwZGstZGV2XSBbUEFUQ0ggdjIgMy8zXSB2aXJ0aW8tdXNlcjogc2V0IHN0YXR1cyBvbiB2aXJ0 aW8tdXNlcg0KPiByZWNvbm5lY3QNCj4gDQo+IA0KPiANCj4gT24gMTAvMjIvMjAgMTA6MTIgQU0s IEFkcmlhbiBNb3Jlbm8gd3JvdGU6DQo+ID4NCj4gPg0KPiA+IE9uIDEwLzIyLzIwIDk6MzcgQU0s IFhpYSwgQ2hlbmJvIHdyb3RlOg0KPiA+PiBIaSBNYXhpbWUsDQo+ID4+DQo+ID4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUu Y29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDIyLCAy MDIwIDM6MTQgUE0NCj4gPj4+IFRvOiBXYW5nLCBZaW5hbiA8eWluYW4ud2FuZ0BpbnRlbC5jb20+ OyBBZHJpYW4gTW9yZW5vDQo+ID4+PiA8YW1vcmVub3pAcmVkaGF0LmNvbT47IGRldkBkcGRrLm9y ZzsgWGlhLCBDaGVuYm8NCj4gPj4+IDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPj4+IENjOiBG dSwgUGF0cmljayA8cGF0cmljay5mdUBpbnRlbC5jb20+OyBzdGFibGVAZHBkay5vcmc7IFdhbmcs DQo+ID4+PiBaaGlob25nIDx6aGlob25nLndhbmdAaW50ZWwuY29tPjsgWHUsIFFpYW4gUSA8cWlh bi5xLnh1QGludGVsLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMy8zXSB2aXJ0 aW8tdXNlcjogc2V0IHN0YXR1cyBvbiB2aXJ0aW8tdXNlcg0KPiA+Pj4gcmVjb25uZWN0DQo+ID4+ Pg0KPiA+Pj4gSGkgWWluYW4sDQo+ID4+Pg0KPiA+Pj4gT24gMTAvMjIvMjAgNjowMSBBTSwgV2Fu ZywgWWluYW4gd3JvdGU6DQo+ID4+Pj4gSGkgTWF4aW1lLyBBZHJpYW7vvIwNCj4gPj4+Pg0KPiA+ Pj4+IFRoYW5rcyBmb3IgdGhlIHBhdGNoLiAgd2UgY2FuIGxhdW5jaCB2aG9zdC11c2VyIHdpdGgg Y2xpZW50IG1vZGUNCj4gPj4+PiB3aXRoDQo+ID4+PiB0aGlzIGZpeCBwYXRjaC4NCj4gPj4+PiBC dXQgc3RpbGwgZmFpbCB0byBnZXQgdGhyb3VnaHB1dCB3aXRoIGJhc2ljIHZob3N0L3ZpcnRpby11 c2VyDQo+ID4+Pj4gc2VydmVyDQo+ID4+PiBtb2RlIGxvb3BiYWNrIHRlc3QuIFRoaXMgaXMgYW5v dGhlciBwcm9ibGVtIHdoaWNoIGludHJvZHVjZWQgYnkNCj4gPj4+IDU3OTEyODI0NjE1ZmQ3Nzg3 YTQ4YTdiMThlNDA2NjE0NjYuDQo+ID4+Pj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5kcGRrLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQxDQo+ID4+Pg0KPiA+Pj4gVGhhbmtzIGZvciByZXBvcnRpbmcg dGhlIGlzc3VlLCBJIHdpbGwgbG9vayBhdCBpdCB0aGlzIG1vcm5pbmcuDQo+ID4+Pg0KPiA+Pj4g QlRXLCB0aGlzIHZpcnRpby11c2VyIHNlcnZlciBtb2RlIGlzIGJyb2tlbiBieSBkZXNpZ24sIHdl IHNob3VsZA0KPiA+Pj4gcmVhbGx5IGZpeCBpdC4NCj4gPj4+DQo+ID4+PiBGb3IgZXhhbXBsZSwg aXQgYXNzdW1lcyBmZWF0dXJlcyB0byBiZSBzdXBwb3J0ZWQgYnkgdGhlIGJhY2tlbmQNCj4gPj4+ IGJlZm9yZSB0aGUgbmVnb3RpYXRpb24gdG9vayBwbGFjZToNCj4gPj4+IGh0dHBzOi8vZ2l0LmRw ZGsub3JnL2RwZGsvdHJlZS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvDQo+ ID4+PiBfdXNlcl8NCj4gPj4+IGRldi5jI241MTMNCj4gPj4+DQo+ID4+PiBBcyBwYXJ0IG9mIG15 IHJld29yaywgSSBzdWdnZXN0IHdlIGltcGxlbWVudCB0aGUgc2FtZSBiZWhhdmlvdXIgYXMNCj4g Pj4+IFFFTVUgZG9lcywgd2hpY2ggd2lsbCBiZSByZWxpYWJsZSBhbmQgY29uc2lzdGVudCB3aXRo IFFFTVUuIEl0IG1lYW5zDQo+ID4+PiB0aGF0IGlmIHNlcnZlciBtb2RlIGlzIGVuYWJsZWQgaW4g ZGV2aWNlIGNvbW1hbmQtbGluZSwgdGhlIGRyaXZlcg0KPiA+Pj4gd2FpdHMgdW50aWwgdGhlIHNv Y2tldCBpcyByZWFkeS4NCj4gPj4+DQo+ID4+PiBDaGVuYm8sIEFkcmlhbiwgd2hhdCBkbyB5b3Ug dGhpbms/DQo+ID4+DQo+ID4+IFllcyEgSSB0b3RhbGx5IGFncmVlIGFuZCBoYXZlIHRoZSBzYW1l IG9waW5pb24gZm9yIGEgbG9uZyB0aW1lLiBBcyBJDQo+ID4+IHJlbWVtYmVyLCB0aGlzIGZlYXR1 cmUgYXNzdW1wdGlvbiBoYXMgY2F1c2VkIHByb2JsZW1zIGJlZm9yZSBhbmQgSQ0KPiA+PiBub3Rp Y2UgdGhlIG5ldyBTVEFUVVMgZmVhdHVyZSBpcyBhbHNvIGFmZmVjdGVkLiBJdCdzIGdvb2QgdG8g bWFrZSB0aGlzDQo+IGNvbnNpc3RlbnQgd2l0aCBRRU1VIPCfmIouDQo+ID4+DQo+ID4gKzENCj4g Pg0KPiA+IEluIGZhY3QsIEkgd2FzIGxvb2tpbmcgaW50byBob3cgdG8gZ2V0IHJpZCBvZiBzb21l IGVycm9yIG1lc3NhZ2VzDQo+ID4gb3JpZ2luYXRlZCBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9u IG9mIHRoZSB2aXJ0aW8tcGNpIGxheWVyIHdoZW4gdGhlDQo+ID4gc29ja2V0IGlzIHN0aWxsIG5v dCByZWFkeS4NCj4gDQo+IElzIHRoYXQgdGhlIGVycm9yIG1lc3NhZ2VzIHlvdSBtZWFudD8NCj4g DQo+IA0KPiB2aXJ0aW9fdXNlcl9zZW5kX3N0YXR1c191cGRhdGUoKTogVkhPU1RfVVNFUl9TRVRf U1RBVFVTIGZhaWxlZCAoLTEpOg0KPiBTdWNjZXNzDQo+IHZpcnRpb191c2VyX3VwZGF0ZV9zdGF0 dXMoKTogVkhPU1RfVVNFUl9HRVRfU1RBVFVTIGZhaWxlZCAoLTEpOiBTdWNjZXNzDQo+IHZpcnRp b191c2VyX3VwZGF0ZV9zdGF0dXMoKTogVkhPU1RfVVNFUl9HRVRfU1RBVFVTIGZhaWxlZCAoLTEp OiBTdWNjZXNzDQo+IHZpcnRpb191c2VyX3NlbmRfc3RhdHVzX3VwZGF0ZSgpOiBWSE9TVF9VU0VS X1NFVF9TVEFUVVMgZmFpbGVkICgtMSk6DQo+IFN1Y2Nlc3MNCj4gdmlydGlvX3VzZXJfdXBkYXRl X3N0YXR1cygpOiBWSE9TVF9VU0VSX0dFVF9TVEFUVVMgZmFpbGVkICgtMSk6IFN1Y2Nlc3MNCj4g dmlydGlvX3VzZXJfc2VuZF9zdGF0dXNfdXBkYXRlKCk6IFZIT1NUX1VTRVJfU0VUX1NUQVRVUyBm YWlsZWQgKC0xKToNCj4gU3VjY2Vzcw0KPiB2aXJ0aW9fdXNlcl91cGRhdGVfc3RhdHVzKCk6IFZI T1NUX1VTRVJfR0VUX1NUQVRVUyBmYWlsZWQgKC0xKTogU3VjY2Vzcw0KPiB2aXJ0aW9fdXNlcl9z ZW5kX3N0YXR1c191cGRhdGUoKTogVkhPU1RfVVNFUl9TRVRfU1RBVFVTIGZhaWxlZCAoLTEpOg0K PiBTdWNjZXNzDQo+IHZpcnRpb191c2VyX3VwZGF0ZV9zdGF0dXMoKTogVkhPU1RfVVNFUl9HRVRf U1RBVFVTIGZhaWxlZCAoLTEpOiBTdWNjZXNzDQo+IHZpcnRpb191c2VyX3VwZGF0ZV9zdGF0dXMo KTogVkhPU1RfVVNFUl9HRVRfU1RBVFVTIGZhaWxlZCAoLTEpOiBTdWNjZXNzDQo+IHZpcnRpb191 c2VyX3NlbmRfc3RhdHVzX3VwZGF0ZSgpOiBWSE9TVF9VU0VSX1NFVF9TVEFUVVMgZmFpbGVkICgt MSk6DQo+IFN1Y2Nlc3MNCj4gDQo+IA0KPiBUaGF0IHdvdWxkIGJlIGdvb2QgdG8gaGF2ZSB0aGVt IGZpeGVkDQo+IA0KPiA+DQo+ID4+IENoZWVycywNCj4gPj4gQ2hlbmJvDQo+ID4+DQo+ID4+Pg0K PiA+Pj4gVGhhbmtzLA0KPiA+Pj4gTWF4aW1lDQo+ID4+Pg0KPiA+Pj4+IEJSLA0KPiA+Pj4+IFlp bmFuDQo+ID4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+IEZyb206IE1h eGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4+Pj4+IFNlbnQ6 IDIwMjDlubQxMOaciDIx5pelIDA6NDMNCj4gPj4+Pj4gVG86IEFkcmlhbiBNb3Jlbm8gPGFtb3Jl bm96QHJlZGhhdC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+Pj4gQ2M6IFdhbmcsIFlpbmFuIDx5 aW5hbi53YW5nQGludGVsLmNvbT47IEZ1LCBQYXRyaWNrDQo+ID4+PiA8cGF0cmljay5mdUBpbnRl bC5jb20+Ow0KPiA+Pj4+PiBzdGFibGVAZHBkay5vcmc7IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlh QGludGVsLmNvbT47IFdhbmcsDQo+IFpoaWhvbmcNCj4gPj4+Pj4gPHpoaWhvbmcud2FuZ0BpbnRl bC5jb20+DQo+ID4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMy8zXSB2aXJ0aW8tdXNlcjog c2V0IHN0YXR1cyBvbiB2aXJ0aW8tdXNlcg0KPiA+Pj4gcmVjb25uZWN0DQo+ID4+Pj4+DQo+ID4+ Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIDEwLzIwLzIwIDU6MjAgUE0sIEFkcmlhbiBNb3Jlbm8g d3JvdGU6DQo+ID4+Pj4+PiBOZXdlciB2aG9zdC11c2VyIGJhY2tlbmRzIHdpbGwgcmVseSBvbiBT RVRfU1RBVFVTIHRvIHN0YXJ0IHRoZQ0KPiA+Pj4+Pj4gZGV2aWNlIHNvIHRoaXMgcmVxdWlyZWQg dG8gc3VwcG9ydCB0aGVtLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEZpeGVzOiA1NzkxMjgyNDYxNWYg KCJuZXQvdmlydGlvLXVzZXI6IHN1cHBvcnQgdmhvc3Qgc3RhdHVzDQo+ID4+Pj4+PiBzZXR0aW5n IikNCj4gPj4+Pj4+IENjOiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbQ0KPiA+Pj4+Pj4gQ2M6 IHN0YWJsZUBkcGRrLm9yZw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFkcmlh biBNb3Jlbm8gPGFtb3Jlbm96QHJlZGhhdC5jb20+DQo+ID4+Pj4+PiAtLS0NCj4gPj4+Pj4+ICBk cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMgfCAxNCArKysrKysrKysrKyst LQ0KPiA+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8v dmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gPj4+Pj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXJfZXRoZGV2LmMNCj4gPj4+Pj4+IGluZGV4IGU4NzBmYjJmZi4uZDhiZWE0NTM3IDEwMDY0 NA0KPiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5j DQo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMN Cj4gPj4+Pj4+IEBAIC03OCw2ICs3OCwxMyBAQCB2aXJ0aW9fdXNlcl9zZXJ2ZXJfcmVjb25uZWN0 KHN0cnVjdA0KPiA+Pj4+Pj4gdmlydGlvX3VzZXJfZGV2DQo+ID4+Pj4+ICpkZXYpDQo+ID4+Pj4+ PiAgCQlyZXR1cm4gLTE7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gIAlkZXYtPnZob3N0ZmQgPSBjb25u ZWN0ZmQ7DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArCXZ0cGNpX3Jlc2V0KGh3KTsNCj4gPj4+Pj4+ ICsNCj4gPj4+Pj4+ICsJdnRwY2lfc2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNf QUNLKTsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsJdnRwY2lfc2V0X3N0YXR1cyhodywgVklSVElP X0NPTkZJR19TVEFUVVNfRFJJVkVSKTsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICAJaWYgKGRldi0+ b3BzLT5zZW5kX3JlcXVlc3QoZGV2LA0KPiBWSE9TVF9VU0VSX0dFVF9GRUFUVVJFUywNCj4gPj4+ Pj4+ICAJCQkJICAgJmRldi0+ZGV2aWNlX2ZlYXR1cmVzKSA8IDApIHsNCj4gPj4+Pj4+ICAJCVBN RF9JTklUX0xPRyhFUlIsICJnZXRfZmVhdHVyZXMgZmFpbGVkOiAlcyIsIEBAIC0NCj4gMTExLDYg KzExOCw4DQo+ID4+Pj4+PiBAQCB2aXJ0aW9fdXNlcl9zZXJ2ZXJfcmVjb25uZWN0KHN0cnVjdA0K PiA+Pj4gdmlydGlvX3VzZXJfZGV2DQo+ID4+Pj4+ICpkZXYpDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4g IAlkZXYtPmZlYXR1cmVzICY9IGRldi0+ZGV2aWNlX2ZlYXR1cmVzOw0KPiA+Pj4+Pj4NCj4gPj4+ Pj4+ICsJdnRwY2lfc2V0X3N0YXR1cyhodywNCj4gVklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVS RVNfT0spOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gIAkvKiBGb3IgcGFja2VkIHJpbmcsIHJlc2V0 dGluZyBxdWV1ZXMgaXMgcmVxdWlyZWQgaW4NCj4gcmVjb25uZWN0aW9uLiAqLw0KPiA+Pj4+Pj4g IAlpZiAodnRwY2lfcGFja2VkX3F1ZXVlKGh3KSAmJg0KPiA+Pj4+Pj4gIAkgICAodnRwY2lfZ2V0 X3N0YXR1cyhodykgJg0KPiBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spKSB7DQo+ID4+ Pj4+PiBAQCAtMTE5LDggKzEyOCw5IEBAIHZpcnRpb191c2VyX3NlcnZlcl9yZWNvbm5lY3Qoc3Ry dWN0DQo+ID4+PiB2aXJ0aW9fdXNlcl9kZXYNCj4gPj4+Pj4gKmRldikNCj4gPj4+Pj4+ICAJCXZp cnRpb191c2VyX3Jlc2V0X3F1ZXVlc19wYWNrZWQoZXRoX2Rldik7DQo+ID4+Pj4+PiAgCX0NCj4g Pj4+Pj4+DQo+ID4+Pj4+PiAtCXJldCA9IHZpcnRpb191c2VyX3N0YXJ0X2RldmljZShkZXYpOw0K PiA+Pj4+Pj4gLQlpZiAocmV0IDwgMCkNCj4gPj4+Pj4+ICsJLyogIFN0YXJ0IHRoZSBkZXZpY2Ug Ki8NCj4gPj4+Pj4+ICsJdnRwY2lfc2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNf RFJJVkVSX09LKTsNCj4gPj4+Pj4+ICsJaWYgKCFkZXYtPnN0YXJ0ZWQpDQo+ID4+Pj4+PiAgCQly ZXR1cm4gLTE7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gIAlpZiAoZGV2LT5xdWV1ZV9wYWlycyA+IDEp IHsNCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IFJldmlld2VkLWJ5OiBNYXhpbWUgQ29xdWVs aW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUaGFua3Ms DQo+ID4+Pj4+IE1heGltZQ0KPiA+Pj4+DQo+ID4+DQo+ID4NCg0K