From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by sourceware.org (Postfix) with ESMTPS id 44F9A388206F for ; Fri, 14 Jun 2024 08:14:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 44F9A388206F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 44F9A388206F Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718352898; cv=pass; b=qSNEay10Sjh4ipefaeDK7/tYhRsf+7l+u63StH3VsNy6eOK5kEKnwN7IAm5MySwvkgsA62KOI6zVHFeAM6sH/YEYSp7vf77s0VHkDvKvLdWmrBAqcmJrwvxawaAZcJmuNWPQokVCH/t2zjNKUzGVCLGB1PU7ovjeHfrlaEJOlC4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718352898; c=relaxed/simple; bh=j7DSVggqMVQrvTP1WPp1FdxJVYZIQvCd2Cef4vRGS2k=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=gQY13XLKuMrckhraut206BtLKwcJ6LsUFdSLZpnC/S2TImqP/SVDaIzCKHooPhyYvfOjzZvGlbriIHKVMsgc+FFKaJnUf+JD3+ns+7vxUfX4H6qGBFprCYi//Wt5Dpp7e9TzzR0Oy8dfmUcKe2vabpRcWO1mpkyrdKdTbekTdkI= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1718352889; x=1749888889; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=j7DSVggqMVQrvTP1WPp1FdxJVYZIQvCd2Cef4vRGS2k=; b=JNt11MF4cSTZICuO3vxERkhiPAwvd/WlXZl0Zqx9za3xYd25Wxr8kO7s EZrSDDYEtCzPwg17DrEUIJHVDFZ2eLHLiWsB0WPzLUC28C3/QD2T/j0RX DZ70++Z4FHtwwOkQObnU3o1BGiplW7Rdju1qyvxdFvC7b0qHoratE4XvR YCmOdWu1BZL/9GF8WQCcw0fSrRiAC/LUebu5eSIX0Y7HeansRdH8nMctl M2xLeOk8Yuw8tjO9HWkBMUF9Oi4h4dqoT1hwx7QOCXLv43Yn5m31LdXBY BOfw1q6zJLzvbe4/ikmZQ7AaklYzgIVEZZA87UdRJterX+7nokdU/ULbH w==; X-CSE-ConnectionGUID: AUPqrBBrQOSt7FfLiitQRQ== X-CSE-MsgGUID: xeR7MLUKSi6ZBYupPZrQPw== X-IronPort-AV: E=McAfee;i="6700,10204,11102"; a="26344844" X-IronPort-AV: E=Sophos;i="6.08,237,1712646000"; d="scan'208";a="26344844" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2024 01:14:48 -0700 X-CSE-ConnectionGUID: Uy0UaPz4SCiRvGHHVYfApA== X-CSE-MsgGUID: RJHLo5flSOK3gU0P1XtL9w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,237,1712646000"; d="scan'208";a="40531647" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmviesa009.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Jun 2024 01:14:49 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 14 Jun 2024 01:14:47 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 14 Jun 2024 01:14:47 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.40) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 14 Jun 2024 01:14:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AApMDxl77Jq9N87A49cELB3xddvM0gZnWzSAOL/3Numj5a3f8tYe1Km5af1JeWEkfe4vG25/27hZfwlzba4UyIHc1UR4td951A8Ayg3qo0S16Hddo6LnY/8MYAD3vrlNh6yjKLT4rpLRIaw7H3lVmMdTXwG9RUF2gKnExaJ5R2HLjFxpkLPMyjfXsVbsQwCfUxHWT36o6YJ7H7i1NwNMT6HxIi7bbRI6XdLCukraSt9U4Fd6dwa6aJrcSXn2c7rXwZZ0mfUy/u6QhjUA6G5BM0UKnMhcEtzXHDigSl5JJ133wn0yDo9PPXlTC2SskN8oMOf6U5ig2WKRbXi9WdGC6w== 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=j7DSVggqMVQrvTP1WPp1FdxJVYZIQvCd2Cef4vRGS2k=; b=Ve6pUJwfg7untk/k1Gm4c05ohk3DJ06tqr+NSdgnSPGOYewTaNHCET/87ANzhZJiPwTgfn21JRVq6gmYYuUXH8CnXAW41+81n9bte8W5ADNTBinEpsAxaox23g0TyFQ/GifrpVo0e1Z8H1VDvcLKoDU2m4GM6AGYdQ/VVJb3oCM6brYASrzW4JP8xFN65VPjAXYW23UsgaGcR3NzL28OTIfMBYzS9n4Fjv3IvemZVnVukAZOFY0qFZBivdOy+LAonVioOMunhhGdfbb8EoS+rVq+LK7nJHkrNTuFWmr8xr2OI+OVkGzdijDLJdoz2KPM78FbuclAGZr0eO4odENB+Q== 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 CY8PR11MB7729.namprd11.prod.outlook.com (2603:10b6:930:70::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.37; Fri, 14 Jun 2024 08:14:39 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59%3]) with mapi id 15.20.7677.024; Fri, 14 Jun 2024 08:14:39 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "jeffreyalaw@gmail.com" , "rdapp.gcc@gmail.com" Subject: RE: [PATCH v1] Match: Support more forms for the scalar unsigned .SAT_SUB Thread-Topic: [PATCH v1] Match: Support more forms for the scalar unsigned .SAT_SUB Thread-Index: AQHavMVrOs2TA7LoQUqiXnog0SH8y7HG6bCAgAABwwA= Date: Fri, 14 Jun 2024 08:14:39 +0000 Message-ID: References: <20240612123753.201660-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_|CY8PR11MB7729:EE_ x-ms-office365-filtering-correlation-id: 24f55436-4fca-4e54-7851-08dc8c4a09ad x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230035|376009|1800799019|366011|38070700013; x-microsoft-antispam-message-info: =?utf-8?B?VHdNbWcwMVNHQTJXaFlEWkJpazR3cVpoWlpTTk5rYlUyVkVTQjJlaWNLVGd2?= =?utf-8?B?MFcwbnppQWlhV1dMb2JnN0l2RG1hcE5wK0dmYlRDSnlvRE5QbUdnOXFkS2hZ?= =?utf-8?B?c0xFQWo3Rm52Qy9QMmphazYvVXdjL2NjMTE1d1IxS0ZmQUk1WWV2K2NGWW50?= =?utf-8?B?UWkzWENYYVBaT3pMd0hmMk5zU3E3a3NqVUxKQW16M1kyYzArcm80L1I3L3dE?= =?utf-8?B?ZGtPYlE1SkIzU3hCUjFTSUVaYmROM3d4ZEdTdGwvaFM5S2thd0Iydlo0NVlO?= =?utf-8?B?NmVZemwrVDdSYXVSR1A0Q045dnpKb1lsd29ma1orc1U5aEFldzhueThESERD?= =?utf-8?B?WDNObzRac3NjTTFzYzhWNEhYVEY5cDJkc0tVWlJEVm5FTmM0OGxMejNzbXll?= =?utf-8?B?cDRnRlhaRW5yYWdQbGJLZHdVS3Y2MzhnNy9ZVytBSHdyMHVCT3MrMDVUUVpI?= =?utf-8?B?Q0llSGRDakU5cExwQW1UVXR6U2JpZjZUWmdHdmwyNnNWd2RWMjRoY3RMcE9K?= =?utf-8?B?cHhVQ2Zib1dseVc3eXdIdUl0YkE4SWovYUlHVmRrVldZS09kVlU1MlRQL3By?= =?utf-8?B?c0lUTGtkMm1jblQwdUQ2aVlXTGZhcktKbUNsZERrVmM0c0xERHdacytvaVBT?= =?utf-8?B?b3NSTUxYTEw3VE9QVDRBdUNaMGQxL1d3Q2RJZ0VVQkxhd09GUDJFV2ZRbjlT?= =?utf-8?B?NU9COG5LTUFRbkR5ZC9hZmxJcTRSYlc1aFRFcXY1T2pSSUN1MElhVDNVUWdC?= =?utf-8?B?Z3Z4NHEyTFhvRkcvL2RVUUFvdnlmbXovdXF6QTBsdE9zcC9rL0pxN28xanBq?= =?utf-8?B?NVR1dG9PSWUyeDdBYTlIbkVuVHJuM2V5eDFrRGVDbCtLT2M2S1QrSVNwTXU4?= =?utf-8?B?NDA3Mi83UEZVMXQyRTFGblVaTHQ5VXpTZFZUeWl6VmlTcG1iT3NFMSsvU1ps?= =?utf-8?B?dkFGNHZ2Z01NQW1NeXVqazNOSUROZHFMQ2lzUG5qSFRJNS9kMFE4c0ZyMnJG?= =?utf-8?B?RHpIeUZSUi9ncmhNNys0MlpQSDMwbzQ2WlZpQTZYYWFXUEduMjNMVDlDeklP?= =?utf-8?B?RmpJenhtdmdvS050cko5WjNkYnl4b3lYcEZXOGc2UFFDVzAyNmFwZnY2czYx?= =?utf-8?B?OE4vZEdibDI2N2FvTk5oUHpYYlNtYkcxS2R0TGRNcXd3bTRMSWgzVzE5eTVQ?= =?utf-8?B?MnJFT1JtY1FTUGtkbVVrb3IzN3hKa0xBMHpFRXMyVVg5ZWVWdUJ1WDZDVkY0?= =?utf-8?B?Qnh0dDlYMVZnTExmZ3M1d002cERORWk3S3Z3NEorRE5MNm1XcTBvblVka0sx?= =?utf-8?B?czJ3RXBCWlhkK1k2WkgweCtERWRtTUhheFc1QlJsd0NxQTV0RUo5OUN6VWtS?= =?utf-8?B?dmxxd3Q0NFp3bFZhVVh0RDZMRU5nOHA0MTlURjFpUjYzbnhHZmpmSWFBcEVS?= =?utf-8?B?NGdaOTRqNzViWHQrMUdtenJRcllieVV5RGRuQU9pc0c0WForY05zYzNTR3Va?= =?utf-8?B?SnUra2dUZzRHUVhmRFFVWlppSU5lQWZpTTJXcjBCcWROaFE3c3VURmJlTTRz?= =?utf-8?B?R0tDTU0yb2lBWURHMWN1dCtPcXZVYUJnTDN5clBNU3BUVHpFMlhPbDVMU0Vr?= =?utf-8?B?Q3Y1MmVxaWw0Rlc5ZWJpRWJQd3pEampPRmF6d2Y4REUxVjlUenpYcklpSGQ2?= =?utf-8?B?NUhTK0NCK05raEExNUVTTDJqbmRZTkFUbFhpVHdlSmhBeXdDMWFkTStlbXk5?= =?utf-8?B?TWdrWWRDakVDRDdETTNMbHNmd1ZtUVZPU2QvUUJtSGhLSDhweW1tbVV5MGVO?= =?utf-8?Q?T7Hxy6RXzhPlaoTCdwveptQUU9dvtaqNjpDlk=3D?= 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:(13230035)(376009)(1800799019)(366011)(38070700013);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bVpycUFPNXpCcUJGSEtTRVk5aU5JeEloaSs3NEQzL080NllKU2trWkNRY0hO?= =?utf-8?B?cTJyalBWQlcvZGlGWHZQVVFUTi92Mzk4MURPN25obEJJRHVBMi93ZWplWU1V?= =?utf-8?B?WitTanhJTWl6QjFoQ1o0YzdQVkIxRnB3UWNFdzJ1ZGhhK3pzMUpvYnhXbVZq?= =?utf-8?B?dnBKOEdPMlREaHoycG1UYlhVRG42NndDbFVFNXJpREFNUkhOYlVCL2lWU0JV?= =?utf-8?B?c3Y3RkdLb2JvSTJsTUZwMjRPdllMYTZyMGZXbzFpbENTM2FYbm5yZHd4cnJM?= =?utf-8?B?bnhNN3J2UTdTci9YZWJXYW9xVG9RVzFDbDE0bkl3cjF3bEpyTlZ6dFFLd1dB?= =?utf-8?B?YTY5L1BpVVFFMjJySHgrY1VZL0E0UlRrcDI0b0QrYURJdFk5bVBXVzIzRVhK?= =?utf-8?B?aFpCY1dRb2NKK2Z3c2N3TGduWmhlaU02Q3FkaHRQWUtFNWw5TWZxRUhuS1hl?= =?utf-8?B?elQ1RlJoL1pEaXNoUjcvVFZ1c0cvN2VNeDhLaTJRMmxBbmRGR3V0eDhxTVFC?= =?utf-8?B?Wi9kc3M1YU9SeC9mS2grbkYydFo0Uk9PQ2hSR3p6MkdFM3Nwdzl3ZFo1UEkz?= =?utf-8?B?VVNNMlZyYnVlM21lMUlveTJDQnVQUkNlS0VRQi95ajRRNzNNWmVxdHE4c2lR?= =?utf-8?B?WE1nRnVxNGVRWTF5QXdnbUg5NU1xUFBmYVlUZitWMVBtZC81bFFjSU5JcVgx?= =?utf-8?B?OWQ1ZkJBc2g5QXU5RE95elkwUG5xL1ZSNzlSZVprZWdyeTFKQWhJOFNPeDFO?= =?utf-8?B?a3Z3MC90UDBNdzNRUTE4VGRSaHhYMjcwNVdZSmtYR2VrdG12TC82dE1zV1Vv?= =?utf-8?B?YWpmY0lNZzZ1R0RQTXU0RThKTFNZeFd3b3UwNDBuRFRaUlZyWHdDM0RhNlVC?= =?utf-8?B?aGQ0WmxORENreE16cWZHbUN3bWZhdjg1UDlMTjVyaHNKUVNWTEpTbGx5dkJH?= =?utf-8?B?a3dxT2RuQkNkdUZ1VGxIKzVqaW04ZTMzMDNaUW5jUHNaWFdDUUlRbnk2N1Fq?= =?utf-8?B?UzJqVEdEbU1uYnlSNGIzSmxmMzJqOXBVWTZPYkdkVVZPczVuT2hCcGRZWkUz?= =?utf-8?B?TEdyNGhKeTl0MzdNaGc4L1h3TjNhQ3liakw0OUxMR1JpUmVDUVFSYkNHQnFW?= =?utf-8?B?MEpGMkkvWlpUSGRnRE1mNEFyZy9KK3dnSVdQYUFtd3Y5YlVzZmhrc3h2L1Ft?= =?utf-8?B?MktBWE9oQS83a3VST00yeVBYRkxsQjdHRDFTbURhNUx5akswdm91elB4ODly?= =?utf-8?B?YWEyazlWalV0RExnbjJjRTlmRTRBZmUyUW5DNmNUQnlHTDlEOGhrcVdNWXZn?= =?utf-8?B?a09YTmU4OHB4UVhvZVF5TkdjeDJRQ0RmUStSVFVBME9JcU5GRnE4anFtWHU4?= =?utf-8?B?cjllRU9CWVNJZUUxNnA4OElBMEc0WUNIMWF4QkpSL2YwNVNOMXdPU25TWU4r?= =?utf-8?B?K3pYRlQ5aFQ4M0Rwb0w0OUlrem9NNys3WnBNTEVNMVB4ZXpyOC9MdGNXM1lS?= =?utf-8?B?UzhQNE9EeHBZcW1pdlk0Q05oVnNGeEJYdTkxamh2RVo4ZEJJYzEwZ1FVRXIx?= =?utf-8?B?M1psVWdueDM1V3dQLzlHaHd1VjAxdTFXYXlTTTNBVjdVT3IzeTQvbTNBeWkr?= =?utf-8?B?UkJnQ0xFSEhxaFUzNnNyaHl0azl3TGVvZnlvL2hoVkhldkh0Y3pYZEdsODd4?= =?utf-8?B?cm9TV0xEaVdhMFpxdDhXcWNXKzY0Zm1reE5US2tWb0xtekdqU0VzUVIxbXBY?= =?utf-8?B?aTV2czBaS3lkNm1GQUhEYUJVaDR1T3NwcjJXNVZiZE1pOWNYNEw2TzZlMC95?= =?utf-8?B?YXhFaCsyMVh6b1k5VVJvUCtVUGVCWThsOEhITjhvb0tZclFuN0cyNVdhNXgw?= =?utf-8?B?aFByOStFeis5c2gzbks4ZnYwRmxUblN0eUVCZEdLUFYxV0ZBekdERjdHVith?= =?utf-8?B?b05RZUh4VnFsbW8rNmp5YjVrL3kycXR3RVRXWnZMemtXVDcyamxTcjJsZ1Fs?= =?utf-8?B?ajFubXhOQWdiUVJyZEtTT1ZXYUpVbW56NU1CLzY1UWEvTlpwMVA3WWwyTk5I?= =?utf-8?B?T0VQd3BRMWRSWW1TTnlrVDZSZ0o3NUI4T2FTQzNZOFdsS2w4enZqYjRNNHJo?= =?utf-8?Q?wGn8=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: 24f55436-4fca-4e54-7851-08dc8c4a09ad X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2024 08:14:39.7455 (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: SZQxFBEk3/+3waWHn0gEM8/detdlM5JQIcZZ+w8hJbS7yWjFAmdiipEbx/8YLAN2fU52xKJKxzBdqeh0Lz4NVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7729 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: VGhhbmtzIFJpY2hhcmQgZm9yIGNvbW1lbnRzLg0KDQo+IDpjIHNob3VsZG4ndCBiZSBuZWNlc3Nh cnkgb24gdGhlIHBsdXMNCj4gb3Igb24gdGhlIGJpdF94b3INCj4gT0sgd2l0aCB0aG9zZSBjaGFu Z2VzLg0KDQpXaWxsIHJlbW92ZSB0aGUgOmMgYW5kIGNvbW1pdCBpdCBpZiB0aGVyZSBpcyBubyBz dXJwcmlzZSBmcm9tIHRlc3Qgc3VpdGVzLg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4g DQpTZW50OiBGcmlkYXksIEp1bmUgMTQsIDIwMjQgNDowNSBQTQ0KVG86IExpLCBQYW4yIDxwYW4y LmxpQGludGVsLmNvbT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhvbmdA cml2YWkuYWk7IGtpdG8uY2hlbmdAZ21haWwuY29tOyBqZWZmcmV5YWxhd0BnbWFpbC5jb207IHJk YXBwLmdjY0BnbWFpbC5jb20NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjFdIE1hdGNoOiBTdXBwb3J0 IG1vcmUgZm9ybXMgZm9yIHRoZSBzY2FsYXIgdW5zaWduZWQgLlNBVF9TVUINCg0KT24gV2VkLCBK dW4gMTIsIDIwMjQgYXQgMjozOOKAr1BNIDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+ IEZyb206IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQo+DQo+IEFmdGVyIHdlIHN1cHBvcnQg dGhlIHNjYWxhciB1bnNpZ25lZCBmb3JtIDEgYW5kIDIsICB3ZSB3b3VsZCBsaWtlDQo+IHRvIGlu dHJvZHVjZSBtb3JlIGZvcm1zIGluY2x1ZGUgdGhlIGJyYW5jaCBhbmQgYnJhbmNobGVzcy4gIFRo ZXJlDQo+IGFyZSBmb3JtcyAzLTEwIGxpc3QgYXMgYmVsb3c6DQo+DQo+IEZvcm0gMzoNCj4gICAj ZGVmaW5lIFNBVF9TVUJfVV8zKFQpIFwNCj4gICBUIHNhdF9zdWJfdV8zXyMjVCAoVCB4LCBUIHkp IFwNCj4gICB7IFwNCj4gICAgIHJldHVybiB4ID4geSA/IHggLSB5IDogMDsgXA0KPiAgIH0NCj4N Cj4gRm9ybSA0Og0KPiAgICNkZWZpbmUgU0FUX1NVQl9VXzQoVCkgXA0KPiAgIFQgc2F0X3N1Yl91 XzRfIyNUIChUIHgsIFQgeSkgXA0KPiAgIHsgXA0KPiAgICAgcmV0dXJuIHggPj0geSA/IHggLSB5 IDogMDsgXA0KPiAgIH0NCj4NCj4gRm9ybSA1Og0KPiAgICNkZWZpbmUgU0FUX1NVQl9VXzUoVCkg XA0KPiAgIFQgc2F0X3N1Yl91XzVfIyNUIChUIHgsIFQgeSkgXA0KPiAgIHsgXA0KPiAgICAgcmV0 dXJuIHggPCB5ID8gMCA6IHggLSB5OyBcDQo+ICAgfQ0KPg0KPiBGb3JtIDY6DQo+ICAgI2RlZmlu ZSBTQVRfU1VCX1VfNihUKSBcDQo+ICAgVCBzYXRfc3ViX3VfNl8jI1QgKFQgeCwgVCB5KSBcDQo+ ICAgeyBcDQo+ICAgICByZXR1cm4geCA8PSB5ID8gMCA6IHggLSB5OyBcDQo+ICAgfQ0KPg0KPiBG b3JtIDc6DQo+ICAgI2RlZmluZSBTQVRfU1VCX1VfNyhUKSBcDQo+ICAgVCBzYXRfc3ViX3VfN18j I1QgKFQgeCwgVCB5KSBcDQo+ICAgeyBcDQo+ICAgICBUIHJldDsgXA0KPiAgICAgVCBvdmVyZmxv dyA9IF9fYnVpbHRpbl9zdWJfb3ZlcmZsb3cgKHgsIHksICZyZXQpOyBcDQo+ICAgICByZXR1cm4g cmV0ICYgKFQpKG92ZXJmbG93IC0gMSk7IFwNCj4gICB9DQo+DQo+IEZvcm0gODoNCj4gICAjZGVm aW5lIFNBVF9TVUJfVV84KFQpIFwNCj4gICBUIHNhdF9zdWJfdV84XyMjVCAoVCB4LCBUIHkpIFwN Cj4gICB7IFwNCj4gICAgIFQgcmV0OyBcDQo+ICAgICBUIG92ZXJmbG93ID0gX19idWlsdGluX3N1 Yl9vdmVyZmxvdyAoeCwgeSwgJnJldCk7IFwNCj4gICAgIHJldHVybiByZXQgJiAoVCktKCFvdmVy Zmxvdyk7IFwNCj4gICB9DQo+DQo+IEZvcm0gOToNCj4gICAjZGVmaW5lIFNBVF9TVUJfVV85KFQp IFwNCj4gICBUIHNhdF9zdWJfdV85XyMjVCAoVCB4LCBUIHkpIFwNCj4gICB7IFwNCj4gICAgIFQg cmV0OyBcDQo+ICAgICBUIG92ZXJmbG93ID0gX19idWlsdGluX3N1Yl9vdmVyZmxvdyAoeCwgeSwg JnJldCk7IFwNCj4gICAgIHJldHVybiBvdmVyZmxvdyA/IDAgOiByZXQ7IFwNCj4gICB9DQo+DQo+ IEZvcm0gMTA6DQo+ICAgI2RlZmluZSBTQVRfU1VCX1VfMTAoVCkgXA0KPiAgIFQgc2F0X3N1Yl91 XzEwXyMjVCAoVCB4LCBUIHkpIFwNCj4gICB7IFwNCj4gICAgIFQgcmV0OyBcDQo+ICAgICBUIG92 ZXJmbG93ID0gX19idWlsdGluX3N1Yl9vdmVyZmxvdyAoeCwgeSwgJnJldCk7IFwNCj4gICAgIHJl dHVybiAhb3ZlcmZsb3cgPyByZXQgOiAwOyBcDQo+ICAgfQ0KPg0KPiBUYWtlIGZvcm0gMTAgYXMg ZXhhbXBsZToNCj4NCj4gU0FUX1NVQl9VXzEwKHVpbnQ2NF90KTsNCj4NCj4gQmVmb3JlIHRoaXMg cGF0Y2g6DQo+IHVpbnQ4X3Qgc2F0X3N1Yl91XzEwX3VpbnQ4X3QgKHVpbnQ4X3QgeCwgdWludDhf dCB5KQ0KPiB7DQo+ICAgdW5zaWduZWQgY2hhciBfMTsNCj4gICB1bnNpZ25lZCBjaGFyIF8yOw0K PiAgIHVpbnQ4X3QgXzM7DQo+ICAgX19jb21wbGV4X18gdW5zaWduZWQgY2hhciBfNjsNCj4NCj4g OzsgICBiYXNpYyBibG9jayAyLCBsb29wIGRlcHRoIDANCj4gOzsgICAgcHJlZDogICAgICAgRU5U UlkNCj4gICBfNiA9IC5TVUJfT1ZFUkZMT1cgKHhfNChEKSwgeV81KEQpKTsNCj4gICBfMiA9IElN QUdQQVJUX0VYUFIgPF82PjsNCj4gICBpZiAoXzIgPT0gMCkNCj4gICAgIGdvdG8gPGJiIDM+OyBb NTAuMDAlXQ0KPiAgIGVsc2UNCj4gICAgIGdvdG8gPGJiIDQ+OyBbNTAuMDAlXQ0KPiA7OyAgICBz dWNjOiAgICAgICAzDQo+IDs7ICAgICAgICAgICAgICAgIDQNCj4NCj4gOzsgICBiYXNpYyBibG9j ayAzLCBsb29wIGRlcHRoIDANCj4gOzsgICAgcHJlZDogICAgICAgMg0KPiAgIF8xID0gUkVBTFBB UlRfRVhQUiA8XzY+Ow0KPiA7OyAgICBzdWNjOiAgICAgICA0DQo+DQo+IDs7ICAgYmFzaWMgYmxv Y2sgNCwgbG9vcCBkZXB0aCAwDQo+IDs7ICAgIHByZWQ6ICAgICAgIDINCj4gOzsgICAgICAgICAg ICAgICAgMw0KPiAgICMgXzMgPSBQSEkgPDAoMiksIF8xKDMpPg0KPiAgIHJldHVybiBfMzsNCj4g OzsgICAgc3VjYzogICAgICAgRVhJVA0KPg0KPiB9DQo+DQo+IEFmdGVyIHRoaXMgcGF0Y2g6DQo+ IHVpbnQ4X3Qgc2F0X3N1Yl91XzEwX3VpbnQ4X3QgKHVpbnQ4X3QgeCwgdWludDhfdCB5KQ0KPiB7 DQo+ICAgdWludDhfdCBfMzsNCj4NCj4gOzsgICBiYXNpYyBibG9jayAyLCBsb29wIGRlcHRoIDAN Cj4gOzsgICAgcHJlZDogICAgICAgRU5UUlkNCj4gICBfMyA9IC5TQVRfU1VCICh4XzQoRCksIHlf NShEKSk7IFt0YWlsIGNhbGxdDQo+ICAgcmV0dXJuIF8zOw0KPiA7OyAgICBzdWNjOiAgICAgICBF WElUDQo+DQo+IH0NCj4NCj4gVGhlIGJlbG93IHRlc3Qgc3VpdGVzIGFyZSBwYXNzZWQgZm9yIHRo aXMgcGF0Y2g6DQo+IDEuIFRoZSBydjY0Z2N2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdCB3aXRoIG5l d2xpYi4NCj4gMi4gVGhlIHJ2NjRnY3YgYnVpbGQgd2l0aCBnbGliYy4NCj4gMy4gVGhlIHg4NiBi b290c3RyYXAgdGVzdC4NCj4gNC4gVGhlIHg4NiBmdWxseSByZWdyZXNzaW9uIHRlc3QuDQo+DQo+ IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICAgICAgICAgKiBtYXRjaC5wZDogQWRkIG1vcmUgbWF0Y2gg Zm9yIHVuc2lnbmVkIHNhdF9zdWIuDQo+ICAgICAgICAgKiB0cmVlLXNzYS1tYXRoLW9wdHMuY2Mg KG1hdGNoX3Vuc2lnbmVkX3NhdHVyYXRpb25fc3ViKTogQWRkIG5ldw0KPiAgICAgICAgIGZ1bmMg aW1wbCB0byBtYXRjaCBwaGkgbm9kZSBmb3IgLlNBVF9TVUIuDQo+ICAgICAgICAgKG1hdGhfb3B0 c19kb21fd2Fsa2VyOjphZnRlcl9kb21fY2hpbGRyZW4pOiBUcnkgbWF0Y2ggLlNBVF9TVUINCj4g ICAgICAgICBmb3IgdGhlIHBoaSBub2RlLCBNVUxUX0VYUFIsIEJJVF9YT1JfRVhQUiBhbmQgQklU X0FORF9FWFBSLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29t Pg0KPiAtLS0NCj4gIGdjYy9tYXRjaC5wZCAgICAgICAgICAgICAgfCAyNSArKysrKysrKysrKysr KysrKysrKysrKy0tDQo+ICBnY2MvdHJlZS1zc2EtbWF0aC1vcHRzLmNjIHwgMzMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9nY2MvbWF0Y2gucGQgYi9n Y2MvbWF0Y2gucGQNCj4gaW5kZXggNWNmZTgxZTgwYjMuLjY2ZTQxMWIzMzU5IDEwMDY0NA0KPiAt LS0gYS9nY2MvbWF0Y2gucGQNCj4gKysrIGIvZ2NjL21hdGNoLnBkDQo+IEBAIC0zMTQwLDE0ICsz MTQwLDE0IEBAIERFRklORV9JTlRfQU5EX0ZMT0FUX1JPVU5EX0ZOIChSSU5UKQ0KPiAgLyogVW5z aWduZWQgc2F0dXJhdGlvbiBzdWIsIGNhc2UgMSAoYnJhbmNoIHdpdGggZ3QpOg0KPiAgICAgU0FU X1VfU1VCID0gWCA+IFkgPyBYIC0gWSA6IDAgICovDQo+ICAobWF0Y2ggKHVuc2lnbmVkX2ludGVn ZXJfc2F0X3N1YiBAMCBAMSkNCj4gLSAoY29uZCAoZ3QgQDAgQDEpIChtaW51cyBAMCBAMSkgaW50 ZWdlcl96ZXJvcCkNCj4gKyAoY29uZF4gKGd0IEAwIEAxKSAobWludXMgQDAgQDEpIGludGVnZXJf emVyb3ApDQo+ICAgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpICYmIFRZUEVfVU5TSUdORUQg KHR5cGUpDQo+ICAgICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgQDAsIEAxKSkpKQ0KPg0KPiAg LyogVW5zaWduZWQgc2F0dXJhdGlvbiBzdWIsIGNhc2UgMiAoYnJhbmNoIHdpdGggZ2UpOg0KPiAg ICAgU0FUX1VfU1VCID0gWCA+PSBZID8gWCAtIFkgOiAwLiAgKi8NCj4gIChtYXRjaCAodW5zaWdu ZWRfaW50ZWdlcl9zYXRfc3ViIEAwIEAxKQ0KPiAtIChjb25kIChnZSBAMCBAMSkgKG1pbnVzIEAw IEAxKSBpbnRlZ2VyX3plcm9wKQ0KPiArIChjb25kXiAoZ2UgQDAgQDEpIChtaW51cyBAMCBAMSkg aW50ZWdlcl96ZXJvcCkNCj4gICAoaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkgJiYgVFlQRV9V TlNJR05FRCAodHlwZSkNCj4gICAgICAgICYmIHR5cGVzX21hdGNoICh0eXBlLCBAMCwgQDEpKSkp DQo+DQo+IEBAIC0zMTY1LDYgKzMxNjUsMjcgQEAgREVGSU5FX0lOVF9BTkRfRkxPQVRfUk9VTkRf Rk4gKFJJTlQpDQo+ICAgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpICYmIFRZUEVfVU5TSUdO RUQgKHR5cGUpDQo+ICAgICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgQDAsIEAxKSkpKQ0KPg0K PiArLyogVW5zaWduZWQgc2F0dXJhdGlvbiBzdWIsIGNhc2UgNSAoYnJhbmNobGVzcyBiaXRfYW5k IHdpdGggLlNVQl9PVkVSRkxPVy4gICovDQo+ICsobWF0Y2ggKHVuc2lnbmVkX2ludGVnZXJfc2F0 X3N1YiBAMCBAMSkNCj4gKyAoYml0X2FuZDpjIChyZWFscGFydCAoSUZOX1NVQl9PVkVSRkxPV0Ay IEAwIEAxKSkNCj4gKyAgKHBsdXM6YyAoaW1hZ3BhcnQgQDIpIGludGVnZXJfbWludXNfb25lcCkp DQoNCjpjIHNob3VsZG4ndCBiZSBuZWNlc3Nhcnkgb24gdGhlIHBsdXMNCg0KPiArIChpZiAoSU5U RUdSQUxfVFlQRV9QICh0eXBlKSAmJiBUWVBFX1VOU0lHTkVEICh0eXBlKQ0KPiArICAgICAgJiYg dHlwZXNfbWF0Y2ggKHR5cGUsIEAwLCBAMSkpKSkNCj4gKw0KPiArLyogVW5zaWduZWQgc2F0dXJh dGlvbiBzdWIsIGNhc2UgNiAoYnJhbmNobGVzcyBtdWx0IHdpdGggLlNVQl9PVkVSRkxPVy4gICov DQo+ICsobWF0Y2ggKHVuc2lnbmVkX2ludGVnZXJfc2F0X3N1YiBAMCBAMSkNCj4gKyAobXVsdDpj IChyZWFscGFydCAoSUZOX1NVQl9PVkVSRkxPV0AyIEAwIEAxKSkNCj4gKyAgKGJpdF94b3I6YyAo aW1hZ3BhcnQgQDIpIGludGVnZXJfb25lcCkpDQoNCm9yIG9uIHRoZSBiaXRfeG9yDQoNCk9LIHdp dGggdGhvc2UgY2hhbmdlcy4NCg0KUmljaGFyZC4NCg0KPiArIChpZiAoSU5URUdSQUxfVFlQRV9Q ICh0eXBlKSAmJiBUWVBFX1VOU0lHTkVEICh0eXBlKQ0KPiArICAgICAgJiYgdHlwZXNfbWF0Y2gg KHR5cGUsIEAwLCBAMSkpKSkNCj4gKw0KPiArLyogVW5zaWduZWQgc2F0dXJhdGlvbiBzdWIsIGNh c2UgNyAoYnJhbmNoIHdpdGggLlNVQl9PVkVSRkxPVy4gICovDQo+ICsobWF0Y2ggKHVuc2lnbmVk X2ludGVnZXJfc2F0X3N1YiBAMCBAMSkNCj4gKyAoY29uZF4gKGVxIChpbWFncGFydCAoSUZOX1NV Ql9PVkVSRkxPV0AyIEAwIEAxKSkgaW50ZWdlcl96ZXJvcCkNCj4gKyAgKHJlYWxwYXJ0IEAyKSBp bnRlZ2VyX3plcm9wKQ0KPiArIChpZiAoSU5URUdSQUxfVFlQRV9QICh0eXBlKSAmJiBUWVBFX1VO U0lHTkVEICh0eXBlKQ0KPiArICAgICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIEAwLCBAMSkpKSkN Cj4gKw0KPiAgLyogeCA+ICB5ICAmJiAgeCAhPSBYWFhfTUlOICAtLT4gIHggPiB5DQo+ICAgICB4 ID4gIHkgICYmICB4ID09IFhYWF9NSU4gIC0tPiAgZmFsc2UgLiAqLw0KPiAgKGZvciBlcW5lIChl cSBuZSkNCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1tYXRoLW9wdHMuY2MgYi9nY2MvdHJl ZS1zc2EtbWF0aC1vcHRzLmNjDQo+IGluZGV4IGZiYjhlMGVhMzA2Li4wNWFhMTU3NjExYiAxMDA2 NDQNCj4gLS0tIGEvZ2NjL3RyZWUtc3NhLW1hdGgtb3B0cy5jYw0KPiArKysgYi9nY2MvdHJlZS1z c2EtbWF0aC1vcHRzLmNjDQo+IEBAIC00MTg2LDYgKzQxODYsMzYgQEAgbWF0Y2hfdW5zaWduZWRf c2F0dXJhdGlvbl9zdWIgKGdpbXBsZV9zdG10X2l0ZXJhdG9yICpnc2ksIGdhc3NpZ24gKnN0bXQp DQo+ICAgICAgYnVpbGRfc2F0dXJhdGlvbl9iaW5hcnlfYXJpdGhfY2FsbCAoZ3NpLCBJRk5fU0FU X1NVQiwgbGhzLCBvcHNbMF0sIG9wc1sxXSk7DQo+ICB9DQo+DQo+ICsvKg0KPiArICogVHJ5IHRv IG1hdGNoIHNhdHVyYXRpb24gdW5zaWduZWQgc3ViLg0KPiArICogIDxiYiAyPiBbbG9jYWwgY291 bnQ6IDEwNzM3NDE4MjRdOg0KPiArICogIGlmICh4XzIoRCkgPiB5XzMoRCkpDQo+ICsgKiAgICBn b3RvIDxiYiAzPjsgWzUwLjAwJV0NCj4gKyAqICBlbHNlDQo+ICsgKiAgICBnb3RvIDxiYiA0Pjsg WzUwLjAwJV0NCj4gKyAqDQo+ICsgKiAgPGJiIDM+IFtsb2NhbCBjb3VudDogNTM2ODcwOTEyXToN Cj4gKyAqICBfNCA9IHhfMihEKSAtIHlfMyhEKTsNCj4gKyAqDQo+ICsgKiAgPGJiIDQ+IFtsb2Nh bCBjb3VudDogMTA3Mzc0MTgyNF06DQo+ICsgKiAgIyBfMSA9IFBISSA8MCgyKSwgXzQoMyk+DQo+ ICsgKiAgPT4NCj4gKyAqICA8YmIgND4gW2xvY2FsIGNvdW50OiAxMDczNzQxODI0XToNCj4gKyAq ICBfMSA9IC5TQVRfU1VCICh4XzIoRCksIHlfMyhEKSk7ICAqLw0KPiArc3RhdGljIHZvaWQNCj4g K21hdGNoX3Vuc2lnbmVkX3NhdHVyYXRpb25fc3ViIChnaW1wbGVfc3RtdF9pdGVyYXRvciAqZ3Np LCBncGhpICpwaGkpDQo+ICt7DQo+ICsgIGlmIChnaW1wbGVfcGhpX251bV9hcmdzIChwaGkpICE9 IDIpDQo+ICsgICAgcmV0dXJuOw0KPiArDQo+ICsgIHRyZWUgb3BzWzJdOw0KPiArICB0cmVlIHBo aV9yZXN1bHQgPSBnaW1wbGVfcGhpX3Jlc3VsdCAocGhpKTsNCj4gKw0KPiArICBpZiAoZ2ltcGxl X3Vuc2lnbmVkX2ludGVnZXJfc2F0X3N1YiAocGhpX3Jlc3VsdCwgb3BzLCBOVUxMKSkNCj4gKyAg ICBidWlsZF9zYXR1cmF0aW9uX2JpbmFyeV9hcml0aF9jYWxsIChnc2ksIHBoaSwgSUZOX1NBVF9T VUIsIHBoaV9yZXN1bHQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvcHNbMF0sIG9wc1sxXSk7DQo+ICt9DQo+ICsNCj4gIC8qIFJlY29nbml6ZSBmb3IgdW5zaWdu ZWQgeA0KPiAgICAgeCA9IHkgLSB6Ow0KPiAgICAgaWYgKHggPiB5KQ0KPiBAQCAtNjEwNCw2ICs2 MTM0LDcgQEAgbWF0aF9vcHRzX2RvbV93YWxrZXI6OmFmdGVyX2RvbV9jaGlsZHJlbiAoYmFzaWNf YmxvY2sgYmIpDQo+ICAgICAgew0KPiAgICAgICAgZ2ltcGxlX3N0bXRfaXRlcmF0b3IgZ3NpID0g Z3NpX3N0YXJ0X2JiIChiYik7DQo+ICAgICAgICBtYXRjaF91bnNpZ25lZF9zYXR1cmF0aW9uX2Fk ZCAoJmdzaSwgcHNpLnBoaSAoKSk7DQo+ICsgICAgICBtYXRjaF91bnNpZ25lZF9zYXR1cmF0aW9u X3N1YiAoJmdzaSwgcHNpLnBoaSAoKSk7DQo+ICAgICAgfQ0KPg0KPiAgICBmb3IgKGdzaSA9IGdz aV9hZnRlcl9sYWJlbHMgKGJiKTsgIWdzaV9lbmRfcCAoZ3NpKTspDQo+IEBAIC02MTI5LDYgKzYx NjAsNyBAQCBtYXRoX29wdHNfZG9tX3dhbGtlcjo6YWZ0ZXJfZG9tX2NoaWxkcmVuIChiYXNpY19i bG9jayBiYikNCj4gICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+ICAgICAgICAgICAgICAg ICB9DQo+ICAgICAgICAgICAgICAgbWF0Y2hfYXJpdGhfb3ZlcmZsb3cgKCZnc2ksIHN0bXQsIGNv ZGUsIG1fY2ZnX2NoYW5nZWRfcCk7DQo+ICsgICAgICAgICAgICAgbWF0Y2hfdW5zaWduZWRfc2F0 dXJhdGlvbl9zdWIgKCZnc2ksIGFzX2E8Z2Fzc2lnbiAqPiAoc3RtdCkpOw0KPiAgICAgICAgICAg ICAgIGJyZWFrOw0KPg0KPiAgICAgICAgICAgICBjYXNlIFBMVVNfRVhQUjoNCj4gQEAgLTYxNjcs NiArNjE5OSw3IEBAIG1hdGhfb3B0c19kb21fd2Fsa2VyOjphZnRlcl9kb21fY2hpbGRyZW4gKGJh c2ljX2Jsb2NrIGJiKQ0KPiAgICAgICAgICAgICAgIGJyZWFrOw0KPg0KPiAgICAgICAgICAgICBj YXNlIENPTkRfRVhQUjoNCj4gKyAgICAgICAgICAgY2FzZSBCSVRfQU5EX0VYUFI6DQo+ICAgICAg ICAgICAgICAgbWF0Y2hfdW5zaWduZWRfc2F0dXJhdGlvbl9zdWIgKCZnc2ksIGFzX2E8Z2Fzc2ln biAqPiAoc3RtdCkpOw0KPiAgICAgICAgICAgICAgIGJyZWFrOw0KPg0KPiAtLQ0KPiAyLjM0LjEN Cj4NCg==