From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=intel.com (client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=aleksander.lobakin@intel.com; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Veyb3wWj Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mail.toke.dk (Postfix) with ESMTPS id 9243F9EDD32 for ; Fri, 24 Feb 2023 17:43:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677257000; x=1708793000; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=0+wpXLTxPWPlMYZM3Z1v50U8pMgN3DNprzOhujJG5e8=; b=Veyb3wWj9u2k3t03rcRr6kpELasvuB2tAlIIS2eg8mw5fLd3swF6eiXW UVof+g963yCa4tDk765rBFSs/Bp1Ls1Se+puGIlNpmcBf1/9TNWzWFGyI XCap03PtSnmhZNQE3qOtmk0pTvu7/iSRRm788i6D/k10L3VXcyMpgKAgw E81OdKSL2jwDC8HvaB31dB6iYJ+WP7HG94lSaTif0afK1v57/s2VCSf0d /zJKRls3Ytzri4pEwZZSM+rosffdYK6BH7QmTJ/24Bt+SMscHXdIpZ9qe k473JFdnG/gGEZHRq4R99m+qPXV+dld8qAsSUsZy/zVwxeBZSrV4/z4/H A==; X-IronPort-AV: E=McAfee;i="6500,9779,10631"; a="317278701" X-IronPort-AV: E=Sophos;i="5.97,325,1669104000"; d="scan'208";a="317278701" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2023 08:43:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10631"; a="650405974" X-IronPort-AV: E=Sophos;i="5.97,325,1669104000"; d="scan'208";a="650405974" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP; 24 Feb 2023 08:43:14 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 24 Feb 2023 08:43:13 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Fri, 24 Feb 2023 08:43:13 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.46) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Fri, 24 Feb 2023 08:43:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V593N78RrHXbZqZ+29ZyvS5d/vNvNy2zrrWTNgNp4K4hp5yL+oomPLvTrAGP4QdRUgHO9KkXkPWmyYc3whBIFeeiU6ovvSClfYpiEhCPDQl1SmBkBGm6L007ueNisVl9rmgdlZVlbmr6JAuwjhDMfm5wF7BWACSCWV+14zwj53bxPyQ2FSgi7aIw2NNDm0td2o1D48vZK96Ni6CWkUJv7LQR+vj3mmtJ78eExvqQvN5eEv0fBTxcVTEoRGhqaP3Mpyt7aB7JN7UnDfj9ixTio7X3F7/vFmB8sMC/L2a8JI0rYuKuRESJDIVrp6Nbf/zSRTY0eSAT7zHYWGy9Y+ewNw== 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=vIv+1Zl/HnLQxitoJV0OSHrOzw0mGRuSuxxb88vXOeo=; b=PPADCbcIxGKd4YxNPrtQ/t79Nnq0wR5YnRqxOx9sGs8PKO3MM3C/zNuOTXY2hqwA2QOYkx1Tzuc3O3rGYHGh5/ZF1a7j+CN1hxKNBpnIoP2kfyrVwerkP1teNupJgmj+OUkMrU09vHrki4VirRYjkQBGYqLX8K8HIda0er1U3FFdLhxzReWD7WXNRz3ApmDVI3vit42FquxYbp/h/WbyRsaEQqFOLeq2x1eRENHfb7YogNSJ1sx41ckN7kKyhmJb4mPAboCViNCiAgYh3yn7xi5I6q1ftpnH13t1KV+oyjOaBZSqxl3H5tBwPhgobOMgg55PEmOs65Ux7looaXA5aA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) by CH0PR11MB5380.namprd11.prod.outlook.com (2603:10b6:610:bb::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.24; Fri, 24 Feb 2023 16:42:59 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::3ff6:ca60:f9fe:6934]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::3ff6:ca60:f9fe:6934%4]) with mapi id 15.20.6134.024; Fri, 24 Feb 2023 16:42:59 +0000 Message-ID: <6a7469e1-1db0-2f62-909b-9dcd65c50937@intel.com> Date: Fri, 24 Feb 2023 17:41:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Content-Language: en-US To: Jesper Dangaard Brouer References: <167604167956.1726972.7266620647404438534.stgit@firesoul> <74330cb7-bf54-6aa0-8a07-c9c557037a31@intel.com> <59aa33b3-e174-b535-cc9f-1d934204271c@redhat.com> From: Alexander Lobakin In-Reply-To: <59aa33b3-e174-b535-cc9f-1d934204271c@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: AM0PR10CA0006.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::16) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR11MB3625:EE_|CH0PR11MB5380:EE_ X-MS-Office365-Filtering-Correlation-Id: 33a82835-17ae-4715-7887-08db16863010 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mhYw1ZrbFIvCRofqphjXr5nN85h5r91njlM8l2Qwld8rZR78cq+JSYXrz8E5XL1g4Y5HKop8PB/mZQ6k+hcwX+14PRtOCVltOPkpO+HXGQCnAeCjxIpcFaoTvdTUQuhYU1Z6yMzKuFIt3J21uDwOoTUTJXKK8RKI29L17ZsMlODLZV/laLWeUpKDpF/w9w8cAaLX6lbzgqwCg3hwOXd46mIjND9f3kIz4S2hifg/KLdN7xUAdyMu46T3ZKzWLGU0v9BQiL+VxKq9JCeIRGLVASfJSc/XsVL1vFgfMpzQpi8o8NTGKhQM+rh7s0hoy6IwHNjvCXhv9QYZNDUcS2sVa8WHnKy/SHBrDWoeBLPp/WWczqSon9FkF2wg0AUrO+ug6gb+jFr+g+w6bac7jjLptQkBSg1fmn56RX64n/KUc1UWzeBh9oVMkCQxT7oYH16WYyS3e1Fw6OHT6rRrzezvIFaQvqrRRZuTgfbaKUFQ49fgEttqFQNLmRXXv0RbncbQmeZJno454zOui8oe7sZR/J0wLRGTgjP03g4498md15VmNMm4sSIbIoCv53S9YBwA2NsNH2glr5rcg6SkeyaOFBQj9wWY7LOfF0BNO9icktWKtdrbk5vYYhduMycSFnQtgPezuNFwOz2WbHzXRQtAASpoQH0Jp2JLG0TzwlWSFEohC2Pn4byMkNBWd+ljymojiFWgqrkQ/q8ANVaZcTbNBe0usntso5xFhKEGzyGJoTI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3625.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(366004)(136003)(451199018)(83380400001)(31686004)(41300700001)(66946007)(66556008)(66476007)(4326008)(6916009)(8676002)(316002)(8936002)(186003)(36756003)(26005)(6512007)(82960400001)(54906003)(2616005)(7416002)(5660300002)(38100700002)(31696002)(86362001)(478600001)(6506007)(2906002)(107886003)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V21yMnFaM1pvczdIblBkTFAwQU0yaFZCWEFmenZrdnpqNFdOdG9HMDc3ZCs1?= =?utf-8?B?WHRVcXRYNzIvTnhSTnRLWFJ6TEhJOVoxcHk4MVhiS3lQck1qdDBpM3FXSk9j?= =?utf-8?B?aHRXUThuS2ZxNXI4MjlER3BwMmRaK25jZ3F0cjBla1h2UnE3UXRZTCtrWnRI?= =?utf-8?B?L1BzSGJvUDhHUmV1ckFhYnFYY2lGWGtncUxVOHExd3cvWE5JNE1ON3Q4QUtJ?= =?utf-8?B?TGM1L3lzb0RxUkMwOEpscXRhaHJ4YlcvZmsxbkZMNVZsbWI0Zm85QVlpWTFk?= =?utf-8?B?Wk5XNHZteE5hU0tvb3kwRWlBTjBDWUJkSStaNnFhcEkveDVBU3ZkbzEwS0Vo?= =?utf-8?B?Z0NkM3labVJiUTBQVDBBb1UvSGU3L3EvSTVvdnJwUVlsb3BvMzJldmVtdU1M?= =?utf-8?B?ZFltQjRaZFVjOFRRY2lBL1JOcUoxcythWnJQK1FlR3VRNWsyTTBnUjZiS2RM?= =?utf-8?B?WGlJTlRhQzY0OVppT00yNk1xSVFLM3JxM1JhcGZwRkkzS0Z1SEF2QlpEbXBr?= =?utf-8?B?cmtNVGpFSXNCUGNOcEx1S1FYMitvWTBzTlJTSFlSYmk4ODRJUFduQmloOFdu?= =?utf-8?B?UXZFRDdlUWpDbzRxRVRrMjQrWGlUaGpoc0h0OFk0MS9uZWl2Y0tjeURyb3VR?= =?utf-8?B?RlZWZEppTlpYb0FhRGZ6MlZESFdobklYdEZvaWxDVWZadjhXY05rK1NEVENj?= =?utf-8?B?UGZxN01rZkNiZ2NoMkh1R1BmV3k3TTdvTzVKQ1VvOTRyQklJTzdaY0NDa25T?= =?utf-8?B?YVlyWlVtSlVwZ3ZYUzVoTVkzSS94bG45SUhwRmtsam1LY3lwUzVpUDJ0Rkdz?= =?utf-8?B?YTU1bXBZbjBBanVJV2F5UXpqdFZJVGZnckRtVmJWUjIyWDEwSExNU1Z3T0Rl?= =?utf-8?B?bmRxQWdkcWdFMmI3bDluSkhCSGhJOUNjNzNYMEM5NHdzK1FaVWVQejBzcEFB?= =?utf-8?B?MXpNVHBNYzFxSVNqYU05cS9zRDZHSUw3ZXg5TlJjMUVHWnNaaDZrSHF4eEJN?= =?utf-8?B?NjJUemE2MXJRWldIRTlBMVVNNGoybXFiTkZpRjV5MndoUHhWYXFnRHh1Yi9P?= =?utf-8?B?SWpvVFBCOFEzMjBRcW53ZkNtYmFLSmdQTEt1MjZNR1p3QmpsN2E3S1dwQWVx?= =?utf-8?B?Mk9wWXZ3d20zWDlZaHBpWWt3cVhtZkJoLzl6SGI5Rk5QMmJXbktvOXlCWWhu?= =?utf-8?B?SFdNUDErd0xJSkhnYTFNYkZ4cTFwN1V4empTTzN0dDFYNkVLQS9CejBZRld2?= =?utf-8?B?eXZaWDBJaHRid3NpRkNNcmxXVEp5YURyMUlLaTl6RHVWMkF1c2p2cUhHWEFz?= =?utf-8?B?L3htblRKemF5ZENET2prSHIzcVZuSDhaaytiSWRuVmcwbE5jSFNSUFJ3bnlN?= =?utf-8?B?NTBhS0hzUWFBaTBCMVhCcDZYNzlzT1hGSVppbDlFUW5iRWFoZU43NmN2Zm1y?= =?utf-8?B?RXV3TlZLendQcUtwUlRJclI3THF1b0NjTUY1b2ZTZ3RaR3dMajQzN2IvWUs1?= =?utf-8?B?RXBFR1NyZnhiMStDUFZJV2hDNFB2QWVPS2dpUSsveXlJUzhtdG05aGNDUDI4?= =?utf-8?B?cUZRUWtVdDdSdDJLNUlmVGhJdlhMaCszandmdXdSR1ZVbkx6cEJ3N1ZWUUkz?= =?utf-8?B?QmYzMUFNY0dBL1REL3J3RnBNWmNqbXJUckN6U1FuV0tsem5RTWwxUEdDaHRa?= =?utf-8?B?d1U3cjByRkxpU3NWZ3pwNG5JRUdEK0d3SWtLVVJ1MHZwM0xSUkJHTktzZGNp?= =?utf-8?B?S2szc0VLN29uOVZBM01Nc2hRYnFyWGZRRnZBbUtVenY2Y3B3L2RzcjE0eUNm?= =?utf-8?B?YUJJMHpJbEowSFZiODk0YVowMUFMa1I3SDltREtqanJ3bW5HcVBkVE9uSFZU?= =?utf-8?B?VUNlKzlXS0JRNmg1dUY4NlRHRWwyUGsxVjBYRkFScU1PNWE2N2F0KzByL21O?= =?utf-8?B?L0dRWEw0WE1OTGl1RTJaSkFweWhPbzZrK2E1RDZLclhPYjdVZXZUVTRUTkVt?= =?utf-8?B?eFgvRE5VbEZYZXhaazk3TjYzVlVpbjZqaXo5Q3ZzTEN4dXFjdnJtQnNwOExO?= =?utf-8?B?MHo2QnB0VTVEYkFkQkI4bGxBYnFUaFI2UmZneFRseEZQTFlTREl3a0wwNEdE?= =?utf-8?B?Yk5ETUpIWGhCNi8vRmxwUDhieDJ5VmNydmlsY2FVQmxzNmpOODJ0N0xpMGtt?= =?utf-8?Q?SobxorT8pKFhySFz1e9uXwk=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 33a82835-17ae-4715-7887-08db16863010 X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3625.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2023 16:42:59.3996 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wPrMWRJPrlvhqxfIwXqsNdx7W2hefbxz7sNvxtrcuxmi0xAYIflszfHZ/vUoqHSWlcx1Kl4nGP0SL20tRZ8ABJ7wQYR96nwnCoRas2niA34= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5380 X-OriginatorOrg: intel.com Message-ID-Hash: IS25P2SKXTSPXMFOPHQN3I564BPK4672 X-Message-ID-Hash: IS25P2SKXTSPXMFOPHQN3I564BPK4672 X-MailFrom: aleksander.lobakin@intel.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, bpf@vger.kernel.org, netdev@vger.kernel.org, Stanislav Fomichev , martin.lau@kernel.org, ast@kernel.org, daniel@iogearbox.net, yoong.siang.song@intel.com, anthony.l.nguyen@intel.com, intel-wired-lan@lists.osuosl.org, xdp-hints@xdp-project.net, Sasha Neftin X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next V1] igc: enable and fix RX hash usage by netstack List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: RnJvbTogSmVzcGVyIERhbmdhYXJkIEJyb3VlciA8amJyb3VlckByZWRoYXQuY29tPg0KRGF0ZTog V2VkLCAyMiBGZWIgMjAyMyAxNjowMDozMCArMDEwMA0KDQo+IA0KPiBPbiAyMC8wMi8yMDIzIDE2 LjM5LCBBbGV4YW5kZXIgTG9iYWtpbiB3cm90ZToNCj4+IEZyb206IEplc3BlciBEYW5nYWFyZCBC cm91ZXIgPGpicm91ZXJAcmVkaGF0LmNvbT4NCj4+IERhdGU6IFRodSwgMTYgRmViIDIwMjMgMTc6 NDY6NTMgKzAxMDANCg0KWy4uLl0NCg0KPj4gUnggZGVzY3JpcHRvcnMgYXJlIGxvY2F0ZWQgaW4g dGhlIERNQSBjb2hlcmVudCB6b25lIChhbGxvY2F0ZWQgdmlhDQo+PiBkbWFfYWxsb2NfY29oZXJl bnQoKSksIEkgYW0gbWlzc2luZyBzb21ldGhpbmc/IEJlY2F1c2UgSSB3YXMgKEkgYW0pIHN1cmUN Cj4+IENQVSBkb2Vzbid0IGNhY2hlIGFueXRoaW5nIGZyb20gaXQgKGFuZCBkb2Vzbid0IHJlb3Jk ZXIgcmVhZHMvd3JpdGVzDQo+PiBmcm9tL3RvKS4gSSB0aG91Z2h0IHRoYXQncyB0aGUgcG9pbnQg b2YgY29oZXJlbnQgem9uZXMgLS0geW91IG1heSB0YWxrDQo+PiB0byBoYXJkd2FyZSB3aXRob3V0 IG5lZWRpbmcgZm9yIHN5bmNpbmcuLi4NCj4+DQo+IA0KPiBUaGF0IGlzIGEgZ29vZCBwb2ludCBh bmQgeW91IGFyZSAobGlrZWx5KSByaWdodC4NCj4gDQo+IEkgZG8gd2FudCB0byByZW1pbmQgeW91 IHRoYXQgdGhpcyBpcyBhICJmaXhlcyIgcGF0Y2ggdGhhdCBkYXRlcyBiYWNrIHRvDQo+IHY1LjIu wqAgVGhpcyBkcml2ZXIgaXMgZnJvbSB0aGUgdmVyeSBiZWdpbm5pbmcgY29kZWQgdG8gYWNjZXNz IGRlc2NyaXB0b3INCj4gdGhpcyB3YXkgdmlhIHVuaW9uIGlnY19hZHZfcnhfZGVzYy7CoCBGb3Ig YSBmaXhlcyBwYXRjaCwgSSdtIG5vdCBnb2luZyB0bw0KPiBjb2RlIHVwIGEgbmV3IGFuZCBtb3Jl IGVmZmVjaWVudCB3YXkgb2YgYWNjZXNzaW5nIHRoZSBkZXNjcmlwdG9yIG1lbW9yeS4NCg0KU3Vy ZSwgbm90IGZvciBmaXhlcyBkZWZpbml0ZWx5LiArDQoNCj4gDQo+IElmIHlvdSB0cnVlbHkgYmVs aWV2ZSB0aGlzIG1hdHRlcnMgZm9yIGEgMi41IEdiaXQvcyBkZXZpY2UsIHRoZW4gc29tZW9uZQ0K PiAoZS5nIHlvdSkgY2FuIGdvIHRocm91Z2ggdGhpcyBkcml2ZXIgYW5kIGNoYW5nZSB0aGlzIHBh dHRlcm4gaW4gdGhlIGNvZGUuDQoNClsuLi5dDQoNCj4+Pj4+ICvCoMKgwqAgWzEwXS5oYXNoX3R5 cGUgPSBQS1RfSEFTSF9UWVBFX0wyLCAvKiBSU1MgVHlwZSBhYm92ZSA5DQo+Pj4+PiAiUmVzZXJ2 ZWQiIGJ5IEhXICovDQo+Pj4+PiArwqDCoMKgIFsxMV0uaGFzaF90eXBlID0gUEtUX0hBU0hfVFlQ RV9MMiwNCj4+Pj4+ICvCoMKgwqAgWzEyXS5oYXNoX3R5cGUgPSBQS1RfSEFTSF9UWVBFX0wyLA0K Pj4+Pj4gK8KgwqDCoCBbMTNdLmhhc2hfdHlwZSA9IFBLVF9IQVNIX1RZUEVfTDIsDQo+Pj4+PiAr wqDCoMKgIFsxNF0uaGFzaF90eXBlID0gUEtUX0hBU0hfVFlQRV9MMiwNCj4+Pj4+ICvCoMKgwqAg WzE1XS5oYXNoX3R5cGUgPSBQS1RfSEFTSF9UWVBFX0wyLA0KPiANCj4gQ2hhbmdpbmcgdGhlc2Ug MTAtMTUgdG8gUEtUX0hBU0hfVFlQRV9OT05FLCB3aGljaCBpcyB6ZXJvLg0KPiBUaGUgQVNNIGdl bmVyYXRlZCB0YWJsZSBpcyBzbWFsbGVyIGNvZGUgc2l6ZSB3aXRoIHplcm8gcGFkZGVkIGNvbnRl bnQuDQoNClllYWgsIGFuZCBfTDIgaXMgYXBwbGljYWJsZSBvbmx5IHdoZW4gdGhlcmUncyBhY3R1 YWwgaGFzaCAoYnV0IGl0J3MNCmhhc2hlZCBieSBNQUMgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSku IFNvcnJ5IEkgZGlkbid0IG5vdGljZSB0aGlzIDpzDQoNCj4gDQo+Pj4+DQo+Pj4+IFdoeSBkZWZp bmUgdGhvc2UgZW1wdHkgaWYgeW91IGNvdWxkIGRvIGEgYm91bmQgY2hlY2sgaW4gdGhlIGNvZGUN Cj4+Pj4gaW5zdGVhZD8gRS5nLiBgaWYgKHVubGlrZWx5KGJpZ2dlcl90aGFuXzkpKSByZXR1cm4g UEtUX0hBU0hfVFlQRV9MMmAuDQo+Pj4NCj4+PiBIYXZpbmcgYSBicmFuY2ggZm9yIHRoaXMgaXMg bGlrZWx5IHNsb3dlci7CoCBPbiBnb2Rib2x0IEkgc2VlIHRoYXQgdGhpcw0KPj4+IGdlbmVyYXRl cyBzdWJvcHRpbWFsIGFuZCBsYXJnZXIgY29kZS4NCj4+DQo+PiBCdXQgeW91IGhhdmUgdG8gdmVy aWZ5IEhXIG91dHB1dCBhbnl3YXksIHJpZ2h0PyBPciB3b3VsZCBsaWtlIHRvIHJlbHkgb24NCj4+ IHRoYXQgb24gc29tZSB3ZWlyZCByZXZpc2lvbiBpdCB3b24ndCBzcGl0IEJJVCg2OSkgb24geW91 Pw0KPj4NCj4gDQo+IFRoZSB0YWJsZSBpcyBjb25zdHJ1Y3RlZCBzdWNoIHRoYXQgdGhlIGxvb2t1 cCB0YWtlcyBjYXJlIG9mICJ2ZXJpZnlpbmciDQo+IHRoZSBIVyBvdXRwdXQuwqAgTm90aWNlIHRo YXQgc29mdHdhcmUgd2lsbCBiaXQgbWFzayB0aGUgbGFzdCA0IGJpdHMsIHRodXMNCj4gdGhlIG51 bWJlciB3aWxsIG1heCBiZSAxNS7CoCBObyBtYXR0ZXIgd2hhdCBoYXJkd2FyZSBvdXRwdXRzIGl0 IGlzIHNhZmUNCj4gdG8gZG8gYSBsb29rdXAgaW4gdGhlIHRhYmxlLsKgIElNSE8gaXQgaXMgYSBz aW1wbGUgd2F5IHRvIGF2b2lkIGFuDQo+IHVubmVjZXNzYXJ5IHZlcmlmaWNhdGlvbiBicmFuY2gg YW5kIHN0aWxsIGJlIGFibGUgdG8gaGFuZGxlIGJ1Z2d5L3dlaXJkDQo+IEhXIHJldnMuDQoNCkFo LCBkaWRuJ3Qgbm90aWNlIHRoZSBmaWVsZCBpcyBvZiA0IGJpdHMuIEFjayB0aGVuLg0KDQpbLi4u XQ0KDQpUaGFua3MsDQpPbGVrDQo=