From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.5.67; helo=eur03-ve1-obe.outbound.protection.outlook.com; envelope-from=udit.kumar@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50067.outbound.protection.outlook.com [40.107.5.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 395332035D11D for ; Mon, 6 Nov 2017 20:33:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=pMMCQ4AxaN0C9m3u29jv5HgG73jbd1z/KjXx27rSx18=; b=XcUM+I80Ag9Woao/UNr8sBw9g8XLai0AwK7k2Y+6OMot6b5Zg3vLs1FulocPHWVg5OXoFU+Ut+qjAjJX/4StLIOATQzj6Gk6OJn7wucKCoTQHM/vbUH5GN6BxdHLXK1bv5HftWJoiyyqqjiMsIgpVgT66RDSBxehJOu0C/mvGBs= Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com (52.133.18.151) by AM6PR0402MB3336.eurprd04.prod.outlook.com (52.133.18.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Tue, 7 Nov 2017 04:37:50 +0000 Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::7cbb:e077:2ee1:20f0]) by AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::7cbb:e077:2ee1:20f0%13]) with mapi id 15.20.0197.019; Tue, 7 Nov 2017 04:37:50 +0000 From: Udit Kumar To: Ard Biesheuvel CC: "edk2-devel@lists.01.org" , "leif.lindholm@linaro.org" , "daniel.thompson@linaro.org" Thread-Topic: [edk2] [RFC PATCH edk2-platforms 1/3] Silicon/NXP: add RTC support library for PCF8563 I2C IP Thread-Index: AQHTVIztdbDgPYntnkyfE+Cl3TGtZKMHMk+AgAAEiQCAASQuQA== Date: Tue, 7 Nov 2017 04:37:50 +0000 Message-ID: References: <20171103101654.30973-1-ard.biesheuvel@linaro.org> <20171103101654.30973-2-ard.biesheuvel@linaro.org> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=udit.kumar@nxp.com; x-originating-ip: [45.122.154.22] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM6PR0402MB3336; 6:k9FsvWpd8JqarPjaUVF4pd/WJHysQDMzaBWi+Qi0PH/IKb31yyKnvyVf4OufLm4+Igio4NMnYVZPMCQZd0QZRQwE7LDkhTb/WS0Ar/0J8MTpAoT+MLY/M4x9EX8LU8TectDIL3EeWJyZpFthloDCpf7EDnIXaB+h0WIEoHFRTUBkRMn0s7lMXLBo/OGoi9J6kWbS/ZjIXRVLgYUUW9KXIus4cmFkO+oqlVPqVBINIFTOe0wNtzLbSCoguFydrO7t1hPmsWN3GR4psCdBySX2QkdyVidz3wbSnEYQPUFgLO0pQgzCuZA6E2cJPWNDXrUpB2y1dFphaIFdp1sTTTud9sh+gqqtBXgwMw3AtJceV4k=; 5:IcdNGj337k8OA7MvJu+j3TKtzBDPB8ZV4fdyEpqsBLW+D38BBY/SW8A3yJ9yhnsbfXhbGvtHxCrE762nr+sW0JydK/kQc1oZUi33W9HWINf9EQypmeQP1CHCYI/EaK5QBVb5R8QenfmMiKoAoYaGg2awMcaY+hNG/uyhtnhRvWY=; 24:q/SB5Ltc1VCNEdXFLJ3pzvtkqo36dweiji2bnFooN6W9RP1dtaUaj2V5M0TsSIophd/rYRd2YM/zbxfPI0XsREaKCMK4wwlCiIPVyzMbtVk=; 7:0lmCuEErtPgGpAFk3UlES8RVUOnMDWv0lrz7+Os6hTfVrJU69sdmGrK8bRsagXZLX/Yx0nTY1mjtkEPdTjT6ENsm4Y1Bbji7cfdOY43WF8Y1pyul/zJ/lCnWOkkBq2ZLKA3qlQduRAFoPY0wwqknZKkX3c8OxA7MMiDEhb39FbKm4IixKWsIfM++X1t+bxr9CU2p3jFo+j98hAcOY0iYUwiyXUz0uRtolJEDSwEKfHyZ0GZRsHXpR6BUO4boCnwd x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 32e89a41-c512-45dc-01e2-08d525994de0 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199); SRVR:AM6PR0402MB3336; x-ms-traffictypediagnostic: AM6PR0402MB3336: x-exchange-antispam-report-test: UriScan:(189930954265078)(185117386973197)(162533806227266)(45079756050767)(21532816269658); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(3231021)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM6PR0402MB3336; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM6PR0402MB3336; x-forefront-prvs: 0484063412 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(43544003)(13464003)(199003)(24454002)(189002)(6116002)(3846002)(102836003)(106356001)(53946003)(16799955002)(76176999)(54356999)(2906002)(105586002)(101416001)(6246003)(229853002)(53936002)(189998001)(50986999)(8936002)(66066001)(316002)(5660300001)(93886005)(7696004)(2950100002)(6916009)(6436002)(74316002)(4326008)(7736002)(305945005)(33656002)(14454004)(8676002)(54906003)(81166006)(81156014)(6506006)(3660700001)(25786009)(55016002)(478600001)(9686003)(2900100001)(5890100001)(3280700002)(5250100002)(53546010)(97736004)(6306002)(45080400002)(99286004)(575784001)(86362001)(68736007)(966005)(217873001)(579004)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR0402MB3336; H:AM6PR0402MB3334.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32e89a41-c512-45dc-01e2-08d525994de0 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2017 04:37:50.8449 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3336 Subject: Re: [RFC PATCH edk2-platforms 1/3] Silicon/NXP: add RTC support library for PCF8563 I2C IP X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Nov 2017 04:34:01 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEFyZCwgDQpZb3VyIGFub3RoZXIgcGF0Y2ggc2V0IGlzIGFkZHJlc3NpbmcgbXkgY29u Y2VybiANCg0KUmVnYXJkcw0KVWRpdA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZ10N Cj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAwNiwgMjAxNyA0OjQxIFBNDQo+IFRvOiBVZGl0IEt1 bWFyIDx1ZGl0Lmt1bWFyQG54cC5jb20+DQo+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsg bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnOw0KPiBkYW5pZWwudGhvbXBzb25AbGluYXJvLm9yZw0K PiBTdWJqZWN0OiBSZTogW2VkazJdIFtSRkMgUEFUQ0ggZWRrMi1wbGF0Zm9ybXMgMS8zXSBTaWxp Y29uL05YUDogYWRkIFJUQw0KPiBzdXBwb3J0IGxpYnJhcnkgZm9yIFBDRjg1NjMgSTJDIElQDQo+ IA0KPiBPbiA2IE5vdmVtYmVyIDIwMTcgYXQgMTE6MDksIFVkaXQgS3VtYXIgPHVkaXQua3VtYXJA bnhwLmNvbT4gd3JvdGU6DQo+ID4gVGhhbmtzIEFyZC4NCj4gPiBUaGlzIHdpbGwgYWxsb3cgdG8g dXNlIFBDRjg1NjMgb24gYW55IHBsYXRmb3JtIG5vdCBsaW1pdGluZyB0byB0YXJnZXRlZA0KPiBw bGF0Zm9ybS4NCj4gDQo+IFllcywgdGhhdCB3YXMgdGhlIGludGVudGlvbi4NCj4gDQo+ID4gRmV3 IGNvbW1lbnRzIGFyZSBpbmxpbmUuDQo+ID4NCj4gDQo+IFRoYW5rcy4NCj4gDQo+ID4NCj4gPj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRv OmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZg0KPiA+PiBPZiBBcmQg Qmllc2hldXZlbA0KPiA+PiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDAzLCAyMDE3IDM6NDcgUE0N Cj4gPj4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBsZWlmLmxpbmRob2xtQGxpbmFyby5v cmc7DQo+ID4+IGRhbmllbC50aG9tcHNvbkBsaW5hcm8ub3JnDQo+ID4+IENjOiBBcmQgQmllc2hl dXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPj4gU3ViamVjdDogW2VkazJdIFtS RkMgUEFUQ0ggZWRrMi1wbGF0Zm9ybXMgMS8zXSBTaWxpY29uL05YUDogYWRkIFJUQw0KPiA+PiBz dXBwb3J0IGxpYnJhcnkgZm9yIFBDRjg1NjMgSTJDIElQDQo+ID4+DQo+ID4+IEFkZCBhIFJlYWxU aW1lQ2xvY2tMaWIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBOWFAgUENGODU2MyBhcyB1c2VkIG9u DQo+ID4+IHRoZSBTb2Npb25leHQgRGV2ZWxvcGVyIEJveCBib2FyZC4gTm90ZSB0aGF0IHRoZSBz dGFuZGFyZCBJMkMNCj4gPj4gcHJvdG9jb2wgc3RhY2sgZG9lcyBub3Qgc3VwcG9ydCBydW50aW1l IHVzZSwgc28gdGhpcyBkcml2ZXIgaW52b2tlcw0KPiA+PiB0aGUgSTJDIG1hc3RlciBwcm90b2Nv bCBkaXJlY3RseS4gVGhpcyByZXF1aXJlcyBzdXBwb3J0IGZyb20gdGhlDQo+ID4+IHBsYXRmb3Jt IHNpZGUgYXMgd2VsbCwgYW5kIHNvIHRoaXMgZHJpdmVyIHdpbGwgb25seSBhdHRhY2ggdG8gYSBJ MkMNCj4gPj4gbWFzdGVyIHRoYXQgaGFzIHRoZSBnUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWJJMmNN YXN0ZXJQcm90b2xHdWlkDQo+ID4+IHByb3RvY29sIGluc3RhbGxlZCBvbiBpdHMgaGFuZGxlLiBJ dCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJlDQo+ID4+IHRoYXQgdGhlIGRyaXZlciBw cm9kdWNpbmcgdGhlIEkyQyBtYXN0ZXIgcHJvdG9jb2wgaW4gcXVlc3Rpb24gaXMNCj4gPj4gcnVu dGltZSBjYXBhYmxlLCBhbmQgaXMgbm90IHNoYXJlZCB3aXRoIHRoZSBJMkMgcHJvdG9jb2wgc3Rh Y2sgKGkuZS4sDQo+ID4+IGl0IHNob3VsZCBub3QgaGF2ZSB0aGUgSTJDIEJ1cyBDb25maWd1cmF0 aW9uIE1hbmFnZW1lbnQgcHJvdG9jb2wgaW5zdGFsbGVkDQo+IGFzIHdlbGwpLg0KPiA+Pg0KPiA+ PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4x DQo+ID4+IFNpZ25lZC1vZmYtYnk6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5h cm8ub3JnPg0KPiA+PiAtLS0NCj4gPj4gIFNpbGljb24vTlhQL0xpYnJhcnkvUGNmODU2M1JlYWxU aW1lQ2xvY2tMaWIvUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWIuYw0KPiB8DQo+ID4+IDM4NSArKysr KysrKysrKysrKysrKysrKw0KPiA+Pg0KPiA+PiBTaWxpY29uL05YUC9MaWJyYXJ5L1BjZjg1NjNS ZWFsVGltZUNsb2NrTGliL1BjZjg1NjNSZWFsVGltZUNsb2NrTGliLmQNCj4gPj4gZWMgfA0KPiA+ PiAyOSArKw0KPiA+Pg0KPiA+PiBTaWxpY29uL05YUC9MaWJyYXJ5L1BjZjg1NjNSZWFsVGltZUNs b2NrTGliL1BjZjg1NjNSZWFsVGltZUNsb2NrTGliLmkNCj4gPj4gbmYgfA0KPiA+PiA1MiArKysN Cj4gPj4gIDMgZmlsZXMgY2hhbmdlZCwgNDY2IGluc2VydGlvbnMoKykNCj4gPj4NCj4gPj4gZGlm ZiAtLWdpdA0KPiA+PiBhL1NpbGljb24vTlhQL0xpYnJhcnkvUGNmODU2M1JlYWxUaW1lQ2xvY2tM aWIvUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWINCj4gPj4gLmMNCj4gPj4gYi9TaWxpY29uL05YUC9M aWJyYXJ5L1BjZjg1NjNSZWFsVGltZUNsb2NrTGliL1BjZjg1NjNSZWFsVGltZUNsb2NrTGliDQo+ ID4+IC5jDQo+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+IGluZGV4IDAwMDAwMDAwMDAw MC4uZmVhNjVhMjI1ZDdmDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4gKysrDQo+ID4+IGIvU2ls aWNvbi9OWFAvTGlicmFyeS9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYi9QY2Y4NTYzUmVhbFRpbWVD bG9ja0xpYg0KPiA+PiAuYw0KPiA+PiBAQCAtMCwwICsxLDM4NSBAQA0KPiA+PiArLyoqIEBmaWxl DQo+ID4+ICsNCj4gPj4gKyAgQ29weXJpZ2h0IChjKSAyMDE3LCBMaW5hcm8sIEx0ZC4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ID4+ICsNCj4gPj4gKyAgVGhpcyBwcm9ncmFtIGFuZCB0aGUg YWNjb21wYW55aW5nIG1hdGVyaWFscyAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+ID4+ICsgYXZh aWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+ID4+IExp Y2Vuc2UNCj4gPj4gKyAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUg ZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlDQo+ID4+ICsgbWF5IGJlIGZvdW5kDQo+ID4+IGF0DQo+ ID4+ICsNCj4gPj4gaHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5j b20vP3VybD1odHRwJTNBJTJGJTJGb3BlDQo+ID4+IG5zbw0KPiA+PiB1cmNlLm9yZyUyRmxpY2Vu c2VzJTJGYnNkLQ0KPiA+Pg0KPiBsaWNlbnNlLnBocCZkYXRhPTAyJTdDMDElN0N1ZGl0Lmt1bWFy JTQwbnhwLmNvbSU3QzZmYWE2ODA3M2VlZjRlZDA3DQo+ID4+DQo+IDI1MjA4ZDUyMmE0MGQ2NSU3 QzY4NmVhMWQzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2MzYNCj4gPj4NCj4g NDUzMDEwMzc0NjQyNjYwJnNkYXRhPXZEaHJvSE5HMjBWQ3NNdGo3JTJGZ2dXY1dSRzhod3Q1ZmJW MUt2NFINCj4gPj4gTmE5OFElM0QmcmVzZXJ2ZWQ9MA0KPiA+PiArDQo+ID4+ICsgIFRIRSBQUk9H UkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+ ID4+IEJBU0lTLA0KPiA+PiArICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05T IE9GIEFOWSBLSU5ELCBFSVRIRVINCj4gPj4gRVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+PiArDQo+ ID4+ICsqKi8NCj4gPj4gKw0KPiA+PiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ID4+ICsjaW5jbHVk ZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiA+PiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4N Cj4gPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1JlYWxUaW1lQ2xvY2tMaWIuaD4gI2luY2x1ZGUNCj4g Pj4gKzxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KPiA+PiArI2luY2x1ZGUg PExpYnJhcnkvVWVmaUxpYi5oPg0KPiA+PiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVM aWIuaD4NCj4gPj4gKyNpbmNsdWRlIDxQcm90b2NvbC9JMmNNYXN0ZXIuaD4NCj4gPj4gKw0KPiA+ PiArI2RlZmluZSBTTEFWRV9BRERSRVNTICAgICAgICAgICAgIChGaXhlZFBjZEdldDggKFBjZEky Y1NsYXZlQWRkcmVzcykpDQo+ID4+ICsjZGVmaW5lIFBDRjg1NjNfREFUQV9SRUdfT0ZGU0VUICAg MHgyDQo+ID4+ICsNCj4gPj4gKyNkZWZpbmUgUENGODU2M19TRUNPTkRTX01BU0sgICAgICAweDdm DQo+ID4+ICsjZGVmaW5lIFBDRjg1NjNfTUlOVVRFU19NQVNLICAgICAgMHg3Zg0KPiA+PiArI2Rl ZmluZSBQQ0Y4NTYzX0hPVVJTX01BU0sgICAgICAgIDB4M2YNCj4gPj4gKyNkZWZpbmUgUENGODU2 M19EQVlTX01BU0sgICAgICAgICAweDNmDQo+ID4+ICsjZGVmaW5lIFBDRjg1NjNfV0VFS0RBWVNf TUFTSyAgICAgMHgwNw0KPiA+PiArI2RlZmluZSBQQ0Y4NTYzX01PTlRIU19NQVNLICAgICAgIDB4 MWYNCj4gPj4gKyNkZWZpbmUgUENGODU2M19DRU5UVVJZX01BU0sgICAgICAweDgwDQo+ID4+ICsN Cj4gPj4gKyNkZWZpbmUgRVBPQ0hfQkFTRSAgICAgICAgICAgICAgICAyMDAwDQo+ID4+ICsNCj4g Pj4gK1NUQVRJQyBFRklfSEFORExFICAgICAgICAgICAgICAgICBtSTJjTWFzdGVySGFuZGxlOw0K PiA+PiArU1RBVElDIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICptRHJpdmVyRXZlbnRSZWdp c3RyYXRpb247DQo+ID4+ICtTVEFUSUMgRUZJX0kyQ19NQVNURVJfUFJPVE9DT0wgICAgKm1JMmNN YXN0ZXI7DQo+ID4+ICtTVEFUSUMgRUZJX0VWRU5UICAgICAgICAgICAgICAgICAgbVJ0Y1ZpcnR1 YWxBZGRyQ2hhbmdlRXZlbnQ7DQo+ID4+ICsNCj4gPj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25Db3VudDsNCj4gPj4g KyAgRUZJX0kyQ19PUEVSQVRJT04gICAgICAgICAgICAgICBTZXRBZGRyZXNzT3A7DQo+ID4+ICsg IEVGSV9JMkNfT1BFUkFUSU9OICAgICAgICAgICAgICAgR2V0U2V0RGF0ZVRpbWVPcDsNCj4gPj4g K30gUlRDX0kyQ19SRVFVRVNUOw0KPiA+PiArDQo+ID4+ICsjcHJhZ21hIHBhY2soMSkNCj4gPj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gPj4gKyAgVUlOVDggICAgIFZMX3NlY29uZHM7DQo+ID4+ICsg IFVJTlQ4ICAgICBNaW51dGVzOw0KPiA+PiArICBVSU5UOCAgICAgSG91cnM7DQo+ID4+ICsgIFVJ TlQ4ICAgICBEYXlzOw0KPiA+PiArICBVSU5UOCAgICAgV2Vla2RheXM7DQo+ID4+ICsgIFVJTlQ4 ICAgICBDZW50dXJ5X21vbnRoczsNCj4gPj4gKyAgVUlOVDggICAgIFllYXJzOw0KPiA+PiArfSBS VENfREFURVRJTUU7DQo+ID4+ICsjcHJhZ21hIHBhY2soKQ0KPiA+PiArDQo+ID4+ICsvKioNCj4g Pj4gKyAgUmV0dXJucyB0aGUgY3VycmVudCB0aW1lIGFuZCBkYXRlIGluZm9ybWF0aW9uLCBhbmQg dGhlDQo+ID4+ICt0aW1lLWtlZXBpbmcNCj4gPj4gKyAgY2FwYWJpbGl0aWVzIG9mIHRoZSBoYXJk d2FyZSBwbGF0Zm9ybS4NCj4gPj4gKw0KPiA+PiArICBAcGFyYW0gIFRpbWUgICAgICAgICAgICAg ICAgICBBIHBvaW50ZXIgdG8gc3RvcmFnZSB0byByZWNlaXZlIGEgc25hcHNob3Qgb2YNCj4gPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgdGltZS4NCj4gPj4g KyAgQHBhcmFtICBDYXBhYmlsaXRpZXMgICAgICAgICAgQW4gb3B0aW9uYWwgcG9pbnRlciB0byBh IGJ1ZmZlciB0byByZWNlaXZlIHRoZQ0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWFsIHRpbWUgY2xvY2sgZGV2aWNlJ3MgY2FwYWJpbGl0aWVzLg0KPiA+PiArDQo+ID4+ ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVk IHN1Y2Nlc3NmdWxseS4NCj4gPj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVGlt ZSBpcyBOVUxMLg0KPiA+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUgdGlt ZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkIGR1ZSB0bw0KPiA+PiBoYXJkd2FyZQ0KPiA+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci4NCj4gPj4gKw0KPiA+PiArKiovDQo+ ID4+ICtFRklfU1RBVFVTDQo+ID4+ICtFRklBUEkNCj4gPj4gK0xpYkdldFRpbWUgKA0KPiA+PiAr ICBPVVQgRUZJX1RJTUUgICAgICAgICAgICAgICAgKlRpbWUsDQo+ID4+ICsgIE9VVCBFRklfVElN RV9DQVBBQklMSVRJRVMgICAqQ2FwYWJpbGl0aWVzDQo+ID4+ICsgICkNCj4gPj4gK3sNCj4gPj4g KyAgUlRDX0kyQ19SRVFVRVNUICAgICAgICAgICAgIE9wOw0KPiA+PiArICBSVENfREFURVRJTUUg ICAgICAgICAgICAgICAgRGF0ZVRpbWU7DQo+ID4+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICBTdGF0dXM7DQo+ID4+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICBSZWc7DQo+ ID4+ICsNCj4gPj4gKyAgaWYgKFRpbWUgPT0gTlVMTCkgew0KPiA+PiArICAgIHJldHVybiBFRklf SU5WQUxJRF9QQVJBTUVURVI7DQo+ID4+ICsgIH0NCj4gPj4gKw0KPiA+PiArICBpZiAobUkyY01h c3RlciA9PSBOVUxMKSB7DQo+ID4+ICsgICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4+ ICsgIH0NCj4gPj4gKw0KPiA+PiArICBSZWcgPSBQQ0Y4NTYzX0RBVEFfUkVHX09GRlNFVDsNCj4g Pj4gKw0KPiA+PiArICBPcC5PcGVyYXRpb25Db3VudCA9IDI7DQo+ID4+ICsNCj4gPj4gKyAgT3Au U2V0QWRkcmVzc09wLkZsYWdzID0gMDsNCj4gPj4gKyAgT3AuU2V0QWRkcmVzc09wLkxlbmd0aElu Qnl0ZXMgPSAxOyAgT3AuU2V0QWRkcmVzc09wLkJ1ZmZlciA9ICZSZWc7DQo+ID4+ICsNCj4gPj4g KyAgT3AuR2V0U2V0RGF0ZVRpbWVPcC5GbGFncyA9IEkyQ19GTEFHX1JFQUQ7DQo+ID4+ICsgT3Au R2V0U2V0RGF0ZVRpbWVPcC5MZW5ndGhJbkJ5dGVzID0gc2l6ZW9mIChSVENfREFURVRJTUUpOw0K PiA+PiArIE9wLkdldFNldERhdGVUaW1lT3AuQnVmZmVyID0gKFZPSUQgKikmRGF0ZVRpbWU7DQo+ ID4+ICsNCj4gPj4gKyAgU3RhdHVzID0gbUkyY01hc3Rlci0+U3RhcnRSZXF1ZXN0IChtSTJjTWFz dGVyLCBTTEFWRV9BRERSRVNTLA0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgIChWT0lE ICopJk9wLCBOVUxMLCBOVUxMKTsgIGlmIChFRklfRVJST1INCj4gPj4gKyAoU3RhdHVzKSkgew0K PiA+PiArICAgIHJldHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiA+PiArICB9DQo+ID4+ICsNCj4g Pj4gKyAgVGltZS0+U2Vjb25kICA9IEJjZFRvRGVjaW1hbDggKERhdGVUaW1lLlZMX3NlY29uZHMg Jg0KPiA+PiBQQ0Y4NTYzX1NFQ09ORFNfTUFTSyk7DQo+ID4+ICsgIFRpbWUtPk1pbnV0ZSAgPSBC Y2RUb0RlY2ltYWw4IChEYXRlVGltZS5NaW51dGVzICYNCj4gPj4gUENGODU2M19NSU5VVEVTX01B U0spOw0KPiA+PiArICBUaW1lLT5Ib3VyICAgID0gQmNkVG9EZWNpbWFsOCAoRGF0ZVRpbWUuSG91 cnMgJg0KPiBQQ0Y4NTYzX0hPVVJTX01BU0spOw0KPiA+PiArICBUaW1lLT5EYXkgICAgID0gQmNk VG9EZWNpbWFsOCAoRGF0ZVRpbWUuRGF5cyAmIFBDRjg1NjNfREFZU19NQVNLKTsNCj4gPj4gKyAg VGltZS0+TW9udGggICA9IEJjZFRvRGVjaW1hbDggKERhdGVUaW1lLkNlbnR1cnlfbW9udGhzICYN Cj4gPj4gUENGODU2M19NT05USFNfTUFTSyk7DQo+ID4+ICsgIFRpbWUtPlllYXIgICAgPSBCY2RU b0RlY2ltYWw4IChEYXRlVGltZS5ZZWFycykgKyBFUE9DSF9CQVNFOw0KPiA+PiArDQo+ID4+ICsg IGlmIChEYXRlVGltZS5DZW50dXJ5X21vbnRocyAmIFBDRjg1NjNfQ0VOVFVSWV9NQVNLKSB7DQo+ ID4+ICsgICAgVGltZS0+WWVhciArPSAxMDA7DQo+ID4+ICsgIH0NCj4gPj4gKw0KPiA+PiArICBU aW1lLT5EYXlsaWdodCAgPSBFRklfVElNRV9BREpVU1RfREFZTElHSFQ7ICBUaW1lLT5UaW1lWm9u ZSAgPSAwOw0KPiA+PiArIC8qIFVUQyAqLw0KPiA+DQo+ID4gTmVlZCB0byB0YWtlIGNhcmUgb2Yg dGltZS16b25lIGFzIHdlbGwuDQo+ID4NCj4gDQo+IE5vLCB0aGlzIGRvZXMgbm90IGJlbG9uZyBp biB0aGlzIGxpYnJhcnksIEkgaGF2ZSBwb3N0ZWQgcGF0Y2hlcyB0byBhZGQgdGltZXpvbmUNCj4g aGFuZGxpbmcgYW5kIGlucHV0IHZhbGlkYXRpb24gdG8gdGhlIGNvcmUgZHJpdmVyLg0KPiANCj4g Pj4gKw0KPiA+PiArICBpZiAoQ2FwYWJpbGl0aWVzICE9IE5VTEwpIHsNCj4gPj4gKyAgICBDYXBh YmlsaXRpZXMtPlJlc29sdXRpb24gPSAxOw0KPiA+PiArICAgIENhcGFiaWxpdGllcy0+QWNjdXJh Y3kgPSAwOw0KPiA+PiArICAgIENhcGFiaWxpdGllcy0+U2V0c1RvWmVybyA9IFRSVUU7DQo+ID4+ ICsgIH0NCj4gPj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+PiArfQ0KPiA+PiArDQo+ID4+ ICsNCj4gPj4gKy8qKg0KPiA+PiArICBTZXRzIHRoZSBjdXJyZW50IGxvY2FsIHRpbWUgYW5kIGRh dGUgaW5mb3JtYXRpb24uDQo+ID4+ICsNCj4gPj4gKyAgQHBhcmFtICBUaW1lICAgICAgICAgICAg ICAgICAgQSBwb2ludGVyIHRvIHRoZSBjdXJyZW50IHRpbWUuDQo+ID4+ICsNCj4gPj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vz c2Z1bGx5Lg0KPiA+PiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBBIHRpbWUgZmll bGQgaXMgb3V0IG9mIHJhbmdlLg0KPiA+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAg ICBUaGUgdGltZSBjb3VsZCBub3QgYmUgc2V0IGR1ZSBkdWUgdG8NCj4gPj4gaGFyZHdhcmUNCj4g Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuDQo+ID4+ICsNCj4gPj4g KyoqLw0KPiA+PiArRUZJX1NUQVRVUw0KPiA+PiArRUZJQVBJDQo+ID4+ICtMaWJTZXRUaW1lICgN Cj4gPj4gKyAgSU4gRUZJX1RJTUUgICAgICAgICAgICAgICAgKlRpbWUNCj4gPj4gKyAgKQ0KPiA+ PiArew0KPiA+PiArICBSVENfSTJDX1JFUVVFU1QgICAgICAgICAgICAgT3A7DQo+ID4+ICsgIFJU Q19EQVRFVElNRSAgICAgICAgICAgICAgICBEYXRlVGltZTsNCj4gPj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgIFJlZzsNCj4gPj4gKw0KPiA+PiArICBpZiAobUkyY01hc3RlciA9PSBOVUxMKSB7DQo+ID4+ ICsgICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4+ICsgIH0NCj4gPg0KPiA+IFBsZWFz ZSBzZWUsIGlmIGNoZWNrIGNhbiBiZSBhZGRlZCBmb3IgdGltZSB2YWxpZGl0eQ0KPiA+DQo+IA0K PiBTYW1lIGhlcmUuDQo+IA0KPiA+PiArDQo+ID4+ICsgIERhdGVUaW1lLlZMX3NlY29uZHMgICAg ID0gRGVjaW1hbFRvQmNkOCAoVGltZS0+U2Vjb25kKTsNCj4gPj4gKyAgRGF0ZVRpbWUuTWludXRl cyAgICAgICAgPSBEZWNpbWFsVG9CY2Q4IChUaW1lLT5NaW51dGUpOw0KPiA+PiArICBEYXRlVGlt ZS5Ib3VycyAgICAgICAgICA9IERlY2ltYWxUb0JjZDggKFRpbWUtPkhvdXIpOw0KPiA+PiArICBE YXRlVGltZS5EYXlzICAgICAgICAgICA9IERlY2ltYWxUb0JjZDggKFRpbWUtPkRheSk7DQo+ID4+ ICsgIERhdGVUaW1lLkNlbnR1cnlfbW9udGhzID0gRGVjaW1hbFRvQmNkOCAoVGltZS0+TW9udGgp Ow0KPiA+PiArICBEYXRlVGltZS5ZZWFycyAgICAgICAgICA9IERlY2ltYWxUb0JjZDggKFRpbWUt PlllYXIgJSAxMDApOw0KPiA+PiArICBpZiAoVGltZS0+WWVhciA+PSBFUE9DSF9CQVNFICsgMTAw KSB7DQo+ID4+ICsgICAgRGF0ZVRpbWUuQ2VudHVyeV9tb250aHMgfD0gUENGODU2M19DRU5UVVJZ X01BU0s7ICB9DQo+ID4+ICsNCj4gPj4gKyAgUmVnID0gUENGODU2M19EQVRBX1JFR19PRkZTRVQ7 DQo+ID4+ICsNCj4gPj4gKyAgT3AuT3BlcmF0aW9uQ291bnQgPSAyOw0KPiA+PiArDQo+ID4+ICsg IE9wLlNldEFkZHJlc3NPcC5GbGFncyA9IDA7DQo+ID4+ICsgIE9wLlNldEFkZHJlc3NPcC5MZW5n dGhJbkJ5dGVzID0gMTsgIE9wLlNldEFkZHJlc3NPcC5CdWZmZXIgPSAmUmVnOw0KPiA+PiArDQo+ ID4+ICsgIE9wLkdldFNldERhdGVUaW1lT3AuRmxhZ3MgPSAwOw0KPiA+PiArICBPcC5HZXRTZXRE YXRlVGltZU9wLkxlbmd0aEluQnl0ZXMgPSBzaXplb2YgKFJUQ19EQVRFVElNRSk7DQo+ID4+ICsg T3AuR2V0U2V0RGF0ZVRpbWVPcC5CdWZmZXIgPSAoVk9JRCAqKSZEYXRlVGltZTsNCj4gPj4gKw0K PiA+PiArICBTdGF0dXMgPSBtSTJjTWFzdGVyLT5TdGFydFJlcXVlc3QgKG1JMmNNYXN0ZXIsIFNM QVZFX0FERFJFU1MsDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikmT3As IE5VTEwsIE5VTEwpOw0KPiA+PiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4+ICsg ICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4+ICsgIH0NCj4gPj4gKyAgcmV0dXJuIEVG SV9TVUNDRVNTOw0KPiA+PiArfQ0KPiA+PiArDQo+ID4+ICsNCj4gPj4gKy8qKg0KPiA+PiArICBS ZXR1cm5zIHRoZSBjdXJyZW50IHdha2V1cCBhbGFybSBjbG9jayBzZXR0aW5nLg0KPiA+PiArDQo+ ID4+ICsgIEBwYXJhbSAgRW5hYmxlZCAgICAgICAgICAgICAgIEluZGljYXRlcyBpZiB0aGUgYWxh cm0gaXMgY3VycmVudGx5IGVuYWJsZWQgb3INCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGlzYWJsZWQuDQo+ID4+ICsgIEBwYXJhbSAgUGVuZGluZyAgICAgICAgICAgICAg IEluZGljYXRlcyBpZiB0aGUgYWxhcm0gc2lnbmFsIGlzIHBlbmRpbmcgYW5kDQo+ID4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzIGFja25vd2xlZGdlbWVudC4NCj4g Pj4gKyAgQHBhcmFtICBUaW1lICAgICAgICAgICAgICAgICAgVGhlIGN1cnJlbnQgYWxhcm0gc2V0 dGluZy4NCj4gPj4gKw0KPiA+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUg YWxhcm0gc2V0dGluZ3Mgd2VyZSByZXR1cm5lZC4NCj4gPj4gKyAgQHJldHZhbCBFRklfSU5WQUxJ RF9QQVJBTUVURVIgQW55IHBhcmFtZXRlciBpcyBOVUxMLg0KPiA+PiArICBAcmV0dmFsIEVGSV9E RVZJQ0VfRVJST1IgICAgICBUaGUgd2FrZXVwIHRpbWUgY291bGQgbm90IGJlIHJldHJpZXZlZA0K PiBkdWUNCj4gPj4gdG8gYQ0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo YXJkd2FyZSBlcnJvci4NCj4gPj4gKw0KPiA+PiArKiovDQo+ID4+ICtFRklfU1RBVFVTDQo+ID4+ ICtFRklBUEkNCj4gPj4gK0xpYkdldFdha2V1cFRpbWUgKA0KPiA+PiArICBPVVQgQk9PTEVBTiAg ICAgKkVuYWJsZWQsDQo+ID4+ICsgIE9VVCBCT09MRUFOICAgICAqUGVuZGluZywNCj4gPj4gKyAg T1VUIEVGSV9USU1FICAgICpUaW1lDQo+ID4+ICsgICkNCj4gPj4gK3sNCj4gPj4gKyAgcmV0dXJu IEVGSV9VTlNVUFBPUlRFRDsNCj4gPj4gK30NCj4gPj4gKw0KPiA+PiArDQo+ID4+ICsvKioNCj4g Pj4gKyAgU2V0cyB0aGUgc3lzdGVtIHdha2V1cCBhbGFybSBjbG9jayB0aW1lLg0KPiA+PiArDQo+ ID4+ICsgIEBwYXJhbSAgRW5hYmxlZCAgICAgICAgICAgICAgIEVuYWJsZSBvciBkaXNhYmxlIHRo ZSB3YWtldXAgYWxhcm0uDQo+ID4+ICsgIEBwYXJhbSAgVGltZSAgICAgICAgICAgICAgICAgIElm IEVuYWJsZSBpcyBUUlVFLCB0aGUgdGltZSB0byBzZXQgdGhlIHdha2V1cA0KPiA+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhbGFybSBmb3IuDQo+ID4+ICsNCj4gPj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgSWYgRW5hYmxlIGlzIFRSVUUsIHRoZW4gdGhlIHdh a2V1cCBhbGFybSB3YXMNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5h YmxlZC4gSWYgRW5hYmxlIGlzIEZBTFNFLCB0aGVuIHRoZSB3YWtldXANCj4gPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYWxhcm0gd2FzIGRpc2FibGVkLg0KPiA+PiArICBAcmV0 dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBBIHRpbWUgZmllbGQgaXMgb3V0IG9mIHJhbmdlLg0K PiA+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUgd2FrZXVwIHRpbWUgY291 bGQgbm90IGJlIHNldCBkdWUgdG8gYQ0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBoYXJkd2FyZSBlcnJvci4NCj4gPj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAg ICAgQSB3YWtldXAgdGltZXIgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzDQo+ID4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtLg0KPiA+PiArDQo+ID4+ICsqKi8NCj4g Pj4gK0VGSV9TVEFUVVMNCj4gPj4gK0VGSUFQSQ0KPiA+PiArTGliU2V0V2FrZXVwVGltZSAoDQo+ ID4+ICsgIElOIEJPT0xFQU4gICAgICBFbmFibGVkLA0KPiA+PiArICBPVVQgRUZJX1RJTUUgICAg KlRpbWUNCj4gPj4gKyAgKQ0KPiA+PiArew0KPiA+PiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiA+PiArfQ0KPiA+PiArDQo+ID4+ICtTVEFUSUMNCj4gPj4gK1ZPSUQNCj4gPj4gK0RyaXZl clJlZ2lzdHJhdGlvbkV2ZW50ICgNCj4gPj4gKyAgSU4gIEVGSV9FVkVOVCAgICAgICBFdmVudCwN Cj4gPj4gKyAgSU4gIFZPSUQgICAgICAgICAgICAqQ29udGV4dA0KPiA+PiArICApDQo+ID4+ICt7 DQo+ID4+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgSGFuZGxlWzJdOw0KPiA+PiArICBV SU5UTiAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemU7DQo+ID4+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgICAgU3RhdHVzOw0KPiA+PiArICBFRklfSTJDX01BU1RFUl9QUk9UT0NPTCAg ICpJMmNNYXN0ZXI7DQo+ID4+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQnVzRnJlcXVl bmN5Ow0KPiA+PiArDQo+ID4+ICsgIC8vDQo+ID4+ICsgIC8vIFRyeSB0byBjb25uZWN0IHRoZSBu ZXdseSByZWdpc3RlcmVkIGRyaXZlciB0byBvdXIgaGFuZGxlLg0KPiA+PiArICAvLw0KPiA+PiAr ICBkbyB7DQo+ID4+ICsgICAgQnVmZmVyU2l6ZSA9IHNpemVvZiAoRUZJX0hBTkRMRSk7DQo+ID4+ ICsgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUgKEJ5UmVnaXN0ZXJOb3RpZnksDQo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnRWZpRHJpdmVyQmluZGluZ1Byb3Rv Y29sR3VpZCwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbURyaXZlckV2 ZW50UmVnaXN0cmF0aW9uLA0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm QnVmZmVyU2l6ZSwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxl KTsNCj4gPj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4+ICsgICAgICBpZiAo U3RhdHVzICE9IEVGSV9OT1RfRk9VTkQpIHsNCj4gPj4gKyAgICAgICAgREVCVUcgKChERUJVR19X QVJOLCAiJWE6IGdCUy0+TG9jYXRlSGFuZGxlICgpIHJldHVybmVkICVyXG4iLA0KPiA+PiArICAg ICAgICAgIF9fRlVOQ1RJT05fXywgU3RhdHVzKSk7DQo+ID4+ICsgICAgICB9DQo+ID4+ICsgICAg ICBicmVhazsNCj4gPj4gKyAgICB9DQo+ID4+ICsNCj4gPj4gKyAgICAvLw0KPiA+PiArICAgIC8v IENoZWNrIGlmIHdlIGNhbiBjb25uZWN0IG91ciBoYW5kbGUgdG8gdGhpcyBkcml2ZXIuDQo+ID4+ ICsgICAgLy8NCj4gPj4gKyAgICBIYW5kbGVbMV0gPSBOVUxMOw0KPiA+PiArICAgIFN0YXR1cyA9 IGdCUy0+Q29ubmVjdENvbnRyb2xsZXIgKG1JMmNNYXN0ZXJIYW5kbGUsIEhhbmRsZSwgTlVMTCwN Cj4gRkFMU0UpOw0KPiA+PiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPj4gKyAg ICAgIGNvbnRpbnVlOw0KPiA+PiArICAgIH0NCj4gPj4gKw0KPiA+PiArICAgIERFQlVHICgoREVC VUdfSU5GTywgIiVhOiBmb3VuZCBJMkMgbWFzdGVyIVxuIiwgX19GVU5DVElPTl9fKSk7DQo+ID4+ ICsNCj4gPj4gKyAgICBnQlMtPkNsb3NlRXZlbnQgKEV2ZW50KTsNCj4gPj4gKw0KPiA+PiArICAg IFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sIChtSTJjTWFzdGVySGFuZGxlLA0KPiA+PiAmZ0Vm aUkyY01hc3RlclByb3RvY29sR3VpZCwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgKFZPSUQg KiopJkkyY01hc3RlciwgZ0ltYWdlSGFuZGxlLCBOVUxMLA0KPiA+PiArICAgICAgICAgICAgICAg ICAgICBFRklfT1BFTl9QUk9UT0NPTF9FWENMVVNJVkUpOw0KPiA+PiArICAgIEFTU0VSVF9FRklf RVJST1IgKFN0YXR1cyk7DQo+ID4+ICsNCj4gPj4gKyAgICBTdGF0dXMgPSBJMmNNYXN0ZXItPlJl c2V0IChJMmNNYXN0ZXIpOw0KPiA+PiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g Pj4gKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogSTJDTWFzdGVyLT5SZXNldCAoKSBm YWlsZWQgLSAlclxuIiwNCj4gPj4gKyAgICAgICAgX19GVU5DVElPTl9fLCBTdGF0dXMpKTsNCj4g Pj4gKyAgICAgIGJyZWFrOw0KPiA+PiArICAgIH0NCj4gPj4gKw0KPiA+PiArICAgIEJ1c0ZyZXF1 ZW5jeSA9IEZpeGVkUGNkR2V0MTYgKFBjZEkyY0J1c0ZyZXF1ZW5jeSk7DQo+ID4+ICsgICAgU3Rh dHVzID0gSTJjTWFzdGVyLT5TZXRCdXNGcmVxdWVuY3kgKEkyY01hc3RlciwgJkJ1c0ZyZXF1ZW5j eSk7DQo+ID4+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+PiArICAgICAgREVC VUcgKChERUJVR19FUlJPUiwgIiVhOiBJMkNNYXN0ZXItPlNldEJ1c0ZyZXF1ZW5jeSAoKSBmYWls ZWQNCj4gPj4gKyAtDQo+ID4+ICVyXG4iLA0KPiA+PiArICAgICAgICBfX0ZVTkNUSU9OX18sIFN0 YXR1cykpOw0KPiA+PiArICAgICAgYnJlYWs7DQo+ID4+ICsgICAgfQ0KPiA+PiArDQo+ID4+ICsg ICAgbUkyY01hc3RlciA9IEkyY01hc3RlcjsNCj4gPj4gKyAgICBicmVhazsNCj4gPj4gKyAgfSB3 aGlsZSAoVFJVRSk7DQo+ID4+ICt9DQo+ID4+ICsNCj4gPj4gKy8qKg0KPiA+PiArICBGaXh1cCBp bnRlcm5hbCBkYXRhIHNvIHRoYXQgRUZJIGNhbiBiZSBjYWxsIGluIHZpcnR1YWwgbW9kZS4NCj4g Pj4gKyAgQ2FsbCB0aGUgcGFzc2VkIGluIENoaWxkIE5vdGlmeSBldmVudCBhbmQgY29udmVydCBh bnkgcG9pbnRlcnMgaW4NCj4gPj4gKyAgbGliIHRvIHZpcnR1YWwgbW9kZS4NCj4gPj4gKw0KPiA+ PiArICBAcGFyYW1baW5dICAgIEV2ZW50ICAgVGhlIEV2ZW50IHRoYXQgaXMgYmVpbmcgcHJvY2Vz c2VkDQo+ID4+ICsgIEBwYXJhbVtpbl0gICAgQ29udGV4dCBFdmVudCBDb250ZXh0DQo+ID4+ICsq Ki8NCj4gPj4gK1ZPSUQNCj4gPj4gK0VGSUFQSQ0KPiA+PiArTGliUnRjVmlydHVhbE5vdGlmeUV2 ZW50ICgNCj4gPj4gKyAgSU4gRUZJX0VWRU5UICAgICAgICBFdmVudCwNCj4gPj4gKyAgSU4gVk9J RCAgICAgICAgICAgICAqQ29udGV4dA0KPiA+PiArICApDQo+ID4+ICt7DQo+ID4+ICsgIEVmaUNv bnZlcnRQb2ludGVyICgweDAsIChWT0lEICoqKSZtSTJjTWFzdGVyKTsgfQ0KPiA+PiArDQo+ID4+ ICsvKioNCj4gPj4gKyAgTGlicmFyeSBlbnRyeSBwb2ludA0KPiA+PiArDQo+ID4+ICsgIEBwYXJh bSAgSW1hZ2VIYW5kbGUgICAgICAgICAgIEhhbmRsZSB0aGF0IGlkZW50aWZpZXMgdGhlIGxvYWRl ZCBpbWFnZS4NCj4gPj4gKyAgQHBhcmFtICBTeXN0ZW1UYWJsZSAgICAgICAgICAgU3lzdGVtIFRh YmxlIGZvciB0aGlzIGltYWdlLg0KPiA+PiArDQo+ID4+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1Mg ICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gPj4gKw0K PiA+PiArKiovDQo+ID4+ICtFRklfU1RBVFVTDQo+ID4+ICtFRklBUEkNCj4gPj4gK0xpYlJ0Y0lu aXRpYWxpemUgKA0KPiA+PiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEltYWdlSGFuZGxlLA0KPiA+PiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgICAgICAgICAg ICAgICAgICAgICpTeXN0ZW1UYWJsZQ0KPiA+PiArICApDQo+ID4+ICt7DQo+ID4+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgU3RhdHVzOw0KPiA+PiArICBVSU5UTiAgICAgICAgICAgICAgIEJ1ZmZl clNpemU7DQo+ID4+ICsNCj4gPj4gKyAgLy8NCj4gPj4gKyAgLy8gRmluZCB0aGUgaGFuZGxlIHRo YXQgbWFya3MgdGhlIGNvbnRyb2xsZXIgIC8vIHRoYXQgd2lsbCBwcm92aWRlDQo+ID4+ICsgdGhl IEkyQyBtYXN0ZXIgcHJvdG9jb2wuDQo+ID4+ICsgIC8vDQo+ID4+ICsgIEJ1ZmZlclNpemUgPSBz aXplb2YgKEVGSV9IQU5ETEUpOw0KPiA+PiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZUhhbmRsZSAo QnlQcm90b2NvbCwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICZnUGNmODU2M1JlYWxUaW1lQ2xv Y2tMaWJJMmNNYXN0ZXJQcm90b2xHdWlkLCBOVUxMLA0KPiA+PiArICAgICAgICAgICAgICAgICAg JkJ1ZmZlclNpemUsICZtSTJjTWFzdGVySGFuZGxlKTsgIEFTU0VSVF9FRklfRVJST1INCj4gPj4g KyAoU3RhdHVzKTsNCj4gPj4gKw0KPiA+PiArICAvLw0KPiA+PiArICAvLyBSZWdpc3RlciBhIHBy b3RvY29sIHJlZ2lzdHJhdGlvbiBub3RpZmljYXRpb24gY2FsbGJhY2sgb24gdGhlDQo+ID4+ICsg ZHJpdmVyICAvLyBiaW5kaW5nIHByb3RvY29sIHNvIHdlIGNhbiBhdHRlbXB0IHRvIGNvbm5lY3Qg b3VyIEkyQw0KPiA+PiArIG1hc3RlciB0byBpdCAgLy8gYXMgc29vbiBhcyBpdCBhcHBlYXJzLg0K PiA+PiArICAvLw0KPiA+PiArICBFZmlDcmVhdGVQcm90b2NvbE5vdGlmeUV2ZW50ICgNCj4gPj4g KyAgICAmZ0VmaURyaXZlckJpbmRpbmdQcm90b2NvbEd1aWQsDQo+ID4+ICsgICAgVFBMX0NBTExC QUNLLA0KPiA+PiArICAgIERyaXZlclJlZ2lzdHJhdGlvbkV2ZW50LA0KPiA+PiArICAgIE5VTEws DQo+ID4+ICsgICAgJm1Ecml2ZXJFdmVudFJlZ2lzdHJhdGlvbik7DQo+ID4+ICsNCj4gPj4gKyAg Ly8NCj4gPj4gKyAgLy8gUmVnaXN0ZXIgZm9yIHRoZSB2aXJ0dWFsIGFkZHJlc3MgY2hhbmdlIGV2 ZW50ICAvLyAgU3RhdHVzID0NCj4gPj4gKyBnQlMtPkNyZWF0ZUV2ZW50RXggKEVWVF9OT1RJRllf U0lHTkFMLCBUUExfTk9USUZZLA0KPiA+PiArICAgICAgICAgICAgICAgICAgTGliUnRjVmlydHVh bE5vdGlmeUV2ZW50LCBOVUxMLA0KPiA+PiArICAgICAgICAgICAgICAgICAgJmdFZmlFdmVudFZp cnR1YWxBZGRyZXNzQ2hhbmdlR3VpZCwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICZtUnRjVmly dHVhbEFkZHJDaGFuZ2VFdmVudCk7ICBBU1NFUlRfRUZJX0VSUk9SDQo+ID4+ICsgKFN0YXR1cyk7 DQo+ID4+ICsNCj4gPj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+PiArfQ0KPiA+PiBkaWZm IC0tZ2l0DQo+ID4+IGEvU2lsaWNvbi9OWFAvTGlicmFyeS9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xp Yi9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYg0KPiA+PiAuZGVjDQo+ID4+IGIvU2lsaWNvbi9OWFAv TGlicmFyeS9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYi9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYg0K PiA+PiAuZGVjDQo+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+IGluZGV4IDAwMDAwMDAw MDAwMC4uYmM4ZmM2MGMwNjAyDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4gKysrDQo+ID4+IGIv U2lsaWNvbi9OWFAvTGlicmFyeS9QY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYi9QY2Y4NTYzUmVhbFRp bWVDbG9ja0xpYg0KPiA+PiAuZGVjDQo+ID4+IEBAIC0wLDAgKzEsMjkgQEANCj4gPj4gKyMvKiog QGZpbGUNCj4gPj4gKyMNCj4gPj4gKyMgIENvcHlyaWdodCAoYykgMjAxNywgTGluYXJvLCBMdGQu IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiAjICMNCj4gPj4gK1RoaXMgcHJvZ3JhbSBhbmQgdGhl IGFjY29tcGFueWluZyBtYXRlcmlhbHMgIyAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+ID4+ICth dmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QNCj4gPj4g TGljZW5zZQ0KPiA+PiArIyAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uIFRo ZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UNCj4gPj4gK21heSBiZSBmb3VuZA0KPiA+PiBhdA0K PiA+PiArIw0KPiA+PiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29r LmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZvcGUNCj4gPj4gbnNvDQo+ID4+IHVyY2Uub3JnJTJGbGlj ZW5zZXMlMkZic2QtDQo+ID4+DQo+IGxpY2Vuc2UucGhwJmRhdGE9MDIlN0MwMSU3Q3VkaXQua3Vt YXIlNDBueHAuY29tJTdDNmZhYTY4MDczZWVmNGVkMDcNCj4gPj4NCj4gMjUyMDhkNTIyYTQwZDY1 JTdDNjg2ZWExZDNiYzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0MwJTdDMCU3QzYzNg0KPiA+Pg0K PiA0NTMwMTAzNzQ2NDI2NjAmc2RhdGE9dkRocm9ITkcyMFZDc010ajclMkZnZ1djV1JHOGh3dDVm YlYxS3Y0Ug0KPiA+PiBOYTk4USUzRCZyZXNlcnZlZD0wDQo+ID4+ICsjICBUSEUgUFJPR1JBTSBJ UyBESVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTIElTIg0KPiA+PiBC QVNJUywNCj4gPj4gKyMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0Yg QU5ZIEtJTkQsIEVJVEhFUg0KPiA+PiBFWFBSRVNTIE9SIElNUExJRUQuDQo+ID4+ICsjDQo+ID4+ ICsjDQo+ID4+ICsjKiovDQo+ID4+ICsNCj4gPj4gK1tEZWZpbmVzXQ0KPiA+PiArICBERUNfU1BF Q0lGSUNBVElPTiAgICAgICAgICAgICAgPSAweDAwMDEwMDFBDQo+ID4+ICsgIFBBQ0tBR0VfTkFN RSAgICAgICAgICAgICAgICAgICA9IFBjZjg1NjNSZWFsVGltZUNsb2NrTGliDQo+ID4+ICsgIFBB Q0tBR0VfR1VJRCAgICAgICAgICAgICAgICAgICA9IDQ0ZDYzNjY4LWM4NmItNDQ2YS1iMzAzLWYz YTUxNzY3MDJhYQ0KPiA+PiArICBQQUNLQUdFX1ZFUlNJT04gICAgICAgICAgICAgICAgPSAwLjEN Cj4gPj4gKw0KPiA+PiArW0d1aWRzXQ0KPiA+PiArICBnUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWJU b2tlblNwYWNlR3VpZCA9IHsgMHhhYWY1YjE2OSwgMHg5M2EwLA0KPiA+PiArMHg0ZDYwLCB7DQo+ ID4+IDB4YmEsIDB4ZTQsIDB4MDYsIDB4MDcsIDB4OTIsIDB4OGUsIDB4NjMsIDB4ZGQgfX0NCj4g Pj4gKw0KPiA+PiArW1Byb3RvY29sc10NCj4gPj4gKyAgZ1BjZjg1NjNSZWFsVGltZUNsb2NrTGli STJjTWFzdGVyUHJvdG9sR3VpZCA9IHsgMHhhNmFmMThhZSwNCj4gPj4gKzB4M2JkNSwNCj4gPj4g MHg0YWY5LCB7IDB4YmIsIDB4NmEsIDB4ZGIsIDB4ODUsIDB4MDcsIDB4NjIsIDB4ODEsIDB4Mzgg fX0NCj4gPj4gKw0KPiA+PiArW1BjZHNGaXhlZEF0QnVpbGRdDQo+ID4+ICsNCj4gPj4NCj4gZ1Bj Zjg1NjNSZWFsVGltZUNsb2NrTGliVG9rZW5TcGFjZUd1aWQuUGNkSTJjU2xhdmVBZGRyZXNzfDB4 NTF8VUlOVDh8DQo+ID4+IDANCj4gPj4geDAwMDAwMDAxDQo+ID4+ICsNCj4gPj4NCj4gZ1BjZjg1 NjNSZWFsVGltZUNsb2NrTGliVG9rZW5TcGFjZUd1aWQuUGNkSTJjQnVzRnJlcXVlbmN5fDQwMHxV SU5UMTZ8DQo+ID4+IDANCj4gPj4geDAwMDAwMDAyDQo+ID4+IGRpZmYgLS1naXQNCj4gPj4gYS9T aWxpY29uL05YUC9MaWJyYXJ5L1BjZjg1NjNSZWFsVGltZUNsb2NrTGliL1BjZjg1NjNSZWFsVGlt ZUNsb2NrTGliDQo+ID4+IC5pbmYNCj4gPj4gYi9TaWxpY29uL05YUC9MaWJyYXJ5L1BjZjg1NjNS ZWFsVGltZUNsb2NrTGliL1BjZjg1NjNSZWFsVGltZUNsb2NrTGliDQo+ID4+IC5pbmYNCj4gPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMWUwMDExNjIx NDQNCj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+PiArKysNCj4gPj4gYi9TaWxpY29uL05YUC9MaWJy YXJ5L1BjZjg1NjNSZWFsVGltZUNsb2NrTGliL1BjZjg1NjNSZWFsVGltZUNsb2NrTGliDQo+ID4+ IC5pbmYNCj4gPj4gQEAgLTAsMCArMSw1MiBAQA0KPiA+PiArIy8qKiBAZmlsZQ0KPiA+PiArIw0K PiA+PiArIyAgQ29weXJpZ2h0IChjKSAyMDE3LCBMaW5hcm8sIEx0ZC4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+ICMgIw0KPiA+PiArVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1h dGVyaWFscyAjICBhcmUgbGljZW5zZWQgYW5kIG1hZGUNCj4gPj4gK2F2YWlsYWJsZSB1bmRlciB0 aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRA0KPiA+PiBMaWNlbnNlDQo+ID4+ICsj ICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIGZ1bGwgdGV4dCBvZiB0 aGUgbGljZW5zZQ0KPiA+PiArbWF5IGJlIGZvdW5kDQo+ID4+IGF0DQo+ID4+ICsjDQo+ID4+IGh0 dHBzOi8vZW1lYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUz QSUyRiUyRm9wZQ0KPiA+PiBuc28NCj4gPj4gdXJjZS5vcmclMkZsaWNlbnNlcyUyRmJzZC0NCj4g Pj4NCj4gbGljZW5zZS5waHAmZGF0YT0wMiU3QzAxJTdDdWRpdC5rdW1hciU0MG54cC5jb20lN0M2 ZmFhNjgwNzNlZWY0ZWQwNw0KPiA+Pg0KPiAyNTIwOGQ1MjJhNDBkNjUlN0M2ODZlYTFkM2JjMmI0 YzZmYTkyY2Q5OWM1YzMwMTYzNSU3QzAlN0MwJTdDNjM2DQo+ID4+DQo+IDQ1MzAxMDM3NDY0MjY2 MCZzZGF0YT12RGhyb0hORzIwVkNzTXRqNyUyRmdnV2NXUkc4aHd0NWZiVjFLdjRSDQo+ID4+IE5h OThRJTNEJnJlc2VydmVkPTANCj4gPj4gKyMgIFRIRSBQUk9HUkFNIElTIERJU1RSSUJVVEVEIFVO REVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+ID4+IEJBU0lTLA0KPiA+PiArIyAg V0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lORCwgRUlUSEVS DQo+ID4+IEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gPj4gKyMNCj4gPj4gKyMNCj4gPj4gKyMqKi8N Cj4gPj4gKw0KPiA+PiArW0RlZmluZXNdDQo+ID4+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAg ICAgICAgICA9IDB4MDAwMTAwMUENCj4gPj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAg ICAgID0gUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWINCj4gPj4gKyAgRklMRV9HVUlEICAgICAgICAg ICAgICAgICAgICAgID0gMWUzZDMzZjMtYTY3MS00MTE2LWJkODEtNmI0MzUyOTZjMWUwDQo+ID4+ ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gPj4gKyAg VkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ID4+ICsgIExJQlJBUllfQ0xB U1MgICAgICAgICAgICAgICAgICA9IFJlYWxUaW1lQ2xvY2tMaWINCj4gPj4gKw0KPiA+PiArW1Nv dXJjZXMuY29tbW9uXQ0KPiA+PiArICBQY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYi5jDQo+ID4+ICsN Cj4gPj4gK1tQYWNrYWdlc10NCj4gPj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPj4gKyAgRW1i ZWRkZWRQa2cvRW1iZWRkZWRQa2cuZGVjDQo+ID4+ICsNCj4gPj4gK1NpbGljb24vTlhQL0xpYnJh cnkvUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWIvUGNmODU2M1JlYWxUaW1lQ2xvY2tMaWIuDQo+ID4+ ICtkZWMNCj4gPj4gKw0KPiA+PiArW0xpYnJhcnlDbGFzc2VzXQ0KPiA+PiArICBCYXNlTWVtb3J5 TGliDQo+ID4+ICsgIERlYnVnTGliDQo+ID4+ICsgIElvTGliDQo+ID4+ICsgIFVlZmlCb290U2Vy dmljZXNUYWJsZUxpYg0KPiA+PiArICBVZWZpTGliDQo+ID4+ICsgIFVlZmlSdW50aW1lTGliDQo+ ID4+ICsNCj4gPj4gK1tHdWlkc10NCj4gPj4gKyAgZ0VmaUV2ZW50VmlydHVhbEFkZHJlc3NDaGFu Z2VHdWlkDQo+ID4+ICsNCj4gPj4gK1tQcm90b2NvbHNdDQo+ID4+ICsgIGdFZmlEcml2ZXJCaW5k aW5nUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQo+ID4+ICsgIGdF ZmlJMmNNYXN0ZXJQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVT DQo+ID4+ICsgIGdQY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYkkyY01hc3RlclByb3RvbEd1aWQgICAg ICMjIENPTlNVTUVTDQo+ID4+ICsNCj4gPj4gK1tGaXhlZFBjZF0NCj4gPj4gKyAgZ1BjZjg1NjNS ZWFsVGltZUNsb2NrTGliVG9rZW5TcGFjZUd1aWQuUGNkSTJjU2xhdmVBZGRyZXNzDQo+ID4+ICsg IGdQY2Y4NTYzUmVhbFRpbWVDbG9ja0xpYlRva2VuU3BhY2VHdWlkLlBjZEkyY0J1c0ZyZXF1ZW5j eQ0KPiA+PiArDQo+ID4+ICtbRGVwZXhdDQo+ID4+ICsgIGdQY2Y4NTYzUmVhbFRpbWVDbG9ja0xp YkkyY01hc3RlclByb3RvbEd1aWQNCj4gPj4gLS0NCj4gPj4gMi4xMS4wDQo+ID4+DQo+ID4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4+IGVkazIt ZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+IGh0 dHBzOi8vZW1lYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMl M0ElMkYlMkZsaQ0KPiA+PiBzdHMuMDENCj4gPj4gLm9yZyUyRm1haWxtYW4lMkZsaXN0aW5mbyUy RmVkazItDQo+ID4+DQo+IGRldmVsJmRhdGE9MDIlN0MwMSU3Q3VkaXQua3VtYXIlNDBueHAuY29t JTdDNmZhYTY4MDczZWVmNGVkMDcyNTIwDQo+ID4+DQo+IDhkNTIyYTQwZDY1JTdDNjg2ZWExZDNi YzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0MwJTdDMCU3QzYzNjQ1MzANCj4gPj4NCj4gMTAzNzQ2 NDI2NjAmc2RhdGE9dnI0cUFnRHVEWDBNN01HZXVTJTJGS0FZJTJCJTJGcWhWbXowJTJGTXJFeA0K PiA+PiBLNDJ0UUliTSUzRCZyZXNlcnZlZD0wDQo=