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 D8B0645AFE; Thu, 10 Oct 2024 09:50:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A3389402D8; Thu, 10 Oct 2024 09:50:01 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by mails.dpdk.org (Postfix) with ESMTP id 985BF402CD for ; Thu, 10 Oct 2024 09:49:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1728546600; x=1760082600; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1s6ZMt8O6l7ncU55Xe79zytJYnkjql+HjSB6QXrvZjY=; b=H67UijHNkUiBkTJy7m2BSR9Ns2WEvcGE37gCwDEdndcN8aqhUmIbuQrY EtQpn5SGtq+vZFHTH3tlHee5INPNoRsQjDSxsV/sQ35BqsExnW+ZMJFc5 f1RgqFopFXKc2yCq631LBQkHFKIviNV2iN01x0KekY2fIcJjXzHm1PQ7v z1uNtxAR27KzfnaxtYiN1y6Zo1gA7lbLqc7C99vybOjQAzlrIp4FbkPZw jmjsCC3S+WQtyj4E2uYF2OItnaQh4qCIGHtSlk6alnzE4BlYIcS1uLQjR g04zJFs316W5JOToWTEMIBps6/eIA/TQubjIBK/OAK8W8vwmuftse68VF w==; X-CSE-ConnectionGUID: 8R8zS6xcTKycyC5nW6hrFA== X-CSE-MsgGUID: mqeSr2UySt6VljnkrFdQrg== X-IronPort-AV: E=McAfee;i="6700,10204,11220"; a="27698799" X-IronPort-AV: E=Sophos;i="6.11,192,1725346800"; d="scan'208";a="27698799" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Oct 2024 00:49:59 -0700 X-CSE-ConnectionGUID: g3rn97dTSqeKa9d4t60SfA== X-CSE-MsgGUID: Lfgy6BQ+Tw6KgB7B/B0oiQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,192,1725346800"; d="scan'208";a="81034889" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 10 Oct 2024 00:49:58 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 10 Oct 2024 00:49:58 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Thu, 10 Oct 2024 00:49:58 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 10 Oct 2024 00:49:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nRd3l6JohmiABbwGlE68NR7h2zrGvIx1xkdXjj4o6PMIdtWvSs9oARztDPlROqI6pviro2/7JqbTudIuOB6v5nQdtJW1qid9kvulmim2heFPe4Nk0vwMkyPIZbFnGOsaA56tBvqxVZntuhr8f87ujsvyKamJXz6sf8M5ew8a0tW72URiVbtEE9eCJCVixImWZwfiI6dhpXiFGivELvWI2jGSNnYqIfEwLFS+M5nLqCwGGi2uamKunIX5oDbjp6CONBk7G69EVzdAKXPTs1MHNrgrBZgvTjqXLIgL83jOUzAb3k9fcLQpv9slyw6rgHeOvBorVLMiQvkn29DooGx5xA== 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=1s6ZMt8O6l7ncU55Xe79zytJYnkjql+HjSB6QXrvZjY=; b=jXQws/NKQMr1aMjW9Ud7OUlMmRn6ZdwZty02aGcATtcLpldcYoQE6/vFyEu6LFe4OWqn8WTKegwTtorXQmAsnEZcnUda8A9t9rsL/d7n5/r5BZQliVWux/TJvxHwH37o70H6jTLg83g4IAgUn1swKUHvnFh7rJxZB59nrB2+hvRY+BRR84EyocJJNtl3mFIAGAbA4enr39iFqgFOkXsitLJd3bvf4lmd6DLSkBdHm6ghQGu4rdeowdqhMMw+rB971XE1KfHsUfzLqo+Eu/dgPcroMCUk6e4l/pEermPmkKxI2qMQkfpOeEgbYH2BeFYvykM0SlGOZDwtTn7HgJG6mg== 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 Received: from PH0PR11MB5013.namprd11.prod.outlook.com (2603:10b6:510:30::21) by SA1PR11MB6966.namprd11.prod.outlook.com (2603:10b6:806:2bc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.16; Thu, 10 Oct 2024 07:49:55 +0000 Received: from PH0PR11MB5013.namprd11.prod.outlook.com ([fe80::1c54:1589:8882:d22b]) by PH0PR11MB5013.namprd11.prod.outlook.com ([fe80::1c54:1589:8882:d22b%3]) with mapi id 15.20.8048.013; Thu, 10 Oct 2024 07:49:55 +0000 From: "Kusztal, ArkadiuszX" To: Akhil Goyal , "dev@dpdk.org" CC: "Dooley, Brian" Subject: RE: [EXTERNAL] [PATCH v5 3/4] crypto/qat: add sm2 encryption/decryption function Thread-Topic: [EXTERNAL] [PATCH v5 3/4] crypto/qat: add sm2 encryption/decryption function Thread-Index: AQHbGlXqnTIBjS5Ax0a+P/on7n7zOLJ+5LaAgAC35qA= Date: Thu, 10 Oct 2024 07:49:55 +0000 Message-ID: References: <20241008181433.57591-3-arkadiuszx.kusztal@intel.com> <20241009130147.38280-1-arkadiuszx.kusztal@intel.com> <20241009130147.38280-4-arkadiuszx.kusztal@intel.com> In-Reply-To: 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5013:EE_|SA1PR11MB6966:EE_ x-ms-office365-filtering-correlation-id: 7150611e-f391-4c84-c234-08dce9002180 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?MnpLZTRucm95ZjlUaEJycWtnTkpzR2FhSWk4UXdJUHpOdkVjYWZITEJVL2JV?= =?utf-8?B?Y2pocE9FU1BaMDgySWtoYjF0b1ArRytMc1lIa2JyUWdDQ3hTYzdGMzdFMDZJ?= =?utf-8?B?V2RhN3dIeWI3ZGdGNWFxODVadjVsMzBCQnV2ZDI0d0ZwMDBxY3dqZTJUZDZk?= =?utf-8?B?WjhyMG5odXg2WWo5MFhxbnBVai9ZTXhSUmhXa3gwMVpFUWlUT0lJTjF5U2FK?= =?utf-8?B?M3diTjFYaG1WWW5wRDdlRkdLYy8yK243UlMyb2p3QVJ5cmJHNzgrWHNEZysx?= =?utf-8?B?SmVOb2sxL0pwRGFxVjE0Z045RUxTNFFOUTQ5b0p1MEVGeUJMczRKRmgrTC96?= =?utf-8?B?U0hxTXRZQ1ZkbUUrYVFrZG5GVnQ1dEIwY0hlUFR1NmVRNFBCaTJpOXBLcjQw?= =?utf-8?B?c3FmdWNjSDBYV2s0TWROK1ZUa2dwMjc3QUNtMG1jSnVORmFrZmhVSThVK0F5?= =?utf-8?B?Uzk2elFSWWMwTXVhNnVmWGQvV2RDV2RQY3ZvY25wWGM2bTBDdGoxeFpEOVNa?= =?utf-8?B?ZzlLTXB5LzRxUUtTdUoyLzhRbEEwQjVVMTJ5TWFDYWpWaTdaZDlKNi9kT29Z?= =?utf-8?B?TGNENDhNVlFZZ3pVYnBPVFlTSS9ZdUNjeHVuMHExOWtHeWswNjAvdytBY25m?= =?utf-8?B?bWN2aEtjUDJCQ3NYU3BTQnBhdlN2YzJrM09KRmZmeU9yamxhZ2o3T3daekNM?= =?utf-8?B?K2IrWDBqUEpIazV3OTNRdWxZNnBrcFJ3OVRGOFM4RWROekJOcDdZYi9zNDll?= =?utf-8?B?SkE4dmUvWHVtU3lXclpsK3JPY29NL1FqV2JuUW5Sd0VneGM0S3JlWmVzMzBT?= =?utf-8?B?UzdRb1FwYjE1L1BxVkhkdmtkbCtOQ1V0RFFEWkl6dkRUVStnb0RoNTFNYXRx?= =?utf-8?B?SU9UWTBCWUFFWk1TYjlKbjJJUGJzT09tT2hKTWRPMTlVbCtrdjJpK3ZxYW1l?= =?utf-8?B?RVZkUWJvR3k0UTBWQm5hMVV5aFZlTlRETXFkanhwU1ZXeVhmeE4vdzIzYmRM?= =?utf-8?B?VS8yczZ2eWJlTzhGUXcvdnpLaERyUmZQS1FJdjVLRUErM2lNa29CK1RRVlB3?= =?utf-8?B?cGhBb1ltdlVqN1BaemFBVmhzOTNxdnhvZXdHalhXUDJmN1d3aWdFbVlGb2dy?= =?utf-8?B?cENWMm9LbW9hSWc3SVl3cmtlRGxNMDdGcTNJcmNTZEFiYnRFRjJrRDVTNmdv?= =?utf-8?B?cVUrbWNVdXFaMERQWFpuUzZ0bUFrZHpZckhxSEhVdDZTbkRmOUNQYnpmemdT?= =?utf-8?B?WEJleUhoTzh2L0hUYWpZb0EwZDBkMWwwNEk4V2pSQlA5NW90QnJFemtiRUdW?= =?utf-8?B?T1c4YTNabjFLTWNaYS9DYVBzeEZsVnduSWx4WnYyaTRhWTlNQlR3dWZpQVZ2?= =?utf-8?B?L1JEMkVmMC9tVkpmeUlHdUJjR1BZMFRuSUMxS1oxL1ZPb3N3N0ZxR1BnNmxy?= =?utf-8?B?SWdkanI0TTZJVEpMVEVOZ0JoUXVlVm80Mm1UUGUrZXB0dGZReGQ0bGNyUUZK?= =?utf-8?B?bm1Nb3gxUjRrSE83elpTc091aGVUb1BFVHVMbnlYK2E1RThYL05YOC9DcUVm?= =?utf-8?B?cno5NEZlRzZ6RkNlYmdqbFFUV0R6bEZTZkxhTXprV3V6WjRiVE9oQkxWanVS?= =?utf-8?B?SWVsaXRXQ253WEVHUitHNm5UWUhaZUFVZFJqTmhZa0pXNHpGd0hmclhUNnho?= =?utf-8?B?M1orRDN6eXg3Sy9TQUo0cnR5WGZuQW81RlB4eHVzVGNLdEFRVzV2cGltc25I?= =?utf-8?B?ZzgwOGVVZ21la2NDOWljMC9RaG02aWlxMWlWOCtRTThiZlRnekQwYlhyMHdi?= =?utf-8?B?OG1HYlFRN1pxTlRqK2R2UT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5013.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SFlmejZRY0l2bmQ1K0ZUUXdKdSs3aEl2NmRvRzhnZzZ3U2lORkhLVzRaK0Nn?= =?utf-8?B?S1JzVmtIbTVwOVlSYk9aaFpxaE5ZeFlDVXJZNGM0ZlZNY3B2bUVUY0V2SEpv?= =?utf-8?B?Vkw1bWdRY1BwU3VLbnhsd0lGNmZyNmtXRExid3JET2NpcW1Xakw4ZkNtOTBT?= =?utf-8?B?U1gvNVAraldRQ3ZCVXEzZGRpYnc4dy8vc1BsT2VpZjg2dlVQVm5pa2J0Nzg4?= =?utf-8?B?UE1qRGhLbSt5ZEt4bU4yZWFrdlBMU1hUTXVtbXRrenVjOStmUU9ZQ0xvVDBx?= =?utf-8?B?MWtHMVRGWnFOd3I0N05mY2dEais3SlNLL1VoTmtIamcyN0x6OXBDVm00MWFY?= =?utf-8?B?NkFEbnNSSEs3UFVJclVhL3RXSUw2V3BRWC9YSVBSUDJwdXZkTGhuTVhoWWVF?= =?utf-8?B?eEQ5NUZWL2NrYy9iaC92ZHE5K3BQK1dvUEN2K3NiejR6NnNwZkVEUm9GQW9F?= =?utf-8?B?NTBSeVJTYUxHWGZSUVVDRy9pQU55NjdSYi9NdFVQSnpmODVETkt2VGNyUzRa?= =?utf-8?B?eEpFVEJvTTZOWFM4eHBFajJNT0l3ajNGcU9yVVIzQjl6UEpjbncveXR4R1Ez?= =?utf-8?B?R2k1RjlUNHZGVlFDRllkc2QvV3R3Y2U4RDZSbkg0VksvaEF6TTlFbEM5bkhi?= =?utf-8?B?WjI5NEtZYXp2NEJlQ2JVZzlYbUNnMHRkVHNuL0psd1VBUjhPRWtQRmlIMy9t?= =?utf-8?B?M0N0V2sxc1JSZUdVTlRQK2oxSktWZElpZ0ZYK1dkeHdhZzY2dE5XTHN2dWZ2?= =?utf-8?B?eFpNYndZc2wweUxoc0FFVm1IaXdoNE0rM05nSS8yNFJnOGJMZFdyV1NyZjlG?= =?utf-8?B?R1NjTGFQenVOOFdZbmRtZ29sWXdJTERFZ25sTElLRk5FQ0o2UHMySkZWZ1c5?= =?utf-8?B?QTFxbFRBYlBHbEZLZU1KZ2dpK2VES2FNMTUzdGlQZngrbWl3d3NjdDg5NnRr?= =?utf-8?B?bXVrS3BONXVKUEdkZnNpaUFVUHlmUlduYWhidWVrOFRmK0ZJNjVOWWVMdERq?= =?utf-8?B?NXRZRTdXM0JxZ2U4L1V3c0Zaa0NNckRkbTBPbzF5OG9FYmUzSmdQamF5UmYy?= =?utf-8?B?RENTdkhkek0wczRybzM2TTNkM3FQM3VLWTZlckdNemZycW9id1B0SjlMOVVT?= =?utf-8?B?SC96Q1h4MDA2Sncwenh0U3ZGZzc4UUpWSUhWTVBZOXB1M1NUYWV1WXhjd3Vn?= =?utf-8?B?T1RJb1UxMkc4cDJOaldKQXdMZlJjVnlMa0poREJoOFR0cXFOSHNNZHNTYU1X?= =?utf-8?B?U3lBbTdNMXpkZU5JRTk0WlVYM0ZITGd4dEE2eUZsTDk5blc1OEdGeStNNnN5?= =?utf-8?B?RHcxQmZRRitjM2YyOWtDMk8xcXh4Z0VGYUhPWkI1ckhYbG1IeDFUNHdwNWJD?= =?utf-8?B?UW5JYUVHK1MvNkpiYWlPd3ZIUkxIQVFCZWp2RmhuMksrYUdxMkczOGtlb2hT?= =?utf-8?B?ZU53UjZEc2xPdExydHhmdS9vMWFBRTRuSDBhTjZqdUhFeFl5aXc3YzhnSVFa?= =?utf-8?B?SmVNdmdzOWZnZ1A3UW1aV1dOdTBEU0JSZ21wajRtVHRGcWVYbTFtYWd0a2Zh?= =?utf-8?B?R1lvVUJveE9ab3RuZXU3WkVCTmptN3V4UXd1RGdta0lkaUFLWUw5M1FXcG5M?= =?utf-8?B?dG96bUFtZVhZcWdQNmI0OUhFVTZtQ0p4NUV5YTBSbWJCU3A3NVVxMlF6WHhJ?= =?utf-8?B?a3pnQWZPYTlmQWJSYk92MHE4Ymp1cEcwRW1OaUdHbXQzZlVWZmwvRmsxZFNv?= =?utf-8?B?V3JaME15RDNIVGZGOHJGY3orTUVLbkRSUG9KTmk5ZlE3VXpySzFVQm80VGxY?= =?utf-8?B?dXRLKy9EMGZUdEFxbU4xcGZGcEVLcmhzVDE2R0lCTEJhUDY1aXliQ0N2cktu?= =?utf-8?B?b2VZS2l4RDNwSGtxdUNJYW9xS0ZlK0VXVndSQnUyVG5EU2dyMklvV3VJalZC?= =?utf-8?B?dmVBaEhaS2ZXK1grNlJaK2dIOUpyNUp0SWhnbjRFYXVaY2UvdEFDR2ZzdjZY?= =?utf-8?B?a2hPdk5IUVNyU3NUeTB4bWpWT2gzdzBaQ1NKZnFEWXBJSEVFYkZWMlF6VGxH?= =?utf-8?B?RG9QT1B5c21BN2lRZkxYN2x5SmVwSG1oMWdDZXVuQWlMWUVnaXhtOXFYQ3pC?= =?utf-8?B?N3FscHJud3BCOHpycXI0dTh0Zkk5SlRUYitmRHRrdTRkNHNHTmNUUU1CSFBD?= =?utf-8?B?bGc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5013.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7150611e-f391-4c84-c234-08dce9002180 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2024 07:49:55.0827 (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: VHmeCcG5qwJiiAYjFZ7NPltWGqV7DRIknYnTPKNTj9Hp3GmvwDLsgkU10ILqTUSxbomj5dyBOVEpUkvxkWQPhLUNpXMmOCqcdINK5+xA2V4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6966 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwgR295YWwgPGdh a2hpbEBtYXJ2ZWxsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDksIDIwMjQgMTA6 NDkgUE0NCj4gVG86IEt1c3p0YWwsIEFya2FkaXVzelggPGFya2FkaXVzengua3VzenRhbEBpbnRl bC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IERvb2xleSwgQnJpYW4gPGJyaWFuLmRvb2xleUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbRVhURVJOQUxdIFtQQVRDSCB2NSAzLzRdIGNyeXB0 by9xYXQ6IGFkZCBzbTINCj4gZW5jcnlwdGlvbi9kZWNyeXB0aW9uIGZ1bmN0aW9uDQo+IA0KPiA+ IFRoaXMgY29tbWl0IGFkZHMgU00yIGVsbGlwdGljIGN1cnZlIGJhc2VkIGFzeW1tZXRyaWMgZW5j cnlwdGlvbiBhbmQNCj4gPiBkZWNyeXB0aW9uIHRvIHRoZSBJbnRlbCBRdWlja0Fzc2lzdCBUZWNo bm9sb2d5IFBNRC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFya2FkaXVzeiBLdXN6dGFsIDxh cmthZGl1c3p4Lmt1c3p0YWxAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkb2MvZ3VpZGVzL2Ny eXB0b2RldnMvZmVhdHVyZXMvcWF0LmluaSAgICAgICAgICB8ICAgMSArDQo+ID4gIGRvYy9ndWlk ZXMvcmVsX25vdGVzL3JlbGVhc2VfMjRfMTEucnN0ICAgICAgICAgIHwgICA0ICsNCj4gPiAgZHJp dmVycy9jb21tb24vcWF0L3FhdF9hZGYvaWNwX3FhdF9md19tbXBfaWRzLmggfCAgIDMgKw0KPiA+ ICBkcml2ZXJzL2NvbW1vbi9xYXQvcWF0X2FkZi9xYXRfcGtlLmggICAgICAgICAgICB8ICAyMCAr KysrDQo+ID4gIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfYXN5bS5jICAgICAgICAgICAgICAgICAg IHwgMTQwICsrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDE2 MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPiA+DQo+IA0KPiBSVEVfQ1JZUFRPX1NN Ml9QQVJUSUFMIGlzIG5vdCBzZXQgaW4gdGhlIFBNRCBhcyBvcF9jYXBhLg0KDQpZZXMsIGl0J3Mg dHJ1ZS4gRm9yIHRoYXQgd2UgbmVlZCB0byBkbyBhIHNtYWxsIGNoYW5nZSBpbiB0aGUgUUFUIFBN RCBhcmNoaXRlY3R1cmUsIHdlIHdpbGwgc2VuZCB0aGF0IHNvb24gYXMgYW5vdGhlciBwYXRjaCBv ciBhIGZpeC4NCg0KPiANCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvY3J5cHRvZGV2 cy9mZWF0dXJlcy9xYXQuaW5pDQo+ID4gYi9kb2MvZ3VpZGVzL2NyeXB0b2RldnMvZmVhdHVyZXMv cWF0LmluaQ0KPiA+IGluZGV4IGY0MWQyOTE1OGYuLjIxOWRkMWUwMTEgMTAwNjQ0DQo+ID4gLS0t IGEvZG9jL2d1aWRlcy9jcnlwdG9kZXZzL2ZlYXR1cmVzL3FhdC5pbmkNCj4gPiArKysgYi9kb2Mv Z3VpZGVzL2NyeXB0b2RldnMvZmVhdHVyZXMvcWF0LmluaQ0KPiA+IEBAIC03MSw2ICs3MSw3IEBA IFpVQyBFSUEzICAgICA9IFkNCj4gPiAgQUVTIENNQUMgKDEyOCkgPSBZDQo+ID4gIFNNMyAgICAg ICAgICA9IFkNCj4gPiAgU00zIEhNQUMgICAgID0gWQ0KPiA+ICtTTTIgICAgICAgICAgPSBZDQo+ ID4NCj4gPiAgOw0KPiA+ICA7IFN1cHBvcnRlZCBBRUFEIGFsZ29yaXRobXMgb2YgdGhlICdxYXQn IGNyeXB0byBkcml2ZXIuDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3Jl bGVhc2VfMjRfMTEucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzI0XzEx LnJzdA0KPiA+IGluZGV4IGUwYTlhYTU1YTEuLmU1NjgyNDMxMGIgMTAwNjQ0DQo+ID4gLS0tIGEv ZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8xMS5yc3QNCj4gPiArKysgYi9kb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzI0XzExLnJzdA0KPiA+IEBAIC02Nyw2ICs2NywxMCBAQCBO ZXcgRmVhdHVyZXMNCj4gPg0KPiA+ICAgIFRoZSBuZXcgc3RhdGlzdGljcyBhcmUgdXNlZnVsIGZv ciBkZWJ1Z2dpbmcgYW5kIHByb2ZpbGluZy4NCj4gPg0KPiA+ICsqICoqVXBkYXRlZCB0aGUgUXVp Y2tBc3Npc3QgVGVjaG5vbG9neSAoUUFUKSBDcnlwdG8gUE1ELioqDQo+ID4gKw0KPiA+ICsgICog QWRkZWQgU00yIGVuY3J5cHRpb24gYW5kIGRlY3J5cHRpb24gYWxnb3JpdGhtcy4NCj4gPiArDQo+ ID4NCj4gPiAgUmVtb3ZlZCBJdGVtcw0KPiA+ICAtLS0tLS0tLS0tLS0tDQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvY29tbW9uL3FhdC9xYXRfYWRmL2ljcF9xYXRfZndfbW1wX2lkcy5oDQo+ID4g Yi9kcml2ZXJzL2NvbW1vbi9xYXQvcWF0X2FkZi9pY3BfcWF0X2Z3X21tcF9pZHMuaA0KPiA+IGlu ZGV4IDYzMGM2ZTFhOWIuLmFhNDk2MTJjYTEgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9jb21t b24vcWF0L3FhdF9hZGYvaWNwX3FhdF9md19tbXBfaWRzLmgNCj4gPiArKysgYi9kcml2ZXJzL2Nv bW1vbi9xYXQvcWF0X2FkZi9pY3BfcWF0X2Z3X21tcF9pZHMuaA0KPiA+IEBAIC0xNTQyLDYgKzE1 NDIsOSBAQCBpY3BfcWF0X2Z3X21tcF9lY2RzYV92ZXJpZnlfZ2ZwXzUyMV9pbnB1dDo6aW4NCj4g aW4NCj4gPiBAZW5kbGluaw0KPiA+ICAgKiBAbGkgbm8gb3V0cHV0IHBhcmFtZXRlcnMNCj4gPiAg ICovDQo+ID4NCj4gPiArI2RlZmluZSBQS0VfRUNTTTJfRU5DUllQVElPTiAweDI1MjIxNzIwICNk ZWZpbmUNCj4gUEtFX0VDU00yX0RFQ1JZUFRJT04NCj4gPiArMHgyMDE3MTZlNg0KPiA+ICsNCj4g PiAgI2RlZmluZSBQS0VfTElWRU5FU1MgMHgwMDAwMDAwMQ0KPiA+ICAvKio8IEZ1bmN0aW9uYWxp dHkgSUQgZm9yIFBLRV9MSVZFTkVTUw0KPiA+ICAgKiBAbGkgMCBpbnB1dCBwYXJhbWV0ZXIocykN Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24vcWF0L3FhdF9hZGYvcWF0X3BrZS5oDQo+ ID4gYi9kcml2ZXJzL2NvbW1vbi9xYXQvcWF0X2FkZi9xYXRfcGtlLmgNCj4gPiBpbmRleCBmODg5 MzJhMjc1Li5hYzA1MWU5NjVkIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3FhdC9x YXRfYWRmL3FhdF9wa2UuaA0KPiA+ICsrKyBiL2RyaXZlcnMvY29tbW9uL3FhdC9xYXRfYWRmL3Fh dF9wa2UuaA0KPiA+IEBAIC0zMzQsNCArMzM0LDI0IEBAIGdldF9zbTJfZWNkc2FfdmVyaWZ5X2Z1 bmN0aW9uKHZvaWQpDQo+ID4gIAlyZXR1cm4gcWF0X2Z1bmN0aW9uOw0KPiA+ICB9DQo+ID4NCj4g PiArc3RhdGljIHN0cnVjdCBxYXRfYXN5bV9mdW5jdGlvbg0KPiA+ICtnZXRfc20yX2VuY3J5cHRp b25fZnVuY3Rpb24odm9pZCkNCj4gPiArew0KPiA+ICsJc3RydWN0IHFhdF9hc3ltX2Z1bmN0aW9u IHFhdF9mdW5jdGlvbiA9IHsNCj4gPiArCQlQS0VfRUNTTTJfRU5DUllQVElPTiwgMzINCj4gPiAr CX07DQo+ID4gKw0KPiA+ICsJcmV0dXJuIHFhdF9mdW5jdGlvbjsNCj4gPiArfQ0KPiA+ICsNCj4g PiArc3RhdGljIHN0cnVjdCBxYXRfYXN5bV9mdW5jdGlvbg0KPiA+ICtnZXRfc20yX2RlY3J5cHRp b25fZnVuY3Rpb24odm9pZCkNCj4gPiArew0KPiA+ICsJc3RydWN0IHFhdF9hc3ltX2Z1bmN0aW9u IHFhdF9mdW5jdGlvbiA9IHsNCj4gPiArCQlQS0VfRUNTTTJfREVDUllQVElPTiwgMzINCj4gPiAr CX07DQo+ID4gKw0KPiA+ICsJcmV0dXJuIHFhdF9mdW5jdGlvbjsNCj4gPiArfQ0KPiA+ICsNCj4g PiAgI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3FhdC9xYXRfYXN5bS5j DQo+ID4gYi9kcml2ZXJzL2NyeXB0by9xYXQvcWF0X2FzeW0uYyBpbmRleCBlNDM4ODRlNjliLi4z Y2U0OGExNDg2IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvY3J5cHRvL3FhdC9xYXRfYXN5bS5j DQo+ID4gKysrIGIvZHJpdmVycy9jcnlwdG8vcWF0L3FhdF9hc3ltLmMNCj4gPiBAQCAtOTMyLDYg KzkzMiwxNSBAQCBzbTJfZWNkc2Ffc2lnbl9zZXRfaW5wdXQoc3RydWN0DQo+ID4gaWNwX3FhdF9m d19wa2VfcmVxdWVzdCAqcWF0X3JlcSwNCj4gPiAgCXFhdF9yZXEtPmlucHV0X3BhcmFtX2NvdW50 ID0gMzsNCj4gPiAgCXFhdF9yZXEtPm91dHB1dF9wYXJhbV9jb3VudCA9IDI7DQo+ID4NCj4gPiAr CUhFWERVTVAoIlNNMiBLIHRlc3QiLCBhc3ltX29wLT5zbTIuay5kYXRhLA0KPiA+ICsJCWNvb2tp ZS0+YWxnX2J5dGVzaXplKTsNCj4gPiArCUhFWERVTVAoIlNNMiBLIiwgY29va2llLT5pbnB1dF9h cnJheVswXSwNCj4gPiArCQljb29raWUtPmFsZ19ieXRlc2l6ZSk7DQo+ID4gKwlIRVhEVU1QKCJT TTIgbXNnIiwgY29va2llLT5pbnB1dF9hcnJheVsxXSwNCj4gPiArCQljb29raWUtPmFsZ19ieXRl c2l6ZSk7DQo+ID4gKwlIRVhEVU1QKCJTTTIgcGtleSIsIGNvb2tpZS0+aW5wdXRfYXJyYXlbMl0s DQo+ID4gKwkJY29va2llLT5hbGdfYnl0ZXNpemUpOw0KPiA+ICsNCj4gPiAgCXJldHVybiBSVEVf Q1JZUFRPX09QX1NUQVRVU19TVUNDRVNTOyAgfQ0KPiA+DQo+ID4gQEAgLTk4Myw2ICs5OTIsMTE0 IEBAIHNtMl9lY2RzYV9zaWduX2NvbGxlY3Qoc3RydWN0IHJ0ZV9jcnlwdG9fYXN5bV9vcA0KPiA+ ICphc3ltX29wLCAgfQ0KPiA+DQo+ID4gIHN0YXRpYyBpbnQNCj4gPiArc20yX2VuY3J5cHRpb25f c2V0X2lucHV0KHN0cnVjdCBpY3BfcWF0X2Z3X3BrZV9yZXF1ZXN0ICpxYXRfcmVxLA0KPiA+ICsJ c3RydWN0IHFhdF9hc3ltX29wX2Nvb2tpZSAqY29va2llLA0KPiA+ICsJY29uc3Qgc3RydWN0IHJ0 ZV9jcnlwdG9fYXN5bV9vcCAqYXN5bV9vcCwNCj4gPiArCWNvbnN0IHN0cnVjdCBydGVfY3J5cHRv X2FzeW1feGZvcm0gKnhmb3JtKSB7DQo+ID4gKwljb25zdCBzdHJ1Y3QgcWF0X2FzeW1fZnVuY3Rp b24gcWF0X2Z1bmN0aW9uID0NCj4gPiArCQlnZXRfc20yX2VuY3J5cHRpb25fZnVuY3Rpb24oKTsN Cj4gPiArCWNvbnN0IHVpbnQzMl90IHFhdF9mdW5jX2FsaWduc2l6ZSA9DQo+ID4gKwkJcWF0X2Z1 bmN0aW9uLmJ5dGVzaXplOw0KPiA+ICsNCj4gPiArCVNFVF9QS0VfTE4oYXN5bV9vcC0+c20yLmss IHFhdF9mdW5jX2FsaWduc2l6ZSwgMCk7DQo+ID4gKwlTRVRfUEtFX0xOKHhmb3JtLT5lYy5xLngs IHFhdF9mdW5jX2FsaWduc2l6ZSwgMSk7DQo+ID4gKwlTRVRfUEtFX0xOKHhmb3JtLT5lYy5xLnks IHFhdF9mdW5jX2FsaWduc2l6ZSwgMik7DQo+ID4gKw0KPiA+ICsJY29va2llLT5hbGdfYnl0ZXNp emUgPSBxYXRfZnVuY3Rpb24uYnl0ZXNpemU7DQo+ID4gKwljb29raWUtPnFhdF9mdW5jX2FsaWdu c2l6ZSA9IHFhdF9mdW5jdGlvbi5ieXRlc2l6ZTsNCj4gPiArCXFhdF9yZXEtPnBrZV9oZHIuY2Rf cGFycy5mdW5jX2lkID0gcWF0X2Z1bmN0aW9uLmZ1bmNfaWQ7DQo+ID4gKwlxYXRfcmVxLT5pbnB1 dF9wYXJhbV9jb3VudCA9IDM7DQo+ID4gKwlxYXRfcmVxLT5vdXRwdXRfcGFyYW1fY291bnQgPSA0 Ow0KPiA+ICsNCj4gPiArCUhFWERVTVAoIlNNMiBLIiwgY29va2llLT5pbnB1dF9hcnJheVswXSwN Cj4gPiArCQlxYXRfZnVuY19hbGlnbnNpemUpOw0KPiA+ICsJSEVYRFVNUCgiU00yIFEueCIsIGNv b2tpZS0+aW5wdXRfYXJyYXlbMV0sDQo+ID4gKwkJcWF0X2Z1bmNfYWxpZ25zaXplKTsNCj4gPiAr CUhFWERVTVAoIlNNMiBRLnkiLCBjb29raWUtPmlucHV0X2FycmF5WzJdLA0KPiA+ICsJCXFhdF9m dW5jX2FsaWduc2l6ZSk7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIFJURV9DUllQVE9fT1BfU1RBVFVT X1NVQ0NFU1M7IH0NCj4gPiArDQo+ID4gK3N0YXRpYyB1aW50OF90DQo+ID4gK3NtMl9lbmNyeXB0 aW9uX2NvbGxlY3Qoc3RydWN0IHJ0ZV9jcnlwdG9fYXN5bV9vcCAqYXN5bV9vcCwNCj4gPiArCQlj b25zdCBzdHJ1Y3QgcWF0X2FzeW1fb3BfY29va2llICpjb29raWUpIHsNCj4gPiArCXVpbnQzMl90 IGFsZ19ieXRlc2l6ZSA9IGNvb2tpZS0+YWxnX2J5dGVzaXplOw0KPiA+ICsNCj4gPiArCXJ0ZV9t ZW1jcHkoYXN5bV9vcC0+c20yLkMxLnguZGF0YSwgY29va2llLT5vdXRwdXRfYXJyYXlbMF0sDQo+ ID4gYWxnX2J5dGVzaXplKTsNCj4gPiArCXJ0ZV9tZW1jcHkoYXN5bV9vcC0+c20yLkMxLnkuZGF0 YSwgY29va2llLT5vdXRwdXRfYXJyYXlbMV0sDQo+ID4gYWxnX2J5dGVzaXplKTsNCj4gPiArCXJ0 ZV9tZW1jcHkoYXN5bV9vcC0+c20yLmtQLnguZGF0YSwgY29va2llLT5vdXRwdXRfYXJyYXlbMl0s DQo+ID4gYWxnX2J5dGVzaXplKTsNCj4gPiArCXJ0ZV9tZW1jcHkoYXN5bV9vcC0+c20yLmtQLnku ZGF0YSwgY29va2llLT5vdXRwdXRfYXJyYXlbM10sDQo+ID4gYWxnX2J5dGVzaXplKTsNCj4gPiAr CWFzeW1fb3AtPnNtMi5DMS54Lmxlbmd0aCA9IGFsZ19ieXRlc2l6ZTsNCj4gPiArCWFzeW1fb3At PnNtMi5DMS55Lmxlbmd0aCA9IGFsZ19ieXRlc2l6ZTsNCj4gPiArCWFzeW1fb3AtPnNtMi5rUC54 Lmxlbmd0aCA9IGFsZ19ieXRlc2l6ZTsNCj4gPiArCWFzeW1fb3AtPnNtMi5rUC55Lmxlbmd0aCA9 IGFsZ19ieXRlc2l6ZTsNCj4gPiArDQo+ID4gKwlIRVhEVU1QKCJDMVt4MV0iLCBjb29raWUtPm91 dHB1dF9hcnJheVswXSwNCj4gPiArCQlhbGdfYnl0ZXNpemUpOw0KPiA+ICsJSEVYRFVNUCgiQzFb eV0iLCBjb29raWUtPm91dHB1dF9hcnJheVsxXSwNCj4gPiArCQlhbGdfYnl0ZXNpemUpOw0KPiA+ ICsJSEVYRFVNUCgia1BbeF0iLCBjb29raWUtPm91dHB1dF9hcnJheVsyXSwNCj4gPiArCQlhbGdf Ynl0ZXNpemUpOw0KPiA+ICsJSEVYRFVNUCgia1BbeV0iLCBjb29raWUtPm91dHB1dF9hcnJheVsz XSwNCj4gPiArCQlhbGdfYnl0ZXNpemUpOw0KPiA+ICsJcmV0dXJuIFJURV9DUllQVE9fT1BfU1RB VFVTX1NVQ0NFU1M7IH0NCj4gPiArDQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50DQo+ID4gK3NtMl9k ZWNyeXB0aW9uX3NldF9pbnB1dChzdHJ1Y3QgaWNwX3FhdF9md19wa2VfcmVxdWVzdCAqcWF0X3Jl cSwNCj4gPiArCXN0cnVjdCBxYXRfYXN5bV9vcF9jb29raWUgKmNvb2tpZSwNCj4gPiArCWNvbnN0 IHN0cnVjdCBydGVfY3J5cHRvX2FzeW1fb3AgKmFzeW1fb3AsDQo+ID4gKwljb25zdCBzdHJ1Y3Qg cnRlX2NyeXB0b19hc3ltX3hmb3JtICp4Zm9ybSkgew0KPiA+ICsJY29uc3Qgc3RydWN0IHFhdF9h c3ltX2Z1bmN0aW9uIHFhdF9mdW5jdGlvbiA9DQo+ID4gKwkJZ2V0X3NtMl9kZWNyeXB0aW9uX2Z1 bmN0aW9uKCk7DQo+ID4gKwljb25zdCB1aW50MzJfdCBxYXRfZnVuY19hbGlnbnNpemUgPQ0KPiA+ ICsJCXFhdF9mdW5jdGlvbi5ieXRlc2l6ZTsNCj4gPiArDQo+ID4gKwlTRVRfUEtFX0xOKHhmb3Jt LT5lYy5wa2V5LCBxYXRfZnVuY19hbGlnbnNpemUsIDApOw0KPiA+ICsJU0VUX1BLRV9MTihhc3lt X29wLT5zbTIuQzEueCwgcWF0X2Z1bmNfYWxpZ25zaXplLCAxKTsNCj4gPiArCVNFVF9QS0VfTE4o YXN5bV9vcC0+c20yLkMxLnksIHFhdF9mdW5jX2FsaWduc2l6ZSwgMik7DQo+ID4gKw0KPiA+ICsJ Y29va2llLT5hbGdfYnl0ZXNpemUgPSBxYXRfZnVuY3Rpb24uYnl0ZXNpemU7DQo+ID4gKwljb29r aWUtPnFhdF9mdW5jX2FsaWduc2l6ZSA9IHFhdF9mdW5jdGlvbi5ieXRlc2l6ZTsNCj4gPiArCXFh dF9yZXEtPnBrZV9oZHIuY2RfcGFycy5mdW5jX2lkID0gcWF0X2Z1bmN0aW9uLmZ1bmNfaWQ7DQo+ ID4gKwlxYXRfcmVxLT5pbnB1dF9wYXJhbV9jb3VudCA9IDM7DQo+ID4gKwlxYXRfcmVxLT5vdXRw dXRfcGFyYW1fY291bnQgPSAyOw0KPiA+ICsNCj4gPiArCUhFWERVTVAoImQiLCBjb29raWUtPmlu cHV0X2FycmF5WzBdLA0KPiA+ICsJCXFhdF9mdW5jX2FsaWduc2l6ZSk7DQo+ID4gKwlIRVhEVU1Q KCJDMVt4XSIsIGNvb2tpZS0+aW5wdXRfYXJyYXlbMV0sDQo+ID4gKwkJcWF0X2Z1bmNfYWxpZ25z aXplKTsNCj4gPiArCUhFWERVTVAoIkMxW3ldIiwgY29va2llLT5pbnB1dF9hcnJheVsyXSwNCj4g PiArCQlxYXRfZnVuY19hbGlnbnNpemUpOw0KPiA+ICsNCj4gPiArCXJldHVybiBSVEVfQ1JZUFRP X09QX1NUQVRVU19TVUNDRVNTOyB9DQo+ID4gKw0KPiA+ICsNCj4gPiArc3RhdGljIHVpbnQ4X3QN Cj4gPiArc20yX2RlY3J5cHRpb25fY29sbGVjdChzdHJ1Y3QgcnRlX2NyeXB0b19hc3ltX29wICph c3ltX29wLA0KPiA+ICsJCWNvbnN0IHN0cnVjdCBxYXRfYXN5bV9vcF9jb29raWUgKmNvb2tpZSkg ew0KPiA+ICsJdWludDMyX3QgYWxnX2J5dGVzaXplID0gY29va2llLT5hbGdfYnl0ZXNpemU7DQo+ ID4gKw0KPiA+ICsJcnRlX21lbWNweShhc3ltX29wLT5zbTIua1AueC5kYXRhLCBjb29raWUtPm91 dHB1dF9hcnJheVswXSwNCj4gPiBhbGdfYnl0ZXNpemUpOw0KPiA+ICsJcnRlX21lbWNweShhc3lt X29wLT5zbTIua1AueS5kYXRhLCBjb29raWUtPm91dHB1dF9hcnJheVsxXSwNCj4gPiBhbGdfYnl0 ZXNpemUpOw0KPiA+ICsJYXN5bV9vcC0+c20yLmtQLngubGVuZ3RoID0gYWxnX2J5dGVzaXplOw0K PiA+ICsJYXN5bV9vcC0+c20yLmtQLnkubGVuZ3RoID0gYWxnX2J5dGVzaXplOw0KPiA+ICsNCj4g PiArCUhFWERVTVAoImtQW3hdIiwgY29va2llLT5vdXRwdXRfYXJyYXlbMF0sDQo+ID4gKwkJYWxn X2J5dGVzaXplKTsNCj4gPiArCUhFWERVTVAoImtQW3ldIiwgY29va2llLT5vdXRwdXRfYXJyYXlb MV0sDQo+ID4gKwkJYWxnX2J5dGVzaXplKTsNCj4gPiArCXJldHVybiBSVEVfQ1JZUFRPX09QX1NU QVRVU19TVUNDRVNTOyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50DQo+ID4gIGFzeW1fc2V0X2lu cHV0KHN0cnVjdCBpY3BfcWF0X2Z3X3BrZV9yZXF1ZXN0ICpxYXRfcmVxLA0KPiA+ICAJCXN0cnVj dCBxYXRfYXN5bV9vcF9jb29raWUgKmNvb2tpZSwNCj4gPiAgCQljb25zdCBzdHJ1Y3QgcnRlX2Ny eXB0b19hc3ltX29wICphc3ltX29wLCBAQCAtMTAxNCwxNA0KPiArMTEzMSwyMCBAQA0KPiA+IGFz eW1fc2V0X2lucHV0KHN0cnVjdCBpY3BfcWF0X2Z3X3BrZV9yZXF1ZXN0ICpxYXRfcmVxLA0KPiA+ ICAJCQkJYXN5bV9vcCwgeGZvcm0pOw0KPiA+ICAJCX0NCj4gPiAgCWNhc2UgUlRFX0NSWVBUT19B U1lNX1hGT1JNX1NNMjoNCj4gPiAtCQlpZiAoYXN5bV9vcC0+c20yLm9wX3R5cGUgPT0NCj4gPiAt CQkJUlRFX0NSWVBUT19BU1lNX09QX1ZFUklGWSkgew0KPiA+ICsJCWlmIChhc3ltX29wLT5zbTIu b3BfdHlwZSA9PQ0KPiA+IFJURV9DUllQVE9fQVNZTV9PUF9FTkNSWVBUKSB7DQo+ID4gKwkJCXJl dHVybiBzbTJfZW5jcnlwdGlvbl9zZXRfaW5wdXQocWF0X3JlcSwgY29va2llLA0KPiA+ICsJCQkJ YXN5bV9vcCwgeGZvcm0pOw0KPiA+ICsJCX0gZWxzZSBpZiAoYXN5bV9vcC0+c20yLm9wX3R5cGUg PT0NCj4gPiBSVEVfQ1JZUFRPX0FTWU1fT1BfREVDUllQVCkgew0KPiA+ICsJCQlyZXR1cm4gc20y X2RlY3J5cHRpb25fc2V0X2lucHV0KHFhdF9yZXEsIGNvb2tpZSwNCj4gPiArCQkJCWFzeW1fb3As IHhmb3JtKTsNCj4gPiArCQl9IGVsc2UgaWYgKGFzeW1fb3AtPnNtMi5vcF90eXBlID09DQo+ID4g UlRFX0NSWVBUT19BU1lNX09QX1ZFUklGWSkgew0KPiA+ICAJCQlyZXR1cm4gc20yX2VjZHNhX3Zl cmlmeV9zZXRfaW5wdXQocWF0X3JlcSwgY29va2llLA0KPiA+ICAJCQkJCQlhc3ltX29wLCB4Zm9y bSk7DQo+ID4gLQkJfSBlbHNlIHsNCj4gPiArCQl9IGVsc2UgaWYgKGFzeW1fb3AtPnNtMi5vcF90 eXBlID09DQo+ID4gUlRFX0NSWVBUT19BU1lNX09QX1NJR04pIHsNCj4gPiAgCQkJcmV0dXJuIHNt Ml9lY2RzYV9zaWduX3NldF9pbnB1dChxYXRfcmVxLCBjb29raWUsDQo+ID4gIAkJCQkJYXN5bV9v cCwgeGZvcm0pOw0KPiA+ICAJCX0NCj4gPiArCQlicmVhazsNCj4gPiAgCWRlZmF1bHQ6DQo+ID4g IAkJUUFUX0xPRyhFUlIsICJJbnZhbGlkL3Vuc3VwcG9ydGVkIGFzeW1tZXRyaWMgY3J5cHRvDQo+ IHhmb3JtIik7DQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gQEAgLTExMTMsNyArMTIzNiwx MyBAQCBxYXRfYXN5bV9jb2xsZWN0X3Jlc3BvbnNlKHN0cnVjdCBydGVfY3J5cHRvX29wDQo+ID4g Km9wLA0KPiA+ICAJY2FzZSBSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRUNESDoNCj4gPiAgCQlyZXR1 cm4gZWNkaF9jb2xsZWN0KGFzeW1fb3AsIGNvb2tpZSk7DQo+ID4gIAljYXNlIFJURV9DUllQVE9f QVNZTV9YRk9STV9TTTI6DQo+ID4gLQkJcmV0dXJuIHNtMl9lY2RzYV9zaWduX2NvbGxlY3QoYXN5 bV9vcCwgY29va2llKTsNCj4gPiArCQlpZiAoYXN5bV9vcC0+c20yLm9wX3R5cGUgPT0NCj4gPiBS VEVfQ1JZUFRPX0FTWU1fT1BfRU5DUllQVCkNCj4gPiArCQkJcmV0dXJuIHNtMl9lbmNyeXB0aW9u X2NvbGxlY3QoYXN5bV9vcCwgY29va2llKTsNCj4gPiArCQllbHNlIGlmIChhc3ltX29wLT5zbTIu b3BfdHlwZSA9PQ0KPiA+IFJURV9DUllQVE9fQVNZTV9PUF9ERUNSWVBUKQ0KPiA+ICsJCQlyZXR1 cm4gc20yX2RlY3J5cHRpb25fY29sbGVjdChhc3ltX29wLCBjb29raWUpOw0KPiA+ICsJCWVsc2UN Cj4gPiArCQkJcmV0dXJuIHNtMl9lY2RzYV9zaWduX2NvbGxlY3QoYXN5bV9vcCwgY29va2llKTsN Cj4gPiArDQo+ID4gIAlkZWZhdWx0Og0KPiA+ICAJCVFBVF9MT0coRVJSLCAiTm90IHN1cHBvcnRl ZCB4Zm9ybSB0eXBlIik7DQo+ID4gIAkJcmV0dXJuICBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJP UjsgQEAgLTEzODUsOSArMTUxNCw4DQo+IEBADQo+ID4gcWF0X2FzeW1fc2Vzc2lvbl9jb25maWd1 cmUoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsDQo+ID4gIAljYXNlIFJU RV9DUllQVE9fQVNZTV9YRk9STV9FQ0RTQToNCj4gPiAgCWNhc2UgUlRFX0NSWVBUT19BU1lNX1hG T1JNX0VDUE06DQo+ID4gIAljYXNlIFJURV9DUllQVE9fQVNZTV9YRk9STV9FQ0RIOg0KPiA+IC0J CXNlc3Npb25fc2V0X2VjKHFhdF9zZXNzaW9uLCB4Zm9ybSk7DQo+ID4gLQkJYnJlYWs7DQo+ID4g IAljYXNlIFJURV9DUllQVE9fQVNZTV9YRk9STV9TTTI6DQo+ID4gKwkJc2Vzc2lvbl9zZXRfZWMo cWF0X3Nlc3Npb24sIHhmb3JtKTsNCj4gPiAgCQlicmVhazsNCj4gPiAgCWRlZmF1bHQ6DQo+ID4g IAkJcmV0ID0gLUVOT1RTVVA7DQo+ID4gLS0NCj4gPiAyLjEzLjYNCg0K