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 371C145BCC; Wed, 30 Oct 2024 22:08:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBF6C43324; Wed, 30 Oct 2024 22:08:54 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 4D7A142F2B for ; Wed, 30 Oct 2024 22:08:50 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by mx-outbound11-85.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 30 Oct 2024 21:08:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mQgtyqHyV5xIPilcs+JFhni23vqcckaehlkgkWuIKhjP3/mx5IcZ4oPueGPZ6fS8znsxQsPmVBUm0fJJQ9uWWhwsyf1vyJ/6EZSS165jg6liKHLcAVAOrqYYU92ZnEBWOfjr5mi/RtJq71mG14n0vUPABp5nMQPX67t4mOgMbgGZ2lElSl2XCCffOU9ICU0UfK23xmAh4DdzMcl2hNPPnoM6dhcmHlaOXw4iRmXNoQ6mwyjOKRYbykBl7KOXMxely1ACZkN6+SQnKUKjR1JjJsZmX/KbhewueyBLVCbgykrG71bLXVAFHAYik1vj6LNasDuVgHqeKRbfQfxIUxuR9Q== 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=JXd0lmhDbVrkzMLwmKgiX6Sow333Xq5BiBC4+3rNdro=; b=FUkyvXZ8ySIpJYW37BmnIm9o2cm5+up6LFPL0SeTIPKsZOOxWmAsJgrKNTHw/5gfKrnNqJq1V2F9dXggT4iSTGlMyNX7H6xop4b9VAaqujvGvWxzyDG+FeWxPxwVZQm5ykpLkDOCSk5QFyGc0fAmagLr7LCezeGhysL0lJ9kBUlWIIWtJLZxWq9LZcbMfkbujd+PpSMfBf6IGXbWQ/5wWBxKsWQUgIKijWkZqCGhTPTBBsmVKadb9fsg5eZYDBhJ56Ui1l0U+Pw2VscIGTNYoabZUe5wpaoF/VTArYosplVWbZhUudBMSBR+Uje2PY0tX5UcDiemmhOeLIQfq7+gXg== 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=JXd0lmhDbVrkzMLwmKgiX6Sow333Xq5BiBC4+3rNdro=; b=IKWoZ/Du9czLXZsfPH41fu7Q/v/iGWzJzt+LctcEYJQNjfMwAXWBjkpjeEXXwzKVOjtLnH6K0cSrjU4R7clFLTWfessx5V4kjri8bSGn7pYXAe+EIm45MhlZKKAH1vW3ndFZMJA6EiLCrYC8J2PYF3IfrE3Q/R2zBOhicMYGm4o= Received: from VE1P190MB0830.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:1a9::5) by DU4P190MB2244.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:58a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.20; Wed, 30 Oct 2024 21:08:44 +0000 Received: from VE1P190MB0830.EURP190.PROD.OUTLOOK.COM ([fe80::fb19:d808:3eac:2ea3]) by VE1P190MB0830.EURP190.PROD.OUTLOOK.COM ([fe80::fb19:d808:3eac:2ea3%5]) with mapi id 15.20.8093.027; Wed, 30 Oct 2024 21:08:44 +0000 From: Serhii Iliushyk To: Ferruh Yigit , "dev@dpdk.org" CC: Mykola Kostenok , Christian Koue Muf , "andrew.rybchenko@oktetlabs.ru" , "stephen@networkplumber.org" Subject: Re: [PATCH v4 05/86] net/ntnic: add minimal NT flow inline profile Thread-Topic: [PATCH v4 05/86] net/ntnic: add minimal NT flow inline profile Thread-Index: AQHbKiGZ//KJrGzKbkufMX/k/g3azrKeiX0AgAFjkgA= Date: Wed, 30 Oct 2024 21:08:43 +0000 Message-ID: References: <20241021210527.2075431-1-sil-plv@napatech.com> <20241029164243.1648775-1-sil-plv@napatech.com> <20241029164243.1648775-6-sil-plv@napatech.com> <70ea8bae-a599-481d-86b8-93d002bd2a81@amd.com> In-Reply-To: <70ea8bae-a599-481d-86b8-93d002bd2a81@amd.com> 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: VE1P190MB0830:EE_|DU4P190MB2244:EE_ x-ms-office365-filtering-correlation-id: 1d15ba61-2ab9-4d9a-c5cb-08dcf927098c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?NWhnVlplU1RDRExsRnlWQjkrbng4UjQwQnFEbVpVRmt1TUM5VU1TaFpHeEpv?= =?utf-8?B?SlJBUTFKTEtiMzJhV0ZmekVFL0NSWnpGNWJyYjNJZUI3UnpjdmNuTXowUk50?= =?utf-8?B?TjExeFIva1BpQlFEaTRSQVZjbVdNWjdISWpTZ0YzKzhuQkt5UWtJSncvSS9J?= =?utf-8?B?TkhYaGE5aWFYdmJKb2UrVzNrYmJESzZzQnlNTWMzTWczam1LTUJRRFRRUm4y?= =?utf-8?B?YU5XWjd4c0tuM2JuM1UyUFZOQlM0eUFzQlJPaWo0WXlDSi9FTmhlUHVHM1lS?= =?utf-8?B?YUhpVk5laTBYZHl0TzVZYjVXRXBLaDZ5dnNXVVZiTU9qYXpZMFB0RW1jMjJ0?= =?utf-8?B?aHY5WVBJR3Vlb0F2YXNueEl1YTFLVVE3UVg2NWNTQ3lheG4vanBKTVRtN2k1?= =?utf-8?B?MnBhSC84K2s0RUZXZ29wOWxmQzN0N0xTK0sxWjR5OG0xZUgvREw4ZkUrMVVO?= =?utf-8?B?aDd1b1hTTS9SRXE1LzZVOG9UZG5sQWUwZHgxS3ZTWGN5QlpUVmg3OXc5N2Yy?= =?utf-8?B?cDNSaDhDVEpRaDlKSDN0dWlSSU50bHpjQ1hGMlN6VzB2WDdYb3ZXVTJlOENH?= =?utf-8?B?UCs0NVZBeU5LMklaT3JRS1ZRUnFPamc4ZGdyT2lVNmtacmQ0cnVoQ3hEL3Rj?= =?utf-8?B?a1JrQUh4QThiQXVMZDNBR2w3a2xHeDhTQ2QwSkxlUkdwMmpRck9nNkh2akxm?= =?utf-8?B?WTAxSldIUHF1YU81N2RLanIrT3I3QWovYzZoWU05dXR5Z2JXRXdXeEE1eVB2?= =?utf-8?B?YWo2Q1dYS0pyUlhJdm1HUEJUNWZ5MVBoL2U2VkduL0hUZG1XQ3kyWFltbTFC?= =?utf-8?B?NlZMQm0zd0NBUUREaGlaMHd0ZUhxckpFbGFFM2RxYTFDTEVyQWcrMjhUUEM1?= =?utf-8?B?K3ZpWTZMTHl1cXBhU3FUU1gxOFpWZkxjb3Q2cGgyUnRYcDNZZEpTVElxVzQz?= =?utf-8?B?WGNrVDA4NGZFYUlHSFkxMnhwRlNmTzhOTWsvNC9ybzJVQjVGaTBhVEQzM0lK?= =?utf-8?B?UC96SnFLOHBvbHFFQ0V1dkVPNHFqTU1uZWRwWWFrclNReVBKZjB1d0FqUmFY?= =?utf-8?B?eEZtT0hHdmhkMURLSU5GYTdsdklxbFFDMm9NM3JubmtPZFdPaTVTYXJFNUJD?= =?utf-8?B?K3c5d1hNR1BNZFN2emxxVkNnTmRDV3IzY0JlOHZKWGdOMlNmSmxLbWJoNlNS?= =?utf-8?B?Z1pEN21Qa0diTytqT1R6Wk5LNXJDU2luTCtpSDFhS244bHhtejVxMmpIakt5?= =?utf-8?B?TkgzdmpKL2RqWVhxZnkycUM3R1NIMTRjNDFLZ3NkQkpEZnVJQ0prQXowSUVy?= =?utf-8?B?S2RyZVlYOVN0RGp3WXFkcktrTnJrUnlDSU9iaWZCL2gzZzdRNzVsOEN3MVdO?= =?utf-8?B?dmVtT0gvNnNlOWg1aWxWSjlWcGpRVzFiT2VhQ0FLeEdSbmxkRSt2ZHhGbW4v?= =?utf-8?B?cGVDOTVHR3JicERvK3pYUkQ2VGR0MjZYMWJCdlFIa08xWEFsYzViZU9PVlox?= =?utf-8?B?NFJUWktIS3lpbGJlUkExb21lUjl5MjZBSlJ1aXZMTG9GR2tQVGpqMjlpYjZI?= =?utf-8?B?MzQ5ckordUo3cThHV2Rad25rbVd3WFZxMU4zZTBEbXNpVTdic1BTcjlnemty?= =?utf-8?B?eFB1cXovQU8zQ1pMSzVZam1aQmx3cGhuNUhPMjNpQUVjc1BVUFF1em5OK1Mr?= =?utf-8?B?T0c4NjY3Q0FXbGdISWZ2S2E4WFNZQTczUEgxV1lWYlE1YTdTZ1V3Y1ZZa1Ry?= =?utf-8?Q?m392SpU7np3t2JtFXG6xJzSrJ34U6Fe/yQzHcOB?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1P190MB0830.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UFp6R2k2VFlqampNd2JvbUxtdXdJWXVIQWVseGp3TVN6YTdZSkhHNDJFMXpl?= =?utf-8?B?TWhIakg4cDV1dVhsKzRlRjVENFBTNlpWQ3RESzIxZVU4NmxPVWdEd1JUbzFl?= =?utf-8?B?RXdvVU9aTkJFMDdUdkhIL3RJRzYrVklMekRZYVNwWmxHcjV4MEd3RmhlclR6?= =?utf-8?B?d1lSVFpmdDM5VDMwM2RzcmxKRUhRKzVxU3ZPRXUyZUxFWnlTWUJsWEVmbDVl?= =?utf-8?B?a0c0TndWeDY2OFhPaHZVMysvNTVza3VKbG9XNjhDV1hna3NRb1FFYm41Z3NO?= =?utf-8?B?ZHQ4K283bithZys4dGNoaktUTGdvaWFxWWNVbmdpWlpubkJZUW5WWFlLNUg1?= =?utf-8?B?ZFFjZFYyeE9uTUp2NWZCZEZaMVRmVExzTGE1MHBnL0lvQUdIVDRzQkNkbWMr?= =?utf-8?B?L205eGt1SExuVi9zVlV6WFJUd1NiNG93Ym1iTWVWbFZmVzFDd2xXOHNrSkVo?= =?utf-8?B?WEJIN0hPN0lZV3h4ZHdzakwwV21sL24rTUdBR3FsWEFrSU9IK1JEVzNQZlkw?= =?utf-8?B?d2NzZWZYajFMck1Id2hVSmMveThjRk1BczlDdnh5dHd2VVdvSGI2bFRYYWY4?= =?utf-8?B?Tno3RnZPWDF5RmRvRzUrZFJoN20yRlFZei9yaE1KaDh4MEFZTy9WMlpXelZD?= =?utf-8?B?eDJiSHM0bGFTREwxdzdSTFJjZFRMT2c2dnRNWk9Dc2ZYWFBXNEIyajNhU3Mz?= =?utf-8?B?NEpyTnR1MG5SZnJHZVFGclNFSmlacXVFWWpXd2lIaUZZTkYva3RKa0ZsYmRv?= =?utf-8?B?Y0dZS1FKbmdFK0xOY1ExVFlqQkRMUnlKK3E0UkZ6RHM4bEg2SFdBb2NiQ3VC?= =?utf-8?B?eklaWG9Nb2hQcTBZK3hZWjFSekJac1ZVUU9kRGpUYVk2cnhPamxZb3JSeVFV?= =?utf-8?B?ZWt0Q2dRVnVqUk1iREJpZzhFUkFROEVNaytpZUxhWWtGQkd5Z3hYVm1LTThU?= =?utf-8?B?eXBpbHlFb1A3cGJPSjhiR1I0NU5CNEFtbFlwZ3BRN0pKZk1CZXhleHJPR0x2?= =?utf-8?B?UnpCckhRK082cTN6VEExMUpzT2ZYVzdNNFZ2M1VRWVlpZnZYVnN4M0tUN0d6?= =?utf-8?B?NTkyNE03aUYvOWdTUXFFM3ZXNTh0eWw3c3Z0MHI1cllNY1hXV3pxUHJDMnhI?= =?utf-8?B?OHJsOWo3WTVHQkM0YjJRbTFWRnQzN3hlZDYraEVMSkw0NGJiT3liejhWTzdZ?= =?utf-8?B?cjdrKys1S0ljMkZTdjg4bCsvNktmcTdlZmhvUUpzWWNHYkEzb0x4VDRNZmRF?= =?utf-8?B?YUlPSGp0bDlPUjVFbk9WTWVma29HYmxnQmp6MEs4ck9VK0FuMHhlRzZMajdL?= =?utf-8?B?THYwZU1pS1QxcW8yNWN4U243dzlWa1FrK01zWjRpTkwvWXJ1V1JyWGhQdGwz?= =?utf-8?B?YzNBdklLUFlVN1BuV0RXRkhkeUNvWE1HR0Z5b0t5K1FSNmUweHE2RW9RS1Az?= =?utf-8?B?ZXhqSHdaNXJ5NU1VN0pPS0VXMndkUzE3eFNOU0dwSHZ6ZG1sTDRYY1h6dkNM?= =?utf-8?B?TkoyWnJ0Smd1MElGMnFGY0JTS3FmTVdUOWNFTWhCUWExVTdCZ3pSQlZnanE2?= =?utf-8?B?Y2ROMmEwaGdVL2ZNL0VGOG13bXVsT2Z5bEJzZEwxMlBOVkFmQlUwMzNxZGZX?= =?utf-8?B?MzVjU0FMZWd0QnoyRFlSVjY1RWhCV3gzMkY2Vjg3SGUvSzAvM1NJMHhnb0hT?= =?utf-8?B?NUluN0l5NEFxOVpqUVZCTG1rNHFJOXgvTDd4NFpKNzNNMG1XSFNoYTk0Y0Ja?= =?utf-8?B?MlFuUU4vVVRvenBOZ0MvL2ZBRWx0MHI1VFJqUElPVlBReEY1NzB3YXU5azg4?= =?utf-8?B?cDJENmFtSzI5cG1VS3cwOTBtcDdQYWFVUWVRREtSQXozQTZHMUJXN213enR3?= =?utf-8?B?SEpIUUJ5MWJJS0tIKzk5QnAveEN4N01UdUp1RVZRV3JLdmdaRHY2OFVQUnJO?= =?utf-8?B?RFVWeEtRSVhlbmQrTTRiRmVOMm10eHNPZy9LUXhidExrRC9LbkgybHNwd1NK?= =?utf-8?B?djNkcmFqMGJHby9yVkIzbThtTUkvVTJweXZIMmFNSGpTZ2pzdU5tajE4QmJ4?= =?utf-8?B?RUlVTVFYeXhGN0g1b1hDNUpoa2dNcTN6bWNVS1JSdWFWUDczaGdEK3c5aFUw?= =?utf-8?B?R0s0SGRmVVQ3MmIwK2xpREhSaHVlYW15ZXlzTHRSN0hpeXBkcXBKUEthY00v?= =?utf-8?B?a0E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: VilXrj2Xket14zoeWbLTTQYVOysl2Y/3OK3jSXf3TpI3SkVY6ooJ6tTGH5/+bAthxDmc0IgBkPvrElYnhe207/H6Le24p4fTK7PmDWPwUG9mt3pMVZOsFmjrHvPiLq2Zc4ZxllXhyXyfQf3WrHAygJLbD65m9Y0zofvyBHMTP3PexJryHRL9G6O47j5I7X8ym6L3z0IN9BmXkexvygNVqjUQI3ElsWfxj77vZP1V+7xpP9plY2KFXC1gNd7C9JCjonT4RjeUq53JByPN3VfcVr9qJ8Wt2uSE3PHDQHuDo0gdiy89iDRpJAVBPZYb9Qj+Dnsxrud0ScifjrGS732wAKUEkIxLrHROK8N8lWlBcEzGcv9Vij713ux1vSTz+zvxlfe5/iY7qRVGaUQsH3BTHTlZH0cebEC/3UyHW1N5Yazq0UXdWI3kgbfkvkZvG1wKLjdB8G5yaYxJAa+MGuy3HPqze42gWRRa7OlbhkAjW3kBb7h/nWKf4o3A9jFmfza/LAp6rUfg2dHBVnTS+NxDpEnN2kqH8cgG85zOaIXN9TK5DBDsAdq91q+T1E5o1IiI9oV0vBQ9KLGYNmK3ATlou2Tl3SsqT1TcAZeXd5oIxvOMgXOSfcRRa6VOqnngT9qfj1ef4NHm6Q9Z1Iu1JW1Xh8+Ow1us5zh1sMVNjxsJljE= X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VE1P190MB0830.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1d15ba61-2ab9-4d9a-c5cb-08dcf927098c X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2024 21:08:43.8465 (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: Kc4en4b48ecboyedWoc4s2xWLwI0gzlrc6HGo33vsT2ngoaPxt+qqqnEPDaNBcg4bKKcpktZPz4Y1YRNNkgnxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4P190MB2244 X-BESS-ID: 1730322526-302901-12800-42269-1 X-BESS-VER: 2019.1_20241018.1852 X-BESS-Apparent-Source-IP: 104.47.17.107 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoZGJuYWQGYGUNQk1dTAwtjS0t zE0igl2dTI1MTQNDXRxMTUwtggMSnVQKk2FgAdrrgTQgAAAA== X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.260091 [from cloudscan20-80.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 Pk9uIDMwLjEwLjIwMjQsIDAzOjU2LCAiRmVycnVoIFlpZ2l0IiB3cm90ZToNCj4NCj5PbiAxMC8y OS8yMDI0IDQ6NDEgUE0sIFNlcmhpaSBJbGl1c2h5ayB3cm90ZToNCj4+IFRoZSBmbG93IHByb2Zp bGUgaW1wbGVtZW50cyBhIGFsbCBmbG93IHJlbGF0ZWQgb3BlcmF0aW9ucw0KPj4gDQo+DQo+DQo+ Q2FuIHlvdSBwbGVhc2UgZ2l2ZSBzb21lIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgcHJvZmlsZXMs IGFuZCAiaW5saW5lDQo+cHJvZmlsZSIgbWVudGlvbmVkPw0KPg0KPg0KPj4gU2lnbmVkLW9mZi1i eTogU2VyaGlpIElsaXVzaHlrIDxzaWwtcGx2QG5hcGF0ZWNoLmNvbSA8bWFpbHRvOnNpbC1wbHZA bmFwYXRlY2guY29tPj4NCj4+IC0tLQ0KPj4gZHJpdmVycy9uZXQvbnRuaWMvaW5jbHVkZS9mbG93 X2FwaS5oIHwgMTUgKysrKysNCj4+IGRyaXZlcnMvbmV0L250bmljL2h0dHBzOi8vbGlua3Byb3Rl Y3QuY3VkYXN2Yy5jb20vdXJsP2E9aHR0cHMlM2ElMmYlMmZtZXNvbi5idWlsZCZjPUUsMSwzLUxV ZGVueGZxT29CeS1IYk12SzVSX285cXRNWlpORTBGMTlBTG5zelFiQWo1Y1VVLUdkbVppeWNOaDA5 Qlk0blZFX1Fsdy1QcjEzdmRkVEpwbWJfMG9CWkNmekFNY05SdFZsSWZSQSZ0eXBvPTEgPGh0dHBz Oi8vbGlua3Byb3RlY3QuY3VkYXN2Yy5jb20vdXJsP2E9aHR0cHMlM2ElMmYlMmZtZXNvbi5idWls ZCZhbXA7Yz1FLDEsMy1MVWRlbnhmcU9vQnktSGJNdks1Ul9vOXF0TVpaTkUwRjE5QUxuc3pRYkFq NWNVVS1HZG1aaXljTmgwOUJZNG5WRV9RbHctUHIxM3ZkZFRKcG1iXzBvQlpDZnpBTWNOUnRWbElm UkEmYW1wO3R5cG89MSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz4gfCAx ICsNCj4+IGRyaXZlcnMvbmV0L250bmljL250aHcvZmxvd19hcGkvZmxvd19hcGkuYyB8IDI4ICsr KysrKystDQo+PiAuLi4vcHJvZmlsZV9pbmxpbmUvZmxvd19hcGlfcHJvZmlsZV9pbmxpbmUuYyB8 IDY1ICsrKysrKysrKysrKysrKysrKysNCj4+IC4uLi9wcm9maWxlX2lubGluZS9mbG93X2FwaV9w cm9maWxlX2lubGluZS5oIHwgMzMgKysrKysrKysrKw0KPj4gZHJpdmVycy9uZXQvbnRuaWMvbnRu aWNfbW9kX3JlZy5jIHwgMTIgKysrLQ0KPj4gZHJpdmVycy9uZXQvbnRuaWMvbnRuaWNfbW9kX3Jl Zy5oIHwgMjMgKysrKysrKw0KPj4gNyBmaWxlcyBjaGFuZ2VkLCAxNzQgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9udG5pYy9u dGh3L2Zsb3dfYXBpL3Byb2ZpbGVfaW5saW5lL2Zsb3dfYXBpX3Byb2ZpbGVfaW5saW5lLmMNCj4+ IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9udG5pYy9udGh3L2Zsb3dfYXBpL3Byb2Zp bGVfaW5saW5lL2Zsb3dfYXBpX3Byb2ZpbGVfaW5saW5lLmgNCj4+IA0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L250bmljL2luY2x1ZGUvZmxvd19hcGkuaCBiL2RyaXZlcnMvbmV0L250bmlj L2luY2x1ZGUvZmxvd19hcGkuaA0KPj4gaW5kZXggYzgwOTA2ZWM1MC4uM2JkZmRkNGY5NCAxMDA2 NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L250bmljL2luY2x1ZGUvZmxvd19hcGkuaA0KPj4gKysr IGIvZHJpdmVycy9uZXQvbnRuaWMvaW5jbHVkZS9mbG93X2FwaS5oDQo+PiBAQCAtNzQsNiArNzQs MjEgQEAgc3RydWN0IGZsb3dfbmljX2RldiB7DQo+PiBzdHJ1Y3QgZmxvd19uaWNfZGV2ICpuZXh0 Ow0KPj4gfTsNCj4+IA0KPj4gK2VudW0gZmxvd19uaWNfZXJyX21zZ19lIHsNCj4+ICsgRVJSX1NV Q0NFU1MgPSAwLA0KPj4gKyBFUlJfRkFJTEVEID0gMSwNCj4+ICsgRVJSX09VVFBVVF9UT09fTUFO WSA9IDMsDQo+PiArIEVSUl9NQVRDSF9JTlZBTElEX09SX1VOU1VQUE9SVEVEX0VMRU0gPSAxMiwN Cj4+ICsgRVJSX01BVENIX1JFU09VUkNFX0VYSEFVU1RJT04gPSAxNCwNCj4+ICsgRVJSX0FDVElP Tl9VTlNVUFBPUlRFRCA9IDI4LA0KPj4gKyBFUlJfUkVNT1ZFX0ZMT1dfRkFJTEVEID0gMjksDQo+ PiArIEVSUl9PVVRQVVRfSU5WQUxJRCA9IDMzLA0KPj4gKyBFUlJfQUNUSU9OX01VTFRJUExFX1BP UlRfSURfVU5TVVBQT1JURUQgPSA0MCwNCj4+ICsgRVJSX01TR19OT19NU0cNCj4+ICt9Ow0KPj4g Kw0KPj4gK3ZvaWQgZmxvd19uaWNfc2V0X2Vycm9yKGVudW0gZmxvd19uaWNfZXJyX21zZ19lIG1z Zywgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+PiArDQo+PiAvKg0KPj4gKiBSZXNv dXJjZXMNCj4+ICovDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbnRuaWMvaHR0cHM6Ly9s aW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91cmw/YT1odHRwcyUzYSUyZiUyZm1lc29uLmJ1aWxkJmM9 RSwxLEprZUpRRV9ycEFMTkhyOFNxQmFWUkxsRERiRUw1RWRPQlhOcWFqdXdzZUdydHJEY2J0SkVU aEVaeFM4U09ZQTgxV0VCRU5hNFkzWVZvVTBxX0lBelNjRXJjMXkxS09lS09HOTlNQjlYZmxzX2pR eUpuUSwsJnR5cG89MSA8aHR0cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91cmw/YT1odHRw cyUzYSUyZiUyZm1lc29uLmJ1aWxkJmFtcDtjPUUsMSxKa2VKUUVfcnBBTE5IcjhTcUJhVlJMbERE YkVMNUVkT0JYTnFhanV3c2VHcnRyRGNidEpFVGhFWnhTOFNPWUE4MVdFQkVOYTRZM1lWb1UwcV9J QXpTY0VyYzF5MUtPZUtPRzk5TUI5WGZsc19qUXlKblEsLCZhbXA7dHlwbz0xPiBiL2RyaXZlcnMv bmV0L250bmljL2h0dHBzOi8vbGlua3Byb3RlY3QuY3VkYXN2Yy5jb20vdXJsP2E9aHR0cHMlM2El MmYlMmZtZXNvbi5idWlsZCZjPUUsMSwwTTZwYVIzLUV3TjE4TzhhZGJMLXRienMtMXNfOE1IYXRh a011Z1NMX2gzTHp5QnJNOWdkTGxlRGlKRFNoLWFrUGNUOXk0WWJnY0l3X29kVFZBdmhhTzZzRmNv bUZRYVZZSGRYZHpZTTV2SkhwYmRZJnR5cG89MSA8aHR0cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3Zj LmNvbS91cmw/YT1odHRwcyUzYSUyZiUyZm1lc29uLmJ1aWxkJmFtcDtjPUUsMSwwTTZwYVIzLUV3 TjE4TzhhZGJMLXRienMtMXNfOE1IYXRha011Z1NMX2gzTHp5QnJNOWdkTGxlRGlKRFNoLWFrUGNU OXk0WWJnY0l3X29kVFZBdmhhTzZzRmNvbUZRYVZZSGRYZHpZTTV2SkhwYmRZJmFtcDt0eXBvPTE+ DQo+PiBpbmRleCBkMjcyYzczYzYyLi5mNTYwNWU4MWNiIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVy cy9uZXQvbnRuaWMvaHR0cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91cmw/YT1odHRwcyUz YSUyZiUyZm1lc29uLmJ1aWxkJmM9RSwxLEE0aUx4TndWaV8wbUtDRzZWcmtYcWpGOTMtTUhzNm10 b29PRndSYUZEYUhUY1NEa2tLNmd1TE90MW5HNUpaTmxKanY3bDZQdnhPb2tEclVTVFlOU2l4dEM4 VmRTdk9QNVplMS1FcHg1MlIzWXlWUTBldDlLNncsLCZ0eXBvPTEgPGh0dHBzOi8vbGlua3Byb3Rl Y3QuY3VkYXN2Yy5jb20vdXJsP2E9aHR0cHMlM2ElMmYlMmZtZXNvbi5idWlsZCZhbXA7Yz1FLDEs QTRpTHhOd1ZpXzBtS0NHNlZya1hxakY5My1NSHM2bXRvb09Gd1JhRkRhSFRjU0Rra0s2Z3VMT3Qx bkc1SlpObEpqdjdsNlB2eE9va0RyVVNUWU5TaXh0QzhWZFN2T1A1WmUxLUVweDUyUjNZeVZRMGV0 OUs2dywsJmFtcDt0eXBvPTE+DQo+PiArKysgYi9kcml2ZXJzL25ldC9udG5pYy9odHRwczovL2xp bmtwcm90ZWN0LmN1ZGFzdmMuY29tL3VybD9hPWh0dHBzJTNhJTJmJTJmbWVzb24uYnVpbGQmYz1F LDEsVmdvUmtzRjY0Z0hucXNUS2VzTHczYkdmMDhFTElPOWhaUHBqQkx0LW9tS0gzdTZ2Z3JabF91 LVd3OWROTUhKYmF3VkpzUTBoNmVZdVpxUXRuZTdCTjZfRVFEWGZaTl9fXzV3MFVfeFM2N0M5WUY1 OSZ0eXBvPTEgPGh0dHBzOi8vbGlua3Byb3RlY3QuY3VkYXN2Yy5jb20vdXJsP2E9aHR0cHMlM2El MmYlMmZtZXNvbi5idWlsZCZhbXA7Yz1FLDEsVmdvUmtzRjY0Z0hucXNUS2VzTHczYkdmMDhFTElP OWhaUHBqQkx0LW9tS0gzdTZ2Z3JabF91LVd3OWROTUhKYmF3VkpzUTBoNmVZdVpxUXRuZTdCTjZf RVFEWGZaTl9fXzV3MFVfeFM2N0M5WUY1OSZhbXA7dHlwbz0xPg0KPj4gQEAgLTQ3LDYgKzQ3LDcg QEAgc291cmNlcyA9IGZpbGVzKA0KPj4gJ250aHcvY29yZS9udGh3X3NkYy5jJywNCj4+ICdudGh3 L2NvcmUvbnRod19zaTUzNDAuYycsDQo+PiAnbnRody9mbG93X2FwaS9mbG93X2FwaS5jJywNCj4+ ICsgJ250aHcvZmxvd19hcGkvcHJvZmlsZV9pbmxpbmUvZmxvd19hcGlfcHJvZmlsZV9pbmxpbmUu YycsDQo+PiAnbnRody9mbG93X2FwaS9mbG93X2JhY2tlbmQvZmxvd19iYWNrZW5kLmMnLA0KPj4g J250aHcvZmxvd19hcGkvZmxvd19maWx0ZXIuYycsDQo+PiAnbnRody9mbG93X2FwaS9mbG93X2tj Yy5jJywNCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9udG5pYy9udGh3L2Zsb3dfYXBpL2Zs b3dfYXBpLmMgYi9kcml2ZXJzL25ldC9udG5pYy9udGh3L2Zsb3dfYXBpL2Zsb3dfYXBpLmMNCj4+ IGluZGV4IGQ3NzlkYzQ4MWYuLmQwZGFkOGU4ZjggMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25l dC9udG5pYy9udGh3L2Zsb3dfYXBpL2Zsb3dfYXBpLmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L250 bmljL250aHcvZmxvd19hcGkvZmxvd19hcGkuYw0KPj4gQEAgLTM2LDYgKzM2LDI5IEBAIGNvbnN0 IGNoYXIgKmRiZ19yZXNfZGVzY3JbXSA9IHsNCj4+IHN0YXRpYyBzdHJ1Y3QgZmxvd19uaWNfZGV2 ICpkZXZfYmFzZTsNCj4+IHN0YXRpYyBwdGhyZWFkX211dGV4X3QgYmFzZV9tdHggPSBQVEhSRUFE X01VVEVYX0lOSVRJQUxJWkVSOw0KPj4gDQo+PiArLyoNCj4+ICsgKiBFcnJvciBoYW5kbGluZw0K Pj4gKyAqLw0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KPj4gKyBjb25zdCBjaGFy ICptZXNzYWdlOw0KPj4gK30gZXJyX21zZ1tdID0gew0KPj4gKyAvKiAwMCAqLyB7ICJPcGVyYXRp b24gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCIgfSwNCj4+ICsgLyogMDEgKi8geyAiT3BlcmF0aW9u IGZhaWxlZCIgfSwNCj4+ICsgLyogMjkgKi8geyAiUmVtb3ZpbmcgZmxvdyBmYWlsZWQiIH0sDQo+ PiArfTsNCj4+ICsNCj4+ICt2b2lkIGZsb3dfbmljX3NldF9lcnJvcihlbnVtIGZsb3dfbmljX2Vy cl9tc2dfZSBtc2csIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+PiArew0KPj4gKyBh c3NlcnQobXNnIDwgRVJSX01TR19OT19NU0cpOw0KPj4gKw0KPj4gKyBpZiAoZXJyb3IpIHsNCj4+ ICsgZXJyb3ItPm1lc3NhZ2UgPSBlcnJfbXNnW21zZ10ubWVzc2FnZTsNCj4+ICsgZXJyb3ItPnR5 cGUgPSAobXNnID09IEVSUl9TVUNDRVNTKSA/IFJURV9GTE9XX0VSUk9SX1RZUEVfTk9ORSA6DQo+ PiArIFJURV9GTE9XX0VSUk9SX1RZUEVfVU5TUEVDSUZJRUQ7DQo+PiArIH0NCj4+ICt9DQo+PiAr DQo+PiAvKg0KPj4gKiBSZXNvdXJjZXMNCj4+ICovDQo+PiBAQCAtMTM2LDcgKzE1OSw4IEBAIHN0 YXRpYyBzdHJ1Y3QgZmxvd19oYW5kbGUgKmZsb3dfY3JlYXRlKHN0cnVjdCBmbG93X2V0aF9kZXYg KmRldiBfX3J0ZV91bnVzZWQsDQo+PiByZXR1cm4gTlVMTDsNCj4+IH0NCj4+IA0KPj4gLSByZXR1 cm4gTlVMTDsNCj4+ICsgcmV0dXJuIHByb2ZpbGVfaW5saW5lX29wcy0+Zmxvd19jcmVhdGVfcHJv ZmlsZV9pbmxpbmUoZGV2LCBhdHRyLA0KPj4gKyBmb3JjZWRfdmxhbl92aWQsIGNhbGxlcl9pZCwg aXRlbSwgYWN0aW9uLCBlcnJvcik7DQo+PiB9DQo+PiANCj4+IHN0YXRpYyBpbnQgZmxvd19kZXN0 cm95KHN0cnVjdCBmbG93X2V0aF9kZXYgKmRldiBfX3J0ZV91bnVzZWQsDQo+PiBAQCAtMTQ5LDcg KzE3Myw3IEBAIHN0YXRpYyBpbnQgZmxvd19kZXN0cm95KHN0cnVjdCBmbG93X2V0aF9kZXYgKmRl diBfX3J0ZV91bnVzZWQsDQo+PiByZXR1cm4gLTE7DQo+PiB9DQo+PiANCj4+IC0gcmV0dXJuIC0x Ow0KPj4gKyByZXR1cm4gcHJvZmlsZV9pbmxpbmVfb3BzLT5mbG93X2Rlc3Ryb3lfcHJvZmlsZV9p bmxpbmUoZGV2LCBmbG93LCBlcnJvcik7DQo+PiB9DQo+PiANCj4+IC8qDQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93X2FwaS9wcm9maWxlX2lubGluZS9mbG93X2Fw aV9wcm9maWxlX2lubGluZS5jIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93X2FwaS9wcm9m aWxlX2lubGluZS9mbG93X2FwaV9wcm9maWxlX2lubGluZS5jDQo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uYTYyOTNmNWY4Mg0KPj4gLS0tIC9kZXYvbnVsbA0K Pj4gKysrIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93X2FwaS9wcm9maWxlX2lubGluZS9m bG93X2FwaV9wcm9maWxlX2lubGluZS5jDQo+PiBAQCAtMCwwICsxLDY1IEBADQo+PiArLyoNCj4+ ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiArICogQ29weXJp Z2h0KGMpIDIwMjMgTmFwYXRlY2ggQS9TDQo+PiArICovDQo+PiArDQo+PiArI2luY2x1ZGUgIm50 bG9nLmgiDQo+PiArDQo+PiArI2luY2x1ZGUgImZsb3dfYXBpX3Byb2ZpbGVfaW5saW5lLmgiDQo+ PiArI2luY2x1ZGUgIm50bmljX21vZF9yZWcuaCINCj4+ICsNCj4+ICtzdHJ1Y3QgZmxvd19oYW5k bGUgKmZsb3dfY3JlYXRlX3Byb2ZpbGVfaW5saW5lKHN0cnVjdCBmbG93X2V0aF9kZXYgKmRldiwN Cj4+ICsgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2F0dHIgKmF0dHIsDQo+PiArIHVpbnQxNl90IGZv cmNlZF92bGFuX3ZpZCwNCj4+ICsgdWludDE2X3QgY2FsbGVyX2lkLA0KPj4gKyBjb25zdCBzdHJ1 Y3QgcnRlX2Zsb3dfaXRlbSBlbGVtW10sDQo+PiArIGNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rp b24gYWN0aW9uW10sDQo+PiArIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+PiArew0K Pj4gKyByZXR1cm4gTlVMTDsNCj4+ICt9DQo+PiArDQo+PiAraW50IGZsb3dfZGVzdHJveV9sb2Nr ZWRfcHJvZmlsZV9pbmxpbmUoc3RydWN0IGZsb3dfZXRoX2RldiAqZGV2LA0KPj4gKyBzdHJ1Y3Qg Zmxvd19oYW5kbGUgKmZoLA0KPj4gKyBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0KPj4g K3sNCj4+ICsgYXNzZXJ0KGRldik7DQo+PiArIGFzc2VydChmaCk7DQo+PiArDQo+PiArIGludCBl cnIgPSAwOw0KPj4gKw0KPj4gKyBmbG93X25pY19zZXRfZXJyb3IoRVJSX1NVQ0NFU1MsIGVycm9y KTsNCj4+ICsNCj4+ICsgcmV0dXJuIGVycjsNCj4+ICt9DQo+PiArDQo+PiAraW50IGZsb3dfZGVz dHJveV9wcm9maWxlX2lubGluZShzdHJ1Y3QgZmxvd19ldGhfZGV2ICpkZXYsIHN0cnVjdCBmbG93 X2hhbmRsZSAqZmxvdywNCj4+ICsgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4+ICt7 DQo+PiArIGludCBlcnIgPSAwOw0KPj4gKw0KPj4gKyBmbG93X25pY19zZXRfZXJyb3IoRVJSX1NV Q0NFU1MsIGVycm9yKTsNCj4+ICsNCj4+ICsgaWYgKGZsb3cpIHsNCj4+ICsgLyogRGVsZXRlIHRo aXMgZmxvdyAqLw0KPj4gKyBwdGhyZWFkX211dGV4X2xvY2soJmRldi0+bmRldi0+bXR4KTsNCj4+ ICsgZXJyID0gZmxvd19kZXN0cm95X2xvY2tlZF9wcm9maWxlX2lubGluZShkZXYsIGZsb3csIGVy cm9yKTsNCj4+ICsgcHRocmVhZF9tdXRleF91bmxvY2soJmRldi0+bmRldi0+bXR4KTsNCj4+ICsg fQ0KPj4gKw0KPj4gKyByZXR1cm4gZXJyOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IHByb2ZpbGVfaW5saW5lX29wcyBvcHMgPSB7DQo+PiArIC8qDQo+PiArICogRmxvdyBm dW5jdGlvbmFsaXR5DQo+PiArICovDQo+PiArIC5mbG93X2Rlc3Ryb3lfbG9ja2VkX3Byb2ZpbGVf aW5saW5lID0gZmxvd19kZXN0cm95X2xvY2tlZF9wcm9maWxlX2lubGluZSwNCj4+ICsgLmZsb3df Y3JlYXRlX3Byb2ZpbGVfaW5saW5lID0gZmxvd19jcmVhdGVfcHJvZmlsZV9pbmxpbmUsDQo+PiAr IC5mbG93X2Rlc3Ryb3lfcHJvZmlsZV9pbmxpbmUgPSBmbG93X2Rlc3Ryb3lfcHJvZmlsZV9pbmxp bmUsDQo+PiArfTsNCj4+ICsNCj4+ICt2b2lkIHByb2ZpbGVfaW5saW5lX2luaXQodm9pZCkNCj4+ ICt7DQo+PiArIHJlZ2lzdGVyX3Byb2ZpbGVfaW5saW5lX29wcygmb3BzKTsNCj4+ICt9DQo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93X2FwaS9wcm9maWxlX2lubGlu ZS9mbG93X2FwaV9wcm9maWxlX2lubGluZS5oIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93 X2FwaS9wcm9maWxlX2lubGluZS9mbG93X2FwaV9wcm9maWxlX2lubGluZS5oDQo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uYTgzY2MyOTliNA0KPj4gLS0tIC9k ZXYvbnVsbA0KPj4gKysrIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRody9mbG93X2FwaS9wcm9maWxl X2lubGluZS9mbG93X2FwaV9wcm9maWxlX2lubGluZS5oDQo+PiBAQCAtMCwwICsxLDMzIEBADQo+ PiArLyoNCj4+ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiAr ICogQ29weXJpZ2h0KGMpIDIwMjMgTmFwYXRlY2ggQS9TDQo+PiArICovDQo+PiArDQo+PiArI2lm bmRlZiBfRkxPV19BUElfUFJPRklMRV9JTkxJTkVfSF8NCj4+ICsjZGVmaW5lIF9GTE9XX0FQSV9Q Uk9GSUxFX0lOTElORV9IXw0KPj4gKw0KPj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4+ICsNCj4+ ICsjaW5jbHVkZSAiZmxvd19hcGkuaCINCj4+ICsjaW5jbHVkZSAic3RyZWFtX2JpbmFyeV9mbG93 X2FwaS5oIg0KPj4gKw0KPj4gKy8qDQo+PiArICogRmxvdyBmdW5jdGlvbmFsaXR5DQo+PiArICov DQo+PiAraW50IGZsb3dfZGVzdHJveV9sb2NrZWRfcHJvZmlsZV9pbmxpbmUoc3RydWN0IGZsb3df ZXRoX2RldiAqZGV2LA0KPj4gKyBzdHJ1Y3QgZmxvd19oYW5kbGUgKmZoLA0KPj4gKyBzdHJ1Y3Qg cnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4+ICsNCj4+ICtzdHJ1Y3QgZmxvd19oYW5kbGUgKmZs b3dfY3JlYXRlX3Byb2ZpbGVfaW5saW5lKHN0cnVjdCBmbG93X2V0aF9kZXYgKmRldiwNCj4+ICsg Y29uc3Qgc3RydWN0IHJ0ZV9mbG93X2F0dHIgKmF0dHIsDQo+PiArIHVpbnQxNl90IGZvcmNlZF92 bGFuX3ZpZCwNCj4+ICsgdWludDE2X3QgY2FsbGVyX2lkLA0KPj4gKyBjb25zdCBzdHJ1Y3QgcnRl X2Zsb3dfaXRlbSBlbGVtW10sDQo+PiArIGNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rpb24gYWN0 aW9uW10sDQo+PiArIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPj4gKw0KPj4gK2lu dCBmbG93X2Rlc3Ryb3lfcHJvZmlsZV9pbmxpbmUoc3RydWN0IGZsb3dfZXRoX2RldiAqZGV2LA0K Pj4gKyBzdHJ1Y3QgZmxvd19oYW5kbGUgKmZsb3csDQo+PiArIHN0cnVjdCBydGVfZmxvd19lcnJv ciAqZXJyb3IpOw0KPj4gKw0KPj4gKyNlbmRpZiAvKiBfRkxPV19BUElfUFJPRklMRV9JTkxJTkVf SF8gKi8NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9udG5pYy9udG5pY19tb2RfcmVnLmMg Yi9kcml2ZXJzL25ldC9udG5pYy9udG5pY19tb2RfcmVnLmMNCj4+IGluZGV4IGFkMjI2NjExNmYu LjU5M2I1NmJmNWIgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC9udG5pYy9udG5pY19tb2Rf cmVnLmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L250bmljL250bmljX21vZF9yZWcuYw0KPj4gQEAg LTExOCw5ICsxMTgsMTkgQEAgY29uc3Qgc3RydWN0IGZsb3dfYmFja2VuZF9vcHMgKmdldF9mbG93 X2JhY2tlbmRfb3BzKHZvaWQpDQo+PiByZXR1cm4gZmxvd19iYWNrZW5kX29wczsNCj4+IH0NCj4+ IA0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcHJvZmlsZV9pbmxpbmVfb3BzICpwcm9maWxlX2lu bGluZV9vcHM7DQo+PiArDQo+PiArdm9pZCByZWdpc3Rlcl9wcm9maWxlX2lubGluZV9vcHMoY29u c3Qgc3RydWN0IHByb2ZpbGVfaW5saW5lX29wcyAqb3BzKQ0KPj4gK3sNCj4+ICsgcHJvZmlsZV9p bmxpbmVfb3BzID0gb3BzOw0KPj4gK30NCj4+ICsNCj4+IGNvbnN0IHN0cnVjdCBwcm9maWxlX2lu bGluZV9vcHMgKmdldF9wcm9maWxlX2lubGluZV9vcHModm9pZCkNCj4+IHsNCj4+IC0gcmV0dXJu IE5VTEw7DQo+PiArIGlmIChwcm9maWxlX2lubGluZV9vcHMgPT0gTlVMTCkNCj4+ICsgcHJvZmls ZV9pbmxpbmVfaW5pdCgpOw0KPj4gKw0KPj4gKyByZXR1cm4gcHJvZmlsZV9pbmxpbmVfb3BzOw0K Pj4gfQ0KPj4gDQo+PiBzdGF0aWMgY29uc3Qgc3RydWN0IGZsb3dfZmlsdGVyX29wcyAqZmxvd19m aWx0ZXJfb3BzOw0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L250bmljL250bmljX21vZF9y ZWcuaCBiL2RyaXZlcnMvbmV0L250bmljL250bmljX21vZF9yZWcuaA0KPj4gaW5kZXggZWM4YzE2 MTJkMS4uZDEzMzMzNmZhZCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L250bmljL250bmlj X21vZF9yZWcuaA0KPj4gKysrIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRuaWNfbW9kX3JlZy5oDQo+ PiBAQCAtMjI1LDcgKzIyNSwzMCBAQCB2b2lkIHJlZ2lzdGVyX2Zsb3dfYmFja2VuZF9vcHMoY29u c3Qgc3RydWN0IGZsb3dfYmFja2VuZF9vcHMgKm9wcyk7DQo+PiBjb25zdCBzdHJ1Y3QgZmxvd19i YWNrZW5kX29wcyAqZ2V0X2Zsb3dfYmFja2VuZF9vcHModm9pZCk7DQo+PiB2b2lkIGZsb3dfYmFj a2VuZF9pbml0KHZvaWQpOw0KPj4gDQo+PiArc3RydWN0IHByb2ZpbGVfaW5saW5lX29wcyB7DQo+ PiArIC8qDQo+PiArICogRmxvdyBmdW5jdGlvbmFsaXR5DQo+PiArICovDQo+PiArIGludCAoKmZs b3dfZGVzdHJveV9sb2NrZWRfcHJvZmlsZV9pbmxpbmUpKHN0cnVjdCBmbG93X2V0aF9kZXYgKmRl diwNCj4+ICsgc3RydWN0IGZsb3dfaGFuZGxlICpmaCwNCj4+ICsgc3RydWN0IHJ0ZV9mbG93X2Vy cm9yICplcnJvcik7DQo+PiArDQo+PiArIHN0cnVjdCBmbG93X2hhbmRsZSAqKCpmbG93X2NyZWF0 ZV9wcm9maWxlX2lubGluZSkoc3RydWN0IGZsb3dfZXRoX2RldiAqZGV2LA0KPj4gKyBjb25zdCBz dHJ1Y3QgcnRlX2Zsb3dfYXR0ciAqYXR0ciwNCj4+ICsgdWludDE2X3QgZm9yY2VkX3ZsYW5fdmlk LA0KPj4gKyB1aW50MTZfdCBjYWxsZXJfaWQsDQo+PiArIGNvbnN0IHN0cnVjdCBydGVfZmxvd19p dGVtIGVsZW1bXSwNCj4+ICsgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiBhY3Rpb25bXSwN Cj4+ICsgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+PiArDQo+PiArIGludCAoKmZs b3dfZGVzdHJveV9wcm9maWxlX2lubGluZSkoc3RydWN0IGZsb3dfZXRoX2RldiAqZGV2LA0KPj4g KyBzdHJ1Y3QgZmxvd19oYW5kbGUgKmZsb3csDQo+PiArIHN0cnVjdCBydGVfZmxvd19lcnJvciAq ZXJyb3IpOw0KPj4gK307DQo+PiArDQo+PiArdm9pZCByZWdpc3Rlcl9wcm9maWxlX2lubGluZV9v cHMoY29uc3Qgc3RydWN0IHByb2ZpbGVfaW5saW5lX29wcyAqb3BzKTsNCj4+IGNvbnN0IHN0cnVj dCBwcm9maWxlX2lubGluZV9vcHMgKmdldF9wcm9maWxlX2lubGluZV9vcHModm9pZCk7DQo+PiAr dm9pZCBwcm9maWxlX2lubGluZV9pbml0KHZvaWQpOw0KPj4gDQo+PiBzdHJ1Y3QgZmxvd19maWx0 ZXJfb3BzIHsNCj4+IGludCAoKmZsb3dfZmlsdGVyX2luaXQpKG50aHdfZnBnYV90ICpwX2ZwZ2Es IHN0cnVjdCBmbG93X25pY19kZXYgKipwX2Zsb3dfZGV2aWNlLA0KPg0KDQpIaSBGZXJydWgNCg0K UGxlYXNlIGZpbmQgYmVsb3cgdGhlIGRlc2NyaXB0aW9uIG9mIE5UIEZQR0EgcHJvZmlsZXMuDQoN ClRoZSBOYXBhdGVjaCBhZGFwdGVycyBzdXBwb3J0IG1vcmUgZGlmZmVyZW50IGZ1bmN0aW9uYWxp dHkgdGhhbiBjYW4gZml0IGludG8gYSBzaW5nbGUgRlBHQS4NClRoaXMgZnVuY3Rpb25hbGl0eSBp cyBncm91cGVkIGludG8gYSBudW1iZXIgb2YgcHJvZmlsZXMgY2FsbGVkIGlubGluZSwgY2FwdHVy ZSwgdnN3aXRjaCwgYW5kIGJhc2ljLg0KVGhlIGFkYXB0ZXIgc3VwcG9ydCB3ZSBhaW0gdG8gdXBz dHJlYW0gdGhpcyB0aW1lIGFyb3VuZCwgaXMgZm9yIHRoZSBpbmxpbmUgcHJvZmlsZS4NClRoZSBj b2RlIGNvbnRhaW5zIHNvbWUgb2YgdGhlIHN0cnVjdHVyZXMgYW5kIGVudW1zIG5lZWRlZCB0byBh ZGQgb3RoZXIgcHJvZmlsZXMsDQptYWlubHkgZm9yIGZ1dHVyZSBjb21wYXRpYmlsaXR5LCBhbmQg Zm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvdXIgbGVnYWN5IGNvZGUgYmFzZS4NCg0KSGVyZSBpcyBh IHNob3J0IGRlc2NyaXB0aW9uIG9mIGVhY2ggcHJvZmlsZToNCklubGluZTogVXNlcyBhIHNjYXR0 ZXIgZ2F0aGVyIHBhY2tldCBzeXN0ZW0sIHdoaWNoIGlzIHF1aXRlIGZhc3QgYW5kIGxpZ2h0d2Vp Z2h0Lg0KVGhlIEZQR0EgY29udGFpbnMgZnVuY3Rpb25hbGl0eSBmb3IgaGFyZHdhcmUgb2ZmbG9h ZCB1c2UtY2FzZXMsIHN1Y2ggYXMgc3RhdGVmdWwgZmxvdyBtYXRjaGluZywNCmVuY2FwL2RlY2Fw LCBwYWNrZXQgc3RlZXJpbmcgZXRjLg0KdlN3aXRjaDogQWxzbyB1c2VzIHRoZSBzY2F0dGVyIGdh dGhlciBzeXN0ZW0uIFRoZSBGUEdBIGZlYXR1cmVzIGFyZSBzZWxlY3RlZCB0byBzdXBwb3J0DQp0 aGUgZnVuY3Rpb25hbGl0eSBvZiBPVlMuDQpDYXB0dXJlOiBVc2VzIE5hcGF0ZWNo4oCZcyBwcm9w cmlldGFyeSBwYWNrZXQgYnVmZmVyIHN5c3RlbSwNCndoaWNoIHJlcXVpcmVzIGEgbG90IG9mIHNw YWNlIG9uIHRoZSBGUEdBLCBidXQgaXMgZXh0cmVtZWx5IGZhc3QsIGd1YXJhbnRlZXMgemVybyBw YWNrZXQgbG9zcywNCmFuZCB6ZXJvIGNvcHkgcGFja2V0IGhhbmRsaW5nIG9uIHRoZSBob3N0IGNw dS4NCkJhc2ljOiBUaGUgc2FtZSBmZWF0dXJlIHNldCBhcyBvbmUgbWlnaHQgZXhwZWN0IGZyb20g YSBiYXNpYyBuaWMuDQpNb3N0bHkgdXNlZCBpbiBLdWJlcm5ldGVzIGNvbnRhaW5lcnMgdG8gcmVk dWNlIGNvbXBsZXhpdHkuDQoNCg==