PD9waHAgIAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL2FwcC5jbGFzcy5waHAiKTsJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbmF2LmNsYXNzLnBocCIpOyAJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCSRBcHAgCT0gbmV3IEFwcCgpOwkkTmF2CT0gbmV3IE5hdigpOwkkTWVudSAJPSBuZXcgTWVudSgpOwkJaW5jbHVkZSgiX3Byb2plY3RDb21tb24ucGhwIik7ICAgICMgQWxsIG9uIHRoZSBzYW1lIGxpbmUgdG8gdW5jbHV0dGVyIHRoZSB1c2VyJ3MgZGVza3RvcCcKCQoJIwoJIyBCZWdpbjogcGFnZS1zcGVjaWZpYyBzZXR0aW5ncy4gIENoYW5nZSB0aGVzZS4gCgkkcGFnZVRpdGxlIAkJPSAiRWNsaXBzZSBDb250aW51ZXMgTW9tZW50dW0gaW4gRGV2aWNlIGFuZCBFbWJlZGRlZCBTb2Z0d2FyZSBEZXZlbG9wbWVudCI7CgkkcGFnZUtleXdvcmRzCT0gIkVjbGlwc2UgRm91bmRhdGlvbiwgY29tbXVuaXR5LCByY3AsIHByZXNzIHJlbGVhc2UsIGVjbGlwc2Vjb24iOwoJJHBhZ2VBdXRob3IJCT0gIk5hdGhhbiBHZXJ2YWlzIjsKCQoJIyBBZGQgcGFnZS1zcGVjaWZpYyBOYXYgYmFycyBoZXJlCgkjIEZvcm1hdCBpcyBMaW5rIHRleHQsIGxpbmsgVVJMIChjYW4gYmUgaHR0cDovL3d3dy5zb21lb3RoZXJzaXRlLmNvbS8pLCB0YXJnZXQgKF9zZWxmLCBfYmxhbmspCgkjICROYXYtPmFkZEN1c3RvbU5hdigiTXkgTGluayIsICJteXBhZ2UucGhwIiwgIl9zZWxmIik7CgkjICROYXYtPmFkZEN1c3RvbU5hdigiR29vZ2xlIiwgImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iLCAiX2JsYW5rIik7CgoJIyBFbmQ6IHBhZ2Utc3BlY2lmaWMgc2V0dGluZ3MKCSMKCQoJIyBQYXN0ZSB5b3VyIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBFT0hUTUwgbWFya2VycyEJCgkkaHRtbCA9IDw8PEVPSFRNTAo8ZGl2IGlkPSJtYWluY29udGVudCI+Cgk8ZGl2IGlkPSJtaWRjb2x1bW4iPgoJCTxoMT4kcGFnZVRpdGxlPC9oMT4KCQk8aDI+UHJlc3MgUmVsZWFzZTwvaDI+CgkJPGgyIEFMSUdOPSJDRU5URVIiPjxzdHJvbmc+RWNsaXBzZSBDb250aW51ZXMgTW9tZW50dW0gaW4gRGV2aWNlIGFuZCBFbWJlZGRlZCBTb2Z0d2FyZSBEZXZlbG9wbWVudCB3aXRoIAoJCU5ldyBPcGVuIFNvdXJjZSBQcm9qZWN0IEluaXRpYXRpdmVzIDwvc3Ryb25nPjwvaDI+CgkJPHA+PHN0cm9uZz5FTUJFRERFRCBTWVNURU1TIENPTkZFUkVOQ0UgKEJPT1RIIDUwOTUpLCBTYW4gSm9zZSwgQ2FsaWYuIChBcHIuIDQsIDIwMDYpPC9zdHJvbmc+IJcgVGhlIEVjbGlwc2UgCgkJRm91bmRhdGlvbiB0b2RheSBhbm5vdW5jZWQgbmV3IHByb2plY3QgaW5pdGlhdGl2ZXMgYW5kIHJlbGVhc2VzIGZvciB0aGUgRGV2aWNlIFNvZnR3YXJlIERldmVsb3BtZW50IFBsYXRmb3JtCgkJIChEU0RQKSBhbmQgQy9DKysgRGV2ZWxvcG1lbnQgVG9vbHMgKENEVCkgUHJvamVjdHMsIGJvdGggaW5jcmVhc2luZ2x5IHBvcHVsYXIgd2l0aCBvcmlnaW5hbCBlcXVpcG1lbnQgCgkJIG1hbnVmYWN0dXJlcnMgKE9FTXMpIGFuZCB2ZW5kb3JzIG9mIHJlYWwtdGltZSBvcGVyYXRpbmcgc3lzdGVtcyAoUlRPU3MpLCBzb2Z0d2FyZSBkZXZlbG9wbWVudCB0b29scywgYW5kIAoJCSBlbGVjdHJvbmljIGRlc2lnbiBhdXRvbWF0aW9uIChFREEpIHRvb2xzLiBUaGVzZSBuZXcgaW5pdGlhdGl2ZXMgZnVydGhlciBleHRlbmQgdGhlIEVjbGlwc2UgZWNvc3lzdGVtIGludG8gCgkJIHRoZSBlbWJlZGRlZCBhbmQgZGV2aWNlIHNvZnR3YXJlIG1hcmtldHMuPC9wPgoJCTxwPpNFY2xpcHNlIGlzIHF1aWNrbHkgYmVjb21pbmcgdGhlIHVuaXZlcnNhbCBwbGF0Zm9ybSBmb3IgdG9vbHMgaW50ZWdyYXRpb24gd2l0aCBPRU1zIGFuZCB0b29scyB2ZW5kb3JzLJQgCgkJc2FpZCBNaWtlIE1pbGlua292aWNoLCBleGVjdXRpdmUgZGlyZWN0b3Igb2YgdGhlIEVjbGlwc2UgRm91bmRhdGlvbi4gk1RoZSBDRFQgYW5kIERTRFAgcHJvamVjdHMgYXJlIAoJCWV4dGVuZGluZyB0aGUgcGxhdGZvcm0gYW5kIHByb3ZpZGUgdGhlIGZyYW1ld29ya3Mgc3BlY2lmaWMgZm9yIGVtYmVkZGVkIGFuZCBkZXZpY2UgZGV2ZWxvcGVycy4gSW4gdGhlIAoJCWxhc3QgeWVhciB3ZSBoYXZlIHNlZW4gdHJlbWVuZG91cyBzdWNjZXNzIHdpdGggdmVuZG9ycyBhbmQgdXNlcnMgYWRvcHRpbmcgdGhlc2UgcHJvamVjdHMgYXMgdGhlaXIgdG9vbHMgCgkJc29sdXRpb24ulDwvcD4KCQk8cD5UaGVzZSBwcm9qZWN0IGluaXRpYXRpdmVzIGluY2x1ZGU6PGJyPjxicj4KCQk8dWw+CgkJPGxpPjxwPkNEVCBQcm9qZWN0IJYgVGhlIG5leHQgcmVsZWFzZSBvZiB0aGUgQ0RUIFByb2plY3Qgd2lsbCBmb2N1cyBvbiBzdXBwb3J0aW5nIGxhcmdlIEMvQysrIHByb2plY3RzIGFzIAoJCXdlbGwgYXMgaW50ZWdyYXRpb25zIHdpdGggYSBtb3JlIGRpdmVyc2UgY29sbGVjdGlvbiBvZiBidWlsZCBhbmQgZGVidWcgdG9vbHMuICBJdCB3aWxsIGZlYXR1cmUgYSBuZXcgaW5kZXhlciAKCQlhcmNoaXRlY3R1cmUgdGhhdCBtYWtlcyBpdCBlYXNpZXIgdG8gc2VhcmNoIGFuZCBjcm9zcy1yZWZlcmVuY2UgQy9DKysgY29kZSBhbmQgbmV3IGV4cGFuZGVkIGRlYnVnZ2VyIHN1cHBvcnQgCgkJdG8gaGFuZGxlIGRpZmZlcmVudCB2YXJpYW50cyBvZiBnZGIvTUkgcHJvdG9jb2xzIG9mdGVuIGZvdW5kIGluIGxhcmdlIHNjYWxlIEMvQysrIGRldmVsb3BtZW50IG9yZ2FuaXphdGlvbnMuIAoJCVRoZSBtYW5hZ2VkIGJ1aWxkIHN5c3RlbSB3aWxsIGFsc28gYmUgdXBkYXRlZCB0byBzdXBwb3J0IGEgbGFyZ2VyIGRpdmVyc2l0eSBvZiB0b29sIGNoYWlucywgb2ZmZXIgZ3JlYXRlciAKCQlmbGV4aWJpbGl0eSBvZiBidWlsZCBvcHRpb25zIGFuZCBpbXByb3ZlIENEVCdzIGtub3dsZWRnZSBvZiB0aGUgYnVpbGQgcHJvY2Vzcywgd2hpY2ggd2lsbCBlbGltaW5hdGUgdGhlIG5lZWQgCgkgICAgZm9yIGFuIGV4dGVybmFsIGJ1aWxkIHRvb2wgbGlrZSAibWFrZS4iIENEVCAzLjEgd2lsbCBiZSByZWxlYXNlZCBhcyBwYXJ0IG9mIHRoZSBKdW5lIENhbGxpc3RvIHJlbGVhc2UgdHJhaW4uICAuCgkgICA8L3A+IDwvbGk+CgkJPGxpPjxwPk1vYmlsZSBUb29scyBmb3IgdGhlIEphdmEgUGxhdGZvcm0gKE1USikgUHJvamVjdCCWIFRoaXMgbmV3IERTRFAgcHJvamVjdCwgIHByb3Bvc2VkIGFuZCBsZWQgYnkgTm9raWEsCgkJCXdpbGwgcHJvdmlkZSBmcmFtZXdvcmtzIGZvciBydW50aW1lIG1hbmFnZW1lbnQgb2YgZGV2aWNlcyBhbmQgZW11bGF0b3JzLCBidWlsZCBtYW5hZ2VtZW50IGFuZCAKCQkJZGVwbG95bWVudCBvZiBKMk1FIGFwcGxpY2F0aW9ucywgbW9iaWxlIGRldmljZSBkZWJ1Z2dpbmcsIGFwcGxpY2F0aW9uIGNyZWF0aW9uIHdpemFyZHMsIFVJIGRlc2lnbiAKCQkJdG9vbHMsIGxvY2FsaXphdGlvbiwgYW5kIG1vYmlsZSBzZWN1cml0eSBleHRlbnNpb25zLiBUaGUgaW5pdGlhbCByZWxlYXNlIGlzIHNjaGVkdWxlZCBmb3IgSnVuZSBhbmQgCgkJCXdpbGwgZm9jdXMgb24gcnVudGltZSBtYW5hZ2VtZW50LCBidWlsZCBhbmQgZGVwbG95bWVudCBvZiBKMk1FIGFwcGxpY2F0aW9ucy4KCQk8L3A+PC9saT4KCQk8bGk+PHA+TmF0aXZlIEFwcGxpY2F0aW9uIEJ1aWxkZXIgKE5BQikgUHJvamVjdCCWIEFub3RoZXIgRFNEUCBwcm9qZWN0LCBwcm9wb3NlZCBhbmQgbGVkIGJ5IEZ1aml0c3UsIE5BQiBwcm92aWRlcyBhIHZpc3VhbCBHVUkgYnVpbGRlciBhbmQgZ3JhcGhpY3MgcnVudGltZSBsaWJyYXJpZXMgZm9yIGRldmljZSBhcHBsaWNhdGlvbnMgcnVubmluZyBvbiBMaW51eCwgV2luZG93cyBDRSwgSVRST04gYW5kIG90aGVyIGRldmljZSBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIHZpc3VhbCBHVUkgYnVpbGRlciBnZW5lcmF0ZXMgQysrIHNvdXJjZSBjb2RlIGFuZCB1c2VzIENEVCBmb3IgdGhlIGVkaXQtY29tcGlsZS1kZWJ1ZyBjeWNsZSB3aGVyZSBhcHBsaWNhYmxlIGZvciB0aGUgZGV2aWNlIG9wZXJhdGluZyBzeXN0ZW0uIEl0IGJyaW5ncyB0byBFY2xpcHNlLCB0ZWNobm9sb2d5IG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGluIHRoZSBXaWRlU3R1ZGlvIHByb2plY3QsIGEgdmVyeSBwb3B1bGFyIG9wZW4gc291cmNlIHByb2plY3QgaW4gdGhlIEphcGFuZXNlIG1hcmtldC4gTkFCIHdpbGwgcmVsZWFzZSBpbiBKdW5lLiAKCQk8L3A+PC9saT4KCQk8bGk+PHA+VGhlIERldmljZSBEZWJ1Z2dpbmcgKEREKSBQcm9qZWN0IJYgVGhlIHByb2plY3QgZm9jdXNlcyBvbiBidWlsZGluZyBlbmhhbmNlZCBkZWJ1ZyBtb2RlbHMsIEFQSXMgYW5kIHZpZXdzIHRvIHByb3ZpZGUgZ3JlYXRlciB2aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb3ZlciBkZXZpY2Ugc29mdHdhcmUgdGFyZ2V0cy4gVGhlIEREIHByb2plY3QgaXMgd29ya2luZyB0byBpbXByb3ZlIHRoZSBmbGV4aWJpbGl0eSBhbmQgY3VzdG9taXphdGlvbiBvZiB0aGUgRWNsaXBzZSBEZWJ1ZyBNb2RlbCBJbnRlcmZhY2VzLCBhbmQgbmV3IHZlcnNpb25zIG9mIHRoZXNlIEludGVyZmFjZXMsIGFzIHdlbGwgYXMgZGVidWdnZXIgdmlldyBlbmhhbmNlbWVudHMsIHdoaWNoIHdpbGwgYmUgcmVsZWFzZWQgaW4gSnVuZSBhcyBwYXJ0IG9mIHRoZSBDYWxsaXN0byByZWxlYXNlLiBUaGVzZSBJbnRlcmZhY2VzIGNhbiBiZSB1c2VkIG9uIHRvcCBvZiB0aGUgRWNsaXBzZSBQbGF0Zm9ybSBvciBpbnNpZGUgQ0RUIHRvIGJ1aWxkIGN1c3RvbSBkZWJ1Z2dlciBpbXBsZW1lbnRhdGlvbnMgZm9yIG11bHRpLWNvcmUgZGV2ZWxvcG1lbnQgYW5kIG9uLWNoaXAgZGVidWdnaW5nIHN1cHBvcnQuIAoJCTwvcD48L2xpPgoJCTxsaT48cD5UaGUgVGFyZ2V0IE1hbmFnZW1lbnQgKFRNKSBQcm9qZWN0IJYgVE0gaXMgY3JlYXRpbmcgZGF0YSBtb2RlbHMgYW5kIGZyYW1ld29ya3MgdG8gY29uZmlndXJlIGFuZCBtYW5hZ2UgcmVtb3RlIHN5c3RlbXMsIHRoZWlyIGNvbm5lY3Rpb25zIGFuZCB0aGVpciBzZXJ2aWNlcy4gVGhlIFRhcmdldCBNYW5hZ2VtZW50IGFyY2hpdGVjdHVyZSB3aWxsIGJlIGJhc2VkIG9uIGEgc29mdHdhcmUgY29udHJpYnV0aW9uIGZyb20gSUJNIGNhbGxlZCBSZW1vdGUgU3lzdGVtcyBFeHBsb3Jlci4gVGhlIGluaXRpYWwgcmVsZWFzZSBvZiBUYXJnZXQgTWFuYWdlciB3aWxsIG9jY3VyIGluIFNlcHRlbWJlciBhbmQgd2lsbCBpbmNsdWRlIHJlbW90ZSB0YXJnZXQgbGF1bmNoIGNhcGFiaWxpdGllcyBjb21wYXRpYmxlIHdpdGggQ0RULiAKCQk8L3A+PC9saT4gCgkJPC91bD4KCQk8L3A+IAoJPHA+k1dlknZlIGRlbW9uc3RyYXRlZCBzaWduaWZpY2FudCBwcm9ncmVzcyBzaW5jZSBEU0RQIHdhcyBlc3RhYmxpc2hlZCBhcyBhIHRvcC1sZXZlbCBFY2xpcHNlIHByb2plY3QgbGFzdCB5ZWFyLJQgc2FpZCBEb3VnIEdhZmYsIGxlYWRlciBvZiB0aGUgRFNEUCBQcm9qZWN0IE1hbmFnZW1lbnQgQ291bmNpbCAoUE1DKSBmcm9tIFdpbmQgUml2ZXIuIJNDb21tdW5pdHkgcGFydGljaXBhdGlvbiBhbmQgb3VyIHZpc2lvbiBmb3IgYSBjb21tb24sIG9wZW4gc3RhbmRhcmRzIGJhc2VkIGRldmljZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBwbGF0Zm9ybSBhcmUgdGFraW5nIHNoYXBlIG1vcmUgcXVpY2tseSB0aGFuIGV4cGVjdGVkLiBUaGUgZmlyc3QgcHJvamVjdHMgd2lsbCByZWxlYXNlIHRoaXMgSnVuZSBhbmQgY29tbWVyY2lhbCBwcm9kdWN0cyBhcmUgZXhwZWN0ZWQgdG8gc2hpcCBzaG9ydGx5IGFmdGVyLpQKCQk8L3A+Cgk8cD6TQ0RUIGlzIHF1aWNrbHkgYmVjb21pbmcgdGhlIGluZHVzdHJ5IHN0YW5kYXJkIGZvciBDIGFuZCBDICsrIGRldmVsb3BtZW50IGluIHRoZSBlbWJlZGRlZCB3b3JsZCyUIHNhaWQgRG91ZyBTY2hhZWZlciwgcHJvamVjdCBsZWFkZXIgZm9yIHRoZSBDRFQgYW5kIHNlbmlvciBzb2Z0d2FyZSBkZXZlbG9wZXIgYXQgUU5YIFNvZnR3YXJlIFN5c3RlbXMuIJNUaGUgZmFjdCB0aGF0IHRoZSBDRFQgaXMgYmVpbmcgdXNlZCBieSBjb21tZXJjaWFsIHZlbmRvcnMgZm9yIGFwcGxpY2F0aW9ucyBmcm9tIHRpbnkgZW1iZWRkZWQgbWljcm9jb250cm9sbGVycyB0byBsYXJnZSBtdWx0aS1jb3JlIHRhcmdldHMgdmFsaWRhdGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBDRFQgZmVhdHVyZSBzZXQgZm9yIGVtYmVkZGVkIGVudmlyb25tZW50cy6UCgk8L3A+Cgk8cD5UaGUgQ0RUIHByb2plY3QgZm9ybXMgdGhlIGJhc2lzIG9mIGF0IGxlYXN0IDE3IGNvbW1lcmNpYWxseSBhdmFpbGFibGUgZGV2ZWxvcG1lbnQgdG9vbHMgaW5jbHVkaW5nIHRob3NlIGZyb20gUU5YIFNvZnR3YXJlIFN5c3RlbXMsIEludGVsLCBOb2tpYSwgVGV4YXMgSW5zdHJ1bWVudHMgYW5kIFNpZW1lbnMuIEN1cnJlbnRseSwgbW9yZSB0aGFuIDI1IGNvbXBhbmllcyBjb250cmlidXRlIHRvIHRoZSBDRFQgcHJvamVjdC4gU2luY2UgdGhlIGNyZWF0aW9uIG9mIHRoZSBEZXZpY2UgU29mdHdhcmUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0gKERTRFApIGFzIGEgdG9wLWxldmVsIEVjbGlwc2UgcHJvamVjdCBpbiBKdW5lIDIwMDUsIHJlcHJlc2VudGF0aXZlcyBmcm9tIG1vcmUgdGhhbiAyMCBjb21wYW5pZXMgaGF2ZSBqb2luZWQgdGhlIHByb2plY3QgYW5kIGFjdGl2ZWx5IGNvbnRyaWJ1dGUgc291cmNlIGNvZGUuIEJvdGggcHJvamVjdHMgYXJlIGFjdGl2ZWx5IHJlY3J1aXRpbmcgbmV3IHVzZXJzIGFuZCBjb250cmlidXRvcnMgdG8gdGhlaXIgdGVjaG5vbG9neS4KCTwvcD4KCTxwPkRlbW9zIG9mIENEVCBhbmQgRFNEUCBwcm9qZWN0cyBjYW4gYmUgc2VlbiBpbiBhY3Rpb24gdGhpcyB3ZWVrIGF0IHRoZSBFbWJlZGRlZCBTeXN0ZW1zIENvbmZlcmVuY2UgaW4gU2FuIEpvc2UsIENhbGlmLiBFY2xpcHNlLWZvY3VzZWQgc2Vzc2lvbnMgaW5jbHVkZSCTVGhlIEVjbGlwc2UgRGV2aWNlIFNvZnR3YXJlIFBsYXRmb3JtIFByb2plY3SUIChBcHJpbCA2LCAyMDA2LCA4OjMwIGEubS4gliAxMDowMCBhLm0uIFBUKSBhbmQgk0VjbGlwc2U6IFVuZGVyIHRoZSBIb29klCAoQXByaWwgNiwgMjAwNiwgMTE6MDAgYS5tLiCWIDEyOjMwIHAubS4gUFQpLgoJPC9wPgoKCQk8cD48c3Ryb25nPkFib3V0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb248L3N0cm9uZz48YnIgLz4KCQlFY2xpcHNlIGlzIGFuIG9wZW4gc291cmNlIGNvbW11bml0eSB3aG9zZSBwcm9qZWN0cyBhcmUgZm9jdXNlZCBvbiBwcm92aWRpbmcgYW4gZXh0ZW5zaWJsZSBkZXZlbG9wbWVudCBwbGF0Zm9ybSBhbmQgYXBwbGljYXRpb24gZnJhbWV3b3JrcyBmb3IgYnVpbGRpbmcgc29mdHdhcmUuIEVjbGlwc2UgcHJvdmlkZXMgZXh0ZW5zaWJsZSB0b29scyBhbmQgZnJhbWV3b3JrcyB0aGF0IHNwYW4gdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IGxpZmVjeWNsZSwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIG1vZGVsaW5nLCBsYW5ndWFnZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMgZm9yIEphdmEsIEMvQysrIGFuZCBvdGhlcnMsIHRlc3RpbmcgYW5kIHBlcmZvcm1hbmNlLCBidXNpbmVzcyBpbnRlbGxpZ2VuY2UsIHJpY2ggY2xpZW50IGFwcGxpY2F0aW9ucyBhbmQgZW1iZWRkZWQgZGV2ZWxvcG1lbnQuIEEgbGFyZ2UsIHZpYnJhbnQgZWNvc3lzdGVtIG9mIG1ham9yIHRlY2hub2xvZ3kgdmVuZG9ycywgaW5ub3ZhdGl2ZSBzdGFydC11cHMsIHVuaXZlcnNpdGllcyBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zIGFuZCBpbmRpdmlkdWFscyBleHRlbmQsIGNvbXBsZW1lbnQgYW5kIHN1cHBvcnQgdGhlIEVjbGlwc2UgUGxhdGZvcm0uPC9wPgoJCTxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgYSBub3QtZm9yLXByb2ZpdCwgbWVtYmVyIHN1cHBvcnRlZCBjb3Jwb3JhdGlvbiB0aGF0IGhvc3RzIHRoZSBFY2xpcHNlIHByb2plY3RzLiBGdWxsIGRldGFpbHMgb2YgRWNsaXBzZSBhbmQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBhcmUgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmciPnd3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgoJCTxiciAvPgoJCTxjZW50ZXI+IyAjICM8L2NlbnRlcj4gCgkJPGJyIC8+CgkJQWxsIGNvbXBhbnkvcHJvZHVjdCBuYW1lcyBhbmQgc2VydmljZSBtYXJrcyBtYXkgYmUgdHJhZGVtYXJrcyBvciByZWdpc3RlcmVkIHRyYWRlbWFya3Mgb2YgdGhlaXIgcmVzcGVjdGl2ZSBjb21wYW5pZXMuCgkJPGJyIC8+PGJyIC8+PHN0cm9uZz5QcmVzcyBDb250YWN0PC9zdHJvbmc+PGJyPgkKCQlMYXVyYSBBY2tlcm1hbjxicj4KCQlTY2h3YXJ0eiBDb21tdW5pY2F0aW9uczxicj4KCQk3ODEtNjg0LTA3NzA8YnI+CgkJZWNsaXBzZUBzY2h3YXJ0ei1wci5jb20gPGJyPgoJCTxicj4KCQk8YnI+CgoJCTwvcD4KCQkJCQkJCQoJPC9kaXY+CgoJCQo8L2Rpdj4KCgpFT0hUTUw7CgoKCSMgR2VuZXJhdGUgdGhlIHdlYiBwYWdlCgkkQXBwLT5nZW5lcmF0ZVBhZ2UoJHRoZW1lLCAkTWVudSwgJE5hdiwgJHBhZ2VBdXRob3IsICRwYWdlS2V5d29yZHMsICRwYWdlVGl0bGUsICRodG1sKTsKPz4KCg==