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 90CF44240F; Wed, 18 Jan 2023 16:17:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 764E340223; Wed, 18 Jan 2023 16:17:05 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 154C6400D6 for ; Wed, 18 Jan 2023 16:17:04 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OJQiIjVRE2lqXw5clKk1+YMk7A/n83NFzBW2Hv/t+BGUGYASjHxgc9fH5uSGHSF/wil4L2LTodUcg9EiW5EouEDZkz77iwoSRNJqQts4EjwiNAl4sGfJ6OoxdyeK5wWj/qVKxM1xXHpMmSlAquAH8jU0yhuCEt9AxWDITIiBxKAXzMVE2PG6XBbg/1ZdlDxmyF1ol28THTlA7BLj6j0L4zU+82WhxEwND7Aq1AHcVbFzOM4Q4h/HBTpbIRKVEiRPfmZaIsTwMVmafTM8pI+VkeXD0ZbCNhgfJgmuZ3YjgmubBwACPTdQEnaQKORbbzan9R17zKYyiZZD3APS8etgUQ== 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=aXLGiXDSoUr4qNRws0W/sNDGHyk8nC6lmFRSIpP2Y/Y=; b=PgnqgFFPHY7PZRhaRevB1PsyvTRSjVM6+jZCvykgiayWpNcBvjNA25T2f+q+mS7sMdzfUIpCZYv1sRNnEoBRrePzFU9wQ6jqo0ivlLdT/xTxQilGJd3KTiK8LN/Swa2GNEawYW6X9qLVlcvJ7h1nEXiKBLbW2giLWYCtlmVqFia6AhF7lwkyURTE3PMZGZWGVnyGypRKjGEPAKP/2jLJxOkORfQSl9PhzKuRmC1E6H/wIOsOpHaEWDrxNitqewCB6FO7zwEHFu8Rcr1oLN6USwgcHRJe0RThzgbBYiL7Bd3AM9zA19KJkYCbDVVQqgoHnMUay3LIYO6NhlFqH/JMMA== 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=aXLGiXDSoUr4qNRws0W/sNDGHyk8nC6lmFRSIpP2Y/Y=; b=TlUzHKEx7NW+wsT5dBqQOBdE5POuU+hagLlmeQLfnQE17ggzdM1MR7uWYhKjbD9s2b+H/6M7QmZt5M52HPf6oT3htGRQyS2hLdXcDi8MGZF8HW4ek+VsMDbhqknlDNAYPbKvN+5UqNf+HukFIDw3seOvYXLmL61j0Y4h/BUnHTSwJUDTjTAWEUHtRQDUf6KKr/+dI15iMxzn6y/cvNPUTQ2wyMWtWBbwz2c3hXIfcBeUetyBbUWgG3wpcZ1gG9m7zikZKAeYKglR3Tj/nJekL5uiQbX38JgYvXAh0Up2x85rHgxs+RiD8SI9ZLFkprG0OgJm3ZOBiy79b+opdnHzNQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DS0PR12MB6413.namprd12.prod.outlook.com (2603:10b6:8:ce::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Wed, 18 Jan 2023 15:17:02 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9cc4:ddb4:9db3:1ece]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9cc4:ddb4:9db3:1ece%6]) with mapi id 15.20.6002.024; Wed, 18 Jan 2023 15:17:02 +0000 From: Ori Kam To: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Slava Ovsiienko CC: "dev@dpdk.org" , Matan Azrad , Raslan Darawsheh , "andrew.rybchenko@oktetlabs.ru" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@amd.com" Subject: RE: [RFC] ethdev: sharing indirect actions between ports Thread-Topic: [RFC] ethdev: sharing indirect actions between ports Thread-Index: AQHZGt0dfOSLW1KspUikjp8CX9qjUK6kNRwAgAAzfuA= Date: Wed, 18 Jan 2023 15:17:01 +0000 Message-ID: References: <20221228165433.18185-1-viacheslavo@nvidia.com> <12784039.iMDcRRXYNz@thomas> In-Reply-To: <12784039.iMDcRRXYNz@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: MW2PR12MB4666:EE_|DS0PR12MB6413:EE_ x-ms-office365-filtering-correlation-id: b6b5d837-9f40-424e-6307-08daf9670ce8 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: p0F4o9e4JWLouc11mSG/KkPGxKn9vfjykBTHULpi58I3/qthL3e6sDp3KNfC9g5o1yioE0Wh+YQLyFmobWPPZ6R98weZVnLIgiINuZWQ/XdUx+PUEu3Uc/YBmGjnTD2WN7Edxu6W0arginL7Uuf34m1yQaiPnxj8OzWRARmTed2doq0pCyUNlMvg7LcZJgCXZcxUbQeF7lt/xbqFBnzkrKvCzuHs9HFNbeLbrOtIZjkBEbpSEnBo1YJ1DUeTEN3yNXhRatViZ8OVg1e+U78cqbV3U10PfFXo8Le7svTqlA+Vvuvw0oOnnnAPp8I7o/xmBtNKFylNDVLbOaYEFFM42J48eZojMBjQPTAiRpxEAhh2Cscr5fZlp10nOREBbjCDtVTmu0MCbrJfrSjVc37HVrnCb2dqwdc5DFvYNtCH1RkawKiP0hexx/72UFhj0ovbbc7xajlHekc2rwMSyKlr44GC9pW4tsCeH80CE3O8UD3cRkrlIw49ggo9Q2VGjiJhUnhmrzBMfMZf03xeaolQ9WiOtl+/gIMqFvh69cPIUNDPZozz/7ydyRzpDPk+NIZc7SMdmNwpZ8EEeB7IMJ3cxHZK5JZzneeZ+aXmTVYQcJQva+TR71ersuLjXBz/ICXcoJxIZ3OIiTrMTN9zhnIGU3tEIFhPwfiHwXvIGs0RzMoiylmHu+oyEIlCQ/muJC/fZCV/p05VnkykgORdTelAAQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(346002)(366004)(39860400002)(376002)(396003)(451199015)(2906002)(38100700002)(122000001)(86362001)(55016003)(33656002)(6636002)(54906003)(110136005)(71200400001)(7696005)(316002)(38070700005)(5660300002)(76116006)(64756008)(66476007)(41300700001)(4326008)(8676002)(66446008)(66556008)(66946007)(6506007)(8936002)(52536014)(83380400001)(26005)(186003)(9686003)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Vjhva2IyNlNYUGdKVE5uZlZUNHc2T2VWZEtsUm90QnpFS2FtQWxVangya3FQ?= =?utf-8?B?RUpvYXhCZCs3YzQ4ekRlQ0pNWllFRHpWZ3RPektGNEFVR2hndmp3ZjJjNWt1?= =?utf-8?B?UmVneTg1M01FdlFoMExLbmcwVXdlbU9CNCtPdldGUTFtTTl6eXZ5WXhaU2FV?= =?utf-8?B?T25UbkVMeERZQ3JLVmR0bE5GS3dUcWlYcTFqU053VnFsZndpell5RmNNTHB5?= =?utf-8?B?VWRiZEZsTkdlNEFzZTJ0VC9WMWFTNGFwTE8xVmRmZU5YbXV6VjllSisvQ0RM?= =?utf-8?B?VVExaEVMSGZuNkxpMzl5TWZlZU9pSW9QeVRmTnNhZzBhSzgrY1dVUG5HZE9z?= =?utf-8?B?KzcrUDhuUnJRNy9qbjh4VFA3NFlxV3g0eVJHTVUwdG9Hb0lzWVMxVEFDM3FY?= =?utf-8?B?dVJrUnNqWmVGRC9MWktSQm5XYWJZVTZ4cWp0SDdHVEVEcTF1bXVGVEZRZERs?= =?utf-8?B?UkM3ODM5T041U2VjVUxKdDY2RW9UZ2JQTHVKYnJLbUtpNStCdEFmQ09RMVRH?= =?utf-8?B?Rnp5VFpoMHFzVGUrVzhLdFROVHRUTmxIUnJnVlpJNUI2MzM3Wk04a20zVU14?= =?utf-8?B?ZENkdFFSUVVlK1AwbGE5WnFiMVN0RzFPbUdQRjhRbXQ3emN2TS9FNEdQRmRW?= =?utf-8?B?U1VDV29XTURVR2w1ZXpGQitUeFg2V1pVU0RBNG4vd016cmVsRllycmRGWU9E?= =?utf-8?B?dVlLMExWVSs1WFpwWFRMZ3BCZVZxUThlL094VWlRUlBhYlRvWVlRRXk0a1Fz?= =?utf-8?B?bnNmcmtHZDRYQWh6eFpqakUyR0Z2MGgvUVIxZ3g3cEN3RlhpdGhLeVQyMEYr?= =?utf-8?B?OG95MU4rbk9HWjE4SWoyOUduN0k1eHAzaVFTNWJvcDJSbEhrRzdYMURPZVky?= =?utf-8?B?RHZOQ3BzQ29mcDlzbzE2ZksvcXdYamtoUW1wb1lOZVdCcnRrZnE5Tm11Mzhz?= =?utf-8?B?UjRlWDJRd2JiVVJMUjRXRDhzZG1BRTBDNzh3RmNoZGN5eUw5SVZSUmltM2Yx?= =?utf-8?B?TEdLZWsvVXQrRDE2ek9LTHFvZ0VHaUw4amQxWTRxODZpQWFrdzRWUVRVN0Ur?= =?utf-8?B?WSt1Z1dqbFdmQ2VxOWE5aERWVERvakRUUkZscmpvaEc4ckFtNDI0V2tXb0VM?= =?utf-8?B?QmZHcDh1a3FVOWFJZ3N2NTI5NWMrcUp4SEhnblBiTUNmYU80RS9tOHZKVVp2?= =?utf-8?B?QnFVSG9UODVkQ0xiNXZNM29uOEN3WHZISW05ajBoQnBrNloxblFKQk1wa0dW?= =?utf-8?B?ZTBTOUlNQjNMSjZhMEhYV0NvelQ0U1Qwa0lGZHNuY2d2ZEFUS3hLUkMrS0lH?= =?utf-8?B?bWsrVkcyaW5zZGFQMlJSVVZ1ZHJ3Zjl4NksrcS9WbVl2WWxlaWkzK3ovSnV0?= =?utf-8?B?amtTa2x2TCs1YjFOenFQRmFHRVBzd1JrQUdZWm8vRUJoOHpsZG1mektUZ0pT?= =?utf-8?B?SmRITFYyN2RDMmNlT290YTJwRDliaUsxOG1qSjI0VG9JZWJ4cnNNblVDWGJI?= =?utf-8?B?VHpRZHducGRIK1JvRzRjamFLaWg1YmpicTRzaFlpODROSkZDQWsrbHNDNE8z?= =?utf-8?B?ZmppK3dpcW1VODFYUHlSaElNNVY1dlBCckdpU0RjT0w3aThzS0xIQ0k1QVlO?= =?utf-8?B?OW1idk1aK3hwMTlTUzVGWlhiQ3EzTDVlK24xTGFBVGFsbXg4cGI5eG50RXdW?= =?utf-8?B?RURPNjBSWWdnM3BnK09HUTFXVzFyZE9JMmppOFpPbVgxem5JazRTeU95MEo4?= =?utf-8?B?cU9EZHJtVWJ1aFRCS0tWd0ZMRDQ0M2Q2amNDWFJVVjh5TWZnMElGMEpPbmNU?= =?utf-8?B?L0VvWTVVWFFKV3hRN2F1RExpZVBRNGRMY0VzSU84S1NucklXOEkzeVNBaFdn?= =?utf-8?B?ajNLUlQxSWYrNFN4R1V2dFYxODROaUw4cmhzMDRZNXFSSXZ4Y1crSW9Mb2N3?= =?utf-8?B?dUVZUnlpVVZiaENmc2dFL3VwRUxldjVTd29LaU12dVhLRHR4SWNqcWNyU1RZ?= =?utf-8?B?eHFvOGduanU5a0dsN3M1SlcxUUV3Mm1ZdkorcXY3WFN4WVZOL2tBUXZtZnk0?= =?utf-8?B?Sm5zSjgyd2V3d2dIRGhGQzkySWFCRnkzNVRyc25yVUpYcmVXUVIyWEYySmhI?= =?utf-8?Q?3LO4=3D?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6b5d837-9f40-424e-6307-08daf9670ce8 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2023 15:17:01.9225 (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: D2s4Q0Tg0vKU9V2Bk6O+ZDVoDeiAxzVPovCZFDeOGX2OplWzpW1ODCVRr06V/97o7U/+ZTBa47pMWD+eWLHv3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6413 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 SGkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaG9tYXMgTW9uamFs b24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFNlbnQ6IFdlZG5lc2RheSwgMTggSmFudWFyeSAy MDIzIDE0OjA3DQo+IA0KPiAyOC8xMi8yMDIyIDE3OjU0LCBWaWFjaGVzbGF2IE92c2lpZW5rbzoN Cj4gPiBUaGUgUlRFIEZsb3cgQVBJIGltcGxlbWVudHMgdGhlIGNvbmNlcHQgb2Ygc2hhcmVkIG9i amVjdHMsDQo+ID4ga25vd24gYXMgaW5kaXJlY3QgYWN0aW9ucyAoUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfSU5ESVJFQ1QpLg0KPiA+IEFuIGFwcGxpY2F0aW9uIGNhbiBjcmVhdGUgdGhlIGluZGlyZWN0 IGFjdGlvbiBvZiBkZXNpcmVkDQo+ID4gdHlwZSBhbmQgY29uZmlndXJhdGlvbiB3aXRoIHJ0ZV9m bG93X2FjdGlvbl9oYW5kbGVfY3JlYXRlDQo+ID4gY2FsbCBhbmQgdGhlbiBzcGVjaWZ5IHRoZSBv YnRhaW5lZCBhY3Rpb24gaGFuZGxlIGluIG11bHRpcGxlDQo+ID4gZmxvd3MuDQo+ID4NCj4gPiBU aGUgaW5pdGlhbCBjb25jZXB0IHN1cHBvc2VzIHRoZSBhY3Rpb24gaGFuZGxlIGhhcyBzdHJpY3QN Cj4gPiBhdHRhY2htZW50IHRvIHRoZSBwb3J0IGl0IHdhcyBjcmVhdGVkIG9uIGFuZCB0byBiZSB1 c2VkDQo+ID4gZXhjbHVzaXZlbHkgaW4gdGhlIGZsb3dzIGJlaW5nIGluc3RhbGxlZCBvbiB0aGUg cG9ydC4NCj4gPg0KPiA+IE5vd2FkYXlzIHRoZSBtdWx0aXBhdGggbmV0d29yayB0b3BvbG9naWVz IGFyZSBxdWl0ZSBjb21tb24sDQo+ID4gcGFja2V0cyBiZWxvbmdpbmcgdG8gdGhlIHNhbWUgY29u bmVjdGlvbiBtaWdodCBhcnJpdmUgYW5kDQo+ID4gYmUgc2VudCBvdmVyIG11bHRpcGxlIHBvcnRz LCBhbmQgdGhlcmUgaXMgdGhlIHJhaXNpbmcgZGVtYW5kDQo+ID4gdG8gaGFuZGxlIHRoZXNlICJz cHJlYWQiIGNvbm5lY3Rpb25zLiBUbyBmdWxmaWwgdGhpcyBkZW1hbmQNCj4gPiBpdCBpcyBwcm9w b3NlZCB0byBleHRlbmQgaW5kaXJlY3QgYWN0aW9uIHNoYXJpbmcgYWNyb3NzIHRoZQ0KPiA+IG11 bHRpcGxlIHBvcnRzLiBUaGlzIGtpbmQgb2Ygc2hhcmluZyB3b3VsZCBiZSBleHRyZW1lbHkgdXNl ZnVsDQo+ID4gZm9yIHRoZSBtZXRlcnMgYW5kIGNvdW50ZXJzLCBhbGxvd2luZyB0byBtYW5hZ2Ug dGhlIHNpbmdsZQ0KPiA+IGNvbm5lY3Rpb24gb3ZlciB0aGUgbXVsdGlwbGUgcG9ydHMuDQo+ID4N Cj4gPiBUaGlzIGNyb3NzLXBvcnQgb2JqZWN0IHNoYXJpbmcgaXMgaGFyZCB0byBpbXBsZW1lbnQg aW4NCj4gPiBnZW5lcmljIHdheSBtZXJlbHkgd2l0aCBzb2Z0d2FyZSBvbiB0aGUgdXBwZXIgbGF5 ZXJzLCBidXQNCj4gPiBjYW4gYmUgcHJvdmlkZWQgYnkgdGhlIGRyaXZlciBvdmVyIHRoZSBzaW5n bGUgaGFyZHdhcmUNCj4gPiBpbnN0YW5jZSwgd2hlcmUgIG11bHRpcGxlIHBvcnRzIHJlc2lkZSBv biB0aGUgc2FtZSBwaHlzaWNhbA0KPiA+IE5JQyBhbmQgc2hhcmUgdGhlIHNhbWUgaGFyZHdhcmUg Y29udGV4dC4NCj4gPg0KPiA+IFRvIGFsbG93IHRoaXMgYWN0aW9uIHNoYXJpbmcgYXBwbGljYXRp b24gc2hvdWxkIHNwZWNpZnkNCj4gPiB0aGUgImhvc3QgcG9ydCIgZHVyaW5nIGZsb3cgY29uZmln dXJpbmcgdG8gY2xhaW0gdGhlIGludGVudGlvbg0KPiA+IHRvIHNoYXJlIHRoZSBpbmRpcmVjdCBh Y3Rpb25zLiBBbGwgaW5kaXJlY3QgYWN0aW9ucyByZXNpZGUgd2l0aGluDQo+ID4gImhvc3QgcG9y dCIgY29udGV4dCBhbmQgY2FuIGJlIHNoYXJlZCBpbiBmbG93cyBiZWluZyBpbnN0YWxsZWQNCj4g DQo+IEkgZG9uJ3QgbGlrZSB0aGUgd29yZCAiaG9zdCIgYmVjYXVzZSBpdCBtYXkgcmVmZXIgdG8g dGhlIGhvc3QgQ1BVLg0KPiBBbHNvIGlmIEkgdW5kZXJzdGFuZCB3ZWxsLCB0aGUgYXBwbGljYXRp b24gbXVzdCBjaG9vc2Ugb25lIHBvcnQNCj4gYmV0d2VlbiBhbGwgcG9ydHMgb2YgdGhlIE5JQyBh bmQga2VlcCB1c2luZyB0aGUgc2FtZS4NCj4gSSBndWVzcyB3ZSBkb24ndCB3YW50IHRvIGNyZWF0 ZSBhIE5JQyBpZC4NCj4gU28gSSB3b3VsZCBzdWdnZXN0IHRvIHJlbmFtZSB0byBuaWNfcmVmX3Bv cnQgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4NCj4gDQoNCkkgdGhpbmsgdGhhdCBob3N0IGlzIHRo ZSBjb3JyZWN0IHdvcmQgc2luY2UgdGhpcyBwb3J0IGhvc3RzIGFsbCByZXNvdXJjZXMgZm9yIG90 aGVyDQpwb3J0cy4gKHRoaXMgaXMgYWxzbyB3aHkgdGhlIGhvc3QgaXMgdXNlZCBpbiBjYXNlIG9m IENQVSDwn5iKKQ0KSSBkb24ndCB0aGluayBpdCBpcyBjb3JyZWN0IHRvIHVzZSBiYWQgd29yZGlu ZyBkdWUgdG8gdGhlIGZhY3QgdGhhdCBzb21lIG9uZSBlbHNlDQphbHNvIHVzZXMgdGhpcyB3b3Jk LiANCmluIHJ0ZV9mbG93IHdlIG5ldmVyIHRhbGsgYWJvdXQgaG9zdCBDUFUgc28gSSBkb24ndCB0 aGluayB0aGlzIGlzIGNvbmZ1c2luZy4NCg0KPiA+IG9uIHRoZSBob3N0IHBvcnQgYW5kIG9uIGFs bCB0aGUgcG9ydHMgcmVmZXJlbmNpbmcgdGhpcyBvbmUuDQo+IA0KPiBOb3QgImFsbCB0aGUgcG9y dHMiIGJ1dCBvbmx5IG9uIHNpYmxpbmcgcG9ydHMgKHBvcnRzIG9mIHRoZSBzYW1lIE5JQykuDQo+ IA0KPiA+IElmIHNoYXJpbmcgYmV0d2VlbiBob3N0IGFuZCBwb3J0IGJlaW5nIGNvbmZpZ3VyZWQg aXMgbm90IHN1cHBvcnRlZA0KPiA+IHRoZSBjb25maWd1cmF0aW9uIHNob3VsZCBiZSByZWplY3Rl ZCB3aXRoIGVycm9yLiBUaGVyZSBtaWdodCBiZQ0KPiA+IG11bHRpcGxlIGluZGVwZW5kZW50ICht dXR1YWwgZXhjbHVzaXZlKSBzaGFyaW5nIGRvbWFpbnMgd2l0aA0KPiA+IGRlZGljYXRlZCBob3N0 IGFuZCByZWZlcmVuY2luZyBwb3J0cy4NCj4gPg0KPiA+IFRvIG1hbmFnZSB0aGUgc2hhcmVkIGlu ZGlyZWN0IGFjdGlvbiBhbnkgcG9ydCBmcm9tIHNoYXJpbmcgZG9tYWluDQo+ID4gY2FuIGJlIHNw ZWNpZmllZC4gVG8gc2hhcmUgb3Igbm90IHRoZSBjcmVhdGVkIGFjdGlvbiBpcyB1cCB0bw0KPiA+ IGFwcGxpY2F0aW9uLCBubyBBUEkgY2hhbmdlIGlzIG5lZWRlZC4NCj4gWy4uLl0NCj4gPiArCS8q Kg0KPiA+ICsJICogUG9ydCB0byBiYXNlIHNoYXJlZCBvYmplY3RzIG9uLg0KPiA+ICsJICovDQo+ ID4gKwl1aW50MTZfdCBob3N0X3BvcnRfaWQ7DQo+IA0KPiBJcyBpdCBhIERQREsgZXRoZGV2IHBv cnQgSUQ/DQo+IA0KPiBZb3Ugc2hvdWxkIGFkZCB0aGlzIGZlYXR1cmUgdG8gdGhlIHJlbGVhc2Ug bm90ZXMgYW5kIGluIHJ0ZV9mbG93IGd1aWRlLg0KPiANCj4gUFM6IHBsZWFzZSBDYyBldGhkZXYg bWFpbnRhaW5lcnMuDQo+IA0KDQo=