From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id BCCBF3858C52 for ; Wed, 24 May 2023 02:28:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BCCBF3858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684895330; x=1716431330; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ddTtQdwXexUHbI409VAIw5WVoEmdAeiPWfhOzKb2O6g=; b=XmE+j3AGB3dvUTysZIvni4oONwoVihDP0g1mIBssge8dDBADRRi8BHml dbIa0SHeQ+V6Bp6fNJNrsZmccxubzNdPmYnT/2n/jTh/Aa2n/ojpb3IhE nuVSaME9gqpZfHqhXF641PlRtVrFPyq43lTCbQSEFXMp6okmvc5o7Im3z vb/V5PyiU9oadZkrjCGY9TrAFz9oBxkbXxNXFs1EVpd+gRtq5tS0/P58p YgK+DiA+ssRpxDNXiAtJq3XrYrQyFNvYB8ReY0ooa1FkHHfu63T10cyI6 JJ4qGglBZLaXWnGicZbSc1j5PQfQFjjFy/EEBU3bR9Nt80BXToZRPD2dz A==; X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="356653766" X-IronPort-AV: E=Sophos;i="6.00,187,1681196400"; d="scan'208";a="356653766" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2023 19:28:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="769243416" X-IronPort-AV: E=Sophos;i="6.00,187,1681196400"; d="scan'208";a="769243416" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 23 May 2023 19:28:35 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.23; Tue, 23 May 2023 19:28:34 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 23 May 2023 19:28:34 -0700 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.23 via Frontend Transport; Tue, 23 May 2023 19:28:34 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) 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.23; Tue, 23 May 2023 19:28:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PQ3AyFvgnMf/PYqPC8R84YSNKNnsp5KvLfXQjYz5MSQuVtXcjtRqWybpTJBYe0Slp3jHpsmo6AMfLeWi4Jr0PxdSgAXKhvzFpuvCnpxEvpMMsDDAq1dJGjOuA1CnQEx3N6ssZTt/PaijNkdGjHUt3/eHNoZ8+SZUzdCsdqJ4TpqJu+YRJNO/tFen3Ta3VNGaUJlsOa7mHo50lvtk7Cr5NkMwR8hbCqqR4LgkwW/y5iWp7oEXzj/jPf/X/MtyENBtcFFBolj5xB42qVz+Z1GofJowu8l4bhxtX7wIbRop851hRsEtbgsXE8Bz0ou/ZNM/D6nATUIgdF4A382WfbZ90w== 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=ddTtQdwXexUHbI409VAIw5WVoEmdAeiPWfhOzKb2O6g=; b=ksqxyP4ePCT5VwKR6+GFGldAmG2OASdiFcO2nUCzeiNn25I+01W/sLa332/z7mvFRIV3vrgwrmz6N8kx/MgZPw+iLH08WYoJ0vvBG1RNFwbT4U5t5IPgO+ojFORF0oG3XCG3MGb/sXh3Odpmu7pNtu6A+vgpbxDllQ3zL+nmUyICUnTp8y/Dsfhu1PX9beMw+Fkm6CemERvBzfqH3OOMublvpMOhfG/PvpmJ+Apc9TZ3HEZZUTF1l4K4TaP0WJdJfhPIo1y+0lsPMsoG8msM4t8KAdcrqwVytMcWfn+Lh4K0dweAADsOqJMahpx1ySkBXyyiMWf0J5nzQ0tmuDPl+Q== 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 MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by DM4PR11MB5360.namprd11.prod.outlook.com (2603:10b6:5:397::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Wed, 24 May 2023 02:28:33 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9%3]) with mapi id 15.20.6411.028; Wed, 24 May 2023 02:28:32 +0000 From: "Li, Pan2" To: Palmer Dabbelt , "juzhe.zhong@rivai.ai" CC: "gcc-patches@gcc.gnu.org" , Kito Cheng , "kito.cheng@sifive.com" , "jeffreyalaw@gmail.com" , "rdapp.gcc@gmail.com" Subject: RE: Re: [PATCH V2] RISC-V: Fix magic number of RVV auto-vectorization expander Thread-Topic: Re: [PATCH V2] RISC-V: Fix magic number of RVV auto-vectorization expander Thread-Index: AQHZjeabeWnHd3ftiU+G0Wz78lVgka9oo3WAgAAPUQb///HsgIAADkJw Date: Wed, 24 May 2023 02:28:32 +0000 Message-ID: References: <73D72E3260FA75C2+20230524093359966218180@rivai.ai> 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: MW5PR11MB5908:EE_|DM4PR11MB5360:EE_ x-ms-office365-filtering-correlation-id: f8fe81a3-da3e-4aed-2cb0-08db5bfe91bc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZGE+91kVnkK79Kde2ZxSsldlDgOW+WuNDlZb/MCrHg7CsgmbT+Hv4kp5XIVd5NCWmYzS4jAihflNjjl4bAyplBEAvPloe095Masaapv5a3suyyUk+xcqSk+nmjUgJyZ5TR8e5DhUT+sAKgf7bn8CriqeF0tUozs0MtTHrj6IMtqxPu7vD2+p5ZJ1g6MAZJtFLiPXiB2LGJpp9G2zWJyuIxPDGatK2qG7JOCygEP7aRTokngeoL0z81nlh42aq3x5ETreQr5L7wSjExigdpWxgrnblGk6fvjG+XlPVipDBAz6vrLmaaSiGRYyPRLpfD3LABg6a4IZy39YEKLq2NniDm3UvhlPU28O9fSNBS1q2W2HjwLdWEA1cn4w6L6xRa6JR7ZPRIeaqpDyp64hXUXDiEx3SQjrkXsfY1k9tkRNmHUzgc3Np02ZW3XCbnPRx0QxqHcAwYORErxphZIaUuuOZwyFG3CT7nkuj3IbxJOpWfURJ4Th83SEcnPAnvSoaUtCUPe3XZjFS+3zfMm/Mgi44vJ2nubhzrv2PtsLHv8cw2Hwnl1x9vsQTIEOBov40bMANZaDp4O92ORux8ylgGp+05bgVzKFKCfepXfB7ChJNpBPulY/PTxsGNbq8/aMXph0 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(346002)(39860400002)(396003)(366004)(451199021)(66556008)(8936002)(5660300002)(52536014)(83380400001)(53546011)(9686003)(6506007)(86362001)(26005)(186003)(82960400001)(122000001)(38100700002)(38070700005)(8676002)(33656002)(71200400001)(55016003)(478600001)(66476007)(7696005)(316002)(4326008)(41300700001)(64756008)(54906003)(110136005)(66446008)(2906002)(66946007)(76116006)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bzBpajJEc0I3dHlGbGMxWmVuWTIvTElzS1V0di8rTTBnakVOYUpPRSswQlBp?= =?utf-8?B?azRQV1pReGsyNWR3L0t5cVVLREFNMHB1YmRMUGwrcE1lYU9TQm9YSGdXc3Fy?= =?utf-8?B?RXpZcU0xdjBQUmpxRk8wREV0dWRvcEpza0lMNTREdDdjOER0ZkpNWTJ4TG0w?= =?utf-8?B?YWpqZ1QvT3pkdkc0dU1nQTJvSEJzNjQwaGNqbzNJbWU3eldOK3BYNWI3OGoz?= =?utf-8?B?MTBiV3ppTUw0UmgxcHNaTHV2ZUZKaE9Fenk1ZVBFVmNpZU42dzJFYjdWazA1?= =?utf-8?B?VEd3aHpwZlA1SHpLY1cxL1FuRCtFdjhwbDBzMjNmMXdzb0VURTR4T0FweUZn?= =?utf-8?B?VVR6Vk5YZEdIcjh4WndRbkpqN3Z5cFBhSE1IcXdwZmpmbG1nSDloRjJzNHdx?= =?utf-8?B?U3pyb1JlaDh1MVBmSjVwSWVxaXpGWE5iOGtITWVFVEhkUzhVSWpJVWc0eWVW?= =?utf-8?B?SUYyNGFhS1c0U2tjanRRbFkrVk42WGlJakhJa0pGZWJQUTJ3OWxmTHI4Ujll?= =?utf-8?B?TE1WVVErdWJlbUhJcnRDZnBiTk9rdVBkRTNQaGxnbnJGbkRjelpjT3JPSCtF?= =?utf-8?B?OTZHN1ZtVlVBNDgxWWpmN3JYbnBpdVYwQVkzdDNGbVI5enY2YWhMTWdMcXpo?= =?utf-8?B?SzBpam5hOWFkYkpCWE9PWDh5NmVCTnNrUEZBSTFYeHBIaXRhS0J0NEhLN3Rj?= =?utf-8?B?czJiK00xQm9OU2RGZk03Nmg1U1ljM2VZZlh2dDgvU1VQMUdVTTUxSWdVbk9L?= =?utf-8?B?SjNQWndIdlNxY2RkN1RpUHJHTmNRZU9BY3lvMmRaZUJqTEtWd0NtODhBd2hO?= =?utf-8?B?eVdnZ1d6Wlc4ZTgrcFJ4U2VLR2loZy9ReGpVU1RuZlBvdmhEcWhGSFU3SUJK?= =?utf-8?B?aEFoUjlQSnFzQlFFSkdUaFZZOVJVUkFQaWJSeUhWQklIVmFZZjA1VEhPcGFL?= =?utf-8?B?RFBXd3BkTXRXQjZTWDZFcVhMQlBFaHZvZWhNUzZZcGRrem8rWXljaG8xdGFF?= =?utf-8?B?N21IekMyY1E4bW9oTCtkalJiYzJDR3ZMVGtXVFFvOC9VUEI3VDBVUlNqQ3Fl?= =?utf-8?B?VjFuTm1ENk1LN0drTmFOYmM0MmtEUU9xZFFtWS9oY1ZaMkdGcmhFeWhIREYv?= =?utf-8?B?dENHQ3BPaEZxdXZrK2Rkamx1THpPelloL0w3VlIwKzMwYlpXLys3aUg4ekRK?= =?utf-8?B?SmpVVFZHaEFVWVJTck9Hb1FJWXMzZ00xVWlWWm82U1NFSHJkMERqa0d4THFn?= =?utf-8?B?TkkzRkcvRTBldW9nS09FZFRoaG9PNmdveGI5R0RhRExJU1BubU1xSVRYTUJJ?= =?utf-8?B?SFJhK2owcDdMM2wvRjEwSWY0azZhSU9GeGUxSkpzSDNvMk93Z0tOUUJwODNt?= =?utf-8?B?blgxd2c2cWNZNXc2WlBWWHJtOW1vK1dPdEdFbFVVQWp5S0srKzlpRWdUV0dC?= =?utf-8?B?cG9nUTRya2JxTzNBcERRWW84dktWeE1Hb09hN3QwOWpXczV2aEk0UmJpSS9O?= =?utf-8?B?OHNvdWgrSzlkaVlWd2dDdENPMzJyS3BhRkgxL1hxL2YzZUlHTWZGcUZ0TUlx?= =?utf-8?B?UytJZHFMUk9Kc2VxdE9uak5DakVObmFRbEwxZ2tnTFJpeFZJa1IrY2V0ZDZ4?= =?utf-8?B?bWNBeXpkRDM1cmsxbWtMUERSWms3LzVtM3lWMXJCUzhIdzc1RkZjTjNBWGtT?= =?utf-8?B?WTQwNHljT1dBY09LY05FaUNTd2s4Z0tpNkJGbTlUKzJJQ0wwSGhRVXI2cnp0?= =?utf-8?B?aFRsNXlMQTZ5OE1nSitLWUg1SmRiK01oUWxzZC9oM3ErcHpKQysxbXJaNW1w?= =?utf-8?B?UDJEUURzRVFzek5tVW5iR082K0FNRnFjNDhJTHJCVnBkQ2dxK25uVitmU0cv?= =?utf-8?B?THFmUU5OVkovRVNLMEpIZTdKbHA5UDdVOHFIVzRRVTlsMGI4cUFGTnNSMDMv?= =?utf-8?B?SE0rYW5DeHMrNzJOcFhIdll5bU81WUZrRjgzSmROcmg2KzYxRzB3djVoczc2?= =?utf-8?B?OWRqK1NGMEQ3b3psT1UwRXZZcHFHK09TbEszcVZpL09ac1haY2pLL3I1dXpS?= =?utf-8?B?Z0I4bFI5NXM0TzlaTTcxSzh5SllUMEtEdVVTTFBPTlcrdDNNUURvZ0N0VllT?= =?utf-8?Q?fjzc=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: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f8fe81a3-da3e-4aed-2cb0-08db5bfe91bc X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2023 02:28:32.7349 (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: 2Kv52vENgVDtt0bvXjSocJ27OO0W3lM1pssGAaFFVgGcOSIU0y5LgjYkbwFneASHyrWNHNh6S39m1f1TcTalkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5360 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-11.2 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,URIBL_BLACK 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: Q29tbWl0dGVkLCB0aGFua3MgUGFsbWVyLg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlcy1ib3VuY2VzK3BhbjIubGk9aW50 ZWwuY29tQGdjYy5nbnUub3JnPiBPbiBCZWhhbGYgT2YgUGFsbWVyIERhYmJlbHQNClNlbnQ6IFdl ZG5lc2RheSwgTWF5IDI0LCAyMDIzIDk6MzcgQU0NClRvOiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0K Q2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBLaXRvIENoZW5nIDxraXRvLmNoZW5nQGdtYWls LmNvbT47IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTsgamVmZnJleWFsYXdAZ21haWwuY29tOyByZGFw cC5nY2NAZ21haWwuY29tDQpTdWJqZWN0OiBSZTogUmU6IFtQQVRDSCBWMl0gUklTQy1WOiBGaXgg bWFnaWMgbnVtYmVyIG9mIFJWViBhdXRvLXZlY3Rvcml6YXRpb24gZXhwYW5kZXINCg0KT24gVHVl LCAyMyBNYXkgMjAyMyAxODozNDowMCBQRFQgKC0wNzAwKSwganV6aGUuemhvbmdAcml2YWkuYWkg d3JvdGU6DQo+IFllYWguIENhbiBJIG1lcmdlIGl0Pw0KDQpZb3UgYnVpbHQgaXQ/ICBUaGVuIEkn bSBmaW5lIHdpdGggbWVyZ2luZyBpdC4NCg0KPiANCj4gDQo+IA0KPiBqdXpoZS56aG9uZ0ByaXZh aS5haQ0KPiAgDQo+IEZyb206IFBhbG1lciBEYWJiZWx0DQo+IERhdGU6IDIwMjMtMDUtMjQgMDk6 MzINCj4gVG86IGp1emhlLnpob25nDQo+IENDOiBnY2MtcGF0Y2hlczsgS2l0byBDaGVuZzsga2l0 by5jaGVuZzsgamVmZnJleWFsYXc7IHJkYXBwLmdjYzsgDQo+IGp1emhlLnpob25nDQo+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggVjJdIFJJU0MtVjogRml4IG1hZ2ljIG51bWJlciBvZiBSVlYgDQo+IGF1 dG8tdmVjdG9yaXphdGlvbiBleHBhbmRlciBPbiBUdWUsIDIzIE1heSAyMDIzIDE4OjI4OjQ4IFBE VCAoLTA3MDApLCBqdXpoZS56aG9uZ0ByaXZhaS5haSB3cm90ZToNCj4+IEZyb206IEp1emhlLVpo b25nIDxqdXpoZS56aG9uZ0ByaXZhaS5haT4NCj4+DQo+PiBUaGlzIHNpbXBsZSBwYXRjaCBmaXhl cyB0aGUgbWFnaWMgbnVtYmVyLCByZW1vdmUgbWFnaWMgbnVtYmVyIG1ha2UgY29kZXMgbW9yZSBy ZWFzb25hYmxlLg0KPj4NCj4+IE9rIGZvciB0cnVuayA/DQo+Pg0KPj4gZ2NjL0NoYW5nZUxvZzoN Cj4+DQo+PiAgICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgKGV4cGFuZF92ZWNfc2Vy aWVzKTogUmVtb3ZlIG1hZ2ljIG51bWJlci4NCj4+ICAgICAgICAgKGV4cGFuZF9jb25zdF92ZWN0 b3IpOiBEaXR0by4NCj4+ICAgICAgICAgKGxlZ2l0aW1pemVfbW92ZSk6IERpdHRvLg0KPj4gICAg ICAgICAoc2V3NjRfc2NhbGFyX2hlbHBlcik6IERpdHRvLg0KPj4gICAgICAgICAoZXhwYW5kX3R1 cGxlX21vdmUpOiBEaXR0by4NCj4+ICAgICAgICAgKGV4cGFuZF92ZWN0b3JfaW5pdF9pbnNlcnRf ZWxlbXMpOiBEaXR0by4NCj4+ICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHZlY3Rv cl96ZXJvX2NhbGxfdXNlZF9yZWdzKTogRGl0dG8uDQo+Pg0KPj4gLS0tDQo+PiAgZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12LmNjIHwgNTMgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgICB8ICAyICstDQo+PiAgMiBmaWxl cyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjIA0KPj4gYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MgaW5kZXggNDc4YTA1MmE3NzkuLmZhNjFhODUwYTIyIDEwMDY0NA0KPj4g LS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQo+PiArKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MNCj4+IEBAIC00MDYsMTQgKzQwNiwxNCBAQCBleHBhbmRfdmVjX3Nlcmll cyAocnR4IGRlc3QsIHJ0eCBiYXNlLCBydHggc3RlcCkNCj4+ICAgIGludCBzaGlmdCA9IGV4YWN0 X2xvZzIgKElOVFZBTCAoc3RlcCkpOw0KPj4gICAgcnR4IHNoaWZ0X2Ftb3VudCA9IGdlbl9pbnRf bW9kZSAoc2hpZnQsIFBtb2RlKTsNCj4+ICAgIGluc25fY29kZSBpY29kZSA9IGNvZGVfZm9yX3By ZWRfc2NhbGFyIChBU0hJRlQsIG1vZGUpOw0KPj4gLSAgIHJ0eCBvcHNbM10gPSB7c3RlcF9hZGos IHZpZCwgc2hpZnRfYW1vdW50fTsNCj4+IC0gICBlbWl0X3ZsbWF4X2luc24gKGljb2RlLCByaXNj dl92ZWN0b3I6OlJWVl9CSU5PUCwgb3BzKTsNCj4+ICsgICBydHggb3BzW10gPSB7c3RlcF9hZGos IHZpZCwgc2hpZnRfYW1vdW50fTsNCj4+ICsgICBlbWl0X3ZsbWF4X2luc24gKGljb2RlLCBSVlZf QklOT1AsIG9wcyk7DQo+ICANCj4gTG9va3MgbGlrZSBpdCBhbHNvIHJlbW92ZXMgdGhlICJyaXNj dl92ZWN0b3IiIG5hbWVzcGFjZSBmcm9tIHNvbWUgb2YgDQo+IHRoZSBjb25zdGFudHM/ICBObyBi aWcgZGVhbCwgaXQncyBqdXN0IGEgZGlmZmVyZW50IGNsZWFudXAgKGFzc3VtaW5nIA0KPiBpdCBz dGlsbCBidWlsZHMgYW5kIHN1Y2gpLg0KPiAgDQo+PiAgfQ0KPj4gICAgICAgIGVsc2UNCj4+ICB7 DQo+PiAgICBpbnNuX2NvZGUgaWNvZGUgPSBjb2RlX2Zvcl9wcmVkX3NjYWxhciAoTVVMVCwgbW9k ZSk7DQo+PiAtICAgcnR4IG9wc1szXSA9IHtzdGVwX2FkaiwgdmlkLCBzdGVwfTsNCj4+IC0gICBl bWl0X3ZsbWF4X2luc24gKGljb2RlLCByaXNjdl92ZWN0b3I6OlJWVl9CSU5PUCwgb3BzKTsNCj4+ ICsgICBydHggb3BzW10gPSB7c3RlcF9hZGosIHZpZCwgc3RlcH07DQo+PiArICAgZW1pdF92bG1h eF9pbnNuIChpY29kZSwgUlZWX0JJTk9QLCBvcHMpOw0KPj4gIH0NCj4+ICAgICAgfQ0KPj4NCj4+ IEBAIC00MjgsOCArNDI4LDggQEAgZXhwYW5kX3ZlY19zZXJpZXMgKHJ0eCBkZXN0LCBydHggYmFz ZSwgcnR4IHN0ZXApDQo+PiAgICAgIHsNCj4+ICAgICAgICBydHggcmVzdWx0ID0gZ2VuX3JlZ19y dHggKG1vZGUpOw0KPj4gICAgICAgIGluc25fY29kZSBpY29kZSA9IGNvZGVfZm9yX3ByZWRfc2Nh bGFyIChQTFVTLCBtb2RlKTsNCj4+IC0gICAgICBydHggb3BzWzNdID0ge3Jlc3VsdCwgc3RlcF9h ZGosIGJhc2V9Ow0KPj4gLSAgICAgIGVtaXRfdmxtYXhfaW5zbiAoaWNvZGUsIHJpc2N2X3ZlY3Rv cjo6UlZWX0JJTk9QLCBvcHMpOw0KPj4gKyAgICAgIHJ0eCBvcHNbXSA9IHtyZXN1bHQsIHN0ZXBf YWRqLCBiYXNlfTsNCj4+ICsgICAgICBlbWl0X3ZsbWF4X2luc24gKGljb2RlLCBSVlZfQklOT1As IG9wcyk7DQo+PiAgICAgICAgZW1pdF9tb3ZlX2luc24gKGRlc3QsIHJlc3VsdCk7DQo+PiAgICAg IH0NCj4+ICB9DQo+PiBAQCAtNDQ1LDggKzQ0NSw4IEBAIGV4cGFuZF9jb25zdF92ZWN0b3IgKHJ0 eCB0YXJnZXQsIHJ0eCBzcmMpDQo+PiAgICAgICAgZ2NjX2Fzc2VydCAoDQo+PiAgY29uc3RfdmVj X2R1cGxpY2F0ZV9wIChzcmMsICZlbHQpDQo+PiAgJiYgKHJ0eF9lcXVhbF9wIChlbHQsIGNvbnN0 MF9ydHgpIHx8IHJ0eF9lcXVhbF9wIChlbHQsIGNvbnN0MV9ydHgpKSk7DQo+PiAtICAgICAgcnR4 IG9wc1syXSA9IHt0YXJnZXQsIHNyY307DQo+PiAtICAgICAgZW1pdF92bG1heF9pbnNuIChjb2Rl X2Zvcl9wcmVkX21vdiAobW9kZSksIHJpc2N2X3ZlY3Rvcjo6UlZWX1VOT1AsIG9wcyk7DQo+PiAr ICAgICAgcnR4IG9wc1tdID0ge3RhcmdldCwgc3JjfTsNCj4+ICsgICAgICBlbWl0X3ZsbWF4X2lu c24gKGNvZGVfZm9yX3ByZWRfbW92IChtb2RlKSwgUlZWX1VOT1AsIG9wcyk7DQo+PiAgICAgICAg cmV0dXJuOw0KPj4gICAgICB9DQo+Pg0KPj4gQEAgLTQ1OCwxNiArNDU4LDE0IEBAIGV4cGFuZF9j b25zdF92ZWN0b3IgKHJ0eCB0YXJnZXQsIHJ0eCBzcmMpICB3ZSANCj4+IHVzZSB2bXYudi5pIGlu c3RydWN0aW9uLiAgKi8NCj4+ICAgICAgICBpZiAoc2F0aXNmaWVzX2NvbnN0cmFpbnRfdmkgKHNy YykgfHwgc2F0aXNmaWVzX2NvbnN0cmFpbnRfV2MwIA0KPj4gKHNyYykpICB7DQo+PiAtICAgcnR4 IG9wc1syXSA9IHt0bXAsIHNyY307DQo+PiAtICAgZW1pdF92bG1heF9pbnNuIChjb2RlX2Zvcl9w cmVkX21vdiAobW9kZSksIHJpc2N2X3ZlY3Rvcjo6UlZWX1VOT1AsDQo+PiAtICAgIG9wcyk7DQo+ PiArICAgcnR4IG9wc1tdID0ge3RtcCwgc3JjfTsNCj4+ICsgICBlbWl0X3ZsbWF4X2luc24gKGNv ZGVfZm9yX3ByZWRfbW92IChtb2RlKSwgUlZWX1VOT1AsIG9wcyk7DQo+PiAgfQ0KPj4gICAgICAg IGVsc2UNCj4+ICB7DQo+PiAgICBlbHQgPSBmb3JjZV9yZWcgKGVsdF9tb2RlLCBlbHQpOw0KPj4g LSAgIHJ0eCBvcHNbMl0gPSB7dG1wLCBlbHR9Ow0KPj4gLSAgIGVtaXRfdmxtYXhfaW5zbiAoY29k ZV9mb3JfcHJlZF9icm9hZGNhc3QgKG1vZGUpLA0KPj4gLSAgICByaXNjdl92ZWN0b3I6OlJWVl9V Tk9QLCBvcHMpOw0KPj4gKyAgIHJ0eCBvcHNbXSA9IHt0bXAsIGVsdH07DQo+PiArICAgZW1pdF92 bG1heF9pbnNuIChjb2RlX2Zvcl9wcmVkX2Jyb2FkY2FzdCAobW9kZSksIFJWVl9VTk9QLCBvcHMp Ow0KPj4gIH0NCj4+DQo+PiAgICAgICAgaWYgKHRtcCAhPSB0YXJnZXQpDQo+PiBAQCAtNTM2LDkg KzUzNCw4IEBAIGxlZ2l0aW1pemVfbW92ZSAocnR4IGRlc3QsIHJ0eCBzcmMpDQo+PiAgICAgICAg cnR4IHRtcCA9IGdlbl9yZWdfcnR4IChtb2RlKTsNCj4+ICAgICAgICBpZiAoTUVNX1AgKHNyYykp DQo+PiAgew0KPj4gLSAgIHJ0eCBvcHNbMl0gPSB7dG1wLCBzcmN9Ow0KPj4gLSAgIGVtaXRfdmxt YXhfaW5zbiAoY29kZV9mb3JfcHJlZF9tb3YgKG1vZGUpLCByaXNjdl92ZWN0b3I6OlJWVl9VTk9Q LA0KPj4gLSAgICBvcHMpOw0KPj4gKyAgIHJ0eCBvcHNbXSA9IHt0bXAsIHNyY307DQo+PiArICAg ZW1pdF92bG1heF9pbnNuIChjb2RlX2Zvcl9wcmVkX21vdiAobW9kZSksIFJWVl9VTk9QLCBvcHMp Ow0KPj4gIH0NCj4+ICAgICAgICBlbHNlDQo+PiAgZW1pdF9tb3ZlX2luc24gKHRtcCwgc3JjKTsN Cj4+IEBAIC01NDgsOCArNTQ1LDggQEAgbGVnaXRpbWl6ZV9tb3ZlIChydHggZGVzdCwgcnR4IHNy YykNCj4+ICAgIGlmIChzYXRpc2ZpZXNfY29uc3RyYWludF92dSAoc3JjKSkNCj4+ICAgICAgcmV0 dXJuIGZhbHNlOw0KPj4NCj4+IC0gIHJ0eCBvcHNbMl0gPSB7ZGVzdCwgc3JjfTsNCj4+IC0gIGVt aXRfdmxtYXhfaW5zbiAoY29kZV9mb3JfcHJlZF9tb3YgKG1vZGUpLCByaXNjdl92ZWN0b3I6OlJW Vl9VTk9QLCANCj4+IG9wcyk7DQo+PiArICBydHggb3BzW10gPSB7ZGVzdCwgc3JjfTsNCj4+ICsg IGVtaXRfdmxtYXhfaW5zbiAoY29kZV9mb3JfcHJlZF9tb3YgKG1vZGUpLCBSVlZfVU5PUCwgb3Bz KTsNCj4+ICAgIHJldHVybiB0cnVlOw0KPj4gIH0NCj4+DQo+PiBAQCAtODEzLDcgKzgxMCw3IEBA IHNldzY0X3NjYWxhcl9oZWxwZXIgKHJ0eCAqb3BlcmFuZHMsIHJ0eCAqc2NhbGFyX29wLCBydHgg dmwsDQo+PiAgICAgICpzY2FsYXJfb3AgPSBmb3JjZV9yZWcgKHNjYWxhcl9tb2RlLCAqc2NhbGFy X29wKTsNCj4+DQo+PiAgICBydHggdG1wID0gZ2VuX3JlZ19ydHggKHZlY3Rvcl9tb2RlKTsNCj4+ IC0gIHJ0eCBvcHNbM10gPSB7dG1wLCAqc2NhbGFyX29wLCB2bH07DQo+PiArICBydHggb3BzW10g PSB7dG1wLCAqc2NhbGFyX29wLCB2bH07DQo+PiAgICByaXNjdl92ZWN0b3I6OmVtaXRfbm9udmxt YXhfaW5zbiAoY29kZV9mb3JfcHJlZF9icm9hZGNhc3QgDQo+PiAodmVjdG9yX21vZGUpLCAgcmlz Y3ZfdmVjdG9yOjpSVlZfVU5PUCwgb3BzKTsNCj4+ICAgIGVtaXRfdmVjdG9yX2Z1bmMgKG9wZXJh bmRzLCB0bXApOw0KPj4gQEAgLTExMjIsOSArMTExOSw5IEBAIGV4cGFuZF90dXBsZV9tb3ZlIChy dHggKm9wcykNCj4+DQo+PiAgICAgICAgaWYgKGZyYWN0aW9uYWxfcCkNCj4+ICB7DQo+PiAtICAg cnR4IG9wZXJhbmRzWzNdID0ge3N1YnJlZywgbWVtLCBvcHNbNF19Ow0KPj4gLSAgIGVtaXRfdmxt YXhfaW5zbiAoY29kZV9mb3JfcHJlZF9tb3YgKHN1YnBhcnRfbW9kZSksDQo+PiAtIHJpc2N2X3Zl Y3Rvcjo6UlZWX1VOT1AsIG9wZXJhbmRzKTsNCj4+ICsgICBydHggb3BlcmFuZHNbXSA9IHtzdWJy ZWcsIG1lbSwgb3BzWzRdfTsNCj4+ICsgICBlbWl0X3ZsbWF4X2luc24gKGNvZGVfZm9yX3ByZWRf bW92IChzdWJwYXJ0X21vZGUpLCBSVlZfVU5PUCwNCj4+ICsgICAgb3BlcmFuZHMpOw0KPj4gIH0N Cj4+ICAgICAgICBlbHNlDQo+PiAgZW1pdF9tb3ZlX2luc24gKHN1YnJlZywgbWVtKTsNCj4+IEBA IC0xMTQ3LDkgKzExNDQsOSBAQCBleHBhbmRfdHVwbGVfbW92ZSAocnR4ICpvcHMpDQo+Pg0KPj4g ICAgICAgIGlmIChmcmFjdGlvbmFsX3ApDQo+PiAgew0KPj4gLSAgIHJ0eCBvcGVyYW5kc1szXSA9 IHttZW0sIHN1YnJlZywgb3BzWzRdfTsNCj4+IC0gICBlbWl0X3ZsbWF4X2luc24gKGNvZGVfZm9y X3ByZWRfbW92IChzdWJwYXJ0X21vZGUpLA0KPj4gLSByaXNjdl92ZWN0b3I6OlJWVl9VTk9QLCBv cGVyYW5kcyk7DQo+PiArICAgcnR4IG9wZXJhbmRzW10gPSB7bWVtLCBzdWJyZWcsIG9wc1s0XX07 DQo+PiArICAgZW1pdF92bG1heF9pbnNuIChjb2RlX2Zvcl9wcmVkX21vdiAoc3VicGFydF9tb2Rl KSwgUlZWX1VOT1AsDQo+PiArICAgIG9wZXJhbmRzKTsNCj4+ICB9DQo+PiAgICAgICAgZWxzZQ0K Pj4gIGVtaXRfbW92ZV9pbnNuIChtZW0sIHN1YnJlZyk7DQo+PiBAQCAtMTI4MSw4ICsxMjc4LDgg QEAgZXhwYW5kX3ZlY3Rvcl9pbml0X2luc2VydF9lbGVtcyAocnR4IHRhcmdldCwgY29uc3QgcnZ2 X2J1aWxkZXIgJmJ1aWxkZXIsDQo+PiAgICAgICAgdW5zaWduZWQgaW50IHVuc3BlYw0KPj4gID0g RkxPQVRfTU9ERV9QIChtb2RlKSA/IFVOU1BFQ19WRlNMSURFMURPV04gOiBVTlNQRUNfVlNMSURF MURPV047DQo+PiAgICAgICAgaW5zbl9jb2RlIGljb2RlID0gY29kZV9mb3JfcHJlZF9zbGlkZSAo dW5zcGVjLCBtb2RlKTsNCj4+IC0gICAgICBydHggb3BzWzNdID0ge3RhcmdldCwgdGFyZ2V0LCBi dWlsZGVyLmVsdCAoaSl9Ow0KPj4gLSAgICAgIGVtaXRfdmxtYXhfaW5zbiAoaWNvZGUsIHJpc2N2 X3ZlY3Rvcjo6UlZWX0JJTk9QLCBvcHMpOw0KPj4gKyAgICAgIHJ0eCBvcHNbXSA9IHt0YXJnZXQs IHRhcmdldCwgYnVpbGRlci5lbHQgKGkpfTsNCj4+ICsgICAgICBlbWl0X3ZsbWF4X2luc24gKGlj b2RlLCBSVlZfQklOT1AsIG9wcyk7DQo+PiAgICAgIH0NCj4+ICB9DQo+Pg0KPj4gZGlmZiAtLWdp dCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNj IA0KPj4gaW5kZXggZTczMDBiMmU5N2MuLjA5ZmM5ZTVkOTVlIDEwMDY0NA0KPj4gLS0tIGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KPj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j Yw0KPj4gQEAgLTczOTYsNyArNzM5Niw3IEBAIHZlY3Rvcl96ZXJvX2NhbGxfdXNlZF9yZWdzIChI QVJEX1JFR19TRVQgbmVlZF96ZXJvZWRfaGFyZHJlZ3MpDQo+PiAgICAgICAgZW1pdHRlZF92bG1h eF92c2V0dmwgPSB0cnVlOw0KPj4gICAgICB9DQo+Pg0KPj4gLSAgIHJ0eCBvcHNbM10gPSB7dGFy Z2V0LCBDT05TVDBfUlRYIChtb2RlKSwgdmx9Ow0KPj4gKyAgIHJ0eCBvcHNbXSA9IHt0YXJnZXQs IENPTlNUMF9SVFggKG1vZGUpLCB2bH07DQo+PiAgICByaXNjdl92ZWN0b3I6OmVtaXRfdmxtYXhf aW5zbiAoY29kZV9mb3JfcHJlZF9tb3YgKG1vZGUpLCAgDQo+PiByaXNjdl92ZWN0b3I6OlJWVl9V Tk9QLCBvcHMpOw0KPiAgDQo+IFJldmlld2VkLWJ5OiBQYWxtZXIgRGFiYmVsdCA8cGFsbWVyQHJp dm9zaW5jLmNvbT4NCj4gIA0KPiBhcyBib3RoIGNsZWFudXBzIGxvb2sgYmV0dGVyIHRvIG1lLiAg VGhhbmtzIQ0KPiAgDQo=