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 AF759A0A0C; Wed, 28 Jul 2021 19:07:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2E85A40040; Wed, 28 Jul 2021 19:07:10 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2052.outbound.protection.outlook.com [40.107.94.52]) by mails.dpdk.org (Postfix) with ESMTP id 8610A4003C for ; Wed, 28 Jul 2021 19:07:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AsNfUF6mIqkL9N8VsmKySvy7keRCm8IeyZwDxk6npu7Usk7c/q8xFJULhZW9jijtUriXxncK8BpEsx4fPrDUpLRkbu2zvMSfm+BG9Hn2QqtcLV3z8whAAyIebfBE/9+m3w0vI1o5EE07TPnC5kBqZX05nFDN3qbuCTxeQQoFY451/Tcai8XQPr38upZ4ubFAZ8wWqkpYv8fhwxqAeIg09OVCsEmkATSnGXMEYz9tuGjUA6CUy2RQgmImNkR12Trm/AEMwrBwzyRT0wrba9/lgctXnZPI4wjH5Tlg7VvuXOLTSCgFSEx1ASVaMxUMlGOIb7+I7lMjQvj5Vq8rY0ZBlQ== 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-SenderADCheck; bh=C/oGc0E1DOzh6gtfejuz07qnGaUIPdtyp0pwgTifyqU=; b=OvWMlhnGO3CrRQawRDpF//FeyrbEWAPOzJ9acsNvTQ52tPbCeuO7Zqfh7yKKoStaEhL4xUdvrwY03sLsjYS0/oTlYOctL3uNChZlv4GdMHygcETdrWk+nUO9G6qqIqH4HHUFBUhdwtdYGzbxafXQ6HsjwxzLXZe/CRzXjGqsuWUxxw8hMmwbUV3tld/h3SYvqBu/A2JUIZyEs1857PVXXxENr6l2k1j8Ab1ysFS83eH7te5NudkgeK+SOfoCQpy47GfRnCCWIH6e/mV2qE4S5YYfiaL0pmQWrhpRBRrrTmmembVjj6MKPbxxZj/QWPbU0AhLCbtNvVkzuLEp0cMylQ== 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=C/oGc0E1DOzh6gtfejuz07qnGaUIPdtyp0pwgTifyqU=; b=Sob/mwk6/eWBsU6sst7mJxlY17uYeXDHq3TGGen1w7HcS+YLyl/WlwkRvE++0SgzcNyO+umQtCqoy0wltG4lujmuHFIrSrUCh0MM8VWyndj9hW9AH85y+MysnZcVilLxKUOxqE8ePRWNSwANSmbeqwsCucH6tSCYMuDBxC3jOtvp2Rwxvny014wotNAnFYULQcQcIfIFnS2Bl2vRhgD8W+rFaqAKjTDKvld5wwE7WhaeWHGAObokNV+4UB88G0VDkHhEc5kxTPcjHx0q1RhBn/m/zoCLQ+EaRoS8tZOBI202Dy3FcFR5FeEGPEeCjLn3/cNq6TRpk5fyqItDc+q4HA== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM8PR12MB5416.namprd12.prod.outlook.com (2603:10b6:8:28::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25; Wed, 28 Jul 2021 17:07:07 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811%7]) with mapi id 15.20.4352.031; Wed, 28 Jul 2021 17:07:07 +0000 From: Ori Kam To: Dmitry Kozlyuk , Andrew Rybchenko , "dev@dpdk.org" CC: David Marchand Thread-Topic: [dpdk-dev] [PATCH 0/4] net/mlx5: keep indirect actions across port restart Thread-Index: AQHXgrlzwOkMXna66EK9IILGNm3tkKtYCTiAgAA1/ACAABMQAIAAHFIAgAAuQ/A= Date: Wed, 28 Jul 2021 17:07:06 +0000 Message-ID: References: <20210727073121.895620-1-dkozlyuk@nvidia.com> <15ebcccf-d317-8ade-22f2-1a1acd24ea96@oktetlabs.ru> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c4e170ff-ea80-4857-5a4c-08d951ea2133 x-ms-traffictypediagnostic: DM8PR12MB5416: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1UJYsbjmHDYBv1lasvaj0ThKsVQ6uMVpseZMs6Z5K62X5Epgew0n93SCPOBd9sREevP8VzxzCSgYN+x6ebxS59oQ8MpPQpQymMilgKK8xiAV1PaehOcBPFKF2oDeyLYWy0UbjHdBN3BbScYA3XKOMdCLbFJQFZE2bWNR+pWxIqSAOSIFnRw3RZcjGaJAXKVGBaLhArtX2afEXOHEq2IWjF/FvLMPhzETiMsU/JrJHnAG7QFALMRagrFX6/9qx3kPGyHbjWx+33d/AmZAmrYdceHK/d4DTVsiWHefxkugUwWNEMvbqFaC0bdQQCj8CKL2GQuM+FkzgXCGPiTCJ6jRNXjI4E4/fwMMtSG+4Wch7TAlxXuYIqqRS+bAXFD72OfoGm6bFHCqV7ga7L7gSg37ST8XbbWW0Z36QllNjkVQuhIUG+4mPEydQQs6R/jDuuMUPAFnoG/JrEgVWHi2fVkg3E36Ol/ibOB/CzSMiqIVgmFnAoI9U/SJ/jw1021cKT6mWmQBRPcMi80p235cy8CwmiL/5yK7qVFc0cPZdJbDha5YPyDlie9wVsLUuQVoU6g23Hxbm/QBsR3DEjyHJ7kp5tVvPzW31hpc/0Tt3t7tFKVUgCNIb6jLQa49v1TVoymtbZw8rDScqLtpJZhpsgmjzryMHU+3ibUuxtwunR7jbyupULHWE1X5XZhPzC4NM6VNIlEhs4PUb6b7M+qVz/9I9Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(86362001)(8676002)(186003)(33656002)(55016002)(52536014)(4326008)(71200400001)(38100700002)(122000001)(8936002)(9686003)(508600001)(83380400001)(5660300002)(64756008)(66446008)(66476007)(66946007)(76116006)(66556008)(2906002)(53546011)(7696005)(26005)(316002)(38070700005)(110136005)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RnhScVhWNFhuS0QvNGhPcXRUTy9MWlR6UjB6RzRnSmFscmlhc05TS0oyRGpY?= =?utf-8?B?SS8yQ29ieUlrL05BVFVFWExnbW5Ea3d5UzYya2tyMlNQTU5HSmRpRFNjWmpj?= =?utf-8?B?WWlsNHhsUFFjaEJRWmFkWmt6RUc3R2pJZFRqZmZjaEliOExNZEF6RDM0VjlF?= =?utf-8?B?ZzU2c0NNSThKLzkweTFsUjRmU3pvMWtzSmluclJ2MFRQNHpLZFpuQURpL3d3?= =?utf-8?B?TVNtQ2hlamZULzdtMzRHWjNLTmJxR1l2ZXVzYXNaMlFlanVEVnVXL3c0cGIw?= =?utf-8?B?OWZ0MWo3MzFqeVkvUlN5NEJZM1RaMkV6WXZIVitPZ25BN2lMSy9aby9IOGps?= =?utf-8?B?a1daNXNVdHlyT3FUSnRla21xNWZxZTVGenpsbTlNM2RJRzZQYWpEYStGd0tx?= =?utf-8?B?STJHYmloWTBwNW9lTXFNN3Q2QzgrY3JxcGpvWGFyZG05ckVhSUV2SlFDSjha?= =?utf-8?B?RmowcHdBNGNiYUtxVndUSW9zUWg0SkdiSnZiSVN1ZUlVbG9MT2xVc1cvV2Ex?= =?utf-8?B?cHJvWjM0ZTJRQU1QbXpmN3BYcGZ5ZkN1dDBSQUNGeXNjd2xObGxlajJOdS9j?= =?utf-8?B?UzE4Ky85T3pvSXBpNjlCUExVUUlqRVlSQlRLYVliS1RYNXZueUROSFhDWVhI?= =?utf-8?B?ZVhNY0x0R0Y3MVJVdFlPR1h5bmU3dUQzb2kwNkFucHJkMHpwRE4vSHZNeG90?= =?utf-8?B?OFZqdEhZWGRaOXd6R3pacUxacjV6REwvaXpCVW43R0ZNTjd0cW53K3BoaWJM?= =?utf-8?B?UEx6NEh0VDFSVlplb3J1YWc2eW43Rkc1ekpZS3pIVi9ZWEpHUzE3Sk54VmRD?= =?utf-8?B?QTkyUGVRWUtEZHB4ZnFJbXVNV2N2S1plYVdRajQzSUFzQUh4b3NVdXVwdWRm?= =?utf-8?B?WHhSazhxNTJOQlA0TFg0VzdNdWpXdU00dlNadGxmaEIzMWMvQysvSndCamR6?= =?utf-8?B?S0twYkVXWFZYVWlSKzJ4ZW5QR1ZkY1pUV2FXanVucndEZzdJM3REZTBBOThR?= =?utf-8?B?VE13U2Y2Wm81ZExEVk5tZkRRUEE0eDdONjFjdEpKWDQvMm4rVzVvWlhWNXdk?= =?utf-8?B?T3dMSVM0ODl1MGhwcGdiVXQreWhoNFA0aWpSWEc2WUlkVFdpZEplbnVXOUdV?= =?utf-8?B?T0M2U1NZdG56MmE4Y0NnOXlYUjB0SDFCWHJBY09vdFlkK2lPeGVyWWk0RnFP?= =?utf-8?B?K0RqaXhuTEc4YUpFWEphWk80RVFIditrSFQ4KzYvVitBbW1ZbG52YUJNREgw?= =?utf-8?B?TkNUbWdsbDJ6VXRGUkovN2ZBQThadEdDN3RFUDB1d3Rnd3RQOFYxNm9JZHR3?= =?utf-8?B?bUVsT0laRFVzaitTT0N3QzlWNTliSXBPQ2w3MkhLbGI0a0VaNFVGZ294d0F0?= =?utf-8?B?eWkyc2g5UEJZQlVnMDFBc0VTUWVsQTdLVFhvWGNmcVpPUjh5TkgxS25EZGZh?= =?utf-8?B?akY5dWk2RDlOVEd0UUhyT3V5ZGFuZkpzTHBqUXRydFloc0czTEorTnpUc3h4?= =?utf-8?B?YXFndUdTalBpRko4bUhxa2trb0lna1ZaOU55Y1F5NHh3RFpBVFV5ZUd6VjEx?= =?utf-8?B?Y29OQ2ZBcXQ4NFc5TEZvV2pFa2E5NVcwNlZWRHJNYTBLTVpGQ3Vab3Rndyto?= =?utf-8?B?MXZEUDllNTV5YlVOWUdqMDAxbDBrTzR2QmtSMDhLVG0wN0RBTElRc3NFTFpD?= =?utf-8?B?RS80dWRKZm9Ta2xtbnBoZUhKWlplajJXSXM4eVp1WXBGZ1YvV0lDWGtOYk16?= =?utf-8?Q?nwUO+0f5fa7klEsIhqdgDyAUorA5UDjtk+ICF2G?= 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: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4e170ff-ea80-4857-5a4c-08d951ea2133 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2021 17:07:06.9621 (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: LLWsUlxxk+Fs4/BXoQygNsqGvbMSLm2YUH1+mV9jGhsOImGYZoZareANDX683ZtwckpOAVr/MzftlHDUQcw7tQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5416 Subject: Re: [dpdk-dev] [PATCH 0/4] net/mlx5: keep indirect actions across port restart 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 Sender: "dev" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRG1pdHJ5IEtvemx5 dWsgPGRrb3pseXVrQG52aWRpYS5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSAyOCwgMjAy MSA1OjA4IFBNDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog QW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gU2Vu dDogMjgg0LjRjtC70Y8gMjAyMSDQsy4gMTU6MjcNCj4gPiBUbzogRG1pdHJ5IEtvemx5dWsgPGRr b3pseXVrQG52aWRpYS5jb20+OyBkZXZAZHBkay5vcmcNCj4gPiBDYzogRGF2aWQgTWFyY2hhbmQg PGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0g W1BBVENIIDAvNF0gbmV0L21seDU6IGtlZXAgaW5kaXJlY3QgYWN0aW9ucw0KPiA+IGFjcm9zcyBw b3J0IHJlc3RhcnQNCj4gPg0KPiA+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5n IGxpbmtzIG9yIGF0dGFjaG1lbnRzDQo+ID4NCj4gPg0KPiA+IE9uIDcvMjgvMjEgMjoxOCBQTSwg RG1pdHJ5IEtvemx5dWsgd3JvdGU6DQo+ID4gPiBIaSBBbmRyZXcsDQo+ID4gPg0KPiA+ID4+IEZy b206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PiBPbg0K PiA3LzI3LzIxDQo+ID4gPj4gMTA6MzEgQU0sIERtaXRyeSBLb3pseXVrIHdyb3RlOg0KPiA+ID4+ PiBJdCB3YXMgdW5zcGVjaWZpZWQgd2hhdCBoYXBwZW5zIHRvIGluZGlyZWN0IGFjdGlvbnMgd2hl biBhIHBvcnQgaXMNCj4gPiA+Pj4gc3RvcHBlZCwgcG9zc2libHkgcmVjb25maWd1cmVkLCBhbmQg c3RhcnRlZCBhZ2Fpbi4gTUxYNSBQTUQsIHRoZQ0KPiA+ID4+PiBmaXJzdCBvbmUgdG8gdXNlIGlu ZGlyZWN0IGFjdGlvbnMsIGludGVuZGVkIHRvIGtlZXAgdGhlbSBhY3Jvc3MNCj4gPiA+Pj4gc3Vj aCBhIHNlcXVlbmNlLCBidXQgdGhlIGltcGxlbWVudGF0aW9uIHdhcyBidWdneS4gUGF0Y2hlcyAx LTMgZml4DQo+ID4gPj4+IHRoZSBQTUQgYmVoYXZpb3IsIHBhdGNoIDQgYWRkcyBjb21tb24gc3Bl Y2lmaWNhdGlvbiB3aXRoIHJhdGlvbmFsZS4NCj4gPiA+Pg0KPiA+ID4+IEknbSBzb3JyeSwgYnV0 IGl0IGxvb2tzIHZlcnkgaW5jb25zaXN0ZW50LiBJZiBmbG93IHJ1bGVzIGFyZSBub3QNCj4gPiA+ PiBwcmVzZXJ2ZWQgYWNyb3NzIHJlc3RhcnQsIGluZGlyZWN0IGFjdGlvbnMgc2hvdWxkIG5vdCBi ZSBwcmVzZXJ2ZWQNCj4gPiA+PiBhcyB3ZWxsLiBXZSBuZWVkIHZlcnkgc3Ryb25nIHJlYXNvbnMg dG8gaW50cm9kdWNlIHRoZSBpbmNvbnNpc3RlbmN5Lg0KPiA+ID4NCj4gPiA+IEluZGlyZWN0IGFj dGlvbnMgcmVhbGx5IGRvbid0IG5lZWQgdG8gYmVoYXZlIGxpa2UgZmxvdyBydWxlcy4gVGhleQ0K PiA+ID4gYXJlIGp1c3QNCj4gPiBvYmplY3RzIG93bmVkIGJ5IHRoZSBwb3J0IGFuZCB0aGV5IGNh biBleGlzdCB3aGlsZSBpdCBleGlzdHMuIENvbnNpZGVyIGENCj4gY291bnRlcjoNCj4gPiBzdG9w cGluZyBhbmQgc3RhcnRpbmcgdGhlIHBvcnQgZG9lc24ndCBsb2dpY2FsbHkgYWZmZWN0IGl0cyBz dGF0ZS4NCj4gPiBNTFg1IFBNRCBkZXN0cm95cyBmbG93IHJ1bGVzIG9uIHBvcnQgc3RvcCBmb3Ig aW50ZXJuYWwgcmVhc29ucyBhbmQNCj4gPiBkb2N1bWVudHMgdGhpcyBiZWhhdmlvciwgYnV0IGV0 aGRldiBBUEkgZG9lc24ndCByZXF1aXJlIGl0IGVpdGhlci4NCj4gPg0KPiA+IEl0IGFsbCBzb3Vu ZHMgYmFkLiBBbGwgdGhlc2UgZ3JheSBhcmVhcyBqdXN0IG1ha2UgaXQgaGFyZCBmb3IgRFBESw0K PiA+IGFwcGxpY2F0aW9ucyB0byBzd2l0Y2ggZnJvbSBvbmUgSFcgdG8gYW5vdGhlci4NCj4gPiBB bnkgcnVsZXMgbXVzdCBub3QgYmUgbW90aXZhdGVkIGJlY2F1c2Ugb2Ygc29tZSBQTUQgaW50ZXJu YWwgcmVhc29ucy4NCj4gPiBXZSBzaG91bGQgbm90IGFkanVzdCBldGhkZXYgcnVsZXMgdG8gZml0 IHNvbWUgUE1EIGJlaGF2aW91ci4NCj4gPiBldGhkZXYgcnVsZXMgc2hvdWxkIGJlIG1vdGl2YXRl ZCBieSBjb21tb24gc2Vuc2UgYW5kIGNvbnZlbmllbmNlDQo+IGZyb20NCj4gPiBhcHBsaWNhdGlv bnMgcG9pbnQgb2Ygdmlldy4NCj4gDQo+IFRoYXQgaXMgd2hhdCB0aGlzIHBhdGNoc2V0IGlzIHRy eWluZyB0byBkby4NCj4gQ3VycmVudCBzcGVjaWZpY2F0aW9uIGlzIHVuY2xlYXIsIGFwcGxpY2F0 aW9uIGRvZXNuJ3Qga25vdyBpZiBpdCBzaG91bGQgZGVzdHJveQ0KPiBhbmQgcmVjcmVhdGUgaW5k aXJlY3QgYWN0aW9ucyBvciBub3QuDQo+IE1MWDUgUE1EIGlzIG9ubHkgbWVudGlvbmVkIGFib3Zl IGJlY2F1c2UgaXQncyB0aGUgb25seSBvbmUgaW1wbGVtZW50aW5nDQo+IGluZGlyZWN0IGFjdGlv biBBUEksIGJ1dCBpdCdzIG5vdCBhbiBhdHRlbXB0IHRvIHRhaWxvciBBUEkgdG8gaXQsIHF1aXRl IHRoZQ0KPiBvcHBvc2l0ZS4NCj4gDQpJIGFncmVlIGdyYXkgYXJlYXMgYXJlIGJhZCwgYnV0IGFz IG1vcmUgYW5kIG1vcmUgYXBwbGljYXRpb24gYXJlIHVzaW5nIG1vcmUgYW5kIG1vcmUNCmZsb3dz LCBpbnNlcnRpb24gb2YgZmxvd3MgYmVjb21lIHBhcnQgb2YgdGhlIGRhdGFwYXRoLCBvcHRpbWl6 YXRpb24gb2YgYWN0aW9ucyBhbmQgcnVsZXMNCmJlY29tZSBldmVuIG1vcmUgY3JpdGljYWwuIChU byBhZGRyZXNzIHRoaXMgd2UgYXJlIGdvaW5nIHRvIGludHJvZHVjZSBhZGRpdGlvbmFsIEFQSSwN CndoaWNoIHdpbGwgZW5hYmxlIGFzeW5jIGluc2VydGlvbiwgYWxsb2NhdGlvbiBvZiByZXNvdXJj ZXMgYmVmb3JlIGZsb3cgaW5zZXJ0aW9uKQ0KU28gc2luY2UgZWFjaCBIVyBpbXBsZW1lbnRzIHRo ZSBhY3Rpb25zIGFuZCBmbG93cyBkaWZmZXJlbnRseSBmb3JjaW5nIHRoZSBleGFjdCBzYW1lDQpi ZWhhdmlvciB3aWxsIHJlc3VsdCBpbiBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbi4NCg0KDQo+ID4g Rm9yIGV4YW1wbGUsIGl0IGlzIHN0cmFuZ2UgdG8gcHJlc2VydmUgaW5kaXJlY3QgUlNTIGFjdGlv biB3aXRoIHF1ZXVlcw0KPiA+IHNwZWNpZmllZCBhY3Jvc3MgZGV2aWNlIHJlY29uZmlndXJhdGlv biB3aGVuIHF1ZXVlcyBjb3VudCBtYXkgY2hhbmdlLg0KPiA+IEknZCBzYXkgdGhhdCByZWNvbmZp Z3VyYXRpb24gbXVzdCBkcm9wIGFsbCBpbmRpcmVjdCBhY3Rpb25zLg0KPiANCj4gSSBkb24ndCBs aWtlIGl0IGJlY2F1c2UgMSkgaXQgaXMgaW1wbGljaXQsIDIpIGl0IG1heSBiZSB1bm5lY2Vzc2Fy eSBldmVuIGZvciBSU1MsDQo+IGFuZCBpdCdzIG9ubHkgb25lIGV4YW1wbGUgb2YgYW4gaW5kaXJl Y3QgYWN0aW9uLg0KPiANCj4gPiBIb3dldmVyLCBqdXN0IHN0b3Avc3RhcnQgY291bGQgcHJlc2Vy dmUgYm90aCBpbmRpcmVjdCBhY3Rpb25zIGFuZCBmbG93DQo+ID4gcnVlcyBzaW5jZSBpdCBjb3Vs ZCBiZSBtb3JlIGNvbnZlbmllbnQgZnJvbSBhcHBsaWNhdGlvbiBwb2ludCBvZiB2aWV3Lg0KPiAN Cj4gRm9yIG1hbnkgY2FzZXMgSSBhZ3JlZSwgYnV0IG5vdCBmb3IgYWxsLg0KPiBXaGF0IGlmIGFu IGFwcGxpY2F0aW9uIGNyZWF0ZXMgbnVtZXJvdXMgZmxvd3MgZnJvbSBpdHMgZGF0YSBwYXRoPw0K PiBUaGV5IGFyZSB0cmFuc2llbnQgYnkgbmF0dXJlLCBidXQgUE1EIHdpbGwgaGF2ZSB0byBzYXZl IHRoZW0gYWxsIGF0IHRoZSBjb3N0DQo+IG9mIFJBTSBhbmQgQ1BVIGJ1dCB3aXRob3V0IGJlbmVm aXQgdG8gYW55b25lLg0KPiBPVE9ILCBhcHBsaWNhdGlvbiBhbHdheXMgY29udHJvbHMgaW5kaXJl Y3QgYWN0aW9ucyBpdCBjcmVhdGVzLCBiZWNhdXNlIGl0IGlzDQo+IGdvaW5nIHRvIHJldXNlIG9y IHF1ZXJ5IHRoZW0uDQo+IFRoZXJlZm9yZSwgaXQgaXMgYm90aCBsb2dpY2FsIGFuZCBjb252ZW5p ZW50IHRvIHByZXNlcnZlIHRoZW0uDQo+IA0KPiA+IElmIGFwcGxpY2F0aW9uIHJlYWxseSB3YW50 cyB0byByZW1vdmUgYWxsIGZsb3cgcnVsZXMsIGl0IGNhbiBjYWxsDQo+IHJ0ZV9mbG93X2ZsdXNo KCkuDQo+ID4gVGhlIHN0cm9uZyByZWFzb24gdG8gZmx1c2ggaW5kaXJlY3QgYWN0aW9ucyBhbmQg ZmxvdyBydWxlcyBhY3Jvc3MNCj4gPiByZXN0YXJ0IGlzIHBvc3NpYmxlIGFjdGlvbnMgb3IgcnVs ZXMgcmVzdG9yZSBmYWlsdXJlIG9uIHN0YXJ0Lg0KPiA+IEhvd2V2ZXIsIG1heSBiZSBpdCBpcyBz dWZmaWNpZW50IHRvIGRvY3VtZW50IHRoYXQgc3RhcnQgc2hvdWxkIHJlYWxseQ0KPiA+IGZhaWws IGlmIGl0IGNhbid0IHJlc3RvcmUgZXZlcnl0aGluZyBhbmQgYXBwbGljYXRpb24gc2hvdWxkIHJl dHJ5DQo+ID4gYWZ0ZXIgcnRlX2Zsb3dfZmx1c2goKSB0YWtpbmcgaXQgaW50byBhY2NvdW50Lg0K PiA+DQo+ID4gPj4gSWYgd2UgZmluYWxseSBhY2NlcHQgaXQsIEkgdGhpbmsgaXQgd291bGQgYmUg dmVyeSB1c2VmdWwgdG8gY2FyZQ0KPiA+ID4+IGFib3V0IFBNRHMgd2hpY2ggY2Fubm90IHByZXNl cnZlIGl0IGluIEhXIGFjcm9zcyByZXN0YXJ0IGZyb20gdGhlDQo+ID4gPj4gdmVyeSBiZWdpbm5p bmcgYW5kIHNhdmUgaXQgaW4gZXRoZGV2IGxheWVyIGFuZCByZXN0b3JlIG9uIHN0YXJ0DQo+ID4g Pj4gYXV0b21hdGljYWxseSAoaS5lLiBkbyBub3QgZm9yY2UgYWxsIHN1Y2ggUE1EcyB0byBjYXJl IGFib3V0IHRoZQ0KPiA+ID4+IHJlc3RvcmUNCj4gPiBpbnRlcm5hbGx5IGFuZCBiYXNpY2FsbHkg ZHVwbGljYXRlIHRoZSBjb2RlKS4NCj4gPiA+DQo+ID4gPiBPciBrZWVwaW5nIGluZGlyZWN0IGFj dGlvbnMgY2FuIGJlIGFuIGFkdmVydGlzZWQgUE1EIGNhcGFiaWxpdHkuDQo+ID4gPiBHaXZlbiBP cmkncyBjb21tZW50cyB0byBwYXRjaCA0LCBJIHRoaW5rIHRoZSBjb21tb24gc3BlYyBuZWVkcyBt b3JlDQo+IHdvcmsuDQo+ID4gPiBGb3IgdGhpcyBwYXRjaHNldCB0aGF0IGZpeGVzIE1MWDUgd2Ug Y2FuIGhhdmUgdGhlIGJlaGF2aW9yDQo+ID4gPiBkb2N1bWVudGVkIGZvcg0KPiA+IFBNRCBhbmQg bm90IHJlcXVpcmUgaXQgZnJvbSBhbGwgdGhlIGRyaXZlcnMuDQo+ID4NCj4gPiBBcmUgeW91IGdv aW5nIHRvIGRyb3AgNHRoIHBhdGNoPw0KPiANCj4gWWVzLg0KPiANCj4gPiBJbiBnZW5lcmFsIGRv Y3VtZW50aW5nIFBNRCBiZWhhdmlvdXIgc3BlY2lmaWNzIGluIGl0cyBkb2N1bWVudGF0aW9uIGlz DQo+ID4gYSB3cm9uZyBkaXJlY3Rpb24gc2luY2UgaXQgZG9lcyBub3QgaGVscCBEUERLIGFwcGxp Y2F0aW9ucyB0byBiZQ0KPiA+IHBvcnRhYmxlIGFjcm9zcyBkaWZmZXJlbnQgSFcuDQo+IA0KPiBJ IGFncmVlLiBCdXQgY3VycmVudGx5IHRoZXJlIGlzIGEgY2xlYXIgcmVzb3VyY2UgbGVhayBpbiBN TFg1IFBNRCwgdGhhdCBjYW4gYmUNCj4gc29sdmVkIGVpdGhlciBieSBkZXN0cm95aW5nIGluZGly ZWN0IGFjdGlvbnMgb24gcG9ydCBzdG9wIG9yIGJ5IGtlZXBpbmcgdGhlbQ0KPiAodGhpcyBpcyB3 aGF0IFBNRCBtYWludGFpbmVycyBwcmVmZXIpLiBUaGUgbGVhayBzaG91bGQgYmUgZml4ZWQgYW5k IHdoYXQNCj4gaGFwcGVucyB0byBpbmRpcmVjdCBhY3Rpb25zIG11c3QgYmUgY2xlYXJseSBkb2N1 bWVudGVkLiBJZGVhbGx5IHRoZSBmaXgNCj4gc2hvdWxkIGJlIGFsaWduZWQgd2l0aCBjb21tb24g ZXRoZGV2IEFQSSwgYnV0IGlmIHlvdSBhbmQgT3JpIHRoaW5rIGl0cw0KPiBkZXNpZ24gaXMgd3Jv bmcsIHRoZW4gYXQgbGVhc3QgYmVoYXZpb3IgY2FuIGJlIGRlc2NyaWJlZCBpbiBQTUQgZG9jcyBh bmQNCj4gbGF0ZXIgZml4ZWQgb3IgcHJvbW90ZWQgdG8gQVBJLg0KDQpJIHRoaW5rIGFwcGxpY2F0 aW9uIHNob3VsZCBiZSBhd2FyZSB0byBkaWZmZXJlbnQgcG9zc2liaWxpdGllcyBiZXR3ZWVuIHRo ZSBQTUQuDQpJZiBwb3NzaWJsZSwgaXQgaXMgYmVzdCB0aGF0IGFsbCBQTUQgd2lsbCBhY3QgdGhl IHNhbWUgYnV0IGlmIHRoZXJlIGlzIEhXIGlzc3VlIEkgdGhpbmsNCmRpZmZlcmVudCBiZWhhdmlv ciBpcyBiZXR0ZXIgdGhlbiBub3Qgc3VwcG9ydGluZyBhdCBhbGwuDQpJbiBhbnkgY2FzZSB0aGUg ZG9jIHNob3VsZCBzdGF0ZSB0aGUgbWluIHJlcXVpcmVtZW50IGlmIEhXIGNhbiBzdXBwb3J0IGJl dHRlciB0aGFuDQppdCBjYW4gZG8gc28uDQoNCkJlc3QsDQpPcmkNCg==