From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by sourceware.org (Postfix) with ESMTPS id AD8903858C78 for ; Tue, 12 Dec 2023 12:32:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD8903858C78 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 AD8903858C78 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.8 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702384329; cv=pass; b=Y66VbdUW2QUL4ChmBFGlqxa3+RT2RdQLI6RMkm7ZkcaRMEJVCepIYLje96qEV3Ao4MaBJSjpPAWRdDALTToYmD8+kMvPUIbVCeyXqlZaMXqNOwX/cakcTr/4br1+fKumJTIQGmiQ/FkuwrbsbMEXybnElqwx7/W18jkFzCr+ss4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702384329; c=relaxed/simple; bh=x9vS/AIPcA62n2o7Vx+jpHRLZX3uTSz3oSHgt6C2vU4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=QiJ7INGOuPZNOonXMLfGfHnJRwovARQbdUX+6fa3udF0o04oOpCjRWmBHBdr6/fC2PkP/WtwlbMj4DEFcb6oCTNr/7qJcQWjz8P9MM9k8+jziAosxwneLvY8tQatfc22hnD5YKmGER5dNc+s5DLyjWmC0uSQxCFunz8f6sPxrkw= 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=1702384328; x=1733920328; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=x9vS/AIPcA62n2o7Vx+jpHRLZX3uTSz3oSHgt6C2vU4=; b=oI6H2mPe97fwZUlwj3UpQL9BgVn6Zjkmta40nKoVJlNNA/AUVWFnHWJT /X/k3ShoPM7xprh6+mcYwL4XBRTqNyMwK4Gv/gJOBt6qK62IRfuglp02M mBfdUNumrfwd2SQCmi388I1kM037SC4VD3bADF0e5bJSRe/uKZKjNYnFj 8likKexfrKHlEnrKj/j+2Nx4zmE9b6nOKjpq940IiwHiA4M43ZCozXhGi Kyikoq6UYI5Kq8o1F7blIeIiH5g8rfhFAwmYYvhndI8bGn0S2hYlgpOB2 Ai/SSm0EK9CeIOfoJrNrNQXO0PYJRMi0vBX0LE/dXCNNfm+8q7FJW0rJe Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="8167886" X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="8167886" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 04:32:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="14971144" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Dec 2023 04:32:06 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.35; Tue, 12 Dec 2023 04:32:05 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 12 Dec 2023 04:32:05 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) 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.35; Tue, 12 Dec 2023 04:32:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W+/uRX4ry0xJlGzGssD95iHFDCwfRksdCKakN4xiUeUL7jWG7QiUHci9+3SSvkJlC9OhSiP16VG3SQe8j53LOeP4iM7qKgMWNlNjEXei3QlusuwnSvVi2nhn3pg5b2nFF/rBaeqVH/5bzH+gPOAGUqFzy+CMqSjXK//c3b0vTBThrOhRPJBuW7LAGDml602DgCWXl1HF81qESC2OCvvGU/nrb3ONd7+TuiHBlOjI5I/C5pShOwgFog7u4qcWM0LvTbyt/pSl7sM4UEGKDWGZDIXUO6bDyUtwebxirC7yzvKYAYHMNbRy+FBfFFqHWxoe+PwXD6Ee1bxlLE8hNu4ydQ== 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=x9vS/AIPcA62n2o7Vx+jpHRLZX3uTSz3oSHgt6C2vU4=; b=XVjZ4K7keM1GOsnVYGwQPfGMvOSVI7FKQZtq4sreQa+rZZE34YACK36PXW2GJQc4jue43U9Wir0F5zdStbHb1JuGOaI3U9LWe4aA1XZmxI9FN+OZ1FGHFNfWtrXYsfE33fYBpYO8x7/IIt58CBgLitZJXrTqshSCSKs1KZsUUqSljLGFywk+XWLUFJ1khR6WcyAiUl93hQvBejiC061+GFmRKYsbpUpeLlmU9Y0+Z8XateHsJZaj2OzjFtci5C15mkMJYi/h8nThp7FOon7uJEmYxDvoB/snPbkhMMGEDSktBDKoEvM3wHF8gSc9tUiyXtvfz4pYEZMYxo9GQLel1w== 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 DM4PR11MB7400.namprd11.prod.outlook.com (2603:10b6:8:100::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Tue, 12 Dec 2023 12:32:03 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549%3]) with mapi id 15.20.7091.022; Tue, 12 Dec 2023 12:32:03 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Topic: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Index: AQHaHqSBoOJdrIV6akyqA3/eSh9S+7Cd12QAgAEdKVCABOfkAIABrRPwgAASiQCAAAScgA== Date: Tue, 12 Dec 2023 12:32:03 +0000 Message-ID: References: <20231124070213.3886483-1-lili.cui@intel.com> <20231124070213.3886483-4-lili.cui@intel.com> <546c8890-0526-49a3-8310-319358bf55c2@suse.com> <0bb5fbcd-f58e-48ad-a5ee-3413b026f903@suse.com> <61ef66ac-ae1c-4c57-b800-475437e225e6@suse.com> In-Reply-To: <61ef66ac-ae1c-4c57-b800-475437e225e6@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_|DM4PR11MB7400:EE_ x-ms-office365-filtering-correlation-id: 918d28f2-dad5-42e0-60c7-08dbfb0e584b 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: E52hBUh+vFgKTxOSGRQJCVanbpX9I0Nfl5aWY2q5Flm75bn16Z4cVUVwasyHe5GlrduPJFC6JuqAxGNkLBrvS8ZbsfzWzAPUt9xDbldd1H6CHlGG5pzs9Kno5zkF9FLMY70E3xwSILfrzg+JzLOmcfcPKH2/l6ZDpQKQYEmaKabXXg4JyX74VB0Dho1UfDm9Vx0sjyBY/SqU9YmjuyUpqYwHKvLy/guLp1/g5i7dQyWV4EXlHnc+7Mx3nD2eMWmW6JiHMK86B3x1JsOx+qt1tFV90V1FCY/3wl93rWrkFxv/g/XPaHy3QYty8tHLRHg79901iCwRz29ULpI6S2GFp8VMs/HX01cxt58V+zqKdhO2yBKKiarIEo3gaQ8Mso1NGUtapCoFVHzqADbJ3U/djPOo1Lva0I/RQXhYCxyC6sjLfZbbCjgRI5xur0Cce/cP0j26BLFRFOOjLa1dG/ebs1xfJhQlRd1MLWecyVrGss/Z6FRb+MMns+L3+LYx2EHluhCzE6HOtVfsItIFENY3Z1D2GDa8o3IkKufSbQRlMEHZtHdpTuiEB2IohEVdjLhX599bBznXKiO6OUmDLfurIfiFHKy75a0k31mEogpMyFxRZc6tAjq9v0uZni0uTr9Z 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)(376002)(346002)(396003)(136003)(39860400002)(366004)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(26005)(83380400001)(7696005)(6506007)(9686003)(122000001)(5660300002)(4326008)(8936002)(52536014)(8676002)(41300700001)(2906002)(478600001)(71200400001)(38100700002)(316002)(66446008)(6916009)(66556008)(54906003)(64756008)(66476007)(66946007)(76116006)(33656002)(86362001)(82960400001)(38070700009)(55016003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eXdYWmNjNndTZW1iOE02eFBSeUpITVgvUVN1bk5qaW04V2ZaKzY3RTBXaTMy?= =?utf-8?B?TnFmUTRQNmRNRjJWV09OUzMvYUhqVGNBc1NCV3JYTWJ5TVJ2SWs3M013M0hY?= =?utf-8?B?ejI3ZlU0TjBrWlVVaXNJd01EYnk1OERKSkE1S253V1ZPaHphUDF3S3dvY0l3?= =?utf-8?B?VnBzSGltMWlFZ2s1L3p6a0lEQUp6ZDhyQkg0TUFjYTNQRFloRDBNcmNyRVM1?= =?utf-8?B?Zmw0K3ZtNnhlcEk1WWZZMWNnQ3hpbnA3SUNZazk5NTY4aGlyVytUOU5Va3BU?= =?utf-8?B?WDNLaFZ4K2dtSk82bEprSFllNkY4QkpqelFyckVxQ00vbXN1TzFYWTRpMmx6?= =?utf-8?B?dmxHWFg2cTFZOFFoYlN4b3hIOTVSWmRoNEJlQnAveDN2YjVsd2hsOG14N3d0?= =?utf-8?B?RzFnRWk2VFNsSWYzQ0tpQ3VhL01jSWtBUDR3bWFYZWg0SDQxbFY4dzNrY0tj?= =?utf-8?B?dW5BOWlVbUZ3cTZFcTJHWTdPdElXUTRHVzlWTklXbm9FMnRxcVBHVTBxR3dH?= =?utf-8?B?dHllTXBDbjdEcXFKSmx1OUoyUnlHSzNRd2Z6VHZVUGplTTVMYUxOWXE1Qytr?= =?utf-8?B?bzd2YXg0S2ZhZlQzek1MdHRwaWVaRWpsdHE3UnhNaXpiZXdZMzQwdmNrMUpW?= =?utf-8?B?MFY0bGNnZ1F1aHBIUlpuaFZCaHFpd01GMFpybmd3R3FVUTVtVDk4b2xRSGdz?= =?utf-8?B?dGFsNnc1SjZvc0xJWnd2a3NKSSticXlaR0ZEOWE1aWI4eGNhUzROZzdET1VM?= =?utf-8?B?cXRjTkRHem1HdjJnSkdWSkpNSHBxelhHMEZJRWFaTlhMUVZ1NjVvQ0x0ZjRk?= =?utf-8?B?UTR1cVlmZTNZdUxMQmFIVmFxTTFqWTQ2cGhhd0VvUnZLcUZwOUJjSkJ2WkJv?= =?utf-8?B?M0pqT3RqMVhRVVZub3NLT1hud2lKUTVPaXIvR2ZoTWs1Wnh6Z1gxTVlkbmNn?= =?utf-8?B?d3JmazcxYzJ1K2VSODZwWk1iMndSbjk5ZytnK25kcGtCVXVicUcxSFNuak8w?= =?utf-8?B?V3FadEx2a3lZT1l3S0pEOFY3dzhZTXA2a1ZvYXAzeUhJSWlxZkM5TVRxWW9F?= =?utf-8?B?S2VNOVFLS0pOTW5ZT2RObW5SSGR0OXRmdFE2ZWZzNGVMNng0aENKVXFEb0lr?= =?utf-8?B?TGdQN2E0WU9md1V1QVYvM1ZvUmppNWpPejNjRlBuSXU3eFNOVTBUc0hQTmh0?= =?utf-8?B?c0ZtMzRZcjUwRDgzR2p4KzlRZGlVK1oxbXNJRzZRRm10Um5zaVVrR1c1bTV3?= =?utf-8?B?cGNrVjlWNk1hN1dNb3hLejd0S2hycDVTTUVxOVg5QmVZeXppbVlOenc1b1BT?= =?utf-8?B?ZVFGOGZTT2w2bVVhaHpaRDlUYklrSDBZQmhYYUt6clZxNmtoZ0tZdno5TC9w?= =?utf-8?B?a3EzclpJMUtjZGZPcDR1QlM0OWc0cStEZldoTXcwMTA4a1kraUhVWC8vRGs5?= =?utf-8?B?eWhOZXhzOG5uRUFzdjhYNnkrVXJUSGw1NzRudE9HK2s4bnJCbmw1QTJCN1h4?= =?utf-8?B?VTZVRHRxYmtjZEU2V0VJQzlIMXJuZzdxek80KzdRenczUlYwK3dyUGJVZnEx?= =?utf-8?B?bHFiZEJuekRkN2xVanloNVJySklEWGhWYmhMS3VjK0luZXhDYjEzcXp4aVFN?= =?utf-8?B?V2Jwek9vYitXTmM1MzZNbkZWdE5NUWlwaXcxTTlUY01jWlk1MC9OMEVXZEMr?= =?utf-8?B?ak1QTXpjeHZGUDNndk9SZDduREFwaHNLL0xIK1BEaUtyM0ltOGpEM1ZHQ1pJ?= =?utf-8?B?WXY3L1VXTDhHMGhuL0hMUWRYWklMb0IvRlJOSkdBcCs3a2FMTVZUMEZ5WGl6?= =?utf-8?B?MXN6RlB5ZWtIZnloU3p2TGR1SEV1US9MeHlHQmFsTWtWMWpvM1BKdWxjWmZk?= =?utf-8?B?STl5WmVDdGp0UXY4VDJ0TVFFMEs0NWlFR3lRYmVUTU8ycW5QZkVZeDRGdG91?= =?utf-8?B?T0xmVGRlNG9VQTV0VktNN1BFcEZEZkMxUXlmWkxFcUJxRnZhNy8zQnd1YW9l?= =?utf-8?B?QkxLWWJrNjg3emFQWUtEM1drdVc0aGdscENLTklheWg4YmVmQWhxZlUyc0Fy?= =?utf-8?B?U0dJUlluajNydGlBOEdoNndwVnM2T0grYjN1bnVFdnFsbEZySVlYaVFrQlhH?= =?utf-8?Q?mINMCwK/GmBNs3c1DfOE1AFH0?= 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: 918d28f2-dad5-42e0-60c7-08dbfb0e584b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2023 12:32:03.2098 (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: MVnDCH04ydseWQbmI/iTrLjAla18LfjzQXap73EqeqCSPY7FrhgF5F47Twi9il2xX+Vl40yBEfwad5OZZHH65w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7400 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiA+Pj4+PiBAQCAtMzY3MCwxMCArMzY3MywxMSBAQCBpbnN0YWxsX3RlbXBsYXRlIChjb25zdCBp bnNuX3RlbXBsYXRlICp0KQ0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAvKiBEdWFsIFZFWC9FVkVYIHRl bXBsYXRlcyBuZWVkIHN0cmlwcGluZyBvbmUgb2YgdGhlIHBvc3NpYmxlDQo+ID4+IHZhcmlhbnRz LiAgKi8NCj4gPj4+Pj4gICAgaWYgKHQtPm9wY29kZV9tb2RpZmllci52ZXggJiYgdC0+b3Bjb2Rl X21vZGlmaWVyLmV2ZXgpDQo+ID4+Pj4+IC0gIHsNCj4gPj4+Pj4gLSAgICAgIGlmICgobWF5YmVf Y3B1ICh0LCBDcHVBVlgpIHx8IG1heWJlX2NwdSAodCwgQ3B1QVZYMikNCj4gPj4+Pj4gLQkgICB8 fCBtYXliZV9jcHUgKHQsIENwdUZNQSkpDQo+ID4+Pj4+IC0JICAmJiAobWF5YmVfY3B1ICh0LCBD cHVBVlg1MTJGKSB8fCBtYXliZV9jcHUgKHQsIENwdUFWWDUxMlZMKSkpDQo+ID4+Pj4+ICsgICAg ew0KPiA+Pj4+PiArICAgICAgaWYgKEFWWDUxMkYoQ3B1QVZYKSB8fCBBVlg1MTJGKENwdUFWWDIp IHx8IEFWWDUxMkYoQ3B1Rk1BKQ0KPiA+Pj4+PiArCSAgfHwgQVZYNTEyVkwoQ3B1QVZYKSB8fCBB Vlg1MTJWTChDcHVBVlgyKSB8fA0KPiA+Pj4+IEFQWF9GKENwdUNNUENDWEFERCkNCj4gPj4+Pj4g KwkgIHx8IEFQWF9GKENwdUFNWF9USUxFKSB8fCBBUFhfRihDcHVBVlg1MTJGKSB8fA0KPiA+Pj4+ IEFQWF9GKENwdUFWWDUxMkRRKQ0KPiA+Pj4+PiArCSAgfHwgQVBYX0YoQ3B1QVZYNTEyQlcpIHx8 IEFQWF9GKENwdUJNSSkgfHwNCj4gQVBYX0YoQ3B1Qk1JMikpDQo+ID4+Pj4+ICAJew0KPiA+Pj4+ PiAgCSAgaWYgKG5lZWRfZXZleF9lbmNvZGluZyAoKSkNCj4gPj4+Pg0KPiA+Pj4+IFRoZXJlIGFy ZSBzZXZlcmFsIGlzc3VlcyBoZXJlOg0KPiA+Pj4+IC0gV2h5IGRpZCB5b3UgbmVlZCB0byBjaGFu Z2UgKHRvIHRoZSB3b3JzZSkgdGhlIG9yaWdpbmFsIGNvZGU/DQo+ID4+Pj4gLSBXaHkgZGlkIHlv dSBub3QgbW9kZWwgdGhlIGFkZGl0aW9uIGFmdGVyIHRoYXQgb3JpZ2luYWwgY29kZT8NCj4gPj4+ PiAtIEhvdyBjb21lIEFQWF9GIChDcHVBVlg1MTIqKSBjb25zdHJ1Y3RzIGFwcGVhciBoZXJlLCB3 aGVuIG5vDQo+ID4+IEFWWDUxMg0KPiA+Pj4+IGluc24gY2FuIGJlIFZFWC1lbmNvZGVkPw0KPiA+ Pj4NCj4gPj4+ICBJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbiwgd2UgaGF2ZSB0aGlz IGNvbWJpbmF0aW9uLg0KPiA+Pj4NCj4gPj4+IGttb3Y8ZHE+LCAweDxkcTprcGZ4PjkwLCBBVlg1 MTJCVyYoQVZYNTEyQld8QVBYX0YpLA0KPiA+Pj4gTW9kcm18VmV4MTI4fEVWZXgxMjh8U3BhY2Uw RnxWZXhXMXw8ZHE6a3Zzej58Tm9TdWYsIHsNCj4gPj4+IFJlZ01hc2t8PGRxOmVsZW0+fFVuc3Bl Y2lmaWVkfEJhc2VJbmRleCwgUmVnTWFzayB9DQo+ID4+DQo+ID4+IE9oLCBJJ20gc29ycnk6IEkg Zm9yZ290IGFib3V0IHRoZSBtYXNrIHJlZ2lzdGVyIGluc25zLg0KPiA+Pg0KPiA+Pj4+IC0gSWYg dGhlc2UgbmV3IG1hY3JvcyBhcmUgcmVhbGx5IG5lZWRlZCBmb3Igd2hhdGV2ZXIgcmVhc29uLCB0 aGV5DQo+ID4+IHNob3VsZG4ndA0KPiA+Pj4+ICAgYmUgYWRkZWQgdG8gb3Bjb2Rlcy9pMzg2LW9w Yy5oIHdoZW4gdGhleSdyZSB1c2VmdWwgb25seSBpbiB0aGUNCj4gPj4gYXNzZW1ibGVyLg0KPiA+ Pj4+IC0gU3R5bGUgcmVxdWlyZXMgYSBibGFuayBiZWZvcmUgdGhlIG9wZW5pbmcgcGFyZW50aGVz aXMgaW4gZnVuY3Rpb24NCj4gPj4+PiAgIGludm9jYXRpb25zICh3aGljaCBhbHNvIGNvdmVycyBm dW5jdGlvbi1saWtlIG1hY3JvIGludm9jYXRpb25zKS4NCj4gPj4+Pg0KPiA+Pj4+IEkgdGhpbmsg SSBhc2tlZCBiZWZvcmU6IEhvdyBpcyBpdCB0aGF0IHlvdSBnZXQgYXdheSB3aXRob3V0DQo+ID4+ Pj4gYWx0ZXJpbmcgY3B1X2ZsYWdzX21hdGNoKCksIGNvbnRhaW5pbmcgcmVsYXRlZCBhbmQgcXVp dGUgc2ltaWxhciBsb2dpYz8NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IEZvciB0aGUgb3JpZ2luYWwg bG9naWMgKCAuLi4gfHwgLi4uICkgJiYgKCAuLi4gfHwgLi4uKSwgdGhlIGNvbnRlbnQNCj4gPj4+ IGluIHRoZSBmaXJzdCBicmFja2V0DQo+ID4+IGFuZCB0aGUgY29udGVudCBpbiB0aGUgZm9sbG93 aW5nIGJyYWNrZXRzIGNhbiBiZSBjb21iaW5lZA0KPiA+PiBhcmJpdHJhcmlseS4gSSB0aGluayBp dCBpcyBJbmFjY3VyYXRlLg0KPiA+Pg0KPiA+PiBJbiB3aGljaCB3YXk/IElmIHRoZXJlIGFyZSBp c3N1ZXMgd2l0aCB0aGUgZXhpc3RpbmcgY29kZSwgdGhlc2UNCj4gPj4gaXNzdWVzIHdhbnQgdGFr aW5nIGNhcmUgb2YgaW4gc2VwYXJhdGUgKHByZXJlcSkgcGF0Y2hlcy4gT2YgY291cnNlDQo+ID4+ IHRoZXJlIGFyZSBhc3N1bXB0aW9ucyBtYWRlIGhlcmUgYWJvdXQgdGhlIENQVSBjb21iaW5hdGlv bnMgdGhhdCBjYW4NCj4gPj4gKGFuZCBjYW5ub3QpIG9jY3VyIGluIGFueSBvZiBvdXIgdGVtcGxh dGVzLiBTaW1pbGFyIGFzc3VtcHRpb25zIGFyZSBpbW8NCj4gZmluZSB0byBtYWtlIGluIHRoZSBB UFggYWRkaXRpb25zLg0KPiA+Pg0KPiA+PiBOb3RlIGhvdyBJIHVzZWQgdHdvIG5lc3RlZCBpZigp cyBkZXNwaXRlIHRoYXQgbm90IGhhdmluZyBiZWVuDQo+ID4+IG5lY2Vzc2FyeSBhdCB0aGF0IHRp bWUuIEkgZGlkIHNvIGluIGFudGljaXBhdGlvbiB0aGF0IGZvciBBUFggeW91J2QNCj4gPj4gd2Fu dCB0byBhZGQgYW5vdGhlcg0KPiA+PiAoc2VwYXJhdGUpIGlubmVyIGlmKCksIHJhdGhlciB0aGFu IGFsdGVyaW5nIHRoZSBvbmUgdGhhdCdzIHRoZXJlLg0KPiA+DQo+ID4gQ291bGQgd2UgcmVtb3Zl IHRoZSBDUFUgY2hlY2sgaGVyZT8gaXQncyBhIGJpdCB1Z2x5IGFuZCBoYXMgbGltaXRlZA0KPiBl ZmZlY3RpdmVuZXNzLg0KPiA+DQo+ID4gICBpZiAodC0+b3Bjb2RlX21vZGlmaWVyLnZleCAmJiB0 LT5vcGNvZGVfbW9kaWZpZXIuZXZleCkNCj4gPiAgICAgew0KPiA+ICAgICAgIGlmIChBVlg1MTJG KENwdUFWWCkgfHwgQVZYNTEyRihDcHVBVlgyKSB8fCBBVlg1MTJGKENwdUZNQSkNCj4gPiAgICAg ICAgICAgfHwgQVZYNTEyVkwoQ3B1QVZYKSB8fCBBVlg1MTJWTChDcHVBVlgyKSB8fA0KPiBBUFhf RihDcHVDTVBDQ1hBREQpDQo+ID4gICAgICAgICAgIHx8IEFQWF9GKENwdUFNWF9USUxFKSB8fCBB UFhfRihDcHVBVlg1MTJGKSB8fA0KPiBBUFhfRihDcHVBVlg1MTJEUSkNCj4gPiAgICAgICAgICAg fHwgQVBYX0YoQ3B1QVZYNTEyQlcpIHx8IEFQWF9GKENwdUJNSSkgfHwgQVBYX0YoQ3B1Qk1JMikp DQo+IA0KPiBJIGFncmVlIG9uIHRoZSAiYSBiaXQgdWdseSIgcGFydCwgYnV0IHRha2luZyB3aGF0 J3MgdGhlcmUgcmlnaHQgbm93IEkgZG9uJ3QNCj4gdW5kZXJzdGFuZCAiaGFzIGxpbWl0ZWQgZWZm ZWN0aXZlbmVzcyIuIE9mIGNvdXJzZSB5b3UgY2FuIHJlbW92ZSBhbnkgY29kZQ0KPiB5b3Ugd2Fu dCwgcHJvdmlkZWQgeW91IGNhbiBwcm92ZSBub3RoaW5nIGJyZWFrcy4NCj4gDQoNCkhlcmUgaXMg aW5zdGFsbF90ZW1wbGF0ZSgpLg0KQWxsIEkgY2FuIHNheSBpcyB0aGF0IGFmdGVyIHJlbW92aW5n IHRoZSBDUFUgY2hlY2ssIG5vIHRlc3QgY2FzZXMgZmFpbGVkLiBJIGtub3cgaXQncyBoYXJkIHRv IGNvbnZpbmNlIHlvdSB0byBkZWxldGUgdGhpcyBwbGFjZSwgb3Igd2hhdCBkbyB5b3Ugc3VnZ2Vz dCB0byBkbyB3aXRoIHRoaXM/IEFQWCByZXF1aXJlcyB0aGlzLCBvdGhlcndpc2UgdGhlIHRlc3Qg Y2FzZXMgd2lsbCBmYWlsLg0KDQotICAgICAgaWYgKEFWWDUxMkYoQ3B1QVZYKSB8fCBBVlg1MTJG KENwdUFWWDIpIHx8IEFWWDUxMkYoQ3B1Rk1BKQ0KLSAgICAgICAgIHx8IEFWWDUxMlZMKENwdUFW WCkgfHwgQVZYNTEyVkwoQ3B1QVZYMikgfHwgQVBYX0YoQ3B1Q01QQ0NYQUREKQ0KLSAgICAgICAg IHx8IEFQWF9GKENwdUFNWF9USUxFKSB8fCBBUFhfRihDcHVBVlg1MTJGKSB8fCBBUFhfRihDcHVB Vlg1MTJEUSkNCi0gICAgICAgICB8fCBBUFhfRihDcHVBVlg1MTJCVykgfHwgQVBYX0YoQ3B1Qk1J KSB8fCBBUFhfRihDcHVCTUkyKSkNCi0gICAgICAgew0KDQo+ID4+PiBTbyBJIGdpdmUgZXhhbXBs ZXMgb25lIGJ5IG9uZSBmb3IgZWFjaCBpZGVudGlmaWVkIGNvbWJpbmF0aW9uLg0KPiA+Pg0KPiA+ PiBXaGljaCBleGFtcGxlcyBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IEkgc2VlIG5vbmUgZ2l2ZW4g aW4geW91ciByZXBseS4NCj4gPj4NCj4gPg0KPiA+IFNvcnJ5LCBJIHdhbnQgdG8gc2F5ICJJJ3Zl IGxpc3RlZCBldmVyeSBwb3NzaWJsZSBjb21iaW5hdGlvbiIuDQo+ID4NCj4gPj4+IEp1c3QgZm91 bmQgY3B1X2ZsYWdzX21hdGNoKCkgaGFzIHNpbWlsYXIgbG9naWMsIEkgdGhpbmsgdGhlDQo+ID4+ PiBmb2xsb3dpbmcgaXMgdGhlDQo+ID4+IG9ubHkgY29kZSByZWxhdGVkIHRvIENQVUlEIGFsZXJ0 cywgYnV0IG5vbmUgb2Ygb3VyIGNvbWJpbmF0aW9ucyBhcmUNCj4gPj4gcmVsYXRlZCB0byBjcHVh dnguDQo+ID4+Pg0KPiA+Pj4gICAgICAgICAgIGlmIChhbGwuYml0ZmllbGQuY3B1YXZ4KQ0KPiA+ Pj4gICAgICAgICAgICAgew0KPiA+Pj4gICAgICAgICAgICAgICAvKiBXZSBuZWVkIHRvIGNoZWNr IFNTRTJBVlggd2l0aCBBVlguICAqLw0KPiA+Pj4gICAgICAgICAgICAgICBpZiAoIXQtPm9wY29k ZV9tb2RpZmllci5zc2UyYXZ4DQo+ID4+PiAgICAgICAgICAgICAgICAgICB8fCAoc3NlMmF2eCAm JiAhaS5wcmVmaXhbREFUQV9QUkVGSVhdKSkNCj4gPj4+ICAgICAgICAgICAgICAgICBtYXRjaCB8 PSBDUFVfRkxBR1NfQVJDSF9NQVRDSDsNCj4gPj4+ICAgICAgICAgICAgIH0NCj4gPj4NCj4gPj4g Tm90IHN1cmUgd2h5IHlvdSBwaWNrIG91dCB0aGlzIG9uZS4gVGhpcyBzcGVjaWFsIGNhc2UgaXMg bmVlZGVkIGZvcg0KPiA+PiBzc2UyYXZ4OyBJIGRvbid0IHNlZSBob3cgaXQncyByZWxhdGVkIGhl cmUuIFdoYXQgSSd2ZSBiZWVuIHBvaW50aW5nDQo+ID4+IHlvdSBhdCBpcyB0aGUgY29kZSBpbiB0 aGF0IGZ1bmN0aW9uIHdoaWNoIGZvbGxvd3MgYSBzaW1pbGFyICJEdWFsIFZFWC9FVkVYDQo+IHRl bXBsYXRlcyAuLi4iDQo+ID4+IGNvbW1lbnQuDQo+ID4+DQo+ID4NCj4gPiBJIGtub3cgeW91J3Jl IHRhbGtpbmcgYWJvdXQgdGhpcyBjb2RlLCBJJ20ganVzdCBndWVzc2luZyB3aGF0IGl0IGRvZXM/ IERvbid0DQo+IGtub3cgd2hhdCBJIG1pc3NlZC4NCj4gDQo+IFlvdSBwdWxsZWQgb3V0IHRoaXMg c3NlMmF2eCBjb2RlLiBIZW5jZSBJIHdhcyBleHBlY3RpbmcgeW91IHRvIHRlbGwgbWUgd2h5DQo+ IHlvdSBjb25zaWRlciBpdCByZWxldmFudCBoZXJlLg0KPiANCkhlcmUgaXMgY3B1X2ZsYWdfbWF0 Y2goKS4NCg0KSSByZWNoZWNrZWQgdGhlIGNvZGUsIG1heWJlIHlvdSB3YW50IHRvIHNheSBJIG1p c3NlZCB0aGUgb3V0ZXIgbG9vcC4NCg0KICAgICAgY3B1ID0gY3B1X2ZsYWdzX2FuZCAoYW55LCBh Y3RpdmUpOw0KICAgICAgaWYgKGNwdV9mbGFnc19hbGxfemVybyAoJmFueSkgfHwgIWNwdV9mbGFn c19hbGxfemVybyAoJmNwdSkpDQogICAgICAgIHsNCiAgICAgICAgICBpZiAoYWxsLmJpdGZpZWxk LmNwdWF2eCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgLyogV2UgbmVlZCB0byBjaGVj ayBTU0UyQVZYIHdpdGggQVZYLiAgKi8NCiAgICAgICAgICAgICAgaWYgKCF0LT5vcGNvZGVfbW9k aWZpZXIuc3NlMmF2eA0KICAgICAgICAgICAgICAgICAgfHwgKHNzZTJhdnggJiYgIWkucHJlZml4 W0RBVEFfUFJFRklYXSkpDQogICAgICAgICAgICAgICAgbWF0Y2ggfD0gQ1BVX0ZMQUdTX0FSQ0hf TUFUQ0g7DQogICAgICAgICAgICB9DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgbWF0Y2gg fD0gQ1BVX0ZMQUdTX0FSQ0hfTUFUQ0g7DQogICAgICAgIH0NCg0KPiA+IEZvciBleGFtcGxlDQo+ ID4NCj4gPiAuYXJjaCAubm9ibWkNCj4gPiBhbmRuICAgICglZWF4KSwgJWVheCwgJWVheA0KPiA+ DQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gICBpZiAoZmxh Z19jb2RlICE9IENPREVfNjRCSVQpDQo+ID4gICAgIGFjdGl2ZSA9IGNwdV9mbGFnc19hbmRfbm90 IChjcHVfYXJjaF9mbGFncywgY3B1XzY0X2ZsYWdzKTsNCj4gPiAgIGVsc2UNCj4gPiAgICAgYWN0 aXZlID0gY3B1X2FyY2hfZmxhZ3M7ICAgICAgICAgICAgICAgICAgIC0tLT4gY3B1Ym1pID0gMDsN Cj4gPiAgIGNwdSA9IGNwdV9mbGFnc19hbmQgKGFsbCwgYWN0aXZlKTsgICAgICAtLS0+IGNwdWFw eCA9MTsgY3B1Ym1pID0gMDsNCj4gPiAgIGlmIChjcHVfZmxhZ3NfZXF1YWwgKCZjcHUsICZhbGwp KSAgICAgICAtLS0+ICZjcHUgYW5kICZhbGwgYXJlIG5vdCBzYW1lLg0KPiA+ICAgICB7DQo+ID4g ICAgIC4uLg0KPiA+ICAgICB9DQo+ID4gUmV0dXJuICBDUFVfRkxBR1NfNjRCSVRfTUFUQ0gNCj4g PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gVGhlbiB3 ZSB3aWxsIHJlcG9ydCBhbiBhcmNoIGVycm9yLg0KPiA+DQo+ID4gICAgICAgICAgIGlmIChzdXBw b3J0ZWQgIT0gQ1BVX0ZMQUdTX1BFUkZFQ1RfTUFUQ0gpDQo+ID4gICAgICAgICAgICAgew0KPiA+ ICAgICAgICAgICAgICAgYXNfYmFkIChfKCJgJXMnIGlzIG5vdCBzdXBwb3J0ZWQgb24gYCVzJXMn IiksDQo+ID4gICAgICAgICAgICAgICAgICAgICAgIGluc25fbmFtZSAoY3VycmVudF90ZW1wbGF0 ZXMuc3RhcnQpLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBjcHVfYXJjaF9uYW1lID8gY3B1 X2FyY2hfbmFtZSA6IGRlZmF1bHRfYXJjaCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgY3B1 X3N1Yl9hcmNoX25hbWUgPyBjcHVfc3ViX2FyY2hfbmFtZSA6ICIiKTsNCj4gPiAgICAgICAgICAg ICAgIHJldHVybiBOVUxMOw0KPiA+ICAgICAgICAgICAgIH0NCj4gDQo+IFdoaWNoIGlzIHdoYXQg d2Ugd2FudCwgSSB0aGluayAoZm9yIHRoZSBwYXJ0aWN1bGFyIGV4YW1wbGUgeW91IHBpY2tlZCk/ IFlldA0KPiBhZ2FpbiwgSSBkb24ndCB0aGluayBJIGNhbiBzZWUgd2hhdCB5b3UncmUgdHJ5aW5n IHRvIHRlbGwgbWUuIEkgYWxzbyBoYXZlIHRvDQo+IGNvbmZlc3MgSSd2ZSBsb3N0IHRyYWNrIG9m IHdoZXRoZXIgd2UncmUgZGlzY3Vzc2luZyBpbnN0YWxsX3RlbXBsYXRlKCksDQo+IGNwdV9mbGFn X21hdGNoKCksIG9yIGJvdGguIEZvciBleGFtcGxlIGluIGluc3RhbGxfdGVtcGxhdGUoKSB5b3Ug bWF5IGluZGVlZA0KPiBiZSBhYmxlIHRvIGdldCBhd2F5IHdpdGggbGl0dGxlIG9yIG5vIGNoYW5n ZXMsIGFzIGxvbmcgYXMgdGhlcmUncyBubyB1c2VkDQo+IGZlYXR1cmVzIHRyYWNraW5nIGZvciBB UFggKHNlZSB0aGUgZWFybHkgRUxGLXNwZWNpZmljIHBhcnQgb2Ygb3V0cHV0X2luc24oKSkuDQo+ IFRoaW5ncyB3b3VsZCBiZSBzb21ld2hhdCBpbmNvbnNpc3RlbnQgdGhlbiwgYnV0IHRoYXQgbWF5 IGJlIHRvbGVyYWJsZSAoYXMNCj4gbG9uZyBhcyBwcm9wZXJseSBqdXN0aWZpZWQgaW4gdGhlIHBh dGNoIGRlc2NyaXB0aW9uKS4gTm90IGdldHRpbmcgdGhpcyBpbnRvDQo+IHByb3BlciBzaGFwZSBy aWdodCB3aXRoIHRoZSBpbnRyb2R1Y3Rpb24gb2YgQVBYIG1heSBiaXRlIHVzIGxhdGVyLCB0aG91 Z2guDQo+IA0KDQpIZXJlIGlzIGNwdV9mbGFnX21hdGNoKCkuDQpJIGp1c3Qgd2FudCB0byBzYXkg dGhhdCBmb3IgdGhlIEFQWCBwYXJ0IHdlIGRvbid0IG5lZWQgdG8gaGFuZGxlIGl0IGluIHRoZSAi RG91YmxlIFZFWC9FVkVYIFRlbXBsYXRlLi4uIi4NCg0KVGhhbmtzLA0KTGlsaS4NCg==