Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D0E4F200CD2 for ; Thu, 27 Jul 2017 09:47:42 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id CF4FA16A6D2; Thu, 27 Jul 2017 07:47:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4F58116A6D1 for ; Thu, 27 Jul 2017 09:47:41 +0200 (CEST) Received: (qmail 21973 invoked by uid 500); 27 Jul 2017 07:47:39 -0000 Mailing-List: contact dev-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list dev@flink.apache.org Received: (qmail 21962 invoked by uid 99); 27 Jul 2017 07:47:39 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Jul 2017 07:47:39 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 347EB1805C8 for ; Thu, 27 Jul 2017 07:47:39 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.322 X-Spam-Level: X-Spam-Status: No, score=-2.322 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id jbfg2_3xS-Fe for ; Thu, 27 Jul 2017 07:47:33 +0000 (UTC) Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 9DA035F659 for ; Thu, 27 Jul 2017 07:47:32 +0000 (UTC) Received: from 172.18.7.190 (EHLO lhreml709-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DSD21818; Thu, 27 Jul 2017 07:47:25 +0000 (GMT) Received: from LHREML503-MBX.china.huawei.com ([10.201.109.55]) by lhreml709-cah.china.huawei.com ([10.201.108.32]) with mapi id 14.03.0301.000; Thu, 27 Jul 2017 08:47:20 +0100 From: Radu Tudoran To: "dev@flink.apache.org" Subject: RE: [DISCUSS] Table API / SQL internal timestamp handling Thread-Topic: [DISCUSS] Table API / SQL internal timestamp handling Thread-Index: AQHTBVF969DHfiPDIEitmFSWUUN3qaJkqr0QgACq2QCAAAxLAIAAM7MAgAA1MSCAADr+gIAA+IcAgABO7sA= Date: Thu, 27 Jul 2017 07:47:19 +0000 Message-ID: <8B754047F81D6B4290B9F4CE928333A517CE528E@lhreml503-mbx> References: <8B754047F81D6B4290B9F4CE928333A517CE4BD6@lhreml503-mbx> <8B754047F81D6B4290B9F4CE928333A517CE4F43@lhreml503-mbx> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.210.171.9] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A0B0207.59799A8E.000C,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: f3100c2472a0bdfc96062761d8dc7b92 archived-at: Thu, 27 Jul 2017 07:47:43 -0000 SGkgYWxsLA0KDQpAU2hhb3h1YW4gLSB0aGFua3MgZm9yIHRoZSAgcmVtYXJrcy4gSSBoYXZlIGEg cXVlc3Rpb24gcmVnYXJkaW5nIHlvdXIgc3VnZ2VzdGlvbiBub3QgdG8gY29uc2lkZXIgdG8gY3Jl YXRlIHByb2N0aW1lIHdpbmRvdyBpbiBhIHJlZ3VsYXIgY29sdW1uLiBJIHRoaW5rIHRoaXMgd291 bGQgYmUgdXNlZnVsIHRob3VnaC4gRmlyc3QgeW91IG1pZ2h0IG5lZWQgdG8gY2FycnkgdGhlIHRp bWVzdGFtcCBpbmRpY2F0b3Igb2Ygd2hlbiB0aGUgcHJvY2Vzc2luZyBoYXBwZW5lZCAoZm9yIGxv ZyBwdXJwb3NlcywgcHJvdmVuYW5jZSwgdHJhY2VhYmlsaXR5IC4uLikuIFNlY29uZGx5IC0gSSBk byBub3QgdGhpbmsgaXQgaXMgY29udHJhZGljdGluZyB3aXRoIHRoZSBzZW1hbnRpY3MgaW4gYmF0 Y2ggU1FMIGFzIGluIFNRTCB5b3UgaGF2ZSB0aGUgZnVuY3Rpb24gIm5vdygpIiAuLi53aGljaCBw cmV0dHkgbXVjaCBjYXJyeSB0aGUgc2FtZSBzZW1hbnRpY3MgYXMgaGF2aW5nIGEgZnVuY3Rpb24g dG8gbWFyayB0aGUgcHJvY3RpbWUgYW5kIHRoZW4gcHJvamVjdGluZyB0aGlzIGludG8gYSBjb2x1 bW4uIElmIEkgYW0gbm90IG1pc3Rha2VuIHlvdSBjYW4gaW50cm9kdWNlIGluIGRhdGFiYXNlIGNv bHVtbnMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIG5vdygpLg0KDQoNCkRyLiBSYWR1IFR1ZG9yYW4N ClN0YWZmIFJlc2VhcmNoIEVuZ2luZWVyIC0gQmlnIERhdGEgRXhwZXJ0DQpJVCBSJkQgRGl2aXNp b24NCg0KDQpIVUFXRUkgVEVDSE5PTE9HSUVTIER1ZXNzZWxkb3JmIEdtYkgNCkdlcm1hbiBSZXNl YXJjaCBDZW50ZXINCk11bmljaCBPZmZpY2UNClJpZXNzdHJhc3NlIDI1LCA4MDk5MiBNw7xuY2hl bg0KDQpFLW1haWw6IHJhZHUudHVkb3JhbkBodWF3ZWkuY29tDQpNb2JpbGU6ICs0OSAxNTIwOTA4 NDMzMA0KVGVsZXBob25lOiArNDkgODkxNTg4MzQ0MTczDQoNCkhVQVdFSSBURUNITk9MT0dJRVMg RHVlc3NlbGRvcmYgR21iSA0KSGFuc2FhbGxlZSAyMDUsIDQwNTQ5IETDvHNzZWxkb3JmLCBHZXJt YW55LCB3d3cuaHVhd2VpLmNvbQ0KUmVnaXN0ZXJlZCBPZmZpY2U6IETDvHNzZWxkb3JmLCBSZWdp c3RlciBDb3VydCBEw7xzc2VsZG9yZiwgSFJCIDU2MDYzLA0KTWFuYWdpbmcgRGlyZWN0b3I6IEJv IFBFTkcsIFFpdWVuIFBlbmcsIFNoZW5nbGkgV2FuZw0KU2l0eiBkZXIgR2VzZWxsc2NoYWZ0OiBE w7xzc2VsZG9yZiwgQW10c2dlcmljaHQgRMO8c3NlbGRvcmYsIEhSQiA1NjA2MywNCkdlc2Now6Rm dHNmw7xocmVyOiBCbyBQRU5HLCBRaXVlbiBQZW5nLCBTaGVuZ2xpIFdhbmcgDQpUaGlzIGUtbWFp bCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZy b20gSFVBV0VJLCB3aGljaCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0 eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUgaW5mb3JtYXRp b24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRl ZCB0bywgdG90YWwgb3IgcGFydGlhbCBkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3Nl bWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMp IGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVh c2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkgcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRl bGV0ZSBpdCENCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU2hhb3h1YW4g V2FuZyBbbWFpbHRvOnNoYW94dWFuQGFwYWNoZS5vcmddIA0KU2VudDogVGh1cnNkYXksIEp1bHkg MjcsIDIwMTcgNjowMCBBTQ0KVG86IERldg0KU3ViamVjdDogUmU6IFtESVNDVVNTXSBUYWJsZSBB UEkgLyBTUUwgaW50ZXJuYWwgdGltZXN0YW1wIGhhbmRsaW5nDQoNCiBIaSBFdmVyeW9uZSwNCkkg bGlrZSB0aGlzIHByb3Bvc2FsLiBUaGUgcHJvYmxlbSB3ZSB1c2VkIHRvIGhhdmUgaXMgdGhhdCB3 ZSBoYXZlIHRyZWF0ZWQgZXZlbnR0aW1lIGNvbHVtbiBhcyBhIHNwZWNpYWwgdGltZXN0YW1wIGNv bHVtbi4gQW4gZXZlbnR0aW1lIGNvbHVtbiBpcyBub3RoaW5nIHNwZWNpYWwgdGhhbiBhbGwgb3Ro ZXIgcmVndWxhciBjb2x1bW5zLCBidXQgd2l0aCBhIGNlcnRhaW4gZmxhZyAoZXZlbnR0aW1lLWlu ZGljYXRvcikgaW5mZXJyaW5nIHRoYXQgdGhpcyBjb2x1bW4gY2FuIGJlIHVzZWQgYXMgYW4gZXZl bnRpbWUgdG8gZGVjaWRlIHdoZW4gYSBib3VuZGVkIHF1ZXJ5IGNhbiBlbWl0IHRoZSBmaW5hbCBy ZXN1bHQgYnkgY29tcGFyaW5nIHdpdGggYSBjb25jZXJuIGFzc29jaWF0ZWQgd2F0ZXJNYXJrLg0K DQpJIGhhdmUgYSBmZXcgY29tbWVudHMgYWRkaW5nIG9uIHRvcCBvZiB0aGlzICh0aGV5IG1heSBo YXZlIGFscmVhZHkgYmVlbiBhZGRyZXNzZWQgaW4gdGhlIGNvbnZlcnNhdGlvbiDigJQgc2luY2Ug SXTigJlzIGEgbG9uZyBkaXNjdXNzaW9uLCBJIG1heSBtaXNzIHNvbWV0aGluZyk6DQoNCiAgIDEu IFdoaWxlIHdlIHJlbW92ZSB0aW1lc3RhbXAgY29sdW1uLCB3ZSBpbnRyb2R1Y2UgZXZlbnR0aW1l LWluZGljYXRvcg0KICAgKHdlIG1heSBhbHJlYWR5IGhhdmUgdGhpcyBjb25jZXB0KSwgaXQgaXMg b25seSBhIGZsYWcgY2FuIGJlIGFwcGxpZWQgZm9yDQogICBhbnkgY29sdW1uIChub3RlIHRoYXQg c29tZSB0eXBlcyBtYXkgbm90IGJlIGFibGUgdG8gYmUgdXNlZCBhcyBldmVudHRpbWUNCiAgIGNv bHVtbiksIGluZGljYXRpbmcgaWYgdGhpcyBjb2x1bW4gY2FuIGJlIHVzZWQgYXMgZXZlbnR0aW1l IG9yIG5vdC4gVGhpcw0KICAgZmxhZyBpcyB1c2VmdWwgZm9yIHZhbGlkYXRpb24gYW5kIGNvZGVH ZW4uDQogICAyLiBBIGNvbHVtbiB0aGF0IGhhcyBiZWVuIHVzZWQgYXMgYW4gZXZlbnR0aW1lLCBz aG91bGQgbm90IGxvc2UgaXRzIG93bg0KICAgdHlwZS4gV2Ugc2hvdWxkIG5vdCBjYXN0IGFsbCBl dmVudGltZSBjb2x1bW4gdG8gdGhlIHRpbWVzdGFtcCB0eXBlLiBGb3INCiAgIGluc3RhbmNlLCBp ZiBhIGNvbHVtbiBpcyBhIGxvbmcgdHlwZSwgaXQgd2lsbCBrZWVwIGFzIGxvbmcgdHlwZSBldmVu IGlmIGENCiAgIHdpbmRvdyBhZ2dyZWdhdGUgaGFzIHVzZWQgaXQgYXMgYSBldmVudHRpbWUuDQog ICAzLiBFdmVudHRpbWUgd2lsbCBvbmx5IHdvcmsgd2VsbCB3aXRoIHNvbWUgYXNzb2NpYXRlZCB3 YXRlck1hcmsNCiAgIHN0cmF0ZWd5LiBXZSBtYXkgY29uc2lkZXIgZm9yY2luZyB1c2VyIHRvIHBy b3ZpZGUgYSB3YXRlck1hcmsgbG9naWMgb24NCiAgIGhpcy9oZXIgc2VsZWN0ZWQgZXZlbnR0aW1l Lg0KICAgNC4gRm9yIHByb2N0aW1lLCBJIGhvcGUgd2Ugc2hvdWxkIG5vdCBpbnRyb2R1Y2UgcHJv Y3RpbWUtaW5kaWNhdG9yIGZvcg0KICAgcmVndWxhciBjb2x1bW4uIElkZWFsbHkgd2Ugc2hvdWxk IG5vdCBhbGxvdyB1c2VyIHRvIGNyZWF0ZSBwcm9jdGltZSB3aW5kb3cNCiAgIG9uIHJlZ3VsYXIg Y29sdW1uLCBhcyB0aGlzIGlzIGFnYWluc3QgdGhlIGJhdGNoIHF1ZXJ5IHNlbWFudGljcy4gVGhl cmVmb3JlDQogICBJIHN1Z2dlc3Qgd2Ugc2hvdWxkIGFsd2F5cyBpbnRyb2R1Y2UgYSBwcm9jdGlt ZSB0aW1lc3RhbXAgY29sdW1uIGZvciB1c2Vycw0KICAgdG8gY3JlYXRlIHByb2N0aW1lIHdpbmRv dy4gQW5kIHVubGlrZSBldmVudHRpbWUsIHByb2N0aW1lIGRvZXMgbm90IG5lZWQgYW55DQogICBh c3NvY2lhdGVkIHdhdGVyTWFyayBzdHJhdGVneSwgYXMgdGhlcmUgaXMgbm8gc3VjaCBvdXQgb2Yg b3JkZXIgaXNzdWUgZm9yDQogICB0aGUgcHJvY3RpbWUuDQoNClJlZ2FyZHMsDQpTaGFveHVhbg0K DQpPbiBXZWQsIEp1bCAyNiwgMjAxNyBhdCA5OjEwIFBNLCBGYWJpYW4gSHVlc2tlIDxmaHVlc2tl QGdtYWlsLmNvbT4gd3JvdGU6DQoNCj4gVGhhbmtzIGV2ZXJ5Ym9keSBmb3IgdGhlIHJlcGxpZXMg c28gZmFyLg0KPg0KPiBMZXQgbWUgYW5zd2VyIHlvdXIgcXVlc3Rpb25zIGFuZCByZXBseSB0byB5 b3VyIHRob3VnaHRzOg0KPg0KPiBSYWR1Og0KPiAtLS0NCj4gRmlyc3Qgb2YgYWxsLCBhbHRob3Vn aCBteSBwcm9wb3NhbCBpcyBtb3ZpdmF0ZWQgYnkgYSBqb2luIG9wZXJhdG9yLCANCj4gdGhpcyBk aXNjdXNzaW9uIGlzIGFib3V0IHRpbWVzdGFtcCBoYW5kbGluZywgbm90IGFib3V0IGpvaW5zIGlu IGdlbmVyYWwuDQo+DQo+IC0gVGhlIHNlbWFudGljcyBvZiBvdXRlciBqb2lucyBpcyB0byBlbWl0 IG51bGwgYW5kIHRoZXJlIGlzIG5vIHdheSANCj4gYXJvdW5kIHRoYXQuIFRoaXMgaXMgbm90IGFu IGlzc3VlIGZvciB1cy4gQWN0dWFsbHksIG91dGVyIGpvaW5zIGFyZSANCj4gc3VwcG9ydGVkIGJ5 IHRoZSBiYXRjaCBTUUwgLyBUYWJsZSBBUEkuIEl0IGlzIHRydWUgdGhhdCBvdXRlciBqb2lucyAN Cj4gbWlnaHQgcmVzdWx0IGluIG51bGwgdGltZXN0YW1wcy4gQ2FsY2l0ZSB3aWxsIG1hcmsgdGhv c2UgZmllbGRzIGFzIA0KPiBudWxsYWJsZSBhbmQgd2Ugc2hvdWxkIGNoZWNrIHRoYXQgdGltZXN0 YW1wcyB3aGljaCBhcmUgdXNlZCBpbiB3aW5kb3dzIG9yIGpvaW5zIGFyZSBub3QgbnVsbGFibGUu DQo+IC0gVGhlIHF1ZXJ5IGhhcyB0byBleHBsaWNpdGx5IHNwZWNpZnkgd2hpY2ggdGltZXN0YW1w IGF0dHJpYnV0ZSB0byB1c2UuDQo+IE90aGVyd2lzZSBpdHMgc2VtYW50aWNzIGFyZSBub3QgY29t cGxldGUgYW5kIGl0IGlzIGludmFsaWQuIEEgDQo+IGdyb3VwLXdpbmRvdyB0aGF0IGZvbGxvd3Mg YSBqb2luIHdpbGwgcmVmZXJlbmNlIGEgdGltZXN0YW1wIGF0dHJpYnV0ZSANCj4gYW5kIHRoaXMg d2lsbCBiZSB1c2VkLiBUaGUgb3RoZXIgdGltZXN0YW1wIG1pZ2h0IGJlIHByb2plY3RlZCBvdXQu IA0KPiBXaGVuIGEgcmVzdWx0IHdpdGggdHdvIHRpbWVzdGFtcHMgaXMgY29udmVydGVkIGludG8g YSBEYXRhU3RyZWFtLCB0aGUgDQo+IHVzZXIgaGFzIHRvIGRlY2lkZS4gVGhpcyBjb3VsZCBiZSBk b25lIGluc2lkZSBvZiB0aGUgVGFibGUgdG8gDQo+IERhdGFTdHJlYW0gY29udmVyc2lvbi4gSWYg dGhlIFRhYmxlIGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHRpbWVzdGFtcCwgDQo+IHRoZSBjb252 ZXJzaW9uIHdpbGwgYXNrIHdoaWNoIHRpbWVzdGFtcCB0byBmb3J3YXJkLg0KPiAtIEEgcHJvY3Rp bWUgam9pbiBzaG91bGQgZm9yd2FyZCBhbGwgcHJvY3RpbWUgYXR0cmlidXRlcyBvZiB0aGUgaW5w dXQgDQo+IHRhYmxlcy4gQWxsIHdpbGwgYmUgdGhlIHNhbWUsIGJ1dCB0aGF0IGRvZXMgbm90IG1h dHRlciBiZWNhdXNlIHRoZXkgDQo+IGFyZSBlaXRoZXIgdmlydHVhbCBvciByZXByZXNlbnRlZCBh cyAxIGJ5dGUgZHVtbXkgYXR0cmlidXRlcy4gQWxzbywgDQo+IHVudXNlZCBvbmVzIHdpbGwgYmUg YXV0b21hdGljYWxseSBwcm9qZWN0ZWQgb3V0IGFueXdheS4NCj4gLSBBbiBldmVudC10aW1lIGpv aW4gc2hvdWxkIGZvcndhcmQgYWxsIGV2ZW50LXRpbWUgYXR0cmlidXRlcyBvZiB0aGUgDQo+IGlu cHV0IHRhYmxlcy4gQ3JlYXRpbmcgYSBuZXcgZXZlbnQtdGltZSBhdHRyaWJ1dGUgdXNpbmcgcHJv Y2Vzc2luZyANCj4gdGltZSBtYWtlcyBldmVudC10aW1lIHByb2Nlc3NpbmcgcG9pbnRsZXNzIGFu ZCB3aWxsIGdpdmUgY29tcGxldGVseSByYW5kb20gcmVzdWx0cy4NCj4gRXZlbnQtdGltZSBpcyBu b3QgYWJvdXQgdGhlICJ0aW1lIGFuIGV2ZW50IGlzIGNyZWF0ZWQiIGJ1dCBhYm91dCBhIA0KPiB0 aW1lc3RhbXAgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYW4gZXZlbnQuIEZvciBleGFtcGxlIGFu IG9yZGVyIGV2ZW50IA0KPiBjb3VsZCBoYXZlIHRocmVlIHRpbWVzdGFtcHM6ICJvcmRlclRpbWUi LCAic2hpcFRpbWUiLCBhbmQgInJlY2VpdmVUaW1lIi4NCj4gRWFjaCBjb3VsZCBiZSBhIHZhbGlk IGV2ZW50LXRpbWUgYXR0cmlidXRlLg0KPg0KPiBKYXJrOg0KPiAtLS0NCj4gVGhhbmtzIGZvciB0 aGUgcHJvcG9zYWwuIEkgdGhpbmsgSSB1bmRlcnN0YW5kIHdoYXQgeW91IHdhbnQgdG8gYWNoaWV2 ZSANCj4gd2l0aCB0aGlzLCBidXQgSSB0aGluayBmdW5jdGlvbnMgdG8gaW5zdGFudGlhdGUgdGlt ZSBhdHRyaWJ1dGVzIGFyZSANCj4gbm90IG5lY2Vzc2FyeSBhbmQgd291bGQgbWFrZSB0aGluZ3Mg bW9yZSBjb21wbGljYXRlZC4gVGhlIHBvaW50IG9mIA0KPiBzdXBwb3J0aW5nIG11bHRpcGxlIHRp bWUgYXR0cmlidXRlcyBpcyB0byBlbnN1cmUgdGhhdCBhbGwgb2YgdGhlbSBhcmUgDQo+IGFsaWdu ZWQgd2l0aCB0aGUgd2F0ZXJtYXJrcy4gSWYgd2UgYWRkIGEgbWV0aG9kIFJPV19USU1FKHRpbWVz dGFtcCkgDQo+IGFuZCB3ZSBkb24ndCBrbm93IGlmIHRoZSB0aW1lc3RhbXAgaXMgYWxpZ25lZCB3 aXRoIHRoZSB3YXRlcm1hcmtzLiBJZiANCj4gdGhhdCBpcyBub3QgdGhlIGNhc2UsIHRoZSBxdWVy eSB3b24ndCBiZSBleGVjdXRlZCBhcyBleHBlY3RlZC4gVGhlIA0KPiBpc3N1ZSBvZiBMRUZUIEpP SU4gY2FuIGVhc2lseSBiZSBhZGRyZXNzZWQgYnkgY2hlY2tpbmcgZm9yIA0KPiBudWxsYWJsaWxp dHkgZHVyaW5nIG9wdGltaXphdGlvbiB3aGVuIGFuIG9wZXJhdG9yIHRyaWVzIHRvIHVzZSBpdC4N Cj4NCj4gVGhlIGJlYXV0eSBvZiBzdXBwb3J0aW5nIG11bHRpcGxlIHRpbWVzdGFtcHMgaXMgdGhh dCBhIHVzZXIgZG9lcyBub3QgDQo+IGhhdmUgdG8gY2FyZSBhdCBhbGwgYWJvdXQgdGltZXN0YW1w cyAob3IgdGltZXN0YW1wIGZ1bmN0aW9ucykgYW5kIA0KPiB3YXRlcm1hcmtzLiBBcyBsb25nIGFz IHRoZSBxdWVyeSB1c2VzIGEgdGltZXN0YW1wIGF0dHJpYnV0ZSB0aGF0IHdhcyANCj4gb3JpZ2lu YWxseSBkZWNsYXJlZCBhcyByb3d0aW1lIGluIGEgc291cmNlIHRhYmxlIChhbmQgd2FzIG5vdCBt b2RpZmllZCANCj4gYWZ0ZXJ3YXJkcyksIHRoaXMgaXMgZmluZS4gVGhpbmsgb2YgYSBjYXNjYWRl IG9mIHRocmVlIHdpbmRvd2VkIGpvaW5zOiANCj4gUiAtIFMgLSBUIC0gVSwgYW5kIHlvdSB3YW50 IHRvIGpvaW4gUyAtIFQgZmlyc3QuIEluIHRoYXQgY2FzZSwgeW91IA0KPiBuZWVkIHRvIHByZXNl cnZlIHRoZSB0aW1lc3RhbXBzIG9mIFMgYW5kIFQgaW4gb3JkZXIgdG8gam9pbiBSIGFuZCBVLiAN Cj4gRnJvbSBhIHJlbGF0aW9uYWwgYWxnZWJyYSBwb2ludCBvZiB2aWV3LCB0aGVyZSBpcyBubyBy ZWFzb24gdG8gaGF2ZSBhIA0KPiBsaW1pdGF0aW9uIG9uIGhvdyB0aGVzZSBhdHRyaWJ1dGVzIGFy ZSBhY2Nlc3NlZC4gVGltZXN0YW1wcyBhcmUganVzdCANCj4gcmVndWxhciBmaWVsZHMgb2YgYSBy ZWNvcmQuIFRoZSBvbmx5IHJlc3RyaWN0aW9uIGluIHRoZSBjb250ZXh0IG9mIA0KPiBzdHJlYW0g cHJvY2Vzc2luZyBpcyB0aGF0IHRoZSB3YXRlcm1hcmsgbXVzdCBiZSBhbGlnbmVkIHdpdGggDQo+ IHRpbWVzdGFtcHMsIGkuZS4sIGZvbGxvdyBhbGwgdGltZXN0YW1wcyBzdWNoIHRoYXQgZGF0YSBp cyBub3QgbGF0ZSANCj4gYWNjb3JkaW5nIHRvIGFueSBvZiB0aGUgdGltZXN0YW1wcy4gVGhpcyB3 ZSBjYW4gYWNoaWV2ZSBhbmQgaGFuZGxlIGludGVybmFsbHkgd2l0aG91dCB0aGUgdXNlciBoYXZp bmcgdG8gd29ycnkgYWJvdXQgaXQuDQo+DQo+IFhpbmdjYW46DQo+IC0tLQ0KPiBJIHRoaW5rIHlv dXIgcXVlc3Rpb25zIGFyZSBtb3N0bHkgaW1wbGVtZW50YXRpb24gZGV0YWlscyBhbmQgbm90IHNv IA0KPiBtdWNoIHJlbGF0ZWQgdG8gdGhlIG9yaWdpbmFsIHByb3Bvc2FsIG9mIHN1cHBvcnRpbmcg bXVsdGlwbGUgdGltZXN0YW1wcy4NCj4NCj4gTXkgdGFrZSBvbiB5b3VyIHF1ZXN0aW9ucyBpczoN Cj4gMS4gVGhlIHJhdGUgYXQgd2hpY2ggd2F0ZXJtYXJrcyBhcmUgZW1pdHRlZCBpcyBub3QgaW1w b3J0YW50IGZvciB0aGUgDQo+IGNvcnJlY3RuZXNzIG9mIGEgcXVlcnkuIEhvd2V2ZXIsIGl0IGNh biBhZmZlY3QgdGhlIHBlcmZvcm1hbmNlLCANCj4gYmVjYXVzZSBlYWNoIHdhdGVybWFyayBpcyBz ZW50IGFzIGEgc3BlY2lhbCByZWNvcmQgYW5kIGl0IGlzIA0KPiBicm9hZGNhc3RlZC4gTXkgaW5p dGlhbCB0YWtlIHdvdWxkIGJlIHRvIGVtaXQgYSBuZXcgd2F0ZXJtYXJrIHdoZW5ldmVyIA0KPiB0 aGUgb3BlcmF0b3IgdXBkYXRlZCBpdHMgd2F0ZXJtYXJrIGJlY2F1c2UgdXN1YWxseSwgdGhlIG9w ZXJhdG9yIHdvdWxkIA0KPiBoYXZlIGZvcndhcmRlZCB0aGUgb2xkIHdhdGVybWFyay4NCj4gMi4g SSB3b3VsZCBzYXkgdGhpcyBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIG9wZXJhdG9yIGJl Y2F1c2UgDQo+IGZpcnN0IGl0IGlzIG5vdCByZWxhdGVkIHRvIHRoZSBzZW1hbnRpY3Mgb2YgdGhl IHF1ZXJ5IGFuZCBzZWNvbmQgaXQgaXMgDQo+IGFuIG9wZXJhdG9yIHJlc3BvbnNpYmlsaXR5IGlu IHRoZSBleGlzdGluZyBjb2RlIGFzIHdlbGwuDQo+DQo+IEphcmsgMjoNCj4gWW91IGFyZSByaWdo dCwgdGhlIHF1ZXJ5IChvciB1c2VyKSBtdXN0IGRlY2lkZSBvbiB0aGUgZXZlbnQtdGltZSANCj4g YXR0cmlidXRlIHRvIHVzZS4gTXkgbWFpbiBwb2ludCBpcywgaXQgaXMgbXVjaCBlYXNpZXIgZm9y IHRoZSB1c2VyIA0KPiAoYW5kIGZvciB1cw0KPiBpbnRlcm5hbGx5KSBpZiB3ZSBpbnRlcm5hbGx5 IHRyYWNrIG11bHRpcGxlIHRpbWVzdGFtcHMuIEJlY2F1c2Ugd2UgZG8gDQo+IG5vdCBoYXZlIHRv IHBydW5lIHRoZSB0aW1lc3RhbXAgdGhhdCB3aWxsIG5vdCBiZSBsYXRlciB1c2VkIGludG8gdGhl IGpvaW4uDQo+IE1vcmVvdmVyLCBib3RoIHRpbWVzdGFtcHMgbWlnaHQgYmUgdXNlZCBsYXRlciAo c2VlIGpvaW4gZXhhbXBsZSwgd2hpY2ggDQo+IGNvdWxkIGJlIHJlb3JkZXJlZCBvZiBjb3Vyc2Up LiBBbGwgd2UgaGF2ZSB0byBkbyBpcyB0byBlbnN1cmUgdGhhdCBhbGwgDQo+IHRpbWVzdGFtcHMg YXJlIGFsaWduZWQgd2l0aCB0aGUgd2F0ZXJtYXJrcy4NCj4NCj4gUmFkdSAyOg0KPiBJTU8sIHRp bWUgKG9yIGFueXRoaW5nIGVsc2UgdGhhdCBhZmZlY3RzIHRoZSBzZW1hbnRpY3MpIHNob3VsZCBu ZXZlciANCj4gYmUgZGVjaWRlZCBieSB0aGUgc3lzdGVtLiBXaGVuIHdlIHdvdWxkIGRvIHRoYXQs IGEgcXVlcnkgaXMgbm90IGZ1bGx5IA0KPiBzcGVjaWZpZWQgb3IsIGV2ZW4gd29yc2UsIHRoZSB3 YXkgaXQgaXMgZXhlY3V0ZWQgaXMgc2VtYW50aWNhbGx5IA0KPiBpbmNvcnJlY3QgYW5kIHByb2R1 Y2VzIGFyYml0cmFyeSByZXN1bHRzLg0KPg0KPiBUaW1lIGF0dHJpYnV0ZXMgc2hvdWxkIGJlIHNw ZWNpZmllZCBpbiB0aGUgc291cmNlIHRhYmxlcyBhbmQgdGhlbiANCj4gZm9yd2FyZGVkIGZyb20g dGhlcmUuIFNvIGZhciBJIGhhdmVuJ3Qgc2VlbiBhbiBleGFtcGxlIHdoZXJlIHRoaXMgDQo+IHdv dWxkIG5vdCBiZSBwb3NzaWJsZSAod2l0aGluIHRoZSBzZW1hbnRpY3Mgb3IgcmVsYXRpb25hbCBx dWVyaWVzKS4gSWYgDQo+IHdlIGRvIHRoYXQgcmlnaHQsIHRoZXJlIHdvbid0IGJlIGEgbmVlZCBm b3IgZXhwbGljaXQgdGltZSBtYW5hZ2VtZW50IA0KPiBleGNlcHQgZm9yIHRoZSBkZWZpbml0aW9u IG9mIHRoZSBpbml0aWFsIHRpbWVzdGFtcHMgd2hpY2ggY2FuIGJlIA0KPiBoaWRkZW4gaW4gdGhl IHRhYmxlIGRlZmluaXRpb24uIEFzIEkgc2FpZCBiZWZvcmUsIHdlIChvciB0aGUgc3lzdGVtKSAN Cj4gY2Fubm90IGRlY2lkZSBvbiB0aGUgdGltZXN0YW1wIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWFk IHRvIGFyYml0cmFyeSANCj4gcmVzdWx0cy4gQXNraW5nIHRoZSB1c2VyIHRvIGRvIHRoYXQgd291 bGQgbWVhbiBleHBsaWNpdCB0aW1lIA0KPiBtYW5hZ2VtZW50IHdoaWNoIGlzIGFsc28gbm90IGRl c2lyYWJsZS4gSSB0aGluayBteSBwcm9wb3NhbCBnaXZlcyANCj4gdXNlcnMgYWxsIG9wdGlvbnMg KHRpbWVzdGFtcHMpIHRvIGNob3NlIGZyb20gYW5kIHRoZSBzeXN0ZW0gY2FuIGRvIHRoZSByZXN0 Lg0KPg0KPiBCZXN0LCBGYWJpYW4NCj4NCj4gMjAxNy0wNy0yNiAxMDo0NiBHTVQrMDI6MDAgUmFk dSBUdWRvcmFuIDxyYWR1LnR1ZG9yYW5AaHVhd2VpLmNvbT46DQo+DQo+ID4gSGkgZXZlcnlvbmUs DQo+ID4NCj4gPiBJIGp1c3Qgd2FudCB0byBhZGQgdGhhdCBJIHdhcyByZWZlcnJpbmcgdG8gTlVM TCB2YWx1ZXMgbm90IA0KPiA+IHNwZWNpZmljYWxseQ0KPiB0bw0KPiA+IHRpbWVmaWVsZHMgYnV0 IHRvIHRoZSBldmVudCBpdHNlbGYuIElmIHlvdSBoYXZlIHRoZSBmb2xsb3cgc2l0dWF0aW9uDQo+ ID4NCj4gPiBTdHJlYW0gMTogICAgIC4uLi4gfCAgICBldmVudDEgICB8IC4uLi4NCj4gPiBTdHJl YW0gMjogICAgIC4uLi4gfCAgICAgICAgICAgICB8IC4uLi4NCj4gPg0KPiA+IEFuZCB5b3UgaGF2 ZSBhIExFRlQgSk9JTiBiZXR3ZWVuIHN0cmVhbSAxIGFuZCBzdHJlYW0gMiAobm8gDQo+ID4gY29u ZGl0aW9uKS4uLnRoZW4geW91IHN0aWxsIG5lZWQgdG8gZW1pdCAoZXZlbnQxLG51bGwpIC4uLiBh cyB0aGlzIA0KPiA+IGlzIHRoZSBiZWhhdmlvciBvZiBsZWZ0IGpvaW4uIFRoaXMgaXMgbWF5YmUg YSB2ZXJ5IHNpbXBsZSBzaXR1YXRpb24sIA0KPiA+IGJ1dCB0aGUNCj4gcG9pbnQNCj4gPiBpcyB0 aGF0IGxlZnQgam9pbnMgYW5kIHJpZ2h0IGpvaW5zIGNhbiBoYXZlIHNpdHVhdGlvbiB3aGVuIHlv dSBoYXZlIA0KPiA+IGVsZW1lbnRzIG9ubHkgaW4gdGhlIG1haW4gc3RyZWFtIGFuZCBubyBlbGVt ZW50IGluIHRoZSByaWdodCBzdHJlYW0uIA0KPiA+IEFuZCBmb3IgdGhpcyBjYXNlIHlvdSBzdGls bCBuZWVkIHRvIGVtaXQuDQo+ID4NCj4gPg0KPiA+IFJlZ2FyZGluZyB3aGV0aGVyIHRpbWUgc2hv dWxkIGJlIGRlY2lkZWQgYnkgc3lzdGVtIG9yIG5vdC4uLmkgdGhpbmsgDQo+ID4gdGhlIGFuc3dl ciBpcyBpdCBkZXBlbmRzLiBJIHRoaW5rIHRoZSBleGFtcGxlIGZyb20gSmFjayBpcyB2ZXJ5IGdv b2QgIA0KPiA+IGFuZA0KPiBzaG93cw0KPiA+IHRoZSBuZWVkIGZvciBzb21lIG1lY2hhbmlzbXMg dG8gc2VsZWN0L21hbmFnZSB0aGUgdGltZSAoSSBsaWtlIHRoZQ0KPiBwcm9wb3NhbA0KPiA+IG9m IGhhdmluZyBmdW5jdGlvbnMgdG8gaW5zZXJ0IHRoZSB0aW1lIGluIHRoZSBvdXRwdXQhKS4gSG93 ZXZlciwgaWYgDQo+ID4gYSBidXNpbmVzcyBhbmFseXN0IHdvdWxkIHdyaXRlIGEgcXVlcnkgd2l0 aG91dCBleHBsaWNpdCB0aW1lIA0KPiA+IG1hbmFnZW1lbnQgd2Ugc3RpbGwgbmVlZCB0byBoYXZl IHNvbWUgZGVmYXVsdCBiZWhhdmlvciBpbiB0aGUgDQo+ID4gc3lzdGVtLiBBcyBwZXIgbXkgaW5p dGlhbCBwcm9wb3NhbCwgSSB0aGluayAgd2UgbmVlZCB0byBkZWNpZGUgb24gDQo+ID4gb25lIHRp bWVzdGFtcCBmaWVsZCB0byBjYXJyeSAoZWl0aGVyIGEgbmV3IG9uZSBhdCB0aGUgbW9tZW50IG9m IHRoZSANCj4gPiBqb2luKSBvciB0aGUgdGltZXN0YW1wIGZyb20gdGhlDQo+IG1haW4NCj4gPiBz dHJlYW0gICguLi5hbHRob3VnaCBJIGFtIG5vdCBzdXJlIHdoaWNoIG9uZSBpcyB0aGUgbWFpbiBz dHJlYW0gaW4gDQo+ID4gdGhlDQo+IGNhc2UNCj4gPiBvZiBhIGZ1bGwgam9pbjopICkNCj4gPg0K PiA+DQo+ID4gRHIuIFJhZHUgVHVkb3Jhbg0KPiA+IFN0YWZmIFJlc2VhcmNoIEVuZ2luZWVyIC0g QmlnIERhdGEgRXhwZXJ0IElUIFImRCBEaXZpc2lvbg0KPiA+DQo+ID4NCj4gPiBIVUFXRUkgVEVD SE5PTE9HSUVTIER1ZXNzZWxkb3JmIEdtYkgNCj4gPiBHZXJtYW4gUmVzZWFyY2ggQ2VudGVyDQo+ ID4gTXVuaWNoIE9mZmljZQ0KPiA+IFJpZXNzdHJhc3NlIDI1LCA4MDk5MiBNw7xuY2hlbg0KPiA+ DQo+ID4gRS1tYWlsOiByYWR1LnR1ZG9yYW5AaHVhd2VpLmNvbQ0KPiA+IE1vYmlsZTogKzQ5IDE1 MjA5MDg0MzMwDQo+ID4gVGVsZXBob25lOiArNDkgODkxNTg4MzQ0MTczDQo+ID4NCj4gPiBIVUFX RUkgVEVDSE5PTE9HSUVTIER1ZXNzZWxkb3JmIEdtYkgNCj4gPiBIYW5zYWFsbGVlIDIwNSwgNDA1 NDkgRMO8c3NlbGRvcmYsIEdlcm1hbnksIHd3dy5odWF3ZWkuY29tDQo+ID4gUmVnaXN0ZXJlZCBP ZmZpY2U6IETDvHNzZWxkb3JmLCBSZWdpc3RlciBDb3VydCBEw7xzc2VsZG9yZiwgSFJCIDU2MDYz LA0KPiA+IE1hbmFnaW5nIERpcmVjdG9yOiBCbyBQRU5HLCBRaXVlbiBQZW5nLCBTaGVuZ2xpIFdh bmcNCj4gPiBTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IETDvHNzZWxkb3JmLCBBbXRzZ2VyaWNodCBE w7xzc2VsZG9yZiwgSFJCIDU2MDYzLA0KPiA+IEdlc2Now6RmdHNmw7xocmVyOiBCbyBQRU5HLCBR aXVlbiBQZW5nLCBTaGVuZ2xpIFdhbmcNCj4gPiBUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1l bnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20NCj4gPiBIVUFXRUksIHdo aWNoIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJl c3MgaXMNCj4gPiBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIGNvbnRh aW5lZCBoZXJlaW4gaW4gYW55IHdheQ0KPiA+IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0 bywgdG90YWwgb3IgcGFydGlhbCBkaXNjbG9zdXJlLA0KPiByZXByb2R1Y3Rpb24sDQo+ID4gb3Ig ZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCByZWNpcGll bnQocykgaXMNCj4gPiBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBl cnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyDQo+ID4gYnkgcGhvbmUgb3IgZW1haWwgaW1t ZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gRnJvbTogSmFyayBXdSBbbWFpbHRvOmphcmtAYXBhY2hlLm9yZ10NCj4gPiBTZW50 OiBXZWRuZXNkYXksIEp1bHkgMjYsIDIwMTcgODoyOSBBTQ0KPiA+IFRvOiBkZXZAZmxpbmsuYXBh Y2hlLm9yZw0KPiA+IFN1YmplY3Q6IFJlOiBbRElTQ1VTU10gVGFibGUgQVBJIC8gU1FMIGludGVy bmFsIHRpbWVzdGFtcCBoYW5kbGluZw0KPiA+DQo+ID4gSGkgWGluZ2NhbiwNCj4gPg0KPiA+IElN TywgSSBkb24ndCB0aGluayBldmVudC10aW1lIG9mIGpvaW4gcmVzdWx0cyBjb3VsZCBiZSBhdXRv bWF0aWNhbGx5DQo+ID4gZGVjaWRlZCBieSBzeXN0ZW0uIENvbnNpZGVyaW5nIGJhdGNoIHRhYmxl cywgaWYgdXNlcnMgd2FudCBhIGV2ZW50IHRpbWUNCj4gPiB3aW5kb3cgYWdncmVnYXRpb24gYWZ0 ZXIgam9pbiwgdXNlciBtdXN0IHNwZWNpZnkgdGhlIHRpbWUgZmllbGQNCj4gZXhwbGljaXRseQ0K PiA+IChUMS5yb3d0aW1lIG9yIFQyLnJvd3RpbWUgb3IgdGhlIGNvbXB1dGVkIHJlc3VsdCBvZiB0 aGVtKS4gU28gaW4gdGhlIGNhc2UNCj4gPiBvZiBzdHJlYW1pbmcgdGFibGVzLCB0aGUgc3lzdGVt IGFsc28gY2FuJ3QgYXV0b21hdGljYWxseSBkZWNpZGUgdGhlIHRpbWUNCj4gPiBmaWVsZCBmb3Ig dXNlcnMuDQo+ID4NCj4gPiBJbiByZWdhcmRzIHRvIHRoZSBxdWVzdGlvbiB5b3UgYXNrZWQsIEkg dGhpbmsgd2UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlDQo+ID4gd2F0ZXJtYXJrIG5vIG1hdHRl ciB3ZSBjaG9vc2UgdGhlIGxlZnQgcm93dGltZSBvciByaWdodCByb3d0aW1lIG9yIHRoZQ0KPiA+ IGNvbWJpbmF0aW9uLiBCZWNhdXNlIHRoZSB3YXRlcm1hcmsgaGFzIGJlZW4gYWxpZ25lZCB3aXRo IHRoZSByb3d0aW1lIGluDQo+IHRoZQ0KPiA+IHNvdXJjZS4gTWF5YmUgSSdtIHdyb25nIGFib3V0 IHRoaXMsIHBsZWFzZSBjb3JyZWN0IG1lIGlmIEknbSBtaXNzaW5nDQo+ID4gc29tZXRoaW5nLg0K PiA+DQo+ID4gV2hhdCBkbyB5b3UgdGhpbms/DQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IEphcmsN Cj4gPg0KPiA+IDIwMTctMDctMjYgMTE6MjQgR01UKzA4OjAwIFhpbmdjYW4gQ3VpIDx4aW5nY2Fu Y0BnbWFpbC5jb20+Og0KPiA+DQo+ID4gPiBIaSBhbGwsDQo+ID4gPg0KPiA+ID4gQEZhYmlhbiwg dGhhbmtzIGZvciByYWlzaW5nIHRoaXMuDQo+ID4gPg0KPiA+ID4gQFJhZHUgYW5kIEphcmssIHBl cnNvbmFsbHkgSSB0aGluayB0aGUgdGltZXN0YW1wIGZpZWxkIGlzIGNyaXRpY2FsIGZvcg0KPiA+ ID4gcXVlcnkgcHJvY2Vzc2luZyBhbmQgdGh1cyBzaG91bGQgYmUgZGVjbGFyZWQgYXMgKG9yIHN1 cHBvc2VkIHRvIGJlKQ0KPiA+ID4gTk9UIE5VTEwuIEluIGFkZGl0aW9uLCBJIHRoaW5rIHRoZSBl dmVudC10aW1lIHNlbWFudGljIG9mIHRoZSBqb2luDQo+ID4gPiByZXN1bHRzIHNob3VsZCBiZSBh dXRvbWF0aWNhbGx5IGRlY2lkZWQgYnkgdGhlIHN5c3RlbSwgaS5lLiwgd2UgZG8gbm90DQo+ID4g PiBoYW5kIGl0IG92ZXIgdG8gdXNlcnMgc28gdG8gYXZvaWQgc29tZSB1bnByZWRpY3RhYmxlIGFz c2lnbm1lbnQuDQo+ID4gPg0KPiA+ID4gR2VuZXJhbGx5IHNwZWFraW5nLCBjb25zb2xpZGF0aW5n IGRpZmZlcmVudCB0aW1lIGZpZWxkcyBpcyBwb3NzaWJsZQ0KPiA+ID4gc2luY2UgYWxsIG9mIHRo ZW0gc2hvdWxkIGlkZWFsbHkgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nLiBGcm9tIG15DQo+ ID4gPiBwb2ludCBvZiB2aWV3LCB0aGUgcHJvYmxlbSBsaWVzIGluDQo+ID4gPiAoMSkgd2hhdCdz IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgb2xkIGFuZCBuZXcgd2F0ZXJtYXJrcy4gU2hh bGwNCj4gPiA+IHRoZXkgYmUgb25lLXRvLW9uZSBtYXBwaW5nIG9yIHRoZSBuZXcgd2F0ZXJtYXJr cyBjb3VsZCBza2lwIHNvbWUNCj4gPiA+IHRpbWVzdGFtcHM/IEFuZCAoMikgd2hvIGlzIGluIGNo YXJnZSBvZiBlbWl0dGluZyB0aGUgYmxvY2tlZA0KPiA+ID4gd2F0ZXJtYXJrcywgdGhlIG9wZXJh dG9yIG9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9uPw0KPiA+ID4NCj4gPiA+IEknZCBsaWtlIHRvIGhl YXIgZnJvbSB5b3UuDQo+ID4gPg0KPiA+ID4gQmVzdCwNCj4gPiA+IFhpbmdjYW4NCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+IE9uIFdlZCwgSnVsIDI2LCAyMDE3IGF0IDEwOjQwIEFNLCBKYXJr IFd1IDxqYXJrQGFwYWNoZS5vcmc+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ID4gSGksDQo+ID4gPiA+ DQo+ID4gPiA+IFJhZHUncyBjb25jZXJucyBtYWtlIHNlbnNlIHRvIG1lLCBlc3BlY2lhbGx5IHRo ZSBudWxsIHZhbHVlDQo+ID4gPiA+IHRpbWVzdGFtcCBhbmQgbXVsdGktcHJvY3RpbWUuDQo+ID4g PiA+DQo+ID4gPiA+IEkgaGF2ZSBhbHNvIHNvbWV0aGluZyBpbiBteSBtaW5kLiBJIHdvdWxkIGxp a2UgdG8gcHJvcG9zZSBzb21lIHRpbWUNCj4gPiA+ID4gaW5kaWNhdG9yIGJ1aWx0LWluIGZ1bmN0 aW9ucywgZS5nLiBST1dfVElNRShUaW1lc3RhbXAgdHMpIHdpbGwNCj4gPiA+ID4gZ2VuZXJhdGUg YSBldmVudCB0aW1lIGxvZ2ljYWwgYXR0cmlidXRlLCBQUk9DX1RJTUUoKSB3aWxsIGdlbmVyYXRl IGENCj4gPiA+ID4gcHJvY2Vzc2luZyB0aW1lIGxvZ2ljYWwgYXR0cmlidXRlLiBJdCBpcyBzaW1p bGFyIHRvIFRVTUJMRV9ST1dUSU1FDQo+ID4gPiA+IHByb3Bvc2VkIGluIHRoaXMgUFIgaHR0cHM6 Ly9naXRodWIuY29tL2FwYWNoZS9mbGluay9wdWxsLzQxOTkuIFRoZXNlDQo+ID4gPiA+IGNhbiBi ZSB1c2VkIGluIGFueSBxdWVyaWVzLCBidXQgdGhlcmUgc3RpbGwgY2FuJ3QgYmUgbW9yZSB0aGFu IG9uZQ0KPiA+ID4gPiByb3d0aW1lIGF0dHJpYnV0ZSBvciBtb3JlIHRoYW4gb25lIHByb2N0aW1l IGF0dHJpYnV0ZSBpbiBhIHRhYmxlDQo+ID4gc2NoZW1hLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGUg Ym90aCBzZWxlY3RlZCB0aW1lc3RhbXAgZmllbGRzIGZyb20gYSBKT0lOIHF1ZXJ5IHdpbGwgYmUN Cj4gPiA+IG1hdGVyaWFsaXplZC4NCj4gPiA+ID4gSWYgc29tZW9uZSBuZWVkcyBmdXJ0aGVyIGRv d24gdGhlIGNvbXB1dGF0aW9uIGJhc2VkIG9uIHRoZSBldmVudA0KPiA+ID4gPiB0aW1lLA0KPiA+ ID4gdGhleQ0KPiA+ID4gPiBuZWVkIHRvIGNyZWF0ZSBhIG5ldyB0aW1lIGF0dHJpYnV0ZSB1c2lu ZyB0aGUgUk9XX1RJTUUoLi4uKQ0KPiA+ID4gPiBmdW5jdGlvbi4gQW5kIHRoaXMgY2FuIGFsc28g c29sdmUgdGhlIG51bGwgdGltZXN0YW1wIHByb2JsZW0gaW4gTEVGVA0KPiA+ID4gPiBKT0lOLCBi ZWNhdXNlIHdlDQo+ID4gPiBjYW4NCj4gPiA+ID4gdXNlIGEgdXNlciBkZWZpbmVkIGZ1bmN0aW9u IHRvIGNvbWJpbmUgdGhlIHR3byByb3d0aW1lcyBhbmQgbWFrZSB0aGUNCj4gPiA+IHJlc3VsdA0K PiA+ID4gPiBhcyB0aGUgZXZlbnQgdGltZSBhdHRyaWJ1dGUsIGUuZy4gU0VMRUNUIFJPV19USU1F KHVkZihUMS5yb3d0aW1lLA0KPiA+ID4gPiBUMi5yb3d0aW1lKSkgYXMgcm93dGltZSBGUk9NIFQx IEpPSU4gVDIgLi4uDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFdoYXQgZG8geW91IHRoaW5r Pw0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiAyMDE3LTA3LTI1IDIzOjQ4IEdNVCswODowMCBS YWR1IFR1ZG9yYW4gPHJhZHUudHVkb3JhbkBodWF3ZWkuY29tPjoNCj4gPiA+ID4NCj4gPiA+ID4g PiBIaSwNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgdGhpbmsgdGhpcyBpcyBhbiBpbnRlcmVzdGlu ZyBkaXNjdXNzaW9uIGFuZCBJIHdvdWxkIGxpa2UgdG8gYWRkDQo+ID4gPiA+ID4gc29tZSBpc3N1 ZXMgYW5kIGdpdmUgc29tZSBmZWVkYmFjay4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0gRm9yIHN1 cHBvcnRpbmcgdGhlIGpvaW4gd2UgZG8gbm90IG9ubHkgbmVlZCB0byB0aGluayBvZiB0aGUgdGlt ZQ0KPiA+ID4gPiA+IGJ1dCBhbHNvIG9uIHRoZSBudWxsIHZhbHVlcy4gRm9yIGV4YW1wbGUgaWYg eW91IGhhdmUgYSBMRUZUIChvcg0KPiA+ID4gPiA+IFJJR0hUKSBKT0lOIGJldHdlZW4gaXRlbXMg b2YgMiBpbnB1dCBzdHJlYW1zLCBhbmQgdGhlIHNlY29uZGFyeQ0KPiA+ID4gPiA+IGlucHV0IGlz IG5vdA0KPiA+ID4gPiBhdmFpbGFibGUNCj4gPiA+ID4gPiB5b3Ugc2hvdWxkIHN0aWxsIGVtaXQg Um93Lm9mKGV2ZW50MSwgbnVsbCkuLi5hcyBmYXIgYXMgSSBrbm93IGlmDQo+ID4gPiA+ID4geW91 DQo+ID4gPiBuZWVkDQo+ID4gPiA+ID4gdG8gc2VyaWFsaXplL2Rlc2VyaWFsaXplIG51bGwgdmFs dWVzIHRvIHNlbmQgdGhlbSB0aGV5IGRvIG5vdA0KPiA+ID4gPiA+IHdvcmsuIFNvDQo+ID4gPiB3 ZQ0KPiA+ID4gPiA+IHNob3VsZCBpbmNsdWRlIHRoaXMgc2NlbmFyaW8gaW4gdGhlIGRpc2N1c3Np b25zIC1JZiB3ZSB3aWxsIGhhdmUNCj4gPiA+ID4gPiBtdWx0aXBsZSB0aW1lc3RhbXAgaW4gYW4g KG91dHB1dCkgZXZlbnQsIG9uZSBxdWVzdGlvbg0KPiA+ID4gaXMNCj4gPiA+ID4gPiBob3cgdG8g c2VsZWN0IGFmdGVyd2FyZHMgd2hpY2ggaXMgdGhlIHByaW1hcnkgdGltZSBmaWVsZCBvbiB3aGlj aA0KPiA+ID4gPiA+IHRvIG9wZXJhdGUuIFdoZW4gd2UgZGVzY3JpYmUgYSBxdWVyeSB3ZSBtaWdo dCBiZSBhYmxlIHRvIHNwZWNpZnkNCj4gPiA+ID4gPiAob3Igd2UNCj4gPiA+IGdldA0KPiA+ID4g PiA+IHRoaXMgaW1wbGljaXRseSBpZiB3ZSBpbXBsZW1lbnQgdGhlIGNhcnJ5b24gb2YgdGhlIDIg dGltZXN0YW1wcykNCj4gPiA+IFNlbGVjdA0KPiA+ID4gPiA+IFQxLnJvd3RpbWUsIFQyLnJvd3Rp bWUgLi4uYnV0IGlmIHRoZSBvdXRwdXQgb2YgYSBxdWVyeSBpcyB0aGUNCj4gPiA+ID4gPiBpbnB1 dCBvZg0KPiA+ID4gYQ0KPiA+ID4gPiA+IG5ldyBwcm9jZXNzaW5nIHBpcGVsaW5lLCB0aGVuLCBk byB3ZSBzdXBwb3J0IGdlbmVyYWxseSBhbHNvIHRoYXQNCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4g aW5wdXQNCj4gPiA+ID4gPiBoYXMgMiB0aW1lIGZpZWxkcz8gLi4uaG93IGRvIHdlIGRlYWwgd2l0 aCB0aGUgMiBpbnB1dCBmaWVsZHMNCj4gPiA+ID4gPiAobWF5YmUgSQ0KPiA+ID4gYW0NCj4gPiA+ ID4gPiBtaXNzaW5nIHNvbWV0aGluZykgZnVydGhlciBpbiB0aGUgZGF0YXN0cmVhbSBwaXBlbGlu ZSB0aGF0IHdlDQo+ID4gPiA+ID4gYnVpbGQNCj4gPiA+IGJhc2VkDQo+ID4gPiA+ID4gb24gdGhl IG91dHB1dD8NCj4gPiA+ID4gPiAtIEZvciB0aGUgY2FzZSBvZiBwcm9jdGltZSAtIGRvIHdlIG5l ZWQgdG8gY2FycnkgMiBwcm9jdGltZXMgKHRoZQ0KPiA+ID4gPiA+IHByb2N0aW1lcyBvZiB0aGUg aW5jb21pbmcgZXZlbnRzIGZyb20gZWFjaCBzdHJlYW0pLCBvciAxIHByb2N0aW1lDQo+ID4gPiA+ ID4gKGFzDQo+ID4gPiB3ZQ0KPiA+ID4gPiA+IG9wZXJhdGUgb24gcHJvY3RpbWUgYW5kIHRoZSBj b21iaW5hdGlvbiBvZiB0aGUgMiBpbnB1dHMgY2FuIGJlDQo+ID4gPiBjb25zaWRlcmVkDQo+ID4g PiA+ID4gYXMgYSBuZXcgZXZlbnQsIHRoZSBjdXJyZW50IHByb2N0aW1lIG9uIHRoZSBtYWNoaW5l IGNhbiBiZQ0KPiA+ID4gPiA+IGNvbnNpZGVyZWQNCj4gPiA+IHRoZQ0KPiA+ID4gPiA+IChwcm9j KXRpbWUgcmVmZXJlbmNlIGZvciBvdXRwdXQgZXZlbnQpIG9yIDMgcHJvY3RpbWVzICh0aGUgMg0K PiA+ID4gPiA+IHByb2N0aW1lcw0KPiA+ID4gb2YNCj4gPiA+ID4gPiB0aGUgaW5wdXQgcGx1cyB0 aGUgcHJvY3RpbWUgd2hlbiB0aGUgbmV3IGV2ZW50IHdhcyBjcmVhdGVkKT8NCj4gPiA+ID4gPiAt U2ltaWxhciB3aXRoIHRoZSBwb2ludCBhYm92ZSwgZm9yIGV2ZW4gdGltZSAod2hpY2ggSSBhbQ0K PiA+ID4gPiA+IHVuZGVyc3RhbmRpbmcNCj4gPiA+IGFzDQo+ID4gPiA+ID4gdGhlIHRpbWUgd2hl biB0aGUgZXZlbnQgd2FzIGNyZWF0ZWQuLi5vciBkbyB3ZSB1bmRlcnN0YW5kIHRoZW0gYXMNCj4g PiA+ID4gPiBhDQo+ID4gPiB0aW1lDQo+ID4gPiA+ID4gY2Fycnkgd2l0aGluIHRoZSBldmVudD8p IC0gd2hlbiB3ZSBqb2luIDIgZXZlbnRzIGFuZCBvdXRwdXQgYW4NCj4gPiA+ID4gPiBldmVudA0K PiA+ID4gdGhhdA0KPiA+ID4gPiA+IGlzIHRoZSByZXN1bHQgb2YgdGhlIGpvaW4gLSBpc24ndCB0 aGlzIGEgbmV3IGV2ZW50IGRldGFjaCBmcm9tIHRoZQ0KPiA+ID4gPiA+IHNvdXJjZVxpbnB1dCBl dmVudHM/IC4uLiBJIHdvdWxkIHRlbmQgdG8gc2F5IGl0IGlzIGEgbmV3IGV2ZW50IGFuZA0KPiA+ ID4gPiA+IHRoZW4NCj4gPiA+ID4gYXMNCj4gPiA+ID4gPiBmb3IgcHJvY3RpbWUgdGhlIGV2ZW50 IHRpbWUgb2YgdGhlIG5ldyBldmVudCBpcyB0aGUgY3VycmVudCB0aW1lDQo+ID4gPiA+ID4gd2hl bg0KPiA+ID4gPiB0aGlzDQo+ID4gPiA+ID4gb3V0cHV0IGV2ZW50IHdhcyBjcmVhdGVkLiBJZiB3 ZSB3b3VsZCBhY2NlcHQgdGhpcyBoeXBvdGhlc2lzIHRoZW4NCj4gPiA+ID4gPiB3ZQ0KPiA+ID4g PiB3b3VsZA0KPiA+ID4gPiA+IG5vdCBuZWVkIHRoZSAyIHRpbWUgaW5wdXQgZmllbGRzIHRvIGJl IGNhcnJpZWQvbWFuYWdlZCBpbXBsaWNpdGx5Lg0KPiA+ID4gPiA+IElmIHNvbWVvbmUgbmVlZHMg ZnVydGhlciBkb3duIHRoZSBjb21wdXRhdGlvbiBwaXBlbGluZSwgdGhlbiBpbg0KPiA+ID4gPiA+ IHRoZSBxdWVyeQ0KPiA+ID4gPiB0aGV5DQo+ID4gPiA+ID4gd291bGQgYmUgc2VsZWN0ZWQgZXhw bGljaXRseSBmcm9tIHRoZSBpbnB1dCBzdHJlYW0gYW5kIHByb2plY3RlZA0KPiA+ID4gPiA+IGlu DQo+ID4gPiBzb21lDQo+ID4gPiA+ID4gZmllbGRzIHRvIGJlIGNhcnJpZWQgKFNlbGVjdCBUMS5y b3d0aW1lIGFzIEZvcm1lclRpbWUxLCBUMi5yb3d0aW1lDQo+ID4gPiA+ID4gYXMgRm9ybWVyVGlt ZTIsIC4uLi4gSk9JTiBUMSwgVDIuLi4pLi4uYnV0IHRoZXkgd291bGQgbm90IGhhdmUgdGhlDQo+ ID4gPiB0aW1lc3RhbXANCj4gPiA+ID4gPiBsb2dpYw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLi5t eSAyIGNlbnRzDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBEci4gUmFkdSBUdWRvcmFuDQo+ID4gPiA+ID4gU3RhZmYgUmVzZWFyY2ggRW5naW5l ZXIgLSBCaWcgRGF0YSBFeHBlcnQgSVQgUiZEIERpdmlzaW9uDQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IEhVQVdFSSBURUNITk9MT0dJRVMgRHVlc3NlbGRvcmYgR21iSA0KPiA+ID4g PiA+IEdlcm1hbiBSZXNlYXJjaCBDZW50ZXINCj4gPiA+ID4gPiBNdW5pY2ggT2ZmaWNlDQo+ID4g PiA+ID4gUmllc3N0cmFzc2UgMjUsIDgwOTkyIE3DvG5jaGVuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBFLW1haWw6IHJhZHUudHVkb3JhbkBodWF3ZWkuY29tDQo+ID4gPiA+ID4gTW9iaWxlOiArNDkg MTUyMDkwODQzMzANCj4gPiA+ID4gPiBUZWxlcGhvbmU6ICs0OSA4OTE1ODgzNDQxNzMNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IEhVQVdFSSBURUNITk9MT0dJRVMgRHVlc3NlbGRvcmYgR21iSA0KPiA+ ID4gPiA+IEhhbnNhYWxsZWUgMjA1LCA0MDU0OSBEw7xzc2VsZG9yZiwgR2VybWFueSwgd3d3Lmh1 YXdlaS5jb20NCj4gPiA+ID4gPiBSZWdpc3RlcmVkIE9mZmljZTogRMO8c3NlbGRvcmYsIFJlZ2lz dGVyIENvdXJ0IETDvHNzZWxkb3JmLCBIUkINCj4gNTYwNjMsDQo+ID4gPiA+ID4gTWFuYWdpbmcg RGlyZWN0b3I6IEJvIFBFTkcsIFFpdWVuIFBlbmcsIFNoZW5nbGkgV2FuZw0KPiA+ID4gPiA+IFNp dHogZGVyIEdlc2VsbHNjaGFmdDogRMO8c3NlbGRvcmYsIEFtdHNnZXJpY2h0IETDvHNzZWxkb3Jm LCBIUkINCj4gNTYwNjMsDQo+ID4gPiA+ID4gR2VzY2jDpGZ0c2bDvGhyZXI6IEJvIFBFTkcsIFFp dWVuIFBlbmcsIFNoZW5nbGkgV2FuZw0KPiA+ID4gPiA+IFRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0 YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24NCj4gZnJvbQ0KPiA+ID4g PiA+IEhVQVdFSSwgd2hpY2ggaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRp dHkgd2hvc2UNCj4gYWRkcmVzcw0KPiA+ID4gaXMNCj4gPiA+ID4gPiBsaXN0ZWQgYWJvdmUuIEFu eSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55DQo+IHdheQ0K PiA+ID4gPiA+IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlh bCBkaXNjbG9zdXJlLA0KPiA+ID4gPiByZXByb2R1Y3Rpb24sDQo+ID4gPiA+ID4gb3IgZGlzc2Vt aW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykN Cj4gaXMNCj4gPiA+ID4gPiBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBp biBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUNCj4gPiA+IHNlbmRlcg0KPiA+ID4gPiA+IGJ5IHBo b25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEZhYmlhbiBI dWVza2UgW21haWx0bzpmaHVlc2tlQGdtYWlsLmNvbV0NCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5 LCBKdWx5IDI1LCAyMDE3IDQ6MjIgUE0NCj4gPiA+ID4gPiBUbzogZGV2QGZsaW5rLmFwYWNoZS5v cmcNCj4gPiA+ID4gPiBTdWJqZWN0OiBbRElTQ1VTU10gVGFibGUgQVBJIC8gU1FMIGludGVybmFs IHRpbWVzdGFtcCBoYW5kbGluZw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSGkgZXZlcnlib2R5LA0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gSSdkIGxpa2UgdG8gcHJvcG9zZSBhbmQgZGlzY3VzcyBzb21l IGNoYW5nZXMgaW4gdGhlIHdheSBob3cgdGhlDQo+IFRhYmxlDQo+ID4gPiBBUEkNCj4gPiA+ID4g PiAvIFNRTCBpbnRlcm5hbGx5IGhhbmRsZXMgdGltZXN0YW1wcy4NCj4gPiA+ID4gPg0KPiA+ID4g PiA+IFRoZSBUYWJsZSBBUEkgaXMgaW1wbGVtZW50ZWQgb24gdG9wIG9mIHRoZSBEYXRhU3RyZWFt IEFQSS4gVGhlDQo+ID4gPiBEYXRhU3RyZWFtDQo+ID4gPiA+ID4gQVBJIGhpZGVzIHRpbWVzdGFt cHMgZnJvbSB1c2VycyBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0aW1lc3RhbXBzDQo+ID4gYW5k DQo+ID4gPiA+ID4gd2F0ZXJtYXJrcyBhcmUgYWxpZ25lZC4gSW5zdGVhZCB1c2VycyBhc3NpZ24g dGltZXN0YW1wcyBhbmQNCj4gPiB3YXRlcm1hcmtzDQo+ID4gPiA+IG9uY2UNCj4gPiA+ID4gPiAo dXN1YWxseSBhdCB0aGUgc291cmNlIG9yIGluIGEgc3Vic2VxdWVudCBvcGVyYXRvcikgYW5kIGxl dCB0aGUNCj4gPiBzeXN0ZW0NCj4gPiA+ID4gPiBoYW5kbGUgdGhlIHRpbWVzdGFtcHMgZnJvbSB0 aGVyZSBvbi4gVGltZXN0YW1wcyBhcmUgc3RvcmVkIGluIHRoZQ0KPiA+ID4gPiB0aW1lc3RhbXAN Cj4gPiA+ID4gPiBmaWVsZCBvZiB0aGUgU3RyZWFtUmVjb3JkIHdoaWNoIGlzIGEgaG9sZGVyIGZv ciB0aGUgdXNlciByZWNvcmQgYW5kDQo+ID4gdGhlDQo+ID4gPiA+ID4gdGltZXN0YW1wLiBEYXRh U3RyZWFtIG9wZXJhdG9ycyB0aGF0IGRlcGVuZCBvbiB0aW1lICh0aW1lLXdpbmRvd3MsDQo+ID4g PiA+IHByb2Nlc3MNCj4gPiA+ID4gPiBmdW5jdGlvbiwgLi4uKSBhY2Nlc3MgdGhlIHRpbWVzdGFt cCBmcm9tIHRoZSBTdHJlYW1SZWNvcmQuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJbiBjb250cmFz dCB0byB0aGUgRGF0YVN0ZWFtIEFQSSwgdGhlIFRhYmxlIEFQSSBhbmQgU1FMIGFyZSBhd2FyZQ0K PiBvZg0KPiA+ID4gdGhlDQo+ID4gPiA+ID4gc2VtYW50aWNzIG9mIGEgcXVlcnkuIEkuZS4sIHdl IGNhbiBhbmFseXplIGhvdyB1c2VycyBhY2Nlc3MNCj4gPiB0aW1lc3RhbXBzDQo+ID4gPiA+IGFu ZA0KPiA+ID4gPiA+IHdoZXRoZXIgdGhleSBhcmUgbW9kaWZpZWQgb3Igbm90LiBBbm90aGVyIGRp ZmZlcmVuY2UgaXMgdGhhdCB0aGUNCj4gPiA+ID4gdGltZXN0YW1wDQo+ID4gPiA+ID4gbXVzdCBi ZSBwYXJ0IG9mIHRoZSBzY2hlbWEgb2YgYSB0YWJsZSBpbiBvcmRlciB0byBoYXZlIGNvcnJlY3QN Cj4gcXVlcnkNCj4gPiA+ID4gPiBzZW1hbnRpY3MuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUg Y3VycmVudCBkZXNpZ24gdG8gaGFuZGxlIHRpbWVzdGFtcHMgaXMgYXMgZm9sbG93cy4gVGhlIFRh YmxlDQo+IEFQSQ0KPiA+ID4gPiA+IHN0b3JlcyB0aW1lc3RhbXBzIGluIHRoZSB0aW1lc3RhbXAg ZmllbGQgb2YgdGhlIFN0cmVhbVJlY29yZC4NCj4gPiA+IFRoZXJlZm9yZSwNCj4gPiA+ID4gPiB0 aW1lc3RhbXBzIGFyZSBkZXRhY2hlZCBmcm9tIHRoZSByZW1haW5pbmcgZGF0YSB3aGljaCBpcyBz dG9yZWQgaW4NCj4gPiBSb3cNCj4gPiA+ID4gPiBvYmplY3RzLiBIZW5jZSwgdGhlIHBoeXNpY2Fs IHJlcHJlc2VudGF0aW9uIG9mIGEgcm93IGlzIGRpZmZlcmVudA0KPiA+IGZyb20NCj4gPiA+ID4g aXRzDQo+ID4gPiA+ID4gbG9naWNhbCByZXByZXNlbnRhdGlvbi4gV2UgaW50cm9kdWNlZCBhIHRy YW5zbGF0aW9uIGxheWVyDQo+IChSb3dTY2hlbWEpDQo+ID4gPiB0bw0KPiA+ID4gPiA+IGNvbnZl cnQgbG9naWNhbCBzY2hlbWEgaW50byBwaHlzaWNhbCBzY2hlbWEuIFRoaXMgaXMgbmVjZXNzZXJ5 IGZvcg0KPiA+ID4gPiA+IHNlcmlhbGl6YXRpb24gb3IgY29kZSBnZW5lcmF0aW9uIHdoZW4gdGhl IGxvZ2ljYWwgcGxhbiBpcw0KPiB0cmFuc2xhdGVkDQo+ID4gPiA+IGludG8gYQ0KPiA+ID4gPiA+ IHBoeXNpY2FsIGV4ZWN1dGlvbiBwbGFuLiBQcm9jZXNzaW5nLXRpbWUgdGltZXN0YW1wcyBhcmUg c2ltaWxhcmx5DQo+ID4gPiA+IGhhbmRsZWQuDQo+ID4gPiA+ID4gVGhleSBhcmUgbm90IGluY2x1 ZGVkIGluIHRoZSBwaHlzaWNhbCBzY2hlbWEgYW5kIGxvb2tlZCB1cCB3aGVuDQo+ID4gbmVlZGVk Lg0KPiA+ID4gPiA+IFRoaXMgZGVzaWduIGFsc28gcmVxdWlyZXMgdGhhdCB3ZSBuZWVkIHRvIG1h dGVyaWFsaXplIHRpbWVzdGFtcHMNCj4gd2hlbg0KPiA+ID4gPiB0aGV5DQo+ID4gPiA+ID4gYXJl IGFjY2Vzc2VkIGJ5IGV4cHJlc3Npb25zLiBUaW1lc3RhbXAgbWF0ZXJpYWxpemF0aW9uIGlzIGRv bmUgYXMgYQ0KPiA+ID4gPiA+IHByZS1vcHRpbWl6YXRpb24gc3RlcC4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IFdoaWxlIHRoaW5raW5nIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZXZl bnQtdGltZSB3aW5kb3dlZA0KPiA+ID4gPiA+IHN0cmVhbS1zdHJlYW0gam9pbiBbMV0gSSBzdHVt YmxlZCBvdmVyIHRoZSBxdWVzdGlvbiB3aGljaCB0aW1lc3RhbXANCj4gPiBvZg0KPiA+ID4gPiBi b3RoDQo+ID4gPiA+ID4gaW5wdXQgdGFibGVzIHRvIGZvcndhcmQuIFdpdGggdGhlIGN1cnJlbnQg ZGVzaWduLCB3ZSBjb3VsZCBvbmx5DQo+IGhhdmUNCj4gPiBhDQo+ID4gPiA+ID4gc2luZ2xlIHRp bWVzdGFtcCwgc28ga2VlcGluZyBib3RoIHRpbWVzdGFtcHMgd291bGQgbm90IGJlIHBvc3NpYmxl Lg0KPiA+IFRoZQ0KPiA+ID4gPiA+IGNob2ljZSBvZiB0aGUgdGltZXN0YW1wIHdvdWxkIG5lZWQg dG8gYmUgc3BlY2lmaWVkIGJ5IHRoZSBxdWVyeQ0KPiA+ID4gb3RoZXJ3aXNlDQo+ID4gPiA+ID4g aXQgd291bGQgbGFjayBjbGVhciBzZW1hbnRpY3MuIFdoZW4gZXhlY3V0aW5nIHRoZSBqb2luLCB0 aGUgam9pbg0KPiA+ID4gb3BlcmF0b3INCj4gPiA+ID4gPiB3b3VsZCBuZWVkIHRvIG1ha2Ugc3Vy ZSB0aGF0IG5vIGxhdGUgZGF0YSBpcyBlbWl0dGVkLiBUaGlzIHdvdWxkDQo+IG9ubHkNCj4gPiA+ ID4gd29yaw0KPiA+ID4gPiA+IHRoZSBvcGVyYXRvciB3YXMgYWJsZSB0byBob2xkIGJhY2sgd2F0 ZXJtYXJrcyBbMl0uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBXaXRoIHRoaXMgaW5mb3JtYXRpb24g aW4gbWluZCwgSSdkIGxpa2UgdG8gZGlzY3VzcyB0aGUgZm9sbG93aW5nDQo+ID4gPiA+IHByb3Bv c2FsOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLSBXZSBhbGxvdyBtb3JlIHRoYW4gb25lIGV2ZW50 LXRpbWUgdGltZXN0YW1wIGFuZCBzdG9yZSB0aGVtDQo+IGRpcmVjdGx5DQo+ID4gPiBpbg0KPiA+ ID4gPiA+IHRoZSBSb3cNCj4gPiA+ID4gPiAtIFRoZSBxdWVyeSBvcGVyYXRvcnMgZW5zdXJlIHRo YXQgdGhlIHdhdGVybWFya3MgYXJlIGFsd2F5cyBiZWhpbmQNCj4gPiBhbGwNCj4gPiA+ID4gPiBl dmVudC10aW1lIHRpbWVzdGFtcHMuIFdpdGggYWRkaXRpb25hbCBhbmFseXNpcyB3ZSB3aWxsIGJl IGFibGUgdG8NCj4gPiA+ID4gcmVzdHJpY3QNCj4gPiA+ID4gPiB0aGlzIHRvIHRpbWVzdGFtcHMg dGhhdCBhcmUgYWN0dWFsbHkgdXNlZCBhcyBzdWNoLg0KPiA+ID4gPiA+IC0gV2hlbiBhIERhdGFT dHJlYW0gb3BlcmF0b3IgaXMgdGltZS1iYXNlZCAoZS5nLiwgYSBEYXRhU3RyZWFtDQo+ID4gPiA+ ID4gdGltZS13aW5kb3dzKSwgd2UgaW5qZWN0IGFuIG9wZXJhdG9yIHRoYXQgY29waWVzIHRoZSB0 aW1lc3RhbXAgZnJvbQ0KPiA+IHRoZQ0KPiA+ID4gPiBSb3cNCj4gPiA+ID4gPiBpbnRvIHRoZSBT dHJlYW1SZWNvcmQuDQo+ID4gPiA+ID4gLSBXZSB0cnkgdG8gcmVtb3ZlIHRoZSBkaXN0aW5jdGlv biBiZXR3ZWVuIGxvZ2ljYWwgYW5kIHBoeXNpY2FsDQo+ID4gc2NoZW1hLg0KPiA+ID4gPiA+IEZv ciBldmVudC10aW1lIHRpbWVzdGFtcHMgdGhpcyBpcyBiZWNhdXNlIHdlIHN0b3JlIHRoZW0gaW4g dGhlIFJvdw0KPiA+ID4gPiBvYmplY3QsDQo+ID4gPiA+ID4gZm9yIHByb2Nlc3NpbmctdGltZSB0 aW1lc3RhbXBzLCB3ZSBhZGQgYSBkdW1teSBieXRlIGZpZWxkLiBXaGVuDQo+ID4gPiA+IGFjY2Vz c2luZyBhDQo+ID4gPiA+ID4gZmllbGQgb2YgdGhpcyB0eXBlLCB0aGUgY29kZSBnZW5lcmF0b3Ig aW5qZWN0cyB0aGUgY29kZSB0byBmZXRjaA0KPiB0aGUNCj4gPiA+ID4gPiB0aW1lc3RhbXBzLg0K PiA+ID4gPiA+IC0gV2UgbWlnaHQgYmUgYWJsZSB0byBnZXQgYXJvdW5kIHRoZSBwcmUtb3B0aW1p emF0aW9uIHRpbWUNCj4gPiA+ID4gbWF0ZXJpYWxpemF0aW9uDQo+ID4gPiA+ID4gc3RlcC4NCj4g PiA+ID4gPiAtIEEgam9pbiByZXN1bHQgd291bGQgYmUgYWJsZSB0byBrZWVwIGJvdGggdGltZXN0 YW1wcy4gVGhlDQo+IHdhdGVybWFyaw0KPiA+ID4gPiB3b3VsZA0KPiA+ID4gPiA+IGJlIGhvbGQg YmFjayBmb3IgYm90aCBzbyBib3RoIGNvdWxkIGJlIHVzZWQgaW4gc3Vic2VxdWVudA0KPiBvcGVy YXRpb25zLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBhZG1pdCwgSSBoYXZlbid0IHRob3VnaHQg dGhpcyBjb21wbGV0ZWx5IHRocm91Z2guDQo+ID4gPiA+ID4gSG93ZXZlciwgdGhlIGJlbmVmaXRz IG9mIHRoaXMgZGVzaWduIGZyb20gbXkgcG9pbnQgb2YgdmlldyBhcmU6DQo+ID4gPiA+ID4gLSBl bmNvZGluZyBvZiB0aW1lc3RhbXBzIGluIFJvd3MgbWVhbnMgdGhhdCB0aGUgbG9naWNhbCBzY2hl bWEgaXMNCj4gPiBlcXVhbA0KPiA+ID4gPiB0bw0KPiA+ID4gPiA+IHRoZSBwaHlzaWNhbCBzY2hl bWENCj4gPiA+ID4gPiAtIG5vIHRpbWVzdGFtcCBtYXRlcmlhbGl6YXRpb24NCj4gPiA+ID4gPiAt IHN1cHBvcnQgZm9yIG11bHRpcGxlIHRpbWVzdGFtcHMuIE90aGVyd2lzZSB3ZSB3b3VsZCBuZWVk IHRvDQo+IGV4cG9zZQ0KPiA+ID4gPiA+IGludGVybmFsIHJlc3RyaWN0aW9ucyB0byB0aGUgdXNl ciB3aGljaCBhcmUgaGFyZCB0byBleHBsYWluIC8NCj4gPiA+ID4gY29tbXVuaWNhdGUuDQo+ID4g PiA+ID4gLSBubyBuZWVkIHRvIGNoYW5nZSBhbnkgcHVibGljIGludGVyZmFjZXMgYXQgdGhlIG1v bWVudC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBkcmF3YmFja3MgYXMgZmFyIGFzIEkgc2Vl IHRoZW0gYXJlOg0KPiA+ID4gPiA+IC0gYWRkaXRpb25hbCBwYXlsb2FkIGR1ZSB0byB1bnVzZWQg dGltZXN0YW1wIGZpZWxkICsgcG9zc2libHkgdGhlDQo+ID4gPiA+ID4gcHJvY2Vzc2luZy10aW1l IGR1bW15IGZpZWxkDQo+ID4gPiA+ID4gLSBjb21wbGV0ZSByZXdvcmsgb2YgdGhlIGludGVybmFs IHRpbWVzdGFtcCBsb2dpYyAoYWdhaW4uLi4pDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBQbGVhc2Ug bGV0IG1lIGtub3cgd2hhdCB5b3UgdGhpbmssDQo+ID4gPiA+ID4gRmFiaWFuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBbMV0gaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9GTElO Sy02MjMzDQo+ID4gPiA+ID4gWzJdIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93 c2UvRkxJTkstNzI0NQ0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPg0KPiA+DQo+DQo=