PD94bWwgdmVyc2lvbj0iMS4wIj8+Cgo8dG9kbyB0aXRsZT0iVGhpbmdzIFRvIERvIiBwcm9qZWN0PSJYYWxhbiIgbWFqb3ItdmVyc2lvbj0iMiI+CgogPGRldnM+CiAgPCEtLSBpbiBhbHBoYWJldGljYWwgb3JkZXIsIGJ5IGxhc3QgbmFtZSAtLT4KICA8cGVyc29uIG5hbWU9IlNjb3R0IEJvYWciIGVtYWlsPSJzY290dF9ib2FnQGxvdHVzLmNvbSIgaWQ9IlNCIiBleHBlcnRpc2U9ImNvZGUiPgogICAgWGFsYW4gYXJjaGl0ZWN0LCBsZWFkIGRldmVsb3BlciBvbiBYYWxhbi1KIDIueC4KICA8L3BlcnNvbj4KICA8cGVyc29uIG5hbWU9IlNoYW5lIEN1cmN1cnUiIGVtYWlsPSJTaGFuZV9DdXJjdXJ1QGxvdHVzLmNvbSIgaWQ9IlNDIiBleHBlcnRpc2U9InRlc3QiPgogICAgTGVhZCB0ZXN0ZXIgZm9yIEFQSSBpc3N1ZXMsIGF1dG9tYXRpb24gZnJhbWV3b3JrLgogIDwvcGVyc29uPgogIDxwZXJzb24gbmFtZT0iUGF1bCBEaWNrIiBlbWFpbD0iUGF1bF9EaWNrQGxvdHVzLmNvbSIgaWQ9IlBEIiBleHBlcnRpc2U9InRlc3QiPgogICAgWFNMVCBDb25mb3JtYW5jZSBzdHlsZXNoZWV0IGlzc3VlcyBhbmQgWGFsYW4tQyB0ZXN0aW5nLgogIDwvcGVyc29uPgogIDxwZXJzb24gbmFtZT0iSm9zZXBoIEtlc3NlbG1hbiIgZW1haWw9Ikpvc2VwaF9LZXNzZWxtYW5AbG90dXMuY29tIiBpZD0iSksiIGV4cGVydGlzZT0iY29kZSI+CiAgICBYYWxhbi1KIDIueCBkZXZlbG9wZXIsIGNvbXBpbGluZy9jb21waWxlZCBzdHlsZXNoZWV0cyBleHBlcmltZW50cy4KICA8L3BlcnNvbj4KICA8cGVyc29uIG5hbWU9IkRvbmFsZCBMZXNsaWUiIGVtYWlsPSJkb25hbGRfbGVzbGllQGxvdHVzLmNvbSIgaWQ9IkRMIiBleHBlcnRpc2U9ImRvYyI+CiAgICBYYWxhbi1KIGFuZCAtQyBkb2N1bWVudGF0aW9uLCBzZXJ2bGV0cyBhbmQgc2FtcGxlcy4KICA8L3BlcnNvbj4KICA8cGVyc29uIG5hbWU9IkNvc3RpbiBNYW5vbGFjaGUiIGVtYWlsPSJjbWFub2xhY2hlQHlhaG9vLmNvbSIgaWQ9IkNNIj4KICAgIFhhbGFuLUogMi54IGRldmVsb3Blci4KICA8L3BlcnNvbj4KICA8cGVyc29uIG5hbWU9IkRhdmlkIE1hcnN0b24iIGVtYWlsPSJEYXZpZF9NYXJzdG9uQGxvdHVzLmNvbSIgaWQ9IkRNIiBleHBlcnRpc2U9InRlc3QiPgogICAgTGVhZCB0ZXN0ZXIgZm9yIFhTTFQgQ29uZm9ybWFuY2Ugc3R5bGVzaGVldCBpc3N1ZXMuCiAgPC9wZXJzb24+CiAgPHBlcnNvbiBuYW1lPSJNeXJpYW0gTWlkeSIgZW1haWw9Im15cmlhbV9taWR5QGxvdHVzLmNvbSIgaWQ9Ik1NIiBleHBlcnRpc2U9ImNvZGUiPgogICAgWGFsYW4tSiAxLnggYW5kIDIueCBkZXZlbG9wZXIuCiAgPC9wZXJzb24+CiAgPHBlcnNvbiBuYW1lPSJHYXJ5IEwgUGVza2luIiBlbWFpbD0iZ2FyeXBAZmlyc3RlY2guY29tIiBpZD0iR1AiIGV4cGVydGlzZT0iY29kZSI+CiAgICBYYWxhbi1KIDEueCBhbmQgMi54IGRldmVsb3BlciwgZXNwZWNpYWxseSBleHRlbnNpb24gbWVjaGFuaXNpbS4KICA8L3BlcnNvbj4KCiA8L2RldnM+CgogPGFjdGlvbnM+CgogICA8dGFyZ2V0LXJlbGVhc2UtZGVzY3JpcHRpb24+CiAgICA8ZGF0ZT4wMS8xOS8wMTwvZGF0ZT4KICAgIDxsZXZlbD5wcm9kdWN0aW9uPC9sZXZlbD4KICAgIDxnb2FsIHR5cGU9ImNvbmZvcm1hbmNlIj5YU0xUIDEuMCBhbmQgWFBhdGggMS4wIGNvbXBsaWFudCwgOTklIGNvbmZvcm1hbmNlIHRlc3QgcGFzc2FnZS48L2dvYWw+CiAgICA8Z29hbCB0eXBlPSJwZXJmb3JtYW5jZSI+UmVhc29uYWJsZSwgY29tcGV0YXRpdmUgcGVyZm9ybWFuY2UuIFtuZWVkIG1ldHJpY3NdPC9nb2FsPgogICAgPGdvYWwgdHlwZT0ic3RhYmlsaXR5Ij5Sb2J1c3QuPC9nb2FsPgogICAgPGdvYWwgdHlwZT0iYXBpIj5BUEkgQ29tcGxldGUuPC9nb2FsPgogICAgPGdvYWwgdHlwZT0iZG9jdW1lbnRhdGlvbiI+RG9jdW1lbnRhdGlvbiBjb21wbGV0ZS48L2dvYWw+CiAgIDwvdGFyZ2V0LXJlbGVhc2UtZGVzY3JpcHRpb24+CgogIDwhLS0gTW92ZSB0byBjb21wbGV0ZWQgc2VjdGlvbiB3aGVuIGRvbmUuIC0tPgogICAgICAgICAgICAKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0icmVsZWFzZSI+CiAgICAgIE5vIGtub3duIGFjdGlvbnMgcGVuZGluZyBmb3IgMi4wLjAgcmVsZWFzZS4KICAgPC9hY3Rpb24+CiAgCiA8L2FjdGlvbnM+CgogPGFjdGlvbnMgcHJpb3JpdHk9ImxvbmctdGVybSIgPgogIDwhLS0gTW92ZSB0byBjb21wbGV0ZWQgc2VjdGlvbiB3aGVuIGRvbmUuIC0tPgoKICAgPHRhcmdldC1yZWxlYXNlLWRlc2NyaXB0aW9uPgogICAgPGRhdGU+NC8xNS8wMTwvZGF0ZT4KICAgIDxsZXZlbD5iZXRhPC9sZXZlbD4KICAgIDxnb2FsIHR5cGU9ImNvbmZvcm1hbmNlIj5YU0xUIDEuMSBhbmQgWFBhdGggMS4wK2FkZGVuZHVtIGNvbXBsaWFudCwgMTAwJSBjb25mb3JtYW5jZSB0ZXN0IHBhc3NhZ2UuPC9nb2FsPgogICAgPGdvYWwgdHlwZT0icGVyZm9ybWFuY2UiPlZlcnkgZ29vZCBwZXJmb3JtYW5jZS4gW25lZWQgbWV0cmljc108L2dvYWw+CiAgICA8Z29hbCB0eXBlPSJzdGFiaWxpdHkiPlN0YWJsZSwgcmVhc29uYWJsZS48L2dvYWw+CiAgICA8Z29hbCB0eXBlPSJhcGkiPkFQSSBDb21wbGV0ZS48L2dvYWw+CiAgICA8Z29hbCB0eXBlPSJkb2N1bWVudGF0aW9uIj5Eb2N1bWVudGF0aW9uIGZ1bmN0aW9uYWxseSBjb21wbGV0ZS48L2dvYWw+CiAgIDwvdGFyZ2V0LXJlbGVhc2UtZGVzY3JpcHRpb24+CiAgIAogICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJjb25mb3JtYW5jZSIgd2hvPSJHUCI+CiAgICAgIFZlcmlmeSB0aGF0IHRoZSByZWNvbXBvc2luZyBwcm9jZWR1cmUgZm9yIGVhY2ggb2YgdGhlIHJlY29tcG9zYWJsZQogICAgICBlbGVtZW50cyBtYXRjaGVzIHRoZSBzdGFuZGFyZCAoaW5jbHVkaW5nIGVycmF0YSkuCiAgIDwvYWN0aW9uPgoKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iY29uZm9ybWFuY2UiIHdobz0iR1AiPgogICAgICBGaXggeHNsOm91dHB1dCBtZXRob2Q9IHNvIHRoYXQgaXQgb25seSBhY2NlcHRzIHZhbGlkIHZhbHVlcyBwZXIgdGhlCiAgICAgIHN0YW5kYXJkICh4bWwsIGh0bWwsIHRleHQsIHFuYW1lLXRoYXQtaXMtbm90LWFuLW5jbmFtZSkuICBJJ20gbG9va2luZwogICAgICBpbnRvIHdoZXJlIHRoaXMgY2hhbmdlIHNob3VsZCBiZSBtYWRlLgogICA8L2FjdGlvbj4KCiAgIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImNvbmZvcm1hbmNlIiB3aG89IkdQIj4KICAgICAgVmVyaWZ5IHRoYXQgdGhlIGVsZW1lbnQtYXZhaWxhYmxlIGZ1bmN0aW9uIGV4aGliaXRzIHRoZSBwcm9wZXIKICAgICAgYmVoYXZpb3IgYWNjb3JkaW5nIHRvIEVycmF0YSBFNyByZWdhcmRpbmcgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gdGhlCiAgICAgIGRlZmF1bHQgbmFtZXNwYWNlIGFuZCB0aGUgZWxlbWVudC1hdmFpbGFibGUgZnVuY3Rpb24uCiAgIDwvYWN0aW9uPgoKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZXh0ZW5zaW9ucyIgd2hvPSJHUCI+CiAgICAgIEFkZCBjb21wYXRpYmlsaXR5IHdpdGggWGFsYW5KMSBOb2RlU2V0IGV4dGVuc2lvbiwgc28gdGhhdCBzdHlsZWhzaGVldHMgCiAgICAgIGNhbiB3b3JrIHdpdGggYm90aCBwcm9jZXNzb3JzLgogICA8L2FjdGlvbj4KCiAgIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImJ1ZyIgd2hvPSJTQiI+CiAgICBIYW5kbGUgcU5hbWUgcGFyYW10ZXJlciB0byB0aGUgQ29udGVudEhhbmRsZXIgbWV0aG9kcyBiZWluZyBhbiBlbXB0eSBzdHJpbmcuCiAgICBTZWUgbm90ZSBmcm9tIG1pa2FlbEBpbmdlbi5yZWtsYW0uc3RhbGRhbC5udSAoTWlrYWVsIFN05WxkYWwpLCAwMS8wMS8yMDAxIDA5OjQyIEFNLgogICA8L2FjdGlvbj4KCiAgIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIiB3aG89IlNCIj4KICAgIE9wdGltaXplICIuIiBwYXR0ZXJucyB0byBiZSB1bHRyYSBzaW1wbGUgaXRlcmF0b3IuCiAgIDwvYWN0aW9uPgoKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0icGVyZm9ybWFuY2UiIHdobz0iU0IiPgogICAgT3B0aW1pemUgIi9mb28vYmF6IiBwYXR0ZXJucyB0aGF0IGhhdmUgbm8gdmFyaWFiaWxpdHksIHRvIGEgZ2xvYmFsIHNwYWNlLCAKICAgIGFuZCBkb24ndCByZS1ldmFsdWF0ZSBlYWNoIHRpbWUuCiAgIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJmZWF0dXJlIj4KICAgIERvbiBwdWJsaXNoZWQgYSBsaXN0IG9mIHByb3Bvc2VkIGV4dGVuc2lvbnMgYSB3aGlsZSBhZ28uCiAgICBJIHdvdWxkIHJlYWxseSBsaWtlIHRvIGdldCB0aGVzZSBpbXBsZW1lbnRlZC4gIFRoaXMgaXMgYSBnb29kCiAgICBhcmVhIGZvciBwYXJ0LXRpbWUgY29udHJpYnV0ZXJzLCBhcyB0aGUgZXh0ZW5zaW9ucyBoYXZlIGxpbWl0ZWQgc2NvcGUuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIj4KICAgIEpvZSBjb3VsZCB1c2UgaGVscCB3aXRoIHRoZSBzdHlsZXNoZWV0IGNvbXBpbGVyIHN0dWZmLgogICAgTG90cyBvZiB3b3JrIHRvIGJlIGRvbmUgdGhlcmUuICBJbiBwYXJ0aWN1bGFyLCBJIHdvdWxkIGxpa2UgdG8KICAgIGZpZ3VyZSBvdXQgaG93IHRvIGlubGluZSBzb21lIHNpbXBsZSBpdHRlcmF0b3Igb3BlcmF0aW9ucywKICAgIGxpa2Ugc2VsZWN0PSJub2RlKCkiIGFuZCBzZWxlY3Q9ImZvbyIuICBBbHNvLCB3ZSBuZWVkIHRvIGZpZ3VyZQogICAgb3V0IGhvdyB0byBhbmFseXplIGEgcGFydGljdWxhciBzdHlsZXNoZWV0J3MgZGVwZW5kZW5jaWVzLCBhbmQKICAgIGJlIGFibGUgdG8gcGFja2FnZSBqdXN0IHRob3NlIGNsYXNzZXMgaW4gYSBqYXIsIGFsb25nIHdpdGggdGhlCiAgICBjb21waWxlZCBjbGFzc2VzLgogICAgPGlzc3VlIGlkPSJpc3N1ZS1jb21waWxlci1mb3ItamFudWFyeS1yZWxlYXNlIj5JIHN1c3BlY3QgaXQgaXMgdW5saWtlbHkgdGhpcwogICAgd2lsbCBiZSByZWFkeSBpbiB0aW1lIGZvciB0aGlzIHJlbGVhc2UuPC9pc3N1ZT4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJ0ZXN0IiBjYXRlZ29yeT0iZmVhdHVyZSIgcHJpb3JpdHk9ImhpZ2giPgogICAgQHRvZG8gbmVlZCB0byBmaW5kIGFuIEhUTUwgdG8gRE9NIHBhcnNlciB3ZSBjYW4gdXNlISEKICAgIEdldCBhIGdvb2QsIGFwYWNoZS1saWNlbnNlZCBIVE1MLXRvLURPTSBwYXJzZXIgY2hlY2tlZCBpbnRvIHRoZSAKICAgIHhtbC14YWxhblx0ZXN0XGphdmEgcmVwb3NpdG9yeSwgZm9yIHVzZSBieSBvcmcuYXBhY2hlLnFldGVzdC54c2wuWEhUQ29tcGFyYXRvcgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9InRlc3QiIGNhdGVnb3J5PSJ0ZXN0cyIgcHJpb3JpdHk9Im1lZGl1bSI+CiAgICBHZXQgbW9yZSByZWFsLXdvcmxkIHN0eWxlc2hlZXRzIGNoZWNrZWQgaW50byB4bWwteGFsYW5cdGVzdFx0ZXN0c1xjb250cmliLgogICAgV2UgbmVlZCBtb3JlIHJlYWwtbGlmZSBleGFtcGxlcyBvZiBob3cgcGVvcGxlIGFyZSB1c2luZyBzdHlsZXNoZWV0cywgYWxvbmcgCiAgICB3aXRoIGV4cGVjdGVkIG91dHB1dHMgKGluIGNvbnRyaWItZ29sZCkgLSB3ZSBjYW4gdGhlbiBydW4gb3VyIHRlc3QgZHJpdmVyIAogICAgb3ZlciB0aGUgd2hvbGUgc2V0IG9mIHRoZW0gZWFzaWx5IHRvIGdldCBtb3JlIHRlc3QgcG9pbnRzLgogICAgTm90ZTogcGxlYXNlIGZlZWwgZnJlZSB0byBjb250cmlidXRlIHRlc3RzIGhlcmUgLSB0aGUgY29tbWl0dGVycyAKICAgIHdpbGwgcmV2aWV3IGFuZCBtb3ZlIHRlc3RzIGludG8gY29uZm9ybWFuY2UsIHByb2R1Y3QsIGV0Yy4gdGVzdCAKICAgIGFyZWFzIGFzIG5lZWRlZCwgYnV0IHdlIGNhbiBhbHdheXMganVzdCBydW4gQ29udHJpYlRlc3Qgb24gYW55IHRlc3RzLgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9InRlc3QiIGNhdGVnb3J5PSJ0ZXN0cyIgcHJpb3JpdHk9ImhpZ2giPgogICAgR2V0IGV4dGVuc2lvbiB0ZXN0cyBjaGVja2VkIGludG8geG1sLXhhbGFuXHRlc3RcdGVzdHNcZXh0ZW5kCiAgICBXZSBoYXZlIHNvbWUgYXQgTG90dXMgd2UgbmVlZCB0byBjbGVhbnVwIGFuZCBjaGVja2luLCBhbmQgd2UgCiAgICBob3BlIHRvIGdldCBtb3JlIGV4YW1wbGVzIGZyb20gR2FyeSBhbmQgb3RoZXIgbGlzdCBtZW1iZXJzLgogIDwvYWN0aW9uPgogICAKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0icGVyZm9ybWFuY2UiIHdobz0iU0IiPgogICAgRGVsZXRlIG5vZGVzIGluIHRoZSBzb3VyY2UgdHJlZSB3aGVuIHBvc3NpYmxlLiAgKD8/IE5vdGUgc3VyZSBpZiB0aGlzIAogICAgaXMgZG8tYWJsZSBieSBiZXRhMi4pCiAgICA8cHN1ZWRvLWNvZGU+CiAgICAgIDEpIEZvciBlYWNoIGV4cHJlc3Npb24sIHRlbGwgaWYgZXhwcmVzc2lvbiBjYW4gdHJhdmVyc2Ugb3V0c2lkZSBpdCdzIAogICAgICAgICBzdWJ0cmVlLgogICAgICAyKSBGb3IgZWFjaCBlbGVtZW50LCB0ZWxsIGlmIGFueSBmb2xsb3dpbmcgZWxlbWVudHMgbWF5IG5lZWQgdG8gIAogICAgICAgICBhY2Nlc3MgdGhhdCBub2RlLgogICAgICAzKSBJbiBpbnN0cnVjdGlvbnMgdGhhdCB0cmF2ZXJzZSBub2Rlcywgb25jZSB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgCiAgICAgICAgIG5vZGUgaXMgY29tcGxldGVkLCByZW1vdmUgdGhlIG5vZGUgaWYgbm8gZm9sbG93aW5nIGVsZW1lbnRzIG1heSAKICAgICAgICAgbmVlZCB0byBhY2Nlc3MgdGhhdCBub2RlLgogICAgICA0KSBLZWVwIHRoZSBwYXJzZSBldmVudHMgZnJvbSBnZXR0aW5nIHRvbyBmYXIgYWhlYWQgb2YgdGhlIHRyYW5zZm9ybS4KICAgICAgCiAgICAgIFRPRE86IEluIFN0ZXBQYXR0ZXJuLCBBbmNlc3RvcnMgdGVzdHMgd2l0aCBwcmVkaWNhdGVzIGFyZSBwcm9ibGVtYXRpYywgCiAgICAgIGFuZCB3aWxsIHJlcXVpcmUgc3BlY2lhbCB0cmVhdG1lbnQuCiAgICA8L3BzdWVkby1jb2RlPgogICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZmVhdHVyZSI+CiAgICBYUG9pbnRlciBidWlsdCBvbiB0aGUgWFBhdGggcGFja2FnZS4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBwYWNrYWdlcz0ieHBhdGguYXhlcyIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIj4KICAgIFNjaGVtYS1zYXZ5IGl0dGVyYXRvcnMuCiAgICBUaGlzIGlzIGhhcmQgYmVjYXVzZSB0aGVyZSBpcyBubyBzdGFuZGFyZCBBUEkgZm9yIHNjaGVtYXMgeWV0LgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGlkPSJzdHlsZXNoZWV0LWFuYWx5c2lzIiBwYWNrYWdlcz0icHJvY2Vzc29yIiBjYXRlZ29yeT0icGVyZm9ybWFuY2UiPgogICAgU3R5bGVzaGVldCBhbmFseXNpcyBtb2R1bGUuICBXaGVuIEkgY2FsbCBhIHRlbXBsYXRlLCB3aGVyZSBpcyBpdCBsaWtlbHkgdG8gd2FsayBpbiB0aGUgdHJlZT8KICAgIENhbiBJIGJlIHN1cmUgdGhhdCBpdCB3aWxsIG5vdCB3YWxrIHVwIGFnYWluPwogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIHBhY2thZ2VzPSJzdHJlZSIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIj4KICAgIFJlbGF0ZWQgdG8gc3R5bGVzaGVldC1hbmFseXNpcywgdGhlIGFiaWxpdHkgdG8gdGhyb3cgYXdheSBwYXJ0cyBvZiB0aGUgdHJlZSB0aGF0IGhhdmUgYmVlbiBwcm9jZXNzZWQsCiAgICBhbmQgd2Uga25vdyB3ZSB3b24ndCByZXVzZSwgYmFzZWQgb24gdGhlIHN0eWxlc2hlZXQgYW5hbHlzaXMuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgcGFja2FnZXM9InByb2Nlc3NvciIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIj4KICAgIFN1Yi1leHByZXNzaW9uIGVsaW1pbmF0aW9uLiAgV2hlbiBJIGNhbGwgYSBzZXJpZXMgb2YKICAgIHhzbDp3aGVuIHRlc3RzLCBhcmUgdGhlcmUgY29tbW9uIHN1YmV4cHJlc3Npb25zIHRoYXQgY2FuIGJlCiAgICBleGVjdXRlZCBvbmNlIGFuZCB0aGVuIHNoYXJlZD8KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIj4KICA8L2FjdGlvbj4KCiA8L2FjdGlvbnM+CgogPGNvbXBsZXRlZD4KICA8IS0tIE1vdmUgYWN0aW9uIHNlY3Rpb25zIHRvIGhlcmUgd2hlbiBjb21wbGV0ZWQsIGFuZCBkYXRlIHRoZW0uIC0tPgogIAogICA8YWN0aW9uIGNvbnRleHQ9ImRvYyIgY2F0ZWdvcnk9ImRvY3VtZW50YXRpb24iIHdobz0iU0IiIGNvbXBsZXRlZD0iMDEvMTIvMDEiPgogICAgVXBkYXRlIGFuZCBhZGQgdG8gYXJjaGl0ZWN0dXJlIGRvY3VtZW50YXRpb24sIGluY2x1ZGluZyBwYWNrYWdlIGhlYWRlcnMuCiAgIDwvYWN0aW9uPgoKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZXJyb3ItaGFuZGxpbmciIHdobz0iU0IiIGNvbXBsZXRlZD0iMDEvMDYvMDEiPgogICAgU2ltcGxpZnkgc29tZSBvZiB0aGUgZXhjZXB0aW9uIG5lc3RpbmcsIG1heWJlLCBhbmQgbWFrZSBzdXJlIGVycm9yIGxpc3RlbmVycyAKICAgIGFyZSBiZWluZyBjYWxsZWQgZm9yIGFsbCBjYXNlcy4KICAgIDxub3RlPkZpeGVkIGJ1ZyB3aXRoIFhQYXRocyBpbiB0aGlzIGFyZWEuICBNb3N0IG9mIHRoZSBuZXN0aW5nIGlzIGJlaW5nIGNhdXNlZCAKICAgIGJ5IFRyYW5mb3JtZXJIYW5kbGVyIHRvIFNBWEV4Y2VwdGlvbiBuZXN0aW5nLCB3aGljaCBjYW4gYmUgdW5uZXN0ZWQuPC9ub3RlPgogICA8L2FjdGlvbj4KICAKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iYnVnIiB3aG89IlNCIiBjb21wbGV0ZWQ9IjAxLzA2LzAxIj4KICAgIEZpeCAxLjggcHJvYmxlbXM6IGV4dGVuZDAxIChleGNlcHRpb24pLCBudW1iZXJmb3JtYXQgMDYsIG51bWJlcmZvcm1hdDE2LCBvdXRwdXQ3NyAoZXhjZXB0aW9uKS4KICAgIEpESyAxLjEuOCwgdXNpbmcgeG1sLXhhbGFuXHRlc3RcQ29uZm9ybWFuY2VUZXN0LmJhdCwgcnVuaGFybmVzcy5iYXQsIGFuZCB0ZXN0dGhyZWFkcy5iYXQgYXMtaXMuCiAgICA8bm90ZT5UaGUgbnVtYmVyIGZvcm1hdCBzdHVmZiBpcyBhIGJ1ZyBpbiBKREsgMS44IGFuZCBjYW4ndCBlYXNpbHkgYmUgZml4ZWQgCiAgICBvciBoYWNrZWQuPC9ub3RlPgogICA8L2FjdGlvbj4KCiAgIDwhLS0gYWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJmZWF0dXJlIiB3aG89IlNCIiBjb21wbGV0ZWQ9IjAxLzA0LzAxIj4KICAgIEludGVncmF0ZSBKb2huIEdlbnRpbGluICZsdDtqb2huZ2xpbnV4QGV5ZWNhdGNoaW5nLmNvbT4gY29kZSwgCiAgICBmb3IgU1FMIEV4dGVuc2lvbiBFbmhhbmNlbWVudHMuCiAgIDwvYWN0aW9uICAoQ0hBTkdFUyBCQUNLRUQgT1VUIE9GKSAtLT4KCiAgIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImJ1ZyIgd2hvPSJTQiIgY29tcGxldGVkPSIwMS8wNC8wMSI+CiAgICBJbXBsZW1lbnQgeHNsOnN0cmlwLXNwYWNlIGZvciBnZW5lcmljIERPTSBwcm9jZXNzaW5nLgogICA8L2FjdGlvbj4KCiAgIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIiB3aG89IlNCIiBjb21wbGV0ZWQ9IjAxLzAzLzAxIj4KICAgIEZvciBkZWZhdWx0IHRyYW5zZm9ybWVyLCBkbyBkaXJlY3QgdHJhbnNmb3JtIHdpdGhvdXQgc3R5bGVzaGVldC4KICAgPC9hY3Rpb24+CiAgIAogICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJkb2N1bWVudGF0aW9uIiB3aG89IlNCIiBjb21wbGV0ZWQ9IjAxLzAxLzAxIj4KICAgIEZpeCBzb21lIGphdmFkb2MgaGVhZGVycyB0aGF0IHN0aWxsIGhhdmUgb2xkIFhhbGFuSjEgdGV4dC4gIEZvciBpbnN0YW5jZSwgCiAgICBUcmFuc2Zvcm1lckltcGwuCiAgIDwvYWN0aW9uPgogIAogICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJidWdzIiB3aG89IlNCIiBjb21wbGV0ZWQ9IjEyLzMxLzAwIj4KICAgIEZpeCBidWcgd2l0aCBTaGFuZSdzIHMycyB0ZXN0IGhhbmcuCiAgIDwvYWN0aW9uPgogICAKICAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iYnVncyIgd2hvPSJTQiwgSksiIGNvbXBsZXRlZD0iMTIvMzEvMDAiPgogICAgRml4IGJ1ZyB3aXRoIHJhcmUgaW50ZXJtaXR0ZW50IGZhaWx1cmVzLCBwcm9iYWJseSBpbiB0aGUgU1RyZWUuCiAgICA8bm90ZT5WZXJpZmljYXRpb24gdGVzdGluZyBvbiBKSydzIG1hY2hpbmUgbmVlZGVkLjwvbm90ZT4KICAgPC9hY3Rpb24+CgogICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJwZXJmb3JtYW5jZSIgd2hvPSJTQiIgY29tcGxldGVkPSIxMi8yNi8wMCI+CiAgICBPcHRpbWl6ZSAiL2Zvby9iYXoiIHBhdHRlcm5zIHRvIHVzZSBzaW1wbGUgY2hpbGQgd2Fsa2Vycy4KICAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJ0ZXN0IiB3aG89IlNDIiBjYXRlZ29yeT0ibWluaXRlc3QiIHByaW9yaXR5PSJtZWRpdW0iIGNvbXBsZXRlZD0iMTIvMDgvMDAiPgogICAgQ3JlYXRlIE1pbml0ZXN0IGF1dG9tYXRlZCB0ZXN0IGZvciBkZXZlbG9wZXJzIHRvIHJ1biBiZWZvcmUgY2hlY2tpbjsgCiAgICB2ZXJpZmllcyBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIFRSQVggaW50ZXJmYWNlIGFuZCBYYWxhbiBwcm9jZXNzb3IuIAogICAgKFN0aWxsIHRvZG8sIG1pbm9yOiBnZXQgeGFsYW4tZGV2IGxpc3QgdG8gdm90ZSB0byB1c2UgdGhpcykKICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iYXJjaGl0ZWN0dXJlIiBwcmlvcml0eT0iaGlnaCIgd2hvPSJTQiIgY29tcGxldGVkPSIxMi8xMC8wMCI+CiAgICBGaXggcmVtYWluaW5nIGF4ZXMgdGVzdHMuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIiBwcmlvcml0eT0iaGlnaCIgd2hvPSJNTSIgY29tcGxldGVkPSIxMi84LzAwIj4KICAgIFdoZW4gdXNpbmcgU1RyZWUgZm9yIHRoZSBpbnB1dCwgdXNlIFNUcmVlIGZvciB0aGUgZG9jdW1lbnQoKSBhbmQKICAgIHJlc3VsdCB0cmVlIGZyYWdtZW50cy4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iYXJjaGl0ZWN0dXJlLCBjb25mb3JtYW5jZSIgcHJpb3JpdHk9ImhpZ2giIHdobz0iU0IiIGNvbXBsZXRlZD0iMTIvMDYvMDAiPgogICAgUmVzdHJ1Y3R1cmUgT3V0cHV0Rm9ybWF0IGNsYXNzIHRvIGJlIGJhc2VkIG9uIHByb3BlcnRpZXMuICBNYWtlIHN1cmUgCiAgICBpbmNsdWRlL2ltcG9ydCBjb25mb3JtYW5jZSBpcyBjb3JyZWN0LgogIDwvYWN0aW9uPgogIAogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImFyY2hpdGVjdHVyZSIgcHJpb3JpdHk9ImhpZ2giIHdobz0iU0IiIGNvbXBsZXRlZD0iMTIvMDYvMDAiPgogICAgTWFrZSBlbnRpdGllcyBpbiB0aGUgaHRtbCBzZXJpYWxpemVyIHRvIGJlIHJlc291cmNlIGZpbGUgZHJpdmVuLgogIDwvYWN0aW9uPgogIAogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImFyY2hpdGVjdHVyZSIgcHJpb3JpdHk9ImhpZ2giIHdobz0iU0IiIGNvbXBsZXRlZD0iMTIvMDYvMDAiPgogICAgUmVtb3ZlZCBsaW5lZmVlZCBub3JtYWxpemF0aW9uIGZyb20gc2VyaWFsaXplcnMuICBJIHRoaW5rLgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNvbXBsZXRlZC1kYXRlPSIxMC8zMS8wMCI+CiAgICBNYWtlIHRoaXMgdG9kbyBsaXN0LgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIHdobz0iU0IiICBjYXRlZ29yeT0idHJheCIgY29tcGxldGVkLWRhdGU9IjExLzA2LzAwIj4KICAgIGltcGxlbWVudCBqYXZheC50cmF4IGludGVyZmFjZXMuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgcGFja2FnZXM9InNlcmlhbGl6ZSIgd2hvPSJTQiIgIGNhdGVnb3J5PSJmZWF0dXJlIgogICAgICAgICAgY29tcGxldGVkLWRhdGU9IjExLzE3LzAwIj4KICAgIEltcGxlbWVudCBET01TZXJpYWxpemVyIG9uIFNlcmlhbGl6ZXJUb1hNTC4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiB3aG89IlNCIiBwYWNrYWdlcz0ieHBhdGguYXhlcyIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIgogICAgICAgICAgcHJpb3JpdHk9ImhpZ2giIGNvbXBsZXRlZC1kYXRlPSIxMS8xNy8wMCI+CiAgICBpbXBsZW1lbnQgZmFzdCBpdGVyYXRvciBmb3IgImZvbyIgcGF0dGVybi4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiB3aG89Ik1NIiBjYXRlZ29yeT0icGVyZm9ybWFuY2UiIHByaW9yaXR5PSJoaWdoIiBjb21wbGV0ZWQtZGF0ZT0iMTEvMjkvMDAiPgogICAgb3B0aW1pemUgeHNsOmtleSBhbmQga2V5KCkgc3R1ZmYgYnkgYnVpbGRpbmcgaGFzaCB0YWJsZSBvZiBpdGVyYXRvcnMgZm9yCiAgICBlYWNoIGtleS4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iY29kZS1jbGVhbnVwIiBwcmlvcml0eT0ibWVkaXVtIiBjb21wbGV0ZWQ9IjEyLzAxLzAwIj4KICAgIENsZWFuIHVwIHRyZWF0bWVudCBvZiBudWxsIG5hbWVzcGFjZXMsIHJlICIiIHZzLiBudWxsLgogICAgPGNvbXBsZXRlZC1jb21tZW50PkkgY29uc2lkZXIgdGhpcyB0byBiZSBwcmV0dHkgZ29vZCBpbiBtb3N0IHBsYWNlcy4gICIiIAogICAgZXF1YWxzIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4gIE5vIHBlbmRpbmcgcGxhbnMgZm9yIGFjdGlvbiwgb3RoZXIgdGhhbiBvbmdvaW5nIAogICAgY2xlYW51cCBhbmQgamF2YWRvYyBhcyBpdCBvY2N1cnMuPC9jb21wbGV0ZWQtY29tbWVudD4KICA8L2FjdGlvbj4KICAKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiICBjYXRlZ29yeT0iY29uZm9ybWFuY2UiIHByaW9yaXR5PSJoaWdoIiBjb21wbGV0ZWQ9IjEyLzEwLzAwIj4KICAgIEltcGxlbWVudCBuYW1lc3BhY2UgYWxpYXNpbmcuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgcGFja2FnZXM9InRlbXBsYXRlcyIgY2F0ZWdvcnk9ImNvbmZvcm1hbmNlIiBwcmlvcml0eT0ibWVkaXVtIgogICAgICAgICAgbm90ZT0iZG9uZT8iIGNvbXBsZXRlZD0iMTEvMjkvMDAiPgogICAgQ2F0Y2ggbXVsdGlwbGUgZGVmaW5pdGlvbnMgb2YgYSB2YXJpYWJsZSB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIHNjb3BlLgogIDwvYWN0aW9uPgogIAogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImNvZGUtY2xlYW51cCIgcHJpb3JpdHk9Im1lZGl1bSIgY29tcGxldGVkPSIxMS8yNS8wMCI+CiAgICBNb3ZlIG9yZy5hcGFjaGUueGFsYW4udXRpbHMgcGFja2FnZSB0byBvcmcuYXBhY2hlLnhtbC51dGlscy4KICAgIHJlbW92ZSByZXNvdXJjZSBkZXBlbmRlbmNpZXMgb24geGFsYW4gYW5kL29yIHhwYXRoIHBhY2thZ2UuCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iY29kZS1jbGVhbnVwLCBwZXJmb3JtYW5jZSIgcGFja2FnZXM9InRlbXBsYXRlcyIKICAgcHJpb3JpdHk9Im1lZGl1bSIgd2hvPSJHUCIgY29tcGxldGVkPSIxMS8zMC8wMCI+CiAgICBSZWZhY3RvcmVkIHRoZSByZWNvbXBvc2UgbG9naWMgdG8gb3BlcmF0ZSBtb3JlIGNsZWFubHkgYW5kIHF1aWNrbHkuIEZpeGVkIFRlbXBsYXRlTGlzdAogICAgdG8gcHJvcGVybHkgb3JkZXIgdGVtcGxhdGVzLgogIDwvYWN0aW9uPgogIAogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImNvZGUtY2xlYW51cCIgcGFja2FnZXM9ImV4dGVuc2lvbnMiCiAgIHByaW9yaXR5PSJtZWRpdW0iIHdobz0iR1AiIGNvbXBsZXRlZD0iMTAvMjkvMDAiPgogICAgSW1wcm92ZWQgZXJyb3IgcmVwb3J0aW5nIGZvciBqYXZhIGV4dGVuc2lvbiBtZXRob2QgZXJyb3JzLgogIDwvYWN0aW9uPgogIAogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImRvY3VtZW50YXRpb24iIHByaW9yaXR5PSJtZWRpdW0iIHdobz0iR1AiIGNvbXBsZXRlZD0iMTEvMjMvMDAiPgogICAgVXBkYXRlZCBkb2N1bWVudGF0aW9uIGZvciBFeHRlbnNpb24gSGFuZGxpbmcgdG8gY29uZm9ybSB0byB0aGUgbmV3IGV4dGVuc2lvbiBtZWNoYW5pc20uCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZmVhdHVyZSIgcHJpb3JpdHk9Im1lZGl1bSIgd2hvPSJHUCIgY29tcGxldGVkPSIxMi8wMy8wMCI+CiAgICBDaGFuZ2VkIGV4dGVuc2lvbiBtZWNoYW5pc20gdG8gbG9hZCBleHRlbnNpb25zIHVzaW5nIHRoZSB0aHJlYWQncyBDb250ZXh0Q2xhc3NMb2FkZXIsCiAgICBpZiBhdmFpbGFibGUuCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZmVhdHVyZSIgcGFja2FnZXM9ImV4dGVuc2lvbnMiIAogICBwcmlvcml0eT0ibWVkaXVtIiB3aG89IkdQIiBjb21wbGV0ZWQ9IjExLzI4LzAwIj4KICAgIEltcGxlbWVudCB0b2tlbml6ZSBleHRlbnNpb24uICBJbXBsZW1lbnQgZWxlbWVudC1hdmFpbGFibGUgYW5kIGZ1bmN0aW9uLWF2YWlsYWJsZSBmb3IKICAgIGJ1aWx0LWluIGVsZW1lbnRzIGFuZCBmdW5jdGlvbnMuCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iY29kZS1jbGVhbnVwIiBwYWNrYWdlcz0iZXh0ZW5zaW9ucyIgCiAgIHByaW9yaXR5PSJtZWRpdW0iIHdobz0iR1AiIGNvbXBsZXRlZD0iMTEvMDcvMDAiPgogICAgIEZpeCBoYW5kbGluZyBvZiB4c2w6ZmFsbGJhY2sgZWxlbWVudHMgd2l0aGluIGV4dGVuc2lvbiBlbGVtZW50cyB0aGF0IHByb2Nlc3MgdGhlaXIgb3duCiAgICAgY29kZSAobGlrZSByZWRpcmVjdCkuCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iY29kZS1jbGVhbnVwIiBwYWNrYWdlcz0iY29tcGlsZXIiIAogICBwcmlvcml0eT0ibWVkaXVtIiB3aG89IkdQIiBjb21wbGV0ZWQ9IjExLzA5LzAwIj4KICAgICBDbGVhbmVkIHVwIGNvbXBpbGVyIGhhbmRsaW5nIG9mIGdldFdoYXRUb1Nob3coKSB0byByZXN1bHQgaW4gY2xlYW5lciBjb2RlIGFuZCBwcm92aWRlCiAgICAgYSBtb3JlIGFjY3VyYXRlIGZpbHRlci4KICA8L2FjdGlvbj4KICAKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIHdobz0iU0IiIHBhY2thZ2VzPSJ4cGF0aC5heGVzIiBjYXRlZ29yeT0icGVyZm9ybWFuY2UiIHByaW9yaXR5PSJoaWdoIiBjb21wbGV0ZWQ9IjEyLzEzLzAwIj4KICAgIGltcGxlbWVudCBmYXN0IGl0ZXJhdG9yIGZvciAiQGZvbyIgcGF0dGVybi4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiB3aG89IlNCIiBwYWNrYWdlcz0ieHBhdGguYXhlcyIgY2F0ZWdvcnk9InBlcmZvcm1hbmNlIiBwcmlvcml0eT0iaGlnaCIgY29tcGxldGVkPSIxMi8xNC8wMCI+CiAgICBpbXBsZW1lbnQgZmFzdCBpdGVyYXRvciBmb3IgIi8vZm9vIiBwYXR0ZXJuLgogIDwvYWN0aW9uPgogIAogICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIGNhdGVnb3J5PSJjb2RlLWNsZWFudXAiIHdobz0iREwiIHBhY2thZ2VzPSJ4YWxhbnNlcnZsZXQiIHByaW9yaXR5PSJtZWRpdW0iIGNvbXBsZXRlZD0iMTIvMTUvMDAiPgogICAgIFJld3JpdGUgdGhlIHNhbXBsZSBzZXJ2bGV0IHRvIHVzZSB0aGUgVHJBWCBpbnRlcmZhY2VzIGFuZCBlbGltaW5hdGUgc2V0dGluZyBzeXN0ZW0gcHJvcGVydGllcwogICAgIHdpdGhpbiB0aGUgc2VydmxldC4KICA8L2FjdGlvbj4gIAoKICA8YWN0aW9uIGNvbnRleHQ9ImNvZGUiIHdobz0iU0IiIHBhY2thZ2VzPSJvcmcuYXBhY2hlLnhhbGFuLnNlcmlhbGl6ZSIgY2F0ZWdvcnk9InNhbXBsZXMiIHByaW9yaXR5PSJoaWdoIiBjb21wbGV0ZWQ9IjEyLzE2LzAwIj4KICAgIEZpeCB0aGUgc2VyaWFsaXplciBzbyBpdCBjYW4gc2VyaWFsaXplIGFyYml0cmFyeSBYUGF0aCBleHByZXNzaW9uIHJlc3VsdHMgKG90aGVyIHRoYW4gRG9jdW1lbnQgbm9kZXMpLgogICAgQXMgaXQgY3VycmVudGx5IHN0YW5kcywgdGhlIEFwcGx5WFBhdGggc2FtcGxlIG9ubHkgd29ya3Mgd2hlbiB5b3UgZ2l2ZSBpdCBhbiBleHByZXNzaW9uIHRoYXQgcmV0dXJucyAKICAgIHRoZSBlbnRpcmUgRG9jdW1lbnQuCiAgPC9hY3Rpb24+CiAgCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiBjYXRlZ29yeT0iZG9jdW1lbnRhdGlvbiIgcHJpb3JpdHk9ImhpZ2giIGNvbXBsZXRlZD0iMTIvMTcvMDAiPgogICAgRmlsbCBpbiBhbGwgTkVFRFNET0Mgc2VjdGlvbnMuCiAgPC9hY3Rpb24+CgogIDxhY3Rpb24gY29udGV4dD0iY29kZSIgY2F0ZWdvcnk9ImNvZGUtY2xlYW51cCIgd2hvPSJETCIgcGFja2FnZXM9InhhbGFuLmNsaWVudCIgcHJpb3JpdHk9Im1lZGl1bSIgY29tcGxldGVkPSIxMi8xNy8wMCI+CiAgICBSZXdyaXRlIHRoZSBjbGllbnQgYXBwbGV0IHRvIHVzZSB0aGUgVHJBWCBpbnRlcmZhY2VzLCBhbmQgbW92ZSBmZXRjaGluZyBvZiBzb3VyY2UKICAgIGRvY3VtZW50cyBhbmQgc3R5bGVzaGVldHMgdG8gdGhlIHRydXN0ZWQgd29ya2VyIHRocmVhZCB0byBnZXQgYXJvdW5kIElFIHNlY3VyaXR5IHJlc3RyaWN0aW9ucy4KICA8L2FjdGlvbj4KCiAgPGFjdGlvbiBjb250ZXh0PSJjb2RlIiAgY2F0ZWdvcnk9ImNvbmZvcm1hbmNlIiBwcmlvcml0eT0iaGlnaCIgY29tcGxldGVkPSIxMi8xOS8wMCI+CiAgICBDaGVjayByZWxhdGl2ZSBVUkwgcmVzb2x1dGlvbiB3aXRoIG5vdGF0aW9ucyBhbmQgdW5wYXJzZWQgZW50aXRpZXMuCiAgICBOb3Qgc3VyZSBpZiB0aGVyZSBpcyBhIGJ1ZyBoZXJlLiAgU2VlIG5vdGUgZnJvbSBUaG9tYWwgTWFlc2luZyBvbgogICAgMTAvMjQvMjAwMCwgdGl0bGVkICJBbnR3b3J0OiBSZToiLgogIDwvYWN0aW9uPgoKICA8YWN0aW9uIGNvbnRleHQ9InRlc3QiIGNhdGVnb3J5PSJmZWF0dXJlIiBwcmlvcml0eT0iaGlnaCIgY29tcGxldGVkPSIxMi8xOS8wMCI+CiAgICBVcGRhdGUgdGhlIHhtbC14YWxhblx0ZXN0XHZpZXdSZXN1bHRzLnhzbCBzdHlsZXNoZWV0IHRvIHNob3cgCiAgICBkaWZmZXJlbmNlcyBiZXR3ZWVuIHR3byByZXN1bHQgZmlsZXMgZnJvbSB0aGUgc2FtZSB0ZXN0IChlZy4KICAgIHNob3cgZGlmZmVyZW5jZXMgZnJvbSBhIHJlc3VsdHMtYmVmb3JlLnhtbCBydW4gYmVmb3JlIGEgZGV2ZWxvcGVyIAogICAgbWFrZXMgYSBjaGFuZ2UsIHdpdGggcmVzdWx0cy1hZnRlci54bWwsIHdoaWNoIHdhcyBhZnRlciB0aGUgCiAgICBkZXZlbG9wZXIncyBjaGFuZ2UuKQogICAgVGhpcyBjb3VsZCBiZSBhIGJ1bmNoIG9mIHN0dWZmIGFkZGVkIHRvIHZpZXdSZXN1bHRzLnhzbCBvciBjb3VsZCAKICAgIGJlIGEgc2VwYXJhdGUgc3R5bGVzaGVldC4gU2VlIDxiPlNDPC9iPiBmb3IgZGV0YWlscy4KICA8L2FjdGlvbj4KCiA8L2NvbXBsZXRlZD4KCjwvdG9kbz4K