From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Samudrala, Sridhar" Subject: Re: [PATCH net v2] failover: allow name change on IFF_UP slave interfaces Date: Thu, 21 Mar 2019 04:02:03 +0100 Message-ID: <3b1c05f9-b255-01da-6c04-122ea18649a4@intel.com> References: <1551928112-32109-1-git-send-email-si-wei.liu@oracle.com> <5131f60c-5910-01e4-936a-6d8f4e086dd3@intel.com> <9bb79d39-aaa4-2b52-f952-082a071af72a@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <9bb79d39-aaa4-2b52-f952-082a071af72a@oracle.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: si-wei liu , David Miller , Netdev , virtualization@lists.linux-foundation.org Cc: Jiri Pirko , "Michael S. Tsirkin" , Jakub Kicinski , Alexander Duyck , liran.alon@oracle.com, boris.ostrovsky@oracle.com List-Id: virtualization@lists.linuxfoundation.org CgpPbiAzLzE5LzIwMTkgMTA6MjAgUE0sIHNpLXdlaSBsaXUgd3JvdGU6Cj4gSGkgU3JpZGhhciwK PiAKPiBBcmUgeW91IGZpbmUgd2l0aCBsZWF2aW5nIHRoZSBJRkZfU0xBVkVfUkVOQU1FX09LIGZs YWcgYXMgaXMsIGFuZCB0aHVzIAo+IGNhbiBwcm92aWRlIHlvdXIgQWNrLWJ5IG9yIFJldmlld2Vk LWJ5PyBJIGNhbiBjaGFuZ2UgdGhlIGNvZGUgaWYgeW91IAo+IGZlZWwgc3Ryb25nLgoKTXkgcHJl ZmVyZW5jZSB3b3VsZCBiZSBub3QgdG8gaW50cm9kdWNlIGEgbmV3IGZsYWcgdW5sZXNzIHRoZXJl IGlzIGFueSAKdXNlY2FzZSB3aGVyZSB3ZSB3YW50IGEgSUZGX0ZBSUxPVkVSX1NMQVZFIHR5cGUg b2YgZGV2aWNlIHRvIHN1cHBvcnQgMiAKZGlmZmVyZW50IGJlaGF2aW9ycy4gKHJlbmFtZV9vayBh bmQgcmVuYW1lX25vdF9vaykKClRoYW5rcwpTcmlkaGFyCgo+IAo+IFRoYW5rcywKPiAtU2l3ZWkK PiAKPiAKPiBPbiAzLzYvMjAxOSA4OjU0IFBNLCBzaS13ZWkgbGl1IHdyb3RlOgo+Pgo+Pgo+PiBP biAzLzYvMjAxOSA4OjEzIFBNLCBTYW11ZHJhbGEsIFNyaWRoYXIgd3JvdGU6Cj4+Pgo+Pj4gT24g My82LzIwMTkgNzowOCBQTSwgU2ktV2VpIExpdSB3cm90ZToKPj4+PiBXaGVuIGEgbmV0ZGV2IGFw cGVhcnMgdGhyb3VnaCBob3QgcGx1ZyB0aGVuIGdldHMgZW5zbGF2ZWQgYnkgYSBmYWlsb3Zlcgo+ Pj4+IG1hc3RlciB0aGF0IGlzIGFscmVhZHkgdXAgYW5kIHJ1bm5pbmcsIHRoZSBzbGF2ZSB3aWxs IGJlIG9wZW5lZAo+Pj4+IHJpZ2h0IGF3YXkgYWZ0ZXIgZ2V0dGluZyBlbnNsYXZlZC4gVG9kYXkg dGhlcmUncyBhIHJhY2UgdGhhdCB1c2Vyc3BhY2UKPj4+PiAodWRldikgbWF5IGZhaWwgdG8gcmVu YW1lIHRoZSBzbGF2ZSBpZiB0aGUga2VybmVsIChuZXRfZmFpbG92ZXIpCj4+Pj4gb3BlbnMgdGhl IHNsYXZlIGVhcmxpZXIgdGhhbiB3aGVuIHRoZSB1c2Vyc3BhY2UgcmVuYW1lIGhhcHBlbnMuCj4+ Pj4gVW5saWtlIGJvbmQgb3IgdGVhbSwgdGhlIHByaW1hcnkgc2xhdmUgb2YgZmFpbG92ZXIgY2Fu J3QgYmUgcmVuYW1lZCBieQo+Pj4+IHVzZXJzcGFjZSBhaGVhZCBvZiB0aW1lLCBzaW5jZSB0aGUg a2VybmVsIGluaXRpYXRlZCBhdXRvLWVuc2xhdmVtZW50IGlzCj4+Pj4gdW5hYmxlIHRvLCBvciBy YXRoZXIsIGlzIG5ldmVyIG1lYW50IHRvIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSByZW5hbWUK Pj4+PiByZXF1ZXN0IGZyb20gdXNlcnNwYWNlLgo+Pj4+Cj4+Pj4gQXMgdGhlIGZhaWxvdmVyIHNs YXZlIGludGVyZmFjZXMgYXJlIG5vdCBkZXNpZ25lZCB0byBiZSBvcGVyYXRlZAo+Pj4+IGRpcmVj dGx5IGJ5IHVzZXJzcGFjZSBhcHBzOiBJUCBjb25maWd1cmF0aW9uLCBmaWx0ZXIgcnVsZXMgd2l0 aAo+Pj4+IHJlZ2FyZCB0byBuZXR3b3JrIHRyYWZmaWMgcGFzc2luZyBhbmQgZXRjLiwgc2hvdWxk IGFsbCBiZSBkb25lIG9uIAo+Pj4+IG1hc3Rlcgo+Pj4+IGludGVyZmFjZS4gSW4gZ2VuZXJhbCwg dXNlcnNwYWNlIGFwcHMgb25seSBjYXJlIGFib3V0IHRoZQo+Pj4+IG5hbWUgb2YgbWFzdGVyIGlu dGVyZmFjZSwgd2hpbGUgc2xhdmUgbmFtZXMgYXJlIGxlc3MgaW1wb3J0YW50IGFzIGxvbmcKPj4+ PiBhcyBhZG1pbiB1c2VycyBjYW4gc2VlIHJlbGlhYmxlIG5hbWVzIHRoYXQgbWF5IGNhcnJ5Cj4+ Pj4gb3RoZXIgaW5mb3JtYXRpb24gZGVzY3JpYmluZyB0aGUgbmV0ZGV2LiBGb3IgZS5nLiwgdGhl eSBjYW4gaW5mZXIgdGhhdAo+Pj4+ICJlbnMzbnNieSIgaXMgYSBzdGFuZGJ5IHNsYXZlIG9mICJl bnMzIiwgd2hpbGUgZm9yIGEKPj4+PiBuYW1lIGxpa2UgImV0aDAiIHRoZXkgY2FuJ3QgdGVsbCB3 aGljaCBtYXN0ZXIgaXQgYmVsb25ncyB0by4KPj4+Pgo+Pj4+IEhpc3RvcmljYWxseSB0aGUgbmFt ZSBvZiBJRkZfVVAgaW50ZXJmYWNlIGNhbid0IGJlIGNoYW5nZWQgYmVjYXVzZQo+Pj4+IHRoZXJl IG1pZ2h0IGJlIGFkbWluIHNjcmlwdCBvciBtYW5hZ2VtZW50IHNvZnR3YXJlIHRoYXQgaXMgYWxy ZWFkeQo+Pj4+IHJlbHlpbmcgb24gc3VjaCBiZWhhdmlvciBhbmQgYXNzdW1lcyB0aGF0IHRoZSBz bGF2ZSBuYW1lIGNhbid0IGJlCj4+Pj4gY2hhbmdlZCBvbmNlIFVQLiBCdXQgZmFpbG92ZXIgaXMg c3BlY2lhbDogd2l0aCB0aGUgaW4ta2VybmVsCj4+Pj4gYXV0by1lbnNsYXZlbWVudCBtZWNoYW5p c20sIHRoZSB1c2Vyc3BhY2UgZXhwZWN0YXRpb24gZm9yIGRldmljZQo+Pj4+IGVudW1lcmF0aW9u IGFuZCBicmluZy11cCBvcmRlciBpcyBhbHJlYWR5IGJyb2tlbi4gUHJldmlvdXNseSBpbml0cmFt ZnMKPj4+PiBhbmQgdmFyaW91cyB1c2Vyc3BhY2UgY29uZmlnIHRvb2xzIHdlcmUgbW9kaWZpZWQg dG8gYnlwYXNzIGZhaWxvdmVyCj4+Pj4gc2xhdmVzIGJlY2F1c2Ugb2YgYXV0by1lbnNsYXZlbWVu dCBhbmQgZHVwbGljYXRlIE1BQyBhZGRyZXNzLiAKPj4+PiBTaW1pbGFybHksCj4+Pj4gaW4gY2Fz ZSB0aGF0IHVzZXJzIGNhcmUgYWJvdXQgc2VlaW5nIHJlbGlhYmxlIHNsYXZlIG5hbWUsIHRoZSBu ZXcgdHlwZQo+Pj4+IG9mIGZhaWxvdmVyIHNsYXZlcyBuZWVkcyB0byBiZSB0YWtlbiBjYXJlIG9m IHNwZWNpZmljYWxseSBpbiB1c2Vyc3BhY2UKPj4+PiBhbnl3YXkuCj4+Pj4KPj4+PiBJdCdzIGxl c3Mgcmlza3kgdG8gbGlmdCB1cCB0aGUgcmVuYW1lIHJlc3RyaWN0aW9uIG9uIGZhaWxvdmVyIHNs YXZlCj4+Pj4gd2hpY2ggaXMgYWxyZWFkeSBVUC4gQWx0aG91Z2ggaXQncyBwb3NzaWJsZSB0aGlz IGNoYW5nZSBtYXkgcG90ZW50aWFsbHkKPj4+PiBicmVhayB1c2Vyc3BhY2UgY29tcG9uZW50ICht b3N0IGxpa2VseSBjb25maWd1cmF0aW9uIHNjcmlwdHMgb3IKPj4+PiBtYW5hZ2VtZW50IHNvZnR3 YXJlKSB0aGF0IGFzc3VtZXMgc2xhdmUgbmFtZSBjYW4ndCBiZSBjaGFuZ2VkIHdoaWxlCj4+Pj4g VVAsIGl0J3MgcmVsYXRpdmVseSBhIGxpbWl0ZWQgYW5kIGNvbnRyb2xsYWJsZSBzZXQgYW1vbmcg YWxsIHVzZXJzcGFjZQo+Pj4+IGNvbXBvbmVudHMsIHdoaWNoIGNhbiBiZSBmaXhlZCBzcGVjaWZp Y2FsbHkgdG8gd29yayB3aXRoIHRoZSBuZXcgbmFtaW5nCj4+Pj4gYmVoYXZpb3Igb2YgZmFpbG92 ZXIgc2xhdmVzLiBVc2Vyc3BhY2UgY29tcG9uZW50IGludGVyYWN0aW5nIHdpdGgKPj4+PiBzbGF2 ZXMgc2hvdWxkIGJlIGNoYW5nZWQgdG8gb3BlcmF0ZSBvbiBmYWlsb3ZlciBtYXN0ZXIgaW5zdGVh ZCwgYXMgdGhlCj4+Pj4gZmFpbG92ZXIgc2xhdmUgaXMgZHluYW1pYyBpbiBuYXR1cmUgd2hpY2gg bWF5IGNvbWUgYW5kIGdvIGF0IGFueSBwb2ludC4KPj4+PiBUaGUgZ29hbCBpcyB0byBtYWtlIHRo ZSByb2xlIG9mIGZhaWxvdmVyIHNsYXZlcyBsZXNzIHJlbGV2YW50LCBhbmQKPj4+PiBhbGwgdXNl cnNwYWNlIHNob3VsZCBvbmx5IGRlYWwgd2l0aCBtYXN0ZXIgaW4gdGhlIGxvbmcgcnVuLgo+Pj4+ Cj4+Pj4gRml4ZXM6IDMwYzhiZDVhYThiMiAoIm5ldDogSW50cm9kdWNlIGdlbmVyaWMgZmFpbG92 ZXIgbW9kdWxlIikKPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaS1XZWkgTGl1IDxzaS13ZWkubGl1QG9y YWNsZS5jb20+Cj4+Pj4gUmV2aWV3ZWQtYnk6IExpcmFuIEFsb24gPGxpcmFuLmFsb25Ab3JhY2xl LmNvbT4KPj4+PiBBY2tlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4K Pj4+Pgo+Pj4+IC0tLQo+Pj4+IHYxIC0+IHYyOgo+Pj4+IC0gRHJvcCBjb25maWd1cmFibGUgbW9k dWxlIHBhcmFtZXRlciAoU3JpZGhhcikKPj4+Pgo+Pj4+Cj4+Pj4gwqAgaW5jbHVkZS9saW51eC9u ZXRkZXZpY2UuaCB8IDMgKysrCj4+Pj4gwqAgbmV0L2NvcmUvZGV2LmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgMyArKy0KPj4+PiDCoCBuZXQvY29yZS9mYWlsb3Zlci5jwqDCoMKgwqDCoMKgIHwg NiArKystLS0KPj4+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5o IGIvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAo+Pj4+IGluZGV4IDg1N2Y4YWIuLjZkOWU0ZTAg MTAwNjQ0Cj4+Pj4gLS0tIGEvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAo+Pj4+ICsrKyBiL2lu Y2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKPj4+PiBAQCAtMTQ4Nyw2ICsxNDg3LDcgQEAgc3RydWN0 IG5ldF9kZXZpY2Vfb3BzIHsKPj4+PiDCoMKgICogQElGRl9OT19SWF9IQU5ETEVSOiBkZXZpY2Ug ZG9lc24ndCBzdXBwb3J0IHRoZSByeF9oYW5kbGVyIGhvb2sKPj4+PiDCoMKgICogQElGRl9GQUlM T1ZFUjogZGV2aWNlIGlzIGEgZmFpbG92ZXIgbWFzdGVyIGRldmljZQo+Pj4+IMKgwqAgKiBASUZG X0ZBSUxPVkVSX1NMQVZFOiBkZXZpY2UgaXMgbG93ZXIgZGV2IG9mIGEgZmFpbG92ZXIgbWFzdGVy IAo+Pj4+IGRldmljZQo+Pj4+ICsgKiBASUZGX1NMQVZFX1JFTkFNRV9PSzogcmVuYW1lIGlzIGFs bG93ZWQgd2hpbGUgc2xhdmUgZGV2aWNlIGlzIAo+Pj4+IHJ1bm5pbmcKPj4+PiDCoMKgICovCj4+ Pj4gwqAgZW51bSBuZXRkZXZfcHJpdl9mbGFncyB7Cj4+Pj4gwqDCoMKgwqDCoCBJRkZfODAyXzFR X1ZMQU7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gMTw8MCwKPj4+PiBAQCAtMTUxOCw2ICsxNTE5 LDcgQEAgZW51bSBuZXRkZXZfcHJpdl9mbGFncyB7Cj4+Pj4gwqDCoMKgwqDCoCBJRkZfTk9fUlhf SEFORExFUsKgwqDCoMKgwqDCoMKgID0gMTw8MjYsCj4+Pj4gwqDCoMKgwqDCoCBJRkZfRkFJTE9W RVLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gMTw8MjcsCj4+Pj4gwqDCoMKgwqDCoCBJRkZfRkFJ TE9WRVJfU0xBVkXCoMKgwqDCoMKgwqDCoCA9IDE8PDI4LAo+Pj4+ICvCoMKgwqAgSUZGX1NMQVZF X1JFTkFNRV9PS8KgwqDCoMKgwqDCoMKgID0gMTw8MjksCj4+Pj4gwqAgfTsKPj4+PiDCoMKgwqAg I2RlZmluZSBJRkZfODAyXzFRX1ZMQU7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElGRl84MDJfMVFf VkxBTgo+Pj4+IEBAIC0xNTQ4LDYgKzE1NTAsNyBAQCBlbnVtIG5ldGRldl9wcml2X2ZsYWdzIHsK Pj4+PiDCoCAjZGVmaW5lIElGRl9OT19SWF9IQU5ETEVSwqDCoMKgwqDCoMKgwqAgSUZGX05PX1JY X0hBTkRMRVIKPj4+PiDCoCAjZGVmaW5lIElGRl9GQUlMT1ZFUsKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgSUZGX0ZBSUxPVkVSCj4+Pj4gwqAgI2RlZmluZSBJRkZfRkFJTE9WRVJfU0xBVkXCoMKgwqDC oMKgwqDCoCBJRkZfRkFJTE9WRVJfU0xBVkUKPj4+PiArI2RlZmluZSBJRkZfU0xBVkVfUkVOQU1F X09LwqDCoMKgwqDCoMKgwqAgSUZGX1NMQVZFX1JFTkFNRV9PSwo+Pj4+IMKgwqDCoCAvKioKPj4+ PiDCoMKgICrCoMKgwqAgc3RydWN0IG5ldF9kZXZpY2UgLSBUaGUgREVWSUNFIHN0cnVjdHVyZS4K Pj4+PiBkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwo+Pj4+IGlu ZGV4IDcyMmQ1MGQuLmFlMDcwZGUgMTAwNjQ0Cj4+Pj4gLS0tIGEvbmV0L2NvcmUvZGV2LmMKPj4+ PiArKysgYi9uZXQvY29yZS9kZXYuYwo+Pj4+IEBAIC0xMTgwLDcgKzExODAsOCBAQCBpbnQgZGV2 X2NoYW5nZV9uYW1lKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIAo+Pj4+IGNvbnN0IGNoYXIgKm5l d25hbWUpCj4+Pj4gwqDCoMKgwqDCoCBCVUdfT04oIWRldl9uZXQoZGV2KSk7Cj4+Pj4gwqDCoMKg wqDCoMKgwqAgbmV0ID0gZGV2X25ldChkZXYpOwo+Pj4+IC3CoMKgwqAgaWYgKGRldi0+ZmxhZ3Mg JiBJRkZfVVApCj4+Pj4gK8KgwqDCoCBpZiAoZGV2LT5mbGFncyAmIElGRl9VUCAmJgo+Pj4+ICvC oMKgwqDCoMKgwqDCoCAhKGRldi0+cHJpdl9mbGFncyAmIElGRl9TTEFWRV9SRU5BTUVfT0spKQo+ Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVCVVNZOwo+Pj4KPj4+IFdpdGhvdXQgdGhl IGNvbmZpZ3VyYWJsZSBtb2R1bGUgcGFyYW1ldGVyLCBpIHRoaW5rIHdlIGRvbid0IGV2ZW4gbmVl ZAo+Pj4gdGhlIG5ldyBTTEFWRV9SRU5BTUVfT0sgcHJpdmF0ZSBmbGFnLgo+Pj4gQ2FuJ3Qgd2Ug c2ltcGx5IGNoZWNrIGZvciBJRkZfRkFJTE9WRVJfU0xBVkUgPwo+PiBJJ2QgcHJlZmVyIGtlZXBp bmcgdGhpcyBmbGFnIGZvciBub3csIGV2ZW4gdGhvdWdoIHdpdGhvdXQgY29uZmlndXJhYmxlIAo+ PiBtb2R1bGUgcGFyYW1ldGVyLiBUaGlzIGhhcyBjbGVhciBzZW1hbnRpY3MgdGhhdCBoZWxwcyBk ZWNvdXBsZSAKPj4gYmVoYXZpb3IgYWdhaW5zdCBzcGVjaWZpYyBsaW5rIHR5cGUsIGFuZCBtYXkg YmVuZWZpdCBvdGhlciAKPj4gYXV0by1lbnNsYXZlZCBuZXRkZXZzIGFzIHdlbGwuCj4+Cj4+IC1T aXdlaQo+Pgo+Pj4KPj4+PiB3cml0ZV9zZXFjb3VudF9iZWdpbigmZGV2bmV0X3JlbmFtZV9zZXEp Owo+Pj4+IGRpZmYgLS1naXQgYS9uZXQvY29yZS9mYWlsb3Zlci5jIGIvbmV0L2NvcmUvZmFpbG92 ZXIuYwo+Pj4+IGluZGV4IDRhOTJhOTguLjM0YzVjODcgMTAwNjQ0Cj4+Pj4gLS0tIGEvbmV0L2Nv cmUvZmFpbG92ZXIuYwo+Pj4+ICsrKyBiL25ldC9jb3JlL2ZhaWxvdmVyLmMKPj4+PiBAQCAtODAs MTQgKzgwLDE0IEBAIHN0YXRpYyBpbnQgZmFpbG92ZXJfc2xhdmVfcmVnaXN0ZXIoc3RydWN0IAo+ Pj4+IG5ldF9kZXZpY2UgKnNsYXZlX2RldikKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBl cnJfdXBwZXJfbGluazsKPj4+PiDCoMKgwqDCoMKgIH0KPj4+PiDCoCAtwqDCoMKgIHNsYXZlX2Rl di0+cHJpdl9mbGFncyB8PSBJRkZfRkFJTE9WRVJfU0xBVkU7Cj4+Pj4gK8KgwqDCoCBzbGF2ZV9k ZXYtPnByaXZfZmxhZ3MgfD0gKElGRl9GQUlMT1ZFUl9TTEFWRSB8IAo+Pj4+IElGRl9TTEFWRV9S RU5BTUVfT0spOwo+Pj4+IMKgwqDCoMKgwqDCoMKgIGlmIChmb3BzICYmIGZvcHMtPnNsYXZlX3Jl Z2lzdGVyICYmCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgICFmb3BzLT5zbGF2ZV9yZWdpc3Rlcihz bGF2ZV9kZXYsIGZhaWxvdmVyX2RldikpCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBO T1RJRllfT0s7Cj4+Pj4gwqDCoMKgwqDCoMKgwqAgbmV0ZGV2X3VwcGVyX2Rldl91bmxpbmsoc2xh dmVfZGV2LCBmYWlsb3Zlcl9kZXYpOwo+Pj4+IC3CoMKgwqAgc2xhdmVfZGV2LT5wcml2X2ZsYWdz ICY9IH5JRkZfRkFJTE9WRVJfU0xBVkU7Cj4+Pj4gK8KgwqDCoCBzbGF2ZV9kZXYtPnByaXZfZmxh Z3MgJj0gfihJRkZfRkFJTE9WRVJfU0xBVkUgfCAKPj4+PiBJRkZfU0xBVkVfUkVOQU1FX09LKTsK Pj4+PiDCoCBlcnJfdXBwZXJfbGluazoKPj4+PiDCoMKgwqDCoMKgIG5ldGRldl9yeF9oYW5kbGVy X3VucmVnaXN0ZXIoc2xhdmVfZGV2KTsKPj4+PiDCoCBkb25lOgo+Pj4+IEBAIC0xMjEsNyArMTIx LDcgQEAgaW50IGZhaWxvdmVyX3NsYXZlX3VucmVnaXN0ZXIoc3RydWN0IG5ldF9kZXZpY2UgCj4+ Pj4gKnNsYXZlX2RldikKPj4+PiDCoMKgwqDCoMKgwqDCoCBuZXRkZXZfcnhfaGFuZGxlcl91bnJl Z2lzdGVyKHNsYXZlX2Rldik7Cj4+Pj4gwqDCoMKgwqDCoCBuZXRkZXZfdXBwZXJfZGV2X3VubGlu ayhzbGF2ZV9kZXYsIGZhaWxvdmVyX2Rldik7Cj4+Pj4gLcKgwqDCoCBzbGF2ZV9kZXYtPnByaXZf ZmxhZ3MgJj0gfklGRl9GQUlMT1ZFUl9TTEFWRTsKPj4+PiArwqDCoMKgIHNsYXZlX2Rldi0+cHJp dl9mbGFncyAmPSB+KElGRl9GQUlMT1ZFUl9TTEFWRSB8IAo+Pj4+IElGRl9TTEFWRV9SRU5BTUVf T0spOwo+Pj4+IMKgwqDCoMKgwqDCoMKgIGlmIChmb3BzICYmIGZvcHMtPnNsYXZlX3VucmVnaXN0 ZXIgJiYKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgIWZvcHMtPnNsYXZlX3VucmVnaXN0ZXIoc2xh dmVfZGV2LCBmYWlsb3Zlcl9kZXYpKQo+Pj4+Cj4+Cj4gCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0 dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg==