From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by sourceware.org (Postfix) with ESMTPS id 52DA53882123 for ; Fri, 14 Jun 2024 00:30:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 52DA53882123 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=quicinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 52DA53882123 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.180.131 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718325015; cv=pass; b=xJCNr5hDVjRIlQpz6w6HOeY/G7uL1ToGlWQjGbaHayMf2qnWQLbvVb28YF592DMMoqOzE7eZihXj9w/AmDvO8SLq/j+p8l1MA6x7XJ0aEMJKGv28V5Rwxy9OXfFHdIpDgDUE9Moemt6/AlBIu+E6tyFN2VGR3m0VC3N1GQ6vvs8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718325015; c=relaxed/simple; bh=ESE0JhnGDL0kGWReqkcLkGTdG33ZaqjIV4apgMbHne8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=uhVbVxztVsafMHo/Z5LN0JIS3Aeaet1Q6X9IMzeAtROidKQSj/14SVVq0Sc4beGXdmWDCAm9dgSc45jwwy/RJuHOddCrQSOZ4lch78pYVG7e++Zi2A1SJ7pVPZFRUaYDhfbBX0BLRL72/Uxw5X3S7ilGVOilDQxNJy/hUlyozp8= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45DJGMPM005271; Fri, 14 Jun 2024 00:30:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ESE0JhnGDL0kGWReqkcLkGTdG33ZaqjIV4apgMbHne8=; b=VKpQwiZ4tMLQTXDN CiLByaa1tC1q58/2iuM4QQSKLfV5Y37eWWd40DHbevIb1xNgtnbplqyIuxt9Y1lW DH2AHAIbm914GejeuzQDBa7z6KDP4W3Mas6ufWfz/lkL9cVG0O6ZaUHzRnAT5lyf 0iiHyfZTw3c3BolGdoGIMxUqOvq9PszAtP//8T2hYKRYZOCN9Fj2Q3dhAaFb/w6Z EJFa/ptpkhtNAriAhWCrGhQ6s+strVjjyjrnigmM9H8wYsjXGoyY/y5kA/gQa/aD B/9Hr91NCSduCC8tRmfV6WQZ1ghGbTbaFSzsWpjWAotTD0L7QnlaCWunu9N9dHCU FjDXuw== Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2049.outbound.protection.outlook.com [104.47.70.49]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3yr6q48mwa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jun 2024 00:30:09 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MVux4bbTByW9DJ/0U6UMrqXuITuwsGCujqdLXnZWYmsDHi+7LOgVAmXEfOhHpyaWmCiJ/0JUX/vjS190IfO8wgI7bLDQS2EDKn/NwX062kCpH8laGf8YUMCpkdc02Gj9pYBPWb1eddfMOkyCsRp8qQBnz602Sduy8Mf3pf4fw/tz2kzzh4oBaqKCES01rvcrthtlvEowDFAxEHrLM3qwucUe/m6fcrEPEtVN9uc8oOGT4gxtnQEIwKc/XC1sMWQpc+wMK6FU9P172EX3aSLy15qbx3/K2Ofir2V06y2avUPIkSwycCtNDFdDErEn+oHw2gaoYE02v5Wq9i1I3zmJog== 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=ESE0JhnGDL0kGWReqkcLkGTdG33ZaqjIV4apgMbHne8=; b=bdmvBSzErTwaXpQSIGStsNr1mbaEhZG4yRD1wV0hoylG6JlKRXkJaDIO7p/4a1WBTPoJ7PZaTXKY77iiosFJ7J9XQSxTewGk5ckJE1C4Y05pkzMALEfVjLBqFVh6wX4ATIJ1C4Jh1aBFiuN/+JuFpF/AOrYZhKSeRZgHhxoeDZk1UmZwv3UR28OBC6b/6THx7Dc4ljOZOMyOch10phr99UMkJOcmmXzQerE/tLjG2YI/aDc78sOqJT+RhmZbChGIYfg41PBmg8ANJ2l09N+VDUcs5Bisy303fESzolbRn54tDZod2ODF1HbilInjrZ6blxZSvHf+7W5toDOrJvtHfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quicinc.com; dmarc=pass action=none header.from=quicinc.com; dkim=pass header.d=quicinc.com; arc=none Received: from BYAPR02MB4821.namprd02.prod.outlook.com (2603:10b6:a03:4c::14) by PH0PR02MB8519.namprd02.prod.outlook.com (2603:10b6:510:10c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.25; Fri, 14 Jun 2024 00:30:01 +0000 Received: from BYAPR02MB4821.namprd02.prod.outlook.com ([fe80::69f7:43b0:1b14:e9e7]) by BYAPR02MB4821.namprd02.prod.outlook.com ([fe80::69f7:43b0:1b14:e9e7%6]) with mapi id 15.20.7677.019; Fri, 14 Jun 2024 00:30:01 +0000 From: "Pengxuan Zheng (QUIC)" To: Richard Sandiford , "Pengxuan Zheng (QUIC)" CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH v2] aarch64: Add vector popcount besides QImode [PR113859] Thread-Topic: [PATCH v2] aarch64: Add vector popcount besides QImode [PR113859] Thread-Index: AQHavTL9wnZg2B2YBEe1DBHpHe1f97HFWw9PgAEGLgA= Date: Fri, 14 Jun 2024 00:30:01 +0000 Message-ID: References: <20240613014210.28468-1-quic_pzheng@quicinc.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR02MB4821:EE_|PH0PR02MB8519:EE_ x-ms-office365-filtering-correlation-id: 7415fb4a-3bc4-480f-2421-08dc8c0920bc x-ld-processed: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230035|1800799019|366011|376009|38070700013; x-microsoft-antispam-message-info: =?utf-8?B?OUUzMWxWMDJlNllMcG8xMHRRQjBnRXgrQnB6QVNycTRhd0RIYkRpK1AvTHQ3?= =?utf-8?B?SFY0bDkzZnByVzZZZzJ6UWZHMnpneUVRME5URTZPR3NxZ3cwK3dJUXI1cE9E?= =?utf-8?B?V043MTUzNXNTQU1nRi9JVkdxMCt0OFJxS2E3TjkyRm5WWjZpd2RDSllvZ2sz?= =?utf-8?B?SmRHMitQOWwzaVBFM3VqREE3Y09ob3YzaE5QR0Y2bDdmT2FwbmxUTHdrdmow?= =?utf-8?B?NEM1VDZnSEEvUThWaGVPN3g2UXBmZTdPb2dnbnJIQTJxWlVoWkRnVkE1Z0w5?= =?utf-8?B?aUh2bkl5ZXJzMkJ6R2NLQ3hmU01MRUZrYWt4YTlLQzdJYWJpNFdMdG5WamIy?= =?utf-8?B?SUI1TmE2OE9PWHdaSGRxbXhCdGtWam1NcytyMWIyLzAyQjZMOENaS0tBakV4?= =?utf-8?B?SDdHTS9HQlZJK0o1TkwxR2pRZCtEK1lSTGw0L3g5RGM3dVBuQnNkZ0VFNzFW?= =?utf-8?B?UVF6OW1sSzhlUkVqMC8zcTVsVTVad0NZb2pXWmlvaE4yUVo2MVp1Vm1QbkJX?= =?utf-8?B?K2JMUWRiSUsvOThkR0oxR2JlbVh3ZTR0a2NLeXIzUkx2eGYwaDI4SzVnUnJL?= =?utf-8?B?MDV4dkprWWZNcTBjdUp0SWZzL1lsNXpzT2JVdHI5ckswSnNEQ3RjdFY3NU4v?= =?utf-8?B?YzhIUGlrcWN5MXM2OHlkem9hRHoxK0xWWGNDc1hpVzNIMVlIL1VFcE0xSi85?= =?utf-8?B?Y3ZOWEYyR1Nua1VrOXN0aENmQ0tBOFV4dDk5THRSY0I1Y1J0MzUvUWE2UHNq?= =?utf-8?B?T0Ura0wza28xNEd1ZEV6WjdCMGo2WWFvTUw4R2hkNFd6bXNGTHYweDA2bDh6?= =?utf-8?B?aWJPVUFWcVNaT3czWXM4dUdQUktQM1pKTmhlVnVTMWR1Vi8vQm12bWREcG8r?= =?utf-8?B?RmRZUnI3YXBHZURQNldsVUljdHdybHhCR0ZtazIyS1B6alpWSWEzNFp3eS9P?= =?utf-8?B?TUVTbWtjWXRXNktta0xPN1IzTnV6M204VjBUQkcxTHZKNUI5Z3ZoN3UvZWkx?= =?utf-8?B?S0RubjduQmxCTU04a2FLYjhBWGdISnV5OTVqNGhPelY0dXB3MEtpYkR3NTlx?= =?utf-8?B?R0YxQjNSOEhEb3dtNGZNVHdIcytsamtnSUU3WnRJTTBuam11NUxZeXpieE8x?= =?utf-8?B?OVNQU0M5Zk5WdWhZUXZ4ZVNmSjdmUVZEZXBJSnNndjhJblVNYkNIdGNwc2lz?= =?utf-8?B?TE5ybHZUWklNeGNYUktRZytqRDdtR3BJckY2Zm9DVTNnb1JOMFJZL1VIK0Jp?= =?utf-8?B?Wk1hRThpSU12SDBDMk1vcDk4c2QrWjNaOVpweUJLMzdoTHpDVUJsYUk0V0dL?= =?utf-8?B?YTlzYTFLVXQwcUorNTlmbHNhdGhudkFpcXRyUkNHUUljQzBzZFgvWmZDSVlN?= =?utf-8?B?UkJydUZSelc4Z2tLVFl4SUtTbnp0SUR6UXNtaHFKMWpObFRrREdFUmR1Y1Uz?= =?utf-8?B?R0UyRTVmYkJDcEVDTHhFNjRUVFdTaElNM09NekRpN3djdFFCaWRzVStCcGI3?= =?utf-8?B?bEJWMFpGampkZFZSQVZIczJTbWRvcW9OY21vUmV6U1lSZmszVVpESFlMUHY3?= =?utf-8?B?K3IwcFgvcmZvN3RvcFRoVFNMbkQ0VWVobC95TjRkVDBDblZuY0ZBUjF3SzNt?= =?utf-8?B?dmtGNXRIK002NGFuYm43VCtiQkdMNFFmRUVVdXUwRDZXWG9Sd3JSa2Z6Z1Vj?= =?utf-8?B?RWF0UlB5aVFPSi9TVE0rM3JDM3JheEdYM2RxSFpvMzVqRkl2VW9NZ3FxWEVa?= =?utf-8?Q?kQhR5Xjk36TT7SYmtfxZhmkA0uiqoWiVGS2uquA?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR02MB4821.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230035)(1800799019)(366011)(376009)(38070700013);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M2YzUGFKc3FuQXRuNnFCMnJIYTg4aDBxb0x0SDg3cCtkY0N0d29LL1crQ0U3?= =?utf-8?B?WEdUYXAyZXVFV2tkbys3QmJadnhhem9xNWlYU0FiSWlQRTdPY1E0UkZPSGRh?= =?utf-8?B?d3VKaElwV3ArOENmOHdNbUFuWkdBanBwYmJXbXNEb2N1OUJXZWxiQTIyNUxz?= =?utf-8?B?bWNoVzZJaGF0Rkg0czAyaVpRZCtmVTh6RmhtL0J1aUIyc3crRTBLTDFjRzF5?= =?utf-8?B?UEkwb1d1TnJiTVIrek1WSnlFd053YnVSQTVMclp3MTAxd3FUK05hRlNXY1hn?= =?utf-8?B?V3ZhMU5OY2tTQUJjY1hjVm1OdkNabnNONUpFeGMrT1dIc1dmVTlydzc4VTNS?= =?utf-8?B?R0JPNmZYMHlFUVBqcmlESnFIaWtBT3BnN3BCa0JtT2lHc2dPdEhJVzU0Y29K?= =?utf-8?B?blJuM0pldkJvOTZaQ050Qk9vb3NWZkQ3ZklqbGkvckpyV3BaTkhhZnRrQWNK?= =?utf-8?B?UEllK1lyV0hRbTFDRC9EUG5OeUR4WUVoOStYSVMwTUQwVENrZWtVRmhmR3hs?= =?utf-8?B?UDFaYTJwaHhudjUyeGFQZG4ways4dDg3anNrOG11VEN3MVUwK1FyOVpydUpJ?= =?utf-8?B?Z0ZDRVNQYkFiTEZab0RzZ0Y3eENVK1NOekhwbGU2azNITGwrb2dXa0FOdHBL?= =?utf-8?B?TWpueERHKzFETFF3eGQzSnJ6MFBlMFo2M1h6Y0ZJaVVQMEVFaDRyc3ZYdHJS?= =?utf-8?B?eTAvQ3RscEdxVjJWdVlaQWNVeis5ZWUxeWhqTW5VRURReU9hQnpoR1hORWJj?= =?utf-8?B?blU2K3JZSGZKU1hEc0t0RXRrdEZxaDZzYWliY3RtNXdvZHBwczhTcnhVL2Er?= =?utf-8?B?YnprMWJhWGtjR1lEamJHUnlzMlZkL0E2TitOTmpobXlUeWNpNFRUTDc5eTZZ?= =?utf-8?B?VnQ3RFJnYWl0RzRTejlZNWlFUjA0Wk85K2JwUHZiL054dGlCUUpBY1paZ25y?= =?utf-8?B?cWNKdkpRdFo2Wjh3TVg3UWdmRHhXbzNjQnYzRTBQNDdNaUxraU1WMWZ0a04w?= =?utf-8?B?MVV2djd6WDlVSmE2aXA4ZWZjSzl3eW5zdDdUKzNIdUF1c2VjMnpJaWZaTmhy?= =?utf-8?B?Mkh4cHFSUVdLWmVOYk5tZXVzMU5RU0MyS0xwM1UyeUNaMTFYQ2p3ckxyVzJT?= =?utf-8?B?bFRvQU54MUgzNnRXVElPWXgvcDZRRzh4UWl0ellLTS9nc3ZZbGpiN2lkTDBP?= =?utf-8?B?VU5tZ1c3VU1QbnRvVmdPR09jUU03U21VbWVZeGo3d1dtMVNHaUJZazE4dndU?= =?utf-8?B?cFdtZDFiRHp0UUVLcHZnMUpBaGNnOWdHTG9hdDJmem9yZGs5alFtd0pzTG9o?= =?utf-8?B?b00weXllcUE5bkJMcVlrU01PWDVKbHdNeE1ZOVlCOGwxVVhyblkxa280a1R6?= =?utf-8?B?SjYzd052TGNDK3EwZm9CcGN4R3RQazBWZ3N0Q0gzV3gvMmQ1TFFmYWpyK3d0?= =?utf-8?B?V2MrTDNsa0xBY0k3T2N1VXBkVkxDNkQ2R0hXWjdUS3VZV1dScm00VGhUM0U0?= =?utf-8?B?SURTZmVjQlpLZTJpeUx4cnpQZXNyR1dmbllsdXUzRnUwRkovNGJJcEhOMXB1?= =?utf-8?B?SkJId3plQWU1L3p6N1FPR0JkRUxHNFdjdWFDZ2tUQUhaZUtOdXhwWFN0dUpE?= =?utf-8?B?SDkzaWJUSXV0OWN2S3pBWmFuN0psV1U3UkxkY1pEUnpEVW1sdFpUbUg0SjRr?= =?utf-8?B?MDl3NmkzczBsSXFJT05ob2xITXJlMmg3cnZCUjh2UUlNeTUyRmM1cWJ3Nk1I?= =?utf-8?B?Rjd6c0gzN3kvd0gvQTBPMmF5KzBSRVVwZDFzS3d5TEVoeUxGc1ZJSDg5bGFv?= =?utf-8?B?RzFFaFBxY2dXVjJBV0xSenhjTjJWUlZuZ21KNmlZanhMYTB6dFVZb1ppdVhM?= =?utf-8?B?cGk1UzhQQW02Mzd4cUk0ZUM2NkEvdkFzWlhOQ1Z3ZXZGeUdHcTJUTVovQ0tM?= =?utf-8?B?R20wcGlZRGtKL3NzK2xZUHVhams3VHRKQ1NqVlpkTzdrcTN2dFEwdUpJUGhk?= =?utf-8?B?WW8zQUg1TURPWm1ZL3gyZ0d1ZVdlM2FkcXFzT29mc0xhV3E5SXkrTGRjMlZ3?= =?utf-8?B?TE81dXpOTVRERk9oZU5PbUtvb0wxbUl3VTRZNVg1M05XeVYzRzNCeE1CUkxP?= =?utf-8?Q?RlEw=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kleVheAlHD1arMZcbBJAwYEw4N17Guy0ZaXzL94qbt46E720Ds/KPwPOkXIwZQDOUVraZ3D9wYkAWhE34SBiDPl6JCg94eEP7Mu6bHf8SfW43Xx7eHM4g19Yc8xBvR8FMACY807tyApYL5mvHzyptc7uZ2mj2UVXX4pftAMnG2CAuGy1SwffpJWadQguGHkX86TVvNU+yXssAlS14olrUmV9Fk6kmlHnYhfrUK0o2dOaE7eOOr6g9YWHNOG/z179rzlSrfHFkSD5iHG9caoyMLWIUSKxgon99X8kEpRJsqbLTv95Y91FY0J+s+lQKqaUk44k7SztHFAEC1uAKHLXmiLxjYNX3OdUVxxVJe3FjVMaIFqUiAWI9NGYN6aXxYw5e2KbA1WYCGiGwjYMq1SQTXM5Ih5OLQ1NF3riq2FOeZYJJU9UGiwCDsn3V0vJ/q6GjnmQltXvMfOap2CRSxtfOgPsuypiuQW2MpSDsj5u9s8GBRBDVK7Q6RGXqBXPAsLmju6irtwfe28cZFa9VUBN4UbELiTC8XW0LRq00bX4QLW4NXzrc+3KzepFuRqjr0a7sw44hUIc5SVvCkf21ILlKz8myw8cBxP6se/AJXEJLWO2NKzwnA0aBVG2lYY7ESws X-OriginatorOrg: quicinc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR02MB4821.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7415fb4a-3bc4-480f-2421-08dc8c0920bc X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2024 00:30:01.1198 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FFXuO3F+ARrHEQ5FeSPB711H+Xn+ORj8D65u0FYx/7WQLebmoGWoog62RvN9Pyok4ZNR8lvrKqDHSEeBPHFLRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB8519 X-Proofpoint-ORIG-GUID: 7hxlvJKFWjJR7138Ox9-7vBR5Wz8QeFQ X-Proofpoint-GUID: 7hxlvJKFWjJR7138Ox9-7vBR5Wz8QeFQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-13_14,2024-06-13_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 impostorscore=0 bulkscore=0 mlxscore=0 spamscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406140000 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,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: PiBQZW5neHVhbiBaaGVuZyA8cXVpY19wemhlbmdAcXVpY2luYy5jb20+IHdyaXRlczoNCj4gPiBU aGlzIHBhdGNoIGltcHJvdmVzIEdDQ+KAmXMgdmVjdG9yaXphdGlvbiBvZiBfX2J1aWx0aW5fcG9w Y291bnQgZm9yDQo+ID4gYWFyY2g2NCB0YXJnZXQgYnkgYWRkaW5nIHBvcGNvdW50IHBhdHRlcm5z IGZvciB2ZWN0b3IgbW9kZXMgYmVzaWRlcw0KPiA+IFFJbW9kZSwgaS5lLiwgSEltb2RlLCBTSW1v ZGUgYW5kIERJbW9kZS4NCj4gPg0KPiA+IFdpdGggdGhpcyBwYXRjaCwgd2Ugbm93IGdlbmVyYXRl IHRoZSBmb2xsb3dpbmcgZm9yIFY4SEk6DQo+ID4gICBjbnQgICAgIHYxLjE2Yiwgdi4xNmINCj4g PiAgIHVhZGRscCAgdjIuOGgsIHYxLjE2Yg0KPiA+DQo+ID4gRm9yIFY0SEksIHdlIGdlbmVyYXRl Og0KPiA+ICAgY250ICAgICB2MS44Yiwgdi44Yg0KPiA+ICAgdWFkZGxwICB2Mi40aCwgdjEuOGIN Cj4gPg0KPiA+IEZvciBWNFNJLCB3ZSBnZW5lcmF0ZToNCj4gPiAgIGNudCAgICAgdjEuMTZiLCB2 LjE2Yg0KPiA+ICAgdWFkZGxwICB2Mi44aCwgdjEuMTZiDQo+ID4gICB1YWRkbHAgIHYzLjRzLCB2 Mi44aA0KPiA+DQo+ID4gRm9yIFYyU0ksIHdlIGdlbmVyYXRlOg0KPiA+ICAgY250ICAgICB2MS44 Yiwgdi44Yg0KPiA+ICAgdWFkZGxwICB2Mi40aCwgdjEuOGINCj4gPiAgIHVhZGRscCAgdjMuMnMs IHYyLjRoDQo+ID4NCj4gPiBGb3IgVjJESSwgd2UgZ2VuZXJhdGU6DQo+ID4gICBjbnQgICAgIHYx LjE2Yiwgdi4xNmINCj4gPiAgIHVhZGRscCAgdjIuOGgsIHYxLjE2Yg0KPiA+ICAgdWFkZGxwICB2 My40cywgdjIuOGgNCj4gPiAgIHVhZGRscCAgdjQuMmQsIHYzLjRzDQo+ID4NCj4gPiAJUFIgdGFy Z2V0LzExMzg1OQ0KPiA+DQo+ID4gZ2NjL0NoYW5nZUxvZzoNCj4gPg0KPiA+IAkqIGNvbmZpZy9h YXJjaDY0L2FhcmNoNjQtc2ltZC5tZCAoYWFyY2g2NF88c3U+YWRkbHA8bW9kZT4pOg0KPiBSZW5h bWUgdG8uLi4NCj4gPiAJKEBhYXJjaDY0XzxzdT5hZGRscDxtb2RlPik6IC4uLiBUaGlzLg0KPiA+ IAkocG9wY291bnQ8bW9kZT4yKTogTmV3IGRlZmluZV9leHBhbmQuDQo+ID4NCj4gPiBnY2MvdGVz dHN1aXRlL0NoYW5nZUxvZzoNCj4gPg0KPiA+IAkqIGdjYy50YXJnZXQvYWFyY2g2NC9wb3BjbnQt dmVjLmM6IE5ldyB0ZXN0Lg0KPiA+IC0tLQ0KPiA+ICBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC1zaW1kLm1kICAgICAgICAgICAgfCAyOCArKysrKysrLQ0KPiA+ICBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVjLmMgfCA2NQ0KPiA+ICsrKysrKysrKysrKysrKysr KysNCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC9wb3BjbnQtdmVjLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQv YWFyY2g2NC1zaW1kLm1kDQo+ID4gYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1k DQo+ID4gaW5kZXggMGJiMzkwOTFhMzguLjM4ZGJhMjg1ZjY5IDEwMDY0NA0KPiA+IC0tLSBhL2dj Yy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gPiArKysgYi9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gQEAgLTM0NjEsNyArMzQ2MSw3IEBAIChkZWZpbmVf aW5zbg0KPiAiKmFhcmNoNjRfPHN1PmFkZGx2PFZEUVZfTDptb2RlPl96ZTxHUEk6bW9kZT4iDQo+ ID4gICAgWyhzZXRfYXR0ciAidHlwZSIgIm5lb25fcmVkdWNfYWRkPFZEUVZfTDpxPiIpXQ0KPiA+ ICApDQo+ID4NCj4gPiAtKGRlZmluZV9leHBhbmQgImFhcmNoNjRfPHN1PmFkZGxwPG1vZGU+Ig0K PiA+ICsoZGVmaW5lX2V4cGFuZCAiQGFhcmNoNjRfPHN1PmFkZGxwPG1vZGU+Ig0KPiA+ICAgIFso c2V0IChtYXRjaF9vcGVyYW5kOjxWREJMVz4gMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gIAko cGx1czo8VkRCTFc+DQo+ID4gIAkgICh2ZWNfc2VsZWN0OjxWREJMVz4NCj4gPiBAQCAtMzUxNyw2 ICszNTE3LDMyIEBAIChkZWZpbmVfaW5zbg0KPiAicG9wY291bnQ8bW9kZT4yPHZjemxlPjx2Y3pi ZT4iDQo+ID4gICAgWyhzZXRfYXR0ciAidHlwZSIgIm5lb25fY250PHE+IildDQo+ID4gICkNCj4g Pg0KPiA+ICsoZGVmaW5lX2V4cGFuZCAicG9wY291bnQ8bW9kZT4yIg0KPiA+ICsgIFsoc2V0ICht YXRjaF9vcGVyYW5kOlZEUUhTRCAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiArICAgICAgICAo cG9wY291bnQ6VkRRSFNEIChtYXRjaF9vcGVyYW5kOlZEUUhTRCAxDQo+ID4gKyJyZWdpc3Rlcl9v cGVyYW5kIikpKV0NCj4gPiArICAiVEFSR0VUX1NJTUQiDQo+ID4gKyAgew0KPiA+ICsgICAgLyog R2VuZXJhdGUgYSBieXRlIHBvcGNvdW50LiAqLw0KPiA+ICsgICAgbWFjaGluZV9tb2RlIG1vZGUg PSA8Yml0c2l6ZT4gPT0gNjQgPyBWOFFJbW9kZSA6IFYxNlFJbW9kZTsNCj4gPiArICAgIHJ0eCB0 bXAgPSBnZW5fcmVnX3J0eCAobW9kZSk7DQo+ID4gKyAgICBhdXRvIGljb2RlID0gb3B0YWJfaGFu ZGxlciAocG9wY291bnRfb3B0YWIsIG1vZGUpOw0KPiA+ICsgICAgZW1pdF9pbnNuIChHRU5fRkNO IChpY29kZSkgKHRtcCwgZ2VuX2xvd3BhcnQgKG1vZGUsDQo+ID4gK29wZXJhbmRzWzFdKSkpOw0K PiA+ICsNCj4gPiArICAgIC8qIFVzZSBhIHNlcXVlbmNlIG9mIFVBRERMUHMgdG8gYWNjdW11bGF0 ZSB0aGUgY291bnRzLiBFYWNoIHN0ZXANCj4gZG91YmxlcyB0aGUNCj4gPiArICAgICAgIGVsZW1l bnQgc2l6ZSBhbmQgaGFsdmVzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMuICovDQo+IA0KPiBOaXQ6 IHJlZmxvd2luZyB0aGlzIHBhcmFncmFwaCBoYXMgbWFkZSB0aGUgZmlyc3QgbGluZSB0b28gbG9u Zy4NCj4gSSB0aGluayB3ZSBzaG91bGQgc3RpY2sgd2l0aCB0aGUgdmVyc2lvbiBpbiB0aGUgcmV2 aWV3Og0KPiANCj4gICAgLyogVXNlIGEgc2VxdWVuY2Ugb2YgVUFERExQcyB0byBhY2N1bXVsYXRl IHRoZSBjb3VudHMuICBFYWNoIHN0ZXANCj4gZG91Ymxlcw0KPiAgICAgICB0aGUgZWxlbWVudCBz aXplIGFuZCBoYWx2ZXMgdGhlIG51bWJlciBvZiBlbGVtZW50cy4gICovDQoNCkdvb2QgY2F0Y2gu IEkndmUgZml4ZWQgdGhpcyBpbiB0aGUgbGF0ZXN0IHZlcnNpb24uDQpodHRwczovL2djYy5nbnUu b3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDI0LUp1bmUvNjU0NjAxLmh0bWwNCg0KPiANCj4g PiArICAgIGRvDQo+ID4gKyAgICAgIHsNCj4gPiArICAgICAgICBhdXRvIGljb2RlID0gY29kZV9m b3JfYWFyY2g2NF9hZGRscCAoWkVST19FWFRFTkQsIEdFVF9NT0RFDQo+ICh0bXApKTsNCj4gPiAr ICAgICAgICBtb2RlID0gaW5zbl9kYXRhW2ljb2RlXS5vcGVyYW5kWzBdLm1vZGU7DQo+ID4gKyAg ICAgICAgcnR4IGRlc3QgPSBtb2RlID09IDxNT0RFPm1vZGUgPyBvcGVyYW5kc1swXSA6IGdlbl9y ZWdfcnR4DQo+IChtb2RlKTsNCj4gPiArICAgICAgICBlbWl0X2luc24gKEdFTl9GQ04gKGljb2Rl KSAoZGVzdCwgdG1wKSk7DQo+ID4gKyAgICAgICAgdG1wID0gZGVzdDsNCj4gPiArICAgICAgfQ0K PiA+ICsgICAgd2hpbGUgKG1vZGUgIT0gPE1PREU+bW9kZSk7DQo+ID4gKyAgICBET05FOw0KPiA+ ICsgIH0NCj4gPiArKQ0KPiA+ICsNCj4gPiAgOzsgJ2Fjcm9zcyBsYW5lcycgbWF4IGFuZCBtaW4g b3BzLg0KPiA+DQo+ID4gIDs7IFRlbXBsYXRlIGZvciBvdXRwdXR0aW5nIGEgc2NhbGFyLCBzbyB3 ZSBjYW4gY3JlYXRlIF9fYnVpbHRpbnMNCj4gPiB3aGljaCBjYW4gYmUgZGlmZiAtLWdpdA0KPiA+ IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcG9wY250LXZlYy5jDQo+ID4gYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVjLmMNCj4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwLi44OTg2MDk0MDI5Ng0KPiA+IC0t LSAvZGV2L251bGwNCj4gPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9w b3BjbnQtdmVjLmMNCj4gPiBAQCAtMCwwICsxLDY1IEBADQo+ID4gKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQo+ID4gKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovDQo+ID4gKw0KPiA+ICsvKiBU aGlzIGZ1bmN0aW9uIHNob3VsZCBwcm9kdWNlIGNudCB2LjE2Yi4gKi8gdm9pZCBiYXIgKHVuc2ln bmVkIGNoYXINCj4gPiArKl9fcmVzdHJpY3QgYiwgdW5zaWduZWQgY2hhciAqX19yZXN0cmljdCBk KSB7DQo+ID4gKyAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDI0OyBpKyspDQo+ID4gKyAgICBkW2ld ID0gX19idWlsdGluX3BvcGNvdW50IChiW2ldKTsgfQ0KPiA+ICsNCj4gPiArLyogVGhpcyBmdW5j dGlvbiBzaG91bGQgcHJvZHVjZSBjbnQgdi4xNmIgYW5kIHVhZGRscCAoQWRkIExvbmcNCj4gPiAr UGFpcndpc2UpLiAqLyB2b2lkDQo+ID4gK2JhcjEgKHVuc2lnbmVkIHNob3J0ICpfX3Jlc3RyaWN0 IGIsIHVuc2lnbmVkIHNob3J0ICpfX3Jlc3RyaWN0IGQpIHsNCj4gPiArICBmb3IgKGludCBpID0g MDsgaSA8IDEwMjQ7IGkrKykNCj4gPiArICAgIGRbaV0gPSBfX2J1aWx0aW5fcG9wY291bnQgKGJb aV0pOyB9DQo+ID4gKw0KPiA+ICsvKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBwcm9kdWNlIGNudCB2 LjE2YiBhbmQgMiB1YWRkbHAgKEFkZCBMb25nDQo+ID4gK1BhaXJ3aXNlKS4gKi8gdm9pZA0KPiA+ ICtiYXIyICh1bnNpZ25lZCBpbnQgKl9fcmVzdHJpY3QgYiwgdW5zaWduZWQgaW50ICpfX3Jlc3Ry aWN0IGQpIHsNCj4gPiArICBmb3IgKGludCBpID0gMDsgaSA8IDEwMjQ7IGkrKykNCj4gPiArICAg IGRbaV0gPSBfX2J1aWx0aW5fcG9wY291bnQgKGJbaV0pOyB9DQo+ID4gKw0KPiA+ICsvKiBUaGlz IGZ1bmN0aW9uIHNob3VsZCBwcm9kdWNlIGNudCB2LjE2YiBhbmQgMyB1YWRkbHAgKEFkZCBMb25n DQo+ID4gK1BhaXJ3aXNlKS4gKi8gdm9pZA0KPiA+ICtiYXIzICh1bnNpZ25lZCBsb25nIGxvbmcg Kl9fcmVzdHJpY3QgYiwgdW5zaWduZWQgbG9uZyBsb25nDQo+ID4gKypfX3Jlc3RyaWN0IGQpIHsN Cj4gPiArICBmb3IgKGludCBpID0gMDsgaSA8IDEwMjQ7IGkrKykNCj4gPiArICAgIGRbaV0gPSBf X2J1aWx0aW5fcG9wY291bnRsbCAoYltpXSk7IH0NCj4gPiArDQo+ID4gKy8qIFRoaXMgZnVuY3Rp b24gc2hvdWxkIHByb2R1Y2UgY250IHYuOGIgYW5kIHVhZGRscCAoQWRkIExvbmcNCj4gPiArUGFp cndpc2UpLiAqLyB2b2lkDQo+ID4gK2JhcjQgKHVuc2lnbmVkIHNob3J0ICpfX3Jlc3RyaWN0IGIs IHVuc2lnbmVkIHNob3J0ICpfX3Jlc3RyaWN0IGQpIHsNCj4gPiArICBmb3IgKGludCBpID0gMDsg aSA8IDEwMjg7IGkrKykNCj4gPiArICAgIGRbaV0gPSBfX2J1aWx0aW5fcG9wY291bnQgKGJbaV0p OyB9DQo+ID4gKw0KPiA+ICsvKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBwcm9kdWNlIGNudCB2Ljhi IGFuZCAyIHVhZGRscCAoQWRkIExvbmcNCj4gPiArUGFpcndpc2UpLiAqLyB2b2lkDQo+ID4gK2Jh cjUgKHVuc2lnbmVkIGludCAqX19yZXN0cmljdCBiLCB1bnNpZ25lZCBpbnQgKl9fcmVzdHJpY3Qg ZCkgew0KPiA+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAyNjsgaSsrKQ0KPiA+ICsgICAgZFtp XSA9IF9fYnVpbHRpbl9wb3Bjb3VudCAoYltpXSk7IH0NCj4gDQo+IEl0J2QgcHJvYmFibHkgYmUg c2FmZXIgdG8gdXNlIGFuIFNMUCB0ZXN0IGZvciBiYXI0IGFuZCBiYXI1LCB0byBlbnN1cmUgdGhh dCB3ZQ0KPiBjb250aW51ZSB0byBnZW5lcmF0ZSBvbmx5IGEgc2luZ2xlIHBvcGNvdW50IGZvciB0 aGlzIGZ1bmN0aW9uLg0KPiBJbiBmdXR1cmUsIGV2ZW4gLU8yIG1pZ2h0IHVzZSAxMjgtYml0IHZl Y3RvcnMgZm9yIHRoZSBtYWluIGxvb3AsIGZvbGxvd2VkIGJ5IGENCj4gNjQtYml0IHZlY3RvciBl cGlsb2d1ZSBmb3IgdGhlIHJlbWFpbmluZyBlbGVtZW50cy4NCj4gVGhhdCB3b3VsZCB0aGVuIGdp dmUgbW9yZSAxMjgtYml0IHZlY3RvciBwb3Bjb3VudHMgdGhhbiB0aGUgdGVzdCBpcw0KPiBleHBl Y3RpbmcuDQoNClRoYXQgbWFrZXMgc2Vuc2UuIEkndmUgdXBkYXRlZCB0aGUgdGVzdHMgYWNjb3Jk aW5nbHkuIEhvd2V2ZXIsIHRoZXJlIHNlZW1zIHRvIGJlDQpzb21lIGlzc3VlIHdpdGggdGhlIGNv c3QgbW9kZWwgd2hpY2ggY2F1c2VzIFNMUCB0byBmYWlsIHRvIHZlY3Rvcml6ZSBiYXI1Lg0KVGhl cmVmb3JlLCBJIGFkZGVkIC1mbm8tdmVjdC1jb3N0LW1vZGVsIHRvIHdvcmsgYXJvdW5kIHRoZSBp c3N1ZS4gUGxlYXNlIGxldCBtZQ0Ka25vdyBpZiB3ZSBzaG91bGQgZG8gdGhpcyBkaWZmZXJlbnRs eS4NCg0KaHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyNC1KdW5l LzY1NDYwMS5odG1sDQoNClRoYW5rcywNClBlbmd4dWFuDQo+IA0KPiBUaGFua3MsDQo+IFJpY2hh cmQNCj4gDQo+ID4gKw0KPiA+ICsvKiBTTFANCj4gPiArIFRoaXMgZnVuY3Rpb24gc2hvdWxkIHBy b2R1Y2UgY250IHYuMTZiIGFuZCAzIHVhZGRscCAoQWRkIExvbmcNCj4gPiArUGFpcndpc2UpLiAq LyB2b2lkDQo+ID4gK2JhcjYgKHVuc2lnbmVkIGxvbmcgbG9uZyAqX19yZXN0cmljdCBiLCB1bnNp Z25lZCBsb25nIGxvbmcNCj4gPiArKl9fcmVzdHJpY3QgZCkgew0KPiA+ICsgIGRbMF0gPSBfX2J1 aWx0aW5fcG9wY291bnRsbCAoYlswXSk7DQo+ID4gKyAgZFsxXSA9IF9fYnVpbHRpbl9wb3Bjb3Vu dGxsIChiWzFdKTsgfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LW5vdCB7XHRibFx0cG9wY291bnR9IH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge2NudFx0fSA3IH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3VhZGRscFx0fSAxMiB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtsZHJcdHF9IDUgfSB9ICovDQo+ID4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7bGRyXHRkfSAyIH0gfSAqLw0K