Tm9uZSBvZiB1cyBpbiBMQSBsaWtlIGl0LiAgVGhlIEhhaG4gcGxhbiwgaWYgcGFzc2VkLCB3 aWxsIGJlIGRpc2FzdGVyb3VzIHRvIExBWC4gIEhlIGRvZXMgbm90IGp1c3QgcGxhbiBvbiBy YXppbmcgQ1RBIHBhcmtpbmcsIHdoaWNoIHdvdWxkIGJlIGJhZCBlbm91Z2gsIGJ1dCBhbHNv IFRlcm1pbmFscyAxLTMgYW5kIHRoZSBOb3J0aCBzaWRlIG9mIEJyYWRsZXkuICBIZSB0aGVu IHRhbGtzIGFib3V0IGJ1aWxkaW5nIHRoZSBXZXN0IEdhdGVzIChCZWhpbmQgQnJhZGxleSwg dGhleSB3b3VsZCB0YWtlIHRoZSBwbGFjZSBvZiB0aGUgb2xkIEFBIGFuZCBUV0EgaGFuZ2Fy cyBhbmQgdGhlIHJlbW90ZSBnYXRlcyB0aGF0IG1hbnkgcGVvcGxlIGRvbid0IGtub3cgYWJv dXQpLiAgV2l0aCBMQVggdG91Y2hpbmcgNzAgbWlsbGlvbiBwYXNzZW5nZXJzLCBpdCB3aWxs IG5vdCBiZSBsb25nIGJlZm9yZSB3ZSBoaXQgNzggbWlsbGlvbi4gIEJ5IHJhemluZyB0aG9z ZSB0ZXJtaW5hbHMsIGlmIHdlIG5lZWQgbW9yZSBzcGFjZSwgaXQgd2lsbCBiZSBpbmNyZWFk aWJseSBleHBlbnNpdmUgdG8gcHV0IHRoZW0gYmFjayB1cCB0byBhY2NvbWlkYXRlIHRoZSA5 OCBtaWxsaW9uIHdlIHdpbGwgaGF2ZSBpbiB0aGUgbmV4dCAyMCBvciBzbyB5ZWFycy4gIEFs c28sIGhpcyBwbGFuIGRvZXMgbm90IGluY2x1ZGUgYSBuZXcgcnVud2F5LCB3aGljaCBpcyBi YWRkbHkgbmVlZGVkIGF0IGFuIGFpcnBvcnQgdGhhdCBpcyB1bmRlciBmbG93IDkwJSBvZiB0 aGUgdGltZS4gIFdlIGhhdmUgdGhlIHBlcmZlY3Qgc3BvdCwgb24gdGhlIHNvdXRoIGZpZWxk LCBmb3IgdGhlIDYwMDAgZm9vdCBydW53YXkgd2hpY2ggd291bGQgYmUgcGVyZmVjdCBmb3Ig bW92aW5nIGF3YXkgR0EgdHJhZmZpYyBhbmQgUmVnaW9uYWxzIGZyb20gdGhlIDQgYmlnIHJ1 bndheXMuICBBbHNvLCB0aGUgZXh0ZW50aW9uIG9mIHRoZSBjdXJyZW50IHJ1bndheXMgdG8g YWxsIGJlIDEyLDAwMCBmZWV0IChyaWdodCBub3cgdGhleSBhcmUgOSwxMCwxMSwxMil3b3Vs ZCBtZWFuIHRoZSAxNSBob3VyIEp1bWJvIGZsaWdodHMgY291bGQgdGFrZSBvZmYgZnJvbSBh bnkgcnVud2F5LgogIE1hZ2ljIG1heSBoYXZlIHN1cHBvcnRlZCBIYWhuLCBhbmQgaGUgd29u IGJlY2F1c2UgaGUgaXMgYSBmcmllbmQgb2YgbWlub3JpdGllcyB3aGljaCBpcyBnb29kLCBi dXQgaGUgc2VlbXMgaGVsbCBiZW50IG9uIGtpbGxpbmcgdGhlIEFpcnBvcnQuICBXaGF0IExB V0EgKHRoZSBjaXR5IGFnZW5jeSB0aGF0IG93bnMgTEFYKSBuZWVkcyB0byBnZXQgb3ZlciBp cyB0aGUgdGhvdWdodCB0aGF0IHRoZXkgY2FuIGNyZWF0ZSBhIHJlZ2lvbmFsIGNvbmNlcHQg bGlrZSBpbiBOWUMgb3IgTG9uZG9uLiAgT3VyIHB1YmxpYyB0cmFuc2l0IGlzIHRvbyB3ZWFr IGZvciB0aGlzIGNvbmNlcHQsIGxlYXZpbmcgQlVSIGFuZCBMQVggdGhlIG9ubHkgYWlycG9y dHMgbW9zdCBwZW9wbGUgcmVhbGx5IHdhbnQgdG8gZmx5IG91dCBvZiAodW5sZXNzIGdvaW5n IHRvIGZseSBqZXRCbHVlIGF0IExHQikuICBCVVIgaXMgY3Jvd2RlZCBpbiBhbmQgY2Fubm90 IGV4cGFuZCwgbm8gb25lIHdhbnRzIHRvIGZseSBmcm9tIFBhbG1kYWxlIGFuZCBpdCBpcyB0 b28gc21hbGwgYW4gYXJlYSB0byBkcmF3IGVub3VnaCwgVk5ZIGlzIG5lYXIgY2FwYWNpdHkg Zm9yIEdBIG92ZXJmbG93IGFuZCBPTlQgaXMgbm90IGNvbm5lY3RlZCB0byB0aGUgcmVzdCBv ZiB0aGUgU291dGhsYW5kIHdlbGwgZW5vdWdoIGZvciBwZW9wbGUgdG8gd2FudCB0byB1c2Ug aXQuICBPcGVuaW5nIENhbWFyaWxsbyB0byBjb21tZXJjaWFsIG1pZ2h0IHRha2UgMiBtaWxs aW9uIGEgeWVhciBhd2F5LCBidXQgaXQgd29udCBoYXBwZW4gYW5kIDIgbWlsbGlvbiBpcyBu b3QgZW5vdWdoLiAgTEFYIGlzIGxpa2UgRlJBLCB0aGVyZSBtYXkgYmUgYWx0ZXJuYXRpdmVz IGJ1dCB0aGV5IGNlcnRhaW5seSBjYW5ub3QsIGluIGFueSB3YXksIHRha2UgYW55IHNpZ25p ZmljYW50IHRyYWZmaWMgZnJvbSBMQVguICBXZSBuZWVkIHRoZSBvcmlnaW5hbCBtYXN0ZXIg cGxhbiBhbmQgdGhlIHJpY2ggcGVvcGxlIGluIFdlc3RjaGVzdGVyIG5lZWQgdG8gcmVhbGl6 ZSB0aGF0IHRoZWlyIGVuY2xhdmUgd291bGQgbm90IGJlIHRoZXJlIHdpdGhvdXQgTEFYCg==