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 775F1A0351; Mon, 31 Jan 2022 14:04:03 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E711541178; Mon, 31 Jan 2022 14:04:02 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 66A154069D for ; Mon, 31 Jan 2022 14:04:01 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VB69Jt025979; Mon, 31 Jan 2022 05:03:41 -0800 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2170.outbound.protection.outlook.com [104.47.56.170]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3dw5yqmf6u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Jan 2022 05:03:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DAQLmzdjzPM4o+aE2CItnlfqFkvSwgHz6Tu+4b5tsWisSkJO6RTptYp716tczZhiWOVy5vMWZpnQdPYa4kxcKzKwcc0pM7YG64C8XqNOJhbbcKvmvFO2dHhaY4aZpFx8J1F+j7E6MB4ze4ff+JxQ0h8taqZuqLF5swUWpTjnZHs7Sr6Z9L5QIZgapD3nP2+Ar5XQmlJP55f8HLxXENbc4WtGPZNxJj3HwlLWC3dGbo7WIrywgVbfuaD/gu7LQLRUfZMzGBX9mefosomE6m42N6j/F0LIgOcKMmxEMoUUsqQHn5TIhIaY+7PudjNjvj7+GS017Q//1XE8y04CYhWS7Q== 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=H3I4eGzPMvEvDkUlAJYlh9X+Ata9iJWOH3+c+o7m1SA=; b=oF+seGXza/YQZrvbrxIhoOtftdp7yljwlpJ/hMTFDqmjwaUYSIMS0KT06iZ1nTUrV7l45JugJwjy2qj4UNnC3aS3KzUUuZIYlZw+OoT3AwN5mVEXZ3Zdm3bGNjjCTC5Os8ZU7oD9KQMQ3s3q/BrLlkPtQ9l1PHQX+1yvx7r856VM7pPQVQDcvRfS544tITKxJjgwb6m1M1UE3ilOKIaK2O2viroCVJrj/oXpMomAS4gdGR8adNJ6m3sZ14a2IS6hO0Qqedrp16z0bzanQ8HJVTt8BkHw7PP2CsdPj7rQUXkJrrJcqvW7T786WEtaeoFhRY0ssCn1ictvLIa1zd31fQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H3I4eGzPMvEvDkUlAJYlh9X+Ata9iJWOH3+c+o7m1SA=; b=oUI78+7hEbP/k0p837DQ8spPAmzI80Wgno+T1IJyL7gY/Ca4QM7wIuI40AfL6G+TP8PQ1Z5gVVTRHsxtYiORt76lQb969hLXlbwgTjZ6tGymoFXyrqZqVu/YgKmC+9wKt+F4tFCjD+2D/o+JnwkwQjM6ovMxTovFrmRHZA1KJag= Received: from CO6PR18MB3860.namprd18.prod.outlook.com (2603:10b6:5:34d::12) by DM6PR18MB3052.namprd18.prod.outlook.com (2603:10b6:5:167::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Mon, 31 Jan 2022 13:03:38 +0000 Received: from CO6PR18MB3860.namprd18.prod.outlook.com ([fe80::49d9:c544:fc2d:1be6]) by CO6PR18MB3860.namprd18.prod.outlook.com ([fe80::49d9:c544:fc2d:1be6%3]) with mapi id 15.20.4930.022; Mon, 31 Jan 2022 13:03:38 +0000 From: Sunil Kumar Kori To: Ajit Khaparde , Ferruh Yigit CC: Jerin Jacob Kollanukkaran , "dev@dpdk.org" , Xiaoyun Li , Aman Singh , Yuying Zhang , "thomas@monjalon.net" , "aboyer@pensando.io" , "andrew.rybchenko@oktetlabs.ru" , "beilei.xing@intel.com" , "bruce.richardson@intel.com" , "chas3@att.com" , "chenbo.xia@intel.com" , "ciara.loftus@intel.com" , Devendra Singh Rawat , "ed.czeck@atomicrules.com" , "evgenys@amazon.com" , "grive@u256.net" , "g.singh@nxp.com" , "zhouguoyang@huawei.com" , "haiyue.wang@intel.com" , Harman Kalra , "heinrich.kuhn@corigine.com" , "hemant.agrawal@nxp.com" , "hyonkim@cisco.com" , "igorch@amazon.com" , Igor Russkikh , "jgrajcia@cisco.com" , "jasvinder.singh@intel.com" , "jianwang@trustnetic.com" , "jiawenwu@trustnetic.com" , "jingjing.wu@intel.com" , "johndale@cisco.com" , "john.miller@atomicrules.com" , "linville@tuxdriver.com" , "keith.wiles@intel.com" , Kiran Kumar Kokkilagadda , "oulijun@huawei.com" , Liron Himi , "longli@microsoft.com" , "mw@semihalf.com" , "spinler@cesnet.cz" , "matan@nvidia.com" , "matt.peters@windriver.com" , "maxime.coquelin@redhat.com" , "mk@semihalf.com" , "humin29@huawei.com" , Pradeep Kumar Nalla , Nithin Kumar Dabilpuram , "qiming.yang@intel.com" , "qi.z.zhang@intel.com" , Radha Chintakuntla , "rahul.lakkireddy@chelsio.com" , Rasesh Mody , "rosen.xu@intel.com" , "sachin.saxena@oss.nxp.com" , Satha Koteswara Rao Kottidi , Shahed Shaikh , "shaibran@amazon.com" , "shepard.siegel@atomicrules.com" , "asomalap@amd.com" , "somnath.kotur@broadcom.com" , "sthemmin@microsoft.com" , "steven.webster@windriver.com" , "mtetsuyah@gmail.com" , Veerasenareddy Burru , "viacheslavo@nvidia.com" , "xiao.w.wang@intel.com" , "cloud.wangxiaoyun@huawei.com" , "yisen.zhuang@huawei.com" , "yongwang@vmware.com" , "xuanziyang2@huawei.com" Subject: RE: [EXT] Re: [dpdk-dev] [PATCH v2 2/2] app/testpmd: add queue based pfc CLI options Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v2 2/2] app/testpmd: add queue based pfc CLI options Thread-Index: AQHYCGg7sYXQYxOtI02rVSE+ULVf36x0E3EAgAJ1aPCAADr0AIAAaSeAgAYEa+A= Date: Mon, 31 Jan 2022 13:03:37 +0000 Message-ID: References: <20220109105851.734687-1-skori@marvell.com> <20220113102718.3167282-1-jerinj@marvell.com> <20220113102718.3167282-2-jerinj@marvell.com> <839ce0f4-3170-8f2d-c05b-46cf6a99553f@intel.com> <7a34c391-008c-d1a7-a554-2ef414eb9f74@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fab280c5-c68f-48e4-9eae-08d9e4ba18dc x-ms-traffictypediagnostic: DM6PR18MB3052:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JwVFeDdPyFXnakvdprz0Kmfw+x6EPKFjWnuZBoNgSWTXpVPD+KEmn/NVjZ5iS2Y2Ej1NPNYVG0dtIBGnngxQzVrTJJTDMC4uQtZf0gQWVKk26+oBQPiAQHE8xd4A8ZE9Zs3fBzFDrT5FTiNdM5EFTDnA06B/sfPs8VSAKJa9PJ5XBaor5B1cDWXZvxTipsgsrGOHLDE54E2AfGk1NJzwjHGKi/CCH4DKBrLyCmCOUOC4dN3Cz8uR1HZrIzLNfzDQL9iEAxzsLQesZZMzaZBx2fJL2e0eSmT1/NjBGylR80EGBpSGWHu6xt0wbhwMjvyajfGh3kYrI7DvQ1pQav9SQQf5ZKXn71/AIJmTYSnnSjKosi/IZeMfJFJHY2Jc/XCt+vpFTnh2+ffSH29Bi/BaDtxu7hQmihgouZZOCvDNUET1Jwm3OK+rgtdqL2+S9lgQGsBOMybS72+euiMv8svns+7gWIT6Dkguj19t+RUzlL26J5R/R0ZDHdsHbq430bT9EIBOX2UpO9DoH1Ma2zyq/uIFsXFGqs1z7C11vs1zASfeKs/6yJZUcprgd/rifdNtRK+lSbejgxx7sv7TVuzj4i6+Y3Q48xG9l/Rlv0+byBZK1irs3CD/jwYd3rrvXuliWtrCA4sA3L8aMIoe2V3F57roPW/ZCauSEEZSvoJxYWLCfD47ldx6c2Dnz9ZiIbaIEIWfOE0Q2Dt8RPXAgea1wA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB3860.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8676002)(2906002)(4326008)(66556008)(86362001)(83380400001)(55016003)(8936002)(66946007)(38100700002)(66476007)(66446008)(122000001)(38070700005)(64756008)(76116006)(6506007)(7696005)(45080400002)(52536014)(9686003)(54906003)(7416002)(7366002)(53546011)(110136005)(7406005)(33656002)(508600001)(26005)(5660300002)(186003)(71200400001)(316002)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aSs1RExLSnFXWm9aN3ZpTXZZTy9yWGRaOUVRRjBMY2QxS09IbjN0cE1vbjY4?= =?utf-8?B?cHNtZldCMlhzRVA3dG5NVlI3S0ovSDc2Q3ZvMDVualE2NUNGa3F3T1ZoYTlN?= =?utf-8?B?UHhxWjRXcEUxSFdVZS9LM1l4L0Y2TU80ZHdMWll2b3h1WUNZaW9za3FPeVBZ?= =?utf-8?B?VUNjZ0RMdVZFNVBsTENweXlocHJzdzdzM1pBMkhKbS9CYmJZb1hidmN5Wmoz?= =?utf-8?B?d3RIV3lGY3VjMWpFcEJXbVhsNFZldk9KQ0NmSUlGL1dmc2FtVFZTVis5TSs1?= =?utf-8?B?Yk01QzFhQXdBUy8wNFBZdDlKb3N2cCtReHJiNXhTSCtDOXROdlNJaWpSeTNW?= =?utf-8?B?MWRiTkdRckhhSUNlK0xGZ3A4UkE1YW1hWm1aKyt2TUdLUTJoN2tSR2xBQ3lE?= =?utf-8?B?cHVEU0tEM2c2L2JEczZ1NGFzRStZek8reG03SVIybStRNnpWWXczdXUyeUpC?= =?utf-8?B?Z0NqWVNtRExqaUIxWlg5Ymk4RGoxQVFrV1VNSEpUN01zNlZ2SlNMR3p5Vys2?= =?utf-8?B?WW53ajIyV3ZUeEpZMzYxcmNKYUlWTndQYXVjY1Y5NHBBczR3WXc4aGRMa3Mr?= =?utf-8?B?Q0F0N1N1YkQvMWx5SnIxZmlvcGYzNGwwTHRZemJOamttU25xejF3VWlXY1pE?= =?utf-8?B?RUI4Ynh6bUpqWDFPTU5xNHZvRHNDRTFoVXNOZW15Zzdkd285VzRXRk90clNv?= =?utf-8?B?ZUloRTdVZkEybzFMUzlPSUsvQ1d0VWNTMnFZMVdyK3N2NUhuNUppbFEzbTR1?= =?utf-8?B?UkJ2NUgrTHJxUWpzZURsaHFBY0xwYlNzdEQyU3RFVTRrNHYzWUtIN3BGZEZU?= =?utf-8?B?RmQ0U3ZSRWpuaHlkcmRwQk4yTUxUMWZUR0RFaUFmSld4R041Z2tSdEtIU0FP?= =?utf-8?B?Rm9HanAxdnI2YWxDT01BTzBCU3dKK1k3clczcmFqZjhpNUc5b0JXVmJCc1p1?= =?utf-8?B?U2w4VTNNamwrSE1td0lIUG9BSEtFTWk4dmoydlA5TUsvSmQxM2pOc3hrQW8r?= =?utf-8?B?UlhUWU1qOVkrcnRzcWpkbzR4TTA5SUVTQnR0bk52STlRS3hpVWtmYnFPSXhC?= =?utf-8?B?UFNWK3ZXendvd2cvTTNoU0hGWFh4NnpLVXUzUDVCZTZDcFdVOTJ2VFM5N21a?= =?utf-8?B?UHJjamtkZ1RyRlk2ZUZCTXVuZ05LZWhaUFZ2M2VNZ2VheVNBcTlNNHVVMHdm?= =?utf-8?B?UjZJMjVkcE1Ic0VUcS9EUkVoc1pFUE5YN0NGQWo2K3RtcTZ1d1QwNlpSc1Jx?= =?utf-8?B?b3BBVzdlU0Nqa0xwUmNXaXk5N0NWejJEdExhaW1mdE5LNTVyQ1ZIaGhlWDJS?= =?utf-8?B?U0p0WEg2a3NSS0dXalRZbHNRSGVvMlFZeWV2MWRGNko4WnF2UDVoMm5QQnJN?= =?utf-8?B?aEgyRjRNQ2pGZzB1TU1Eci84WVhTTHl6N3lyUGV0NnlkZWdLYTZCRU0wMjVQ?= =?utf-8?B?QTBjaDJrZ2dQWWdYN0xCaUsvZ3VkMlFYemdtdjdBUm52MGJRTXZObklGMVky?= =?utf-8?B?ZlRuc1M3VWxrYU1IcU5oOWJGOXVqaVczWFlad2xVRExBaDFoT2J4QUR3emp0?= =?utf-8?B?eklEMjFuVlh4aHRUOTl3R3ZBc1dhaWtacE1YcnhqWFVzb2doSER4d1ZjZTVE?= =?utf-8?B?Rkg3Vm1vTDJlRlNnZzJFUTBMNGNydU5KN1M2S1NHVUN4VjJpTXA2MjVISzVM?= =?utf-8?B?SjB5bDU0eEV1UlNVVVBORnJDZEtrTkhSMGNwMHQ2M2J5UFRrK21NeVZMdjBZ?= =?utf-8?B?Z0x1SVpEbnlrY2x1MHNGaU9NV295NmxUYW5NMWlkaUV2WjFZQjZHcTZrR2NF?= =?utf-8?B?L3ptYkFETTEvaW1YMjQxQkI2d2p5VThLWnRUbERrZXFrc3hmMzZjeWFUS0h4?= =?utf-8?B?YUZXQjliU3F1UDhhZ3owVC8ydDd5bGRiKytnTWhMVWVvSXF0eTR0LzMxQW9w?= =?utf-8?B?cGdYc1JQNEZ5UXJ3SFI5RjB2N2h5MHNuTzhldnFtb3pQWVlPVFd4RzdDUVhX?= =?utf-8?B?THZPUW96RzladjE1NDdFUnNOeWpOL1c3NFR6aHFqTzBLQm5uemZjYVUzYjNI?= =?utf-8?B?cmNDZnhjMTVvd3hQaFhDdTFuaTJnMUNsN0JSQTZOemtSdTFXeXNWR2t1VHpF?= =?utf-8?B?SW5lTDRlOXpPbzhXMldOUHlXRkJIYTBuT05iWjZoc1lWVnR6Qm0vanBGL2VW?= =?utf-8?Q?JqpsGGlO/U1eKIJm0D05pME=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB3860.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fab280c5-c68f-48e4-9eae-08d9e4ba18dc X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 13:03:37.8048 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1b7KSBmV9Mn2VwitNAc2n89YzXk5Z1WcM9X2VD4DbT1WfvVv7pTsaV6cj8FqJylCAgn2FPgNfQQALCFY64Eduw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3052 X-Proofpoint-ORIG-GUID: nUEH0oIpDtQn1R-R6wsU9Q3VDsXazHd7 X-Proofpoint-GUID: nUEH0oIpDtQn1R-R6wsU9Q3VDsXazHd7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2022-01-31_05,2022-01-28_01,2021-12-02_01 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 LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEFqaXQgS2hhcGFyZGUgPGFqaXQua2hh cGFyZGVAYnJvYWRjb20uY29tPiANClNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDI3LCAyMDIyIDEw OjI3IFBNDQpUbzogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KQ2M6IFN1 bmlsIEt1bWFyIEtvcmkgPHNrb3JpQG1hcnZlbGwuY29tPjsgSmVyaW4gSmFjb2IgS29sbGFudWtr YXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3JnOyBYaWFveXVuIExpIDx4aWFv eXVuLmxpQGludGVsLmNvbT47IEFtYW4gU2luZ2ggPGFtYW4uZGVlcC5zaW5naEBpbnRlbC5jb20+ OyBZdXlpbmcgWmhhbmcgPHl1eWluZy56aGFuZ0BpbnRlbC5jb20+OyB0aG9tYXNAbW9uamFsb24u bmV0OyBhYm95ZXJAcGVuc2FuZG8uaW87IGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1OyBi ZWlsZWkueGluZ0BpbnRlbC5jb207IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyBjaGFzM0Bh dHQuY29tOyBjaGVuYm8ueGlhQGludGVsLmNvbTsgY2lhcmEubG9mdHVzQGludGVsLmNvbTsgRGV2 ZW5kcmEgU2luZ2ggUmF3YXQgPGRzaW5naHJhd2F0QG1hcnZlbGwuY29tPjsgZWQuY3plY2tAYXRv bWljcnVsZXMuY29tOyBldmdlbnlzQGFtYXpvbi5jb207IGdyaXZlQHUyNTYubmV0OyBnLnNpbmdo QG54cC5jb207IHpob3VndW95YW5nQGh1YXdlaS5jb207IGhhaXl1ZS53YW5nQGludGVsLmNvbTsg SGFybWFuIEthbHJhIDxoa2FscmFAbWFydmVsbC5jb20+OyBoZWlucmljaC5rdWhuQGNvcmlnaW5l LmNvbTsgaGVtYW50LmFncmF3YWxAbnhwLmNvbTsgaHlvbmtpbUBjaXNjby5jb207IGlnb3JjaEBh bWF6b24uY29tOyBJZ29yIFJ1c3NraWtoIDxpcnVzc2tpa2hAbWFydmVsbC5jb20+OyBqZ3JhamNp YUBjaXNjby5jb207IGphc3ZpbmRlci5zaW5naEBpbnRlbC5jb207IGppYW53YW5nQHRydXN0bmV0 aWMuY29tOyBqaWF3ZW53dUB0cnVzdG5ldGljLmNvbTsgamluZ2ppbmcud3VAaW50ZWwuY29tOyBq b2huZGFsZUBjaXNjby5jb207IGpvaG4ubWlsbGVyQGF0b21pY3J1bGVzLmNvbTsgbGludmlsbGVA dHV4ZHJpdmVyLmNvbTsga2VpdGgud2lsZXNAaW50ZWwuY29tOyBLaXJhbiBLdW1hciBLb2traWxh Z2FkZGEgPGtpcmFua3VtYXJrQG1hcnZlbGwuY29tPjsgb3VsaWp1bkBodWF3ZWkuY29tOyBMaXJv biBIaW1pIDxsaXJvbmhAbWFydmVsbC5jb20+OyBsb25nbGlAbWljcm9zb2Z0LmNvbTsgbXdAc2Vt aWhhbGYuY29tOyBzcGlubGVyQGNlc25ldC5jejsgbWF0YW5AbnZpZGlhLmNvbTsgbWF0dC5wZXRl cnNAd2luZHJpdmVyLmNvbTsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IG1rQHNlbWloYWxm LmNvbTsgaHVtaW4yOUBodWF3ZWkuY29tOyBQcmFkZWVwIEt1bWFyIE5hbGxhIDxwbmFsbGFAbWFy dmVsbC5jb20+OyBOaXRoaW4gS3VtYXIgRGFiaWxwdXJhbSA8bmRhYmlscHVyYW1AbWFydmVsbC5j b20+OyBxaW1pbmcueWFuZ0BpbnRlbC5jb207IHFpLnouemhhbmdAaW50ZWwuY29tOyBSYWRoYSBD aGludGFrdW50bGEgPHJhZGhhY0BtYXJ2ZWxsLmNvbT47IHJhaHVsLmxha2tpcmVkZHlAY2hlbHNp by5jb207IFJhc2VzaCBNb2R5IDxybW9keUBtYXJ2ZWxsLmNvbT47IHJvc2VuLnh1QGludGVsLmNv bTsgc2FjaGluLnNheGVuYUBvc3MubnhwLmNvbTsgU2F0aGEgS290ZXN3YXJhIFJhbyBLb3R0aWRp IDxza290ZXNod2FyQG1hcnZlbGwuY29tPjsgU2hhaGVkIFNoYWlraCA8c2hzaGFpa2hAbWFydmVs bC5jb20+OyBzaGFpYnJhbkBhbWF6b24uY29tOyBzaGVwYXJkLnNpZWdlbEBhdG9taWNydWxlcy5j b207IGFzb21hbGFwQGFtZC5jb207IHNvbW5hdGgua290dXJAYnJvYWRjb20uY29tOyBzdGhlbW1p bkBtaWNyb3NvZnQuY29tOyBzdGV2ZW4ud2Vic3RlckB3aW5kcml2ZXIuY29tOyBtdGV0c3V5YWhA Z21haWwuY29tOyBWZWVyYXNlbmFyZWRkeSBCdXJydSA8dmJ1cnJ1QG1hcnZlbGwuY29tPjsgdmlh Y2hlc2xhdm9AbnZpZGlhLmNvbTsgeGlhby53LndhbmdAaW50ZWwuY29tOyBjbG91ZC53YW5neGlh b3l1bkBodWF3ZWkuY29tOyB5aXNlbi56aHVhbmdAaHVhd2VpLmNvbTsgeW9uZ3dhbmdAdm13YXJl LmNvbTsgeHVhbnppeWFuZzJAaHVhd2VpLmNvbQ0KU3ViamVjdDogUmU6IFtFWFRdIFJlOiBbZHBk ay1kZXZdIFtQQVRDSCB2MiAyLzJdIGFwcC90ZXN0cG1kOiBhZGQgcXVldWUgYmFzZWQgcGZjIENM SSBvcHRpb25zDQoNCk9uIFRodSwgSmFuIDI3LCAyMDIyIGF0IDI6NDAgQU0gRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPiB3cm90ZToNCj4NCj4gT24gMS8yNy8yMDIyIDc6MTMg QU0sIFN1bmlsIEt1bWFyIEtvcmkgd3JvdGU6DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29t Pg0KPiA+PiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDI1LCAyMDIyIDExOjA3IFBNDQo+ID4+IFRv OiBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBkZXZAZHBk ay5vcmc7IA0KPiA+PiBYaWFveXVuIExpIDx4aWFveXVuLmxpQGludGVsLmNvbT47IEFtYW4gU2lu Z2ggDQo+ID4+IDxhbWFuLmRlZXAuc2luZ2hAaW50ZWwuY29tPjsgWXV5aW5nIFpoYW5nIDx5dXlp bmcuemhhbmdAaW50ZWwuY29tPg0KPiA+PiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgYWppdC5r aGFwYXJkZUBicm9hZGNvbS5jb207IA0KPiA+PiBhYm95ZXJAcGVuc2FuZG8uaW87IGFuZHJldy5y eWJjaGVua29Ab2t0ZXRsYWJzLnJ1OyANCj4gPj4gYmVpbGVpLnhpbmdAaW50ZWwuY29tOyBicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbTsgY2hhczNAYXR0LmNvbTsgDQo+ID4+IGNoZW5iby54aWFA aW50ZWwuY29tOyBjaWFyYS5sb2Z0dXNAaW50ZWwuY29tOyBEZXZlbmRyYSBTaW5naCBSYXdhdCAN Cj4gPj4gPGRzaW5naHJhd2F0QG1hcnZlbGwuY29tPjsgZWQuY3plY2tAYXRvbWljcnVsZXMuY29t OyANCj4gPj4gZXZnZW55c0BhbWF6b24uY29tOyBncml2ZUB1MjU2Lm5ldDsgZy5zaW5naEBueHAu Y29tOyANCj4gPj4gemhvdWd1b3lhbmdAaHVhd2VpLmNvbTsgaGFpeXVlLndhbmdAaW50ZWwuY29t OyBIYXJtYW4gS2FscmEgDQo+ID4+IDxoa2FscmFAbWFydmVsbC5jb20+OyBoZWlucmljaC5rdWhu QGNvcmlnaW5lLmNvbTsgDQo+ID4+IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IGh5b25raW1AY2lz Y28uY29tOyBpZ29yY2hAYW1hem9uLmNvbTsgSWdvciANCj4gPj4gUnVzc2tpa2ggPGlydXNza2lr aEBtYXJ2ZWxsLmNvbT47IGpncmFqY2lhQGNpc2NvLmNvbTsgDQo+ID4+IGphc3ZpbmRlci5zaW5n aEBpbnRlbC5jb207IGppYW53YW5nQHRydXN0bmV0aWMuY29tOyANCj4gPj4gamlhd2Vud3VAdHJ1 c3RuZXRpYy5jb207IGppbmdqaW5nLnd1QGludGVsLmNvbTsgam9obmRhbGVAY2lzY28uY29tOyAN Cj4gPj4gam9obi5taWxsZXJAYXRvbWljcnVsZXMuY29tOyBsaW52aWxsZUB0dXhkcml2ZXIuY29t OyANCj4gPj4ga2VpdGgud2lsZXNAaW50ZWwuY29tOyBLaXJhbiBLdW1hciBLb2traWxhZ2FkZGEg DQo+ID4+IDxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT47IG91bGlqdW5AaHVhd2VpLmNvbTsgTGly b24gSGltaSANCj4gPj4gPGxpcm9uaEBtYXJ2ZWxsLmNvbT47IGxvbmdsaUBtaWNyb3NvZnQuY29t OyBtd0BzZW1paGFsZi5jb207IA0KPiA+PiBzcGlubGVyQGNlc25ldC5jejsgbWF0YW5AbnZpZGlh LmNvbTsgbWF0dC5wZXRlcnNAd2luZHJpdmVyLmNvbTsgDQo+ID4+IG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tOyBta0BzZW1paGFsZi5jb207IGh1bWluMjlAaHVhd2VpLmNvbTsgDQo+ID4+IFBy YWRlZXAgS3VtYXIgTmFsbGEgPHBuYWxsYUBtYXJ2ZWxsLmNvbT47IE5pdGhpbiBLdW1hciBEYWJp bHB1cmFtIA0KPiA+PiA8bmRhYmlscHVyYW1AbWFydmVsbC5jb20+OyBxaW1pbmcueWFuZ0BpbnRl bC5jb207IA0KPiA+PiBxaS56LnpoYW5nQGludGVsLmNvbTsgUmFkaGEgQ2hpbnRha3VudGxhIDxy YWRoYWNAbWFydmVsbC5jb20+OyANCj4gPj4gcmFodWwubGFra2lyZWRkeUBjaGVsc2lvLmNvbTsg UmFzZXNoIE1vZHkgPHJtb2R5QG1hcnZlbGwuY29tPjsgDQo+ID4+IHJvc2VuLnh1QGludGVsLmNv bTsgc2FjaGluLnNheGVuYUBvc3MubnhwLmNvbTsgU2F0aGEgS290ZXN3YXJhIFJhbyANCj4gPj4g S290dGlkaSA8c2tvdGVzaHdhckBtYXJ2ZWxsLmNvbT47IFNoYWhlZCBTaGFpa2ggDQo+ID4+IDxz aHNoYWlraEBtYXJ2ZWxsLmNvbT47IHNoYWlicmFuQGFtYXpvbi5jb207IA0KPiA+PiBzaGVwYXJk LnNpZWdlbEBhdG9taWNydWxlcy5jb207IGFzb21hbGFwQGFtZC5jb207IA0KPiA+PiBzb21uYXRo LmtvdHVyQGJyb2FkY29tLmNvbTsgc3RoZW1taW5AbWljcm9zb2Z0LmNvbTsgDQo+ID4+IHN0ZXZl bi53ZWJzdGVyQHdpbmRyaXZlci5jb207IFN1bmlsIEt1bWFyIEtvcmkgPHNrb3JpQG1hcnZlbGwu Y29tPjsgDQo+ID4+IG10ZXRzdXlhaEBnbWFpbC5jb207IFZlZXJhc2VuYXJlZGR5IEJ1cnJ1IDx2 YnVycnVAbWFydmVsbC5jb20+OyANCj4gPj4gdmlhY2hlc2xhdm9AbnZpZGlhLmNvbTsgeGlhby53 LndhbmdAaW50ZWwuY29tOyANCj4gPj4gY2xvdWQud2FuZ3hpYW95dW5AaHVhd2VpLmNvbTsgeWlz ZW4uemh1YW5nQGh1YXdlaS5jb207IA0KPiA+PiB5b25nd2FuZ0B2bXdhcmUuY29tOyB4dWFueml5 YW5nMkBodWF3ZWkuY29tDQo+ID4+IFN1YmplY3Q6IFtFWFRdIFJlOiBbZHBkay1kZXZdIFtQQVRD SCB2MiAyLzJdIGFwcC90ZXN0cG1kOiBhZGQgcXVldWUgDQo+ID4+IGJhc2VkIHBmYyBDTEkgb3B0 aW9ucw0KPiA+Pg0KPiA+PiBFeHRlcm5hbCBFbWFpbA0KPiA+Pg0KPiA+PiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ID4+IC0tLSBPbiAxLzEzLzIwMjIgMTA6MjcgQU0sIGplcmluakBtYXJ2ZWxsLmNvbSB3cm90ZToN Cj4gPj4+IEZyb206IFN1bmlsIEt1bWFyIEtvcmkgPHNrb3JpQG1hcnZlbGwuY29tPg0KPiA+Pj4N Cj4gPj4+IFBhdGNoIGFkZHMgY29tbWFuZCBsaW5lIG9wdGlvbnMgdG8gY29uZmlndXJlIHF1ZXVl IGJhc2VkIHByaW9yaXR5IA0KPiA+Pj4gZmxvdyBjb250cm9sLg0KPiA+Pj4NCj4gPj4+IC0gU3lu dGF4IGNvbW1hbmQgaXMgZ2l2ZW4gYXMgYmVsb3c6DQo+ID4+Pg0KPiA+Pj4gc2V0IHBmY19xdWV1 ZV9jdHJsIDxwb3J0X2lkPiByeCA8b258b2ZmPiA8dHhfcWlkPiA8dHhfdGM+IFwNCj4gPj4+ICAg ICB0eCA8b258b2ZmPiA8cnhfcWlkPiA8cnhfdGM+IDxwYXVzZV90aW1lPg0KPiA+Pj4NCj4gPj4N Cj4gPj4gSXNuJ3QgdGhlIG9yZGVyIG9mIHRoZSBwYXJhbXRlcnMgb2RkLCBpdCBpcyBtaXhpbmcg UngvVHggY29uZmlnLCANCj4gPj4gd2hhdCBhYm91dCBvcmRlcmluZyBSeCBhbmQgVHggcGFyYW10 ZXJzPw0KPiA+Pg0KPiA+IEl0J3MgYmVlbiBrZXB0IGxpa2UgdGhpcyB0byBwb3J0cmF5IGNvbmZp ZyBmb3IgcnhfcGF1c2UgYW5kIHR4X3BhdXNlIHNlcGFyYXRlbHkgaS5lLiBtb2RlIGFuZCBjb3Jy ZXNwb25kaW5nIGNvbmZpZy4NCj4gPg0KPg0KPiBXaGF0IGRvIHlvdSBtZWFuICdzZXBhcmF0ZWx5 Jz8gWW91IG5lZWQgdG8gcHJvdmlkZSBhbGwgYXJndW1lbnRzIGFueXdheSwgcmlnaHQ/DQo+DQo+ IEkgd2FzIHRoaW5raW5nIGZpcnN0IGhhdmUgdGhlIFJ4IGFyZ3VtZW50cywgbGF0ZXIgVHgsIGxp a2U6DQo+DQo+IHJ4IDxvbnxvZmY+IDxyeF9xaWQ+IDxyeF90Yz4gdHggPG9ufG9mZj4gPHR4X3Fp ZD4gPHR4X3RjPiA8cGF1c2VfdGltZT4NCkkgdGhpbmsgdGhpcyBncm91cGluZyBpcyBiZXR0ZXIu DQoNCj4NCj4gQW0gSSBtaXNzaW5nIHNvbWV0aGluZywgaXMgdGhlcmUgYSBiZW5lZml0IG9mIHdo YXQgeW91IGRpZCBpbiB0aGlzIHBhdGNoPw0KDQpNZW50aW9uZWQgc3ludGF4IHRha2VzIGlucHV0 IGFzIHBlciBiZWxvdyBjb25maWcgc3RydWN0dXJlOg0Kc3RydWN0IHJ0ZV9ldGhfcGZjX3F1ZXVl X2NvbmYgew0KICAgICAgICBlbnVtIHJ0ZV9ldGhfZmNfbW9kZSBtb2RlOyAvKio8IExpbmsgZmxv dyBjb250cm9sIG1vZGUgKi8NCg0KICAgICAgICBzdHJ1Y3Qgew0KICAgICAgICAgICAgICAgIHVp bnQxNl90IHR4X3FpZDsgLyoqPCBUeCBxdWV1ZSBJRCAqLw0KICAgICAgICAgICAgICAgIHVpbnQ4 X3QgdGM7IC8qKjwgVHJhZmZpYyBjbGFzcyBhcyBwZXIgUEZDICg4MDIuMVFiYikgc3BlYyAqLw0K ICAgICAgICB9IHJ4X3BhdXNlOyAvKiBWYWxpZCB3aGVuIChtb2RlID09IEZDX1JYX1BBVVNFIHx8 IG1vZGUgPT0gRkNfRlVMTCkgKi8NCg0KICAgICAgICBzdHJ1Y3Qgew0KICAgICAgICAgICAgICAg IHVpbnQxNl90IHBhdXNlX3RpbWU7IC8qKjwgUGF1c2UgcXVvdGEgaW4gdGhlIFBhdXNlIGZyYW1l ICovDQogICAgICAgICAgICAgICAgdWludDE2X3QgcnhfcWlkOyAgICAgLyoqPCBSeCBxdWV1ZSBJ RCAqLw0KICAgICAgICAgICAgICAgIHVpbnQ4X3QgdGM7IC8qKjwgVHJhZmZpYyBjbGFzcyBhcyBw ZXIgUEZDICg4MDIuMVFiYikgc3BlYyAqLw0KICAgICAgICB9IHR4X3BhdXNlOyAvKiBWYWxpZCB3 aGVuIChtb2RlID09IEZDX1RYX1BBVVNFIHx8IG1vZGUgPT0gRkNfRlVMTCkgKi8NCn07DQoNCkZp cnN0IHBhcnQgcmVwcmVzZW50IGZpcnN0IHN0cnVjdHVyZSBpbmZvcm1hdGlvbiBhbmQgbGF0ZXIg cGFydCByZXByZXNlbnQgc2Vjb25kIHN0cnVjdHVyZSBpbmZvcm1hdGlvbi4NCkZvciB0aGUgbmV4 dCB2ZXJzaW9uLCBJIGFtIGtlZXBpbmcgdGhpcyBzeW50YXggYXMgaXQgaXMgYW5kIHdpbGwgYmUg Zml4aW5nIHNvbWUgZXRoZGV2IGNoYW5nZXMuDQoNCj4NCj4gPj4+IC0gRXhhbXBsZSBjb21tYW5k IHRvIGNvbmZpZ3VyZSBxdWV1ZSBiYXNlZCBwcmlvcml0eSBmbG93IGNvbnRyb2wNCj4gPj4+ICAg ICBvbiByeCBhbmQgdHggc2lkZSBmb3IgcG9ydCAwLCBSeCBxdWV1ZSAwLCBUeCBxdWV1ZSAwIHdp dGggcGF1c2UNCj4gPj4+ICAgICB0aW1lIDIwNDcNCj4gPj4+DQo+ID4+PiB0ZXN0cG1kPiBzZXQg cGZjX3F1ZXVlX2N0cmwgMCByeCBvbiAwIDAgdHggb24gMCAwIDIwNDcNCj4gPj4+DQo+ID4+PiBT aWduZWQtb2ZmLWJ5OiBTdW5pbCBLdW1hciBLb3JpIDxza29yaUBtYXJ2ZWxsLmNvbT4NCj4gPj4N Cj4gPj4gPC4uLj4NCj4NCg==