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 5393345D05; Thu, 14 Nov 2024 15:12:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D670D4026C; Thu, 14 Nov 2024 15:12:44 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 109424025D for ; Thu, 14 Nov 2024 15:12:33 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) by mx-outbound47-88.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 14 Nov 2024 14:12:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aWlS7/AypbuL3TFHN9PpUxKHTjOdfTzwN4KgZHvkVjQxDk4XM4yMsANqnCLRlr/p4tx0IwyO0EYKVWIyV6ZnSN2+JuhGs1gTlm8WX5+XLwYIsByMZbcKh/XM38Rh1GTT5dWS+f12gElP88/g2xGdP2qZnGxk1fF4XGy9nLXiXa0r/zNFp+hyCFbSezkrl8MVtoaowfnl6vLapgUo0yiRPyBqdLbpLkbNLrQ/Ff8s5eUwoACnOfgFR9WMsmqIf1fEsIiVnkCEKBkcuHgb1I2FDIAls1DkaaSQAXNjEaOk6aIzZqoLz7h/lnqe6EI+BIE0N81LZyWSWDbm/4K7ZL5tPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=DdyWb3l3KYkmo7Hmg0p6SHjMuYyLyHCRyWDfQx4V8pE=; b=RtVmGbKkmvWhGmapSU8knPBFWrSGIhD7t57uzHRTbiRofmIrMn7Kib7WC07HKiBF/2TnvFYhuI8zaLLDWEkafw+umCtspIAi5OvZerjLRCnfFudJDv9ieW5BljghtBJAnwp51fbbChLWZCee9WIwmKgM8CglJkXvvOHWvutUfY2V4k2HxszfA0EozOl+ix2wdjXevmIczXjCVh4hQg1se70JzNWfRj22QStQWToKEitmDi7Vsi4YojRbhpt/AGi3kUnOjakYMg1PKHJkkb9q3WT+I/rInbihWCyVGTDT3TMuvGE7SIsWkWT/Hko6E+nCqIcc0sRdV8KpCqu/wWrTJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=napatech.com; dmarc=pass action=none header.from=napatech.com; dkim=pass header.d=napatech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DdyWb3l3KYkmo7Hmg0p6SHjMuYyLyHCRyWDfQx4V8pE=; b=COWg2uj4YzN4QsyRIZeO/yx6beM1QpOVoJ/jNuLSZCCyRVwKSU15mDOUPn8GKtty/V4smNmWkoaxUnUe4Rf6t2+D6NhTLnHxFWMceLs8aQ2JIscYXqVRScO2mlSgIjGcFU+5HdPp10nD1AeR6wwdDFLoaD97XhTnDu2zwxAxkkk= Received: from PR3P190MB0826.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:92::13) by AS8P190MB1047.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:2e6::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.17; Thu, 14 Nov 2024 14:12:23 +0000 Received: from PR3P190MB0826.EURP190.PROD.OUTLOOK.COM ([fe80::6eac:9104:1e45:55cb]) by PR3P190MB0826.EURP190.PROD.OUTLOOK.COM ([fe80::6eac:9104:1e45:55cb%7]) with mapi id 15.20.8158.017; Thu, 14 Nov 2024 14:12:22 +0000 From: Serhii Iliushyk To: Ferruh Yigit , Danylo Vodopianov , "thomas@monjalon.net" , "aman.deep.singh@intel.com" , "yuying.zhang@intel.com" , "orika@nvidia.com" , Mykola Kostenok , Christian Koue Muf CC: "dev@dpdk.org" Subject: Re: [PATCH v1 0/2] Testpmd flow update/destroy fixes Thread-Topic: [PATCH v1 0/2] Testpmd flow update/destroy fixes Thread-Index: AQHbK6WbSx2gd1vkK0CgZpm2zZaHAbKyJeGAgATizAA= Date: Thu, 14 Nov 2024 14:12:22 +0000 Message-ID: References: <20241031150010.2991953-1-dvo-plv@napatech.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=napatech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PR3P190MB0826:EE_|AS8P190MB1047:EE_ x-ms-office365-filtering-correlation-id: 7b7ab8e6-4672-48cd-b4e7-08dd04b65be0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?M3h5L3ZFMGxWVXFWSUxjUWZiNDAvTDdxVFl4cGozblIxdnUyakxBL3ZiUGZX?= =?utf-8?B?bGg2RkxxMUZxRXpRZ0xTaHBJOG5oa2RvOGtKUGhvZUt0NkFvWVZXNE1rcVhq?= =?utf-8?B?bHFPMUpzalRBS01TZG9KYXplWTJlTld4dW5mSWtxdmlEbU96OUphMVlrVXAy?= =?utf-8?B?RmkyQTE2NTBUSUx6VlNsMWJ4OTk5b2JzSHZxL3hDRXUzR1dPblhaVnA0NnUz?= =?utf-8?B?WDBLMXd1T0g1SE94VVk0UXNJWlZlbWU3REhtazBFalZGa0MwTmd6ZExQTU1Q?= =?utf-8?B?MmZmN0JvUS95b2Jta2xpZXdZekpwVE1mcmpGUHhlWElTNTd4YzBhVjFJTlRR?= =?utf-8?B?SWxlM0Y4WS9POWxjZkhmRmV2SjBoN0RlYTRJZmpoK2Z3SUFxaE53WnNsWE9L?= =?utf-8?B?dk1IRVhTOCtXR2tyNDZiaFdWWjBsNjFkYnI4T3VxdE53VXB4eW9ZZHMzTEdX?= =?utf-8?B?NnI0OUdGeFh5YmxRV3dOWkJxQ1M3TzJXY251VURKZkpaTEl6VFdyN2IrbkV0?= =?utf-8?B?T0hteG14ZXduSnc3MXdpd1ZCYmxqeG5hNys3WDE5YWJCaEN0NlpaZXcvOVV4?= =?utf-8?B?RFZka3A2UnJYazFWcUpNNFY2aUliVVp2ckUwdGRQT0cyWnV4SlVOMVVmblJL?= =?utf-8?B?U0FSRmxpeWRGd3BieEVRK25pdHRNWnJpbHIxbWlEMkVjUlMraW4zazRuNHI3?= =?utf-8?B?YmdPaU51MlJQcGYybTlxSmhWSFV5WjQ1ZU9WckJ0QzVHYnRxZGlmOGJNK2Ra?= =?utf-8?B?YmpZU3pGODE2TlpVTWZPNWZaaTZjZ0wzN3lYeTFlVjY0MGlVUCtRTDZkbVIv?= =?utf-8?B?UUhPNzk2eXpHcmNzVmRmRjVQT3lPNi8xaEQwc1RhVEZOQWg3UGVTT2ViMkYy?= =?utf-8?B?UFRTNSs1eit6MmRvMHJ6bXFnOUdLdGhqc1F2ejFmYUJ2bnVXK3NpRFZBZzZl?= =?utf-8?B?UGYyM3VUaUcvdGdCMStRUTl5UnBlSU1aSGNaQ3JYVnNTY1VrRFc0bnpUS01m?= =?utf-8?B?OU9WWmlqQTk5cW1JMEUrUkhnY0V4dDVFYW5URzNaeWp2a3VvSzdSckkwRVBq?= =?utf-8?B?SGU2ZkVSTXEzWFQzSm5xSTlCMDRGSzJjbmFvYlBqa3pCY2RSbnFpc1YxSVkv?= =?utf-8?B?bUxSS2dRcHViaCtLZU5wcGJydkhDQkcwR3ZtdTBFdzlzMkpKckxBMFhUZUxx?= =?utf-8?B?Z0NjaGVIS2JFTm1TMlZsL3ZpbGFwdFRrTDVMRWxJUHRVSStKMmJlRzFPcnB6?= =?utf-8?B?VkZKUUVMK0NBMk10TGg2Rzh6SHZtcTlwYzVPV293V3BKN3dYRUJISmIvQVA5?= =?utf-8?B?emtxYVJFMDlPV0ZwSUdlR1dwZnorTGF4My9lMVMvVm1rYWVFMmxMazVkMW9h?= =?utf-8?B?Vmk2L1h4aTE4T3FNcE1OeXFJVXpnMVBuVjZvRmtzcUZkYVI2ZlE1dFcrblMz?= =?utf-8?B?V3R0UUdJc2tRTmRiYU1Ud3hpQTBDQVBSdkRZMkdxUEV3eGJzdkVRWDJZYjFY?= =?utf-8?B?MXV6Z2tJdjZnZ0doMU12cy9ldFJsMzhjVG1ha1lYRVM0aXM3RUtNcnY0Njg4?= =?utf-8?B?dHJKNG1kUnl5WlA2VW9lRUZKaG1OSTYzMFBraXhnNzM1ekd6M2l2dVNiblVT?= =?utf-8?B?ZkVvVS9kajlYOXJ1aEpJZnJCem4yUytQMkd1cFVTU0hLMFRBcUtnVllRMmp4?= =?utf-8?B?R1c2MjY3K1ZIQWtNcUlvd1pmM3BGNGc4TW82NHdFRGsyRGdYTWJMUE1jV1Vs?= =?utf-8?B?MFBtUXMxeHUvdENaOU1RZUhtbHhQMVlob2JJejVaY2ZPTHBLSVZadFd3TEw1?= =?utf-8?Q?VCMzrZdKloxxh2FynIMOZSQKWq4nK0sW0gojM=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PR3P190MB0826.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Mi9JekVXd1YwK29ORnMranhLTHV3MEd4bUM2bHc5U2Z3U1hmdGl2dHZjRG1J?= =?utf-8?B?RFE2RU9UZmM3ZGJvZVRTN3pMNWhSY29ZRXlsWEhVMU0yY1ZHenk5dDhCQTlS?= =?utf-8?B?aFhUZnJJMko1elgyTkpyUHI5YXBrb3loOTlleDRkSHB3SG1qaDRZamZTaVZO?= =?utf-8?B?TTlYSG9nZUVlMVlac3ZQRXJEeDViMFZtZ3gvbFVraUUvSTdUMU9UZEtwWDRo?= =?utf-8?B?czVtYThlblIxVDlnR1pFaFo2RENtdi9oWXlsaU5JTDl6SXNBT3YzcThBTU1E?= =?utf-8?B?eVk1QjcwWlgycG5oOFROcys5V2t3b3A2WlRDbWlreEQ2eHVncWxQOGxDTnRm?= =?utf-8?B?OC9uMUszZkZRYytOeGNEYVdiQ0pmQWhJOS9kVGJmVFU4WnBTK2l6R01VVGJa?= =?utf-8?B?Q3VJdmUwYkhmZVJMTkZJNDFObkU0M3FEamd3MXhMSTlSQ0NyQWtEZUpYenh3?= =?utf-8?B?TWwyYVJsWHNlT1hqeDVDb08rblB3MzYyenk0VGFWcWowRlQ2aHNzbk5PMTcz?= =?utf-8?B?WEM3ME1FSVRaa0RBb2pRT0s1TERhZWg5NWxZMmh3TmJ3eWZBUlpmMTUxRU1o?= =?utf-8?B?OEVvM2NNS2lpbTNmTS9YcWdQZlFXQ1JwS1pqaGFqWmhnQ2xwTWtsNTFRR0t0?= =?utf-8?B?MGxXb2lBdnZTU08xeVNRVFNZaGQzVnMrRXJYS0pnazR3Z2xOclNDSys2MlUr?= =?utf-8?B?ek5VU096cHJTOFQyQWtsb0IzbjE4aTZXaDZxNVlkY1I5YzlablVSQ0MxTWor?= =?utf-8?B?NGoyVm9OVGxsSnRMYjNxZStrSkRMdW91cmZGbXZIbkhpODl1N0hHYlJzNitY?= =?utf-8?B?NDhmYmg0WWRrQXJoRmUyUkJLZzR6QTF1MzNjdnZJQWNkU0NwRW9sTU9qdkl1?= =?utf-8?B?Z2hvVlA1NFVRckF5MldzMGZqNFp3d1VRZWVRUmNPUmRlMkJTVmpEZUhnM25n?= =?utf-8?B?dU9YT0cyNUZSSXN6TUNKYTh3YjJmNDJIbHAzZkVVWDFxT21vVWNiUFduSHRj?= =?utf-8?B?cG1WbVpONVRmVGkvcnArZWROWDRNNi85VlZuV24wQmE2eHEzOHNvRUh3aWti?= =?utf-8?B?VC9WK29RNnc4N3k1dExxRiszcjR4Q0hWOGY4aksvdG9XMGdGdGdDeDRMaFA2?= =?utf-8?B?aFFtSmh4ZkNLZXVIYmNZZFZkQVF1TkFZTVlwVXpNYW5wMkdibEpsV3krOUJD?= =?utf-8?B?MnN5SFUyY1NBS0h6YlUzZEQrQ0JEbk9EUk85bWs3c0hBYVVXb3Q1UHN6TUg5?= =?utf-8?B?b3BpRmgzNlBKUHJjTlg3VnpCN2lqZTJQVG1MdFNpM0l4RitPb2NTc0g0RWZH?= =?utf-8?B?Ukg4a2lGL3FaSnpycTV0cG1CaWtNbWRxOVpYczBoVXRjVXVOc2VIbDNBQkgy?= =?utf-8?B?ekNaY0QwUWE5eVpoWk5NaWp6RWFOUkVqdnB2bjZDaWQvTjlIRjBpOG80VDd5?= =?utf-8?B?cDZneTNKOEplOEFiWFpzeDd1MEU3SVlqU213Q01LRmhtMkVWRG1US3J6cXFY?= =?utf-8?B?VlFyclFRSWJGSHJqWWVSaWFhTEhVS2FmYktKbUtpTnFNTlB5V1VsenBOeHdV?= =?utf-8?B?d256bHd3em9oM2F3eWRrcGdtWTJMdjRFa2hyVURmc1NWSW40aHNiVW4yamxJ?= =?utf-8?B?dWY3bXdFSWlhU28vcDlhYkp2SXNOc25rSitjVUE5bCthMTd2QktvWFlqSEJ6?= =?utf-8?B?UFg2aEVKaU1BVGF5djlTUEdpOEpHQ0IwamU2U2FSYm92U3BOK2VSb21jbURk?= =?utf-8?B?Wi9NZUFHSDVGTEVGWTdFNWxPYSt2MDdYa01ZTk55YXBsVEltV1krczR0TU1P?= =?utf-8?B?dHFOSWhuOWJlclI1QWlsdXJ2NWFGNXRJZjQ5NStncGdobm5ycmE4dFpmTHlL?= =?utf-8?B?TGVjcWozNUdHQnJKZTQvdXB6OUJpbVl4K3p3TkoxVkxiVENWSnk1cmNsaUtT?= =?utf-8?B?Ni8xTkJxaFNLaHlGR2JGZWhCRHRHTi95bGE0MFRBYnZXTmxndUxvbDZGMVRZ?= =?utf-8?B?RWdWZW1TNzQ3dmNjeTB2WnRBeElDc0diYnN0T1ducFJ2MXhvR2pPM3NRWC9w?= =?utf-8?B?YTZ0aU9WQkRnZWJMc2IxRkZqNFhIOFE3UzhvZi9ZV1ZsUmpHQ2ZwUERHYjBl?= =?utf-8?B?YmIrOEs5cTZoTWpNcm5aendlaS9mMlY5OUhnSFlSN3ZhallzbUlkRTFUeEhS?= =?utf-8?B?UHc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <2B5DE54E034E1C4DAB430849B5946A76@EURP190.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SRrGZifUCWvkoQRgmDv67OFTGWH3BWYz7bX0DYzsM+pGZqJ+vZbEZHdDqnLb4/IDV2GdalPqrYO4cwo2L5ZBaxp0WpzuCFtnpWYqJBrGyfCx9OP4QdU3KXhJgxQlovh6LLHlth60lER/nLXGsCz4HzGuRSexygDJJlr3xVlpHILXMHQ1oDCq4nCW4/8yJdbW50n0bLdWDh25XmVwkXlynvlqsk+iJb17d1y6zj1dyW3t3lM+WmS0Mor6bBztdUqWhwSJyEAHXF2Jqm3xVqVZ/MbXO8CXsu0QtuPzMUZP/eBV9nMhM+WbPmC9LEz5yWmChO9GTzbN+BzwT2SuX2uLbXCP3fdf1R9AURX9/two7EiyeYY/gAFlqL0kyKLNY5F8jHqfJhb4gWBxL+4vT/V027FDL5EwyObvCp3uxKGqtvePPB5lDsdbfvsfi4GOdDnWIIcmLm1WTARmcVGAalANrDZWnVZF8hWC+w5v75Hl6uSU1o9QmO7ctLHxMsjpNtdDybZJlfasza1AuAZ7BAO7Huf3plXon/qtpUclgGccK7sILRTZLgUy4gYRvtFigePnuTgduX2pacvikR+lxM6Knh0bLP+PEvxZYJswyqLkzAgXiQ4rZi/vlV21MPfg+LLv3YNYgVHOBcorJWQ9/47xarkSbOQKN7za14XJlTmuBBo= X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PR3P190MB0826.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 7b7ab8e6-4672-48cd-b4e7-08dd04b65be0 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2024 14:12:22.8079 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wSWj4XOV+cSj2l2AVDSJnHbBMj2PB8MmrB5O7ygeeSsId+jtwRnj1iEjB1DoY32FgL3Z4uS9wlI3wGtjnVKJ7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P190MB1047 X-BESS-ID: 1731593552-312120-13395-163-1 X-BESS-VER: 2019.1_20241105.1725 X-BESS-Apparent-Source-IP: 104.47.17.173 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVhYGxkBGBlAsycQszSLJ2NTAxN jIICXN0tjQIMk8zTQtFShukmyQolQbCwCHy1rQQAAAAA== X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.260414 [from cloudscan16-74.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 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 Pk9uIDExLjExLjIwMjQsIDE1OjM1LCAiRmVycnVoIFlpZ2l0IiB3cm90ZToNCj4NCj4NCj5PbiAx MC8zMS8yMDI0IDM6MDAgUE0sIERhbnlsbyBWb2RvcGlhbm92IHdyb3RlOg0KPj4gVGhlc2UgcGF0 Y2hlcyBwcm92aWRlIG5leHQgZml4ZXM6DQo+PiAxLiBUaGUgdGVzdHBtZCBjb21tYW5kIOKAnGZs b3cgdXBkYXRl4oCm4oCcIHByb3ZpZGVzIGEgbnVsbHB0ciBhcyB0aGUNCj4+IGNvbnRleHQgdmFy aWFibGUuDQo+PiAyLiBBdm9pZCByZW1vdmFsIG9mIGFkZGl0aW9uYWwgZmxvd3MgYWZ0ZXIgcmVx dWVzdGVkIG51bWJlciBvZiBmbG93cyBoYXMNCj4+IGJlZW4gYWxyZWFkeSByZW1vdmVkLg0KPj4g DQo+PiBEYW55bG8gVm9kb3BpYW5vdiAoMik6DQo+PiBhcHAvdGVzdHBtZDogZml4IGZsb3cgdXBk YXRlDQo+PiBhcHAvdGVzdHBtZDogZml4IGZsb3cgZGVzdHJveQ0KPj4NCj4NCj4NCj5IaSBBbWFu LCBPcmksDQo+DQo+DQo+Q2FuIHlvdSBwbGVhc2UgaGVscCByZXZpZXdpbmcgdGhpcyBwYXRjaCBz ZXJpZXM/DQo+DQoNCkhpIGV2ZXJ5b25lIA0KDQpXZSBraW5kbHkgYXNrIHlvdSB0byByZXZpZXcg dGhlIHBhdGNoZXMgYW5kIGZpeGVzIGZvciB0aGUgYXBwbGljYXRpb24gdGVzdHBtZC4NClRoZSBw cmltYXJ5IHB1cnBvc2Ugb2YgdGhlc2UgcGF0Y2hlcyBpcyB0byBwcm92aWRlIHN0YWJsZSBiZWhh dmlvciBvZiB0aGUgZmVhdHVyZSBgZmxvdyB1cGRhdGVgIHRvZ2V0aGVyIHdpdGggYGFnaW5nYC4N Cg0KV2UgYXJlIHJlYWR5IHRvIGFuc3dlciBhbnkgcXVlc3Rpb25zIGFib3V0IGNoYW5nZXMgaW4g dGhlIHBhdGNoZXMuDQoNClRoYW5rcywNClNlcmhpaQ0KDQoNCg0K