<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTEyNzMyMzUzMQ9kFgJmD2QWAgIED2QWBgIBDxYCHglpbm5lcmh0bWwFUCZxdW90O0kgdGhpbmsgSSdsbCBoYXZlIGEgcGludCBvZiBjaWRlciB3aGlsZSBJJ20gaGVyZSwgaXRzIHJvdWdoIG91dHNpZGUhJnF1b3Q7ZAIDDxYCHgdWaXNpYmxlZ2QCCQ9kFgICAw8WAh4LXyFJdGVtQ291bnQCtAIW6AQCAQ9kFgJmDxUFD1Byb2cgNTgyIHRvIDU5NgRQYXVsBlJhaW5leaYBVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNClRoZSBzdHJpY3QgcmUtcmVhZGluZyBvZiBlZGl0aW9ucyBudW1iZXJlZCAxIHRvIDExODggb2YgdGhlIHNjaWVuY2UgZmljdGlvbiB0aGVtZWQgY29taWMgMjAwMCBBRCBhbmQgc3BpbiBvZmYgcHVibGljYXRpb25zLiBDdXJyZW50bHksIGl0JgMzODFkAgIPZBYCZg8VBRxQcm9nIDU2NiAtIFNjaS1maSBTcGVjaWFsIDg4BFBhdWwGUmFpbmV5pgFUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KQmVpbmcgdGhlIHJlYWRpbmcgb2YgaXNzdWVzLCByZWZlcnJlZCB0byBhcyAicHJvZ3JhbW1lcyIgb3IgInByb2dzIiwgMSB0byAxMTg4IG9mIHNjaWVuY2UgZmljdGlvbiB3ZWVrbHkgcGFwZXIgMjAwMCBBRCBhbmQgYXNzb2NpYXRlZCBwdWJsAzM1N2QCAw9kFgJmDxUFEFByb2dzIDU0NiB0byA1NjQEUGF1bAZSYWluZXmmAVRoZSAyMDAwIEFEIFByb2cgU2xvZyBCbG9nDQpXaGVyZSBQYXVsIEIgUmFpbmV5IGNocm9uaWNsZXMgdGhlIGV4cGVyaWVuY2Ugb2YgcmUtcmVhZGluZyB0aGUgZmlyc3QgMTE4OCBlZGl0aW9ucyBvZiBwb3B1bGFyIGJveXMgYWR2ZW50dXJlIHBhcGVyIDIwMDAgQUQgYXQgYSByZWxhdGl2ZWwDMzMwZAIED2QWAmYPFQUPUHJvZyA1MjUgdG8gNTQ0BFBhdWwGUmFpbmV5WlRoZSAyMDAwIEFEIFByb2cgU2xvZyBCbG9nDQpUaGUgdGVybSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBwcm9jZXNzIG9mIHJlYWRpbmcgdGhlIGZpcnN0IDExOAMzMTJkAgUPZBYCZg8VBRBQcm9ncyA1MDYgdG8gNTIzBFBhdWwGUmFpbmV5mwJUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KJm5ic3A7DQpXaGVyZWluIHRoZSBwb3B1bGFyIGRhbmR5LCBQYXVsIEIgUmFpbmV5LCByZS1yZWFkcyB0aGUgZmlyc3QgMTE4OCBlZGl0aW9ucyBvZiB0aGUgc2NpZW5jZSBmaWN0aW9uIGFkdmVudHVyZSBwYXBlciBmb3IgYm95cywgMjAwMCBBRCwgYW5kIGNocm9uaWNsZXMgdGhlIHByb2Nlc3MgaW4gYSBzZXJpZXMgb2YgYXJ0aWNsZXMuIFRoaXMgdGltZSwgVGhlIFNsb2cgcmVhY2hlcyB0aGUgYmVnaW5uaW5nIG9mIDE5ODcgYW5kIHRoZSBzdGFyAzI5OWQCBg9kFgJmDxUFD1Byb2cgNDg2IHRvIDUwNARQYXVsBlJhaW5lec8BVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNCiZuYnNwOw0KVGhlIHByYWN0aWNlIG9mIHJlYWRpbmcgdGhlIGZpcnN0IDExODggZWRpdGlvbnMgb2YgYm95cyZyc3F1bzsgc2NpZW5jZSBmaWN0aW9uIHdlZWtseSAyMDAwIEFEIGFuZCBhc3NvY2lhdGVkIHB1YmxpY2F0aW9ucyBpbiBhIHRydW5jYXRlZCB0aW1lZnJhbWUgd2hlbiBjb21wYXJlZCB3aXRoIHRoZSBvAzI4M2QCBw9kFgJmDxUFD1Byb2dzIDQ3MSAtIDQ4NARQYXVsBlJhaW5leS8yMDAwIEFEIFByb2cgU2xvZw0KJm5ic3A7DQpCZWluZyB0aGUgcmVjb3JkIG9mIAMyNjlkAggPZBYCZg8VBQ9Qcm9ncyA0NTAgLSA0NjYEUGF1bAZSYWluZXm9ATIwMDAgQUQgUHJvZyBTbG9nDQpCZWluZyB0aGUgcmUtcmVhZGluZyBvZiB0aGUgb3BlbmluZyAxMTg4IGlzc3VlcywgQUtBICZxdW90O3Byb2dyYW1tZXMmcXVvdDssIG9mIHBvcHVsYXIgYm95cyZyc3F1bzsgd2Vla2x5IDIwMDAgQUQgYW5kIGFzc29jaWF0ZWQgcHVibGljYXRpb25zLiBUaGlzIHRpbWUsIFBhdWwgQiBSYWluZXkmcgMyNDhkAgkPZBYCZg8VBQ5Qcm9ncyA0OSB0byA1OQRQYXVsBlJhaW5lec8BVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNCiZuYnNwOw0KV2hlcmUgVGhlcmUmcnNxdW87cyBObyBUaW1lIExpa2UgVGhlIFByZXNlbnQgY3JlYXRvciwgUGF1bCBCIFJhaW5leSwgcmUtcmVhZHMgdGhlIGZpcnN0IDExODggaXNzdWVzLCBvciAmcXVvdDtwcm9ncyZxdW90Oywgb2YgY2xhc3NpYyBzY2llbmNlIGZpY3Rpb24gY29taWMsIDIwMDAgQUQuIFRoaXMgAzIyNWQCCg9kFgJmDxUFIEFubnVhbHMgMTk4NiBhbmQgcHJvZ3MgNDM3IC0gNDQ5BFBhdWwGUmFpbmV5zwFUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KJm5ic3A7DQpUaGUgcHVycG9zZSBvZiB3aGljaCBpcyBmb3IgUGF1bCBCIFJhaW5leSB0byByZS1yZWFkIHByb2dyYW1tZXMgMSB0byAxMTg4IG9mIDIwMDAgQUQgd2l0aCBhcHByb3ByaWF0ZSBhc3NvY2lhdGVkIHB1YmxpY2F0aW9ucyBhbmQgbG9nIHRoZSBleHBlcmllbmNlLiBUaGlzIHRpbWUsIFRoZSBTbG9nIHIDMjA2ZAILD2QWAmYPFQUPUHJvZyA0MjAgdG8gNDM0BFBhdWwGUmFpbmV5nQJUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KJm5ic3A7DQpXaGVyZWJ5IGJsb2dnZXIsIFBhdWwgQiBSYWluZXksIHJlYWRzIHRoZSBmaXJzdCAxMTg4IGVkaXRpb25zIG9mIGJveXMmcnNxdW87IHNjaWVuY2UgZmljdGlvbiB3ZWVrbHkgMjAwMCBBRCwgYWxvbmcgd2l0aCBhc3NvY2lhdGVkIHB1YmxpY2F0aW9ucywgc3VjaCBhcyB0aGUgU2NpLUZpIFNwZWNpYWxzIHB1Ymxpc2hlZCBkdXJpbmcgdGhlIHN1bW1lcnMgb2YgdGhpcyBwZXJpb2QsIGluc2lkZSBhIGNvbnN0cmljdGVkIHBlcmlvZCBvZiADMTkwZAIMD2QWAmYPFQUQUHJvZ3MgNDAwIHRvIDQxNARQYXVsBlJhaW5leZsCVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNCiZuYnNwOw0KV2hlcmUgSSwgUGF1bCBCZXJuYXJkIFJhaW5leSwgcmUtcmVhZCB0aGUgZmlyc3QgMTE4OCBlZGl0aW9ucyBvZiBib3lzIGFkdmVudHVyZSB3ZWVrbHksIDIwMDAgQUQsIGFuZCBhc3NvY2lhdGVkIHB1YmxpY2F0aW9ucywgaW5zaWRlIGEgY29udHJhY3RlZCBwZXJpb2QuIFRoaXMgdGltZSwgVGhlIFNsb2cgaGFzIHJlYWNoZWQgdGhlIHllYXIgMTk4NSBhbmQgdGhlIGVhcmx5IHByb2cgKHNob3J0IGZvciAicHJvZ3JhbW1lIiBvciBpcwMxNzBkAg0PZBYCZg8VBRBQcm9ncyAzODIgdG8gMzk5BFBhdWwGUmFpbmV5jAJEZWZpbml0aW9uOyB0aGUgcmUtcmVhZGluZyBvZiBpc3N1ZXMsIG9yICZxdW90O3Byb2dyYW1tZXMmcXVvdDssIDEgdG8gMTE4OCBvZiAyMDAwIEFELCBhIEJyaXRpc2ggc2NpZW5jZSBmaWN0aW9uIHdlZWtseSBwYXBlciBmb3IgYm95cyB3aGljaCBzdGFydGVkIHB1YmxpY2F0aW9uIGluIHRoZSB5ZWFyIG9mIG91ciBsb3JkLCAxOTc3LiBUaGlzIHRpbWUsIFRoZSBTbG9nIGhhcyByZWFjaGVkIHRoZSBlbmQgb2YgYm90aCB0aGUgMzAwcyBhbmQgMTk4NC4NCiZuYnNwOw0KAzE0NmQCDg9kFgJmDxUFHlBvb3Igb2xkIE1hc3NpbW8gQmVsbGFyZGluZWxsaQRQYXVsBlJhaW5leZ8DVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2csIGJlaW5nIGEgcmVhZGluZyBvZiB0aGUgZmlyc3QgMTE4OCBwcm9ncmFtbWVzIG9mIHRoZSB3ZWVrbHkgc2NpZW5jZSBmaWN0aW9uIHBhcGVyIDIwMDAgQUQgaW5zaWRlIGEgY29udHJhY3RlZCBwZXJpb2Qgb2YgdGltZSBieSBnZW50bGVtYW4gY2FydG9vbmlzdCBQYXVsIEIgUmFpbmV5LiBDdXJyZW50bHksIFRoZSBTbG9nIGlzIGluIHRoZSBtaWRzdCBvZiAxOTg0LiBJbXBvcnRhbnQgbm90aWNlOiBUaGUgU2xvZyBpcyBhbiBhcHByZWNpYXRpb24gb2YgYSB3ZWVrbHkgdGhhdCBwdWJsaXNoZWQgYSBoaWdoIHF1YW50aXR5IG9mIHN0cm9uZyBjb21pYyBzdHJpcHMgaW4gdGhlIHBhc3QgYW5kIE5PVCBhbiBleGVyY2lzZSBpbiBub3N0YWxnaWEuIA0KJm5ic3A7DQpBIE1lc3NhZ2UgdAMxMTJkAg8PZBYCZg8VBRNDYWxsIE15IEJsdWZmIENoYW1wBFBhdWwGUmFpbmV5zwFUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KJm5ic3A7DQpCZWluZyBhIHRpZ2h0IHN1bW1hcnkgb2YgYSBmb3J0bmlnaHQmcnNxdW87cyB3b3J0aCAyMDAwIEFEIFByb2cgU2xvZyBibG9nIGVudHJpZXMsIHdoZXJlIEksIFBhdWwgQiBSYWluZXksIGVuZGVhdm91ciB0byByZWFkIHByb2dyYW1tZXMgMSB0byAxMTg4IG9mIDIwMDAgQUQgYW5kIGFzc29jaWF0ZWQCODNkAhAPZBYCZg8VBSJQcm9nIFNsb2cgQmxvZyBZZWFyIGluIFJldmlldyAyMDA3BFBhdWwGUmFpbmV5owFUaGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZw0KJm5ic3A7DQpCZWluZyBhbiBhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBkaXNhcHBvaW50bWVudHMgb2YgQ2hyaXN0bWFzZXMgcGFzdCBhbmQgYSByZXZpZXcgb2YgdGhlIGF1dGhvciZyc3F1bztzIDIwMDAgQUQgMjAwNy4NCiZuYnNwOw0KAjcwZAIRD2QWAmYPFQUhUHJvZ3MgMzE5IOKAkyAzMzAsIHBsdXMgQWRkaXRpb25zBFBhdWwGUmFpbmV5Ag0KAjUzZAISD2QWAmYPFQUNUHJvZ3MgMzAyLTMxNwRQYXVsBlJhaW5lefwBQmVpbmcgdGhlIGVkaXRlZCBoaWdobGlnaHRzIG9mIHR3byB3ZWVrcyZyc3F1bzsgd29ydGggb2YgcmVhZGluZyBvbGQgc2Nob29sIDIwMDAgQUQgYW5kIGJsb2dnaW5nIGFib3V0IGl0LiBUaGlzIHRpbWUsIEkgaGF2ZSByZWFjaGVkIHRoZSAzMDBzIGFuZCB0aGUgYmVnaW5uaW5nIG9mIDE5ODMuDQpEaWFtb25kIFNoYXBlZCBTcGFjZSBDYW5jZXINClByb2cgMzAyLCBwb3N0ZWQgTW9uIE5vdiAyNiAyMDA3DQpQcmV2aW91c2x5IHdoZW4gSSBiAjMzZAITD2QWAmYPFQUNUHJvZ3MgMjgxLTI5MwRQYXVsBlJhaW5leY4BVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNCiZuYnNwOw0KQmVpbmcgYSBzdHJpcHBlZCBkb3duIG9tbmlidXMgZWRpdGlvbiBvZiB0aGUgMjAwMCBBRCBQcm9nIFNsb2cgQmxvZywgd2hlcmUgSSBlbmRlYXZvdXIgdG8gcmVhZCBwcm9ncyAxIHRvIAIxOGQCFA9kFgJmDxUFFlByZXZpb3VzbHkgaW4gVGhlIFNsb2cEUGF1bAZSYWluZXlbVGhlIDIwMDAgQUQgUHJvZyBTbG9nIEJsb2cNCiZuYnNwOw0KVGhlIFNsb2c7IGJlaW5nIGEgcmVhZGluZyBvZiBpc3N1ZXMgKGFsc28gcmVmZXJyZWQgdG8gYQIxNGQCFg9kFgJmDxUFF1Byb2cgMTU5MCDigJMgMTEgSlVOIDA4BUNyYWlnB0pvaG5zb27NAyJJbiBPcmJpdCBFdmVyeSBXZWRuZXNkYXkhIg0KSXQmcnNxdW87cyB3ZWVrIHR3byBvZiB0aGUgYmlnIHNwcmluZy9zdW1tZXIgcmVsYXVuY2gsIGFuZCBieSB0aGlzIHRpbWUgeW91IGtub3cgd2hldGhlciBhIG5ldyBzdHJpcCBpcyB3b3J0aCBzdGlja2luZyB3aXRoLCBvciBzdGlja2luZyB0d28gZmluZ2VycyB1cCBhdC4gU28maGVsbGlwO2xldCZyc3F1bztzIGhhdmUgYSBsb29rLiANCiZuYnNwOw0KSnVkZ2UgRHJlZGQ6IFRoZSBFZGdhciBDYXNlLCBQYXJ0IDIgYnkgV2FnbmVyICZhbXA7IEdvZGRhcmQgbG9va3MgbGlrZSBpdCZyc3F1bztsbCB0dXJuIGludG8gYSBsZW5ndGh5IHN0b3J5IOKAkyBhbiBvbGQgbmVtZXNpcyBiZXF1ZWF0aHMgc29tZSBib21ic2hlbGwgaGlzdG9yaWNhbCBldmlkZW5jZSB0byBEcmVkZCwgYW5kIHRoaXMgY2hhcHRlciBpcyBiYXNpY2FsbHkgRHJlZGQgYmVnaW5uaW5nIHRvAzI5MGQCFw9kFgJmDxUFIVByb2cgMjAwOCAoMTIgREVDIDA3IC0gMDEgSkFOIDA4KQVDcmFpZwdKb2huc29u6AMNCkxhc3QgdGltZSB3YXMgUHJvZyAxNTY2LCBuZXh0IHRpbWUgaXMgUHJvZyAxNTY3IOKAkyB0aGlzIHRpbWUgaXQmcnNxdW87cyB0aGUgZW5kIG9mIHllYXIgYmxvd291dCBvZiBQcm9nIDIwMDgg4oCTIGFuZCBkZXNwaXRlIHRoZSBudW1iZXJpbmcgdGhpcyBjb21pYyBmZWF0dXJlcyB0aGUgZmlyc3QgZXBpc29kZXMgb2Ygc2V2ZXJhbCBzZXJpZXMgd2hpY2ggd2lsbCBjb250aW51ZSBpbnRvIFByb2cgMTU2NyBhbmQgYmV5b25kLiBBbiBhbmFsbHktcmV0ZW50aXZlIGNvbWljcyBmYW4gbmlnaHRtYXJlIGZvciB0d28gcmVhc29uczogZmlyc3RseSwgYmVjYXVzZSBpdCZyc3F1bztzIG9ubHkgb24gUGxhbmV0IDIwMDBBRCB5b3UgaGF2ZSB0byByYWNrIFByb2cgMjAwOCBiZXR3ZWVuIFByb2cgMTU2NiBhbmQgUHJvZyAxNTY3IHJhdGhlciB0aGFuIGJldHdlZW4gUHJvZ3MgMjAwNyBhbmQgMjAwOTsgc2Vjb25kbHksIHRoZXJlJnJzcXVvO3Mgb25seSA0MzMgbQI3OGQCGA9kFgJmDxUFFVByb2cgMTU2NiAtIDA1IERFQyAwNwVDcmFpZwdKb2huc29u0wFCaXRpbmcgVGhlIEJ1bGxldCBFdmVyeSBXZWRuZXNkYXkhDQoNCkdyZWF0IGNvdmVyIGltYWdlIGJ5IEZyYXplciBJcnZpbmcgLSBidXQgd291bGRuJiMzOTt0IGl0IHdvcmsgc28gd2VsbCBvbiBpdHMgb3duLCBubyBjb3ZlciBjb3B5IHJlcXVpcmVkPyZuYnNwOyZuYnNwOyBJZiBldmVyIHRoZXJlIHdhcyBhIGNhc2UgZm9yIGxlc3MtaXMtbW9yZSwgdGhpcyBpcyBzdXJlAjM1ZAIZD2QWAmYPFQUVUHJvZyAxNTY1IC0gMjggTk9WIDA3BUNyYWlnB0pvaG5zb27KAURyb3BwaW5nIGEgYm9tYnNoZWxsIGV2ZXJ5IFdlZG5lc2RheSENCg0KTWF5YmUgaXQmIzM5O3MganVzdCBtZSwgbWF5YmUgSSYjMzk7bSB0b28gYmlhc2VkLCBidXQgdGhpcyBpcyB0aGUgYmVzdCBjb3ZlciBvZiB0aGUgdGhyZWUgSSYjMzk7dmUgc3Bva2VuIGFib3V0IHNvIGZhciAtIHRoZW4gYWdhaW4sIGl0JiMzOTtzIGEgUmVkIFNlYXMgY292ZXIgYW4CMjdkAhoPZBYCZg8VBRVQcm9nIDE1NjQgLSAyMSBOT1YgMDcFQ3JhaWcHSm9obnNvbtMDIlNjcm90bmlnIFNjaS1GaSBTdXNwZW5zZSBFdmVyeSBXZWRuZXNkYXkhIg0KJm5ic3A7DQpQZXRlciBEb2hlcnR5IC0gc3RyaXAgYXJ0aXN0IGluIGhpcyBvd24gcmlnaHQgLSBjb250cmlidXRlcyB0byBjb2xvdXJzIHRvIHRoZSBEcmVkZCBlcGlzb2RlIHRoaXMgd2Vlay4uLnBsdXMgdGhlIGNvdmVyIG9mIHRoZSBpc3N1ZSBpdHNlbGYuJm5ic3A7Jm5ic3A7IEl0J3MgdGhlIHByZS1jb252ZXJ0ZWQgZm9ybSBvZiBNYW5kcm9pZCBtdWxsaW5nIG92ZXIgYSBjaG9pY2UgYmV0d2VlbiBoaXMgd2lmZSBhbmQgaGlzIHNwb25zb3IgLSBvciBhIGRyb2trIGFuZCBhIGhhcmQgcGxhY2UgYXMgdGhlIGNvdmVyIGNvcHkgc3RhdGVzOiZuYnNwOyBwb3NzaWJseSB0aGlzIGlzIHRoZSBmaXJzdCBwbGFjZSB0byBjb25maXJtIHRoZSBEcmVkZCBzd2VhciB3b3JkICJEcm9rayIgbWVhbnMgIkZ1Y2siLi4uLg0KVGhlIGluZGljaWEgLSACMjFkAhsPZBYCZg8VBRZSZWFkIE1lIDFzdCwgQWJvdXQgMnRoBUNyYWlnB0pvaG5zb27jA0Fwb2xvZ2llcyB1cGZyb250IGZvciB0aGUgb2JzY3VyZSBsb2dvLCBJIHRha2UgZnVsbCByZXNwb25zaWJpbGl0eSBmb3IgZGVjaWRpbmcgdGhhdCAydGggY2xlYXJseSBlcXVhbHMgVHdvdGggZXF1YWxzIFRvb3RoIGVxdWFscyAyMDAwQUQuJm5ic3A7IEFueW9uZSB3aG8gbmVlZHMgaXQgZXhwbGFpbmVkIGNsZWFybHkgaGFzIGEgbGFjayBvZiBhcHByZWNpYXRpb24gZm9yJm5ic3A7dHdpc3RlZCBsb2dpY2FsJm5ic3A7Y29udW5kcnVtcy4uLm9yIGlzbid0IG1lLiZuYnNwOyBJIGNvdWxkIGJlIHdyb25nLCBidXQgdGhlbiBhZ2FpbiwgSSBhbSB0aGUgZWRpdG9yLWluLWNoaWVmLCBhbmQgSSdtIG5ldmVyIHdyb25nLiZuYnNwOyBFdmVuIHdoZW4gSSBhbS4mbmJzcDsgSXQncyBqdXN0IEkgY2FuIHVzZSBhIGRpZmZlcmVudCB2YWx1ZSBzeXN0ZW0gZm9yICJ3cm9uZyIgYW5kICJyaWdodCIgdG8gZXZlcnlvbmUgZWxzZS4NCiZuYnNwOw0KMnRoIERlYwIxMmQCHQ9kFgJmDxUFI0JhdG1hbiBCZWdpbnMgLSBIZXksIE5vIEJhdC1uaXBwbGVzB01pY2hhZWwHQXJvbnNvbrQBWW91IGtub3cgd2hhdCB3b3VsZCBiZSBhbm5veWluZz8gSWYgSSByZW5lZ2VkIG9uIG15IHByb21pc2UgdG8gd3JpdGUgYWJvdXQgRGFyayBLbmlnaHQgYWdhaW4gYW5kIGNhbWUgdXAgd2l0aCBhbm90aGVyIGV4Y3VzZSwgc3VjaCBhcyByZXZpZXdpbmcgQmF0bWFuIEJlZ2lucyBpbnN0ZWFkLiZuYnNwOw0KJm5ic3A7AzM4OWQCHg9kFgJmDxUFPFdhbGwtRTogdGhlIFJldmlldyAtIG9yLCBSb2JvdHMgQXJlbid0IEp1c3QgS2lsbGluZyBNYWNoaW5lcwdNaWNoYWVsB0Fyb25zb25aDQombmJzcDsNCiZuYnNwOw0KJm5ic3A7DQombmJzcDsNCiZuYnNwOw0KJm5ic3A7DQombmJzcDsNCiZuYnNwOw0KJm5ic3A7DQombmJzcDsNCiZuYnNwOw0KAzM4MmQCHw9kFgJmDxUFC1RpbWUgdG8gQXNrB01pY2hhZWwHQXJvbnNvbuMDQ2luZW1hLiBJdCYjMzk7cyBub3QgY29taWNzLiBJdCYjMzk7cyBub3QgcHJvc2UuIEl0IGhhcyBzaW1pbGFyaXRpZXMgdG8gYm90aCBtZWRpYSwgc3VyZS4gSXQmIzM5O3MgdmlzdWFsbHkgZGF6emxpbmcsIGl0JiMzOTtzIGF1cmFsbHkgcGxlYXNpbmcsIGFuZCBpdCBiZWdzIHlvdXIgZnVsbCBhdHRlbnRpb24uIEFuZCB5ZXQsIGl0IHdvdWxkbiYjMzk7dCBiZSBhYmxlIHRvIG1hbmFnZSBhbnkgb2YgdGhlc2UgZmVhdHMgaWYgbm90IGZvciBpdHMgb25lIGRlYmlsaXRhdGluZyB3ZWFrbmVzcyBhbmQgbGltaXRhdGlvbjogbGluZWFyIHRpbWUuICZuYnNwO1doZW4gd2FzIHRoZSBsYXN0IHRpbWUgeW91IGJvdWdodCBhIG5vdmVsLCBhbmQgdGhlIHdvcmRzLCAiUmVhZGluZyB0aW1lOiA1ODAgbWludXRlcywiIHdlcmUgcHJpbnRlZCBvbiB0aGUgYmFjayBjb3Zlcj8gQW5kIHRoZW4geW91IGhlbGQgeW91ciBmaXN0IGhpZ2ggYW5kIGNyaWVkIGludG8gAzM3MmQCIQ9kFgJmDxUFIVRoZSBIb3VzZSBvZiBMb3ZlIGFuZCBvdGhlciBzb25ncwRQaGlsBEhhbGz6AQ0KDQpUaGUgR3VhcmRpYW4gYWN0dWFsbHkgaGFkIGEgcG9zaXRpdmUgcGFnZSBhYm91dCB5b3UgYSBmZXcgd2Vla3MgYWdvLiBDbGFpbWluZw0KdGhhdCBpdCBpcyBnZWVrIHRpbWUgYWdhaW4gYW5kIHlvdSBhbGwgYSBtYXNzaXZlIGluZmx1ZW5jZSBvbiBhbGwga2luZHMgb2YNCkhvbGx5d29vZCBzaGl0LiBUaGVyZSB3ZXJlIGFsc28gYSBmZXcgcGFnZXMgb24gdGhlIFNEQ0MgaW4gdGhhdCB3ZWVrJiMzOTtzIGVkaXRpb24NCm9mIFRoZSADMzU2ZAIiD2QWAmYPFQUgQ2FuIHlvdSBzcG90IHRoZSB3YW5rIHJlZmVyZW5jZT8EUGhpbARIYWxsmwMNCg0KTGV0JnJzcXVvO3MNCnJlY2FwJmhlbGxpcDsNCg0KDQoNCjEuIENvbWljcyBhcmUgbGFyZ2VseSBzZWVuIGJ5IG5vbi1jb21pY3MNCmZhbnMgYXMgc29tZXRoaW5nIG5lcmRzLCBnZWVrcywgc2FkIGJhc3RhcmRzLCBob21vc2V4dWFscyBhbmQgY2hpbGRyZW4gcmVhZDsNCnVubGVzcyB0aGVyZSZyc3F1bztzIGEgZmlsbSBiZWluZyBtYWRlIGFib3V0IGl0IGRpcmVjdGVkIGJ5IChjdXJyZW50bHkpIENocmlzdG9waGVyDQpOb2xhbiwgQnJ5YW4gU2luZ2VyIG9yIHdob2V2ZXIgY29tZXMgdXAgd2l0aCB0aGUgbW9zdCBncml0dGllc3QgdmVyc2lvbiBvZiBhDQpoZXJvIHNvIGZhci4gT3IgdGhlcmUgaXMgbW9uZXkgdG8gYmUgbWFkZSBmcm9tIHRoYXQgc3RhY2sgb2Ygb2xkIE1hcnZlbHMgaW4gdGhlDQpsb2Z0Lg0KDQoDMzQxZAIjD2QWAmYPFQU8QXBhdGh5LCBhcnNlaG9sZXMgYW5kIHRoZSBkZWF0aCBvZiBjb21pY3MgYXMgd2Uga25vdyBpdCwgSmltBFBoaWwESGFsbKcDDQoNCkhhdmUgeW91IG5vdGljZWQgaG93IGVhc3kgaXQgaXMgdG8gYmUNCmluc3VsdGluZyBvciBydWRlIG9uIHRoZSBJbnRlcm5ldD8gSXQgaXMgb25lIG9mIHRoZSBncm93dGggaW5kdXN0cmllcy4NCkFkbWl0dGVkbHksIGl0JnJzcXVvO3MgYWxsIGRyZXNzZWQgdXAgYXMgU29jaWFsIE5ldHdvcmtpbmcgc2l0ZXMgYW5kIHdlYiBzaXRlcyB3aXRoDQpmb3J1bXMgYW5kIGNoYXQgZmFjaWxpdGllcywgYnV0IGl0IGhhcyBnaXZlbiBwZW9wbGUgdGhlIGFiaWxpdHkgdG8gYmUgdXR0ZXINCmN1bnRzIHdpdGhvdXQgZmVhciBvZiBhbnkgcmVhbCByZWNvdXJzZS4gDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJJnJzcXVvO3ZlDQpiZWVuIGludm9sdmVkIGluIHRoZSBJAzMzMWQCJA9kFgJmDxUFMkZ1Y2sgY29taWNzLCBsZXQncyB0YWxrIGFib3V0IHNvbWV0aGluZyBpbXBvcnRhbnQhBFBoaWwESGFsbL0DDQoNCkxpa2UgUG9saXRpY3MsIHRoaXMgaGFzIG5vIERpcmVjdGlvbg0KDQoNCg0KRm9yIHRob3NlIG9mIHlvdSB3aG8gaGF2ZSBiZWVuIHN0aWNraW5nDQp3aXRoIHRoaXM7IHlvdSBhbGwga25vdyB0aGF0IEkgdGhpbmsgdGhlIHdvcmxkIGlzIGdvaW5nIHRvIGhlbGwgaW4gYSBoYW5kDQpiYXNrZXQuIE5vdGhpbmcgaW4gcmVjZW50IHdlZWtzIGhhcyBjaGFuZ2VkIG15IG1pbmQgdG8gdGhlIGNvbnRyYXJ5LiBJIHVzZWQgdG8NCmpva2UgKGFuZCBpdCB3YXMgYSBqb2tlLCB0aGVuKSB0aGF0IEkmcnNxdW87ZCBsZWF2ZSBidXQgd2UgaGF2ZW4mcnNxdW87dCBjb2xvbmlzZWQgYW55DQpvdGhlciBwbGFuZXRzIHlldC4gVGhlIGJpZyBwcm9ibGVtIGlzIHRoYXQgdGhlIHdvcmxkIGlzIG5vIGxvbmdlciBhIHNhZmUgaGF2ZW47DQptb25leSwgcmVsaWdpb24gYW5kIGplYWxvdXN5IGhhdgMyOTFkAiUPZBYCZg8VBSNDYW4ndCB3ZSBiZSBhIGxpdHRsZSBtb3JlIHNwZWNpZmljPwRQaGlsBEhhbGzgAg0KDQpSZXZpZXdzJmhlbGxpcDsgd2hhdCBhcmUgdGhleSBnb29kIGZvcj8NCg0KRGVzcGl0ZSBoYXZpbmcgd3JpdHRlbiBhIGZldyByZXZpZXdzIGluIG15DQpkYXksIEkmcnNxdW87dmUgc3RydWdnbGVkIHRvIGFjY2VwdCB0aGUgdmFsaWRpdHkgb2YgYSBjb21pY2Jvb2sgcmV2aWV3cyBzZWN0aW9uIGluIGENCm1hZ2F6aW5lIG9yIGEgd2Vic2l0ZSBhcyBhbnl0aGluZyBidXQgZmlsbGVyLiBJbiBjb21pY3MsIHJldmlld3MgYXJlIHRoZQ0KY2hlYXBlc3QgbGFib3VyLg0KDQpUaGUNClN1bmRheSBUaW1lcyBvciBUaGUgT2JzZXJ2ZXIgKHRvIG5hbWUgYnV0IHR3bykgaGF2ZSByZXZpZXdzIHNlY3Rpb25zLCB3cml0dGUDMjgxZAImD2QWAmYPFQUMU3RhcnMgZGllLi4uBFBoaWwESGFsbP0BSXQmIzM5O3MgZnVubnk7IEkgZmVlbCBhIGxpdHRsZSBsaWtlIE1hcnRpbg0KU2hpcHAgZmVsdC4NCg0KTWFydGluLCBhIGhhbmRmdWwNCm9mIHlvdSBtaWdodCByZW1lbWJlciwgd3JvdGUgQ1YmIzM5O3MgYXBwcmVjaWF0aW9uIG9mIFN0ZXZlIEdlcmJlciwgd2hvIGRpZWQNCnRyYWdpY2FsbHksIGVhcmxpZXIgdGhpcyB5ZWFyLiBIZSBoYWQgYmVlbiBwbGFubmluZyBhIHBpZWNlIG9uIHRoZSBncmVhdA0Kd3JpdGVyLCBidXQgdGhpbmdzIGdvdAMyNzFkAicPZBYCZg8VBRlTb21ldGhpbmcgZm9yIHRoZSBXZWVrZW5kBFBoaWwESGFsbN4DDQoNClRoaXMgd2Vla2VuZCB3YXMgZ29pbmcgdG8gaGF2ZSBhIGxvdCBvZg0Kc2lnbmlmaWNhbmNlOyBJIHdhcyBnb2luZyB0byBicmVhayBhIHF1aXRlIGluY3JlZGlibGUgc3RvcnkgdGhhdCB3b3VsZCBoYXZlDQpwb3NzaWJseSBoZXJhbGRlZCBhIG5ldyBlcmEgYW5kIGRpcmVjdGlvbiBpbiB0aGUgVUsgY29taWNzJnJzcXVvOyBwb3dlciBiYXNlLiBJIHdhcw0KZ29pbmcgdG8gZG8gaXQgcGVyZmVjdGx5IHRpbWVkIHNvIHRoYXQgdGhlIHN1c3BlY3RzIHdvdWxkIGhhdmUgYmVlbiB1bmFibGUgdG8NCmF2b2lkIHRoZSBnbGFyZSBvZiBwdWJsaWNpdHkgYW5kIHdvdWxkIGhhdmUgaGFkIHRvIHJlZnV0ZSBzb21ldGhpbmcgdGhhdCB3YXMNCmVzc2VudGlhbGx5IGlycmVmdXRhYmxlIG9yIHBvc3NpYmx5IHJpc2sgZGVzdHJveWluZyB0aGVpciBwcm9mZXNzaW9uYWwgbGl2ZXMuDQpTb3VuZHMganVpY3ksIGRvZXNuJnJzcXVvO3QgaXQ/IFVuZgMyNjNkAigPZBYCZg8VBSlUaGUgTGFieXJpbnRoIHRoYXQgYmVjYW1lIGEgVGhlbWUgUGFya+KApgRQaGlsBEhhbGzAAyZoZWxsaXA7IEEgY291cGxlIG9mIG1vbnRocyBhZ28sIEkgc3RhdGVkIHRoYXQgZXZlcnkgc28gb2Z0ZW4gdGhlcmUgd291bGQgYmUgYSBjb2x1bW4gdGhhdCB3YXNuJnJzcXVvO3QgYWJvdXQgY29taWNzLCBhcyBzdWNoICh0aGlzIHBhcnRpY3VsYXIgc3ViamVjdCBoYXMgbm93IGdvdCBzb2xpZCBsaW5rcyB0byBjb21pY3MpLiBUaGUgbWFpbiByZWFzb24gZm9yIHRoaXMgaXMgaWYgSSBkb24mcnNxdW87dCB3cml0ZSBhYm91dCBzb21lIG9mIHRoZSBvdGhlciBpbnRlcmVzdHMgSSBoYXZlLCBJIHdpbGwgZ28gbWFkIGFuZCBwcm9iYWJseSBheGUgbXVyZGVyIHNvbWVvbmUgaW4geW91ciBmYW1pbHkuIFNvIHdoaWxlIEkgc2l0IGFyb3VuZCBmb3Jsb3JubHkgd2FpdGluZyBmb3IgbW9yZSBvZiBteSBub24tZXhpc3RlbnQgYXVkaWVuY2UgdG8gdGFrZSBwYXJ0IGluIG15IE1vc3QgSW1wb3IDMjQ3ZAIpD2QWAmYPFQUnUsOpY29tcGVuc2VzIEJhbmRlcyBEZXNzaW7DqWVzIGR1IE1vbmRlBFBoaWwESGFsbKYDDQomaGVsbGlwOw0KV2hhdCBmb2xsb3dzIGlzIGEgcmV2aXNlZCBhbmQgcmV3cml0dGVuIGNvbHVtbi4gSXQgZmlyc3QgYXBwZWFyZWQgb24gbXkNCnNob3J0LWxpdmVkIE1vdmVycyAmYW1wOyBTaGFrZXJzDQpibG9nLCBhIGZldyBvZiB5ZWFycyBhZ28uIFdoZW4gaXQgYmVjYW1lIGNsZWFyIGFuZCBvYnZpb3VzIHRoYXQgSSBvd25lZCB0aGUNCmludGVsbGVjdHVhbCBhbmQgY3JlYXRvciByaWdodHMgdG8gc29tZSBvZiBteSBDb21pY3MgSW50ZXJuYXRpb25hbCBjb2x1bW5zLCBJIGRlY2lkZWQgdGhhdCB0aGUgY29sdW1uIHdoaWNoDQpoZWxwZWQgZm9yZ2UgbXkgaW5zaWduaWZpY2FudCwgYnV0IG1pbGRseSBmdWxmaWxsaW5nIGNhcmVlciBzaG91bGQgYmVjb21lIG1pbmUNCmFnYWluLiBJdCB3YXMsIG9jY2FzaW9uYWxseSwgaW5jcmVkaWIDMjQwZAIqD2QWAmYPFQUiRnJvbSBsaXR0bGUgYWNvcm5zLCBtaWdodHkgb2Frcy4uLgRQaGlsBEhhbGzeAUFuIGVtYWlsIGNvbnZlcnNhdGlvbiB3aGljaCBzdGFydGVkIFR1ZXNkYXkgbGFzdC4gDQombmJzcDsNClRvOiBQaGlsIEgNCkZyb206IERhbiBCbGFjaw0KWW8sIFBpcGVuc3RlaW4sIFtoZSBjYWxscyBtZSBhbGwgbWFubmVyIG9mIHRoaW5nc10gd2hhdCBoYXBwZW5lZCB0byB0aGlzIHdlZWsmcnNxdW87cyBjb2x1bW4gb24gQ1Y/DQpUbzogRGFuIEJsYWNrDQpGcm9tOiBQaGlsIEhhbGwNCgMyMzJkAisPZBYCZg8VBRNPbmUgZm9yIHRoZSB3YW5rZXJzBFBoaWwESGFsbLwCV0FSTklORzoNClNPTUUgT0YgVEhFIEZPTExPV0lORyBJTUFHRVMgQVJFIE9GIEEgSElHSExZIFNFWFVBTCBOQVRVUkUuIElGIFlPVSBGRUVMDQpVTkNPTUZPUlRBQkxFIEFCT1VUIFRISVMgVEhFTiBTVE9QIE5PVyFCQUNLIGluIHRoZSBkYXlzIGJlZm9yZSB0aGUgSW50ZXJuZXQsIEkgZ290DQppbnZvbHZlZCBpbiB3aGF0IHdvdWxkIHRvZGF5IGJlIGNhbGxlZCBhIGZsYW1lIHdhciwgYnV0IHdhcyBhY3R1YWxseSBqdXN0IGENCmhlYXRlZCBleGNoYW5nZSBvZiBsZXR0ZXJzIGZyb20gYSBiYXJraW5nIG1hZCBiYXNrZXQgY2FzZSBhbmQgc29tZW9uZSwNCgMyMDJkAiwPZBYCZg8VBQtBIG1peGVkIGJhZwRQaGlsBEhhbGzkAkRvZ2dlZCBieSBkZWFkbGluZXMgYW5kIGNvbW1pdG1lbnRzLCBJJnJzcXVvO3ZlDQp0cmllZCBteSBoYXJkZXN0IHRvIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgZmluaXNoZWQgYW5kIHN1aXRhYmxlIGZvciB0aGlzDQp3ZWVrJnJzcXVvO3MgY29sdW1uIOKAkyB0aGUgRWFzdGVyIHdlZWtlbmQgY29sdW1uLiBJbnN0ZWFkIHlvdSBjYW4gaGF2ZSBhbm90aGVyIG1peGVkDQpiYWcgb2YgbXVzaW5ncywgcHJhdHRsaW5ncyBhbmQgb3BpbmlvbmF0ZWQgYm9sbG9ja3MmaGVsbGlwOyANCg0KDQoNCk9ORToNCg0KQSBuZXdzIHN0b3J5IHRoYXQgaGFzIGJlZW4gZG9nZ2VkIGJ5DQpleGNlc3NpdmUgbWVkaWEgY292ZXJhZ2UgaGFzIGJlAzE5OGQCLQ9kFgJmDxUFGVRoZSAnTm8gV2F5IEJhY2snIEFydGljbGUEUGhpbARIYWxsqQNXYXJuaW5nOg0KSWYgdGhpcyByYW1ibGVzLCBpdCZyc3F1bztzIGJlY2F1c2UgSSBoYXZlIG5vIHF1YWxpdHkgY29udHJvbCZoZWxsaXA7DQoNCkkgc29sZCB2aXJ0dWFsbHkgZXZlcnkgY29taWMgSSZyc3F1bzt2ZSBldmVyDQpvd25lZCwgYXQgbGVhc3QgdHdpY2UuIEluIDE5ODAsIGZvciBqdXN0IMKjMSwwMDAsIGFmdGVyIG1vbnRocyBvZiBuYWdnaW5nIGZyb20NCm15IG9sZCBtYW4sIEkgc29sZCBhIGNvbGxlY3Rpb24gdGhhdCBtYW55IGRlYWxlcnMgd291bGQgaGF2ZSBraWxsZWQgZm9yLiBUaGUNCmRlYWwgd2FzIHRoZSBndXkgYnV5aW5nIHRoZW0gb2ZmIG1lIHdvdWxkIGdpdmUgbWUgwqM3NTAgZm9yIHRoZSBsb3QgYW5kIGENCmZ1cnRoZXIgwqMyNTAgaW5zaWRlIDYgbW9udGhzLiBJIG5ldmVyIHNhdyB0aGUgb3RoZXIgwqMyNTAuDQoNCgMxODdkAi4PZBYCZg8VBQxUaGUgUHViIFF1aXoEUGhpbARIYWxs7gJMYXN0IFRodXJzZGF5LCBJIHdhcyBhdCBhIHB1YiBxdWl6IGFuZCwgcXVpdGUgYW1hemluZ2x5IChhbmQgZm9ydHVpdG91cyBmb3IgdXMpLCBvbmUgb2YgdGhlIHJvdW5kcyB3YXMgb24gQW1lcmljYW4gY29taWNib29rcy4gMTAgY29taWNzIHJlbGF0ZWQgcXVlc3Rpb25zIHRvIHBlcnBsZXggYW5kIGNvbmZ1c2UsIG9yIG5vdC4gVGhlIG90aGVyIG1lbWJlcnMgb2YgbXkgdGVhbSBsb29rZWQgdG8gbWUgZm9yIGluc3BpcmF0aW9uLg0KVGhlIHF1ZXN0aW9ucyB3ZXJlIGFzIGZvbGxvd3M6DQoxLiBQZXRlciBQYXJrZXIgaXMgdGhlIEFtYXppbmcgd2hhdD8NCjIuIFN1cGVybWFuIHdhcyBmYW1vdXMgZm9yIHdlYXJpbmcgd2hhdCBvdmVyIGhpcyADMTY0ZAIvD2QWAmYPFQUVVGhlIEluZHVzdHJ5IEluc2lkZXJzBFBoaWwESGFsbOoDVGhlcmUgc2VlbXMgdG8gYmUgYW4gYWxtb3N0IGdsZWVmdWwgYWNrbm93bGVkZ21lbnQgZnJvbSAmbHNxdW87cGVvcGxlIGluIHRoZSBpbmR1c3RyeSZyc3F1bzsgYW5kICZsc3F1bztpbmR1c3RyeSBpbnNpZGVycyZyc3F1bzsgdGhhdCBjb21pY2Jvb2tzIGFyZSBkZWFkIGFuZCB0aGUgZnV0dXJlIGlzIGluIHRoZSBzaGFwZSBvZiB0cmFkZSBwYXBlcmJhY2tzIGFuZCBjb2xsZWN0aW9ucy4gT2YgY291cnNlLCB0aGVzZSAmbHNxdW87cGVvcGxlIGluIHRoZSBpbmR1c3RyeSZyc3F1bzsgYXJlIG9idmlvdXNseSByaWdodCwgYmVjYXVzZSB0aGV5IGFyZSBpbmR1c3RyeSBpbnNpZGVycyBhbmQgdGhleSBrbm93IHdoYXQmcnNxdW87cyBoYXBwZW5pbmcuDQpJdCBiZWdzIHRoYXQgcGVyZW5uaWFsIHF1ZXN0aW9uOyBvbmUgd2hpY2ggd2FzIHN1YmplY3Qgb2YgbXVjaCBpbi1qb2tlIGRlcmlzaW9uIHdoZW5ldmVyIGl0IGNyb3BwZWQgdXAgZHVyaW5nIG15IHRpbWUgYQMxNTlkAjAPZBYCZg8VBRZZb3UgYXJlIGFsbCBPc3RyaWNoZXMhBFBoaWwESGFsbOICDQoNCiZxdW90Oy4uLiBJZiB0aGUgcmV0Y29ubmVycyB3aXBlIERhbWUgSm9hbiYjMzk7cyBmcmF1ZCBmcm9tIG1lbW9yeQ0KYW5kIGRlZmVuZCBoaW0gc28gZWFzaWx5LCB0aGVuIHdoYXQgeW91JiMzOTtkIGdldCBhYm91dCB0aGlzIGlzICZsc3F1bztpdCYjMzk7cyBhIGxvdCBvZiBoYXJkDQp1bnBhaWQgd29yayBhbmQgaWYgeW91IHRoaW5rIHlvdSBjb3VsZCBvcmdhbmlzZSBpdCBiZXR0ZXIgeW91JiMzOTtyZSB3ZWxjb21lIHRvJnJzcXVvOywNCm9yIHRoYXQgc29ydCBvZiB0aGluZy4mcXVvdDsg4oCTIENyYWlnIEpvaG5zb24sDQplZGl0b3ItaW4tY2hpZWYsIFRoZSBDb21pY3MgVmlsbGFnZQ0KDQombmJzcDsNCg0KAzE0OWQCMQ9kFgJmDxUFHU5ldHNwZWFrOiBUaGUgTmV4dCBHZW5lcmF0aW9uBFBoaWwESGFsbMsDVGhlIEludGVybmV0DQpmYXNjaW5hdGVzIG1lLCBhcyBJJnJzcXVvO20gc3VyZSB5b3UmcnNxdW87dmUgYWxsIHdvcmtlZCBvdXQgYnkgbm93LiBJIGdvdCB0aGlua2luZyBhYm91dA0Kc29tZSBvZiB0aGUgbmFtZXMgcGVvcGxlIGFyZSBsYWJlbGxlZCB3aXRoIGFuZCBob3cgdGhlICZsc3F1bztuZXQgaGFzIGNoYW5nZWQgc2luY2UgSQ0KZmlyc3QgdmVudHVyZWQgb250byBpdC4gQmFjayBpbiB0aGUgZWFybHkgMTk5MHMsIHNvbWUgY2xldmVyIHdhZ3MgYXQgc29tZQ0KVW5pdmVyc2l0eSBpbiB0aGUgVVNBIGNhbWUgdXAgd2l0aCBhIHVzZWZ1bCBsaXN0IG9mIEludGVybmV0IGFjcm9ueW1zIGFuZCB0ZXJtcw0K4oCTIGEgbGl0dGxlIGxhbmd1YWdlIOKAkyBmb3IgdXNlcnMgdG8gYmUgYWJsZSB0byBhZGp1c3QgdG8gdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4NCiZsc3F1bztuZXQgc3BlYWsgYW5kIHJlYWwgAzEzMWQCMg9kFgJmDxUFHEFwcGVhcmFuY2VzIGNhbiBiZSBkZWNlaXZpbmcEUGhpbARIYWxszgJRdW90ZXMgZnJvbSBteSBtYWlsYmFnOg0KDQoNCg0KJm5ic3A7IllvdSZyc3F1bztyZQ0Kbm90IG5lYXJseSBhcyBkaXNsaWtlZCBhcyB5b3UmcnNxdW87ZCBsaWtlIHRvIHRoaW5rIHlvdSBhcmUuIFRoZXJlJnJzcXVvO3MgYSBsb3Qgb2YgcGVvcGxlDQppbiB0aGUgaW5kdXN0cnkgdGhhdCBhY3R1YWxseSBsaWtlIHlvdSwgbWUgaW5jbHVkZWQuIg0KDQpJJnJzcXVvO20gb2J2aW91c2x5IG5vdCB0cnlpbmcgaGFyZCBlbm91Z2guDQoNCiJTbw0KeW91JnJzcXVvO3ZlIG9wdGVkIHRvIHdyaXRlIGFib3V0IHRoZSB0aGluZ3MgdGhhdCB5b3UgZGlzbGlrZSBhYm91dCBjb21pY3MuIEkgZXhwAzExNGQCMw9kFgJmDxUFCklmIG9ubHkuLi4EUGhpbARIYWxsxANUd28gZmFjdG9ycyBwcmV2ZW50ZWQgbWUgZnJvbSBwb3NzaWJseQ0KYmVjb21pbmcgYSByZWFsIGZvcmNlIGluIGNvbWljczsgdGltZSBhbmQgZ2VvZ3JhcGh5LiBJIHdhcyBib3JuIGp1c3QgYSBsaXR0bGUNCnRvbyBsYXRlIGFuZCBJIHdhcyBpbiB0aGUgd3JvbmcgcGFydCBvZiB0aGUgY291bnRyeS4gUXVpdGUgc2ltcGxlIHJlYWxseSBhbmQgaWYNCm15IGF1bnQgaGFkIGhhZCB0ZXN0aWNsZXMgc2hlIHdvdWxkIGhhdmUgYmVlbiBteSB1bmNsZS4gVGhlIHRoaW5nIHdhcyBJIHdhcw0KY2xvc2U7IEkganVzdCBkaWRuJnJzcXVvO3QgcXVpdGUgbWFrZSBpdC4NCg0KDQoNClRoZSBVSyBjb21pY3Mgc2NlbmUgd2FzIGRvbWluYXRlZCBpbiB0aGUNCm1pZCAxOTcwcyBieSB2ZXJ5IHNpbWlsYXIgcGVvcGxlIHRoYXQga2ljayBhcm91bmQgbm93LiBUaGVyZSB3ZXJlIHRoZSBmYW56aW5lDQplZGl0bwI5M2QCNA9kFgJmDxUFFFRoZSBXaGF0IElmIFNjZW5hcmlvBFBoaWwESGFsbLUCSSB3YXNuJnJzcXVvO3QgZ29pbmcgdG8gZG8gdGhpcy4gUHVyZWx5IGFuZA0Kc2ltcGx5IGJlY2F1c2UgcGVvcGxlIG1pZ2h0IHN0YXJ0IGFjY3VzaW5nIG1lIG9mIGEpIHNob290aW5nIGZpc2ggaW4gYSBiYXJyZWwNCmFuZCBiKSBraWNraW5nIGEgZ29vZCBtYW4gd2hlbiBoZSZyc3F1bztzIGRvd24uIEJ1dCwgb3ZlciB0aGUgbGFzdCBmZXcgd2Vla3MsIHNpbmNlDQpteSB1bmV4cGVjdGVkIHJldHVybiB0byBjb21pY3MsIEkmcnNxdW87dmUgYmVlbiBnZXR0aW5nIGZlZWRiYWNrIG9uIG15IGNvbHVtbiBhbmQNCkkmcnNxdW87dmUgYmVlbiBmAjg0ZAI1D2QWAmYPFQVCQnVmZnksIEdvZCwgUGFlZG9waGlsZXMsIFRoZSBFeGNoYW5nZSBSYXRlLCBQb3RhdG9lcyBhbmQgUmFkaW9oZWFkBFBoaWwESGFsbLECVGltZSBmb3IgYSBzZWxmLWluZHVsZ2VudCBpbnRlcmx1ZGU7IGFuIGVzY2FwZSBmcm9tIHRoZSB3ZWVrIG9uIHdlZWsgYXR0YWNrcyBvbiBjb21pY3MgZ2Vla3MgYW5kIG5lcmRzLiBJJnJzcXVvO3ZlIGhhZCB3ZWVrcyBvZiB0ZWxsaW5nIHlvdSB3aHksIHdoZXJlIGFuZCBob3cgeW91IGFsbCBnbyB3cm9uZywgYW5kIEkgd2lsbCBwcm9iYWJseSBoYXZlIG1hbnkgd2Vla3MgbW9yZS4gQnV0LCBhdCB0aGUgbW9tZW50LCBJIGZlZWwgbGlrZSB0YWxraW5nIGFib3V0IHNvbWUgb3RoZXIgc3R1ZmYuDQoqKiogKioqICoqKiAqKiogKioqDQoCODJkAjYPZBYCZg8VBRFUaGUgUG93ZXIgb2YgTG92ZQRQaGlsBEhhbGzuAiJJIGhhZG4mcnNxdW87dCBoZWFyZCBhYm91dCB5b3UgYmVpbmcgYmFubmVkIGZyb20gV2FycmVuIEVsbGlzJnJzcXVvOyBEZWxwaGkgc2l0ZSZoZWxsaXA7Jm5ic3A7IEFnYWluLCB0aGUgaXJyZXNpc3RpYmxlIHB1bGwgdG93YXJkIFN0YWxpbmlzbSBvbiB0aGUgcGFydCBvZiBsZWZ0aXN0cyBpbiBtYWtpbmcgJmxzcXVvO25vbi1mZWxsb3cgdHJhdmVsbGVycyZyc3F1bzsgaW50byAmbHNxdW87bm9uLXBlcnNvbnMmcnNxdW87LiImbmJzcDsmbmJzcDsmbmJzcDsgLS0gRGF2ZSBTaW0gDQoNClRoZXNlIHdlcmUgdGhlIG9wZW5pbmcgYW5kIGNsb3NpbmcgbGluZXMgb2YgYSBxdW90ZSBmcm9tIERhdmUgU2ltIHVzZWQgYnkgUmljayBTaGFyZXIgaQI3MWQCNw9kFgJmDxUFJ1RoZSBzZWNyZXQgaGlzdG9yeSBvZiB0aGUgZ29zc2lwIGNvbHVtbgRQaGlsBEhhbGzoA1RoZXJlJiMzOTtzIGEgcGhyYXNlIEkgaGF2ZSB1c2VkIGEgbnVtYmVyIG9mIHRpbWVzIG92ZXIgdGhlIGxhc3QgZmV3IHllYXJzIHRoYXQgSSANCnNvcnQgb2YgZmVlbCBhIGxpdHRsZSBlbWJhcnJhc3NlZCBhYm91dCwgdG8gdGhlIHBvaW50IHdoZW4gcGVvcGxlIGFzayBtZSB3aGF0IEkgDQp1c2VkIHRvIGRvLCBJIG5vcm1hbGx5IHNheSB0aGF0IEkgd29ya2VkIG9uIHRoZSBlZGl0b3JpYWwgdGVhbSBmb3IgYSBwdWJsaXNoaW5nIA0KY29tcGFueSwgd2hpY2ggaXMgd2hhdCBJIGRpZCwgc28gSSYjMzk7bSBub3QgbHlpbmcuIFRoZSBwaHJhc2UgSSYjMzk7dmUgc3RvcHBlZCANCmJyYW5kaXNoaW5nIGxpa2UgYW4gaW1wcmVzc2l2ZSB3ZWFwb24gaXMsICYjMzk7SSB1c2VkIHRvIGJlIGEgam91cm5hbGlzdCYjMzk7LCB3aGVuIGluIA0KcmVhbGl0eSBJIGFpbiYjMzk7dCBubyBqb3VybmFsaXN0IC0gSSYjMzk7dmUgbmV2ZXIgcmVhbGx5IHRob3VnaHQgb2YgAjUyZAI4D2QWAmYPFQUkSG93IHRoZSBJbnRlcm5ldCBtYWRlIHlvdSBldmVuIHdvcnNlBFBoaWwESGFsbF0NCiJJIGRvbiZyc3F1bzt0IHRoaW5rIFBoaWwgd2VudCBmYXIgZW5vdWdoJmhlbGxpcDsiIFdvcmRzDQp1dHRlcmVkIGJ5IHRoZSBDb21pY3MgVmlsbGFnZSZyc3ECNDRkAjkPZBYCZg8VBQxMYXVnaCBvciBEaWUEUGhpbARIYWxs8QNJIHdhcyBnb2luZyB0byB3cml0ZSBhYm91dCB0aGlzIHBhcnRpY3VsYXIgc3ViamVjdCBpbiBhIGRpZmZlcmVudCB3YXkgYW5kIG9uIGFub3RoZXIgZGF0ZSwgYnV0IEkgaGFkIGEgY2hhbmdlIG9mIGhlYXJ0LiBUaGUgY2hhbmdlIGNhbWUgYWJvdXQgYXMgYSByZXN1bHQgb2YgbXkgb2xkIGVtcGxveWVyIGRvaW5nIGhpcyB1c3VhbCBiaXQgb2YgaGlzdG9yeSByZXdyaXRpbmcgLSBoaXMgYWlyYnJ1c2hpbmcgb2YgbWUgb2ZmIG9mIHRoZSBVSyBjb21pY3MgbGFuZHNjYXBlLiBJJiMzOTt2ZSBzZWVuIHJlcG9ydHMgaW5kaWNhdGluZyB0aGF0IEkmIzM5O3ZlIHBlcnNvbmFsbHkmbmJzcDtiZWVuIGludm9sdmVkIGluIGFsbCBudW1iZXIgb2YgZWl0aGVyIGlsbGVnYWwgb3IgaW1tb3JhbCBhY3Rpdml0aWVzIHNldmVyYWwgdGltZXMgb3ZlciB0aGUgbGFzdCA1IHllYXJzOyBJJiMzOTt2ZSBzZWVuIHRoZSBtYWdhemluZSBJIGNyZWF0ZWQgcmVjbGFzc2lmaWVkIGFzIGEgJiMzOQIzMmQCOg9kFgJmDxUFIllvdSBhbGwgc21lbGwgYW5kIG5vIG9uZSBsaWtlcyB5b3UEUGhpbARIYWxshQNJIEtOT1cgd2hhdCBzb21lIG9mIHlvdSBhcmUgdGhpbmtpbmc7IHdoYXQgdGhlIGZ1Y2tpbmcgaGVsbCBpcyBoZSBkb2luZyBoZXJlPyBEaWRuJiMzOTt0IGhlICYjMzk7cmV0aXJlJiMzOTsgZnJvbSB0aGlzPyBEaWRuJiMzOTt0IGhlIGJvdyBvdXQgb2YgY29taWNzIGluIGEgYmxhemUgb2YgYWNyaW1vbnkgd2hpbGUgY2FsbGluZyBldmVyeW9uZSBhbmQgdGhlaXIgc2lzdGVycyBhIGJpZyBidW5jaCBvZiBjdW50cz8mbmJzcDsNCkEgY291cGxlIG9mIG1vbnRocyBiYWNrLCBJIGhlYXJkIGZyb20gUmljaCBKb2huc3RvbiwgaGUmIzM5O2QgcGFzdGVkIGV2ZXJ5Ym9keSBoZSBrbm93cyBpbnRvIGhpcyBlbWFpbCBDQyBsaXN0LCBhZ2FpbiwgKGhlIGRvZXNuJiMzOTt0IEJDQyBiZWNhdQIyNGQCOw9kFgJmDxUFHEhvdyBtdWNoIHRoZSBNZWRpYSBsb3ZlcyBZb3UEUGhpbARIYWxsfVRoZSBuYW1lIFJvbmFsZCBDYXN0cmVlIChiZWxvdykgbWlnaHQgbm90IG1lYW4gYQ0KbG90IHRvIHBlb3BsZSBvdXRzaWRlIG9mIHRoZSBVSyByZWFkaW5nIHRoaXMsIGJ1dCBpZiBoZSBkb2VzIGJlY29tZSBmYW1pbGlhAThkAj0PZBYCZg8VBSNQcmV2aWV3IG9mIFVOSUNPIENPTExFQ1RJT05TIEFubnVhbAVDcmFpZwdKb2huc29uuQJVbmljbyBDb21pY3Mgd2FzIGZvdW5kZWQgaW4gSnVseSAyMDA1IGFuZCBoYWlscyBmcm9tIHRoZSBOb3J0aCBFYXN0IG9mIEVuZ2xhbmQuIFRoZSBpZGVhIGJlaGluZCBVbmljbyBpcyB0byBicmluZyBhbWF0ZXVyIGNvbWljIGJvb2sgY3JlYXRvcnMgb3V0IG9mIHRoZWlyIGJlZHJvb21zIGFuZCBpbnRvIHRoZSBiaWcgc2Nhcnkgd29ybGQgb2YgdGhlIHNtYWxsIHByZXNzIGNvbWljIGJ1c2luZXNzIOKAkyB0aGV5IGJyaW5nIGNyZWF0b3JzIHRvZ2V0aGVyIHRvIGRldmVsb3AgaWRlYXMgaW50byBmdWxseS1mbGVkZ2VkIGNvbWljcy4gDQoNClVuaWNvAzM5MmQCPg9kFgJmDxUFPkxvdyBFbmVyZ3kgRGF5IOKAkyBTYXR1cmRheSBBdWd1c3QgMzB0aCDigJMgQ2FtZGVuIExvY2sgTWFya2V0BUNyYWlnB0pvaG5zb26IAQ0KKGZyb20gaHR0cDovL2xvbmRvbnVuZGVyZ3JvdW5kY29taWNzLmNvbS8pDQoNCkxVQyBpcyBwcm91ZCB0byBhbm5vdW5jZSBpdHMgU0VDT05EIGZlc3RpdmFsIG9mIHRoZSB5ZWFyLCBMb3cgRW5lcmd5IERheSBvbiB0aGUgMzB0aCBvZiADMzc3ZAI/D2QWAmYPFQU0V0FOVEVEOiAgQ29taWNzIEFydGlzdHMvV3JpdGVycyBmb3IgMjAwOSBQdWJsaWNhdGlvbgVDcmFpZwdKb2huc29ulgNBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuDQoyMDA5IHdpbGwgc2VlIHRoZSBwdWJsaWNhdGlvbiBvZiBhIGJyYW5kLW5ldyBhbnRob2xvZ3kgYm9vaywgd2l0aCBhIHJlZ2lvbiB0aGVtZSAtIGFueSBjcmVhdGl2ZSB0YWxlbnQsIHdyaXRlciBvciBhcnRpc3QsIGlua2VyIG9yIGNvbG91cmlzdCwgbGV0dGVyZXIgb3IgZWRpdG9yLCB3aG8gcmVzaWRlcyBpbiB0aGUgVUsmIzM5O3MgRWFzdCBNaWRsYW5kcyByZWdpb24sIGlzIGludml0ZWQgdG8gdGFrZSBwYXJ0OiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSYjMzk7dmUgYmVlbiBwdWJsaXNoZWQgYmVmb3JlIG9yIGFyZSB1cC1hbmQtY29taW5nIHRhbGVudHMuDQpGdWxsIGRldGFpbHMgaW4gdGhpcyBwcm9tbyBwb3N0ZXI6LQ0KAzM2NWQCQA9kFgJmDxUFPkNhcHRpb24gMjAwOCAtIDl0aCAmIDEwdGggQXVndXN0LCBFYXN0IE94Zm9yZCBDb21tdW5pdHkgQ2VudHJlBUNyYWlnB0pvaG5zb269AUNhcHRpb24gKGh0dHA6Ly93d3cuY2FwdGlvbi5vcmcvMjAwOC8pJm5ic3A7aXMgYSZuYnNwO2Zlc3RpdmFsIG9mIGNvbWljcyBhbmQgbWluaWNvbWljcyBoZWxkIGFubnVhbGx5IGluIE94Zm9yZC4gSm9pbiB1cyBmb3IgYSB3ZWVrZW5kIG9mIHBhbmVscywgd29ya3Nob3BzLCBhbmQgaWRsZSBjaGF0dGVyIGluIHRoZSBiYXIhIA0KSQMzNjFkAkEPZBYCZg8VBSBKYW1pZSBIZXdsZXR0J3MgQmVpamluZyBPbHltcGljcwVDcmFpZwdKb2huc29umQJCZXR0ZXIga25vd24gdG8gdXMgY29taWNzIGdlZWtzIGFzIHRoZSBhcnRpc3QgYmVoaW5kIFRhbmsgR2lybCBhbmQgR29yaWxsYXosIEphbWllIEhld2xldHQgaGFzIGJlZW4gcG91bmNlZCB1cG9uIGJ5IEF1bnRpZSBCZWViIHRvIGhlbHAgb3V0IHdpdGggdGhlaXIgbWFya2V0aW5nIGZvciB0aGVpciBjb3ZlcmFnZSBvZiB0aGUgQmVpamluZyBPbHltcGljcy4uLi5hIGZldyBzZWxlY3QgaW1hZ2VzIGZyb20gdGhlIEJCQyBQcmVzcyBQYWNrIGFyZSBnYXRoZXJlZCBoZXJlLi4uDQombmJzcDsNCgMzNDlkAkIPZBYCZg8VBSFEYXZlIFNpbSdzIGdsYW1vdXJwdXNzICMzIFByZXZpZXcFQ3JhaWcHSm9obnNvbskBZ2xhbW91cnB1c3MgIzMgaXMgYXZhaWxhYmxlIHRvIG9yZGVyIG5vdyBmcm9tIHlvdXIgbG9jYWwgY29taWNzIHJldGFpbGVyLCBjb2RlIEpVTDA4IDM1OTEsIHB1Ymxpc2hlZCBieSBBYXJkdmFyay1WYW5haGVpbSAtIGhlcmUgYXJlIHRlbiBnb3JnZW91cyBpbWFnZXMgZnJvbSB0aGUgcGFnZXMgb2YgdGhlIGJvb2s6LQ0KJm5ic3A7DQoNCiZuYnNwOw0KAzM0NGQCQw9kFgJmDxUFFlNlcHRpYyBJc2xlICMxIFByZXZpZXcFQ3JhaWcHSm9obnNvbpkDU2VwdGljIElzbGUsIGEgbmV3IGdyYXBoaWMgbm92ZWwgZnJvbSBCcml0aXNoIGluZGllIE1vb25mYWNlIFByZXNzLCBhcHBlYXJzIGluIEF1Z3VzdCYjMzk7cyBQcmV2aWV3cy4gUGl0Y2hlZCBzb21ld2hlcmUgYmV0d2VlbiBHcmVnIFJ1Y2thJiMzOTtzIFF1ZWVuICZhbXA7IENvdW50cnkgYW5kIHRoZSBUViBzaG93IFNwb29rcywgdGhlIGJvb2sgc2VlcyBhZ2VpbmcgTUk1IGFnZW50IEphY29iIE1hcmxleSB0YWtlIG9uIGEgbmVvLU5hemkgdGVycm9yaXN0IG9yZ2FuaXNhdGlvbiBjYWxsZWQgT2RpbiYjMzk7cyBTd29yZC4gSXQmIzM5O3Mgd3JpdHRlbiBieSBBbmR5IFdpbnRlciAoYXV0aG9yIG9mIHRoZSBFYWdsZSBBd2FyZC13aW5uaW5nIEhlcm8gS2lsbGVycykgYW5kIGRyYXduIGJ5IE1pY2sgVHJpbWJsZS4NCgMzMjVkAkQPZBYCZg8VBSlEYXZlIFNpbSdzIEdsYW1vdXJwdXNzICMyIC0gTW9yZSBQYWdlcy4uLgVDcmFpZwdKb2huc29ugwFBbm90aGVyIHNpeCBwYWdlcyBvZiB0aGUgdXBjb21pbmcgR2xhbW91cnB1c3MgIzIsIGluIHNob3BzIHRoaXMgbW9udGgsIGZyb20gQWFyZHZhcmstVmFuYWhlaW06LQ0KDQombmJzcDsNCiZuYnNwOw0KJm5ic3A7DQombmJzcDsNCgMzMTdkAkUPZBYCZg8VBSFEYXZlIFNpbSdzIEdsYW1vdXJwdXNzICMyIFByZXZpZXcFQ3JhaWcHSm9obnNvbuoBT3V0IGluIEp1bHkgMjAwOCBmcm9tIGFsbCBnb29kIGNvbWljcyByZXRhaWxlcnMsIGFuZCByZWFkaWx5IGF2YWlsYWJsZSBmb3IgYmFja29yZGVyICh0ZWxsIHRoZW0gdG8gbG9vayBpbiBQcmV2aWV3cyB1bmRlciBwdWJsaXNoZXIgQWFyZHZhcmstVmFuYWhlaW0pLCBoZXJlJiMzOTtzIGEgaGFsZi1kb3plbiBpbWFnZXMgZnJvbSB0aGUgcGFnZXMgb2YgZ2xhbW91cnB1c3MgIzIuLi4NClRoZSBjb3Zlci4uLg0KAzMxMGQCRw9kFgJmDxUFIEJhbm5lZCBGcm9tIFdvbmRlcmxhbmQgIChBVUcgMjUpBFJpY2sGU2hhcmVyngENCiJUaGUgdHJ1dGggd2lsbCBzZXQgeW91IGZyZWUuJm5ic3A7IEJ1dCBmaXJzdCBpdCB3aWxsIHBpc3MgeW91IG9mZi4iJm5ic3A7IC0tIEdsb3JpYSBTdGVpbmVtIChyZWNhbGxlZCBpbiBHTEFNT1VSIG1hZ2F6aW5lIEp1bHkgJnJzcXVvOzA4KQ0KJm5ic3A7DQombmJzcDsNCgMzOTFkAkgPZBYCZg8VBSREZWNvbnN0cnVjdGluZyBXb25kZXIgV29tYW4gKEFVRyAxMSkEUmljawZTaGFyZXKzASJBc2sgU3RldmUgQm9saGFmbmVyIHRoaXM6IHdoeSB3YXMgTGF3cmVuY2UgU3VtbWVycyBob3VuZGVkIGZyb20gb2ZmaWNlPyZuYnNwOyBXaHkgd2FzIGhpcyBsaWZlIGRlc3Ryb3llZD8iJm5ic3A7IC0tIERhdmUgU2ltLCA3LzI2LzA4DQombmJzcDsNCiZuYnNwOw0KQUJPVVQgTEFTVCBDT0xVTU4NCiZuYnNwOw0KAzM3NWQCSQ9kFgJmDxUFJEZvciBXaG9tIFRoZSBCZWxsZSBUcm9sbHMgICAoSlVMIDI4KQRSaWNrBlNoYXJlcpYCIldlbGwsIGp1c3QgdG8gYmUgYWNjdXJhdGUsIEkgZGlkbiZyc3F1bzt0IHNheSB3b21lbiBTSE9VTEROJnJzcXVvO1QgaGF2ZSB0aGUgdm90ZS4mbmJzcDsgV2hhdCBJIHNhaWQgd2FzIHRoZXJlIGFyZSBjb25zZXF1ZW5jZXMgdG8gd29tZW4gaGF2aW5nIHRoZSB2b3RlIGFuZCwgYXMgd2UmcnNxdW87dmUgc2VlbiwgdGhlIGZlbWluaXphdGlvbiBvZiBzb2NpZXR5IGlzIG9uZSBvZiB0aGVtLiImbmJzcDsgLS0gRGF2ZSBTaW0sIDA3LzIzLzA4DQombmJzcDsNCiZuYnNwOw0KJm5ic3A7DQoDMzUwZAJKD2QWAmYPFQUjVGhlIE1vdGhlciBvZiBBbGwgQmF0dGxlcyAgKEp1biAzMCkEUmljawZTaGFyZXLEAiJUaGF0JnJzcXVvO3Mgd2h5IEkga2VwdCB0aGUgcXVlc3Rpb24gc2ltcGxlOiBEbyB5b3UgYmVsaWV2ZSBEYXZlIFNpbSBpcyBhIG1pc29neW5pc3Q/Jm5ic3A7IFRoZSBwcm9ibGVtIHRoYXQgSmFtZXMgYW5kIG90aGVycyBoYXZlIHdpdGggdGhhdCBpcyB0aGF0IGl0IGlzIG5lY2Vzc2FyeSBmb3IgRGF2ZSBTaW0gdG8gQkUgYSBtaXNvZ3luaXN0IGluIG9yZGVyIHRvIGp1c3RpZnkgdGhlIGZvdXJ0ZWVuIHllYXJzIG9mIHNodW5uaW5nIGFuZCBjaGFyYWN0ZXIgYXNzYXNzaW5hdGlvbi4iJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tRGF2ZSBTaW0gMDYvMjMvMDgNCgMzMTVkAksPZBYCZg8VBS5QZWFybHMgb2YgV2lzZG9tLCBCbG9ja3Mgb2YgQ29uY3JldGUgIChKVU4gMTYpBFJpY2sGU2hhcmVy4QEiSSZyc3F1bzt2ZSBkZXZvdGVkIGZhciBtb3JlIHRpbWUgYW5kIGVuZXJneSB0byB0aGlzIHRoYW4gZXZlbiB0aGUgbW9zdCBvcHRpbWlzdGljIHByb2plY3RlZCBvdXRjb21lcyB3b3VsZCB3YXJyYW50LiZuYnNwOyBZb3UgY2FuJnJzcXVvO3QgcmVhc29uIHdpdGggYmxvY2tzIG9mIGNvbmNyZXRlLiImbmJzcDsgLS0mbmJzcDsgRGF2ZSBTaW0sIGZyb20gdGhlIFNpbS9UdW5kaXMgZmF4ZXMgDQoDMzAxZAJMD2QWAmYPFQU4QXZvaWQgVmVyYmFsIERlZmVjYXRpb24sIEl04oCZcyBhIE11Z+KAmXMgR2FtZSAgIChKdW4gMikEUmljawZTaGFyZXL5AQ0KIiZoZWxsaXA7dGhleSBnZXQgdmVyeSBlbW90aW9uYWwgYW5kIHN0YXJ0IGNhbGxpbmcgcGVvcGxlIGxpa2UgbWUgZXZlcnkgbmFtZSB0aGV5IGNhbiB0aGluayBvZi4mbmJzcDsgRm9ydHVuYXRlbHksIHRoYXQgZG9lc24mcnNxdW87dCBjaGFuZ2UgcmVhbGl0eSBvbmUgd2hpdC4mbmJzcDsgRG9uJnJzcXVvO3QgZ2V0IFRPTyBzdWNrZWQgdXAgaW4gaXQuJm5ic3A7IEl0JnJzcXVvO3MgYSBtdWcmcnNxdW87cyBnYW1lIG92ZXJhbGwuIgMyODZkAk0PZBYCZg8VBRxHZXQgVGhlZSBCZWhpbmQgTWUgIChNYXkgMTkpBFJpY2sGU2hhcmVyhQMiSSBkb24mcnNxdW87dCBoYXRlIHdvbWVuIGFuZCBJJnJzcXVvO20gbm90IHByZWp1ZGljZWQgYWdhaW5zdCB3b21lbiBhbnkgbW9yZSB0aGFuIEkmcnNxdW87bSBwcmVqdWRpY2VkIGFnYWluc3QgYmxhY2sgcGVvcGxlLiZuYnNwOyBGZW1pbmlzbSBpcyBub3QgYSB2aWFibGUgd2F5IHRvIHJ1biBhIHNvY2lldHkgKHNlZSAiRmlmdGVlbiBJbXBvc3NpYmxlIFRoaW5ncyBUbyBCZWxpZXZlIEJlZm9yZSBCcmVha2Zhc3QiKSAuIFNheWluZyBGZW1pbmlzbSBpc24mcnNxdW87dCBhIHZpYWJsZSB3YXkgdG8gcnVuIHNvY2lldHkgZG9lc24mcnNxdW87dCBtZWFuIEkgaGF0ZSB3b21lbiBvciB0aGF0IEkmcnNxdW87bSBwcmVqdWRpY2VkIGFnYWluc3Qgd29tZW4uJm5ic3A7IEl0IG1lYW5zIAMyNzRkAk4PZBYCZg8VBS1QYXJpYWggS2luZyB0byBRdWVlbuKAmXMgTGV2ZWwgVGhyZWUgIChNYXkgNSkEUmljawZTaGFyZXLIASJXaGVuIGl0IGNvbWVzIHRvIGxpYmVyYWxzLCAmIzM5O2V2YXNpb25zIFIgVXMmIzM5Oy4mbmJzcDsgSSB3YW50IHRvIGNsYXJpZnkgd2hhdCB0aGUgc2l0dWF0aW9uIGlzLCB3aGF0IHJlYWxpdHkgaXMuJm5ic3A7IEluIGFueSBzaXR1YXRpb24gd2hlcmUgeW91IGFyZSBjaGFtcGlvbmluZyByZWFsaXR5LCBsaWJlcmFscyB3aWxsIGZpbmQgYSB3YXkgAzI1OWQCTw9kFgJmDxUFJEpVREVOSEFTUyBCeSBBbnkgT3RoZXIgTmFtZSAgKEFQUiA3KQRSaWNrBlNoYXJlcoYDIkkgaGF2ZW4mcnNxdW87dCByZXNwb25kZWQgdG8gSGVpZGkgTWFjRG9uYWxkIGJlY2F1c2UgSSBjb25zaWRlciBhbnkgYW5hbG9neSBkcmF3biBiZXR3ZWVuIHRoZSBwYW1wZXJlZCwgY29zc2V0ZWQgYW5kIHVuaXZlcnNhbGx5IGNhcGl0dWxhdGVkLXRvIE5vcnRoIEFtZXJpY2FuIGZlbWluaXN0cyBhbmQgd2hhdCBFdXJvcGVhbiBKZXdzIGV4cGVyaWVuY2VkIGJldHdlZW4gMTkzMyBhbmQgMTk0NSB0byBiZSBhbW9uZyB0aGUgd29yc3QgZXhhbXBsZXMgb2YgdHJpdmlhbGl6aW5nIHRoZSBTaG9haCB0aGF0IGNvdWxkIGJlIGltYWdpbmVkIGFuZCB0byBiZSwgcXVpdGUgbGl0ZXJhbGx5LCBiZW5lYXRoIGNvbW1lbnQuIiZuYnNwOyAtLSZuYnNwOyBEYXZlIFNpbQ0KJm5ic3A7DQombmJzAzIxN2QCUA9kFgJmDxUFHVRocmVlIEZvciB0aGUgTW9uZXkgIChNQVIgMjQpBFJpY2sGU2hhcmVy9wIiQnkgdGhlIHdpZGUgd29ybGQsIGZvciBhdCBsZWFzdCB0aGUgZmlyc3QgZm9ydHkgeWVhcnMgb2YgdGhlaXIgZXhpc3RlbmNlLCBjb21pY3Mgd2VyZSB1bml2ZXJzYWxseSBicmFuZGVkIGFzIGp1dmVuaWxlLiBUaGV5IHdlcmUgdGhlIHVsdGltYXRlIGdyZWFzeSBraWRzJnJzcXVvOyBzdHVmZi4gVGhleSB3ZXJlIHZpZXdlZCBhcyB0aGUgbGl0ZXJhcnkgZXF1aXZhbGVudCBvZiBidWJibGVndW0gY2FyZHMsIG1lYW50IHRvIGJlIHBva2VkIGludG8gdGhlIHNwb2tlcyBvZiBhIHlvdW5nIG1pbmQgd2hlcmUgdGhleSB3b3VsZCBwcm9kdWNlIGEgc2F0aXNmeWluZ+KAlGJ1dCBlbnRpcmVseSBib2d1c+KAlHJ1bWJsZSBvZiBwbGVhc3VyZS4NCiZuYnNwOw0KDQoDMjAxZAJRD2QWAmYPFQU1TXkgVG9wIFR3ZWx2ZSBMaWZlLUNoYW5naW5nIENvbWljcyBQYXJ0IElJICAgKE1BUiAxMCkEUmljawZTaGFyZXLDAVllYWgsIHRoZSBpbmR5IGNvbWljcyBzY2VuZSBpcyB3aGVyZSBpdCZyc3F1bztzIGF0IHRoZXNlIGRheXMuJm5ic3A7IEFuZCB0aGVyZSZyc3F1bztzIG5vIGJldHRlciBzaXRlIHRoYW4gQ09NSUNTIFZJTExBR0UgdG8ga2VlcCB1cCB0byBzcGVlZCBvbiB0aGUgYmVzdCwgYnJpZ2h0ZXN0LCBhbmQgaG90dGVzdCB0YWxlbnQuJm5ic3A7IEJ1dAMxNzZkAlIPZBYCZg8VBVxUaHJvdWdoIHRoZSBHbGFzcywgRGFya2x5OiBBIExvb2sgYXQgTXkgVG9wIFR3ZWx2ZSBNZW1vcmFibGUgQ29taWNzIEV2ZW50cyAgUEFSVCBJICAoRkVCIDI1KQRSaWNrBlNoYXJlcoQCIlRoZSBtdWx0aXBseWluZyB2aWxsYW5pZXMgb2YgbmF0dXJlIGRvIHN3YXJtIGhpbS4uLmFuZCBmb3J0dW5lLCBvbiBoaXMgZGFtbmVkIHF1YXJyZWwsIHNtaWxpbmcsIHNob3dlZCBsaWtlIGEgcmViZWwmIzM5O3Mgd2hvcmUuIiZuYnNwOyAtLSBWIEZvciBWZW5kZXR0YQ0KJm5ic3A7DQombmJzcDsNCkFCT1VUIExBU1QgQ09MVU1ODQombmJzcDsNCkkgY29udGludWUgdG8gZ2V0IG1vcmUgYW5kIG1vcmUgbG92ZSBmcm9tIE1hcnhpc3QtZmVtaW5pc3RzIHcDMTU4ZAJTD2QWAmYPFQUjVGhlIFVnbHkgRmFjZSBvZiBGZW1pbmlzbSAgKEZFQiAxMSkEUmljawZTaGFyZXL5ASZuYnNwOyJBbmQgSSBoYXZlbiYjMzk7dCByZWFkIHlvdXIgbGF0ZXN0ICYjMzk7Y29sdW1ucywmIzM5OyBzb3JyeS4gT25jZSBhIHJldGFyZGVkIG1vbmtleSBzaGl0cyBpbiB0aGUgcHVuY2ggYm93bCwgb25seSBwZW9wbGUgd2hvIGxpa2UgdGhlIHRhc3RlIG9mIHNoaXQgcHVuY2ggdGVuZCB0byB3YW50IHRvIHN0YXkgYXQgdGhlIHBhcnR5LiImbmJzcDsgLS0mbmJzcDsgR2FpbCBTaW1vbmUNCiZuYnNwOw0KJm5ic3A7DQombmJzcDsNCgMxMzRkAlQPZBYCZg8VBTVMb2dpYyB2cy4gRW1vdGlvbuKAplRhbWluZyB0aGUgU2hyZXcgSW5zaWRlICAoSkFOIDI4KQRSaWNrBlNoYXJlcp8CIkRvIFlPVSB3YW50IG91ciBzb2NpZXR5IHJ1biBieSBwZW9wbGUgbGlrZSBXYXJyZW4gRWxsaXM/IExvb2sgYXQgZXZlcnl0aGluZyB5b3Ugd3JpdGUgcmVhbGl6aW5nIHRoYXQgYW55dGhpbmcgeW91IHdyaXRlIHRoYXQgdXBzZXRzIGVtb3Rpb25hbCBwZW9wbGUga2VlcHMgdGhlbSBmcm9tIGZhY2luZyBhbnkgZmFjdCB5b3UgYnJpbmcgdXAmaGVsbGlwO2FsbCB0aGF0IGNhbiBkbyBpcyB1bmRlcm1pbmUgeW91ciBvd24gZWZmb3J0cy4iJm5ic3A7IC0tIERhdmUgU2ltDQombmJzcDsNCg0KJm5ic3A7DQoCOTlkAlUPZBYCZg8VBT1BcmVu4oCZdCBZb3UgdGhlIFByZXR0aWVzdCBMaXR0bGUgTWFyeGlzdC1GZW1pbmlzdCEgIChKQU4gMTQpBFJpY2sGU2hhcmVyCiZuYnNwOw0KDQoCNzlkAlYPZBYCZg8VBTZNaXNzaW9uIEltcG9zc2libGU6IFdoYXRldmVyIFlvdSBTYXksIE1hJ2FtISAgKERFQyAzMSkEUmljawZTaGFyZXKxASZuYnNwOw0KIkkgaGFkbiZyc3F1bzt0IGhlYXJkIGFib3V0IHlvdSBiZWluZyBiYW5uZWQgZnJvbSBXYXJyZW4gRWxsaXMmcnNxdW87IERlbHBoaSBzaXRlLiZuYnNwOyBCdXQsIHRoZW4gYWdhaW4sIHdoeSB3b3VsZCBJPyBJIHN1cHBvc2Ugc2luY2UgaGUgdGhvdWdodCB5b3Ugd2VyZSAmbHNxdW87anVzdCBhIAI2MWQCVw9kFgJmDxUFTFdoYXQgRG9lcyBpdCBQcm9maXQgYSBQcm9waGV0PyAgVGhlIENvdXJhZ2VvdXMgU3RhbmQgb2YgRGF2ZSBTaW0gICAgKERFQyAxNykEUmljawZTaGFyZXLmAQ0KDQombmJzcDsNCiJJJnJzcXVvO3ZlIG5ldmVyIHJlZ3JldHRlZCB0YWtpbmcgYSBzdGFuZCBvdmVyIHRoZSBsYXN0IHRoaXJ0ZWVuIHllYXJzLiZuYnNwOyBPbiB0aGUgY29udHJhcnksIGtub3dpbmcgdGhhdCBJIHdpbGwgYmUgc2VlbiBieSBoaXN0b3J5IGFzIG9uZSBvZiB0aGUgZmV3IHdpbGxpbmcgdG8gc3RhbmQgdXAgZm9yIHJlYWxpdHkgYW5kIHRoYXQgSSB3YXMgZG9pbmcgc28gZm9yIGEgZ29vAjQxZAJYD2QWAmYPFQUdVGhlIFdpZmUgYW5kIEtpZHMgICAgIChERUMgMykEUmljawZTaGFyZXKKAw0KJnF1b3Q7SWYgd2UmIzM5O3JlIGdvaW5nIHRvIGJlIGFibGUgdG8gYWZmb3JkIHRoYXQgbmV3IGRpbmluZy1yb29tIHNldCwgSSYjMzk7bSBnb2luZyB0byBoYXZlIHRvIGdldCB0aGF0IHJhaXNlLiBJZiBJJiMzOTttIGdvaW5nIHRvIGJlIGFibGUgdG8gZ2V0IGVub3VnaCBtb25leSBmb3IgdGhlIGRvd24gcGF5bWVudCBvbiB0aGUgaG91c2UsIEkmIzM5O20gZ29pbmcgdG8gaGF2ZSB0byBwdWxsIGEgbG90IG9mIG92ZXJ0aW1lLiBJZiBJJiMzOTttIGdvaW5nIHRvIHBheSBmb3IgdGhlIG5ldyBsaXZpbmctcm9vbSBmdXJuaXR1cmUgYW5kIHRoZSBiYWxsZXQgbGVzc29ucyBhbmQgdGhlIHR1aXRpb24gYXQgdGhlIHByaXZhdGUgc2Nob29sLCBJJiMzOTttIGdvaW5nIHRvIGhhdmUgdG8gZ2UCMjhkAlkPZBYCZg8VBStBcmUgQm95cyByZWFsbHkgc3VwZXJpb3IgdG8gR2lybHM/IChOT1YgMTkpBFJpY2sGU2hhcmVy6wEmbmJzcDvigJxUaGUgY29taWMtYm9vayBmaWVsZCBpcywgdW5pdmVyc2FsbHksIGEgTWFyeGlzdC1mZW1pbmlzdCBjb25zdHJ1Y3Qgd2hpY2ggYXBwbGF1ZHMsIGVuZG9yc2VzIGFuZCBlbmNvdXJhZ2VzIHRoZSB2aWxpZmljYXRpb24sIHNodW5uaW5nIGFuZCBkZW51bmNpYXRpb24gb2YgRGF2ZSBTaW06IHRoZXJlIGFyZSBubyBleGNlcHRpb25zIHRvIHRoYXQgc3RhdGVtZW50LuKAnSZuYnNwOyAtIERhdmUgU2ltAjEwZAJbD2QWAmYPFQUQVGFidWxhIFJhc2EgKFBDKQVHbGVubgZDYXJ0ZXLcA09sZGVyIGdhbWVycyBtYXkgcmVtZW1iZXIgdGhlIG5hbWUgUmljaGFyZCBHYXJpb3R0IChPciBMb3JkIEJyaXRpc2gpIGFzIGEgYmxhc3QgZnJvbSB0aGUgcGFzdC4gRXNzZW50dWFsbHkgdGhlIG1hbiBiZWhpbmQgdGhlIFVsdGltYSBHYW1lcywgSSYjMzk7dmUgYWx3YXlzIGNvbnNpZGVyZWQgdGhhdCBoZSBlc3NlbnR1YWxseSBpbnZlbnRlZCB0aGUgbW9kZXJuIE1NIGdhbWUsIHdpdGggVWx0aW1hIE9ubGluZS4gU28gaXQmIzM5O3MgYWx3YXlzIGdvaW5nIHRvIGJlIG9mIGludGVyZXN0IHdoZW4gaGUgY29tZXMgYmFjayBpbiB0aGUgd29ybGQgb2YgTWFzc2l2ZWx5IE11bHRpcGxheWVyLCBhcyBoZSBoYXMgZG9uZSB3aXRoIFRhYnVsYSBSYXNhLCBoaXMgY28tb3BlcmF0aW9uIG9yaWVudGF0ZWQgc3BhY2Ugc2FnYS5UaGFua3MgdG8gTkNTb2Z0IEkgaGF2ZSBhIGZyZWUgdHJpYWwgYWNjb3VudCwgc28gaGVyZSYjMzk7cyB0aGUgbG93AzM5MGQCXA9kFgJmDxUFIExhdGVzdCBTY29yZTogRmFsbG91dCAzLCBGYWJsZSAyBUNyYWlnB0pvaG5zb27SA01pbm9yIGNyaXNpcyBoaXRzIEdhbWVzVmlsbGFnZSBUb3dlcnMgdGhpcyB3ZWVrLiZuYnNwOyBUaGUgRWxkZXIgU2Nyb2xscyBJVjogT2JsaXZpb246IFRoZSBTaGl2ZXJpbmcgSXNsZXMgKHRvIGdpdmUgaXQgaXRzIHNob3J0IG5hbWUpIGNhbXBhaWduIHByb2dyZXNzZWQgZnJvbSAxNzYgaG91cnMgdG8gMTgxIGhvdXJzLCBwcm9ncmVzc2luZyB0aHJvdWdoIG1heWJlIGEgaGFsZi1kb3plbiBtaXNzaW9ucyB0byBtb3ZlIHdpdGhpbiBvbmUgb2YgdGhlIGZpbmFsIG1pc3Npb24uLi53aGVyZXVwb24gdGhlIGdhbWUgaGFuZ3MsIGluIHRoZSBtaWRkbGUgb2Ygc2F2ZTogY29ycnVwdGluZyB0aGUgc2F2ZSBmaWxlLg0KRXZlcnlvbmUgd2hvIG5ldmVyIHBsYXlzIGdhbWVzIHNlcmlvdXNseSBpcyBub3cgc2F5aW5nOiB3ZWxsLCB3aHkgZGlkbiYjMzk7dCB5b3Ugc2F2ZSByZWd1bGFybHk/DQpFdmVyeW9uZSB3aG8gZXZlciADMzc4ZAJdD2QWAmYPFQUPUFMzIHZzIFhCT1ggMzYwBUdsZW5uBkNhcnRlcugDVGhlIEZpbmFsIEZhbnRhc3kgc2VyaWVzIGlzIGNvbWluZyB0byB0aGUgMzYwIGF0IGxvbmcgbGFzdCwgd2l0aCB0aGUgZmlyc3QgYmVpbmcgWElJSS4gSXQmIzM5O3MgZ3JlYXQgZm9yIHVzIDM2MCBvd25lcnMsIGJ1dCBJIG11c3QgYWRtaXQgSSB0aGluayBpdCB3aWxsIGJlIHByb2JsZW1hdGljIGZvciBQUzMgb3duZXJzIGFuZCB0aGF0IG1hZGUgbWUgdGhpbmsgc29tZSBtb3JlIGFib3V0IHdoeSB0aGUgMzYwIGlzIHN0aWxsIGluIGEgaGVhbHRoaWVyIHBvc2l0aW9uIHRoYW4gU29ueSBpbiB0aGlzIGdlbmVyYXRpb24uRkZYSUlJIGlzIHlldCBhbm90aGVyIFBTMyBleGNsdXNpdmUgZ29uZSB0aGUgd2F5IG9mIEdUQSBhbmQgdGhlIFBTMyBuZWVkcyBpdCYjMzk7cyBleGNsdXNpdmVzIHRvIHRocml2ZSBidXQgaXMgc3RpbGwsIGFmdGVyIGFsbCB0aGlzIHRpbWUsIGxhY2tpbmcgYSBraWxsZXIgYXBwLiBTbywgd2hhdCBpcyB0aGVyZSB0aGF0IGp1c3RpZmkDMzgwZAJeD2QWAmYPFQUTTXkgT2N0b2JlciBTeW1waG9ueQVDcmFpZwdKb2huc29uxQMiU2hhbGwgSSByZXdyaXRlIG9yIHJldmlzZSBteSBPY3RvYmVyIHN5bXBob255LCBvciBhcyBhbiBpbmRpY2F0aW9uLCBjaGFuZ2UgdGhlIGRlZGljYXRpb24sIGZyb20gcmV2b2x1dGlvbiwgdG8gcmV2ZWxhdGlvbi4iLSBOVCAoaWRlbnRpZnkgdGhlIHF1b3RlIGFuZCB3aW4gYSBwcml6ZS4uLm1heWJlKQ0KJm5ic3A7DQpPY3RvYmVyIGlzIGdlYXJpbmcgdXAgdG8gYmUgYSB0ZXJyaWJsZSBtb250aCBpbiBYQk9YIDM2MCBsYW5kLg0KV2h5IGlzIHRoYXQsIHlvdSBhc2ssIHN1cmVseSB0aGUgQ2hyaXN0bWFzIHJ1c2ggaXMgb24sIGFuZCB0aGVyZSYjMzk7bGwgYmUgYSBwbGV0aG9yYSBvZiBuZXcgZ2FtZXMgdG8gcGxheT8NClRoYXQmIzM5O3MgZXhhY3RseSB0aGUgcHJvYmxlbSwgSSByaXBvc3RlLg0KT0ssIHNvIHRoaXMgaGFwcGVucyBldmVyeSB5ZWFyLCBidXQgd2l0aCBtYW55IGdhbWVzIHIDMzcwZAJgD2QWAmYPFQUvQmFuIENhbGxlZCBGb3IgIkhpbSAmIEhlcidzIFNtdWdnbGluZyBWYWNhdGlvbiIFQ3JhaWcHSm9obnNvbsgCVUsgY3JlYXRvciBKYXNvbiBXaWxzb24mIzM5O3MgZmluZSBib29rLCBIaW0gJmFtcDsgSGVyJiMzOTtzIFNtdWdnbGluZyBWYWNhdGlvbiBzaG91bGQgYmUgYmFubmVkIGZyb20gcHJpc29ucywgYWNjb3JkaW5nIHRvIEJpcm1pbmdoYW0gUGVycnkgQmFyciBMYWJvdXIgTVAgS2hhbGlkIE1haG1vb2QuDQpJbiBhbiBhcnRpY2xlIGJ5IExvcm5lIEphY2tzb24gaW4gdGhpcyB3ZWVrZW5kJiMzOTtzIFN1bmRheSBNZXJjdXJ5IGh0dHA6Ly93d3cuc3VuZGF5bWVyY3VyeS5uZXQvbmV3cy9taWRsYW5kcy1uZXdzLzIwMDgvMDgvMTcvbWlkbGFuZHMtc3VwZXJjcmltaW5hbC1zLWNvbQMzODVkAmEPZBYCZg8VBTBXaGVuIENvbWljcyBWaWxsYWdlIG1ldCBFZGRpZSBDYW1wYmVsbC4uLi5wYXJ0IDIFR2xlbm4GQ2FydGVy2QNSZWNlbnRseSwgbXlzZWxmIGFuZCBDcmFpZyBKb2huc29uIGhhZCBhIGxvdmVseSBkYXkgb3V0IGluIE5vdHRpbmdoYW0sIHdoZXJlIHdlIHRhbGtlZCBzb3VwLCBib3VnaHQgY29taWNzIGFuZCBtZXQgRWRkaWUgQ2FtcGJlbGwgKGFtb25nc3Qgb3RoZXJzKS5XaXRoIENyYWlnIGRvaW5nIGVub3VnaCB0YWxraW5nIGZvciB0aGUgYm90aCBvZiB1cywgSSBkZWNpZGVkIHRvIHdoaXAgb3V0IG15IGNhbWVyYSBhbmQgdGFrZSBhIGZldyBwaG90b3Mgb2YgdGhlIHNjZW5lcyB1bmZvbGRpbmcuIE5vdyB5b3UgY2FuIHNlZSB0aGVtIGluIGZ1bGwgY29sb3VyIHdpdGggeW91ciBhY3R1YWwgZXllcy5UaGUgc2NlbmUgd2FzIFBhZ2UgNDUsIE5vdHRpbmdoYW0mIzM5O3MgYmVzdCBjb21pYyBzaG9wLCBhdCB0aGUgRWRkaWUgQ2FtcGJlbGwgc2lnbmluZy4gV2Ugd2VudCBhcm1lZCB3aXRoIGEgYmFnIG9mIHF1ZXN0aW9ucyAoYW1vbmcgdGhlbQMzNzFkAmIPZBYCZg8VBTRXaGVuIENvbWljcyBWaWxsYWdlIE1ldCBFZGRpZSBDYW1wYmVsbC4uLiAoUGFydCBPbmUpBUNyYWlnB0pvaG5zb26wA1N1bmRheSAzcmQgQXVndXN0IDIwMDgNClNldHRpbmcgb2ZmIGZvciBQYWdlIDQ1IGluIE5vdHRpbmdoYW0gLSBCcml0YWluJiMzOTtzIGZpbmVzdCBjb21pY3Mgc2hvcCAtIHlvdXIgaW50cmVwaWQgcmVwb3J0ZXJzIHdlcmUgb24gYSBtaXNzaW9uOiZuYnNwOyB0byBzZWN1cmUgYSBWaWxsYWdlIEdvc3NpcCBpbnRlcnZpZXcgcGllY2Ugd2l0aCBTaXIgRWR3YXJkIG9mIENhbXBiZWxsLCBpbiB0aGlzLCB0aGUgbGFzdCBsZWcgb2YgaGlzIHdvcmxkIHRvdXIgdG8gcHJvbW90ZSBUaGUgRmF0ZSBvZiB0aGUgQXJ0aXN0IGFuZCB0aGUgdXBjb21pbmcgTW9uc2lldXIgTGVvdGFyZC4NCldpdGggdGhlIHNpZ25pbmcgc2V0IGZvciBiZXR3ZWVuIDEuMzAgYW5kIDMuMzAsIGFuZCBhIHNlY29uZCBjaGFuY2UgZG93biB0aGUgcHViIGJldHdlZW4gNCBhbmQgNiwgd2UgdwMzNjNkAmMPZBYCZg8VBTdTdXBlcmhlcm8gTWFnYXppbmUncyBGaWZ0eSBTdHVwaWRlc3QgRW1waXJlIEpvdXJuYWxpc3RzBUNyYWlnB0pvaG5zb27UAk9yIGFjdHVhbGx5LCBFbXBpcmUgTWFnYXppbmUmIzM5O3MgRmlmdHkgR3JlYXRlc3QgQ29taWMgQm9vayBDaGFyYWN0ZXJzLg0KJm5ic3A7DQpodHRwOi8vd3d3LmVtcGlyZW9ubGluZS5jb20vNTBncmVhdGVzdGNvbWljY2hhcmFjdGVycy9kZWZhdWx0LmFzcD9jPTENCiZuYnNwOw0KUHJlc3VtYWJseSByZXNlYXJjaGVkIGJ5IHdoYXRldmVyIHRyYW1wIHdhcyBoYW5naW5nIGFyb3VuZCBFbXBpcmUmIzM5O3Mgb2ZmaWNlcyB0aGF0IGRheSwgd2UgaGF2ZSB0aGUgZm9sbG93aW5nIGxpbmUgZnJvbSB0aGUgIzEgZW50cnksIFN1cGVybWFuOi0NCkhvdyBtYW55IG90aGVyIGNoYXJhY3RlcnMgZnJvbSADMzI2ZAJkD2QWAmYPFQVSQ2xpZmZvcmQgTWV0aCBvbiBTbmFrZWQsIFN5bHZpYSBQbGF0aCwgYW5kIHdoeSBIYXJsYW4gRWxsaXNvbiBpcyBsaWtlIEplc3VzIENocmlzdAVDcmFpZwdKb2huc29uqgINCkNsaWZmb3JkIE1ldGggaXMgYSBwcm9saWZpYyB3cml0ZXIsIHdpdGggc29tZSBvZiBoaXMgdXBjb21pbmcgcHJvamVjdHMgYmVpbmc6DQotIFRoZSBTTkFLRUQgVFBCIChodHRwOi8vd3d3Lmlkd3B1Ymxpc2hpbmcuY29tL3RpdGxlcy9zbmFrZWQuc2h0bWwpLCBvdXQgc29vbiBmcm9tIElEVyBQdWJsaXNoaW5nICh3aXRoIGEgYnJhbmQtbmV3IGludHJvZHVjdGlvbiBieSBHZW5lIENvbGFuKSANCi0gQ09NSUMgQk9PSyBCQUJZTE9OLCBjdXJyZW50bHkgYmVpbmcgcHJlcGFyZWQgYnkgQWFyZHdvbGYgUHVibGlzaGluZyAoAzIyOWQCZQ9kFgJmDxUFLlRoZSBDb21pY3Mgb2YgT2xpdmVyIEVhc3Q6IFRyYWlucyBBcmUgLi4uIE1pbnQFQ3JhaWcHSm9obnNvbvEDSXQmIzM5O3MgYW1hemluZyBob3cgb25lIHJ1bnMgYWNyb3NzIG5ldyBjb21pY3MgaW4gdGhpcyBpbnRlcm5ldCBhZ2UgLSBwaWN0dXJlIHRoZSBzY2VuZSwgSSB3YXMgbGlzdGVuaW5nIHRvIHRoZSBNYXJrIFJhZGNsaWZmZSBTaG93IG9uIEJCQyBSYWRpbyAyIChub3QgZXZlbiBsaXZlLCBqdXN0IHRoZSBMaXN0ZW4gQWdhaW4gZmVhdHVyZSB0aGUgQkJDIG9mZmVyIG9uIG1hbnkgb2YgdGhlaXIgcmFkaW8gcHJvZ3JhbW1lcykgYmVjYXVzZSBJJiMzOTtkIGhlYXJkIHRoYXQgRWxib3cgd2VyZSBvbiBpdCAtIGFzIEkmIzM5O20gYSBiaXQgb2YgYSBmYW4sIGFuZCB0aGVpciBuZXcgYWxidW0gaXMgY29taW5nIHVwIGZvciByZWxlYXNlICgxN3RoIE1hcmNoLCBUaGUgU2VsZG9tIFNlZW4gS2lkLCBidXkgaXQgZnJvbSBpVHVuZXMgb3IgYW1hem9uIChvdGhlciBpbnRlcm5ldCBhbmQgZXZlbiBub24taW50ZXJuZXQgcmV0YWlsZXJzIGFyZSBhdmFpbGFibGUpKSAtIHNvIGl0IHcDMTgyZAJmD2QWAmYPFQUYRGF2ZSBTaW0gb24gU3RldmUgR2VyYmVyBERhdmUDU2ltjANEYXZlIFNpbSYjMzk7cyBjb21tZW50cyBvbiBhIHJlY2VudCBmb3J1bSBwb3N0aW5nIGF0IHRoZSBDb21pY3MgQnVsbGV0aW4gbWVzc2FnZSBib2FyZCwgYWJvdXQgU3RldmUgR2VyYmVyIHdobyB0cmFnaWNhbGx5IGRpZWQgb24gTW9uZGF5ICh1c2VkIHdpdGggcGVybWlzc2lvbiBmcm9tIERhdmUgU2ltKS5IZSB3YXMgYSB3b25kZXJmdWwgZ3V5LiBUaGUgbGFzdCB0aW1lIEkgc2F3IGhpbSB3YXMgdGhlIG5pZ2h0IG9mIHRoZQ0KbGVnZW5kYXJ5IEFhcmR2YXJrcyBPdmVyIFNhbiBEaWVnbyBwYXJ0eSBhdCB0aGUgSG9saWRheSBJbm4gRW1iYXJjYWRlcm8NCihzcD8pIHdoZW4gR2VyIGFuZCBJIGhhZCBhIHR3byBiZWRyb29tIHN1aXRlIG9uIHRoZSB0b3AgZmxvb3IsIGhhbmRlZA0Kb3V0IDMwIGkDMTM2ZAJnD2QWAmYPFQU0SURXJ3MgU25ha2VkISBDZW5zb3JlZCBieSBVUyBQb2xpdGljYWwgSGVhdnl3ZWlnaHRzPwVDcmFpZwdKb2huc29u1wNBcyBvcmlnaW5hbGx5IHJlcG9ydGVkIG9uIHRoaXMgd2Vic2l0ZSBlYXJsaWVyIHRoaXMgd2VlaywgaXQgYXBwZWFycyB0aGF0IHBhZ2UgMjIgb2YgSURXJiMzOTtzIFNuYWtlZCEgaXNzdWUgdGhyZWUgaGFzIGJlZW4gY2Vuc29yZWQgLi4uIGFuZCBnaXZlbiB0aGUgY29udGVudCBvZiB0aGUgcGFnZSwgaXQmIzM5O3MgcG9zc2libGUgdGhpcyBjZW5zb3JzaGlwIGNhbWUgb24gdGhlIGJhY2sgb2YgcHJlc3N1cmUgZnJvbSBzb3VyY2VzIGNsb3NlIHRvIHRoZSBDbGludG9ucy4uLndpdGggc2NlbmVzIGZlYXR1cmluZyBib3RoIEJpbGwgYW5kIEhpbGxpYXJ5IENsaW50b24gcmVjZWl2aW5nIHBsZWFzdXJlIGF0IHRoZSAiaGFuZHMiIG9mIGEgbXlzdGVyeSBibG9uZGUsIENWIHNhdCBkb3duIHdpdGggd3JpdGVyIENsaWZmb3JkIE1ldGggYW5kIGFydGlzdCBSdWZ1cyBEYXlnbG8gdG8gZmluZCBvdXQgdGhlIHRydXRoOi0NCg0KDQoDMTI5ZAJoD2QWAmYPFQUwT3duIERhdmUgQ29ja3J1bSdzIFBlcnNvbmFsIENvbWljcyBDb2xsZWN0aW9uLi4uCENsaWZmb3JkBE1ldGjdAihGcm9tIGh0dHA6Ly90aGVjbGlmZm9yZG1ldGhvZC5ibG9nc3BvdC5jb20vMjAwNy8xMi9vd24tZGF2ZS1jb2NrcnVtcy1jb21pY3MuaHRtbCZuYnNwO3dpdGgga2luZCBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IpDQpUaGUgZm9sbG93aW5nIGlzIGEgc2FtcGxlIG9mIGNvbWljcyBiZWluZyBzb2xkIGZyb20gRGF2ZSBDb2NrcnVtJnJzcXVvO3MgcGVyc29uYWwgY29sbGVjdGlvbiBhbmQgZmlsZSBjb3BpZXMuIEFsbCBjb21lIGJhZ2dlZCwgYm9hcmRlZCBhbmQgc2VhbGVkIHdpdGggYSAiRGF2ZSBDb2NrcnVtIEVzdGF0ZSIgc2VhbCBvZiBhdXRoZW50aWNpdHkuIENoZWNrcyBzaG91bGQgYmUgcGF5YWJsZSB0byACODFkAmkPZBYCZg8VBRJCcmFuZCBOZXcgQm9sbG9ja3MFQ3JhaWcHSm9obnNvbs0DDQpBIHJlY2VudCB3ZWxsLWtub3duIGludGVybmV0IGNvbHVtbmlzdCwgQnJhbmRvbiBUaG9tYXMsIHdyb3RlIGluICZsdDthIGhyZWY9aHR0cDovL2ZvcnVtLm5ld3NhcmFtYS5jb20vc2hvd3RocmVhZC5waHA/dD0xNDE2MzMmZ3Q7aGlzIGNvbHVtbiZsdDsvYSZndDsgYXQgTmV3c2FyYW1hIGEgZGVmZW5jZSBvZiBTcGlkZXItTWFuOiBPbmUgTW9yZSBEYXkgYnkgb3BlbmluZyB1cCB3aXRoOi0NCiJTZXJpb3VzbHkmaGVsbGlwO3dhcyB0aGF0IHJlYWxseSBzbyBiYWQ/ICINCk15IGFuc3dlciB3b3VsZCZyc3F1bzt2ZSBiZWVuOiBZZXMuIEVuZCB0aGUgY29sdW1uLiBZZXMgd291bGQgZG8uDQpCcmFuZG9uIGNvbW1lbnRlZCB0byBtZSB0aGF0OiAiSXQmIzM5O2xsIGJlIHJldmVyc2VkIGluIGEgeWVhciBvciBzbyBhbmQgSSB0aGluayBpdCYjMzk7bGwgYmUgaW50ZXJlc3RpbmcgdG8gaGF2ZSBhIFNwaWRlci0CNjNkAmoPZBYCZg8VBSVCdWxseWluZyBQb2xpY2llczogTmV3IFNjaG9vbCBvciBPbGQ/CENsaWZmb3JkBE1ldGjIAyZuYnNwOw0KQWZ0ZXIgdHdvIHllYXJzIG9mIHB1YmxpYyBzY2hvb2wsIG15IDEyLXllYXItb2xkIGJlZ2dlZCB0byByZXR1cm4gdG8geWVzaGl2YSB3aGVyZSBoZSBmZWx0IGhlJiMzOTtkIGJlIHN1cnJvdW5kZWQgYnkgbGlrZS1taW5kZWQgY2hpbGRyZW4gYW5kIGhhdmUgYW4gb3Bwb3J0dW5pdHkgZm9yIGEgbW9yZSByb2J1c3Qgc29jaWFsIGxpZmUuIE15IGFzc2Vzc21lbnQtLW5vdCBoaXMuIEhlIGp1c3Qgc2FpZCwgIkkgcmVhbGx5IHdhbnQgdG8gZ28gYmFjay4iIFNvIEkgc2VudCBoaW0gdG8gdGhlIEpvc2VwaCBLdXNobmVyIEhlYnJldyBBY2FkZW15LlJlbGlnaW91c2x5IHNwZWFraW5nLCBKS0hBIGlzIGEgQ29uc2VydmFkb3ggZW5jbGF2ZSAoYWx0aG91Z2ggdGhleSBtYXJrZXQgdGhlbXNlbHZlcyBhcyAiT3J0aG9kb3giKSBsb2NhdGVkIGtpdHR5LWNvcm5lciB0byB0aGUgcHJlc3RpZ2lvdQI1N2QCbA9kFgJmDxUFF05ldyBTcXVheHggT24gVGhlIEJsb2NrBVNoYW5lB0NoZWJzZXlbTmV3IFNxdWF4eCBvbiB0aGUgQmxvY2sNCg0KQSBmcmVzaCBmYWNlIHRha2VzIG92ZXIgYXQgdGhlIEdhbGF4eSZyc3F1bztzIEdyZWF0ZXN0IEZhbnppbmUNCgMxMjVkAm0PZBYCZg8VBRtBbiBJbnRlcnZpZXcgV2l0aCBBZCBHcm9zZS4FU2hhbmUHQ2hlYnNleYcBSSByZWNlbnRseSBjYXVnaHQgdXAgd2l0aCBBZCBHcm9zZSB0aGUgbWFuIGJlaGluZCBDbG93biBQcmVzcyBhc2tlZCBoaW0gYWJvdXQgaGlzIG5ldyBib29rIGFuZCBkZWx2ZWQgYSBsaXR0bGUgaW50byB3aGF0IG1hZGUgaGltIHRpY2s6AzEwNmQCbg9kFgJmDxUFHEFjY2VudCBVSyAtIFRoZSBJbnNpZGUgU2Nvb3AFU2hhbmUHQ2hlYnNleSRXZWxjb21lIGJhY2sgdG8gSW5keSBVbmRlcmN1cnJlbnQuDQoCMzZkAm8PZBYCZg8VBRROZXcgS2lkIG9uIHRoZSBCbG9jawVTaGFuZQdDaGVic2V59QINCiBXaGVuIEkgZmlyc3Qgc3RhcnRlZCBkb2luZyBUaGUgU21hbGx6b25lIERpc3RyaWJ1dGlvbiBzZXJ2aWNlIGluIDE5OTkgaXQgd2FzIGJlY2F1c2UgSSB0aG91Z2h0IGl0IHdhcyBzb21ldGhpbmcgdGhhdCB3YXMgZGVzcGVyYXRlbHkgbmVlZGVkIGFzIG5vYm9keSBlbHNlIHdhcyBkb2luZyBpdCBhbmQgZm9yIHRoZSBwYXN0IDggeWVhcnMgaXTigJlzIHNlZW1lZCBsaWtlIGl0IHdhcyBhbHdheXMgZ29pbmcgdG8gYmUganVzdCBtZS4NCg0KDQoNCkJ1dCBub3csIGEgbmV3IHlvdW5nIHVwc3RhcnQg4oCTIG9uZSBNaXN0ZXIgT2xpIOKAmGhlIGhhcyBiaWcgY3VybHkgaGFpciBzbyBoZSBtdXN0IGJlIGhpcOKAmCBTbWl0aCwgc21hbGwgcHJlc3MgY3JlAjE2ZAJxD2QWAmYPFQUaV2h5IE1ha2VvdmVyIGFuZCBNb3ZlIE91dD8ETGlzYQhBbmRlcnNvbugDVGhvdWdoIHByaW1pdGl2ZSBjb21wYXJlZCB0byB0aGUgZmxhc2ggb2YgbW9kZXJuIGNvbXB1dGVyIGdyYXBoaWNzIGluIGFuaW1hdGlvbiB0aGVzZSBkYXlzLCBmbGlwIGJvb2tzIGFyZSBzdGlsbCBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIGZvdW5kYXRpb24gZm9yIGFuaW1hdGlvbiBhcyBhIHdob2xlLiZuYnNwOyBOb3RoaW5nIG1vcmUgdGhhbiBwYWdlIGFmdGVyIHBhZ2Ugb2Ygc2xpZ2h0bHkgZGlmZmVyZW50IGFydCBvciBwaG90b3MsIHRoYXQsIHdoZW4gZmxpcHBlZCwgY3JlYXRlZCBhIG1vdmluZyBzY2VuZS4mbmJzcDsgSWYgZm9yY2VkIHRvIGNob29zZSBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5pbWF0ZWQgbW92aWUgYW5kIGEgZmxpcCBib29rLCBJIGRvdWJ0IG1hbnkgLSBpZiBhbnkgYXQgYWxsIC0gd291bGQgY2hvb3NlIHRoZSBsYXR0ZXIuICZuYnNwO1dlYiBjb21pYyBhcnR3b3JrIHdhbGtzIGRvd24gYSBzaW1pbGFyIHJvYWQsIHdoZXJlIHRoZSADMzgzZAJyD2QWAmYPFQURQ3VsdHVyYWwgVXBoZWF2YWwETGlzYQhBbmRlcnNvbtYDKEFoLCBmaW5hbGx5IGJhY2sgZnJvbSB0aGUgbGFuZCBvZiBzaWNrbmVzcyBhbmQgcG93ZXIgb3V0YWdlcyEmbmJzcDsgSHVycmljYW5lcyB3aWxsIGdldCB5b3Ugb25lIHdheSBvciB0aGUgb3RoZXIgaXQgc2VlbXMuJm5ic3A7IEJ1dCBlbm91Z2ggb2YgdGhhdCwgb24gdG8gYmV0dGVyIHRoaW5ncyZoZWxsaXA7KVVubGVzcyB5b3UgbGl2ZSBpbiBhIG1lZGlhLWZyZWUgYnViYmxlLCB3aGljaCBpcyBnZXR0aW5nIGhhcmRlciBhbmQgaGFyZGVyIHRvIHB1bGwgb2ZmIHRoZXNlIGRheXMsIGl0JnJzcXVvO3MgaGFyZCB0byBhdm9pZCBoZWFyaW5nIG9yIHNlZWluZyBzb21ldGhpbmcgYWJvdXQgdGhlIE9seW1waWNzLiZuYnNwOyBUaG91Z2ggdGhlIGdhbWVzIHRoZW1zZWx2ZXMgYXJlIG9ubHkgYSBmZXcgZGF5cyBpbiwgbWluaS1ldmVudHMgaGF2ZSBiZWVuIHBvcHBpbmcgdXAgYWxsIG92ZXIgZm9yIGEgZ29vZCBtb250aCBvciADMzczZAJzD2QWAmYPFQUuV2l0aCBGcmllbmRzIExpa2UgVGhlc2UuLi4gOiBMb29raW5nIEZvciBHcm91cARMaXNhCEFuZGVyc29u6ANGaW5kaW5nIGEgZ29vZCZuYnNwOyBmYW50YXN5IHdlYiBjb21pYyBpc24mcnNxdW87dCBhcyBlYXN5IGFzIGl0IHNvdW5kcy4mbmJzcDsgTWFueSBsZWFuIG1vcmUgdG93YXJkIGEgbWFuZ2EtZXNrIHN0eWxlIHRoYW4gc3RyYWlnaHQgZmFudGFzeSwgd2l0aCBhIHN0b3J5IHRoYXQgcmV2b2x2ZXMgYXJvdW5kIG5vdGhpbmcgbW9yZSB0aGFuIHNjYW50aWx5LWNsYWQgZWx2ZXMgYW5kIG92ZXJseS1mZW1pbmluZSBldmlsIHdpemFyZHMuJm5ic3A7IE90aGVycyByZWFkIGxpa2UgYSBSUEcgdmlkZW9nYW1lOyB0aGUgb25seSB0aGluZyBob2xkaW5nIHRoZW0gYmFjayBmcm9tIHN1Y2ggYSBsYWJlbCAoYXNpZGUgZnJvbSBiZWluZyBwcmludCByYXRoZXIgdGhhbiBhIGdhbWUpIGlzIHRoZSBob3VycyBvZiBtb2Itc2xheWluZyAtIGp1c3QgdG8gZ2FpbiBhIHNpbmdsZSBsZXZlbCAtIHRoYXQgdGhleSBsYWNrLiAmbmJzcDtJIGtub3cgdGhhdCBmYXJtZXIgYm95LQMzNDJkAnQPZBYCZg8VBSFUbyBFbmNvcmUgb3IgTGV0IHRoZSBDcmVkaXRzIFJvbGwETGlzYQhBbmRlcnNvbugDQWxsIGdvb2QgdGhpbmdzIG11c3QgY29tZSB0byBhbiBlbmQsIHJpZ2h0PyZuYnNwOyBJbiB0aGUgcmVhbG0gb2Ygd2ViIGNvbWljcywgdGhlIGRlY2lzaW9uIHRvIGVuZCBhIHN0b3J5IGlzIGEgZmFpcmx5IHJhcmUgb25lLiAoQW5kIGJ5IGVuZCBJIG1lYW4gYSBwbGFubmVkIG91dCBlbmRpbmcmaGVsbGlwO25vdCB0aGUgY2FzZXMgb2YgJmxzcXVvO0kmcnNxdW87bSB0aXJlZCBvZiBkb2luZyB0aGlzIHNvIHRoaXMgaXMgaXQmcnNxdW87LCBvciAmbHNxdW87VGhlIHN0b3J5IGlzIG9uIGluZGVmaW5pdGUgaGlhdHVzIHVudGlsIEkmcnNxdW87bSBpbnRlcmVzdGVkIGFnYWluJnJzcXVvOy4pRm9yIG1hbnkgd2ViIGNvbWljcywgZW5kaW5ncyBqdXN0IGFyZW4mcnNxdW87dCBhIGlzc3VlLiZuYnNwOyBXcml0dGVuIGluIHRoZSBjbGFzc2ljIGNvbWljIHN0cmlwIHN0eWxlLCBzb21lIHdlYiBjb21pY3Mgc2hhcmUgdGhlIHNhbWUgaW1tb3J0YWxpdHkgdGhhdCADMzMzZAJ1D2QWAmYPFQUiU3VwcG9ydGluZyBGYWN0b3JzIDEgLSBUaGUgV2Vic2l0ZQRMaXNhCEFuZGVyc29u6ANBIGZldyB3ZWVrcyBhZ28gSSByYW1ibGVkIGEgYml0IG9uIHZhcmlvdXMgdGhpbmdzIHdlYiBjb21pYyBjcmVhdG9ycyBzaG91bGQgdGhpbmsgYWJvdXQgd2hlbiBnZXR0aW5nIHN0YXJ0ZWQuJm5ic3A7IFRob3VnaCBJJnJzcXVvO20gaGFwcHkgd2l0aCB0aGUgbGlzdCwgbWFueSBvZiB0aGUgZW50cmllcyBhcmUgd29ydGggYSBzZWNvbmQgKGFuZCBsb25nZXIpIGxvb2suJm5ic3A7IFdpdGggdGhhdCBpbiBtaW5kLCBsZXQmcnNxdW87cyBnZXQgc3RhcnRlZCB3aXRoIHRoZSBiYWNrYm9uZSB0byBhbnkgd2ViIGNvbWljOyB0aGUgd2Vic2l0ZSBpdHNlbGYuV2hpbGUgaXQmcnNxdW87cyB0cnVlIHRoYXQgdGhlIGNvbWljIGl0c2VsZiBpcyB0aGUgbW9zdCBpbXBvcnRhbnQgcGFydCBvZiBhIHN1Y2Nlc3NmdWwgd2ViIGNvbWljIChoZW5jZSB0aGUgJmxzcXVvO2NvbWljJnJzcXVvOyBwYXJ0KSwgZXZlbiB0aGUgYmVzdCBzdG9yeSBhbmQgYXJ0IGlzIG5vdGhpbgMzMTFkAnYPZBYCZg8VBRtEb3duIHRoZSBSYW5kb20gSG9sZTogQnVubnkETGlzYQhBbmRlcnNvbugDSHVtb3IgaGFzIGFsd2F5cyBiZWVuIGEgcHJldHR5IHN1YmplY3RpdmUgdGhpbmcsIGJ1dCBpdCZyc3F1bztzIGZhaXIgdG8gc2F5IHRoYXQgY2VydGFpbiBzdWItZ2VucmVzIHN0YW5kIG91dCBmcm9tIHRoZSByZXN0IG9mIHRoZSBjcm93ZC4mbmJzcDsgSWYgYSBsaW5lIGhhZCB0byBiZSBkcmF3biwgKEZlZWwgZnJlZSB0byBzdWJzdGl0dXRlIHlvdXIgc3R5bGUgb2YgY2hvaWNlLCBvZiBjb3Vyc2UpIHlvdSBtaWdodCBoYXZlIHlvdXIgc2xhcHN0aWNrIGFuZCBzaXR1YXRpb25hbCBjb21lZGllcyBvbiBvbmUgc2lkZSwgd2hpbGUgaW5zdWx0cyBhbmQgaW5udWVuZG8gcm9hbSB0aGUgb3RoZXIuIERlcGVuZGluZyBvbiB5b3VyIHBlcnNvbmFsaXR5LCBpdCBtaWdodCBiZSBlYXN5IHRvIHNjb2ZmIGF0IG9uZSBzdHlsZSB3aGlsZSBwbGFjaW5nIGFub3RoZXIgb24gYSBwZWRlc3RhbC5Tb21ld2hlcmUgZG93biB0aGF0IG1hZ2ljIGxpbmUsIGl0IHN1ZGRlbmwDMzA0ZAJ3D2QWAmYPFQUmRHJlYW0gRGl2aW5nOiBUaGUgRHJlYW1sYW5kIENocm9uaWNsZXMETGlzYQhBbmRlcnNvbugDUGVvcGxlIGFyZSBjYXBhYmxlIG9mIHF1aXRlIGEgZmV3IGFtYXppbmcgdGhpbmdzLiZuYnNwOyBTZXR0aW5nIGFzaWRlIGEgZmV3IG9mIHRoZSBwb3B1bGFyIGNob2ljZXMgc3VjaCBhcyBsb3ZlLCBjb21wYXNzaW9uLCB1bmRlcnN0YW5kaW5nIGFuZCBzbyBvbiwgd2UgZXZlbnR1YWxseSBjb21lIHRvIG9uZSBvZiBteSBmYXZvcml0ZXMgLSBkcmVhbWluZy4mbmJzcDsgV2hlcmUgZWxzZSBjYW4gc29tZW9uZSBleHBlcmllbmNlIGVuZGxlc3Mgd29ybGRzIG9mIGltbWVyc2l2ZSBjb250ZW50LCBjb2xvcmZ1bCBsb2NhdGlvbnMsIGFuZCBleG90aWMgY28tc3RhcnM/Jm5ic3A7IEEgSG9sbHl3b29kIGluc2lkZSB5b3VyIG1pbmQsIGRyZWFtcyBhcmUgYXMgd2lsZCBhbmQgdmFyaWVkIGFzIHlvdXIgc3ViY29uc2Npb3VzIGFuZCBpbWFnaW5hdGlvbiBhbGxvdyB0aGVtIHRvIGJlLlNhZmVseSBjb25maW5lZCB0byB0aGUgcmVhbG0gb2Ygc2xlZXAsIGl0JnJzcXUDMjg0ZAJ4D2QWAmYPFQURTG9zdCBpbiB0aGUgV29vZHMETGlzYQhBbmRlcnNvbtwDT3IsIGFzIEkgbGlrZSB0byB0aGluayBvZiBpdDogVGhpbmdzIEkgd2lzaCBwZW9wbGUgd291bGQgY29uc2lkZXIgYmVmb3JlIHN0YXJ0aW5nIGEgd2ViIGNvbWljLiBUaGVyZSBzZWVtIHRvIGJlIHNvbWUgbWlzY29uY2VwdGlvbnMgYWJvdXQgd2ViIGNvbWljcywgc3BlY2lmaWNhbGx5IHdoZW4gaXQgY29tZXMgdG8gc3RhcnRpbmcsIHJ1bm5pbmcsIGFuZCBjb250aW51aW5nIHRoZW0uJm5ic3A7IE92ZXJuaWdodCwgbmV3IHdlYiBjb21pY3Mgc3ByaW5nIGludG8gYmVpbmcsIG9ubHkgdG8gdmFuaXNoIGFmdGVyIGEgZmV3IHBhZ2VzLiZuYnNwOyBUaGUgcmVhc29ucyBzZWVtIHRvIHZhcnksIGJ1dCB0aGV5IGVuZCBqdXN0IHRoZSBzYW1lLkZvciBzb21lIHBlb3BsZSwgaXQgcHJvYmFibHkgc291bmRzIGVhc3kgdG8gbWFrZSBhIHdlYiBjb21pYzsganVzdCBkcmF3IHNvbWUgY2hhcmFjdGVycywgbWFrZSB1cCBzb21lIHNldHRpbmcsIHQDMjY0ZAJ5D2QWAmYPFQUfRnJpZW5kbHkgQW50aWNzOiBTZXF1ZW50aWFsIEFydARMaXNhCEFuZGVyc29u6ANXaGVuIEkgd2FzIHlvdW5nZXIgSSBoYWQgYSBib2FyZCBnYW1lIGNhbGxlZCBMaWZlLiZuYnNwOyBBc2lkZSBmcm9tIHRoZSBhbWJpdGlvdXMgdGl0bGUsIGl0IGhhZCBhIGxvdCBvZiB0aGluZ3MgbW9zdCBwZW9wbGUgbG9vayBmb3IgaW4gYSBnb29kIGJvYXJkIGdhbWU7IHNwaW5uZXIsIGxpdHRsZSBjYXJkcywgY29sb3JmdWwgYm9hcmQsIGN1dGUgcGxheWVyIHBpZWNlcywgYW5kIHNvIG9uLiZuYnNwOyBUaGUgb2JqZWN0IG9mIHRoZSBnYW1lIHdhcyBmYWlybHkgc2ltaWxhciB0byBsaWZlIGFzIHdlbGw7IHN1cnZpdmUgdGhlIHVwcyBhbmQgZG93bnMgb2YgbGl2aW5nLCBhbGwgd2l0aCB0aGUgZW5kIGdvYWwgb2YgYSB3ZWFsdGh5IHJldGlyZW1lbnQuIChOb3cgaWYgb25seSByZWFsIGxpZmUgY291bGQgYmUgYXMgZWFzeSBhcyB0aGF0IGdhbWUhKUFsb25nIHRoZSB3YXkgeW91IGVuY291bnRlcmVkIGNlcnRhaW4gbWFqb3IgZXZlbnRzLiZuYnNwOyBTYwMyNTZkAnoPZBYCZg8VBRxTdXJwcmlzZSBSZWFsaXRpZXM6IEt1a3VidXJpBExpc2EIQW5kZXJzb27oA0luIHJlY2VudCB5ZWFycyBJJnJzcXVvO3ZlIHN0YXJ0ZWQgY29taW5nIGFjcm9zcyB3ZWIgY29taWMgc3VnZ2VzdGlvbnMgaW4gYSB2YXJpZXR5IG9mIHBsYWNlcywgZnJvbSBmb3J1bXMgdG8gZ2FtaW5nIHNpdGVzLiZuYnNwOyBZZXN0ZXJkYXkgYW5vdGhlciBzdWNoIHN1Z2dlc3Rpb24gY3Jvc3NlZCBteSBwYXRoIGFuZCBpbW1lZGlhdGVseSBJIHRvb2sgdG8gaXQgd2l0aG91dCBsb29raW5nIGJhY2ssIHdpdGhvdXQgYSBzaW5nbGUgcmVncmV0LiZuYnNwOyBJIGxvdmUgcGxlYXNhbnQgc3VycHJpc2VzLkkgaGF2ZSB0byBhZG1pdCwgS3VrdWJ1cmkgaXNuJnJzcXVvO3QgdGhlIGZpcnN0IHdlYiBjb21pYyBJJnJzcXVvO3ZlIGZvdW5kIHRocm91Z2ggU3RldmUgSmFja3NvbiBHYW1lcy4mbmJzcDsgKEhvbWUgdG8gTXVuY2hraW4sIEdVUlBTLCBhbmQgbWFueSBvdGhlciBmdW4gZ2FtZXMuKSZuYnNwOyBUaGUgZmlyc3Qgd2FzIEdpcmwgR2VuaXVzLCBhbiBhAzI1MWQCew9kFgJmDxUFGkRyYXdpbmcgYSBMaW5lIGluIHRoZSBTYW5kBExpc2EIQW5kZXJzb27oA1dvbWVuIGFuZCBjb21pY3MmaGVsbGlwO2l0JnJzcXVvO3MgYW4gb2xkIGlzc3VlLCBvbmUgdGhhdCBoYXMgYmVlbiByYWtlZCBvdmVyIGENCnZhcmlldHkgb2YgY29hbHMsIGRpc3NlY3RlZCBpbiBhYm91dCBldmVyeSB3YXkgcG9zc2libGUsIGFuZCB0b3NzZWQNCmFib3V0IHdoZW5ldmVyIHBlb3BsZSBuZWVkIGEgcXVpY2sgZGViYXRlIHRvcGljLiZuYnNwOyBGb3IgYSB3aGlsZSBJIGhhZCB0aGUNCmlsbHVzaW9uIHRoYXQgc29tZWhvdywgc29tZXdoZXJlIHBlb3BsZSBoYWQgc2V0dGxlZCB0aGUgaXNzdWUgYW5kIGl0DQp3b3VsZCBiZSBhbGxvd2VkIHRvIGRpZSBhIHF1aWV0IGRlYXRoLiAoV2hvIGtuZXcgSSBjb3VsZCBoYXZlIGENCmRlbHVzaW9uYWwgb3B0aW1pc3RpYyBzaWRlPykNCg0KV2l0aCB0aGUgcmlzZSBvZiB3ZWIgY29taWNzIC0gYW5kIHRoZSBncm93aW5nIHRyZW5kIHdoZXJlIG1hbnkgb2YgdGhlbQ0Kc2VlIGhhcmQtY29weSBwdWJsaWNhAzI0MWQCfA9kFgJmDxUFLVR3aXN0aW5nIHRoZSBUaW1lbGVzczogTm8gUmVzdCBmb3IgdGhlIFdpY2tlZARMaXNhCEFuZGVyc29u6ANJdCZyc3F1bztzIGFtYXppbmcgd2hhdCBvZGRpdGllcyB3aWxsIHNwYXJrIGEgcGVyc29uJnJzcXVvO3MgbWVtb3J5IGFib3V0IHNvbWV0aGluZyBjb21wbGV0ZWx5IHVucmVsYXRlZC4mbmJzcDsmbmJzcDsgJm5ic3A7Q2FzZSBpbiBwb2ludCwgbGFzdCBTYXR1cmRheS9TdW5kYXkuJm5ic3A7IEkgd2FzIHN1ZGRlbmx5IHN0dWNrIGRyaXZpbmcgYSBmcmllbmQgdG8gdGhlIGFpcnBvcnQsIHdoaWNoIG5vcm1hbGx5IHdvdWxkbiZyc3F1bzt0IGJlIGEgcHJvYmxlbSwgZXhjZXB0IHRoYXQgdGhlIG5lYXJlc3QgYWlycG9ydCBpcyBzb21ldGhpbmcgbGlrZSAxNTAgbWlsZXMgYXdheS4mbmJzcDsgKEZvciBhIHdvbmRyb3VzIHRvdGFsIG9mIDYwMCBtaWxlcyBmb3IgdGhlIHR3byByb3VuZC10cmlwIGRyaXZlcyB1cCBhbmQgYmFjayBvdmVyIGEgdHdvLWRheSBwZXJpb2QuKSZuYnNwOyBFdmVuIHRoZSBkaXN0YW5jZSB3YXNuJnJzcXVvO3QgcmVhbGx5IHRoYXQgYgMyMjdkAn0PZBYCZg8VBRxBIE5ldyBLaW5kIG9mIFN1cHBvcnQ6IFdPV0lPBExpc2EIQW5kZXJzb27fA1JlYWRlciBzdXBwb3J0IGlzIGEgYmlnIHBhcnQgb2Ygd2ViIGNvbWljcy4mbmJzcDsgT2theSwgdGhhdCB3YXMgYW4gdW5kZXJzdGF0ZW1lbnQ7IHJlYWRlciBzdXBwb3J0IGlzIGEgaHVnZSBwYXJ0IG9mIHdlYiBjb21pY3MuJm5ic3A7IEZvcnVtcywgdm90aW5nLCB3YWxscGFwZXJzIGFuZCBpY29ucyBvbiBvbmUgc2lkZTsgZmFuIGFydCwgZmFuIGZpY3Rpb24sIHNoaXBwZXIgd2FycyBhbmQgY29uc3RhbnQgc3BlY3VsYXRpb24gb24gdGhlIG90aGVyJmhlbGxpcDthbmQgdGhhdCBpc24mcnNxdW87dCBldmVuIGNvdW50aW5nIGRvbmF0aW9uIGRyaXZlcywgd2FycywgY3Jvc3MtY29taWMgZHJpdmVzLCBhbmQgbWVyY2hhbmRpc2UhICZuYnNwO1doaWxlIG1vc3QgcmVhZGVycyBhcmUgaGFwcHkgdG8gbWFrZSB0aGVpciB3ZWIgY29taWMgcm91bmRzOyBmaW5kaW5nIHRoZSBzdG9yeSBvZiBjaG9pY2UsIHJlYWRpbmcgdGhlIGxhdGVzdCBwYWdlAzIwN2QCfg9kFgJmDxUFGldvcmxkcyBBbGl2ZTogS2V2aW4gJiBLZWxsBExpc2EIQW5kZXJzb27rA0FzIGdlbmVyYWwgcnVsZXMgZ28sIHRoZXJlIGFyZSBjZXJ0YWluIGtleSB0aGluZ3MgdGhhdCBtb3N0IHdlYiBjb21pY3Mgc2VlbSB0byBhdm9pZCB3aXRoIGEgcGFzc2lvbiAtIGlmIG5vdCBvdXRyaWdodCBmZWFyLiZuYnNwOyBPbmUgb2YgdGhlIGJpZ2dlc3Qgb24gdGhhdCBsaXN0IHdvdWxkIGhhdmUgdG8gYmUgdGhlIHdvcmxkLiZuYnNwOyBOb3csIEkmcnNxdW87bSBub3QgdGFsa2luZyBhYm91dCB0aGUgd29ybGQgYXMgYSBtZXNoIG9mIGN1bHR1cmVzLCBwbGFjZXMsIHBlb3BsZXMsIGFuZCBzbyBvbiZoZWxsaXA7dGhlIGlzc3VlIGlzbiZyc3F1bzt0IHRoYXQgYmlnLiZuYnNwOyBObywgSSBtZWFuIHRoZSB3b3JsZCBhcyBpbiBzb21ldGhpbmcgZnVsbCBvZiBhd2t3YXJkLXRvLWRyYXcgb3V0ZG9vciBzY2VuZXJ5LCBvciBwb3NzZXNzaW5nIGEgY2FzdCBvZiBjaGFyYWN0ZXJzIHRoYXQgYnJhbmNoZXMgYmV5b25kIGEgY29yZSBncm91cCBvZiB0aHJlZSB0AzE5NWQCfw9kFgJmDxUFGUxpZmUgODA5OiBQbGFuZXQgU2F0dXJkYXkETGlzYQhBbmRlcnNvbugDQmFjayBpbiBteSBmaXJzdCB5ZWFyIG9mIGNvbGxlZ2UsIEkgcmFuIGFjcm9zcyBteSBmaXJzdCBncm91cCBvZiBhY2FkZW1pYyBhZHZpc29ycy4mbmJzcDsgKE9rYXksIHRlY2huaWNhbGx5IEkgbWV0IHRoZW0gc29vbmVyIHRoYW4gdGhhdCwgYnV0IGNvbGxlZ2Ugd2FzIHRoZSBmaXJzdCB0aW1lIEkgd2FzIG9sZCBlbm91Z2ggdG8gdGVsbCB0aGVtIHRvIHNob3ZlIG9mZikuJm5ic3A7IERyZXNzZWQgbGlrZSBzb21lIGtub2NrLW9mZiBwb3dlciBleGVjdXRpdmVzIHRoZXkmcnNxdW87ZCBwcm9iYWJseSBzZWVuIG9uIFRWLCB0aGUgYWR2aXNvcnMgKG9yIG1vcmUgYWNjdXJhdGVseSwgdHJhaW5lZCBpZGlvdHMpIGJlZ2FuIGhhcHBpbHkgZXhwbGFpbmluZyBhbGwgdGhlIGNsYXNzZXMgYW5kIHBvaW50bGVzcyBiaXRzIG9mIGtub3dsZWRnZSBJIHdvdWxkIG5lZWQgdG8gc3VjY2VlZCBpbiBsaWZlLiBBc2lkZSBmcm9tIHRoZSBob2x5IHRyaW5pdHkgb2YgTWEDMTY1ZAKAAQ9kFgJmDxUFIkFyZSBZb3UgYSBHb29kIExpbmsgb3IgYSBCYWQgTGluaz8ETGlzYQhBbmRlcnNvbugDSXQmcnNxdW87cyBub3QgdW51c3VhbCB0byBpbnRyb2R1Y2UgeW91ciBmcmllbmRzIHRvIGVhY2ggb3RoZXImaGVsbGlwO2J1dCB3aGF0DQpoYXBwZW5zIGlmIHRoZSBvbmx5IHRoaW5nIHRoZXkgaGF2ZSBpbiBjb21tb24gaXMgaGF2aW5nIHlvdSBmb3IgYQ0KZnJpZW5kPyZuYnNwOyBUaGUgbGlua2luZyBhbmQgcmVjb21tZW5kYXRpb24gY2lyY2xlcyBmb3Igd2ViIGNvbWljcyBhcmUNCnByZXR0eSBzaW1pbGFyLCBhbmQgY2FuIGhhdmUgZXF1YWxseSBiYWQgcmVzdWx0cy4mbmJzcDsmbmJzcDsgJm5ic3A7VG8gc3RhcnQsDQpJIGhhcHBlbiB0byBmYXZvciB0aGUgaWRlYSBvZiBnaWFudCBzaXRlcyBjb2xsZWN0aW5nIGFuZC9vciBob3VzaW5nIGENCmxhcmdlIG51bWJlciBvZiB3ZWIgY29taWNzLiZuYnNwOyBOb3Qgb25seSBkb2VzIGl0IGdpdmUgcGVvcGxlIC0gYm90aCByZWFkZXINCmFuZCBjcmVhdG9yIGFsaWtlIC0gYSBwbGFjZSB0byBzdGFydCwgYnUDMTU3ZAKBAQ9kFgJmDxUFFUZyZXNoIEVwaWNzOiBSaWNlIEJveQRMaXNhCEFuZGVyc29u6ANJZiB5b3Ugc3BlbmQgYW55IHRpbWUgYXQgYWxsIHJlYWRpbmcgYSB3ZWIgY29taWMsIHlvdSB3aWxsIGV2ZW50dWFsbHkNCmZpbmQgcmVjb21tZW5kYXRpb25zIGZvciBvdGhlciB3ZWIgY29taWNzLiZuYnNwOyBMaWtlIHRob3NlIGhpZGRlbiBsaXN0cyBvbg0KdGhlIGJhY2sgcGFnZSBvZiBhIGJvb2ssICh0aGUgc29ydCB0aGF0IGxpc3QgZm91ciBvciBmaXZlIHRpdGxlcyBieQ0Kc29tZSBhdXRob3Igb3IgYW5vdGhlciwgY29tcGxldGUgd2l0aCBzaG9ydCBkZXNjcmlwdGl2ZSBibHVyYnMgZm9yIGVhY2gNCnN0b3J5KSB0aGV5IHBvcCB1cCBpbiB0aGUgd29ybGQgb2Ygd2ViIGNvbWljczsgdXN1YWxseSBpbiB0aGUgZm9ybSBvZg0KY2F0Y2h5IHNpZGUtYmFubmVycywgb3IgZGlyZWN0IG1lbnRpb24gYnkgdGhlIGF1dGhvciBvZiB0aGUgY29taWMgeW91DQpjdXJyZW50bHkgZmFuY3kuU28gaXQgZ29lcyB0aGF0IG9uZSBjb21pYyBsZWFkcyB0byBhbm90aAMxNDdkAoIBD2QWAmYPFQUZT2xkIFN0eWxlcyBSZXZpdmVkOiBNaW51cwRMaXNhCEFuZGVyc29u6ANJdCZyc3F1bztzIG9kZCB0byBsb29rIGJhY2sgb3ZlciB0aGUgeWVhcnMgSSZyc3F1bzt2ZSB3YW5kZXJlZCB0aHJvdWdoIGxpZmUsIHRvIHNlZSBqdXN0IGhvdyBtdWNoIHRoZSB0aGluZ3MgSSBlbmpveSBoYXZlIGNoYW5nZWQuIFdoaWxlIHRoZSB0cmFuc2l0aW9uIGZyb20gcmVjb3JkIHRvIENEIGlzIGNlcnRhaW5seSBvbmUgb2YgdGhlIGZpcnN0IHRvIGNvbWUgdG8gbWluZCAoYW5kIGhlcmUgSSBnbywgZGF0aW5nIG15c2VsZiBhIGJpdCksIGluIHJlYWxpdHksIGNvbWljcyBjaGFuZ2VkIGp1c3QgYXMgbXVjaCBldmVuIGlmIHRoZSBhbHRlcmF0aW9ucyB3ZXJlIGEgYml0IG1vcmUgZ3JhZHVhbC5JdCBhbGwgc3RhcnRlZCB3aXRoIG5ld3NwYXBlcnMuJm5ic3A7IE11Y2ggbGlrZSB2dWx0dXJlcyBvdmVyIGEgY29ycHNlLCBteSBmYW1pbHkgY2lyY2xlZCB0aGUgZnJlc2hseS1kZWxpdmVyZWQgU3VuZGF5IHBhcGVyIGV2ZXJ5IHdlZWtlbmQsIGVhY2ggbQMxMDlkAoMBD2QWAmYPFQUZSS4gVGhlIE1vcmUgVGhpbmdzIENoYW5nZQRMaXNhCEFuZGVyc29u6AMmaGVsbGlwO3RoZSBtb3JlIEkgd2lzaCBzb21lb25lIHdvdWxkIGtlZXAgdGhlIG1hcCB1cCB0byBkYXRlLiZuYnNwOyBXaGF0IG1hcCwgeW91IHNheT8mbmJzcDsgRG9uJnJzcXVvO3Qgd29ycnksIHdlJnJzcXVvO2xsIGdldCB0byB0aGF0IGluIGEgbW9tZW50LiZuYnNwOyBBZnRlciBhbGwsIHRoZXJlIGFyZSBpbnRyb2R1Y3Rpb25zIHRvIGJlIGhhbmRsZWQgZmlyc3QuSGVsbG8gdG8gZXZlcnlvbmUgYW5kIGFueW9uZSByZWFkaW5nIHRoaXMgdmVyeSBzZW50ZW5jZSEmbmJzcDsgKE5vLCB5b3UgZG9uJnJzcXVvO3QgZ2V0IGEgaGVsbG8gaWYgeW91IHNraXBwZWQgaXQuJm5ic3A7IFRoaXMgd2lsbCB0ZWFjaCBzb21lIHRvIHBheSBtb3JlIGF0dGVudGlvbiBuZXh0IHRpbWUuKSBIZXJlIHlvdSZyc3F1bztsbCBmaW5kIG15IGxpdHRsZSBjb3JuZXIgb2YgdGhlIFZpbGxhZ2UsIHdoZXJlIEkgd2lsbCBiZSByYW1ibGluZyBvbiBhYm91dCB3ZWIgY29taWNzIAI5N2QChQEPZBYCZg8VBRtQUjogV2F0Y2ggZm9yIEZhbGxpbmcgU2hvam8ETG9yaQlIZW5kZXJzb27uAlZpeiBoYXMgZml2ZSBuZXcgc2hvam8gbWFuZ2EgdGhleSB3YW50IHlvdSB0byBjaGVjayBvdXQsIHRoYXQgYXJlIGF2YWlsYWJsZSBub3cuJm5ic3A7IFRob3VnaCwgdG8gYmUgaG9uZXN0LCB0aGUgb25seSB0aXRsZSB0aGF0IEkgdGhvdWdodCBzaG93ZWQgYW55IHByb21pc2Ugd2FzIFRpbWUgU3RyYW5nZXIgS3lva28uJm5ic3A7IFRoZSByZXN0IGVubGlzdGVkIGEgIm1laCIgcmVhY3Rpb24gaW4gbWUgZnJvbSB0aGUgcHJldmlld3MgaW4gU2hvam8gQmVhdC4mbmJzcDsgSSYjMzk7bGwgc2VlIGlmIHRoZXkga2VlcCB0aGF0IHJlYWN0aW9uIGFmdGVyIEkmIzM5O3ZlIHJlYWQgdGhlIGZ1bGwgdm9sdW1lcy4mbmJzcDsgUFIgdG8gZm9sbG93OgMzODhkAoYBD2QWAmYPFQUXVGhlIFVsdGltbyBTaG9uZW4gSnVtcCEETG9yaQlIZW5kZXJzb26LAQ0KDQpWSVogTUVESUEgQU5OT1VOQ0VTIE5PUlRIIEFNRVJJQ0FOIERFQlVUIE9GIFNUQU4gTEVFIEFORCBISVJPWVVLSQ0KVEFLRUkmcnNxdW87UyBVTFRJTU8gSU4gU0VQVEVNQkVSIElTU1VFIE9GIFNIT05FTiBKVU1QIE1BR0FaSU5FICANCg0DMzY2ZAKHAQ9kFgJmDxUFEkJMIFJldmlld2VyIFdhbnRlZARMb3JpCUhlbmRlcnNvbrQDTWFuZ2EgVmlsbGFnZUBDb21pY3MgVmlsbGFnZSBpcyBsb29raW5nIHRvIGV4cGFuZCBpdHMgY292ZXJhZ2UuJm5ic3A7IFdlIGFyZQ0KbG9va2luZyBmb3IgYSByZXZpZXdlciB3aXRoIGEgc3Ryb25nIGludGVyZXN0IGluIEJML1lhb2kgdGl0bGVzIHRvIGhlbHANCnVzIGNvdmVyIHRoaXMgYXJlYS4mbmJzcDsgWW91IG5lZWQgdG8gYmUgbW90aXZhdGVkIGFuZCBhYmxlIHRvIGNvbW11bmljYXRlDQp5b3VyIHRob3VnaHRzIGFib3V0IHRoZSBtYW5nYSBjbGVhcmx5IGluIHlvdXIgd3JpdGluZy4mbmJzcDsgTWFuZ2ENClZpbGxhZ2VAQ29taWNzIFZpbGxhZ2UgZG9lcyBub3QgcGF5IGZvciByZXZpZXdzLCBidXQgcmVsaWFibGUgd3JpdGVycw0Kd2lsbCBiZSBwdXQgb250byBwdWJsaXNoZXImIzM5O3MgY29tcCBsaXN0cyB0byByZWNlaXZlIHJldmlldyBjb3BpZXMuSQMzNjRkAogBD2QWAmYPFQUSUFI6IFZpeiBEb2VzIERyYW1hBExvcmkJSGVuZGVyc29u3gJJbiBjYXNlIHlvdSBjb3VsZG4mIzM5O3QgYmUgYXQgU0RDQyAobGlrZSBtZSwgaGVoZSksIFZpeiBoYXMgZ2xhZGx5IHByb3ZpZGVkIGEgYnJlYWtkb3duIG9mIGFsbCB0aGVpciBuZXcgVGVlbi1NYXR1cmUgdGl0bGVzIGZvciAyMDA5LiZuYnNwOyBJJiMzOTttIHBlcnNvbmFsbHkgbG9va2luZyBmb3J3YXJkcyB0byBQbHV0bywgYW5kIDIwdGggQ2VudHVyeSBCb3lzIGhhcyBub3cgcGlxdWVkIG15IGludGVyZXN0LiZuYnNwOyBPdG9tYW4gbG9va3MgbGlrZSBhIGdvb2QgY29tZWR5LCBhbmQgSWtpZ2FtaSBsb29rcyBsaWtlIGl0JiMzOTtzIGdvdCBwb3RlbnRpYWwgdG9vLiZuYnNwOyBDaGVjayBvdXQgdGhlIFBSLgMzNjJkAokBD2QWAmYPFQUaSXQncyBhIEJsYWNrICYgV2hpdGUgV29ybGQETG9yaQlIZW5kZXJzb26jAVZpeiBnZXRzIHRoZSBicmFnZ2luZyByaWdodHMgdGhpcyB5ZWFyIHdpdGggdGhlaXIgbmV3IGVkaXRpb24gb2YgVGVra29uIEtpbmtyZWV0VklaIE1FRElBJiMzOTtTIFRFS0tPTktJTktSRUVUIEJZDQpUQUlZTyBNQVRTVU1PVE8gV0lOUyAyMDA4IEVJU05FUiBBV0FSRCANCg0KDQoNCg0DMzU1ZAKKAQ9kFgJmDxUFIlZpeiBSb2NrcyB0aGUgRGlnaXRhbCBTY2VuZSBBZ2FpbiEETG9yaQlIZW5kZXJzb27RAlZpeiBpcyByb2NraW5nIHlvdXIgRFZEIHBsYXllciBhZ2FpbiB3aXRoIE5hbmEgMiwgdGhlIHNlY29uZCBsaXZlIGFjdGlvbiBtb3ZpZSBiYXNlZCBvbiB0aGUgcG9wdWxhciBtYW5nYS4mbmJzcDsgVGhlIGZpcnN0IG1vdmllIHdhcyBncmVhdCwgYW5kIGtlcHQgd2l0aCB0aGUgbWFuZ2EgcGVyZmVjdGx5LiZuYnNwOyBFeHBlY3Qgbm90aGluZyBsZXNzIG9mIHRoaXMgc2Vjb25kIG9uZS4mbmJzcDsgSWYgeW91IGFyZSBhIGZhbiBvZiB0aGUgbWFuZ2EsIHlvdSBvd2UgaXQgdG8geW91cnNlbGYgdG8gY2hlY2sgdGhlc2Ugb3V0ISZuYnNwOyBQUiBhZnRlciB0aGUgYnJlYWsuDQoNClZJWg0KUEkDMzQ2ZAKLAQ9kFgJmDxUFFUhhcHB5IEFubml2ZXJzYXJ5IFNKIQRMb3JpCUhlbmRlcnNvbpsCSGF2ZSB5b3UgYmVlbiB3b25kZXJpbmcgd2hhdCBhbGwgdGhlIGV4Y2l0ZW1lbnQgb3ZlciBTaG9uZW4gSnVtcCBoYXMgYmVlbiBhYm91dD8mbmJzcDsgTm93JiMzOTtzIHlvdXIgY2hhbmNlIHRvIGZpbmQgb3V0IHdpdGggVml6JiMzOTtzIG5ldyBTSiBjb2xsZWN0b3IgZWRpdGlvbnMsIHRvIGNlbGVicmF0ZSA0MCB5ZWFycyBvZiBmaXN0IHBvdW5kaW5nLCBwb3dlcmluZyB1cCBtYW5nYSEmbmJzcDsgUFIgZm9sbG93czoNCg0KVklaIE1FRElBIENFTEVCUkFURVMgVFdPIEhJU1RPUklDIFNIT05FTgMzMzVkAowBD2QWAmYPFQUVU2xhbSBEdW5raW5nIExpdGVyYWN5BExvcmkJSGVuZGVyc29uxwJIYXMgc29tZW9uZSBmaW5hbGx5IGJlZW4gcGF5aW5nIGF0dGVudGlvbiB0byB0aGUgbWFuZ2FzcGhlcmU/Jm5ic3A7IEEgc3BvcnRzIG1hbmdhIGJlaW5nIHByb21vdGVkIGJ5IGEgc3RhciBhdGhsZXRlPyZuYnNwOyBVbmhlYXJkIG9mISZuYnNwOyBTZXJpb3VzbHksIEkmIzM5O20gYWxsIGZvciBwcm9tb3RpbmcgcmVhZGluZyBpbiBhbnl3YXksIGFuZCBJIHRoaW5rIGl0JiMzOTtzIGdyZWF0IHRoYXQgVml6IGhhcyBkb25lIHRoaXMsIGFzIHdlbGwgYXMgZ2V0IHRoZSB3b3JkIG91dCBmb3IgU2xhbSBEdW5rLiZuYnNwOyBQUiB0byBmb2xsb3c6VklaIE1FRElBIFRFQU1TIFcDMzM2ZAKNAQ9kFgJmDxUFC1ZpeiBhdCBTRENDBExvcmkJSGVuZGVyc29uvgJJdCYjMzk7cyBnb2luZyB0byBiZSBhIGJ1c3kgd2Vla2VuZCBmb3IgdGhlIFZpeiBmb2xrcyBhdCBTRENDLiZuYnNwOyBIaWdoIHByb2ZpbGUgZ3Vlc3QsIGFubml2ZXJzYXJ5IGFuZCBwYW5lbHMgZ2Fsb3JlLiZuYnNwOyBHb29kIGx1Y2sgdHJ5aW5nIHRvIGF0dGVuZCB0aGVtIGFsbCEmbmJzcDsgUFIgdG8gZm9sbG93OlZJWiBNRURJQSBXRUxDT01FUyBCTEVBQ0ggQ1JFQVRPUiBUSVRFIEtVQk8sIFRIRSBMT1MNCkFOR0VMRVMgTEFLRVIgR0lSTFMgQU5EIE5CQSBTVEFSIEdSRUcgT0RFTiBUTyAyMDA4IENPTUlDLUNPTiBJTlRFUk5BVElPTkFMJm5ic3A7Jm4DMzM3ZAKOAQ9kFgJmDxUFKU1hbmdhIFZpbGxhZ2VAQ29taWNzIFZpbGxhZ2UgV2FudHMgWW91ISAgBExvcmkJSGVuZGVyc29uywNXZWxsLCB5b3VyIHdlYiBjb21pYyBhbnl3YXkuJm5ic3A7IERvIHlvdSBoYXZlIGEgZ3JlYXQgaWRlYSBmb3IgYSB3ZWIgY29taWM/Jm5ic3A7IEFyZSB5b3UgcmVsaWFibGUsIGFuZCBjYW4gcHVibGlzaCBhIHBhZ2UgMyB0aW1lcyBhIHdlZWs/Jm5ic3A7IFdvdWxkIHlvdSBsaWtlIHRvIHNlZSB5b3VyIHN0b3J5IGdldCBwdWJsaXNoZWQgaW4gYm9vayBmb3JtPyZuYnNwOyBJZiB5b3UgY2FuIHNheSB5ZXMgdG8gYW55IG9mIHRoZXNlIHF1ZXN0aW9ucyAocHJlZmVyYWJseSBhbGwpLCB0aGVuIHlvdSYjMzk7cmUganVzdCB3aG8gd2UmIzM5O3JlIGxvb2tpbmcgZm9yIUhlcmUmcnNxdW87cyBob3cgaXQgd29ya3M6V2UmcnNxdW87cmUgbG9va2luZyBmb3IgYSBjcmVhdG9yIG9yIHRlYW0gb2YgY3JlYXRvcnMgdG8gbWFrZSBhIHdlYmNvbWljIHRvIGJlIHB1Ymxpc2hlZCBvbiB0aGUgcmVkZXNpZ25lZCBNYXIDMzI4ZAKPAQ9kFgJmDxUFE1BSOiBWaXogYXQgQm9va0V4cG8ETG9yaQlIZW5kZXJzb27EAldvcmtpbmcgdG8gY292ZXIgYWxsIHRoZSBiYXNlcywgVml6IGhhcyBhIG5ldyBsaW5lIHVwIG9mIGJvb2tzIGZvciB0aGUgMjAwOCBCb29rRXhwbyBBbWVyaWNhIGZvciBraWRzIHRvIGFkdWx0cyBhbmQgZXZlcnlvbmUgaW5iZXR3ZWVuLiZuYnNwOyBXaXRoIGNsYXNzaWNzIHRvIHZpZGVvIGdhbWUgdGllIGlucyB0byAmbmJzcDsgZHJhbWEsIFZpeiBoYXMgYSBsb3QgdG8gc2hvdyBvZmYuJm5ic3A7IFByZXNzIFJlbGVhc2UgZm9sbG93czpWSVoNCk1FRElBIFNIT1dDQVNFUyBBIFZBUklFVFkgT0YgTkVXIFRJVExFUyBBVCAyMDA4IEJPT0tFWFBPIEFNRVJJQ0EgU0hPVwMyNzlkApABD2QWAmYPFQUUS3VibyBEb2VzIFNhbiBEaWVnbyEETG9yaQlIZW5kZXJzb27EAkFzIGlmIFNhdHVyZGF5cyBhdCBTRENDIHdlcmVuJiMzOTt0IGJhZCBlbm91Z2guLi4mbmJzcDsgVGhleSBoYWQgYmV0dGVyIHNjaGVkdWxlDQp0aGlzIGluIGEgYmlnZ2VyIHJvb20gdGhhbiB0aGUgU2hvbmVuIEp1bXAgcGFuZWwgZ290IGxhc3QgeWVhci4mbmJzcDsNClRoZXJlJiMzOTtzIG5vIHdheSBldmVyeW9uZSB3aWxsIGZpdC4mbmJzcDsgQmUgcHJlcGFyZWQgdG8gYnJpbmcgYSBjcm93IGJhciBmb3INCnRoaXMgb25lLiZuYnNwOyBWSVogDQpNRURJQSZyc3F1bztTIFNIT05FTiBKVU1QIFdFTENPTUVTIEJMRUFDSCBNQU5HQSBDUkVBVE9SIFRJVEUgS1VCTyANCgMyNzZkApEBD2QWAmYPFQUYUFI6IFZpeiBTdG9yZSBSZWRlc2lnbmVkBExvcmkJSGVuZGVyc29uhgJUaGUgVml6IHN0b3JlIGdldHMgYSBtdWNoIG5lZWRlZCBmYWNlbGlmdC4mbmJzcDsgSXQmIzM5O3MuLi5ub3QgYmFkLCBidXQgY291bGQgdXNlIHNvbWUgbW9yZSB3b3JrLiZuYnNwOyBBdCBsZWFzdCB0aGUgcGVyZmVjdGlvbmlzdCBpbiBtZSB3b3VsZCBsaWtlIHRvIHNlZSB0aGUgdGl0bGVzIGxpbmUgdXAgcHJvcGVybHkgaW4gdGhlIHNpZGUgYmFyISZuYnNwOyBHbyBjaGVjayBpdCBvdXQgdG8gc2VlIHdoYXQgSSBtZWFuLiZuYnNwOyBQUiBhZnRlciBjdXQuAzI1MmQCkgEPZBYCZg8VBRpWaXogR29lcyB0byBTcGlkZXJtYW4gTGFuZARMb3JpCUhlbmRlcnNvbpICSXQmIzM5O3MgdGhhdCB0aW1lIG9mIHllYXIgYWdhaW4uJm5ic3A7IENvbiBzZWFzb24uJm5ic3A7IEFuZCBWaXogaXMga2lja2luZyBvZmYgdGhlaXIgcGFydCBvZiBpdCBhdCBOWUNDIHdpdGggbG90cyBvZiBldmVudHMsIGluY2x1ZGluZyB0aGUgbWFuZ2EgbG91bmdlIGFuZCBhIHNwZWNpYWwgcHJlc3MgZXZlbnQgd2l0aCBBbWVyaWNhbiBDb21pY3MgTGVnZW5kIFN0YW4gTGVlLiZuYnNwOyBQcmVzcyBSZWxlYXNlIGFmdGVyIHRoZSBjdXQuVklaIA0KTUVESUEgQU5OT1VOQ0VTIAMyMzRkApMBD2QWAmYPFQUiUFI6IFNlY29uZCBRdWFydGVyIFRpdGxlcyBmcm9tIFZpegRMb3JpCUhlbmRlcnNvbkZWSVogTUVESUEgVE8gREVCVVQgDQpOSU5FIE5FVyBNQU5HQSBTRVJJRVMgRk9SIFNFQ09ORCBRVUFSVEVSIA0KMjAwOA0KAzE3N2QClAEPZBYCZg8VBRRQUjogTWVldCBOYXJ1dG8gMi4wIQRMb3JpCUhlbmRlcnNvbhhWSVogTUVESUEgQU5OT1VOQ0VTIA0KDQoDMTUyZAKWAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA4LzIwLzA4BExvcmkJSGVuZGVyc29uwQNJdCYjMzk7cyBhbiBlY2xlY3RpYyB3ZWVrIGluIG5ldyByZWxlYXNlcy4mbmJzcDsgQW5pbWUgV29ya3MgbWFrZXMgYW4gYXBwZWFyYW5jZSwgd2l0aCBFaWtlbi4mbmJzcDsgSWYgeW91IHdhbnQgdG8ga25vdyBtb3JlIGFib3V0IGl0LCBjaGVjayBvdXQgT3Rha3UgVVNBIEp1bmUgMjAwOCBpc3N1ZS4mbmJzcDsgRGVsIFJleSBicmluZ3MgdXMgdGhlIG5vdmVsIGFudGhvbG9neSBGYXVzdC4mbmJzcDsgSXQgd2lsbCBiZSBpbnRlcmVzdGluZyB0byBzZWUgaG93IGl0IGdvZXMgb3ZlciB3aXRoIGZhbiwgd2l0aCBhbGwgdGhlIGh5cGUgaXQgZ290IGFmdGVyIGl0JiMzOTtzIGFubm91bmNlZCBsaWNlbnNpbmcuJm5ic3A7IFZpeiBoYXMgYSBzaG9ydCBsaXN0IHdpdGggYSBjb3VwbGUgb2YgY3JpdGljYWxseSBhY2NsYWltZWQgdGl0bGVzOyBLZWtrYWlzaGkgYW5kIE1vbnN0ZXIuJm5ic3A7IAMzODdkApcBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDgvMTMvMDgETG9yaQlIZW5kZXJzb26hA0l0JiMzOTtzIGFub3RoZXIgZ29vZCB3ZWVrIGZvciBibG93aW5nIHlvdXIgcGF5Y2hlY2sgKG9yIGFsbG93YW5jZSkgb24gbWFuZ2EuJm5ic3A7IFRoZXJlJiMzOTtzIGEgbGl0dGxlIGJpdCBvZiBldmVyeXRoaW5nIGZyb20gc2hvam8sIHRvIGFjdGlvbiB0byBldmVuIHNvbWUgc2VpbmVuLiZuYnNwOyBFdmVuIHRoZSBXT1cgYWRkaWN0ZWQgY2FuIGZpbmQgc29tZXRoaW5nIHdpdGggVG9reW9wb3AmIzM5O3MgcHJlbWllcmUgb2Ygbm90IGp1c3QgYSBuZXcgV2FyY3JhZnQgc2VyaWVzLCBidXQgYSBTdGFyY3JhZnQgdGl0bGUgZm9yIHNjaS1maSBmYW5zIGFzIHdlbGwuQ01YVHdvIEZsb3dlcnMgRm9yIFRoZSBEcmFnb24gVm9sIDAyLCAkOS45OSZuYnNwOyBEQVJLIEhPUlNFQmxvb2QgUGx1cyBHTiBWb2wgMDMsICQxMC45NSZuYnNwOwMzNzZkApgBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDgvMDYvMDgETG9yaQlIZW5kZXJzb27KA1RoZSBzdGFydCBvZiBhIG5ldyBtb250aCBtZWFucyB0aGUgc3RhcnQgb2YgYSBuZXcgZmxvb2Qgb2YgYm9va3MuJm5ic3A7IFRva3lvcG9wIGFuZCBWaXogYXJlIGluIGZ1bGwgZm9ybSB0aGlzIHdlZWsuJm5ic3A7IFZpeiBoYWQgdG9vIG1hbnkgdGl0bGVzIHRvIHBpY2sganVzdCBvbmUgZnJvbSEmbmJzcDsgVGhlIGtpZHMgYXJlIGRvaW5nIGFscmlnaHQgdG9vLCB3aXRoIHNldmVyYWwgYWxsIGFnZXMgdGl0bGVzLiZuYnNwOyBBbmQgZm9yIHRoZSBjb2xsZWN0b3JzLCB0aGUgVml6IFNob25lbiBKdW1wIDV0aCBBbm5pdmVyc2FyeSBDb2xsZWN0b3ImIzM5O3MgRWRpdGlvbiBIQyBpcyBvdXQuJm5ic3A7IEltcHJlc3MgeW91ciBmcmllbmRzIGJ5IHB1dHRpbmcgaXQgb24geW91ciBjb2ZmZWUgdGFibGUsIG5leHQgdG8geW91ciBXaWkgcmVtb3RlLkNNWFRlbmpobyBUZW5nZSBUUCBWb2wgMTcsICQ5Ljk5AzM2N2QCmQEPZBYCZg8VBSBNYW5nYSBWaWxsYWdlIE1hbmdhIG9mIHRoZSBNb250aARMb3JpCUhlbmRlcnNvbu4DV2UmIzM5O3JlIHN0YXJ0aW5nIHVwIGEgbmV3IGZlYXR1cmUgaGVyZSBhdCB0aGUgTWFuZ2EgVmlsbGFnZS4mbmJzcDsgV2UgcmV2aWV3IGEgbG90IG9mIG1hbmdhLCBhbmQgZ2l2ZSBvdXQgYSBsb3Qgb2Ygc2NvcmVzLCBidXQgd2hpY2ggdGl0bGVzIGFyZSB0aGUgYmVzdD8mbmJzcDsgV2hpY2ggY2FuIHdlIGNhbGwgdGhlIGNyZWFtIG9mIHRoZSBjcm9wLCB0aGUgY3JlbWUgZGUgbGEgY3JlbWUgb2YgdGhlIE1hbmdhIFZpbGxhZ2U/Jm5ic3A7IFdoaWNoIHNob3VsZCBiZSBzdGFuZGluZyB3aXRoIHRoZSBnb2xkLCBzaWx2ZXIgYW5kIGJyb256ZSBtZWRhbGxpb25zPyZuYnNwOyBTdGFydGluZyB0aGlzIG1vbnRoLCB3ZSB3aWxsIGJlIHBpY2tpbmcgb3VyIHJldmlld3Mgd2l0aCBzY29yZXMgb2YgMTAsIDksIGFuZCA4LCBhbmQgdGhlbiB2b3Rpbmcgb24gd2hpY2ggYXJlIHRoZSBiZXN0IG9mIHRoZSBiZXN0LiZuYnNwOyBUaGVzZSBhcmUgdGhlIHRpdGxlcyB5b3UgY2EDMzY4ZAKaAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA3LzMwLzA4BExvcmkJSGVuZGVyc29uugNMYXN0IFdlZG5lc2RheSBvZiB0aGUgbW9udGgsIGFuZCBpdCBpcyBzb21lIHNlcmlvdXNseSBzbGltIHBpY2tpbmdzLiZuYnNwOyBZYW9pIGZhbnMgY2FuIHJlam9pY2UgZnJvbSBETVAgYXMgdGhleSBnaXZlIGEgZ29vZCBzZWxlY3Rpb24gb2YgdGl0bGVzIHRvIGNob29zZSBmcm9tLiZuYnNwOyBMYXN0IEdhc3AgZmluYWxseSBicmluZ3Mgb3V0IHRoZWlyIG11Y2ggYmxvZ2dlZC1hYm91dCB0aXRsZSwgYW5kIFRva3lvcG9wIGFzIGEgY291cGxlIG5ldyBvbmVzLCB3aXRoIGEgaGlnaGVyIHByaWNlIHBvaW50LiZuYnNwOyBEb24mIzM5O3Qga25vdyBpZiB0aGF0JiMzOTtzIGdvbm5hIGhlbHAgbXVjaC5CUk9DQ09MSSBJTlRFUk5BVElPTkFMU29sYSBHTiBWb2wgMDEsICQxMC45OSZuYnNwOyAqKldlZWtseSBQaWNrKipXb3JsZCBPZiBEaXNnYWVhIEhDIFZvbCAwMiwgJDE5Ljk5AzM1NGQCmwEPZBYCZg8VBRROZXcgUmVsZWFzZXMgNy8yMy8wOARMb3JpCUhlbmRlcnNvbsEDSXQmIzM5O3MgYW4gaXRzeS1iaXRzeS10ZWVueS13ZWVueSBsaXN0IHRoaXMgd2VlayEmbmJzcDsgQnV0IHdlZWtzIHdpdGggNSBXZWRuZXNkYXlzIHRlbmQgdG8gYmUgdGhhdCB3YXkuJm5ic3A7IERlbCBSZXkgZ2V0IHRvIGJlIHRoZSBiaWcgbWFuIG9uIHRoZSBibG9jayB3aXRoIG1vc3Qgb2YgdGhlIHJlbGVhc2VzLiZuYnNwOyBUaGVyZSYjMzk7cyBzb21lIG5ldyBlbnRyaWVzIHdpdGggQmFuZGFpIGpvaW5pbmcgdGhlIGZyYXksIGFuZCBZZW4gUHJlc3MgZ2l2aW5nIHVzIGFuIGFsdGVybmF0aXZlIHRvIFZpeiYjMzk7cyBhbnRob2xvZ3kgbW9ub3BvbHkuJm5ic3A7IEJ1dCBtb3JlIGlzIGFsd2F5cyBiZXR0ZXIgZm9yIHVzIUJBTkRBSSBFTlRFUlRBSU5NRU5UQ29kZSBHZWFzcyBMZWxvdWNoIE9mIFRoZSBSZXZvbHV0aW9uIEdOIFZvbCAwMSoqLCAkOS45OSAqKldlZWtseSBQaWNrKioDMzQ1ZAKcAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA3LzE2LzA4BExvcmkJSGVuZGVyc29u9ANJdCYjMzk7cyBhbm90aGVyIGdvb2Qgd2VlaywganVzdCBiZWZvcmUgQ29taWMgQ29uLCBzbyBkb24mIzM5O3QgZ28gdG9vIGNyYXp5LCBvdGhlcndpc2UgeW91IHdvbiYjMzk7dCBoYXZlIGFueSBtb25leSBmb3IgdGhlIGNvbi1leGNsdXNpdmVzISZuYnNwOyBXaHkgYXJlbiYjMzk7dCB0aGVyZSBhbnkgbWFuZ2EgY29uLWV4Y2x1c2l2ZXMgYW55d2F5PyZuYnNwOyBUaGUgYmVzdCB3ZSBnZXQgaXMgaGF2aW5nIG1hbmdhIHNpZ25lZCBieSBndWVzdHMsIGFuZCB0aGVyZSBhcmUgcGxlbnR5IHRoaXMgeWVhciEmbmJzcDsgSSBndWVzcyB0aGF0IG1ha2VzIHVwIGZvciB0aGUgbGFjayBvZiBwYW5lbHMuJm5ic3A7IFZpeiwgRGVsIFJleSwgWWVuLCBhbmQgQ01YIGFyZSBhYm91dCB0aGUgb25seSBtYW5nYSBwdWJsaXNoZXJzIHRoYXQgaGF2ZSBwYW5lbHMgKFZpeiBoYXMgc2V2ZXJhbCBhY3R1YWxseSksIGFuZCBUb2t5b3BvcCYjMzk7cyBnb3Qgc29tZSBraW5kIG9mICJ2aXJhbCBwcgMzMzRkAp0BD2QWAmYPFQUTTmV3IFJlbGVhc2VzIDcvOS8wOARMb3JpCUhlbmRlcnNvbugDQSB2ZXJ5IHNwYXJzZSB3ZWVrLCBidXQgdGhhdCYjMzk7cyB1c3VhbCBhZnRlciBhIGJpZyBjb24uJm5ic3A7IFB1Ymxpc2hlcnMgbGlrZSB0byBnZXQgdGhlaXIgYm9va3Mgb3V0IGJlZm9yZSBzbyB0aGV5IGhhdmUgcGxlbnR5IHRvIHBlZGRsZSBpbiB0aGUgZGVhbGVyJiMzOTtzIHJvb20uJm5ic3A7IEFuZCB3aXRoIEFYIGluIHRoZSByZWFyIHZpZXcgbWlycm9yLCB5b3Ugb25seSBoYXZlIGEgZmV3IHdlZWtzIGJyZWFrIGJlZm9yZSBTYW4gRGllZ28gQ29taWMgQ29uIGlzIHVwb24gdXMuJm5ic3A7IEJ1dCB3ZSBhcmUgc3RpbGwgYWJsZSB0byBwdWxsIG91dCBhIGZldyBnZW1zIGZyb20gdGhlIHNtYWxsIHBpbGUsIHdpdGggb25lIHRpdGxlIGdldHRpbmcgdGhyZWUgcmV2aWV3ZXImIzM5O3MgcGlja3MhJm5ic3A7IFJlYWQgb24gdG8gZmluZCBvdXQgd2hvJiMzOTtzIGluIHRoZSBtYWpvcml0eSBhbmQgd2hvJiMzOTtzIGluIHRoZSBtaW5vcml0eS5EQVIDMzI3ZAKeAQ9kFgJmDxUFE05ldyBSZWxlYXNlcyA3LzIvMDgETG9yaQlIZW5kZXJzb27iA0l0JiMzOTtzIGEgbmV3IG1vbnRoLCBzbyB0aGF0IG1lYW4gYSBwcm92ZXJiaWFsIHRvcnJlbnQgb2YgdGl0bGVzLCBhbmQgdGhlIGJpZyBndXlzIGRvbiYjMzk7dCBkaXNhcHBvaW50ISZuYnNwOyBEZWwgUmV5IGdpdmVzIGEgaGVhbHRoeSBzZWxlY3Rpb24sIHdpdGggVml6IGFuZCBUb2t5b3BvcCBjYXVzaW5nIHRoZSBncmVhdGVzdCBvZiB0aGUgZG93bnBvdXIuJm5ic3A7IEJ1dCBkb24mIzM5O3QgZm9yZ2V0IHRvIGNoZWNrIG91dCBzb21lIG9mIHRoZSBzbWFsbGVyIHB1YnMuJm5ic3A7IEJyb2Njb2xpIGhhcyBhIG5ldyB0aXRsZSByYXRlZCBmb3IgRXZlcnlvbmUsIGEgcmFyaXR5IGluIG1hbmdhIHVuZm9ydHVuYXRlbHkuJm5ic3A7IEhhcnBlciBDb2xsaW5zIGhhcyBhbm90aGVyIFdhcnJpb3JzIGJvb2ssIHN1cmUgdG8gaGl0IHRoZSBUb3AgMTAgb2YgQm9va3NjYW4sIGFuZCBWaXogaGFzIEFraXJhIFRvcml5YW1hJiMzOTtzIENvd2EsIGJvAzMxOWQCnwEPZBYCZg8VBRROZXcgUmVsZWFzZXMgNi8yNS8wOARMb3JpCUhlbmRlcnNvbusDSXQmIzM5O3MgYWxsIGFib3V0IHRoZSBzbWFsbCBwdWJsaXNoZXJzIHRoaXMgd2Vlaywgd2l0aCBWaXogYW5kIFRva3lvcG9wIG1pc3NpbmcgZnJvbSB0aGUgbGlzdC4mbmJzcDsgQnV0IHRoYXQgZG9lc24mIzM5O3QgbWVhbiB0aGVyZSBpc24mIzM5O3QgcGxlbnR5IG9mIGdvb2QgYm9va3MgdG8gYmUgaGFkISZuYnNwOyBPbmUgb2YgdGhlIG1vc3QgYXdhaXRlZCB0aXRsZXMgaW4gdGhlIG1hbmdhc3BoZXJlIGlzIEFwcGxlLCBmcm9tIFVkb24uJm5ic3A7IFRoaXMgYW50aG9sb2d5IG9mIEtvcmVhbiB0aXRsZXMgaXMgdmVyeSBwcmljZXkgY29tcGFyYXRpdmVseSwgYnV0IGl0JiMzOTtzIGluIGZ1bGwgY29sb3IgYW5kIGlzIG92ZXIgMjAwIHBhZ2VzISZuYnNwOyBJdCBmZWF0dXJlcyB3b3JrIGZyb20gbm90IGp1c3QgbWFuZ2EgYXJ0aXN0cywgYnV0IHZpZGVvIGdhbWUgYXJ0aXN0cyBhbmQgaWxsdXN0cmF0b3JzLiZuYnNwOyBEYXJrIEhvcnNlIGlzIG9mIGNvdXIDMzA5ZAKgAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA2LzE4LzA4BExvcmkJSGVuZGVyc29u0wNUaGlzIHdpbGwgcHJvYmFibHkgYmUgdGhlIGxhc3Qgd2VlayB3ZSBzZWUgb2YgVG9reW9wb3AgYmlnIHJlbGVhc2VzLiZuYnNwOyBUaGUgY3VsbGluZyBoYXMgYWxyZWFkeSBiZWd1biB3aXRoIHRpdGxlcyBiZWluZyBjYW5jZWxsZWQgYXQgQW1hem9uIGFuZCBpbiBKdWx5JiMzOTtzIFByZXZpZXdzLiZuYnNwOyBPZiBjb3Vyc2UsIHRoaXMgZG9lc24mIzM5O3QgbWVhbiB0aGF0IHNvbWUgYm9va3Mgd29uJiMzOTt0IGdldCByZWxpc3RlZCwgYnV0IG9ubHkgdGltZSB3aWxsIHRlbGwgb24gdGhhdC4mbmJzcDsgV2Uga25vdyBTYWl5dWtpLCBvdXQgdGhpcyB3aWxsIGJlIGNvbnRpbnVlLCBidXQgc2luY2Ugd2UmIzM5O3ZlIGNhdWdodCB1cCB3aXRoIHRoZSBKYXBhbmVzZSByZWxlYXNlcywgaXQgd2lsbCBiZSBhd2F5IGJldHdlZW4gdm9sdW1lcyBhbnl3YXkuJm5ic3A7IEdvISBDb21pY3MgaGFzIGFuIGludGVyZXN0aW5nIAMzMDNkAqEBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDYvMTEvMDgETG9yaQlIZW5kZXJzb27ZA0lmIHlvdSB3YW50IGFuIGlkZWEgb2YgaG93IG1hbnkgYm9va3MgYSBtb250aCBUb2t5b3BvcCB3aWxsIGJlIGN1dHRpbmcgZG93biwganVzdCBsb29rIGF0IHRoaXMgd2VlayYjMzk7cyByZWxlYXNlcy4mbmJzcDsgTm90IHRoYXQgSSB3YW50IEFMTCBvZiB0aGVzZSB0aXRsZXMgdG8gYmUgY3V0LiZuYnNwOyBCZWNrIGFuZCBUYWN0aWNzIGFyZSBnb29kLCBhbmQgdGhlIFJpc2luZyBTdGFycyBhbmQgQ2luZW1hbmdhIGFyZW4mIzM5O3QgZ29pbmcgYW55d2hlcmUgYW55dGltZSBzb29uLiZuYnNwOyBCdXQgd2l0aCB0d28gd2Vla3Mgb2YgcmVsZWFzZXMgdGhpcyBzaXplIGV2ZXJ5IG1vbnRoLCBUb2t5b3BvcCB3YXMgZHJvd25pbmcgb3V0IHRoZWlyIG93biB0aXRsZXMgYnkgZ29pbmcgd2l0aCB0aGUgcXVhbnRpdHkgb3ZlciBxdWFsaXR5LiZuYnNwOyBIb3BlZnVsbHkgdGhleSBjYW4gZG8gdGhlIGN1bGxpbmcgYnkga2lsbGluZyB0AzI5NGQCogEPZBYCZg8VBRNOZXcgUmVsZWFzZXMgNi80LzA4BExvcmkJSGVuZGVyc29uvgNDYW4geW91IGJlbGlldmUgaXQ/Jm5ic3A7IE1hbmdhIFZpbGxhZ2UgaGFzIGJlZW4gYXJvdW5kIG5vdyBmb3IgNiBtb250aHMhJm5ic3A7DQpCb3ksIGhhcyB0aGUgdGltZSBmbG93biBieSBmYXN0LiZuYnNwOyBTbyBtdWNoIGhhcyBoYXBwZW5lZCBpbiB0aGUgbGFzdCA2DQptb250aHMuJm5ic3A7IFRoaXMgbGFzdCB3ZWVrIGV2ZW4hJm5ic3A7IExldCYjMzk7cyBjZWxlYnJhdGUgd2l0aCBhIHNob3dlciBvZiBzaG9qbyEmbmJzcDsNCkl0JiMzOTtzIGFsbCBvdmVyIHRoaXMgd2VlayYjMzk7cyBuZXcgcmVsZWFzZXMuJm5ic3A7IEtleSB0byB0aGUgS2luZ2RvbSwgSGVyDQpNYWplc3R5JiMzOTtzIERvZywgYW5kIHRoZW4gdGhlcmUmIzM5O3MgdGhlIFZpeiBsaW5ldXAhJm5ic3A7IEJlYXV0eSBQb3AsIE1vbmtleQ0KSGlnaCwgV2lsZCBPbmVzIGFuZCBZdXJhcmEganVzdCB0byBuYQMyODhkAqMBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDUvMjkvMDgETG9yaQlIZW5kZXJzb26oA1RoZSBwb2NrZXRib29rIGNhbiB0YWtlIGEgYnJlYWsgdGhpcyB3ZWVrLCBhcyB3ZSBoYXZlIGEgc21hbGxlciBsaXN0IGZvciB0aGUgZW5kIG9mIHRoZSBtb250aC4mbmJzcDsgTWVkaWEgQmxhc3RlcnMgbWFrZXMgYSByYXJlIGFwcGVhcmFuY2Ugd2l0aCBvbmUgb2YgdGhlaXIgdGl0bGVzLCBhbmQgU2V2ZW4gU2VhcyByZXNvbGljaXRlcyB0aGVpciBsaWdodCBub3ZlbHMgYXMgd2VsbCBhcyB2b2x1bWUgMiBvZiBJLCBPdGFrdSwgYW5vdGhlciBoaWxhcmlvdXMgbG9vayBhdCB0aGUgT3Rha3UgbGl2ZXN0eWxlLkJST0NDT0xJIElOVEVSTkFUSU9OQUwgVVNBV29ybGQgT2YgRGlzZ2FlYSBIQyoqLCAkMTkuOTlEQVJLIEhPUlNFQXBwbGVzZWVkIFRQIFZvbCAwMiBQcm9tZXRoZWFuIFVuYm91bmQgKHJlc29saWNpdGVkKShOZXcgUHJpbnRpbmcpLCADMjc4ZAKkAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA1LzIxLzA4BExvcmkJSGVuZGVyc29u9ANDTVggYW5kIERlbCBSZXkgYXJlIHRoZSBiaWcgd2lubmVycyB0aGlzIHdlZWsgaW4gb3VyIHBpY2tzLiZuYnNwOyBXaGlsZSBEZWwgUmV5IGhhcyBsb25nIGhhZCBhIGdvb2QgcmVwdXRhdGlvbiBhbW9uZyBmYW5zLCBDTVggaGFzIGhhZCB0byByZWdhaW4gdGhlaXIgdHJ1c3QgYWZ0ZXIgdGhlIFRlbmdvIFRlbmdlIGZpYXNjby4mbmJzcDsgQnV0IEkgdGhpbmsgdGhleSBoYXZlIGJlZW4gZG9pbmcgYSBnb29kIGpvYiwgZXZlbiBpZiBhIGxvdCBvZiB0aGVpciB0aXRsZXMgYXJlIGlnbm9yZWQuJm5ic3A7IFRoZXkgYWxzbyBnZXQga3Vkb3MgZnJvbSBtZSBmb3IgYmVpbmcgdGhlIHRoaXJkIGJpZ2dlc3QgcHVibGlzaGVyIChiZWhpbmQgVml6IGFuZCBUb2t5b3BvcCkgdG8gcmVhbGl6ZSB0aGF0IHRoZXJlIGFyZSB5b3VuZyBhdWRpZW5jZSB0byBzZXJ2ZSBhcyB3ZWxsIGFzIHRlZW5zLiZuYnNwOyBDdXQgdGhlbSBzb21lIHNsYWNrIGFuZCBjaGVjayBvdXQgdGhlaXIgY2F0YWxvZwMyNzdkAqUBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDUvMTQvMDgETG9yaQlIZW5kZXJzb27BA1RoaXMgd2VlaywgdGhlcmUgYXJlIHRpdGxlcyB0byBhcHBlYXNlIHRlZW5zIGFuZCBhZHVsdHMgYWxpa2UhJm5ic3A7IFRoZXJlIGFyZSBsb3RzIG9mIG51bWJlciBvbmVzIHRvIGJlIGNoZWNraW5nIG91dCB0b28uJm5ic3A7IFRvdG8gZnJvbSBEZWwgUmV5LCBLYW1pc2FtYSBrYXpva3UgZnJvbSBHbyEgQ29taSwgV2hpdGUgTmlnaHQgTWVsb2R5IGZyb20gVG9reW9wb3AsIFJlY29yZCBvZiBhIEZhbGxlbiBWYW1waXJlIGZyb20gVml6IGFuZCBZZW4gUHJlc3Mgd2l0aCBhIDQta29tYSwgU2hvdWxkZXIgQSBDb2ZmaW4gS3Vyby4mbmJzcDsgU3BhcmUgYSBmZXcgYnVja3MgdG8gY2hlY2sgb3V0IHNvbWV0aGluZyBuZXcgYXMgd2VsbCBhcyBrZWVwIHVwIHdpdGggb3VyIHJlY29tbWVuZGF0aW9ucy5DTVhLaW5nIE9mIENhcmRzIFZvbCAwNCwgJDkuOTkmbmJzcDsgKipXZWVrbHkgUGljayoqAzI2N2QCpgEPZBYCZg8VBRNOZXcgUmVsZWFzZXMgNS83LzA4BExvcmkJSGVuZGVyc29uhwNGaW5hbGx5IGEgZmVhc3QgYWZ0ZXIgYWxsIHRoYXQgZmFtaW5lISZuYnNwOyBUaGVyZSYjMzk7cyB3aWRlIHNlbGVjdGlvbiBoZXJlLCBmcm9tIG9sZCAoQmxhY2sgTWFnaWMpIHRvIG5ldyAoRmFpcnkgQ3ViZSksIHlvdW5nIChIaWthcnUgbm8gR28pIHRvIG9sZCAoRWRlbjogSXRzIEFuIEVuZGxlc3MgV29ybGQpLCBhbmQgZXZlcnl0aGluZyBlbHNlIGluIGJldHdlZW4uJm5ic3A7IEhvcGUgeW91JiMzOTt2ZSBiZWVuIHNhdmluZyB5b3VyIG1vbmV5IGZyb20gdGhlIGxhc3QgdHdvIHdlZWtzLCAmIzM5O2NhdXNlIHlvdSYjMzk7cmUgZ29ubmEgbmVlZCBpdCB0aGlzIHdlZWshQ01YQ3JheW9uIFNoaW5jaGFuIFZvbCAyIFRQLCAkNy45OUtpaWNoaSBBbmQgVGhlIE1hZ2ljIEJvb2tzIFZvAzI2MGQCpwEPZBYCZg8VBRROZXcgUmVsZWFzZXMgNC8zMC8wOARMb3JpCUhlbmRlcnNvbrIDSXQmIzM5O3MgYW5vdGhlciBzaG9ydCBsaXN0IHRoaXMgd2VlaywgYnV0IGl0JiMzOTtzIGdvdCBzb21lIGdvb2Qgc3R1ZmYgb24gaXQuJm5ic3A7IFRoZXJlJiMzOTtzIHRoZSBsaXR0bGUgZGlub3NhdXIgd2l0aCBhIEJJRyBhdHRpdHVkZSwgYW5kIHRoZSBjYXRzIHN1cmUgdG8gbWFrZSB0aGUgVG9wIDE1MCBsaXN0LCBpZiBub3QgdGhlIFRvcCAxMC4mbmJzcDsgVGhlIGxhc3QgdHdvIGRpZC4mbmJzcDsgV2Ugd2VyZSBhYmxlIHRvIGZpbmQgc29tZSBnb29kIHRpdGxlcyB0byByZWNvbW1lbmQgdG9vLCBmcm9tIHZpZGVvIGdhbWVzLCB0byBleHRyZW1lIHNwb3J0cywgdG8gYW5vdGhlciBmcm9tIHRoZSAiZ29kIG9mIG1hbmdhIiB0byBzb21ldGhpbmcgZm9yIHRoZSB5b3VuZ2VzdCBvZiBmYW5zLkNNWEdvbiBWb2wgMDQsICQ1Ljk5REFSSyBIT1JTRSBDT01JQ1MDMjUzZAKoAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyA0LzIzLzA4BExvcmkJSGVuZGVyc29uogNUYWxrIGFib3V0IGEgc2VyaW91c2x5IHdlYWsgd2Vlay4uLiZuYnNwOyBJIGd1ZXNzIHB1Ymxpc2hlcnMgZWl0aGVyIHdhbnRlZCB0aGVpciB0aXRsZXMgb3V0IGJlZm9yZSBOWUNDLCBvciB0aGV5IGRpZG4mIzM5O3QgZXhwZWN0IGFueW9uZSB0byBoYXZlIGFueSBtb25leSBhZnRlcndhcmRzLiZuYnNwOyBUaGVyZSYjMzk7cyBvbmx5IHNwYXJjZSBvZmZlcmluZ3MgZnJvbSB0aGUgYmlnIHRocmVlLCBhbmQgaGFyZGx5IHRoZWlyIEEtbGlzdC4mbmJzcDsgU28gdGhpcyBpcyB0aGUgdGltZSB0byBjaGVjayBvdXQgc29tZSB0aGUgbGVzc2VyIGtub3duIGNvbXBhbmllcy5BVVJPUkEgUFVCTElTSElOR05lcGhpbGltIEdOLCQxMC45NVNheSBQbGVhc2UgR04sJDEyLjk1U2VkdWNlIE1lIEFmdGVyIFRoZSBTaG93IEdOLCQxMi45NUNNWERvAzI0NGQCqQEPZBYCZg8VBRROZXcgUmVsZWFzZXMgNC8xNi8wOARMb3JpCUhlbmRlcnNvbpQDVml6IGRvZXMgaXQgYWdhaW4sIHdpdGggdGhyZWUgb2YgdGhlaXIgZm91ciB0aXRsZXMgbWFraW5nIGl0IHRvIG91ciB3ZWVrbHkgcGlja3MuJm5ic3A7IEJ1dCwgaXQgaXMgYSBwcmV0dHkgc3BhcmNlIHdlZWssIGFzIGlzIHVzdWFsIGp1c3QgYmVmb3JlIGEgYmlnIGNvbi4mbmJzcDsgV2l0aCB0aGUgTmV3IFlvcmsgQ29taWMgQ29uIHN0YXJ0aW5nIHRoaXMgRnJpZGF5LCBJIGd1ZXNzIHRoZSBwdWJsaXNoZXJzIHdoYXQgeW91IHRvIHNhdmUgeW91ciBtb25leSBmb3IgaXQgaW5zdGVhZCBvZiBhdCB5b3VyIGNvbWljIHN0b3JlLkNNWFZhcmlhbnRlIFZvbCAwMyIsJDEyLjk5REVMIFJFWSBNQU5HQVNjaG9vbCBSdW1ibGUgR04gVm9sIDA5IiwkMTAuOTVXYWxsZmxvd2VyIEdOIFZvbCAxNSIsJDEwLjk1RElHSVQDMjMzZAKqAQ9kFgJmDxUFE05ldyBSZWxlYXNlcyA0LzkvMDgETG9yaQlIZW5kZXJzb26TA0l0JiMzOTtzIHRoZSBhdHRhY2sgb2YgdGhlIGJpZyAzIChwbHVzIDEpLiZuYnNwOyBEZWwgUmV5LCBUb2t5b3BvcCBhbmQgVml6IHRyb3Qgb3V0IHNvbWUgb2YgdGhlaXIgYmVzdCB0aGlzIHdlZWssIHdoaWxlIENNWCBnaXZlcyBhIHNtYWxsIGdlbSBvZiBhIGNsYXNzaWMuJm5ic3A7IFNvLCBkb24mIzM5O3QgZ2V0IGFsbCBtdXNoaSBvdmVyIHRoZSBwcmVzZW50cyB3ZSBoYXZlIGZvciB5b3UgdGhpcyB3ZWVrLCBjYXVzZSB5b3UgbmV2ZXIga25vdyB3aGVuIGEgZHJhZ29uIGV5ZSB3aWxsIGJlIHdhdGNoaW5nIHlvdS4mbmJzcDsgT24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIG1pcnJvciwgaXQgbWF5IGJlIGFnYWluc3QgdGhlIGxhdywgYW5kIGFuIGluc3BlY3RvciB3aWxsIGJlIHNlbnQgdG8gZ2V0IHlvdSEDMjIwZAKrAQ9kFgJmDxUFE05ldyBSZWxlYXNlcyA0LzIvMDgETG9yaQlIZW5kZXJzb26aAiAgICANCkxvb2tzIGxpa2UgVml6IHN3ZWVwcyB0aGUgcGlja3MgYWdhaW4uJm5ic3A7IFByZXR0eSBib3lzIGNhbiYjMzk7dCB3aW4sIG9yIGFuIGFzc2Fzc2luIGNhbiBzd2F5IHRoZW0gZnJvbSB0aGVpciBwYXRoLiZuYnNwOyBBIEdlbmp1IHRyaWVkIHN0YW5kIGluIHRoZWlyIHdheSwgYnV0IHdpdGggRXllc2hpZWxkIGluIHBsYWNlLCB0aGUgU3VwZXJuYXR1cmFsIEJ1cmVhIHdhcyBSZWJvcm4hREFSSyBIT1JTRVBhdGggT2YgVGhlIEFzc2Fzc2luIFZvbCAxMCBUUCwgJDkuOTUgKipXZWVrbAMyMDlkAqwBD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDMvMjYvMDgETG9yaQlIZW5kZXJzb27sAiAgICANCiAgICANCkpvaG4mIzM5O3Mgb2ZmIHRoaXMgd2VlaywgZ2FsYXZhbnRpbmcgYWxsIG92ZXIgSmFwYW4gKHRoZSBsdWNreSBkb2cpLCBzbyBubyBwaWNrIGZyb20gaGltLiZuYnNwOyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNyZXcgaXMgaGVyZSB3aXRoIHNvbWUgZ3JlYXQgcGlja3MgZm9yIHlvdSEmbmJzcDsgU28sIGRvbiYjMzk7dCBnbyBwc3ljaG8gb3IgaGF2ZSBuaWdodG1hcmVzIG9mIHNpbmdpbmcgU2hpbmlnYW1pIGFuZCBibG9vZCBhbG9uZS4mbmJzcDsgSXQmIzM5O3MgYWxsIGp1c3QgYmVlbiBhIGZhaXJ5IHRhaWwuDQpBTklNRSBXT1JLUyBQVUJMSUNBVElPTlMNCkVpa2VuIFZvbCAwOSwgJDEwLjk5QVVST1JBIFBVQkxJU0gDMjAzZAKtAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyAzLzE5LzA4BExvcmkJSGVuZGVyc29u8wIgICAgDQogICAgDQoNCkl0IGFwcGVhcnMgdG8gYmUgYW5vdGhlciBsaWdodCB3ZWVrIHRoaXMgd2Vlaywgd2l0aCByZWxlYXNlcyBzcHJpbmtsaW5nIG91dCBmcm9tIGEgbmljZSB2YXJpZXR5IG9mIHNvdXJjZXMuJm5ic3A7IEl0IGdldHMgYSBsaXR0bGUgcGVyc29uYWwgd2l0aCBmb3Igb25lIG9mIHJldmlld2Vycy4mbmJzcDsgQ2hlY2sgdGhlIHBpY2tzIHRvIGZpbmQgb3V0IHdobywgd2hhdCBhbmQgd2h5LkRBUksgSE9SU0VCbG9vZCBQbHVzIE5vdmVsIFZvbCAxIEZpcnN0IEtpc3MsICQ4Ljk1ICoqV2Vla2x5IFBpY2sqKkRpcnR5IFBhaXIgU3RyaWtlcyBBZ2FpbiBOb3ZlbCwgJDguOTUmbmJzcDsgKipXZWVrbHkgUGljayoqQ01YTW9vbiBDaGlsZAMxOTZkAq4BD2QWAmYPFQUUTmV3IFJlbGVhc2VzIDMvMTIvMDgETG9yaQlIZW5kZXJzb27gAg0KDQogICAgDQogICAgDQpUaGlzIHdlZWsgaXQmIzM5O3MgYWJvdXQgdGhlIHNtYWxsZXIgcHVibGlzaGVycy4mbmJzcDsgQnJvY2NvbGksIERSIE1hc3RlciwgYW5kIEdvIENvbWkgYWxsIHdpdGggZ29vZCByZWxlYXNlcy4mbmJzcDsgV2UgZXZlbiBnZXQgdGhlIHJldHVybiBvZiBJbmZpbml0eSBTdHVkaW9zLCBhbmQgbW9yZSBvbGQgc2Nob29sIGZyb20gTGFzdCBHYXNwLiZuYnNwOyBJdCBjYW4mIzM5O3QgYWxsIGJlIGFib3V0IFZpeiwgVG9reW9wb3AgYW5kIERlbCBSZXkuLi5CUk9DQ09MSSBJTlRFUk5BVElPTkFMIFVTQU15IERlYXJlc3QgRGV2aWwgUHJpbmNlc3MgR04gVm9sIDAyLCAkOS45OURBUksgSE9SU0UDMTc5ZAKvAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyAzLzA1LzA4BExvcmkJSGVuZGVyc29unQJNdXNpYyBhbmQgbWFnaWMsIHNjaS1maSwgYWN0aW9uIGFuZCBob3Jyb3IuIFdlJiMzOTt2ZSBnb3QgaXQgYWxsIGF0IHRoZSB2aWxsYWdlLiZuYnNwOyBIYXZlIGEgc2VhdCBpbiB0aGUgcHViIGFuZCBsaXN0ZW4gdG8gdXMgcmFtYmxlIG9uLiZuYnNwOyANCkRBUksgSE9SU0VNUEQgUHN5Y2hvIFRQIFZvbCAwNCoqLCAkMTAuOTUgDQoNCg0KREMgQ09NSUNTR28gR28gSGVhdmVuIFZvbCAwNSwgJDkuOTlUZXJ1IFRlcnUgWCBTaG9uZW4gVm9sIDAxLCAkOS45OSANCkRFTCBSRVkgTUFOR0FOZWdpbWEgR04DMTcyZAKwAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyAyLzI3LzA4BExvcmkJSGVuZGVyc29unAMgICAgDQogICAgDQoNCg0KICAgIA0KICAgIA0KVGhlcmUgYSBuaWNlIHZhcmlldHkgb2YgdGl0bGVzIHRvIHNlbGVjdCBmcm9tIHRoaXMgd2VlaywgYW5kIGl0JiMzOTtzIGEgVml6ICJ0aXRsZSIgd2F2ZSB3YXNoaW5nIG9uIHRvIHRoZSBuZXcgcmVsZWFzZXMgc2hvcmVzLiZuYnNwOyBPdXIgcmV2aWV3ZXJzIHRoaXMgd2VlayBzYWlsIHRob3NlIHNlYXMgd2l0aCBzb21lIFBpcmF0ZXMsIGNvb2sgaW4gdGhlIGdhbGxleSB3aXRoIGEgUHJpbmNlc3MsIGxpdmVuIHRoaW5ncyB1cCB3aXRoIHNvbWUgbW9ua2llcyBhbmQgY2F0cywgYW5kIHNlYXJjaCBmb3IgYSBNaW5pbWEgdHJlYXN1cmUgZ3VhcmRlZCBieSB0aGUgU2hhbWFuIFdhcnJpb3IuJm5ic3A7IEVuam95ISBBLkQuIFZJU0lPTkF6dW1hbmdhIERhaW9oIE9tbmlidXMgAzE2MWQCsQEPZBYCZg8VBRROZXcgUmVsZWFzZXMgMi8yMC8wOARMb3JpCUhlbmRlcnNvbpcDICAgIA0KICAgIA0KDQoNCiAgICANCiAgICANClZpeiBNZWRpYSBzd2VlcHMgb3VyIHBpY2tzIHRoaXMgd2Vlay4mbmJzcDsgQSBsb3Qgb2YgdGhlIHRpdGxlcyBoYXZlIGEgZGVmaW5pdGUgZGFyayBlZGdlIHRvIHRoZW0sIGFuZCBvdXIgcmV2aWV3cyBoYXZlIHBpY2tlZCB1cCBvbiB0aGF0LiZuYnNwOyBUaGVyZSBhcmUgYSBmZXcgcmF5cyBvZiBsaWdodCB0aG91Z2guDQoNCiAgRGFyayBIb3JzZQ0KICBLdXJvc2FnaSBDb3Jwc2UgRGVsaXZlcnkgU2VydmljZSBUUCBWb2wgMDYsICQxMC45NSAoUHVzaGVkIGJhY2sgdG8gbmV4dCB3ZWVrIGFjY29yZGluZyB0byBEYXJrIEhvcnNlIHdlYnNpdGUuJm5ic3A7IFRoYW5rcyBmb3IgdGhlIGhlYWRzIHVwIEpvaG4uKQ0KICBQYXRoIE9mIFRoZSBBc3Nhc3NpbiBWb2wgOSADMTUwZAKyAQ9kFgJmDxUFFE5ldyBSZWxlYXNlcyAyLzEzLzA4BExvcmkJSGVuZGVyc29u2gJUaGVyZSYjMzk7cyBsaXR0bGUgYml0IG9mIGV2ZXJ5dGhpbmcgY29taW5nIG91dCB0aGlzIHdlZWsuJm5ic3A7IFNlaW5lbiwgQkwsIFNob25lbiwgU2hvam8sIG9sZCBhbmQgbmV3LiZuYnNwOyBPdXIgcGlja3MgYXJlIHNwcmVhZCBvdXQgYXMgd2VsbCwgdGhvdWdoIGEgbGl0dGxlIGNvLW9wZXJhdGlvbiBkb2VzbiYjMzk7dCBodXJ0LkRBUksgSE9SU0VCbGFkZSBvZiB0aGUgSW1tb3J0YWwgVFAgVm9sIDE4IFNwYXJyb3cgTmV0LCAkMTkuOTUmbmJzcDsgKipXZWVrbHkgUGljayoqRG9taW5pb24gQ29uZmxpY3QgMSBObyBNb3JlIE5vaXNlIFRQIChOZXcgUHRnKSwgJDE0Ljk1VHJhbnNsdWNlbnQgVm9sIDMgAzEzNWQCswEPZBYCZg8VBRROZXcgUmVsZWFzZXMgMi8wNi8wOARMb3JpCUhlbmRlcnNvbtkCSXQmIzM5O3MgdGltZSBmb3IgYW5vdGhlciByb3VuZCBvZiBvdXIgZmF2b3JpdGUgcGlja3MgZnJvbSB0aGUgbWFuZ2EgcmVsZWFzaW5nIHRoaXMgd2Vlay4mbmJzcDsgSXQgd2FzIGEgbGl0dGxlIGhhcmQgdGhpcyB3ZWVrLCB3aXRoIHNvbWUgZ29vZCB0aXRsZXMgZnJvbSBEYXJrIEhvcnNlLiZuYnNwOyBBbmQgVG9reW9wb3AgZG9lcyBpdCYjMzk7cyBtb250aGx5IGZsb29kLCBidXQgdGhlcmUgYXJlIGZldyBnZW1zIGluIHRoYXQgbWl4IHRvby5EQVJLIEhPUlNFQmxvb2QgUGx1cyBUUCBWb2wgMSwgJDEwLjk1Jm5ic3A7ICoqV2Vla2x5IFBpY2sqKkJyaWRlIE9mIFRoZSBXYXRlciBHb2QgVFAgVm9sIDIsAzEyMmQCtAEPZBYCZg8VBRROZXcgUmVsZWFzZXMgMS8zMC8wOARMb3JpCUhlbmRlcnNvbvABDQoNCiAgICANCiAgICANCkRhcmsgSG9yc2VPaCBNeSBHb2RkZXNzIFZvbCAyOCBUUCwgJDEwLjk1Q01YUGVuZ3VpbiBSZXZvbHV0aW9uIFZvbCA1LCAkOS45OURFTCBSRVkgTUFOR0FIZWxsIEdpcmwgR04gVm9sIDEsICQxMC45NU5lZ2ltYSBHTiBWb2wgMTYsICQxMC45NUhhcnBlciBDb2xsaW5zIFB1Ymxpc2hlcnNXYXJyaW9ycyBHTiBWb2wgMiBXYXJyaW9ycyBSZWZ1Z2UgKG9mIDMpLCAkNi45OSZuYnNwOyAqKldlZWtsAzEwNWQCtQEPZBYCZg8VBRROZXcgUmVsZWFzZXMgMS8yMy8wOARMb3JpCUhlbmRlcnNvbrsDSGVyZSBhcmUgdGhlIG5ldyBtYW5nYSByZWxlYXNlcyBmb3IgdGhpcyB3ZWVrLCB3aXRoIG91ciBwaWNrcy4mbmJzcDsgRGFyaw0KSG9yc2UgZ290IHN3ZXB0IGJ5IExpc3NhIGFuZCBDaGFybGVzLiZuYnNwOyBTYWJyaW5hIHNob3dlZCBDTVggc29tZSBsb3ZpbmcsDQp3aGlsZSBKb2huIGdvdCB0byBzb21lIGhhdGluZyB3aXRoIERlbCBSZXkuJm5ic3A7IE15IGZhbnRhc3kgc2lkZSBqdXN0DQpjb3VsZG4mIzM5O3QgdHVybiBhd2F5IFZlcnRpY2FsLCB0aG91Z2ggdGhlIGxpdHRsZSBkaW5vc2F1ciBhbG1vc3QgZ290IGluDQp0aGUgd2F5Li4uLg0KQW50YXJjdGljIFByZXNzR29sZCBEaWdnZXIgSUkgUG9ja2V0IE1hbmdhIFZvbCAzLCAkMTQuOTVNaXNjaGllZiAmYW1wOyBNYXloZW0gUG9ja2V0IE1hbmdhIFZvbCAxLCAkMTQuOTVOaW5qYSBIaWdoIFNjaG9vbCBTaGlkb3NoaSACODlkArcBD2QWAmYPFQUYVG9reW9wb3A6IFdoYXQgSGFwcGVuZWQ/BExvcmkJSGVuZGVyc29u1wNUaGVyZSBoYXMgYmVlbiBhIGxvdCBvZiB0YWxrIGdvaW5nIGFyb3VuZCB0aGUgbWFuZ2FzcGhlcmUgYWJvdXQgd2hhdA0KcGVvcGxlIGFyZSBjYWxsaW5nIHRoZSAiaW1wbG9zaW9uIiBvZiBUb2t5b3BvcC4mbmJzcDsgVHdvIHdlZWtzIGFnbywNClRva3lvcG9wIGFubm91bmNlZCBpdCYjMzk7cyBpbnRlbnRpb25zIHRvIHJlc3RydWN0dXJlIHRoZSBjb21wYW55LA0Kc3BsaXR0aW5nIGl0IGluIHR3by4mbmJzcDsgVGhlIG5ldyBjb21wYW55LCBUb2t5b3BvcCBNZWRpYSwgTExDIHdpbGwgYmVjb21lDQp0aGUgZGlnaXRhbCBhbmQgZmlsbSByaWdodHMgYXJtIG9mIHRoZSBjb21wYW55LCBkZXZlbG9waW5nIGNvbWljcyBmb3INCm1vdmllcy4mbmJzcDsgVGhlIHB1Ymxpc2hpbmcgc2lkZSB3b3VsZCBjb250aW51ZSBvbiwgd2l0aCBhIHJlZHVjdGlvbiBvZg0KYm9va3MgcmVsZWFzZWQgYW5kIHN0YWZmLkENCmxvdCBvZiBwZW9wbGUDMzAyZAK4AQ9kFgJmDxUFE01pbmkgUmV2aWV3cyBQYXJ0IDEHU2FicmluYQCiA09rYXksIHRoaXMgd2VlayBJIGRlY2lkZWQgdG8gc2hha2UgdGhpbmdzIHVwIGEgYml0IGFuZCBkbyBhDQpidW5jaCBvZiBtaW5pLXJldmlld3MsIGluc3RlYWQgb2Ygb25lIGJpZyBsb25nIHJldmlldy4mbmJzcDsgSSBjaG9zZSBtYW5nYSB0aGF0JnJzcXVvO3MgZWl0aGVyIGZyb20gYW4gb2JzY3VyZQ0Kb3IgbmlnaC1kZWZ1bmN0IHB1Ymxpc2hlciwgaGFzIGJlZW4gb3Zlcmxvb2tlZCBpbiB0aGUgbWVkaWEsIGlzIGEgd2ViLWNvbWljIHRoYXQmcnNxdW87cw0KYmVpbmcgcmUtcmVsZWFzZWQsIG9yIGlzbiZyc3F1bzt0IGV2ZW4gcmVhbGx5IG1hbmdhIGF0IGFsbCEmbmJzcDsgU28gcmVhZCBvbi4mbmJzcDsNCllvdSBtaWdodCBmaW5kIGEgZ2VtIHRoYXQgeW91IGRpZG4mcnNxdW87dCBrbm93IGV4aXN0ZWQuIA0KDQoNCg0KDQoNCkYDMjkzZAK5AQ9kFgJmDxUFIUEgUGVlayBpbnRvIFRyYW5zbGF0aW9uIChQYXJ0IDE/KQRKb2huBlRob21hc+oDTG9yaSBtZW50aW9uZWQgdG8gbWUgc2hlIHRob3VnaHQgcGVvcGxlIG1pZ2h0IGJlIGludGVyZXN0ZWQgaW4gc29tZSAiaW5zaWRlciBsb29rcyIgYXQgdGhlIG1hbmdhIGFuZCBwdWJsaXNoaW5nIGluZHVzdHJ5LiBDb25zaWRlcmluZyBJIHNlZSB0aGUgaW5zaWRlIG9mIG15IGhvbWUgb2ZmaWNlIG1vcmUgdGhhbiB0aGUgImluZHVzdHJ5IiwgSSB3aWxsIGF0dGVtcHQgdG8gZ2l2ZSBhbnN3ZXIgYSBmZXcgb2YgdGhlIHF1ZXN0aW9ucyBJIHNvbWV0aW1lcyBnZXQgYWJvdXQgYnJpbmdpbmcgSmFwYW5lc2UgdGl0bGVzIHRvIEVuZ2xpc2gsIGFuZCBJIGhvcGUmbmJzcDthdCBsZWFzdCBhIGNvdXBsZSBwZW9wbGUmIzM5O3MgaW50ZXJlc3QuDQpXaGVuIHBlb3BsZSBhc2sgbWUgd2hhdCBJIGRvIGZvciBhIGxpdmluZyBJIHVzdWFsbHkgc2F5ICJ0cmFuc2xhdG9yIiwgdGhvdWdoIEkgYWxzbyB3cml0ZSBhIG1lZGlhIGNvbHVtbiBmb3IgYSBsb2NhbCBQYWNpZmljIAMyNDNkAroBD2QWAmYPFQUbUG9uZGVyaW5nIHRoZSBNYW5nYSBGb3JtYXRzB0NoYXJsZXMDVGFu5AJDdXJyZW50bHksIHRoZSBVUyBoYXMgdGhyZWUgY29tbWVyY2lhbCBmb3JtYXRzIGZvciBtYW5nYTogbW9udGhseSBhbnRob2xvZ2llcyBsaWtlIFNob25lbiBKdW1wOw0KZGlnZXN0LXNpemVkICJncmFwaGljIG5vdmVscyI7IGFuZCB0aGljaywgc29tZXRpbWVzIG92ZXItc2l6ZWQNCiJvbW5pYnVzIiBlZGl0aW9ucy4gV2hhdCYjMzk7cyBpbnRlcmVzdGluZyBmb3IgbWUgaW4gcGFydGljdWxhciBpcyBob3cNCnRoZXNlIHRocmVlIGZvcm1hdHMgaGF2ZSBldm9sdmVkIG92ZXIgdGhlIHllYXJzIGFuZCBob3cgdGhleSBhcmUNCnNpbWlsYXIgdG8gb3IgZGlmZmVyZW50IGZyb20gdGhlaXIgSmFwYW5lc2UgY291bnRlcnBhcnRzLgMyMTlkArsBD2QWAmYPFQUpQ29uIFJlcG9ydC0gQW5pbWUgU3QuIExvdWlzIChNYXJjaCAyOC0zMCkHU2FicmluYQChAw0KDQpBbmltZSBTdC4gTG91aXMgd2FzIGEgYmxhc3QhJm5ic3A7DQpJdCB3YXMgdGhlIGZpcnN0IGFuaW1lIGNvbnZlbnRpb24gSSBoYXZlIGV2ZXIgYXR0ZW5kZWQsIGFuZCBpdCZyc3F1bztzIHN0aWxsDQppbiBpdHMgaW5mYW5jeSBhcyBhIHRocmVlLWRheSBjb24uJm5ic3A7DQpPdmVyYWxsLCBpdCB3YXMgcmF0aGVyIHdlbGwgcGxhbm5lZCwgZXhjZXB0IGZvciBhIGZldyBzbmFmdXMsIGFuZCB0aGUNCmV2ZW50cyBhbmQgY29zcGxheWVycyB3ZXJlIGFtYXppbmcuJm5ic3A7IEkNCndlbnQgYXJvdW5kIGFuZCBzcG9rZSB0byBhIGZldyBvZiB0aGUgY29zcGxheWVycywgYW5kIGhlcmUmcnNxdW87cyB3aGF0IHRoZXkgaGFkIHRvDQpzYXk6DQoNCg0KDQpOZWFyLCBhIERlYXRoIE5vdGUgY29zcGxheWVyLCBzYWlkLCAmcXVvdDtMbwMyMDhkArwBD2QWAmYPFQUXV2h5IEkgTG92ZSBTcG9ydHMgTWFuZ2EHQ2hhcmxlcwNUYW6iA0luIFNob25lbiBtYW5nYSwgdGhlcmUmIzM5O3Mgb25lDQpmb3JtdWxhIHRoYXQgY2FuIGdldCByZXBldGl0aXZlOiB0cmFpbmluZywgZmlnaHRpbmcsIHNvbWUgbW9yZQ0KdHJhaW5pbmcsIG1vcmUgZmlnaHRpbmcgYWZ0ZXJ3YXJkcywgdGhlbiBldmVuIG1vcmUgdHJhaW5pbmcgYW5kIGludGVuc2UNCmZpZ2h0cyBhZnRlcndhcmRzLS1pdCBhbGwgZ29lcyBvbiBhbmQgb24uIFRoZXJlIGFyZSBzb21lIHBlb3BsZSB3aG8gYXJlDQp0dXJuZWQgb2ZmIGJ5IERyYWdvbmJhbGwgWg0KZm9yIHRoaXMgdmVyeSByZWFzb24uIEJ1dCB0aGVyZSYjMzk7cyBvbmUgZ2VucmUgd2hlcmUgdGhhdCBmb3JtdWxhIG1ha2VzDQpwZXJmZWN0IHNlbnNlOiBzcG9ydHMuIEp1c3QgbG9vayBhdCBvdXIgYXRobGV0ZXM6IGp1c3QgYmVmb3JlIHRoZSBzdGFydA0DMTQ4ZAK9AQ9kFgJmDxUFD1doYXQgaXMgTWFuZ2E/IARKb2huBlRob21hc+YCTWFuZ2EgaXMgd2hhdCB3ZSBhcmUuLi5zbyB3aGF0IGlzIG1hbmdhPyANCldlIGVtYmFyayZuYnNwO3RoZSBiZWdpbm5pbmdzIG9mJm5ic3A7TWFuZ2EgVmlsbGFnZS4gSSBjb3VsZG4mcnNxdW87dCBiZSBtb3JlIHByb3VkIHRvIGhhdmUgYXBwbGllZCBhbmQgYmVlbiBhY2NlcHRlZCB0byBjb250cmlidXRlIHRvIHRoaXMgY28tb3Agb2YgaW50ZWxsaWdlbnQgYW5kIHdlbGwtcmVhZCByZWFkZXJzIGFuZCBsb3ZlcnMgb2YgbWFuZ2EgYW5kIGNvbWljcy4gVGhpcyBpcyBhbiBleGNpdGluZyB0aW1lLCBidXQgYSB2b2xhdGlsZSB0aW1lLCBpbiB0aGUgbWFuZ2EgYW5kIGFuaW1lIHdvcmxkLiBUaGUgc2F0dXJhdGlvbiBvZiB0aGUgbQMxMDdkAr4BD2QWAmYPFQUYTWFuZ2EgaW4gdGhlIFBoaWxpcHBpbmVzB0NoYXJsZXMDVGFu9ANUaGUgUGhpbGlwcGluZXMgSSB0aGluayBpcyBpbiBhIHZlcnkgdW5pcXVlIHBvc2l0aW9uIGFzIGZhciBhcyBtYW5nYQ0KZ29lcy4gT24gb25lIGhhbmQsIHdlJiMzOTtyZSBsb2NhdGVkIGluIFNvdXRoZWFzdCBBc2lhIGFuZCBpdCYjMzk7cw0Kc2lnbmlmaWNhbnRseSBjbG9zZXIgdG8gSmFwYW4gY29tcGFyZWQgdG8gYW55IFdlc3Rlcm4gbmF0aW9uLiBBbmQgYXMNCmZhciBhcyBjb2xvbml6YXRpb24gZ29lcywgSmFwYW4gZGlkIGludmFkZSB0aGUgUGhpbGlwcGluZXMgZHVyaW5nIFdvcmxkDQpXYXIgSUkgYWx0aG91Z2ggdGhleSB3ZXJlIGV2ZW50dWFsbHkgZHJpdmVuIG9mZi4gT25lIHdvdWxkIHRoaW5rIHRoYXQgYQ0KcmljaCBtYW5nYSBjdWx0dXJlIHdvdWxkIGRldmVsb3AgaGVyZSBzdWNoIGFzIHdoYXQgaGFwcGVuZWQgd2l0aCBvdGhlcg0KU291dGhlYXN0IEFzaWFuIGNvdW50cmllcyBsaWtlIEtvcmVhLCBIb25nIEtvbmcsIFRhaXdhbiwgSW5kb25lc2lhLCBvcg0KZQI5MWQCvwEPZBYCZg8VBQ5TdW1tZXIgb2YgVml6PwdTYWJyaW5hAPICDQoNCg0KDQoNCg0KVGhlIFN1bW1lciBvZiBWaXoNCg0KSSZyc3F1bzttIHBvc3Rwb25pbmcgbXkgeWVhciBpbiByZXZpZXcgY29sdW1uICh3aGF0IEkgaGFkDQpvcmlnaW5hbGx5IHBsYW5uZWQgZm9yIHRoaXMgd2VlaykgZm9yIG5leHQgdGltZSwgc28gSSBjYW4gcmVwb3J0IG9uIHRoZSBuZXcgVml6DQphY3F1aXNpdGlvbnMuJm5ic3A7IE1ham9yIHByb3BzIHRvIE1hbmdhQ2FzdA0KZm9yIHNwb3R0aW5nIG5ldyBsaWNlbnNlcyBvbiBBbWF6b24geWV0IGFnYWluLiZuYnNwOw0KRWFnbGUgZXllLCBtYW4sIGVhZ2xlIGV5ZS4mbmJzcDsgTGlzdGVkDQppbiBvcmRlciBvZiB3aGF0LVNhYnJpbmEtaXMtbG9va2luZy1mb3J3YXJkLXRvLXRoZS1tb3N0LgMxMDhkAsABD2QWAmYPFQUfR2V0IFB1Ymxpc2hlZCBhdCBNYW5nYSBWaWxsYWdlIQRMb3JpCUhlbmRlcnNvbu8CTWFuZ2EgVmlsbGFnZUBDb21pY3MgVmlsbGFnZSwgaW4gYXNzb2NpYXRpb24gd2l0aCBNYXJrb3NpYQ0KRW50ZXJwcmlzZXMgaXMgc3BvbnNvcmluZyBhIG1hbmdhIHdlYmNvbWljIGNvbXBldGl0aW9uLiZuYnNwOyBUaGUgcHJpemU6IEdldCB5b3VyIG1hbmdhIHB1Ymxpc2hlZCBvbmxpbmUNCmFuZCBpbiBwcmludCB0aHJvdWdoIE1hcmtvc2lhIGFuZCBkaXN0cmlidXRlZCB0byBib29rc3RvcmVzIGluIHRoZSBVSyBhbmQgdGhyb3VnaA0KRGlhbW9uZCBQdWJsaXNoaW5nIHdvcmxkd2lkZSEmbmJzcDsNCg0KSGVyZSZyc3F1bztzIGhvdyBpdCB3b3JrczoNCg0KDQoNCg0KDQpXZSZyc3F1bztyZSBsb29raW5nIGZvciBhIGNyZWF0b3Igb3IgdGVhbQMxMDRkAsEBD2QWAmYPFQU4V2hvZHVuaXQ/IChQdXR0aW5nIHRoZSBHZW5yZSB1bmRlciB0aGUgTWFnbmlmeWluZyBHbGFzcykHU2FicmluYQCoAw0KDQoNCg0KDQoNCg0KQXMgdGltZSBnb2VzIG9uLCBpdCBiZWNvbWVzDQpoYXJkZXIgYW5kIGhhcmRlciB0byBmaW5kIGEgZ2VucmUgdGhhdCBhdCBsZWFzdCBtYW5nYSBoYXNuJnJzcXVvO3QgYWxyZWFkeSBkZWFsdCB3aXRoDQppbiBmdWxsIGZvcmNlLiZuYnNwOyBGcm9tIGJhY3RlcmlhIHRvDQpwYWNoaW5rbywgZnJvbSBiYXNzLWZpc2hpbmcgdG8gc2FsYXJ5bWFuIG1hbmdhLCBtYW5nYSBlbmNvbXBhc3NlcyBuZWFybHkgb3VyDQplbnRpcmUgd29ybGQuJm5ic3A7IFNvbWUgZ2VucmVzIGFyZSBtb3JlIG92ZXJkb25lDQp0aGFuIG90aGVyc+KAlG1hZ2ljYWwgZ2lybCwgZ2lybC10cmF2ZWxzLXRocm91Z2gtdGltZSwgaGlnaCBzY2hvb2wgY29tZWR5LA0KZXRjLiZuYnNwOyBUaGV5IGJlY29tZSBhIGNob3JlIHRvIHJlYWQsDQpiZWNhdXNlIGUCOTBkAsIBD2QWAmYPFQUVUFI6IFZpeiBHb2VzIFNob3BwaW5nBExvcmkJSGVuZGVyc29ukQNUaGVyZSBhcmUgc29tZSBpbnRlcmVzdGluZyB0aWRiaXRzIHdoYXQgd291bGQgb3RoZXJ3aXNlIGJlIGEgcGxhaW4sIG9sZCwgYm9yaW5nIFBSIGFubm91bmNlbWVudC4mbmJzcDsgTW9uc3Rlci4uLi5IdW50ZXIgWCBIdW50ZXIuLi5Ib25leSBhbmQgQ2xvdmVyLi4uYXJlIHdlIHNlZWluZyB0aGUgaGludHMgb2YgbW9yZSBuZXcgYW5pbWUgbGljZW5zZXM/Jm5ic3A7IEl0IHdpbGwgYmUgaW50ZXJlc3RpbmcgdG8gc2VlIGhvdyB0aGlzIHR1cm5zIG91dCwgYW5kIHdobyB3aWxsIGdldCB0aGVtLiZuYnNwOyBWaXouLi5zb21lb25lIGVsc2UuLi4uLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQI4N2QCxAEPZBYCZg8VBR9QbGVudHkgb2YgV2hpbmluZyBidXQgTm8gQ2hlZXNlBE1hcmsIQml0dG1hbm4dDQogDQogIE5vcm1hbA0KICAwDQogIA0KIA0KDQoDMzQ3ZALFAQ9kFgJmDxUFDVRoZSBFeHBsYWluZXIETWFyawhCaXR0bWFubh0NCiANCiAgTm9ybWFsDQogIDANCiAgDQogDQoNCgMzMzJkAsYBD2QWAmYPFQUTU3BpZGV5IEJyYWluIFRydXN0PwRNYXJrCEJpdHRtYW5uGg0KIA0KICBOb3JtYWwNCiAgMA0KICANCiAgAzMxNGQCxwEPZBYCZg8VBRFBdmVuZ2VycyBBc3NlbWJseQRNYXJrCEJpdHRtYW5u1ANIb3cgY29vbCBpcyB0aGUgTWFydmVsIHNjcmVlbiB1bml2ZXJzZSBzaGFwaW5nIHVwIHRvIGJlPw0KDQpIb3Qgb24gdGhlIGhlZWxzIG9mIElyb24gTWFuJnJzcXVvO3MgZmx5aW5nIGJvb3RpZXMgY29tZXMgdGhlDQpHcmVlbi1za2lubmVkIGJlaGVtb3RoLCBzbWFzaGluZyBoaXMgd2F5IHRvIGEgdGhlYXRlciBuZWFyIHlvdS4NCg0KSSBzYXcgaXQgdG9kYXkgYW5kIHdhcyB0aG9yb3VnaGx5IGltcHJlc3NlZC4mbmJzcDsgRnJlbmNoIGFjdGlvbiBkdSBqb3VyIGRpcmVjdG9yIExvdWlzIExldGVycmllcg0KaGFzIHRocm93biB0b2dldGhlciBhIGZ1biB0aW1lIGF0IHRoZSBmbGlja3Mgd2l0aCB0aGUgcmVxdWlzaXRlIGNoYXNlIHNjZW5lcywNCmxvdmVkIG9uZSZyc3F1bztzIGF0IGJvdGggbG9nZ2VyaGVhZHMgYW5kIGluIHBlcmlsIGFuZCBtb3N0IGltcG9ydGFudCwgc21hc2hpbmcmaGVsbGlwO0xPVFMNCm9mIHNtYXMDMjk2ZALIAQ9kFgJmDxUFDkEgS2luZ2x5IFNtZWFyBE1hcmsIQml0dG1hbm5rDQoNCkEgS2luZ2x5IFNtZWFyDQoNCkJ5IE1hcmsNCkJpdHRtYW5uDQoNCiZuYnNwOw0KDQpLaXJieTogS2luZyBvZiBDb21pY3MgaGFzIGhpdCB0aGUgc3RhbmRzLCBjZWxlYnJhdGluZyADMjgwZALJAQ9kFgJmDxUFI1NsaWNlLCBQbHVuZGVyIGFuZCBQaWxsYWdlIGZvciBmdW4hBE1hcmsIQml0dG1hbm6aA1dlbGwgaXQmIzM5O3MgZmluYWxseSBoZXJlLg0KJm5ic3A7DQpBZnRlciB0d28geWVhcnMgb2Ygd2FpdGluZyBmb3IgdGhlIHByb2dyYW1tZXJzLCANCmRlc2lnbmVycyBhbmQgYXNzb3J0ZWQgZ2Vla3MgdGhhdCZuYnNwO3dlbnQgaW50byBtYWtpbmcgRnVuY29tJiMzOTtzJm5ic3A7Zmlyc3QgTWFzc2l2ZWx5IA0KTXVsdGlwbGF5ZXIgT25saW5lIFJvbGUtUGxheWluZyBHYW1lJm5ic3A7aGF2ZSBmaW5hbGx5IGxhdW5jaGVkIEFnZSBvZiBDb25hbjogVGhlIA0KSHlib3JpYW4gQWR2ZW50dXJlcyBhbmQgSSYjMzk7bSBoYXZpbmcgYSBiYWxsIHNsYXlpbmcgYmVhc3RzLCBldmlsIG1pbmlvbnMsIA0KbGlmZS1lYXRpbmcgcGxhbnRzIGFuZCBvdGhlciBhc3NvcnRlZCBOb24tUGxheWVyIENoYXJhY3RlcnMgKG9yIE5QQyYjAzI2OGQCygEPZBYCZg8VBRpUaGUgRmFyY2UgSXMgU3RpbGwgV2l0aCBVcwRNYXJrCEJpdHRtYW5ueFRoZSBGYXJjZSBJcyBTdGlsbCBXaXRoIFVzDQoNCkJ5IE1hcmsNCkJpdHRtYW5uDQoNCiZuYnNwOw0KDQpFeGN1c2UgbWUgYnV0DQp3aGF0IGV4YWN0bHkgaGFzIEdlb3JnZSBMdWNhcyBjcmVhdGVkIGFnYWluPwMyNTVkAssBD2QWAmYPFQUJSmFja2VkLVVwBE1hcmsIQml0dG1hbm6FAk15IGRvZyBKYWNrDQp0aGlua3MgSSZyc3F1bzt2ZSBsb3N0IGl0Lg0KDQpIZSBjYW4mcnNxdW87dA0KcG9zc2libHkgaW1hZ2luZSB3aHkgaW4gdGhlIHdvcmxkIEkmcnNxdW87ZCByYXRoZXIgbGF5IG9uIHRoZSBjb3VjaCByZWFkaW5nIENvbWljDQpCb29rcyB0aGFuIHRha2UgaGltIG9uIGEgd2Fsay4mbmJzcDsgSSBiZWxpZXZlDQpoZSBhcnJpdmVzIGF0IHRoaXMgY29udW5kcnVtIHdoZW4gaGUgdGFrZXMgaW50byBjb25zaWRlcmF0aW9uIHRoYXQ6DQoNCgMyMzlkAswBD2QWAmYPFQUbSW1tb3J0YWxpdHk6IFRoZSBGaW5lIFByaW50BE1hcmsIQml0dG1hbm4gDQoNCkltbW9ydGFsaXR5OiBUaGUNCkZpbmUgUHJpbnQDMjEyZALNAQ9kFgJmDxUFHU9oLCBUbyBEaWUgQSBDb21pYyBCb29rIERlYXRoBE1hcmsIQml0dG1hbm7DAlNvLiZuYnNwOyBMaWtlIHNvIG1hbnkgb3RoZXIgY2hhcmFjdGVycyBpbiBjb21pY3MgeW91JnJzcXVvO3ZlDQpiZWVuIGRlYWx0IHRoZSBoYW5kIG9mIGRlYXRoLg0KDQpUaGVyZSB5b3UNCndlcmUsIGEgQy1sZXZlbCwgZm9yZWFybS1ibGFkZS13aWVsZGluZyBtYWpvci1wbGF5ZXIga25vY2tvZmYgd2hvLCBvbmNlIGFnYWluLA0KZmFpbGVkIHRvIG5vdGljZSB0aGUgaW5vcmRpbmF0ZSBhbW91bnQgb2YgaW5wdXQgeW91JnJzcXVvO3ZlIGhhZCBpbnRvIHlvdXIgbmV3bHkNCmFkb3B0ZWQgdGVhbSZyc3F1bztzIGxhdGVzdCBib3V0IHdpdGggc3VwZXItdmlsbGFpbnkuAzE5N2QCzgEPZBYCZg8VBRtGaW5hbCBDcmlzaXM/ICBZZWFoLCBSaWdodC4ETWFyawhCaXR0bWFubpcDIldlJiMzOTtyZSBnb2luZyB0byBraWNrIHRoZWlyIGFzcyBzbyBoYXJkLiBbTGF1Z2hzXSBNYXJ2ZWwgaGFkIGl0cyBiaWcgeWVhciBsYXN0IHllYXIgd2l0aCAmIzM5O0NpdmlsIFdhciwmIzM5OyB3aGljaCB3YXMgYW4gYW1hemluZyBldmVudCBhbmQgcmVhbGx5IGNoYW5nZWQgdGhlIE1hcnZlbCBsYW5kc2NhcGUuJm5ic3A7IFdpdGggJiMzOTtTZWNyZXQgSW52YXNpb24sJiMzOTsgd2UmIzM5O3ZlIHNlZW4gdGhlIFNrcnVsbCB0aGluZyBiZWZvcmUuIFdlJiMzOTt2ZSBzZWVuIGl0IGluIHRoZSBLcmVlLVNrcnVsbCBXYXIsIGFnYWluIGluIHNlcmllcyBsaWtlIHRoZSBGYW50YXN0aWMgRm91ci4mbmJzcDsgVGhleSZyc3F1bztyZSBraW5kIG9mIHJlc3RpbmcgdGhpcyB5ZWFyLiZuYnNwOyBbTGF1Z2hzXSBTbyADMTczZALPAQ9kFgJmDxUFNFNjaWVuY2UgYXMgRmFjdDogTGl2ZSBJdCwgTGVhcm4gSXQgb3IgRXZvbHZlIGEgQnJhaW4ETWFyawhCaXR0bWFubv4CSWYgZXZlciB0aGVyZSB3ZXJlIGEgZGlzdHVyYmluZyB0cmVuZCBpbiB0aGUgVW5pdGVkIFN0YXRlcywgaXQmIzM5O3MgdGhlIG5vbnNlbnNlIGFyaXNpbmcgb3V0IG9mIEV2YW5nZWxpY2FsIENocmlzdGlhbiBkaXNjb3Vyc2UgKG9yIHdoYXQgcGFzc2VzIGZvciBpdCBhbnl3YXkpIGNvbmNlcm5pbmcgU2NpZW5jZS5FdmFuZ2VsaWNhbHMgc2VlbSB0byBiZWxpZXZlIHRoYXQgU2NpZW5jZSBpcyBqdXN0IGFub3RoZXIgcmVsaWdpb24gdG8gYmVsaWV2ZSBpbiBvciBub3QuSSBoYXRlIHRvIHBsYXkgRGV2aWwmIzM5O3MgYWR2b2NhdGUgaGVyZSBidXQgdGhhdCBpcyBOT1QgaG93IHNjaWVuY2Ugd29ya3MuVGhlaXIgcHJpbWFyeSB0YXJnZXRzIGZvciBkaXNjcmVkaXQgYXJlIAMxNTRkAtABD2QWAmYPFQUYVGhlIFJldHVybiBvZiBTcGlkZXItTWFuBE1hcmsIQml0dG1hbm6bASZuYnNwOw0KV2VsbCwgT25lIE1vcmUgRGF5IGhhcyB3b3JrZWQgTWVwaGlzdG8mcnNxdW87cyBjb250cm92ZXJzaWFsIG1hZ2ljIGFuZCBCcmFuZCBOZXcgRGF5IGhhcyBkZW1vbnN0cmF0ZWQgdGhlIHdpemFyZHJ5IG9mIFN0ZXZlIFdhY2tlciBhbmQgRGFuIFNsb3R0Lg0KAzEyMWQC0QEPZBYCZg8VBQ5XYXRjaG1lbiBXYXRjaARNYXJrCEJpdHRtYW5ugQMNCkRpZCBhbnlvbmUgYmVzaWRlcyBteXNlbGYgYW5kIFNhcmFoIFNpbHZlcm1hbiB3YXRjaCAiMzAwIiBhbmQgc2l0IHRoZXJlIHdvbmRlcmluZyBhdCB3aGF0IHBvaW50ICJJdCYjMzk7cyBSYWluaW5nIE1lbiIgd291bGQgc3RhcnQgcGxheWluZyBpbiB0aGUgYmFja2dyb3VuZD8NClNpbHZlcm1hbiBjbGFpbWVkIHRoZSBmaWxtJnJzcXVvO3MgdGl0bGUgd2FzIGFycml2ZWQgYXQgd2hlbiB0aGUgZmlsbSZyc3F1bztzIHByb2R1Y2VycyB3ZXJlIGFza2VkIHRvIHJhdGUgaG93IGdheSBpdCB3YXMgb24gYSBzY2FsZSBvZiAxIHRvIDEwIOKAkyBhIGZhbHNlIGNsYWltLCB5ZXMsIGJ1dCBhIGhpbGFyaW91cyBvbmUuSSB0b28gdGhvdWdodCAzMDAgd2FzIG9uZSBvZiB0aGUgbW9yAjg1ZALSAQ9kFgJmDxUFHVRoZSBTZXF1ZWwgRGVtYW5kZWQgQnkgTm8gT25lBE1hcmsIQml0dG1hbm7EAw0KV2VsbCwgSSZyc3F1bzttIGJhY2suDQpOZXcgc2l0ZSwgbmV3IGNvbHVtbiwgZnJlc2hseSBjaGFyZ2VkIGJhdHRlcmllcy4gTGlrZSBjcmFwZmVzdCB0b3J0dXJlLXBvcm4gYW5kIERpc25leSBjbGFzc2ljcywgSSB0b28gaGF2ZSBzdWNjdW1iZWQgdG8gYW4gYWN1dGUgY2FzZSBvZiBzZXF1ZWxpdGlzLiANClllcCwgbXVjaCB0byB0aGUgY2hhZ3JpbiBvZiByZWxhdGl2ZWx5IGZldyBwZW9wbGUsIEkmcnNxdW87dmUgcmV0dXJuZWQgdG8gdGhlIHdlYiB0byBwb3N0IG15IHRob3VnaHRzIChsaXN0ZW4gZm9yIHRoZSBjbGFuaykgb24gY29taWNzIGFuZCB0aGUgY29taWNzIGluZHVzdHJ5LCBtb3ZpZXMsIHBvcCBjdWx0dXJlIGluIGdlbmVyYWwsIHBlcHBlcmVkIHdpdGggbXkgb2JzZXJ2YXRpb25zIG9mIGxpZmUsIHBlb3BsZSwgcG9saXRpY3MgYW5kIG90aGVyIG1hdHRlcnMuDQpJIGZpZ3VyAjc1ZALUAQ9kFgJmDxUFIEEgQlJJRUYgREVWSUFUSU9OIEZST00gVEhFIFJPVVRFBk1hcnRpbgVTaGlwcNkDDQpUaGlzIGNvbHVtbiB3YXMgb3JpZ2luYWxseSBpbnRlbmRlZCBmb3IgcHVibGljYXRpb24gb24gU3VuZGF5IDl0aCBGZWJydWFyeS4gDQoNCg0KQmVmb3JlIHRoZSByZWd1bGFyaXR5IG9mIE92ZXJib2FyZCB3ZW50JmhlbGxpcDsgd2VsbCZoZWxsaXA7IG92ZXJib2FyZCwgdGhlcmUgd2FzIGEgcGxhbi4gVGhlcmUgd2VyZSBhIHNlcmllcyBvZiBzdWJqZWN0cyB0byBzY3J1dGluaXNlLCBhbmQgYW4gb3ZlcmFsbCB0aGVtYXRpYyBsaW5rLiBXZSZyc3F1bztsbCBnZXQgYmFjayBvbiB0cmFjayBuZXh0IHRpbWUgKGFsdGhvdWdoIHRoZSBkZW1hbmRzIG9mIGEgbmV3IGpvYiBhcmUgbWFraW5nICZsc3F1bztuZXh0IHRpbWUmcnNxdW87IGEgcHJldHR5IGluZGVmaW5hYmxlIHRoaW5nIGF0IHByZXNlbnQpLiBPbmUgb2YgdGhlIHN1YmplY3RzIHdhcyB0byBiZSBjYWxsZWQgJmxzcXVvO0V2ZXJ5dGhpbmcgT2xkIElzIE5ldyBBZ2FpbiYDMTQ1ZALVAQ9kFgJmDxUFGEEgUm9zZSBCeSBBbnkgT3RoZXIgTmFtZQZNYXJ0aW4FU2hpcHDcA0ZpcnN0IG9mZiwgYXBvbG9naWVzIGZvciBub3QgaGF2aW5nIGRyYWdnZWQgbXlzZWxmIHVwIGZvciB0aGUgbGFzdCBtb250aC4gQXMgdGhlIGxhdGUgSGFyb2xkIE1hY01pbGxhbiBzYWlkOiAmcXVvdDtFdmVudHMsIGRlYXIgYm95LiBFdmVudHMuJnF1b3Q7IEkgZG9uJnJzcXVvO3QgZm9yIGEgbW9tZW50IGJlbGlldmUgYW55IG9mIHlvdSBub3RpY2VkLCBidXQgd2lsbCB0aGF0IHNodXQgbWUgdXA/IEdvb2QgbG9yZCBuby4gT25lIHRoaW5nIEkmcnNxdW87dmUgbm90aWNlZCBhbHJlYWR5IGluIHRoZSBWaWxsYWdlJnJzcXVvO3Mgc2hvcnQgbGlmZSBzbyBmYXIgaXMgdGhhdCBteSBmb3JtZXIgY29sbGVhZ3VlIFBoaWwgSGFsbCBhbmQgbXlzZWxmIGhhdmUgYSBudW1iZXIgb2Ygdmlld3MgaW4gY29tbW9uLiBJIGtub3cgdGhpcyBiZWNhdXNlIFBoaWwgZG9lc24mcnNxdW87dCBhY3R1YWxseSBzaXQgZG93biBhdCBhIGNvbXB1dGVyIHRvAjQ1ZALWAQ9kFgJmDxUFJ0l0IFNwZWFrcyBUbyBNZS4gRG9lcyBJdCBTcGVhayBUbyBZb3U/IAZNYXJ0aW4FU2hpcHDhA0V2ZXJ5IG5vdyBhbmQgYWdhaW4sIGl0IGFsbCBmYWxscyBpbnRvIHBsYWNlLiBTb21ldGhpbmcgaGFwcGVucywgc29tZSBjb25uZWN0aW9uIGlzIG1hZGUsIHNvbWUgc3luYXBzZSBjbGlja3Mgc2h1dCBhbmQgZG9lcyB0aGUgbmV1cm9sb2dpY2FsIGVxdWl2YWxlbnQgb2Ygc2xhcHBpbmcgeW91cnNlbGYgb24gdGhlIGZvcmVoZWFkLCBhbmQgc3VkZGVubHkgZXZlcnl0aGluZyBtYWtlcyBzZW5zZS4gSXTigJlzIGxpa2UgbG9va2luZyBhdCBvbmUgb2YgdGhvc2UgTWFnaWMgRXllIHBpY3R1cmVzIGZyb20gdGhlIDE5ODBzOyBzdGFyZSBmb3IgbG9uZyBlbm91Z2ggYW5kIGEgcGljdHVyZSBhcHBlYXJzLiBPciB5b3UgdGVtcG9yYXJpbHkgZ28gYmxpbmQuIFlvdSBzZWUsIHJlY2VudGx5IEkgd2FzIHJlYWRpbmcgdGhpcyBib29rIHNvbWVvbmUgaGFkIGdpdmVuIG1lLiBJdOKAmXMgY2FsbGVkIEZhcmdvIFJvY2sgQ2l0eSwgYW5kIHNvbWUgd2F5IGkCMTFkAtgBD2QWAmYPFQUZUHJldmlld3MgZm9yIE9jdG9iZXIgMjAwOAVDcmFpZwdKb2huc29uswImbmJzcDsgDQpQZXRlciBhbmQgUGF1bCBoYXZlIHRyYXdsZWQgdGhlIG91dGVyIHJlYWNoZXMgb2YgY29taWNib29rIGluc2FuaXR5IHRvIGJyaW5nIHlvdSB0aGUgc3RyYW5nZXN0IGNvbWljcyBpbiB0aGUgd29ybGQuIFBhdWwgYXNrZWQgbWUgZm9yIGlkZWFzIGxhc3QgeWVhciBhbmQgSSBvZmZlcmVkIHVwIHdoYXQgSSB0aG91Z2h0IHdlcmUgc3RlcmxpbmcgZXhhbXBsZXMgb2YgbWFyYmxlLWZyZWUgbWlzY3JlYW50cyBpbXBvc2luZyB0aGVpciBtZW50YWxpc20gdXBvbiB1cywgYnV0IGV2ZXJ5IG9uZSB3YXMgcmVqZWN0ZWQgYXMgYmVpAzM3OWQC2QEPZBYCZg8VBSBOZXcgQm9vayBSZXZpZXdzIGZvciBBdWd1c3QgMjAwOAVDcmFpZwdKb2huc29u5wFBdCBuZWFybHkgNTAwIHBhZ2VzIHlvdSBjb3VsZCBkbyBzb21lb25lIGEgc2VyaW91cyBpbmp1cnkgd2l0aCB0aGlzLiAmbmJzcDsgLSBTdGVwaGVuIG9uIFRoZSBNYW1tb3RoIEJvb2sgT2YgQmVzdCBDcmltZSBDb21pY3MgZWRpdGVkIGJ5IFBhdWwgR3JhdmV0dC4gU2lnbmVkIGZvciBmcmVlIGlmIHlvdSBjYWxsIGJlZm9yZSBTdW5kYXkhICZuYnNwOyBuIGUgdyAmbmJzcDsgYiBvIG8gayBzICZuYnNwOyADMzYwZALaAQ9kFgJmDxUFHE5ldyBCb29rcyBmb3IgU2VwdGVtYmVyIDIwMDgFQ3JhaWcHSm9obnNvbqwCDQpIYXZlIHlvdSBldmVyIHdvbmRlcmVkIGp1c3QgaG93IG1hbnkgc2V4dWFsIGV4cGVyaWVuY2VzIHlvdSYjMzk7dmUgZXZlciBoYWQ/IA0KJm5ic3A7LSBhc2tzIFRvbSBkaXNjb25jZXJ0aW5nbHkgYmVmb3JlIGRlc2NyaWJpbmcgTXkgQnJhaW4gSXMgSGFuZ2luZyBVcHNpZGUgRG93biBieSBEYXZpZCBIZWF0bGV5DQombmJzcDsNCkRhdmlkIHRvb2sgdGhhdCB0byB0aGUgbmV4dCBsZXZlbCB3aXRoIGhpcyBzaG9ydCBzdG9yeSAiTXkgU2V4dWFsIEhpc3RvcnkiIHdoZXJlIGhlIHVuYXNoYW1lZGx5IGRlcGljdGVkIGV2ZXJ5AzM0MGQC2wEPZBYCZg8VBRVSZXZpZXdzIGZvciBKdW5lIDIwMDgFQ3JhaWcHSm9obnNvbj8NCiZuYnNwOw0KSW50ZWxsaWdlbnQsIGFmZmVjdGluZywgYW5kIG5vdCBvbmUgc2luZ2xlIGNvcHkgc29sZC4DMzE4ZALcAQ9kFgJmDxUFGFByZXZpZXdzIGZvciBBdWd1c3QgMjAwOAVDcmFpZwdKb2huc29uwAINCg0KJm5ic3A7DQpBbGwgdGhvc2UgcGVvcGxlIHNob3VsZCBiZSBzaG90LiBOb3QgcmVwcmltYW5kZWQsIGJ1dCBzaG90IGluIHRoZSBoZWFkIHdpdGggYSB0d2VsdmUtZ2F1Z2UmbmJzcDtzaG90Z3VuLCByZXBlYXRlZGx5IGFuZCB3aXRoIGdsZWUuIFRoZXNlIHBlb3BsZSBhcmUgZm9vbHMgLSB1dHRlciBmb29scyAtJm5ic3A7YW5kIGRlc2VydmUgbm90IGp1c3QgYSB0aWNraW5nLW9mZiwgYnV0IGEgcmlnaHRlb3VzIHJvZ2VyaW5nIGluIHRoZSBoZWFkIHdpdGggYW4gaW5jZW5kaWFyeSBwaXRjaCBmb3JrIG1hZGUgZnJvbSBudWNsZWFyIGJhcmJlZC13aXJlLgMzMDVkAt0BD2QWAmYPFQUZTmV3IGJvb2tzIGZvciBBdWd1c3QgMjAwOAVDcmFpZwdKb2huc29uCyZuYnNwOyANCg0KAzI4NWQC3gEPZBYCZg8VBRZQcmV2aWV3cyBmb3IgSnVseSAyMDA4BUNyYWlnB0pvaG5zb26yAg0KDQoNCiZuYnNwOw0KSXQmIzM5O3MgYWxtb3N0IGxpa2UgYSBjaGFsbGVuZ2UgYnV0IERpcmsgaGFuZGxlZCBpdCBsaWtlIGEgDQpwaG90b2dyYXBoeSBhc3NpZ25tZW50LiBFYWNoIHdlZWsgaGUgd2VudCBvdXQgb24gc29tZSBib25rZXJzIGVycmFuZCwgbWV0IHNvbWUgDQpzdHJhbmdlIHBlb3BsZSwgYW5kIGF0ZSBwb3RlbnRpYWxseSBoYXphcmRvdXMmbmJzcDtjdWlzaW5lIGFsbCBiZWNhdXNlIGEgY29tcGxldGUgDQpzdHJhbmdlciBoYWxmIHRoZSB3b3JsZCBhd2F5IHRvbGQgaGltIHRvLiBOb3Qgb25seSB0aGF0IGJ1dCBoZSBtYQMyNzJkAt8BD2QWAmYPFQUWUmV2aWV3cyBmb3IgQXByaWwgMjAwOAVDcmFpZwdKb2huc29uygEmbmJzcDsNCg0KRm9yIHNvbWVvbmUgd2hvIGNsZWFybHkgbG9hdGhlcyB0aGUgYXBhdGhldGljLCB0aGUgbWVkaW9jcmUsJm5ic3A7dGhlIGNvbmZvcm1pc3QmbmJzcDthbmQgdGhlIHVuanVzdCwgYXR0ZW1wdGluZyB0byBtb2NrIHRob3NlIHdobyB2b3RlIGlzIGJpemFycmUuIEl0JiMzOTtzJm5ic3A7bm90IG9ubHkgZXZlcnkgaW5kaXZpZHVhbCYjMzk7AzI1OGQC4AEPZBYCZg8VBRNCb29rcyBmb3IgSnVuZSAyMDA4BUNyYWlnB0pvaG5zb268Ag0KJm5ic3A7DQpPb2gsIGFsc28gbXkgYmFuZCAoYW5kIG15IGJyb3RoZXImIzM5O3MgDQpiYW5kKSBhcmUgc3VwcG9ydGluZyA0ZnQgRmluZ2VycyB0aGlzIFRodXJzZGF5IC0xN3RoIEFwcmlsLSA3LjMwIGF0IGdvb2Qgb2xkIA0KSnVua3Rpb243IGlmIHlvdSBmZWVsIGxpa2UgZ2V0dGluZyBvdXQuJm5ic3A7Tm90IGF0IGFsbCBpbXBseWluZyB0aGF0IHlvdSBkb24mIzM5O3QgDQpub3JtYWxseSBnZXQgb3V0Li4uLiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2FueXdheSEgbW9yZSBpbmZvcm1hdGlvbiBoZXJlOiADMjM4ZALhAQ9kFgJmDxUFFlJldmlld3MgZm9yIE1hcmNoIDIwMDgFQ3JhaWcHSm9obnNvbj0mbmJzcDsNCkkmbmJzcDtzbyBkaWRuJiMzOTt0IHJlc3BlY3QgbXlzZWxmIGluIHRoZSBtb3JuaW5nLg0KAzIxM2QC4gEPZBYCZg8VBSBQcmV2aWV3cyBmb3IgQXByaWwvTWF5L0JleW9uZC4uLgVDcmFpZwdKb2huc29uYg0KDQoNCg0KRmlmdHktc2l4IG9mIHRoZSBtb3N0IGltcG9ydGFudCBhbmQgYWZmZWN0aW5nIHBhZ2VzIHlvdSB3aWxsIGV2ZXIgcmVhZCBmb3IganVzdCDCozItNzUuIA0KAzE5OWQC4wEPZBYCZg8VBRlSZXZpZXdzIGZvciBGZWJydWFyeSAyMDA4BUNyYWlnB0pvaG5zb27NAQ0KDQpUaGlzIGlzIGFzIGJvbmtlcnMgYXMgZXZlciwgZ2FsbG9waW5nIGFsb25nIGluIGEgbWlsaXRhcnkgY2hhcmdlIGFuZCBnYXkgYmFycmFnZSBvZiBxdWlwcywgc25hcHMsIHNsYXBzIGFuZCB0aWNrbGUgYXMgU3RpbnosIHRoZSBEZXNlcnQgUGVhY2ggYW5kIHNvIG1hbnkgb2YgQmFyciYjMzk7cyBvdGhlciBjcmVhdGlvbnMgYmFuZyBoZWFkcyBhbmQgaGUDMTY4ZALkAQ9kFgJmDxUFIFByZXZpZXdzIEhpZ2hsaWdodHMgKEFwcmlsIDIwMDgpBUNyYWlnB0pvaG5zb25/DQpUaGUgdGl0bGUgcmVmZXJzIHRvIHRob3NlIGxpdHRsZSBtb21lbnRzIA0KdGhhdCZuYnNwO2RlZmluZSZuYnNwO2hpbSB0aHJvdWdoIGV4cGVyaWVuY2UsIGZyb20gDQpiYXR0bGluZyB3aXRoIENyb2hucyBkaXNlYXNlLAMxNTVkAuUBD2QWAmYPFQUSUmV2aWV3cyAoSmFuIDIwMDgpBUNyYWlnB0pvaG5zb27IAUl0IGhhcyB0byBiZSBzYWlkIHRoYXQgdGhlIGFydCBpbiB0aGUgZmlyc3QgaXNzdWUmIzM5O3Mgd29ydGggaXMgcm91Z2hlciB0aGFuIFN0IEFubiYjMzk7cyBhdCBjaHVja2luZyBvdXQgdGltZSwgYnV0IGZyb20gdGhlbiBvbiBMaXogaW1wcm92ZXMgZHJhbWF0aWNhbGx5LiANCg0KJm5ic3A7DQotIFRvbSBvbiBNeSBCcmFpbiBIdXJ0cyB2b2wgMQ0KAzEzOGQC5gEPZBYCZg8VBSNGb3J0aGNvbWluZyBSZWxlYXNlcyAoTWFyL0FwciAyMDA4KQVDcmFpZwdKb2huc29u0QFJIGJlbGlldmUgdGhhdCB0aGlzIGlzJm5ic3A7c3VjaCBhIHN0dW5uaW5nIGRlYnV0LCB0aGF0Jm5ic3A7SSBhc2tlZCBCcnlhbiB0byByZWxpbnF1aXNoIHRoZSBjb2RlIHNvIHRoYXQgeW91IGNhbiB2aWV3IHRoZSBhbmltYXRpb24gZm9yIHlvdXJzZWx2ZXMmbmJzcDtmb3IgZnJlZS4gVGhhdCYjMzk7cyByaWdodCwgZm9yIGZyZWUuJm5ic3A7SXQmIzM5O3MgMDQ1NAMxMThkAucBD2QWAmYPFQUSUmV2aWV3cyAoRGVjIDIwMDcpBFBhZ2UCNDWuAw0KRGlhZ3JhbXMgZ2Fsb3JlIGhlbHAgeW91IHVuZGVyc3RhbmQgdGhlc2UgZGlmZmljdWx0IHNjaWVuY2VzLCBhcyB3ZWxsIGFzIHRoZSBleHBlcmltZW50cyB0byBkZXRlcm1pbmUgaG93IGZsYW1tYWJsZSB0aGV5IGFyZSwgYW5kIHdoZXRoZXIgb3Igbm90IHRoZXkgY29uZHVjdCBlbGVjdHJpY2l0eS4gSWYgb25seSB0aGUgRGF2aWQgQXR0ZW5ib3JvdWdoIGJvb2tzIHdlcmUgdGhpcyB0aG9yb3VnaDogSSBkb24mIzM5O3QgcmVjYWxsIHJpbmctdGFpbGVkIGxlbXVycyBiZWluZyBjb25uZWN0ZWQgdG8gdGhlIGxvY2FsIGdyaWQsIHNvIGhvdyBkbyB3ZSBldmVuIGtub3cgd2hldGhlciB0aGV5JiMzOTtkIGJlIGEgc3VpdGFibGUgc3Vic3RpdHV0ZSBmb3IgY29wcGVyIHdpcmUgaW4gYW4gZW1lcmdlbmN5PyANCi0gU3RlcGhlbiBvbiBWZWxjcm8gQ293cyACNzZkAugBD2QWAmYPFQUjRm9ydGhjb21pbmcgUmVsZWFzZXMgKEZlYi9NYXIgMjAwOCkFQ3JhaWcHSm9obnNvbnoNCkJsaXN0ZXJpbmcgbmV3IHNjaS1maSBzZXJpZXMgZnJvbSB0aGUgY3JlYXRvciBvZiBCT05FLg0KJm5ic3A7DQotIFRvbSBvbiBSYXNsICMxLiBXaGF0IG1vcmUgZG8geW91IGV2ZW4gbmVlZCB0byBrbm93PyENCgIzOGQC6QEPZBYCZg8VBRJSZXZpZXdzIChOb3YgMjAwNykFQ3JhaWcHSm9obnNvbtEDDQoJIkZyZXNoLWFpciBwdXJzdWl0cyB3ZXJlIGFsc28gdmVyeSANCgltdWNoIGluIGV2aWRlbmNlIGhlcmUsIHdpdGggc3VwZXJ2aXNlZCBob2xpZGF5IHRvdXJzIG9uIG9mZmVyIGFzIHBhcnQgb2YgdGhlIA0KCUVhZ2xlIENsdWIgKCJBcmUgeW91IGNvbWluZz8iKSwgd2hpbHN0ICJNYW4gQWJvdXQgVGhlIEhvdXNlIiB0YXVnaHQgDQoJcHJhY3RpY2FsIHRpcHMgSSdkIGhhdmUgZm91bmQgaW52YWx1YWJsZSAoYW5kIHN0aWxsIHdvdWxkISkgbGlrZSBob3cgdG8gZ2x1ZSANCglncmFubnkncyB2YXNlIGJhY2sgdG9nZXRoZXIgYWZ0ZXIgeW91J2QgaGl0IGl0IHdpdGggdGhlIGJvb21lcmFuZyB5b3UgDQoJY291bGRuJ3QgcXVpdGUgbWFzdGVyIGFmdGVyIGJlaW5nIGV4aG9ydGVkIHRvIGdpdmUgaXQgYSBnbyBvbiBwYWdlIA0KCXRoaXJ0eS1zZXZlbi4iJm5ic3A7IA0KDQoJJm5ic3A7DQoNCgktIFN0ZXBoZW4gb24gAjI2ZALqAQ9kFgJmDxUFI0ZvcnRoY29taW5nIFJlbGVhc2VzIChKYW4vRmViIDIwMDgpBFBhZ2UCNDU1DQpiIG8gbyBrIHMgICBmIG8gciAgIGogYSBuIHUgYSByIHkgLyBmIGUgYiByIHUgYSByIHkBOWQC7AEPZBYCZg8VBRpUcmFjayAzOiBJIEFtIFRoZSBBdWRpZW5jZQNKYXkFRWFsZXPkA1llcywgaXQmIzM5O3MgYW5vdGhlciBvbmUgb2YgdGhvc2UgZHJlYWRlZCBCZXN0IG9mIGxpc3RzLCBiYXNlZCBlbnRpcmVseSBvbiB0aGluZ3Mgd290IEkgaGF2ZSBib3VnaHQgYW5kIGVuam95ZWQgb3ZlciB0aGUgY291cnNlIG9mIDIwMDcuIEFzayBtZSB0b21vcnJvdywgYW5kIGl0IG1heSBiZSBhbiBlbnRpcmVseSBkaWZmZXJlbnQgbGlzdC4uLg0KSXQmIzM5O3MgdHdvIGRheXMgYmVmb3JlIENocmlzdG1hcyBhcyBJIHdyaXRlIHRoaXMsIGFuZCBhcyBJJiMzOTttIHN1cmUgbWFueSBvZiBteSBmZWxsb3cgY29sdW1uaXN0cyBhcmUgZG9pbmcsIEkmIzM5O20gZ29pbmcgdG8gZG8gYSByb3VuZC11cCBvZiBteSBjb21pYyBoaWdobGlnaHRzIG9mIDIwMDcuIEZvciB0aGUgbW9zdCBwYXJ0LCB0aGV5IHdpbGwgaGF2ZSBiZWVuIHB1Ymxpc2hlZCBpbiB0aGUgbGFzdCB5ZWFyLCBidXQgb25lIG9yIHR3byBtYXkgYmUgZXhhbXBsZXMgb2YgbWUgYXJyaXYCNTZkAu0BD2QWAmYPFQUqVHJhY2sgMjogV2hlcmUgRGlkIFRoZSBPcmRpbmFyeSBQZW9wbGUgR28/A0pheQVFYWxlc/4BQ29taWMgY3JlYXRvcnMgYXJlbiYjMzk7dCBsaWtlIG9yZGluYXJ5IHBlb3BsZSwgaXQmIzM5O3MgdHJ1ZS4gSSBkb24mIzM5O3Qgc2F5IHRoYXQgaW4gYSAmIzM5O0hleSEgV2UmIzM5O3JlIHNwZWNpYWwhJiMzOTsgd2F5LiBJdCYjMzk7cyBqdXN0IGEgc3RhdGVtZW50IG9mIGZhY3QuIE9yZGluYXJ5IHBlb3BsZSBkb24mIzM5O3Qgc2xhdmUgYXdheSBhdCBhIGhvdCBkcmF3aW5nIGJvYXJkIG9yIGtleWJvYXJkIG1ha2luZyB0aGluZ3MgdXAgb3UCMzFkAu4BD2QWAmYPFQUTRG93biBJbiBUaGUgQ29ja3BpdANKYXkFRWFsZXOeA1dlbGwgbm93LCB0aGlzIGlzIGNvc3kgaXNuJiMzOTt0IGl0PyBBIGxpdHRsZSBjb3JuZXIgb2YgdGhlIENvbWljcyBWaWxsYWdlIHNpdGUgYWxsIG9mIG15IHZlcnkgb3duLiBJZiB0aGlzIGlzIGEgQ29taWNzIFZpbGxhZ2UsIHRoZW4gSSYjMzk7bSBnb2luZyB0byBiYWdnc3kgdGhlIGJ1bmdhbG93IG5lYXJlc3QgdGhlIHB1Yi4gU29tZXdoZXJlIHRvIHBhcmsgbXkgd2VhcnkgYm9uZXMgYW5kIHRhbGsgc21hbGwgcHJlc3MuIFllcywgc21hbGwgcHJlc3MuIEl0JiMzOTtzIGEgY29udHJvdmVyc2lhbCBsYWJlbCBpbiBzb21lIHF1YXJ0ZXJzLCBhbmQgSSYjMzk7bGwgdW5kb3VidGVkbHkgZmlsbCBhIGNvbHVtbiB3aXRoIHRoYXQgdmVyeSZuYnNwO3N1YmplY3QgYXQgc29tZSBmdXR1cmUgZGF0ZSwgYnV0IEkmIzM5O20gZ2V0dAIxNWQC8AEPZBYCZg8VBQ5GaW5hbCBDcmlzYXJzZQVHbGVubgZDYXJ0ZXLQA1NvIEZpbmFsIENyaXNpcyBpcyBoZXJlLCB3aG9vcGllIGRvbyEgQW5vdGhlciAiRXBpYyIgc3RvcnlsaW5lIGZyb20gREMuDQpJdCBsb29rcyB0byBtZSB0aGF0IHNpbmNlICJDaXZpbCBXYXIiLCB0aGUgYmlnIGNvbWljcyBjb21wYW5pZXMgaGF2ZSBib3RoIGRlY2lkZWQgdG8gcHVibGlzaCBhbiAiRXBpYyIgbGltaXRlZCBzZXJpZXMgZXZlcnkgeWVhci4gVGhpcyB5ZWFyIE1hcnZlbCBoYXZlIGdpdmVuIHVzIHRoZSBleGNyZWFibGUgIlNlY3JldCBJbnZhc2lvbiIsIHdpdGggdGhlIHN0dXBpZGVzdCBiYWRkaWVzIGluIHRoZSBoaXN0b3J5IG9mIHNoaXRlLCBhbmQgREMgaGF2ZSBnaXZlbiB1cyAiRmluYWwgQ3Jpc2lzIi4NClRoZSBxdWVzdGlvbiBpcywgZG9lcyBhbnlvbmUgcmVhbGx5IGNhcmUgYW55bW9yZT8NCk9uZSBwcm9ibGVtIHdpdGggcnVubmluZyB0b28gbWFueSAiRXBpYyIgc3RvcnlsaW5lcyBpcyB0AzMyMWQC8QEPZBYCZg8VBRJUaGUgREZDIGV4cGVyaW1lbnQFR2xlbm4GQ2FydGVymQJPbiBUaHVyc2RheSAxNXRoIE1heSwgSSB2aXNpdGVkIExvbmRvbiBmb3IgdGhlDQpsYXVuY2ggcGFydHkgZm9yIGEgbmV3IGNvbWljLCBUaGUgREZDLiBJJnJzcXVvO3ZlIG5ldmVyIGJlZW4gdG8gYSBsYXVuY2ggcGFydHkNCmJlZm9yZSwgc28gSSBmZWx0IGl0IHdvdWxkIGJlIHJ1ZGUgbm90IHRvLCByZWFsbHkuIA0KDQpJdCB3YXMgc3VycHJpc2luZ2x5IGxhdmlzaCBhZmZhaXIgd2l0aCBhcnRpc3RzLCBjcmVhdG9ycywNCmpvdXJuYWxpc3RzIGFuZCBjZWxlYnJpdGllcyBpbiBhdHRlbmRhbgMyNzBkAvIBD2QWAmYPFQURQ29taWNzIGFuZCBQaXJhY3kFR2xlbm4GQ2FydGVy7gNJbiB0aGUgVUssIHdoZW5ldmVyIHlvdSB3YXRjaCBhbnkgbGVnYWxseSBib3VnaHQgRFZELCB0aGUNCnRoaW5nIG5vdyBzdGFydHMgd2l0aCBhIGxpdHRsZSBhbnRpLXBpcmFjeSBmaWxtIOKAkyAiWW91IHdvdWxkbiZyc3F1bzt0IHN0ZWFsIGEgY2FyLA0KeW91IHdvdWxkbiZyc3F1bzt0IHN0ZWFsIGEgZmlzaC4uLmV0Yy4iIOKAkyBldmVudHVhbGx5LCBjb25jbHVkaW5nIHRoYXQgbW92aWUgcGlyYWN5IGlzDQpzdGVhbGluZy4gWW91IGNhbiZyc3F1bzt0IHNraXAgaXQgc28geW91IGhhdmUgdG8gc2l0IHRocm91Z2ggaXQgZXZlcnkgdGltZSB5b3Ugd2F0Y2gNCm9uZSBvZiB5b3VyIGxlZ2l0aW1hdGVseSBib3VnaHQgRFZEcy4NCg0KSSBrbm93IHRoYXQgaWYgSSBIQUQgZG93bmxvYWRlZCB0aGUgRFZEIHVzaW5nIGEgdG9ycmVudA0Kc2l0ZSwgSSB3b3VsZG4mcnNxdW87dCBiZSBsZWN0dXJlZCBhdCBieSB0aGUgdm9pY2Ugb2YgdGhlIG1vdmllIGNvcnBvcmF0aW9uIAMxODlkAvMBD2QWAmYPFQUTVGhlIEVzc2VuY2Ugb2YgRmlsbQVHbGVubgZDYXJ0ZXLcA0kgdGhpbmsgaXQmIzM5O3MgdGltZSB0aGF0IGNvbWljZG9tIGZhY2UgdXAgdG8gdGhlIHRydXRoLiBGaWxtcyBiYXNlZCBvbiB0aGUgY29taWNzIGFyZSBuZXZlciBnb2luZyB0byBiZSBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBzb3VyY2UgbWF0ZXJpYWwuIExldCYjMzk7cyB0YWtlIHRoYXQgZ29kYXdmdWwgTFhHIGZpbG0gYXMgYW4gZXhhbXBsZS4gSXQgaGFkIGFsbCB0aGUgcmlnaHQgaW5ncmVkaWVudHMgZm9yIHN1Y2Nlc3MgKGJ5IHN1Y2Nlc3MgSSBtZWFuIGFjdHVhbGx5IGJlaW5nIGEgZ29vZCBmaWxtKTogYSBiaWcgYnVkZ2V0OyBhIGJyaWxsaWFudCwgYWNjbGFpbWVkLCBzb3VyY2UgbWF0ZXJpYWwgd2l0aCBhIGxhcmdlIGV4aXN0aW5nIGZhbmJhc2U7Jm5ic3A7YmlnIG5hbWUgc3RhcnMuVGhlIGZpcnN0IHRoaW5nIHRoZSBjb21taXR0ZWUgdGhhdCByZXdyb3RlIGl0IGRpZCBpcyB0aGluayZuYnNwOyJob3cgY2FuIHdlIG1hAjY1ZAL0AQ9kFgJmDxUFE0ZhbWUsIGZhdGFsIGZhbWUuLi4FR2xlbm4GQ2FydGVy4gNFdmVyeSBmaWVsZCBoYXMgaXRzIGNlbGVicml0aWVzLiBXYWxraW5nIGFyb3VuZCB3aXRoIHRoZWlyIGNlbGVicml0eSBmYWNlcyBhbmQgc2hvZXMgYW5kIGRlbWFuZGluZyBzcGVjaWFsIGZhdm91cnMgYW5kIGFsbW9zdCByZWxpZ2lvdXMgcmVzcGVjdC4gRmlsbXMsIGJvb2tzLCB0ZWxldmlzaW9uLi4uZXZlbiBjb21pY3MgaGFzIHRoZW0sIGFsdGhvdWdoLCB0aGV5IGFyZSBvbmx5IHJlYWxseSBjZWxlYnJpdGVzIHRvIHRob3NlIHdobyBrbm93IGNvbWljcy5JJiMzOTt2ZSBzZWVuIHBlb3BsZSBxdWV1ZWluZyB1cCB0byBnZXQgYSBza2V0Y2ggb2ZmIEpvaG4gQnVybnMgb3IgYW4gYXV0b2dyYXBoIGZyb20gR3JhbnQgTW9ycmlzb24uIEhlbGwhIEkmIzM5O3ZlIGRvbmUgaXQgbXlzZWxmLiBOb3csIGhvd2V2ZXIsIEkmIzM5O20gZmluZGluZyBpdCBoYXJkZXIgYW5kIGhhcmRlciB0byB1bmRlcnN0YW5kIHdoeSBwZW9wbGUgcmV2ZXJlIHRoZSBmYQI1MWQC9QEPZBYCZg8VBSBPbiB0aGUgZmlyc3QgZGF5IG9mIENocmlzdG1hcy4uLgVHbGVubgZDYXJ0ZXL0A0FzIEkmIzM5O20gd3JpdGluZyB0aGlzLCBpdCYjMzk7cyBzdGlsbCBOb3ZlbWJlciBhbmQgYSBnb29kIG1vbnRoIGF3YXkgZnJvbSBDaHJpc3RtYXMuLi55ZXQuLi5hbGwgdGhlIHNob3BzIGFyZSBwbGF5aW5nIHRoZSBzYW1lICJjbGFzc2ljIiBDaHJpc3RtYXMgdHVuZXMgYW5kIGFsbCB0aGUgc3VwZXJtYXJrZXRzIGFuZCBvdGhlciBzaG9wcyBoYXZlIGJlZW4gZmlsbGVkIHRvIHRoZSBicmltIHdpdGggQ2hyaXN0bWFzIGNyYXAgZm9yIHRoZSBiZXN0IHBhcnQgb2YgMiBtb250aHMuIEdvZCwgSSBoYXRlIENocmlzdG1hcywgZnJvbSB0aGUgZnVja2luZyBhd2Z1bCBhdXJhbCBhbnVzIGltcGxvc2lvbnMgdGhhdCBwYXNzIGFzIENocmlzdG1hcyBtdXNpYyB0byB0aGUgaGF0ZWZ1bCBjYXJkcyAod2hpY2gsIGlmIHRoZXkgd2VyZSBpbiBhbnkgd2F5IGhvbmVzdCwgd291bGQgZGVwaWN0IHRoZSB0d2luIGNvcnBzZXMgb2YgSmVzdXMgYW5kIFNhaW50IE5pY2hvbGFzIGJlaW5nIGdhAjIzZAL2AQ9kFgJmDxUFC0hlbGxvIFdvcmxkBUdsZW5uBkNhcnRlcv0BSGVsbG8uIEFsbG93IG1lIHRvIGludHJvZHVjZSBteXNlbGYuIE15IG5hbWUgaXMgR2xlbm4gQ2FydGVyIGFuZCB0aGF0IHBpY3R1cmUgdG8gdGhlIGxlZnQgaXMgbWUuIEkgYW0gYSB3ZWIgZGVzaWduZXIgYW5kIHdyaXRlci4gSSBkZXNpZ25lZCB0aGlzIHNpdGUsIGluY2x1ZGluZyBhbGwgdGhlIGZ1bmN0aW9ucyBhbmQgbGl0dGxlIGZlYXR1cmVzIGFuZCBtYW55IG9mIHRoZSBjb2x1bW4gYmFubmVycy4gQW1vbmdzdCB0aGUgd2Vic2l0ZXMgSQE2ZAL4AQ9kFgJmDxUFG1RoZSBHZWVrcyBIYXZlIEluaGVyaXRlZC4uLgZBbmRyZXcETHVrZdMDQXMgdGhlIG1vcmUgYXN0dXRlIG9mIHlvdSB3aWxsIGhhdmUgcmVhbGlzZWQgSSYjMzk7dmUgYmVlbiBhd2F5IGVudGVyaW5nIGEgY29udGVzdCBvbiB3ZWIgZmxleGliaWxpdHksIHdoaWNoIEkgd29uLiBIZW5jZSBubyBTaGVyaWRhbiBDb3R0YWdlIHRoZXNlIGxhc3Qgd2Vla3MuIEkmIzM5O2QgbGlrZSB0byB0aGFuayBhbGwgb2YgeW91IHdobyBjaGVja2VkIGJ5IG15IGJsb2cuIEl0IGFsbCB3b3JrZWQgb3V0IGZvciB0aGUgYmVzdC4gSSYjMzk7ZCBlc3BlY2lhbGx5IGxpa2UgdG8gdGhhbmsgY29taWNzIHR5cGVzIEJlbiBPYWtlcywgSm9obiBSb2JiaW5zIGFuZCBSaWNoYXJkIEJhcnIgYW5kIG15IGRlYXIgZnJpZW5kcyBvdXRzaWRlIG9mIGNvbWljcyB3aG8gbWFkZSBhIGRlY2VudCBhdHRlbXB0IGF0IGhlbHBpbmcgbWUgc2VjdXJlIGEgd2luLiBBbmQgdG8gTGVlIEtlbm5lZHkgYW5kIERhdmlkIExsb3lkIHdobyADMzAwZAL5AQ9kFgJmDxUFGU5vdGVzIG9uIENvbnRlbnQgKEFwciAyOCkGQW5kcmV3BEx1a2XDAlRoaXMgd2lsbCBiZSBteSBmaW5hbCBvbmxpbmUgY29sdW1uIHVudGlsIE1heSAxOHRoLiBJdCYjMzk7cyBub3QgZ29uZS4gVGhlIEJyaXN0b2wgQ29taWNzIEV4cG8gd2lsbCBmZWF0dXJlIGEgbmV3IGFuZCBjaGFsbGVuZ2luZyBwcmludCBjb2x1bW4gY2FsbGVkICYjMzk7QW4gaW50ZWdyYXRlZCBmcmFtZXdvcmsgb2YgQ29taWNzIEFydHMgRmVzdGl2YWwgTWFuYWdlbWVudCBVdGlsaXNpbmcgUG9wdWxhciBUZW1wbGF0ZXMgSW4gQ28tT3BlcmF0aXZlIEFnZW5kYSYjMzk7LiBPciBwZXJoYXBzIGFiYnJldmlhdGVkLiBJbiBiZXR3ZWVuIGRlZ3JlZSBhc3NpZ25tZW50AzI0NWQC+gEPZBYCZg8VBVtObyBCYXJjb2RlcyBDb21pY3MgTWFya2V0IC8gTWlrZSBBbGx3b29kLCBhbmQgQ29taWNzIFZpbGxhZ2UgYXQgdGhlIEJyaXN0b2wgRXhwbyAoQXByaWwgMjEpBkFuZHJldwRMdWtlzANXZWxjb21lIHRvIFNoZXJpZGFuIENvdHRhZ2UsIHVwZGF0ZWQgbmVhcmx5IHdlZWtseSB0aHJvdWdoIHRvIEp1bmUuIEkmIzM5O3ZlIGJlZW4gbG9va2luZyBhdCBzb2NpYWwgYW5kIGVjb25vbWljIGFzcGVjdHMgb2YgY29taWNzIGFzIHR5cGlmaWVkIHRocm91Z2ggZmVzdGl2YWwgYW5kIGRpc3RyaWJ1dGlvbi4gVG9kYXksIHRoZSBzbWFsbCBhbmQgbGFyZ2UgLSBmcm9tIHRoZSBncm93aW5nIHBoZW5vbWVub24gb2YgdGhlIG1pbmktY29taWNzLWNvbiB0byBhIGxvb2sgYXQgQ29taWNzIFZpbGxhZ2UgYXQgdGhlIEJyaXN0b2wmbmJzcDtDb21pYyBFeHBvLCBhbmQgYW4gaW50ZXJ2aWV3IHdpdGggb3JnYW5pc2VyIE1pa2UgQWxsd29vZC4gVGhlIExvbmRvbiBaaW5lIFN5bXBvc2l1bSB0YWtlcyBwbGFjZSBuZXh0IFNhdHVyZGF5IGluIExvbmRvbiB3aGVyZSBwZW9wbGUgY2FuIGJ1eSB0aGVpciB3b3JkIGFuAzIzN2QC+wEPZBYCZg8VBShEb3duIHRoZSBwdWIgd2l0aCBJZ29yIEd1aW5uZXNzIChBcHIgMTQpBkFuZHJldwRMdWtl6ANJbiBhIGNoYW5nZSB0byBteSBwcmV2aW91c2x5IHBsYW5uZWQgY29sdW1uLCBJJiMzOTttIGdvaW5nIHRvIGxvb2sgYXQgYSBtaW5pLWNvbWljcyBpbiBwdWJzLCBpbiB0aGUgcmVjZW50IG1vZGVsIG9mIFRoZSBHbGFkc3RvbmUgTWluaS1Db21pY3MgQ29uLCBhbmQgYSB2aXJ0YWwgbW9kZWwsIFRoZSBCcml0aXNoIFdlYmNvbWljcyBQaXNzLVVwLCBiZWZvcmUgZ29pbmcgb24gdG8gY29uc2lkZXIgdGhlIGFzcGVjdHMgb2YgdGhlIGNhc3VhbCBjb21pY3MgcHVibWVldCB0cmVuZC4gVGhlIHRpdGxlIGZvciB0b2RheSYjMzk7cyBjb2x1bW4gY29tZXMgZnJvbSBTdGVwaGVuIENhbGR3ZWxsIHdobyBhbW9uZyBvdGhlciB0aGluZ3MsIG9uY2Ugc3VnZ2VzdGVkICYjMzk7SWdvciBHdWluZXNzJiMzOTsgYXMgYSBwc3VlZG9ueW0gZm9yIEdhcnRoIEVubmlzLiBJIHJlY2VudGx5IGVuam95ZWQgYSBmZXcgamFycyB3aXRoIGhpbSBhdCByZWNvbW1lbmRlZCBiYXIgVAMyMThkAvwBD2QWAmYPFQUlR3JvdyBZb3VyIE93biBDb21pY3MgRmVzdGl2YWwgKEFwciA2KQZBbmRyZXcETHVrZckCKE9yaWdpbmFsbHkgd3JpdHRlbiAxMSBNYXJjaCAyMDA4KQ0KDQoNCg0KJm5ic3A7Q3JlYXRpbmcgYSBjb21pY3MgZmVzdGl2YWwNCmlzIHBpc3MtZWFzeS4gV2hlbiBJIGluaXRpYWxseSBwaXRjaGVkIHRoaXMgY29sdW1uIHRvIGNvbWljYm9va3Jlc291cmNlcy5jb20gdG8NCnRyeSBhbmQgc2VjdXJlIGEgd2FnZSwgSSBpbmNsdWRlZCBhIHByb3Bvc2VkIHR3byBwYXJ0IGZvcnRuaWdodGx5IHBpZWNlLiBUaGUNCmZpcnN0IHBhcnQgd291bGQgc2VlIG1lIGFubm91bmNlIGEgY29taWNzIGZlc3RpdmFsIHdpdGggbm8gcHJpb3IgcHJlcGFyYXRpb24sDQp0aGUgc2Vjb25kIHdvdWwDMjEwZAL9AQ9kFgJmDxUFQFRoZSBSZXZpZXdlcnMgVHJhZGUgUHJpbmNpcGxlIC8gV2VyZSB5b3UgbXVzdCBub3QgRElZIChNYXJjaCAzMCkGQW5kcmV3BEx1a2XRA0lkZWE6IFRoZSBSZXZpZXdlcnMgdHJhZGUgcHJpbmNpcGxlLjE4IE1hcmNoIDIwMDhPcmRpbmFyaWx5IGEgbG90IG9mIHNtYWxsIHByZXNzZXJzIG1pZ2h0IHRyYWRlIGNvbWljcywgYnV0IHdoYXQgaWYgdGhleSB0b29rIHRoaXMgZnVydGhlciwgYW5kIHRyYWRlZCByZXZpZXdzID8gSSBndWFyYW50ZWUgeW91LCB0aGVyZSBpcyBubyBkaWZmaWN1bHR5IGluIGZpbmRpbmcgYSBwdWJsaXNoaW5nIHBvaW50IGZvciB5b3VyIHJldmlldy4gSXQgc2VlbXMgYSB2ZXJ5IHByYWN0aWNhbCBwcmluY2lwbGUgYXR0YWNoZWQgdG8gZ2l2aW5nIGF3YXkgYSBmcmVlIGNvbWljLiBGb3IgbXkgcGFydCBpZiBhbnlib2R5IHdvdWxkIGxpa2UgdG8gcmV2aWV3IG9uZSBvZiBteSByZWNlbnRseSBwdWJsaXNoZWQgY29taWNzIEkmIzM5O2xsIGRvIHRoZSBzYW1lIGZvciB5b3UuIElmIHlvdSYjMzk7dmUgbm90IGdvdCBteSBjb21pYywgaAMyMDRkAv4BD2QWAmYPFQUmTWFwcyBBdCBUaGUgQ3Jvc3Nyb2FkcyBQYXJ0IDIgKE1hciAxNikGQW5kcmV3BEx1a2WqA0luIHRoZSBzZWNvbmQgcGFydCBvZiBteSBsb29rIGF0IHRoZSBCcml0aXNoIGNvbWljcyBzb2NpYWwgYW5kIGVjb25vbWljcyByZWFsbXMgb24gTWFyY2ggMjIsIDIwMDggSSYjMzk7bSBnb2luZyB0byBsb29rIGEgYml0IG1vcmUgYXQgdGhlIGdlb2dyYXBoaWNhbCBhc3BlY3RzLCBnZXR0aW5nIGFib3V0Li4udGhhdCBzb3J0IG9mIHRoaW5nLihQcmV2aW91c2x5LCBvbiAmIzM5O01hcHMgQXQgVGhlIENyb3Nzcm9hZHMmIzM5OylJZiB5b3UgZmFuY3kgYSBtb3JlIG9mZi10cmFjayBMb25kb24gY29taWNzIERheSwgd2VsbCB0aGVyZSYjMzk7cyBwbGVudHkgaGFwcGVuaW5nLiBBdCB0aGUgZW5kIG9mIGxhc3Qgd2VlayYjMzk7cyBjb2x1bW4gSSBwcmV2aWV3ZWQgbXkgbmV3bHkgY29uc3RydWN0ZWQgTG9uZG9uIFVuZGVyZ3JvdW5kIENvbWljcyBUdQMxOTFkAv8BD2QWAmYPFQUlTWFwcyBBdCBUaGUgQ3Jvc3Nyb2FkcyBQYXJ0IDEgKE1hciA5KQZBbmRyZXcETHVrZdkDV2VsY29tZSB0byB0aGUgZmlyc3QgaW4gYSBtdWx0aS1wYXJ0IGNvbHVtbiBsb29raW5nIGF0IHRoZSBidWlsZC11cCB0byBMb25kb24gQ29taWNzIGluIE1hcmNoLCB3aGVuIHRocmVlIGZlc3RpdmFscywgYW5kIHNldmVyYWwgZXhoaWJpdGlvbnMgcnVuIG9uIHRoZSBzYW1lIGRheSBpbiB0aGUgbmF0aW9uJnJzcXVvO3MgY2FwaXRhbC4gU2F0dXJkYXkgMjJuZCBNYXJjaCwgaGVyZSBpdCBjb21lcy5GaXJzdGx5IHRob3VnaCwgYSBwbHVnIGZvciBteXNlbGYgOiBDb21pY3MgVmlsbGFnZSBjYW4mcnNxdW87dCBhZmZvcmQgdG8gd2FnZSBtZSBmcm9tIHRoZXNlIGNvbHVtbnMgYW5kIHRoZSBwYXlwYWwgY29udHJpYnV0aW9ucyB0byBkcmV3ZG90bHVrZSBhdCBnbWFpbCBkb3Rjb20gaGF2ZSBiZWVuIG5vbi1leGlzdGVudC4gV2hhdCYjMzk7cyBhIG5pY2tlbCA/QW55d2F5IEkgYW0gYnJpbGxpYW50LCBhbmQgbmV3c3dvcnRoeS4gU28DMTc1ZAKAAg9kFgJmDxUFGEhlcmUncyBBIFRoaW5nICAgKDIgTWFyKQZBbmRyZXcETHVrZfQDSW4gYSBsYXN0LW1pbnV0ZSBkZWFkbGluZSBwcmVzc2VyLCB0aGUgb3JnYW5pc2VyIG9mIFRoZSBVayBXZWIgYW5kIE1pbmkgQ29taXggVGhpbmcgZ3JhbnRlZCBtZSBhbiBpbnRlcnZpZXcuIEFmdGVyIGhhdmluZyBteSBuYW1lIGF0dGFjaGVkIHRvIGEgYm95Y290dCBvZiB0aGUgZXZlbnQsIGFuZCBhIGxldmVsIG9mIGNvbmZsaWN0IGJldHdlZW4gdXMsIEkmIzM5O20gcGxlYXNlZCB0byByZXBvcnQgdGhlIGludGVydmlld2VlIHdhcyBwcm9mZXNzaW9uYWwsIGluc2lnaHRmdWwgYW5kIGJyaWxsaWFudGx5IHF1aWNrLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgaW50ZXJ2aWV3IGhlJiMzOTtzIGFza2VkIHRvIGJlIHJlZmVycmVkIHRvIHVuZGVyIGhpcyBzdGFnZSBuYW1lLCBNci4gVGhpbmcuIFNvLCBJJiMzOTttIGV4dHJlbWVseSBoYXBweSB0byBiZSBpbiBhIHBvc2l0aW9uIHRvIHByaW50IHRoaXMgaW50ZXJ2aWV3IHdpdGggdGhlIG9yZ2FuaXNlciBvZiBvbmUgb2YgdGgDMTY3ZAKBAg9kFgJmDxUFMldlbGwgb2YgY291cnNlIGl0J3Mgbm90IGFsbCBjb21pYyBzaG9wcyAhICgyNCBGZWIpBkFuZHJldwRMdWtlgANPbmUgb2YgdGhlIHdheXMgT2xpdmVyIExhbWJkZW4gcHJvbW90ZXMgaGlzIGNvbWljICwgaXMgdGhyb3VnaCBtb250aGx5IE1vbmRheSBjbHViIG5pZ2h0cyBhdCBJbmlnbywgQ2xhcGhhbSBKdW5jdGlvbiAoYXMgZmVhdHVyZWQgcmVjZW50bHkgaW4gVGhlIExvbmRvbiBMaXRlLikgSnVzdCBvbmUgYXNwZWN0IG9mIG11bHRpLXZhcmllZCBuZXcgdmVudWVzLiBTbywgSSBzZW50IG91dCBhIGZldyBxdWVzdGlvbnMgdG8gSmVyZW15IERlbm5pcywgQ2xpb2RobmEgTHlvbnMsIGFuZCBNYWxjeSBEdWZmLCBhIGZldyBvZiB0aGUgdmVudWUgdmVyc2F0aWxlIGNvbWl4IGFydGlzdHMgSSBrbm93LkxldCYjMzk7cyBnbyAhMS4gWW91JiMzOTtyZSBhbiBleGhpYml0aW9uaXN0LiBZb3UDMTUzZAKCAg9kFgJmDxUFJFNjb3R0IE1jQ2xvdWQncyBGYWNpYWwgSGFpciAoRmViIDEwKQZBbmRyZXcETHVrZegDTGVzcyBvZiBhIGNvbHVtbiwgbW9yZSBvZiBhIHN1cm1vdW50YWJsZSBvYmplY3QgZm9yIHJlYWNoaW5nIHRoZSB0b3Agc2hlbGYgdGhpcyB3ZWVrLiBGYWNpbGl0eSBpcyB0aGUgZW5naW5lIGJ5IHdoaWNoIHVrIHNtYWxsIHByZXNzIGNvbWljcywgbWF5YmUgbG9naWNhbGx5LCBiZWNhbWUgdGhlIHVrIGNvbWljcyBpbmR1c3RyeS4gVGhlIGZhbiBvZiBmYW56aW5lIGlzIG5vdCB0aGUgYmUgYWxsOiByZWFkaW5nIHRocm91Z2ggbXkgbm90ZXMgZnJvbSBhIGRlZ3JlZSBtb2R1bGUgd2hpY2ggYXBwZWFycyB0byBmb2N1cyBvbiBmaWxtIGNyaXRpY3MuIEkgY29tZSB0byBmaWxtIHN0dWRpZXMgYXMgYW4gb3V0c2lkZXIgLSBJIGdvIHRvIGNpbmVtYXMgYnV0IG9uY2Ugb3IgdHdpY2UgYSB5ZWFyLiBJbiB0aGUgbGFzdCBmaXZlIHllYXJzIEkmIzM5O3ZlIHNlZW4gbWF5YmUgZmlmdHkgZmlsbXMuIFNvLCBhcyBhbiBvdXRzaWRlciBjb21pbmcgdG8gZmlsbXMgKGEDMTMyZAKDAg9kFgJmDxUFRldlbGwgbGV0IHRoZSBib3lzIGFsbCBzaW5nIGFuZCB0aGUgYm95cyBhbGwgc2hvdXQgZm9yIHRvbW9ycm93IChGZWIgMykGQW5kcmV3BEx1a2W2A1RoZSBMb25kb24gVW5kZXJncm91bmQgQ29taWNzIHN0YWxsIGluIENhbWRlbiBNYXJrZXQmbmJzcDsgaGFzIGluIHRoZSBwYXN0IHdlZWsgc3VycHJpc2UgbWFya2V0ZWQgYW4gb3B0aW1pc3RpYyBmdXR1cmUgb2YgQnJpdGlzaCBjb21pY3MgYXJ0aXN0cy4gTGFzdCBTdW5kYXkgbW9ybmluZywgZml2ZSBjYXJ0b29uaXN0cyBzZXQgdGhlaXIgZmVlbC1nb29kIGRhbmNpbmcgaW5keSBzcGlyaXQgbG9vc2Ugb24gRmFjZWJvb2ssIFlvdVR1YmUgYW5kIHNldmVyYWwgZm9ydW1zIGFuZCB3ZWJzaXRlcy4gRGlyZWN0b3IgT2xpIFNtaXRoIGhhcyBzZXQgYSBwcm9mZXNzaW9uYWwgc2VyaWVzIG9mIGVkaXRlZCBjbGlwcyBvZiB0aGUgcGxheWZ1bCB0cmFkaW5nIGNvbW11bml0eSB0byBhIEJlY2sgdHVuZS4gSSBjYW4mcnNxdW87dCByZWNvbW1lbmQgdGhpcyBoaWdobHkgZW5vdQMxMTFkAoQCD2QWAmYPFQUXS2luZyBvZiBDb21pY3MgKEphbiAyNykGQW5kcmV3BEx1a2XFA0dyYXZlIEdyYWhhbSBCZXR0YW55IGhhZCBiZWVuIHdhcm5lZCBpZiBoZSB3YXMgZHJpbmtpbmcgd2l0aA0KQmlzbGV5IGhlJiMzOTtkIGVuZCB1cCBpbiBhIGhvdGVsIGluIEFtc3RlcmRhbQ0KZHJlc3NlZCBpbiBnaXJscyBjbG90aGVzIGFuZCB1bmFibGUgdG8gZmVlbCBoaXMgbGVncy4gVGhlIG5leHQgbW9ybmluZyBoZSBzYXQNCm9uIHRoZSBzdGVwcyBvdXRzaWRlIHRoZSBCaXJtaW5naGFtIEludGVybmF0aW9uYWwgQ29taWNzIFNob3cgKEJJQ1MpIHdpdGggbWUgLQ0KYSBjaWdhcmV0dGUgaW4gaGlzIGhhbmQsIGFuZCBTaW1vbiBCaXNsZXkmIzM5O3MgZ3Vlc3QgYmFkZ2Ugc3VidGx5IHJlc3RlZCBvbiBoaXMNCmphY2tldC4gIkl0IG11c3QgYmUgYW4gYXdlc29tZSByZXNwb25zaWJpbGl0eSB0byBiZSB0aGUgS2luZyBvZg0KQ29taWNzIiwgaGlzIHN0YXRlbWVudCBhIG1vbWVudCBmbG9hdAI5NmQChgIPZBYCZg8VBSFUYWxraW5nIFRvIENhcnRvb25pc3QgTGF1cmEgRG93ZHMGRGFycmVuCVNjaHJvZWRlcsMCTGF1cmEgd3JvdGUgdG8gbWUgYXNraW5nIGlmIEkgcmV2aWV3IGNhcnRvb25zLiBBcyBJIGZpbmQgdGhlbSB0cmlja3kgdG8gd3JpdGUgYSBzZW5zaWJsZSByZXZpZXcgYWJvdXQsIHNlZWluZyBhcyBnYWcgY29taWNzIGVpdGhlciB3b3JrIG9yIHRoZXkgZG9uJiMzOTt0LCBJIHN1Z2dlc3RlZCB3ZSBkbyBhbiBpbnRlcnZpZXcgaW5zdGVhZCwgd2l0aCBhIHNhbXBsZSBvZiZuYnNwO2hlciBjYXJ0b29ucyBzbyB5b3UsIG91ciByZWFkZXIsIGNhbiBqdWRnZSBmb3IgeW91cnNlbGYuLiANCkRhcnJlbiBTY2hyb2VkZXI6IFdoYXQmIzM5O3MgeW91ciBmdWxsIE5hbWU/DQoCNTBkAocCD2QWAmYPFQUlWW91J3JlIE5vdCBmcm9tIEFyb3VuZCBIZXJlLCBBcmUgWW91PwZEYXJyZW4JU2Nocm9lZGVy8QEiV2VsY29tZSB0byB0aGUgVmlsbGFnZSwiIHRoZXkgc2FpZC4gSSB0aG91Z2h0IHlvdSBnb3Qgc2VudCBoZXJlIGlmIHlvdSByZXNpZ25lZCB5b3VyIGpvYiBhcyBhIGpldC1zZXR0aW5nIHNweSwgYnV0IGluIGEgcGxheSBmb3Igd29ybGQgZG9taW5hdGlvbiBJJ3ZlIHZvbHVudGFyaWx5IHNoaWZ0ZWQgbXkgYmFzZSBvZiBvcGVyYXRpb25zIGZyb20gdGhlIG9sZCBhbmQgY29