From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id C0F493858D32 for ; Mon, 24 Jul 2023 12:03:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C0F493858D32 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=1690200192; x=1721736192; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=IPUXrRdQBNYTkEKJud+AozuxSHAQMRWF4BB7HZ8LfGo=; b=PCyayRqBtA8bzYvmsyVTd6XEPVKGa6MmtgdN28aRNu9TEuN/INQu1nod PVeBlmSyb7Y72sb4XFmsBEuG3MD2ZbtLrRa1f+AQqkTNyPz5LsMRg19wV cBw6iq5tS4YzS3/dJkrs4rf/jgBtG2fp5NJuk5qRd/9zM487Kfc+ZCu4F 42o3UtbIN27L7QtQ2LeJlcTqbZz82W08C2bfedHJYdKgpUAF357PL+OdE sy4F1FnsKVIVoCxYe7fIAbEHDDUeeGwlNNudjonC2/QSo3/7u/ajVQMTL 78fhCX6IGpU5bopLCSOY33ljBRJ64rqGWZYvASaG+uUiGknbbuh0143fj g==; X-IronPort-AV: E=McAfee;i="6600,9927,10780"; a="366312583" X-IronPort-AV: E=Sophos;i="6.01,228,1684825200"; d="scan'208";a="366312583" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jul 2023 05:03:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10780"; a="899470595" X-IronPort-AV: E=Sophos;i="6.01,228,1684825200"; d="scan'208";a="899470595" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 24 Jul 2023 05:03:10 -0700 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.27; Mon, 24 Jul 2023 05:03:10 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Mon, 24 Jul 2023 05:03:10 -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 05:03:10 -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 05:03:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=auxbGsRkOf0D8zx3vFHH5oyPmTTk3P7JLcQbdu0diD8eQeNIWvn0UllyBbqaUTQwnLH50a9p23NDC+UI1PH13zLVYv5jBb7CM4xKC+mahjvPBwOjljS2/A1bEgsM1HRx153lDxje/FS64f89GsmB3GA53hInYIlRWHrOJQzoYCQQQNedeupiJPVVwqtMQPmqJFK630dq66Y6qSzAqYwPsi6h5GedHfr2FrokCpeHa3BfMvOrLu+mQNM/J9vgyTU8GdH3vIObRR9jch4LY+c1/wj8jawMe9BxX/HD7cDou/PgjMSwsLxBC42QnPi4BtQCBzY39IRzGPBr31nm5JSAgg== 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=IPUXrRdQBNYTkEKJud+AozuxSHAQMRWF4BB7HZ8LfGo=; b=h84S9ci2zjJVAQzVYQJ1XV14BtZQvl3ZNK2oAzyPcsfwoS2kKOLibmgGci6dsv06H8bAnj3PP9cXWMABiVPdwIZerttMTWJWZkap/itJeyyY2YdeWaPzzLJHl2cryAXPHpGm1vlpC09bbfI5ecsijqWH/0VQLkJ2P/3Q8XdonBEZCVrMHftnhlCUbMX4kZCKT1Oq3eS32I/MJptI1SWac2vjWpsL2j9Zs9XlnP3cASwmZHoNdzOBeI8pO0L5K9mA1wBz1xYGshU1HURQeNHxWBhSaHM26k/crGvLv1oPqC4AcBBAav2RZbt7a5hsGPbWb7XSn/9JGNF8KOKyCYottA== 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 12:03:08 +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 12:03:08 +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/It3wAgAABq1CAABibEA== Date: Mon, 24 Jul 2023 12:03:08 +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: 1567f87b-8dd0-4854-d880-08db8c3df1d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /9kJ5x8q9iO62+ehZF3mjlhhZU/CFcvs7h1NmXFupjq0dDMjkHPh1tK4SCn5AhfUI01axJ6k7YeIPchEdb9yGo8WUsKG3YO8kBelnbbRxmSF90+/pOYtaKyLyOuV1X9+J73Pf6zjXFR3ZNykM7PJy7TouYPkWyqD3Omf9LCuj7tbsTJmUVjg4Ubb5KIqOlE5OudlM00wQvje9z+wQUr/tbiit35/PaX2QWAwu8b9dVXJ5ooPw4KcbkX5gwT9HA8oFjAkGPzR567qTZPlbTt99+pQEc75YwC1DTxOw80TkdY5pLji0Q6gBO8yqJAY7RFNJDTmTKyEaacucNhhu7gOMZKfWgcT9EMCRo7pJ4AmGbdZPI8VsxqTkrEc2ZAFfOUJh0hj+XbfKh7Tf09Dl0SSnNA499BUvQN37VdtEuTRnKC7HSyRTHsv/rKCBfYyekRdzij4rnzO+EHu3deSIsum/0pSRos6GYqrPKvlB2F4EAGGBmriK+eTWQCI8bU6maupqhayuVxGMq9Ll7/G5rUR78jMDCmqOlrbguBsDWRW81mcBnpVD3O2X+CWmOHt/De+x1sNU6W6GQJ+UN1mVsc1JR/ResebJABiPMSmwGa2qT8pDq/cztckvw6VT6UwpI+V 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)(2940100002)(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?RTg4UEdBaEtPRkRPRkphZ3dYdTZya0FKc29PODloTHZQdVlFSmoyYm9EZjVP?= =?utf-8?B?aXovVENlUWFHOUdIRUhkMjJwbTF2SlhiUkdTR0hTaDRlbkNQVkd6UE5nTytl?= =?utf-8?B?d1pzelhnOTA4a0RpdlhaRE80T1RkeGlidkV4Y0ZhNnQ3SmFFUHhQckRhY2VJ?= =?utf-8?B?UWd2RmlzdU5QSGMzbXR2Q29PVFpCS2tBSTM5YzRjU2ZyQmVWdWluVnAxWkd5?= =?utf-8?B?N3c2ZjhaSWw0aHF5NGtSeE8ybHMvZ0lTTDVjTlExOWVvTlkxQVFCdmJkMVZT?= =?utf-8?B?dFN6bUhKMi9DKzA2a0hvY2loY1VmTlJPUktKWVlPNGE5c1JJWVd5YTdCL01V?= =?utf-8?B?WjBDd1p2dkoxSW50aERRazlVM2dmNGRYUUM5b1kzb3VHNEI5K2JZZ3RMcWYx?= =?utf-8?B?VjMxd0dQbE5xMGR1ZzJTeFB1MFFuNmQzNnJLUVBxRUJsUFliYVA3SWtFalVq?= =?utf-8?B?UlVlTzBIdHM3aGtGcHF1cjIxZVFKYkExNlFDaG1NSzRiajBLWTV6cUtKMzNO?= =?utf-8?B?Ymp6TURWbGFaTHp0eTFJck1NUzA5WXUwTFFFL0U5dnBtRGl6Q1BYVFVkeC9R?= =?utf-8?B?WVFxN2YxcU1QN3JQN3hzUysxdVVmQXBCTVg1OVU3R0xXWHVzQU9xY0MvUE9n?= =?utf-8?B?b2FaaVgrYkxZY0lkZkl1ZFRvYjlEcDJjM0VzY21Ta0g3dGFCYkZFLzdZZ3Vr?= =?utf-8?B?c0hLblVTWTMrUnMxOTBtN1BUMk5WVStCVVlQRUU2MUJXK3EwVzhIeTZoL0ZS?= =?utf-8?B?d0IrUUNJc09HTmhxNTJsaUNGZk5SZ0lmTUp1ZEJTWCthMVdWNDVraWZZUzFQ?= =?utf-8?B?S3pSWCtySy93MHRvKzZLb0ZzS3BYa3FxUzZBMTB5YndibFl5eElrZzg1cjJL?= =?utf-8?B?aXpuRVBBUDI1WnAzQjZleWxrWFYzSm96RUFmbXdZbG5VYndzdjNCUG9lVUt5?= =?utf-8?B?TXFpd1cveEFETVNNUkVUWmIwR0FWNnVxUGZrcHl2VVVNVGF6S2tqSGY3OVJ4?= =?utf-8?B?dVpYMUpsb1oxcGlheVBpL2E2c0RMVlZ1TG5EemRpUEI0QlVGcEhJRG1lUXJX?= =?utf-8?B?dXhyejNNemtIVFZTWld2UXY5b3RCYVlYUG9ZenJJSDI1UmJmMHFPdGMzUEgx?= =?utf-8?B?TmdWYTcxUDgyNEkrNDFuMFVlNkhwUTJVY0Q2RHlCa0ZHekFIMHR4MW5GQnNp?= =?utf-8?B?cjlBRmdSQXlDMnNXdCtJc1hmNW5qRFAxblRxdE1mcnBwdmhUYWQxalQxc2xo?= =?utf-8?B?bkhJTjdmeWZIckhGb2RCZ09aWjNkQzlQNGZ3NlNUWWtIT3lqa2hrcnNzNGlD?= =?utf-8?B?ODB3Zkxvc0tkaWdDbXFNOU9lTVBReGtnQ0ZsalFPU0VrWUZhNVpDN1J0S2xD?= =?utf-8?B?Q2J5S3ZlYnBCOGVyQjI1U2tySERpNDVuMkJiN21jUEZpNHlUSFJYaE44dUR5?= =?utf-8?B?eTBxRG5iM1AzeVp3M0FqRG4vMVk3cXdJWlA5WTd1VXp0eVU0cUtZZ1lIMlFP?= =?utf-8?B?QUoxaFd1YThpUmNHemdJL29JbkhYV2ZWWXlxY2pjL05POG9uaVpldUEzUlBw?= =?utf-8?B?cituZm5FekdQYzZGeENTQk5ScFpCOGZXMVJ4NzFvdVpPSjdSL0VnK1dvc2pS?= =?utf-8?B?a3FzcEdsYU1PdE5EYjV0SEdSbWthU3FXTXRJY3puaEtaVkVEc0xSSnBOOXlT?= =?utf-8?B?ZUNPNTdDZjRRSkJRbkZscEFXZnE4eloweXlTVEtaWktFS085VFk4SVJwRDJS?= =?utf-8?B?MXgzcmNPekhhSUtpTHNSNEhBRjlhRmIzb1lEVHgwdGJmWGtCc01pQi9MWXNz?= =?utf-8?B?akc0SmVkWVBXQ29lYlVtaW1sc0dqcmF5d1pqNXoxa1hiSmdNekFHOW9NbVVT?= =?utf-8?B?VDVxY09zbEJFT014UUcwRWlDRW53V1BoRWZqYlF3aklveXNDYzBLNmJiNEcx?= =?utf-8?B?R2Vabyt3aVEzcXgwelVFM0lrc1RKWStKTUlXOC9Ga2JRMFBmNWlzQWdvcGJo?= =?utf-8?B?a2gvRGtpcHcwdEUwRlFzUWdaNU5ncFVKQ3ZPUzNrV2tvYU9wa3hXbXBwSHpX?= =?utf-8?B?OG5zYVJUWTh3cWtiRk5uSjFKTEppMThvNkl2dWdzZzhweVNXSHhYdlI3U0l3?= =?utf-8?Q?dZiI=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: 1567f87b-8dd0-4854-d880-08db8c3df1d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2023 12:03:08.0752 (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: pZkVTV6RcG04o8prWLtYh41BU5wbe2UmjWsVhq+c/QMU3bRQoMRQ7rEZKZZvhnFSOMiQik0bNGaisNNk2zL0bA== 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_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: Rml4IHNvbWUgdHlwbyBpbmxpbmUsICBzb3JyeSBmb3IgaW5jb252ZW5pZW5jZS4NCg0KLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IExpLCBQYW4yIA0KU2VudDogTW9uZGF5LCBKdWx5 IDI0LCAyMDIzIDc6NTkgUE0NClRvOiBSb2JpbiBEYXBwIDxyZGFwcC5nY2NAZ21haWwuY29tPjsg Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCkNjOiBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5j aGVuZ0BzaWZpdmUuY29tOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+ DQpTdWJqZWN0OiBSRTogW1BBVENIIHY2XSBSSVNDLVY6IFN1cHBvcnQgQ0FMTCBmb3IgUlZWIGZs b2F0aW5nLXBvaW50IGR5bmFtaWMgcm91bmRpbmcNCg0KVGhhbmtzIFJvYmluIGZvciBjb21tZW50 cy4NCg0KPj4gRG9lcyBwcmV2X25vbm5vdGVfbm9uZGVidWdfaW5zbl9iYiBoZWxwIGhlcmU/ICBJ biBnZW5lcmFsLCB3ZSBzY2FuDQo+PiBiYWNrIGhlcmUgdG8gdGhlIGxhc3QgaW5zbiBhbmQgInJl Y292ZXIiIGlmIGl0IHdhcyBhIGNhbGw/ICBXaHkNCj4+IGNhbid0IHdlIHNldCB0aGUgcHJvcGVy IHZhbHVlIGFscmVhZHkgYmVmb3JlIGV4aXRpbmcgdGhlIGZ1bmN0aW9uPw0KDQpHb29kIHRvIGxl YXJuIHByZXZfbm9ubm90ZV9ub25kZWJ1Z19pbnNuX2JiLCB3aWxsIGhhdmUgYSB0cnkgaGVyZS4N CkZpcnN0IHdlIG1hcmsgdGhlIGNhbGwgYXMgRFlOX0NBTEwuIFdlIGV4cGVjdCB0aGUgaW5zbiBu ZXh0IHRvIHRoZSBjYWxsIHRvIGVtaXQgdGhlIGJhY2t1cCBpbnNuLg0KSG93ZXZlciwgaWYgbmV4 dCBpbnN0cnVjdGlvbiBpcyBEWU5fTk9ORSwgdGhlIG1vZGUgc3dpdGNoaW5nIGl0IHNlbGYgd2ls bCBuZXZlciBjYWxsIGVtaXQuIFRodXMsIGZvciBlYWNoDQpJbnNuIGlzIERZTl9OT05FLCB3ZSB3 aWxsIHJlc2V0IGl0IHRvIERZTiBpZiB0aGUgbGFzdCBpbnNuIGlzIGNhbGwgYW5kIGxldCB0aGUg bW9kZSBzd2l0Y2hpbmcgdG8gZW1pdCBwcm9wZXJseS4NCg0KV2hlbiBtZWV0IGEgY2FsbCwgd2Ug YXNzdW1lIHRoZSByb3VuZGluZyBtb2RlIHdpbGwgYmUgY2xvYmJlcmVkLg0KDQo+PiBXaGF0IGFi b3V0IG5vbmRlYnVnIGluc25zPyAgQWxzbyBtYXliZSBuZXh0X25vbm5vdGVfbm9uZGVidWdfaW5z bl9iYg0KPj4gaGVscHM/ICBIb3cgYWJvdXQgc3BsaXR0aW5nIHRoZSBmdW5jdGlvbiBpbiBkZXRl Y3Rpb24gYW5kIGVtaXQ/DQo+PiBJLmUuIGJiX2VuZHNfaW5fY2FsbCAob3Igc28pIGFuZCB0aGUg ZW1pdCBwYXJ0LiAgVGhhdCB3YXkgaXQNCj4+IGNvdWxkIGJlIG1vcmUgb2J2aW91cyBpbiAibmVl ZGVkIiB3aGF0IG5lZWRzIHRvIGJlIGRvbmUuDQoNClRoZSBwb2ludCBoZXJlIGlzIHRoYXQgdGhl IGNhbGwgbWF5IGJlIHRoZSBsYXN0IGluc24gb2YgY3VycmVudCBiYi4gVGhlbiB3ZSBoYXZlIGNo YW5jZSB0byBlbWl0IGJhY2t1cCBpbnNuIEFGVEVSDQp0aGUgY2FsbCwgYmVjYXVzZSB0aGUgZW1p dCBieSBkZWZhdWx0IGVtaXQgdGhlIGluc24gYmVmb3JlIGN1cnJlbnQgaW5zbi4NCg0KVGh1cyB3 ZSB0cnkgdG8gbWFrZSB1cCB0aGlzIGR1cmluZyB0aGUgbmVlZGVkIHByb2Nlc3MsIEkga25vdyB0 aGlzIG1heSBub3QgYmUgYSBnb29kIGlkZWEgYnV0IGl0IGlzIHRoZSBvbmx5IHdheQ0KSSBjYW4g bG9jYXRlIHNob3J0bHkuIEkgbWF5IHRyeSB0byBmaW5kIGFub3RoZXIgd2F5IGlmIHdlIGNhbiBj b250cm9sIHRoZSBpbnNuIGVtaXQgbG9jYXRpb24gZm9yIGVhY2ggaW5zbi4NCg0KUGFuDQoNCi0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBSb2JpbiBEYXBwIDxyZGFwcC5nY2NAZ21h aWwuY29tPiANClNlbnQ6IE1vbmRheSwgSnVseSAyNCwgMjAyMyA2OjI5IFBNDQpUbzogTGksIFBh bjIgPHBhbjIubGlAaW50ZWwuY29tPjsgZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCkNjOiByZGFw cC5nY2NAZ21haWwuY29tOyBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVuZ0BzaWZpdmUu Y29tOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+DQpTdWJqZWN0OiBS ZTogW1BBVENIIHY2XSBSSVNDLVY6IFN1cHBvcnQgQ0FMTCBmb3IgUlZWIGZsb2F0aW5nLXBvaW50 IGR5bmFtaWMgcm91bmRpbmcNCg0KSGkgUGFuLA0KDQo+ICsgIGZvciAoaW5zbiA9IFBSRVZfSU5T TiAoY3VyX2luc24pOyBpbnNuOyBpbnNuID0gUFJFVl9JTlNOIChpbnNuKSkNCj4gKyAgICB7DQo+ ICsgICAgICBpZiAoSU5TTl9QIChpbnNuKSkNCj4gKwl7DQo+ICsJICBpZiAoQ0FMTF9QIChpbnNu KSkNCj4gKwkgICAgbW9kZSA9IEZSTV9NT0RFX0RZTjsNCj4gKwkgIGJyZWFrOw0KPiArCX0NCj4g Kw0KPiArICAgICAgaWYgKGluc24gPT0gQkJfSEVBRCAoYmIpKQ0KPiArCWJyZWFrOw0KPiArICAg IH0NCj4gKw0KPiArICByZXR1cm4gbW9kZTsNCj4gK30NCg0KRG9lcyBwcmV2X25vbm5vdGVfbm9u ZGVidWdfaW5zbl9iYiBoZWxwIGhlcmU/ICBJbiBnZW5lcmFsLCB3ZSBzY2FuDQpiYWNrIGhlcmUg dG8gdGhlIGxhc3QgaW5zbiBhbmQgInJlY292ZXIiIGlmIGl0IHdhcyBhIGNhbGw/ICBXaHkNCmNh bid0IHdlIHNldCB0aGUgcHJvcGVyIHZhbHVlIGFscmVhZHkgYmVmb3JlIGV4aXRpbmcgdGhlIGZ1 bmN0aW9uPw0KDQpJIGd1ZXNzIHRoZSBtb3JlIGdlbmVyYWwgcXVlc3Rpb24gaXMgbW9yZSB0b3dh cmRzIGNhbGwtY2xvYmJlcmVkIG9yDQpub3Q/ICBJbiB0aGlzIHBhdGNoIHdlIGFzc3VtZSB0aGUg cm91bmRpbmcgbW9kZSBpcyBjYWxsIGNsb2JiZXJlZA0KYW5kIHJlc3RvcmUgaXQgb3Vyc2VsdmVz LiAgSGFzIHRoZXJlIGJlZW4gYW55IGtpbmQgb2YgY29uc2Vuc3VzDQpvbiB0aGlzPyAgSW50dWl0 aXZlbHkgSSB3b3VsZCBoYXZlIGV4cGVjdGVkIGEgZnVuY3Rpb24gdGhhdCByZXF1aXJlcw0KYSBu b24tc3RhbmRhcmQgcm91bmRpbmcgbW9kZSB0byBzZXQgYW5kIHJlc3RvcmUgaXQgaXRzZWxmLiAN Cg0KPiArDQo+ICsvKiBJbnNlcnQgdGhlIGJhY2t1cCBmcm0gaW5zbiB0byB0aGUgZW5kIG9mIHRo ZSBiYiBpZiBhbmQgb25seSBpZiB0aGUgY2FsbA0KPiArICAgaXMgdGhlIGxhc3QgaW5zbiBvZiB0 aGlzIGJiLiAgKi8NCj4gKw0KPiArc3RhdGljIHZvaWQNCj4gK3Jpc2N2X2ZybV9yZWNvbmNpbGVf Y2FsbF9hc19iYl9lbmQgKHJ0eF9pbnNuICpjdXJfaW5zbikNCj4gK3sNCj4gKyAgcnR4X2luc24g Kmluc247DQo+ICsgIGJhc2ljX2Jsb2NrIGJiID0gQkxPQ0tfRk9SX0lOU04gKGN1cl9pbnNuKTsN Cj4gKw0KPiArICBnY2NfYXNzZXJ0IChDQUxMX1AgKGN1cl9pbnNuKSk7DQo+ICsNCj4gKyAgaWYg KGN1cl9pbnNuICE9IEJCX0VORCAoYmIpKQ0KPiArICAgIHsNCj4gKyAgICAgIGZvciAoaW5zbiA9 IE5FWFRfSU5TTiAoY3VyX2luc24pOyBpbnNuOyBpbnNuID0gTkVYVF9JTlNOIChpbnNuKSkNCj4g Kwl7DQo+ICsJICBpZiAoSU5TTl9QIChpbnNuKSkgLyogSWYgdGhlcmUgaXMgb25lIGluc24gYWZ0 ZXIgY2FsbCwgZG8gbm90aGluZy4gICovDQo+ICsJICAgIHJldHVybjsNCg0KV2hhdCBhYm91dCBu b25kZWJ1ZyBpbnNucz8gIEFsc28gbWF5YmUgbmV4dF9ub25ub3RlX25vbmRlYnVnX2luc25fYmIN CmhlbHBzPyAgSG93IGFib3V0IHNwbGl0dGluZyB0aGUgZnVuY3Rpb24gaW4gZGV0ZWN0aW9uIGFu ZCBlbWl0Pw0KSS5lLiBiYl9lbmRzX2luX2NhbGwgKG9yIHNvKSBhbmQgdGhlIGVtaXQgcGFydC4g IFRoYXQgd2F5IGl0DQpjb3VsZCBiZSBtb3JlIG9idmlvdXMgaW4gIm5lZWRlZCIgd2hhdCBuZWVk cyB0byBiZSBkb25lLg0KDQpBcmUgd2UgaGFuZGxpbmcgc2liY2FsbHMgYW5kIHRhaWwgY2FsbHMg cHJvcGVybHkgaGVyZT8NCg0KSW4gZ2VuZXJhbCBJJ20gc3RpbGwgYSBiaXQgd2FyeSB0aGF0IHdl IGFyZSBjaGVja2luZyBtb2RlICE9IHByZXZfbW9kZQ0KYnV0IGNhbm5vdCByZWFsbHkgcGlucG9p bnQgd2h5LiAgSSB3b3VsZCBoYXZlIGhvcGVkIHRoYXQgdGhlIGdlbmVyaWMNCmNvZGUgb25seSBj YWxscyB1cyB3aGVuIHRoaXMgY2hlY2sgaXMgdW5uZWNlc3NhcnkgYW5kIGlmIG5vdCB0aGUNCiJu ZWVkZWQiIGhvb2sgc2hvdWxkIGJlIGFkanVzdGVkLg0KDQpJIGFsc28gZmluZCBpdCBhIGJpdCBv ZGQgdG8gZW1pdCBpbnN0cnVjdGlvbnMgd2hlbiBjaGVja2luZw0KaWYgYW5vdGhlciBtb2RlIGlz IG5lZWRlZC4gIElmIHdoYXQncyByZXF1aXJlZCBjYW5ub3QgYmUgYWNjb21wbGlzaGVkDQp3aXRo IHRoZSBjdXJyZW50IGNvbW1vbiBjb2RlLCBzaG91bGRuJ3Qgd2UgcmF0aGVyIHRyeSB0byBhbWVu ZCB0aGF0Pw0KDQpSZWdhcmRzDQogUm9iaW4NCg0K