From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60062.outbound.protection.outlook.com [40.107.6.62]) by sourceware.org (Postfix) with ESMTPS id 6836A3857814 for ; Thu, 13 May 2021 11:24:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6836A3857814 Received: from AM7PR03CA0010.eurprd03.prod.outlook.com (2603:10a6:20b:130::20) by AM9PR08MB7030.eurprd08.prod.outlook.com (2603:10a6:20b:41c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Thu, 13 May 2021 11:24:33 +0000 Received: from VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:130:cafe::2d) by AM7PR03CA0010.outlook.office365.com (2603:10a6:20b:130::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 13 May 2021 11:24:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT029.mail.protection.outlook.com (10.152.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Thu, 13 May 2021 11:24:32 +0000 Received: ("Tessian outbound 6c4b4bc1cefb:v91"); Thu, 13 May 2021 11:24:32 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 33094c849a9a5301 X-CR-MTA-TID: 64aa7808 Received: from d33b02666170.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8784F82D-8A55-4BF8-8292-C483824EAC7E.1; Thu, 13 May 2021 11:24:25 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d33b02666170.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 13 May 2021 11:24:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oj1rw58+X8iRsY4X9UAIPSXOMixxV3n7Hy8eqBDy8KtdygiDe9tSSefFQOdPjKq0ii/62kntOxoebB2OJvwydtJ6CpvVGCxQBhxSNkpOopCDApygYwfINlI/ZEIV0b+j1G4vW6t2Aft92Egeh/Tsiu5hxQUbdXA7N2K6KVopqmrc6V9AI1UZoaAn593/oyw0NFtih+MmnnzW51cdstaFr3M4oBH5vqOdO+X1dMcn/xuurbY82DLPvkI+KSb4bduJpXDsNpzE9k8ETp1LcqERN+fw9AEBqgGRq7OGcRgSQmm2O+aHzwNPynIah/dm/mpLc5D1ldZhogbtXtE9bbWwUg== 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-SenderADCheck; bh=vffrv5bbaj1UrT4EnSTnXZThGpoHMVAmtT8c+K4njCQ=; b=Opad5artS+mSWL0UKaKFeCGO0pLqSUm5YCuakSFCiT97VAirHNEda8yf88D/5XzYfesjs5V+RA+SDkPl/wVDYVvcD+g2s4+deIB1bEOGjQjR5CdeWQSxuscygW4QQheuBZ17SpI5ubGeL4m5omB95etJuFNkIwMBzIiT3VoYH6U2e6fbWYimVdXzThAEYW0LpjAwvETeR349Is0lZH4bvr5fxzu+oX7gHnoA8NBqgZPiv1yb5Q/67nrSHEbwCcllVZ9PwHR4VToNwF9AUTBsCala15PUZsSyzKl3bI8bdOVph17euT+iJOdK/sTNCqXCYIFV0QUBE0aXGuo1XaSing== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from AM6PR08MB3957.eurprd08.prod.outlook.com (2603:10a6:20b:a2::14) by AS8PR08MB6534.eurprd08.prod.outlook.com (2603:10a6:20b:31c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.26; Thu, 13 May 2021 11:24:21 +0000 Received: from AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::50f9:fd86:ade3:c4aa]) by AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::50f9:fd86:ade3:c4aa%4]) with mapi id 15.20.4108.032; Thu, 13 May 2021 11:24:21 +0000 From: Alan Hayward To: Luis Machado CC: "gdb-patches\\@sourceware.org" , nd Subject: Re: [PATCH] [GDB,AArch64] Fix off-by-one when calculating tag granules. Thread-Topic: [PATCH] [GDB,AArch64] Fix off-by-one when calculating tag granules. Thread-Index: AQHXRmh1D5O/Rjjbz0er/AvrkQ4i1arhPa8AgAAC1QCAAAeygA== Date: Thu, 13 May 2021 11:24:20 +0000 Message-ID: <9FB274EC-4BA6-4A40-A68F-4D56A72B6A05@arm.com> References: <20210511132026.3673157-1-luis.machado@linaro.org> <9C090D2F-55D9-40DE-B4B6-3C351BA2E94B@arm.com> <7826d1d2-dd09-4c0c-ae3f-e34a046160ba@linaro.org> In-Reply-To: <7826d1d2-dd09-4c0c-ae3f-e34a046160ba@linaro.org> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.80.0.2.43) Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.24.190.200] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 159d03a3-9dc8-47c7-deb6-08d91601aeaf x-ms-traffictypediagnostic: AS8PR08MB6534:|AM9PR08MB7030: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1417;OLM:1417; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Qy2a8wQsZZLOX+apB2Yn0QCfy4/zar/UkCVTitgZ8ENpC78DA1UmoITGg+BhO24H+rfOjr+fPKvb12a4TMugWdZefUpGhl+n7F91p+12p12T3ikyNIcLIYbcplknMOhKgKUXjma4QYIqgQoTPPGGsglyGv78+Ed7YshjZ6aQZ0jgp4Ygq9kuxjqcKG8vFSXT5CtLamsE0i5f8XSytqxM3mzHc4U4sbIYsnBJ44REwIcSpVOE39LtRA4EMOPGq3FnPxcJfGPt66Ol04wNxJ7EcxWF3sI9DOD8GsNNRnnI1gMpMqvKcKCGMBYmgcV6iLXp2lrdpIJOgL4K9VkGtRU0xQqLCohqyrPaGKTY3NbAbhmBRnrWoeUxnlGR6HIc4U0leKFpeEUvpjdFspLewm4kO6p1mWKf+UvJ2Eae6NwDQnGS0H/JhsWngi5N7D/sczLN96btDSVBiGe8qKiaA8JKpgqAKyPwt+ll5BCT3b3Ghtl9ShQaQ7tZoXov+/k9dvYa1+Z8J675yjW3WgoN6Pp7AddPX5eVFeQigMfk9mViWThdPYa9zFAWX9MezfRF7Lsce8ruID6ilFH9QsBjEvRZzPc1Q2YBdj3lx0YW8wkcnTi7Tnl5sCOZ54wFXN4s2ghU1kFqZvlz0cFn4iRVymDplIR1M/kujfyKn/dnL0/Jjug= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB3957.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39850400004)(136003)(346002)(366004)(376002)(76116006)(86362001)(36756003)(6486002)(6506007)(53546011)(26005)(33656002)(38100700002)(8676002)(83380400001)(122000001)(8936002)(5660300002)(6512007)(478600001)(54906003)(316002)(2906002)(66556008)(66946007)(66446008)(66476007)(4326008)(91956017)(186003)(6916009)(64756008)(2616005)(71200400001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?alo4SWx2QUFCdC9EbDh3bldPSVdzVlMwOGNRRkJldUpmYlFFUTh1NG80WTZL?= =?utf-8?B?YW9KR1YrbDNRdjVIaG9rb2NmZ2RweG9nK3hpdU9zNzNzS2RmV0lJQUF4TEJt?= =?utf-8?B?bW8xcHlXVU9TRDNwdURJalJpNTJZa0twN3pocDFDbkE4WWJjaWJoUG9TVTFV?= =?utf-8?B?Zlk1c25OWkVaZW15NzRIZG1DRkpjTzI2UEVha3Q0V2pHZmNaZnR0MDlEbjU3?= =?utf-8?B?ZlZod3lLWnZ2ai81MjBROFJFQ3JEMHptMGNnUzVhZUNzVm1SMXBHaHpRUFZi?= =?utf-8?B?UmZiVElaMTBxTTc5YXEvcmk4V0loT25LUTNXMEhJRWUwT0dLcnRsYTkvNnJm?= =?utf-8?B?UndUR3Y4ZHY0ZlVXanJxUkVlQzJvelIxdGFvRHRDK1BXWTd3Q29uREFESWt4?= =?utf-8?B?aXlpZnc4d2FuazBPVHd0TU9iRG9LaUtmNTVyMEowWDc4TGZ6ZjNBalZGTEEy?= =?utf-8?B?cmFFYWlLZkFoOTdqdi9LNUFHRjlaSTFSNHl6Uklnd2dSeHl2VW5xTDVPcS9y?= =?utf-8?B?dDdyV0JwakFZc3VGaHZxdE5nb1FUZk9PRzUzOUgwUFAxTHMyZHowYnBXSUtv?= =?utf-8?B?cHlKdllWY3preUNHY09lZExza2Z0NjVoV1ZteW9qSm9lMFBQME5yT2FEandk?= =?utf-8?B?SlRwTyt1c1dERWpvQlFOckwwQTNWOVhvb3FDMjZCY09hQ015ek9VREVjMndB?= =?utf-8?B?dmZBRlBSU3VQUDJLbWMvQS9DQ3ZHdGExSlM1QWZCbjE2Z2JmNzB3MXdYSCtX?= =?utf-8?B?R2ZYdjhCWDByU2ZXemY1N21QdWpGcHBwYUZ2Q2RTM1F3dHNPSHdLYUtaWXNU?= =?utf-8?B?M0NWZkpGd0RwN2ZzL2dNSVdZcUFFMHl6alBZQlN3ZXBINHdHamt4a2RSVnVy?= =?utf-8?B?cmJtUm04SytreUlxNE55OE8vT1cwcWlCaWJnTTBuOXNFRit3QXVuUWUrbEVP?= =?utf-8?B?VUN2R2FwQ1NTalhwS0ZvaElkb0xKWmpDU1RVMEFWcWczbERLbTRYdUZOWHJk?= =?utf-8?B?c3ZtK0dtdGt6MkY0WER2Q1Z1dlNWVERhVUlJT3RHd0VhSU92Z1pNU001Uk5s?= =?utf-8?B?OGFPemk1SlBJODBjNy9KR0RENUpzSHRvTDFOZ0pSZEtGcGl2QXgzbEFIN0NN?= =?utf-8?B?ckV1QVNVMFJpZ1VST25aQUc1RkJxVmc3QThFVkgyb2h1dW1vdmx5aDU4bUhr?= =?utf-8?B?NU5CK2M2VFRaci9Nakg1VmY4aFhuU2VVWGJCUG9oNlowdVhkbWZ4REpLRXd3?= =?utf-8?B?dlN4Vk1jU0l2UzlaWWJpRHliNDdmUXNvOHNMQy9keGg2dm5KNXlUUC9UaDdL?= =?utf-8?B?TUM0bVgxQ2pTNVJ1YytOR2t6Zkh4bWY5K3RTUm81TXB4NjFKNTlDQVdDZ2hS?= =?utf-8?B?ZTc3QjJ4dmJGLy9yUzVEelNoZ24xQUpZOUx0aE8rbWZNZ0UxVUlWS1lRWWdD?= =?utf-8?B?OU5UeUNRNmV1U2RMbUNxb2YwQ3VvQ3lpajh2QlhMR0VyUnFOQmxEYnVvd2Yx?= =?utf-8?B?ckRDaEFlaWU0OXI3eG1kUmc3c21wSzNWQWNub2tVei9vOW03ZDZBZVRHWWYv?= =?utf-8?B?L25VV3phWkhCMWpNaFlOcjM0dHFkUGNvRXU2NzJPNU1VNzd0RTc3M1BCRWNu?= =?utf-8?B?MDVwcGpTNlpwNzJhSXRtZ0trV2xSK0VLRURqbi8zOVhlYldzZmczcTVreGZB?= =?utf-8?B?NXo5OEJYVUNveE43ZDg5MWxKQzUzYjNFajFLYkNESDVFTER5Uzhib1p3TzBt?= =?utf-8?Q?3Sy87q38U/gJRFMFOk20CKuJ5MLvr1rFtcFzJyS?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6534 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e0f0d4a7-aeae-4efd-7837-08d91601a77c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 17MFgse8vdZmPDp9UHUckBBUWymvG4jmMeX10HYDX9pmj0juT4Az/5w5uK02Nk69RqMW7eouCkpV57b3mQ/2XYRMNjxmz/iKpEtINt60AslQ360DqFHsQQFH8vn7ICZcypp6PphJTHxjjMnKlOKlpykPFEe/fxfeYypFqIkuqLaj8JIPTd2iwsmvGWNchEW2pDGZ1XKApMIJ7LVe2aHyI5Iy+EtmrAPtlwhFcIDaUoSAFzbFDnBr4UXSe45L9XCHyjZzWy9vWIuEpyCXLR+V2azN+lKXQ5oswClOrpmKBkgSFU0I+qIYVOuiTO2M+EWju9v53vArdivjWAcjRcpIzwTrO1sjglxbcbq63mQHy9mQp4/qFKmgZSBQ4Q1qBPXPCu1z9C1HTC0RZ/XmYGjRvxukLOXp7zZEP3gZgXQEZ+C4ttZk+et9g1pX1GVtZtL+d7NoP48JZ7Bso2I28g37TUo1iDLnvFoLs0sCwK9HyIA+rfHik1Rfm8O4OBy79W4GKHylTpC8SgEZvUDPbt7kpjrRnUWQylnijLagS6pMtixs5/osT3nqQf5XmC8Kv3tCHOXPXQU1sT+66l3U5+8ky60fbwMWUBMyaBd7BtI5Nd5QnVIJ/2HngsDGMLTSOb/Zs4zQoseLcF+F39aFgI/D7NEm/lBlXFHkFjJ5mGn0QGg= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(346002)(396003)(39850400004)(136003)(376002)(46966006)(36840700001)(82740400003)(83380400001)(6512007)(6862004)(47076005)(36860700001)(356005)(81166007)(6486002)(186003)(54906003)(26005)(316002)(36756003)(53546011)(45080400002)(33656002)(6506007)(4326008)(33964004)(478600001)(336012)(5660300002)(82310400003)(86362001)(2616005)(8936002)(70206006)(8676002)(70586007)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2021 11:24:32.9386 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 159d03a3-9dc8-47c7-deb6-08d91601aeaf X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7030 X-Spam-Status: No, score=-14.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 May 2021 11:24:37 -0000 DQoNCk9uIDEzIE1heSAyMDIxLCBhdCAxMTo1NiwgTHVpcyBNYWNoYWRvIDxsdWlzLm1hY2hhZG9A bGluYXJvLm9yZzxtYWlsdG86bHVpcy5tYWNoYWRvQGxpbmFyby5vcmc+PiB3cm90ZToNCg0KT24g NS8xMy8yMSA3OjUwIEFNLCBBbGFuIEhheXdhcmQgd3JvdGU6DQpPbiAxMSBNYXkgMjAyMSwgYXQg MTQ6MjAsIEx1aXMgTWFjaGFkbyB2aWEgR2RiLXBhdGNoZXMgPGdkYi1wYXRjaGVzQHNvdXJjZXdh cmUub3JnPG1haWx0bzpnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZz4+IHdyb3RlOg0KDQpXaGVu IHdlIHdhbnQgdG8gZmV0Y2ggdGFncyBmcm9tIGEgbWVtb3J5IHJhbmdlLCB0aGUgbGFzdCBhZGRy ZXNzIGluIHRoYXQNCnJhbmdlIGlzIG5vdCBpbmNsdWRlZC4NCg0KVGhlcmUgaXMgYSBvZmYtYnkt b25lIGVycm9yIGluIGFhcmNoNjRfbXRlX2dldF90YWdfZ3JhbnVsZXMsIHdoaWNoIHRoaXMNCnBh dGNoIGZpeGVzLg0KDQpnZGIvQ2hhbmdlTG9nOg0KDQpZWVlZLU1NLUREICBMdWlzIE1hY2hhZG8g IDxsdWlzLm1hY2hhZG9AbGluYXJvLm9yZzxtYWlsdG86bHVpcy5tYWNoYWRvQGxpbmFyby5vcmc+ Pg0KDQoqIGFyY2gvYWFyY2g2NC1tdGUtbGludXguYyAoYWFyY2g2NF9tdGVfZ2V0X3RhZ19ncmFu dWxlcyk6IERvbid0DQppbmNsdWRlIHRoZSBsYXN0IGFkZHJlc3MgaW4gdGhlIHJhbmdlLg0KLS0t DQpnZGIvYXJjaC9hYXJjaDY0LW10ZS1saW51eC5jIHwgNSArKystLQ0KMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2dkYi9hcmNo L2FhcmNoNjQtbXRlLWxpbnV4LmMgYi9nZGIvYXJjaC9hYXJjaDY0LW10ZS1saW51eC5jDQppbmRl eCA5NTljMDI0N2VkNS4uN2MyYWU5YTcwNTggMTAwNjQ0DQotLS0gYS9nZGIvYXJjaC9hYXJjaDY0 LW10ZS1saW51eC5jDQorKysgYi9nZGIvYXJjaC9hYXJjaDY0LW10ZS1saW51eC5jDQpAQCAtMzEs OSArMzEsMTAgQEAgYWFyY2g2NF9tdGVfZ2V0X3RhZ19ncmFudWxlcyAoQ09SRV9BRERSIGFkZHIs IHNpemVfdCBsZW4sIHNpemVfdCBncmFudWxlX3NpemUpDQogIC8qIFN0YXJ0IGFkZHJlc3MgKi8N CiAgQ09SRV9BRERSIHNfYWRkciA9IGFsaWduX2Rvd24gKGFkZHIsIGdyYW51bGVfc2l6ZSk7DQog IC8qIEVuZCBhZGRyZXNzICovDQotICBDT1JFX0FERFIgZV9hZGRyID0gYWxpZ25fZG93biAoYWRk ciArIGxlbiwgZ3JhbnVsZV9zaXplKTsNCisgIENPUkVfQUREUiBlX2FkZHIgPSBhbGlnbl9kb3du IChhZGRyICsgbGVuIC0gMSwgZ3JhbnVsZV9zaXplKTsNCg0KLSAgLyogV2UgYWx3YXlzIGhhdmUg YXQgbGVhc3QgMSBncmFudWxlLiAgKi8NCisgIC8qIFdlIGFsd2F5cyBoYXZlIGF0IGxlYXN0IDEg Z3JhbnVsZSBiZWNhdXNlIGxlbiBpcyBub24temVybyBhdCB0aGlzDQorICAgICBwb2ludC4gICov DQogIHJldHVybiAxICsgKGVfYWRkciAtIHNfYWRkcikgLyBncmFudWxlX3NpemU7DQpPaywgIEni gJltIGhhcHB5IHdpdGggcm91bmQgZG93biBiZWNhdXNlIHdlIG5ldmVyIHdhbnQgdG8gcmVhZC93 cml0ZSBhIHBhcnRpYWwgdGFnDQpCdXQgaWYgbGVuIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLCBidXQg bGVzcyB0aGFuIHRoZSBzaXplIG9mIGEgb25lIHRhZywgdGhlbiBpdCByZXR1cm5zIDEuIElzIHRo YXQgY29ycmVjdD8NCg0KVGhlIHJhbmdlIGlzIHNwZWNpZmllZCBieSBbYWRkcmVzcywgYWRkcmVz cyArIGxlbikuIElmIGxlbiBpcyBub24temVybywgd2Ugd2lsbCBhbHdheXMgaGF2ZSBhIG5vbi1l bXB0eSByYW5nZSBhbmQgdGhlcmVmb3JlIHdpbGwgYWx3YXlzIGhhdmUgdGFnIGdyYW51bGVzLg0K DQpTaG91bGQgaXQgaW5zdGVhZCBiZToNCiAgaWYgKGxlbiA8IGdyYW51bGVfc2l6ZSkNCiAgICBy ZXR1cm4gMDsNCg0KV2Ugd2FudCB0byBrbm93IGhvdyBtYW55IHRhZyBncmFudWxlcyBleGlzdCBp biBhIHBhcnRpY3VsYXIgcmFuZ2UuIFdlIG9ubHkgZ2V0IDAgZ3JhbnVsZXMgaWYgdGhlIHJhbmdl IGlzIGVtcHR5Lg0KDQpBc3N1bWluZyBhZGRyIGlzIGFsaWduZWQsIHRoZW4gY2FsY3VsYXRpbmcg bGVuZ3RoIC0+IHJldHVybiB2YWx1ZQ0KMyAqIGdyYW51bGVzaXplIC0+IDMNCjIuNSAqIGdyYW51 bGVzaXplIC0+IDINCjIgKiBncmFudWxlc2l6ZSAtPiAyDQoxLjUgKiBncmFudWxlc2l6ZSAtPiAx DQoxICogZ3JhbnVsZXNpemUgLT4gMQ0KMC41ICogZ3JhbnVsZXNpemUgLT4gMS4gICAtIHRoaXMg ZG9lc27igJl0IG1hdGNoIHRoZSBvdGhlcnMuDQowIC0+IDANCg0KPw0KDQpBbGFuLg0KDQoNCg0K DQo=