From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id F3A403858CDB for ; Fri, 7 Oct 2022 15:36:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F3A403858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 297EpMH1031852; Fri, 7 Oct 2022 15:36:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=/arShJsPiX9ok6+jNRcVg7oAyjELX+5i8NUaJIgWAsU=; b=LwHYzyG0x4W98WDKjqTx44nDiGXWMNi5jL/bTs3KFro5RlvKY9PKC+3ATfpyaA1piBLh syz5gDmAdVTLOd+DRbWD2wJxWtZiLioTVoYTlm/FRLzmERbziforTpHmKBIoZmx6o3Y2 gncogVADSnvFtpr//5opq11kxj+7h2jRHMNK7Cgb+/9fQCQhf+//flSem2vvGwqVwBtQ L856qulJlcOft2G3xdEl/SiAP+VHKe3VTBs6wR2ozKTNDzf/VgvtwkdJG1Ni8TU1qh1t GvtFfyl91einqVt5GWkZgZtDRrlCgEv3dkD5UFOAGAmM3YeJP3iO421bRrAwiifZ3uF7 nQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxd5tqd1b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Oct 2022 15:36:53 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 297FIPRg003127; Fri, 7 Oct 2022 15:36:52 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc0dhar0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Oct 2022 15:36:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qc6PRCF5IxYySownyfVrPAFuZtHn0uRr2Xo/en7AT8hH6/EH/SRbqxGSKeMQnLRFVsb0h58Z5FzWRuUy+vol71ZS8hv+7cSpV6gnV80ww3ZRMFhsRDsa7CTtwfP2yx5iLBxYqmlSbV99AL1pGSxBpAGofjZN7edGZ8r38kw693xXSqNgh1clcvlAynyTiQ7heTeEBpg7ThfA+HK3/4hCDKbs0n+R2GQHvkv7UD8fzT+QfKHAMAGClWjnH/tU2C5hkkKp8kn3svscMUm27nIeHgnUzUNRUs3OAqiQKoZ803QA38/7d5kDqegwFaWGo3sI8TEaU5oYrTiZOcObiL0bpg== 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=/arShJsPiX9ok6+jNRcVg7oAyjELX+5i8NUaJIgWAsU=; b=josoOivHyK8v1QWw4IYZ0M6/7wFIisDvCiWDWk80q7jDKRKEKmMcohQa4K/pqu6rLce0htrn7y36Oi/mP3SrEtZO8KRzyU9Wa2TAK2xoytiLj1WeSD4wlhdD8TtRNJMSyAZnl+QVvTJ2tlsFrTjAwBFG4DoYw9kQ8vMaWQVj4QCtHWiXw+Zt0n7JXRVij4rurz/0Y0V//18mDZQ7PXt0x0DAQbpnsCqeWbEu8tlOEzshvZZR83rMQpS1O1QpM+i11WVKWDzde7DV/DTaHPiAwyB8G7dV01bJpKaTtjVi2CD1uhXwdMz26tLGBkvlfMAxncPsONFPBqefJTT0yTS1Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/arShJsPiX9ok6+jNRcVg7oAyjELX+5i8NUaJIgWAsU=; b=JZS3cIPh6FwS5cG8txoRe8Lx4sKfix2C1PobrXEU6Y+FBevWrs3c6z3fc+jb+iCBFVQTa94M65YO5wLcfgq16GEcDVsw9lSuM3ImYB+VvY0cQ/nbLOLmOJL50DB1/METR/2+1SCGJzJdaW6SC/jRB9FctYHYJ/0FdglbBxtlJZ4= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SN7PR10MB6362.namprd10.prod.outlook.com (2603:10b6:806:26e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Fri, 7 Oct 2022 15:36:50 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::cbf8:6682:721e:835c]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::cbf8:6682:721e:835c%6]) with mapi id 15.20.5676.036; Fri, 7 Oct 2022 15:36:50 +0000 From: Qing Zhao To: Jan Hubicka CC: Richard Biener , =?utf-8?B?TWFydGluIExpxaFrYQ==?= , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH] IPA: support -flto + -flive-patching=inline-clone Thread-Topic: [PATCH] IPA: support -flto + -flive-patching=inline-clone Thread-Index: AQHY2K+I/5a4R01Zg0G32stsAIP85q3/4j2AgAAuZoCAAAukgIAA7dWAgABQ2ACAASFnAIAAbMcAgAAYSYCAAAOCgIAADu6A Date: Fri, 7 Oct 2022 15:36:50 +0000 Message-ID: References: <137fde8c-7ade-ecc0-96f2-9ec828b4745e@suse.cz> <406C00D6-71C6-4D62-A772-448BB014A656@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|SN7PR10MB6362:EE_ x-ms-office365-filtering-correlation-id: 77380b94-4caf-44c1-4264-08daa879c0d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IpPuwclOnI7RZE4pZBqBEaXmgW1PCn+F8+GGyHBNMqGEGc9IHntdA7eK12r4pFPU8EC67pl1FKbtEkxhnpvgAMTrlnx9mMoxzWfjJUUrZq9r3RONkyJxno/Jw51ITNKMjI4/YKB0eVRGe2jIgjzShHXm4EdQBA9RdG9D2k7xol9yeQHa5y3JjOnVuwgllcRkoPcFLmiCZDcTZekzigcP4qBQazfnALNR9qTMM3Ucp1fmHJW6vqIHbzSdBE8teSCX2Jh+MF1rtLWrPZVDc1tw812qsju2Zxt22DWRhH/Dl4GA4gnL8h7I18W5+ZnLzJNXtU89wUnhdFAiFb2PlsuhCMOqV45w4LHS7vW/tM9BMwSeX67li+9jBdoFvFJ6c9hC5ivR71nmVDtPJhwmDWRb6T63ubRLuXmd209d5nf8fQxdlIngbmOdp3XLdlrMaOrgUXoS798woiYTfPFNE0tXFr/iriL3fbwGSRwPm/Yrah78zJtB+9Upt5VPVV35Iah/UnGCP56ZGOu6YHAfcDkEi0OjN1xBcbZBvfJ4PrmC34XBgNY+w1l3X9anD3S7/iASS906B6HnSUZiwcrSvqExoOxM/MLOBR7RYU9z2zyAK9EWIfnQhop8YXVcdCu+Ty6LzHrycPBfSQJ6CFoswju8CEcCkesykW0tNhcj207wCjMfslYBhZWLioDQWuEu+QU1ZMl8mPo2gLrahHnNgKuud2hWYVKJB4n6RpYNZpG+uP/ifrx8rULGiiKGuw55mHvlCcQt5t20+IBmRn9kWgG4v6D5ndiBHsvQYm6i3ueqkGY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4344.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(39860400002)(346002)(396003)(136003)(451199015)(2906002)(33656002)(6506007)(6512007)(6486002)(5660300002)(478600001)(53546011)(71200400001)(41300700001)(38100700002)(122000001)(36756003)(86362001)(186003)(8936002)(44832011)(38070700005)(2616005)(83380400001)(91956017)(316002)(66476007)(76116006)(54906003)(64756008)(66946007)(66556008)(66446008)(6916009)(4326008)(8676002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NnpwTVZmMm9DRW9aTzd4MkVLbVNad0pkb3ljZ1lMRVFZYVNxekVBeHhoRFFY?= =?utf-8?B?Nk1jTWFkRm1aVXhiNkhUMjU1NzhEM1RjczZxeExkekJZVDRybTJ3S2pzZVlZ?= =?utf-8?B?MDVvUFl4U1pnTEZaVU8rWUVaM01EMGtZcHJNOFFWUmdBVm5uMEtRZHFkN25W?= =?utf-8?B?N01BK1JPM1hYODFkNUdabW42dVpLeThQaFlQZ1J3cGhZSWpGYUt2RXVzV3NC?= =?utf-8?B?NzRtM0p4R3JNci9VdWo4enhUOFVneEtlTjdrTUN0OWhiNmtxQU43NHpvLzEy?= =?utf-8?B?UXJWRVh0YXBzUS9wYksxR2VEKzRUZjd2ak5hN0JPNXZrRDc5VTBlRlo3VmR6?= =?utf-8?B?NnY4VExGRlRRbVVCeU0xbFRkOFVMZElqU1JKeThOYUxmU1dxTGNxMjV6SlFV?= =?utf-8?B?azRabXlYdGVLV1NLRnFDM09SWUVJaDJEWjBnc2hPbDhFU0d5UU1qZmFVak9D?= =?utf-8?B?SWVncUdHNnBuWmxBaUJoR0phU2J5em5aVmJRMzNlaDJmTlJUSHBqTXpyL2di?= =?utf-8?B?ZjhKTTc3V0RiMVR0TXhtcDhGeFpKSlk5WGxwUVFmWGRPRWtDTnVWWHRSVE5F?= =?utf-8?B?RFN4RTh3eElwUEVyaHM2K0JoQjdjM0phRVBJQXIzYldGOExySUpta1hrVVZN?= =?utf-8?B?UDNkaGdXb1pGWXk3YnhrTWlMMXBEV0drMnlacTYzMUNyTGFPVXJ4WHA1ZDRp?= =?utf-8?B?T016bE5SaTNET1I3aFlPdFNNTDY3VzlwcWFjSnhmSE5RbWxTeGwxcVFwMHpL?= =?utf-8?B?NHZNN0YzMW1qNjZlRWoweWRUdGhEQmN5STRteVJ6K3RFOGF5NWdRMXoxS0RL?= =?utf-8?B?Tlo2cGc2VjJjYzAvSk9qRjhmZzFDK2RoQlc5bVQycFUrbUNMSk9qaGJubERz?= =?utf-8?B?QzFDdlJyQ2RaRHVUVFp0MXVUcXpoNGRkTjNEMWdaWlFTeTgvNCtSZDc1WFFn?= =?utf-8?B?K3Y1b3k1V29lclM1TGhRQmc0YlNoWmViTzlseTh3N1E2NTE2bDVEYlpPcEVz?= =?utf-8?B?OWVheDQvbnEvRlVTaERUNngxUnRKaGNmTHNZRkdsYmkvZkp0a0tJVlZ0MW1k?= =?utf-8?B?c2VXU0RraFpJQ21xSHJoUUZtaHZjeUozYm9JTkRWeVFlTU15NldoLzZQS1g3?= =?utf-8?B?dlRaNENzQnY3eG1yZzFTaDBKbmUvenB2NS9rdmFoQUk3VWxTY2RhSzhGS0Nk?= =?utf-8?B?ZUFwK2czQmEzcDN0L25RQVZLTVBramJGT2dMbnZZYU4zdkxKVGxaVlJNRVJC?= =?utf-8?B?MmVSOHI3VVRESW14Y01NaHlPN0RWZ2VZaDJzUllFWFJKN0VXUnVYaU9oU0tB?= =?utf-8?B?YlNraENVUUxvRzZGZDJGd3NDMXRxc1pvOFhQSmFuSEVscGxWYmJaWWZQNE44?= =?utf-8?B?TGV5RkJjUEdUblZEWWpEeDFQOW1rS3ZqUjVJb2pVbDJuV25KK21IU2QzbmZ1?= =?utf-8?B?RWQrdEd3LzhHYUFpUDBjOUo0S291Q1FONENpM3VKRGhYaFBYYXdOMHd3Ukh6?= =?utf-8?B?eGJjWDYvTFlERWJUMGVkQUNYM2tiQkd6MzlHdVM5MUlzUkZnRS96cm9mU0Nh?= =?utf-8?B?OXh6dzFwQXRtc28zWUJMcUtBYzNRd1llWklWY3p4VSs1aml5dVgyNWRLbUlC?= =?utf-8?B?S0pWUjdLaUdlazl5TE1EYUpXcTZ3ZkhTc294ZDFZMnNObWt3R2wzYTI0NTlq?= =?utf-8?B?NHlGdCtNeTVVWjVWc1pOSGNvWHVCSVA5L1V3OHJLbFFETmJHRitUeDlnbmZE?= =?utf-8?B?c2cvUVpydkhRMExpYVhHbjhlNHhNMS90ZUlOeUxtYjhhL1ZoVFpJY0JYTzZD?= =?utf-8?B?Y01CVkY1V3B3c0JLU20wc1FpV0dzbHpmc1JzcktWMkJmTkc0VG9wNE9xNHgr?= =?utf-8?B?N24wd0htNjZZcHhZU3duSGRjRHhad1BLNWhBSVYxcTV2RWZYZlIzZ2hyV0NB?= =?utf-8?B?dENhSTYwT1VRbE5vOXVLOEs3NitkRjh6RG1SZHVlNjFHQXBRSjJSS1VVUzNZ?= =?utf-8?B?L1dkY2Z5RS9PRVZEUmtuYWZyMGxORmZNMytLK0VwMkNwL2JwMFBNdmNta1VP?= =?utf-8?B?UlhYVEtPaXFhNnBKM0NFV21vK0RHZW04MlRRNWdWKy9XNjFjZitWYlJUTjUw?= =?utf-8?B?VjR3bjlSWmJqNmd5ZTJXZ0hNTWg1THFUL0tzT2tPS2RHSll6MWEwQkFKMHhJ?= =?utf-8?Q?uOQhLM8CcOFU/RDSMN0kYqo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <7E40B89E53E61F4A964596B4560CFB01@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77380b94-4caf-44c1-4264-08daa879c0d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2022 15:36:50.5744 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: arQ6+RrR4e5jP29NTL7REVgj1jVTyyPWN8som1a6Sd1LfidVPUkg1TMuSpXNb9IMqhZGiBo24OFiyd8wEDlIIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6362 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-06_05,2022-10-07_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 adultscore=0 mlxlogscore=421 malwarescore=0 bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210070093 X-Proofpoint-ORIG-GUID: CuQfn_DIaaMNmqvD-1tURRNFldXjHC-S X-Proofpoint-GUID: CuQfn_DIaaMNmqvD-1tURRNFldXjHC-S X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP 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: DQoNCj4gT24gT2N0IDcsIDIwMjIsIGF0IDEwOjQzIEFNLCBKYW4gSHViaWNrYSA8aHViaWNrYUB1 Y3cuY3o+IHdyb3RlOg0KPiANCj4+Pj4gUHJvYmFibHkgbm90IGhhcmQsIGFuZCB0aGUgSVBBIHBh c3MgYWRqdXN0aW5nIHZpc2JpbGl0eSBjb3VsZCBhcyB3ZWxsDQo+Pj4+IG1hcmsgdGhlIGZ1bmN0 aW9ucw0KPj4+PiBhcyBub3QgdG8gYmUgaW5saW5lZCB3aXRoIC1mbGl2ZS1wYXRjaGluZz1pbmxp bmUtb25seS1zdGF0aWMuDQo+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IE9UT0ggaW5saW5lLW9ubHkt c3RhdGljIGNvdWxkIGRpc2FibGUgV1BBIGlubGluaW5nIGFuZCBkbyBhbGwgaW5saW5pbmcgZWFy bHkgLi4uDQo+Pj4+PiANCj4+Pj4+IElubGluZS1vbmx5LXN0YXRpYyBPTkxZIGlubGluZXMgc3Rh dGljIGZ1bmN0aW9ucywgaG93IGNhbiBpdCBkaXNhYmxlIFdQQSBpbmxpbmluZz8gRG9u4oCZdCBx dWl0ZSB1bmRlcnN0YW5kIGhlcmUuDQo+Pj4+IA0KPj4+PiBpdCdzIGEgZmxhZyBzbyBpdCBjYW4g YmUgdXNlZCB0byBjb250cm9sIG90aGVyIHRoaW5ncw0KPj4+IA0KPj4+IEdDQyBoYXMgdHdvIGlu bGluZXJzDQo+Pj4gMSkgZWFscnkgaW5saW5pbmVyIHdoaWNoIGhhcHBlbnMgYXQgY29tcGlsZSB0 aW1lIGFuZCBpcyBxdWl0ZQ0KPj4+IHJlc3RyaWN0ZWQgb25seSB0byBvYnZpb3VzIGNhc2VzIChh bHdheXNfaW5saW5lLCBmbGF0dGVuIGFuZCB2ZXJ5IHNtYWxsDQo+Pj4gZnVuY3Rpb25zKQ0KPj4+ IDIpIElQQSBpbmxpbmluZyBoYXBwZW5pbmcgYXQgbGluay10aW1lIChXUEEpIHdoaWNoIGlzIHVz aW5nIGdyZWVkeQ0KPj4+IGFsZ29yaXRobSBhbmQgbWFrZXMgbW9yZSBjb21wbGljYXRlZCBjb2Rl IHNpemUvc3BlZWQgdHJhZGVvZmZzDQo+Pj4gSW5kZWVkIGJldHdlbiAxIGFuZCAyIHByZXZpb3Vz bHkgZ2xvYmFsIGZ1bmN0aW9ucyBtYXkgYmVjb21lIHN0YXRpYyBieQ0KPj4+IHJlc29sdXRpb24g aW5mbyAodGhleSB3b24ndCBjdXJyZW50bHkgd2l0aCBrZXJuZWwgc2luY2Ugd2UgZG8NCj4+PiBp bmNyZW1lbnRhbCBsaW5raW5nKS4gIFdlIGNvdWxkIGVhc2lseSBrZWVwIHRyYWNrIG9mIG9yaWdp bmFsbHkgc3RhdGljDQo+Pj4gZnVuY3Rpb25zIGFuZCBwcm9tb3RlZCB0byBzdGF0aWMgZnVuY3Rp b25zIGFuZCBtYWtlIElQQSBpbmxpbmluZyB0bw0KPj4+IGhvbm5vciB0aGUgcGF0Y2guDQo+IAkg ICAgICAgXl5eXiBJIG1lYW4gLWZsaXZlLXBhdGNoaW5nPWlubGluZS1vbmx5LXN0YXRpYyBmbGFn DQo+PiANCj4+IFllcywgdGhpcyBpcyBzaW1pbGFyIGFzIFN0dWRpbyBjb21waWxlciAoYW4gZWFy bHkgaW5saW5lciBhbmQgYSBJUEEgaW5saW5lcikgDQo+PiBCdXQgSSBzdGlsbCBkb27igJl0IHF1 aXRlIHVuZGVyc3RhbmQgd2h5IGR1cmluZyBJUEEgaW5saW5pbmcsIGV4dGVybiBmdW5jdGlvbnMg bmVlZCB0byBiZSBjaGFuZ2VkIHRvIHN0YXRpYyBmdW5jdGlvbnM/DQo+PiAoaW4gU3R1ZGlvIGNv bXBpbGVyLCBpdOKAmXMgb3Bwb3NpdGUsIHN0YXRpYyBmdW5jdGlvbnMgYXJlIGFsbCBwcm9tb3Rl ZCB0byBleHRlcm4gZnVuY3Rpb25zIHRvIGVuYWJsZSBpbnRlci1wcm9jZWR1cmFsIGlubGluaW5n KQ0KPj4gSXMgdGhlcmUgYSBmaWxlIEkgY2FuIHJlYWQgdG8gdW5kZXJzdGFuZCBtb3JlIGRldGFp bHMgb24gdGhpcz8NCj4gDQo+IEluIEdDQyBXUEEgc3RhZ2UgdGFrZXMgYWxsIGNvbXBpbGF0aW9u IHVuaXRzIGFuZCBjcmVhdGUgYSBuZXcgY29tYmluZWQNCj4gdHJhbnNsYXRpb24gdW5pdC4gIFRo aXMgaGFzIHNhbWUga2luZCBvZiBzeW1ib2wgdGFibGUgYXMgaWYgaXQgY2FtZSBhbGwNCj4gZnJv bSBhIHNpbmdsZSBzb3VyY2UgZmlsZS4NCg0KT2theSwgSSBzZWUgbm93Li4gKHNob3VsZCB0YWtl IHNvbWUgdGltZSB0byBmYW1pbGlhciB3aXRoIHRoZSBHQ0MgTFRPIGZyYW1ld29yayBhIGxpdHRs ZSBtb3JlLCBJIGd1ZXNzLTopDQoNCj4gIFNvIGlmIHJlc29sdXRpb24gZmlsZSB0ZWxscyB1cyB0 aGF0IGEgZ2l2ZW4NCj4gc3ltYm9sIGlzIG5vdCB1c2VkIG91dHNpZGUgdGhlIExUTyBieXRlY29k ZSAod2hlbiBvbmUgbGlua3MgZmluYWwgYmluYXJ5DQo+IGxpbmtlciBrbm93cyBpZiB0aGVyZSB3 YXMgb3RoZXIgdXNlIGFuZCBzaW1pbGFyIGZvciBzaGFyZWQgbGlicmFyaWVzIGlmDQo+IHN5bWJv bCBpcyBoaWRkZW4pIHdlIHByb21vdGUgc3ltYm9sIHRvIHN0YXRpYy4NCg0KT2theSwgdGhhdOKA mXMgcmVhc29uYWJsZS4gDQoNCj4gIFRoaXMgbGV0cyB1cyB0byBvcHRpbWl6ZQ0KPiBpdCBiZXR0 ZXI6IGNoYW5nZSBjYWxsaW5nIGNvbnZlbnRpb25zLCByZW1vdmUgb2ZmbGluZSBjb3B5IGlmIGFs bCBjYWxscw0KPiB3YXMgaW5saW5lZCwgcHJvcGFnYXRlIHZhcmlvdXMgaW5mb3JtYXRpb24gYWJv dXQgaXQuDQo+IA0KPiBTaW5jZSBmcm9tIHRoaXMgbW9tZW50IG9uIHRoZSB3aG9sZSB0cmFuc2xh dGlvbiB1bml0IGJlaGF2ZXMgYXMgc2luZ2xlDQo+IHNvdXJjZSBmaWxlIGl0IGlzIG5vdCBwcm9i bGVtIHRvIGlubGluZSBzdGF0aWMgZnVuY3Rpb25zIGNyb3NzLW1vZGxlLg0KWWVzLCBtYWtlcyBz ZW5zZS4NCg0KDQo+IA0KPiBMYXRlciB3ZSBwYXJ0aXRpb24gdGhlIGNvbWJpbmVkIHVuaXQgdG8g ZG8gcmVzdCBvZiBjb21waWxhdGlvbiBpbg0KPiBwYXJhbGxlbCBhbmQgYXQgdGhpcyBzdGFnZSBz b21lIHN0YXRpYyBzeW1ib2xzIGNhbiBiZSBjaGFuZ2VkIHRvIGhpZGRlbg0KPiBzeW1ib2xzIGlm IHRoZXkgYXJlIHVzZWQgYnkgbXVsdGlwbGUgcGFydGl0aW9uaW5nLg0KT2theS4gDQpTbywgb3Jp Z2luYWwg4oCcZXh0ZXJu4oCdIGZ1bmN0aW9ucyB3aWxsIGJlIGtlcHQgYXMg4oCcc3RhdGlj4oCd IGlmIHRoZXkgYXJlIG5vdCB1c2VkIGJ5IG11bHRpcGxlIHBhcnRpdGlvbmluZz8NCg0KPj4gDQo+ Pj4gDQo+Pj4gSSBob3dldmVyIHdvbmRlciBob3cgbXVjaCBMVE8gb3B0aW1pemF0aW9uIHdvdWxk IHJlbWFpbi4gSWYgd2UgZGlzYWJsZQ0KPj4+IGFsbCBpbnRlci1tb2R1bGUgaW5saW5pbmcNCj4+ IA0KPj4gT2gsIHdhaXQsICBzbywgZGVtb3Rpbmcg4oCcZXh0ZXJu4oCdIGZ1bmN0aW9ucyB0byDi gJxzdGF0aWPigJ0gZnVuY3Rpb25zIGluIEdDQ+KAmXMgSVBBIGlubGluaW5nIGlzIHRvIGRpc2Fi bGUgaW50ZXItbW9kdWxlIGlubGluaW5nPyANCj4+IFdoeT8gSXMgdGhlcmUgYW55IHRlY2huaWNh bCBpc3N1ZSB3aXRoIGludGVyLW1vZHVsZSBpbmxpbmluZyBpbiBHQ0M/IA0KPiANCj4gTm8gSSBz dXBwb3NlIGl0IGlzIGp1c3QgZGlmZmVyZW50IG9yZ2FuaXphdGlvbiBvZiBMVE8gZnJvbSBTdHVk aW8NCj4gY29tcGlsZXIuICBQZXJoYXBzIHN0dWRpbyBjb21waWxlciBzdGlsbCBjb21iaW5lIGFj Y29yZGluZyB0byBvcmlnaW5hbA0KPiBzb3VyY2UtbGV2ZWwgY29tcGlsYXRpb24gdW5pdHMgYW5k IHRoZW4gY3Jvc3MtbW9kdWxlIGlubGluaW5nIG9mDQo+IGZ1bmN0aW9uIEEgbWF5IGNhdXNlIGZ1 bmN0aW9uIEIgdG8gYmUgcHJvbW90ZWQgdG8gcHVibGljIGluIGEgY2FzZQ0KPiBvcmlnaW5hbGx5 IGJvdGggQSBhbmQgQiB3ZXJlIGluIHNhbWUgY29tcGlsYXRpb24gdW5pdCBhbmQgQiB3YXMgc3Rh dGljPw0KSSB0aGluayB0aGUgYmlnZ2VzdCBkaWZmZXJlbmNlIGJldHdlZW4gSVBPIChpbnRlci1w cm9jZWR1cmFsIG9wdGltaXphdGlvbikgb2YgU3R1ZGlvIGNvbXBpbGVyDQogYW5kIExUTyBvZiBH Q0MgaXMsIEdDQyBtZXJnZXMgYWxsIElSIGZpbGVzIHRvZ2V0aGVyIGludG8gb25lIHNpbmdsZSBJ UiBmaWxlLiBCdXQgU3R1ZGlvIHN0aWxsIA0Ka2VwdCBtdWx0aXBsZSBJUiBmaWxlcy4gU28sIEZv ciBHQ0MsIExUTyBpbmxpbmluZyBpcyBqdXN0IHNpbWlsYXIgYXMgYSBJTi1Nb2R1bGUgaW5saW5p bmcsIGFuZA0KZXh0ZXJuYWwgZnVuY3Rpb25zIGFyZSBiZXR0ZXIgdG8gYmUgZGVtb3RlZCB0byBz dGF0aWMgZnVuY3Rpb25zIHRvIGVuYWJsZSBiZXR0ZXIgb3B0aW1pemF0aW9ucy4gDQoNCkZvciBT dHVkaW8gY29tcGlsZXIsIElQTyBhbmFseXNpcyBhbmQgb3B0aW1pemF0aW9uIHN0aWxsIGJhc2Vk IG9uIG11bHRpcGxlIElScy4gU28gaW4gb3JkZXIgdG8NCmVuYWJsZSBjcm9zcy1maWxlIGlubGlu aW5nIGJldHdlZW4gZGlmZmVyZW50IG1vZHVsZXMsIHN0YXRpYyBmdW5jdGlvbnMgbmVlZCB0byBi ZSBwcm9tb3RlZCB0bw0KZXh0ZXJuYWwgZnVuY3Rpb24gdGhlIGV4YWN0bHkgcmVhc29uIGFzIHlv dSBtZW50aW9uZWQgYWJvdmUuIChUaG91Z2ggU3R1ZGlvIGNvbXBpbGVyIGNvdWxkIA0KZG8gYmV0 dGVyIHRvIG9ubHkgcHJvbW90ZSBwYXJ0cyBvZiB0aGUgc3RhdGljIGZ1bmN0aW9ucyB0byBleHRl cm5hbCBieSBkZW1hbmQpDQoNCj4+IA0KPj4gDQo+Pj4gYW5kIHdpdGggbGl2ZSBwYXRjaGluZyB3 ZSBhbHNvIGRpc2FibGUgbW9zdCBvZg0KPj4+IG90aGVyIG9wdGltaXphdGlvbiwNCj4+IA0KPj4g WWVzLCB3aXRoIGxpdmUtcGF0Y2hpbmcsIG1vc3Qgb2YgdGhlIElQQSBvcHRpbWl6YXRpb24gbmVl ZCB0byBiZSBkaXNhYmxlZC4gQnV0IHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBuZWVkZWQsIHJpZ2h0 PyBXaGVuIHVzZXIgcmVxdWVzdHMgbGl2ZS1wYXRjaGluZyBzdXBwb3J0LCANCj4+IFRoZXkgc2hv dWxkIGtub3cgdGhhdCBtb3N0IG9mIElQQSBvcHRpbWl6YXRpb24gd2lsbCBiZSBkaXNhYmxlZC4N Cj4gDQo+IFF1ZXN0aW9uIGlzIGhvdyBtdWNoIHVzZWZ1bCBpcyB0byBiaXVsZCB3aXRoIC1mbHRv IHRoZW4uICBJIHdvdWRsIHNheSB0aGF0DQo+IGNsb3NlIHRvIDkwJSBvZiBwZXJmb3JtYW5jZSBi ZW5lZml0cyBmcm9tIExUTyBvcmlnaW5hdGVzIGZyb20gY3Jvc3MtbW9kdWxlDQo+IGlubGluaW5n Lg0KPiBNb3N0IG9mIGNvZGUgc2l6ZSBiZW5lZml0cyBhcmUgZHVlIHRvIA0KPiAtIHJlbW92aW5n IHVucmVhY2hhYmxlIGNvZGUsDQo+IC0gaW5saW5pbmcgZnVuY3Rpb25zIGNhbGxlZCBvbmNlICh3 aXRoIHdob2xlIHByb2dyYW0ga25vd2xlZGdlKQ0KPiAtIHJlbW92aW5nIG9mZmxpbmUgZnVuY3Rp b24gYm9kaWVzIGlmIGFsbCBjYWxscyBoYXMgYmVlbiBpbmxpbmVkLiBhbmQNCj4gLSBpZGVudGlj YWwgY29kZSBmb2xkaW5nDQoNClllcy4gDQoNCj4gDQo+IE90aGVyIElQQSBvcHRpbWl6YXRpb25z IHdlIGltcGxlbWVudCAoZnVuY3Rpb24gZmxhZ3MgZGlzY292ZXJ5LCBtb2QtcmVmDQo+IGV0Yy4p IGFjY291bnRzIGZvciBzbWFsbGVyIHBvcnRpb24gb2YgcGVyb2ZtYW5jZSAmIHNpemUuDQpZZXMs IHRoaXMgd2FzIGFsc28gdGhlIGNhc2UgZm9yIHN0dWRpbyBjb21waWxlci4gDQo+IA0KPiBJZiB5 b3UgYmxvY2sgY3Jvc3MtbW9kdWxlIGlubGluaW5pZyBhbmQgYWxsIGtpbmQgb2YgaW50ZXItcHJv Y2VkdXJhbA0KPiBvcHRpbWl6YXRpb25zIHlvdSBsb3NlLCBJIGJlbGlldmUsIGFsbCBvZiB0aGUg Z29vZGllcyBhYm92ZSBleGNlcHQgZm9yDQo+IHJlbW92YWwgb2YgdW5yZWFjaGFibGUgY29kZS4N Cj4gDQo+IFdoaWxlIHRoaXMgaXMgaW1wb3J0YW50IGZvciBzb21lIEMrKyBjb2RlIHdpdGggYSBs b3Qgb2YgdGVtcGxhdGUNCj4gaW5zdGFudGlhdGlvbnMsIEkgYW0gbm90IHN1cmUgaG93IG1hbnkg Y29tcGxldGVseSBkZWFkIGZ1bmN0aW9ucyBrZXJuZWwgaGFzLg0KPiBTbyB3aGF0IHVzZSBjYXNl cyB5b3UgZXhwZWN0IGZvciAtZmx0byAtZmxpdmUtcGF0Y2hpbmc9aW5saW5lLW9ubHktc3RhdGlj Pw0KDQpPa2F5LCBTbywgeW91ciBtYWpvciBjb25jZXJuIG9mIHRoZSBjb21iaW5hdGlvbiBvZiDi gJwtZmx0byAtZmxpdmUtcGF0Y2hpbmc9aW5saW5lLW9ubHktc3RhdGlj4oCdIGlzOiBub3QgdmVy eSAgdXNlZnVsLiANCklmIHNvLCBZZXMsIEkgYWdyZWUgd2l0aCB0aGlzLiANCg0KTXkgbWFqb3Ig cG9pbnQgd2FzLCBpZiB0ZWNobmljYWxseSBzaW1wbGUgYW5kIGRvYWJsZSwgaXTigJlzIGJldHRl ciB0byBzdXBwb3J0IGl0IGZvciBmZWF0dXJlIGNvbXBsZXRlbmVzcy4gDQpJdOKAmXMgdXNlcuKA mXMgY2hvaWNlIHRvIHVzZSBpdCBvciBub3QuIChXZSBjYW4gcHJvdmlkZSBtb3JlIGRldGFpbHMg aW4gZG9jdW1lbnRhdGlvbiB0byB3YXJuIHRoZSB1c2VyIGFib3V0IHRoZQ0KUGVyZm9ybWFuY2Ug aW1wYWN0KS4gIE9uIHRoZSBvdGhlciBoYW5kLCBpZiBpdOKAmXMgdG9vIGNvbXBsaWNhdGUgdG8g aW1wbGVtZW50LCBJIGFncmVlIG5vdCBkb2luZyBpdCBpcyBiZXR0ZXIuDQoNClRoYW5rcyBhIGxv dCBmb3IgeW91ciBwYXRpZW5jZSBhbmQgZGV0YWlsZWQgZXhwbGFuYXRpb24uDQoNClFpbmcNCg0K DQo+IEhvbnphDQo+PiANCj4+IFFpbmcNCj4+IA0KPj4+IEkgdGhpbmsgYmFzaWNhbGx5IG9ubHkg dW5yZWFjaGFibGUgY29kZSByZW1vdmFsIHdpbGwNCj4+PiByZW1haW4gYW5kIHBvc3NpYmx5IHNv bWUgcHJvcGFnYXRpb24gb2YgImNvbGRuZXNzIiBhY3Jvc3MgdGhlIGNvZGUuDQo+Pj4gDQo+Pj4g SSBjYW4gaW1wbGVtZW50IHRoaXMgaW5jcmVtZW50YWxseS4NCj4+PiBNYXJ0aW4sIGlmIGxpdmUg cGF0Y2hpbmcgaXMgaGFwcHkgYWJvdXQgc29tZSBzeW1ib2xzIGJlaW5nIHByb21vdGVkDQo+Pj4g c3RhdGljLCB0aGUgcGF0Y2ggaXMgT0suDQo+Pj4gSG9uemENCg0K