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 3E9E2A0350; Mon, 22 Jun 2020 17:51:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 169251D8FC; Mon, 22 Jun 2020 17:51:55 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20070.outbound.protection.outlook.com [40.107.2.70]) by dpdk.org (Postfix) with ESMTP id BA7061D8E1 for ; Mon, 22 Jun 2020 17:51:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QL9cLWXzduTIzvz351jUVE4N1bmBDBH4JPEF7ObYBTiZvSFwgcN6TTFMWmmM8JWndj20H7ime47pHZ7UciUNrLE2XXKCn1/LPdyRpy0gsoCmBTQJ1B133s7CFyWS7krYscwXgO0CdCee8xCBU8ND8jHSia1ol2eGVjnSULj9qgYqCfzfcRNgjaclVIR6yiVQtwKuV7zqwaOB89+GSjz1wfB8RV+UclJyp6wMezD6TD5ypbL4NhSeDN/3rSHfOmw69qJECH3JJ3OZqGhM7maylW1UTxBgm4M8Q37oO0d3b20n1w5BAl+Pc35sK3uwBiaocIglTNSoqYxp5DhgzrXgoA== 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=538DRCTcT9TYn8rOA931ktfaHjrrtqSaEIL72qpTKF0=; b=f7MCYJRb9HmnFcS+0s9p2qI3fjcWCoFVK5LTFt2R6j82POmfBrNQO48Oz/AnORLTsFGIgPt2yioH1JbOJj7k5BYB1EMAGiEwmCXMBVqAmh+MYEwaIwzoLUn4Tt2V2he6RLtZKtuVjNIjrr+5vnsTH9KPEJ+42oYlhQJPCy6OSvLaQcbr1IjyeMaCKTVImtJBWlbwPaq3cZQ1mduPr24rXY020qBTc+8VS6dzyNtefGilNoWfAKMpjxW/SPKOTNIQa0PV0QnYbH4M3Qk56JqJripiJ4DygCfjRhWGynVOb/jZGW4cbF8cct/7y4SScqoUM1Q9owNc1ADd0zvowt6knA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=538DRCTcT9TYn8rOA931ktfaHjrrtqSaEIL72qpTKF0=; b=UALZUf7bZ6X9KJqEnqRWQ9jZRogUVbz/XXZEXxfnspNvL1VprTEcifIQNcnBjnduNJXT0yrFAH1BrUwd+1dPxF6Bf57cUFgq2SPA+n7TiJ8CSJNee+56nEkwWPOR2QiQrUa9CubNqHuEef1vPmg02L3kJ5ZP8r1bU+JBQ+xc/60= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB3828.eurprd05.prod.outlook.com (2603:10a6:208:1f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Mon, 22 Jun 2020 15:51:52 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998%7]) with mapi id 15.20.3109.027; Mon, 22 Jun 2020 15:51:52 +0000 From: Matan Azrad To: Maxime Coquelin , Xiao Wang CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 3/4] vhost: improve device ready definition Thread-Index: AQHWRY1+WLgdYR0e1E+Ph0x8zoCWqqjfjwYAgAA4hqCAAC+iAIACniawgAG2/YCAAAcQgIAAB3QAgAAM1OCAAC/AgIAACy5AgAAclQCAAAzpQA== Date: Mon, 22 Jun 2020 15:51:52 +0000 Message-ID: References: <1592497686-433697-1-git-send-email-matan@mellanox.com> <1592497686-433697-4-git-send-email-matan@mellanox.com> <631a3cf3-f21a-b292-b475-93552d8f73e8@redhat.com> <96191de9-63bd-0937-5bdd-d81e9db14e9f@redhat.com> <74f35cd8-3543-ba1c-0dc7-1502599e6cf7@redhat.com> <197079f4-7436-4f9e-7b8e-b8cb42042ffb@redhat.com> <62311463-2bc1-7f8b-1ec0-da31418e1d75@redhat.com> <6a2d8143-e48d-cdef-5b16-1c340d99b1ae@redhat.com> In-Reply-To: <6a2d8143-e48d-cdef-5b16-1c340d99b1ae@redhat.com> Accept-Language: en-US, he-IL 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=mellanox.com; x-originating-ip: [77.124.38.174] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 35c6dd6c-62e7-41d0-83cf-08d816c42e8b x-ms-traffictypediagnostic: AM0PR0502MB3828: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0442E569BC x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oEh7qyfBpqvChZQBdVrbdOYg0yQZf/SH1TXezGJM2vUHC2bPZV1J2EK8CWHqM+4PrGU68WifJngGHGVmJSXtiF35DzSqZ8Fyvub3APQpW+ouFIW+dHRhSNB0X8tjXLr5PbSEk8PL/LGmLoOA4zcqrbj8usA1xsuX5KyyQcrh9LiEL/ZxPmZIrHoyDZtZs6hYLSIChCFcbyu3vQlCwOx8KnKKq/t5ne5ACYPQQkqe7f1s5fhAk8S1Slf5sL63JB3vYAnhLwHiltG3RvS6ay3Ur6tzJRuT75EBIacZjiWEl6g8gh+NOI+pFZf838iRUquej+3RlZFnk8+DewXkulx3LA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(346002)(136003)(39860400002)(396003)(376002)(33656002)(76116006)(71200400001)(2906002)(66556008)(64756008)(66446008)(5660300002)(52536014)(9686003)(110136005)(66946007)(66476007)(83380400001)(8676002)(4326008)(86362001)(55016002)(316002)(26005)(186003)(53546011)(6506007)(478600001)(7696005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: cs+uMqyEVlJQfkgna2xmxQ3J3IBGw8m3QgNdAubg6B0JghbJPGcMLZWI7FezlHkjIemnPx3xMoyGtG8JCCDicgcKDwM+ysp2BlHfrqb2pWwPw+MXS8JrssdlC4LfmS7OAYm2R7lar/noYzI29m1CCCBeDNBa4S5VGtsbYZPao2X+8rCTuOCEASx2pBXKRO5Gn6JiydxEIMIfa66TfDOiSrrkbStO3YO/418AUyk66PwVzxAjyman33K7eK9cq5on5lCDFnqyQRa153DWq0Xnzjx0Rs9DBNZZoFKRyF8nfnN5g9i956h1WnRMw4HAmUd5coHw5ikEDWNUrmqFwcHT1ZwTpt1zTy5tQ41naj9+8owrwyQNjta1guOVr6Vs/EeAw4ifw/cSoJVEh7BSdekocUpaJ7JVIS/fNSLMk17Tzjw5gQK2LiKKIbCSBvC/lvzJM7k/PcfjbnK0kQ1O77brwGlJ6T4MTQS7gdfYYl1QLaDogrA7EjDTVxYixAO5GIAr x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35c6dd6c-62e7-41d0-83cf-08d816c42e8b X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2020 15:51:52.1752 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7k54F3rdpRWAiHKfaeW5FMrM2lPExqjmUGYIJDQcMxfiYr57YPdSZglVVDgAA/02YdiFDhUWeyycVTigIqCXcw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3828 Subject: Re: [dpdk-dev] [PATCH v1 3/4] vhost: improve device ready definition 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" DQoNCkZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gT24gNi8yMi8yMCAzOjQzIFBNLCBNYXRhbiBB enJhZCB3cm90ZToNCj4gPg0KPiA+DQo+ID4gRnJvbTogTWF4aW1lIENvcXVlbGluOg0KPiA+PiBT ZW50OiBNb25kYXksIEp1bmUgMjIsIDIwMjAgMzozMyBQTQ0KPiA+PiBUbzogTWF0YW4gQXpyYWQg PG1hdGFuQG1lbGxhbm94LmNvbT47IFhpYW8gV2FuZw0KPiA+PiA8eGlhby53LndhbmdAaW50ZWwu Y29tPg0KPiA+PiBDYzogZGV2QGRwZGsub3JnDQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEg My80XSB2aG9zdDogaW1wcm92ZSBkZXZpY2UgcmVhZHkgZGVmaW5pdGlvbg0KPiA+Pg0KPiA+Pg0K PiA+Pg0KPiA+PiBPbiA2LzIyLzIwIDEyOjA2IFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+ DQo+ID4+PiBIaSBNYXhpbWUNCj4gPj4+DQo+ID4+PiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwgSnVuZSAyMiwg MjAyMCAxMTo1NiBBTQ0KPiA+Pj4+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29t PjsgWGlhbyBXYW5nDQo+ID4+Pj4gPHhpYW8udy53YW5nQGludGVsLmNvbT4NCj4gPj4+PiBDYzog ZGV2QGRwZGsub3JnDQo+ID4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MSAzLzRdIHZob3N0OiBp bXByb3ZlIGRldmljZSByZWFkeSBkZWZpbml0aW9uDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ ID4+Pj4gT24gNi8yMi8yMCAxMDo0MSBBTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+Pj4+PiBU aGUgaXNzdWUgaXMgaWYgeW91IG9ubHkgY2hlY2sgcmVhZHkgc3RhdGUgb25seSBiZWZvcmUgYW5k IGFmdGVyDQo+ID4+Pj4+PiB0aGUgbWVzc2FnZSBhZmZlY3RpbmcgdGhlIHJpbmcgaXMgaGFuZGxl ZCwgaXQgY2FuIGJlIHJlYWR5IGF0DQo+ID4+Pj4+PiBib3RoIHN0YWdlcywgd2hpbGUgdGhlIHJp bmdzIGhhdmUgY2hhbmdlZCBhbmQgc3RhdGUgY2hhbmdlDQo+ID4+Pj4+PiBjYWxsYmFjayBzaG91 bGQNCj4gPj4+PiBoYXZlIGJlZW4gY2FsbGVkLg0KPiA+Pj4+PiBCdXQgaW4gdGhpcyB2ZXJzaW9u IEkgY2hlY2tlZCB0d2ljZSwgYmVmb3JlIG1lc3NhZ2UgaGFuZGxlciBhbmQNCj4gPj4+Pj4gYWZ0 ZXINCj4gPj4+PiBtZXNzYWdlIGhhbmRsZXIsIHNvIGl0IHNob3VsZCBjYXRjaCBhbnkgdXBkYXRl Lg0KPiA+Pj4+DQo+ID4+Pj4gTm8sIHRoaXMgaXMgbm90IGVub3VnaCwgd2UgaGF2ZSB0byBjaGVj ayBhbHNvIGR1cmluZyBzb21lIGhhbmRsZXJzLA0KPiA+Pj4+IHNvIHRoYXQgdGhlIHJlYWR5IHN0 YXRlIGlzIGludmFsaWRhdGVkIGJlY2F1c2Ugc29tZXRpbWVzIGl0IHdpbGwgYmUNCj4gPj4+PiBy ZWFkeSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBtZXNzYWdlIGhhbmRsZXIgYnV0IHdpdGggZGlmZmVy ZW50IHZhbHVlcy4NCj4gPj4+Pg0KPiA+Pj4+IFRoYXQncyB3aGF0IEkgZGlkIGluIG15IGV4YW1w bGUgcGF0Y2g6DQo+ID4+Pj4gQEAgLTE4NDcsMTUgKzE4OTIsMTYgQEAgdmhvc3RfdXNlcl9zZXRf dnJpbmdfa2ljayhzdHJ1Y3QNCj4gdmlydGlvX25ldA0KPiA+Pj4+ICoqcGRldiwgc3RydWN0IFZo b3N0VXNlck1zZyAqbXNnLA0KPiA+Pj4+DQo+ID4+Pj4gLi4uDQo+ID4+Pj4NCj4gPj4+PiAgICAg ICAgIGlmICh2cS0+a2lja2ZkID49IDApDQo+ID4+Pj4gICAgICAgICAgICAgICAgIGNsb3NlKHZx LT5raWNrZmQpOw0KPiA+Pj4+ICsNCj4gPj4+PiArICAgICAgIHZxLT5raWNrZmQgPSBWSVJUSU9f VU5JTklUSUFMSVpFRF9FVkVOVEZEOw0KPiA+Pj4+ICsNCj4gPj4+PiArICAgICAgIHZob3N0X3Vz ZXJfdXBkYXRlX3ZyaW5nX3N0YXRlKGRldiwgZmlsZS5pbmRleCk7DQo+ID4+Pj4gKw0KPiA+Pj4+ ICAgICAgICAgdnEtPmtpY2tmZCA9IGZpbGUuZmQ7DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFdp dGhvdXQgdGhhdCwgdGhlIHJlYWR5IGNoZWNrIHdpbGwgcmV0dXJuIHJlYWR5IGJlZm9yZSBhbmQg YWZ0ZXINCj4gPj4+PiB0aGUga2lja2ZkIGNoYW5nZWQgYW5kIHRoZSBkcml2ZXIgd29uJ3QgYmUg bm90aWZpZWQuDQo+ID4+Pg0KPiA+Pj4gVGhlIGRyaXZlciB3aWxsIGJlIG5vdGlmaWVkIGluIHRo ZSBuZXh0IFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0VOQUJMRQ0KPiA+PiBtZXNzYWdlIGFjY29yZGlu ZyB0byB2MS4NCj4gPj4+DQo+ID4+PiBPbmUgb2Ygb3VyIGFzc3VtcHRpb24gd2UgYWdyZWVkIG9u IGluIHRoZSBkZXNpZ24gbWFpbCBpcyB0aGF0IGl0DQo+ID4+PiBkb2Vzbid0DQo+ID4+IG1ha2Ug c2Vuc2UgdGhhdCBRRU1VIHdpbGwgY2hhbmdlIHF1ZXVlIGNvbmZpZ3VyYXRpb24gd2l0aG91dCBl bmFibGluZw0KPiA+PiB0aGUgcXVldWUgYWdhaW4uDQo+ID4+PiBCZWNhdXNlIG9mIHRoYXQgd2Ug ZGVjaWRlZCB0byBmb3JjZSBjYWxsaW5nIHN0YXRlIGNhbGxiYWNrIGFnYWluDQo+ID4+PiB3aGVu DQo+ID4+IFFFTVUgc2VuZCBWSE9TVF9VU0VSX1NFVF9WUklOR19FTkFCTEUoMSkgbWVzc2FnZSBl dmVuIGlmIHRoZQ0KPiBxdWV1ZSBpcw0KPiA+PiBhbHJlYWR5IHJlYWR5Lg0KPiA+Pj4gU28gd2hl biBkcml2ZXIvYXBwIHNlZSBzdGF0ZSBlbmFibGUtPmVuYWJsZSwgaXQgc2hvdWxkIHRha2UgaW50 bw0KPiA+Pj4gYWNjb3VudA0KPiA+PiB0aGF0IHRoZSBxdWV1ZSBjb25maWd1cmF0aW9uIHdhcyBw cm9iYWJseSBjaGFuZ2VkLg0KPiA+Pj4NCj4gPj4+IEkgdGhpbmsgdGhhdCB0aGlzIGFzc3VtcHRp b24gaXMgY29ycmVjdCBhY2NvcmRpbmcgdG8gdGhlIFFFTVUgY29kZS4NCj4gPj4NCj4gPj4gWWVz LCB0aGlzIHdhcyBvdXIgaW5pdGlhbCBhc3N1bXB0aW9uLg0KPiA+PiBCdXQgbm93IGxvb2tpbmcg aW50byB0aGUgZGV0YWlscyBvZiB0aGUgaW1wbGVtZW50YXRpb24sIEkgZmluZCBpdCBpcw0KPiA+ PiBldmVuIGNsZWFuZXIgJiBjbGVhcmVyIG5vdCB0byBkbyB0aGlzIGFzc3VtcHRpb24uDQo+ID4+ DQo+ID4+PiBUaGF0J3Mgd2h5IEkgcHJlZmVyIHRvIGNvbGxlY3QgYWxsIHRoZSByZWFkeSBjaGVj a3MgY2FsbGJhY2tzIChxdWV1ZQ0KPiA+Pj4gc3RhdGUgYW5kDQo+ID4+IGRldmljZSBuZXdcY29u ZikgdG8gb25lIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgdGhlDQo+ID4+IG1l c3NhZ2UNCj4gPj4gaGFuZGxlcjoNCj4gPj4+IFBzZXVkbzoNCj4gPj4+ICB2aG9zdF91c2VyX3Vw ZGF0ZV9yZWFkeV9zdGF0dXNlcygpIHsNCj4gPj4+IAlzd2l0Y2ggKG1zZyk6DQo+ID4+PiAJCWNh c2UgZW5hYmxlOg0KPiA+Pj4gCQkJaWYoZW5hYmxlIGlzIDEpDQo+ID4+PiAJCQkJZm9yY2UgcXVl dWUgc3RhdGUgPTEuDQo+ID4+PiAJCWNhc2UgY2FsbGZkDQo+ID4+PiAJCWNhc2Uga2lja2ZkDQo+ ID4+PiAJCQkJLi4uLi4NCj4gPj4+IAkJQ2hlY2sgcXVldWUgYW5kIGRldmljZSByZWFkeSArIGNh bGwgY2FsbGJhY2tzIGlmIG5lZWRlZC4uDQo+ID4+PiAJCURlZmF1bHQNCj4gPj4+IAkJCVJldHVy bjsNCj4gPj4+IH0NCj4gPj4NCj4gPj4gSSBmaW5kIGl0IG1vcmUgbmF0dXJhbCB0byAiaW52YWxp ZGF0ZSIgcmVhZHkgc3RhdGUgd2hlcmUgaXQgaXMNCj4gPj4gaGFuZGxlZCAoYWZ0ZXIgdnJpbmdf aW52YWxpZGF0ZSgpLCBiZWZvcmUgc2V0dGluZyBuZXcgRkQgZm9yIGNhbGwgJg0KPiA+PiBraWNr LCAuLi4pDQo+ID4NCj4gPiBJIHRoaW5rIHRoYXQgaWYgeW91IGdvIHdpdGggdGhpcyBkaXJlY3Rp b24sIGlmIHRoZSBmaXJzdCBxdWV1ZSBwYWlyIGlzIGludmFsaWRhdGVkLA0KPiB5b3UgbmVlZCB0 byBub3RpZnkgYXBwXGRyaXZlciBhbHNvIGFib3V0IGRldmljZSByZWFkeSBjaGFuZ2UuDQo+ID4g QWxzbyBpdCB3aWxsIGNhdXNlIDIgbm90aWZpY2F0aW9ucyB0byB0aGUgZHJpdmVyIGluc3RlYWQg b2Ygb25lIGluIGNhc2Ugb2YgRkQNCj4gY2hhbmdlLg0KPiANCj4gWW91J2xsIGFsd2F5cyBlbmQt dXAgd2l0aCB0d28gbm90aWZpY2F0aW9ucywgZWl0aGVyIFFlbXUgaGFzIHNlbnQgdGhlIGRpc2Fi bGUNCj4gYW5kIHNvIHlvdSdsbCBoYXZlIG9uZSBub3RpZmljYXRpb24gZm9yIHRoZSBkaXNhYmxl IGFuZCBvbmUgZm9yIHRoZSBlbmFibGUsIG9yDQo+IGl0IGRpZG4ndCBzZW50IHRoZSBkaXNhYmxl IGFuZCBpdCB3aWxsIGhhcHBlbiBhdCBvbGQgdmFsdWUgaW52YWxpZGF0aW9uIHRpbWUgYW5kDQo+ IGFmdGVyIG5ldyB2YWx1ZSBpcyB0YWtlbiBpbnRvIGFjY291bnQuDQo+DQoNCkkgZG9uJ3Qgc2Vl IGl0IGluIGN1cnJlbnQgUUVNVSBiZWhhdmlvci4NCldoZW4gd29ya2luZyBNUSBJIHNlZSB0aGF0 IHNvbWUgdmlydHFzIGdldCBjb25maWd1cmF0aW9uIG1lc3NhZ2Ugd2hpbGUgdGhleSBhcmUgaW4g ZW5hYmxlZCBzdGF0ZS4NClRoZW4sIGVuYWJsZSBtZXNzYWdlIGlzIHNlbnQgYWdhaW4gbGF0ZXIu DQoNCiANCj4gPiBXaHkgbm90IHRvIHRha2UgdGhpcyBjb3JyZWN0IGFzc3VtcHRpb24gYW5kIHVw ZGF0ZSByZWFkeSBzdGF0ZSBvbmx5IGluIG9uZQ0KPiBwb2ludCBpbiB0aGUgY29kZSBpbnN0ZWFk IG9mIGRvaW5nIGl0IGluIGFsbCB0aGUgY29uZmlndXJhdGlvbiBoYW5kbGVycyBhcm91bmQ/DQo+ ID4gSU1PLCBJdCBpcyBjb3JyZWN0LCBsZXNzIGludHJ1c2l2ZSwgc2ltcGxlciwgY2xlYXJlciBh bmQgY2xlYW5lci4NCj4gDQo+IEkganVzdCBsb29rZWQgY2xvc2VyIGF0IHRoZSBWaG9zdC11c2Vy IHNwZWMsIGFuZCBJJ20gbm8gbW9yZSBzbyBzdXJlIHRoaXMgaXMgYQ0KPiBjb3JyZWN0IGFzc3Vt cHRpb246DQo+IA0KPiAiV2hpbGUgcHJvY2Vzc2luZyB0aGUgcmluZ3MgKHdoZXRoZXIgdGhleSBh cmUgZW5hYmxlZCBvciBub3QpLCBjbGllbnQgbXVzdA0KPiBzdXBwb3J0IGNoYW5naW5nIHNvbWUg Y29uZmlndXJhdGlvbiBhc3BlY3RzIG9uIHRoZSBmbHkuIg0KDQpPaywgdGhpcyBkb2Vzbid0IGV4 cGxhaW4gaG93IGNvbmZpZ3VyYXRpb24gaXMgY2hhbmdlZCBvbiB0aGUgZmx5Lg0KQXMgSSBtZW50 aW9uZWQsIFFFTVUgc2VuZHMgZW5hYmxlIG1lc3NhZ2UgYWx3YXlzIGFmdGVyIGNvbmZpZ3VyYXRp b24gbWVzc2FnZS4NCg0KDQo+ID4gSW4gYWRkaXRpb24gaXQgc2F2ZXMgdGhlIHN0eWxlIHRoYXQg YWxyZWFkeSB1c2VkIGluIHRoaXMgZnVuY3Rpb24gaW46DQo+ID4gLSB2aG9zdF91c2VyX2NoZWNr X2FuZF9hbGxvY19xdWV1ZV9wYWlyDQo+ID4gLSAJc3dpdGNoIChyZXF1ZXN0KSB7DQo+ID4gCWNh c2UgVkhPU1RfVVNFUl9TRVRfRkVBVFVSRVM6DQo+ID4gCWNhc2UgVkhPU1RfVVNFUl9TRVRfUFJP VE9DT0xfRkVBVFVSRVM6DQo+ID4gCWNhc2UgVkhPU1RfVVNFUl9TRVRfT1dORVI6DQo+ID4gCWNh c2UgVkhPU1RfVVNFUl9TRVRfTUVNX1RBQkxFOg0KPiA+IAljYXNlIFZIT1NUX1VTRVJfU0VUX0xP R19CQVNFOg0KPiA+IAljYXNlIFZIT1NUX1VTRVJfU0VUX0xPR19GRDoNCj4gPiAJY2FzZSBWSE9T VF9VU0VSX1NFVF9WUklOR19OVU06DQo+ID4gCWNhc2UgVkhPU1RfVVNFUl9TRVRfVlJJTkdfQURE UjoNCj4gPiAJY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19CQVNFOg0KPiA+IAljYXNlIFZIT1NU X1VTRVJfU0VUX1ZSSU5HX0tJQ0s6DQo+ID4gCWNhc2UgVkhPU1RfVVNFUl9TRVRfVlJJTkdfQ0FM TDoNCj4gPiAJY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19FUlI6DQo+ID4gCWNhc2UgVkhPU1Rf VVNFUl9TRVRfVlJJTkdfRU5BQkxFOg0KPiA+IAljYXNlIFZIT1NUX1VTRVJfU0VORF9SQVJQOg0K PiA+IAljYXNlIFZIT1NUX1VTRVJfTkVUX1NFVF9NVFU6DQo+ID4gCWNhc2UgVkhPU1RfVVNFUl9T RVRfU0xBVkVfUkVRX0ZEOg0KPiA+IAkJCXZob3N0X3VzZXJfbG9ja19hbGxfcXVldWVfcGFpcnMo ZGV2KTsNCj4gPg0KPiA+IE1hdGFuDQo+ID4NCj4gPg0KPiA+DQo+ID4NCg0K