From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 1B92F3858D20 for ; Wed, 15 Nov 2023 02:52:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1B92F3858D20 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 1B92F3858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.43 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700016759; cv=pass; b=PtKNox0AzuzcNTBdkfItEmb3JTlIlpkENeZfKVLd58wQ15CcCAs8cQe99+Jb+NLpWkY2QvrO5QOhK5XpI87vyTzz+VXWmUbOFvLjWtvc5ZKw7J3InCCiv0+jWVfapf5YAiwBcTKYE1BT6DxXwXd6+YsgtcQ4K4DZjMVE6Gilo9k= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700016759; c=relaxed/simple; bh=XnDi+eJljL90Ttfy3si2hjbZBfptVeEBsbxPTA6/3TE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=SzDP8gNPsfhq8Gxa3nLGIJZxnRt5dM4TAH6szru8mOL2/kZe9AIrSN5TuMtWUNIMk/emphwtAgoW5utMoeryZ+tnDtfrWpbGegPTnl3v20mw/C5RL0HfU81wg6dljHh91X6ZqeaedekWXhoe7Jl5zldp1y30eDDzvlmgMYzHNOM= 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=1700016757; x=1731552757; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XnDi+eJljL90Ttfy3si2hjbZBfptVeEBsbxPTA6/3TE=; b=IxU4KgaqOwmNUbTqq6KF8s4gdXpgCDn+hug/AJe9hocnJFg4QHXY9pGv Oa0MyNE6bqdP9BHwPOS2PF/Gzd0s5Dp4WJhD+HZkMCFBnIWLOsMVTaIbK 5awSmivomLMTsmpxgQkzGyMGD4wV2/SHzq5rHuHtJrQWr2BW0Q8wIKnTS lLS9rAT9yR7QH4V80FQ1icYfVXRYCLLWIKxUnEf2tfWJqk9i+lqnPRBBI yRmFpMiaBkX2Js2QyliTvLv8/wfcBB45+hktNRtAMzRB4r4QVMvACuUN5 a0RIEvqjo1PDQ2roqOUce1fDjEqKixrbp4hFgz2tMCYZeqJNfq8KCq15j A==; X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="477019940" X-IronPort-AV: E=Sophos;i="6.03,303,1694761200"; d="scan'208";a="477019940" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 18:52:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="830820118" X-IronPort-AV: E=Sophos;i="6.03,303,1694761200"; d="scan'208";a="830820118" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga008.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Nov 2023 18:52:35 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.34; Tue, 14 Nov 2023 18:52:35 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 14 Nov 2023 18:52:34 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.34 via Frontend Transport; Tue, 14 Nov 2023 18:52:34 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Tue, 14 Nov 2023 18:52:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PdkDbgrZn8LrZC+TISqHwI6pwqFwNDYXQqZHj3RCSFQ84L0Fy6poSBE90AX+Bhd74P8zUQkt85Hf+G7WA6o5u9Tc63rzqCp2dtrL3B0E4Ko0mPpuH6xcJM9L6i50DxMai55D6eMejUiMAE26ArKVgU1YRTVrfvP8G5D0JOIdm1xotkgdgv+LTZ+6+lWggnjwpN9XRofZW97D2x13+5iQHfAvM2UaWHMdLb1sVFCmdDf+oJQPe8vgb9zmamhHh4uBzsZ1p5o+F/RmJ4kr0sYIob2+DuwOZvrtMz81imm68fhjrpm+4lIQwp+JAjzU46fAbozlsB8+Wgg/By5sVHrt7w== 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=XnDi+eJljL90Ttfy3si2hjbZBfptVeEBsbxPTA6/3TE=; b=SEvrtNknC3cI2vBjM/YRHXRKvUD1JP4k/1DwXgFMG53fG+exjpvNIlEtggcStHIBo3pAAEBHjE1YmMcx95gCgYuj09tKDyW+ksQbRO+HnBKcaYNswyAo90iWZMYgFg6p+54y3IGgT0n6J61BAWJGzxCw2fwhxNhkXIxpltIeL8EnzwFBU7MbSRCmR+9RZWl7KVD11xtifiWJNVqg5Z0mRCT2Ti6qGpgEszUKV0ioIwsp1mhQY+Ih1Hr8foMK1KAwHSbeZGeK3gTke127aKY5W+iy5HOhLF17tgG+sA61nLzC/yXXjtNazt9JoTssll/2F211E/QmkX7vLlEQCUutdw== 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 SJ0PR11MB5940.namprd11.prod.outlook.com (2603:10b6:a03:42f::18) by PH0PR11MB5626.namprd11.prod.outlook.com (2603:10b6:510:ee::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Wed, 15 Nov 2023 02:52:29 +0000 Received: from SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::8a10:338f:c17e:dd7f]) by SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::8a10:338f:c17e:dd7f%7]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023 02:52:29 +0000 From: "Hu, Lin1" To: "Beulich, Jan" , "Cui, Lili" CC: "Lu, Hongjiu" , "ccoutant@gmail.com" , "binutils@sourceware.org" Subject: RE: [PATCH 7/8] Support APX NDD optimized encoding. Thread-Topic: [PATCH 7/8] Support APX NDD optimized encoding. Thread-Index: AQHaDX/bY3NWB3vRSUSaY4murTglurBx1hqAgAD3UBCAAI9LgIAEKPMwgAIwI4CAAP1IsA== Date: Wed, 15 Nov 2023 02:52:29 +0000 Message-ID: References: <20231102112911.2372810-1-lili.cui@intel.com> <20231102112911.2372810-8-lili.cui@intel.com> <8ed3b7a2-8cba-6428-1c01-5b6c28ca4a89@suse.com> In-Reply-To: <8ed3b7a2-8cba-6428-1c01-5b6c28ca4a89@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: SJ0PR11MB5940:EE_|PH0PR11MB5626:EE_ x-ms-office365-filtering-correlation-id: c8e3b51a-6a45-427b-2850-08dbe585e888 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: huArqJ29EF4lzqfoc/P3DK4HtjAUzOKeUBBOiKhHnIsJU2eGCRheo0PtYYUXbJY90EMpQYEbR2clkIIK2AA6LkcGkzW3ZobRBPCJUxY8Z2rjgu97ooaz8s/Eo0gVIqAlYpt9EP6gmXBW7fxSWbkHXq2nnLEVC6fYRauiHS/iyA4d0dr7FOr35X2wcHHsf/2OLSe5th+5nF6GhWERmV36AgzufWLlI+9U4z8CZlLranuP7vVwEdSU/10c0cD57sGo30rINAnYSkIIbkWHXBWGjKEkwN26vACpXOpgGYEY42ukZj7tdBvRoc1iyIE7l2pi0O2GepkU4ro0y+tddtopGSg8Rt2l/KfrGTTG31dycpbNrWD+8HioUSULvmeePIvaj9Zd9m824p5xHabXr3uV4/5+h2Mmhl8chaFojDofW7DDJbB590ihx7iaM9yJpjoWodjDB9BIBD9ry7aTca/Ry8zti6+vpidnYK8tIYQCNCa4zjhLrGQEMho6pyrINo3pxQ9xcA+P2zLJc9jtct3kPDwYRXdS29ADN7OPNzINBoYgxXLU7CTRcLfcTNka3drdrUOo32wt2PDUWRylMmopDD00I3zvFGWoCPeod3TR37aoxXpLTEWVEib535GUkIv0 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5940.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(4326008)(7696005)(6506007)(52536014)(9686003)(53546011)(38070700009)(2906002)(26005)(38100700002)(122000001)(82960400001)(83380400001)(33656002)(86362001)(41300700001)(5660300002)(478600001)(6636002)(316002)(76116006)(64756008)(66556008)(66476007)(54906003)(66946007)(55016003)(66446008)(19627235002)(110136005)(8936002)(71200400001)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VGRxZ1FmaFRxN3BZUmZYZVdwL3k2MjFwRU9OWkR5WlVBcmt6Slhad2NnOGxr?= =?utf-8?B?a3daR3VrVFVndVVnVzdnYkdDWkdJUEJvbDFlcDI5Yjk4bGJ1KzdWS081RHk2?= =?utf-8?B?WHdJYUFwSHN6ZG10UGcrNnVmbFpDdmxZcEdpQ2wxbkYwdHlxM3pRZ3FUU00w?= =?utf-8?B?RHE3VXphTlh4Q0dSUnQ4bk1CRFZvVXZMQjhSS0lZaG1TaXFFUm1aZ0NMTkp6?= =?utf-8?B?Q0toV1lQRmRGVXZZWUZ2NE9lTGZOUTk0c2RaaGRFQ01WL0Q1Q0JOMWY0Z2l5?= =?utf-8?B?OVhteTRXQU1zRVNOelBwdy9RTGhCbEhKZ1N3Z0JwdzBkcWNueUl6Z0hQaERF?= =?utf-8?B?UGhhSlEza2x5MEpXKzRmNHpvOHZGTkhrQm9hNi9zdlptZzI3MEpDdjFTRkx4?= =?utf-8?B?V29VSXBEdC8yOWh6cmpiQW5ENFFlOTZocC9pNEJmRllTS2FXTHdyWWR3NDd1?= =?utf-8?B?cWJoUnZ2UFR3ai9pU1hCeDhQWGw1MDFGVHBkSEFzUGJYTlJhSlhnK0FyMUwz?= =?utf-8?B?VTlleUpuSDZ5LzJ0YkNSSmpBdU5HYklIdjJkUitDMDhyaGU0NHQ4QUJ1MG80?= =?utf-8?B?R0p4a1JsM1Arc0Z2MlNzVVJEWXRMVTE0NjVadFZxTU42b2VycW95Sk1vdWcw?= =?utf-8?B?VjhtM01hMTNhcWhjSExmbS9KeFhOVzRZbXRrL3FNQXhUOTUrNlEvenFiUUtw?= =?utf-8?B?N0t2cGw0cEtiSzNEckN1ZXRpMm1wQVoyWHMyRS9Cei9MYm1qMlJtR3N1Mkwz?= =?utf-8?B?bVVzUUNYQ0wwd0p5L25xakJmdERNUXJsamlhbkw2NnYxNGxwZHdkU29KRHhN?= =?utf-8?B?L1l1OGtDbkllSWdGZ1ZnVWZGaVY5S2lpM1Rxem8xVWF6TUFuR0x6eVhGaXdw?= =?utf-8?B?UThQaWZVcUhjNFVrMWN1ZTBKVllRdExuemtsNFlKSkF5MC9ObjByRHZyT3Np?= =?utf-8?B?ekJrWTBVRWVSS3ppU2tMZkExbnJYMTBvS3d1ZFpucldySXdraTd2WUNRaVF5?= =?utf-8?B?NDZrQnllYUE4Lzh2TFQ4L0E1MjEwUFZndGl3VXJ3QlV6ME9DZHdwK3p3NXNJ?= =?utf-8?B?eitibFlZT0VscWFyWDdrdFJqa29Cais2TXNZOGlwNk92YjlvYUxEaCttejRo?= =?utf-8?B?SmlaVVdHOVphaGZla2M5SEo3akVJYVpKeGNpLzZ2bGhoTVdsSWE3ckl4MWNm?= =?utf-8?B?L1hqRzVIckFWTDAybVVYZk1hRHk2eC95cGFHNzNTajRybTJ6WDEzU0Q4NGcv?= =?utf-8?B?UlZKQTI2QTBRQWlUVTVhUHRmVzNJU2lCeWdPNTI0YVJiKy9vNHdacXQyZFRo?= =?utf-8?B?MDNtQ0IxQWhBNDcxR2IvdjlkUWNRcElWRHZEaERDNXZIMUNNZi95SFZMWjZv?= =?utf-8?B?ZjNacnJmN3FtdlFTaW81SEd6Qk1odk13elhkcFhyaDJpTFV2eU8vOUczQnh0?= =?utf-8?B?L3ZqbnFFejZiM25WTzN5VmVvYnppekZhUzlKZTNFTzRaWFZUVHJIVE9HQnNE?= =?utf-8?B?R3owam1QVTdmdlgzL0RGNFlOKzIxcHNhSmJNQ0Q3TEprcDk5SnpkUG9KZ3g2?= =?utf-8?B?K1pBeFBCZkF1L2d4TmlNTnQvWE1hSFJiMkVZVTVBMEI3Um5yT0ZmMVdQcVRj?= =?utf-8?B?ODVmc2U0Y2drUmNYTnpYMmZKMHUvcWQ3dUdjUGpSMFRIWEY3TUZXbXI4Z2tj?= =?utf-8?B?K3k1TzArWUg4Z2pYdzNtMmdheWpFakUxQWF1dGNYb2VYaS9la0c4emp0Qjcz?= =?utf-8?B?dWx0Q3dna1hiUERnb1Zsd0tyQVp5L3BRY2J0RnIrQnFOaXNFQy9kRWZha09L?= =?utf-8?B?cUt2T3JXZ1haNFhCaWhSSlRBUExjczFTeTZzTnByOWRRYnZwcEJ1b3Bjc2Yr?= =?utf-8?B?NlQxOHRaMVg2Z1lWMXJiekJ5V2YvT0pVSjBOTmZmUkQ3Q3ZjVm9BYlBqOEhD?= =?utf-8?B?aUQrMkRCamU0eEx0TERQSytRWG1HaXJ2dXFMWGxpM1VnVWR2RnhRS1JTT1hO?= =?utf-8?B?YWcvRDZrQm1Mcm5aMFJPUVozVjRUWjhkUERHVVN2UmJWYmc2RWhWdTJURzdz?= =?utf-8?B?ZFo2K3Z0UTFRNWVBK3FROXM2djlnU21GOU1jSnVKZDc1SGZaZXBsZ0V2UkdD?= =?utf-8?Q?ojjU=3D?= 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: SJ0PR11MB5940.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8e3b51a-6a45-427b-2850-08dbe585e888 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 02:52:29.7468 (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: OwaoSi5bBr0cJ1PrtAb1n3OvUqkCFloNZXWQ1ZrVa14IfJ8dJMd6DiDtXyyRZVaOdIppjrMXxbjcbucy7WNaWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5626 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDIzIDY6NTEgUE0N Cj4gVG86IEh1LCBMaW4xIDxsaW4xLmh1QGludGVsLmNvbT47IEN1aSwgTGlsaSA8bGlsaS5jdWlA aW50ZWwuY29tPg0KPiBDYzogTHUsIEhvbmdqaXUgPGhvbmdqaXUubHVAaW50ZWwuY29tPjsgY2Nv dXRhbnRAZ21haWwuY29tOw0KPiBiaW51dGlsc0Bzb3VyY2V3YXJlLm9yZw0KPiBTdWJqZWN0OiBS ZTogW1BBVENIIDcvOF0gU3VwcG9ydCBBUFggTkREIG9wdGltaXplZCBlbmNvZGluZy4NCj4gDQo+ IE9uIDE0LjExLjIwMjMgMDM6MjgsIEh1LCBMaW4xIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ DQo+ID4+DQo+ID4+IE9uIDEwLjExLjIwMjMgMDY6NDMsIEh1LCBMaW4xIHdyb3RlOg0KPiA+Pj4+ IE9uIDAyLjExLjIwMjMgMTI6MjksIEN1aSwgTGlsaSB3cm90ZToNCj4gPj4+Pj4gKyAgICAgIHVu c2lnbmVkIGludCBzcmMyID0gKGkub3BlcmFuZHMgPiAzKSA/IGkub3BlcmFuZHMgLSAzIDogMDsN Cj4gPj4+Pj4gKw0KPiA+Pj4+PiArICAgICAgaWYgKGkudHlwZXNbc3JjMV0uYml0ZmllbGQuY2xh c3MgPT0gUmVnDQo+ID4+Pj4+ICsJICAmJiBpLm9wW3NyYzFdLnJlZ3MgPT0gaS5vcFtkZXN0XS5y ZWdzKQ0KPiA+Pj4+PiArCXJlYWRvbmx5X3ZhciA9IHNyYzI7DQo+ID4+Pj4NCj4gPj4+PiBBcyBj YW4gYmUgc2VlbiBpbiB0aGUgdGVzdGNhc2UsIHRoaXMgYWxzbyByZXN1bHRzIGluIEFEQ1gvQURP WCB0bw0KPiA+Pj4+IGJlIGNvbnZlcnRlZCB0byBub24tTkQgRVZFWCBmb3JtcywgaS5lLiBldmVu IHdoZW4gdGhhdCdzIG5vdCBhIHdpbiBhdCBhbGwuDQo+ID4+Pj4gV2Ugc2hvdWxkbid0IGNoYW5n ZSB3aGF0IHRoZSB1c2VyIGhhcyB3cml0dGVuIHdoZW4gdGhlIGVuY29kaW5nDQo+ID4+Pj4gZG9l c24ndCBhY3R1YWxseSBpbXByb3ZlLiAoT3IgZWxzZSwgYnV0IEknZCBiZSBoZXNpdGFudCB0byBh Y2NlcHQNCj4gPj4+PiB0aGF0LCBhdCB0aGUgdmVyeSBsZWFzdCB0aGUgZWZmZWN0IHdvdWxkIG5l ZWQgcG9pbnRpbmcgb3V0IGluIHRoZQ0KPiA+Pj4+IGRlc2NyaXB0aW9uIG9yIGV2ZW4gYSBjb2Rl IGNvbW1lbnQsIHNvIHRoYXQgbGF0ZXIgb24gaXQgaXMgcG9zc2libGUNCj4gPj4+PiB0byBmaWd1 cmUgb3V0IHdoZXRoZXIgdGhhdCB3YXMgaW50ZW50aW9uYWwgb3IgYW4NCj4gPj4+PiBvdmVyc2ln aHQuKQ0KPiA+Pj4+DQo+ID4+Pj4gVGhpcyBpcyB3aGVyZSBteSB0ZW1wbGF0ZSBvcmRlcmluZyBy ZW1hcmsgaW4gcmVwbHkgdG8gcGF0Y2ggNSBjb21lcyBpbnRvDQo+IHBsYXk6DQo+ID4+Pj4gV2hl dGhlciBpbnZva2luZyByZS1wYXJzZSBpcyBva2F5IHdvdWxkIGZ1cnRoZXIgbmVlZCB0byBkZXBl bmQgb24NCj4gPj4+PiB3aGV0aGVyIGFuIGFsdGVybmF0aXZlIChlYXJsaWVyKSB0ZW1wbGF0ZSBh Y3R1YWxseSBhbGxvd3MNCj4gPj4+PiBSRVgyIGVuY29kaW5nIChzYW1lIGJhc2Utb3Bjb2RlIGNv dWxkIGJlIG9uZSBvZiB0aGUgY3JpdGVyaWEgZm9yDQo+ID4+Pj4gaG93IGZhciB0byBsb29rIGJh Y2sgdGhyb3VnaCBlYXJsaWVyIHRlbXBsYXRlczsgYW4gb3B0aW9uIG1pZ2h0DQo+ID4+Pj4gYWxz byBiZSB0byBwdXQgdGhlIDMtIG9wZXJhbmQgdGVtcGxhdGVzIGZpcnN0LCBzbyB0aGF0IGxvb2tp bmcNCj4gPj4+PiBiYWNrd2FyZHMgd291bGRuJ3QgYmUgbmVjZXNzYXJ5IGluIHRoZSBmaXJzdCBw bGFjZSkuIFRoaXMgd291bGQNCj4gPj4+PiB0aGVuIGxpa2VseSBhbHNvIGFkZHJlc3Mgb25lIG9m IHRoZSBmb3J3YXJkIGxvb2tpbmcgY29uY2VybnMgSSd2ZSByYWlzZWQNCj4gYWJvdmUuDQo+ID4+ Pj4NCj4gPj4+DQo+ID4+PiBJbmRlZWQsIGFkY3gncyBsZWdhY3kgaW5zbiBjYW4ndCBzdXBwb3J0 IHJleDIuDQo+ID4+Pg0KPiA+Pj4gRm9yIG15IHByb2JsZW0sIEkgcHJlZmVyIHRvIHJlLW9yZGVy IHRlbXBsYXRlcyBvcmRlciwgYmVjYXVzZSwgSQ0KPiA+Pj4gaGFkbid0DQo+ID4+IHRob3VnaHQg b2YgYSB3YXkgdG8gc2ltcGx5IG1vdmUgdCB0byB0aGUgZmFydGhlc3Qgc2FtZSBiYXNlX29wY29k ZQ0KPiA+PiB0ZW1wbGF0ZSBmb3IgdGhlIG1vbWVudC4gVGhlIGZvbGxvd2luZyBpcyBhIHRlbnRh dGl2ZSBzY2VuYXJpbzogdGhlDQo+ID4+IG9yZGVyIHdpbGwgYmUgbmRkIGV2ZXgNCj4gPj4gLSBy ZXgyIC0gZXZleC4NCj4gPj4NCj4gPj4gWWVzLCB0aGlzIG1hdGNoZXMgbXkgdW5kZXJzdGFuZGlu ZyAvIGV4cGVjdGF0aW9uLg0KPiA+Pg0KPiA+Pj4gQW5kIEkgd2lsbCBuZWVkIGEgdG1wX3Zhcmlh YmxlIHRvIGF2b2lkIHRoZSBpbnNuIGRvZXNuJ3QgbWF0Y2ggdGhlDQo+ID4+PiByZXgyLCBsZXQg bWUNCj4gPj4gYmFja3RyYWNrIHRoZSBtYXRjaCdzIHJlc3VsdCBhbmQgdGhlIHZhbHVlIG9mIGku DQo+ID4+DQo+ID4+IFRoaXMsIGhvd2V2ZXIsIEknbSBub3QgY29udmluY2VkIG9mLiBJJ2QgcmF0 aGVyIHNlZSB0aGlzIHZhZ3VlbHkgaW4NCj4gPj4gbGluZSB3aXRoDQo+ID4+IDU4YmNlYjE4Mjc0 MCAoIng4NjogcHJlZmVyIFZFWCBlbmNvZGluZ3Mgb3ZlciBFVkVYIG9uZXMgd2hlbg0KPiA+PiBw b3NzaWJsZSIpOiBEbyBhbm90aGVyIGZ1bGwgbWF0Y2hpbmcgcm91bmQgd2l0aCB0aGUgcmVtb3Zl ZCBvcGVyYW5kLA0KPiA+PiBhcnJhbmdpbmcgZm9yICJpbnRlcm5hbCBlcnJvciIgdG8gYmUgcmFp c2VkIGluIGNhc2UgdGhhdCBmYWlscy4gWW91cg0KPiA+PiBhcHByb2FjaCB3b3VsZCwgSSB0aGlu aywgcmVzdWx0IGluIHNpbGVudCBiYWQgY29kZSBnZW5lcmF0aW9uIGluIGNhc2UNCj4gPj4gc29t ZXRoaW5nIHdlbnQgd3JvbmcuIFRoaW5nIGlzIC0geW91IGRvbid0IGV2ZW4gbmVlZCB0byBhZHZh bmNlIChvcg0KPiA+PiBiYWNrdHJhY2spIHQgaW4gdGhhdCBjYXNlDQo+ID4+DQo+ID4NCj4gPiBJ IHRyaWVkIHRvIHJlb3JkZXIgdGhlIHRlbXBsYXRlcyBhbmQgbW9kaWZ5IHRoZSBjb2RlIGFzIGZv bGxvd3M6DQo+ID4NCj4gPiBAIC03NzI4LDYgKzc3NjUsNDAgQEAgbWF0Y2hfdGVtcGxhdGUgKGNo YXIgbW5lbV9zdWZmaXgpDQo+ID4gICAgICAgICAgIGkubWVtc2hpZnQgPSBtZW1zaGlmdDsNCj4g PiAgICAgICAgIH0NCj4gPg0KPiA+ICsgICAgICAvKiBJZiB3ZSBjYW4gb3B0aW1pemUgYSBOREQg aW5zbiB0byBub24tTkREIGluc24sIGxpa2UNCj4gPiArICAgICAgICBhZGQgJXIxNiwgJXI4LCAl cjggLT4gYWRkICVyMTYsICVyOCwNCj4gPiArICAgICAgICBhZGQgICVyOCwgJXIxNiwgJXI4IC0+ IGFkZCAlcjE2LCAlcjgsIHRoZW4gcmVtYXRjaCB0ZW1wbGF0ZS4NCj4gPiArICAgICAgICBOb3Rl IHRoYXQgdGhlIHNlbWFudGljcyBoYXZlIG5vdCBiZWVuIGNoYW5nZWQuICAqLw0KPiA+ICsgICAg ICBpZiAob3B0aW1pemUNCj4gPiArICAgICAgICAgJiYgIWkubm9fb3B0aW1pemUNCj4gPiArICAg ICAgICAgJiYgaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5nX2V2ZXgNCj4gPiArICAgICAg ICAgJiYgdCArIDEgPCBjdXJyZW50X3RlbXBsYXRlcy0+ZW5kDQo+ID4gKyAgICAgICAgICYmICF0 WzFdLm9wY29kZV9tb2RpZmllci5ldmV4KQ0KPiA+ICsgICAgICAgew0KPiA+ICsgICAgICAgICB1 bnNpZ25lZCBpbnQgcmVhZG9ubHlfdmFyID0gY29udmVydF9ORERfdG9fUkVYMiAodCk7DQo+ID4g KyAgICAgICAgIGlmIChyZWFkb25seV92YXIgIT0gfjApDQo+ID4gKyAgICAgICAgICAgew0KPiA+ ICsgICAgICAgICAgICAgaWYgKCFjaGVja19FZ3ByT3BlcmFuZHMgKHQgKyAxKSkNCj4gPiArICAg ICAgICAgICAgICAgew0KPiA+ICsgICAgICAgICAgICAgICAgIHNwZWNpZmljX2Vycm9yID0gcHJv Z3Jlc3MgKGludGVybmFsX2Vycm9yKTsNCj4gPiArICAgICAgICAgICAgICAgICBjb250aW51ZTsN Cj4gPiArICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAgKytpLm9wZXJhbmRzOw0K PiA+ICsgICAgICAgICAgICAgKytpLnJlZ19vcGVyYW5kczsNCj4gDQo+IERZTSBkZWNyZW1lbnQg cmF0aGVyIHRoYW4gaW5jcmVtZW50IGZvciB0aGVzZT8gV2UncmUgdHJ5aW5nIHRvIGdvIGZyb20N Cj4gMyB0byAyIG9wZXJhbmRzLCBhZnRlciBhbGwuDQo+DQoNCkhlcmUncyBhIGJhY2t0cmFjZSB0 byBjb25zaWRlcmluZyBmb3IgcG9zc2libGUgb3RoZXIgb3Bjb2RlX3NwYWNlICgwZjM4LC4uLikg aW5zdHJ1Y3Rpb25zIHRoYXQgY2FuJ3QgYWNjZXB0IHRoZSByMTYrIHJlZ2lzdGVyLCBidXQgY2Fu IGFjY2VwdCBvdGhlciByZXggcmVnaXN0ZXJzIG9yIHRoZSBub3JtYWwuIEkgZGVjcmVtZW50IGku b3BlcmFuZHMgYW5kIGkucmVnX29wZXJhbmRzIGluIGNvbnZlcnRfTkREX3RvX1JFWDIuIElmIHRo ZSBsZWdhY3kgb3IgcmV4IHZlcnNpb24gb2YgdGhlIGluc24gY2FuJ3Qgc3VwcG9ydCByZXgyIHJl Z2lzdGVycywgSSB3b24ndCBvcHRpbWl6ZSBpdC4gU28gSSBuZWVkIHRvIGluY3JlbWVudCB0aGVz ZS4NCg0KPiANCj4gPiArICAgICAgICAgICAgICsraS50bS5vcGVyYW5kczsNCj4gDQo+IFdoeSBp cyB0aGlzPyBBcmVuJ3Qgd2UgYWhlYWQgb2YgZmlsbGluZyBpLnRtIGhlcmU/DQo+DQoNCkluZGVl ZC4gSSByZW1vdmVkIGl0Lg0KDQo+IA0KPiA+ICsNCj4gPiArICAgICAgICAgICAgIGlmIChyZWFk b25seV92YXIgPT0gMSkNCj4gPiArICAgICAgICAgICAgICAgc3dhcF8yX29wZXJhbmRzICgwLCAx KTsNCj4gPiArICAgICAgICAgICB9DQo+ID4gKyAgICAgICB9DQo+ID4NCj4gPiBjb252ZXJ0X05E RF90b19SRVgyIHJldHVybiByZWFkb25seV92YXIgbm93LiBjaGVja19FZ3ByT3BlcmFuZHMgYWlt cw0KPiB0byBleGNsdWRlIHNvbWUgaW5zbnMgbGlrZSBhZGN4IGFuZCBhZG94LiBCZWNhdXNlIHRo ZWlyIG9wY29kZV9zcGFjZSBpcyBsZWdhY3ktDQo+IG1hcDIgY2FuJ3Qgc3VwcG9ydCByZXgyLg0K PiANCj4gR29vZC4gTG9va2luZyBmb3J3YXJkIHRvIHNlZWluZyB0aGUgZnVsbCBjaGFuZ2UuDQo+ IA0KDQpGb3Igc29tZSBpbnNucyBsaWtlIGFkY3ggYW5kIGFkb3gsIEknZCBsaWtlIHRvIGFkZCBz b21lIGRldGFpbHMuIGNoZWNrX0VncHJPcGVyYW5kcyBvbmx5IHVzZWQgdG8gZXhjbHVkZSBzb21l IHNpdHVhdGlvbiB0aGF0IHRoZXNlIGluc25zIHdpdGggZ3ByMzIgcmVnaXN0ZXJzLiBJZiB3ZSB0 aGluayBhYm91dCBvcHRpbWl6YXRpb24gaW4gdGVybXMgb2YgZW5jb2RpbmcgbGVuZ3RoLiBJcyBp dCBzYWZlIHRvIGFzc3VtZSB0aGF0IHNvbWUgaW5zbiB3aXRoIHByZWZpeGVzIDY2LCBmMiwgZjMg YW5kIHRoZWlyIG9wY29kZV9zcGFjZSBpc24ndCBsZWdhY3ktbWFwMCBvciBsZWdhY3ktbWFwMSB3 b24ndCByZWR1Y2UgdGhlIGxlbmd0aCBvZiB0aGUgY29kZSBldmVuIGlmIHRoZXkgYXJlIG9wdGlt aXplZD8gSWYgeWVzLCBJIHRoaW5rIHRoZSBjb2RlIGNhbiBiZSBzaW1wbGlmaWVkIGxpa2U6DQoN CiAgICAgICAvKiBJZiB3ZSBjYW4gb3B0aW1pemUgYSBOREQgaW5zbiB0byBub24tTkREIGluc24s IGxpa2UNCiAgICAgICAgICBhZGQgJXIxNiwgJXI4LCAlcjggLT4gYWRkICVyMTYsICVyOCwNCiAg ICAgICAgICAgYWRkICAlcjgsICVyMTYsICVyOCAtPiBhZGQgJXIxNiwgJXI4LCB0aGVuIHJlbWF0 Y2ggdGVtcGxhdGUuDQogICAgICAgICAgIE5vdGUgdGhhdCB0aGUgc2VtYW50aWNzIGhhdmUgbm90 IGJlZW4gY2hhbmdlZC4gICovDQogICAgICAgIGlmIChvcHRpbWl6ZQ0KICAgICAgICAgICAgJiYg IWkubm9fb3B0aW1pemUNCiAgICAgICAgICAgICYmIGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNv ZGluZ19ldmV4DQogICAgICAgICAgICAmJiB0ICsgMSA8IGN1cnJlbnRfdGVtcGxhdGVzLT5lbmQN CiAgICAgICAgICAgICYmICF0WzFdLm9wY29kZV9tb2RpZmllci5ldmV4DQogICAgICAgICAgICAm JiBjb252ZXJ0X05ERF90b19SRVgyICh0KSkNCiAgICAgICAgICB7DQogICAgICAgICAgICBzcGVj aWZpY19lcnJvciA9IHByb2dyZXNzIChpbnRlcm5hbF9lcnJvcik7DQogICAgICAgICAgICBjb250 aW51ZTsNCiAgICAgICAgICB9ICANCg0KRm9yIHRob3NlIGluc3RydWN0aW9ucyB0aGF0IGRvbid0 IG5lZWQgdG8gYmUgb3B0aW1pemVkLCBsaWtlIGFkY3ggYW5kIGFkb3ggd2UganVzdCBkb24ndCBz d2FwIHRoZSBvcmRlciwgc28gd2UgZG9uJ3QgbmVlZCBjaGVja19FZ3ByT3BlcmFuZHMgYW5kIGJh Y2t0cmFjaywgYW5kIGNvbnZlcnRfTkREX3RvX1JFWDIgaGFzIHRoZSBzYW1lIHJldHVybiB2YWx1 ZSBhcyBiZWZvcmUuDQoNClBTLiBTbyBzaG91bGRuJ3QgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9u IGJlIGNvbnZlcnRfTkREX3RvX2xlZ2FjeS4NCg0KPg0KPiA+IEFuZCBJIG5lZWQgc29tZSBtb2Rp ZmljYXRpb25zIGluIHRjLWkzODYuYyBhZnRlciByZW9yZGVyIGkzODYtb3BjLnRibC4NCj4gPg0K PiA+IGRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLWkzODYuYyBiL2dhcy9jb25maWcvdGMtaTM4 Ni5jIGluZGV4DQo+ID4gN2E4NmFmZjE4MjguLmQ5ODk1MGM3ZGZkIDEwMDY0NA0KPiA+IC0tLSBh L2dhcy9jb25maWcvdGMtaTM4Ni5jDQo+ID4gKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMNCj4g PiBAQCAtMTQ0MDEsNyArMTQ0MDEsOSBAQCBzdGF0aWMgYm9vbCBjaGVja19yZWdpc3RlciAoY29u c3QgcmVnX2VudHJ5DQo+ID4gKnIpDQo+ID4NCj4gPiAgICBpZiAoci0+cmVnX2ZsYWdzICYgUmVn UmV4MikNCj4gPiAgICAgIHsNCj4gPiAtICAgICAgaWYgKGlzX2V2ZXhfZW5jb2RpbmcgKGN1cnJl bnRfdGVtcGxhdGVzLT5zdGFydCkpDQo+ID4gKyAgICAgIGlmIChpc19ldmV4X2VuY29kaW5nIChj dXJyZW50X3RlbXBsYXRlcy0+c3RhcnQpDQo+ID4gKyAgICAgICAgICYmICgoY3VycmVudF90ZW1w bGF0ZXMtPnN0YXJ0ICsgMSA+PSBjdXJyZW50X3RlbXBsYXRlcy0+ZW5kKQ0KPiA+ICsgICAgICAg ICAgICAgfHwgKGlzX2V2ZXhfZW5jb2RpbmcgKGN1cnJlbnRfdGVtcGxhdGVzLT5zdGFydCArIDEp KSkpDQo+ID4gICAgICAgICBpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ19ldmV4Ow0KPiA+ DQo+ID4gICAgICAgIGlmICghY3B1X2FyY2hfZmxhZ3MuYml0ZmllbGQuY3B1YXB4X2YNCj4gPg0K PiA+IFdoYXQncyB5b3VyIG9waW5pb24/DQo+IA0KPiBTZWUgbXkgY29tbWVudHMgdG8gTGlsaSBv biBhbHJlYWR5IHRoZSBvcmlnaW5hbCBjb2RlICh3aGljaCB5b3UgZnVydGhlcg0KPiBtb2RpZnkp IGhlcmUuIFRoZXJlIGNhbm5vdCBiZSBhIGRlcGVuZGVuY3kgb24gY3VycmVudF90ZW1wbGF0ZXMg aGVyZSwgaW1vLg0KPiBMaWxpIC0gdGhlIGZhY3QgTGluIG5lZWRzIHRoZSBtb2RpZmljYXRpb24g YWJvdmUgYWN0dWFsbHkgbG9va3MgdG8gc3VwcG9ydCBteSB2aWV3DQo+IG9uIHRoaXMuDQoNClRo aXMgcGFydCBvZiB0aGUgY29kZSB3b24ndCBiZSBpbiB0aGUgTkREIG9wdGltaXplIHBhdGNoIGJ1 dCByYXRoZXIgc2hvdWxkIGJlIGluIHRoZSBOREQgcGF0Y2guIFNvIEknZCBsaWtlIHRvIHNraXAg dGhhdCBwYXJ0IG9mIHRoZSBkaXNjdXNzaW9uIGZvciBub3cgdW50aWwgSSBnZXQgYSBuZXcgYmFz ZSBicmFuY2guDQoNCldoaWxlIEkgc3RpbGwgaGF2ZSBxdWVzdGlvbnMgYWJvdXQgdGhlIHByZXZp b3VzIGRpc2N1c3Npb24sIEkgd2lsbCB0aGVuIHNlbmQgb3V0IHRoZSBjdXJyZW50IHBhdGNoLg0K DQpCUnMsDQpMaW4NCg==