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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D25B9C636CD for ; Mon, 6 Feb 2023 02:57:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229603AbjBFC5l (ORCPT ); Sun, 5 Feb 2023 21:57:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229493AbjBFC5i (ORCPT ); Sun, 5 Feb 2023 21:57:38 -0500 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2069.outbound.protection.outlook.com [40.107.220.69]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59B7A196BE; Sun, 5 Feb 2023 18:57:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ORblaKcTb8CFwR8uCY1Enh+gE0Ut5coK1NesHFu9pMAyJGhxmKuJ26ayOuoyZdjG3tawECmDVIxjYJSjiVT9oZJ2Mx0NGoBnQc9y4/ATExuQFSJrDPAFibIxN9TrsodB866KqYiCq1fcst0isXY6vccHQHhHFkO2UPXgKq7TS4+87vY2rPZTyHCnXO3knUsSD4M0n2W/7jTV0LFnkK9V9gsqYhmPgPcv3N13hCHIh2Y6nLn75gLy+JMBcHOc8veqJYbbbz1UOvL4kvg9z8+I2OPrspjNUAm6Bz4z6IXGZJ/bBLpAYlLwBow5Pgm77HkfLPRA6ybY/Sqz8uS0QX+UCQ== 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=CJ/AYFnwrJmkIgm8A584DOOh/IeiwtiJzdfGzQSL/VI=; b=oC0NHUEoJGv/TIHmI8qwvFabeeIFR5A7IPZ+dOYPh08q3lih9r94269cPZhWB5N5g9pFA33ddPwxQc8bFMRuTfFz0hjedwq9lmjt4q7I1p03gQckw04fYSiGgyY9nE58sTvtGPZTqiKVAZ6A1V3wL8XcK0jBuA6G6bttlmFvglqVoRx70OsgjASDvwHrF8PX7JsHEkXhP94pibNVmz7rn+YdFmp2q+RKwsY+/Dqdk4RFeGlPm8xPVjR7uARibm8d5ogj02jiGQMm+ojdeUxdzVn9XrqphxnX/8NdMYJ1HdUHssbsQGYcUrTNFUqylMdVJKNuL5vobzH3YTZv7K539A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CJ/AYFnwrJmkIgm8A584DOOh/IeiwtiJzdfGzQSL/VI=; b=rsn+IU9PWgnLk8jBUZv215mnA8Nhihdc7V0DIpOZ/e82rqWIW71ePh/eKN/p6sK8L+H+bbYEAjJ3MYm4bE6AXiC7WDRu9+30bfx5DHHIa7U35Ag/BbGoX7DHCiQsqVLDXORGLBxiuyEUjy4LZc9tA3Dp7nLtjleU20ydRIQ+/As= Received: from DM4PR12MB5278.namprd12.prod.outlook.com (2603:10b6:5:39e::17) by SN7PR12MB7105.namprd12.prod.outlook.com (2603:10b6:806:2a0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Mon, 6 Feb 2023 02:57:33 +0000 Received: from DM4PR12MB5278.namprd12.prod.outlook.com ([fe80::21db:f27a:291b:c35d]) by DM4PR12MB5278.namprd12.prod.outlook.com ([fe80::21db:f27a:291b:c35d%7]) with mapi id 15.20.6064.032; Mon, 6 Feb 2023 02:57:33 +0000 From: "Yuan, Perry" To: "Rafael J. Wysocki" , "Limonciello, Mario" , "Huang, Ray" , "Fontenot, Nathan" , "Karny, Wyes" CC: "rafael.j.wysocki@intel.com" , "viresh.kumar@linaro.org" , "Sharma, Deepak" , "Deucher, Alexander" , "Huang, Shimmer" , "Du, Xiaojian" , "Meng, Li (Jassmine)" , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v12 00/11] Implement AMD Pstate EPP Driver Thread-Topic: [PATCH v12 00/11] Implement AMD Pstate EPP Driver Thread-Index: AQHZNVJpc21qeEmMjk6xXGKVzYrVT669u0aAgAOEHQA= Date: Mon, 6 Feb 2023 02:57:33 +0000 Message-ID: References: <20230131090016.3970625-1-perry.yuan@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-02-06T02:57:30Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=c580b23c-904c-44fd-88ec-13bbf7eba903; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_enabled: true msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_setdate: 2023-02-06T02:57:30Z msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_method: Standard msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_name: General msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_actionid: d6896831-744e-403f-938a-20c425e7a4c0 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_contentbits: 0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5278:EE_|SN7PR12MB7105:EE_ x-ms-office365-filtering-correlation-id: e9149fe7-eaa5-4e7e-d33e-08db07ede4e7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +dS9v90v5SKEWpey+/sCz5FJRCZ8PFodK7GPRSojdmKMAWEKjmsl8lXPlZmzW1YvLDBvSSjelUn3ezWm0DeuKaGj/jhIbr/jJXYV0h7Mj/VN8gZwOrEdqSN2C8gEPWOumG6Lw1hi1n92Mr4KaWgLd7oaarkLoBp+SS8k+H7cfJHFJST4vkq5EiS4OrooFTDyJYg9L1mrelmcZn8veXOYPjqtgVNVAWyilvhZx+0d63HwIUvcGg0P2CBUnN/BmNkaJNw9T28XBDblEO+0z6bjhQ219Oy1XKkwhgIpsCzzUdX+yFbHp+A/eAOH7Nus0PA2+bn/HIYYR2Agwx7NeXpGx5DQb1I52x9CCdKpfOYRwP5lahvdDJM4YSd4gpVNrht3BIQXV+Vs6OG0AT7LwBE9FtIG9+//7QHLOOWcsF7QPf7XgDpqBSz9Sz0HJ+AJXbevNw+rWeBAmNbd2fXMoE6lxyXv5FDV+q3UpiiGR63hC5v4vGj7XFFeip+2R+RdcOviAuxyU6vAQBW3K4DUYUFF1G5EwwQo2cMfTVUeUrdgt+4a5hHGSFSwWTBwoU9hS9Zq5K39ksjqZ2pKks9gQV7vwCc9SdmgZvr08fbR7+bwXLbUmPJ61ZDE2OO2VikpuFx9vWE5peBRtErFU0TVW0hbybEdIFIYnzGxJOA2YGfGb/6dARCClOgYAv8E0Ae1xlkv42kYSzJa9pFm3YHKieaaQ2heL+2SPBsb8FMzRC3hg4WJq8a7yBC1LmcNNN+wUaMz x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5278.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199018)(54906003)(478600001)(966005)(6636002)(7696005)(45080400002)(316002)(71200400001)(2906002)(122000001)(38100700002)(38070700005)(55016003)(86362001)(33656002)(53546011)(66476007)(66556008)(83380400001)(64756008)(66446008)(8676002)(66946007)(4326008)(76116006)(30864003)(8936002)(52536014)(110136005)(6506007)(5660300002)(41300700001)(186003)(26005)(9686003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VlJiZEtORGRkbDd4K0ZCK0kwSTJSdHFjTzdYNjlzQlo0SXRNa1poY2dNa2dX?= =?utf-8?B?Mlc4RXVkbVpSeDBRaEpmalhRRVlaV2NVSHEwTFE1UTBwZlN0aGY4NTU5Y3ln?= =?utf-8?B?aTkwRGdua3ZXSjIwRFZZazVRNklRSmU2OHVQbVVReW1TMjF1MUJxQVdGektl?= =?utf-8?B?UE14dXpWZFc2T01mVmFqS1UxSjFBc0FSUmU0SVdtSUEySzRqZm8vZUNzRGpr?= =?utf-8?B?SzF3aEcyaWRXclN5ZWZxcTY5ZlIwclV3YjBSb2p1L3hVRzFLa1BDUmdZQktz?= =?utf-8?B?a3ppVktBekJrZU9uWjIrbm1WeEpjNWo2WnFTeXZTK0N2bHNwbHlHWjNNTXoz?= =?utf-8?B?UXIrVjV5alBJSlU2TW0vSXVvSXlXV25EUE5ROEpFdGwwVEhMTHcrR0dCN1J0?= =?utf-8?B?eTZTaFQ0dXM2Z2VLRlE5bkxsQW50ZTlLcnlYRlc0UWZvT1cvU3VCYVgrSkxj?= =?utf-8?B?a3VKcjVJZC8vMDRSZkFHK3JJTkdqeHFFcWM4STFqTDhWMVFxMmVYa3Z3enhx?= =?utf-8?B?c2pSZVd3UU1PcjVQM0VvM0hYQk9Rc2dSdnpIa3BDLzA5dnZLbUw0SUwxSXAv?= =?utf-8?B?UmY3S2VsMUxaMHlkRXJsTGRZY2FNV2FrbXJWdFFLRjJ0R0FpN3Rpd3Nzc0hn?= =?utf-8?B?Ym0rYyt2a3Rra3ZmZUE1SCsvaHZkcUtBNmJRNVEwK3I3Y1NXUU5rN2VQV05w?= =?utf-8?B?T1hlc2F2ZlArRnFYVDYyaWxaV1NWVkNiTmhaRzhKb3p0Lys0dWxpTlJ6aUZX?= =?utf-8?B?b2ZmbEE2bWhlUW5ZZGhIM01KckNuQXAyb3JROThic1J5Q2svMVBxTFdIL2FE?= =?utf-8?B?bHo3aHlRay94elpIUERSaHVHOU9BWkZjbmFCUHp4bU1nMzhyNUI5NVJBejhX?= =?utf-8?B?bitUYUFpSk0xNHNXc1NjdEx5OGR2VHBqV3R1bHdGZFdta21UVjllaFptbEZx?= =?utf-8?B?VzUrN2E4YnJYVzQ0WjIzakhIU2FIRzBqak5mUnc5RDlJeGROU2pCelEyb3I5?= =?utf-8?B?SXlMaElqOGs3TVY0QURzb2J2MytiMXBHWlQyalVqdFYxQVpwOHdJc2lMQUVK?= =?utf-8?B?QlpBb1oxMDdPWitjUlNMazFnNFkySHZFSVdQL2FsUnJESmRheE13T2NVNkZK?= =?utf-8?B?ZWdzR2VnSWNqQ3JBOHlmNmNxbFkyZDlpWWNEaUtidlBwTDNnQjdJTzJpWWd6?= =?utf-8?B?WmMwcjhXK1FxTmVaYUhuRjRCcENOVVhBNlZoSXVvSlZSNVN0end6bVEyc1gx?= =?utf-8?B?TU9hSkhaOWZhSytsdUFOSHJLdG0yN2NNYi9mUzBJSUE0SytQYVdEb29zWkNq?= =?utf-8?B?VXF0cTFDczc0RUc2MVFxcXo5NDA3OFhmU2VtNzJ6NEZHcGVzSDBMcm01L0x6?= =?utf-8?B?RWVFL3VWYW0yYXlKNEhiMWp3VSt6NlFyMWw0dWcvMGg2Q0NaaDI2UXZmbE9B?= =?utf-8?B?NFI0YlBBRWJwQ3BmbnE3UFl5WTEvTEZKN2JNZEg4Si9ZWFptN1pUYk9EM1Br?= =?utf-8?B?eFNKR3lETlRZa1ovKzFVZXhtNkZrUVJxSUtMcWJNemgxbUx5RG9kOExYMjg2?= =?utf-8?B?dzh6RVV6L1ZleHlnOE9YVC9tMEFrdHpQRG5lM2xnMFkxcit0eDNBVUF5dmp0?= =?utf-8?B?Z1VtS3BCaFBmY3Nib0ljalNDN1lmRjVoYmlyQk9ZSWZZV084VmZkOG5kSDE2?= =?utf-8?B?SmYxc0swU1hjbVhxdTU1REhlTVp0RHJGQjk5R2xDYytjalo2R3d6RTBzSnpU?= =?utf-8?B?WEdCQ0RHUklIRjR6Uzhaa2RYU0hKY1FzYVFIVFlrMXBCNXZPWHMwNC80RGY2?= =?utf-8?B?Rk54U3lwYlpTOFR0QlRrbUtkd1V4OWEzYXdGRXlDTjI4ZHlINkY3TThQRjZx?= =?utf-8?B?NDZyV055dFFVb1Y4ZVhuMWg3Y2RZS1Z0NCtmV29zRVY4bk43bnpNdmxZS3Fm?= =?utf-8?B?YUowUmlmSkVkNHdCL3hKejJPTEhtNkl5Y3lqd0s1YXJ5MFdLb2IraGlvb01X?= =?utf-8?B?a3lwNGp2aWc2LzBuZHkrWHppOTNETDQ5d2pQK282ejd3bW1LNUZmU3M1cWEy?= =?utf-8?B?S1FiWm5SUVdNc2F2SjRMemd6ZnJpWktkSWplMGJWK0xvbVV4a2xNNFJ5QkdR?= =?utf-8?Q?Y6VVOe3RapLbihV5yKKs64EDA?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5278.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9149fe7-eaa5-4e7e-d33e-08db07ede4e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Feb 2023 02:57:33.1474 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9OfsEc+E9otv+OY06Cm+lZVsZ0HLbkOFDMvxdB7nFZQleOHKEhm3F0nTjjsPP6b6hkJN3J0vieL627omR/Tjnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7105 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsQGtlcm5lbC5vcmc+ DQo+IFNlbnQ6IFNhdHVyZGF5LCBGZWJydWFyeSA0LCAyMDIzIDU6MDMgQU0NCj4gVG86IFl1YW4s IFBlcnJ5IDxQZXJyeS5ZdWFuQGFtZC5jb20+DQo+IENjOiByYWZhZWwuai53eXNvY2tpQGludGVs LmNvbTsgTGltb25jaWVsbG8sIE1hcmlvDQo+IDxNYXJpby5MaW1vbmNpZWxsb0BhbWQuY29tPjsg SHVhbmcsIFJheSA8UmF5Lkh1YW5nQGFtZC5jb20+Ow0KPiB2aXJlc2gua3VtYXJAbGluYXJvLm9y ZzsgU2hhcm1hLCBEZWVwYWsgPERlZXBhay5TaGFybWFAYW1kLmNvbT47DQo+IEZvbnRlbm90LCBO YXRoYW4gPE5hdGhhbi5Gb250ZW5vdEBhbWQuY29tPjsgRGV1Y2hlciwgQWxleGFuZGVyDQo+IDxB bGV4YW5kZXIuRGV1Y2hlckBhbWQuY29tPjsgSHVhbmcsIFNoaW1tZXINCj4gPFNoaW1tZXIuSHVh bmdAYW1kLmNvbT47IER1LCBYaWFvamlhbiA8WGlhb2ppYW4uRHVAYW1kLmNvbT47IE1lbmcsIExp DQo+IChKYXNzbWluZSkgPExpLk1lbmdAYW1kLmNvbT47IEthcm55LCBXeWVzIDxXeWVzLkthcm55 QGFtZC5jb20+OyBsaW51eC0NCj4gcG1Admdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEyIDAwLzExXSBJbXBsZW1lbnQg QU1EIFBzdGF0ZSBFUFAgRHJpdmVyDQo+IA0KPiBPbiBUdWUsIEphbiAzMSwgMjAyMyBhdCAxMDow NSBBTSBQZXJyeSBZdWFuIDxwZXJyeS55dWFuQGFtZC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gSGkg YWxsLA0KPiA+DQo+ID4gVGhpcyBwYXRjaHNldCBpbXBsZW1lbnRzIG9uZSBuZXcgQU1EIENQVSBm cmVxdWVuY3kgZHJpdmVyDQo+ID4gYGFtZC1wc3RhdGUtZXBwYCBpbnN0YW5jZSBmb3IgYmV0dGVy IHBlcmZvcm1hbmNlIGFuZCBwb3dlciBjb250cm9sLg0KPiA+IENQUEMgaGFzIGEgcGFyYW1ldGVy IGNhbGxlZCBlbmVyZ3kgcHJlZmVyZW5jZSBwZXJmb3JtYW5jZSAoRVBQKS4NCj4gPiBUaGUgRVBQ IGlzIHVzZWQgaW4gdGhlIENDTEsgRFBNIGNvbnRyb2xsZXIgdG8gZHJpdmUgdGhlIGZyZXF1ZW5j eSB0aGF0DQo+ID4gYSBjb3JlIGlzIGdvaW5nIHRvIG9wZXJhdGUgZHVyaW5nIHNob3J0IHBlcmlv ZHMgb2YgYWN0aXZpdHkuDQo+ID4gRVBQIHZhbHVlcyB3aWxsIGJlIHV0aWxpemVkIGZvciBkaWZm ZXJlbnQgT1MgcHJvZmlsZXMgKGJhbGFuY2VkLCBwZXJmb3JtYW5jZSwNCj4gcG93ZXIgc2F2aW5n cykuDQo+ID4NCj4gPiBBTUQgRW5lcmd5IFBlcmZvcm1hbmNlIFByZWZlcmVuY2UgKEVQUCkgcHJv dmlkZXMgYSBoaW50IHRvIHRoZQ0KPiA+IGhhcmR3YXJlIGlmIHNvZnR3YXJlIHdhbnRzIHRvIGJp YXMgdG93YXJkIHBlcmZvcm1hbmNlICgweDApIG9yIGVuZXJneQ0KPiA+IGVmZmljaWVuY3kgKDB4 ZmYpIFRoZSBsb3dsZXZlbCBwb3dlciBmaXJtd2FyZSB3aWxsIGNhbGN1bGF0ZSB0aGUNCj4gPiBy dW50aW1lIGZyZXF1ZW5jeSBhY2NvcmRpbmcgdG8gdGhlIEVQUCBwcmVmZXJlbmNlIHZhbHVlLiBT byB0aGUgRVBQIGhpbnQgd2lsbA0KPiBpbXBhY3QgdGhlIENQVSBjb3JlcyBmcmVxdWVuY3kgcmVz cG9uc2l2ZW5lc3MuDQo+ID4NCj4gPiBXZSB1c2UgdGhlIFJBUEwgaW50ZXJmYWNlIHdpdGggInBl cmYiIHRvb2wgdG8gZ2V0IHRoZSBlbmVyZ3kgZGF0YSBvZiB0aGUNCj4gcGFja2FnZSBwb3dlci4N Cj4gPiBQZXJmb3JtYW5jZSBQZXIgV2F0dCAoUFBXKSBDYWxjdWxhdGlvbjoNCj4gPg0KPiA+IFRo ZSBQUFcgY2FsY3VsYXRpb24gaXMgcmVmZXJyZWQgYnkgYmVsb3cgcGFwZXI6DQo+ID4gaHR0cHM6 Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJG JTJGc29mdA0KPiA+DQo+IHdhcmUuaW50ZWwuY29tJTJGY29udGVudCUyRmRhbSUyRmRldmVsb3Al MkZleHRlcm5hbCUyRnVzJTJGZW4lMkZkbw0KPiBjdW1lDQo+ID4gbnRzJTJGcGVyZm9ybWFuY2Ut cGVyLXdoYXQtDQo+IHBhcGVyLnBkZiZhbXA7ZGF0YT0wNCU3QzAxJTdDUGVycnkuWXVhbiU0MGEN Cj4gPg0KPiBtZC5jb20lN0NhYzY2ZThjZTk4MDQ0ZTliMDYyNzA4ZDlhYjQ3YzhkOCU3QzNkZDg5 NjFmZTQ4ODRlNjA4ZTExDQo+IGE4MmQ5OQ0KPiA+DQo+IDRlMTgzZCU3QzAlN0MwJTdDNjM3NzI5 MTQ3NzA4NTc0NDIzJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGUNCj4geUpXSWpvaU1DDQo+ID4N Cj4gNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAl M0QlN0MzMDAwJmENCj4gbXA7c2QNCj4gPg0KPiBhdGE9VFBPdkNFJTJGcmJiMHB0QnJlV054SHFP aTlZblZoY0hHS0c4OHZ2aURMYjAwJTNEJmFtcDtyZXNlcnZlDQo+IGQ9MA0KPiA+DQo+ID4gQmVs b3cgZm9ybXVsYSBpcyByZWZlcnJlZCBmcm9tIGJlbG93IHNwZWMgdG8gbWVhc3VyZSB0aGUgUFBX Og0KPiA+DQo+ID4gKEYgLyB0KSAvIFAgPSBGICogdCAvICh0ICogRSkgPSBGIC8gRSwNCj4gPg0K PiA+ICJGIiBpcyB0aGUgbnVtYmVyIG9mIGZyYW1lcyBwZXIgc2Vjb25kLg0KPiA+ICJQIiBpcyBw b3dlciBtZWFzdXJlZCBpbiB3YXR0cy4NCj4gPiAiRSIgaXMgZW5lcmd5IG1lYXN1cmVkIGluIGpv dWxlcy4NCj4gPg0KPiA+IEdpdHNvdWNlIEJlbmNobWFyayBEYXRhIG9uIFJPTUUgU2VydmVyIENQ VQ0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQ0KPiAtKw0KPiA+IHwg S2VybmVsIE1vZHVsZSAgICAgICAgICAgICAgICB8IFBQVyAoMSAvIHMgKiBKKSAgICAgICAgICAg ICAgfEVuZXJneShKKSB8IFBQVw0KPiBJbXByb3ZlbWVudCAoJSl8DQo+ID4NCj4gKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT0N Cj4gPT09PT0NCj4gPiArPT09PT0rPT09PT09PT09PT09PT09PT09Kw0KPiA+IHwgYWNwaS1jcHVm cmVxOnNjaGVkdXRpbCAgICAgICB8IDUuODU2NThFLTA1ICAgICAgICAgICAgICAgICAgfCAxNzA3 NC44ICAgIHwgYmFzZSAgICAgICAgICAgICB8DQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tDQo+IC0rDQo+ID4gfCBhY3BpLWNwdWZyZXE6b25kZW1hbmQgICAgICAgIHwg NS4wMzA3OUUtMDUgICAgICAgICAgICAgICAgICB8IDE5ODc3LjYgICAgfCAtMTQuMTAlDQo+IHwN Cj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0NCj4gLSsNCj4gPiB8IGFj cGktY3B1ZnJlcTpwZXJmb3JtYW5jZSAgICAgfCA1Ljg4MTMyRS0wNSAgICAgICAgICAgICAgICAg IHwgMTcwMDMgICAgICB8IDAuNDIlDQo+IHwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0NCj4gLSsNCj4gPiB8IGFtZC1wc3RhdGU6b25kZW1hbmQgICAgICAgICAgfCA0 LjYwMjk1RS0wNSAgICAgICAgICAgICAgICAgIHwgMjE3MjUuMiAgICB8IC0yMS40MSUNCj4gfA0K PiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQ0KPiAtKw0KPiA+IHwgYW1k LXBzdGF0ZTpzY2hlZHV0aWwgICAgICAgICB8IDQuNzAwMjZFLTA1ICAgICAgICAgICAgICAgICAg fCAyMTI3NS40ICAgIHwgLTE5LjclDQo+IHwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0NCj4gLSsNCj4gPiB8IGFtZC1wc3RhdGU6cGVyZm9ybWFuY2UgICAgICAgfCA1 LjgwMDk0RS0wNSAgICAgICAgICAgICAgICAgIHwgMTcyMzguNiAgICB8IC0wLjk1JQ0KPiB8DQo+ ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tDQo+IC0rDQo+ID4gfCBFUFA6 cGVyZm9ybWFuY2UgICAgICAgICAgICAgIHwgNS44MjkyRS0wNSAgICAgICAgICAgICAgICAgICB8 IDE3MTU1ICAgICAgfCAtMC40NyUgICAgICAgICAgIHwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0NCj4gLSsNCj4gPiB8IEVQUDogYmFsYW5jZSBwZXJmb3JtYW5jZTog ICAgfCA2LjcxNzA5RS0wNSAgICAgICAgICAgICAgICAgIHwgMTQ4ODcuNCAgICB8IDE0LjY5JQ0K PiB8DQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tDQo+IC0rDQo+ID4g fCBFUFA6cG93ZXIgICAgICAgICAgICAgICAgICAgIHwgNi42Njk1MUUtMDUgICAgICAgICAgICAg ICAgICB8IDQ5OTMuNiAgICAgfCAxMy44OCUgICAgICAgICAgIHwNCj4gPiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0NCj4gLSsNCj4gPg0KPiA+IFRiZW5jaCBCZW5jaG1hcmsg RGF0YSBvbiBST01FIFNlcnZlciBDUFUNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0NCj4gLS0rLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+IHwgS2VybmVsIE1vZHVsZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFBQVyBNQiAvIChzICogSikgIHxUaHJvdWdo cHV0KE1CL3MpfA0KPiBFbmVyZ3kgKEopfFBQVyBJbXByb3ZlbWVudCglKXwNCj4gPg0KPiArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09 PT09PQ0KPiA9Kz09PQ0KPiA+ICs9PT09PT09PT09PSs9PT09PT09PT09PT09Kz09PT09PT09PT09 PT09PT09PSsNCj4gPiB8IGFjcGlfY3B1ZnJlcTogc2NoZWR1dGlsICAgICAgICAgICAgICAgICAg ICAgfCA0Ni4zOSAgICAgICAgICAgICB8IDE3MTkxICAgICAgICB8IDM3MDU3LjMgICAgIHwNCj4g YmFzZSAgICAgICAgICAgICB8DQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tDQo+IC0tKy0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiB8IGFjcGlfY3B1ZnJlcTogb25kZW1h bmQgICAgICAgICAgICAgICAgICAgICAgfCA1MS41MSAgICAgICAgICAgICB8IDE5MjY5LjUgICAg ICB8IDM3NDA2LjUNCj4gfCAxMS4wNCAlICAgICAgICAgIHwNCj4gPiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0NCj4gLS0rLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+IHwgYWNw aV9jcHVmcmVxOiBwZXJmb3JtYW5jZSAgICAgICAgICAgICAgICAgICB8IDQ1Ljk2ICAgICAgICAg ICAgIHwgMTcwNjMuNyAgICAgIHwgMzcxMjMuNw0KPiB8IC0wLjc0ICUgICAgICAgICAgfA0KPiA+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQ0KPiAtLSstLS0tLS0tLS0tLS0t LS0tLS0rDQo+ID4gfCBFUFA6cG93ZXJzYXZlOiBwZXJmb3JtYW5jZSgwKSAgICAgICAgICAgICAg IHwgNTQuNDYgICAgICAgICAgICAgfCAyMDI2My4xICAgICAgfCAzNzIwNQ0KPiB8IDE3Ljg3ICUg ICAgICAgICAgfA0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQ0KPiAt LSstLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gfCBFUFA6cG93ZXJzYXZlOiBiYWxhbmNlIHBlcmZv cm1hbmNlICAgICAgICAgIHwgNTUuMDMgICAgICAgICAgICAgfCAyMDQ4MS45ICAgICAgfA0KPiAz NzIyMS41ICAgICB8IDE5LjE0ICUgICAgICAgICAgfA0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQ0KPiAtLSstLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gfCBFUFA6cG93 ZXJzYXZlOiBiYWxhbmNlX3Bvd2VyICAgICAgICAgICAgICAgIHwgNTQuNDMgICAgICAgICAgICAg fCAyMDI0NS45ICAgICAgfA0KPiAzNzE5NC4yICAgICB8IDE3Ljc3ICUgICAgICAgICAgfA0KPiA+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQ0KPiAtLSstLS0tLS0tLS0tLS0t LS0tLS0rDQo+ID4gfCBFUFA6cG93ZXJzYXZlOiBwb3dlcigyNTUpICAgICAgICAgICAgICAgICAg IHwgNTQuMjYgICAgICAgICAgICAgfCAyMDE4MS43ICAgICAgfCAzNzE5Ny40DQo+IHwgMTcuNDAg JSAgICAgICAgICB8DQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tDQo+ IC0tKy0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiB8IGFtZC1wc3RhdGU6IHNjaGVkdXRpbCAgICAg ICAgICAgICAgICAgICAgICAgfCA0OC4yMiAgICAgICAgICAgICB8IDE3ODQ0LjkgICAgICB8IDM3 MDA2LjYgICAgIHwNCj4gMy44MCAlICAgICAgICAgICB8DQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tDQo+IC0tKy0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiB8IGFtZC1w c3RhdGU6IG9uZGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgfCA2MS4zMCAgICAgICAgICAg ICB8IDIyOTg4ICAgICAgICB8IDM3NTAzLjQgICAgIHwNCj4gMzMuNzIgJSAgICAgICAgICB8DQo+ ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tDQo+IC0tKy0tLS0tLS0tLS0t LS0tLS0tLSsNCj4gPiB8IGFtZC1wc3RhdGU6IHBlcmZvcm1hbmNlICAgICAgICAgICAgICAgICAg ICAgfCA1NC41MiAgICAgICAgICAgICB8IDIwMjUyLjYgICAgICB8IDM3MTQ3LjgNCj4gfCAxNy44 MSAlICAgICAgICAgIHwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0N Cj4gLS0rLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+DQo+ID4gY2hhbmdlcyBmcm9tIHYxMToNCj4g PiAgKiByZWJhc2UgdG8gbGF0ZXN0IGxpbnV4LXBtL2JsZWVkaW5nLWVkZ2Uga2VybmVsIHRyZWUN Cj4gPiAgKiBmaXggdGhlIENJIGJ1aWxkIHdhcm5pbmcgaXNzdWUNCj4gPiAgKiBwaWNrIHVwIFJC IGZsYWcgZnJvbSBXeWVzDQo+ID4NCj4gPiBjaGFuZ2VzIGZyb20gdjEwOg0KPiA+ICAqIHBpY2sg dXAgYWxsIG5ldyBhY2sgZmxhcyBhZGRlZCBieSBSYXkNCj4gPiAgKiBwaWNrIHVwIFJldmlldy1C eSBmbGFnIGFkZGVkIGJ5IFd5ZXMNCj4gPiAgKiBwaWNrIHVwIFRlc3QtQnkgZmxhZ3MgYWRkZWQg YnkgV3llcw0KPiA+ICAqIG1vdmUgdGhlIEVQUCBtYWNybyBkZWZpbml0aW9uIHRvIGFtZF9wc3Rh dGUuaCBhbmQgZHJvcCB0aGUgY29tbW9uDQo+ID4gICAgY29kZSBwYXRjaA0KPiA+ICAqIGFkZCBh bWRfcGVyZl9jdGxfcmVzZXQoKSBpbiBlcHAgaW5pdCBjb2RlIGFzIHdlbGwNCj4gPiAgKiBBcyB0 aGUgd2FybmluZyB3aGljaCByZW1pbmRlZCBieSAwZGF5LCBjaGFuZ2UNCj4gYW1kX3BzdGF0ZV9n ZXRfZXBwKGNwdWRhdGEsIHZhbHVlKQ0KPiA+ICAgIHRvIGFtZF9wc3RhdGVfZ2V0X2VwcChjcHVk YXRhLCAwKS4NCj4gPg0KPiA+IGNoYW5nZXMgZnJvbSB2ODoNCj4gPiAgKiBkcml2ZSBhbGwgdGhl IGZlZWRiYWNrcyBmcm9tIE1hcmlvIGFuZCBjaGFuZ2UgdGhlIGNvZGVzIGluIHRoaXMNCj4gPiAg IHZlcnNpb24NCj4gPiAgKiBkcml2ZSBhbGwgdGhlIGZlZWRiYWNrcyBmcm9tIFJheSBhbmQgY2hh bmdlIHRoZSBjb2RlcyBpbiB0aGlzDQo+ID4gICB2ZXJzaW9uDQo+ID4gICogcGljayB1cCBhbGwg dGhlIFItQiBmbGFncyBmcm9tIE1hcmlvDQo+ID4gICogcGljayB1cCBhbGwgdGhlIFItQiBmbGFn cyBmcm9tIFJheQ0KPiA+ICAqIGRyb3AgYm9vc3QvcmVmcmVzaF9mcmVxX2xpbWl0cyBjYWxsYmFj aw0KPiA+ICAqIHJldXNlIHBvbGljeS0+ZHJpdmVyX2RhdGEgdG8gc3RvcmUgYW1kX2NwdWRhdGEg c3RydWN0DQo+ID4gICogdXNlIHN3aXRjaC1jYXNlIGluIHRoZSBkcml2ZXIgbW9kZSBzd2l0Y2hp bmcgZnVuY3Rpb24NCj4gPiAgKiBhZGQgS2NvbmZpZyBkZXBlbmRlbmN5IHRoZSBJTlRFTF9QU1RB VEUgZm9yIEFNRF9QU1RBVEUgYnVpbGQNCj4gPiAgKiBmaXggc29tZSBvdGhlciBjb2RlIGZvcm1h dCBhbmQgdHlwb3MNCj4gPg0KPiA+IGNoYW5nZXMgZnJvbSB2NzoNCj4gPiAgKiByZW1vdmUgIGlv d2FpdCBib29zdCBmdW5jdGlvbnMgY29kZQ0KPiA+ICAqIHBpY2sgdXAgYWNrIGJ5IGZsYWcgZnJv bSBIdWFuZyBSYXkuDQo+ID4gICogYWRkIG9uZSBuZXcgcGF0Y2ggdG8gc3VwcG9ydCBtdWx0aXBs ZSB3b3JraW5nIG1vZGVzIGluIHRoZQ0KPiA+IGFtZF9wc3RhdGVfcGFyYW0oKSxhbGlnbmVkIHdp dGggV3lzZQ0KPiA+ICAqIGRyb3AgdGhlIHBhdGNoICJbdjcgMDgvMTNdIGNwdWZyZXE6IGFtZC1w c3RhdGU6IGFkZCBmcmVxdWVuY3kgZHluYW1pYw0KPiBib29zdCBzeXNmcyBjb250cm9sIg0KPiA+ ICAqIHJlcGxhY2UgdGhlIGNwcGNfZ2V0X2VwcF9jYXBzKCkgd2l0aCBuZXcgY3BwY19nZXRfZXBw X3BlcmYoKSB3aWhjaCBpcw0KPiA+ICAgIG1vcmUgc2ltcGxlIHRvIHVzZQ0KPiA+ICAqIHJlbW92 ZSBJL08gd2FpdCBib29zdCBjb2RlIGZyb20gYW1kX3BzdGF0ZV91cGRhdGVfc3RhdHVzKCkNCj4g PiAgKiByZXBsYWNlIGNwcGNfYWN0aXZlIHZhciB3aXRoIGVudW0gdHlwZSBBTURfUFNUQVRFX0FD VElWRQ0KPiA+ICAqIHNxdWFzaCBhbWRfcHN0YXRlX2VwcF92ZXJpZnlfcG9saWN5KCkgaW50byBz aWdsZSBmdW5jdGlvbg0KPiA+ICAqIHJlbW92ZSAiYW1kIHBzdGF0ZSIgc3RyaW5nIGZyb20gdGhl IHByX2VyciwgcHJfZGVidWcgbG9ncyBpbmZvDQo+ID4gICogcmV3b3JrIHBhdGNoIFt2NyAwMy8x M10sIG1vdmUgdGhlIGNvbW1vbiBFUFAgcHJvZmlsZXMgZGVjbGFyYXRpb24NCj4gPiAgICBpbnRv IGNwdWZyZXEuaCB3aGljaCB3aWxsIGJlIHVzZWQgYnkgYW1kLXBzdGF0ZSBhbmQgaW50ZWwtcHN0 YXRlDQo+ID4gICogY29tYmluZSBhbWQgcHNhdGUgaW5pdCBmdW5jdGlvbnMuDQo+ID4gICogcmVt b3ZlIGVwcF9wb3dlcnNhdmUgZnJvbSBhbWQtcHN0YXRlLmggYW5kIGRyb3BwaW5nIHRoZSBjb2Rl cy4NCj4gPiAgKiBtb3ZlIGFtZF9wc3RhdGVfcGFyYW1ze30gZnJvbSBhbWQtcHN0YXRlLmggaW50 byBhbWQtcHN0YXRlLmMNCj4gPiAgKiBkcml2ZSBzb21lIG90aGVyIGZlZWRiYWNrcyBmcm9tIGh1 YW5nIHJheQ0KPiA+DQo+ID4gY2hhbmdlcyBmcm9tIHY2Og0KPiA+ICAqIGZpeCBvbmUgbGVnYWN5 IGtlcm5lbCBoYW5nIGlzc3VlIHdoZW4gYW1kLXBzdGF0ZSBkcml2ZXINCj4gPiB1bnJlZ2lzdGVy aW5nDQo+ID4gICogYWRkIG5ldyBkb2N1bWVudGF0aW9uIHRvIGludHJvZHVjZSBuZXcgZ2xvYmFs IHN5c2ZzIGF0dHJpYnV0ZXMNCj4gPiAgKiB1c2Ugc3lzZnNfZW1pdF9hdCgpIHRvIHByaW50IGVw cCBwcm9maWxlcyBhcnJheQ0KPiA+ICAqIHVwZGF0ZSBjb21taXQgaW5mbyBmb3IgcGF0Y2ggdjYg cGF0Y2ggMS8xMSBhcyBNYXJpbyBzdWdndWVzdGVkLg0KPiA+ICAqIHRyeWluZyB0byBhZGQgdGhl IEVQUCBwcm9maWxlcyBpbnRvIGNwdWZyZXEuaCwgYnV0IGl0IHdpbGwgY2F1c2UgbG90cw0KPiA+ ICAgIG9mIGJ1aWxkIGZhaWx1ZXMsY29udGludWUgdG8ga2VlcCBjcHVmcmVxX2NvbW1vbi5oIHVz ZWQgaW4gdjcNCj4gPiAgKiB1cGRhdGUgY29tbWl0IGluZm8gdXNpbmcgYW1kLXBzdGF0ZSBhcyBw cmVmaXggc2FtZSBhcyBiZWZvcmUuDQo+ID4gICogcmVtb3ZlIENPTkZJR19BQ1BJIGZvciB0aGUg aGVhZGVyIGFzIFJheSBzdWdnZXN0ZWQuDQo+ID4gICogbW92ZSBhbWRfcHN0YXRlX2tvYmogdG8g d2hlcmUgaXQgaXMgdXNlZCBpbiBwYXRjaCAiYWRkIGZyZXF1ZW5jeSBkeW5hbWljDQo+IGJvb3N0 IHN5c2ZzIGNvbnRyb2wiDQo+ID4gICogZHJpdmUgZmVlZGJhY2sgcmVtb3ZpbmcgWDg2X0ZFQVRV UkVfQ1BQQyBjaGVjayBmb3IgdGhlIGVwcCBpbml0DQo+ID4gZnJvbSBIdWFuZyBSYXkNCj4gPiAg KiBkcml2ZSBmZWVkYmFjayBmcm9tIE1hcmlvDQo+ID4NCj4gPiBjaGFuZ2UgZnJvbSB2NToNCj4g PiAgKiBhZGQgb25lIGNvbW1vbiBoZWFkZXIgYGNwdWZyZXFfY29tbW9uY3B1ZnJlcV9jb21tb25g IHRvIGV4dHJhY3QNCj4gRVBQIHByb2ZpbGVzDQo+ID4gICAgZGVmaW5pdGlvbiBmb3IgYW1kIGFu ZCBpbnRlbCBwc3RhdGUgZHJpdmVyLg0KPiA+ICAqIHJlbW92ZSB0aGUgZXBwX29mZiB2YWx1ZSB0 byBhdm9pZCBjb25mdXNpb24uDQo+ID4gICogY29udmVydCBzb21lIG90aGVyIHN5c2ZzIHNwcmlu dGYoKSBmdW5jdGlvbiB3aXRoIHN5c2ZzX2VtaXQoKSBhbmQNCj4gPiBhZGQgb25ldyBuZXcgcGF0 Y2gNCj4gPiAgKiBhZGQgYWNwaSBwbSBzZXJ2ZXIgcHJpb2ZpbGUgZGV0ZWN0aW9uIHRvIGVuYWJs ZSBkeW5hbWljIGJvb3N0DQo+ID4gY29udHJvbA0KPiA+ICAqIGZpeCBzb21lIGNvZGUgZm9ybWF0 IHdpdGggY2hlY2twYXRjaCBzY3JpcHQNCj4gPiAgKiBtb3ZlIHRoZSBFUFAgcHJvZmlsZSBkZWNs YXJhdGlvbiBpbnRvIGNvbW1vbiBoZWFkZXIgZmlsZQ0KPiA+IGBjcHVmcmVxX2NvbW1vbi5oYA0K PiA+ICAqIGZpeCBjb21taXQgdHlwb3MNCj4gPg0KPiA+IGNoYW5nZXMgZnJvbSB2NDoNCj4gPiAg KiByZWJhc2UgZHJpdmVyIGJhc2VkIG9uIHRoZSB2Ni4xLXJjNw0KPiA+ICAqIHJlbW92ZSB0aGUg YnVpbHRpbiBjaGFuZ2VzIHBhdGNoIGJlY2F1c2UgcHN0YXRlIGRyaXZlciBoYXMgYmVlbg0KPiA+ ICAgIGNoYW5nZWQgdG8gYnVpbHRpbiB0eXBlIGJ5IGFub3RoZXIgdGhyZWFkIHBhdGNoDQo+ID4g ICogdXBkYXRlIERvY3VtZW50YXRpb246IGFtZC1wc3RhdGU6IGFkZCBhbWQgcHN0YXRlIGRyaXZl ciBtb2RlDQo+ID4gaW50cm9kdWN0aW9uDQo+ID4gICogcmVwbGFjZSBzcHJpbnRmIHdpdGggc3lz ZnNfZW1pdCgpIGluc3RlYWQuDQo+ID4gICogZml4IHR5cG8gZm9yIGNwcGNfc2V0X2VwcF9wZXJm KCkgaW4gY3BwY19hY3BpLmggaGVhZGVyDQo+ID4NCj4gPiBjaGFuZ2VzIGZyb20gdjM6DQo+ID4g ICogYWRkIG9uZSBtb3JlIGRvY3VtZW50IHVwZGF0ZSBwYXRjaCBmb3IgdGhlIGFjdGl2ZSBhbmQg cGFzc2l2ZSBtb2RlDQo+ID4gICAgaW50cm9kdWNpb24uDQo+ID4gICogZHJpdmUgbW9zdCBvZiB0 aGUgZmVlZGJhY2tzIGZyb20gTWFyaW8NCj4gPiAgKiBkcml2ZSBmZWVkYmFjayBmcm9tIFJhZmFl bCBmb3IgdGhlIGNwcGNfYWNwaSBkcml2ZXIuDQo+ID4gICogcmVtb3ZlIHRoZSBlcHAgcmF3IGRh dGEgc2V0L2dldCBmdW5jdGlvbg0KPiA+ICAqIHNldCB0aGUgYW1kLXBzdGF0ZSBkcml2ZSBieSBw YXNzaW5nIGtlcm5lbCBwYXJhbWV0ZXINCj4gPiAgKiBzZXQgYW1kLXBzdGF0ZSBkcml2ZXIgZGlz YWJsZWQgYnkgZGVmYXVsdCBpZiBubyBrZXJuZWwgcGFyYW1ldGVyDQo+ID4gICAgaW5wdXQgZnJv bSBib290aW5nDQo+ID4gICogZ2V0IGNwcGNfc2V0X2F1dG9fZXBwIGFuZCBjcHBjX3NldF9lcHBf cGVyZiBjb21iaW5lZA0KPiA+ICAqIHBpY2sgdXAgcmV2aWV3ZWQgYnkgZmxhZyBmcm9tIE1hcmlv DQo+ID4NCj4gPiBjaGFuZ2VzIGZyb20gdjI6DQo+ID4gICogY2hhbmdlIHBzdGF0ZSBkcml2ZXIg YXMgYnVpbHRpbiB0eXBlIGZyb20gbW9kdWxlDQo+ID4gICogZHJvcCBwYXRjaCAiZXhwb3J0IGNw dWZyZXEgY3B1IHJlbGVhc2UgYW5kIGFjcXVpcmUiDQo+ID4gICogc3F1YXNoIHBhdGNoIG9mIHNo YXJlZCBtZW0gaW50byBzaW5nbGUgcGF0Y2ggb2YgZXBwIGltcGxlbWVudGF0aW9uDQo+ID4gICog YWRkIG9uZSBuZXcgcGF0Y2ggdG8gc3VwcG9ydCBmcmVxdWVuY3kgYm9vc3QgY29udHJvbA0KPiA+ ICAqIGFkZCBwYXRjaCB0byBleHBvc2UgZHJpdmVyIHdvcmtpbmcgc3RhdHVzIGNoZWNraW5nDQo+ ID4gICogcmViYXNlIGRyaXZlciBpbnRvIHY2LjEtcmM0IGtlcm5lbCByZWxlYXNlDQo+ID4gICog bW92ZSBzb21lIGRlY2xhcmF0aW9uIHRvIGFtZC1wc3RhdGUuaA0KPiA+ICAqIGRyaXZlIGZlZWRi YWNrIGZyb20gTWFyaW8gZm9yIHRoZSBvbmxpbmUvb2ZmbGluZSBwYXRjaA0KPiA+ICAqIGRyaXZl IGZlZWRiYWNrIGZyb20gTWFyaW8gZm9yIHRoZSBzdXNwZW5kL3Jlc3VtZSBwYXRjaA0KPiA+ICAq IGRyaXZlIGZlZWRiYWNrIGZyb20gUmF5IGZvciB0aGUgY3BwY19hY3BpIGFuZCBzb21lIG90aGVy IHBhdGNoZXMNCj4gPiAgKiBkcml2ZSBmZWVkYmFjayBmcm9tIE5hdGhhbiBmb3IgdGhlIGVwcCBw YXRjaA0KPiA+DQo+ID4gY2hhbmdlcyBmcm9tIHYxOg0KPiA+ICAqIHJlYmFzZWQgdG8gdjYuMA0K PiA+ICAqIGRyaXZlIGZlZWRiYWNrcyBmcm9tIE1hcmlvIGZvciB0aGUgc3VzcGVuZC9yZXN1bWUg cGF0Y2gNCj4gPiAgKiBkcml2ZSBmZWVkYmFja3MgZnJvbSBOYXRoYW4gZm9yIHRoZSBFUFAgc3Vw cG9ydCBvbiBtc3IgdHlwZQ0KPiA+ICAqIGZpeCBzb21lIHR5cG9zIGFuZCBjb2RlIHN0eWxlIGlu ZGVudCBwcm9ibGVtcw0KPiA+ICAqIHVwZGF0ZSBjb21taXQgY29tbWVudHMgZm9yIHBhdGNoIDQv Nw0KPiA+ICAqIGNoYW5nZSB0aGUgYGVwcF9lbmFibGVkYCBtb2R1bGUgcGFyYW0gbmFtZSB0byBg ZXBwYA0KPiA+ICAqIHNldCB0aGUgZGVmYXVsdCBlcHAgbW9kZSB0byBiZSBmYWxzZQ0KPiA+ICAq IGFkZCB0ZXN0aW5nIGZvciB0aGUgeDg2X2VuZXJneV9wZXJmX3BvbGljeSB1dGlsaXR5IHBhdGNo c2V0KHdpbGwNCj4gPiAgICBzZW5kIHRoYXQgdXRpbGl0eSBwYXRjaHNldCB3aXRoIGFub3RoZXIg dGhyZWFkKQ0KPiA+DQo+ID4gdjExOg0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwv MjAyMzAxMTgwNzUyMTAuNDQ3NDE4LTEtcGVycnkueXVhbkBhbWQuY28NCj4gPiBtLw0KPiA+IHYx MDpodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjMwMTA2MDYxNDIwLjk1NzE1LTEtcGVy cnkueXVhbkBhbWQNCj4gPiAuY29tLw0KPiA+IHY5Og0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwu b3JnL2xrbWwvMjAyMjEyMjUxNjM0NDIuMjIwNTY2MC0xLXBlcnJ5Lnl1YW5AYW1kLmMNCj4gPiBv bS8NCj4gPiB2ODoNCj4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIxMjE5MDY0 MDQyLjY2MTEyMi0xLXBlcnJ5Lnl1YW5AYW1kLmNvDQo+ID4gbS8NCj4gPiB2NzoNCj4gPiBodHRw czovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIxMjA4MTExODUyLjM4NjczMS0xLXBlcnJ5Lnl1 YW5AYW1kLmNvDQo+ID4gbS8NCj4gPiB2NjoNCj4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sLzIwMjIxMjAyMDc0NzE5LjYyMzY3My0xLXBlcnJ5Lnl1YW5AYW1kLmNvDQo+ID4gbS8NCj4g PiB2NToNCj4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIxMTI4MTcwMzE0LjIy NzY2MzYtMS1wZXJyeS55dWFuQGFtZC5jDQo+ID4gb20vDQo+ID4gdjQ6DQo+ID4gaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvbGttbC8yMDIyMTExMDE3NTg0Ny4zMDk4NzI4LTEtUGVycnkuWXVhbkBh bWQuYw0KPiA+IG9tLw0KPiA+IHYzOg0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8y MDIyMTEwNzE3NTcwNS4yMjA3ODQyLTEtUGVycnkuWXVhbkBhbWQuY28NCj4gPiBtLw0KPiA+IHYy Og0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDIyMTAxMDE2MjI0OC4zNDgxNDEt MS1QZXJyeS5ZdWFuQGFtZC5jb20NCj4gPiAvDQo+ID4gdjE6DQo+ID4gaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvYWxsLzIwMjIxMDA5MDcxMDMzLjIxMTcwLTEtUGVycnkuWXVhbkBhbWQuY29tLw0K PiA+DQo+ID4NCj4gPiBQZXJyeSBZdWFuICgxMCk6DQo+ID4gICBBQ1BJOiBDUFBDOiBBZGQgQU1E IHBzdGF0ZSBlbmVyZ3kgcGVyZm9ybWFuY2UgcHJlZmVyZW5jZSBjcHBjIGNvbnRyb2wNCj4gPiAg IERvY3VtZW50YXRpb246IGFtZC1wc3RhdGU6IGFkZCBFUFAgcHJvZmlsZXMgaW50cm9kdWN0aW9u DQo+ID4gICBjcHVmcmVxOiBhbWQtcHN0YXRlOiBpbXBsZW1lbnQgUHN0YXRlIEVQUCBzdXBwb3J0 IGZvciB0aGUgQU1EDQo+ID4gICAgIHByb2Nlc3NvcnMNCj4gPiAgIGNwdWZyZXE6IGFtZC1wc3Rh dGU6IGltcGxlbWVudCBhbWQgcHN0YXRlIGNwdSBvbmxpbmUgYW5kIG9mZmxpbmUNCj4gPiAgICAg Y2FsbGJhY2sNCj4gPiAgIGNwdWZyZXE6IGFtZC1wc3RhdGU6IGltcGxlbWVudCBzdXNwZW5kIGFu ZCByZXN1bWUgY2FsbGJhY2tzDQo+ID4gICBjcHVmcmVxOiBhbWQtcHN0YXRlOiBhZGQgZHJpdmVy IHdvcmtpbmcgbW9kZSBzd2l0Y2ggc3VwcG9ydA0KPiA+ICAgRG9jdW1lbnRhdGlvbjogYW1kLXBz dGF0ZTogYWRkIGFtZCBwc3RhdGUgZHJpdmVyIG1vZGUgaW50cm9kdWN0aW9uDQo+ID4gICBEb2N1 bWVudGF0aW9uOiBpbnRyb2R1Y2UgYW1kIHBzdGF0ZSBhY3RpdmUgbW9kZSBrZXJuZWwgY29tbWFu ZCBsaW5lDQo+ID4gICAgIG9wdGlvbnMNCj4gPiAgIGNwdWZyZXE6IGFtZC1wc3RhdGU6IGNvbnZl cnQgc3ByaW50ZiB3aXRoIHN5c2ZzX2VtaXQoKQ0KPiA+ICAgRG9jdW1lbnRhdGlvbjogYW1kLXBz dGF0ZTogaW50cm9kdWNlIG5ldyBnbG9iYWwgc3lzZnMgYXR0cmlidXRlcw0KPiA+DQo+ID4gV3ll cyBLYXJueSAoMSk6DQo+ID4gICBjcHVmcmVxOiBhbWQtcHN0YXRlOiBvcHRpbWl6ZSBkcml2ZXIg d29ya2luZyBtb2RlIHNlbGVjdGlvbiBpbg0KPiA+ICAgICBhbWRfcHN0YXRlX3BhcmFtKCkNCj4g DQo+IEFsbCBwYXRjaGVzIGFwcGxpZWQgYXMgNi4zIG1hdGVyaWFsLCB0aGFua3MhDQoNClRoYW5r IHlvdSBSYWZlYWwgYW5kIE1hcmlvLCBSYXksIE5hdGhhbiwgV3lzZSwgVmlyZXNoIGFuZCBvdGhl ciBraW5kIGZyaWVuZHMgaGVscCB0byByZXZpZXcgYW5kIG1ha2UgdGhpcyBtZXJnZWQgaW50byB2 Ni4zDQpJIHJlYWxseSBhcHByZWNpYXRlIHN1cHBvcnQgZnJvbSBhbGwgb2YgeW91IQ0KDQpQZXJy eS4gDQo=