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 ACC2EA054D for ; Thu, 9 Jun 2022 03:03:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A01614113D; Thu, 9 Jun 2022 03:03:59 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 9D50240220; Thu, 9 Jun 2022 03:03:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654736637; x=1686272637; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=VZSTelA7ezbk81GBaS10W86uc0L7B/mOlVtnL0trrdo=; b=nLNgqYTblcjIah4SLYB1xBWZ8F1L6xwnmZCo6zaMxaiT23Wf8VUN+ah2 w2LWHYFiEfie6Z5wg2Nn+R606FJa5j8eF5OrUHp6kcrTewN2uli3k5i+y Ml8TDiRXKxUhC4HKUol9xg1BOU52gG4bRL77KVMrWCYeuekrdMN4NOuhc 5KteZvd7EBNKWZ2NYlI9O7M+NCRD141kmusQ0n48ofRLwTHJV3IpiubrW /8F+CygiLm+7rRD7szVuLkAeEc+bDj5Cr98d0tQyqt70yahoCKpBGW0vP +Q6l9nx6xlLKjlPIIaZOQYZqkOBs8CMDAjYqM12SB3gFdI8WdI2t2jniP A==; X-IronPort-AV: E=McAfee;i="6400,9594,10372"; a="260238882" X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="260238882" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2022 18:03:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="585202387" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 08 Jun 2022 18:03:47 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 8 Jun 2022 18:03:46 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2308.27 via Frontend Transport; Wed, 8 Jun 2022 18:03:46 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.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.2308.27; Wed, 8 Jun 2022 18:03:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W2Z2uTxFltvOvK0iXrwMsp+dqS3b++H8s32HTSY7u/TsAgwJhFeeDjHDDKhuaOR1Pd+x4aJO0Dflf0buR+Pbn3cdNdoNvdVEwexaPQLN6vOPbpyySJqvy2yfPoJuhtuB8sF9gIXYQDi5IjeNjzbUUkqIqRfI+qeaBZsPN1205JVJ49JR3L2pMU1Lx5CK1+vraxjE9wbS5AiHE5jWtZXF4GEGwcvhvLnUUBY7JHp4+vJVCABUIz0laY7R1UiSpvnRpPhQV/hTy+Tb/v8wle+FX/wMn00PQ/qxFX00rHqaZwuqjXbWlsl/kbpYriLcCaeJ0T78OTCQHb+6GIYdhYYsTA== 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=VZSTelA7ezbk81GBaS10W86uc0L7B/mOlVtnL0trrdo=; b=ck2woaLcJbqU3qicw8dwMMc/ruZow8v0RVEopjBmr+4JXnv1v5HkEMZKhp3UvGoB0vPzEnAQC0b934xIbVDnB4Wd3Hql/WOmTUQMRNRFz3uOK0Ue8t21t2eVFPqo32JL5qRib+uZnJS3hEs+PdS650Wx6nQCCl/SvMmavM+OMXg0ROOLxGOvvVg0+3X41rIoSIWb+YRZji//lcdW+jcxLtf1tQ9TThZHduNxKa00FNKK6OmDablV0fn0JOnexyRNyMEHpDtlMn8mz0VWLpQPShkRk7bZ7BPyP6+etCL1GKiI9JYcV0zMHgrBq7u1xFq4qYq5AsDFMrTAXZS1WToGHw== 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 Received: from SA0PR11MB4526.namprd11.prod.outlook.com (2603:10b6:806:96::15) by BYAPR11MB3848.namprd11.prod.outlook.com (2603:10b6:a03:fd::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12; Thu, 9 Jun 2022 01:03:44 +0000 Received: from SA0PR11MB4526.namprd11.prod.outlook.com ([fe80::f5f4:4307:809b:915f]) by SA0PR11MB4526.namprd11.prod.outlook.com ([fe80::f5f4:4307:809b:915f%6]) with mapi id 15.20.5332.013; Thu, 9 Jun 2022 01:03:44 +0000 From: "Ma, WenwuX" To: Maxime Coquelin , "dev@dpdk.org" , "jasowang@redhat.com" , "Xia, Chenbo" , "david.marchand@redhat.com" , "Matz, Olivier" CC: "stable@dpdk.org" Subject: RE: [PATCH 6/6] net/vhost: perform SW checksum in Tx path Thread-Topic: [PATCH 6/6] net/vhost: perform SW checksum in Tx path Thread-Index: AQHYYGsMxyJc55pjvE2TlRJ51wIuCq0Sny3QgClgQgCABlKXkIADDK0AgAEZxjA= Date: Thu, 9 Jun 2022 01:03:43 +0000 Message-ID: References: <20220505102729.821075-1-maxime.coquelin@redhat.com> <20220505102729.821075-7-maxime.coquelin@redhat.com> <4948f8e2-5fc9-2821-4120-3fdb4111ddd3@redhat.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 29db4e35-ebd7-4242-d988-08da49b3e673 x-ms-traffictypediagnostic: BYAPR11MB3848:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 43fto2CETmgOqj5bPI4PlVH7KtM8Beu2frie3FroIWz0qSG7rywfFmFX3KSfSq//rffjGwX8ZBKQlklIWAx74LKi3cFI027+C4v/FM4B+QCaCuHbY2byTmUbVBKTRK5YEVtka9ByzYskyRNnID0YJrrFfTf7OAPt8fpgnHa+ZhPKpVIggMbPT7qUvpiXIw0dhMyoqyFDgk1JEqG6gshHV+sa4sJzGMXaXRiOaUouR3U9eaZjSm7Eye4Dc/Ocrejab5N/ndBsEYdl9EnVtxEIiXyjMXgBSOGXLyY4kcEPiotNS6U2Q22s6oXQyl9oM9pnrZ93tLQUQmBr4PzbidH9j4xV0bTtVWduGDCANNFglnuaDDOfBaMVKqYKix6N1xVj/CuMWh9MZtMyRYm4wFt4l2lzVpLrztN6amHZdbIhkbKEl6TY4f9EP6YrcnyE/1cdKdltEY25KmropoECzVw6sQATtX+MiWJqWhPtLjFdOWfIJQruz52AeJA3Whn0abzCdYeT99S+WK7yIKOWpXYGJ7c3pV1u+djLlZ8J2eclLzc1Nb3O0qTqIQKory/nW0UBwiY+ErpiJIBRGR4iFQHi/8aNXa01AfaNiHlXeWWGKrDJ5MHRGJFP1YTOELOHx80zKMAfNpbx3WPfgshk95nCfYG+6mak2s44Hm8awFuXjQvPNzC50jmCowJGZ7Q3as4VodJrVBBQ5th1NLuZbQjEug== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA0PR11MB4526.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(76116006)(26005)(38070700005)(82960400001)(316002)(83380400001)(122000001)(86362001)(9686003)(33656002)(71200400001)(508600001)(55016003)(186003)(52536014)(5660300002)(8936002)(66476007)(8676002)(2906002)(66556008)(66446008)(38100700002)(6506007)(64756008)(110136005)(4326008)(66946007)(7696005)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VlBJcGlraHJiOHM5L3ZxcWdUbmd2cGRIem9TS0Z3OFBQWmVOUDBzMUk3Z1Jw?= =?utf-8?B?Q0VjZXlyQis1d3oyc3RRcUpUSVhNQjJXSlNFTHo3TWppMWJWZUpwSVhHOXRX?= =?utf-8?B?WURVR2V6SnNvTjY0MG82M0RMVDJybmFIMHFicndrdnJjWVYrbXE5UWxtSGhZ?= =?utf-8?B?M0VEcW1QZzN2NzkzYlVUZkpWSXNxZ1lKZmtUaUx3NThJOHBvZ1crK2FaRDkr?= =?utf-8?B?WW1ZWGxEbEladHYzTEhwc21CZDM2bjVTQVd3aWlidTczdmIzaFp5Sml0NElI?= =?utf-8?B?dmxZSWp1UDc1UTFLc3lvaXl1VXVYaXNxZDFWZWlYNmdOMklUVTV4alA1R2xM?= =?utf-8?B?VGF6NjFXZnArcCtGOHAvaFo0VjBObmtsMGNESXJ1N3UyQ2FnY3IvcEdLa245?= =?utf-8?B?czZBc1Q3dUVqRmpMUUpzTGNrTlVNUitLNVN0Q3BVMXZKT2RHa1lEc1JiUlhk?= =?utf-8?B?dE5PY0xrQmYyU2pTaythdzR1Y2pzZy9POVNaNzZtOElVSXhhZ2t3MkUvSWFi?= =?utf-8?B?NXdlSFhjcm16VTZaVVRZNXBGdDN5dlB1aVlsVStVbDJreENFZUN3SlpiTEhk?= =?utf-8?B?bFFZQW9HNXRvblc4Q0xiNE9pS29UVEtadjI4Z3lzekxTMk9BSkRDVTRHbWNo?= =?utf-8?B?bmNHcTl6N3Y1L0dMZlkwWVJlUDNnRHBZd01la1BZTGtaWmdETUFsaUYvb3Iw?= =?utf-8?B?Q20wcDg5ZmlsVnF0UVpTNU1yamh0NkhzWXBVb2tlZnVPNXNQM3BENU81czRS?= =?utf-8?B?eGZlRC9qeFpuSkI5WGJCSi9BSGoxZXplKzRWR2xLZWFWZnRNMGpXVHlxN3Ir?= =?utf-8?B?RmFNUytWdkt3eHBpemFFY1J5RmZuNyttdHYvck9pdzBrWHcrNCsxRVltUHlh?= =?utf-8?B?YVoycTR6a2FSc1lPeU1KbWdtamV2azNRNWNDTklxYVlyNkx3d2pOY1NNN2Y2?= =?utf-8?B?R1Iyam5BNFNvK1NWdDlvcFNVQ2JETTdCbkxlRXhXMU1TUW9JdzRZRGIrMDls?= =?utf-8?B?T3FaUlBSR0lxK3dEKy9ONXJ5eXUxT0ZSUE1vK0tKMGlHWDV1UnJ0Sk5KMU5u?= =?utf-8?B?aFlrRkFERmdhaVhkYmhkTTdScHZUQUQxV1liOVphLzRPWnNEck5OTVk4Si9H?= =?utf-8?B?dGJSOFhyRW94YnI4Z05HV0lMSnZST3pDZFRzREJucmF0bHNTK2pTTGxZT1I1?= =?utf-8?B?aDQ5bldPUVdLTkxmdHgzVjJLMnFSUUhuOFZVRXhNOTV2YXFScWJCQUxWMzl3?= =?utf-8?B?N0VrajRRQXZyRjAwUWFJdWprWGtLRWR2SHZ1ZFd4V0ZRM0tHMzZidFVqTWJt?= =?utf-8?B?SnlnWU15UXZydzNWWHpocDVDZ1YySVEzd2tCb094QjJNZmtjZUZZL0YvUEdG?= =?utf-8?B?NVN0dDI5WUFJTG9SbXFDeXhjejNmT0cwb0d4Wmh2YitxZ2J5LzVES08yVlVF?= =?utf-8?B?MWJiZFhKWWZpbzdkYzdLZmY5VURDeVhKUDlxQ3hCelNTcXBrS2Q0ay9VS3Uv?= =?utf-8?B?bVJYaFlYZDJwYXN6a3dWVDE2WFlLbjV4bnE3Zzl6UlM2bFJjM3ovVS9QdGk0?= =?utf-8?B?QUsyYlE2aDV1bTJKQ3BiTVpjN01Ub29NVnVDWG4xZ0sxajF5R2ZCejFQVXJO?= =?utf-8?B?d2hUMk9mdWRsZjNlb3AzS3VCbjRLTEE5d2hMV2drVFRRTEtBM0kxV2hRaE56?= =?utf-8?B?SytoNTJZTVNYOHRubW5qcHpqSmRGQmo4R3k4bnZGUXg0YzNMWjhzOWhsTUdt?= =?utf-8?B?Vk9tRXdITExZVGxHZ0VuSFVJNHBGZ2VRalJybFlHbElDS0dRNXBNNm83bk5K?= =?utf-8?B?WDZSeVBINzNhYXowdU1IT21SQS9FZGtQaG5nTkZwWUNoQXNQbStuS3E3NTQx?= =?utf-8?B?ZWpYOHhXOGN3blFZWUYzemZkYUJjWVlFOVdFbUhQY3dvVDlwM0ozVStxMjFQ?= =?utf-8?B?T2RVajRlTm5tTy80UUpxN25SUURZcjRRREU5NVRuazdqQ3Q3U0VhQlh0SFR4?= =?utf-8?B?ZFI3UkxwYWFKZmpZS0dBOThWeXNjQzV4NXVTd3VXallwbENLelVsY2RrQXRI?= =?utf-8?B?ZkJPVHlUc2hldzRQbDhDdEJQMnlnRWtUY3o2L2JxODZJNmk2bW5kWEorRHJN?= =?utf-8?B?ZTYwWHpVRjZHSnhnZVVYV1lqM0RQWUV0SVFCRTFEaVg3UnlNSXlXS093MlVK?= =?utf-8?B?elRjYTN5TDBRN0VDelpyc2puRFA2T3VLOTB5NE55N3B5cHZ6d1J5aWZEM3NT?= =?utf-8?B?Z1VRN0I2eXhXb0xtTjZoMWNoRHhwa1hlQnJmNVFsbGVTZXFiTmlLZmxZSHJG?= =?utf-8?B?emNrYUVsamFRM1FjdmgycjVSd3U3Sk5LOFdXdkVIbk5KYVNsc1Ivdz09?= 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: SA0PR11MB4526.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29db4e35-ebd7-4242-d988-08da49b3e673 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2022 01:03:44.0203 (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: AyXuEFB6y19fFxqcqH9GpYQ1qLqDJj1PphjrE9xMSIAbHTjpv9P9Y3EIdPWg5FKq2ApWEuaPiJq1UPralhqDiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3848 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU2VudDogMjAyMuW5tDbmnIg45pelIDE2 OjE0DQo+IFRvOiBNYSwgV2Vud3VYIDx3ZW53dXgubWFAaW50ZWwuY29tPjsgZGV2QGRwZGsub3Jn Ow0KPiBqYXNvd2FuZ0ByZWRoYXQuY29tOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5j b20+Ow0KPiBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBNYXR6LCBPbGl2aWVyIDxvbGl2aWVy Lm1hdHpANndpbmQuY29tPg0KPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggNi82XSBuZXQvdmhvc3Q6IHBlcmZvcm0gU1cgY2hlY2tzdW0gaW4gVHggcGF0aA0KPiAN Cj4gSGkgV2Vud3UsDQo+IA0KPiBPbiA2LzYvMjIgMTE6NDQsIE1hLCBXZW53dVggd3JvdGU6DQo+ ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+PiBTZW50OiAyMDIy 5bm0NuaciDLml6UgMTc6MDcNCj4gPj4gVG86IE1hLCBXZW53dVggPHdlbnd1eC5tYUBpbnRlbC5j b20+OyBkZXZAZHBkay5vcmc7DQo+ID4+IGphc293YW5nQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJv IDxjaGVuYm8ueGlhQGludGVsLmNvbT47DQo+ID4+IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207 IE1hdHosIE9saXZpZXIgPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+ID4+IENjOiBzdGFibGVA ZHBkay5vcmcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCA2LzZdIG5ldC92aG9zdDogcGVyZm9y bSBTVyBjaGVja3N1bSBpbiBUeCBwYXRoDQo+ID4+DQo+ID4+IEhpIFdlbnd1LA0KPiA+Pg0KPiA+ PiBTb3JyeSwgSSBtaXNzZWQgeW91ciByZXZpZXcuDQo+ID4+DQo+ID4+IE9uIDUvNy8yMiAwNToy MCwgTWEsIFdlbnd1WCB3cm90ZToNCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj4+PiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRo YXQuY29tPg0KPiA+Pj4+IFNlbnQ6IDIwMjLlubQ15pyINeaXpSAxODoyNw0KPiA+Pj4+IFRvOiBk ZXZAZHBkay5vcmc7IGphc293YW5nQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJvDQo+ID4+Pj4gPGNo ZW5iby54aWFAaW50ZWwuY29tPjsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsNCj4gPj4+PiBv bGl2aWVyLm1hdHpANndpbmQuY29tDQo+ID4+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZzsgTWF4aW1l IENvcXVlbGluDQo+IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPj4+PiBTdWJqZWN0 OiBbUEFUQ0ggNi82XSBuZXQvdmhvc3Q6IHBlcmZvcm0gU1cgY2hlY2tzdW0gaW4gVHggcGF0aA0K PiA+Pj4+DQo+ID4+Pj4gVmlydGlvIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgZ3Vlc3QgY2hlY2tz dW0gb2ZmbG9hZGluZyBmb3IgTDQsDQo+ID4+Pj4gd2hpY2ggaXMgZW5hYmxlZCB3aXRoIFZJUlRJ T19ORVRfRl9HVUVTVF9DU1VNIGZlYXR1cmUNCj4gbmVnb3RpYXRpb24uDQo+ID4+IEhvd2V2ZXIs DQo+ID4+Pj4gdGhlIFZob3N0IFBNRCBkb2VzIG5vdCBhZHZlcnRpc2UgVHggY2hlY2tzdW0gb2Zm bG9hZCBjYXBhYmlsaXRpZXMuDQo+ID4+Pj4NCj4gPj4+PiBBZHZlcnRpc2luZyB0aGVzZSBvZmZs b2FkIGNhcGFiaWxpdGllcyBhdCB0aGUgZXRoZGV2IGxldmVsIGlzIG5vdA0KPiA+Pj4+IGVub3Vn aCwgYmVjYXVzZSB3ZSBjb3VsZCBzdGlsbCBlbmQtdXAgd2l0aCB0aGUgYXBwbGljYXRpb24gZW5h YmxpbmcNCj4gPj4+PiB0aGVzZSBvZmZsb2FkcyB3aGlsZSB0aGUgZ3Vlc3Qgbm90IG5lZ290aWF0 aW5nIGl0Lg0KPiA+Pj4+DQo+ID4+Pj4gVGhpcyBwYXRjaCBhZHZlcnRpemVzIHRoZSBUeCBjaGVj a3N1bSBvZmZsb2FkIGNhcGFiaWxpdGllcywgYW5kDQo+ID4+Pj4gaW50cm9kdWNlcyBhIGNvbXBh dGliaWxpdHkgbGF5ZXIgdG8gY292ZXIgdGhlIGNhc2UNCj4gPj4+PiBWSVJUSU9fTkVUX0ZfR1VF U1RfQ1NVTSBoYXMgbm90IGJlZW4gbmVnb3RpYXRlZCBidXQgdGhlDQo+ID4+IGFwcGxpY2F0aW9u DQo+ID4+Pj4gZG9lcyBjb25maWd1cmUgdGhlIFR4IGNoZWNrc3VtIG9mZmxvYWRzLiBUaGlzIGZ1 bmN0aW9uIHBlcmZvcm1zIHRoZQ0KPiA+Pj4+IEw0IFR4DQo+ID4+IGNoZWNrc3VtIGluIFNXIGZv ciBVRFAgYW5kIFRDUC4NCj4gPj4+PiBDb21wYXJlZCB0byBSeCBTVyBjaGVja3N1bSwgdGhlIFR4 IFNXIGNoZWNrc3VtIGZ1bmN0aW9uIG5lZWRzIHRvDQo+ID4+Pj4gY29tcHV0ZSB0aGUgcHNldWRv LWhlYWRlciBjaGVja3N1bSwgYXMgd2UgY2Fubm90IGtud28gd2hldGhlciBpdA0KPiA+PiB3YXMN Cj4gPj4+PiBkb25lIGJlZm9yZS4NCj4gPj4+Pg0KPiA+Pj4+IFRoaXMgcGF0Y2ggZG9lcyBub3Qg YWR2ZXJ0aXplIFNDVFAgY2hlY2tzdW0gb2ZmbG9hZGluZyBjYXBhYmlsaXR5DQo+ID4+Pj4gZm9y IG5vdywgYnV0IGl0IGNvdWxkIGJlIGhhbmRsZWQgbGF0ZXIgaWYgdGhlIG5lZWQgYXJpc2VzLg0K PiA+Pj4NCj4gPj4+IEluIHZpcnRpb19lbnF1ZXVlX29mZmxvYWQoKSwgaWYgUlRFX01CVUZfRl9U WF9JUF9DS1NVTSBpcyBzZXQsIHdlDQo+ID4+PiB3aWxsIHBlcmZvcm1zIHRoZSBMMyBUeCBjaGVj a3N1bSwgd2h5IGRvIG5vdCB3ZSBhZHZlcnRpc2UgSVBWNA0KPiA+Pj4gY2hlY2tzdW0NCj4gPj4g b2ZmbG9hZGluZyBjYXBhYmlsaXR5Pw0KPiA+Pj4gV2lsbCB3ZSBhZHZlcnRpc2UgaXQgbGF0ZXI/ DQo+ID4+Pg0KPiA+Pg0KPiA+PiBJbmRlZWQsIHdlIGhhdmUgYW4gSVB2NCBTVyBjaGVja3N1bSBm YWxsYmFjayBpbiBWaG9zdCBsaWJyYXJ5Lg0KPiA+PiBXZSBjb3VsZCB0aGluayBhYm91dCBhZGRp bmcgdGhlIGNhcGFiaWxpdHksIGJ1dCB0aGF0J3Mgbm90IHVyZ2VudCBJDQo+ID4+IHRoaW5rLiBE byB5b3UgaGF2ZSBhIHVzZS1jYXNlIHdoZXJlIGl0IGlzIG5lZWRlZD8NCj4gPj4NCj4gPiBUaGUg R1JPL0dTTyBsaWJyYXJ5IGRvZXNuJ3QgcmUtY2FsY3VsYXRlIElQdjQgY2hlY2tzdW1zIGZvcg0K PiBtZXJnZWQvZnJhZ21lbnRlZCBwYWNrZXRzLCBpdCB3aWxsIGNhdXNlIGlwZXJmIGluIHRoZSB2 bSB0byBmYWlsLg0KPiANCj4gQ2FuIHlvdSBwbGVhc2UgZWxhYm9yYXRlPw0KPiANCj4gSWYgd2Ug ZG9uJ3QgZXhwb3NlIHRoZSBJUHY0IGNoZWNrc3VtIGF2YWlsYWJpbGl0eSwgaXQgd291bGQgYmUg ZG9uZSBieSB0aGUNCj4gYXBwbGljYXRpb24gdXNpbmcgdGhlIFZob3N0IFBNRCwgc28gdGhlIHJl c3VsdCB3aWxsIGJlIHRoZSBzYW1lIGZyb20gdGhlIFZNDQo+IHBvaW50IG9mIHZpZXcuIEFtIEkg bWlzc2luZyBzb21ldGhpbmc/DQo+IA0KT2ssIGl0IGlzIG5vdCB1cmdlbnQuDQoNCj4gVGhhbmtz LA0KPiBNYXhpbWUNCj4gDQo+ID4+IFJlZ2FyZHMsDQo+ID4+IE1heGltZQ0KPiA+DQoNCg==