From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by sourceware.org (Postfix) with ESMTPS id 557DF384AB52 for ; Mon, 22 Apr 2024 08:43:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 557DF384AB52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 557DF384AB52 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.15 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713775389; cv=pass; b=SgG6qpk3MvOIerWsfnX5K22OGTg50sF8pslakjab4k6zz8XsmaVv+EKG/27sD5XugZkOoiy+A/qd+zLmF0U85C/tUia4toNMOFM0gbKkBHXhkZhg0Q01EH1G2EA6FaeCQ9lKTKGEpxbkS+EZPJNHWnPDSI2hS72nDrzp+sk2/lo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713775389; c=relaxed/simple; bh=ZgMqIoMQBV7qZcdqw04JYzpBdeu4l10j8ZkL4EIOJvk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=rIkXsGbmxgdNoPVDK9+Be63QUNhw+RZy0Geu9QZSdX/n0dbmx+HCF3Lzu4VkbU41PA2eKigJz7Wi2TW0hGeOo09Zbxbb1p+HRZXWzZr7jhCEcJAh594sXZzG6++iQnVWnlFfvDiJ9af7Syz3Rc5zVbbLN14ucFU998yIs018pWE= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713775386; x=1745311386; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ZgMqIoMQBV7qZcdqw04JYzpBdeu4l10j8ZkL4EIOJvk=; b=UPkz3tf/FmGqQ7zLP8B9ssVwusa6y/2tufUO4S6zXD9Q68gPtql2l/yc Ff0ty70EK3Rdp6sSiHbuUkZfPZr10HwR9IrB2aMOMpPW5J9pEx187u3g6 yObGMO+aaHIrE00blOLRoT/ex25+m1WLI62/gSgX+YrRJOuLvW2wnzs2J FONHMIoaFpne3hCo1PwrJF517oQ7eVvCH/GMHBdLIExKXKXA/JXyn29sw nLsw8RN6Nop9DKeFBLklPGRk5cKrdy6C8OCs3ou4mxMSf7UFwyTHelXPL FdapLrVOgZe3NDL21K6fR7F+UD/Vx8MYzIYlRUGXmnn3aq3R6LbG2GT26 g==; X-CSE-ConnectionGUID: X5QBtMjTS7exurecKcbR8Q== X-CSE-MsgGUID: upevTqPsT/2/aikcJOYchw== X-IronPort-AV: E=McAfee;i="6600,9927,11051"; a="9470863" X-IronPort-AV: E=Sophos;i="6.07,220,1708416000"; d="scan'208";a="9470863" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2024 01:43:04 -0700 X-CSE-ConnectionGUID: RKp3Qx+oQmei8RwcvBUxiQ== X-CSE-MsgGUID: picE1xXbQYq2L0VGJO3UXA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,220,1708416000"; d="scan'208";a="28616581" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa003.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Apr 2024 01:43:03 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.35; Mon, 22 Apr 2024 01:43:03 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 22 Apr 2024 01:43:02 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 22 Apr 2024 01:43:02 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 22 Apr 2024 01:43:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DshjZWH/qJlwnDpbRxXT7SzEKmquUQIAbPqmo0Zuu1qWobQaFUl42rXNWGc1ygsNr5BBOyzK1STym/OGuyva1huXP7y1nNK8f5EGlPbfP94rDKlfqLbnRUcRlBmNPU25TFx4BpeiMubqi3Ym/LQTlrl0/zf6p0J1tBOEwjTh3IlnC5FxDb8/ngrTg4s0Y+HoBYwR/F1UcTnX6srSKMC5v1i6g3FvhPzrug8dgR4dNJ1+kT6Cbc0ALJiE2kQESW5lgLZ4um47oD4OAbwqAUpOJqBXD9/s9qXFxSPzBe8ey/ErvLtWaEupa+olE3SmmNbgyjXwTL31ijHV7jxcvfEN0w== 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=ZgMqIoMQBV7qZcdqw04JYzpBdeu4l10j8ZkL4EIOJvk=; b=GGWzjBbiRpTzQAAhf5JyblZjFhV3BQvcurWTJpQMj2NOrLpb6mn/GVj2Po+2dORYrct0i6BGK4Co8AUZxpBYLP65nSRFlBloEbeE6wYGPMXmfM42fCwTLwH5oR8hzBeTcUsLse7RD94Zyu5QP5xjs9Ecge5oFsptkAmtHN2go4HC1txN3EAFetG7pdkuI5FWIrZGmxsE4rNg6RyffiAjNZ7eCSzq/yh23igguo9nuXQEM32/EqTyV3zNwrLL1aRLKUcyd5mAf+TyQoEDKUPqb/G7+MiXPrMj41/edDA1od9bhU6qUirYLfwhi1L2GEnmlVV4VW4L/tVJ4cYEjvFJ6A== 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 SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by SA3PR11MB7526.namprd11.prod.outlook.com (2603:10b6:806:31c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.20; Mon, 22 Apr 2024 08:42:46 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::2ffd:d20c:62c8:a67]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::2ffd:d20c:62c8:a67%3]) with mapi id 15.20.7519.020; Mon, 22 Apr 2024 08:42:45 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "hjl.tools@gmail.com" , "binutils@sourceware.org" Subject: RE: [PATCH] x86: Optimize the encoder of the vvvv register Thread-Topic: [PATCH] x86: Optimize the encoder of the vvvv register Thread-Index: AQHakiymrqyXJOniy0Cko3bb11SI4LFvXceAgASaI1A= Date: Mon, 22 Apr 2024 08:42:45 +0000 Message-ID: References: <20240419073657.2418102-1-lili.cui@intel.com> <013ad260-9b28-496e-bbaf-c5a066774e99@suse.com> In-Reply-To: <013ad260-9b28-496e-bbaf-c5a066774e99@suse.com> 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: SJ0PR11MB5600:EE_|SA3PR11MB7526:EE_ x-ms-office365-filtering-correlation-id: a39a417e-ba18-4fbc-31cb-08dc62a82ed5 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;ARA:13230031|1800799015|366007|376005|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?MTJQcEZKNFkrWnFJb2xUUEhFVU9QN1dsQUVaRHRzbDFqUjNmKzFYYitxUEVz?= =?utf-8?B?UC84ZE83dGpFN2crUDJZMWlnWjhwVGMvMFd5eVM1TDFBNjlqTFVIOEtJQjRE?= =?utf-8?B?RDlvbmVnUnEzMlNpK2ZGUFBUSFRqb0E2UWxSWG5MZDVyaC9xQmZnVDB3MVNr?= =?utf-8?B?Nkt3Q3prMmpkTE5nNUEvNGRoYlZ1RlNwaVdNYVQwblJnWUltUHprdU9uQjRT?= =?utf-8?B?MnA1b0RkZGlDa1RQU0k2cllNYVdGWkxrZlV3VmhtQVVJTEYwaFJJMXJMeTZz?= =?utf-8?B?VWhTQjZobUVjQ2g1UTZhSlh5WjBkbEpoUFJPYVRvOWpYOTc0Q0NMVUZjUjhD?= =?utf-8?B?bjlCNEdOZklDOVFML0VPRmZnb21LREVCMDZvYnRrM0k4U2ErM1RESUhSUjFJ?= =?utf-8?B?eWJvQ0czLzFTVzZyalRuUlBjV1VyNkFJMWpTM1ZjR1grSTg4NVIxMjZ0aWJD?= =?utf-8?B?UW9pVjk3cTlJWENhMWxrbFJiVGNUNzNWeExLbnBiRFNiZHJoYU1EZ0xRNTJK?= =?utf-8?B?NlUvYUVLTjBQb2hoR0kzQUN0RFlKZ0cvM3pOaHdTZTd2bDgrL3Z1RlUrd1dK?= =?utf-8?B?cm5hQklZSklpRUJvd3k1anpBMUNmUnpzdE12bWV6c3Y4b2RFSnVlTnE0T1Fr?= =?utf-8?B?a2xOcTUzT3Z3YktEeFNLaFAxcmVRalNKdnljWEtUcGgvd2dReVNSK3A4RE8w?= =?utf-8?B?dGlQZ2ZNdFh3b0pxY2FqNFlSU3hXWE5GVGJIU0V0K2hBcCt2ZjNQQjViSm9l?= =?utf-8?B?bTI1SlRqM2pqOW44QnQ2N2VwWVVZSXNFUzduK04wTzBLRlQ2ZEQzRCtSR1Z0?= =?utf-8?B?WG8xMDh0ZWltK3RHVTdlU3l3YXl2R2QwVktycmFWRFFmUm8rbGg5a1RDblJj?= =?utf-8?B?Vy9rQmhmM2dDeUhPWm5KdE9LU0prZGVHNkNFM0NRa0xPaWlYb3E5NDVLOWY2?= =?utf-8?B?RWhpSWdueXJ4eHMrWkUzOW8wbHU2QkxtZHYyTUY3a3hkRG9GYzY2SXJmVlFW?= =?utf-8?B?ay9jMFdyTlNRWkhrYndjRWJQNVFIb3hVd3lYVXFnNXFEUVVrV1A4cUxUc1pl?= =?utf-8?B?SVpRVjVMcnBibUJERVNpZ0xjUG5kODRwMWw0cWNZT1R5NnBIUTgyMWEyditC?= =?utf-8?B?Z1JDL0tBbkJFeUZUMENJRHV2ZHh1RWU5MWxBaWJMRURLbzl3SjlVN09WVm1K?= =?utf-8?B?QjE1YU1kRVNqQUxtVU9XMytJTzQ1WnRHYjdFWXpTN0RVaWQwRy8vODFNV2pR?= =?utf-8?B?dVRYQ3h1eVQyR1RSYjBmUXZoWFoyeTBBenFaSWx5dlNlWGRZL3BCekdFSzlN?= =?utf-8?B?WGwxT0owbTNGWVRJL2ZSK0ZUREJLRlRkMWp0RUxqZnN1RU9zS2FBK0VYYlhp?= =?utf-8?B?WFBNQzNwVFc0dGJkZUxZUzYwcVNpYTdLQ1JzVS9yWmE3ejJIRWR0dDdIdHFR?= =?utf-8?B?K2wwdVhTMElwNlVIcXA2SEpnRy8wa3VML1piY0F1WEg5THUwK20rOUZlRE5r?= =?utf-8?B?MDlsVVlkYzlhanVBc3NpR01SeWJZUTg3N3hHc2k1RDlENmpFTStZMEVQRS9O?= =?utf-8?B?TFEwbjBrSytac3dJOUpVbExCZGFaSTc0em5SNnI2Ymx3ajg4ZmZ1L0tMUGlZ?= =?utf-8?B?UVJrSkdpVmxrVkFkTFM2M1UxLzd1bDVwQzFCNjhxMC80VU5pQzBlb0hCbTlB?= =?utf-8?B?YzhxMnMvVitFNG9lQ3FTQkJFVHg4a3gxcHgxNTZpaVlhRzV5QkxNUFVlTGJH?= =?utf-8?B?dEFnVTdvdVVOVE01aGlJalFncW1WMTUwdDJjSTloVXMxaFFPaW9ENDhiZ2xT?= =?utf-8?B?UWNPK0pvTTIwOUZzOXQ4UT09?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(366007)(376005)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NHVsT3lEeXM3TFVQVm1qNlM0WlRBcmNMZEJUTXNGK2dkSkw1cFlqM0IwZ2Nu?= =?utf-8?B?WWZ3YWNCaC9icU91M1BiL3lGY1pCa0Z1ZWhNd0dDNURRWW90S1RGaEhPRURS?= =?utf-8?B?Q09tRmgvRjlWb2g3dEJ5NGIxd2IvdXhQNlJnSThnaUFTNS9UcWdZT29zOVZi?= =?utf-8?B?Z0diM2ZtcHJKUHZJSWdyQXZlQ3BKK3JGOFhBOE5tcGJqMUZpOGI5RGYweG9D?= =?utf-8?B?QUJzaGs0cThGVVNPc09WOC9uMndCRXV5c3BlUlM3ZnpjRmtDSm94aUVDVGxi?= =?utf-8?B?VkRhOGdYdVllSWRaZ1k4UUh5ekpXMzBxMXpqTlRMQW5EVTkvc1MvN0V2d3Uw?= =?utf-8?B?SzZaMHRyQkFlNWVFKzQrL0ZUSHJIL3VrNTdyYVpRTzZDQkF5UllsTVMvY2s0?= =?utf-8?B?bU4rOEFodW42emRBZVUycEM1eklVZ083OG5aTDliN2d6cjdnUmc2dVRJUDNa?= =?utf-8?B?bzlqSy9hbWRhekJscjBqM28wRVNNbWF6dDRneTFKMDF0d1FDTDRpREl0bm5z?= =?utf-8?B?R0hmVjB2bDE5TURTd29rbkkxS1UwMmdydlpKZjRXVkZRWG9aZjhZemo1WW5s?= =?utf-8?B?RzZIMzAzUURlc1BTbDZLQ3dLZmwwNHpkbndyNVZsUFFmeG1TSUpaSjB5b1Ry?= =?utf-8?B?ZmY1MExCWW01Wmc5bUhVcU0wZk8zS3NEMjBPa1hZQU1RcFdaQmtWOUE3dUpk?= =?utf-8?B?aEhvdVFrRHo2bVFuTTgvcHNEZGVxdU02VUJzamRYUllvYnY2Q0MxNlBFTnRy?= =?utf-8?B?QjRNQlMwQXNNdGtMN1FUS3hOMVNpSlZXQU1nOHZveTZ6WEQyZkRDbmYvYnZK?= =?utf-8?B?amQxVmpidDRQUVBRZXJWT2RJUGNUSXZtaEFmMTZabWJJRi9FU21jRG9qa2VX?= =?utf-8?B?d2hhWDQ1UXY0bWxxY3JFMUx4c0xEUnpPbk5zSGxMNVZqYnNVU2l5MXM5UFQ4?= =?utf-8?B?MEI0UENSL1FGbWZWY0h2TjBnRWh1WVNFdFI1UmNQaFo3WjhGYjdUMHNJWGc3?= =?utf-8?B?NGNxMEtmOFdYRW5IcVc4MVdTSVJLampEWktuVE02VEFMa1QxVm1OZ0JteGc3?= =?utf-8?B?TGMzYlc1MmM5UHpycmxWaUZwZEd5WmtNbzVSYXB0QnVMb3NkVENhcU1TbG4y?= =?utf-8?B?czQ5WUhJckhDNGNkeXllNTNBa2FDU3MwSkRkUy83Vi95NUh4SG1yOVd2aEhy?= =?utf-8?B?NjlnUEMzaHYyNWlMNTJ6STRUWU5mS3J1QzB6TnA1N2lpbC9UbjFxWW4rdUVz?= =?utf-8?B?cnNDY1hyaU9uQ0Q3dTYzZXZaSzZkSlNJTzVVSE82U2Q1TDZ4a2tjUUZvT01y?= =?utf-8?B?MmhhSnJJVWoyYktzcGF3akZTanphM05TaHlmYTcrMEwrelVIUm4zVk5Ia3Yy?= =?utf-8?B?cXczcXpZdlMxcFJva0NrR21aTXhyUGRibThPclg1Vlg3K0lESTFDUmdPSFh2?= =?utf-8?B?cllEYzY4b081L2xOQW9takU0aEE4dE16em1lalVQcW1mRlZXZ0xrM3VMdGpP?= =?utf-8?B?M01YdGU3ZmlMR3pOdnRYUklZVkNocDMxemxZSFd5V3N4N2o4N1I3Mmp6WFRt?= =?utf-8?B?UG9panIwdmdTdFhTbVcwbzhLcDFsTnhzU1ZnYnJkdGpnd3E5NXdRODJIeUM2?= =?utf-8?B?bm1iWTVTOEJrMmVCZHh3TG1YM1JWd0NoQUQ4VmVMa1paWXlCbGVDTS85cEhH?= =?utf-8?B?elNZcWlGdHFwV04wdEcrS1loVjNmbUQvZnA2OTdoUkxDUTNmckV1T09sUDc5?= =?utf-8?B?NjdKSFhFOU5PMHp5RXVvc01GbDFEQjQ2eDRFWTI0TWlnOWtQc0pxc0R2c3VW?= =?utf-8?B?ZUVNWDVFN2NZd1praHp5RlM5U3FkZHBaZkx2NlJzM2JKYW8xMEdCRkxpMHdk?= =?utf-8?B?NmJ0WDBNcGQ3QlBJZkthSXN4MWF4dEo4Z2N1ZHY3U1JTQ0o2d1dsS3FTQWxu?= =?utf-8?B?T1d3U2NpeWtTSTlmNzhjN3M1M21rRTljQUZJdGtDVlAxOGg1SkZVbGFoOFdw?= =?utf-8?B?WEJNN2wrM0dxZHRBNWlRbGdmeEhBVFhlalp0MUNNV2ttVXRxT2tVSG1QTHl2?= =?utf-8?B?WUVCNjlaUjAxQ21qTlorV1ZrWitMcEVYdFo5SlRpZG55NTREd0g5OEUwVE5O?= =?utf-8?Q?CAiRC6+5wJ8tYWXKGS9sWAxqM?= 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: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a39a417e-ba18-4fbc-31cb-08dc62a82ed5 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2024 08:42:45.9340 (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: ewX4KZGOCGVgwZLySoEVah3yb19r9t/djxecdjYWFLXru4oRzahT2ze4xretg9kZhVcaqDJosOnv2eoWAxtQEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB7526 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiBPbiAxOS4wNC4yMDI0IDA5OjM2LCBDdWksIExpbGkgd3JvdGU6DQo+ID4gVGhpcyBwYXRjaCB3 YW50cyB0byBvcHRpbWl6ZSB0aGUgZW5jb2RlciBvZiB0aGUgdnZ2diByZWdpc3Rlci4NCj4gPiBQ cmV2aW91c2x5IHdlIHVzZWQgVmV4dnZ2diwgU1dBUF9TT1VSQ0VTIGFuZCBleHRlbnNpb25fb3Bj b2RlIHRvDQo+IGhlbHANCj4gPiBlbmNvZGUgdGhlIHZ2dnYgcmVnaXN0ZXIsIHRoaXMgcGF0Y2gg c2ltcGxpZmllZCB0aGUgbG9naWMgdG8gb25seSB1c2UNCj4gPiB2ZXh2dnZ2IGFuZCBhZGRlZCBh cHByb3ByaWF0ZSBWZXh2dnZ2IHZhbHVlcyBmb3IgdGhlIHJlbGF0ZWQNCj4gPiBpbnN0cnVjdGlv bnMuDQo+IA0KPiBUaGlzIGxvb2tzIHRvIGJlIGEgZ29vZCBtb3ZlLCB5ZXQgeW91J3JlIG5vdCBm dWxseSBsZXZlcmFnaW5nIHRoZSBwb3RlbnRpYWw6DQo+IEFmYWljdCBhbGwgdXNlcyBvZiBTd2Fw U291cmNlcyBub3cgZ28gYXdheS4gSGVuY2UgU3dhcFNvdXJjZXMgaXRzZWxmIHNob3VsZA0KPiBn byBhd2F5IHRvbywgdG9nZXRoZXIgd2l0aCBTV0FQX1NPVVJDRVMuDQo+IA0KDQpJIGZvcmdvdCB0 byBkZWxldGUgdGhlbS4gVGhhbmtzLg0KDQo+IEJleW9uZCB0aGF0IGxhcmdlbHkgKGJ1dCBub3Qg b25seSkgY29zbWV0aWMgY29tbWVudHM6DQo+IA0KPiA+IEBAIC0xMDQyNiw0MCArMTA0MjYsMzUg QEAgYnVpbGRfbW9kcm1fYnl0ZSAodm9pZCkNCj4gPiAgCQkJCSAgICAgfHwgaS5lbmNvZGluZyA9 PSBlbmNvZGluZ19ldmV4KSk7DQo+ID4gICAgICB9DQo+ID4NCj4gPiAtICBpZiAoaS50bS5vcGNv ZGVfbW9kaWZpZXIudmV4dnZ2diA9PSBWZXhWVlZWX0RTVCkNCj4gPiArICBzd2l0Y2ggKGkudG0u b3Bjb2RlX21vZGlmaWVyLnZleHZ2dnYpDQo+ID4gICAgICB7DQo+ID4gLSAgICAgIHYgPSBkZXN0 Ow0KPiA+IC0gICAgICBkZXN0LS0gOw0KPiA+IC0gICAgfQ0KPiA+IC0gIGVsc2UNCj4gPiAtICAg IHsNCj4gPiAtICAgICAgZm9yICh2ID0gc291cmNlICsgMTsgdiA8IGRlc3Q7ICsrdikNCj4gPiAt CWlmICh2ICE9IHJlZ19zbG90KQ0KPiA+ICsgICAgY2FzZSBWZXhWVlZWX1NSQzI6DQo+ID4gKyAg ICAgIGlmIChzb3VyY2UgIT0gb3ApDQo+ID4gKwl7DQo+ID4gKwkgIHYgPSBzb3VyY2UrKzsNCj4g PiAgCSAgYnJlYWs7DQo+ID4gLSAgICAgIGlmICh2ID49IGRlc3QpDQo+ID4gLQl2ID0gfjA7DQo+ ID4gLSAgICB9DQo+ID4gLSAgaWYgKGkudG0uZXh0ZW5zaW9uX29wY29kZSAhPSBOb25lKQ0KPiA+ IC0gICAgew0KPiA+IC0gICAgICBpZiAoZGVzdCAhPSBzb3VyY2UpDQo+ID4gLQl2ID0gZGVzdDsN Cj4gPiAtICAgICAgZGVzdCA9IH4wOw0KPiA+ICsJfQ0KPiA+ICsgICAgICAvKiBGb3IgWE9QOiB2 cHNobCogYW5kIHZwc2hhKi4gICovDQo+ID4gKyAgICAgIGVsc2UNCj4gPiArICAgICAgLyogRmFs bCB0aHJvdWdoLiAgKi8NCj4gPiArICAgIGNhc2UgVmV4VlZWVl9TUkMxOg0KPiA+ICsgICAgICB2 ID0gIGRlc3QgLSAxOw0KPiANCj4gSW5kZW50YXRpb24gaGVyZSB3YW50cyB0byBmaXQgdGhlICJl bHNlIiwgbm90IHRoZSAiY2FzZSAuLi4iLiBFdmVuIGJldHRlciB3b3VsZA0KPiBiZSB0byBhdm9p ZCB0aGUgImVsc2UiLCBzZWVpbmcgdGhhdCB0aGVyZSBhbHJlYWR5IGlzIGEgImJyZWFrIiBpbnNp ZGUgdGhlIGlmKCkncw0KPiBib2R5Lg0KPiANCg0KRHJvcHBlZCAnZWxzZScuDQoNCj4gPiAtLS0g YS9vcGNvZGVzL2kzODYtb3BjLmgNCj4gPiArKysgYi9vcGNvZGVzL2kzODYtb3BjLmgNCj4gPiBA QCAtNjQwLDEwICs2NDAsMTMgQEAgZW51bQ0KPiA+ICAgIFZleCwNCj4gPiAgICAvKiBIb3cgdG8g ZW5jb2RlIFZFWC52dnZ2Og0KPiA+ICAgICAgIDA6IFZFWC52dnZ2IG11c3QgYmUgMTExMWIuDQo+ ID4gLSAgICAgMTogVkVYLnZ2dnYgZW5jb2RlcyBvbmUgb2YgdGhlIHNyYyByZWdpc3RlciBvcGVy YW5kcy4NCj4gPiAtICAgICAyOiBWRVgudnZ2diBlbmNvZGVzIHRoZSBkZXN0IHJlZ2lzdGVyIG9w ZXJhbmQuDQo+ID4gKyAgICAgMTogVkVYLnZ2dnYgZW5jb2RlcyB0aGUgc3JjMSByZWdpc3RlciBv cGVyYW5kLg0KPiA+ICsgICAgIDI6IFZFWC52dnZ2IGVuY29kZXMgdGhlIHNyYzIgcmVnaXN0ZXIg b3BlcmFuZC4NCj4gPiArICAgICAzOiBWRVgudnZ2diBlbmNvZGVzIHRoZSBkZXN0IHJlZ2lzdGVy IG9wZXJhbmQuDQo+ID4gICAgICovDQo+ID4gLSNkZWZpbmUgVmV4VlZWVl9EU1QgICAyDQo+ID4g KyNkZWZpbmUgVmV4VlZWVl9TUkMxICAgMQ0KPiA+ICsjZGVmaW5lIFZleFZWVlZfU1JDMiAgIDIN Cj4gPiArI2RlZmluZSBWZXhWVlZWX0RTVCAgICAzDQo+ID4gICAgVmV4VlZWViwNCj4gDQo+IFdo aWxlIEknbSBub3Qgb3Zlcmx5IGZ1c3NlZCBvbiB0aGUgbmFtZXMgdXNlZCBoZXJlLCAuLi4NCj4g DQo+ID4gLS0tIGEvb3Bjb2Rlcy9pMzg2LW9wYy50YmwNCj4gPiArKysgYi9vcGNvZGVzL2kzODYt b3BjLnRibA0KPiA+IEBAIC0xNDEsNyArMTQxLDkgQEANCj4gPg0KPiA+ICAjZGVmaW5lIERpc3A4 U2hpZnRWTCBEaXNwOE1lbVNoaWZ0PURJU1A4X1NISUZUX1ZMDQo+ID4NCj4gPiAtI2RlZmluZSBE c3RWVlZWIFZleFZWVlY9VmV4VlZWVl9EU1QNCj4gPiArI2RlZmluZSBWZXhWVlZWX1NyYzEgVmV4 VlZWVj1WZXhWVlZWX1NSQzEgI2RlZmluZSBWZXhWVlZWX1NyYzINCj4gPiArVmV4VlZWVj1WZXhW VlZWX1NSQzIgI2RlZmluZSBWZXhWVlZWX0RzdCAgVmV4VlZWVj1WZXhWVlZWX0RTVA0KPiANCj4g Li4uIEkgYW0gaGVyZSwgZHVlIHRvIHRoZSBsaW5lIGxlbmd0aCBpc3N1ZXMgd2UgYWxyZWFkeSBo YXZlLiBQbGVhc2UgY2FuIHlvdQ0KPiBrZWVwIERzdFZWVlYgYXMgYSBuYW1lICh0aHVzIHJlZHVj aW5nIHRoZSBjaHVybiBvbiB0aGUgdGFibGUgYmVsb3cpIGFuZA0KPiBhZGQgU3JjMVZWVlYgYW5k IFNyYzJWVlZWLCBhbGwgYmVpbmcgNCBjaGFyYWN0ZXJzIHNob3J0ZXIgdGhhbiB3aGF0IHlvdQ0K PiBwcmVzZW50bHkgaGF2ZT8NCj4gDQoNClNyYzFWVlZWLCBTcmMyVlZWViBhbmQgRHN0VlZWViBh cmUgYmV0dGVyLg0KDQo+ID4gQEAgLTEwMDAsMTMgKzEwMDIsMTMgQEAgcGF1c2UsIDB4ZjM5MCwg aTE4NiwgTm9TdWYsIHt9DQo+ID4NCj4gPiAgLy8gTU1YL1NTRTIgaW5zdHJ1Y3Rpb25zLg0KPiA+ DQo+ID4gLTxtbXg6Y3B1OnBmeDphdHRyOnJlZzptZW0sICsNCj4gPiAtICAgICRhdng6QVZYOjY2 OlZleDEyOHxWZXhWVlZWfFZleFcwfFNTRTJBVlg6UmVnWE1NOlhtbXdvcmQsICsNCj4gPiAtICAg ICRzc2U6U1NFMjo2Njo6UmVnWE1NOlhtbXdvcmQsICsNCj4gPiAtICAgICRtbXg6TU1YOjo6UmVn TU1YOlF3b3JkPg0KPiA+ICs8bW14OmNwdTpwZng6YXR0cjpzY2FsOnJlZzptZW0sICsNCj4gPiAr DQo+ICRhdng6QVZYOjY2OlZleDEyOHxWZXhWVlZWX1NyYzF8VmV4VzB8U1NFMkFWWDpWZXgxMjh8 VmV4VlZWVl9Ec3QNCj4gfFZleFcwfFNTRTJBVlg6UmVnWE1NOlhtbXdvcmQsICsNCj4gPiArICAg ICRzc2U6U1NFMjo2Njo6OlJlZ1hNTTpYbW13b3JkLCArDQo+ID4gKyAgICAkbW14Ok1NWDo6OjpS ZWdNTVg6UXdvcmQ+DQo+ID4NCj4gPiAgPHNzZTI6Y3B1OmF0dHI6c2NhbDp2dnZ2LCArDQo+ID4g LSAgICAkYXZ4OkFWWDpWZXgxMjh8VmV4VzB8U1NFMkFWWDpWZXhMSUd8VmV4VzB8U1NFMkFWWDpW ZXhWVlZWLCArDQo+ID4gKw0KPiAkYXZ4OkFWWDpWZXgxMjh8VmV4VzB8U1NFMkFWWDpWZXhMSUd8 VmV4VzB8U1NFMkFWWDpWZXhWVlZWX1NyYzEsDQo+ID4gKyArDQo+ID4gICAgICAkc3NlOlNTRTI6 Ojo+DQo+ID4NCj4gPiAgPGJ3Om9wYzp2ZXh3OmVsZW06a2NwdTprcGZ4OmNwdWJtaSwgKyBAQCAt MTA1OCw3ICsxMDYwLDcgQEANCj4gPiBwbXVsaHc8bW14PiwgMHg8bW14OnBmeD4wZmU1LCA8bW14 OmNwdT4sDQo+IE1vZHJtfDxtbXg6YXR0cj58Q3xOb1N1Ziwgew0KPiA+IDxtbXg6cmVnPnw8ICBw bXVsbHc8bW14PiwgMHg8bW14OnBmeD4wZmQ1LCA8bW14OmNwdT4sDQo+ID4gTW9kcm18PG1teDph dHRyPnxDfE5vU3VmLA0KPiB7IDxtbXg6cmVnPnw8bW14Om1lbT58VW5zcGVjaWZpZWR8QmFzZUlu ZGV4LA0KPiA+IDxtbXg6cmVnPiB9ICBwb3I8bW14PiwgMHg8bW14OnBmeD4wZmViLCA8bW14OmNw dT4sDQo+ID4gTW9kcm18PG1teDphdHRyPnxDfE5vU3VmLA0KPiB7IDxtbXg6cmVnPnw8bW14Om1l bT58VW5zcGVjaWZpZWR8QmFzZUluZGV4LA0KPiA+IDxtbXg6cmVnPiB9ICBwc2xsdzxtbXg+LCAw eDxtbXg6cGZ4PjBmZjEsIDxtbXg6Y3B1PiwNCj4gPiBNb2RybXw8bW14OmF0dHI+fE5vU3VmLA0K PiB7IDxtbXg6cmVnPnw8bW14Om1lbT58VW5zcGVjaWZpZWR8QmFzZUluZGV4LA0KPiA+IDxtbXg6 cmVnPiB9IC1wc2xsdzxtbXg+LCAweDxtbXg6cGZ4PjBmNzEvNiwgPG1teDpjcHU+LA0KPiA+IE1v ZHJtfDxtbXg6YXR0cj58Tm9TdWYsIHsgSW1tOCwgPG1teDpyZWc+IH0NCj4gPiArcHNsbHc8bW14 PiwgMHg8bW14OnBmeD4wZjcxLzYsIDxtbXg6Y3B1PiwNCj4gTW9kcm18PG1teDpzY2FsPnxOb1N1 Ziwgew0KPiA+ICtJbW04LCA8bW14OnJlZz4gfQ0KPiANCj4gVGhpcyBpcyBub3QgYSBzY2FsYXIg aW5zdHJ1Y3Rpb24sIGhlbmNlICJzY2FsIiBhcyBhIHRlbXBsYXRlIHBhcmFtZXRlciBuYW1lIGlz DQo+IG1pc2xlYWRpbmcuIEl0J3Mgbm90IHJlYWxseSBjbGVhciB0byBtZSBhbnl3YXkgd2h5IHRo aXMgbmVlZHMgZmlkZGxpbmcgd2l0aCAtDQo+IHRoZXJlIHdhcyBubyBTd2FwU291cmNlcyBoZXJl LCBhbmQgbm9uZSBvZiBpdHMgc2libGluZ3MgYXJlIGJlaW5nIHRvdWNoZWQNCj4gZWl0aGVyLg0K PiANCg0KJ3BzbGx3JyBoYXMgYW4gZXh0ZW5kZWQgb3Bjb2RlIGFuZCB0d28gbm9uLWltbWVkaWF0 ZSBvcGVyYW5kcywgdG8gZGVsZXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvZGUgYmVsb3cuDQoNCi0g IGlmIChpLnRtLmV4dGVuc2lvbl9vcGNvZGUgIT0gTm9uZSkNCi0gICAgew0KLSAgICAgIGlmIChk ZXN0ICE9IHNvdXJjZSkNCi0gICAgICAgdiA9IGRlc3Q7DQotICAgICAgZGVzdCA9IH4wOw0KLSAg ICB9DQoNCj4gVG8gaGVscCByZWNvZ25pemluZyBzdWNoIGFub21hbGllcyAocG9zc2libGUgcHJv YmxlbXMpLCBjb3VsZCBJIHRhbGsgeW91IGludG8NCj4gc3BsaXR0aW5nIHRoZSBwYXRjaCBpbiB0 d28gcGllY2VzPyBGaXJzdCBhIHB1cmVseSBtZWNoYW5pY2FsIG9uZSBpbnRyb2R1Y2luZw0KPiAo cGVyaGFwcyBzaW1wbHkgYXMgYW4gYWxpYXMgb2YgVmV4VlZWVikgLyB1c2luZyBTcmMxVlZWViB3 aGVyZXZlciBpdCBpcw0KPiBtZWFudCB0byBiZSB1c2VkLiBUaGVuIHRoZSByZW1haW5pbmcgY2hh bmdlcywgd2l0aCBhIG11Y2ggc21hbGxlciBkaWZmIG9uDQo+IHRoZSBhY3R1YWwgb3Bjb2RlIHRl bXBsYXRlcywgaW4gdGhlIDJuZCBvbmUuDQo+IA0KDQpIb3cgYWJvdXQgc3BsaXR0aW5nIGludG8g MyBwYXRjaGVzOg0KMS4gSW50cm9kdWNlIFZleFZWVlYgLCBTcmMxVlZWViBhbmQgU3JjMlZWVlYu IA0KMi4gUmVwbGFjZSBTd2FwU291cmNlcy4gDQozLiBSZXBsYWNlIGV4dGVuc2lvbl9vcGNvZGUg cGFydC4NCg0KVGhhbmtzLA0KTGlsaS4NCg0K