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 CCA7FA0093; Fri, 29 Apr 2022 07:48:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 34334410E3; Fri, 29 Apr 2022 07:48:44 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2083.outbound.protection.outlook.com [40.107.223.83]) by mails.dpdk.org (Postfix) with ESMTP id 8534F40E50; Fri, 29 Apr 2022 07:48:42 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W6/6UrZ5oIxzUnlUbXsoTy4JRRvn2CcngelYckvW0ezZyr7FopxIKugtVIALsIP5RHcsbnC38GatAWM7d4CPO8Rrem7QkCZIwYRhMtSCz6b630yy+syx84MIRbkz91LMxRytojawsVj2Mpvjgzq7nbEHik/dDRGV+o9xDrErrPgmlItJqip1gQoefqQGDfkapqRbx0A1y72oNbRQ0RN0bxOUCeTzmumSdex/8I2fZVCdNMk6hf/vQDP/FyWSsTi3olljI0/olCp8sXb03zr18+40De6yZFzDeGxLFvNPJAYU42EOZ3tPw3gpnnT8qd+8k/SS5Oo3SgRUvEWxTJO0uA== 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=SR72XGlD9ZqLeCLDhQSpFoZNDjTgqw8KqNeRM4wXkQ8=; b=OUU2DO2rThWIh4wqAXZ1LMEHx4/sRRJchXZGE5FSCZn9X1YeeJmZ8YyQV9s0g8eR48cTCcvOKGMyoggPVf/jYLJKZ2DFqKC8nW3SH4Qa3DGW/9jy1dbD/CmxZa4RqWxr/KVonxRE1a0qyYyZg0zBLOfyiXqpgkw8WSrG7pUQrN8nl3rYck86ljVmsASzeQWY6LckbS+1EcG+iAodOuFSMn+p2hLLes8JcveDIaOXgze1lG8SMpxrbO39eU7yPapwD40m/ckP7jZGKRlJIg+jg1ks8A4x46KT/ffu4j2rnM8tFag3z4B7hwJvEZwZdk/zPRs92TB2brw/jWRlx9cU2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SR72XGlD9ZqLeCLDhQSpFoZNDjTgqw8KqNeRM4wXkQ8=; b=m9ko6gDsFwgiYcpTKPswHi001b2qFCYzXD/WMM4zQjGsPJYRx5SF6N1tWQsTvnoCgjPO9P978EtL297DwtqRSe9wReMWpi85bo8GMymO/sad/7Dimkl45Sa73FDLBVrYRIGXS/WjnqX5AEc2LNzQX/lc9FXR2QZTjgMn+L8dfSJCiE+JcMLUldig8zqWAN8U95ndUD2UgvpT8rkNBdfR/wxEe04JK6/2MmL/hojp3GaQTIuwmQydPFcV6kAxs8q93sVvXAVBi8YO4DPoo9jZk67gWgh9ft7rSgUlcaw+mImuRxEAaTIrlecFV1pCdiUSIwQEJ++nQX9UbZmqY3s6Vg== Received: from MN2PR12MB3647.namprd12.prod.outlook.com (2603:10b6:208:c4::17) by BY5PR12MB4083.namprd12.prod.outlook.com (2603:10b6:a03:20d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.12; Fri, 29 Apr 2022 05:48:40 +0000 Received: from MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892]) by MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892%7]) with mapi id 15.20.5206.013; Fri, 29 Apr 2022 05:48:39 +0000 From: Spike Du To: Jerin Jacob , Andrew Rybchenko , Cristian Dumitrescu , "techboard@dpdk.org" CC: Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , dpdk-dev , Raslan Darawsheh Subject: RE: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Topic: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Index: AQHYSMtoLo2ZnL5ajUm8VmbxE3IO4K0Gh1Ew Date: Fri, 29 Apr 2022 05:48:39 +0000 Message-ID: References: <20220401032232.1267376-1-spiked@nvidia.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=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5a7d5250-44bf-479e-5678-08da29a3e948 x-ms-traffictypediagnostic: BY5PR12MB4083:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,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: ZeTSK9BXHE6+ycgfb7qE56R7RdLuyOmEJnJ480nfNSr20hVF7gOeDtUST6iT27wElsaW5tpbuFVkzUONaKWwSxe2Wf+gBwJ8LA+6Q17r7PuqfB5UexQWUFUoMAHMDCw+79Gnl/8STk7Ai2Uhyl2KtgKjkAAjbJygDTP4KTuV5E+RvMiJsELLc0/s5/uut3N0Qo/UcYmJqUrmlJyjjMT1evObMAqdUgpBAmsCuepM8+pGuU5ZtOybcOzt0LK12R/ZXBG2J726kdH0rln7TTDV+6INieapI94TOs0Q+vEvm91C3j35iXMf87XbAmyRB9ctgNZqZlc7ja0mF4ZxgIPXMJzICLJK9+7W513i8f04Qw/TTCk0lDwx+8GxOcriZd/bzdWzLW9F+ulqsEXseLWTakY+4r+QpFQRy45EFy4HZO0TBsJ/hmawn7UkLr8hcCBuhpxVwK6kxkKaQtSK+LgyvDuI7kj9yTpKRxwBUexnfT2lceOA8g5UZSPbO7zpCPJ139+YDuC+gAgpeLWRdQHMSy5hahr1+J8FZsW/hGFwgFh5CluQwXP1wKEJiBFEDuJlSnnReT7dm3Rls/RprkWvM062qAptSUr9EaJTY+auQTfqsCSpLVsjQh3wlyTKSYfHJMF+pBjmP1sRcd1/FHsZALsR6DEAH5Poa2aGaQXNY4frhUOE5JUZEtIrxlk10KN1/iv6fOJG3UqcX93sHH0Tww== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3647.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(110136005)(33656002)(55016003)(64756008)(8676002)(4326008)(2906002)(66446008)(66476007)(54906003)(71200400001)(8936002)(76116006)(66946007)(66556008)(5660300002)(52536014)(7696005)(508600001)(53546011)(26005)(6506007)(83380400001)(107886003)(186003)(9686003)(38070700005)(122000001)(38100700002)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUUwQzRjZ1BkKzE1Lyt2RGoza3pHODF2Ly9uMHZGWkxVdWRLc0FxLzdKSnRT?= =?utf-8?B?TUxubm5OTFptSDVMMVI4Nm9BSHFQbEJUalk5OFR3TGxReXRFdnc3enk2WnVk?= =?utf-8?B?V3Flbzg1bng0aFlWMmN6cS9teVdYenFIS2NoKzErY0hUd0k3dUYvNUFWZHBo?= =?utf-8?B?QzJVME1MajV3N2p3MkVnOFNtVXExb3VHMlhIZlpOcnMrV0hWaGxua2ozemto?= =?utf-8?B?REprWnR2SjM3QnQvN0oybG1jVnl0ZFd4dURjdmxjUDNYdnZCa0NldjJSbnVY?= =?utf-8?B?YUNzcGFtR1psV1NsM1lqbS9hMmdRcHh3blhjUnpob2pFVTdpWlFOK2U5eExs?= =?utf-8?B?TjBUOXdRdXNHMHZvRElNbUdzZnZiYkRyT0krSEJ0SzFGRkpEWWZYNWJGWjNv?= =?utf-8?B?eVJsQmZ0MDhPRW5tQTNSenRUWmtQdUxrK2xBOUJwaWk4M05uWjJxYjFLSmxs?= =?utf-8?B?RGdSbXdqdFVFQmYzUFBvRmRwNkZPZUVQWVQ5WWJvbTFJbStmNExWSFdsYzNw?= =?utf-8?B?Mllzd3dvMUF1aXcwZzNiSkNpeUpRSG1OcXJYemU2Uks5UTJ3cGUvSTJlbWtw?= =?utf-8?B?MDl4UytJVjdlYnpqVzVMMzE2M3Z4RmZicHltYXV6NEhxMGxEMVdudm1CeHFy?= =?utf-8?B?RzdLTFIyd1Y1KzdJK1BMdktCNDlmWXBESFdXSk44MkhBZitTYmdUa3k1N243?= =?utf-8?B?MmpzRVNPRXgwTUlVNkJaRnVSSStwazVibVpQY25ZaWIrVGMyRTlKcmJreFBH?= =?utf-8?B?WHFuOGlKNlppZkVCU3BNbm1xZzVpdkhTTEx6KzZaaWZ0NzIzOXlmNTlzdHBW?= =?utf-8?B?V3diNWIydG9ReDUrTGI0T2JuL3ArNHMyRUROZWdubTQ1QXJIL2k0SXdrbG1w?= =?utf-8?B?YThBWEhnVlg0T0pCUStnQkdacGFleG5uYjJLd084VGpjQWhVcFByV1VaQmlS?= =?utf-8?B?NGNISWNYS2RKSzRkV0dOSnFpc0NBK0p2Z0JqaEh6d0J4Z01idCs5aWFqbnVI?= =?utf-8?B?dEQvQUJhL3pOQnFBdXlFQTJHZlhBcXhiL2Q3eGVNOHE4U3g5YXdBbExBU1p5?= =?utf-8?B?R0JXdVRGMzdiUVdQQ3JndmthUnJFOVpySDREc05wbzVjOE80NWx6cCttY3la?= =?utf-8?B?YWQ1ZnRVL1FXM1E3aW44TFpzdFU3N05MSTZXSmFUSGc3NzNPd3pHQS9QZHV1?= =?utf-8?B?eTdnMWFodUpBSWRONXJRTXkyTnpMN0F6QlpLM2gwZGxhWWNkZ3NSdWx0d0FT?= =?utf-8?B?elVsU3BBVXBzcG1CTkdhWG9QMXFhN0k1SC9CTU5kU1QzblVQa294T05VMVFu?= =?utf-8?B?RGRpdVlIRTN2ckQ2RDRUaTFoZkxHbytiSzdXNm13Mk5HMEovd3Q4VzlNWm9t?= =?utf-8?B?RjZKUUd3YXErQWtpOXFZZXBRc0c1K0w4YVVtNmt3M25qZEN3UU1Xa0k3T0FX?= =?utf-8?B?Z3ExalJOWURiWHcwNmhBYzRDbWVWa2JqV25VYy9NU0xmalBHY0l5VWxRQndw?= =?utf-8?B?WnBtcWlVckFZdytRS1RPNEI5cG1tZjRUZFNnc0JQNzIwOUNMaDhJVUdMQnJX?= =?utf-8?B?ZVo4L3gxYkIveWdyUDIyRG94b2Nnb3RERjcydzBxVVVGcS8vK04wMFZCeHRz?= =?utf-8?B?eEw0M004bWZ6YjdGNjZ0b01Fc2RVMGdmdzBuUSt1eGFFbEVLWHRqT1Q0aVEz?= =?utf-8?B?WDlhRmY3NnJhbGt1TEJoR2ZBb2YveFdtSHpwMXcvL1l3d1VMZU44clo1ZlFx?= =?utf-8?B?VCtoU0krMGRZWVFIeUlJVHZRc29hb3VKa2pFUk5oclMyVmhzUHZkalFqTHE1?= =?utf-8?B?ME95SzVPVlVtRjZSSktvYmNqLzhrbGVvdVNoV2ltdXJwK1hZN205WGJrQ1FW?= =?utf-8?B?bm1TYmFOZHlyc0hybGFaZms5Uy9DbmhnUGFkaEVRdTFBVlRzS1ltTThxSDl2?= =?utf-8?B?dzZhSWcwZWdQeElVYXgwZXRRbm4wUnZYWllER0VlRW5iNVdTUWpSQ2xNeTF1?= =?utf-8?B?YVV4SVFXZ0lhdlU1UWl6UDRVWHJSNisxSHNWZ3c0Y3J2TnprYzVqdGMwUnlI?= =?utf-8?B?YkpxNFc4MkpMbUFmV3hFYzhySFZmMU5rOGRWVTY0WTFnaVlEK1Rwb3ZSN2hP?= =?utf-8?B?R2tBQi9uVlBmcUtkenRvL042WWJwTjZLN1l6K1FPQ2lxY0tDQlk0T09KMlRs?= =?utf-8?B?bVY0VDZ6ZmVSaTR0c0xSS2pFTVgxM3dDbi9icG9JdTZEajN1T1BLT1FaNTFB?= =?utf-8?B?LytJOTMyVEF0aWZRTVFoenIxSkFKUzFMYUFDb09tSXpSaUtpQWh2WGJIS3Na?= =?utf-8?Q?pcVqULSD1ZAAERXG2P?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3647.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a7d5250-44bf-479e-5678-08da29a3e948 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2022 05:48:39.6274 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Iorj16k9MFqU8qG6aIJacO+yYa3vc6XEBXVpq9SrezOm30i9Rn1yafNOItVJrIXS9hmdc0LoKpbcU/GZdkXBfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4083 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 SGkgSmVyaW4sCQ0KCVRoYW5rcyBmb3IgeW91ciBjb21tZW50cyBhbmQgc29ycnkgZm9yIHRoZSBs YXRlIHJlc3BvbnNlLg0KDQoJRm9yIGNhc2Ugb25lLCBJIHRoaW5rIEkgY2FuIHJlZmluZSB0aGUg ZGVzaWduIGFuZCBhZGQgTFdNKGxpbWl0IHdhdGVybWFyaykgaW4gcnRlX2V0aF9yeGNvbmYsIGFu ZCBhZGQgYSBuZXcgcnRlX2V0aF9ldmVudF90eXBlIGV2ZW50Lg0KDQoJRm9yIGNhc2UgdHdvKGhv c3Qgc2hhcGVyKSwgSSB0aGluayB3ZSBjYW4ndCB1c2UgUlggbWV0ZXIsIGJlY2F1c2UgaXQncyBh Y3R1YWxseSBUWCBzaGFwZXIgb24gYSByZW1vdGUgc3lzdGVtLiBJdCdzIHF1aXRlIHNwZWNpZmlj IHRvIE1lbGxhbm94L052aWRpYSBCbHVlRmllbGQgMihCRjIgZm9yIHNob3J0KSBOSUMuIFRoZSBO SUMgY29udGFpbnMgYW4gQVJNIHN5c3RlbS4gV2UgaGF2ZSB0d28gdGVybXMgaGVyZTogSG9zdC1z eXN0ZW0gc3RhbmRzIGZvciB0aGUgc3lzdGVtIHRoZSBCRjIgTklDIGlzIGluc2VydGVkOyBBUk0t c3lzdGVtIHN0YW5kcyBmb3IgdGhlIGVtYmVkZGVkIEFSTSBpbiBCRjIuIEFSTS1zeXN0ZW0gaXMg ZG9pbmcgdGhlIGZvcndhcmRpbmcuIFRoaXMgaXMgdGhlIHdheSBob3N0IHNoYXBlciB3b3Jrczog d2UgY29uZmlndXJlIHRoZSByZWdpc3RlciBvbiBBUk0tc3lzdGVtLCBidXQgaXQgYWZmZWN0cyBI b3N0LXN5c3RlbSdzIFRYIHNoYXBlciwgd2hpY2ggbWVhbnMgdGhlIHNoYXBlciBpcyB3b3JraW5n IG9uIHRoZSByZW1vdGUgcG9ydCwgaXQncyBub3QgYSBSWCBtZXRlciBjb25jZXB0LCBoZW5jZSB3 ZSBjYW4ndCB1c2UgRFBESyBSWCBtZXRlciBmcmFtZXdvcmsuIEknZCBzdWdnZXN0IHRvIHN0aWxs IHVzZSBwcml2YXRlIEFQSS4NCg0KCUZvciB0ZXN0cG1kIHBhcnQsIEkgdW5kZXJzdGFuZCB5b3Vy IGNvbmNlcm4uIEJlY2F1c2Ugd2UgbmVlZCBvbmUgcHJpdmF0ZSBBUEkgZm9yIGhvc3Qgc2hhcGVy LCBhbmQgd2UgbmVlZCB0ZXN0cG1kJ3MgZm9yd2FyZGluZyBjb2RlIHRvIHNob3cgaG93IGl0IHdv cmtzIHRvIHVzZXIsIHdlIG5lZWQgdG8gY2FsbCB0aGUgcHJpdmF0ZSBBUEkgaW4gdGVzdHBtZC4g SWYgY3VycmVudCBwYXRjaCBpcyBub3QgYWNjZXB0YWJsZSwgd2hhdCdzIHRoZSBjb3JyZWN0IHdh eSB0byBkbyBpdD8gQW55IGZyYW1ld29yayB0byBpc29sYXRlIHRoZSBQTUQgcHJpdmF0ZSBsb2dp YyBmcm9tIHRlc3RwbWQgY29tbW9uIGNvZGUsIGJ1dCBzdGlsbCBnaXZlIGEgY2hhbmNlIHRvIGNh bGwgcHJpdmF0ZSBBUElzIGluIHRlc3RwbWQ/DQoNCg0KUmVnYXJkcywNClNwaWtlLg0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29i a0BnbWFpbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDUsIDIwMjIgNDo1OSBQTQ0KPiBU bzogU3Bpa2UgRHUgPHNwaWtlZEBudmlkaWEuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8YW5k cmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+OyBDcmlzdGlhbiBEdW1pdHJlc2N1DQo+IDxjcmlz dGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGlu dGVsLmNvbT47DQo+IHRlY2hib2FyZEBkcGRrLm9yZw0KPiBDYzogTWF0YW4gQXpyYWQgPG1hdGFu QG52aWRpYS5jb20+OyBTbGF2YSBPdnNpaWVua28NCj4gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+ OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgTkJVLUNvbnRhY3QtDQo+IFRob21hcyBNb25q YWxvbiAoRVhURVJOQUwpIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgZHBkay1kZXYNCj4gPGRldkBk cGRrLm9yZz47IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbnZpZGlhLmNvbT4NCj4gU3ViamVj dDogUmU6IFtSRkMgMC82XSBuZXQvbWx4NTogaW50cm9kdWNlIGxpbWl0IHdhdGVybWFyayBhbmQg aG9zdCBzaGFwZXINCj4gDQo+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxp bmtzIG9yIGF0dGFjaG1lbnRzDQo+IA0KPiANCj4gT24gRnJpLCBBcHIgMSwgMjAyMiBhdCA4OjUz IEFNIFNwaWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBMV00obGlt aXQgd2F0ZXJtYXJrKSBpcyBwZXIgUlggcXVldWUgYXR0cmlidXRlLCB3aGVuIFJYIHF1ZXVlIGZ1 bGxuZXNzDQo+ID4gcmVhY2ggdGhlIExXTSBsaW1pdCwgSFcgc2VuZHMgYW4gZXZlbnQgdG8gZHBk ayBhcHBsaWNhdGlvbi4NCj4gPiBIb3N0IHNoYXBlciBjYW4gY29uZmlndXJlIHNoYXBlciByYXRl IGFuZCBsd20tdHJpZ2dlcmVkIGZvciBhIGhvc3QgcG9ydC4NCj4gPiBUaGUgc2hhcGVyIGxpbWl0 cyB0aGUgcmF0ZSBvZiB0cmFmZmljIGZyb20gaG9zdCBwb3J0IHRvIHdpcmUgcG9ydC4NCj4gPiBJ ZiBsd20tdHJpZ2dlcmVkIGlzIGVuYWJsZWQsIGEgMTAwTWJwcyBzaGFwZXIgaXMgZW5hYmxlZCBh dXRvbWF0aWNhbGx5DQo+ID4gd2hlbiBvbmUgb2YgdGhlIGhvc3QgcG9ydCdzIFJ4IHF1ZXVlcyBy ZWNlaXZlcyBMV00gZXZlbnQuDQo+ID4NCj4gPiBUaGVzZSB0d28gZmVhdHVyZXMgY2FuIGNvbWJp bmUgdG8gY29udHJvbCB0cmFmZmljIGZyb20gaG9zdCBwb3J0IHRvIHdpcmUNCj4gcG9ydC4NCj4g PiBUaGUgd29yayBmbG93IGlzIGNvbmZpZ3VyZSBMV00gdG8gUlggcXVldWUgYW5kIGVuYWJsZSBs d20tdHJpZ2dlcmVkDQo+ID4gZmxhZyBpbiBob3N0IHNoYXBlciwgYWZ0ZXIgcmVjZWl2aW5nIExX TSBldmVudCwgZGVsYXkgYSB3aGlsZSB1bnRpbCBSWA0KPiA+IHF1ZXVlIGlzIGVtcHR5ICwgdGhl biBkaXNhYmxlIHRoZSBzaGFwZXIuIFdlIHJlY3ljbGUgdGhpcyB3b3JrIGZsb3cgdG8NCj4gcmVk dWNlIFJYIHF1ZXVlIGRyb3BzLg0KPiA+DQo+ID4gU3Bpa2UgRHUgKDYpOg0KPiA+ICAgbmV0L21s eDU6IGFkZCBMV00gc3VwcG9ydCBmb3IgUnhxDQo+ID4gICBjb21tb24vbWx4NTogc2hhcmUgaW50 ZXJydXB0IG1hbmFnZW1lbnQNCj4gPiAgIG5ldC9tbHg1OiBhZGQgTFdNIGV2ZW50IGhhbmRsaW5n IHN1cHBvcnQNCj4gPiAgIG5ldC9tbHg1OiBhZGQgcHJpdmF0ZSBBUEkgdG8gY29uZmlndXJlIFJ4 cSBMV00NCj4gPiAgIG5ldC9tbHg1OiBhZGQgcHJpdmF0ZSBBUEkgdG8gY29uZmlnIGhvc3QgcG9y dCBzaGFwZXINCj4gPiAgIGFwcC90ZXN0cG1kOiBhZGQgTFdNIGFuZCBIb3N0IFNoYXBlciBjb21t YW5kDQo+IA0KPiArIEBBbmRyZXcgUnliY2hlbmtvICBARmVycnVoIFlpZ2l0IGNyaXN0aWFuLmR1 bWl0cmVzY3VAaW50ZWwuY29tDQo+IA0KPiBJIHRoaW5rLCBjYXNlIG9uZSwgY2FuIGJlIGVhc2ls eSBhYnN0cmFjdGVkIHZpYSBhZGRpbmcgbmV3DQo+IHJ0ZV9ldGhfZXZlbnRfdHlwZSBldmVudCBh bmQgY2FzZSB0d28gY2FuIGJlIGFic3RyYWN0ZWQgdmlhIHRoZSBleGlzdGluZw0KPiBSeCBtZXRl ciBmcmFtZXdvcmsgaW4gZXRoZGV2Lg0KPiANCj4gQWxzbywgVXBkYXRpbmcgZ2VuZXJpYyB0ZXN0 cG1kIHRvIHN1cHBvcnQgUE1EIHNwZWNpZmljIEFQSSBzaG91bGQgYmUNCj4gYXZvaWRlZCwgSSBr bm93IHRoZXJlIGlzIGV4aXN0aW5nIHN0dWZmIGluIHRlc3RwbWQsIEkgdGhpbmssIHdlIHNob3Vs ZCBoYXZlIHRoZQ0KPiBwb2xpY3kgdG8gYWRkIFBNRCBzcGVjaWZpYyBjb21tYW5kcyB0byB0ZXN0 cG1kLg0KPiANCj4gVGhlcmUgYXJlIGFyb3VuZCA1NlBNRHMgaW4gZXRoZGV2IG5vdywgSWYgUE1E cyB0cnkgdG8gYWRkIFBNRCBzcGVjaWZpYw0KPiBBUEkgaW4gdGVzdHBtZCBpdCB3aWxsIGJlIGJs b2F0ZWQgb3IgYXQgbWluaW11bSwgaXQgc2hvdWxkIGEgc2VwYXJhdGUgZmlsZSBpbg0KPiB0ZXN0 cG1kIGlmIHdlIGNob29zZSB0byB0YWtlIHRoYXQgcGF0aC4NCj4gDQo+ICsgQHRlY2hib2FyZEBk cGRrLm9yZw0K