AminoOS Enable INI parameter

Loading......
Home Parameters list Appendix I

Prepared By
Amino Communications.

Notice
This document is provided for the convenience and private, internal use of Amino’s customers only. You may not copy or distribute any portion of this document for any purpose, except that you may make one printed copy of portions of this document for your own personal, internal use only, provided this entire disclaimer and copyright notice is included on such copy. The user of the information provided in this document assumes all risk of its accuracy and for its use. This document is being provided “as-is” without warranty of any kind, either express or implied including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. All other limitations on liability contained in the applicable software product end user license agreement shall apply. Amino assumes no responsibility for errors or omissions in the document. This document may include technical or other inaccuracies or typographical errors, and changes may be periodically added to the information herein.Amino does not guarantee that solutions suggested in this document will be effective in the user's particular situation. If the user is not familiar with any of the steps listed in the solution, Amino advises that the user does not proceed without first consulting additional resources.

Parameters table

PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPGVudG9uZUlOSSB4bWxucz0iaHR0cDovL3d3dy5lbnRvbmUuY29tL0VTRC8xLjAvRVNEU2NoZW1hIj4KICA8dGFnTmFtZT4yNS44LjI2MjAuMTBSPC90YWdOYW1lPgogIDxmaXJtd2FyZVR5cGU+QVBQPC9maXJtd2FyZVR5cGU+CiAgPHBhcmFtcz4KICAgIDxwYXJhbSBuYW1lPSJxb3MuZHNjcC5tb2RlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlN1cHBvcnQgRFNDUCBmb3Igb3V0Z29pbmcgcGFja2V0cy4gMDogRGlzYWJsZWQgKGRlZmF1bHQpOyAxOiBFbmFibGVkIGZvciBhbGwgb3V0Z29pbmcgcGFja2V0LgogICAgICAgICAgICAgICAgUmVib290IHRvIHRha2UgZWZmZWN0IGFmdGVyIHNldHRpbmcgdGhpcyBwYXJhbWV0ZXIuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InFvcy5kc2NwLnZhbHVlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRTQ1AgZmxhZyB2YWx1ZSwgcmVxdWlyZXMgc2V0dGluZyBxb3MuZHNjcC5tb2RlIHRvIDEuCiAgICAgICAgICAgICAgICBSZWJvb3QgdG8gdGFrZSBlZmZlY3QgYWZ0ZXIgc2V0dGluZyB0aGlzIHBhcmFtZXRlci48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LmZuMSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1NURU1fMSAoYWthIEEpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LmZuMiI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1NURU1fMiAoYWthIEIpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LmZuMyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1NURU1fMyAoYWthIEMpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LnJlZCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1BST0dfUkVEIChha2EgcmVkKSBhcyBnbG9iYWwga2V5LiAwOiBEaXNhYmxlZDsgMTogRW5hYmxlZCAoZGVmYXVsdCk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Imdsb2JhbGtleS5ncmVlbiI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1BST0dfR1JFRU4gKGFrYSBncmVlbikgYXMgZ2xvYmFsIGtleS4gMDogRGlzYWJsZWQ7IDE6IEVuYWJsZWQgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJnbG9iYWxrZXkuYmx1ZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1BST0dfQkxVRSAoYWthIGJsdWUpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LnllbGxvdyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX1BST0dfWUVMTE9XIChha2EgeWVsbG93KSBhcyBnbG9iYWwga2V5LiAwOiBEaXNhYmxlZDsgMTogRW5hYmxlZCAoZGVmYXVsdCk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Imdsb2JhbGtleS5vcHRpb24iPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgS0VZQ09ERV9NRU5VIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LmFjY2Vzc2liaWxpdHkiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgS0VZQ09ERV9GMTEgKEFjY2Vzc2liaWxpdHkpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5Lmd1aWRlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9EaXNhYmxlIEtFWUNPREVfR1VJREUgYXMgZ2xvYmFsIGtleS4gMDogRGlzYWJsZWQ7IDE6IEVuYWJsZWQgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJnbG9iYWxrZXkudHYiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgS0VZQ09ERV9UViBhcyBnbG9iYWwga2V5LiAwOiBEaXNhYmxlZDsgMTogRW5hYmxlZCAoZGVmYXVsdCk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Imdsb2JhbGtleS5zZWFyY2giPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgS0VZQ09ERV9TRUFSQ0ggYXMgZ2xvYmFsIGtleS4gMTogRW5hYmxlZDsgMDogRGlzYWJsZWQgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJnbG9iYWxrZXkuZHZyIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9EaXNhYmxlIEtFWUNPREVfRFZSIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LnZvZCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBLRVlDT0RFX0Y5IChWT0QpIGFzIGdsb2JhbCBrZXkuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3lzdGVtLmRpc2FibGVfcmVzY3VlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9EaXNhYmxlIFJlc2N1ZVBhcnR5LCB3aGljaCBkZXRlY3RzIGNyYXNoIG9yIGJvb3QgbG9vcCBhbmQgcHV0IHRoZSBkZXZpY2UgaW4gcmVjb3ZlciBtb2RlLiAwOiBFbmFibGVkIChkZWZhdWx0KTsgMTogRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icmVzb3VyY2UudGFza19wcm9maWxlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJUQVNLX1BST0ZJTEVfREVGQVVMVCIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+ZGVmYXVsdDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EZWZhdWx0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJUQVNLX1BST0ZJTEVfUEVSRk9STUFOQ0UiPgogICAgICAgICAgPHZhbHVlPnBlcmZvcm1hbmNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBlcmZvcm1hbmNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlRhc2sgcHJvZmlsZSB0byBjb250cm9sIHRoZSBoYXJkd2FyZSByZXNvdXJjZSB1c2FnZS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYXBwcy5wcm90ZWN0ZWRfbGlzdCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5QcmV2ZW50cyBzcGVjaWZpZWQgYXBwcyBmcm9tIGJlaW5nIHVuaW5zdGFsbGVkIG9yIGRpc2FibGVkIHRocm91Z2ggdGhlIEFuZHJvaWQgVFYgU2V0dGluZ3MgbWVudS4KICAgICAgICAgICAgICAgIEFjY2VwdHMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBhcHAgcGFja2FnZSBJRHMuIEZvciBleGFtcGxlOgogICAgICAgICAgICAgICAgLSBjb20uZ29vZ2xlLmFuZHJvaWQueW91dHViZS50dgogICAgICAgICAgICAgICAgLSBjb20uZ29vZ2xlLmFuZHJvaWQucGxheS5nYW1lcyxjb20uYW5kcm9pZC52ZW5kaW5nCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBzIFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJtZG5zLm5hbWUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJlIGRldmljZSBtRE5TIGhvc3RuYW1lLiBTdXBwb3J0IHtNYWNBZGRyZXNzfSwge1NlcmlhbE51bWJlcn0gYXMgbWFjcm8gZXhwYW5zaW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJudHAuc2VydmVyIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkEgc3BhY2Ugc2VwYXJhdGVkIG9mIE5UUCBzZXJ2ZXIgaG9zdG5hbWUvSVAgdXNlZCBmb3IgTlRQIHRpbWUgc3luYy4gZS5nLiAicG9vbC5udHAub3JnIDEwLjAuMS4xMDAiLiBSZWJvb3QgdG8gdGFrZSBlZmZlY3QuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3RhbmRieS5lbmFibGVfYW1pbm9fc3RhbmRieSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iQU1JTk9fU1RBTkRCWV9ESVNBQkxFIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkRpc2FibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkFNSU5PX1NUQU5EQllfRU5BQkxFIj4KICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkVuYWJsZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgIkVuYWJsZSIgdG8gdHJpZ2dlciBhIDUgbWlucyBwcm9tcHQgaWYgdGhlcmUgaXMgbm8gdXNlciBpbnB1dCB3aXRoaW4gdGltZSBkZWZpZW5kIGluIHNsZWVwX3RpbWVvdXQgaW4gQW5kcm9pZCBTZXR0aW5ncy4KICAgICAgICAgICAgICAgIFNUQiB3aWxsIGJlIHB1dCB0byBzbGVlcCBhZnRlciB0aGUgNSBtaW5zIHRpbWVvdXQsIHJlZ2FyZGxlc3Mgb2Ygd2FrZWxvY2tzIGhlbGQgYnkgYW55IEFQUHMuCiAgICAgICAgICAgICAgICBTZXQgIkRpc2FibGUiIHRvIHVzZSBBbmRyb2lkIGRlZmF1bHQgc3VzcGVuZCBiZWhhdmlvdXIuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5maXhlZF92b2x1bWUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VHJ1ZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZhbHNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdm9sdW1lIGNvbnRyb2xzICh2b2wgdXAvZG93biBhbmQgbXV0ZS91bm11dGUpIG9yIG5vdC4gUmVib290IHRvIHRha2UgZWZmZWN0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkuc2VxLmtleV90aW1lb3V0Ij4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4yMDAwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eKDB8WzEtOV1bMC05XSopJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5UaW1lb3V0IGZvciBlYWNoIGluZGl2aWR1YWwga2V5IGlucHV0IGluIGEga2V5IHNlcXVlbmNlIChpbiBtcykuCklmIHRoZSBuZXh0IGtleSBpcyBub3QgcHJlc3NlZCB3aXRoaW4gdGhpcyB0aW1lLCB0aGUgc2VxdWVuY2Ugd2lsbCByZXNldC4KUmVib290IHRvIHRha2UgZWZmZWN0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LnNlcS5wbGF5ZXJfc3RhdHMiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+S2V5IHNlcXVlbmNlIHRvIHRvZ2dsZSBwbGF5ZXIgc3RhdHMgb3ZlcmxheS4KUHJvdmlkZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIEFuZHJvaWQga2V5IGNvZGVzLCB3aXRoIGEgbWF4aW11bSBvZiAxMCBrZXlzLgpSZWJvb3QgdG8gdGFrZSBlZmZlY3QuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkuc2VxLmFtaW5vX21lbnUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBLZXkgc2VxdWVuY2UgdG8gbGF1bmNoIHRoZSBBbWlubyBzZXR0aW5ncyBtZW51LiBUaGUgZGVmYXVsdCBzaG9ydGN1dCBNRU5VIHdpbGwgYmUgZGlzYWJsZWQgaWYgYSBjdXN0b20gc2VxdWVuY2UgaXMgc2V0LgogICAgICAgICAgICAgICAgUHJvdmlkZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIEFuZHJvaWQga2V5IGNvZGVzLCB3aXRoIGEgbWF4aW11bSBvZiAxMCBrZXlzLiBSZWJvb3QgdG8gdGFrZSBlZmZlY3QuCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LnNlcS5zZXR0aW5ncyI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5LZXkgc2VxdWVuY2UgdG8gbGF1bmNoIHRoZSBTZXR0aW5ncyBhcHAuClByb3ZpZGUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBBbmRyb2lkIGtleSBjb2Rlcywgd2l0aCBhIG1heGltdW0gb2YgMTAga2V5cy4KUmVib290IHRvIHRha2UgZWZmZWN0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LnNlcS50YWxrYmFjayI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5LZXkgc2VxdWVuY2UgdG8gdG9nZ2xlIFRhbGtiYWNrIGFjY2Vzc2liaWxpdHkgZmVhdHVyZSAoR29vZ2xlJ3Mgc2NyZWVuIHJlYWRlcikuClByb3ZpZGUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBBbmRyb2lkIGtleSBjb2Rlcywgd2l0aCBhIG1heGltdW0gb2YgMTAga2V5cy4KUmVib290IHRvIHRha2UgZWZmZWN0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5Y29kZS5yZW1hcC5yZWQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlJlbWFwIHRoZSByZW1vdGUgUkVEIGtleSB0byBhbm90aGVyIHJlbW90ZSBrZXkgc2VxdWVuY2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXljb2RlLnJlbWFwLmdyZWVuIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5SZW1hcCB0aGUgcmVtb3RlIEdSRUVOIGtleSB0byBhbm90aGVyIHJlbW90ZSBrZXkgc2VxdWVuY2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXljb2RlLnJlbWFwLnllbGxvdyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtYXAgdGhlIHJlbW90ZSBZRUxMT1cga2V5IHRvIGFub3RoZXIgcmVtb3RlIGtleSBzZXF1ZW5jZS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleWNvZGUucmVtYXAuYmx1ZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtYXAgdGhlIHJlbW90ZSBCTFVFIGtleSB0byBhbm90aGVyIHJlbW90ZSBrZXkgc2VxdWVuY2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXljb2RlLnJlbWFwLmZuMSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtYXAgdGhlIHJlbW90ZSBGdW5jdGlvbiBrZXkgMSAoYWthIEEgYnV0dG9uIG9uIE1heGkgdjEpIHRvIGFub3RoZXIgcmVtb3RlIGtleSBzZXF1ZW5jZS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleWNvZGUucmVtYXAuZm4yIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5SZW1hcCB0aGUgcmVtb3RlIEZ1bmN0aW9uIGtleSAyIChha2EgQiBidXR0b24gb24gTWF4aSB2MSkgdG8gYW5vdGhlciByZW1vdGUga2V5IHNlcXVlbmNlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5Y29kZS5yZW1hcC5mbjMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlJlbWFwIHRoZSByZW1vdGUgRnVuY3Rpb24ga2V5IDMgKGFrYSBDIGJ1dHRvbiBvbiBNYXhpIHYxKSB0byBhbm90aGVyIHJlbW90ZSBrZXkgc2VxdWVuY2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXljb2RlLnJlbWFwLmdlbmVyaWMiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+UmVtYXAgYW55IHJlbW90ZSBrZXkgdG8gYW5vdGhlciByZW1vdGUga2V5IHNlcXVlbmNlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3lzdGVtLmtlZXBfc2NyZWVuX29uIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJFTkFCTEVfS0VFUF9TQ1JFRU5fT04iPgogICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VHJ1ZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRElTQUJMRV9LRUVQX1NDUkVFTl9PTiI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GYWxzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5XaGV0aGVyIHRvIGtlZXAgdGhlIGRldmljZSBzY3JlZW4gYWx3YXlzIG9uLiBXaGVuIHRoaXMgc2V0dGluZyBpcyBlbmFibGVkLCB0aGUgc3lzdGVtIHdpbGwgbm90IGVudGVyIHNjcmVlbiBzYXZlciBvciBzbGVlcCBtb2RlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJuZXQuZXRoZXJuZXQuaXB2Ni5kaXNhYmxlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgSVB2NiBzdXBwb3J0IGZvciBFdGhlcm5ldC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TmV0d29yayBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2lmaS5hdXRvX2pvaW5fd2hlbl9hc3NvY2lhdGVkIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJBVVRPX0pPSU5fVFJVRSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UcnVlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJBVVRPX0pPSU5fRkFMU0UiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZhbHNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2xzIHdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBjb25uZWN0IHRvIGFub3RoZXIgV2ktRmkgU1NJRCB3aGVuIGEgYmV0dGVyIGFzc29jaWF0ZWQgU1NJRCBpcyBhdmFpbGFibGUuIERpc2FibGUgYnkgZGVmYXVsdC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TmV0d29yayBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2lmaS5hdXRvX2pvaW5fbm9faW50ZXJuZXQiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkFVVE9fSk9JTl9UUlVFIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRydWU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkFVVE9fSk9JTl9GQUxTRSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RmFsc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbHMgd2hldGhlciB0byBhdXRvbWF0aWNhbGx5IGNvbm5lY3QgdG8gdGhlIFdpLUZpIFNTSUQgd2hlbiBubyBpbnRlcm5ldCBhY2Nlc3MgaXMgYXZhaWxhYmxlLiBEaXNhYmxlIGJ5IGRlZmF1bHQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk5ldHdvcmsgU2V0dGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9IndpZmkuYXV0b19yZXN0YXJ0X29uX2ludGVyZmFjZV9kb3duIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJBVVRPX1JFU1RBUlRfVFJVRSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UcnVlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJBVVRPX1JFU1RBUlRfRkFMU0UiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZhbHNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgd2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHJlc3RhcnQgdGhlIFdpLUZpIHN1YnN5c3RlbSB3aGVuIHRoZSB3aXJlbGVzcyBuZXR3b3JrIGludGVyZmFjZSBnb2VzIGRvd24gZHVlIHRvIG5vbi11c2VyIGludGVydmVudGlvbi48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TmV0d29yayBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2lmaS5hdXRvX3Jlc3RhcnRfaG91cmx5X2xpbWl0Ij4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4yPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eKDB8WzEtOV1bMC05XSopJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGF1dG9tYXRpYyByZXN0YXJ0IGF0dGVtcHRzIGZvciB0aGUgV2ktRmkgc3Vic3lzdGVtIHBlciBob3VyLiBTZXQgdG8gMCB0byBkaXNhYmxlIGF1dG9tYXRpYyByZXN0YXJ0cy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TmV0d29yayBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9ncmVtb3RlZC5zZXJ2ZXIiPgogICAgICA8dGV4dD4KICAgICAgICA8cmVnRXhwPl4oKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXC57M30oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KSl8KFthLXpBLVowLTldfFthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDYxfVthLXpBLVowLTldKShcLihbYS16QS1aMC05XXxbYS16QS1aMC05XVthLXpBLVowLTlcLV17MCw2MX1bYS16QS1aMC05XSkpKik/JDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5SZW1vdGUgbG9nZ2luZyBzZXJ2ZXIgYWRkcmVzcy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGVidWc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJsb2dyZW1vdGVkLnBvcnQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjUxNDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtb3RlIGxvZ2dpbmcgc2VydmVyIHBvcnQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9ncmVtb3RlZC5wcmlvcml0eSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iTE9HUkVNT1RFRF9QUklPUklUWV9WRVJCT1NFIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5WPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlZlcmJvc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkxPR1JFTU9URURfUFJJT1JJVFlfREVCVUciPgogICAgICAgICAgPHZhbHVlPkQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+REVCVUc8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkxPR1JFTU9URURfUFJJT1JJVFlfSU5GTyI+CiAgICAgICAgICA8dmFsdWU+STwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5JTkZPPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJMT0dSRU1PVEVEX1BSSU9SSVRZX1dBUk4iPgogICAgICAgICAgPHZhbHVlPlc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+V0FSTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iTE9HUkVNT1RFRF9QUklPUklUWV9FUlJPUiI+CiAgICAgICAgICA8dmFsdWU+RTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5FUlJPUjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iTE9HUkVNT1RFRF9QUklPUklUWV9GQVRBTCI+CiAgICAgICAgICA8dmFsdWU+RjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GQVRBTDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iTE9HUkVNT1RFRF9QUklPUklUWV9TSUxFTlQiPgogICAgICAgICAgPHZhbHVlPlM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2lsZW50PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlJlbW90ZSBsb2dnaW5nIHByaW9yaXR5IGZpbHRlci4gTG9nIG1lc3NhZ2UgaXMgZmlsdGVyZWQgaWYgcHJpb3JpdHkgZmlsdGVyIGlzIGxvd2VyIHRoYW4gdGhlIG1lc3NhZ2UgcHJpb3JpdHkuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9ncmVtb3RlZC5idWZmZXIiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPmFsbDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XigobWFpbik/KHN5c3RlbSk/KHJhZGlvKT8oZXZlbnRzKT8oY3Jhc2gpPyhkZWZhdWx0KT8oYWxsKT8pKCgsbWFpbik/KCxzeXN0ZW0pPygscmFkaW8pPygsZXZlbnRzKT8oLGNyYXNoKT8oLGRlZmF1bHQpPygsYWxsKT8pKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtb3RlIGxvZ2dpbmcgbWVzc2FnZSBidWZmZXJzICdtYWluJywgJ3N5c3RlbScsICdyYWRpbycsICdldmVudHMnLCAnY3Jhc2gnLCAnZGVmYXVsdCcgb3IgJ2FsbCcuIE11bHRpcGxlIGJ1ZmZlcnMgYXJlIGFsbG93ZWQgdG8gc2VsZWN0IHdpdGggY29tbWEgc2VwYXJhdG9yLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EZWJ1ZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImxvZ3JlbW90ZWQubG9nX3dpdGhfaG9zdG5hbWUiPgogICAgICA8dGV4dD4KICAgICAgICA8cmVnRXhwPl5bMC0yXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBBZGQgaG9zdG5hbWUgKHdoaWNoIGlzIGhhcmR3YXJlIG1vZGVsIGFuZCBzZXJpYWwgbnVtYmVyIG1vc3Qgb2YgdGhlIHRpbWUpIGluIGxvZyBzZW5kaW5nIHRvIHJlbW90ZSBzZXJ2ZXIuCiAgICAgICAgICAgICAgICAwOiBEbyBub3Qgd3JpdGUgaGFyZHdhcmUgbW9kZWwgYW5kIEVTTiB0byBsb2cgW2RlZmF1bHRdCiAgICAgICAgICAgICAgICAxOiBXcml0ZSBoYXJkd2FyZSBtb2RlbCwgRVNOIGFuZCBudW1iZXIgb2YgZGVjb2RlcnMgdG8gbG9nIHdpdGggdmFsdWUgc2FtZSBhcyBob3N0bmFtZSwgZS5nLiA2OS0xODE2NTA5MSAoZGVwcmVjYXRlZCkKICAgICAgICAgICAgICAgIDI6IFdyaXRlIGhhcmR3YXJlIG1vZGVsIGFuZCBFU04gdG8gbG9nIHdpdGggdmFsdWUgc2FtZSBhcyBTTiBwcmludGVkIG9uIFNUQiwgZS5nLiA2OS0xODE2NTA5CiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EZWJ1ZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9IndlYmFwcC5saW5ldXBfanNvbiI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5KU09OIHN0cmluZyBvZiBjaGFubmVsIGxpbmV1cCBmb3IgWmFwcGVyIEFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJ3ZWJhcHAubGluZXVwX3VybCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5VUkwgdG8gY2hhbm5lbCBsaW5ldXAgZmlsZSBvbiBaYXBwZXIgQXBwbGljYXRpb24uIEpTT04gZmlsZSBpcyBleHBlY3RlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2ViYXBwLmhvbWVwYWdlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlVSTCBvZiBicm93c2VyJ3MgaG9tZXBhZ2UuIFphcHBlciBhcHBsaWNhdGlvbiB3aWxsIGJlIGxhdW5jaGVkIGlmIGl0IGlzIG5vdCBwcm92aWRlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2ViYXBwLmhvbWVwYWdlX2ZhbGxiYWNrIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlVSTCBvZiBicm93c2VyJ3MgZmFsbGJhY2sgaG9tZXBhZ2UgaWYgdGhlIG1haW4gaG9tZXBhZ2UgZmFpbHMgdG8gbG9hZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2ViYXBwLnNhdmVfbGFzdF9jaGFubmVsIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmYWxzZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T0ZGPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBPTiB0byBzYXZlIGxhc3QgY2hhbm5lbCBudW1iZXIgYWZ0ZXIgMTgwcyBjaGFubmVsIGNoYW5nZWQgb3IgcmVjZWl2ZSBBUFBfUEFVU0UgZXZlbnQuIElmIFNUQiBpcyByZWJvb3QgcmlnaHQgYWZ0ZXIgY2hhbm5lbCBjaGFuZ2VkLCBjaGFubmVsIG51bWJlciBmcm9tIHRoaXMgYWN0aW9uIGNhbm5vdCBiZSBzdG9yZWQuIElmIGxpbmV1cCBpcyBjaGFuZ2VkLCBaYXBwZXIgd2lsbCBsb29rIHRoZSBuZXh0IG5leHQgY2xvc2VzdCBjaGFubmVsLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJ3ZWJhcHAucmV0cnlfb25fZXJyb3IiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VFJVRTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZBTFNFPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBUUlVFIHRvIHJldHVuZSB0byBjdXJyZW50IGNoYW5uZWwgd2hlbiBaYXBwZXIgZXhoaWJpdHMgYW4gZXJyb3IgZHVyaW5nIHZpZGVvIHBsYXliYWNrLiBTZXQgRkFMU0UgdG8gdHVuZSB0byB0aGUgbmV4dCBjaGFubmVsIHVwb24gZXJyb3IuIElmIGN1cnJlbnQgY2hhbm5lbCBpcyB0aGUgbGFzdCBjaGFubmVsIGluIHRoZSBsaW5ldXAsIFphcHBlciB3aWxsIHR1bmUgdG8gdGhlIGZpcnN0IGNoYW5uZWwgb2YgdGhlIGxpbmV1cC4gRGVmYXVsdCB2YWx1ZSBpcyB0cnVlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJ3ZWJhcHAubG9vcF9vbl9lbmQiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VFJVRTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZBTFNFPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBUUlVFIHRvIHJlc3RhcnQgcGxheWJhY2sgb24gY3VycmVudCBjaGFubmVsIHdoZW4gc3RyZWFtIHJlYWNoZXMgdGhlIGVuZC4gU2V0IGZhbHNlIHRvIHR1bmUgdG8gbmV4dCBjaGFubmVsIHVwb24gc3RyZWFtIGVuZC4gSWYgY3VycmVudCBjaGFubmVsIGlzIHRoZSBsYXN0IGNoYW5uZWwgaW4gdGhlIGxpbmV1cCwgWmFwcGVyIHdpbGwgdHVuZSB0byB0aGUgZmlyc3QgY2hhbm5lbCBvZiB0aGUgbGluZXVwLiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLnJlY292ZXJ5LnN1c3BlbmQiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U3VzcGVuZCBicm93c2VyIHJlY292ZXJ5IHVudGlsIHJlY2VpdmUga2V5IGV2ZW50IHdoaWxlIHZpZGVvIHBsYXliYWNrIHdpbGwgY29udGludWUuIERpc2FibGUgYnkgZGVmYXVsdC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci53ZWJ2aWV3X2F1dG9fYnVncmVwb3J0LmVuYWJsZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9GRjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgYnVnIHJlcG9ydCBnZW5lcmF0aW9uIHdoZW4gcmVuZGVyZXIgb2YgV2ViVmlldyBjcmFzaGVzLiBCdWcgcmVwb3J0cyBhcmUgTk9UIGdlbmVyYXRlZCBieSBkZWZhdWx0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLmluc3BlY3Rvci5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHdlYiBpbnNwZWN0b3Igb24gQW1pbm8gQnJvd3Nlci4gRGlzYWJsZSBieSBkZWZhdWx0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLnNlY3VyaXR5Lm1peGVkX2NvbnRlbnQiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im5ldmVyIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5uZXZlcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5OZXZlciBBbGxvdzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWx3YXlzIj4KICAgICAgICAgIDx2YWx1ZT5hbHdheXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWx3YXlzIEFsbG93PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJjb21wYXRpYmlsaXR5X21vZGUiPgogICAgICAgICAgPHZhbHVlPmNvbXBhdGliaWxpdHlfbW9kZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Db21wYXRpYmlsaXR5IE1vZGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBOZXZlciBBbGxvdzogQnJvd3NlciB3aWxsIG5vdCBhbGxvdyBhIHNlY3VyZSBvcmlnaW4gdG8gbG9hZCBjb250ZW50IGZyb20gYW4gaW5zZWN1cmUgb3JpZ2luIChwcmVmZXJyZWQgYW5kIG1vc3Qgc2VjdXJlIG1vZGUpLgogICAgICAgICAgICAgICAgQWx3YXlzIEFsbG93OiBCcm93c2VyIHdpbGwgYWxsb3cgYSBzZWN1cmUgb3JpZ2luIHRvIGxvYWQgY29udGVudCBmcm9tIGFueSBvdGhlciBvcmlnaW4sIGV2ZW4gaWYgdGhhdCBvcmlnaW4gaXMgaW5zZWN1cmUgKHRoZSBsZWFzdCBzZWN1cmUgbW9kZSkuCiAgICAgICAgICAgICAgICBDb21wYXRpYmlsaXR5IE1vZGU6IEJyb3dzZXIgd2lsbCBhdHRlbXB0IHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgYXBwcm9hY2ggb2YgYSBtb2Rlcm4gd2ViIGJyb3dzZXIgd2l0aCByZWdhcmQgdG8gbWl4ZWQgY29udGVudC4gU29tZSBpbnNlY3VyZSBjb250ZW50IG1heSBiZSBhbGxvd2VkIHRvIGJlIGxvYWRlZCBieSBhIHNlY3VyZSBvcmlnaW4gYW5kIG90aGVyIHR5cGVzIG9mIGNvbnRlbnQgd2lsbCBiZSBibG9ja2VkLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci5sYXllci50eXBlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJoYXJkd2FyZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+aGFyZHdhcmU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SGFyZHdhcmU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNvZnR3YXJlIj4KICAgICAgICAgIDx2YWx1ZT5zb2Z0d2FyZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Tb2Z0d2FyZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBsYXllciBiYWNraW5nIEFtaW5vIEJyb3dzZXIuCiAgICAgICAgICAgICAgICBBIGhhcmR3YXJlIGxheWVyIGlzIHVzZWZ1bCB0byBhcHBseSBhIHNwZWNpZmljIGNvbG9yIGZpbHRlciBhbmQvb3IgYmxlbmRpbmcgbW9kZSBhbmQvb3IgdHJhbnNsdWNlbmN5IHRvIGEgdmlldyBhbmQgYWxsIGl0cyBjaGlsZHJlbi4KICAgICAgICAgICAgICAgIEl0IGNhbiBpbmNyZWFzZSB0aGUgcmVuZGVyaW5nIHF1YWxpdHkgd2hlbiBhcHBseWluZyByb3RhdGlvbiB0cmFuc2Zvcm1hdGlvbnMgYW5kIHByZXZlbnQgcG90ZW50aWFsIGNsaXBwaW5nIGlzc3VlcyB3aGVuIGFwcGx5aW5nIDNEIHRyYW5zZm9ybXMuCiAgICAgICAgICAgICAgICBBIHNvZnR3YXJlIGxheWVyIGlzIHVzZWZ1bCB0byByZW5kZXIgZHJhd2luZyBwcmltaXRpdmVzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHBpcGVsaW5lLgogICAgICAgICAgICAgICAgSG93ZXZlciwgcGxheWJhY2sgb2YgSFRNTDUgdmlkZW8gdGFnIGNhbm5vdCBiZSBzaG93bi4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIuanMuY29tcGF0aWJpbGl0eS5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGRlcHJlY2F0ZWQgRW5hYmxlSlMgb24gQW1pbm8gQnJvd3Nlci4gRGlzYWJsZSBieSBkZWZhdWx0LiBUaGlzIGFsc28gY2hhbmdlcyBzdGF0dXMgY29uc3RhbnQgc3RyaW5nczogT04gdXNlcyBFTlRPTkUuc3RhdHVzLiogYW5kIE9GRiB1c2VzIEVOQUJMRS5zdGF0dXMuKiAocmVxdWlyZXMgYnJvd3NlciByZXN0YXJ0KS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci5vc2RfaW5mby5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIE9TRCBpbmZvcm1hdGlvbiBpbiBicm93c2VyIGZvciBpZGVudGlmeWluZyBTVEIuIERpc2FibGUgYnkgZGVmYXVsdC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci5vc2RfaW5mby5hcmdiIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT5GRkZGRkZGRjwvZGVmYXVsdFZhbHVlPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5Db2xvciBmb3IgT1NEIGluZm9ybWF0aW9uLCBpbiBmb3JtYXQgQUFSUkdHQkIuIFdoaXRlIGNvbG9yIGJ5IGRlZmF1bHQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIub3NkX2luZm8ubWFzayI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTEwMTwvZGVmYXVsdFZhbHVlPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5UaGUgYml0IG1hc2sgdG8gc2VsZWN0IHdoaWNoIGluZm9ybWF0aW9uIHRvIGJlIHNob3duLCAxMTAxIGJ5IGRlZmF1bHQuIFN1cHBvcnRlZCBpbmZvcm1hdGlvbiBhcmUgU04sIE1BQyBhZGRyZXNzLCBDaGlwSUQgYW5kIElQIGFkZHJlc3MuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIub3NkX2luZm8udGl0bGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+d2hldGhlciBsZWZ0IGNvbHVtbnMsIGUuZy4gU04sIE1BQywgSVAsIHdpbGwgYmUgZGlzcGxheWVkLiBUaXRsZSBzaG93cyBieSBkZWZhdWx0LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLm9zZF9pbmZvLnBvc2l0aW9uIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBwb3NpdGlvbiBvZiB0aGUgd2F0ZXJtYXJrIHdpbGwgYmUgZGlzcGxheWVkLiBUaGUgZmlyc3QgcGFyYW1ldGVyIGZvciBsZWZ0IG9yIHgsIHNlY29uZCBwYXJhbWV0ZXIgZm9yIHRvcCBvciB5LiBUaGUgY29tbWEgaXMgdGhlIGRlbGltaXRlci4gRXhhbXBsZTogYnJvd3Nlci5vc2RfaW5mby5wb3NpdGlvbj0icmFuZG9tLDMwMCIuIElmIHJhbmRvbSBwb3NpdGlvbiBpcyBuZWVkLCB1c2UgInJhbmRvbSIgaW5zdGVhZCBvZiBpbnRlZ2VyIHZhbHVlLiBUaGUgZGVmYXVsdCBhdmFpbGFibGUgZGlzcGxheSBhcmVhIGlzIDE5MjB4MTA4MC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci5vc2RfaW5mby5pbnRlcnZhbCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MzA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgdGhlIGR1cmF0aW9uIG9mIGVhY2ggZGlzcGxheSBjeWNsZSBmb3IgdGhlIHdhdGVybWFyaywgdW5pdCBpbiBzZWNvbmQuIERlZmF1bHQgMzBzLiBJZiBicm93c2VyLm9zZF9pbmZvLnBvc2l0aW9uIGlzIG5vdCBzZXQsIGFuZCBicm93c2VyLm9zZF9pbmZvLmludGVydmFsPTEwLCB0aGUgd2F0ZXJtYXJrIHdpbGwgbW92ZSBhbW9uZyBjb3JuZXJzIGV2ZXJ5IDEwIHNlY29uZHMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIub3NkX2luZm8uZGlzcGxheV9wZXJpb2QiPgogICAgICA8dGV4dD4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgaG93IGxvbmcgdGhlIHdhdGVybWFyayBpcyBkaXNwbGF5ZWQsIHVuaXQgaW4gc2Vjb25kLiBEZWZhdWx0IHRoZSB3YXRlcm1hcmsgd2lsbCBub3QgYmUgaGlkZGVuLiBJZiBicm93c2VyLm9zZF9pbmZvLmRpc3BsYXlfcGVyaW9kIGlzIGxhcmdlciB0aGFuIGJyb3dzZXIub3NkX2luZm8uaW50ZXJ2YWwsIHRoZSB3YXRlcm1hcmsgd2lsbCBub3QgYmUgaGlkZGVuLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLnVzZXJfYWdlbnQiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+QSBjdXN0b20gc3RyaW5nIHRvIHNwZWNpZnkgdXNlciBhZ2VudCBmb3IgYnJvd3Nlci4gU3VwcG9ydCB7RGVmYXVsdFVzZXJBZ2VudH0sIHtNYWNBZGRyZXNzfSwge1NlcmlhbE51bWJlcn0gYXMgbWFjcm8gZXhwYW5zaW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLnRydXN0X3N0b3JlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkEgY3VzdG9tIHN0cmluZyBpbiBjb252ZXJ0ZWQgUEVNIGZvcm1hdCAod2l0aG91dCBuZXcgbGluZSkgdG8gYWRkIHRydXN0ZWQgc2VydmVyIFNTTCBjZXJ0aWZpY2F0ZXMgc28gdGhhdCBTVEIgY2FuIHBhc3MgbXV0dWFsIGF1dGhlbnRpY2F0aW9uIChjbGllbnQgdmVyaWZpZXMgc2VydmVyKSBhbmQgYnJvd3NlIHdlYiBwYWdlcyB3aXRoIHNlbGYgc2lnbmVkIGNlcnRpZmljYXRlLiBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBjZXJ0aWZpY2F0ZXMsIHBsZWFzZSBjb25jYXRlbmF0ZSB0aGVtIGludG8gb25lIHNpbmdsZSBzdHJpbmcuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIuY2xpZW50X2tleSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5BIGN1c3RvbSBzdHJpbmcgaW4gY29udmVydGVkIFBFTSBmb3JtYXQgKHdpdGhvdXQgbmV3IGxpbmUpIHRvIGFkZCBjbGllbnQga2V5IHNvIHRoYXQgU1RCIGNhbiBwYXNzIG11dHVhbCBhdXRoZW50aWNhdGlvbiAoc2VydmVyIHZlcmlmaWVzIGNsaWVudCkuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIuY2xpZW50X2NlcnQiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+QSBjdXN0b20gc3RyaW5nIGluIGNvbnZlcnRlZCBQRU0gZm9ybWF0ICh3aXRob3V0IG5ldyBsaW5lKSB0byBhZGQgY2xpZW50IFNTTCBjZXJ0aWZpY2F0ZXMgc28gdGhhdCBTVEIgY2FuIHBhc3MgbXV0dWFsIGF1dGhlbnRpY2F0aW9uIChzZXJ2ZXIgdmVyaWZpZXMgY2xpZW50KS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci53ZWJhcHAub25fc2NyZWVuX2tleWJvYXJkX2Rpc2FibGVkIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PmRpc2FibGUgYnJvd3NlcjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PmVuYWJsZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGlzYWJsZSBhbGwiPgogICAgICAgICAgPHZhbHVlPmRpc2FibGVBbGw8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+ZGlzYWJsZSBhbGw8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+V2hlbiBicm93c2VyIHdpbmRvdyB0cmllcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBpbnB1dCBtZXRob2QsIGl0IHdpbGwgcHJldmVudCB0aGUgd2luZG93IGZyb20gYmVjb21pbmcgdGhlIHRhcmdldCBvZiB0aGUgaW5wdXQgbWV0aG9kLiBBcyBhIHJlc3VsdCwgb24tc2NyZWVuIC8gc29mdCBrZXlib2FyZCB3aWxsIGJlIGRpc2FibGVkIGluIHRoaXMgc2l0dWF0aW9uLiBGb3IgZGlzYWJsZSBhbGwsIGl0IHdpbGwgYWZmZWN0IGFsbCBhcHBsaWNhdGlvbiwgY2F1c2luZyBvbi1zY3JlZW4gLyBzb2Z0IGtleWJvYXJkIGRpc2FibGVkIGZvciBhbGwgdXNhZ2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIub3ZlcnZpZXdfbW9kZS5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+dHJ1ZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PmZhbHNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBicm93c2VyIFdlYlZpZXcgbG9hZHMgcGFnZXMgaW4gb3ZlcnZpZXcgbW9kZSwgdGhhdCBwcm92aWRlIHpvb21lZC1vdXQgdmlldyBvZiB0aGUgZW50aXJlIHdlYiBwYWdlIHRvIGZpdCBvbiBzY3JlZW4gYnkgd2lkdGguPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImJyb3dzZXIud2lkZV92aWV3cG9ydC5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+dHJ1ZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PmZhbHNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBicm93c2VyIFdlYlZpZXcgaGF2ZSBhIG5vcm1hbCB2aWV3cG9ydC4gSWYgdGhpcyBzZXQgdG8gdHJ1ZSwgYnJvd3Nlci5maXhlZF9zY2FsZV9wZXJjZW50IHdpbGwgYmUgaWdub3JlZDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJicm93c2VyLmZpeGVkX3NjYWxlX3BlcmNlbnQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBTZXQgV2ViVmlldyBab29tIHNjYWxlIGluIHBlcmNlbnRhZ2UuIFdlYiBjb250ZW50IHdpbGwgYmUgem9vbWVkIHdoZW4gSFRNTCBpbnB1dCBpcyBmb2N1c2VkIHdoaWxlIGhhcmR3YXJlIGtleWJvYXJkIGlzIGluc2VydGVkLiBUaGlzIElOSSB3aWxsIG1ha2UgYnJvd3NlciB0byBrZWVwIHRoaXMgc2NhbGUuCiAgICAgICAgICAgICAgICBJdCBpcyBzdWdnZXN0ZWQgZm9sbG93aW5nIGNvbWJpbmF0aW9uIGZvciBtYWtpbmcgdGhlIGJyb3dzZXIgdG8gZGlzcGxheSBsaWtlIGRlc2t0b3Agdmlldy4KICAgICAgICAgICAgICAgIGJyb3dzZXIuZml4ZWRfc2NhbGVfcGVyY2VudD0xMDAgYW5kIGJyb3dzZXIud2lkZV92aWV3cG9ydC5lbmFibGU9ZmFsc2UKICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5tYW51YWxfYWMzX2hkbWlfdW5zdXBwb3J0ZWRfbXV0ZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0idHJ1ZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NdXRlIEhETUkgQXVkaW8gd2hlbiBBQzMgaXMgdW5zdXBwb3J0ZWQgYnV0IGZvcmNlZDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZmFsc2UiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkRvIG5vdCBtdXRlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgV2hlbiBTdXJyb3VuZCBzb3VuZCBpcyBzZXQgdG8gTWFudWFsICsgRG9sYnkgRGlnaXRhbCBlbmFibGVkLCBhbmQgQXVkaW8gc3RyZWFtIGhhcyBBQzMsIGJ1dCB0aGUgSERNSSBvdXRwdXQgZG9lcyBub3Qgc3VwcG9ydCBBQzMuCiAgICAgICAgICAgICAgICBUaGVuIG11dGUgdGhlIEhETUkgYXVkaW8gb3V0cHV0IHRvIHByZXZlbnQgbm9pc2Ugd2hlbiB0aGUgb3V0cHV0IGF0dGVtcHRzIHRvIGRlY29kZSB1bnN1cHBvcnRlZCBBQzMKICAgICAgICAgICAgICAgIEVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0id2ViYXBwLnZpZGVvX3dhbGwuY29udHJvbGxlcl9pcCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5CZXRhIGZlYXR1cmVzIGZvciB0aGUgdmlkZW8gd2FsbCwgc3BlY2lmaWVzIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBjb250cm9sbGVyLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGZlYXR1cmUgdGhhdCBtYXkgYmUgdXBkYXRlZCBvciByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9IndlYmFwcC52aWRlb193YWxsIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkJldGEgZmVhdHVyZXMgb2YgdmlkZW8gd2FsbCwgZGVmaW5lcyB0aGUgc2VyaWFsIG51bWJlcnMgYW5kIGRpbWVuc2lvbnMgb2YgY29ubmVjdGVkIHNjcmVlbnMuIFRoZXJlIGFyZSB0d28gZm9ybWF0cy4gJ3NuMSxzbjIsc24zLHNuNDt3aWR0aCxoZWlnaHQnIGFzc3VtZXMgYWxsIHBhbmVscyBhcmUgdGhlIHNhbWUgc2l6ZSwgYXBwbHlpbmcgYSBzaW5nbGUgd2lkdGggYW5kIGhlaWdodCB0byBhbGwgc2NyZWVucy4gJ3NuMSx4LHksd2lkdGgsaGVpZ2h0O3NuMix4LHksd2lkdGgsaGVpZ2h0O3NuMyx4LHksd2lkdGgsaGVpZ2h0LHNuNCx4LHksd2lkdGgsaGVpZ2h0JyBhbGxvd3MgZm9yIGluZGl2aWR1YWwgc2NyZWVuIHNwZWNpZmljYXRpb25zLCBpbmNsdWRpbmcgdGhlaXIgcG9zaXRpb24gYW5kIGRpbWVuc2lvbnMuIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZmVhdHVyZSB0aGF0IG1heSBiZSB1cGRhdGVkIG9yIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYnJvd3Nlci5uZXR3b3JrX2Vycm9yLmRldGFpbCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ib2ZmIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9mZjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYmFzaWMiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFzaWM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFkdmFuY2VkIj4KICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFkdmFuY2VkPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgQ29udHJvbHMgdGhlIGxldmVsIG9mIGRldGFpbCBzaG93biBmb3IgbmV0d29yayBlcnJvcnMgaW4gQW1pbm8gQnJvd3NlcjoKICAgICAgICAgICAgICAgIC0gT2ZmICgwKTogTm8gZXJyb3IgcGFnZSBpcyBzaG93bjsgaW5zdGVhZCwgdGhlIHVzZXIgbWlnaHQgc2VlIGEgYmxhbmsgcGFnZS4KICAgICAgICAgICAgICAgIC0gQmFzaWMgKDEpOiBXaGVuIHNlbGVjdGVkLCBvbmx5IHRoZSBlcnJvciBjb2RlIChlLmcuLCAiU1NMXzAwMSIpIGlzIGRpc3BsYXllZCwgZGVmYXVsdC4KICAgICAgICAgICAgICAgIC0gQWR2YW5jZWQgKDIpOiBPZmZlcnMgZGV0YWlsZWQgZXJyb3IgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBlcnJvciBtZXNzYWdlLCBuZXR3b3JrIGRldGFpbHMgKGxpa2UgSVAgYWRkcmVzcywgRE5TIHVzZWQpLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0idHZhcHAucGFja2FnZV9pZCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5BbmRyb2lkIFRWIGFwcCB0byBoYW5kbGUgZ2xvYmFsIGtleTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BbmRyb2lkIEN1c3RvbWl6YXRpb248L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJ0dmFwcC5td19hcmdzIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkZyZWVmb3JtIE1pZGRsZXdhcmUgQXJndW1lbnRzPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFuZHJvaWQgQ3VzdG9taXphdGlvbjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLnJlZCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIFJlZCBidXR0b24gKGtleWNvZGU6IDE4Myk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmdyZWVuIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gR3JlZW4gYnV0dG9uIChrZXljb2RlOiAxODQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay55ZWxsb3ciPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+RGVlcGxpbmsgb3IgSW50ZW50IHRvIGJlIHNlbnQgZnJvbSBZZWxsb3cgYnV0dG9uIChrZXljb2RlOiAxODUpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5ibHVlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gQmx1ZSBidXR0b24gKGtleWNvZGU6IDE4Nik8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmZuMSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEZ1bmN0aW9uIGJ1dHRvbiAxIChha2EgQSBidXR0b24gb24gTWF4aSB2MSkgKGtleWNvZGU6IDI2NSk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmZuMiI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEZ1bmN0aW9uIGJ1dHRvbiAyIChha2EgQiBidXR0b24gb24gTWF4aSB2MSkgKGtleWNvZGU6IDI2Nik8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmZuMyI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEZ1bmN0aW9uIGJ1dHRvbiAzIChha2EgQyBidXR0b24gb24gTWF4aSB2MSkgKGtleWNvZGU6IDI2Nyk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmd1aWRlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gR3VpZGUgYnV0dG9uIChrZXljb2RlOiAxNzIpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5tZW51Ij4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gT3B0aW9uIGJ1dHRvbiAoa2V5Y29kZTogODIpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5saXZlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gTGl2ZSBidXR0b24gKGtleWNvZGU6IDE3MCk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmYxIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gRjEgYnV0dG9uIChrZXljb2RlOiAxMzEpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5mMiI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEYyIGJ1dHRvbiAoa2V5Y29kZTogMTMyKTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LmxpbmsuZjMiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+RGVlcGxpbmsgb3IgSW50ZW50IHRvIGJlIHNlbnQgZnJvbSBGMyBidXR0b24gKGtleWNvZGU6IDEzMyk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmY0Ij4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gRjQgYnV0dG9uIChrZXljb2RlOiAxMzQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5mNSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEY1IGJ1dHRvbiAoa2V5Y29kZTogMTM1KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LmxpbmsuZjYiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+RGVlcGxpbmsgb3IgSW50ZW50IHRvIGJlIHNlbnQgZnJvbSBGNiBidXR0b24gKGtleWNvZGU6IDEzNik8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmY3Ij4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gRjcgYnV0dG9uIChrZXljb2RlOiAxMzcpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBLZXkgSGFuZGxpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJrZXkubGluay5mOCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEY4IGJ1dHRvbiAoa2V5Y29kZTogMTM4KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LmxpbmsuZjkiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+RGVlcGxpbmsgb3IgSW50ZW50IHRvIGJlIHNlbnQgZnJvbSBGOSBidXR0b24gKGtleWNvZGU6IDEzOSk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmYxMCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEYxMCBidXR0b24gKGtleWNvZGU6IDE0MCk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmYxMSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEYxMSBidXR0b24gKGtleWNvZGU6IDE0MSk8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLmYxMiI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIEYxMiBidXR0b24gKGtleWNvZGU6IDE0Mik8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIEtleSBIYW5kbGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImtleS5saW5rLnNlYXJjaCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWVwbGluayBvciBJbnRlbnQgdG8gYmUgc2VudCBmcm9tIFNlYXJjaCBidXR0b24gKGtleWNvZGU6IDg0KTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ia2V5LmxpbmsuZHZyIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkRlZXBsaW5rIG9yIEludGVudCB0byBiZSBzZW50IGZyb20gRFZSIGJ1dHRvbiAoa2V5Y29kZTogMTczKTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5kYXRldGltZS5udHBfc3luYyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBkZWZhdWx0IE5UUCBjbG9jayBzeW5jaHJvbml6YXRpb24gc2V0dGluZy4gMDogRGlzYWJsZWQ7IDE6IEVuYWJsZWQgKGRlZmF1bHQpLgogICAgICAgICAgICAgICAgVGhpcyBkZWZhdWx0IHNldHRpbmcgd2lsbCBvbmx5IGJlIGFwcGxpZWQgaWYgbm8gdXNlciBwcmVmZXJlbmNlIGhhcyBiZWVuIHNwZWNpZmllZC4gSWYgdXNlcnMgaGF2ZSBwcmV2aW91c2x5IHNldCB0aGVpciBwcmVmZXJlbmNlcyB0aHJvdWdoIHRoZSB1c2VyIGludGVyZmFjZSwgYSBmYWN0b3J5IHJlc2V0IHdpbGwgYmUgbmVjZXNzYXJ5IHRvIGltcGxlbWVudCB0aGUgbmV3IGNoYW5nZXMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5kYXRldGltZS50aW1lX3pvbmUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9hZGVsYWlkZSI+CiAgICAgICAgICA8dmFsdWU+QXVzdHJhbGlhL0FkZWxhaWRlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFkZWxhaWRlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2FsbWF0eSI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9BbG1hdHk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWxtYXR5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2FtbWFuIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0FtbWFuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFtbWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfYW1zdGVyZGFtIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQW1zdGVyZGFtPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFtc3RlcmRhbTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9hbmNob3JhZ2UiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvQW5jaG9yYWdlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFuY2hvcmFnZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2F0aGVucyI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL0F0aGVuczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BdGhlbnM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBhY2lmaWNfYXVja2xhbmQiPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvQXVja2xhbmQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QXVja2xhbmQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX2F6b3JlcyI+CiAgICAgICAgICA8dmFsdWU+QXRsYW50aWMvQXpvcmVzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkF6b3JlczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYWdoZGFkIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0JhZ2hkYWQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFnaGRhZDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYWt1Ij4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0Jha3U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFrdTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYW5na29rIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0Jhbmdrb2s8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFuZ2tvazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9iYXJiYWRvcyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9CYXJiYWRvczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CYXJiYWRvczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iZWlydXQiPgogICAgICAgICAgPHZhbHVlPkFzaWEvQmVpcnV0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJlaXJ1dDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2JlbGdyYWRlIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQmVsZ3JhZGU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmVsZ3JhZGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfYm9nb3RhIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0JvZ290YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Cb2dvdGE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV9icmF6emF2aWxsZSI+CiAgICAgICAgICA8dmFsdWU+QWZyaWNhL0JyYXp6YXZpbGxlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJyYXp6YXZpbGxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhdXN0cmFsaWFfYnJpc2JhbmUiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9CcmlzYmFuZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CcmlzYmFuZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2JydXNzZWxzIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQnJ1c3NlbHM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QnJ1c3NlbHM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfYXJnZW50aW5hX2J1ZW5vc19haXJlcyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJ1ZW5vcyBBaXJlczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWZyaWNhX2NhaXJvIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvQ2Fpcm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2Fpcm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX2NhcGVfdmVyZGUiPgogICAgICAgICAgPHZhbHVlPkF0bGFudGljL0NhcGVfVmVyZGU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2FwZSBWZXJkZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9jYXJhY2FzIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0NhcmFjYXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2FyYWNhczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWZyaWNhX2Nhc2FibGFuY2EiPgogICAgICAgICAgPHZhbHVlPkFmcmljYS9DYXNhYmxhbmNhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNhc2FibGFuY2E8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY2hpY2FnbyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9DaGljYWdvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNoaWNhZ288L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY2hpaHVhaHVhIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0NoaWh1YWh1YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DaGlodWFodWE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfY29sb21ibyI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9Db2xvbWJvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNvbG9tYm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY29zdGFfcmljYSI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9Db3N0YV9SaWNhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNvc3RhIFJpY2E8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9kYXJ3aW4iPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9EYXJ3aW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGFyd2luPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2RlbnZlciI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9EZW52ZXI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGVudmVyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2R1YmFpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0R1YmFpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkR1YmFpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2ZpamkiPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvRmlqaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GaWppPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2dvZHRoYWIiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvR29kdGhhYjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Hb2R0aGFiPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2d1YW0iPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvR3VhbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5HdWFtPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2hhbGlmYXgiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvSGFsaWZheDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IYWxpZmF4PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhZnJpY2FfaGFyYXJlIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvSGFyYXJlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkhhcmFyZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2hlbHNpbmtpIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvSGVsc2lua2k8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SGVsc2lua2k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9ob2JhcnQiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9Ib2JhcnQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SG9iYXJ0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2hvbmdfa29uZyI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9Ib25nX0tvbmc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SG9uZyBLb25nPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2hvbm9sdWx1Ij4KICAgICAgICAgIDx2YWx1ZT5QYWNpZmljL0hvbm9sdWx1PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkhvbm9sdWx1PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2lya3V0c2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvSXJrdXRzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Jcmt1dHNrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfaXN0YW5idWwiPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9Jc3RhbmJ1bDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Jc3RhbmJ1bDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9qYWthcnRhIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0pha2FydGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SmFrYXJ0YTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9qZXJ1c2FsZW0iPgogICAgICAgICAgPHZhbHVlPkFzaWEvSmVydXNhbGVtPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkplcnVzYWxlbTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYWJ1bCI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9LYWJ1bDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LYWJ1bDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYXJhY2hpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0thcmFjaGk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+S2FyYWNoaTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYXRobWFuZHUiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS2F0aG1hbmR1PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkthdGhtYW5kdTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rb2xrYXRhIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0tvbGthdGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+S29sa2F0YTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rcmFzbm95YXJzayI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9LcmFzbm95YXJzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LcmFzbm95YXJzazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rdWFsYV9sdW1wdXIiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS3VhbGFfTHVtcHVyPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkt1YWxhIEx1bXB1cjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rdXdhaXQiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS3V3YWl0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkt1d2FpdDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2xvbmRvbiI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL0xvbmRvbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Mb25kb248L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfbG9zX2FuZ2VsZXMiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvTG9zX0FuZ2VsZXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TG9zIEFuZ2VsZXM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImV1cm9wZV9tYWRyaWQiPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9NYWRyaWQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFkcmlkPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX21hZ2FkYW4iPgogICAgICAgICAgPHZhbHVlPkFzaWEvTWFnYWRhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NYWdhZGFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX21hanVybyI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9NYWp1cm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFqdXJvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX21hbmF1cyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9NYW5hdXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFuYXVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX21leGljb19jaXR5Ij4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL01leGljb19DaXR5PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1leGljbyBDaXR5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX21pZHdheSI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9NaWR3YXk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWlkd2F5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfbWluc2siPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9NaW5zazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NaW5zazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9tb250ZXZpZGVvIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL01vbnRldmlkZW88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TW9udGV2aWRlbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX21vc2NvdyI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL01vc2NvdzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Nb3Njb3c8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV9uYWlyb2JpIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvTmFpcm9iaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5OYWlyb2JpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX25ld195b3JrIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL05ld19Zb3JrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5ldyBZb3JrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX25vdW1lYSI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9Ob3VtZWE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Tm91bWVhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX29yYWwiPgogICAgICAgICAgPHZhbHVlPkFzaWEvT3JhbDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PcmFsPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhdXN0cmFsaWFfcGVydGgiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9QZXJ0aDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5QZXJ0aDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9waG9lbml4Ij4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL1Bob2VuaXg8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UGhvZW5peDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9yZWNpZmUiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvUmVjaWZlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJlY2lmZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9yZWdpbmEiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvUmVnaW5hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJlZ2luYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zYW50aWFnbyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9TYW50aWFnbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TYW50aWFnbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zYW9fcGF1bG8iPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvU2FvX1BhdWxvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNhbyBQYXVsbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX3NhcmFqZXZvIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvU2FyYWpldm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2FyYWpldm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfc2VvdWwiPgogICAgICAgICAgPHZhbHVlPkFzaWEvU2VvdWw8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2VvdWw8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfc2hhbmdoYWkiPgogICAgICAgICAgPHZhbHVlPkFzaWEvU2hhbmdoYWk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2hhbmdoYWk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX3NvdXRoX2dlb3JnaWEiPgogICAgICAgICAgPHZhbHVlPkF0bGFudGljL1NvdXRoX0dlb3JnaWE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U291dGggR2VvcmdpYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zdF9qb2hucyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9TdF9Kb2huczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TdCBKb2huczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXVzdHJhbGlhX3N5ZG5leSI+CiAgICAgICAgICA8dmFsdWU+QXVzdHJhbGlhL1N5ZG5leTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TeWRuZXk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGFpcGVpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL1RhaXBlaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UYWlwZWk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGJpbGlzaSI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9UYmlsaXNpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRiaWxpc2k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGVocmFuIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL1RlaHJhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UZWhyYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfdGlqdWFuYSI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9UaWp1YW5hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRpanVhbmE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdG9reW8iPgogICAgICAgICAgPHZhbHVlPkFzaWEvVG9reW88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VG9reW88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBhY2lmaWNfdG9uZ2F0YXB1Ij4KICAgICAgICAgIDx2YWx1ZT5QYWNpZmljL1RvbmdhdGFwdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Ub25nYXRhcHU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdmxhZGl2b3N0b2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvVmxhZGl2b3N0b2s8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VmxhZGl2b3N0b2s8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV93aW5kaG9layI+CiAgICAgICAgICA8dmFsdWU+QWZyaWNhL1dpbmRob2VrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PldpbmRob2VrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lha3V0c2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWFrdXRzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZYWt1dHNrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lhbmdvbiI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9ZYW5nb248L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+WWFuZ29uPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lla2F0ZXJpbmJ1cmciPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWVrYXRlcmluYnVyZzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZZWthdGVyaW5idXJnPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3llcmV2YW4iPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWVyZXZhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZZXJldmFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBkZWZhdWx0IHRpbWUgem9uZSAoZS5nLiBBbWVyaWNhL05ld19Zb3JrKSBzZXR0aW5nLgogICAgICAgICAgICAgICAgVGhpcyBkZWZhdWx0IHNldHRpbmcgd2lsbCBvbmx5IGJlIGFwcGxpZWQgaWYgbm8gdXNlciBwcmVmZXJlbmNlIGhhcyBiZWVuIHNwZWNpZmllZC4gSWYgdXNlcnMgaGF2ZSBwcmV2aW91c2x5IHNldCB0aGVpciBwcmVmZXJlbmNlcyB0aHJvdWdoIHRoZSB1c2VyIGludGVyZmFjZSwgYSBmYWN0b3J5IHJlc2V0IHdpbGwgYmUgbmVjZXNzYXJ5IHRvIGltcGxlbWVudCB0aGUgbmV3IGNoYW5nZXMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5kYXRldGltZS4yNF9ob3VyX2Zvcm1hdCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBkZWZhdWx0IDI0IGhvdXIgZGF0ZSBmb3JtYXQgc2V0dGluZy4gMDogRGlzYWJsZWQgKGRlZmF1bHQpOyAxOiBFbmFibGVkLgogICAgICAgICAgICAgICAgVGhpcyBkZWZhdWx0IHNldHRpbmcgd2lsbCBvbmx5IGJlIGFwcGxpZWQgaWYgbm8gdXNlciBwcmVmZXJlbmNlIGhhcyBiZWVuIHNwZWNpZmllZC4gSWYgdXNlcnMgaGF2ZSBwcmV2aW91c2x5IHNldCB0aGVpciBwcmVmZXJlbmNlcyB0aHJvdWdoIHRoZSB1c2VyIGludGVyZmFjZSwgYSBmYWN0b3J5IHJlc2V0IHdpbGwgYmUgbmVjZXNzYXJ5IHRvIGltcGxlbWVudCB0aGUgbmV3IGNoYW5nZXMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5hdWRpby5zeXN0ZW1fc291bmQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgZGVmYXVsdCBzeXN0ZW0gc291bmQgZWZmZWN0IHNldHRpbmcuIDA6IERpc2FibGVkOyAxOiBFbmFibGVkIChkZWZhdWx0KS4KICAgICAgICAgICAgICAgIFRoaXMgZGVmYXVsdCBzZXR0aW5nIHdpbGwgb25seSBiZSBhcHBsaWVkIGlmIG5vIHVzZXIgcHJlZmVyZW5jZSBoYXMgYmVlbiBzcGVjaWZpZWQuIElmIHVzZXJzIGhhdmUgcHJldmlvdXNseSBzZXQgdGhlaXIgcHJlZmVyZW5jZXMgdGhyb3VnaCB0aGUgdXNlciBpbnRlcmZhY2UsIGEgZmFjdG9yeSByZXNldCB3aWxsIGJlIG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgdGhlIG5ldyBjaGFuZ2VzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BdWRpbyBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5hdWRpby5zdXJyb3VuZF9zb3VuZCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXV0byI+CiAgICAgICAgICA8dmFsdWU+YXV0bzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BdXRvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJuZXZlciI+CiAgICAgICAgICA8dmFsdWU+bmV2ZXI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TmV2ZXI8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSBkZWZhdWx0IHN1cnJvdW5kIHNvdW5kIG91dHB1dCBmb3JtYXQuICJBdXRvIjogVXNlIHRoZSBmb3JtYXRzIHRoYXQgdGhlIG91dHB1dCBkZXZpY2Ugc3VwcG9ydGVkOyAiTmV2ZXIiOiBOZXZlciB1c2Ugc3Vycm91bmQgc291bmQgb3V0cHV0IGZvcm1hdC4KICAgICAgICAgICAgICAgIFRoaXMgZGVmYXVsdCBzZXR0aW5nIHdpbGwgb25seSBiZSBhcHBsaWVkIGlmIG5vIHVzZXIgcHJlZmVyZW5jZSBoYXMgYmVlbiBzcGVjaWZpZWQuIElmIHVzZXJzIGhhdmUgcHJldmlvdXNseSBzZXQgdGhlaXIgcHJlZmVyZW5jZXMgdGhyb3VnaCB0aGUgdXNlciBpbnRlcmZhY2UsIGEgZmFjdG9yeSByZXNldCB3aWxsIGJlIG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgdGhlIG5ldyBjaGFuZ2VzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BdWRpbyBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5zdGFuZGJ5LnNjcmVlbl9vZmZfdGltZW91dCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iMTVfbWludXRlc3MiPgogICAgICAgICAgPHZhbHVlPjkwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4xNSBtaW51dGVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSI1X21pbnV0ZXNzIj4KICAgICAgICAgIDx2YWx1ZT4zMDAwMDA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+NSBtaW51dGVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIzMF9taW51dGVzcyI+CiAgICAgICAgICA8dmFsdWU+MTgwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4zMCBtaW51dGVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxX2hvdXIiPgogICAgICAgICAgPHZhbHVlPjM2MDAwMDA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MSBob3VyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIyX2hvdXJzIj4KICAgICAgICAgIDx2YWx1ZT43MjAwMDAwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjIgaG91cnM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSBkZWZhdWx0IGluYWN0aXZpdHkgdGltZW91dCB0byBkaXNwbGF5IHNjcmVlbiBzYXZlci4KICAgICAgICAgICAgICAgIFRoaXMgZGVmYXVsdCBzZXR0aW5nIHdpbGwgb25seSBiZSBhcHBsaWVkIGlmIG5vIHVzZXIgcHJlZmVyZW5jZSBoYXMgYmVlbiBzcGVjaWZpZWQuIElmIHVzZXJzIGhhdmUgcHJldmlvdXNseSBzZXQgdGhlaXIgcHJlZmVyZW5jZXMgdGhyb3VnaCB0aGUgdXNlciBpbnRlcmZhY2UsIGEgZmFjdG9yeSByZXNldCB3aWxsIGJlIG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgdGhlIG5ldyBjaGFuZ2VzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJkZWZhdWx0LnN0YW5kYnkuc2xlZXBfdGltZW91dCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ibmV2ZXIiPgogICAgICAgICAgPHZhbHVlPi0xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5ldmVyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxNV9taW51dGVzIj4KICAgICAgICAgIDx2YWx1ZT45MDAwMDA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MTUgbWludXRlczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMzBfbWludXRlcyI+CiAgICAgICAgICA8dmFsdWU+MTgwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4zMCBtaW51dGVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxX2hvdXIiPgogICAgICAgICAgPHZhbHVlPjM2MDAwMDA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MSBob3VyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSI0X2hvdXJzIj4KICAgICAgICAgIDx2YWx1ZT4xNDQwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT40IGhvdXJzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSI4X2hvdXJzIj4KICAgICAgICAgIDx2YWx1ZT4yODgwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT44IGhvdXJzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxMl9ob3VycyI+CiAgICAgICAgICA8dmFsdWU+NDMyMDAwMDA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MTIgaG91cnM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjI0X2hvdXJzIj4KICAgICAgICAgIDx2YWx1ZT44NjQwMDAwMDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4yNCBob3VyczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIGRlZmF1bHQgaW5hY3Rpdml0eSB0aW1lb3V0IHRvIHB1dCB0aGUgZGV2aWNlIGluIHN0YW5kYnkuCiAgICAgICAgICAgICAgICBUaGlzIGRlZmF1bHQgc2V0dGluZyB3aWxsIG9ubHkgYmUgYXBwbGllZCBpZiBubyB1c2VyIHByZWZlcmVuY2UgaGFzIGJlZW4gc3BlY2lmaWVkLiBJZiB1c2VycyBoYXZlIHByZXZpb3VzbHkgc2V0IHRoZWlyIHByZWZlcmVuY2VzIHRocm91Z2ggdGhlIHVzZXIgaW50ZXJmYWNlLCBhIGZhY3RvcnkgcmVzZXQgd2lsbCBiZSBuZWNlc3NhcnkgdG8gaW1wbGVtZW50IHRoZSBuZXcgY2hhbmdlcy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3RhbmRieS5yZXNldF9zbGVlcF90aW1lb3V0X2FmdGVyX3VwZ3JhZGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkFNSU5PX1NUQU5EQllfUkVTRVRfU0xFRVBfT0ZGIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkRpc2FibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkFNSU5PX1NUQU5EQllfUkVTRVRfU0xFRVBfT04iPgogICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RW5hYmxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgd2hldGhlciB0byByZXNldCBzbGVlcCB0aW1lb3V0IGFmdGVyIGZpcm13YXJlIHVwZ3JhZGU8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYXVkaW8uc3RhcnR1cF92b2x1bWUiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjEwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0kfF4xMCQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSBhdWRpbyB2b2x1bWUgZHVyaW5nIHN0YXJ0IHVwLCByYW5naW5nIGZyb20gMCAtIDEwLiAoMCBtZWFucyB0aGUgc29mdGVzdCBhbmQgMTAgbWVhbnMgdGhlIGxvdWRlc3QpCiAgICAgICAgICAgICAgICBUaGUgcGFyYW1ldGVyIGlzIGZvciBub24gZml4ZWQtdm9sdW1lIGRldmljZXMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkF1ZGlvIFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJnbG9iYWxrZXkua2V5X2FjdGlvbiI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ia2V5X2Rvd25fb25seSI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LZXkgRG93biBvbmx5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrZXlfdXBfb25seSI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LZXkgVXAgb25seTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ia2V5X2Rvd25fYW5kX3VwIj4KICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PktleSBEb3duIGFuZCBVcDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZ5IHRoZSBrZXkgYWN0aW9uKHMpIHRvIGJlIHByb3BhZ2F0ZWQgZm9yIGdsb2JhbCBrZXlzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZ2xvYmFsa2V5LnJlY2VpdmVfdGFyZ2V0Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmb3JlZ3JvdW5kX2FwcF9vbmx5IiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZvcmVncm91bmQgQXBwIE9ubHk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR2X2FwcF9vbmx5Ij4KICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlR2IEFwcCBPbmx5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbGxfYXBwIj4KICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFsbCBBcHA8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmeSB3aGljaCBhcHAgY2FuIHJlY2VpdmUgdGhlIGdsb2JhbCBidXR0b24gaW50ZW50IChjb20uYW1pbm9jb20uaW50ZW50LmFjdGlvbi5HTE9CQUxfQlVUVE9OKTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgS2V5IEhhbmRsaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYWRiLm1vZGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImRlZmF1bHQiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGVmYXVsdDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib24iPgogICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9mZiI+CiAgICAgICAgICA8dmFsdWU+MjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImRpc2FibGUiPgogICAgICAgICAgPHZhbHVlPjM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RElTQUJMRTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIEFuZHJvaWQgZGVidWcgYnJpZGdlLCBkZXZlbG9wbWVudCBzZXR0aW5ncyBhbmQgVXNlciByZXN0cmljdGlvbi4gRGVmYXVsdCBtZWFucyBrZWVwIHRoZSBjdXJyZW50IHN0YXR1cy4gRElTQUJMRSBtZWFucyB0dXJuaW5nIG9mZiB0aGUgbWFudWFsIHdheSB0byBlbmFibGUgZGV2ZWxvcG1lbnQgc2V0dGluZ3MuIEVuYWJsZSBlbnRlcnByaXNlIG9ubHkuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYWRiLmtleV91cmwiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+SFRUUFMgVVJMIG9mIGFkYiBrZXkgdG8gYmUgZG93bmxvYWQgdG8gU1RCLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EZWJ1ZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5jb252ZXJ0X3R2c3lzdGVtIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJOIj4KICAgICAgICAgIDx2YWx1ZT5OPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5UU0M8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IlAiPgogICAgICAgICAgPHZhbHVlPlA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UEFMPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnZlcnQgU1RCJ3MgVFYgc3lzdGVtIHBlcnNpc3RlbnRseSwgZXZlbiBmYWN0b3J5IHJlc2V0LiBFbmFibGUgZW50ZXJwcmlzZSBvbmx5LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJkYXRldGltZS5mb3JjZV90aW1lX3pvbmUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9hZGVsYWlkZSI+CiAgICAgICAgICA8dmFsdWU+QXVzdHJhbGlhL0FkZWxhaWRlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFkZWxhaWRlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2FsbWF0eSI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9BbG1hdHk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWxtYXR5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2FtbWFuIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0FtbWFuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFtbWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfYW1zdGVyZGFtIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQW1zdGVyZGFtPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFtc3RlcmRhbTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9hbmNob3JhZ2UiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvQW5jaG9yYWdlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFuY2hvcmFnZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2F0aGVucyI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL0F0aGVuczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BdGhlbnM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBhY2lmaWNfYXVja2xhbmQiPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvQXVja2xhbmQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QXVja2xhbmQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX2F6b3JlcyI+CiAgICAgICAgICA8dmFsdWU+QXRsYW50aWMvQXpvcmVzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkF6b3JlczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYWdoZGFkIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0JhZ2hkYWQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFnaGRhZDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYWt1Ij4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0Jha3U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFrdTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iYW5na29rIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0Jhbmdrb2s8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmFuZ2tvazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9iYXJiYWRvcyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9CYXJiYWRvczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CYXJiYWRvczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9iZWlydXQiPgogICAgICAgICAgPHZhbHVlPkFzaWEvQmVpcnV0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJlaXJ1dDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2JlbGdyYWRlIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQmVsZ3JhZGU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QmVsZ3JhZGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfYm9nb3RhIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0JvZ290YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Cb2dvdGE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV9icmF6emF2aWxsZSI+CiAgICAgICAgICA8dmFsdWU+QWZyaWNhL0JyYXp6YXZpbGxlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJyYXp6YXZpbGxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhdXN0cmFsaWFfYnJpc2JhbmUiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9CcmlzYmFuZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CcmlzYmFuZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2JydXNzZWxzIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvQnJ1c3NlbHM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QnJ1c3NlbHM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfYXJnZW50aW5hX2J1ZW5vc19haXJlcyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJ1ZW5vcyBBaXJlczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWZyaWNhX2NhaXJvIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvQ2Fpcm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2Fpcm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX2NhcGVfdmVyZGUiPgogICAgICAgICAgPHZhbHVlPkF0bGFudGljL0NhcGVfVmVyZGU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2FwZSBWZXJkZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9jYXJhY2FzIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0NhcmFjYXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2FyYWNhczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWZyaWNhX2Nhc2FibGFuY2EiPgogICAgICAgICAgPHZhbHVlPkFmcmljYS9DYXNhYmxhbmNhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNhc2FibGFuY2E8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY2hpY2FnbyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9DaGljYWdvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNoaWNhZ288L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY2hpaHVhaHVhIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL0NoaWh1YWh1YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DaGlodWFodWE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfY29sb21ibyI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9Db2xvbWJvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNvbG9tYm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfY29zdGFfcmljYSI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9Db3N0YV9SaWNhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNvc3RhIFJpY2E8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9kYXJ3aW4iPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9EYXJ3aW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGFyd2luPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2RlbnZlciI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9EZW52ZXI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGVudmVyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2R1YmFpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0R1YmFpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkR1YmFpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2ZpamkiPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvRmlqaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GaWppPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2dvZHRoYWIiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvR29kdGhhYjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Hb2R0aGFiPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2d1YW0iPgogICAgICAgICAgPHZhbHVlPlBhY2lmaWMvR3VhbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5HdWFtPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX2hhbGlmYXgiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvSGFsaWZheDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IYWxpZmF4PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhZnJpY2FfaGFyYXJlIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvSGFyYXJlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkhhcmFyZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2hlbHNpbmtpIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvSGVsc2lua2k8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SGVsc2lua2k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF1c3RyYWxpYV9ob2JhcnQiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9Ib2JhcnQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SG9iYXJ0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2hvbmdfa29uZyI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9Ib25nX0tvbmc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SG9uZyBLb25nPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX2hvbm9sdWx1Ij4KICAgICAgICAgIDx2YWx1ZT5QYWNpZmljL0hvbm9sdWx1PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkhvbm9sdWx1PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX2lya3V0c2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvSXJrdXRzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Jcmt1dHNrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfaXN0YW5idWwiPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9Jc3RhbmJ1bDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Jc3RhbmJ1bDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9qYWthcnRhIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0pha2FydGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SmFrYXJ0YTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9qZXJ1c2FsZW0iPgogICAgICAgICAgPHZhbHVlPkFzaWEvSmVydXNhbGVtPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkplcnVzYWxlbTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYWJ1bCI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9LYWJ1bDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LYWJ1bDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYXJhY2hpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0thcmFjaGk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+S2FyYWNoaTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rYXRobWFuZHUiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS2F0aG1hbmR1PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkthdGhtYW5kdTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rb2xrYXRhIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL0tvbGthdGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+S29sa2F0YTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rcmFzbm95YXJzayI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9LcmFzbm95YXJzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LcmFzbm95YXJzazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rdWFsYV9sdW1wdXIiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS3VhbGFfTHVtcHVyPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkt1YWxhIEx1bXB1cjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXNpYV9rdXdhaXQiPgogICAgICAgICAgPHZhbHVlPkFzaWEvS3V3YWl0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkt1d2FpdDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX2xvbmRvbiI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL0xvbmRvbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Mb25kb248L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfbG9zX2FuZ2VsZXMiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvTG9zX0FuZ2VsZXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TG9zIEFuZ2VsZXM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImV1cm9wZV9tYWRyaWQiPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9NYWRyaWQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFkcmlkPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX21hZ2FkYW4iPgogICAgICAgICAgPHZhbHVlPkFzaWEvTWFnYWRhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NYWdhZGFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX21hanVybyI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9NYWp1cm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFqdXJvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX21hbmF1cyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9NYW5hdXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFuYXVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX21leGljb19jaXR5Ij4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL01leGljb19DaXR5PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1leGljbyBDaXR5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX21pZHdheSI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9NaWR3YXk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWlkd2F5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXJvcGVfbWluc2siPgogICAgICAgICAgPHZhbHVlPkV1cm9wZS9NaW5zazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NaW5zazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9tb250ZXZpZGVvIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL01vbnRldmlkZW88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TW9udGV2aWRlbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX21vc2NvdyI+CiAgICAgICAgICA8dmFsdWU+RXVyb3BlL01vc2NvdzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Nb3Njb3c8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV9uYWlyb2JpIj4KICAgICAgICAgIDx2YWx1ZT5BZnJpY2EvTmFpcm9iaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5OYWlyb2JpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhbWVyaWNhX25ld195b3JrIj4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL05ld19Zb3JrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5ldyBZb3JrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJwYWNpZmljX25vdW1lYSI+CiAgICAgICAgICA8dmFsdWU+UGFjaWZpYy9Ob3VtZWE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Tm91bWVhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX29yYWwiPgogICAgICAgICAgPHZhbHVlPkFzaWEvT3JhbDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PcmFsPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhdXN0cmFsaWFfcGVydGgiPgogICAgICAgICAgPHZhbHVlPkF1c3RyYWxpYS9QZXJ0aDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5QZXJ0aDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9waG9lbml4Ij4KICAgICAgICAgIDx2YWx1ZT5BbWVyaWNhL1Bob2VuaXg8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UGhvZW5peDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9yZWNpZmUiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvUmVjaWZlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJlY2lmZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9yZWdpbmEiPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvUmVnaW5hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJlZ2luYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zYW50aWFnbyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9TYW50aWFnbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TYW50aWFnbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zYW9fcGF1bG8iPgogICAgICAgICAgPHZhbHVlPkFtZXJpY2EvU2FvX1BhdWxvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNhbyBQYXVsbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXVyb3BlX3NhcmFqZXZvIj4KICAgICAgICAgIDx2YWx1ZT5FdXJvcGUvU2FyYWpldm88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2FyYWpldm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfc2VvdWwiPgogICAgICAgICAgPHZhbHVlPkFzaWEvU2VvdWw8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2VvdWw8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfc2hhbmdoYWkiPgogICAgICAgICAgPHZhbHVlPkFzaWEvU2hhbmdoYWk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2hhbmdoYWk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF0bGFudGljX3NvdXRoX2dlb3JnaWEiPgogICAgICAgICAgPHZhbHVlPkF0bGFudGljL1NvdXRoX0dlb3JnaWE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U291dGggR2VvcmdpYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1lcmljYV9zdF9qb2hucyI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9TdF9Kb2huczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TdCBKb2huczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXVzdHJhbGlhX3N5ZG5leSI+CiAgICAgICAgICA8dmFsdWU+QXVzdHJhbGlhL1N5ZG5leTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TeWRuZXk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGFpcGVpIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL1RhaXBlaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UYWlwZWk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGJpbGlzaSI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9UYmlsaXNpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRiaWxpc2k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdGVocmFuIj4KICAgICAgICAgIDx2YWx1ZT5Bc2lhL1RlaHJhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UZWhyYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFtZXJpY2FfdGlqdWFuYSI+CiAgICAgICAgICA8dmFsdWU+QW1lcmljYS9UaWp1YW5hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRpanVhbmE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdG9reW8iPgogICAgICAgICAgPHZhbHVlPkFzaWEvVG9reW88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VG9reW88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBhY2lmaWNfdG9uZ2F0YXB1Ij4KICAgICAgICAgIDx2YWx1ZT5QYWNpZmljL1RvbmdhdGFwdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Ub25nYXRhcHU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFzaWFfdmxhZGl2b3N0b2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvVmxhZGl2b3N0b2s8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VmxhZGl2b3N0b2s8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFmcmljYV93aW5kaG9layI+CiAgICAgICAgICA8dmFsdWU+QWZyaWNhL1dpbmRob2VrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PldpbmRob2VrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lha3V0c2siPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWFrdXRzazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZYWt1dHNrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lhbmdvbiI+CiAgICAgICAgICA8dmFsdWU+QXNpYS9ZYW5nb248L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+WWFuZ29uPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3lla2F0ZXJpbmJ1cmciPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWVrYXRlcmluYnVyZzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZZWthdGVyaW5idXJnPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc2lhX3llcmV2YW4iPgogICAgICAgICAgPHZhbHVlPkFzaWEvWWVyZXZhbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZZXJldmFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgRm9yY2UgdXBkYXRlIHRpbWUgem9uZSAoZS5nLiBBbWVyaWNhL05ld19Zb3JrKSBzZXR0aW5nLiBUaGUgcGFyYW1ldGVyIHRha2VzIGVmZmVjdCB3aGVuIElOSSB1cGRhdGVzLgogICAgICAgICAgICAgICAgRW5kLXVzZXIgc2V0dGluZ3Mgd2lsbCBiZSBvdmVyd3JpdHRlbi4gRW5hYmxlIGVudGVycHJpc2Ugb25seS4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVmYXVsdC5zeXN0ZW1fbGFuZ3VhZ2UiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFiayI+CiAgICAgICAgICA8dmFsdWU+YWJrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFia2hhemlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWFyIj4KICAgICAgICAgIDx2YWx1ZT5hYXI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWZhcjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWZyIj4KICAgICAgICAgIDx2YWx1ZT5hZnI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWZyaWthYW5zPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJha2EiPgogICAgICAgICAgPHZhbHVlPmFrYTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Ba2FuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzcWkiPgogICAgICAgICAgPHZhbHVlPnNxaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BbGJhbmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1oIj4KICAgICAgICAgIDx2YWx1ZT5hbWg8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QW1oYXJpYzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXJhIj4KICAgICAgICAgIDx2YWx1ZT5hcmE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QXJhYmljPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhcmciPgogICAgICAgICAgPHZhbHVlPmFyZzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BcmFnb25lc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imh5ZSI+CiAgICAgICAgICA8dmFsdWU+aHllPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFybWVuaWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhc20iPgogICAgICAgICAgPHZhbHVlPmFzbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Bc3NhbWVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYXZhIj4KICAgICAgICAgIDx2YWx1ZT5hdmE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QXZhcmljPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJhdmUiPgogICAgICAgICAgPHZhbHVlPmF2ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BdmVzdGFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJheW0iPgogICAgICAgICAgPHZhbHVlPmF5bTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BeW1hcmE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImF6ZSI+CiAgICAgICAgICA8dmFsdWU+YXplPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkF6ZXJiYWlqYW5pPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJiYW0iPgogICAgICAgICAgPHZhbHVlPmJhbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CYW1iYXJhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJiYWsiPgogICAgICAgICAgPHZhbHVlPmJhazwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CYXNoa2lyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJldXMiPgogICAgICAgICAgPHZhbHVlPmV1czwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CYXNxdWU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImJlbCI+CiAgICAgICAgICA8dmFsdWU+YmVsPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJlbGFydXNpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImJlbiI+CiAgICAgICAgICA8dmFsdWU+YmVuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJlbmdhbGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImJpcyI+CiAgICAgICAgICA8dmFsdWU+YmlzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJpc2xhbWE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im5vYiI+CiAgICAgICAgICA8dmFsdWU+bm9iPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJva23DpWwsIE5vcndlZ2lhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYm9zIj4KICAgICAgICAgIDx2YWx1ZT5ib3M8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Qm9zbmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYnJlIj4KICAgICAgICAgIDx2YWx1ZT5icmU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QnJldG9uPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJidWwiPgogICAgICAgICAgPHZhbHVlPmJ1bDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5CdWxnYXJpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im15YSI+CiAgICAgICAgICA8dmFsdWU+bXlhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJ1cm1lc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImNhdCI+CiAgICAgICAgICA8dmFsdWU+Y2F0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNhdGFsYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImtobSI+CiAgICAgICAgICA8dmFsdWU+a2htPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNlbnRyYWwgS2htZXI8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImNoYSI+CiAgICAgICAgICA8dmFsdWU+Y2hhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNoYW1vcnJvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJjaGUiPgogICAgICAgICAgPHZhbHVlPmNoZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DaGVjaGVuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJueWEiPgogICAgICAgICAgPHZhbHVlPm55YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DaGljaGV3YTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iemhvIj4KICAgICAgICAgIDx2YWx1ZT56aG88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2hpbmVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iY2h1Ij4KICAgICAgICAgIDx2YWx1ZT5jaHU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2h1cmNoIFNsYXZpYzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iY2h2Ij4KICAgICAgICAgIDx2YWx1ZT5jaHY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q2h1dmFzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iY29yIj4KICAgICAgICAgIDx2YWx1ZT5jb3I8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q29ybmlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iY29zIj4KICAgICAgICAgIDx2YWx1ZT5jb3M8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Q29yc2ljYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImNyZSI+CiAgICAgICAgICA8dmFsdWU+Y3JlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNyZWU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImhydiI+CiAgICAgICAgICA8dmFsdWU+aHJ2PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkNyb2F0aWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJjZXMiPgogICAgICAgICAgPHZhbHVlPmNlczwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DemVjaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGFuIj4KICAgICAgICAgIDx2YWx1ZT5kYW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGFuaXNoPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkaXYiPgogICAgICAgICAgPHZhbHVlPmRpdjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXZlaGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im5sZCI+CiAgICAgICAgICA8dmFsdWU+bmxkPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkR1dGNoPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkem8iPgogICAgICAgICAgPHZhbHVlPmR6bzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Eem9uZ2toYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZW5nIj4KICAgICAgICAgIDx2YWx1ZT5lbmc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RW5nbGlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXBvIj4KICAgICAgICAgIDx2YWx1ZT5lcG88L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RXNwZXJhbnRvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJlc3QiPgogICAgICAgICAgPHZhbHVlPmVzdDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Fc3RvbmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZXdlIj4KICAgICAgICAgIDx2YWx1ZT5ld2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RXdlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmYW8iPgogICAgICAgICAgPHZhbHVlPmZhbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GYXJvZXNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmaWoiPgogICAgICAgICAgPHZhbHVlPmZpajwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GaWppYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZpbiI+CiAgICAgICAgICA8dmFsdWU+ZmluPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZpbm5pc2g8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZyYSI+CiAgICAgICAgICA8dmFsdWU+ZnJhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkZyZW5jaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZnVsIj4KICAgICAgICAgIDx2YWx1ZT5mdWw8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RnVsYWg8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImdsYSI+CiAgICAgICAgICA8dmFsdWU+Z2xhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkdhZWxpYzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZ2xnIj4KICAgICAgICAgIDx2YWx1ZT5nbGc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+R2FsaWNpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imx1ZyI+CiAgICAgICAgICA8dmFsdWU+bHVnPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkdhbmRhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrYXQiPgogICAgICAgICAgPHZhbHVlPmthdDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5HZW9yZ2lhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGV1Ij4KICAgICAgICAgIDx2YWx1ZT5kZXU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+R2VybWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJlbGwiPgogICAgICAgICAgPHZhbHVlPmVsbDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5HcmVlaywgTW9kZXJuICgxNDUzLSk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImdybiI+CiAgICAgICAgICA8dmFsdWU+Z3JuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkd1YXJhbmk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imd1aiI+CiAgICAgICAgICA8dmFsdWU+Z3VqPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkd1amFyYXRpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJoYXQiPgogICAgICAgICAgPHZhbHVlPmhhdDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IYWl0aWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJoYXUiPgogICAgICAgICAgPHZhbHVlPmhhdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IYXVzYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iaGViIj4KICAgICAgICAgIDx2YWx1ZT5oZWI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SGVicmV3PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJoZXIiPgogICAgICAgICAgPHZhbHVlPmhlcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IZXJlcm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImhpbiI+CiAgICAgICAgICA8dmFsdWU+aGluPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkhpbmRpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJobW8iPgogICAgICAgICAgPHZhbHVlPmhtbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5IaXJpIE1vdHU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imh1biI+CiAgICAgICAgICA8dmFsdWU+aHVuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkh1bmdhcmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iaXNsIj4KICAgICAgICAgIDx2YWx1ZT5pc2w8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SWNlbGFuZGljPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJpZG8iPgogICAgICAgICAgPHZhbHVlPmlkbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5JZG88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImlibyI+CiAgICAgICAgICA8dmFsdWU+aWJvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PklnYm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImluZCI+CiAgICAgICAgICA8dmFsdWU+aW5kPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkluZG9uZXNpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImluYSI+CiAgICAgICAgICA8dmFsdWU+aW5hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkludGVybGluZ3VhIChJbnRlcm5hdGlvbmFsIEF1eGlsaWFyeSBMYW5ndWFnZSBBc3NvY2lhdGlvbik8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImlsZSI+CiAgICAgICAgICA8dmFsdWU+aWxlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkludGVybGluZ3VlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJpa3UiPgogICAgICAgICAgPHZhbHVlPmlrdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5JbnVrdGl0dXQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImlwayI+CiAgICAgICAgICA8dmFsdWU+aXBrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkludXBpYXE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImdsZSI+CiAgICAgICAgICA8dmFsdWU+Z2xlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PklyaXNoPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJpdGEiPgogICAgICAgICAgPHZhbHVlPml0YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5JdGFsaWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJqcG4iPgogICAgICAgICAgPHZhbHVlPmpwbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5KYXBhbmVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iamF2Ij4KICAgICAgICAgIDx2YWx1ZT5qYXY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+SmF2YW5lc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImthbCI+CiAgICAgICAgICA8dmFsdWU+a2FsPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkthbGFhbGxpc3V0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrYW4iPgogICAgICAgICAgPHZhbHVlPmthbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LYW5uYWRhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrYXUiPgogICAgICAgICAgPHZhbHVlPmthdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LYW51cmk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImthcyI+CiAgICAgICAgICA8dmFsdWU+a2FzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkthc2htaXJpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrYXoiPgogICAgICAgICAgPHZhbHVlPmthejwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LYXpha2g8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImtpayI+CiAgICAgICAgICA8dmFsdWU+a2lrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pktpa3V5dTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ia2luIj4KICAgICAgICAgIDx2YWx1ZT5raW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+S2lueWFyd2FuZGE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImtpciI+CiAgICAgICAgICA8dmFsdWU+a2lyPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PktpcmdoaXo8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImtvbSI+CiAgICAgICAgICA8dmFsdWU+a29tPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PktvbWk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImtvbiI+CiAgICAgICAgICA8dmFsdWU+a29uPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PktvbmdvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrb3IiPgogICAgICAgICAgPHZhbHVlPmtvcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Lb3JlYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imt1YSI+CiAgICAgICAgICA8dmFsdWU+a3VhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkt1YW55YW1hPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJrdXIiPgogICAgICAgICAgPHZhbHVlPmt1cjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5LdXJkaXNoPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJsYW8iPgogICAgICAgICAgPHZhbHVlPmxhbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5MYW88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImxhdCI+CiAgICAgICAgICA8dmFsdWU+bGF0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkxhdGluPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJsYXYiPgogICAgICAgICAgPHZhbHVlPmxhdjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5MYXR2aWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJsaW0iPgogICAgICAgICAgPHZhbHVlPmxpbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5MaW1idXJnYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImxpbiI+CiAgICAgICAgICA8dmFsdWU+bGluPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkxpbmdhbGE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImxpdCI+CiAgICAgICAgICA8dmFsdWU+bGl0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkxpdGh1YW5pYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imx1YiI+CiAgICAgICAgICA8dmFsdWU+bHViPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pkx1YmEtS2F0YW5nYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibHR6Ij4KICAgICAgICAgIDx2YWx1ZT5sdHo8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+THV4ZW1ib3VyZ2lzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibWtkIj4KICAgICAgICAgIDx2YWx1ZT5ta2Q8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFjZWRvbmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibWxnIj4KICAgICAgICAgIDx2YWx1ZT5tbGc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TWFsYWdhc3k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im1zYSI+CiAgICAgICAgICA8dmFsdWU+bXNhPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1hbGF5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJtYWwiPgogICAgICAgICAgPHZhbHVlPm1hbDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NYWxheWFsYW08L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im1sdCI+CiAgICAgICAgICA8dmFsdWU+bWx0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1hbHRlc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImdsdiI+CiAgICAgICAgICA8dmFsdWU+Z2x2PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1hbng8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im1yaSI+CiAgICAgICAgICA8dmFsdWU+bXJpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1hb3JpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJtYXIiPgogICAgICAgICAgPHZhbHVlPm1hcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NYXJhdGhpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJtYWgiPgogICAgICAgICAgPHZhbHVlPm1haDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5NYXJzaGFsbGVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibW9uIj4KICAgICAgICAgIDx2YWx1ZT5tb248L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TW9uZ29saWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJuYXUiPgogICAgICAgICAgPHZhbHVlPm5hdTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5OYXVydTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibmF2Ij4KICAgICAgICAgIDx2YWx1ZT5uYXY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TmF2YWpvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJuZGUiPgogICAgICAgICAgPHZhbHVlPm5kZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5OZGViZWxlLCBOb3J0aDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibmJsIj4KICAgICAgICAgIDx2YWx1ZT5uYmw8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TmRlYmVsZSwgU291dGg8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im5kbyI+CiAgICAgICAgICA8dmFsdWU+bmRvPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5kb25nYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibmVwIj4KICAgICAgICAgIDx2YWx1ZT5uZXA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TmVwYWxpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzbWUiPgogICAgICAgICAgPHZhbHVlPnNtZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Ob3J0aGVybiBTYW1pPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJub3IiPgogICAgICAgICAgPHZhbHVlPm5vcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Ob3J3ZWdpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im5ubyI+CiAgICAgICAgICA8dmFsdWU+bm5vPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5vcndlZ2lhbiBOeW5vcnNrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvY2kiPgogICAgICAgICAgPHZhbHVlPm9jaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PY2NpdGFuIChwb3N0IDE1MDApPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvamkiPgogICAgICAgICAgPHZhbHVlPm9qaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Pamlid2E8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9yaSI+CiAgICAgICAgICA8dmFsdWU+b3JpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9yaXlhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvcm0iPgogICAgICAgICAgPHZhbHVlPm9ybTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Pcm9tbzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib3NzIj4KICAgICAgICAgIDx2YWx1ZT5vc3M8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T3NzZXRpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBsaSI+CiAgICAgICAgICA8dmFsdWU+cGxpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBhbGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBhbiI+CiAgICAgICAgICA8dmFsdWU+cGFuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBhbmphYmk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhcyI+CiAgICAgICAgICA8dmFsdWU+ZmFzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBlcnNpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InBvbCI+CiAgICAgICAgICA8dmFsdWU+cG9sPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBvbGlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icG9yIj4KICAgICAgICAgIDx2YWx1ZT5wb3I8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UG9ydHVndWVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icHVzIj4KICAgICAgICAgIDx2YWx1ZT5wdXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UHVzaHRvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJxdWUiPgogICAgICAgICAgPHZhbHVlPnF1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5RdWVjaHVhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJyb24iPgogICAgICAgICAgPHZhbHVlPnJvbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Sb21hbmlhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icm9oIj4KICAgICAgICAgIDx2YWx1ZT5yb2g8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Um9tYW5zaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icnVuIj4KICAgICAgICAgIDx2YWx1ZT5ydW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+UnVuZGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InJ1cyI+CiAgICAgICAgICA8dmFsdWU+cnVzPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJ1c3NpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNtbyI+CiAgICAgICAgICA8dmFsdWU+c21vPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNhbW9hbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic2FnIj4KICAgICAgICAgIDx2YWx1ZT5zYWc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2FuZ288L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNhbiI+CiAgICAgICAgICA8dmFsdWU+c2FuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNhbnNrcml0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzcmQiPgogICAgICAgICAgPHZhbHVlPnNyZDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TYXJkaW5pYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNycCI+CiAgICAgICAgICA8dmFsdWU+c3JwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNlcmJpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNuYSI+CiAgICAgICAgICA8dmFsdWU+c25hPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNob25hPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJpaWkiPgogICAgICAgICAgPHZhbHVlPmlpaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TaWNodWFuIFlpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzbmQiPgogICAgICAgICAgPHZhbHVlPnNuZDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TaW5kaGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNpbiI+CiAgICAgICAgICA8dmFsdWU+c2luPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNpbmhhbGE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNsayI+CiAgICAgICAgICA8dmFsdWU+c2xrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNsb3ZhazwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic2x2Ij4KICAgICAgICAgIDx2YWx1ZT5zbHY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U2xvdmVuaWFuPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzb20iPgogICAgICAgICAgPHZhbHVlPnNvbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Tb21hbGk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InNvdCI+CiAgICAgICAgICA8dmFsdWU+c290PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlNvdGhvLCBTb3V0aGVybjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic3BhIj4KICAgICAgICAgIDx2YWx1ZT5zcGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U3BhbmlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic3VuIj4KICAgICAgICAgIDx2YWx1ZT5zdW48L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U3VuZGFuZXNlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzd2EiPgogICAgICAgICAgPHZhbHVlPnN3YTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Td2FoaWxpPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJzc3ciPgogICAgICAgICAgPHZhbHVlPnNzdzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Td2F0aTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic3dlIj4KICAgICAgICAgIDx2YWx1ZT5zd2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U3dlZGlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idGdsIj4KICAgICAgICAgIDx2YWx1ZT50Z2w8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGFnYWxvZzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idGFoIj4KICAgICAgICAgIDx2YWx1ZT50YWg8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGFoaXRpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRnayI+CiAgICAgICAgICA8dmFsdWU+dGdrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRhamlrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ0YW0iPgogICAgICAgICAgPHZhbHVlPnRhbTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UYW1pbDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idGF0Ij4KICAgICAgICAgIDx2YWx1ZT50YXQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGF0YXI8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRlbCI+CiAgICAgICAgICA8dmFsdWU+dGVsPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRlbHVndTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idGhhIj4KICAgICAgICAgIDx2YWx1ZT50aGE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGhhaTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYm9kIj4KICAgICAgICAgIDx2YWx1ZT5ib2Q8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGliZXRhbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idGlyIj4KICAgICAgICAgIDx2YWx1ZT50aXI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VGlncmlueWE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRvbiI+CiAgICAgICAgICA8dmFsdWU+dG9uPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRvbmdhIChUb25nYSBJc2xhbmRzKTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idHNvIj4KICAgICAgICAgIDx2YWx1ZT50c288L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VHNvbmdhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ0c24iPgogICAgICAgICAgPHZhbHVlPnRzbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Uc3dhbmE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR1ciI+CiAgICAgICAgICA8dmFsdWU+dHVyPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlR1cmtpc2g8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR1ayI+CiAgICAgICAgICA8dmFsdWU+dHVrPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlR1cmttZW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR3aSI+CiAgICAgICAgICA8dmFsdWU+dHdpPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlR3aTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idWlnIj4KICAgICAgICAgIDx2YWx1ZT51aWc8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VWlnaHVyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ1a3IiPgogICAgICAgICAgPHZhbHVlPnVrcjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Va3JhaW5pYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InVyZCI+CiAgICAgICAgICA8dmFsdWU+dXJkPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlVyZHU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InV6YiI+CiAgICAgICAgICA8dmFsdWU+dXpiPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlV6YmVrPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ2ZW4iPgogICAgICAgICAgPHZhbHVlPnZlbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5WZW5kYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idmllIj4KICAgICAgICAgIDx2YWx1ZT52aWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VmlldG5hbWVzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0idm9sIj4KICAgICAgICAgIDx2YWx1ZT52b2w8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Vm9sYXDDvGs8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IndsbiI+CiAgICAgICAgICA8dmFsdWU+d2xuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PldhbGxvb248L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImN5bSI+CiAgICAgICAgICA8dmFsdWU+Y3ltPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PldlbHNoPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmcnkiPgogICAgICAgICAgPHZhbHVlPmZyeTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5XZXN0ZXJuIEZyaXNpYW48L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IndvbCI+CiAgICAgICAgICA8dmFsdWU+d29sPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PldvbG9mPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ4aG8iPgogICAgICAgICAgPHZhbHVlPnhobzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5YaG9zYTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ieWlkIj4KICAgICAgICAgIDx2YWx1ZT55aWQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+WWlkZGlzaDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ieW9yIj4KICAgICAgICAgIDx2YWx1ZT55b3I8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+WW9ydWJhPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJ6aGEiPgogICAgICAgICAgPHZhbHVlPnpoYTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5aaHVhbmc8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Inp1bCI+CiAgICAgICAgICA8dmFsdWU+enVsPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Plp1bHU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+VXBkYXRlIGRlZmF1bHQgc3lzdGVtIGxhbmd1YWdlIGJ5IGlucHV0IDMgY2hhciBJU08gNjM5LTMgbGFuZ3VhZ2UgY29kZSAoZS5nLiAnZW5nJywgJ3NwYScsICdubGQnKS4KICAgICAgICAgICAgICAgIFRoaXMgZGVmYXVsdCBzZXR0aW5nIHdpbGwgb25seSBiZSBhcHBsaWVkIGlmIG5vIHVzZXIgcHJlZmVyZW5jZSBoYXMgYmVlbiBzcGVjaWZpZWQuIElmIHVzZXJzIGhhdmUgcHJldmlvdXNseSBzZXQgdGhlaXIgcHJlZmVyZW5jZXMgdGhyb3VnaCB0aGUgdXNlciBpbnRlcmZhY2UsIGEgZmFjdG9yeSByZXNldCB3aWxsIGJlIG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgdGhlIG5ldyBjaGFuZ2VzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0udXNlcl9yb3RhdGlvbiI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iMCBkZWdyZWUiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MCBkZWdyZWU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjkwIGRlZ3JlZSI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT45MCBkZWdyZWU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjE4MCBkZWdyZWUiPgogICAgICAgICAgPHZhbHVlPjI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MTgwIGRlZ3JlZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMjcwIGRlZ3JlZSI+CiAgICAgICAgICA8dmFsdWU+MzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4yNzAgZGVncmVlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCB2YWx1ZSBmb3IgYW5kcm9pZCBzeXN0ZW0gb3JpZW50YXRpb24gd2hpY2ggaXMgcm90YXRlZCBjbG9ja3dpc2UuIDA6IDAgZGVncmVlLCAxOiA5MCBkZWdyZWUsIDI6IDE4MCBkZWdyZWUsIDM6IDI3MCBkZWdyZWUuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5pZ21wX2hlbHBlci5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9uIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvZmYiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9GRjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgSUdNUCBIZWxwZXIgZm9yIHNlbmRpbmcgaWdtcCBxdWVyeSBhbmQgcmVwb3J0IHRvIG5ldHdvcmsgZGV2aWNlczwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0ucG9pbnRlcl9zcGVlZCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+Xi0/WzAtN10kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgUG9pbnRlciBzcGVlZCBzZXR0aW5nLiBUaGlzIGlzIGFuIGludGVnZXIgdmFsdWUgaW4gYSByYW5nZSBiZXR3ZWVuIC03IGFuZCArNywgc28gdGhlcmUgYXJlIDE1IHBvc3NpYmxlIHZhbHVlcy4KICAgICAgICAgICAgICAgIC03ID0gc2xvd2VzdDsgMCA9IGRlZmF1bHQgc3BlZWQ7ICs3ID0gZmFzdGVzdAogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3lzdGVtLmRldmljZV9uYW1lIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZXZpY2UgbmFtZSB3aWxsIGJlIGRpc3BsYXllZCBvbiBvdGhlciBkZXZpY2VzIHdoZW4gY29ubmVjdGVkIHZpYSBtZXRob2RzIHN1Y2ggYXMgSERNSSBDRUMgKG1heCBsZW5ndGg6IDE0KSwgQmx1ZXRvb3RoLCBhbmQgV2ktRmkgRGlyZWN0LiBTdXBwb3J0IHtNYWNBZGRyZXNzfSwge1NlcmlhbE51bWJlcn0gYXMgbWFjcm8gZXhwYW5zaW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0uaGRjcC5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9uIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvZmYiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9GRjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgb3IgZGlzYWJsZSBIRENQIHByb3RlY3Rpb24uPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5mb250X3NjYWxlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl4oNTB8WzUtOV1cZHwxXGRcZHwyMDApJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIFN5c3RlbSB0ZXh0IHNpemUgYXMgYSBwZXJjZW50YWdlLCBtYXBzIHRvIFNldHRpbmdzLlN5c3RlbS5GT05UX1NDQUxFLgogICAgICAgICAgICAgICAgQWxsb3dlZCB2YWx1ZXM6IDUwLTIwMC4gRXhhbXBsZXM6IDg1ID0gc21hbGwsIDEwMCA9IGRlZmF1bHQsIDExNSA9IGxhcmdlci4KICAgICAgICAgICAgICAgIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzZXQsIHRoZSBkZXZpY2UgcmV2ZXJ0cyB0byB0aGUgZGVmYXVsdCB0ZXh0IHNpemUgKDEwMCUpLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3lzdGVtLmRpc3BsYXlfc2NhbGUiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjEwMDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XihbNS05XVxkfDFcZFxkfDIwMCkkPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgU2NhbGVzIG9uLXNjcmVlbiBVSSAoaWNvbnMsIGJ1dHRvbnMsIGxheW91dHMpIHJlbGF0aXZlIHRvIHRoZSBkZXZpY2UgZGVmYXVsdC4KICAgICAgICAgICAgICAgIEFsbG93ZWQgdmFsdWVzOiA1MC0yMDAuIFRoZSByZXN1bHRpbmcgVUkgaXMgc2NhbGVkIGFjY29yZGluZyB0byBib3RoIHRoZSBnaXZlbiBwZXJjZW50YWdlIGFuZCB0aGUgZGV2aWNlJ3Mgc2NyZWVuIHJlc29sdXRpb24uCiAgICAgICAgICAgICAgICBUaGUgZmluYWwgRFBJIGlzIGNsYW1wZWQgdG8gYSBtaW5pbXVtIG9mIDcyIGZvciB1c2FiaWxpdHkuIEZvciBleGFtcGxlOiBvbiBhIGRldmljZSB3aXRoIHJlc29sdXRpb24gMTI4MHg3MjAgKGJhc2VEUEkgMjEzKSwgNTUlIHNjYWxlIHlpZWxkcyB0YXJnZXREUEkgMTE3OyBvbiA3MjB4NDgwIChiYXNlRFBJIDEyMCksIDU1JSB3b3VsZCB5aWVsZCA2NiwgYnV0IGlzIGNsYW1wZWQgdG8gNzIuCiAgICAgICAgICAgICAgICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc2V0LCBhbnkgZGVuc2l0eSBvdmVycmlkZSBpcyBjbGVhcmVkIGFuZCB0aGUgZGV2aWNlIHJldHVybnMgdG8gaXRzIGRlZmF1bHQgZGVuc2l0eS4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5sZWQuZnJvbnRfcGFuZWwuZW5hYmxlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvbiIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib2ZmIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIG9yIGRpc2FibGUgdGhlIGZyb250IHBhbmVsIExFRHMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5sZWQuZXRoZXJuZXRfcG9ydC5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9uIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvZmYiPgogICAgICAgICAgPHZhbHVlPmZhbHNlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9GRjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgRXRoZXJuZXQgcG9ydCBMRURzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIuZXJyb3Jfc2Vla19vZmZzZXQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjUwMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBzZWVrIG9mZnNldCBwb3NpdGlvbiwgaW4gbWlsbGlzZWNvbmRzLCBvbmx5IGZvciBzZWVrIHRvIHRhaWwgZWRnZSBjYXNlLiBUaGlzIGlzIHRvIHByZXZlbnQgc2Vla2luZyBkaXJlY3RseSBhdCB0aGUgdGFpbCBlZGdlIHdoZXJlIGl0IGNvdWxkIGxpa2VseSBnbyBvdXQgb2YgdGhlIHBsYXlhYmxlIHdpbmRvdyBib3VuZHMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmVycm9yX3NlZWtfcmVtYWluX2R1cmF0aW9uIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDAwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eLTEkfF5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgVGhlIHJlbWFpbmluZyBkdXJhdGlvbiBvZiBwbGF5YWJsZSB3aW5kb3csIGluIG1pbGxpc2Vjb25kcywgYmVmb3JlIHN0YXJ0aW5nIHRvIGRvIHNlZWsgYWN0aW9uLgogICAgICAgICAgICAgICAgZS5nLiBpZiBzZXQgdG8gMTAwMCwgdGhpcyBtZWFucyBpZiB0aGVyZSBpcyAxMDAwbXMgb3IgbGVzcyBpbiB0aGUgd2luZG93IGJlZm9yZSB0aGUgY3VycmVudCBwb3NpdGlvbiBnb2VzIG91dCBvZiBib3VuZHMgdGhlbiBkbyBzZWVrIGFjdGlvbi4KICAgICAgICAgICAgICAgIGlmIHNldCB0byAtMSwgdGhpcyBpbmRpY2F0ZXMgaW5maW5pdGUgcmVtYWluaW5nIGR1cmF0aW9uLCBtZWFuaW5nIGl0IHdpbGwgYWx3YXlzIGltbWVkaWF0ZWx5IGRvIHNlZWsgYWN0aW9uIHdoZW4gZXJyb3IuCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5lcnJvcl9zZWVrX3RvX2xpdmUiPgogICAgICA8dGV4dD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+c2VlayB0byBsaXZlIGVkZ2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5zZWVrIHRvIHRhaWwgZWRnZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZWRnZSBwb3NpdGlvbiB0byBzZWVrIHRvIHdoZW4gdGhlIGVycm9yX3NlZWtfcmVtYWluX2R1cmF0aW9uIGNvbmRpdGlvbnMgYXJlIHNhdGlzZmllZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIuZXJyb3JfZXhjZXB0aW9uX3ByZXBhcmVfcmVzdGFydCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0idHJ1ZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DYWxsIFByZXBhcmUgYW5kIFJlc3RhcnQgc3RyZWFtLCB3aGVuIHBsYXllciBleGNlcHRpb24gb2NjdXJzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmYWxzZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RG8gbm90IHRyeSBoYW5kbGluZyBlcnJvciB3aGVuIHBsYXllciBleGNlcHRpb24gb2NjdXJzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPldoZW4gYSBwbGF5ZXIgZXhjZXB0aW9uIG9jY3VycywgdXN1YWxseSB1bmV4cGVjdGVkbHksIHRyeSB0byBjYWxsIFByZXBhcmUgYW5kIFJlc3RhcnQgc3RyZWFtIHRvIHRyeSBhbGxvdyByZWNvdmVyeTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci51c2VyX2FnZW50Ij4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkEgY3VzdG9tIHN0cmluZyB0byBzcGVjaWZ5IHVzZXIgYWdlbnQgZm9yIHBsYXllci4gU3VwcG9ydCB7RGVmYXVsdFVzZXJBZ2VudH0sIHtNYWNBZGRyZXNzfSwge1NlcmlhbE51bWJlcn0gYXMgbWFjcm8gZXhwYW5zaW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5vcHRpdmlldy5saWNlbnNlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPk9wdGlWaWV3IFNESyBsaWNlbnNlIHN0cmluZy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIuZXJyb3JfaGFuZGxpbmdfcG9saWN5Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkZWZhdWx0IiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5kZWZhdWx0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkRlZmF1bHRMb2FkRXJyb3JIYW5kbGluZ1BvbGljeTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYW1pbm8iPgogICAgICAgICAgPHZhbHVlPmFtaW5vPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFtaW5vTG9hZEVycm9ySGFuZGxpbmdQb2xpY3k8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBXaGVuIHNldCB0byBkZWZhdWx0LCBFeG9QbGF5ZXIgd2lsbCBidWlsZCBtZWRpYSBzb3VyY2Ugd2l0aCB0aGUgZGVmYXVsdCBlcnJvciBoYW5kbGluZyBwb2xpY3ksIHdoaWNoIHdpbGwgc3RvcCByZXRyeSBhbmQgdGhyb3cgZXJyb3IgdG8gYnJvd3Nlci4KICAgICAgICAgICAgICAgIE90aGVyd2lzZSwgdGhlIHBsYXllciB3aWxsIGtlZXAgcmV0cnlpbmcgaW5zdGVhZCBvZiB0ZXJtaW5hdGluZy90aHJvd2luZyBlcnJvciB0byBicm93c2VyLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIudWRwLmJ1ZmZlcl9mb3JfcGxheWJhY2tfbXMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjEwMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgQSBjdXN0b20gZHVyYXRpb24gKG1zKSBmb3IgY29udHJvbGxpbmcgREVGQVVMVF9CVUZGRVJfRk9SX1BMQVlCQUNLX01TIGZvciBVRFAgc3RyZWFtaW5nLCB3aGljaCBpcyBhIGJ1ZmZlciB0aW1lIGJlZm9yZSB0aGUgVURQIHN0cmVhbWluZyBwbGF5YmFjay4KICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlZCB0aGF0IGJ5IGluY3JlYXNpbmcgdGhpcyB2YWx1ZSwgd2lsbCBhbHNvIGluY3JlYXNlIHRoZSBjaGFubmVsIHphcCB0aW1lLgogICAgICAgICAgICAgICAgVGh1cywgdGhpcyBJTkkgaXMgZm9yIHNwZWNpYWwgcHVycG9zZXMgb25seS4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLnVkcC5idWZmZXJfZm9yX3BsYXliYWNrX2FmdGVyX3JlYnVmZmVyX21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDAwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIEEgY3VzdG9tIGR1cmF0aW9uIChtcykgZm9yIGNvbnRyb2xsaW5nIERFRkFVTFRfQlVGRkVSX0ZPUl9QTEFZQkFDS19BRlRFUl9SRUJVRkZFUl9NUyBmb3IgVURQIHN0cmVhbWluZy4KICAgICAgICAgICAgICAgIEl0IGlzIGEgYnVmZmVyIHRpbWUgcmVxdWlyZWQgZm9yIHRoZSBVRFAgc3RyZWFtaW5nIHBsYXliYWNrIHRvIGJlIHJlc3VtZWQgZnJvbSBsb2FkaW5nIGluIHRoZSBtaWRkbGUgb2YgcGxheWJhY2suCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kb2xieS5taW5fYml0cmF0ZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+VGhlIG1pbmltdW0gdmlkZW8gYml0cmF0ZSBmb3IgdGhlIERvbGJ5IHBsYXllciBpbiBraWxvYml0cyBwZXIgc2Vjb25kIChrYnBzKS4gQSB2YWx1ZSBvZiAwIGluZGljYXRlcyBubyBsaW1pdCwgbWVhbmluZyB0aGUgcGxheWVyIGNhbiByZWR1Y2UgdGhlIHZpZGVvIGJpdHJhdGUgYXMgbmVlZGVkIHRvIG1haW50YWluIHBsYXliYWNrLiBJZiBhIHZhbGlkIG1pbmltdW0gYml0cmF0ZSBpcyBzZXQsIHRoZSBwbGF5ZXIgc2VsZWN0cyB0aGUgaGlnaGVzdCBhdmFpbGFibGUgYml0cmF0ZSB0aGF0IGlzIGxhcmdlciB0aGFuIHRoaXMgdmFsdWUsIGZvcm1pbmcgdGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBiaXRyYXRlIHJhbmdlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kb2xieS5tYXhfYml0cmF0ZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+VGhlIG1heGltdW0gdmlkZW8gYml0cmF0ZSBmb3IgdGhlIERvbGJ5IHBsYXllciBpbiBraWxvYml0cyBwZXIgc2Vjb25kIChrYnBzKS4gQSB2YWx1ZSBvZiAwIGluZGljYXRlcyBubyBsaW1pdCwgYWxsb3dpbmcgdGhlIHBsYXllciB0byB1c2UgdGhlIG1heGltdW0gYXZhaWxhYmxlIGJhbmR3aWR0aCBmb3IgdGhlIGJlc3QgdmlkZW8gcXVhbGl0eS4gSWYgYSB2YWxpZCBtYXhpbXVtIGJpdHJhdGUgaXMgc2V0LCB0aGUgcGxheWVyIHNlbGVjdHMgdGhlIGhpZ2hlc3QgYXZhaWxhYmxlIGJpdHJhdGUgdGhhdCBpcyBsb3dlciB0aGFuIHRoaXMgdmFsdWUsIGZvcm1pbmcgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBiaXRyYXRlIHJhbmdlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kb2xieS5taW5faml0dGVyX2RlbGF5X21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSskPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBtaW5pbXVtIGppdHRlciBkZWxheSBmb3IgdGhlIERvbGJ5IHBsYXllciBpbiBtaWxsaXNlY29uZHMuIFRoaXMgc2V0dGluZyBoZWxwcyB0byBtYW5hZ2UgcGxheWJhY2sgc3RhYmlsaXR5LCBlc3BlY2lhbGx5IHVuZGVyIG5ldHdvcmsgY29uZGl0aW9ucyB3aXRoIHZhcnlpbmcgYmFuZHdpZHRoLiBBIGhpZ2hlciB2YWx1ZSBtYXkgaW1wcm92ZSBwbGF5YmFjayByZXNpbGllbmNlIGJ5IGFsbG93aW5nIG1vcmUgdGltZSBmb3IgYnVmZmVyaW5nLCB3aGljaCBjYW4gYmUgYmVuZWZpY2lhbCB3aGVuIGRlYWxpbmcgd2l0aCBtdWx0aXBsZSBzdHJlYW1zLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci50YXJnZXRfYnVmZmVyX2R1cmF0aW9uX21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDAwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0rJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IGJ1ZmZlcmVkIGR1cmF0aW9uIGZvciB0aGUgcGxheWVyIGluIG1pbGxpc2Vjb25kcy4gSXQgYWRqdXN0cyB0aGUgcGxheWJhY2sgc3BlZWQgdG8gbWFpbnRhaW4gYSBzcGVjaWZpYyBidWZmZXIgbGV2ZWwuIExvd2VyIHZhbHVlcyByZXN1bHQgaW4gbG93ZXIgbGF0ZW5jeSwgYnV0IHZhbHVlcyB0b28gY2xvc2UgdG8gMG1zIG1heSBjYXVzZSB0aGUgdmlkZW8gYnVmZmVyIHRvIGRyYWluIHRvIGVtcHR5LCByZXN1bHRpbmcgaW4gdmlkZW8gcGF1c2VzIGFuZCBidWZmZXJpbmcuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHZhbHVlcyBiZXR3ZWVuIDMwMG1zIGFuZCA3NTBtcyBmb3Igb3B0aW1hbCBwZXJmb3JtYW5jZS4gVGhpcyBwYXJhbWV0ZXIgYXBwbGllcyBleGNsdXNpdmVseSB0byBTUlQgYW5kIFVEUCBzdHJlYW1zIHdpdGhpbiB0aGUgYnJvd3NlciBlbnZpcm9ubWVudCwgc3BlY2lmaWNhbGx5IHdoZW4gdXNpbmcgWmFwcGVyIGFuZCBFbmFibGVKUy4gSXQgZG9lcyBub3QgYWZmZWN0IEFDMyBhdWRpbyBzdHJlYW1zLiAwIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kcm9wX2ZyYW1lX21vZGUiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgdGhlIGJlaGF2aW9yIG9uIHNob3dpbmcgdGhlIGNvcnJ1cHRlZCBmcmFtZTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5QbGF5ZXI8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgICA8cmVtYXJrIG1pZGRsZXdhcmU9ImFvc3AiPgogICAgICAgIDxjb21tZW50cz4wOiBKdXN0IHByZXNlbnQgdGhlIGJyb2tlbiBwaWN0dXJlcyBbZGVmYXVsdF08L2NvbW1lbnRzPgogICAgICAgIDxjb21tZW50cz4xOiBTa2lwIHRoZSBicm9rZW4gZnJhbWU8L2NvbW1lbnRzPgogICAgICAgIDxjb21tZW50cz4yOiBTa2lwIGFsbCBmcmFtZXMgZnJvbSB0aGUgYnJva2VuIG9uZSB0byB0aGUgbmV4dCBJLWZyYW1lPC9jb21tZW50cz4KICAgICAgPC9yZW1hcms+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5zdGF0c19vdmVybGF5LmVuYWJsZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5FbmFibGUgUGxheWVyIFN0YXRzIE92ZXJsYXk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImZhbHNlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXNhYmxlIFBsYXllciBTdGF0cyBPdmVybGF5PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9kaXNhYmxlIHBsYXllciBzdGF0cyBvdmVybGF5LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImVlbG0uZW5hYmxlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkaXNhYmxlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9ubHkgYWxsb3cgY29ubmVjdGlvbiBmcm9tIGxvY2FsaG9zdDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYm90aCI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5BbGxvdyBib3RoIEhUVFAgYW5kIEhUVFBTIGNvbm5lY3Rpb24gd2l0aG91dCBjbGllbnQgYXV0aGVudGljYXRpb248L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imh0dHBzX25vbl9hdXRoIj4KICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFsbG93IEhUVFBTIGNvbm5lY3Rpb24gd2l0aG91dCBjbGllbnQgYXV0aGVudGljYXRpb248L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Imh0dHBzX2F1dGgiPgogICAgICAgICAgPHZhbHVlPjM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWxsb3cgSFRUUFMgY29ubmVjdGlvbiB3aXRoIGNsaWVudCBhdXRoZW50aWNhdGlvbjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIHNlY3VyaXR5IGxldmVsIGZvciBFbmFibGUgRW50ZXJwcmlzZSBMb2NhbCBNYW5hZ2VtZW50IHNlcnZlciAoRUVMTSkuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImVlbG0udHJ1c3Rfc3RvcmUiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPmFtaW5vPC9kZWZhdWx0VmFsdWU+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkEgY29udmVydGVkIFBFTSBzdHJpbmcgKHdpdGhvdXQgbmV3IGxpbmUpIHRvIHNwZWNpZnkgdGhlIGNlcnRpZmljYXRlIHVzZWQgZm9yIGNsaWVudCBhdXRoZW50aWNhdGlvbi48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic2VjdXJpdHkudXNlcl9jYS5iYXNlNjRfZGVyIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZSAvPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIEJhc2U2NC1lbmNvZGVkIERFUiBjZXJ0aWZpY2F0ZXMgZm9yIHVzZXIgQ0FzLiBQcm92aWRlIG9uZSBvciBtb3JlIGNlcnRpZmljYXRlcyBpbiBhIHNpbmdsZSBsaW5lLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgogICAgICAgICAgICAgICAgVXNlIFBFTSBib2R5IG9ubHkgKG5vIC0tLS0tQkVHSU4vRU5EIENFUlRJRklDQVRFLS0tLS0pLCBhbmQga2VlcCBlYWNoIGNlcnRpZmljYXRlIG9uIG9uZSBsaW5lLgogICAgICAgICAgICAgICAgSWYgYW55IGl0ZW0gaXMgaW52YWxpZCwgdGhlIHN5bmMgZmFpbHMgYW5kIG5vIGNlcnRpZmljYXRlIGNoYW5nZXMgYXJlIGFwcGxpZWQuCiAgICAgICAgICAgICAgICBPbiB2YWxpZCBpbnB1dCwgcHJldmlvdXNseSBpbnN0YWxsZWQgdXNlciBjZXJ0aWZpY2F0ZXMgdGhhdCBhcmUgbm90IGluIHRoaXMgbGlzdCBhcmUgcmVtb3ZlZC4KICAgICAgICAgICAgICAgIEFuIGVtcHR5IHZhbHVlIGlzIHRyZWF0ZWQgYXMgYW4gZW1wdHkgbGlzdCBhbmQgd2lsbCByZW1vdmUgYWxsIHVzZXItaW5zdGFsbGVkIENBcy4KICAgICAgICAgICAgICAgIEV4YW1wbGU6IE1JSUU5akNDQTk2Z0F3SUJBZ0lRQXErQXJpVXVjRW9ub05vbWpMaUF1M2RTUWNoRFRMamZQcmRTa0hhZz0sTUlJRW5EQ0NCQVdnQXdJQkFnSVFkVE5vc3pjWXowS3lOQ0ZrUjlNZ2F6cE0zT1lEa0F3PQogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic2VjdXJpdHkuY2FfYmxhY2tsaXN0LnB1YmtleV9zaGExIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZSAvPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIFNIQS0xIGhhc2hlcyBvZiBjZXJ0aWZpY2F0ZSBwdWJsaWMga2V5cyB0byBibGFja2xpc3QuIFByb3ZpZGUgb25lIG9yIG1vcmUgaGFzaGVzIGluIGEgc2luZ2xlIGxpbmUsIHNlcGFyYXRlZCBieSBjb21tYXMuCiAgICAgICAgICAgICAgICBVc2UgdGhpcyB3aGVuIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHkgYmxvY2sgYSBzcGVjaWZpYyBDQS9wdWJsaWMga2V5IChlLmcuLCBjb21wcm9taXNlZCBvciBubyBsb25nZXIgdHJ1c3RlZCkuCiAgICAgICAgICAgICAgICBPbWl0dGluZyB0aGlzIHNldHRpbmcgd2lsbCBub3QgY2xlYXIgdGhlIGJsYWNrbGlzdDsgU2V0IHRoaXMgdmFsdWUgdG8gImNsZWFyIiB0byByZXNldCB0aGUgYmxhY2tsaXN0LgogICAgICAgICAgICAgICAgRXhhbXBsZTogY2MyZmEwNTA0N2YwNjAwNTI0MzcwNzM2MzEyZmU1ZTlhOTQ3NWUxYwogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZWVsbS56YXBwZXJfZWRpdG9yLmVuYWJsZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGlzYWJsZSI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXNhYmxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJib3RoIj4KICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFjY2VwdCByZXF1ZXN0cyBmcm9tIGJvdGggbG9jYWwgYW5kIG5vbi1sb2NhbDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ibG9jYWxfb25seSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+MjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5Pbmx5IGFjY2VwdCBsb2NhbCByZXF1ZXN0czwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icmVtb3RlX29ubHkiPgogICAgICAgICAgPHZhbHVlPjM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T25seSBhY2NlcHQgbm9uLWxvY2FsIHJlcXVlc3RzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlphcHBlciBsaW5ldXAgZWRpdG9yIHJlc3BlY3RzIHRoZSBzZWN1cml0eSBwb2xpY3kgb2YgRUVMTS4gUGxlYXNlIHNldCBib3RoIGVlbG0uZW5hYmxlPTEgYW5kIGVlbG0uemFwcGVyX2VkaXRvci5lbmFibGU9MSB0byBhbGxvdyBydW5uaW5nIGVkaXRvciByZW1vdGVseSwgZS5nLiBvbiBsYXB0b3A8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZWVsbS5kaXNjb3ZlcnkuZW5hYmxlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkaXNhYmxlIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXNhYmxlZDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZW5hYmxlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkVuYWJsZWQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0dXJuZWQgb24sIHRoaXMgZGV2aWNlIHdpbGwgbG9vayBmb3IgYSBjb250cm9sbGVyIG5vZGUgb24geW91ciBuZXR3b3JrIGFuZCBzaGFyZSBpdHMgZGV0YWlscyBhdXRvbWF0aWNhbGx5LjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0uaXJfY29udHJvbC5lbmFibGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImVuYWJsZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGlzYWJsZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T0ZGPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBvciBkaXNhYmxlIHRoZSBJUiBjb250cm9sLCB0cnVlOiBlbmFibGUsIGZhbHNlOiBkaXNhYmxlPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InR2X2NvbnRyb2wuYmFja2VuZCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0icnMyMzIiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnJzMjMyPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJTMjMyPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJjZWMiPgogICAgICAgICAgPHZhbHVlPmNlYzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5DRUM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBUViBjb250cm9sIGJhY2tlbmQgdXNlZCBieSBUViBjb250cm9sIGludGVudHMuIFZhbGlkIHZhbHVlczogcnMyMzIsIGNlYy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0idHZfY29udHJvbC5pbnB1dF9zb3VyY2UiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPnphcHBlcjwvZGVmYXVsdFZhbHVlPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgdXNlZCBieSBTV0lUQ0hfVFZfSU5QVVQuIFZhbGlkIHZhbHVlczogY29heCwgemFwcGVyLCBvciBhIHBhY2thZ2UgSUQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFwcC5hcHBfc3dpdGNoLmRlZmF1bHRfdGltZW91dF9zZWMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCB0aW1lb3V0IGluIHNlY29uZHMgZm9yIGFwcCBzd2l0Y2ggaWRsZSBkZXRlY3Rpb24uIFdoZW4gdGhpcyB0aW1lb3V0IGV4cGlyZXMgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLCB0aGUgc3lzdGVtIHdpbGwgYXV0b21hdGljYWxseSBzd2l0Y2ggdG8gdGhlIGNvbmZpZ3VyZWQgbGF1bmNoIHBhY2thZ2UuIFNldCB0byAwIHRvIGRpc2FibGUgYXV0b21hdGljIGFwcCBzd2l0Y2hpbmcuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFwcC5hcHBfc3dpdGNoLmRlZmF1bHRfbGF1bmNoX3BhY2thZ2VfaWQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlIC8+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgcGFja2FnZSBJRCB0byBsYXVuY2ggd2hlbiB0aGUgYXBwIHN3aXRjaCB0aW1lb3V0IGV4cGlyZXMuIFRoaXMgcGFja2FnZSB3aWxsIGJlIGxhdW5jaGVkIGF1dG9tYXRpY2FsbHkgaWYgbm8gdXNlciBpbnRlcmFjdGlvbiBpcyBkZXRlY3RlZCB3aXRoaW4gdGhlIHRpbWVvdXQgcGVyaW9kLiBMZWF2ZSBlbXB0eSB0byBkaXNhYmxlIGF1dG9tYXRpYyBhcHAgc3dpdGNoaW5nLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwZXJtaXNzaW9uLmRldmljZV9zdG9yYWdlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZSAvPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIFVzZSB0aGlzIHBhcmFtZXRlciB0byBhbGxvdyBhcHBzIGFjY2VzcyB0byBQaG90b3MvTWVkaWEvRmlsZXMgd2l0aG91dCBhIHJ1bnRpbWUgcHJvbXB0LgogICAgICAgICAgICAgICAgR3JhbnRzOiBhbmRyb2lkLnBlcm1pc3Npb24uUkVBRF9FWFRFUk5BTF9TVE9SQUdFLCBhbmRyb2lkLnBlcm1pc3Npb24uV1JJVEVfRVhURVJOQUxfU1RPUkFHRQogICAgICAgICAgICAgICAgRm9ybWF0OiB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCAuLi4KICAgICAgICAgICAgICAgIEV4YW1wbGU6IGNvbS5leGFtcGxlLmFwcDoxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmCiAgICAgICAgICAgICAgICBGb3Igc2VjdXJpdHkgcmVhc29ucywgdGhpcyBwYXJhbWV0ZXIgZG9lcyBub3Qgd29yayB3aXRoIERIQ1AgVkNJLiBVbmluc3RhbGwgYXBwIHRvIHJldm9rZSB0aGUgcGVybWlzc2lvbi4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBlcm1pc3Npb24uZGV2aWNlX2xvY2F0aW9uIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZSAvPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIFVzZSB0aGlzIHBhcmFtZXRlciB0byBhbGxvdyBhcHBzIHRvIGFjY2VzcyBkZXZpY2UgbG9jYXRpb24gd2l0aG91dCBhIHByb21wdCAod2hpbGUgaW4gdXNlKS4KICAgICAgICAgICAgICAgIEdyYW50czogYW5kcm9pZC5wZXJtaXNzaW9uLkFDQ0VTU19GSU5FX0xPQ0FUSU9OLCBhbmRyb2lkLnBlcm1pc3Npb24uQUNDRVNTX0NPQVJTRV9MT0NBVElPTgogICAgICAgICAgICAgICAgRm9ybWF0OiB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCAuLi4KICAgICAgICAgICAgICAgIEV4YW1wbGU6IGNvbS5leGFtcGxlLmFwcDoxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmCiAgICAgICAgICAgICAgICBGb3Igc2VjdXJpdHkgcmVhc29ucywgdGhpcyBwYXJhbWV0ZXIgZG9lcyBub3Qgd29yayB3aXRoIERIQ1AgVkNJLiBVbmluc3RhbGwgYXBwIHRvIHJldm9rZSB0aGUgcGVybWlzc2lvbi4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBlcm1pc3Npb24uZGlzcGxheV9vdmVyX290aGVyX2FwcHMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlIC8+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgVXNlIHRoaXMgcGFyYW1ldGVyIHRvIGFsbG93IGFwcHMgdG8gZGlzcGxheSBvdmVyIG90aGVyIGFwcHMgKGRyYXcgb3ZlcmxheXMpIHdpdGhvdXQKICAgICAgICAgICAgICAgIHNlbmRpbmcgdGhlIHVzZXIgdG8gU2V0dGluZ3MuIFJldmlldyBjYXJlZnVsbHk7IG92ZXJsYXlzIGNhbiBvYnNjdXJlIFVJIGFuZCBjYXB0dXJlIHRhcHMuCiAgICAgICAgICAgICAgICBTcGVjaWFsIGFjY2VzczogYW5kcm9pZC5wZXJtaXNzaW9uLlNZU1RFTV9BTEVSVF9XSU5ET1cKICAgICAgICAgICAgICAgIEZvcm1hdDoge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwgLi4uCiAgICAgICAgICAgICAgICBFeGFtcGxlOiBjb20uZXhhbXBsZS5hcHA6MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZgogICAgICAgICAgICAgICAgRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoaXMgcGFyYW1ldGVyIGRvZXMgbm90IHdvcmsgd2l0aCBESENQIFZDSS4gVW5pbnN0YWxsIGFwcCB0byByZXZva2UgdGhlIHBlcm1pc3Npb24uCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwZXJtaXNzaW9uLmNhbWVyYSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWUgLz4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gYWxsb3cgY2FtZXJhIGFjY2VzcyAodGFrZSBwaWN0dXJlcyAvIHJlY29yZCB2aWRlbykgd2l0aG91dCBhIHJ1bnRpbWUgcHJvbXB0LgogICAgICAgICAgICAgICAgSWYgdmlkZW8gd2l0aCBhdWRpbyBpcyBuZWVkZWQsIGFsc28gcGFyYW1ldGVyIHBlcm1pc3Npb24ubWljcm9waG9uZS4KICAgICAgICAgICAgICAgIEdyYW50czogYW5kcm9pZC5wZXJtaXNzaW9uLkNBTUVSQQogICAgICAgICAgICAgICAgRm9ybWF0OiB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCB7cGFja2FnZV9pZH06e1NIQS0yNTYgc2lnbmF0dXJlIGhhc2h9LCAuLi4KICAgICAgICAgICAgICAgIEV4YW1wbGU6IGNvbS5leGFtcGxlLmFwcDoxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmCiAgICAgICAgICAgICAgICBGb3Igc2VjdXJpdHkgcmVhc29ucywgdGhpcyBwYXJhbWV0ZXIgZG9lcyBub3Qgd29yayB3aXRoIERIQ1AgVkNJLiBVbmluc3RhbGwgYXBwIHRvIHJldm9rZSB0aGUgcGVybWlzc2lvbi4KICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBlcm1pc3Npb24ubWljcm9waG9uZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWUgLz4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gYWxsb3cgbWljcm9waG9uZSBhY2Nlc3MgKGF1ZGlvIHJlY29yZGluZykgd2l0aG91dCBhIHJ1bnRpbWUgcHJvbXB0LgogICAgICAgICAgICAgICAgR3JhbnRzOiBhbmRyb2lkLnBlcm1pc3Npb24uUkVDT1JEX0FVRElPCiAgICAgICAgICAgICAgICBGb3JtYXQ6IHtwYWNrYWdlX2lkfTp7U0hBLTI1NiBzaWduYXR1cmUgaGFzaH0sIHtwYWNrYWdlX2lkfTp7U0hBLTI1NiBzaWduYXR1cmUgaGFzaH0sIC4uLgogICAgICAgICAgICAgICAgRXhhbXBsZTogY29tLmV4YW1wbGUuYXBwOjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYKICAgICAgICAgICAgICAgIEZvciBzZWN1cml0eSByZWFzb25zLCB0aGlzIHBhcmFtZXRlciBkb2VzIG5vdCB3b3JrIHdpdGggREhDUCBWQ0kuIFVuaW5zdGFsbCBhcHAgdG8gcmV2b2tlIHRoZSBwZXJtaXNzaW9uLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGVybWlzc2lvbi5jb250YWN0cyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWUgLz4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gYWxsb3cgYXBwcyB0byByZWFkIGFuZCB3cml0ZSBjb250YWN0cyB3aXRob3V0IGEgcnVudGltZSBwcm9tcHQuCiAgICAgICAgICAgICAgICBHcmFudHM6IGFuZHJvaWQucGVybWlzc2lvbi5SRUFEX0NPTlRBQ1RTLCBhbmRyb2lkLnBlcm1pc3Npb24uV1JJVEVfQ09OVEFDVFMKICAgICAgICAgICAgICAgIEZvcm1hdDoge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwgLi4uCiAgICAgICAgICAgICAgICBFeGFtcGxlOiBjb20uZXhhbXBsZS5hcHA6MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZgogICAgICAgICAgICAgICAgRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoaXMgcGFyYW1ldGVyIGRvZXMgbm90IHdvcmsgd2l0aCBESENQIFZDSS4gVW5pbnN0YWxsIGFwcCB0byByZXZva2UgdGhlIHBlcm1pc3Npb24uCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwZXJtaXNzaW9uLnVzYl9hY2Nlc3MiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlIC8+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgVXNlIHRoaXMgcGFyYW1ldGVyIHRvIGFsbG93IGFwcHMgdG8gYWNjZXNzIFVTQiBkZXZpY2VzIChVU0IgSG9zdCkgd2l0aG91dCBzaG93aW5nIHRoZSB1c2VyIHBlcm1pc3Npb24gcHJvbXB0LgogICAgICAgICAgICAgICAgR3JhbnRzOiBVU0IgZGV2aWNlIGFjY2VzcyB2aWEgc3lzdGVtIFVTQiBzZXJ2aWNlIChlcXVpdmFsZW50IHRvIHByZS1ncmFudGluZyBVc2JNYW5hZ2VyIGRldmljZSBwZXJtaXNzaW9uIGZvciBhdHRhY2hlZCBkZXZpY2VzKS4KICAgICAgICAgICAgICAgIEZvcm1hdDoge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwgLi4uCiAgICAgICAgICAgICAgICBFeGFtcGxlOiBjb20uZXhhbXBsZS5hcHA6MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZgogICAgICAgICAgICAgICAgTm90ZXM6IFBlcm1pc3Npb24gaXMgcGVyIGRldmljZSBjb25uZWN0aW9uOyBpdCBpcyB0eXBpY2FsbHkgY2xlYXJlZCB3aGVuIHRoZSBVU0IgZGV2aWNlIGlzIGRpc2Nvbm5lY3RlZC4gVW5pbnN0YWxsIGFwcCB0byByZXZva2UgYWNjZXNzLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGVybWlzc2lvbi52cG5fY29ubmVjdCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWUgLz4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gYWxsb3cgYXBwcyB0byBjb25uZWN0IHRvIGEgVlBOIHdpdGhvdXQgc2hvd2luZyB0aGUgdXNlciBjb25zZW50IHByb21wdC4KICAgICAgICAgICAgICAgIFNwZWNpYWwgYWNjZXNzOiBWUE4gY29ubmVjdGlvbiBhcHByb3ZhbCAoZXF1aXZhbGVudCB0byBwcmUtYXBwcm92aW5nIFZwblNlcnZpY2UucHJlcGFyZSkuCiAgICAgICAgICAgICAgICBGb3JtYXQ6IHtwYWNrYWdlX2lkfTp7U0hBLTI1NiBzaWduYXR1cmUgaGFzaH0sIHtwYWNrYWdlX2lkfTp7U0hBLTI1NiBzaWduYXR1cmUgaGFzaH0sIC4uLgogICAgICAgICAgICAgICAgRXhhbXBsZTogY29tLmV4YW1wbGUuYXBwOjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYKICAgICAgICAgICAgICAgIEZvciBzZWN1cml0eSByZWFzb25zLCB0aGlzIHBhcmFtZXRlciBkb2VzIG5vdCB3b3JrIHdpdGggREhDUCBWQ0kuIFVuaW5zdGFsbCBhcHAgdG8gcmV2b2tlIHRoZSBwZXJtaXNzaW9uLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGVybWlzc2lvbi5ibHVldG9vdGhfbmVhcmJ5X2RldmljZXMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlIC8+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgVXNlIHRoaXMgcGFyYW1ldGVyIHRvIGFsbG93IGFwcHMgdG8gc2NhbiBmb3IgbmVhcmJ5IEJsdWV0b290aCBkZXZpY2VzIHdpdGhvdXQgc2hvd2luZyBhIHJ1bnRpbWUgcHJvbXB0LgogICAgICAgICAgICAgICAgR3JhbnRzOiBhbmRyb2lkLnBlcm1pc3Npb24uQkxVRVRPT1RIX1NDQU4sIGFuZHJvaWQucGVybWlzc2lvbi5CTFVFVE9PVEhfQ09OTkVDVCwgYW5kcm9pZC5wZXJtaXNzaW9uLkJMVUVUT09USF9BRFZFUlRJU0UKICAgICAgICAgICAgICAgIEZvcm1hdDoge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwge3BhY2thZ2VfaWR9OntTSEEtMjU2IHNpZ25hdHVyZSBoYXNofSwgLi4uCiAgICAgICAgICAgICAgICBFeGFtcGxlOiBjb20uZXhhbXBsZS5hcHA6MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZgogICAgICAgICAgICAgICAgRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoaXMgcGFyYW1ldGVyIGRvZXMgbm90IHdvcmsgd2l0aCBESENQIFZDSS4gVW5pbnN0YWxsIGFwcCB0byByZXZva2UgdGhlIHBlcm1pc3Npb24uCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJ0dmFwcC5uZXR3b3JrX3RpbWVvdXQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjYwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5EdXJpbmcgU1RCIGJvb3QgdXAsIHRoZSBzcGVjaWZpZWQgYXBwbGljYXRpb24gKHR2YXBwLnBhY2thZ2VfaWQpIGlzIGRlbGF5ZWQgZnJvbSBsYXVuY2hpbmcgdW50aWwgYSBuZXR3b3JrIGNvbm5lY3Rpb24gaXMgcmVhZHkuIElmIHRpbWVkIG91dCwgU1RCIGV4ZWN1dGVzIHRoZSBhY3Rpb24gc3BlY2lmaWVkIGluIHR2YXBwLm5ldHdvcmtfdGltZW91dF9hY3Rpb24uIFRoZSBuZXR3b3JrIHRpbWVvdXQgaXMgc2V0IHRvIGEgZGVmYXVsdCBvZiA2MCBzZWNvbmRzLCB3aXRoIGEgdmFsaWQgcmFuZ2Ugb2YgMC0xODAgc2Vjb25kcy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0idHZhcHAubmV0d29ya190aW1lb3V0X2FjdGlvbiI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ibGF1bmNoX3R2X2FwcCI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5MYXVuY2ggVFYgQXBwPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJsYXVuY2hfc2V0dGluZyIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5MYXVuY2ggc2V0dGluZ3MgbWVudTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0icmVib290Ij4KICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlJlYm9vdDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5UaGUgYWN0aW9uIGJlaW5nIGV4ZWN1dGVkIHdoZW4gdGhlIFNUQiBib290cyB1cCB3aXRob3V0IGEgbmV0d29yayBjb25uZWN0aW9uIGZvciBhIHRpbWVvdXQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFwcGxpY2F0aW9uIFJlbGF0ZWQgUGFyYW1ldGVyczwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InR2YXBwLnJlc3RhcnRfb25faGRtaV9jb25uZWN0Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvbiI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib2ZmIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCB3aGV0aGVyIHRvIHJlc3RhcnQgdGhlIFRWIGFwcCAoaWRlbnRpZmllZCBieSB0dmFwcC5wYWNrYWdlX2lkKSB3aGVuZXZlciBhbiBIRE1JIGNvbm5lY3Rpb24gaXMgbWFkZS4gRGVmYXVsdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibmV0Lm9mZmxpbmVfbW9kZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ib24iPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T048L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9mZiIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T0ZGPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgd2hldGhlciBVSSB3YWl0IGZvciBuZXR3b3JrIG9uIGJvb3QsIGFuZCBtb25pdG9yIGNvbm5lY3Rpb24gZHJvcDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5OZXR3b3JrIFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0uZGV2aWNlX2xvY2tlZF9tZXNzYWdlIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjdXN0b20gbWVzc2FnZSB0byBzaG93IG9uIHNjcmVlbiB3aGVuIHRoZSBkZXZpY2UgaXMgbG9ja2VkPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5kZWZhdWx0X2VkaWRfcHJlZmVycmVkX21vZGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IlNZU1RFTV9FRElEX1BSRUZFUlJFRF9NT0RFX09GRiIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXNhYmxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJTWVNURU1fRURJRF9QUkVGRVJSRURfTU9ERV9PTiI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5FbmFibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCB3aGV0aGVyIHRvIG9wdGltaXplIHRoZSBIRE1JIGRpc3BsYXkgc2V0dGluZ3MgYmFzZWQgb24gRURJRCBpbmZvPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5zcGxhc2hfc2NyZWVuIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkb3dubG9hZCBVUkwgb2Ygc3BsYXNoIHNjcmVlbiBpbWFnZTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5PcGVyYXRvciBCcmFuZGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5zcGxhc2hfc2NyZWVuX21kNSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5NRDUgb2YgdGhlIHNwbGFzaCBzY3JlZW4gaW1hZ2UgaW4gc3lzdGVtLnNwbGFzaF9zY3JlZW48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+T3BlcmF0b3IgQnJhbmRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJib290LmFuaW1hdGlvbi51cmwiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+VXJsIG9mIHRoZSBib290IGFuaW1hdGlvbiBmaWxlPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk9wZXJhdG9yIEJyYW5kaW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYm9vdC5hbmltYXRpb24ubWQ1Ij4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPk1ENSBvZiB0aGUgYm9vdCBhbmltYXRpb24gZmlsZSBpbiBib290LmFuaW1hdGlvbi51cmw8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+T3BlcmF0b3IgQnJhbmRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJmb3JjZS50dnN5c3RlbSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iRk9SQ0VfVFZfU1lTVEVNX05UU0MiPgogICAgICAgICAgPHZhbHVlPm50c2M8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TlRTQzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRk9SQ0VfVFZfU1lTVEVNX1BBTCI+CiAgICAgICAgICA8dmFsdWU+cGFsPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlBBTDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSB0aGUgdHYgc3lzdGVtIG9mIHRoZSBTVEI8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGF0ZXRpbWUubnRwX3N5bmMiPgogICAgICA8dGV4dD4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgZW5hYmxlL2Rpc2FibGUgTlRQIGNsb2NrIHN5bmNocm9uaXphdGlvbiBzZXR0aW5nLiAwOiBEaXNhYmxlZDsgMTogRW5hYmxlZC4KICAgICAgICAgICAgICAgIFdoZW4gdGhlIGluaSBpcyBzZXQsIHRoZSAiQXV0b21hdGljIGRhdGUgJmFtcDsgdGltZSIgc2VsZWN0aW9uIGluICJEYXRlICZhbXA7IHRpbWUiIHdpbGwgYmUgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRhdGUvVGltZSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS5jZWMuY29udHJvbCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0ib24iPgogICAgICAgICAgPHZhbHVlPm9uPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvZmYiPgogICAgICAgICAgPHZhbHVlPm9mZjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+SERNSSBDRUMgY29udHJvbDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EaXNwbGF5IFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJoZG1pLmNlYy5zdGFuZGJ5Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvZmYiPgogICAgICAgICAgPHZhbHVlPm9mZjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR2MnN0YiI+CiAgICAgICAgICA8dmFsdWU+dHYyc3RiPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRWIHRvIFNUQjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ic3RiMnR2Ij4KICAgICAgICAgIDx2YWx1ZT5zdGIydHY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+U1RCIHRvIFRWPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJib3RoIj4KICAgICAgICAgIDx2YWx1ZT5ib3RoPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkJvdGggc2lkZXMgKFNUQiB0byBUViBhbmQgVFYgdG8gU1RCKTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5IRE1JIENFQyBTdGFuZGJ5IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS5jZWMucmNfcGFzc3Rocm91Z2giPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9InR2MnN0YiI+CiAgICAgICAgICA8dmFsdWU+dHYyc3RiPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRWIHRvIFNUQjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib2ZmIj4KICAgICAgICAgIDx2YWx1ZT5vZmY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T0ZGPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkhETUkgQ0VDIFJlbW90ZSBDb250cm9sIFBhc3N0aHJvdWdoIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS5jZWMub25lX3RvdWNoX3BsYXkiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9uIj4KICAgICAgICAgIDx2YWx1ZT5vbjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0ib2ZmIj4KICAgICAgICAgIDx2YWx1ZT5vZmY8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T0ZGPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkhETUkgQ0VDIE9uZSBUb3VjaCBQbGF5IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS52ZW5kb3JfbmFtZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxyZWdFeHA+Xi57MCw4fSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+Q2hhbmdlIHRoZSBWZW5kb3IgTmFtZSBhZHZlcnRpc2VkIGluIHRoZSBIRE1JIFNQRCBJbmZvZnJhbWUuIE1heC4gbGVuZ3RoIGlzIDggY2hhcmFjdGVycy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS5wcm9kdWN0X2Rlc2MiPgogICAgICA8dGV4dD4KICAgICAgICA8cmVnRXhwPl4uezAsMTZ9JDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5DaGFuZ2UgdGhlIFByb2R1Y3QgRGVzY3JpcHRpb24gYWR2ZXJ0aXNlZCBpbiB0aGUgSERNSSBTUEQgSW5mb2ZyYW1lLiBNYXguIGxlbmd0aCBpcyAxNiBjaGFyYWN0ZXJzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EaXNwbGF5IFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJkZWZhdWx0LmRpc3BsYXkuaGRyX3BvbGljeSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWx3YXlzIj4KICAgICAgICAgIDx2YWx1ZT5hbHdheXM8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QWx3YXlzIEhEUjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iYWRhcHRpdmUiPgogICAgICAgICAgPHZhbHVlPmFkYXB0aXZlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkFkYXB0aXZlIEhEUjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IEhEUiBQb2xpY3k8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibmV0LmRoY3AuaG9zdG5hbWUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+Q3VzdG9tIERIQ1AgRElTQ09WRVJZIGhvc3RuYW1lLiBVc2Uge01hY0FkZHJlc3N9IGZvciBNQUMgQWRkcmVzcywgYW5kIHtTZXJpYWxOdW1iZXJ9IGZvciBkZXZpY2UgUy9OLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5OZXR3b3JrIFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJuZXQuZXRoZXJuZXQuZGhjcC5kaXNjb3Zlci5tYXhfcmV0cmllcyI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+LTE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl4oLTF8WzAtOV0qKSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+TGltaXQgdGhlIG51bWJlciBvZiBESENQIERJU0NPVkVSIHJldHJpZXMgb24gRXRoZXJuZXQsIHZhbHVlIC0xIG1lYW5zIG5vIGxpbWl0cy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TmV0d29yayBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ic3lzdGVtLmZvcmNlX2VkaWRfcHJlZmVycmVkX3Jlc29sdXRpb24iPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9Im9mZiI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EaXNhYmxlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvbiI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5FbmFibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgdXBkYXRlIHJlc29sdXRpb24gdG8gZWRpZCBwcmVmZXJyZWQgcmVzb2x1dGlvbi4gMDogRGlzYWJsZTsgMTogRW5hYmxlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EaXNwbGF5IFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJkaXNwbGF5LmZvcmNlX3Jlc29sdXRpb24iPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjQ4MHAiPgogICAgICAgICAgPHZhbHVlPjQ4MHA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+NDgwcDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iNTc2cCI+CiAgICAgICAgICA8dmFsdWU+NTc2cDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT41NzZwPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSI3MjBwIj4KICAgICAgICAgIDx2YWx1ZT43MjBwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjcyMHA8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjEwODBpIj4KICAgICAgICAgIDx2YWx1ZT4xMDgwaTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4xMDgwaTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMTA4MHAiPgogICAgICAgICAgPHZhbHVlPjEwODBwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjEwODBwPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIyMTYwcCI+CiAgICAgICAgICA8dmFsdWU+MjE2MHA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MjE2MHA8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Rm9yY2Ugc2V0dGluZyBTVEIncyByZXNvbHV0aW9uLiBIaWdoZXIgZnJhbWUgcmF0ZSB3aWxsIGJlIGNvbnNpZGVyZWQgYmFzZWQgb24gU1RCJ3MgY29sb3Igc3lzdGVtIGFuZCBUViBzdXBwb3J0LiBJZiB0aGUgc2VsZWN0ZWQgcmVzb2x1dGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IFRWLCBubyBjaGFuZ2Ugd2lsbCBiZSBhcHBsaWVkLiBPbmx5IHRha2UgZWZmZWN0IHdoZW4gYm90aCBzeXN0ZW0uZm9yY2VfZWRpZF9wcmVmZXJyZWRfcmVzb2x1dGlvbiBhbmQgSERNSSBvcHRpbWl6ZXIgbm90IGJlaW5nIHNldC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGlzcGxheS5kZWZhdWx0X3Jlc29sdXRpb24iPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjQ4MHAiPgogICAgICAgICAgPHZhbHVlPjQ4MHA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+NDgwcDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iNTc2cCI+CiAgICAgICAgICA8dmFsdWU+NTc2cDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT41NzZwPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSI3MjBwIj4KICAgICAgICAgIDx2YWx1ZT43MjBwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjcyMHA8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjEwODBwIj4KICAgICAgICAgIDx2YWx1ZT4xMDgwcDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4xMDgwcDwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMjE2MHAiPgogICAgICAgICAgPHZhbHVlPjIxNjBwPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjIxNjBwPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlVwZGF0ZSBTVEIncyBkZWZhdWx0IHJlc29sdXRpb24gaWYgdXNlciBoYXNuJ3Qgc2VsZWN0IHByZWZlcnJlZCByZXNvbHV0aW9uIHZpYSBzZXR0aW5ncyBtZW51LiBIaWdoZXIgZnJhbWUgcmF0ZSB3aWxsIGJlIGNvbnNpZGVyZWQgYmFzZWQgb24gU1RCJ3MgY29sb3Igc3lzdGVtIGFuZCBUViBzdXBwb3J0LiBJZiB0aGUgc2VsZWN0ZWQgcmVzb2x1dGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IFRWLCBubyBjaGFuZ2Ugd2lsbCBiZSBhcHBsaWVkLiBPbmx5IHRha2UgZWZmZWN0IHdoZW4gYm90aCBzeXN0ZW0uZm9yY2VfZWRpZF9wcmVmZXJyZWRfcmVzb2x1dGlvbiBhbmQgSERNSSBvcHRpbWl6ZXIgbm90IGJlaW5nIHNldC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RGlzcGxheSBTZXR0aW5nPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9nZ2luZy5sb2dkLnNpemUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjY0SyI+CiAgICAgICAgICA8dmFsdWU+NjRLPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjY0SzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMjU2SyI+CiAgICAgICAgICA8dmFsdWU+MjU2SzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4yNTZLPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxTSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+MU08L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MU08L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IjRNIj4KICAgICAgICAgIDx2YWx1ZT40TTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT40TTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iMTZNIj4KICAgICAgICAgIDx2YWx1ZT4xNk08L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MTZNPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkxvZ2dlciBidWZmZXIgc2l6ZS4gTGFyZ2VyIGJ1ZmZlciBzaXplIHdpbGwgZGVjcmVhc2UgbG9nIHBydW5pbmcgYWxnb3JpdGhtIGVmZmljaWVuY3kuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9nZ2luZy5sb2dkLmZpbHRlci5hbGxvd2xpc3QiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+QSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBBbmRyb2lkIGFwcGxpY2F0aW9uIElEcyBhbmQvb3IgbmF0aXZlIHByb2Nlc3MgVUlEcyB0byBvcHRpbWl6ZSBjb250ZW50IGR1cmluZyBwcnVuaW5nIHByb2Nlc3Mgb2YgbG9nZ2VyLiBCeSBkZWZhdWx0IHRoZSBsb2dnaW5nIHN5c3RlbSBhdXRvbWF0aWNhbGx5IHByZXZlbnRzIHRoZSB3b3JzdCBvZmZlbmRlciBpbiB0aGUgbG9nIHN0YXRpc3RpY3MgZHluYW1pY2FsbHkgdG8gbWFrZSBzcGFjZSBmb3IgbmV3IGxvZyBtZXNzYWdlcy4gQWRkaW5nIGFuIGFsbG93bGlzdCBwcmV2ZW50cyB0aGUgcHJvY2Vzc2VzIGZyb20gYmVpbmcgY29uc2lkZXJlZCBhcyBvZmZlbmRlcnMgaW4gdGhlIGxvZyBwcnVuaW5nIHByb2Nlc3MuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0ibG9nZ2luZy5sb2dkLmZpbHRlci5kZW55bGlzdCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5BIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIEFuZHJvaWQgYXBwbGljYXRpb24gSURzIGFuZC9vciBuYXRpdmUgcHJvY2VzcyBVSURzIHRvIG9wdGltaXplIGNvbnRlbnQgZHVyaW5nIHBydW5pbmcgcHJvY2VzcyBvZiBsb2dnZXIuIEJ5IGRlZmF1bHQgdGhlIGxvZ2dpbmcgc3lzdGVtIGF1dG9tYXRpY2FsbHkgcHJldmVudHMgdGhlIHdvcnN0IG9mZmVuZGVyIGluIHRoZSBsb2cgc3RhdGlzdGljcyBkeW5hbWljYWxseSB0byBtYWtlIHNwYWNlIGZvciBuZXcgbG9nIG1lc3NhZ2VzLiBBZGRpbmcgYSBkZW55bGlzdCBtYWtlcyB0aGUgcHJvY2Vzc2VzIHRvIGJlIGNvbnNpZGVyZWQgYXMgd29yc3Qgb2ZmZW5kZXJzIGluIHRoZSBsb2cgcHJ1bmluZyBwcm9jZXNzLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EZWJ1ZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImhhcmR3YXJlLmRpc2FibGVfcmVzZXRfcGluIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgcmVzZXQgcGluLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5IYXJkd2FyZTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Im9teC5sb2cuZW5hYmxlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9EaXNhYmxlIE9NWCBhdWRpbyBkZWJ1ZyBsb2cuIDA6IERpc2FibGVkIChkZWZhdWx0KTsgMTogRW5hYmxlZDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EZWJ1ZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Im9teC5wY21fbGF0ZW5jeSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+Xi0/WzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5BZGp1c3Qgbm9uLXBhc3N0aHJvdWdoIGF1ZGlvIGxhdGVuY3kgaW4gbXMuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlBsYXllcjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9Im9teC5yYXdfbGF0ZW5jeSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+Xi0/WzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5BZGp1c3QgcGFzc3Rocm91Z2ggYXVkaW8gbGF0ZW5jeSBpbiBtcy48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UGxheWVyPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGVidWdnaW5nLmRldmVsb3Blcl9vcHRpb25zLmVuYWJsZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUvRGlzYWJsZSBEZXZlbG9wZXIgT3B0aW9ucy4gMDogRGlzYWJsZWQ7IDE6IEVuYWJsZWQgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZGlzcGxheS5wcS5tb2RlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJkZWZhdWx0IiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT5kZWZhdWx0PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkRlZmF1bHQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9ImFuZHJvaWRfcF9jb21wYXQiPgogICAgICAgICAgPHZhbHVlPmFuZHJvaWRfcF9jb21wYXQ8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+QW5kcm9pZCBQIENvbXBhdGlibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Q2hhbmdlIHRoZSBwaWN0dXJlIHF1YWxpdHkgbW9kZS4gUmVib290IHRvIHRha2UgZWZmZWN0IGFmdGVyIHNldHRpbmcgdGhpcyBwYXJhbWV0ZXIuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRpc3BsYXkgU2V0dGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InN5c3RlbS5sbWsucHJvdGVjdF9ob21lX2FwcCI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UcnVlPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJmYWxzZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RmFsc2U8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0Rpc2FibGUgTE1LIHByb3RlY3Rpb24gZm9yIHRoZSBob21lIGFwcCwga2VlcGluZyBpdCBoYXJkZXIgdG8ga2lsbCB1bmRlciBsb3ctbWVtb3J5IHByZXNzdXJlIHdoZW4gZW5hYmxlZC4gRGVmYXVsdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icmVtb3RlX2FjY2Vzcy5yZWRpcmVjdF9zZXJ2ZXIiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+UmVtb3RlIEFjY2VzcyByZWRpcmVjdCBzZXJ2ZXIgVVJMICh3aXRoIHByb3RvY29sKTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5FbmdhZ2UgSW50ZWdyYXRpb248L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJyZW1vdGVfYWNjZXNzLnNlc3Npb25fdHVubmVsIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJFTlNJR0hUX1NFU1NJT05fVFVOTkVMX1ZQTiIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+dnBuPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlZQTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRU5TSUdIVF9TRVNTSU9OX1RVTk5FTF9TU0giPgogICAgICAgICAgPHZhbHVlPnNzaDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5TU0g8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSB0dW5uZWxpbmcgbWV0aG9kIHRvIGVzdGFibGlzaCB0aGUgUmVtb3RlIEFjY2VzcyBzZXNzaW9uLCBWUE4gaXMgdXNlZCBieSBkZWZhdWx0IGlmIG5vdCBzZXQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkVuZ2FnZSBJbnRlZ3JhdGlvbjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InJlbW90ZV9hY2Nlc3Muc2NyZWVuX3F1YWxpdHkiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkVOU0lHSFRfU0NSRUVOX1FVQUxJVFlfTE9XIj4KICAgICAgICAgIDx2YWx1ZT5sb3c8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+TG93PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJFTlNJR0hUX1NDUkVFTl9RVUFMSVRZX01FRElVTSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+bWVkaXVtPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk1lZGl1bTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRU5TSUdIVF9TQ1JFRU5fUVVBTElUWV9ISUdIIj4KICAgICAgICAgIDx2YWx1ZT5oaWdoPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PkhpZ2g8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+UmVtb3RlIEFjY2VzcyBzY3JlZW4gcXVhbGl0eTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5FbmdhZ2UgSW50ZWdyYXRpb248L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJyZW1vdGVfYWNjZXNzLnNjcmVlbl9jYXB0dXJlX21vZGUiPgogICAgICA8bGlzdD4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkVOU0lHSFRfU0NSRUVOX0NBUFRVUkVfTU9ERV9PU0RfT05MWSI+CiAgICAgICAgICA8dmFsdWU+b3NkX29ubHk8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+T1NEIE9ubHk8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkVOU0lHSFRfU0NSRUVOX0NBUFRVUkVfTU9ERV9PU0RfVklERU8iIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPm9zZF92aWRlbzwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PU0QgYW5kIFZpZGVvPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPlJlbW90ZSBBY2Nlc3Mgc2NyZWVuIGNhcHR1cmUgbW9kZSwgZGVmYXVsdCBvbmx5IE9TRCBjb250ZW50IGlzIGNhcHR1cmVkLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5FbmdhZ2UgSW50ZWdyYXRpb248L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJhbmFseXRpY3Muc2VydmVyIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkFuYWx5dGljcyBzZXJ2ZXIgKHdpdGggcHJvdG9jb2wpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkVuZ2FnZSBJbnRlZ3JhdGlvbjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFuYWx5dGljcy5hcGlfdmVyc2lvbiI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iRU5TUEVDVF9BUElfVkVSU0lPTl8xXzEiPgogICAgICAgICAgPHZhbHVlPjEuMTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4xLjE8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IkVOU1BFQ1RfQVBJX1ZFUlNJT05fMV8yIj4KICAgICAgICAgIDx2YWx1ZT4xLjI8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+MS4yPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJFTlNQRUNUX0FQSV9WRVJTSU9OXzFfMyI+CiAgICAgICAgICA8dmFsdWU+MS4zPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PjEuMzwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRU5TUEVDVF9BUElfVkVSU0lPTl8xXzQiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjEuNDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT4xLjQ8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSBBUEkgdmVyc2lvbiB0aGUgY2xpZW50IHNob3VsZCB1c2UgdG8gY29udGFjdCB0aGUgQW5hbHl0aWNzIHNlcnZlci4gRGVmYXVsdDogMS40PC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkVuZ2FnZSBJbnRlZ3JhdGlvbjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFuYWx5dGljcy5lbmFibGVfbW9uaXRvcl9vbmx5Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJFTlNQRUNUX01PTklUT1JfRU5BQkxFX09OIj4KICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlllczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iRU5TUEVDVF9NT05JVE9SX0VOQUJMRV9PRkYiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Tm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgb3B0aW9uIHRvIHJ1biB0aGUgQW5hbHl0aWNzIGFwcCBhcyBhIG1vbml0b3IgYXBwIHdpdGhvdXQgYW4gRW5nYWdlIGNvbm5lY3Rpb24uIElmIGFuYWx5dGljcy5zZXJ2ZXIgaXMgY29uZmlndXJlZCwgdGhpcyBvcHRpb24gaXMgaWdub3JlZC4gRGVmYXVsdDogTm88L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+RW5nYWdlIEludGVncmF0aW9uPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZWx1bXluLmVuYWJsZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGlzYWJsZSIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+ZGlzYWJsZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iZW5hYmxlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PmVuYWJsZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgZUx1bXluIGNsaWVudC4gRGVmYXVsdCBpcyBkaXNhYmxlLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5BcHBsaWNhdGlvbiBSZWxhdGVkIFBhcmFtZXRlcnM8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJlbHVteW4ubXF0dF9lbmRwb2ludCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5NUVRUIGVuZHBvaW50IGhvc3RuYW1lIGZvciB0aGUgZUx1bXluIGNsaWVudC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZWx1bXluLnNpZ25hbGluZ19zZXJ2ZXJfdXJsIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPlNpZ25hbGluZyBzZXJ2ZXIgVVJMIGZvciB0aGUgZUx1bXluIGNsaWVudCBXZWJTb2NrZXQgY29ubmVjdGlvbi48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+QXBwbGljYXRpb24gUmVsYXRlZCBQYXJhbWV0ZXJzPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW9zcDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iZmlybXdhcmVfdXBncmFkZS5pZ25vcmVfdmVyc2lvbl9iaW5kaW5nIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPklnbm9yZSB2ZXJzaW9uIGJpbmRpbmcgY2hlY2tpbmcgZHVyaW5nIGZpcm13YXJlIHVwZ3JhZGUuIDA6IERvIG5vdCBpZ25vcmUgKGRlZmF1bHQpOyAxOiBJZ25vcmUKICAgICAgICAgICAgICAgIFdBUk5JTkc6IEVuYWJsaW5nIHRoaXMgaW5pIChieSBzZXR0aW5nIGl0IHRvIDEpIG1heSBjYXVzZSBTVEIgdG8gZW50ZXIgUkVDT1ZFUlkgTU9ERSBhbmQgRkFDVE9SWSBSRVNFVCBpcyByZXF1aXJlZCBhZnRlciB1cGdyYWRlLgogICAgICAgICAgICAgICAgRG8gbm90IGVuYWJsZSB0aGlzIHVubGVzcyB5b3Uga25vdyB3ZWxsIHdpdGggdGhlIGZpcm13YXJlIHlvdSBhcmUgdXNpbmcgYW5kIHByb2NlZWRpbmcgd2l0aCB5b3VyIG93biByaXNrLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJmaXJtd2FyZV91cGdyYWRlLnJhdGVfbGltaXQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl4oMHxbMS05XVswLTldKikkPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPkFwcGx5IGxpbWl0IHRvIHRoZSBkb3dubG9hZCByYXRlIG9mIHRoZSBmaXJtd2FyZSB1cGdyYWRlLiBWYWx1ZSBpcyB0aGUgbm8uIG9mIGtpbG9ieXRlIHBlciBzZWNvbmQuIDA6IE5vIGxpbWl0PC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImZpcm13YXJlX3VwZ3JhZGUuZm9yY2VfdXBncmFkZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iZGVmYXVsdCIgZGVmYXVsdD0idHJ1ZSI+CiAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5EZWZhdWx0PC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJvbiI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PTjwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgT04gdG8gc2tpcCB1c2VyIHByb21wdCBhbmQgYXV0b21hdGljYWxseSByZWJvb3QgU1RCIGZvciB1cGdyYWRlLiBCeSBkZWZhdWx0IGZpcm13YXJlIHVwZ3JhZGUgbWF5IHJlcXVpcmUgdXNlciBpbnRlcmFjdGlvbiBkZXBlbmRpbmcgb24gdXBncmFkZSBtZXRob2QuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFwcGluc3RhbGxlci5saW5rIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkFwcCBkb3dubG9hZCBsaW5rIGZvciBBbmRyb2lkIFRWIGFwcCBpbnN0YWxsZXI8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYXBwaW5zdGFsbGVyLmNvbW1hbmRfZmlsZSI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIGZpbGUgZG93bmxvYWQgbGluayBmb3IgYXBwIGluc3RhbGxlciB0byBwZXJmb3JtIGJhdGNoIGluc3RhbGwvdW5pbnN0YWxsIGFjdGlvbnMuIFlvdSB3b24ndCBuZWVkIHRoaXMgaWYgeW91IGFyZSBvbiBFbmdhZ2UvT3JjaGVzdHJhdGUsIHBsZWFzZSBjb250YWN0IHN1cHBvcnQgZm9yIHRoZSBjb250ZW50IGZvcm1hdCBpZiB5b3UgbmVlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYXBwLmN0YV9idXR0b25fZGVsYXkiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjEwMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl4oMHxbMS05XVswLTldKikkPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWxheSBpbiBtaWxsaXNlY29uZCBhcHBsaWVkIHRvIHBvcHVwIGJlZm9yZSB1c2VyIGNhbiBpbnRlcmFjdCB3aXRoLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5TeXN0ZW08L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJhcHBpbnN0YWxsZXIuaW5zdGFsbGF0aW9uX2ZpbGUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+SW5zdGFsbGF0aW9uIGZpbGUgZG93bmxvYWQgZm9yIGFwcCBpbnN0YWxsZXIgdG8gcGVyZm9ybSBiYXRjaCBpbnN0YWxsIGFjdGlvbnMuIFlvdSB3b24ndCBuZWVkIHRoaXMgaWYgeW91IGFyZSBvbiBFbmdhZ2UvT3JjaGVzdHJhdGUuIFRoZSBmb3JtYXQgaXMgaW4gcGxhaW50ZXh0LiBFYWNoIGxpbmUgc2hvdWxkIG9ubHkgY29udGFpbiBvbmUgQVBLIGRvd25sb2FkIHVybC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+U3lzdGVtPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iYXBwaW5zdGFsbGVyLnVuaW5zdGFsbGF0aW9uX2ZpbGUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+VW5pbnN0YWxsYXRpb24gZmlsZSBkb3dubG9hZCBmb3IgYXBwIGluc3RhbGxlciB0byBwZXJmb3JtIGJhdGNoIHVuaW5zdGFsbCBhY3Rpb25zLiBZb3Ugd29uJ3QgbmVlZCB0aGlzIGlmIHlvdSBhcmUgb24gRW5nYWdlL09yY2hlc3RyYXRlLiBUaGUgZm9ybWF0IGlzIGluIHBsYWludGV4dC4gRWFjaCBsaW5lIHNob3VsZCBvbmx5IGNvbnRhaW4gb25lIHBhY2thZ2UgaWQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InJjdS5lbmFibGVfc3N1Ij4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJTWVNURU1fRU5BQkxFX1NTVV9PRkYiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+Tm88L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IlNZU1RFTV9FTkFCTEVfU1NVX09OIj4KICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlllczwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIHdoZXRoZXIgdG8gZW5hYmxlIFNTVSBhZnRlciByZW1vdGUgY29udHJvbCBwYWlyaW5nPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBDb250cm9sPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icmN1LnNzdS5wb3dlciI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iU1lTVEVNX1NTVV9QT1dFUl9UT19TVEIiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPnN0YjwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5UbyBTVEI8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgICA8bGlzdEl0ZW0gaWQ9IlNZU1RFTV9TU1VfUE9XRVJfVE9fVFYiPgogICAgICAgICAgPHZhbHVlPnR2PC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5PlRvIFRWPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPgogICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGVmZmVjdGl2ZSB3aGVuIFNTVSBpcyBlbmFibGVkIGZvciBMaW1hIHJlbW90ZSBjb250cm9sLCB3aGljaCBjb250cm9scyB0aGUgYmVoYXZpb3Igb2YgUE9XRVIgYnV0dG9uIHNlbmRpbmcga2V5IHRvIGVpdGhlciBTVEIgb3IgVFYgZHVyaW5nIFNTVSBwYWlyaW5nLgogICAgICAgICAgICBCeSBkZWZhdWx0LCBQT1dFUiBidXR0b24gb24gTGltYSB3aWxsIGFsd2F5cyBzZW5kIGtleSB0byBTVEIuCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgQ29udHJvbDwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InJjdS5lbmFibGVfb3RhIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJTWVNURU1fRU5BQkxFX1JDVV9PVEFfT0ZGIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5vPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJTWVNURU1fRU5BQkxFX1JDVV9PVEFfT04iPgogICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+WWVzPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgIDwvbGlzdD4KICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgd2hldGhlciB0byBlbmFibGUgUkNVIE9UQS4gQnkgZGVmYXVsdCB0dXJuZWQgb2ZmIGFzIHdoZW4gdGhpcyBJTkkgaXMgaW50cm9kdWNlZC48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIENvbnRyb2w8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJyY3UuYWxsb3dfb3RhX2Rvd25ncmFkZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iU1lTVEVNX0FMTE9XX1JDVV9ET1dOR1JBREVfT0ZGIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk5vPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSJTWVNURU1fQUxMT1dfUkNVX0RPV05HUkFERV9PTiI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5ZZXM8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCB3aGV0aGVyIHRvIGFsbG93IGRvd25ncmFkaW5nIFJDVSBmaXJtd2FyZS4gQnkgZGVmYXVsdCBOT1QgYWxsb3cgUkNVIGZ3IGRvd25ncmFkZSB3aGVuIHRoaXMgSU5JIGlzIGludHJvZHVjZWQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlJlbW90ZSBDb250cm9sPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icmN1LmJ0cGFpcmluZy5yc3NpX3RocmVzaG9sZCI+CiAgICAgIDx0ZXh0IC8+CiAgICAgIDxkZXNjcmlwdGlvbj5SU1NJIHRocmVzaG9sZCBvZiB0aGUgQmx1ZXRvb3RoIGNvbm5lY3Rpb24gdGhhdCBjYW4gcHJvY2VlZCBmb3IgcGFpcmluZzwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5SZW1vdGUgQ29udHJvbDwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InJjdS5kaXNwbGF5X25hbWUiPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgIEN1c3RvbWl6ZSB0aGUgZGlzcGxheSBuYW1lIG9mIEFtaW5vIHN1cHBvcnRlZCByZW1vdGUgY29udHJvbCBtb2RlbHMuIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBzZXQgd2l0aCB0aGUgZm9sbG93aW5nIG5hbWUvdmFsdWUgZm9ybWF0LCBhbmQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgdG8gc2V0LCB1c2UgOyBhcyBkZWxpbWl0ZXIuCiAgICAgICAgICAgIFN1cHBvcnRlZCBmb3JtYXQgb2YgdGhlIHZhbHVlOiAoZXhpc3RpbmcgbW9kZWwgY29kZSAxKT0oY3VzdG9tZXIgcHJlZmVycmVkIG5hbWUgMSk7KGV4aXN0aW5nIG1vZGVsIGNvZGUgMik9KGN1c3RvbWVyIHByZWZlcnJlZCBuYW1lIDIpOy4uLgogICAgICAgICAgICBFeGlzdGluZyBtb2RlbCBjb2RlIGFyZSBsaW1hLCBtYXhpX3YxLCBtYXhpX3YyLCB2aW5vLCBtaW5pLgogICAgICAgICAgICA8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+UmVtb3RlIENvbnRyb2w8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIuZW5hYmxlX3J0c3BfaW50ZXJsZWF2ZWQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0xXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHJ0c3AgaW50ZXJsZWF2ZWQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmRhc2hfbGl2ZV9kZWxheSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MzAwMDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJlc2VudGF0aW9uIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpIG9mIGxpdmUgREFTSCBzdHJlYW1zLCBjYWxjdWxhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgZm9ybXVsYToKICAgICAgICAgICAgICAgIGxpdmUgZGVsYXkgPSBtYXgoKGRldmljZV9zeXN0ZW1fdGltZSAtIHN0cmVhbV9saXZlX2VkZ2UpICsgbWluQnVmZmVyVGltZSwgcGxheWVyLmRhc2hfbGl2ZV9kZWxheSkKICAgICAgICAgICAgICAgIFdoZW4gcGxheWluZyBEQVNIIHN0cmVhbXMsIGlmIGJvdGggcGxheWVyLmRhc2hfbGl2ZV9kZWxheSBhbmQgcGxheWVyLmFicl9saXZlX2RlbGF5IGFyZSBzZXQsIHBsYXllci5kYXNoX2xpdmVfZGVsYXkgdGFrZXMgaGlnaGVyIHByaW9yaXR5LgogICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgY3VycmVudGx5IGFwcGxpZWQgdG8gRXhvUGxheWVyIG9ubHkuCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5hYnJfbGl2ZV9kZWxheSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MzAwMDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJlc2VudGF0aW9uIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpIG9mIGxpdmUgREFTSC9ITFMgc3RyZWFtcy4gREFTSCBsaXZlIHN0cmVhbSBpcyBjYWxjdWxhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgZm9ybXVsYToKICAgICAgICAgICAgICAgIGxpdmUgZGVsYXkgPSBtYXgoKGRldmljZV9zeXN0ZW1fdGltZSAtIHN0cmVhbV9saXZlX2VkZ2UpICsgbWluQnVmZmVyVGltZSwgcGxheWVyLmFicl9saXZlX2RlbGF5KQogICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgY3VycmVudGx5IGFwcGxpZWQgdG8gRXhvUGxheWVyIG9ubHkuCiAgICAgICAgICAgIDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kb3dubG9hZF9yZXRyeV9jb3VudCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+LTE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl4tMSR8XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBmb3IgbWluaW11bSBudW1iZXIgb2YgcmV0cnkgd2l0aCBzZWdtZW50IGRvd25sb2FkIGVycm9yLiBNYXhpbXVuIHdpbGwgcmV0cnkgdW50aWwgYnVmZmVyIGVtcHR5LgogICAgICAgICAgICAgICAgQ3VycmVudGx5IGFwcGx5IHRvIEV4b1BsYXllciBvbmx5ISAtMTogRXhvcGxheWVyIGRlZmF1bHQgYmVoYXZpb3VyOyAwLXh4eDogbWluaW11bSBudW1iZXIgb2YgcmV0cnkuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmRvd25sb2FkX3JldHJ5X2RlbGF5X21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4tMTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+Xi0xJHxeWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmF0aW9uIGZvciB0aGUgZGVsYXkgdGltZSBpbiBtaWxsaXNlY29uZCB3aGVuIHNlZ21lbnQgZG93bmxvYWQgZXJyb3Igb2NjdXIuCiAgICAgICAgICAgICAgICBDdXJyZW50bHkgYXBwbHkgdG8gRXhvUGxheWVyIG9ubHkhIC0xOiBFeG9wbGF5ZXIgZGVmYXVsdCBiZWhhdmlvdXI7IDAteHh4OiBkZWxheSB0aW1lIGluIG1zLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5kYXNoX2F2YWlsX3RpbWVfb2Zmc2V0X21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmF0aW9uIHRvIGZvcmNlIGF2YWlsYWJpbGl0eVRpbWVPZmZzZXQgKGluIG1pbGxpc2Vjb25kKSBmb3IgbGl2ZSBEQVNIIHN0cmVhbXMgaW4gb3JkZXIgdG8gcmVkdWNlIGxpdmUgbGF0ZW5jeSBmb3Igbm9uLWxvdy1sYXRlbmN5IHN0cmVhbS4KICAgICAgICAgICAgICAgIEN1cnJlbnRseSBhcHBseSB0byBFeG9QbGF5ZXIgb25seSE8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIubWluX2R1cmF0aW9uX2Zvcl9xdWFsaXR5X2luY3JlYXNlX21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xMDAwMDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBmb3IgbWluaW11bSBkdXJhdGlvbiBmb3IgcXVhbGl0eSBpbmNyZWFzZSAoaW4gbWlsbGlzZWNvbmQpIG9mIERBU0ggc3RyZWFtcy4gQ3VycmVudGx5IGFwcGx5IHRvIEV4b1BsYXllciBvbmx5ITwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5sYWdfYmVoaW5kX21zX3NlZWtfdG9fbGl2ZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGUgbGl2ZSBkZWxheSBsYWcgYmVoaW5kIChpbiBtaWxsaXNlY29uZCkgb2YgbGl2ZSBwb3NpdGlvbiwgaXQgd2lsbCBzZWVrIHRvIGxpdmUgZm9yIERBU0gvSExTIHN0cmVhbXMuIEN1cnJlbnRseSBhcHBseSB0byBFeG9QbGF5ZXIgb25seSE8L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIuc2hvd192ZnJhbWVfd2l0aG91dF9zeW5jIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtMV0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPnN1cHBvcnQgcGxheWJhY2sgc3RhcnQgd2l0aCBzaG93aW5nIHRoZSBmaXJzdCB2aWRlbyBmcmFtZSBiZWZvcmUgaXQgaXMgc3luY2hyb25pemVkLiAwOiBEaXNhYmxlLCAxOiBFbmFibGUgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmVycm9yX2ZyYW1lX3NraXBfbGV2ZWwiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjE8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC0yXSQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+c3VwcG9ydCBwbGF5YmFjayBkcm9wIGVycm9yIGZyYW1lcy4gMDogRGlzYWJsZSwgMTogRW5hYmxlIGRyb3AgZnJhbWVzKGRlZmF1bHQpLCAyOiBFbmFibGUgZHJvcCBmcmFtZXMgdW50aWwgSS1mcmFtZTwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci51ZHBfc3luY19tb2RlIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4xPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtNF0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPnN1cHBvcnQgc3luYyBtb2RlIHNldHRpbmcgZm9yIE11bHRpY2FzdCBwbGF5YmFjay4gMDogTm8gU3luYywgMTogUENSIG1hc3RlcihkZWZhdWx0KSwgMjogQXVkaW8gbWFzdGVyLCAzOiBWaWRlbyBtYXN0ZXIsIDQ6IFBDUiB3aXRoIFBpZDwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5ydHNwX3N5bmNfbW9kZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MTwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTRdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5zdXBwb3J0IHN5bmMgbW9kZSBzZXR0aW5nIGZvciBSVFNQIHBsYXliYWNrLiAwOiBObyBTeW5jLCAxOiBQQ1IgbWFzdGVyKGRlZmF1bHQpLCAyOiBBdWRpbyBtYXN0ZXIsIDM6IFZpZGVvIG1hc3RlciwgNDogUENSIHdpdGggUGlkPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmRlaml0dGVyX2J1Zl9zaXplIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIGRlaml0dGVyaW5nIGJ1ZmZlciBzaXplIGluIEJ5dGVzIChkZWZhdWx0IDApIGZvciBtdWx0aWNhc3QgcGxheWJhY2suPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLnVkcF9kZWppdHRlcl90aW1lX21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIGRlaml0dGVyaW5nIGJ1ZmZlciB3aXRoIHJlZmVyZW5jZSB0byB0aW1lIGluIG1zIChkZWZhdWx0IDApIGZvciBtdWx0aWNhc3QgcGxheWJhY2suPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLnVkcF9kZWppdHRlcl90aW1lX21zX3RocmVzaG9sZCI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTldKiQ8L3JlZ0V4cD4KICAgICAgPC90ZXh0PgogICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoZSBkZWppdHRlcmluZyBidWZmZXIgdGhyZXNob2xkIHdpdGggcmVmZXJlbmNlIHRvIHRpbWUgaW4gbXMgKGRlZmF1bHQgMCkgZm9yIG11bHRpY2FzdCBwbGF5YmFjay48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIucnRzcF9kZWppdHRlcl90aW1lX21zIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIGRlaml0dGVyaW5nIGJ1ZmZlciB3aXRoIHJlZmVyZW5jZSB0byB0aW1lIGluIG1zIChkZWZhdWx0IDApIGZvciBSVFNQIHBsYXliYWNrLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5NZWRpYSBQbGF5YmFjazwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9InBsYXllci5ydHNwX2Rlaml0dGVyX3RpbWVfbXNfdGhyZXNob2xkIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4wPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIGRlaml0dGVyaW5nIGJ1ZmZlciB0aHJlc2hvbGQgd2l0aCByZWZlcmVuY2UgdG8gdGltZSBpbiBtcyAoZGVmYXVsdCAwKSBmb3IgUlRTUCBwbGF5YmFjay48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hbmRyb2lkPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJwbGF5ZXIucnRzcF9pbnRlcmxlYXZlZF9lb3NfbW9kZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXJ2ZXIgZW5kIG9mIHN0cmVhbSBldmVudCBoYW5kbGluZyBtb2RlIGZvciBSVFNQIGludGVybGVhdmVkIHBsYXliYWNrLgogICAgICAgICAgICAgICAgMDogRmlyZWQgd2hlbiBsb3cgYnVmZmVyLCAxOiBGaXJlIGltbWVkaWF0ZWx5PC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLnVkcF9kZWNvZGVyX2Z1bGxfZXJyb3JfbW9kZSI+CiAgICAgIDx0ZXh0PgogICAgICAgIDxkZWZhdWx0VmFsdWU+MDwvZGVmYXVsdFZhbHVlPgogICAgICAgIDxyZWdFeHA+XlswLTFdJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5zdXBwb3J0IGVycm9yIGV2ZW50IGZpcmluZyB3aGVuIGRhdGEgd3JpdGUgZmFpbCB3aXRoIGRlY29kZXIgYnVmZmVyIGZ1bGwgZm9yIG11bHRpY2FzdCBwbGF5YmFjay4KICAgICAgICAgICAgICAgIDA6IERpc2FibGUsIDE6IEZpcmUgZXJyb3IgZXZlbnQgd2hlbiBkZWNvZGVyIGJ1ZmZlciBpcyBmdWxsPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmRlZmF1bHRfY2NfY291bnQiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC00XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhlIENDIGRlc2NyaXB0b3IgaXMgbWlzc2luZyBpbiBQTVQsIGV4cG9zZSB0aGUgZGVmYXVsdCBudW1iZXIgb2YgQ0MgdHJhY2tzLiBDdXJyZW50bHkgYXBwbHkgdG8gRXhvUGxheWVyIG9ubHkhPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5Pk1lZGlhIFBsYXliYWNrPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0icGxheWVyLmRldGVjdF9hY2Nlc3NfdW5pdHMuZW5hYmxlIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIxIiBkZWZhdWx0PSJ0cnVlIj4KICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KICAgICAgICAgIDxkaXNwbGF5Pk9OPC9kaXNwbGF5PgogICAgICAgIDwvbGlzdEl0ZW0+CiAgICAgICAgPGxpc3RJdGVtIGlkPSIyIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5PRkY8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGRldGVjdGlvbiBvZiBhY2Nlc3MgdW5pdHMgdG8gZmFjaWxpdGF0ZSBwbGF5YmFjayBvZiBNUEVHLVRTIGZpbGVzIGxhY2tpbmcgQVVEcyBvbiBFeG9wbGF5ZXIuIFNldCB0cnVlIHRvIGVuYWJsZSwgZmFsc2UgdG8gZGlzYWJsZSAoZGVmYXVsdCBlbmFibGVkKS48L2Rlc2NyaXB0aW9uPgogICAgICA8Y2F0ZWdvcnk+TWVkaWEgUGxheWJhY2s8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJzeXN0ZW0uZm9yY2VfaWdtcF92ZXJzaW9uIj4KICAgICAgPHRleHQ+CiAgICAgICAgPGRlZmF1bHRWYWx1ZT4yPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAsMl0kPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZnkgdGhlIG1heGltdW0gdmVyc2lvbiBvZiBJR01QIGluIHdoaWNoIFNUQiBjYW4gbmVnb3RpYXRlCiAgICAgICAgICAgICAgICAwOiBUcnkgdG8gdXNlIElHTVAgdmVyc2lvbiAzIHdoZW5ldmVyIHBvc3NpYmxlCiAgICAgICAgICAgICAgICAyOiBFbmZvcmNlIHRvIHVzZSBJR01QIHZlcnNpb24gMiAoZGVmYXVsdCkKICAgICAgICAgICAgPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PlN5c3RlbTwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImVuZGVidWciPgogICAgICA8dGV4dCAvPgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGxpYnJhcnkgbG9nIGxldmVsPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgICA8cGFyYW0gbmFtZT0iaGRtaS5lZGlkX3JlY292ZXJ5LmVuYWJsZSI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iUkVDT1ZFUllfRU5BQkxFX1RSVUUiPgogICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+VHJ1ZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iUkVDT1ZFUllfRU5BQkxFX0ZBTFNFIj4KICAgICAgICAgIDx2YWx1ZT5mYWxzZTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5GYWxzZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICA8L2xpc3Q+CiAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgYXV0b21hdGljIEhETUkgcmVjb3Zlcnkgd2hlbiBhIGNvbm5lY3RlZCBkaXNwbGF5IChIUEQpIGlzIGRldGVjdGVkIGJ1dCBpdHMgZGlzcGxheSBpbmZvcm1hdGlvbiAoRURJRCkgY2Fubm90IGJlIHJlYWQuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRpc3BsYXkgU2V0dGluZzwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFvc3A8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImhkbWkuZWRpZF9yZWNvdmVyeS5wZXJpb2RfbXMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjUwMDA8L2RlZmF1bHRWYWx1ZT4KICAgICAgICA8cmVnRXhwPl5bMC05XSokPC9yZWdFeHA+CiAgICAgIDwvdGV4dD4KICAgICAgPGRlc2NyaXB0aW9uPlNldCBIRE1JIHJlY292ZXJ5IGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAodmFsaWQgcmFuZ2U6IDEwMDAgdG8gNjAwMDApLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EaXNwbGF5IFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJoZG1pLmVkaWRfcmVjb3ZlcnkuY29vbGRvd25fbXMiPgogICAgICA8dGV4dD4KICAgICAgICA8ZGVmYXVsdFZhbHVlPjMwMDAwPC9kZWZhdWx0VmFsdWU+CiAgICAgICAgPHJlZ0V4cD5eWzAtOV0qJDwvcmVnRXhwPgogICAgICA8L3RleHQ+CiAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWluaW11bSB3YWl0IHRpbWUgYmV0d2VlbiBIRE1JIHJlY292ZXJ5IGF0dGVtcHRzIGluIG1pbGxpc2Vjb25kcyAodmFsaWQgcmFuZ2U6IDEwMDAgdG8gNjAwMDApLjwvZGVzY3JpcHRpb24+CiAgICAgIDxjYXRlZ29yeT5EaXNwbGF5IFNldHRpbmc8L2NhdGVnb3J5PgogICAgICA8bWlkZGxld2FyZT5hb3NwPC9taWRkbGV3YXJlPgogICAgPC9wYXJhbT4KICAgIDxwYXJhbSBuYW1lPSJvcGEuZGV2aWNlX21vZGVsX2lkIj4KICAgICAgPHRleHQgLz4KICAgICAgPGRlc2NyaXB0aW9uPkFzc2lzdGFudCdzIERldmljZSBBY3Rpb24gZGV2aWNlIG1vZGVsIGlkPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkFuZHJvaWQgQ3VzdG9taXphdGlvbjwvY2F0ZWdvcnk+CiAgICAgIDxtaWRkbGV3YXJlPmFuZHJvaWQ8L21pZGRsZXdhcmU+CiAgICA8L3BhcmFtPgogICAgPHBhcmFtIG5hbWU9ImFwcC5kZWJ1ZyI+CiAgICAgIDxsaXN0PgogICAgICAgIDxsaXN0SXRlbSBpZD0iQVBQX0RFQlVHX0RJU0FCTEUiIGRlZmF1bHQ9InRydWUiPgogICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgICAgPGRpc3BsYXk+RGlzYWJsZTwvZGlzcGxheT4KICAgICAgICA8L2xpc3RJdGVtPgogICAgICAgIDxsaXN0SXRlbSBpZD0iQVBQX0RFQlVHX0VOQUJMRSI+CiAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgICA8ZGlzcGxheT5FbmFibGU8L2Rpc3BsYXk+CiAgICAgICAgPC9saXN0SXRlbT4KICAgICAgPC9saXN0PgogICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgb3B0aW9uIHRvIHNob3cgZXh0cmEgZGVidWcgbG9nZ2luZyBmb3IgQW1pbm8gYXBwbGljYXRpb25zLCBkZWZhdWx0IGlzIGRpc2FibGUuPC9kZXNjcmlwdGlvbj4KICAgICAgPGNhdGVnb3J5PkRlYnVnPC9jYXRlZ29yeT4KICAgICAgPG1pZGRsZXdhcmU+YW5kcm9pZDwvbWlkZGxld2FyZT4KICAgIDwvcGFyYW0+CiAgPC9wYXJhbXM+CjwvZW50b25lSU5JPg==

Appendix I - Channel change mode


Broadcom support 4 types of channel change modes. In some modes, the video is displayed as soon as it is decoded and some will show the video and audio at the same time after they are synchronized.

Those behaviors are controlled by the following entone_boot.ini parameters

The following table shows the channel change mode and the respective entone_boot.ini values

Mode Speed Parameter Set
Show still image immediately and mute for a while [default] Very fast HDXXX_PREROLL_VIDEO_BEFORE_LIPSYNC=0
HDXXX_SHOW_FIRST_PICTURE_BEFORE_LIPSYNC=1
HDXXX_CHN_CHG_MODE=0
Show slow motion picture immediately and mute for a while Very fast HDXXX_PREROLL_VIDEO_BEFORE_LIPSYNC=1
HDXXX_SHOW_FIRST_PICTURE_BEFORE_LIPSYNC=1
HDXXX_CHN_CHG_MODE=0
Show video and audio roughly at the same time Fast HDXXX_PREROLL_VIDEO_BEFORE_LIPSYNC=any
HDXXX_SHOW_FIRST_PICTURE_BEFORE_LIPSYNC=0
HDXXX_CHN_CHG_MODE=0
Show video and audio exactly at the same time Normal HDXXX_PREROLL_VIDEO_BEFORE_LIPSYNC=any
HDXXX_SHOW_FIRST_PICTURE_BEFORE_LIPSYNC=any
HDXXX_CHN_CHG_MODE=1

Remarks: For some music channel that has very low frame rate, the channel switching speed can be slow. Setting HDXXX_CHN_CHG_MODE=2 would allow the audio to be played before the video is ready.