From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81849C433F5 for ; Tue, 17 May 2022 23:27:05 +0000 (UTC) Received: from localhost ([::1]:53690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nr6am-0000c8-9e for qemu-devel@archiver.kernel.org; Tue, 17 May 2022 19:27:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nr6YR-0006lG-K1; Tue, 17 May 2022 19:24:42 -0400 Received: from esa17.fujitsucc.c3s2.iphmx.com ([216.71.158.34]:41655) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nr6YK-00080e-8A; Tue, 17 May 2022 19:24:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1652829873; x=1684365873; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=y4HVZt4NDaIikhOVLyFKKHjDpNvkcjyXCUWDbaXCMOM=; b=uyxLxQFAniuc9d7p+Mx+nTdNwb5GhgXFDE0zrS3PBel3uuBuIl6N/GR6 2zRNptK/ETdNwiDpObkpkkGOIMootQI7x9yDdNV4E/lGhjHIoOpJZRiqz WyELuq7N0FmHp4leYpg2mVE4DlTs72nM5UJxxZpbcFod8GXEGHmrirDH5 teZ/dHKMlHkLJ93yzTzk90sgKAUHNNNMh+2rMAvR84l7rWI7E1Mtxda+A D3brKjLiqNM5KTOEmWtIdR0iQMuiuYR8x+UGU368l5lsmPTs4kyzFI5bC 89/NrwcG8jfCHqxzPu2q5cDtVrjK/BhidcmKarFTiIhtXse4AmIJo+hrn g==; X-IronPort-AV: E=McAfee;i="6400,9594,10350"; a="56009322" X-IronPort-AV: E=Sophos;i="5.91,233,1647270000"; d="scan'208";a="56009322" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2022 08:24:27 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kTOfqDOAYxhJ3iKJjoKAyBNZmf3/X9K5jzOJ4KS/LVUFxrC4gh0DUK/i4hmvabGPDoNmHcx0SbE7PZ6W5D6sKWWdz+viVR2daIBSZ02UtlEn7gg3w/zGt8oO4Rorse0QJL5mtZlxZIZ2xRPMyWWELqek9iCqLjEf5kJwd8LbIRPgQ17t/ofRqJPMWeT2M09yj/jwnuJrazYLcZaxkw9lBKh0x+Gq09RR8wF7H8iOFqKA69f7Tt5ZDjpKFGujeOZyqww0oKyxmU6IPF+OHaKbYCLIYAajev6qbBkHfCgSnRDeuygdXbiQGcoklx6VOoICoyvMTqtqi/L7MedMJO98FQ== 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=y4HVZt4NDaIikhOVLyFKKHjDpNvkcjyXCUWDbaXCMOM=; b=dAyqlkEsE3QgJSua7/9jLHXwGDB8fHwIe779OFJgqyIBQ3sXHTzC3XX3+gKosgm36mMfes2JXRYzUsPhlpvBzEwiwcJ7QWKCcU05BhmX4Tbm+Wzumcr+Aq4qgH/qIL8IGiAxancax8Sw8SwO7XGs+DT3iViTsbq1sFARDMS1VOm13UL6WVaHl7yllD0kAhsPAMlWrSEyevFWfmGdTBOszHjNIYUagjEXV9KpSJ9N+u2hozDBEH2BZC+Qedbr1874hcUSgireoRYMxNMKoW2vIN5zMn7x0lxTzf5dAEb19v1CRbd10/452DvshZS1Fs6N9C5BwcBA/xElO9ETXcdrLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y4HVZt4NDaIikhOVLyFKKHjDpNvkcjyXCUWDbaXCMOM=; b=N9L3Bvxuw3s+Ze9Aby+HfyR5vumMH1E0DnpYG7wC7xPP5f5mu3guJYQd9NKD8yZNcCxbqnnXfsOb3+BEWiEnSbXsv/IqXJT5xNItg01Pm0uFkvrGxrgZdvaJGkIDrvWbiGFpyYqGLNvob1293R4HOVZshk9FQZb++/xu57y2pnI= Received: from TYCPR01MB6160.jpnprd01.prod.outlook.com (2603:1096:400:4f::8) by TYYPR01MB6665.jpnprd01.prod.outlook.com (2603:1096:400:e2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.14; Tue, 17 May 2022 23:24:23 +0000 Received: from TYCPR01MB6160.jpnprd01.prod.outlook.com ([fe80::d13b:e685:9486:a706]) by TYCPR01MB6160.jpnprd01.prod.outlook.com ([fe80::d13b:e685:9486:a706%5]) with mapi id 15.20.5250.018; Tue, 17 May 2022 23:24:23 +0000 From: "ishii.shuuichir@fujitsu.com" To: 'Peter Maydell' CC: =?utf-8?B?QWxleCBCZW5uw6ll?= , Itaru Kitayama , "qemu-arm@nongnu.org" , "qemu-devel@nongnu.org" , "ishii.shuuichir@fujitsu.com" Subject: RE: [PATCH] target/arm: Make number of counters in PMCR follow the CPU Thread-Topic: [PATCH] target/arm: Make number of counters in PMCR follow the CPU Thread-Index: AQHYZsUGCh03wSq/FEaOt0gwAcb/X60iydZA Date: Tue, 17 May 2022 23:24:22 +0000 Message-ID: References: <20220513122852.4063586-1-peter.maydell@linaro.org> In-Reply-To: <20220513122852.4063586-1-peter.maydell@linaro.org> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5f274e1d-139d-4c4a-3fac-08da385c6053 x-ms-traffictypediagnostic: TYYPR01MB6665:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TMIvEjX7K2r+fDaAOCTPObavZ5xWEZv/nj3J2hFAIOjXnXWbC74DOkrr2WdyIo3/mMxwehm/jPnpIjBJnC8f83ZtZkGDNs6GqTh1PrF2Yeiqpy/vlyHnSbAISE0OVI5+7TX14AXuqOGWJLHT6uVpGY9BcyTkpmNGyHcdc77+NE0owOxrlmWngGWIuA/lnuT5CideAqZjoHsC/Iuu9s1TqWK/G+FLYJKt1mR6OblrJHNYw5F9wHyMpQniEl8BOBtbk1g6REalahRQW9m7U3M390ULRvyXcWJ/vyWmxy69SRsGyvYi4tRHXQYP1Ip7Y0YQwOuskP+eopru32Go/zbC0jgtL9ZMZu7iM1VkmnxOUvPIpTt6QCBE46S1rDrSvq/EFyqKZLVKo/sB3JpTNkDlo36ef1xHP/AodCPy//QbXKOTFaMc+3SR8AX1AVCQhBNs9mT3m/FobVr31i/nGoBAIuWgxT/ufFjWqLTKqt1UO9lRbh1KZ3WO9aevEm9pKC0j3MsLDSpOTWrEk9geSCbTlKa28koCNyCsdGSvcECIJJSf/25K4SAKQd8t9tAqEfsKwWdRXOHs23/h/em99vddNysLb/B5I2pFAS1qeIuvIEstcfTWRqGIUqJNxbGX6cGjt0rc+gkFyutpg3wSIAmPUflHMBQKnoH+5MoX9KBXudT8fCVAmJf4zCmkkax9D7oVvWvhczlRH2MwXwJYjqHbnw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCPR01MB6160.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(26005)(76116006)(86362001)(4326008)(8676002)(66446008)(66556008)(64756008)(53546011)(508600001)(52536014)(8936002)(71200400001)(54906003)(66476007)(55016003)(66946007)(38100700002)(30864003)(33656002)(82960400001)(7696005)(6916009)(186003)(38070700005)(5660300002)(316002)(85182001)(107886003)(83380400001)(122000001)(66574015)(6506007)(9686003)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U2pNQ29MM2FUNjZ6SGpEVUNOSUEzWG1kRFRCUURmeUR6MlA2S3hOVzB0SGFq?= =?utf-8?B?LzZUWXFnVkl5K1h5Lzd3SmhXajFJTHhJb0lMV0RUL0IxMTNwZjR0ajZsL0tK?= =?utf-8?B?ZzNKVzVaVnFGdm1pN2RVU29ZS0RyMU9PeW5CcmdkRDZUUzBzbXR1NXBqSTBK?= =?utf-8?B?U3A4QXlHcC9yd2lvVUhxMUNRV0FmbE1OUFZkVDVVZkpidmk1bjlhUDRtbnJi?= =?utf-8?B?UW9ZTVlyR0diRnRnckhEVWVMQUFwT1JqVDVoSjQyeVozc0xTSStWMEhmd2RC?= =?utf-8?B?VE15eE5wTHpGK210Q3l4NUtmVmZyNGRUZFdpTU5SeFBkYkIvOENuVzFYT0pP?= =?utf-8?B?UjZoMjV6QS85RG1vNFo5M3BBUTRvRmVWakZBNWtnKzkvaXZ5ZEp6cXIzZkh1?= =?utf-8?B?R21nQTNxbUdwbHJxV0NNOFMwa1ozTXZnNFd1akpMMzF6RlQ0YkY4SXZxTTMr?= =?utf-8?B?M1FTYkVKa211MXNaWnVaN3BPUjZVK2R2RVpTd3YrbUtKYk9lZy9UYVFwckZK?= =?utf-8?B?bmdxQXlWMXNhNE5ZWEdIZ2ZUMmh6VE9Oa3lic3RuUG0wSjhYaGprSm9KeWR6?= =?utf-8?B?L2JnRVBTMWNnQ2dLRm9VOEpIYkxWWUkzY1VNRG9uQ3ZUbE1KMVpTdUJva3Q1?= =?utf-8?B?WDZGakxVaHQwNjlOYTF0UVBheWl4NDAzWWl4dUdrUzN4MCtrKzlXQTU4N2Nu?= =?utf-8?B?K0xQUVdLZWE1MFlFN1BCVTJweTZKZjdYYlovSDg5OFVRUHZDQWl0V1crUllC?= =?utf-8?B?KzhNV0ZaenBGalUrMHd0aFpueUtENSswT2tmb3V3eEl4UWN2Wmx2dURVUzNM?= =?utf-8?B?b3hGWlFzUWRjN3pyaVZrVXc3c0Y3bWt2MVZoOHJOeGthaHY2alhGeXZuWDlV?= =?utf-8?B?dHZUV2Zrc2M0T1hTQXdPVDRmaFFIN2d2ZnE2NzhyM2F1S2k5cHpVSFhQaUpq?= =?utf-8?B?V1RqRDNHRHZreHZ6WURnWDlCaEhSKzVsT1FuNEdjQ0xBeGNZM2JZNldDaWZk?= =?utf-8?B?eE1WL3RaL0ZNS3hRNkV1dGVKeWdlTWxvcVpIczBLbXBkOG15dGdsQ0p4U3JW?= =?utf-8?B?OW4zYTdtWi92ZHNGeFhrTUtqL00ycytjTzdXU3RtbXlrNldCY1VWRHMrN2c1?= =?utf-8?B?eGRnaE45b2xQcU5Mb0VPZllaVnpmNUxYQ0ZrcXpLa3lwc29mSUhmU2hocVZG?= =?utf-8?B?aGk2N0VNMk4zWThqWXl2ZXNuMWV3Y2kvaWk2VnJJb21iRlNUN3BLUS9NREdk?= =?utf-8?B?MmpxN0Z1UkVvMFNTQ21kTXN6Z1FYcHNPRXNmYVNDdDJlWmFZZzhIQnEwRWFG?= =?utf-8?B?bStFSU9maEZMR3Rvb1RadDRhM21JNTM0MnRyMnROTTEvc3loUUJCN2s1N0FP?= =?utf-8?B?WWF6WnNEOWZDMDNtcnpXZWNDYUpwbjkwZXdHVnFnMXNoU2RQeVVWUEN4aHFK?= =?utf-8?B?L1pjaXQ4VjdqbkRYajhVVithMnpBN2NwRDdaT0ErUHArTGVsWUF1VksvYy9N?= =?utf-8?B?TDhHR0E5bVh2Q0RaK3o3Um02YWVmcFhwY0lKMkJhcUtvRHUxOUdRWnJIbzVx?= =?utf-8?B?SFVrTUV0bCt0VDRkeUxqbTJ3NVRQZXRBL0hzRnI3Q01veUZPKytmMnU5ZnRy?= =?utf-8?B?ejJHaTAzUlR2dEl0bmc5YVgrOWVhR1dzSnRmZnV4b3dYY2FtcHRWUlRIOGxt?= =?utf-8?B?VW1GNk9WMFU3bU4zKzgwMTRaS1JvbHRXNytkajBuL0VzSHVUeU81UzhMSUZw?= =?utf-8?B?ZE5KYWtWZGNQOW10cnFISTFEY3JtdUJuRFBibEVGSjkrWndCS2JkRDUzdVhP?= =?utf-8?B?UHYyYUZCZnVuVjRLTDkrSi9SZGZGbXVUV2V3ZHpjaXVYNUJwcnpOa010UW1Q?= =?utf-8?B?SjVOVDFWT2kyUGJJRU1ua0djbDZuZDZKNlQ0OStYTlp5dHNpTVNGTXBSV2J6?= =?utf-8?B?enVEUDgzOHo5RkE0RzY0bFl4WWxLY2JQU0V0TzdFdW9jaWw2U1dBZU9jK0p5?= =?utf-8?B?eFdlSkljRVlFT1hVMWVmZWdaQTZaS0xVbkJKOVJDbnBrMW9FeHFKWUZKb1Q1?= =?utf-8?B?Smk5eWVBTmZyazlIa212b0lTQlJ2V0YxZW9TclVkUXZjRHE0RWFLK2RlK2hX?= =?utf-8?B?NW1VYVZDcHlmc3RITGFteUhaK2RMK3RxL1VtUTloNFBCR2UvaDdzVGJLN3Np?= =?utf-8?B?MmRFSG5rRE1acjRkdnYrckRWQ3B4R3BRcTRxZlRPUEpTemdrUUo0MkhBK3ZI?= =?utf-8?B?ZHBjaWpKY1VYak9KdTlrMkMrb1FNOXVEbmRXWFJwUUNXbHR3S045bXpicVB4?= =?utf-8?B?VWt4em5ZaU1MbS9SNnpVQmw0aTZveGhRMUFjT1ovWGpGeEVaR0RYc0dndlBK?= =?utf-8?Q?KKuotprogOElYUts=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB6160.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f274e1d-139d-4c4a-3fac-08da385c6053 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2022 23:24:22.9624 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zYsm4mD5e85An4ehxI13WZrnGAY+YZ9m4UBXZKMBjpvhinu0F68euEudk40B7qFPOUnSKp/LQQ+nReh6MKiu5Ck0dXYzbmAMCHAA80tu8Fs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYPR01MB6665 Received-SPF: pass client-ip=216.71.158.34; envelope-from=ishii.shuuichir@fujitsu.com; helo=esa17.fujitsucc.c3s2.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" SGksIFBldGVyLg0KDQo+IFNodXVpY2hpcm91LCBJdGFydTogdGhpcyBpcyBhbm90aGVyIHBhdGNo IHdoZXJlIHdlIG5lZWQgdG8ga25vdw0KPiBhbiBBNjRGWCByZWdpc3RlciB2YWx1ZS4uLg0KDQpT b3JyeSBmb3IgdGhlIGxhdGUgcmVwbHkuDQoNClRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBwbWNy X2VsMCByZWdpc3RlciBpbiBBNjRGWCBpcyAweDQ2MDE0MDQwLg0KDQpBZnRlciBhcHBseWluZyB0 aGlzIFBldGVyJ3MgcGF0Y2gsIHNob3VsZCB3ZSBzdWJtaXQgYSBuZXcgcGF0Y2ggYXMgYTY0Zngg cGF0Y2ggZnJvbSB1cz8NCm9yIGRvIHlvdSB3YW50IHRvIGZpeCB5b3VyIG93biBtb2RpZmljYXRp b25zIHRvIHRoZSBwYXRjaCB0aGF0IHBldGVyIGhhcyBwb3N0ZWQ/DQpXaGljaCBpcyB0aGUgYmVz dCBwcm9jZWR1cmU/DQoNCkJlc3QgcmVnYXJkcywNClNodXVpY2hpcm91Lg0KDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxA bGluYXJvLm9yZz4NCj4gU2VudDogRnJpZGF5LCBNYXkgMTMsIDIwMjIgOToyOSBQTQ0KPiBUbzog cWVtdS1hcm1Abm9uZ251Lm9yZzsgcWVtdS1kZXZlbEBub25nbnUub3JnDQo+IENjOiBBbGV4IEJl bm7DqWUgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+OyBJc2hpaSwgU2h1dWljaGlyb3Uv55+z5LqV IOWRqOS4gOmDjg0KPiA8aXNoaWkuc2h1dWljaGlyQGZ1aml0c3UuY29tPjsgSXRhcnUgS2l0YXlh bWEgPGl0YXJ1LmtpdGF5YW1hQGdtYWlsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIXSB0YXJnZXQv YXJtOiBNYWtlIG51bWJlciBvZiBjb3VudGVycyBpbiBQTUNSIGZvbGxvdyB0aGUgQ1BVDQo+IA0K PiBDdXJyZW50bHkgd2UgZ2l2ZSBhbGwgdGhlIHY3LWFuZC11cCBDUFVzIGEgUE1VIHdpdGggNCBj b3VudGVycy4gIFRoaXMNCj4gbWVhbnMgdGhhdCB3ZSBkb24ndCBwcm92aWRlIHRoZSA2IGNvdW50 ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHRoZQ0KPiBBcm0gQlNBIChCYXNlIFN5c3RlbSBBcmNo aXRlY3R1cmUpIHNwZWNpZmljYXRpb24gaWYgdGhlIENQVSBzdXBwb3J0cw0KPiB0aGUgVmlydHVh bGl6YXRpb24gZXh0ZW5zaW9ucy4NCj4gDQo+IEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIFBN Q1JfTlVNX0NPVU5URVJTLCBtYWtlIGVhY2ggQ1BVIHR5cGUNCj4gc3BlY2lmeSB0aGUgUE1DUiBy ZXNldCB2YWx1ZSAob2J0YWluZWQgZnJvbSB0aGUgYXBwcm9wcmlhdGUgVFJNKSwgYW5kDQo+IHVz ZSB0aGUgJ04nIGZpZWxkIG9mIHRoYXQgdmFsdWUgdG8gZGVmaW5lIHRoZSBudW1iZXIgb2YgY291 bnRlcnMNCj4gcHJvdmlkZWQuDQo+IA0KPiBUaGlzIG1lYW5zIHRoYXQgd2Ugbm93IHN1cHBseSA2 IGNvdW50ZXJzIGluc3RlYWQgb2YgNCBmb3I6DQo+ICBDb3J0ZXgtQTksIENvcnRleC1BMTUsIENv cnRleC1BNTMsIENvcnRleC1BNTcsIENvcnRleC1BNzIsDQo+ICBDb3J0ZXgtQTc2LCBOZW92ZXJz ZS1OMSwgJy1jcHUgbWF4Jw0KPiBUaGVzZSBDUFVzIHJlbWFpbiB3aXRoIDQgY291bnRlcnM6DQo+ ICBDb3J0ZXgtQTcsIENvcnRleC1BOA0KPiBUaGlzIENQVSBnb2VzIGRvd24gZnJvbSA0IHRvIDMg Y291bnRlcnM6DQo+ICBDb3J0ZXgtUjUNCj4gDQo+IFRPRE86IEE2NEZYIC0tIEkgZG9uJ3Qga25v dyB0aGUgY29ycmVjdCBQTUNSX0VMMCByZXNldCB2YWx1ZS4NCj4gDQo+IE5vdGUgdGhhdCBiZWNh dXNlIHdlIG5vdyB1c2UgdGhlIFBNQ1IgcmVzZXQgdmFsdWUgb2YgdGhlIHNwZWNpZmljDQo+IGlt cGxlbWVudGF0aW9uLCB3ZSBubyBsb25nZXIgc2V0IHRoZSBMQyBiaXQgb3V0IG9mIHJlc2V0LiAg VGhpcyBoYXMNCj4gYW4gVU5LTk9XTiB2YWx1ZSBvdXQgb2YgcmVzZXQgZm9yIGFsbCBjb3JlcyB3 aXRoIGFueSBBQXJjaDMyIHN1cHBvcnQsDQo+IHNvIGd1ZXN0IHNvZnR3YXJlIHNob3VsZCBiZSBz ZXR0aW5nIGl0IGFueXdheSBpZiBpdCB3YW50cyBpdC4NCj4gDQo+IFRoaXMgY2hhbmdlIHdhcyBv cmlnaW5hbGx5IGxhbmRlZCBpbiBjb21taXQgZjdmYjczYjhjZGQzZjcgKGR1cmluZw0KPiB0aGUg Ni4wIHJlbGVhc2UgY3ljbGUpIGJ1dCB3YXMgdGhlbiByZXZlcnRlZCBieSBjb21taXQNCj4gMjFj MmRkNzdhNmFhNTE3IGJlZm9yZSB0aGF0IHJlbGVhc2UgYmVjYXVzZSBpdCBkaWQgbm90IHdvcmsg d2l0aCBLVk0uDQo+IFRoaXMgdmVyc2lvbiBmaXhlcyB0aGF0IGJ5IGNyZWF0aW5nIHRoZSBzY3Jh dGNoIHZDUFUgaW4NCj4ga3ZtX2FybV9nZXRfaG9zdF9jcHVfZmVhdHVyZXMoKSB3aXRoIHRoZSBL Vk1fQVJNX1ZDUFVfUE1VX1YzIGZlYXR1cmUNCj4gaWYgS1ZNIHN1cHBvcnRzIGl0LCBhbmQgdGhl biBvbmx5IGFza2luZyBLVk0gZm9yIHRoZSBQTUNSX0VMMCB2YWx1ZQ0KPiBpZiB0aGUgdkNQVSBo YXMgYSBQTVUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlk ZWxsQGxpbmFyby5vcmc+DQo+IC0tLQ0KPiBJJ2QgZm9yZ290dGVuIHRoYXQgd2UnZCBkcm9wcGVk IHRoaXMgZml4IGluIHRoZSA2LjAgdGltZWZyYW1lDQo+IGFuZCBuZXZlciBwaWNrZWQgaXQgYmFj ayB1cCBhZ2FpbiB1bnRpbCBBbGV4IHJlbWluZGVkIG1lIG9mIGl0Li4uDQo+IA0KPiBDaGFuZ2Vz IHNpbmNlIG9yaWdpbmFsIGF0dGVtcHQ6DQo+ICAtLSByZWJhc2VkDQo+ICAtLSBmaXggdGhlIGNv ZGUgaW4ga3ZtX2FybV9nZXRfaG9zdF9jcHVfZmVhdHVyZXMoKSB0aGF0IHJlYWRzIFBNQ1JfRUww DQo+ICAtLSBzZXQgUE1DUiB2YWx1ZSBmb3IgbmV3IENQVXMgY29ydGV4LWE3NiwgbmVvdmVyc2Ut bjENCj4gIC0tIHNldCBQTUNSIHZhbHVlIGZvciBub3ctc2VwYXJhdGVkLW91dCBhYXJjaDMyIC1j cHUgbWF4DQo+ICAtLSBUT0RPIGNvbW1lbnQgZm9yIGE2NGZ4DQo+IA0KPiBTaHV1aWNoaXJvdSwg SXRhcnU6IHRoaXMgaXMgYW5vdGhlciBwYXRjaCB3aGVyZSB3ZSBuZWVkIHRvIGtub3cNCj4gYW4g QTY0RlggcmVnaXN0ZXIgdmFsdWUuLi4NCj4gLS0tDQo+ICB0YXJnZXQvYXJtL2NwdS5oICAgICAg IHwgIDEgKw0KPiAgdGFyZ2V0L2FybS9pbnRlcm5hbHMuaCB8ICA0ICsrKy0NCj4gIHRhcmdldC9h cm0vY3B1NjQuYyAgICAgfCAxMCArKysrKysrKysrDQo+ICB0YXJnZXQvYXJtL2NwdV90Y2cuYyAg IHwgIDYgKysrKysrDQo+ICB0YXJnZXQvYXJtL2hlbHBlci5jICAgIHwgMjUgKysrKysrKysrKysr KystLS0tLS0tLS0tLQ0KPiAgdGFyZ2V0L2FybS9rdm02NC5jICAgICB8IDEyICsrKysrKysrKysr Kw0KPiAgNiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS90YXJnZXQvYXJtL2NwdS5oIGIvdGFyZ2V0L2FybS9jcHUuaA0K PiBpbmRleCAxOGNhNjFlOGUyNS4uMDU1MWJlNjJlODggMTAwNjQ0DQo+IC0tLSBhL3RhcmdldC9h cm0vY3B1LmgNCj4gKysrIGIvdGFyZ2V0L2FybS9jcHUuaA0KPiBAQCAtOTY1LDYgKzk2NSw3IEBA IHN0cnVjdCBBcmNoQ1BVIHsNCj4gICAgICAgICAgdWludDY0X3QgaWRfYWE2NGRmcjA7DQo+ICAg ICAgICAgIHVpbnQ2NF90IGlkX2FhNjRkZnIxOw0KPiAgICAgICAgICB1aW50NjRfdCBpZF9hYTY0 emZyMDsNCj4gKyAgICAgICAgdWludDY0X3QgcmVzZXRfcG1jcl9lbDA7DQo+ICAgICAgfSBpc2Fy Ow0KPiAgICAgIHVpbnQ2NF90IG1pZHI7DQo+ICAgICAgdWludDMyX3QgcmV2aWRyOw0KPiBkaWZm IC0tZ2l0IGEvdGFyZ2V0L2FybS9pbnRlcm5hbHMuaCBiL3RhcmdldC9hcm0vaW50ZXJuYWxzLmgN Cj4gaW5kZXggNmNhMGU5NTc0NjguLmIzYjc3MzcwNDhiIDEwMDY0NA0KPiAtLS0gYS90YXJnZXQv YXJtL2ludGVybmFscy5oDQo+ICsrKyBiL3RhcmdldC9hcm0vaW50ZXJuYWxzLmgNCj4gQEAgLTEy OTksNyArMTI5OSw5IEBAIGVudW0gTVZFRUNJU3RhdGUgew0KPiANCj4gIHN0YXRpYyBpbmxpbmUg dWludDMyX3QgcG11X251bV9jb3VudGVycyhDUFVBUk1TdGF0ZSAqZW52KQ0KPiAgew0KPiAtICBy ZXR1cm4gKGVudi0+Y3AxNS5jOV9wbWNyICYgUE1DUk5fTUFTSykgPj4gUE1DUk5fU0hJRlQ7DQo+ ICsgICAgQVJNQ1BVICpjcHUgPSBlbnZfYXJjaGNwdShlbnYpOw0KPiArDQo+ICsgICAgcmV0dXJu IChjcHUtPmlzYXIucmVzZXRfcG1jcl9lbDAgJiBQTUNSTl9NQVNLKSA+PiBQTUNSTl9TSElGVDsN Cj4gIH0NCj4gDQo+ICAvKiBCaXRzIGFsbG93ZWQgdG8gYmUgc2V0L2NsZWFyZWQgZm9yIFBNQ05U RU4qIGFuZCBQTUlOVEVOKiAqLw0KPiBkaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS9jcHU2NC5jIGIv dGFyZ2V0L2FybS9jcHU2NC5jDQo+IGluZGV4IDA0NDI3ZTA3M2YxLi42MDA4ZWZjYmJmMCAxMDA2 NDQNCj4gLS0tIGEvdGFyZ2V0L2FybS9jcHU2NC5jDQo+ICsrKyBiL3RhcmdldC9hcm0vY3B1NjQu Yw0KPiBAQCAtNzksNiArNzksNyBAQCBzdGF0aWMgdm9pZCBhYXJjaDY0X2E1N19pbml0Zm4oT2Jq ZWN0ICpvYmopDQo+ICAgICAgY3B1LT5pc2FyLmlkX2FhNjRpc2FyMCA9IDB4MDAwMTExMjA7DQo+ ICAgICAgY3B1LT5pc2FyLmlkX2FhNjRtbWZyMCA9IDB4MDAwMDExMjQ7DQo+ICAgICAgY3B1LT5p c2FyLmRiZ2RpZHIgPSAweDM1MTZkMDAwOw0KPiArICAgIGNwdS0+aXNhci5yZXNldF9wbWNyX2Vs MCA9IDB4NDEwMTMwMDA7DQo+ICAgICAgY3B1LT5jbGlkciA9IDB4MGEyMDAwMjM7DQo+ICAgICAg Y3B1LT5jY3NpZHJbMF0gPSAweDcwMWZlMDBhOyAvKiAzMktCIEwxIGRjYWNoZSAqLw0KPiAgICAg IGNwdS0+Y2NzaWRyWzFdID0gMHgyMDFmZTAxMjsgLyogNDhLQiBMMSBpY2FjaGUgKi8NCj4gQEAg LTEzMiw2ICsxMzMsNyBAQCBzdGF0aWMgdm9pZCBhYXJjaDY0X2E1M19pbml0Zm4oT2JqZWN0ICpv YmopDQo+ICAgICAgY3B1LT5pc2FyLmlkX2FhNjRpc2FyMCA9IDB4MDAwMTExMjA7DQo+ICAgICAg Y3B1LT5pc2FyLmlkX2FhNjRtbWZyMCA9IDB4MDAwMDExMjI7IC8qIDQwIGJpdCBwaHlzaWNhbCBh ZGRyICovDQo+ICAgICAgY3B1LT5pc2FyLmRiZ2RpZHIgPSAweDM1MTZkMDAwOw0KPiArICAgIGNw dS0+aXNhci5yZXNldF9wbWNyX2VsMCA9IDB4NDEwMzMwMDA7DQo+ICAgICAgY3B1LT5jbGlkciA9 IDB4MGEyMDAwMjM7DQo+ICAgICAgY3B1LT5jY3NpZHJbMF0gPSAweDcwMGZlMDFhOyAvKiAzMktC IEwxIGRjYWNoZSAqLw0KPiAgICAgIGNwdS0+Y2NzaWRyWzFdID0gMHgyMDFmZTAwYTsgLyogMzJL QiBMMSBpY2FjaGUgKi8NCj4gQEAgLTE4Myw2ICsxODUsNyBAQCBzdGF0aWMgdm9pZCBhYXJjaDY0 X2E3Ml9pbml0Zm4oT2JqZWN0ICpvYmopDQo+ICAgICAgY3B1LT5pc2FyLmlkX2FhNjRpc2FyMCA9 IDB4MDAwMTExMjA7DQo+ICAgICAgY3B1LT5pc2FyLmlkX2FhNjRtbWZyMCA9IDB4MDAwMDExMjQ7 DQo+ICAgICAgY3B1LT5pc2FyLmRiZ2RpZHIgPSAweDM1MTZkMDAwOw0KPiArICAgIGNwdS0+aXNh ci5yZXNldF9wbWNyX2VsMCA9IDB4NDEwMjMwMDA7DQo+ICAgICAgY3B1LT5jbGlkciA9IDB4MGEy MDAwMjM7DQo+ICAgICAgY3B1LT5jY3NpZHJbMF0gPSAweDcwMWZlMDBhOyAvKiAzMktCIEwxIGRj YWNoZSAqLw0KPiAgICAgIGNwdS0+Y2NzaWRyWzFdID0gMHgyMDFmZTAxMjsgLyogNDhLQiBMMSBp Y2FjaGUgKi8NCj4gQEAgLTI1Nyw2ICsyNjAsOSBAQCBzdGF0aWMgdm9pZCBhYXJjaDY0X2E3Nl9p bml0Zm4oT2JqZWN0ICpvYmopDQo+ICAgICAgY3B1LT5pc2FyLm12ZnIwID0gMHgxMDExMDIyMjsN Cj4gICAgICBjcHUtPmlzYXIubXZmcjEgPSAweDEzMjExMTExOw0KPiAgICAgIGNwdS0+aXNhci5t dmZyMiA9IDB4MDAwMDAwNDM7DQo+ICsNCj4gKyAgICAvKiBGcm9tIEQ1LjEgQUFyY2g2NCBQTVUg cmVnaXN0ZXIgc3VtbWFyeSAqLw0KPiArICAgIGNwdS0+aXNhci5yZXNldF9wbWNyX2VsMCA9IDB4 NDEwYjMwMDA7DQo+ICB9DQo+IA0KPiAgc3RhdGljIHZvaWQgYWFyY2g2NF9uZW92ZXJzZV9uMV9p bml0Zm4oT2JqZWN0ICpvYmopDQo+IEBAIC0zMjIsNiArMzI4LDkgQEAgc3RhdGljIHZvaWQgYWFy Y2g2NF9uZW92ZXJzZV9uMV9pbml0Zm4oT2JqZWN0ICpvYmopDQo+ICAgICAgY3B1LT5pc2FyLm12 ZnIwID0gMHgxMDExMDIyMjsNCj4gICAgICBjcHUtPmlzYXIubXZmcjEgPSAweDEzMjExMTExOw0K PiAgICAgIGNwdS0+aXNhci5tdmZyMiA9IDB4MDAwMDAwNDM7DQo+ICsNCj4gKyAgICAvKiBGcm9t IEQ1LjEgQUFyY2g2NCBQTVUgcmVnaXN0ZXIgc3VtbWFyeSAqLw0KPiArICAgIGNwdS0+aXNhci5y ZXNldF9wbWNyX2VsMCA9IDB4NDEwYzMwMDA7DQo+ICB9DQo+IA0KPiAgdm9pZCBhcm1fY3B1X3N2 ZV9maW5hbGl6ZShBUk1DUFUgKmNwdSwgRXJyb3IgKiplcnJwKQ0KPiBAQCAtMTAwNSw2ICsxMDE0 LDcgQEAgc3RhdGljIHZvaWQgYWFyY2g2NF9hNjRmeF9pbml0Zm4oT2JqZWN0ICpvYmopDQo+ICAg ICAgc2V0X2JpdCgzLCBjcHUtPnN2ZV92cV9zdXBwb3J0ZWQpOyAvKiA1MTJiaXQgKi8NCj4gDQo+ ICAgICAgLyogVE9ETzogIEFkZCBBNjRGWCBzcGVjaWZpYyBIUEMgZXh0ZW5zaW9uIHJlZ2lzdGVy cyAqLw0KPiArLy8gRklYTUUgcmVzZXRfcG1jcl9lbDANCj4gIH0NCj4gDQo+ICBzdGF0aWMgY29u c3QgQVJNQ1BVSW5mbyBhYXJjaDY0X2NwdXNbXSA9IHsNCj4gZGlmZiAtLWdpdCBhL3RhcmdldC9h cm0vY3B1X3RjZy5jIGIvdGFyZ2V0L2FybS9jcHVfdGNnLmMNCj4gaW5kZXggZWE0ZWNjZGRjMzUu LmI3NTFhMTljOGE3IDEwMDY0NA0KPiAtLS0gYS90YXJnZXQvYXJtL2NwdV90Y2cuYw0KPiArKysg Yi90YXJnZXQvYXJtL2NwdV90Y2cuYw0KPiBAQCAtNDI1LDYgKzQyNSw3IEBAIHN0YXRpYyB2b2lk IGNvcnRleF9hOF9pbml0Zm4oT2JqZWN0ICpvYmopDQo+ICAgICAgY3B1LT5jY3NpZHJbMV0gPSAw eDIwMDdlMDFhOyAvKiAxNmsgTDEgaWNhY2hlLiAqLw0KPiAgICAgIGNwdS0+Y2NzaWRyWzJdID0g MHhmMDAwMDAwMDsgLyogTm8gTDIgaWNhY2hlLiAqLw0KPiAgICAgIGNwdS0+cmVzZXRfYXV4Y3Ig PSAyOw0KPiArICAgIGNwdS0+aXNhci5yZXNldF9wbWNyX2VsMCA9IDB4NDEwMDIwMDA7DQo+ICAg ICAgZGVmaW5lX2FybV9jcF9yZWdzKGNwdSwgY29ydGV4YThfY3BfcmVnaW5mbyk7DQo+ICB9DQo+ IA0KPiBAQCAtNDk2LDYgKzQ5Nyw3IEBAIHN0YXRpYyB2b2lkIGNvcnRleF9hOV9pbml0Zm4oT2Jq ZWN0ICpvYmopDQo+ICAgICAgY3B1LT5jbGlkciA9ICgxIDw8IDI3KSB8ICgxIDw8IDI0KSB8IDM7 DQo+ICAgICAgY3B1LT5jY3NpZHJbMF0gPSAweGUwMGZlMDE5OyAvKiAxNmsgTDEgZGNhY2hlLiAq Lw0KPiAgICAgIGNwdS0+Y2NzaWRyWzFdID0gMHgyMDBmZTAxOTsgLyogMTZrIEwxIGljYWNoZS4g Ki8NCj4gKyAgICBjcHUtPmlzYXIucmVzZXRfcG1jcl9lbDAgPSAweDQxMDkzMDAwOw0KPiAgICAg IGRlZmluZV9hcm1fY3BfcmVncyhjcHUsIGNvcnRleGE5X2NwX3JlZ2luZm8pOw0KPiAgfQ0KPiAN Cj4gQEAgLTU2NSw2ICs1NjcsNyBAQCBzdGF0aWMgdm9pZCBjb3J0ZXhfYTdfaW5pdGZuKE9iamVj dCAqb2JqKQ0KPiAgICAgIGNwdS0+Y2NzaWRyWzBdID0gMHg3MDFmZTAwYTsgLyogMzJLIEwxIGRj YWNoZSAqLw0KPiAgICAgIGNwdS0+Y2NzaWRyWzFdID0gMHgyMDFmZTAwYTsgLyogMzJLIEwxIGlj YWNoZSAqLw0KPiAgICAgIGNwdS0+Y2NzaWRyWzJdID0gMHg3MTFmZTA3YTsgLyogNDA5NksgTDIg dW5pZmllZCBjYWNoZSAqLw0KPiArICAgIGNwdS0+aXNhci5yZXNldF9wbWNyX2VsMCA9IDB4NDEw NzIwMDA7DQo+ICAgICAgZGVmaW5lX2FybV9jcF9yZWdzKGNwdSwgY29ydGV4YTE1X2NwX3JlZ2lu Zm8pOyAvKiBTYW1lIGFzIEExNSAqLw0KPiAgfQ0KPiANCj4gQEAgLTYwNyw2ICs2MTAsNyBAQCBz dGF0aWMgdm9pZCBjb3J0ZXhfYTE1X2luaXRmbihPYmplY3QgKm9iaikNCj4gICAgICBjcHUtPmNj c2lkclswXSA9IDB4NzAxZmUwMGE7IC8qIDMySyBMMSBkY2FjaGUgKi8NCj4gICAgICBjcHUtPmNj c2lkclsxXSA9IDB4MjAxZmUwMGE7IC8qIDMySyBMMSBpY2FjaGUgKi8NCj4gICAgICBjcHUtPmNj c2lkclsyXSA9IDB4NzExZmUwN2E7IC8qIDQwOTZLIEwyIHVuaWZpZWQgY2FjaGUgKi8NCj4gKyAg ICBjcHUtPmlzYXIucmVzZXRfcG1jcl9lbDAgPSAweDQxMEYzMDAwOw0KPiAgICAgIGRlZmluZV9h cm1fY3BfcmVncyhjcHUsIGNvcnRleGExNV9jcF9yZWdpbmZvKTsNCj4gIH0NCj4gDQo+IEBAIC04 MzUsNiArODM5LDcgQEAgc3RhdGljIHZvaWQgY29ydGV4X3I1X2luaXRmbihPYmplY3QgKm9iaikN Cj4gICAgICBjcHUtPmlzYXIuaWRfaXNhcjYgPSAweDA7DQo+ICAgICAgY3B1LT5tcF9pc191cCA9 IHRydWU7DQo+ICAgICAgY3B1LT5wbXNhdjdfZHJlZ2lvbiA9IDE2Ow0KPiArICAgIGNwdS0+aXNh ci5yZXNldF9wbWNyX2VsMCA9IDB4NDExNTE4MDA7DQo+ICAgICAgZGVmaW5lX2FybV9jcF9yZWdz KGNwdSwgY29ydGV4cjVfY3BfcmVnaW5mbyk7DQo+ICB9DQo+IA0KPiBAQCAtMTA5Myw2ICsxMDk4 LDcgQEAgc3RhdGljIHZvaWQgYXJtX21heF9pbml0Zm4oT2JqZWN0ICpvYmopDQo+ICAgICAgY3B1 LT5pc2FyLmlkX2lzYXI1ID0gMHgwMDAxMTEyMTsNCj4gICAgICBjcHUtPmlzYXIuaWRfaXNhcjYg PSAwOw0KPiAgICAgIGNwdS0+aXNhci5kYmdkaWRyID0gMHgzNTE2ZDAwMDsNCj4gKyAgICBjcHUt PmlzYXIucmVzZXRfcG1jcl9lbDAgPSAweDQxMDEzMDAwOw0KPiAgICAgIGNwdS0+Y2xpZHIgPSAw eDBhMjAwMDIzOw0KPiAgICAgIGNwdS0+Y2NzaWRyWzBdID0gMHg3MDFmZTAwYTsgLyogMzJLQiBM MSBkY2FjaGUgKi8NCj4gICAgICBjcHUtPmNjc2lkclsxXSA9IDB4MjAxZmUwMTI7IC8qIDQ4S0Ig TDEgaWNhY2hlICovDQo+IGRpZmYgLS1naXQgYS90YXJnZXQvYXJtL2hlbHBlci5jIGIvdGFyZ2V0 L2FybS9oZWxwZXIuYw0KPiBpbmRleCA0MzJiZDgxOTE5NS4uNDM5MjIwZTQ1NzQgMTAwNjQ0DQo+ IC0tLSBhL3RhcmdldC9hcm0vaGVscGVyLmMNCj4gKysrIGIvdGFyZ2V0L2FybS9oZWxwZXIuYw0K PiBAQCAtMzksNyArMzksNiBAQA0KPiAgI2luY2x1ZGUgImNwcmVncy5oIg0KPiANCj4gICNkZWZp bmUgQVJNX0NQVV9GUkVRIDEwMDAwMDAwMDAgLyogRklYTUU6IDEgR0h6LCBzaG91bGQgYmUgY29u ZmlndXJhYmxlDQo+ICovDQo+IC0jZGVmaW5lIFBNQ1JfTlVNX0NPVU5URVJTIDQgLyogUUVNVSBJ TVBERUYgY2hvaWNlICovDQo+IA0KPiAgI2lmbmRlZiBDT05GSUdfVVNFUl9PTkxZDQo+IA0KPiBA QCAtNTUzMywxMyArNTUzMiw2IEBAIHN0YXRpYyBjb25zdCBBUk1DUFJlZ0luZm8gZWwyX2NwX3Jl Z2luZm9bXSA9IHsNCj4gICAgICAgIC5yZXNldHZhbHVlID0gMCwNCj4gICAgICAgIC53cml0ZWZu ID0gZ3RfaHlwX2N0bF93cml0ZSwgLnJhd193cml0ZWZuID0gcmF3X3dyaXRlIH0sDQo+ICAjZW5k aWYNCj4gLSAgICAvKiBUaGUgb25seSBmaWVsZCBvZiBNRENSX0VMMiB0aGF0IGhhcyBhIGRlZmlu ZWQgYXJjaGl0ZWN0dXJhbCByZXNldCB2YWx1ZQ0KPiAtICAgICAqIGlzIE1EQ1JfRUwyLkhQTU4g d2hpY2ggc2hvdWxkIHJlc2V0IHRvIHRoZSB2YWx1ZSBvZiBQTUNSX0VMMC5OLg0KPiAtICAgICAq Lw0KPiAtICAgIHsgLm5hbWUgPSAiTURDUl9FTDIiLCAuc3RhdGUgPSBBUk1fQ1BfU1RBVEVfQk9U SCwNCj4gLSAgICAgIC5vcGMwID0gMywgLm9wYzEgPSA0LCAuY3JuID0gMSwgLmNybSA9IDEsIC5v cGMyID0gMSwNCj4gLSAgICAgIC5hY2Nlc3MgPSBQTDJfUlcsIC5yZXNldHZhbHVlID0gUE1DUl9O VU1fQ09VTlRFUlMsDQo+IC0gICAgICAuZmllbGRvZmZzZXQgPSBvZmZzZXRvZihDUFVBUk1TdGF0 ZSwgY3AxNS5tZGNyX2VsMiksIH0sDQo+ICAgICAgeyAubmFtZSA9ICJIUEZBUiIsIC5zdGF0ZSA9 IEFSTV9DUF9TVEFURV9BQTMyLA0KPiAgICAgICAgLmNwID0gMTUsIC5vcGMxID0gNCwgLmNybiA9 IDYsIC5jcm0gPSAwLCAub3BjMiA9IDQsDQo+ICAgICAgICAuYWNjZXNzID0gUEwyX1JXLCAuYWNj ZXNzZm4gPSBhY2Nlc3NfZWwzX2FhMzJucywNCj4gQEAgLTY1ODYsNyArNjU3OCw3IEBAIHN0YXRp YyB2b2lkIGRlZmluZV9wbXVfcmVncyhBUk1DUFUgKmNwdSkNCj4gICAgICAgKiBmaWVsZCBhcyBt YWluIElEIHJlZ2lzdGVyLCBhbmQgd2UgaW1wbGVtZW50IGZvdXIgY291bnRlcnMgaW4NCj4gICAg ICAgKiBhZGRpdGlvbiB0byB0aGUgY3ljbGUgY291bnQgcmVnaXN0ZXIuDQo+ICAgICAgICovDQo+ IC0gICAgdW5zaWduZWQgaW50IGksIHBtY3JuID0gUE1DUl9OVU1fQ09VTlRFUlM7DQo+ICsgICAg dW5zaWduZWQgaW50IGksIHBtY3JuID0gcG11X251bV9jb3VudGVycygmY3B1LT5lbnYpOw0KPiAg ICAgIEFSTUNQUmVnSW5mbyBwbWNyID0gew0KPiAgICAgICAgICAubmFtZSA9ICJQTUNSIiwgLmNw ID0gMTUsIC5jcm4gPSA5LCAuY3JtID0gMTIsIC5vcGMxID0gMCwgLm9wYzIgPSAwLA0KPiAgICAg ICAgICAuYWNjZXNzID0gUEwwX1JXLA0KPiBAQCAtNjYwMSwxMCArNjU5MywxMCBAQCBzdGF0aWMg dm9pZCBkZWZpbmVfcG11X3JlZ3MoQVJNQ1BVICpjcHUpDQo+ICAgICAgICAgIC5hY2Nlc3MgPSBQ TDBfUlcsIC5hY2Nlc3NmbiA9IHBtcmVnX2FjY2VzcywNCj4gICAgICAgICAgLnR5cGUgPSBBUk1f Q1BfSU8sDQo+ICAgICAgICAgIC5maWVsZG9mZnNldCA9IG9mZnNldG9mKENQVUFSTVN0YXRlLCBj cDE1LmM5X3BtY3IpLA0KPiAtICAgICAgICAucmVzZXR2YWx1ZSA9IChjcHUtPm1pZHIgJiAweGZm MDAwMDAwKSB8IChwbWNybiA8PCBQTUNSTl9TSElGVCkgfA0KPiAtICAgICAgICAgICAgICAgICAg ICAgIFBNQ1JMQywNCj4gKyAgICAgICAgLnJlc2V0dmFsdWUgPSBjcHUtPmlzYXIucmVzZXRfcG1j cl9lbDAsDQo+ICAgICAgICAgIC53cml0ZWZuID0gcG1jcl93cml0ZSwgLnJhd193cml0ZWZuID0g cmF3X3dyaXRlLA0KPiAgICAgIH07DQo+ICsNCj4gICAgICBkZWZpbmVfb25lX2FybV9jcF9yZWco Y3B1LCAmcG1jcik7DQo+ICAgICAgZGVmaW5lX29uZV9hcm1fY3BfcmVnKGNwdSwgJnBtY3I2NCk7 DQo+ICAgICAgZm9yIChpID0gMDsgaSA8IHBtY3JuOyBpKyspIHsNCj4gQEAgLTc5NjEsNiArNzk1 MywxNyBAQCB2b2lkIHJlZ2lzdGVyX2NwX3JlZ3NfZm9yX2ZlYXR1cmVzKEFSTUNQVSAqY3B1KQ0K PiAgICAgICAgICAgICAgICAudHlwZSA9IEFSTV9DUF9FTDNfTk9fRUwyX0NfTlosDQo+ICAgICAg ICAgICAgICAgIC5maWVsZG9mZnNldCA9IG9mZnNldG9mKENQVUFSTVN0YXRlLCBjcDE1LnZtcGlk cl9lbDIpIH0sDQo+ICAgICAgICAgIH07DQo+ICsgICAgICAgIC8qDQo+ICsgICAgICAgICAqIFRo ZSBvbmx5IGZpZWxkIG9mIE1EQ1JfRUwyIHRoYXQgaGFzIGEgZGVmaW5lZCBhcmNoaXRlY3R1cmFs IHJlc2V0DQo+ICsgICAgICAgICAqIHZhbHVlIGlzIE1EQ1JfRUwyLkhQTU4gd2hpY2ggc2hvdWxk IHJlc2V0IHRvIHRoZSB2YWx1ZSBvZg0KPiBQTUNSX0VMMC5OLg0KPiArICAgICAgICAgKi8NCj4g KyAgICAgICAgQVJNQ1BSZWdJbmZvIG1kY3JfZWwyID0gew0KPiArICAgICAgICAgICAgLm5hbWUg PSAiTURDUl9FTDIiLCAuc3RhdGUgPSBBUk1fQ1BfU1RBVEVfQk9USCwNCj4gKyAgICAgICAgICAg IC5vcGMwID0gMywgLm9wYzEgPSA0LCAuY3JuID0gMSwgLmNybSA9IDEsIC5vcGMyID0gMSwNCj4g KyAgICAgICAgICAgIC5hY2Nlc3MgPSBQTDJfUlcsIC5yZXNldHZhbHVlID0gcG11X251bV9jb3Vu dGVycyhlbnYpLA0KPiArICAgICAgICAgICAgLmZpZWxkb2Zmc2V0ID0gb2Zmc2V0b2YoQ1BVQVJN U3RhdGUsIGNwMTUubWRjcl9lbDIpLA0KPiArICAgICAgICB9Ow0KPiArICAgICAgICBkZWZpbmVf b25lX2FybV9jcF9yZWcoY3B1LCAmbWRjcl9lbDIpOw0KPiAgICAgICAgICBkZWZpbmVfYXJtX2Nw X3JlZ3MoY3B1LCB2cGlkcl9yZWdzKTsNCj4gICAgICAgICAgZGVmaW5lX2FybV9jcF9yZWdzKGNw dSwgZWwyX2NwX3JlZ2luZm8pOw0KPiAgICAgICAgICBpZiAoYXJtX2ZlYXR1cmUoZW52LCBBUk1f RkVBVFVSRV9WOCkpIHsNCj4gZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0va3ZtNjQuYyBiL3Rhcmdl dC9hcm0va3ZtNjQuYw0KPiBpbmRleCBiOGNmYWY1NzgyYS4uMzYzMDMyZGE5MDMgMTAwNjQ0DQo+ IC0tLSBhL3RhcmdldC9hcm0va3ZtNjQuYw0KPiArKysgYi90YXJnZXQvYXJtL2t2bTY0LmMNCj4g QEAgLTUwNSw2ICs1MDUsNyBAQCBib29sDQo+IGt2bV9hcm1fZ2V0X2hvc3RfY3B1X2ZlYXR1cmVz KEFSTUhvc3RDUFVGZWF0dXJlcyAqYWhjZikNCj4gICAgICAgKi8NCj4gICAgICBpbnQgZmRhcnJh eVszXTsNCj4gICAgICBib29sIHN2ZV9zdXBwb3J0ZWQ7DQo+ICsgICAgYm9vbCBwbXVfc3VwcG9y dGVkID0gZmFsc2U7DQo+ICAgICAgdWludDY0X3QgZmVhdHVyZXMgPSAwOw0KPiAgICAgIHVpbnQ2 NF90IHQ7DQo+ICAgICAgaW50IGVycjsNCj4gQEAgLTUzNyw2ICs1MzgsMTEgQEAgYm9vbA0KPiBr dm1fYXJtX2dldF9ob3N0X2NwdV9mZWF0dXJlcyhBUk1Ib3N0Q1BVRmVhdHVyZXMgKmFoY2YpDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgPDwgS1ZNX0FSTV9WQ1BVX1BUUkFVVEhf R0VORVJJQyk7DQo+ICAgICAgfQ0KPiANCj4gKyAgICBpZiAoa3ZtX2FybV9wbXVfc3VwcG9ydGVk KCkpIHsNCj4gKyAgICAgICAgaW5pdC5mZWF0dXJlc1swXSB8PSAxIDw8IEtWTV9BUk1fVkNQVV9Q TVVfVjM7DQo+ICsgICAgICAgIHBtdV9zdXBwb3J0ZWQgPSB0cnVlOw0KPiArICAgIH0NCj4gKw0K PiAgICAgIGlmICgha3ZtX2FybV9jcmVhdGVfc2NyYXRjaF9ob3N0X3ZjcHUoY3B1c190b190cnks IGZkYXJyYXksICZpbml0KSkgew0KPiAgICAgICAgICByZXR1cm4gZmFsc2U7DQo+ICAgICAgfQ0K PiBAQCAtNjU5LDYgKzY2NSwxMiBAQCBib29sDQo+IGt2bV9hcm1fZ2V0X2hvc3RfY3B1X2ZlYXR1 cmVzKEFSTUhvc3RDUFVGZWF0dXJlcyAqYWhjZikNCj4gICAgICAgICAgICAgIGRiZ2RpZHIgfD0g KDEgPDwgMTUpOyAvKiBSRVMxIGJpdCAqLw0KPiAgICAgICAgICAgICAgYWhjZi0+aXNhci5kYmdk aWRyID0gZGJnZGlkcjsNCj4gICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIGlmIChwbXVfc3Vw cG9ydGVkKSB7DQo+ICsgICAgICAgICAgICAvKiBQTUNSX0VMMCBpcyBvbmx5IGFjY2Vzc2libGUg aWYgdGhlIHZDUFUgaGFzIGZlYXR1cmUgUE1VX1YzDQo+ICovDQo+ICsgICAgICAgICAgICBlcnIg fD0gcmVhZF9zeXNfcmVnNjQoZmRhcnJheVsyXSwgJmFoY2YtPmlzYXIucmVzZXRfcG1jcl9lbDAs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJNNjRfU1lTX1JFRygzLCAz LCA5LCAxMiwgMCkpOw0KPiArICAgICAgICB9DQo+ICAgICAgfQ0KPiANCj4gICAgICBzdmVfc3Vw cG9ydGVkID0gaW9jdGwoZmRhcnJheVswXSwgS1ZNX0NIRUNLX0VYVEVOU0lPTiwNCj4gS1ZNX0NB UF9BUk1fU1ZFKSA+IDA7DQo+IC0tDQo+IDIuMjUuMQ0KDQo=