From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id 986DF3858D1E for ; Wed, 21 Jun 2023 08:14:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 986DF3858D1E 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=1687335274; x=1718871274; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0QJ2H40Gg+nMoyBw+IY/KEtBwU55qcBrlmUUd3NKKxQ=; b=UCLWwfXsr7AeGnSsnxDwS1aY46A3jt8qCcFznF0w4OeX78B7DhoxMuFv gPGADQgLxzSKm3JOw3vXR22M2aSpnbn/AG4/p+ZTtE7E5S7ncCNxejvSp tIpicPvGej3H13aW4v8JtrCjp04iiPDA1L9jI7r2sSoBhoCYDtAeI0MIs KjJJhl0MAOHHlBvXkmbuN53aIRKJEYqFQiaLVRwyJcmKEXqDUGfajUoOB mu5OlOanwkMwltp8ECjwzV9KfSpQc+GVJU7b4t2MLsMDVDub6xDAIWn/J xAJjdRTQjcxLALimEA7+GGn2lbq5qJXRKFFH7UygqMr0lPVhcWX5hcKlW A==; X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="344843365" X-IronPort-AV: E=Sophos;i="6.00,259,1681196400"; d="scan'208";a="344843365" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2023 01:14:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="804282213" X-IronPort-AV: E=Sophos;i="6.00,259,1681196400"; d="scan'208";a="804282213" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 21 Jun 2023 01:14:32 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Wed, 21 Jun 2023 01:14:32 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 21 Jun 2023 01:14:31 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 21 Jun 2023 01:14:31 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) 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; Wed, 21 Jun 2023 01:14:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G36p1zjukToxwXBNQYF5r8ov7M/Xjp+IKaO7xhLcOXspprlpDG2ouHIUM/oiwpqUjYa/0axKoAKhEhb1KmyTc4bTLyBLfxf7IhL9OpVCKjylaPKk5KW3IatV7RqG+Do3ngS/GPX2Zunn0GVu1MyDQUyaIaFPPD6P80W6VL/shwvRmh6hhn6vRHe3SyhQspYLzvNVGyrQGK6bRbe/RLryeYAZVY7MkE0kN2faxhQD6qXIvWJZRYFqme6xdOdCOeaojDJud/3vI5VuQKC57vbkgL/o9HoYGfr0GYk09p1g7gaUfKN+HSBRfb5U+F3VnLUly0JyaSrQj24LmMUFn3hKvg== 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=0QJ2H40Gg+nMoyBw+IY/KEtBwU55qcBrlmUUd3NKKxQ=; b=JZXBEElsIF7K1s1vFM0+N6Sd+MDgZGgT8i4ZxMtHCuGt7fsZD5ooRq4lAjKfCQTKtlt+fQ1Jlzsm8bln0TvnK44CFGFq4u72F/PrTYVFMlx+a5CV269c9PRAqoiyVhIABdSmgN7pUfhIt+ybEDWlHLCSlQlTkvDR2gaN0Uk0MwBTb3O0HGKQX2Tw/3Extkjc5WEEY4Ub0vINlnqhjDf0WRoU8wFGQAKTO4R+NruluzRHrCrCkCcaxpwaDNYQmq4uJk2H0/pWYnraRh3izaodE6+9SN9MLWVI2HBENBjcyRSyHmsnfKKHnl64qsVAjt8qkooOmpz44qYWV1qiwSrwHw== 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 IA1PR11MB6466.namprd11.prod.outlook.com (2603:10b6:208:3a6::21) by PH7PR11MB6772.namprd11.prod.outlook.com (2603:10b6:510:1b6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.27; Wed, 21 Jun 2023 08:14:28 +0000 Received: from IA1PR11MB6466.namprd11.prod.outlook.com ([fe80::e328:3539:3cbf:19bf]) by IA1PR11MB6466.namprd11.prod.outlook.com ([fe80::e328:3539:3cbf:19bf%7]) with mapi id 15.20.6521.023; Wed, 21 Jun 2023 08:14:27 +0000 From: "Wang, Yanzhang" To: Jeff Law , "gcc-patches@gcc.gnu.org" CC: "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "Li, Pan2" Subject: RE: [PATCH] RISCV: Add -m(no)-omit-leaf-frame-pointer support. Thread-Topic: [PATCH] RISCV: Add -m(no)-omit-leaf-frame-pointer support. Thread-Index: AQHZlSDwF/PZ/EZR3U64IcrZzA3VA694YAOAgAMXucCAAylNAIAAD1VggAJalQCAE++2QA== Date: Wed, 21 Jun 2023 08:14:26 +0000 Message-ID: References: <20230602070726.3807539-1-yanzhang.wang@intel.com> <7fb7d7d5-0e9a-d8b8-5dc6-7db946e67a00@gmail.com> In-Reply-To: <7fb7d7d5-0e9a-d8b8-5dc6-7db946e67a00@gmail.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: IA1PR11MB6466:EE_|PH7PR11MB6772:EE_ x-ms-office365-filtering-correlation-id: 781fe64b-10ec-410d-1a33-08db722f8789 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2CEYX9nuwcMTYsCQS1bR54l+oP5fEtLQHh0wP2C1fsyXY9mLvj+UXorEh+E7dEIbMQ/HLm6mKOyolKK1XP6Bqb2KPE7l5eicpEKbIghpmTcbOhxoyPwjENTjgCQcF/D5L5eu/CHwufebbWfageqJCUUPIJ2J5u2G+7J5MJkThOJ3MG9CbbXqC37HP6Umhi0STuINg0RJl9Tt8Bdun6dpa6lnTkYYOBMyJQIiWKr8ZYguNVMXCtVU9buMWWk+dF+zVrwfgj25XnNk4UQXvxWCK/b8NaAOpZseg2o1PyJUipnqLF3QonfV2/ZRgJTsLo9cnSVu1AtMzlWNXkC/bL91GfaEK5v/2W0v7XvXWBMFCHXGbv3LN6FzB1tXcxDfsFZcTo9VBRQotRHs96ztQz1l4r+juy0Fnm0t3K7WkNx2TymFh3Xp/+YaIs7mi+xSgZgCe89jluhdKt/xsxZ64C/OHj82wZ4qFhVMG4HWNcDXDz0fSN+cMtWShto6IrqiyAMsHlhxKb0jmRLel074xRi6izNfe0Qu5xcPPTF9aU9pNKz1iFmrpBbkBJ9U/JEn+yZO7XQ7mp9B92NiliGPZ2PtRP0gNGqJCH6608UVNPB9iywkY+/FIebWu2zEWYLnBPIc x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR11MB6466.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(346002)(376002)(136003)(396003)(451199021)(107886003)(8676002)(38100700002)(9686003)(186003)(110136005)(64756008)(53546011)(122000001)(82960400001)(316002)(83380400001)(2906002)(52536014)(33656002)(5660300002)(55016003)(38070700005)(76116006)(66946007)(66476007)(66446008)(7696005)(478600001)(86362001)(71200400001)(54906003)(6506007)(4326008)(66556008)(8936002)(41300700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UVVTSVNSeWRvZXdnVCtYa3dzTjJTZHJ1ZlEzNEdKUFo4UFdFRWpiV2FiUEl5?= =?utf-8?B?WnRNUWtaQmNrazY3czRGT2ZwbXpzTVRTaCsrdDBuU1A2Yml6dmVTOUY0V3d6?= =?utf-8?B?ZVhrM0Z2WGVzeHQyTU5HNFdOYmRIcXFLcDFrZFNYaG9lQ2RGSXVZSDhITS9C?= =?utf-8?B?S2FOWWhFOERBVGtqaU1VbnN0Z3lZQk8rNGZQNUVTeVV3eUZxQU1PTkxGRW9v?= =?utf-8?B?aE1adUdpQ3RsTnlNQ0drckZlT1dSSEt6Qjg5SVRHWCtveUxkTFV4bGRxbFlK?= =?utf-8?B?d2VqTUw0ZlR1cUFnY21HR0UrN05KVU9CUE1VcVVJRVY0cnhOOXYzUHNRbHBz?= =?utf-8?B?L3RReVQyQU5lQmdxdENwSnIweVhzQXRYS0E1QjV3VVREU2pIMHB5b0VLNDJD?= =?utf-8?B?M3NRQ0xEY29iR0FSZjM4V2lnT1FNaW16b1JCQksxbit6dDV0RnZmbTkxb29l?= =?utf-8?B?Q3plc2RVMlhKU0M1ZWVJVmNxY1BKeVVhZzcvK1dORkZES2FBSDQyVitSSkdU?= =?utf-8?B?MU9HVkZPemxFdFJUQWxJQkNsMmJQVU5NNXl0VXpFb0djSTkweW9tRFBZUjd1?= =?utf-8?B?Y3lVTkRocXNXNUZOR2VoV3ZMUFVQVmFKbVYzcURSNFBJUS9qTGcwcit5T3N1?= =?utf-8?B?UjJlbEZnNFhOc1pZVTMrOTVhc0hHZS8vc0p3UndMQlBLQW9QSjBnL2xDZ3dZ?= =?utf-8?B?ZGdJdTkxNDNpRC9FM3hOYkVZMmtkaHNZNXBoSjVHQ2dkbFVBQlFFbVY2VDV6?= =?utf-8?B?dXplbndKZGtyU0NKakZHTGNSTlhseitNSVl0TUVXQWk1NUROaWU5LzNPUzFS?= =?utf-8?B?VldNbHM5enFlTW96cGM5R1JwVlhiak9EalF2UlFxbmhZKzNNM3drS1cxblZr?= =?utf-8?B?SGlGM0xneWw3dXFBbHJIYUthcUFwbjZWWUQvMVJxcVpxaWZMZmpJNFUrMytI?= =?utf-8?B?S3Jmc0hxKzU2OTJEMlNHUU0zREl0SEtGMXhRMW5nRkUvdGRWbXpCUk5MMkN3?= =?utf-8?B?Z0NtY1NjYU1VbVI5eFJMd0kyOFo3OHdBZm9vTkxzZWlhKyt4K1ErbkRpZlB0?= =?utf-8?B?L3lkSTRUQ09RU3dDc2FYSk1EZkwwUnFWUi8zUEVOQkxlY0lRWlUxaWphWE9a?= =?utf-8?B?cEpNdHYyV0ZodVRJdXNVd0FuWnFHeEIrMGxqNlFPNjZka3p2NjNnOHlYTzhx?= =?utf-8?B?UlBBU2VTUS9Ja1YxUi9wNXM3Z1p2dnd2cElLaWszcDZXU2s3cnVQZFJ2dUN2?= =?utf-8?B?R1BSMDlBUTBUYjFnUU5PQWhrY1BYb1QzcFNaellZWkZQMGZ3VTZqTzMyemUz?= =?utf-8?B?UXJwbTJ6dzkyaWVsUEdTYlhFK1ZNcDFQOTZmd2w1YkJMeWtDTm41NlFNWXpN?= =?utf-8?B?VEUrVWR3LzRwaTM2V0ZzaXN1V3pMNk9DOEFhcUE3UmJXQ2JQVnF0UXBSM2th?= =?utf-8?B?NnZqeTRJOUlXZ281T3RMbVoyQndYQisxb3pudzRtOHZsZW9KNmVwZ3NsS3NV?= =?utf-8?B?SjBWUFR2NWxTc1V0TElCcWd3LzJyZGkwYnVka3VFQy9URiswR0lHbVgweXBZ?= =?utf-8?B?QUhmRi9vL2ZwcTl4Z2dvZ1Q1YnR1S1RrbGY2aWpCUnVCcUltVHFFakZiakt1?= =?utf-8?B?RVR3WWhXeDQyOElDVUJaWHFmWndrSWZWUzRnYThmZmhBN3lReXRuVldZeW13?= =?utf-8?B?RUl6QStKUk1DWkYwejl1YlRSZzV2aFozV204WkFzdWg2bmZwd09DdVB0UzBj?= =?utf-8?B?aFo0d21vdEFYNDFmditRMlVZL3k2OW1qczVWSlJZbU9INEE4R25Oc2xaTFQr?= =?utf-8?B?UnVYV2tiMTRqdDl3NlQxYUhMcEJrV1AycmZ0NkhuRTlsUll0SFhiV1Jiclo4?= =?utf-8?B?eU02ZStla1dTNjhlRHJQcFhiTWw5VFV0Q0ViZm9ncSs1NWVjZVpBcDlpMmZE?= =?utf-8?B?SERxaHg2N1dhSU5mbDJYc3NGdXRwV0lnTlBRQ0d1cUY3TjZaVGliZXVha3Fn?= =?utf-8?B?ZHdGN1JMQ2ZhRDRWUjFUc0NOZlJ5QXM4cnVkVTlhbFJhaVNNVm1rUTQwWGtI?= =?utf-8?B?dGk4bFRpajBVS0hYd0pMYkJSTXFaN2pNQjd3NUJXaDN6NSttcmV5OGc4QmxU?= =?utf-8?Q?5U3U=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: IA1PR11MB6466.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 781fe64b-10ec-410d-1a33-08db722f8789 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2023 08:14:26.5812 (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: S/+D9163ZY2kvc5J2cjFuh1M3PzWsBUrFJbO8IqD7RDuyMlSoz/Fbo5pyKiR4DXZK0RBsg8lGCB/SobiKzUTqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6772 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.2 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: SGkgSmVmZiwgc29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5Lg0KDQo+IFRoZSBsb25nIGJyYW5jaCBo YW5kbGluZyBpcyBkb25lIGF0IHRoZSBhc3NlbWJsZXIgbGV2ZWwuICBTbyB0aGUgY2xvYmJlcmlu Zw0KPiBvZiAkcmEgaXNuJ3QgdmlzaWJsZSB0byB0aGUgY29tcGlsZXIuICBUaHVzIHRoZSBjb21w aWxlciBoYXMgdG8gYmUNCj4gZXh0cmVtZWx5IGNhcmVmdWwgdG8gbm90IGhvbGQgdmFsdWVzIGlu ICRyYSBiZWNhdXNlIHRoZSBhc3NlbWJsZXIgbWF5DQo+IGNsb2JiZXIgJHJhLg0KDQpJZiBhc3Nl bWJsZXIgd2lsbCBtb2RpZnkgdGhlICRyYSBiZWhhdmlvciwgaXQgc2VlbXMgdGhlIHJ1bGVzIHdl IGRlZmluZWQgaW4NCnRoZSByaXNjdi5jYyB3aWxsIGJlIGlnbm9yZWQuIEZvciBleGFtcGxlLCB0 aGUgJHJhIHNhdmluZyBnZW5lcmF0ZWQgYnkgdGhpcw0KcGF0Y2ggbWF5IGJlIG1vZGlmaWVkIGJ5 IHRoZSBhc3NtZWJsZXIgYW5kIGFsbCBvdGhlcnMgZGVwZW5kcyBvbiBpdCB3aWxsIGJlDQp3cm9u Zy4gU28gaW1wbGVtZW50aW5nIHRoZSBsb25nIGp1bXAgaW4gdGhlIGNvbXBpbGVyIGlzIGJldHRl ci4NCg0KRG8gSSB1bmRlcnN0YW5kIGl0IGNvcnJlY3RseSA/DQoNCj4gSWYgeW91J3JlIG5vdCBn b2luZyB0byB1c2UgZHdhcmYsIHRoZW4gbXkgcmVjb21tZW5kYXRpb24gaXMgdG8gZW5zdXJlIHRo YXQNCj4gdGhlIGRhdGEgeW91IG5lZWQgaXMgKmFsd2F5cyogYXZhaWxhYmxlIGluIHRoZSBzdGFj ayBhdCBrbm93bg0KPiBvZmZzZXRzLiAgIFRoYXQgd2lsbCBtZWFuIHlvdXIgY29kZSBpc24ndCBv cHRpbWl6ZWQgYXMgd2VsbC4gIEl0IG1lYW5zDQo+IGhhbmQgd3JpdHRlbiBhc3NlbWJseSBjb2Rl IGhhcyB0byBmb2xsb3cgdGhlIGNvbnZlbnRpb25zLCB5b3UgY2FuJ3QgbGluaw0KPiBhZ2FpbnN0 IGxpYnJhcmllcyB0aGF0IGRvIG5vdCBmb2xsb3cgdGhvc2UgY29udmVudGlvbnMsIGV0YyBldGMu ICBCdXQNCj4gdGhhdCdzIHRoZSBwcmljZSB5b3UgcGF5IGZvciBub3QgdXNpbmcgZHdhcmYgKG9y IHByZXN1bWFibHkgT1JDL1NGUkFNRQ0KPiB3aGljaCBJIGhhdmVuJ3Qgc3R1ZGllZCBpbiBkZXRh aWwpLg0KDQpZZXMuIFRoYXQncyByaWdodC4gQWxsIHRoZSBsaWJyYXJpZXMgbmVlZCB0byBmb2xs b3cgdGhlIHNhbWUgbG9naWMuIEJ1dCBhcw0KeW91IHNhaWQsIHRoaXMgaXMgdGhlIHByaWNlIGlm IHdlIGNob29zZSB0aGlzIHNvbHV0aW9uLiBBbmQgZm9ydHVuYXRlbHksDQp0aGlzIHdpbGwgb25s eSBiZSB1c2VkIGluIHNwZWNpYWwgc2NlbmFyaW9zLg0KDQotLS0NCg0KQW5kIEplZmYsIGRvIHlv dSBoYXZlIGFueSBvdGhlciBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNoPyBTaG91bGQgd2UgYWRk DQpzb21lIGRlc2NyaXB0aW9ucyBzb21ld2hlcmUgaW4gdGhlIGRvYz8NCg0KVGhhbmtzLA0KWWFu emhhbmcNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZWZmIExhdyA8 amVmZnJleWFsYXdAZ21haWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSnVuZSA4LCAyMDIzIDEx OjA1IFBNDQo+IFRvOiBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyBn Y2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiBDYzoganV6aGUuemhvbmdAcml2YWkuYWk7IGtpdG8u Y2hlbmdAc2lmaXZlLmNvbTsgTGksIFBhbjINCj4gPHBhbjIubGlAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIXSBSSVNDVjogQWRkIC1tKG5vKS1vbWl0LWxlYWYtZnJhbWUtcG9pbnRl ciBzdXBwb3J0Lg0KPiANCj4gDQo+IA0KPiBPbiA2LzYvMjMgMjE6NTAsIFdhbmcsIFlhbnpoYW5n IHdyb3RlOg0KPiA+IEhpIEplZmYsDQo+ID4NCj4gPiBUaGFua3MgeW91ciBjb21tZW50cy4gSSBo YXZlIGZldyBxdWVzdGlvbnMgdGhhdCBJIGRvbid0IHF1aXRlIHVuZGVyc3RhbmQuDQo+ID4NCj4g Pj4gT25lIG9mIHRoZSB0aGluZ3MgdGhhdCBuZWVkcyB0byBiZSB1cHN0cmVhbWVkIGlzIGxvbmcg anVtcCBzdXBwb3J0DQo+ID4+IHdpdGhpbiBhIGZ1bmN0aW9uLiAgRXNzZW50aWFsbHkgb25jZSBh IGZ1bmN0aW9uIHJlYWNoZXMgMU0gaW4gc2l6ZSB3ZQ0KPiA+PiBoYXZlIHRoZSByZWFsIHBvc3Np YmlsaXR5IHRoYXQgYSBkaXJlY3QganVtcCBtYXkgbm90IHJlYWNoIGl0cyB0YXJnZXQuDQo+ID4+ DQo+ID4+IFRvIHN1cHBvcnQgdGhpcyBJIGV4cGVjdCB0aGF0ICRyYSBpcyBnb2luZyB0byBiZWNv bWUgYSBmaXhlZCByZWdpc3Rlcg0KPiA+PiAoaWUsIG5vdCBhdmFpbGFibGUgdG8gdGhlIHJlZ2lz dGVyIGFsbG9jYXRvciBhcyBhIHRlbXBvcmFyeSkuICBJdCdsbA0KPiA+PiBiZSB1c2VkIGFzIGEg c2NyYXRjaCByZWdpc3RlciBmb3IgbG9uZyBqdW1wIHNlcXVlbmNlcy4NCj4gPj4NCj4gPj4gT25l IG9mIHRoZSBjb25zZXF1ZW5jZXMgb2YgdGhpcyBpcyAkcmEgd2lsbCBuZWVkIHRvIGJlIHNhdmVk IGluIGxlYWYNCj4gPj4gZnVuY3Rpb25zIHRoYXQgYXJlIG5lYXIgb3Igb3ZlciAxTSBpbiBzaXpl Lg0KPiA+Pg0KPiA+PiBOb3RlIHRoYXQgYXQgdGhlIHRpbWUgd2hlbiB3ZSBoYXZlIHRvIGxheSBv dXQgdGhlIHN0YWNrLCB3ZSBkbyBub3QNCj4gPj4ga25vdyB0aGUgcHJlY2lzZSBsZW5ndGggb2Yg dGhlIGZ1bmN0aW9uLiAgU28gdGhlcmUncyBhIGRlZ3JlZSBvZg0KPiA+PiAiZnV6eiIgaW4gdGhl IGRlY2lzaW9uIHdoZXRoZXIgb3Igbm90IHRvIHNhdmUgJHJhIGluIGEgZnVuY3Rpb24gdGhhdA0K PiA+PiBpcyBjbG9zZSB0byB0aGUgMU0gbGltaXQuDQo+ID4NCj4gPiBEbyB5b3UgbWVhbiB0aGF0 LCBsb25nIGp1bXAgdG8gbW9yZSB0aGFuIDFNIG9mZnNldCB3aWxsIG5lZWQgbXVsdGlwbGUNCj4g PiBqYWwgYW5kIGVhY2ggamFsIHdpbGwgc2F2ZSB0aGUgJHJhID8NCj4gTG9uZyBqdW1wcyBhcmUg aW1wbGVtbnRlZCBhcyBhbiBpbmRpcmVjdCBqdW1wIHdoaWNoIG5lZWRzIGEgc2NyYXRjaA0KPiBy ZWdpc3RlciB0byBob2xkIHRoZSBoaWdoIHBhcnQgb2YgdGhlIGp1bXAgdGFyZ2V0IGFkZHJlc3Mu DQo+IA0KPiA+DQo+ID4gSWYgeWVzLCBJJ20gY29uZnVzZWQgYWJvdXQgd2hhdCdzIHRoZSBpbmZs dWVuY2Ugb2YgdGhlICRyYSBzYXZpbmcgZm9yDQo+ID4gZnVuY3Rpb24gcHJvbG9ndWUuIFdlIHdp bGwgc2F2ZSB0aGUgZnArcmEgYXQgdGhlIHByb2xvZ3VlLCB0aGUgbmV4dA0KPiA+ICRyYSBzYXZp bmcgc2VlbXMgd2lsbCBub3QgbW9kaWZ5IHRoZSAkcmEgYWxyZWFkeSBzYXZlZC4NCj4gVGhlIGxv bmcgYnJhbmNoIGhhbmRsaW5nIGlzIGRvbmUgYXQgdGhlIGFzc2VtYmxlciBsZXZlbC4gIFNvIHRo ZSBjbG9iYmVyaW5nDQo+IG9mICRyYSBpc24ndCB2aXNpYmxlIHRvIHRoZSBjb21waWxlci4gIFRo dXMgdGhlIGNvbXBpbGVyIGhhcyB0byBiZQ0KPiBleHRyZW1lbHkgY2FyZWZ1bCB0byBub3QgaG9s ZCB2YWx1ZXMgaW4gJHJhIGJlY2F1c2UgdGhlIGFzc2VtYmxlciBtYXkNCj4gY2xvYmJlciAkcmEu DQo+IA0KPiBUaGlzIHVsdGltYXRlbHkgY29tZXMgYmFjayB0byB0aGUgcGhhc2Ugb3JkZXJpbmcg cHJvYmxlbS4gIEF0IHJlZ2lzdGVyDQo+IGFsbG9jYXRpb24gdGltZSB3ZSBkb24ndCBrbm93IGlm IHdlIG5lZWQgbG9uZyBqdW1wcyBvciBub3QuICBTbyB3ZSBkb24ndA0KPiBrbm93IGlmICRyYSBp cyBwb3RlbnRpYWxseSBjbG9iYmVyZWQgYnkgdGhlIGFzc2VtYmxlci4gICBBIHNpbWlsYXIgcGhh c2UNCj4gb3JkZXJpbmcgcHJvYmxlbXMgZXhpc3RzIGluIHRoZSBwcm9sb2d1ZS9lcGlsb2d1ZSBn ZW5lcmF0aW9uLg0KPiANCj4gVGhlIG90aGVyIGFwcHJvYWNoIHRvIGxvbmcgYnJhbmNoIGhhbmRs aW5nIHdvdWxkIGJlIHRvIGRvIGl0IGFsbCBpbiB0aGUNCj4gY29tcGlsZXIuICBJIHdvdWxkIGFj dHVhbGx5IHByZWZlciB0aGlzIGFwcHJvYWNoLCBidXQgaXQncyBub3QgbGlrZWx5IHRvDQo+IGxh bmQgaW4gdGhlIG5lYXIgdGVybS4NCj4gDQo+IA0KPiA+DQo+ID4gSSB0aGluayBpdCdzIHllcyAo bm90IHZhbGlkKSB3aGVuIHdlIHdhbnQgdG8gZ2V0IHRoZSByZXR1cm4gYWRkcmVzcyB0bw0KPiA+ IHBhcmVudCBmdW5jdGlvbiBmcm9tICRyYSBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keS4g QnV0IHdlIGNhbiBnZXQNCj4gPiB0aGUgcmlnaHQgcmV0dXJuIGFkZHJlc3MgZnJvbSBmcCB3aXRo IG9mZnNldCBpZiB3ZSBzYXZlIHRoZW0gYXQgcHJvbG9ndWUsDQo+IGlzIGl0IHJpZ2h0ID8NCj4g UmlnaHQuICBZb3UnbGwgYmUgYWJsZSB0byBnZXQgdGhlIHZhbHVlIG9mICRyYSBvdXQgb2YgdGhl IHN0YWNrLg0KPiANCj4gDQo+IA0KPiA+DQo+ID4+IE1lYW5pbmcgdGhhdCB3aGF0IHlvdSByZWFs bHkgd2FudCBpcyB0byBiZSB1c2luZw0KPiA+PiAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciBhbmQg Zm9yICRyYSB0byBhbHdheXMgYmUgc2F2ZWQgaW4gdGhlIHN0YWNrLA0KPiBldmVuIGluIGEgbGVh ZiBmdW5jdGlvbi4NCj4gPg0KPiA+IFRoaXMgaXMgYWxzbyBhbm90aGVyIHNvbHV0aW9uIGJ1dCB3 aWxsIGNoYW5nZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZg0KPiA+IC1mbm8tb21pdC1mcmFtZS1w b2ludGVyLg0KPiBUaGF0J3MgT0suICBXaGlsZSAtZiBvcHRpb25zIGFyZSB0YXJnZXQgaW5kZXBl bmRlbnQgb3B0aW9ucywgdGFyZ2V0cyBhcmUNCj4gYWxsb3dlZCB0byBhZGp1c3QgY2VydGFpbiBi ZWhhdmlvcnMgYmFzZWQgb24gdGhvc2Ugb3B0aW9ucy4NCj4gDQo+IElmIHlvdSdyZSBub3QgZ29p bmcgdG8gdXNlIGR3YXJmLCB0aGVuIG15IHJlY29tbWVuZGF0aW9uIGlzIHRvIGVuc3VyZSB0aGF0 DQo+IHRoZSBkYXRhIHlvdSBuZWVkIGlzICphbHdheXMqIGF2YWlsYWJsZSBpbiB0aGUgc3RhY2sg YXQga25vd24NCj4gb2Zmc2V0cy4gICBUaGF0IHdpbGwgbWVhbiB5b3VyIGNvZGUgaXNuJ3Qgb3B0 aW1pemVkIGFzIHdlbGwuICBJdCBtZWFucw0KPiBoYW5kIHdyaXR0ZW4gYXNzZW1ibHkgY29kZSBo YXMgdG8gZm9sbG93IHRoZSBjb252ZW50aW9ucywgeW91IGNhbid0IGxpbmsNCj4gYWdhaW5zdCBs aWJyYXJpZXMgdGhhdCBkbyBub3QgZm9sbG93IHRob3NlIGNvbnZlbnRpb25zLCBldGMgZXRjLiAg QnV0DQo+IHRoYXQncyB0aGUgcHJpY2UgeW91IHBheSBmb3Igbm90IHVzaW5nIGR3YXJmIChvciBw cmVzdW1hYmx5IE9SQy9TRlJBTUUNCj4gd2hpY2ggSSBoYXZlbid0IHN0dWRpZWQgaW4gZGV0YWls KS4NCj4gDQo+IEplZmYNCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gSmVmZg0K