From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.77]) by mx.groups.io with SMTP id smtpd.web10.4695.1594294507291077286 for ; Thu, 09 Jul 2020 04:35:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=f0g8FADX; spf=pass (domain: arm.com, ip: 40.107.21.77, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=boIM2zM8jE+JH+8wj0gwzS7VOkwgyAS5psbOElifSqk=; b=f0g8FADXG5hNWf83sb4iE8H3XzAAcWIhbzZhLwAXiiPNJpWOF8xPJ0pfNulciDtQRiUgKi6MqryevrgUCb/7SPL+Q86jICLhwiO/I/oEkeWtCBfCYl0X1SS2mOpaP1TAMs7KC5Anv6MyD/U68mEbBn/IShgK2mEKecJiYySjeT8= Received: from AM5PR0201CA0003.eurprd02.prod.outlook.com (2603:10a6:203:3d::13) by HE1PR08MB2762.eurprd08.prod.outlook.com (2603:10a6:7:34::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20; Thu, 9 Jul 2020 11:34:58 +0000 Received: from VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:3d:cafe::f0) by AM5PR0201CA0003.outlook.office365.com (2603:10a6:203:3d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20 via Frontend Transport; Thu, 9 Jul 2020 11:34:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass 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 VE1EUR03FT056.mail.protection.outlook.com (10.152.19.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 11:34:57 +0000 Received: ("Tessian outbound 2ae7cfbcc26c:v62"); Thu, 09 Jul 2020 11:34:57 +0000 X-CR-MTA-TID: 64aa7808 Received: from 3216c13a0ae3.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CB98C3FC-748C-4F88-8BA1-D214CFB23CAB.1; Thu, 09 Jul 2020 11:34:52 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3216c13a0ae3.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 09 Jul 2020 11:34:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DnEXCx7vIuLr+gKNs/3aqIzj0iEAeetxG4yfxHvE6VkSv1K9iSWjpd3z2w9iXbuYKbCxTAOFbKNV6Dmw1K3C7MB6teOGzNRcUzILp4mfpeIpclW3cI4MygBitvKnEP0cA3Ejm0XRlgmpLpHEqAE910w1dYDpVcZHl1EbiVbVjLPdM7GoyfcBcjFlVaU2zvP0pkTuFbOcRohV6N0IA7mIfC3fyPn5JmpFf4gE2pyxKJYXk6Hxe0WyUbLBBox0Q9yony0xoJSfyzNU51aronZMAGSDURbYdf61SZNaD0Xq9H2ufnPwLDxab/EvvGvnXheb6yNNAgOQmavgHY2ywhUy/w== 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=boIM2zM8jE+JH+8wj0gwzS7VOkwgyAS5psbOElifSqk=; b=lTpqw36qQf/CkcLEhxs7DOXsddNpT3DJxcAu9Bqtg2fbSxM1AYva69wNHvoudJlC8DlAaIPxLIvAaUZ4OtgBgEhUPGgCTAldqlICY63v+njINMlKSqIagOtJPJt/o8U/H8Nvh6Q4LILDiVFkUID0fXrxExyzRihalJOmf0YG+sY8eKF090Al//88wDYeIJAi+VkBuEIXCkOQBCyUv1pSqLO7vrZaYE1OsVXmZR3GO6WTvDLLo2sE+ptMSUlGGCXdDA4EUGAvFMAUcmF2ZC1kltZmWCp2XNkCB142wOpN3dKPlfxGAveCP/abasGhetpzGmz8fIh6Xvl3LZGE/UBSeA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=boIM2zM8jE+JH+8wj0gwzS7VOkwgyAS5psbOElifSqk=; b=f0g8FADXG5hNWf83sb4iE8H3XzAAcWIhbzZhLwAXiiPNJpWOF8xPJ0pfNulciDtQRiUgKi6MqryevrgUCb/7SPL+Q86jICLhwiO/I/oEkeWtCBfCYl0X1SS2mOpaP1TAMs7KC5Anv6MyD/U68mEbBn/IShgK2mEKecJiYySjeT8= Received: from AM0PR08MB3091.eurprd08.prod.outlook.com (2603:10a6:208:60::10) by AM0PR08MB5299.eurprd08.prod.outlook.com (2603:10a6:208:18d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21; Thu, 9 Jul 2020 11:34:50 +0000 Received: from AM0PR08MB3091.eurprd08.prod.outlook.com ([fe80::117f:d451:325c:927a]) by AM0PR08MB3091.eurprd08.prod.outlook.com ([fe80::117f:d451:325c:927a%7]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020 11:34:50 +0000 From: "Sami Mujawar" To: "devel@edk2.groups.io" , Ard Biesheuvel CC: "leif@nuviainc.com" , "lersek@redhat.com" , Alexandru Elisei , Andre Przywara , Matteo Carlini , Laura Moretta , nd Subject: Re: [edk2-devel] [PATCH v4 02/15] ArmVirtPkg: Add Kvmtool RTC Fdt Client Library Thread-Topic: [edk2-devel] [PATCH v4 02/15] ArmVirtPkg: Add Kvmtool RTC Fdt Client Library Thread-Index: AQHWVFzr4OEpCRP6XkquKVQWzA6r6qj8GcWAgALfUsA= Date: Thu, 9 Jul 2020 11:34:49 +0000 Message-ID: References: <20200707124810.50668-1-sami.mujawar@arm.com> <20200707124810.50668-3-sami.mujawar@arm.com> <50274581-a51f-f66d-2cf0-86359984f2a9@arm.com> In-Reply-To: <50274581-a51f-f66d-2cf0-86359984f2a9@arm.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 05c263b7-56ed-4cae-8ddd-cb3af5c50fd5.0 x-checkrecipientchecked: true Authentication-Results-Original: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; x-originating-ip: [217.140.99.251] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 3101c571-dadb-4797-59b3-08d823fc1bc0 x-ms-traffictypediagnostic: AM0PR08MB5299:|HE1PR08MB2762: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: MWxJpwplWy0YlBK/M8NlkyfYkdNWxtcj1zhRGDN5DxUgxbuknLxTVqU6wwxKhSS2wB5B4BOtFAMZnCtUMvrgdMy4E8Yai7o+7xscPqkXydp6GtSYcKO6ldzUz+PmY8szDq5m6I3FfEyJySY/XlKX6WPM8DNckrhCvJQ3tg+96vllrLftdY9XcADwrtKpoxFJoyHNarPqN0RgvpCpjP7SOC1rR77T8BqSHjwXY7L1ohd6sLHsSj5RXNv8kJqjZ/2RxcePYLipY5OfR9BSYovEEfSqX/QvvWymJWBUhcyTP9PVmrIxEjXv9NFapX3bpn3Awimxq1I7vz7Tvw0QRFKsdTzhhYaXX0xM9VyxGXd5olWsDsJfR0tK+XtzUZ9tgaDvk9X4FKjyUPFOLJjhnOIAsA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3091.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(376002)(346002)(366004)(396003)(39860400002)(55016002)(64756008)(54906003)(66946007)(66476007)(76116006)(66446008)(66556008)(71200400001)(6636002)(4326008)(83380400001)(2906002)(966005)(86362001)(33656002)(8676002)(9686003)(110136005)(8936002)(478600001)(316002)(52536014)(5660300002)(26005)(53546011)(6506007)(186003)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: +2lDszGWGVRj9kxu1tI4O2B+QncqiZDbpdCK7EBrsV50qPE71qRuTCOl1t7smekS+8vnqIek+z88aFxG824KejwhaXPIt2Xq+haGgBptbZUEzKbpZ0PLIP7ml+kBrDXt6AdOg9goqQSR8J2kqgc0+7fxvvBHi3o253i/X0/R46y+AG44wUlqyfKkIxmGGC/hdPuV04R8/reHAed//qa0F9BFwuBDfYM9wR3kvs6eKjz8eGY/xes3p1M6az98hkw80xJfUmqqbUecUZqUxGeLao1/LMenBOI3C2wsXjhs5rqprYYdW7cM3fp61RqHX34W9sGAYBo8YWTZlJ6Xo8bTwULFsTQ8UcLCOicWe3zkvlIwheiovDCYtTrP90c4hWd1gK64VKXL/aNUmMpZK9SZQ4QCD5rBx913wGtiBNrnueQ4GLP0D+YBExybp/KGJa+dKyaPYahcq+NY8gogbDLK+zUoLTqUQpBbfk7JK8F+oL3Mnp3Fy7oa++3O7ddE8z3G MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5299 Original-Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com 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;SFTY:;SFS:(4636009)(396003)(346002)(39860400002)(376002)(136003)(46966005)(8676002)(81166007)(6636002)(52536014)(316002)(82740400003)(9686003)(55016002)(186003)(36906005)(8936002)(54906003)(356005)(26005)(110136005)(966005)(2906002)(478600001)(4326008)(5660300002)(53546011)(70586007)(83380400001)(7696005)(86362001)(47076004)(70206006)(6506007)(82310400002)(336012)(33656002);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 861e722a-000f-4413-aeb4-08d823fc173f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HlVnPDAoO9K2bPiBpsOfVNQod6L5O9ugGgqpR7aBp69EBsz1oEcR6RnnN1D8GckozQ6JqMS5iyfopNUMOp9THZKECezmSGOwcwN4pryiVb62FCVygyoX46g5FSSCk8sCys1PNOQ9Iepl1itWcQAyDlF4LW8jJKUHiZ6WhQJDRNZlOLF6OzvIGLtw2TYQeoNlb19sQRvv6kdiyZsXYD4/1vQJwD0Pr5b1QOeoQ/DA+vRXdxtpBuWOPZfpiZaYf4nxRT9na/rtG3b06Ci4r9BXnCOFcWBy5MUypoGbBP8YV3PMgemHF9xVVkrYkukWe9OBBk1WC1zKBKeOQXj9TNxZxXapi4vVxH/8f7UGU6RAeNBv55vby8QgZi5i1TVgkloVnXwIVkhpFH1/bd3Y815sPPJal/TLPnWIoPkHabEEFfZh8v3WZT29K6ulpKiJw3xMpsY/H9bDXZ5+NuHCuyiT/0dCArtfP3SAdCxHNvEGRqQ= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2020 11:34:57.5707 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3101c571-dadb-4797-59b3-08d823fc1bc0 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: VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2762 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXJkLA0KDQpQbGVhc2UgZmluZCBteSByZXNwb25zZSBpbmxpbmUgbWFya2VkIFtTQU1JXS4N Cg0KUmVnYXJkcywNCg0KU2FtaSBNdWphd2FyDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJl aGFsZiBPZiBBcmQgQmllc2hldXZlbCB2aWEgZ3JvdXBzLmlvDQpTZW50OiAwNyBKdWx5IDIwMjAg MDI6MjAgUE0NClRvOiBTYW1pIE11amF3YXIgPFNhbWkuTXVqYXdhckBhcm0uY29tPjsgZGV2ZWxA ZWRrMi5ncm91cHMuaW8NCkNjOiBsZWlmQG51dmlhaW5jLmNvbTsgbGVyc2VrQHJlZGhhdC5jb207 IEFsZXhhbmRydSBFbGlzZWkgPEFsZXhhbmRydS5FbGlzZWlAYXJtLmNvbT47IEFuZHJlIFByenl3 YXJhIDxBbmRyZS5Qcnp5d2FyYUBhcm0uY29tPjsgTWF0dGVvIENhcmxpbmkgPE1hdHRlby5DYXJs aW5pQGFybS5jb20+OyBMYXVyYSBNb3JldHRhIDxMYXVyYS5Nb3JldHRhQGFybS5jb20+OyBuZCA8 bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDAyLzE1XSBB cm1WaXJ0UGtnOiBBZGQgS3ZtdG9vbCBSVEMgRmR0IENsaWVudCBMaWJyYXJ5DQoNCk9uIDcvNy8y MCAzOjQ3IFBNLCBTYW1pIE11amF3YXIgd3JvdGU6DQo+IEFkZCBsaWJyYXJ5IHRoYXQgcGFyc2Vz IHRoZSBLdm10b29sIGRldmljZSB0cmVlIGFuZCB1cGRhdGVzIHRoZSANCj4gZHluYW1pYyBQQ0Rz IGRlc2NyaWJpbmcgdGhlIFJUQyBNZW1vcnkgbWFwLg0KPiANCj4gSXQgYWxzbyBtYXBzIHRoZSBN TUlPIHJlZ2lvbiB1c2VkIGJ5IHRoZSBSVEMgYXMgcnVudGltZSBtZW1vcnkgc28gdGhhdCANCj4g dGhlIFJUQyByZWdpc3RlcnMgYXJlIGFjY2Vzc2libGUgcG9zdCBFeGl0Qm9vdFNlcnZpY2VzLg0K PiANCj4gU2luY2UgVUVGSSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIFJUQyBoYXJkd2FyZSBkaXNh YmxlIHRoZSBSVEMgbm9kZSBpbiANCj4gdGhlIERUIHRvIHByZXZlbnQgdGhlIE9TIGZyb20gYXR0 YWNoaW5nIGl0cyBkZXZpY2UgZHJpdmVyIGFzIHdlbGwuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBT YW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPg0KPiAtLS0NCj4gDQo+IE5vdGVzOg0K PiAgICAgIHY0Og0KPiAgICAgICAgLSBVcGRhdGVkIGJhc2VkIG9uIHJldmlldyBjb21tZW50cy4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTYW1pXQ0KPiAgICAgICAgLSBDbGVhbnVwIGlu Y2x1ZGUgZmlsZSBsaXN0LCBtYWtlIGxvY2FsIGZ1bmN0aW9ucyBzdGF0aWMsICAgICAgIFtBcmRd DQo+ICAgICAgICAgIGRyb3AgRUZJQVBJLCB1c2UgRUZJX1BBR0VfTUFTSyBhbmQgdXNlIFJlYWRV bmFsaWduZWQ2NC4NCj4gICAgICAgICAgUmVmOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2 ZWwvdG9waWMvNzUwODE0NzINCj4gICAgICANCg0KWW91IGhhdmVuJ3QgYW5zd2VyZWQgbXkgcXVl c3Rpb24gYWJvdXQgYWRkaW5nIGFuZCByZW1vdmluZyB0aGUgR0NEIG1lbW9yeSBzcGFjZS4NCltT QU1JXSBUaGUgY2FsbCB0byBnRFMtPkFkZE1lbW9yeVNwYWNlICgpIHdhcyBmYWlsaW5nIG9uIG15 IGV4cGVyaW1lbnRhbCBicmFuY2ggdG8gZW5hYmxlIFBDSSBzdXBwb3J0IGZvciB0aGUga3ZtdG9v bCBmaXJtd2FyZS4NCldpdGggdGhlIGN1cnJlbnQga3ZtdG9vbCBpbXBsZW1lbnRhdGlvbiwgd2hl biBQQ0kgaXMgZW5hYmxlZCwgc29tZSBwYXJ0IG9mIHRoZSBQQ0kgSU8gcmVnaW9uIGlzIG92ZXJs YXBwaW5nIHdpdGggdGhlIHJlZ2lvbiB1c2VkIGJ5IHRoZSBSVEMgY29udHJvbGxlci4NClNpbmNl IHRoaXMgcGF0Y2ggc2VyaWVzIGlzIG5vdCBhZGRpbmcgUENJIHN1cHBvcnQgZm9yIGt2bXRvb2wg ZmlybXdhcmUsIHRoaXMgaXNzdWUgY2Fubm90IGJlIHNlZW4uDQpbL1NBTUldDQoNCj4gICAgICB2 MzoNCj4gICAgICAgIC0gSW50cm9kdWNlIGxpYnJhcnkgdG8gcmVhZCBhbmQgbWFwIHRoZSBNTUlP IGJhc2UgYWRkcmVzc2VzICAgICBbU2FtaV0NCj4gICAgICAgICAgZm9yIHRoZSBSVEMgcmVnaXN0 ZXJzIGZyb20gdGhlIERUIGFuZCBjb25maWd1cmUgdGhlIEluZGV4DQo+ICAgICAgICAgIGFuZCBU YXJnZXQgcmVnaXN0ZXIgUENEcy4NCj4gDQo+ICAgQXJtVmlydFBrZy9MaWJyYXJ5L0t2bXRvb2xS dGNGZHRDbGllbnRMaWIvS3ZtdG9vbFJ0Y0ZkdENsaWVudExpYi5jICAgfCAyMzAgKysrKysrKysr KysrKysrKysrKysNCj4gICBBcm1WaXJ0UGtnL0xpYnJhcnkvS3ZtdG9vbFJ0Y0ZkdENsaWVudExp Yi9Ldm10b29sUnRjRmR0Q2xpZW50TGliLmluZiB8ICA0MiArKysrDQo+ICAgMiBmaWxlcyBjaGFu Z2VkLCAyNzIgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL0FybVZpcnRQa2cvTGli cmFyeS9Ldm10b29sUnRjRmR0Q2xpZW50TGliL0t2bXRvb2xSdGNGZHRDbGllbnRMaWIuYyBiL0Fy bVZpcnRQa2cvTGlicmFyeS9Ldm10b29sUnRjRmR0Q2xpZW50TGliL0t2bXRvb2xSdGNGZHRDbGll bnRMaWIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzcxNTk1ODk1MmY5MzMwMDdmZjE0M2EyMmNiZTgx NjA2Y2M1MzllDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvQXJtVmlydFBrZy9MaWJyYXJ5L0t2 bXRvb2xSdGNGZHRDbGllbnRMaWIvS3ZtdG9vbFJ0Y0ZkdENsaWVudExpYi5jDQo+IEBAIC0wLDAg KzEsMjMwIEBADQo+ICsvKiogQGZpbGUNCj4gKyAgRkRUIGNsaWVudCBsaWJyYXJ5IGZvciBtb3Rv cm9sYSxtYzE0NjgxOCBSVEMgZHJpdmVyDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDIwLCBB Uk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVn TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EeGVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290 U2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0ZkdENsaWVudC5oPg0K PiArDQo+ICsvKiogUlRDIEluZGV4IHJlZ2lzdGVyIGlzIGF0IG9mZnNldCAweDANCj4gKyovDQo+ ICsjZGVmaW5lIFJUQ19JTkRFWF9SRUdfT0ZGU0VUICAgIDB4MFVMTA0KPiArDQo+ICsvKiogUlRD IFRhcmdldCByZWdpc3RlciBpcyBhdCBvZmZzZXQgMHgxDQo+ICsqLw0KPiArI2RlZmluZSBSVENf VEFSR0VUX1JFR19PRkZTRVQgICAweDFVTEwNCj4gKw0KPiArLyoqIEFkZCB0aGUgUlRDIGNvbnRy b2xsZXIgYWRkcmVzcyByYW5nZSB0byB0aGUgbWVtb3J5IG1hcC4NCj4gKw0KPiArICBAcGFyYW0g W2luXSAgSW1hZ2VIYW5kbGUgIFRoZSBoYW5kbGUgdG8gdGhlIGltYWdlLg0KPiArICBAcGFyYW0g W2luXSAgUnRjUGFnZUJhc2UgIEJhc2UgYWRkcmVzcyBvZiB0aGUgUlRDIGNvbnRyb2xsZXIuDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBTdWNjZXNzLg0KPiArICBA cmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgIEEgcGFyYW1ldGVyIGlzIGludmFsaWQuDQo+ ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICAgRmxhc2ggZGV2aWNlIG5vdCBmb3Vu ZC4NCj4gKyoqLw0KPiArU1RBVElDDQo+ICtFRklfU1RBVFVTDQo+ICtLdm10b29sUnRjTWFwTWVt b3J5ICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgICAgIEltYWdlSGFuZGxlLA0KPiAr ICBJTiBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgUnRjUGFnZUJhc2UNCj4gKyAgKQ0KPiArew0K PiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0RTLT5BZGRNZW1v cnlTcGFjZSAoDQo+ICsgICAgICAgICAgICAgICAgICBFZmlHY2RNZW1vcnlUeXBlTWVtb3J5TWFw cGVkSW8sDQo+ICsgICAgICAgICAgICAgICAgICBSdGNQYWdlQmFzZSwNCj4gKyAgICAgICAgICAg ICAgICAgIEVGSV9QQUdFX1NJWkUsDQo+ICsgICAgICAgICAgICAgICAgICBFRklfTUVNT1JZX1VD IHwgRUZJX01FTU9SWV9SVU5USU1FDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgREVCVUcgKCgNCj4gKyAgICAgIERFQlVHX0VS Uk9SLCAiRmFpbGVkIHRvIGFkZCBtZW1vcnkgc3BhY2UuIFN0YXR1cyA9ICVyXG4iLA0KPiArICAg ICAgU3RhdHVzDQo+ICsgICAgICApKTsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ ICsNCj4gKyAgU3RhdHVzID0gZ0RTLT5BbGxvY2F0ZU1lbW9yeVNwYWNlICgNCj4gKyAgICAgICAg ICAgICAgICAgIEVmaUdjZEFsbG9jYXRlQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgIEVm aUdjZE1lbW9yeVR5cGVNZW1vcnlNYXBwZWRJbywNCj4gKyAgICAgICAgICAgICAgICAgIDAsDQo+ ICsgICAgICAgICAgICAgICAgICBFRklfUEFHRV9TSVpFLA0KPiArICAgICAgICAgICAgICAgICAg JlJ0Y1BhZ2VCYXNlLA0KPiArICAgICAgICAgICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgICAg ICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgREVCVUcgKCgNCj4gKyAgICAgIERFQlVHX0VSUk9S LA0KPiArICAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgc3BhY2UuIFN0YXR1cyA9ICVy XG4iLA0KPiArICAgICAgU3RhdHVzDQo+ICsgICAgICApKTsNCj4gKyAgICBnRFMtPlJlbW92ZU1l bW9yeVNwYWNlICgNCj4gKyAgICAgICAgICAgUnRjUGFnZUJhc2UsDQo+ICsgICAgICAgICAgIEVG SV9QQUdFX1NJWkUNCj4gKyAgICAgICAgICAgKTsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0RTLT5TZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMgKA0K PiArICAgICAgICAgICAgICAgICAgUnRjUGFnZUJhc2UsDQo+ICsgICAgICAgICAgICAgICAgICBF RklfUEFHRV9TSVpFLA0KPiArICAgICAgICAgICAgICAgICAgRUZJX01FTU9SWV9VQyB8IEVGSV9N RU1PUllfUlVOVElNRQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHICgoDQo+ICsgICAgICBERUJVR19FUlJPUiwNCj4g KyAgICAgICJGYWlsZWQgdG8gc2V0IG1lbW9yeSBhdHRyaWJ1dGVzLiBTdGF0dXMgPSAlclxuIiwN Cj4gKyAgICAgIFN0YXR1cw0KPiArICAgICAgKSk7DQo+ICsgICAgZ0RTLT5GcmVlTWVtb3J5U3Bh Y2UgKA0KPiArICAgICAgICAgICBSdGNQYWdlQmFzZSwNCj4gKyAgICAgICAgICAgRUZJX1BBR0Vf U0laRQ0KPiArICAgICAgICAgICApOw0KPiArICAgIGdEUy0+UmVtb3ZlTWVtb3J5U3BhY2UgKA0K PiArICAgICAgICAgICBSdGNQYWdlQmFzZSwNCj4gKyAgICAgICAgICAgRUZJX1BBR0VfU0laRQ0K PiArICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30N Cj4gKw0KPiArLyoqIEVudHJ5cG9pbnQgZm9yIEt2bXRvb2xSdGNGZHRDbGllbnRMaWIuDQo+ICsN Cj4gKyAgTG9jYXRlIHRoZSBSVEMgbm9kZSBpbiB0aGUgRFQgYW5kIHVwZGF0ZSB0aGUgSW5kZXgg YW5kDQo+ICsgIFRhcmdldCByZWdpc3RlciBiYXNlIGFkZHJlc3NlcyBpbiB0aGUgcmVzcGVjdGl2 ZSBQQ0RzLg0KPiArICBBZGQgdGhlIFJUQyBtZW1vcnkgcmVnaW9uIHRvIHRoZSBtZW1vcnkgbWFw Lg0KPiArICBEaXNhYmxlIHRoZSBSVEMgbm9kZSBhcyB0aGUgUlRDIGlzIG93bmVkIGJ5IFVFRkku DQo+ICsNCj4gKyAgQHBhcmFtIFtpbl0gIEltYWdlSGFuZGxlICBUaGUgaGFuZGxlIHRvIHRoZSBp bWFnZS4NCj4gKyAgQHBhcmFtIFtpbl0gIFN5c3RlbVRhYmxlICBQb2ludGVyIHRvIHRoZSBTeXN0 ZW0gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBTdWNj ZXNzLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgIEEgcGFyYW1ldGVyIGlz IGludmFsaWQuDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICAgRmxhc2ggZGV2 aWNlIG5vdCBmb3VuZC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtLdm10 b29sUnRjRmR0Q2xpZW50TGliQ29uc3RydWN0b3IgKA0KPiArICBJTiBFRklfSEFORExFICAgICAg ICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICAqU3lzdGVtVGFibGUN Cj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgU3RhdHVzOw0KPiArICBG RFRfQ0xJRU5UX1BST1RPQ09MICAgKkZkdENsaWVudDsNCj4gKyAgSU5UMzIgICAgICAgICAgICAg ICAgIE5vZGU7DQo+ICsgIENPTlNUIFVJTlQzMiAgICAgICAgICAqUmVnOw0KPiArICBVSU5UMzIg ICAgICAgICAgICAgICAgUmVnU2l6ZTsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgIFJlZ0Jh c2U7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICBSYW5nZTsNCj4gKyAgUkVUVVJOX1NUQVRV UyAgICAgICAgIFBjZFN0YXR1czsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3Rv Y29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRmR0Q2xpZW50UHJvdG9jb2xHdWlkLA0KPiAr ICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZG ZHRDbGllbnQNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsNCj4gKyAgU3RhdHVzID0gRmR0Q2xpZW50LT5GaW5kQ29tcGF0aWJsZU5v ZGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRmR0Q2xpZW50LA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgIm1vdG9yb2xhLG1jMTQ2ODE4IiwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICZOb2RlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgREVCVUcgKCgNCj4gKyAgICAgIERFQlVHX0VSUk9S LA0KPiArICAgICAgIiVhOiBObyAnbW90b3JvbGEsbWMxNDY4MTgnIGNvbXBhdGlibGUgRFQgbm9k ZSBmb3VuZFxuIiwNCj4gKyAgICAgIF9fRlVOQ1RJT05fXw0KPiArICAgICAgKSk7DQo+ICsgICAg cmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IEZkdENsaWVudC0+R2V0 Tm9kZVByb3BlcnR5ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIEZkdENsaWVudCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAicmVnIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIChDT05TVCBWT0lEICoqKSZSZWcs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmUmVnU2l6ZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVH ICgoDQo+ICsgICAgICBERUJVR19FUlJPUiwNCj4gKyAgICAgICIlYTogTm8gJ3JlZycgcHJvcGVy dHkgZm91bmQgaW4gJ21vdG9yb2xhLG1jMTQ2ODE4JyBjb21wYXRpYmxlIERUIG5vZGVcbiIsDQo+ ICsgICAgICBfX0ZVTkNUSU9OX18NCj4gKyAgICAgICkpOw0KPiArICAgIHJldHVybiBTdGF0dXM7 DQo+ICsgIH0NCj4gKw0KPiArICBBU1NFUlQgKFJlZ1NpemUgPT0gMTYpOw0KPiArDQo+ICsgIFJl Z0Jhc2UgPSBTd2FwQnl0ZXM2NCAoUmVhZFVuYWxpZ25lZDY0ICgoVk9JRCAqKSZSZWdbMF0pKTsN Cj4gKyAgUmFuZ2UgPSBTd2FwQnl0ZXM2NCAoUmVhZFVuYWxpZ25lZDY0ICgoVk9JRCAqKSZSZWdb Ml0pKTsNCj4gKyAgREVCVUcgKCgNCj4gKyAgICBERUJVR19JTkZPLA0KPiArICAgICJGb3VuZCBt b3Rvcm9sYSxtYzE0NjgxOCBSVEMgQCAweCVMeCBSYW5nZSA9IDB4JXhcbiIsDQo+ICsgICAgUmVn QmFzZSwNCj4gKyAgICBSYW5nZQ0KPiArICAgICkpOw0KPiArDQo+ICsgIC8vIFRoZSBhZGRyZXNz IHJhbmdlIG11c3QgY292ZXIgdGhlIFJUQyBJbmRleCBhbmQgdGhlIFRhcmdldCByZWdpc3RlcnMu DQo+ICsgIEFTU0VSVCAoUmFuZ2UgPj0gMHgyKTsNCj4gKw0KPiArICAvLyBSVEMgSW5kZXggcmVn aXN0ZXIgaXMgYXQgb2Zmc2V0IDB4MA0KPiArICBQY2RTdGF0dXMgPSBQY2RTZXQ2NFMgKA0KPiAr ICAgICAgICAgICAgICAgIFBjZFJ0Y0luZGV4UmVnaXN0ZXI2NCwNCj4gKyAgICAgICAgICAgICAg ICAoUmVnQmFzZSArIFJUQ19JTkRFWF9SRUdfT0ZGU0VUKQ0KPiArICAgICAgICAgICAgICAgICk7 DQo+ICsgIEFTU0VSVF9SRVRVUk5fRVJST1IgKFBjZFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8gUlRD IFRhcmdldCByZWdpc3RlciBpcyBhdCBvZmZzZXQgMHgxDQo+ICsgIFBjZFN0YXR1cyA9IFBjZFNl dDY0UyAoDQo+ICsgICAgICAgICAgICAgICAgUGNkUnRjVGFyZ2V0UmVnaXN0ZXI2NCwNCj4gKyAg ICAgICAgICAgICAgICAoUmVnQmFzZSArIFJUQ19UQVJHRVRfUkVHX09GRlNFVCkNCj4gKyAgICAg ICAgICAgICAgICApOw0KPiArICBBU1NFUlRfUkVUVVJOX0VSUk9SIChQY2RTdGF0dXMpOw0KPiAr DQo+ICsgIFN0YXR1cyA9IEt2bXRvb2xSdGNNYXBNZW1vcnkgKEltYWdlSGFuZGxlLCAoUmVnQmFz ZSAmIH5FRklfUEFHRV9NQVNLKSk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g KyAgICBERUJVRyAoKA0KPiArICAgICAgREVCVUdfRVJST1IsDQo+ICsgICAgICAiRmFpbGVkIHRv IG1hcCBtZW1vcnkgZm9yIG1vdG9yb2xhLG1jMTQ2ODE4LiBTdGF0dXMgPSAlclxuIiwNCj4gKyAg ICAgIFN0YXR1cw0KPiArICAgICAgKSk7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIFVFRkkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBSVEMgaGFy ZHdhcmUsIGFuZCBleHBvc2VzIGl0cyBmdW5jdGlvbmFsaXR5DQo+ICsgIC8vIHRocm91Z2ggdGhl IFVFRkkgUnVudGltZSBTZXJ2aWNlcyBHZXRUaW1lLCBTZXRUaW1lLCBldGMuIFRoaXMgbWVhbnMg d2UNCj4gKyAgLy8gbmVlZCB0byBkaXNhYmxlIGl0IGluIHRoZSBkZXZpY2UgdHJlZSB0byBwcmV2 ZW50IHRoZSBPUyBmcm9tIGF0dGFjaGluZw0KPiArICAvLyBpdHMgZGV2aWNlIGRyaXZlciBhcyB3 ZWxsLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBGZHRDbGllbnQtPlNldE5vZGVQcm9wZXJ0eSAo DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBGZHRDbGllbnQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBOb2RlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyIsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZWQiLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mICgiZGlzYWJsZWQiKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHICgoDQo+ICsg ICAgICBERUJVR19XQVJOLA0KPiArICAgICAgIkZhaWxlZCB0byBzZXQgbW90b3JvbGEsbWMxNDY4 MTggc3RhdHVzIHRvICdkaXNhYmxlZCcsIFN0YXR1cyA9ICVyXG4iLA0KPiArICAgICAgU3RhdHVz DQo+ICsgICAgICApKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4g K30NCj4gZGlmZiAtLWdpdCBhL0FybVZpcnRQa2cvTGlicmFyeS9Ldm10b29sUnRjRmR0Q2xpZW50 TGliL0t2bXRvb2xSdGNGZHRDbGllbnRMaWIuaW5mIGIvQXJtVmlydFBrZy9MaWJyYXJ5L0t2bXRv b2xSdGNGZHRDbGllbnRMaWIvS3ZtdG9vbFJ0Y0ZkdENsaWVudExpYi5pbmYNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMC4uMGQxYjI3OTk3ZWQwMGQ3YzFiZTM1NzhjYWI0ZDFkMmViYTY2M2E5MA0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL0FybVZpcnRQa2cvTGlicmFyeS9Ldm10b29sUnRjRmR0Q2xpZW50TGli L0t2bXRvb2xSdGNGZHRDbGllbnRMaWIuaW5mDQo+IEBAIC0wLDAgKzEsNDIgQEANCj4gKyMvKiog QGZpbGUNCj4gKyMgIEZEVCBjbGllbnQgbGlicmFyeSBmb3IgbW90b3JvbGEsbWMxNDY4MTggUlRD IGRyaXZlcg0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDIwLCBBUk0gTGltaXRlZC4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIyoqLw0KPiArDQo+ICtbRGVmaW5lc10N Cj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAxQg0KPiArICBC QVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBLdm10b29sUnRjRmR0Q2xpZW50TGliDQo+ ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDMyNTRCNEY3LTMwQjUtNDhDNi1C MDZBLUQ4RkY5N0YzRUY5NQ0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBE WEVfRFJJVkVSDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiAr ICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBLdm10b29sUnRjRmR0Q2xpZW50TGli fERYRV9EUklWRVIgRFhFX1JVTlRJTUVfRFJJVkVSDQo+ICsgIENPTlNUUlVDVE9SICAgICAgICAg ICAgICAgICAgICA9IEt2bXRvb2xSdGNGZHRDbGllbnRMaWJDb25zdHJ1Y3Rvcg0KPiArDQo+ICtb U291cmNlc10NCj4gKyAgS3ZtdG9vbFJ0Y0ZkdENsaWVudExpYi5jDQo+ICsNCj4gK1tQYWNrYWdl c10NCj4gKyAgQXJtVmlydFBrZy9Bcm1WaXJ0UGtnLmRlYw0KPiArICBNZGVQa2cvTWRlUGtnLmRl Yw0KPiArICBQY0F0Q2hpcHNldFBrZy9QY0F0Q2hpcHNldFBrZy5kZWMNCj4gKw0KPiArW0xpYnJh cnlDbGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICsgIERlYnVnTGliDQo+ICsgIFBjZExpYg0KPiAr ICBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWINCj4gKyAgRHhlU2VydmljZXNUYWJsZUxpYg0KPiAr DQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRmR0Q2xpZW50UHJvdG9jb2xHdWlkICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUw0KPiArDQo+ICtbUGNkXQ0KPiArICBnUGNB dENoaXBzZXRQa2dUb2tlblNwYWNlR3VpZC5QY2RSdGNJbmRleFJlZ2lzdGVyNjQNCj4gKyAgZ1Bj QXRDaGlwc2V0UGtnVG9rZW5TcGFjZUd1aWQuUGNkUnRjVGFyZ2V0UmVnaXN0ZXI2NA0KPiArDQo+ ICtbRGVwZXhdDQo+ICsgIGdGZHRDbGllbnRQcm90b2NvbEd1aWQNCj4gDQoNCg0KDQoNCg==