From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id C5D663858C5E for ; Mon, 24 Jul 2023 11:59:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C5D663858C5E 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=1690199970; x=1721735970; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=TTAYOhTiJruzNjAsw9JmjGj6j3Qtzl30nPY5ODWnQII=; b=liFeuDGcsOeNw3agcVdS5dGVfjDnKMwdXCKtuHFv0VDoiUhFIb8nPHRE tzT67ofTlwFMT7Bfb2rnTcAx4Jx78Q4r+GY22XmNCUlF+9YDgEvVeGi1r 4NF7kOkTlMp7m10Xs4yPZtFGaou5d+YSGwr+rRUlMrJuMEzx9uuQvcSb8 tS4tOtuEz4y6q1h7MZKAPVs4jVo8Bhuc0wqkvnrILweKkwgDtu55mQxZv vUNaEjgBBnUodx5yndjrEcW88xzLTBr0ujXcHevDZU3rTdOvGdBGvqcin mD2ImlIJP9YdJPtZ5kCTBxQ+IQqnLLJapCBj88gMjx+kJEjAu3c0JRuuw g==; X-IronPort-AV: E=McAfee;i="6600,9927,10780"; a="347022606" X-IronPort-AV: E=Sophos;i="6.01,228,1684825200"; d="scan'208";a="347022606" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jul 2023 04:59:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10780"; a="839428566" X-IronPort-AV: E=Sophos;i="6.01,228,1684825200"; d="scan'208";a="839428566" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga002.fm.intel.com with ESMTP; 24 Jul 2023 04:59:29 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 24 Jul 2023 04:59:28 -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.27 via Frontend Transport; Mon, 24 Jul 2023 04:59:28 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) 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.27; Mon, 24 Jul 2023 04:59:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EBntBs1mQLyHTBjgKgcr3U8Y1+bXTo0C2/l3Vkugw/bxEVzZl+O/FieucRMgl80oepBycrx6Prx/JMMTDOCp1VNGDRgO4ryhe8SrC9zNr8hEGKk3SN37ShENKJcXxRI+rU0cNWT7HaKl5VifbA/+S4RfeQv3ownWc/NIMY/0V6b1uD/QIAXk6Z03sBujqU3gmTQs96kxjQXgZjdRWs+CVg2v1FjzujxdYnjw/CiRpIwqZHl18u4ygK1BxfMKErQQav2yJHmIPw00OoyvN12XPM276uxyCGY8Hh/EGoUuGUrBHQ2tApxh+RiSe9sSJdBB61z5zJNT894hcNHEMq/k3g== 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=TTAYOhTiJruzNjAsw9JmjGj6j3Qtzl30nPY5ODWnQII=; b=Y2+LES++r26EF5yKKSUFmW9MEERaCkehjeCxxDnzrCjVv8v/4k6H5MHT9GgT1j1x2NUUBwntU87438SqoRutgVyUstlJ4FJFTnEnyp0Xo9JS9+Vf/ETKDNhnjMjfKbCs6AtzWec3WJ4qQxpDVCW/va69iJURz7Uvm8ajTAH/0BnBoK+rSeu/dtOtaLCvX4pvxK7GWqshuYV0srfBXz/rR+l80ywqxwu1LN9FZG3oPE59nK+Zx4Iuk+HD1btwrQKPoCbHTIcsSNKZhudVy9lAYsY8zDBPWtXRhsAt/K07faGzwJTkJ+sB6tcOBYQK5KMeJttPCJgRKjv4GdSDtgz+tA== 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 MW3PR11MB4540.namprd11.prod.outlook.com (2603:10b6:303:56::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 11:59:26 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::21a9:85fa:b8a8:8052]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::21a9:85fa:b8a8:8052%3]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 11:59:26 +0000 From: "Li, Pan2" To: Robin Dapp , "gcc-patches@gcc.gnu.org" CC: "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "Wang, Yanzhang" Subject: RE: [PATCH v6] RISC-V: Support CALL for RVV floating-point dynamic rounding Thread-Topic: [PATCH v6] RISC-V: Support CALL for RVV floating-point dynamic rounding Thread-Index: AQHZvdh7nINqcxwH1Eq8L352/eJrTq/It3wAgAABq1A= Date: Mon, 24 Jul 2023 11:59:25 +0000 Message-ID: References: <20230719032822.85817-1-pan2.li@intel.com> <20230724024209.3595212-1-pan2.li@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: MW5PR11MB5908:EE_|MW3PR11MB4540:EE_ x-ms-office365-filtering-correlation-id: 267dd785-742d-4f2c-498e-08db8c3d6d63 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sGr30/mXo6B0LnuN1p0mxh7YjDc1A9dmrtQGK/c/52F6qryBRQypcrLbzGLmEFIh06yJC85NMhvLIP1OxbbqCj1qdRQdvlzmkSXiShawbOhFXLS94pUqMrHoBdl75fqp7/ZE85qqdi35s7co2eYHa9W+2EJdFXsogAfpPKwd3rviHsHLkEXu8Nbt9Dj3IsalStcImNE8guhiTFhWx4rqhVA6c5e5j7EZGhLeBtB8Zv2mQnPU6cV76P3QJAhlNA/av2omzVI22N5xQ82inkQuqhrTnf6XC2A+9s5dXwxsiBPY+cUi1uf/DlVinm/v1srI3KvgLxLO8GA+K6QVBK2Ike2wrDSJh6YuEfHuCDB4UoZJG+CcjksBLzffmGHrd+pUR4expU+LvzgB/SoBqLwbmimeDswEo+QHJxrbx1k6ShfLXKeNHriaPccteIkBjwsKnD4RqbWBHdgrUzc8GEES6QrlbcOExuF3xUQrxKHbo0Vei/EMw0YQHWZdKfbRdUrDuKH0Bs9k4n3ryQz1ssc+AU9VxdVT4ads+X0A22i77V5tkrNyzHPFDNa4DznJ6xSFzCS4ZZIY23oCFc8jorH1IwhGv5IZX6dFU1t8oaJroVRgtAnrY/KxHL+JIksxh6MS 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)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199021)(38100700002)(122000001)(66556008)(55016003)(53546011)(107886003)(83380400001)(8676002)(8936002)(5660300002)(52536014)(54906003)(110136005)(478600001)(66476007)(66446008)(4326008)(64756008)(316002)(66946007)(76116006)(41300700001)(186003)(26005)(6506007)(71200400001)(9686003)(7696005)(2906002)(33656002)(86362001)(38070700005)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0V3YllPNm9FWXJxWkFyY0FQR1d2NnJUbnp3VjA0YVpYdVdQSG03NE5KQmlW?= =?utf-8?B?aWc1MHA1Rk1BRFg0NzRNUTltNmh3aUlZY0Z6aGtEckU5bkxBb0k3dGFNaVI4?= =?utf-8?B?aDZUNFdlR21ZYmZxY05rdXYrZXVOWTNmd0FVYnJheXRYUnovTi9oTVUxTHBH?= =?utf-8?B?N2dWVytuNkxEcEpJb3hFTE5mSDk1WWRXUDJlMHZYMVBwRTRVZkw3MmcwbnhE?= =?utf-8?B?aWRZbUk2SFZCYXhZdFN6ekdmUU9scHpPSzRJaFprSEdKNXFNc2huWXl6cGpJ?= =?utf-8?B?aC84eTdsTDVKbytmWEVMMlNHOFdwRmM4R2wzSGI3WTRUU2hBdDUvN0ZFSHZM?= =?utf-8?B?MnNFR2NLaTFNVlpDK1ZJTEN4YUhMYkwzNGEvVGJrYUNLNlgyV3dpTUErVGZZ?= =?utf-8?B?M3g1Z2szbW1UNkxHVHdrSU1WbUpMYUUwdC84azByeVM5ak9TaXpGQ29BRU1I?= =?utf-8?B?akJmZXZBU2hBSTRLMnlxWGo2cWRyQUgzWXVPRmhrRDJuOWEvWHhqbDlFVjA4?= =?utf-8?B?SU1kU1YzVHMxalIwSTlCczNaMmRndjY5NnN6eklDR3NGc3dXb0ZsbmwxZEtW?= =?utf-8?B?R3FBaHgrdmNEbE1PSFUrRDgrS2NxNjc5ajJlbmlqU1RDN1k3TzR6WDg5WWZB?= =?utf-8?B?WnVRKzhtMFJPWDBDNWozN1Rob0lTUjJ4NTcwTE1KZkMxYW5xaDFrZUVKQUkw?= =?utf-8?B?VkhLNVljRjgwM3VEK2x2bHJ5eW5SVkZQN1RjUXJVN21qYXMxdURSQ05JYkV3?= =?utf-8?B?a3hBUUgvQWE2MXNqcUdOcXRNQkN1QmpiT2RKRENDYmVQdWxFVmJZUmJHZk9B?= =?utf-8?B?ZGI1TUZUcnJINktqMDE2ZUM1a3NTUEFERUhteUUwbXhLTGQrQnB2SWE3YWpB?= =?utf-8?B?aGMvVHFONTkveWdlTzF0SUx3L2xidVRFTHozTzBFUzBSSlhIaDFsYzA5M0Js?= =?utf-8?B?ODE5TndoRjlrOXBnOXpCYml6T0VRVVR5cXJOQUt4dFU2M2J5anNEZzNQMWVh?= =?utf-8?B?UmU5aXRkaVBKNXpQNEd3bWpWWlVkRytFbUdYekRKcTNPSmM5LzJ6SW1LakpJ?= =?utf-8?B?MUtJNjJvYWVMK0lsQTZpaVdCajUxM1FmSmhKL2RpYnI5L0tWaTVWVThFUG5n?= =?utf-8?B?bFo3NUFZQzQ1T0NoV1lmSUxIMm1wS1NEU0FCcnpzSUE5eTVnYlp1dE16bTBa?= =?utf-8?B?TEhZYUpuNEpwRGFjamloWEVBR0NvNDJGeTJNM1IyT2lxZFdUSzcrVm8ydFo4?= =?utf-8?B?a3BRRnZQZ0VkVWwxNE9tNy9yNjBhVDd0c3hZdnVjNXNhSVp0dXBXbHQ2OFMx?= =?utf-8?B?a0lRVCtsMzA3ZThtZVdYZjRKaUhPYkxhbHdKVTkyN2V4REx6THRFTEZhN3RC?= =?utf-8?B?NG4vZHBSUkhVc1JuVG9MaFZtcUhnelRPTi91OXpMcXo1Z01lNTJpb0lwQm8w?= =?utf-8?B?QUpYVXFrMDZQdFcxQ2F6cm1SZ2piTVkwSUxuZnJwRXhoYy8rcDAxNE9QNVpl?= =?utf-8?B?YkJDbFZwODcreDVTamRxanE3b3llUnpRY3oxNE9pQjJyMVVKeWd0OFVCaHg1?= =?utf-8?B?M0ZNdGlEUlROSE5SckhRUnJnY2EyZjZGdndsRkhQamE3ZlFJNm01MkJic0Mv?= =?utf-8?B?dG1VeWcvd0FvUjJTVGN1TU4zQ0JWZ2dnM3RvdTlHT2RubG5RZ3p5ckhudlpE?= =?utf-8?B?bGNWSjlKcWNtUkd2Nnk0d1pJdzVYYzkyZmRiNmdxSDNmK2RVTFp4Sk9GS0Ex?= =?utf-8?B?SnhWNVJvaTFNbndHZ0lRM003dU81MWt4M0lWT2UxaGdzb1VjYnhDUjlSeVhJ?= =?utf-8?B?M3N6WDVqbW1mdHdkZE5FNlpNOVB3WVlOWndpWWh1QStmcngzNTN1RUY4QzNk?= =?utf-8?B?a1lVQVY3NVYwNnNPdUUrUllEdUphVFhKY0R2OWdFTCtKWkF6MVJtelV0Vzdz?= =?utf-8?B?VnQwbFplMkkxcEY1ZklmeEVpTU1ZNkVZYmdlZ2wzVW9sNVFteVpiQjAxTlQ4?= =?utf-8?B?blh2VXora0VuTXg5dHMxLzJTdlB6WWs5WThocjZXb0M1MU5Jc3g4QnhxVDlq?= =?utf-8?B?WVQ5QjhUeGI3WGJycVhVMWI4ejhZa2lsK3c4dW5yMjB5VHo1V0ZxM0hUVmZl?= =?utf-8?Q?MBpg=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: 267dd785-742d-4f2c-498e-08db8c3d6d63 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2023 11:59:25.9133 (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: wi0sai8K2pZB/dPh+wxMIyThL/J8GyyusyKzfZzlTJjj0PkB/T82DJvuQJgPwpBKFWdVLzrRiLGfwM3eXbG8iQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4540 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,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: VGhhbmtzIFJvYmluIGZvciBjb21tZW50cy4NCg0KPj4gRG9lcyBwcmV2X25vbm5vdGVfbm9uZGVi dWdfaW5zbl9iYiBoZWxwIGhlcmU/ICBJbiBnZW5lcmFsLCB3ZSBzY2FuDQo+PiBiYWNrIGhlcmUg dG8gdGhlIGxhc3QgaW5zbiBhbmQgInJlY292ZXIiIGlmIGl0IHdhcyBhIGNhbGw/ICBXaHkNCj4+ IGNhbid0IHdlIHNldCB0aGUgcHJvcGVyIHZhbHVlIGFscmVhZHkgYmVmb3JlIGV4aXRpbmcgdGhl IGZ1bmN0aW9uPw0KDQpHb29kIHRvIGxlYXJuIHByZXZfbm9ubm90ZV9ub25kZWJ1Z19pbnNuX2Ji LCB3aWxsIGhhdmUgYSB0cnkgaGVyZS4NCkZpcnN0IHdlIG1hcmsgdGhlIGNhbGwgYXMgRFlOX0NB TEwuIFdlIGV4cGVjdCB0aGUgaW5zbiBuZXh0IHRvIHRoZSBjYWxsIHRvIGVtaXQgdGhlIGJhY2t1 cCBpbnNuLg0KSG93ZXZlciwgaWYgbmV4dCBpbnN0cnVjdGlvbiBpcyBEWU5fT05FLCB0aGUgbW9k ZSBzd2l0Y2hpbmcgaXQgc2VsZiB3aWxsIG5ldmVyIGNhbGwgZW1pdC4gVGh1cywgZm9yIGVhY2gN Ckluc24gaXMgRFlOX05PTkUsIHdlIHdpbGwgcmVzZXQgaXQgdG8gRFlOIGlmIHRoZSBsYXN0IGlu c24gaXMgY2FsbCBhbmQgbGV0IHRoZSBtb2RlIHN3aXRjaGluZyB0byBlbWl0IHByb3Blcmx5Lg0K DQpXaGVuIG1lZXQgYSBjYWxsLCB3ZSBhc3N1bWUgdGhlIHJvdW5kaW5nIG1vZGUgd2lsbCBiZSBj bG9iYmVyZWQuDQoNCj4+IFdoYXQgYWJvdXQgbm9uZGVidWcgaW5zbnM/ICBBbHNvIG1heWJlIG5l eHRfbm9ubm90ZV9ub25kZWJ1Z19pbnNuX2JiDQo+PiBoZWxwcz8gIEhvdyBhYm91dCBzcGxpdHRp bmcgdGhlIGZ1bmN0aW9uIGluIGRldGVjdGlvbiBhbmQgZW1pdD8NCj4+IEkuZS4gYmJfZW5kc19p bl9jYWxsIChvciBzbykgYW5kIHRoZSBlbWl0IHBhcnQuICBUaGF0IHdheSBpdA0KPj4gY291bGQg YmUgbW9yZSBvYnZpb3VzIGluICJuZWVkZWQiIHdoYXQgbmVlZHMgdG8gYmUgZG9uZS4NCg0KVGhl IHBvaW50IGhlcmUgaXMgdGhhdCB0aGUgY2FsbCBtYXkgYmUgdGhlIGxhc3QgaW5zbiBvZiBjdXJy ZW50IGJiLiBUaGVuIHdlIGhhdmUgY2hhbmNlIHRvIGVtaXQgYmFja3VwIGluc24gQUZURVINCnRo ZSBjYWxsLCBiZWNhdXNlIHRoZSBlbWl0IGJ5IGRlZmF1bHQgZW1pdCB0aGUgaW5zbiBiZWZvcmUg Y3VycmVudCBpbnNuLg0KDQpUaHVzIHdlIHRyeSB0byBtYWtlIHVwIHRoaXMgZHVyaW5nIHRoZSBu ZWVkZWQgcHJvY2VzcywgSSBrbm93IHRoaXMgbWF5IG5vdCBiZSBhIGdvb2QgaWRlYSBidXQgaXQg aXMgdGhlIG9ubHkgd2F5DQpJIGNhbiBsb2NhdGUgc2hvcnRseS4gSSBtYXkgdHJ5IHRvIGZpbmQg YW5vdGhlciB3YXkgaWYgd2UgY2FuIGNvbnRyb2wgdGhlIGluc24gZW1pdCBsb2NhdGlvbiBmb3Ig ZWFjaCBpbnNuLg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJv YmluIERhcHAgPHJkYXBwLmdjY0BnbWFpbC5jb20+IA0KU2VudDogTW9uZGF5LCBKdWx5IDI0LCAy MDIzIDY6MjkgUE0NClRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5jb20+OyBnY2MtcGF0Y2hl c0BnY2MuZ251Lm9yZw0KQ2M6IHJkYXBwLmdjY0BnbWFpbC5jb207IGp1emhlLnpob25nQHJpdmFp LmFpOyBraXRvLmNoZW5nQHNpZml2ZS5jb207IFdhbmcsIFlhbnpoYW5nIDx5YW56aGFuZy53YW5n QGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjZdIFJJU0MtVjogU3VwcG9ydCBDQUxM IGZvciBSVlYgZmxvYXRpbmctcG9pbnQgZHluYW1pYyByb3VuZGluZw0KDQpIaSBQYW4sDQoNCj4g KyAgZm9yIChpbnNuID0gUFJFVl9JTlNOIChjdXJfaW5zbik7IGluc247IGluc24gPSBQUkVWX0lO U04gKGluc24pKQ0KPiArICAgIHsNCj4gKyAgICAgIGlmIChJTlNOX1AgKGluc24pKQ0KPiArCXsN Cj4gKwkgIGlmIChDQUxMX1AgKGluc24pKQ0KPiArCSAgICBtb2RlID0gRlJNX01PREVfRFlOOw0K PiArCSAgYnJlYWs7DQo+ICsJfQ0KPiArDQo+ICsgICAgICBpZiAoaW5zbiA9PSBCQl9IRUFEIChi YikpDQo+ICsJYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgIHJldHVybiBtb2RlOw0KPiArfQ0K DQpEb2VzIHByZXZfbm9ubm90ZV9ub25kZWJ1Z19pbnNuX2JiIGhlbHAgaGVyZT8gIEluIGdlbmVy YWwsIHdlIHNjYW4NCmJhY2sgaGVyZSB0byB0aGUgbGFzdCBpbnNuIGFuZCAicmVjb3ZlciIgaWYg aXQgd2FzIGEgY2FsbD8gIFdoeQ0KY2FuJ3Qgd2Ugc2V0IHRoZSBwcm9wZXIgdmFsdWUgYWxyZWFk eSBiZWZvcmUgZXhpdGluZyB0aGUgZnVuY3Rpb24/DQoNCkkgZ3Vlc3MgdGhlIG1vcmUgZ2VuZXJh bCBxdWVzdGlvbiBpcyBtb3JlIHRvd2FyZHMgY2FsbC1jbG9iYmVyZWQgb3INCm5vdD8gIEluIHRo aXMgcGF0Y2ggd2UgYXNzdW1lIHRoZSByb3VuZGluZyBtb2RlIGlzIGNhbGwgY2xvYmJlcmVkDQph bmQgcmVzdG9yZSBpdCBvdXJzZWx2ZXMuICBIYXMgdGhlcmUgYmVlbiBhbnkga2luZCBvZiBjb25z ZW5zdXMNCm9uIHRoaXM/ICBJbnR1aXRpdmVseSBJIHdvdWxkIGhhdmUgZXhwZWN0ZWQgYSBmdW5j dGlvbiB0aGF0IHJlcXVpcmVzDQphIG5vbi1zdGFuZGFyZCByb3VuZGluZyBtb2RlIHRvIHNldCBh bmQgcmVzdG9yZSBpdCBpdHNlbGYuIA0KDQo+ICsNCj4gKy8qIEluc2VydCB0aGUgYmFja3VwIGZy bSBpbnNuIHRvIHRoZSBlbmQgb2YgdGhlIGJiIGlmIGFuZCBvbmx5IGlmIHRoZSBjYWxsDQo+ICsg ICBpcyB0aGUgbGFzdCBpbnNuIG9mIHRoaXMgYmIuICAqLw0KPiArDQo+ICtzdGF0aWMgdm9pZA0K PiArcmlzY3ZfZnJtX3JlY29uY2lsZV9jYWxsX2FzX2JiX2VuZCAocnR4X2luc24gKmN1cl9pbnNu KQ0KPiArew0KPiArICBydHhfaW5zbiAqaW5zbjsNCj4gKyAgYmFzaWNfYmxvY2sgYmIgPSBCTE9D S19GT1JfSU5TTiAoY3VyX2luc24pOw0KPiArDQo+ICsgIGdjY19hc3NlcnQgKENBTExfUCAoY3Vy X2luc24pKTsNCj4gKw0KPiArICBpZiAoY3VyX2luc24gIT0gQkJfRU5EIChiYikpDQo+ICsgICAg ew0KPiArICAgICAgZm9yIChpbnNuID0gTkVYVF9JTlNOIChjdXJfaW5zbik7IGluc247IGluc24g PSBORVhUX0lOU04gKGluc24pKQ0KPiArCXsNCj4gKwkgIGlmIChJTlNOX1AgKGluc24pKSAvKiBJ ZiB0aGVyZSBpcyBvbmUgaW5zbiBhZnRlciBjYWxsLCBkbyBub3RoaW5nLiAgKi8NCj4gKwkgICAg cmV0dXJuOw0KDQpXaGF0IGFib3V0IG5vbmRlYnVnIGluc25zPyAgQWxzbyBtYXliZSBuZXh0X25v bm5vdGVfbm9uZGVidWdfaW5zbl9iYg0KaGVscHM/ICBIb3cgYWJvdXQgc3BsaXR0aW5nIHRoZSBm dW5jdGlvbiBpbiBkZXRlY3Rpb24gYW5kIGVtaXQ/DQpJLmUuIGJiX2VuZHNfaW5fY2FsbCAob3Ig c28pIGFuZCB0aGUgZW1pdCBwYXJ0LiAgVGhhdCB3YXkgaXQNCmNvdWxkIGJlIG1vcmUgb2J2aW91 cyBpbiAibmVlZGVkIiB3aGF0IG5lZWRzIHRvIGJlIGRvbmUuDQoNCkFyZSB3ZSBoYW5kbGluZyBz aWJjYWxscyBhbmQgdGFpbCBjYWxscyBwcm9wZXJseSBoZXJlPw0KDQpJbiBnZW5lcmFsIEknbSBz dGlsbCBhIGJpdCB3YXJ5IHRoYXQgd2UgYXJlIGNoZWNraW5nIG1vZGUgIT0gcHJldl9tb2RlDQpi dXQgY2Fubm90IHJlYWxseSBwaW5wb2ludCB3aHkuICBJIHdvdWxkIGhhdmUgaG9wZWQgdGhhdCB0 aGUgZ2VuZXJpYw0KY29kZSBvbmx5IGNhbGxzIHVzIHdoZW4gdGhpcyBjaGVjayBpcyB1bm5lY2Vz c2FyeSBhbmQgaWYgbm90IHRoZQ0KIm5lZWRlZCIgaG9vayBzaG91bGQgYmUgYWRqdXN0ZWQuDQoN CkkgYWxzbyBmaW5kIGl0IGEgYml0IG9kZCB0byBlbWl0IGluc3RydWN0aW9ucyB3aGVuIGNoZWNr aW5nDQppZiBhbm90aGVyIG1vZGUgaXMgbmVlZGVkLiAgSWYgd2hhdCdzIHJlcXVpcmVkIGNhbm5v dCBiZSBhY2NvbXBsaXNoZWQNCndpdGggdGhlIGN1cnJlbnQgY29tbW9uIGNvZGUsIHNob3VsZG4n dCB3ZSByYXRoZXIgdHJ5IHRvIGFtZW5kIHRoYXQ/DQoNClJlZ2FyZHMNCiBSb2Jpbg0KDQo=