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 70EF642415; Thu, 19 Jan 2023 10:13:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 163CC410DD; Thu, 19 Jan 2023 10:13:59 +0100 (CET) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2089.outbound.protection.outlook.com [40.107.102.89]) by mails.dpdk.org (Postfix) with ESMTP id CFCD34068E for ; Thu, 19 Jan 2023 10:13:56 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LIzxG1gjp6eCY56CIZ5T6IW79C6o9CX3ChDbgviIx7NN0mFO9XrcN/n7G5c2vDQG5zMVefl/jhqujjRGvvDbgNbypDaOguO8CQL/zke3FulR7dttkMB+2cjNQXRWsS4vty50kSQnUX4TNdyAvGAcSa48xltEF5d1Z2+eaFYWHa2YdCOOCG1hezmtG68a8Hgl835LtXO2IJsbQwsD4DOLI+Ir+ijx+BntNR0T6PoRQF9DVcyDu83wPC3rlkKS6f+KlYY+VabhC508ZiVEnNKqVRisZoNYYx+A0iOXyrfe8Cobe5w+n3eK/AibEJtySsjpClPS8OJS1dXEU+whvfZ1Lg== 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=41+9J4ag1GPUjUJc//s+HnY3A1r5O5WcO6s2LIHsr74=; b=Ha+T9Eld5VtuhBUpj7EgfKniVhvktMcrfvfCnhmV2L6XyDdvRfrXZ8tcF1kjIJ1Y1PNDFNQgajr0Q1jnZctUjaowJ1AW7kKB3J8+EetUCYzCypKBDfogLRI3HkqIHA24fmFfbBSSw4kjI20nX8DYEAZgLjMQdegAY37YG0Y0k7f+oqvCh3a9ZHFdkEwlB7BoDI7spPcrjsHRhKTeCMrcWk/HjFJR1DjilHqBQ55PRJ5KuEgc/RjxfdrXM0H/f44r2BQAxCAkMLnonqAQdz3nx8+sI96aoM4ZF/hyAtni0GUp/VhW7PQqOdbrBgmzDtPxOghUOmn2jOrlESt24c7kgQ== 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=41+9J4ag1GPUjUJc//s+HnY3A1r5O5WcO6s2LIHsr74=; b=lUqG0mlzF57gbM46cH2iiXhKvBIkrRlcqqGggpkQRxba2kfjzh2oZdR7yWOecXmiMTU/J35W1P3DVHeHIrre3le11m4A2rZdt3rwlbcNK9mx3y3i9Pff0Cwt/bcXvYbv2l09laXErQN7an7M0/PvUoTXEP3QY7MpCawn6yvhwpJ6/Xt6d/lx8M02jjEffI3I4TrXwg30OdWM+8fU6EWHlHsCXpkuUAboDSmsg/OVFOxrlLwaeeOY/8LRp3YZK+0Q7TZVe+R/pwA6yT4mHSy1csP1M0C9f1hw79VIaUMT5pNoXIq7AoPdU/ksaieQG+WVHBfT9oF6mMF+hSDLJgRhqg== Received: from IA1PR12MB6332.namprd12.prod.outlook.com (2603:10b6:208:3e2::13) by DS0PR12MB6583.namprd12.prod.outlook.com (2603:10b6:8:d1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 09:13:55 +0000 Received: from IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::6e01:48d2:9cc9:dfc1]) by IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::6e01:48d2:9cc9:dfc1%6]) with mapi id 15.20.5986.023; Thu, 19 Jan 2023 09:13:54 +0000 From: Gregory Etelson To: "NBU-Contact-Thomas Monjalon (EXTERNAL)" CC: "dev@dpdk.org" , Matan Azrad , Raslan Darawsheh , Ori Kam , Aman Singh , Yuying Zhang , Ferruh Yigit , Slava Ovsiienko , Andrew Rybchenko , "ivan.malov@oktetlabs.ru" , "jerinj@marvell.com" Subject: RE: [PATCH v4 2/2] ethdev: add quota flow action and item Thread-Topic: [PATCH v4 2/2] ethdev: add quota flow action and item Thread-Index: AQHZKygPEEWthtq8W02yqGp5q4T8s66kNQwAgAE4/sA= Date: Thu, 19 Jan 2023 09:13:54 +0000 Message-ID: References: <20221221073547.988-1-getelson@nvidia.com> <20230118103109.4052-1-getelson@nvidia.com> <20230118103109.4052-2-getelson@nvidia.com> <3529184.clyjiGRsXx@thomas> In-Reply-To: <3529184.clyjiGRsXx@thomas> Accept-Language: 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-traffictypediagnostic: IA1PR12MB6332:EE_|DS0PR12MB6583:EE_ x-ms-office365-filtering-correlation-id: 1f1d8b7d-bd80-4e07-ae4a-08daf9fd7d19 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: id87X3wKSNq2FLoyUKgX9IyLZ6IWPmXhRozJ+gy2gFtk7aQIKw4FfkAH7FDfWF9JXctjJFo3EE8i6BicwDqumKtXwlf8cD5O6zshSfKFaubM+b7KnMJ4aoHdCwQARb811tYF0+KD2tJE+E98Iwc2Oq8xyti4T7T2VrLr7sdxl2B/O3lmzucuX1KWgFZDDrx231PvsbfGO0zkUqtxd7nILDpgAofd2qnOZnBqxwjVus37w4A86aSMChspyLcCMOv/Pj3DMu028RjYPPu8ubS6MSSIOadBRMcpVNxg+g7+5zVEYXs42u53h5DH0BQ6iAWkxI6Z1/odUnAIqYpQZZgFMtXQo8D3Zn43EHP5pR/2j1WgVWp1l2bD+4Rmq+9zhQIQ/irGlH0P9bdV0fWUSQdsBRJ06eWdUzU9C1nqs2uV/siQAT5pRJGBQt48kMsQ/KAMyRT5BwsaDkYJBHUl/LFlR8TJ4rAfWHsRChTOCdmgjQIQVebe7lPWX1YsbwnbPpUXTpL5uzgpI534h1gUEoAfRe36tUi5tqaIbS8VV73j9wKmjhU7mclEJcYiIcQv/WY1Q2NNsltTxgVqimJ3lPKwsosj9GEf+052H4s0pNaqtnx8wizVHD79YW4718hzPPaiSgo+Ky0FambvO/ybz2Ij6vEhas1qIMOOsgAtZfr7sq0l9a6IeBPHf9WHAxyGn0aShas4f6pfQn/QZkm29CgdzQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB6332.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199015)(86362001)(122000001)(76116006)(66476007)(66946007)(2906002)(15650500001)(66556008)(52536014)(8936002)(5660300002)(33656002)(38100700002)(55016003)(316002)(7696005)(54906003)(71200400001)(6506007)(38070700005)(478600001)(6916009)(66446008)(8676002)(64756008)(4326008)(41300700001)(186003)(9686003)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Njg1WER0RVJhakR0WlI2U3JpV1I1KzJVSWI5enp3bHA3djd5RmxSVWF4dXVz?= =?utf-8?B?MkM5OXZHQzNxRnBnQmRRODFwYkdPTWVOMWFHK2dveFdRYjlTQlloei9haVlU?= =?utf-8?B?WmFpWkRFWjB0UXBhVnhOdHczaDQ5TXZubGxyR0lReEp5cVFaSFRVMXUvMXc0?= =?utf-8?B?aHNEc00vSzFZMTI1aDEzZERyWkdvd3hhRVB3SXUwTkpSSm45eHlGZWU0ckRD?= =?utf-8?B?a3NOVHBIVlhLd3UxaWNYWGZBQXZJekMyTmNnUlcwUTlSS05tSlYzdDlvTUZi?= =?utf-8?B?cXpOYTlzL3pSVXlEMVRyOS9QdUxUM25Jclk1T1cxRFJnSm9JTENIYWRJTmt2?= =?utf-8?B?RFRMbm5vZ29iTDBSZFJsSE5HbU1lU0ZtMGIvanh5aU4yYTRQU0tMUm00WGsz?= =?utf-8?B?Tk1tdGwwejBFWjZ1QXJ5dzBpTzZhZC9EWjFHNDkzSjdBNktEeG9Ibmw5MnZ2?= =?utf-8?B?RWRmYUthN3RJTE1ZRWEzVTBrcitvVVpjaExJci9pN0RMMTIyZVI3NGVkdmY2?= =?utf-8?B?MERONjEwclhkYkN5OFN2TFRySWMwaGl2NFV2OG9tSG1xdjNuUjVNUlpwUzlB?= =?utf-8?B?RmRDc3N1TlhiTTROTUNJR29RNVFOVmUxazNlSlZWTHlvYWEwUE05eHZJbUpJ?= =?utf-8?B?SnZYTlRpc0F1ZmpZcmFENW9naGVKQnhxK1ZmRjJ3aUc5Mm9SYmJwamhMUmJG?= =?utf-8?B?WXpyTnlwSVlGZVkzRndQeFhIdm5vbjhlMk9xa1p2RnplQ1B1YkhsS2JPQWYv?= =?utf-8?B?TituMlgxcEhjOTdKRDA5VzdPMlJOVm1pajVDOWZZTUFMZEJjeHluN01mQ014?= =?utf-8?B?TC9Ec0lURHdxNGVaNEdXWVpmTUhCNUExWVprSlNnYXcwRXN5MHJpVGlzS2hM?= =?utf-8?B?Q3ZFaE5vNXppMEVnZGFXU2FDR2daUEdaTER2ekgxSk9KVEY5cFRqMUtkTDFy?= =?utf-8?B?bnRsRTc1TjR5SzA5eElOZTJwTEM3TjM4Z3JIL0QzeUFOaFFCcnpldGFMUFRM?= =?utf-8?B?SmRMV0YvT0xla1lETXFveUMrOFZldElDUjlZQ1dYZXNJUzlLMUtiV3NiMzdJ?= =?utf-8?B?MDBWZFVyL1U0bVBHUUxqTlV4UnNFMk5VQkFvc05HLy9aZmswWkZHN25mTUJk?= =?utf-8?B?TURTMzA1akVXVTNFL2tCN241Q1dwUndIL0o1SDNCY0JFUVMwdGR2dTJ1bXVR?= =?utf-8?B?VHdmcEplbUFxWEFWaHVOdlJXSkNYZW5mM3VRcGZVaDY1Vktma25VQnpHWVdx?= =?utf-8?B?VlRnNGovNkRxMDJOOEowcFk0MENReHp3cVl6TWxoWE9nVnppd0E5MGF2d3FG?= =?utf-8?B?eHZNUzUydzdERlVXMXMxbDlUUkROeVQ5RTBYWHc0YlI1b1k5Z0tlanJPYUZY?= =?utf-8?B?dEVhdEE5RkNsVWRxOUFSNkxGeXdhckNsMzJaeXNWU2N4NE5VMStkOGVjWHh3?= =?utf-8?B?SndPTFp3aDIyWldrSzhhWW9PRkRSR3JDVjMxNlptelRGa1BvZG1kT3U3TEZo?= =?utf-8?B?aXpHSVFRQXpXK0hYbW03MVE4SGRmejZBNDJVb2JaNEtaODUwVDVhTXgxYXg4?= =?utf-8?B?U1kxZnhqZjJiZVJwOEJvSHVHS0EyTTJON25icW1Iank0THdsQXJlcnZtZzFF?= =?utf-8?B?RndjbUh1bnJ0elhrdm9rdyt6aTZ4WTNuaUd6UU10enllc3c0QzlycVZLL0xu?= =?utf-8?B?dFhMZ0ViMkJxdnZYdlgvc3N6VnVZYkZlUkJhVjdaWE5tQWdtN0dzUEN3QzNG?= =?utf-8?B?cTdoMWY2QTY3bW5MNlhDUlhFVysvMVVlMGlNQWVETzFrS0F2QUVYb0lJZE9H?= =?utf-8?B?ejJSanJEdnZFZzFuWjZteFo2TnZUK0pVQ0d6b2k1ZXYxelBXeEIxYzc1YWgw?= =?utf-8?B?bkg4a1l5dmJmdmt0NlZ2SzZLQTR0aVR5SG5NZ3JsRHVXU085Z1M4RURsMW05?= =?utf-8?B?a3ZvRkFGZFRmeS9pK21vK0NOaXhuV0Q0bEc2czcvWUhQUUM2bThaVnNzV08w?= =?utf-8?B?b0h3bXdMa3p3b3ZJT0d5aVR1M1FiV0dDVFg3dk1IVW9oWVBWVHNMTUdQdENJ?= =?utf-8?B?U3NYcEdhUjZ3Rm4zQUg3aW9sMndRZExvbmpBYnZkbVJrOWh2M2szQjRsWkVJ?= =?utf-8?B?bUFtV1N0bU1WZWtRWktOZnk2Z3FwTkM1MGx1Vlo0eWoxNWgwaUFVY1MwVHdK?= =?utf-8?Q?tbTA5gX4/dV7z/pNtYl+a4yeszQsg11grgAAekk2PZnK?= 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: IA1PR12MB6332.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f1d8b7d-bd80-4e07-ae4a-08daf9fd7d19 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2023 09:13:54.6754 (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: lEyN6CrDP0g4lHcDHEgoJswKwFqkjLVFb0QCouhtODqfkFHdEyemXQQ4V6iEj1bh2tmHe2xdLrbz/ATCSJqCJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6583 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 SGVsbG8gVGhvbWFzLA0KDQo+IElzIHRoaXMgcGF0Y2ggcmVsYXRlZCB0byBxdWVyeS91cGRhdGUg b2YgaW5kaXJlY3QgZmxvdyBhY3Rpb24/DQo+IEl0IGxvb2tzIGxpa2UgaXQgc2hvdWxkIGJlIGlu IGEgc2VwYXJhdGUgc2VyaWVzLg0KPiANCg0KUXVvdGEgZmxvdyBhY3Rpb24gdXBkYXRlcyByZWxh eSBvbiBydGVfZmxvd19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZSgpLg0KQWxzbywgdGhlIGZ1 bmN0aW9uIGlzIHVzZWQgaW4gdGhlIHRlc3RtZCBwYXRjaCBzZWN0aW9uLg0KDQo+IDE4LzAxLzIw MjMgMTE6MzEsIEdyZWdvcnkgRXRlbHNvbjoNCj4gPiBRdW90YSBhY3Rpb24gbGltaXRzIHRyYWZm aWMgYWNjb3JkaW5nIHRvIHByZS1kZWZpbmVkIGNvbmZpZ3VyYXRpb24uDQo+ID4gUXVvdGEgcmVm bGVjdHMgb3ZlcmFsbCB0cmFmZmljIHVzYWdlIHJlZ2FyZGxlc3MgYmFuZHdpZHRoLg0KPiA+IFF1 b3RhIGZsb3cgYWN0aW9uIGluaXRpYWxpemVkIHdpdGggc2lnbmVkIHRva2VucyBudW1iZXIgdmFs dWUuDQo+ID4gUXVvdGEgZmxvdyBhY3Rpb24gdXBkYXRlcyB0b2tlbnMgbnVtYmVyIGFjY29yZGlu ZyB0bw0KPiA+IHRoZXNlIHJ1bGVzOg0KPiA+IDEuIGlmIHF1b3RhIHdhcyBjb25maWd1cmVkIHRv IGNvdW50IHBhY2tldCBsZW5ndGgsIGZvciBlYWNoIHBhY2tldA0KPiA+ICAgIG9mIHNpemUgUywg dG9rZW5zIG51bWJlciByZWR1Y2VkIGJ5IFMuDQo+ID4gMi4gSWYgcXVvdGEgd2FzIGNvbmZpZ3Vy ZWQgdG8gY291bnQgcGFja2V0cywgZWFjaCBwYWNrZXQgZGVjcmVtZW50cw0KPiA+ICAgIHRva2Vu cyBudW1iZXIuDQo+ID4gcXVvdGEgYWN0aW9uIHNldHMgcGFja2V0IG1ldGFkYXRhIGFjY29yZGlu ZyB0byBhIG51bWJlciBvZiByZW1haW5pbmcNCj4gPiB0b2tlbnMgbnVtYmVyOg0KPiA+ICAgUEFT UyAtIHJlbWFpbmluZyB0b2tlbnMgbnVtYmVyIGlzIG5vbi1uZWdhdGl2ZS4NCj4gPiAgIEJMT0NL IC0gcmVtYWluaW5nIHRva2VucyBudW1iZXIgaXMgbmVnYXRpdmUuDQo+ID4NCj4gPiBRdW90YSBm bG93IGl0ZW0gbWF0Y2hlcyBvbiB0aGF0IGRhdGENCj4gPg0KPiA+IEFwcGxpY2F0aW9uIHVwZGF0 ZXMgdG9rZW5zIG51bWJlciBpbiBxdW90YSBmbG93IGFjdGlvbg0KPiA+IHdpdGggU0VUIG9yIEFE RCBjYWxsczoNCj4gPiAgU0VUKFFVT1RBLCB2YWwpIC0gYXJtIHF1b3RhIHdpdGggbmV3IHRva2Vu cyBudW1iZXIgc2V0IHRvIHZhbA0KPiA+ICBBREQoUVVPVEEsIHZhbCkgLSBpbmNyZWFzZSBleGlz dGluZyBxdW90YSB0b2tlbnMgbnVtYmVyIGJ5IHZhbA0KPiA+DQo+ID4gQm90aCBTRVQgYW5kIEFE RCByZXR1cm4gdG8gYXBwbGljYXRpb24gbnVtYmVyIG9mIHRva2VucyBzdG9yZWQgaW4gcG9ydA0K PiA+IGJlZm9yZSB1cGRhdGUuDQo+ID4NCj4gPiBBcHBsaWNhdGlvbiBtdXN0IGNyZWF0ZSBhIHJ1 bGUgd2l0aCBxdW90YSBhY3Rpb24gdG8gbWFyayBmbG93IGFuZA0KPiA+IG1hdGNoIG9uIHRoZSBt YXJrIHdpdGggcXVvdGEgaXRlbSBpbiBmb2xsb3dpbmcgZmxvdyBydWxlLg0KPiA+DQo+ID4gU2ln bmVkLW9mZi1ieTogR3JlZ29yeSBFdGVsc29uIDxnZXRlbHNvbkBudmlkaWEuY29tPg0KPiA+IEFj a2VkLWJ5OiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+IC0tLQ0KPiA+IHYyOiBSZW1v dmUgUlRFX0ZMT1dfUVVfREVGQVVMVCBxdWVyeS11cGRhdGUgbW9kZS4NCj4gPiB2MzogVXBkYXRl IHJlbGVhc2Ugbm90ZXMuDQo+ID4gLS0tDQo+ID4gIGFwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cu YyAgICAgICAgICAgIHwgMzk0ICsrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgYXBwL3Rl c3QtcG1kL2NvbmZpZy5jICAgICAgICAgICAgICAgICAgfCAgODIgKysrKy0NCj4gPiAgYXBwL3Rl c3QtcG1kL3Rlc3RwbWQuaCAgICAgICAgICAgICAgICAgfCAgMTEgKw0KPiA+ICBkb2MvZ3VpZGVz L25pY3MvZmVhdHVyZXMvZGVmYXVsdC5pbmkgICB8ICAgMiArDQo+ID4gIGRvYy9ndWlkZXMvbmlj cy9mZWF0dXJlcy9tbHg1LmluaSAgICAgIHwgICAyICsNCj4gPiAgZG9jL2d1aWRlcy9uaWNzL21s eDUucnN0ICAgICAgICAgICAgICAgfCAgMTIgKw0KPiANCj4gbWx4NSBmZWF0dXJlIHNob3VsZCBi ZSBkb2N1bWVudGVkIGFuZCBtYXJrZWQgaW4gdGhlIHBhdGNoDQo+IGhhdmluZyB0aGUgaW1wbGVt ZW50YXRpb24gY29kZSwgbm90IGluIGV0aGRldiBBUEkuDQo+DQoNCldpbGwgZml4IGluIHY1Lg0K IA0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0ICAgICB8ICA0MSArKysN Cj4gPiAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QgfCAgMjcgKysNCj4g PiAgbGliL2V0aGRldi9ydGVfZmxvdy5jICAgICAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ICBs aWIvZXRoZGV2L3J0ZV9mbG93LmggICAgICAgICAgICAgICAgICB8IDEyMyArKysrKysrKw0KPiA+ ICAxMCBmaWxlcyBjaGFuZ2VkLCA2ODYgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQo+ IFsuLi5dDQo+ID4gKyAgICAgLyoqDQo+ID4gKyAgICAgICogQXBwbHkgcXVvdGEgdmVyZGljdCAt IFBBU1Mgb3IgQkxPQ0sgdG8gYSBmbG93Lg0KPiANCj4gSXMgInRvIiByZWFsbHkgd2FudGVkIGhl cmU/DQo+IFdoYXQgYWJvdXQgInBhc3Mgb3IgYmxvY2sgYSBmbG93Ij8NCj4gDQoNClRoZSBmbG93 IGFjdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBvbmx5IC0gaXQgZG9lcyBub3QgYWZmZWN0IGZs b3cgaW4gYW55IHdheS4NCkFwcGxpY2F0aW9uIG5lZWRzIHRvIG1hdGNoIG9uIHF1b3RhIGZsb3cg aXRlbSBhZnRlciBxdW90YSBhY3Rpb24gdG8gZGlzY292ZXIgcXVvdGEgc3RhdGUuDQpJdCdzIGFs c28gdXAgdG8gYXBwbGljYXRpb24gaG93IHRvIHJlYWN0IG9uIHF1b3RhIHN0YXRlLiANCg0KPiA+ ICsgICAgICAqDQo+ID4gKyAgICAgICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3F1b3Rh DQo+ID4gKyAgICAgICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfcXVlcnlfcXVvdGENCj4gPiArICAg ICAgKiBAc2VlIHN0cnVjdCBydGVfZmxvd191cGRhdGVfcXVvdGENCj4gPiArICAgICAgKi8NCj4g PiArICAgICAgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUVVPVEEsDQo+ID4gK307DQo+ID4gKw0KPiA+ ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQ SSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBRVU9U QSBvcGVyYXRpb25hbCBtb2RlLg0KPiA+ICsgKg0KPiA+ICsgKiBAc2VlIHN0cnVjdCBydGVfZmxv d19hY3Rpb25fcXVvdGENCj4gPiArICovDQo+ID4gK2VudW0gcnRlX2Zsb3dfcXVvdGFfbW9kZSB7 DQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVPVEFfTU9ERV9QQUNLRVQgPSAxLCAvKiogQ291bnQgcGFj a2V0cyAqLw0KPiA+ICsgICAgIFJURV9GTE9XX1FVT1RBX01PREVfTDIgPSAyLCAvKiogQ291bnQg cGFja2V0IGJ5dGVzIHN0YXJ0aW5nDQo+IGZyb20gTDIgKi8NCj4gPiArICAgICBSVEVfRkxPV19R VU9UQV9NT0RFX0wzID0gMywgLyoqIENvdW50IHBhY2tldCBieXRlcyBzdGFydGluZw0KPiBmcm9t IEwzICovDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiAr ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBDcmVhdGUgUVVPVEEgYWN0aW9uLg0KPiA+ICsgKg0KPiA+ ICsgKiBAc2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX1FVT1RBDQo+ID4gKyAqLw0KPiA+ICtzdHJ1 Y3QgcnRlX2Zsb3dfYWN0aW9uX3F1b3RhIHsNCj4gPiArICAgICBlbnVtIHJ0ZV9mbG93X3F1b3Rh X21vZGUgbW9kZTsgLyoqIHF1b3RhIG9wZXJhdGlvbmFsIG1vZGUgKi8NCj4gPiArICAgICBpbnQ2 NF90IHF1b3RhOyAgICAgICAgICAgICAgICAgLyoqIHF1b3RhIHZhbHVlICovDQo+IA0KPiBXaGF0 IG1lYW5zIGEgbmVnYXRpdmUgcXVvdGE/DQo+IA0KDQpOZWdhdGl2ZSBxdW90YSBpcyBraW5kIG9m IGEgbG9hbiBleHRlbmRlZCBieSBhIGhhcmR3YXJlIGlmIGl0IHByb3ZpZGVzIHN1Y2ggb3B0aW9u Lg0KSWYgcXVvdGEgdmFsdWUgaXMgLVQsIGFwcGxpY2F0aW9uIG11c3QgcHJvdmlkZSBhdCBsZWFz dCAoVCsxKSB0b2tlbnMgdG8gcmV0dXJuIHF1b3RhIHRvIFBBU1Mgc3RhdGUuIA0KDQo+ID4gK307 DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVO VEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0K PiA+ICsgKiBRdWVyeSBpbmRpcmVjdCBRVU9UQSBhY3Rpb24uDQo+ID4gKyAqDQo+ID4gKyAqIEBz ZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUVVPVEENCj4gPiArICoNCj4gPiArICovDQo+ID4gK3N0 cnVjdCBydGVfZmxvd19xdWVyeV9xdW90YSB7DQo+ID4gKyAgICAgaW50NjRfdCBxdW90YTsgLyoq IHF1b3RhIHZhbHVlICovDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5p bmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQg cHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBJbmRpcmVjdCBRVU9UQSB1cGRhdGUgb3Bl cmF0aW9ucy4NCj4gPiArICoNCj4gPiArICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfdXBkYXRlX3F1 b3RhDQo+ID4gKyAqLw0KPiA+ICtlbnVtIHJ0ZV9mbG93X3VwZGF0ZV9xdW90YV9vcCB7DQo+ID4g KyAgICAgUlRFX0ZMT1dfVVBEQVRFX1FVT1RBX1NFVCwgLyoqIHNldCBuZXcgcXVvdGEgdmFsdWUg Ki8NCj4gPiArICAgICBSVEVfRkxPV19VUERBVEVfUVVPVEFfQURELCAvKiogaW5jcmVhc2UgZXhp c3RpbmcgcXVvdGEgd2l0aA0KPiBuZXcgdmFsdWUgKi8NCj4gPiArfTsNCj4gPiArDQo+ID4gKy8q Kg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1h eSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4gKyAqDQo+ID4gKyAqIEBzZWUgUlRF X0ZMT1dfQUNUSU9OX1RZUEVfUVVPVEENCj4gPiArICoNCj4gPiArICogVXBkYXRlIGluZGlyZWN0 IFFVT1RBIGFjdGlvbi4NCj4gPiArICovDQo+ID4gK3N0cnVjdCBydGVfZmxvd191cGRhdGVfcXVv dGEgew0KPiA+ICsgICAgIGVudW0gcnRlX2Zsb3dfdXBkYXRlX3F1b3RhX29wIG9wOyAvKiogdXBk YXRlIG9wZXJhdGlvbiAqLw0KPiA+ICsgICAgIGludDY0X3QgcXVvdGE7ICAgICAgICAgICAgICAg ICAgICAvKiogcXVvdGEgdmFsdWUgKi8NCj4gPiAgfTsNCj4gPg0KPiA+ICAvKioNCj4gPiBAQCAt NDg1NCw2ICs0OTY3LDExIEBAIHN0cnVjdCBydGVfZmxvd19wb3J0X2luZm8gew0KPiA+ICAgICAg ICAqIEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09OTlRSQUNLDQo+ID4gICAgICAgICovDQo+ ID4gICAgICAgdWludDMyX3QgbWF4X25iX2Nvbm5fdHJhY2tzOw0KPiA+ICsgICAgIC8qKg0KPiA+ ICsgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIHF1b3RhIGFjdGlvbnMuDQo+ID4gKyAgICAgICog QHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9RVU9UQQ0KPiA+ICsgICAgICAqLw0KPiA+ICsgICAg IHVpbnQzMl90IG1heF9uYl9xdW90YXM7DQo+ID4gICAgICAgLyoqDQo+ID4gICAgICAgICogUG9y dCBzdXBwb3J0ZWQgZmxhZ3MgKFJURV9GTE9XX1BPUlRfRkxBR18qKS4NCj4gPiAgICAgICAgKi8N Cj4gPiBAQCAtNDkzMiw2ICs1MDUwLDExIEBAIHN0cnVjdCBydGVfZmxvd19wb3J0X2F0dHIgew0K PiA+ICAgICAgICAqIEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09OTlRSQUNLDQo+ID4gICAg ICAgICovDQo+ID4gICAgICAgdWludDMyX3QgbmJfY29ubl90cmFja3M7DQo+ID4gKyAgICAgLyoq DQo+ID4gKyAgICAgICogTWF4aW11bSBudW1iZXIgb2YgcXVvdGEgYWN0aW9ucy4NCj4gPiArICAg ICAgKiBAc2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX1FVT1RBDQo+ID4gKyAgICAgICovDQo+ID4g KyAgICAgdWludDMyX3QgbmJfcXVvdGFzOw0KPiA+ICAgICAgIC8qKg0KPiA+ICAgICAgICAqIFBv cnQgZmxhZ3MgKFJURV9GTE9XX1BPUlRfRkxBR18qKS4NCj4gPiAgICAgICAgKi8NCj4gDQo+IA0K DQo=