From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7E84BA0547; Mon, 18 Oct 2021 03:01:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3745840041; Mon, 18 Oct 2021 03:01:13 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id E82994003C for ; Mon, 18 Oct 2021 03:01:10 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10140"; a="251603373" X-IronPort-AV: E=Sophos;i="5.85,380,1624345200"; d="scan'208";a="251603373" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2021 18:01:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,380,1624345200"; d="scan'208";a="565796801" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by FMSMGA003.fm.intel.com with ESMTP; 17 Oct 2021 18:01:09 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.2242.12; Sun, 17 Oct 2021 18:01:09 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.2242.12; Sun, 17 Oct 2021 18:01:08 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.2242.12 via Frontend Transport; Sun, 17 Oct 2021 18:01:08 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sun, 17 Oct 2021 18:01:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LM+mpnpaW1sSEzrYL86sBGRzeQ+yw9UKHs7Ksepsw6XuP06jGuFxhPh64Pnoxt1mhZb2gbD2Z6duxXQFRgA/FI99X5bMKXq1jqS7G3P/Z+8KN43b6zT5NuKDOdxhmWedZh+cy5geI8fvjpI/22y5QtnEBMcRdcZRSK3FMZR23itx2o2KzL1JGJwIcOcZUlKdm8NzcmSzwTuPb2zb9KUpxrw3sVDiMfVXqjZv8EmRIBb1Z0Hz2mpA6EECbklcmjekaWVLUuTb86ptAMALHzIcYyC6uxNq42dsu5xob7vHzoelJsnI4xGgi7ttZZpy/xySlClADPME4N4sl8wzMsA6gw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iTMD1JxC379YO2XzSIXjZb1oFoX+wewq8ufA9zfJhvE=; b=EoHRDS2b4lTSLvukmT5xExjN71+8tJOOkJNckDKEQ1I+jGzuobXzq/1LOdF7uT0vdDaaUbMgugqeAMO7eKgwYBQbwbeRoczn5oD2oP6+1xl3eyilt7TR95bMbv6tgBV/8Ur0dP+yuHY6RGWVBFbQEZoNDxluufis5PcoFSDq3P7SbE5QAi11UcyE1ldi7wq+vJKZlS3mX39BDqn1Ah2yyWWp3ATdP/nlBmadgonKNrZA7sbEZqp0D3v+7jRnYdipyrTbTVdknhAhCgCELsFI08b62ERLFfZ2wMeqn5lSs8+rEaXuT4r8LYAgV1s/pmiU0KgoSK8dwn0kq60mm/lKvQ== 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=iTMD1JxC379YO2XzSIXjZb1oFoX+wewq8ufA9zfJhvE=; b=DYZpUByE73syrOf9HJwEb6KBqN3fEGjPjmuHxtCHmITo3tLTHbNMFjQGpPcsESvKO6uvMGzW4dnwlPK9T5TuYavb+WRODY1OhBsTzwX9WuPUuyEbgG5pfyzvdzC23syT7Y1Qor23vLMhgIT1MJC2Bd6gfVGWLjFrWWAAYT5Jir8= Received: from PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23) by PH0PR11MB5094.namprd11.prod.outlook.com (2603:10b6:510:3f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Mon, 18 Oct 2021 01:01:07 +0000 Received: from PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::a80e:d881:3c58:9730]) by PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::a80e:d881:3c58:9730%3]) with mapi id 15.20.4608.018; Mon, 18 Oct 2021 01:01:07 +0000 From: "Liu, Changpeng" To: "Xia, Chenbo" , Maxime Coquelin , Li Feng CC: "dev@dpdk.org" Thread-Topic: [PATCH v1] vhost: add sanity check for resubmiting reqs in split ring Thread-Index: AQHXmwKxojzaZhq9Y0al6VfO2MQ1+6vScdAAgAACSgCAAABQMIAFy7CQ Date: Mon, 18 Oct 2021 01:01:07 +0000 Message-ID: References: <20210827051241.2448098-1-fengli@smartx.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5dbfbc95-cc32-4ae7-47c9-08d991d2c498 x-ms-traffictypediagnostic: PH0PR11MB5094: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KDoma1lEoELC+UxHg5k9kUZW40da3O2SASSV/Qe61vNcoABQgkxMAfABmYNFCpEliJjPDFDSvZb14jnN8kfoCaFxX5PhqGS2AmnAfTJRHUatAPiN5W1ehUrC/Z8mQbmg85v/fpuT6YJ9VdsQcGNlEEfPpaLjTNBKaDqFxUkOxsmebDzqVAi9k1GHMe3DxHhgQMhqvSVe8WLdStEwvGu4eA58Z87zn0Fw3E3ZFRYiv2qnZnN8tg68URQoDtETKttdAV3lZq8Y+S3eMI6MYm8nh3uIhe/nLAr7VpRTquVIjRCxkkBqZlAnsP99DjfdhPVpdMCbyj372df9roYKFJYSb0/UDLysDyJhNIyfw7f5hMpL+dFAj+h7oYDYENgPeZU0RWAK9V5i2zj/ABMQbLQJjT1xdeQjHulq8gg6qycVJRCck4V/6pUanofJwG4oQ7kNG0LOx/ARxrouVeTu3LQ7f1EcXClNc1hnnsrbZKN7XwPFI7elxEx6zMUYEL/PL923iPw7nE29h3jdYGYwg4CaBU1vgghU9xaxYNmbjQgf+h+mkQa4Zz5+AJJTNYWxOEYBnhVCT9wCNc2gSfvB+oBMLNPmHdRRrybKgwYGVQ3wMlLUIJSsx4/Qvca1GqvAQGLlYiXS+fKXDHRbhin3+IcyZphRcERrtf9ARKcRJtZrikY/PboKVBIKCq7+5ezkEcPJSCd3bnDca3m+A0fx9NtIgA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5093.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(38070700005)(8676002)(71200400001)(82960400001)(26005)(316002)(66446008)(52536014)(9686003)(110136005)(6506007)(55016002)(33656002)(508600001)(83380400001)(8936002)(122000001)(76116006)(186003)(86362001)(66946007)(38100700002)(4326008)(53546011)(2906002)(64756008)(66556008)(66476007)(7696005)(5660300002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SGl2N2gzb3dFOFhwZ2ROMlpXc1Z2WnN2emR2RXQ5ODNnMUNFVmdVVWF4M0pF?= =?utf-8?B?OWZIQnRMWmswc0xKT08xWVlGeTRmZzVET2RSRkxvM096dEgydEdFYVRWTmhW?= =?utf-8?B?UTFUQUlITXd2Mm1NQ05WL3k5Sy9idHBTeEU5aVNRTVRJT3hUOTdGb1h0SkRm?= =?utf-8?B?alRUWEMyK1NWYTBQVnR4ZFZuZThMTWNvd0pjMExNODBEUWowY3RnOGd0SFBK?= =?utf-8?B?N0dPVTA5YUtMS1ZNOUdvZXJYb3BrQm5Hd1BheFFQU3JhbzMyR2N3K211RHRU?= =?utf-8?B?VTVkcjljeHdjMnM1Qmd3M0l5TGd0THcvQ1RHQWpXMDZ1WnlpQWxnOFFDNG5x?= =?utf-8?B?UC9CVUtML0lmSnJPRWtMOHBSMkhtSE5XSnBrNHVxY0IraHQyZk1hMmIvaHFi?= =?utf-8?B?c0ZOTS9BOUhoWEtnclc3ZklTS1RldExQa1JhUlJjWFhydWZ0SGJxdHFvMkds?= =?utf-8?B?ZnMrdXU5cjFReHMrbUxzNG41RmpPaXhrZ2oydUZVWnVLbGNibTlyOFVXcTRO?= =?utf-8?B?QWtNZGZqYzdyZHhKaDdSK2NhKzZDZVh0NXFtaVRoVVd4Y2NGQVVRSFdXb2Nh?= =?utf-8?B?b0JzVVBnVGhIQmZyQkh2RjE2SGk4SWoxY2Vxc09CVkQ2YlVwdHZpOU0zdnFE?= =?utf-8?B?bFNIdDQxbkZRSXBMT1RZMHkvRm5mdVUyNGtjVERmcEtVd1Z4V0svZ2RmZ3J4?= =?utf-8?B?WHV4VnFIOEF2T2V5d0RIVytJRE1NMmhWK3FHSHV2K0RmWUl3QzdBVzdKY0ts?= =?utf-8?B?eHVGb3Rra2NNSlQyemZkdExnV1YvbFByOVU5T0dhTy9nQmdlVFQ4V1AzL1Jm?= =?utf-8?B?bTdZb29MNVpRNlU4aTdiaVpQMXc5dUZoMjJpdUZ2a1dUSnQwYlhqbko0YmxW?= =?utf-8?B?dXJvNGorcGUyMU1VdEZBVEEvcWppLzVuclpSbGIyMjN4dm1RNHJmZXh6Smxy?= =?utf-8?B?aHNud3BGUnRRN1dCclZKcXF2a3NEbEk2ZGpHdUZMaTliSHEvbTVYZFhwL3lj?= =?utf-8?B?WWRuVUdUU2xsYjhGYk90bTVXOTRnR0VXN0szcFc4VTkyc3dVbUJ5STBWRkRm?= =?utf-8?B?bUdvcUdlYTQ3a25wMUw5Z3lNREV3bFpSZ0hDM1g4eXVwbGwxbHBkZjV2L0NT?= =?utf-8?B?VFpYL0JyVm8rSEVITUZlOUpheHllSy9CbzhPRE5NanFoeGF3d1ZMdEV3cm03?= =?utf-8?B?SmgxeHNxUHFKMEZMQzcwTVRxMml2bWlrNnEzOXZ4UDlUZjhISHJPWDgyWnVn?= =?utf-8?B?TmpzOTk1dTlqTzZ3NmVTeDRocTVEWVVCemlnNjROK0lIYzRWOUNGR21ET1lP?= =?utf-8?B?YnhWOGxZSEhoTXlia0xZUEYxbUpOejBsV2hNNjArTC9nRGJOYUwzMThKSmtI?= =?utf-8?B?Qm9xNlRNb1U5VDJKdU94c2NvOGpLRk5Da1Fvdi9mTHJxcUtTV1YwNlBxL0pU?= =?utf-8?B?RmZIcGc4YnVQck9BU0VzTkV5ZlU4UmNGWjMvWU5selJEYURFTHFqK0RORXE4?= =?utf-8?B?dUNCRm1NWHlTWEVQaHFQdzcyZWJGYzM3VmxOUTFRVHd0MTFJcmI0QXIyWFBr?= =?utf-8?B?OThJcEJQaklyUzF4OTFYL21MRjRGM0V1dGROdWh5U0Fhc0VkQ3FzWUtTRXlP?= =?utf-8?B?YU5DTWpFM0N2eHJPUDdZdWlWc3ZSYlZ2WFJHN2pqQkY0ZlRaYk0vTVJ1ZFFi?= =?utf-8?B?ZnVyWlp0TmpaMGJuUlhVd0xGaFg0ZDNlT09meWJsOWZtcFBNdWROdmVYbXND?= =?utf-8?Q?5/WUOkw9nH/YYmaa4pmcdUdxkBwFNEQE25ZagGH?= 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: PH0PR11MB5093.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5dbfbc95-cc32-4ae7-47c9-08d991d2c498 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2021 01:01:07.6193 (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: RL0hfIgzcnrbmg+jNVh1VozRXobunyzMAZVVMM7xLmGo56F8swbVne3eqgYR11N9il9vKgJ+qonKoTINErFvwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5094 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1] vhost: add sanity check for resubmiting reqs in split ring X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" SSBhZ3JlZSB3aXRoIE1heGltZSwganVzdCBhZGQgYW4gZXJyb3IgbG9nIGRvZXNuJ3QgaGVscCBh bnl0aGluZywgdGhlcmUgbWlnaHQgYmUgc29tZXRoaW5nIHdyb25nIGluIG90aGVyIHBsYWNlcywN CkkgZG9uJ3QgaGF2ZSB0aGUgY29udGV4dCBmb3IgdGhpcyBpc3N1ZSwgaWYgdGhpcyBjYW4gYmUg cmVwcm9kdWNlZCBpbiBTUERLLCBJIHN1Z2dlc3QgdG8gc3VibWl0IGFuIGlzc3VlIHRvIFNQREsg Zmlyc3QuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWGlhLCBDaGVu Ym8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAxNCwg MjAyMSA0OjI4IFBNDQo+IFRvOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRo YXQuY29tPjsgTGkgRmVuZw0KPiA8ZmVuZ2xpQHNtYXJ0eC5jb20+OyBMaXUsIENoYW5ncGVuZyA8 Y2hhbmdwZW5nLmxpdUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDog UkU6IFtQQVRDSCB2MV0gdmhvc3Q6IGFkZCBzYW5pdHkgY2hlY2sgZm9yIHJlc3VibWl0aW5nIHJl cXMgaW4gc3BsaXQgcmluZw0KPiANCj4gSGkgQ2hhbmdwZW5nLA0KPiANCj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVl bGluQHJlZGhhdC5jb20+DQo+ID4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMTQsIDIwMjEgNDoy NiBQTQ0KPiA+IFRvOiBMaSBGZW5nIDxmZW5nbGlAc21hcnR4LmNvbT47IFhpYSwgQ2hlbmJvIDxj aGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPiBDYzogZGV2QGRwZGsub3JnDQo+ID4gU3ViamVjdDog UmU6IFtQQVRDSCB2MV0gdmhvc3Q6IGFkZCBzYW5pdHkgY2hlY2sgZm9yIHJlc3VibWl0aW5nIHJl cXMgaW4gc3BsaXQNCj4gPiByaW5nDQo+ID4NCj4gPg0KPiA+DQo+ID4gT24gMTAvMTQvMjEgMTA6 MTcsIE1heGltZSBDb3F1ZWxpbiB3cm90ZToNCj4gPiA+IEhpIExpLA0KPiA+ID4NCj4gPiA+IEFk ZGluZyBKaW4gWXUgd2hvIGludHJvZHVjZWQgdGhpcyBmdW5jdGlvbi4NCj4gPg0KPiA+IExvb2tz IGxpa2UgSmluIFl1IGhhcyBsZWZ0IEludGVsLCBDaGVuYm8sIGNvdWxkIHlvdSBmaW5kIHNvbWVv bmUgZnJvbQ0KPiA+IHRoZSBJbnRlbCBTUERLIHRlYW0gdG8gbG9vayBhdCBpdD8NCj4gDQo+IENv dWxkIHlvdSBvciB5b3VyIHRlYW0gbWVtYmVyIGhlbHAgY2hlY2sgdGhpcz8NCj4gDQo+IFRoYW5r cywNCj4gQ2hlbmJvDQo+IA0KPiA+DQo+ID4gPiBPbiA4LzI3LzIxIDA3OjEyLCBMaSBGZW5nIHdy b3RlOg0KPiA+ID4+IFdoZW4gZ2V0dGluZyByZXFzIGZyb20gdGhlIGF2YWlsIHJpbmcsIHRoZSBp ZCBtYXkgZXhjZWVkIGluZmxpZ2h0DQo+ID4gPj4gcXVldWUgc2l6ZS4gVGhlbiB0aGUgZHBkayB3 aWxsIGNyYXNoIGZvcmV2ZXIuDQo+ID4gPg0KPiA+ID4gWW91IG5lZWQgdG8gYWRkIEZpeGVzIHRh ZyBhbmQgQ2Mgc3RhYmxlQGRwZGsub3JnIHNvIHRoYXQgaXQgY2FuIGJlDQo+ID4gPiBiYWNrcG9y dGVkLg0KPiA+ID4NCj4gPiA+PiBTaWduZWQtb2ZmLWJ5OiBMaSBGZW5nIDxmZW5nbGlAc21hcnR4 LmNvbT4NCj4gPiA+PiAtLS0NCj4gPiA+PiDCoCBsaWIvdmhvc3Qvdmhvc3RfdXNlci5jIHwgMTAg KysrKysrKystLQ0KPiA+ID4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pDQo+ID4gPj4NCj4gPiA+PiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0 X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+PiBpbmRleCAyOWE0YzlhZjYw Li5mMDlkMGY2YTQ4IDEwMDY0NA0KPiA+ID4+IC0tLSBhL2xpYi92aG9zdC92aG9zdF91c2VyLmMN Cj4gPiA+PiArKysgYi9saWIvdmhvc3Qvdmhvc3RfdXNlci5jDQo+ID4gPj4gQEAgLTE4MjMsOCAr MTgyMywxNCBAQCB2aG9zdF9jaGVja19xdWV1ZV9pbmZsaWdodHNfc3BsaXQoc3RydWN0DQo+ID4g Pj4gdmlydGlvX25ldCAqZGV2LA0KPiA+ID4+IMKgwqDCoMKgwqAgbGFzdF9pbyA9IGluZmxpZ2h0 X3NwbGl0LT5sYXN0X2luZmxpZ2h0X2lvOw0KPiA+ID4+IMKgwqDCoMKgwqAgaWYgKGluZmxpZ2h0 X3NwbGl0LT51c2VkX2lkeCAhPSB1c2VkLT5pZHgpIHsNCj4gPiA+PiAtwqDCoMKgwqDCoMKgwqAg aW5mbGlnaHRfc3BsaXQtPmRlc2NbbGFzdF9pb10uaW5mbGlnaHQgPSAwOw0KPiA+ID4+IC3CoMKg wqDCoMKgwqDCoCBydGVfYXRvbWljX3RocmVhZF9mZW5jZShfX0FUT01JQ19TRVFfQ1NUKTsNCj4g PiA+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHVubGlrZWx5KGxhc3RfaW8gPj0gaW5mbGlnaHRfc3Bs aXQtPmRlc2NfbnVtKSkgew0KPiA+ID4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFZIT1NUX0xP R19DT05GSUcoRVJSLCAibGFzdF9pbmZsaWdodF9pbyAnJSJQUkl1MTYiJw0KPiA+ID4+IGV4Y2Vl ZHMgaW5mbGlnaHQgIg0KPiA+ID4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInF1 ZXVlIHNpemUgKCUiUFJJdTE2IikuXG4iLCBsYXN0X2lvLA0KPiA+ID4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaW5mbGlnaHRfc3BsaXQtPmRlc2NfbnVtKTsNCj4gPiA+DQo+ID4g PiBJZiBzdWNoIGVycm9yIGhhcHBlbnMsIHNob3VsZG4ndCB3ZSByZXR1cm4gUlRFX1ZIT1NUX01T R19SRVNVTFRfRVJSDQo+ID4gPiBpbnN0ZWFkIG9mIGp1c3QgbG9nZ2luZyBhbiBlcnJvcj8NCj4g PiA+DQo+ID4gPj4gK8KgwqDCoMKgwqDCoMKgIH0gZWxzZSB7DQo+ID4gPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaW5mbGlnaHRfc3BsaXQtPmRlc2NbbGFzdF9pb10uaW5mbGlnaHQgPSAwOw0K PiA+ID4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJ0ZV9hdG9taWNfdGhyZWFkX2ZlbmNlKF9f QVRPTUlDX1NFUV9DU1QpOw0KPiA+ID4+ICvCoMKgwqDCoMKgwqDCoCB9DQo+ID4gPj4gwqDCoMKg wqDCoMKgwqDCoMKgIGluZmxpZ2h0X3NwbGl0LT51c2VkX2lkeCA9IHVzZWQtPmlkeDsNCj4gPiA+ PiDCoMKgwqDCoMKgIH0NCj4gPiA+Pg0KPiA+ID4NCj4gPiA+IFJlZ2FyZHMsDQo+ID4gPiBNYXhp bWUNCg0K