PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkNvbnRlbnQgYXNzaXN0PC90aXRsZT4KPC9oZWFkPgo8Ym9keSBpZD0iY3NyY2VkdDAwNiI+PGEgbmFtZT0iY3NyY2VkdDAwNiI+PCEtLSAtLT48L2E+Cgo8aDEgY2xhc3M9InRvcGljdGl0bGUxIj5Db250ZW50IGFzc2lzdDwvaDE+CjxkaXY+PHA+Q29udGVudCBhc3Npc3QgaGVscHMgeW91IGluc2VydCBvciBmaW5pc2ggYSB0YWcgb3IgZnVuY3Rpb24gb3IKZmluaXNoIGEgbGluZSBvZiBjb2RlIGluIGEgc3RydWN0dXJlZCB0ZXh0IGVkaXRvci4gVGhlIHBsYWNlbWVudCBvZiB0aGUgY3Vyc29yCmluIHRoZSBzb3VyY2UgZmlsZSBwcm92aWRlcyB0aGUgY29udGV4dCBmb3IgdGhlIGNvbnRlbnQgYXNzaXN0IHRvIG9mZmVyIHN1Z2dlc3Rpb25zCmZvciBjb21wbGV0aW9uLjwvcD48cD5Nb3N0IG9mIHRoZSBzdHJ1Y3R1cmVkIHRleHQgZWRpdG9ycyBoYXZlIGNvbnRlbnQgYXNzaXN0LiBGb3IgYSBsaXN0IG9mCmVkaXRvcnMgdGhhdCBoYXZlIGNvbnRlbnQgYXNzaXN0LCBzZWUgPGEgaHJlZj0iY3NyY2VkdDAwNC5odG1sIj5TdHJ1Y3R1cmVkCnRleHQgZWRpdG9ycyBmb3IgbWFya3VwIGxhbmd1YWdlczwvYT4uIEZvciBpbmZvcm1hdGlvbiBvbiBob3cgdG8gZ2V0IGNvbnRlbnQKYXNzaXN0YW5jZSwgc2VlIDxhIGhyZWY9InRzcmNlZHQwMDUuaHRtbCI+R2V0dGluZyBjb250ZW50IGFzc2lzdGFuY2UKaW4gc3RydWN0dXJlZCB0ZXh0IGVkaXRvcnM8L2E+PC9wPgo8cD5UaGUgc2VjdGlvbnMgYmVsb3cgZGVzY3JpYmUgc3BlY2lmaWNzIG9mIEhUTUwgY29udGVudCBhc3Npc3QsIEphdmFTY3JpcHSZIGNvbnRlbnQKYXNzaXN0LCBhbmQgSlNQIGNvbnRlbnQgYXNzaXN0LjwvcD4KPGRpdiBjbGFzcz0ic2tpcHNwYWNlIj48aDQgY2xhc3M9InNlY3Rpb250aXRsZSI+SFRNTCBjb250ZW50IGFzc2lzdDwvaDQ+PHA+SFRNTCBpcyBmbGV4aWJsZSBpbiB0aGF0IHNvbWUKSFRNTCBlbGVtZW50cyBhbGxvdyBlbmQgdGFncyB0byBiZSBvcHRpb25hbGx5IG9taXR0ZWQsIHN1Y2ggYXMgPHNhbXAgY2xhc3M9ImNvZGVwaCI+UDwvc2FtcD4sIDxzYW1wIGNsYXNzPSJjb2RlcGgiPkRUPC9zYW1wPiwgPHNhbXAgY2xhc3M9ImNvZGVwaCI+REQ8L3NhbXA+LCA8c2FtcCBjbGFzcz0iY29kZXBoIj5MSTwvc2FtcD4sIDxzYW1wIGNsYXNzPSJjb2RlcGgiPlRIRUFEPC9zYW1wPiwgPHNhbXAgY2xhc3M9ImNvZGVwaCI+VFI8L3NhbXA+LCA8c2FtcCBjbGFzcz0iY29kZXBoIj5URDwvc2FtcD4sIDxzYW1wIGNsYXNzPSJjb2RlcGgiPlRIPC9zYW1wPiwKYW5kIHNvIG9uLiBPdGhlciBIVE1MIGVsZW1lbnRzIHRoYXQgYXJlIGRlZmluZWQgdG8gaGF2ZSBubyBjb250ZW50IG1heSByZXF1aXJlCnRoZSBlbmQgdGFnIGFsd2F5cyBiZSBvbWl0dGVkLCBzdWNoIGFzIDxzYW1wIGNsYXNzPSJjb2RlcGgiPkJSPC9zYW1wPiwgPHNhbXAgY2xhc3M9ImNvZGVwaCI+SFI8L3NhbXA+LCA8c2FtcCBjbGFzcz0iY29kZXBoIj5MSU5LPC9zYW1wPiwgPHNhbXAgY2xhc3M9ImNvZGVwaCI+TUVUQTwvc2FtcD4sCmFuZCA8c2FtcCBjbGFzcz0iY29kZXBoIj5JTUc8L3NhbXA+LiBUaGlzIGZsZXhpYmlsaXR5IG1ha2VzIHRoZSBjb250ZW50IGFzc2lzdCBmdW5jdGlvbgp3aXRoaW4gdGhlIEhUTUwgc291cmNlIHBhZ2UgZWRpdG9yIGxlc3MgcHJlY2lzZSB0aGFuIGl0IG1pZ2h0IGJlIHdpdGggYSBtb3JlCnJpZ2lkbHkgY29uc3RyYWluZWQgbWFya3VwIGxhbmd1YWdlLjwvcD4KPHA+SFRNTCBjb250ZW50IGFzc2lzdCBpcyBtb3N0IGJlbmVmaWNpYWwKd2hlbiB5b3UgbmVlZCB0byBjb21wbGV0ZSBhIHRhZyBuYW1lLCBhZGQgYW4gYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpciB3aXRoaW4KYSBzdGFydCB0YWcsIG9yIHNlbGVjdCBmcm9tIGFuIGVudW1lcmF0ZWQgbGlzdCBvZiBhdHRyaWJ1dGUgdmFsdWVzLjwvcD4KPHA+QWx0aG91Z2gKY29udGVudCBhc3Npc3Qgb25seSBzaG93cyBhdHRyaWJ1dGUgbmFtZXMgdGhhdCBoYXZlIG5vdCBhbHJlYWR5IGJlZW4gc3BlY2lmaWVkCmluIGEgc3RhcnQgdGFnLCBpdCBkb2VzIG5vdCB0YWtlIGludG8gYWNjb3VudCBncmFtbWFyIGNvbnN0cmFpbnRzIGZvciB0YWdzLgpGb3IgZXhhbXBsZSwgdGhlIDxzYW1wIGNsYXNzPSJjb2RlcGgiPkhFQUQ8L3NhbXA+IGVsZW1lbnQgaW4gSFRNTCBvbmx5IHBlcm1pdHMgemVybyBvcgpvbmUgb2NjdXJyZW5jZXMgb2YgYSA8c2FtcCBjbGFzcz0iY29kZXBoIj5USVRMRTwvc2FtcD4gdGFnIGluIGl0cyBjb250ZW50LiBJZiB5b3UgcHJvbXB0CmZvciBjb250ZW50IGFzc2lzdCB3aXRoaW4gYSA8c2FtcCBjbGFzcz0iY29kZXBoIj5IRUFEPC9zYW1wPiBjb250ZW50IHRoYXQgYWxyZWFkeSBjb250YWlucwphIDxzYW1wIGNsYXNzPSJjb2RlcGgiPlRJVExFPC9zYW1wPiB0YWcsIGNvbnRlbnQgYXNzaXN0IHdpbGwgc3RpbGwgc2hvdyA8c2FtcCBjbGFzcz0iY29kZXBoIj5USVRMRTwvc2FtcD4gaW4KaXRzIHByb3Bvc2FsIGxpc3QuPC9wPgo8cD5Ib3dldmVyLCBpZiBhbiBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQgYWNjb3JkaW5nIHRvCnRoZSBEVEQvU2NoZW1hLCB0aGF0IGF0dHJpYnV0ZSB3aWxsIHNob3cgdXAgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdCwgd2l0aCBhCnllbGxvdyBjaXJjbGUgaW5kaWNhdG9yIG9uIGl0cyBpY29uLjwvcD4KPHA+SWYgeW91ciBjdXJzb3IgaXMgaW4gYSBwb3NpdGlvbgp3aGVyZSBjb250ZW50IGFzc2lzdCBpcyBhdmFpbGFibGUsIGEgcG9wLXVwIGxpc3Qgb2YgYXZhaWxhYmxlIGNob2ljZXMgaXMgZGlzcGxheWVkLgpUaGUgbGlzdCBpcyBiYXNlZCBvbiB0aGUgY29udGV4dC4gRm9yIGV4YW1wbGUsIGlmIHlvdSB1c2UgY29udGVudCBhc3Npc3QgZGlyZWN0bHkKYWZ0ZXIgYW4gb3BlbmluZyBwYXJhZ3JhcGggdGFnICg8c2FtcCBjbGFzcz0iY29kZXBoIj4mbHQ7cCZndDs8L3NhbXA+KSAsIHRoZSBmaXJzdCBpdGVtCmluIHRoZSBjb250ZW50IGFzc2lzdCBsaXN0IHdpbGwgYmUgdGhlIGNvcnJlc3BvbmRpbmcgY2xvc2luZyBwYXJhZ3JhcGggKDxzYW1wIGNsYXNzPSJjb2RlcGgiPiZsdDsvcCZndDs8L3NhbXA+KQp0YWcuPC9wPgo8cD5UaGUgY29udGVudCBhc3Npc3QgbGlzdCBkaXNwbGF5cyBhbGwgYXZhaWxhYmxlIHRhZ3MgZm9yIHRoZSBjdXJyZW50CmN1cnNvciBwb3NpdGlvbiwgaW5jbHVkaW5nIHRlbXBsYXRlcy4gVGhlIHBpY3R1cmUgYmVsb3cgc2hvd3MgdGhlIGRlZmF1bHQKY29udGVudCBhc3Npc3QgbGlzdCBmb3IgYSBwYXJhZ3JhcGggdGFnIGV4YW1wbGU6PGJyIC8+PGltZyBzcmM9Ii4uL2ltYWdlcy9uY29udGFzcy5naWYiIGFsdD0iSFRNTCBDb250ZW50IGFzc2lzdCIgLz48YnIgLz48L3A+CjxwPlRhZyBwcm9wb3NhbHMgYXJlIGxpc3RlZAphbHBoYWJldGljYWxseS4gSWYgeW91IHR5cGUgYSA8c2FtcCBjbGFzcz0iY29kZXBoIj4mbHQ7PC9zYW1wPiAodG8gYmVnaW4gYSBuZXcgdGFnKSBiZWZvcmUKcHJvbXB0aW5nIGZvciBjb250ZW50IGFzc2lzdCwgYW5kIGJlZ2luIHR5cGluZyB0aGUgZmlyc3Qgb25lIG9yIHR3byBsZXR0ZXJzCm9mIHRoZSB0YWcgdGhhdCB5b3Ugd2FudCB0byBhZGQsIHRoZSBwcm9wb3NhbCBsaXN0IGF1dG9tYXRpY2FsbHkgcmVmcmVzaGVzCnRvIHJlZmxlY3QgcHJvcG9zYWxzIHRoYXQgbWF0Y2ggdGhlIHBhdHRlcm4geW91IGhhdmUgdHlwZWQuIElmIHlvdSBkbyBub3QKdHlwZSBhIDxzYW1wIGNsYXNzPSJjb2RlcGgiPiZsdDs8L3NhbXA+IGJlZm9yZSBwcm9tcHRpbmcgZm9yIGNvbnRlbnQgYXNzaXN0LCB5b3UgY2FuCmNsaWNrIHdpdGhpbiB0aGUgcHJvcG9zYWwgbGlzdCBhbmQgdGhlbiB0eXBlIHRoZSBsZXR0ZXIgdGhhdCB0aGUgdGFnIGJlZ2lucwp3aXRoLCB0byByZWR1Y2UgKHNvbWV3aGF0KSB0aGUgYW1vdW50IG9mIHNjcm9sbGluZyB0byBsb2NhdGUgdGhlIGRlc2lyZWQgdGFnLjwvcD4KPHA+QXMKeW91IHR5cGUgdGhlIGZpcnN0IG9uZSBvciB0d28gbGV0dGVycyBvZiB0aGUgYXR0cmlidXRlIG5hbWVzIG9yIGVudW1lcmF0ZWQKYXR0cmlidXRlIHZhbHVlcyB0aGF0IHlvdSB3YW50IHRvIGFkZCB0byBhIHRhZywgdGhlIGxpc3QgYXV0b21hdGljYWxseSByZWZyZXNoZXMKdG8gcmVmbGVjdCBwcm9wb3NhbHMgdGhhdCBtYXRjaCB0aGUgcGF0dGVybiB5b3UgaGF2ZSB0eXBlZC48L3A+CjxkaXYgY2xhc3M9InJlc3RyaWN0aW9uIj48c3BhbiBjbGFzcz0icmVzdHJpY3Rpb250aXRsZSI+UmVzdHJpY3Rpb246IDwvc3Bhbj48aW1nIHNyYz0iLi4vaW1hZ2VzL25saW51eC5naWYiIGFsdD0iRm9yIExpbnV4LiIgLz4gV2hlbiB1c2luZyBMaW51eCAoTW90aWYgb3IKR1RLKSBhbmQgYSBEQkNTIGxvY2FsZSwgZG91YmxlLWNsaWNraW5nIG9uIHRoZSBjb250ZW50IGFzc2lzdCBsaXN0IGNhbiBzb21ldGltZXMKY2F1c2UgdGhlIEphdmGZIFZNIHRvIHRlcm1pbmF0ZS4gSW5zdGVhZCBvZiBkb3VibGUtY2xpY2tpbmcgb24KdGhlIGxpc3QsIHVzZSB0aGUgYXJyb3dzIGFuZCBFbnRlciBrZXlzIHRvIG1ha2UgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZSBsaXN0LjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2tpcHNwYWNlIj48aDQgY2xhc3M9InNlY3Rpb250aXRsZSI+SmF2YVNjcmlwdCBjb250ZW50IGFzc2lzdDwvaDQ+PHA+SXRlbXMKaW4gdGhlIEphdmFTY3JpcHQgY29udGVudCBhc3Npc3QgbGlzdCBhcmUgcHJlY2VkZWQgYnkgYW4gSW50ZXJuZXQKRXhwbG9yZXIgaWNvbiwgYSBOZXRzY2FwZSBpY29uLCBvciBib3RoLCB0byBpbmRpY2F0ZSB3aGV0aGVyIHNwZWNpZmljIEphdmFTY3JpcHQgb2JqZWN0cywKbWV0aG9kcywgb3IgZnVuY3Rpb25zIGFyZSBzdXBwb3J0ZWQgYnkgb25lIG9yIGJvdGggYnJvd3NlcnMuIElmIHRoZSBJbnRlcm5ldApFeHBsb3JlciBpY29uIGlzIHByZXNlbnQsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBvYmplY3QsIG1ldGhvZCwgb3IgZnVuY3Rpb24KaXMgc3VwcG9ydGVkIGJ5IEludGVybmV0IEV4cGxvcmVyIFZlcnNpb24gNS4wIG9yIGhpZ2hlci4gIElmIHRoZSBOZXRzY2FwZQppY29uIGlzIHByZXNlbnQsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBvYmplY3QsIG1ldGhvZCwgb3IgZnVuY3Rpb24gaXMgc3VwcG9ydGVkCmJ5IE5ldHNjYXBlIE5hdmlnYXRvciBWZXJzaW9uIDQuNyBvciBoaWdoZXIuIEEgcXVlc3Rpb24gbWFyayBpY29uICg8aW1nIHNyYz0iLi4vaW1hZ2VzL25xdWVzdC5naWYiIGFsdD0iUXVlc3Rpb24gbWFyayBpY29uIiAvPikKaW4gcGxhY2Ugb2Ygb25lIG9mIHRoZSBicm93c2VyIGljb25zIGluZGljYXRlcyB0aGF0IGl0IGlzIHVua25vd24gd2hldGhlcgp0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgb2JqZWN0LCBtZXRob2QsIG9yIGZ1bmN0aW9uLjwvcD4KPHA+VGhlIHBpY3R1cmUgYmVsb3cKc2hvd3MgdGhlIGRlZmF1bHQgY29udGVudCBhc3Npc3QgbGlzdCB3aXRoaW4gYSBKYXZhU2NyaXB0IGZpbGU6PGJyIC8+PGltZyBzcmM9Ii4uL2ltYWdlcy9uanNjZGFzdC5naWYiIGFsdD0iSmF2YVNjcmlwdCBjb250ZW50IGFzc2lzdCIgLz48YnIgLz48L3A+CjxwPkNvZGUKcHJvcG9zYWxzIGFyZSBsaXN0ZWQgYWxwaGFiZXRpY2FsbHkuIElmIHlvdSB0eXBlIGEgPHNhbXAgY2xhc3M9ImNvZGVwaCI+LiA8L3NhbXA+IChpbmNsdWRlCnRoZSBzcGFjZSkgYmVmb3JlIHByb21wdGluZyBmb3IgY29udGVudCBhc3Npc3QsIGFuZCBiZWdpbiB0eXBpbmcgdGhlIGZpcnN0Cm9uZSBvciB0d28gbGV0dGVycyBvZiB0aGUgY29kZSB0aGF0IHlvdSB3YW50IHRvIGFkZCwgdGhlIHByb3Bvc2FsIGxpc3QgYXV0b21hdGljYWxseQpyZWZyZXNoZXMgdG8gcmVmbGVjdCBwcm9wb3NhbHMgdGhhdCBtYXRjaCB0aGUgcGF0dGVybiB5b3UgaGF2ZSB0eXBlZCwgdG8gcmVkdWNlCihzb21ld2hhdCkgdGhlIGFtb3VudCBvZiBzY3JvbGxpbmcgdG8gbG9jYXRlIHRoZSBkZXNpcmVkIGNvZGUuPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2tpcHNwYWNlIj48aDQgY2xhc3M9InNlY3Rpb250aXRsZSI+SlNQIGNvbnRlbnQgYXNzaXN0PC9oND48cD5Zb3UgaGF2ZSBtYW55IG9wdGlvbnMgZm9yIGVtYmVkZGluZyBKYXZhIGFuZApIVE1MIGNvZGUgaW4geW91ciBKU1AgcGFnZXMgYnkgdXNpbmcgY29udGVudCBhc3Npc3QuPC9wPgo8cD5BbGwgb2YgdGhlIEpTUAp0YWdzIGFyZSBpbmNsdWRlZCBib3RoIGluIHRoZSB0ZW1wbGF0ZSBsaXN0IGFuZCBpbiBYTUwgZm9ybWF0IChmb3IgZXhhbXBsZSwgPHNhbXAgY2xhc3M9ImNvZGVwaCI+Jmx0O2pzcDpleHByZXNzaW9uJmd0Ozwvc2FtcD4pLgpUbyBhZGQgSlNQIHNjcmlwdGxldCB0YWdzLCBmb3IgZXhhbXBsZSwgbW92ZSB0aGUgY3Vyc29yIHRvIHRoZSBhcHByb3ByaWF0ZQpwb3NpdGlvbiBpbiB0aGUgZmlsZSBhbmQgcHJlc3MgQ3RybCtTcGFjZSB0byB1c2UgY29udGVudCBhc3Npc3QuIFNlbGVjdCA8aW1nIHNyYz0iLi4vaW1hZ2VzL25tYWNzY3JwLmdpZiIgYWx0PSJKU1Agc2NyaXB0bGV0IGNvbnRlbnQgYXNzaXN0IiAvPiBmcm9tCnRoZSBwcm9wb3NhbCBsaXN0IHRvIGluc2VydCA8c2FtcCBjbGFzcz0iY29kZXBoIj4mbHQ7JSAlJmd0Ozwvc2FtcD4gIGluIHRoZSBkb2N1bWVudC48L3A+CjxkaXYgY2xhc3M9InAiPlNjcmlwdGxldHMKYXJlIGluc2VydGVkIGluIGEgdGFnIDxzYW1wIGNsYXNzPSJjb2RlcGgiPiZsdDslICUmZ3Q7PC9zYW1wPi4gRm9yIGV4YW1wbGU6IDxwcmU+Jmx0OyUgU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCkgJSZndDs8L3ByZT4KPC9kaXY+CjxwPlRoaXMKZXhhbXBsZSB3aWxsIGV2YWx1YXRlIHRoZSBKYXZhIHN0YXRlbWVudCB0byBnZXQgdGhlIGN1cnJlbnQgdGltZQppbiBtaWxsaXNlY29uZHMuPC9wPgo8ZGl2IGNsYXNzPSJwIj5UbyBoYXZlIHRoZSByZXN1bHQgb2YgdGhlIHN0YXRlbWVudCBpbnNlcnRlZCBpbiB0aGUKZmlsZSwgcHV0IGFuIGVxdWFscyBzaWduICg9KSBpbiB0aGUgZnJvbnQgb2YgdGhlIHN0YXRlbWVudC4gRm9yIGV4YW1wbGU6IDxwcmU+Jmx0O2ImZ3Q7VGhpcyBpcyB0aGUgdGltZSA6ICZsdDslPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKSUmZ3Q7Jmx0Oy9iJmd0OzwvcHJlPgo8L2Rpdj4KPGRpdiBjbGFzcz0icCI+V2hlbiB5b3UgYXJlIHdpdGhpbiBhIHNjcmlwdGxldCB5b3UgYXJlIHdyaXRpbmcgcHVyZSBKYXZhIGNvZGUuClRoZXJlZm9yZSwgY29udGVudCBhc3Npc3Qgd29ya3MgZXhhY3RseSB0aGUgc2FtZSBhcyBpdCBkb2VzIGZvciB0aGUgSmF2YSBlZGl0b3IuCkZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWVzdCBjb250ZW50IGFzc2lzdCBhZnRlciA8c2FtcCBjbGFzcz0iY29kZXBoIj5TeXN0ZW08L3NhbXA+LApjb250ZW50IGFzc2lzdCBkaXNwbGF5cyBhIGxpc3Qgb2YgbWV0aG9kcy4gPGRpdiBjbGFzcz0ibm90ZSI+PHNwYW4gY2xhc3M9Im5vdGV0aXRsZSI+Tm90ZTogPC9zcGFuPkphdmEgY29udGVudCBhc3Npc3Qgd29ya3Mgb25seSBpbiBhIFdlYgpwcm9qZWN0LCBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgYnVpbGRwYXRoIHRvIGZpbmQgdGhlIGFwcHJvcHJpYXRlIEphdmEgY2xhc3Nlcy48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InAiPlRoZXJlCmFyZSBhbHNvIHNwZWNpYWwgdGFncyBzdWNoIGFzIHVzZUJlYW4uIEZvciBleGFtcGxlOiA8cHJlPiZsdDtqc3A6dXNlQmVhbiBpZD0idXNlQmVhbiIgY2xhc3M9ImphdmEubGFuZy5TdHJpbmciLyZndDs8L3ByZT4KPC9kaXY+CjxwPlRoZQp1c2VCZWFuIHRhZyBlbmFibGVzIHlvdSB0byBjcmVhdGUgYSBiZWFuIGNhbGxlZCA8c2FtcCBjbGFzcz0iY29kZXBoIj5hU3RyaW5nPC9zYW1wPiBvZgp0eXBlIDxzYW1wIGNsYXNzPSJjb2RlcGgiPlN0cmluZzwvc2FtcD4uIFRoZW4gd2hlbiB5b3UgdXNlIGNvbnRlbnQgYXNzaXN0LCB0aGlzIGlzIHJlY29nbml6ZWQKYXMgYSBkZWNsYXJlZCB2YXJpYWJsZS4gRm9yIGV4YW1wbGUsIGlmIHlvdSB1c2UgY29udGVudCBhc3Npc3QgYWZ0ZXIgPHNhbXAgY2xhc3M9ImNvZGVwaCI+YVN0cmluZzwvc2FtcD4sCmFzIGZvbGxvd3M6PC9wPgo8ZGl2IGNsYXNzPSJwIj4gPHByZT4mbHQ7JSBhU3RyaW5nLiAlJmd0OyA8L3ByZT4KdGhlIGNvbnRlbnQgYXNzaXN0Cmxpc3Qgc2hvd3MgYXZhaWxhYmxlIG1ldGhvZHMuIFRoaXMgaXMgYmVjYXVzZSA8c2FtcCBjbGFzcz0iY29kZXBoIj5hU3RyaW5nPC9zYW1wPiBoYXMKYmVlbiBkZWNsYXJlZCBhcyBhIGJlYW4gb2YgdHlwZSBTdHJpbmcuPC9kaXY+CjxkaXYgY2xhc3M9InAiPklmIHlvdSB1c2UgY29udGVudCBhc3Npc3QgYWZ0ZXIKdGhlIDxzYW1wIGNsYXNzPSJjb2RlcGgiPmE8L3NhbXA+LCBhcyBmb2xsb3dzOiA8cHJlPiZsdDslIGEgJSZndDsgPC9wcmU+CmNvbnRlbnQKYXNzaXN0IGtub3dzIHRoYXQgPHNhbXAgY2xhc3M9ImNvZGVwaCI+YVN0cmluZzwvc2FtcD4gZXhpc3RzLCBhbmQgaXQgaXMgc2hvd24gaW4gdGhlCmNvbnRlbnQgYXNzaXN0IGxpc3QuPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdj48cD48YiBjbGFzcz0icmVsY29uY2VwdHNoZCI+UmVsYXRlZCBjb25jZXB0czwvYj48YnIgLz4KPGEgaHJlZj0iY3NyY2VkdDAwNC5odG1sIiB0aXRsZT0iU3RydWN0dXJlZCB0ZXh0IGVkaXRvciBpcyBhbnkgb2Ygc2V2ZXJhbCB0ZXh0IGVkaXRvcnMgdGhhdCB5b3UgY2FuIHVzZSB0byBlZGl0IHZhcmlvdXMgbWFya3VwIGxhbmd1YWdlcyBzdWNoIGFzIEhUTUwsIEphdmFTY3JpcHQsIG9yIFhNTC4iPlN0cnVjdHVyZWQgdGV4dCBlZGl0b3JzIGZvciBtYXJrdXAKbGFuZ3VhZ2VzPC9hPjxiciAvPgo8L3A+CjxwPjxiIGNsYXNzPSJyZWx0YXNrc2hkIj5SZWxhdGVkIHRhc2tzPC9iPjxiciAvPgo8YSBocmVmPSJ0c3JjZWR0MDA1Lmh0bWwiIHRpdGxlPSJUbyBnZXQgaGVscCBpbiBhZGRpbmcgbWFya3VwIHRvIGEgZmlsZSwgeW91IGNhbiB1c2UgY29udGVudCBhc3Npc3QgaW4gYSBzdHJ1Y3R1cmVkIHRleHQgZWRpdG9yLiBDb250ZW50IGFzc2lzdCBoZWxwcyB5b3UgaW5zZXJ0IG9yIGZpbmlzaCBhIHRhZyBvciBmdW5jdGlvbiBvciBmaW5pc2ggYSBsaW5lIG9mIGNvZGUgaW4gYSBzdHJ1Y3R1cmVkIHRleHQgZWRpdG9yLiI+R2V0dGluZyBjb250ZW50IGFzc2lzdGFuY2UgaW4gc3RydWN0dXJlZAp0ZXh0IGVkaXRvcnM8L2E+PGJyIC8+CjxhIGhyZWY9InRzcmNlZHQwMjQuaHRtbCIgdGl0bGU9IkhUTUwgY29udGVudCBhc3Npc3QgcHJvdmlkZXMgc2V2ZXJhbCB0ZW1wbGF0ZXMsIG9yIGNodW5rcyBvZiBwcmVkZWZpbmVkIGNvZGUsIHRoYXQgeW91IGNhbiBpbnNlcnQgaW50byBhIGZpbGUuIFlvdSBjYW4gdXNlIHRoZSBkZWZhdWx0IHRlbXBsYXRlcyBhcyBwcm92aWRlZCwgY3VzdG9taXplIHRoZSBkZWZhdWx0IHRlbXBsYXRlcywgb3IgY3JlYXRlIHlvdXIgb3duIHRlbXBsYXRlcy4iPkFkZGluZyBhbmQgcmVtb3ZpbmcgSFRNTCB0ZW1wbGF0ZXM8L2E+PGJyIC8+CjwvcD4KPC9kaXY+CjwvYm9keT4KPC9odG1sPg==