From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: liming.gao@intel.com) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by groups.io with SMTP; Wed, 18 Sep 2019 23:38:20 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Sep 2019 23:38:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,522,1559545200"; d="scan'208";a="212119861" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga004.fm.intel.com with ESMTP; 18 Sep 2019 23:38:18 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 18 Sep 2019 23:38:18 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 18 Sep 2019 23:38:17 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 18 Sep 2019 23:38:17 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.32]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.235]) with mapi id 14.03.0439.000; Thu, 19 Sep 2019 14:38:15 +0800 From: "Liming Gao" To: "Justen, Jordan L" , "devel@edk2.groups.io" CC: "Johnson, Michael" , Andrew Fish , "Ni, Ray" Subject: Re: [edk2-devel] [Patch] EmulatorPkg/TimerLib: Add missing GetTimeInNanoSecond function Thread-Topic: [edk2-devel] [Patch] EmulatorPkg/TimerLib: Add missing GetTimeInNanoSecond function Thread-Index: AQHVblJRrjV/COuCfkqNiCgttTczJqcyil4Q Date: Thu, 19 Sep 2019 06:38:15 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E4FE66F@SHSMSX104.ccr.corp.intel.com> References: <1568794434-8720-1-git-send-email-liming.gao@intel.com> <156883279082.11974.1191200603714358108@jljusten-skl> In-Reply-To: <156883279082.11974.1191200603714358108@jljusten-skl> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sm9yZGFuOg0KICBUaGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbi4gSSB1cGRhdGUgdGhlIHN0eWxl IGFuZCBwdXNoIEAgZDY1MmI0NThmNTc2ZGU3ODVlOWY5MDVlNjY5MGUyODkwNGIxZWVkMQ0KDQpU aGFua3MNCkxpbWluZw0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogSnVzdGVu LCBKb3JkYW4gTA0KPlNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMTksIDIwMTkgMjo1MyBBTQ0K PlRvOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPkNjOiBKb2huc29uLCBNaWNoYWVsIDxtaWNoYWVsLmpvaG5zb25AaW50ZWwuY29tPjsg QW5kcmV3IEZpc2gNCj48YWZpc2hAYXBwbGUuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNv bT47IEpvaG5zb24NCj5TdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaF0gRW11bGF0b3JQ a2cvVGltZXJMaWI6IEFkZCBtaXNzaW5nDQo+R2V0VGltZUluTmFub1NlY29uZCBmdW5jdGlvbg0K Pg0KPk9uIDIwMTktMDktMTggMDE6MTM6NTQsIExpbWluZyBHYW8gd3JvdGU6DQo+PiBGcm9tOiBt am9objQgPG1pY2hhZWwuam9obnNvbkBpbnRlbC5jb20+DQo+DQo+SXQgbG9va3MgbGlrZSB0aGUg YXV0aG9yIGlzIG5vdCBzZXQgcHJvcGVybHkuIElmIHlvdSBydW4gImdpdCBsb2cgLTEiLA0KPnRo ZW4gaXQnbGwgcHJvYmFibHkgc2hvdyBtam9objQgcmF0aGVyIHRoYW4gTWljaGFlbCBKb2huc29u Lg0KPg0KPk1pY2hhZWwgc2hvdWxkIHJ1bjoNCj4NCj4kIGdpdCBjb25maWcgLS1nbG9iYWwgdXNl ci5uYW1lICJNaWNoYWVsIEpvaG5zb24iDQo+DQo+QWZ0ZXIgdGhhdCB3aGVuIGdpdCBjb21taXQg aXQgd2lsbCBnZXQgdGhlIGNvcnJlY3QgYXV0aG9yIG5hbWUgaW4gdGhlDQo+cGF0Y2guDQo+DQo+ TWljaGFlbCwgTGltaW5nOiBZb3UgY2FuIGFkanVzdCBpdCBsb2NhbGx5IHdpdGg6DQo+DQo+Z2l0 IGNvbW1pdCAtLWFtZW5kIC0tYXV0aG9yPSJNaWNoYWVsIEpvaG5zb24NCj48bWljaGFlbC5qb2hu c29uQGludGVsLmNvbT4iDQo+DQo+Pg0KPj4gQWRkIEdldFRpbWVJbk5hbm9TZWNvbmQsIGFscmVh ZHkgZGVjbGFyZWQgaW4gdGhlIFRpbWVyTGliIEFQSSwNCj4+IHRvIEVtdWxhdG9yUGtnIGltcGxl bWVudGF0aW9ucyBvZiBUaW1lckxpYi4NCj4+DQo+PiBDYzogSm9yZGFuIEp1c3RlbiA8am9yZGFu LmwuanVzdGVuQGludGVsLmNvbT4NCj4+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29t Pg0KPj4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IEpv aG5zb24sIE1pY2hhZWwgPG1pY2hhZWwuam9obnNvbkBpbnRlbC5jb20+DQo+DQo+VG8gYmUgYSB2 YWxpZCBlbWFpbCBhZGRyZXNzLCBJIHRoaW5rIHRoaXMgc2hvdWxkIGVpdGhlciBiZToNCj4NCj5T aWduZWQtb2ZmLWJ5OiAiSm9obnNvbiwgTWljaGFlbCIgPG1pY2hhZWwuam9obnNvbkBpbnRlbC5j b20+DQo+DQo+b3INCj4NCj5TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEpvaG5zb24gPG1pY2hhZWwu am9obnNvbkBpbnRlbC5jb20+DQo+DQo+VGhlIHNlY29uZCBmb3JtIGlzIG1vcmUgY29tbW9uLg0K Pg0KPklmIHVzZXIubmFtZSB3YXMgc2V0IGFzIGFib3ZlIHRoZW4gImdpdCBjb21taXQgLXMiIHdv dWxkIGFkZCBpdCB0byB0aGUNCj5wYXRjaCBhdXRvbWF0aWNhbGx5LCBhbmQgY29ycmVjdGx5Lg0K Pg0KPkFzaWRlIGZyb20gYWxsIHRoYXQsIGl0IHNlZW1zIGxpa2UgdGhlIGNvZGUgbWF0Y2hlcyBv dGhlcg0KPmltcGxlbWVudGF0aW9ucyBpbiBlZGsyLCBzbzoNCj4NCj5SZXZpZXdlZC1ieTogSm9y ZGFuIEp1c3RlbiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4NCj4+IC0tLQ0KPj4gIC4u Li9MaWJyYXJ5L0R4ZUNvcmVUaW1lckxpYi9EeGVDb3JlVGltZXJMaWIuYyAgICAgIHwgNDUNCj4r KysrKysrKysrKysrKysrKysrKy0NCj4+ICBFbXVsYXRvclBrZy9MaWJyYXJ5L0R4ZVRpbWVyTGli L0R4ZVRpbWVyTGliLmMgICAgICB8IDQ1DQo+KysrKysrKysrKysrKysrKysrKystDQo+PiAgRW11 bGF0b3JQa2cvTGlicmFyeS9QZWlUaW1lckxpYi9QZWlUaW1lckxpYi5jICAgICAgfCA0Nw0KPisr KysrKysrKysrKysrKysrKysrKy0NCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9FbXVsYXRvclBrZy9MaWJy YXJ5L0R4ZUNvcmVUaW1lckxpYi9EeGVDb3JlVGltZXJMaWIuYw0KPmIvRW11bGF0b3JQa2cvTGli cmFyeS9EeGVDb3JlVGltZXJMaWIvRHhlQ29yZVRpbWVyTGliLmMNCj4+IGluZGV4IGMzMzFjYmJh OWMuLmFiMGRlMTQzYzQgMTAwNjQ0DQo+PiAtLS0gYS9FbXVsYXRvclBrZy9MaWJyYXJ5L0R4ZUNv cmVUaW1lckxpYi9EeGVDb3JlVGltZXJMaWIuYw0KPj4gKysrIGIvRW11bGF0b3JQa2cvTGlicmFy eS9EeGVDb3JlVGltZXJMaWIvRHhlQ29yZVRpbWVyTGliLmMNCj4+IEBAIC0xLDEyICsxLDEzIEBA DQo+PiAgLyoqIEBmaWxlDQo+PiAgICBBIG5vbi1mdW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBU aW1lciBMaWJyYXJ5Lg0KPj4NCj4+IC0gIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+ICsgIENvcHlyaWdodCAo YykgMjAwNyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ Pg0KPj4gICoqLw0KPj4NCj4+ICAjaW5jbHVkZSA8UGlQZWkuaD4NCj4+ICsjaW5jbHVkZSA8TGli cmFyeS9CYXNlTGliLmg+DQo+PiAgI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4NCj4+ICAj aW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPj4gICNpbmNsdWRlIDxMaWJyYXJ5L0VtdVRo dW5rTGliLmg+DQo+PiBAQCAtMTE5LDQgKzEyMCw0NiBAQCBHZXRQZXJmb3JtYW5jZUNvdW50ZXJQ cm9wZXJ0aWVzICgNCj4+ICAgIHJldHVybiBnRW11VGh1bmstPlF1ZXJ5UGVyZm9ybWFuY2VGcmVx dWVuY3kgKCk7DQo+PiAgfQ0KPj4NCj4+ICsvKioNCj4+ICsgIENvbnZlcnRzIGVsYXBzZWQgdGlj a3Mgb2YgcGVyZm9ybWFuY2UgY291bnRlciB0byB0aW1lIGluIG5hbm9zZWNvbmRzLg0KPj4gKw0K Pj4gKyAgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgZWxhcHNlZCB0aWNrcyBvZiBydW5uaW5n IHBlcmZvcm1hbmNlIGNvdW50ZXINCj50bw0KPj4gKyAgdGltZSB2YWx1ZSBpbiB1bml0IG9mIG5h bm9zZWNvbmRzLg0KPj4gKw0KPj4gKyAgQHBhcmFtICBUaWNrcyAgICAgVGhlIG51bWJlciBvZiBl bGFwc2VkIHRpY2tzIG9mIHJ1bm5pbmcgcGVyZm9ybWFuY2UNCj5jb3VudGVyLg0KPj4gKw0KPj4g KyAgQHJldHVybiBUaGUgZWxhcHNlZCB0aW1lIGluIG5hbm9zZWNvbmRzLg0KPj4gKw0KPj4gKyoq Lw0KPj4gK1VJTlQ2NA0KPj4gK0VGSUFQSQ0KPj4gK0dldFRpbWVJbk5hbm9TZWNvbmQgKA0KPj4g KyAgSU4gVUlOVDY0ICBUaWNrcw0KPj4gKyAgKQ0KPj4gK3sNCj4+ICsgIFVJTlQ2NCAgRnJlcXVl bmN5Ow0KPj4gKyAgVUlOVDY0ICBOYW5vU2Vjb25kczsNCj4+ICsgIFVJTlQ2NCAgUmVtYWluZGVy Ow0KPj4gKyAgSU5UTiAgICBTaGlmdDsNCj4+ICsNCj4+ICsgIEZyZXF1ZW5jeSA9IEdldFBlcmZv cm1hbmNlQ291bnRlclByb3BlcnRpZXMgKE5VTEwsIE5VTEwpOw0KPj4gKw0KPj4gKyAgLy8NCj4+ ICsgIC8vICAgICAgICAgIFRpY2tzDQo+PiArICAvLyBUaW1lID0gLS0tLS0tLS0tIHggMSwwMDAs MDAwLDAwMA0KPj4gKyAgLy8gICAgICAgIEZyZXF1ZW5jeQ0KPj4gKyAgLy8NCj4+ICsgIE5hbm9T ZWNvbmRzID0gTXVsdFU2NHgzMiAoRGl2VTY0eDY0UmVtYWluZGVyIChUaWNrcywgRnJlcXVlbmN5 LA0KPiZSZW1haW5kZXIpLCAxMDAwMDAwMDAwdSk7DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8g RW5zdXJlIChSZW1haW5kZXIgKiAxLDAwMCwwMDAsMDAwKSB3aWxsIG5vdCBvdmVyZmxvdyA2NC1i aXQuDQo+PiArICAvLyBTaW5jZSAyXjI5IDwgMSwwMDAsMDAwLDAwMCA9IDB4M0I5QUNBMDAgPCAy XjMwLCBSZW1haW5kZXIgc2hvdWxkIDwNCj4yXig2NC0zMCkgPSAyXjM0LA0KPj4gKyAgLy8gaS5l LiBoaWdoZXN0IGJpdCBzZXQgaW4gUmVtYWluZGVyIHNob3VsZCA8PSAzMy4NCj4+ICsgIC8vDQo+ PiArICBTaGlmdCA9IE1BWCAoMCwgSGlnaEJpdFNldDY0IChSZW1haW5kZXIpIC0gMzMpOw0KPj4g KyAgUmVtYWluZGVyID0gUlNoaWZ0VTY0IChSZW1haW5kZXIsIChVSU5UTikgU2hpZnQpOw0KPj4g KyAgRnJlcXVlbmN5ID0gUlNoaWZ0VTY0IChGcmVxdWVuY3ksIChVSU5UTikgU2hpZnQpOw0KPj4g KyAgTmFub1NlY29uZHMgKz0gRGl2VTY0eDY0UmVtYWluZGVyIChNdWx0VTY0eDMyIChSZW1haW5k ZXIsDQo+MTAwMDAwMDAwMHUpLCBGcmVxdWVuY3ksIE5VTEwpOw0KPj4NCj4+ICsgIHJldHVybiBO YW5vU2Vjb25kczsNCj4+ICt9DQo+PiBkaWZmIC0tZ2l0IGEvRW11bGF0b3JQa2cvTGlicmFyeS9E eGVUaW1lckxpYi9EeGVUaW1lckxpYi5jDQo+Yi9FbXVsYXRvclBrZy9MaWJyYXJ5L0R4ZVRpbWVy TGliL0R4ZVRpbWVyTGliLmMNCj4+IGluZGV4IDE0Y2FlNDIxNGMuLjFiYmM5ZTAxNjIgMTAwNjQ0 DQo+PiAtLS0gYS9FbXVsYXRvclBrZy9MaWJyYXJ5L0R4ZVRpbWVyTGliL0R4ZVRpbWVyTGliLmMN Cj4+ICsrKyBiL0VtdWxhdG9yUGtnL0xpYnJhcnkvRHhlVGltZXJMaWIvRHhlVGltZXJMaWIuYw0K Pj4gQEAgLTEsNyArMSw3IEBADQo+PiAgLyoqIEBmaWxlDQo+PiAgICBBIG5vbi1mdW5jdGlvbmFs IGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5Lg0KPj4NCj4+IC0gIENvcHlyaWdodCAoYykg MjAwNyAtIDIwMTAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4+ICsgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+Pg0KPj4gICoqLw0KPj4gQEAgLTE5OCwzICsxOTgsNDYgQEAgRHhl VGltZXJMaWJDb25zdHJ1Y3RvciAoDQo+PiAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+PiAgfQ0K Pj4NCj4+ICsvKioNCj4+ICsgIENvbnZlcnRzIGVsYXBzZWQgdGlja3Mgb2YgcGVyZm9ybWFuY2Ug Y291bnRlciB0byB0aW1lIGluIG5hbm9zZWNvbmRzLg0KPj4gKw0KPj4gKyAgVGhpcyBmdW5jdGlv biBjb252ZXJ0cyB0aGUgZWxhcHNlZCB0aWNrcyBvZiBydW5uaW5nIHBlcmZvcm1hbmNlIGNvdW50 ZXINCj50bw0KPj4gKyAgdGltZSB2YWx1ZSBpbiB1bml0IG9mIG5hbm9zZWNvbmRzLg0KPj4gKw0K Pj4gKyAgQHBhcmFtICBUaWNrcyAgICAgVGhlIG51bWJlciBvZiBlbGFwc2VkIHRpY2tzIG9mIHJ1 bm5pbmcgcGVyZm9ybWFuY2UNCj5jb3VudGVyLg0KPj4gKw0KPj4gKyAgQHJldHVybiBUaGUgZWxh cHNlZCB0aW1lIGluIG5hbm9zZWNvbmRzLg0KPj4gKw0KPj4gKyoqLw0KPj4gK1VJTlQ2NA0KPj4g K0VGSUFQSQ0KPj4gK0dldFRpbWVJbk5hbm9TZWNvbmQgKA0KPj4gKyAgSU4gVUlOVDY0ICBUaWNr cw0KPj4gKyAgKQ0KPj4gK3sNCj4+ICsgIFVJTlQ2NCAgRnJlcXVlbmN5Ow0KPj4gKyAgVUlOVDY0 ICBOYW5vU2Vjb25kczsNCj4+ICsgIFVJTlQ2NCAgUmVtYWluZGVyOw0KPj4gKyAgSU5UTiAgICBT aGlmdDsNCj4+ICsNCj4+ICsgIEZyZXF1ZW5jeSA9IEdldFBlcmZvcm1hbmNlQ291bnRlclByb3Bl cnRpZXMgKE5VTEwsIE5VTEwpOw0KPj4gKw0KPj4gKyAgLy8NCj4+ICsgIC8vICAgICAgICAgIFRp Y2tzDQo+PiArICAvLyBUaW1lID0gLS0tLS0tLS0tIHggMSwwMDAsMDAwLDAwMA0KPj4gKyAgLy8g ICAgICAgIEZyZXF1ZW5jeQ0KPj4gKyAgLy8NCj4+ICsgIE5hbm9TZWNvbmRzID0gTXVsdFU2NHgz MiAoRGl2VTY0eDY0UmVtYWluZGVyIChUaWNrcywgRnJlcXVlbmN5LA0KPiZSZW1haW5kZXIpLCAx MDAwMDAwMDAwdSk7DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8gRW5zdXJlIChSZW1haW5kZXIg KiAxLDAwMCwwMDAsMDAwKSB3aWxsIG5vdCBvdmVyZmxvdyA2NC1iaXQuDQo+PiArICAvLyBTaW5j ZSAyXjI5IDwgMSwwMDAsMDAwLDAwMCA9IDB4M0I5QUNBMDAgPCAyXjMwLCBSZW1haW5kZXIgc2hv dWxkIDwNCj4yXig2NC0zMCkgPSAyXjM0LA0KPj4gKyAgLy8gaS5lLiBoaWdoZXN0IGJpdCBzZXQg aW4gUmVtYWluZGVyIHNob3VsZCA8PSAzMy4NCj4+ICsgIC8vDQo+PiArICBTaGlmdCA9IE1BWCAo MCwgSGlnaEJpdFNldDY0IChSZW1haW5kZXIpIC0gMzMpOw0KPj4gKyAgUmVtYWluZGVyID0gUlNo aWZ0VTY0IChSZW1haW5kZXIsIChVSU5UTikgU2hpZnQpOw0KPj4gKyAgRnJlcXVlbmN5ID0gUlNo aWZ0VTY0IChGcmVxdWVuY3ksIChVSU5UTikgU2hpZnQpOw0KPj4gKyAgTmFub1NlY29uZHMgKz0g RGl2VTY0eDY0UmVtYWluZGVyIChNdWx0VTY0eDMyIChSZW1haW5kZXIsDQo+MTAwMDAwMDAwMHUp LCBGcmVxdWVuY3ksIE5VTEwpOw0KPj4gKw0KPj4gKyAgcmV0dXJuIE5hbm9TZWNvbmRzOw0KPj4g K30NCj4+IGRpZmYgLS1naXQgYS9FbXVsYXRvclBrZy9MaWJyYXJ5L1BlaVRpbWVyTGliL1BlaVRp bWVyTGliLmMNCj5iL0VtdWxhdG9yUGtnL0xpYnJhcnkvUGVpVGltZXJMaWIvUGVpVGltZXJMaWIu Yw0KPj4gaW5kZXggY2NlNDZmYjM2Ni4uMTMyYWJiMmMwNCAxMDA2NDQNCj4+IC0tLSBhL0VtdWxh dG9yUGtnL0xpYnJhcnkvUGVpVGltZXJMaWIvUGVpVGltZXJMaWIuYw0KPj4gKysrIGIvRW11bGF0 b3JQa2cvTGlicmFyeS9QZWlUaW1lckxpYi9QZWlUaW1lckxpYi5jDQo+PiBAQCAtMSwxMiArMSwx MyBAQA0KPj4gIC8qKiBAZmlsZQ0KPj4gICAgQSBub24tZnVuY3Rpb25hbCBpbnN0YW5jZSBvZiB0 aGUgVGltZXIgTGlicmFyeS4NCj4+DQo+PiAtICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+PiArICBDb3B5cmln aHQgKGMpIDIwMDcgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+PiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPj4NCj4+ICAqKi8NCj4+DQo+PiAgI2luY2x1ZGUgPFBpUGVpLmg+DQo+PiArI2luY2x1ZGUg PExpYnJhcnkvQmFzZUxpYi5oPg0KPj4gICNpbmNsdWRlIDxMaWJyYXJ5L1RpbWVyTGliLmg+DQo+ PiAgI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4+ICAjaW5jbHVkZSA8TGlicmFyeS9Q ZWlTZXJ2aWNlc0xpYi5oPg0KPj4gQEAgLTE2NiwzICsxNjcsNDcgQEAgR2V0UGVyZm9ybWFuY2VD b3VudGVyUHJvcGVydGllcyAoDQo+Pg0KPj4gICAgcmV0dXJuIDA7DQo+PiAgfQ0KPj4gKw0KPj4g Ky8qKg0KPj4gKyAgQ29udmVydHMgZWxhcHNlZCB0aWNrcyBvZiBwZXJmb3JtYW5jZSBjb3VudGVy IHRvIHRpbWUgaW4gbmFub3NlY29uZHMuDQo+PiArDQo+PiArICBUaGlzIGZ1bmN0aW9uIGNvbnZl cnRzIHRoZSBlbGFwc2VkIHRpY2tzIG9mIHJ1bm5pbmcgcGVyZm9ybWFuY2UgY291bnRlcg0KPnRv DQo+PiArICB0aW1lIHZhbHVlIGluIHVuaXQgb2YgbmFub3NlY29uZHMuDQo+PiArDQo+PiArICBA cGFyYW0gIFRpY2tzICAgICBUaGUgbnVtYmVyIG9mIGVsYXBzZWQgdGlja3Mgb2YgcnVubmluZyBw ZXJmb3JtYW5jZQ0KPmNvdW50ZXIuDQo+PiArDQo+PiArICBAcmV0dXJuIFRoZSBlbGFwc2VkIHRp bWUgaW4gbmFub3NlY29uZHMuDQo+PiArDQo+PiArKiovDQo+PiArVUlOVDY0DQo+PiArRUZJQVBJ DQo+PiArR2V0VGltZUluTmFub1NlY29uZCAoDQo+PiArICBJTiBVSU5UNjQgIFRpY2tzDQo+PiAr ICApDQo+PiArew0KPj4gKyAgVUlOVDY0ICBGcmVxdWVuY3k7DQo+PiArICBVSU5UNjQgIE5hbm9T ZWNvbmRzOw0KPj4gKyAgVUlOVDY0ICBSZW1haW5kZXI7DQo+PiArICBJTlROICAgIFNoaWZ0Ow0K Pj4gKw0KPj4gKyAgRnJlcXVlbmN5ID0gR2V0UGVyZm9ybWFuY2VDb3VudGVyUHJvcGVydGllcyAo TlVMTCwgTlVMTCk7DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8gICAgICAgICAgVGlja3MNCj4+ ICsgIC8vIFRpbWUgPSAtLS0tLS0tLS0geCAxLDAwMCwwMDAsMDAwDQo+PiArICAvLyAgICAgICAg RnJlcXVlbmN5DQo+PiArICAvLw0KPj4gKyAgTmFub1NlY29uZHMgPSBNdWx0VTY0eDMyIChEaXZV NjR4NjRSZW1haW5kZXIgKFRpY2tzLCBGcmVxdWVuY3ksDQo+JlJlbWFpbmRlciksIDEwMDAwMDAw MDB1KTsNCj4+ICsNCj4+ICsgIC8vDQo+PiArICAvLyBFbnN1cmUgKFJlbWFpbmRlciAqIDEsMDAw LDAwMCwwMDApIHdpbGwgbm90IG92ZXJmbG93IDY0LWJpdC4NCj4+ICsgIC8vIFNpbmNlIDJeMjkg PCAxLDAwMCwwMDAsMDAwID0gMHgzQjlBQ0EwMCA8IDJeMzAsIFJlbWFpbmRlciBzaG91bGQgPA0K PjJeKDY0LTMwKSA9IDJeMzQsDQo+PiArICAvLyBpLmUuIGhpZ2hlc3QgYml0IHNldCBpbiBSZW1h aW5kZXIgc2hvdWxkIDw9IDMzLg0KPj4gKyAgLy8NCj4+ICsgIFNoaWZ0ID0gTUFYICgwLCBIaWdo Qml0U2V0NjQgKFJlbWFpbmRlcikgLSAzMyk7DQo+PiArICBSZW1haW5kZXIgPSBSU2hpZnRVNjQg KFJlbWFpbmRlciwgKFVJTlROKSBTaGlmdCk7DQo+PiArICBGcmVxdWVuY3kgPSBSU2hpZnRVNjQg KEZyZXF1ZW5jeSwgKFVJTlROKSBTaGlmdCk7DQo+PiArICBOYW5vU2Vjb25kcyArPSBEaXZVNjR4 NjRSZW1haW5kZXIgKE11bHRVNjR4MzIgKFJlbWFpbmRlciwNCj4xMDAwMDAwMDAwdSksIEZyZXF1 ZW5jeSwgTlVMTCk7DQo+PiArDQo+PiArICByZXR1cm4gTmFub1NlY29uZHM7DQo+PiArfQ0KPj4g LS0NCj4+IDIuMTMuMC53aW5kb3dzLjENCj4+DQo+Pg0KPj4gDQo+Pg0K