PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTMgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBJbnRlcmZhY2UgIENvbm5lY3Rpb25Qb29sDQo8L1RJVExFPg0KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0id2hpdGUiPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvQ29ubmVjdGlvblBvb2wuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7UFJFViBDTEFTUyZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi9saWIvc3FsL0RUTURvY3VtZW50LkNoYXJhY3Rlck5vZGVIYW5kbGVyLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJDb25uZWN0aW9uUG9vbC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7Q09OU1RSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7Q09OU1RSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPg0KPEgyPg0KPEZPTlQgU0laRT0iLTEiPg0Kb3JnLmFwYWNoZS54YWxhbi5saWIuc3FsPC9GT05UPg0KPEJSPg0KSW50ZXJmYWNlICBDb25uZWN0aW9uUG9vbDwvSDI+DQo8REw+DQo8RFQ+PEI+QWxsIEtub3duIEltcGxlbWVudGluZyBDbGFzc2VzOjwvQj4gPEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9EZWZhdWx0Q29ubmVjdGlvblBvb2wuaHRtbCI+RGVmYXVsdENvbm5lY3Rpb25Qb29sPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi9saWIvc3FsL0pORElDb25uZWN0aW9uUG9vbC5odG1sIj5KTkRJQ29ubmVjdGlvblBvb2w8L0E+PC9ERD4NCjwvREw+DQo8SFI+DQo8REw+DQo8RFQ+cHVibGljIGludGVyZmFjZSA8Qj5Db25uZWN0aW9uUG9vbDwvQj48L0RMPg0KDQo8UD4NCkFuIGludGVyZmFjZSB1c2VkIHRvIGJ1aWxkIHdyYXBwZXIgY2xhc3NlcyBhcm91bmQgZXhpc3RpbmcKIENvbm5lY3Rpb24gUG9vbCBsaWJyYXJpZXMuCiBUaXRsZTogICAgIENvbm5lY3Rpb25Qb29sPHA+DQo8UD4NCjxIUj4NCg0KPFA+DQo8IS0tID09PT09PT09IElOTkVSIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI2ZyZWVVbnVzZWQoKSI+ZnJlZVVudXNlZDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N0YXJ0IGRvd25zaXplaW5nIHRoZSBwb29sLCB0aGlzIHVzYWxseSBoYXBwZW5zIHJpZ2h0IGFmdGVyIHRoZQogcG9vbCBoYXMgYmVlbiBtYXJrZWQgYXMgSW5hY3RpdmUgYW5kIHdlIGFyZSByZW1vdmluZyBjb25uZWN0aW9ucwogdGhhdCBhcmUgbm90IGN1cnJlbnRseSBpbnVzZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5zcWwuQ29ubmVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNnZXRDb25uZWN0aW9uKCkiPmdldENvbm5lY3Rpb248L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXRyaXZlIGEgZGF0YWJhc2UgY29ubmVjdGlvbiBmcm9tIHRoZSBwb29sPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi9saWIvc3FsL0Nvbm5lY3Rpb25Qb29sLmh0bWwjaGFzQWN0aXZlQ29ubmVjdGlvbnMoKSI+aGFzQWN0aXZlQ29ubmVjdGlvbnM8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm92aWRlIGFuIGluZGljYXRvciB0byB0aGUgUG9vbE1hbmFnZXIgd2hlbiB0aGUgUG9vbCBjYW4gYmUgcmVtb3ZlZAogZnJvbSB0aGUgUG9vbCBUYWJsZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNpc0VuYWJsZWQoKSI+aXNFbmFibGVkPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RGV0ZXJtaW5lIGlmIGEgQ29ubmVjdGlvbiBQb29sIGhhcyBiZWVuIGRpc2FibGVkLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI3JlbGVhc2VDb25uZWN0aW9uKGphdmEuc3FsLkNvbm5lY3Rpb24pIj5yZWxlYXNlQ29ubmVjdGlvbjwvQT48L0I+KGphdmEuc3FsLkNvbm5lY3Rpb24mbmJzcDtjb24pPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gYSBjb25uZWN0aW9uIHRvIHRoZSBwb29sLCB0aGUgY29ubmVjdGlvbiBtYXkgYmUgY2xvc2VkIGlmIHRoZQogcG9vbCBpcyBpbmFjdGl2ZSBvciBoYXMgZXhjZWVkZWQgdGhlIG1heCBudW1iZXIgb2YgZnJlZSBjb25uZWN0aW9uczwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI3JlbGVhc2VDb25uZWN0aW9uT25FcnJvcihqYXZhLnNxbC5Db25uZWN0aW9uKSI+cmVsZWFzZUNvbm5lY3Rpb25PbkVycm9yPC9BPjwvQj4oamF2YS5zcWwuQ29ubmVjdGlvbiZuYnNwO2Nvbik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Byb3ZpZGUgYSBtZWNoaW5pc20gdG8gcmV0dXJuIGEgY29ubmVjdGlvbiB0byB0aGUgcG9vbCBvbiBFcnJvci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNzZXREcml2ZXIoamF2YS5sYW5nLlN0cmluZykiPnNldERyaXZlcjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtkKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIERyaXZlciBhbmQgVVJMIGFyZSB0aGUgb25seSByZXF1aXJlZCBwYXJtZXRlcnMuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi9saWIvc3FsL0Nvbm5lY3Rpb25Qb29sLmh0bWwjc2V0TWluQ29ubmVjdGlvbnMoaW50KSI+c2V0TWluQ29ubmVjdGlvbnM8L0E+PC9CPihpbnQmbmJzcDtuKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRuZSBtaW5pbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSB0byBiZSBtYWludGFpbmVkIGluIHRoZQogcG9vbC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNzZXRQYXNzd29yZChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0UGFzc3dvcmQ8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSByZXN0IG9mIHRoZSBwcm90b2NvbCBwYXJhbWV0ZXJzIGNhbiBlaXRlciBiZSBwYXNzZWQgaW4gYXMKIGp1c3QgVXNlcm5hbWUgYW5kIFBhc3N3b3JkIG9yIGFzIGEgcHJvcGVydHkgY29sbGVjdGlvbi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNzZXRQb29sRW5hYmxlZChib29sZWFuKSI+c2V0UG9vbEVuYWJsZWQ8L0E+PC9CPihib29sZWFuJm5ic3A7ZmxhZyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSBQb29sIGNhbiBiZSBFbmFibGVkIGFuZCBEaXNhYmxlZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvQ29ubmVjdGlvblBvb2wuaHRtbCNzZXRQcm90b2NvbChqYXZhLnV0aWwuUHJvcGVydGllcykiPnNldFByb3RvY29sPC9BPjwvQj4oamF2YS51dGlsLlByb3BlcnRpZXMmbmJzcDtwKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VXNlZCB0byBwYXNzIGluIGV4dHJhIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBkdXJpbmcgdGhlCiBkYXRhYmFzZSBjb25uZWN0IHBoYXNlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI3NldFVSTChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VVJMPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3VybCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI3NldFVzZXIoamF2YS5sYW5nLlN0cmluZykiPnNldFVzZXI8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vbGliL3NxbC9Db25uZWN0aW9uUG9vbC5odG1sI3Rlc3RDb25uZWN0aW9uKCkiPnRlc3RDb25uZWN0aW9uPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGVzdCB0byBzZWUgaWYgdGhlIGNvbm5lY3Rpb24gaW5mbyBpcyB2YWxpZCB0byBtYWtlIGEgcmVhbCBjb25uZWN0aW9uCiB0byB0aGUgZGF0YWJhc2UuPC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8UD4NCg0KPCEtLSA9PT09PT09PT09PT0gRklFTEQgREVUQUlMID09PT09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9ImlzRW5hYmxlZCgpIj48IS0tIC0tPjwvQT48SDM+DQppc0VuYWJsZWQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBib29sZWFuIDxCPmlzRW5hYmxlZDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkRldGVybWluZSBpZiBhIENvbm5lY3Rpb24gUG9vbCBoYXMgYmVlbiBkaXNhYmxlZC4gSWYgYSBDb25uZWN0aW9uIHBvb2wKIGlzIGRpc2FibGVkLCB0aGVuIGl0IHdpbGwgb25seSBtYW5hZ2UgY29ubmVjdGlvbnMgdGhhdCBhcmUgaW4gdXNlLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldERyaXZlcihqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0RHJpdmVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXREcml2ZXI8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtkKTwvUFJFPg0KPERMPg0KPEREPlRoZSBEcml2ZXIgYW5kIFVSTCBhcmUgdGhlIG9ubHkgcmVxdWlyZWQgcGFybWV0ZXJzLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmQ8L0NPREU+IC0gJm5ic3A7PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRVUkwoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFVSTDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0VVJMPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJsKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dXJsPC9DT0RFPiAtICZuYnNwOzwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZnJlZVVudXNlZCgpIj48IS0tIC0tPjwvQT48SDM+DQpmcmVlVW51c2VkPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5mcmVlVW51c2VkPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+U3RhcnQgZG93bnNpemVpbmcgdGhlIHBvb2wsIHRoaXMgdXNhbGx5IGhhcHBlbnMgcmlnaHQgYWZ0ZXIgdGhlCiBwb29sIGhhcyBiZWVuIG1hcmtlZCBhcyBJbmFjdGl2ZSBhbmQgd2UgYXJlIHJlbW92aW5nIGNvbm5lY3Rpb25zCiB0aGF0IGFyZSBub3QgY3VycmVudGx5IGludXNlLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Imhhc0FjdGl2ZUNvbm5lY3Rpb25zKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmhhc0FjdGl2ZUNvbm5lY3Rpb25zPC9IMz4NCjxQUkU+DQpwdWJsaWMgYm9vbGVhbiA8Qj5oYXNBY3RpdmVDb25uZWN0aW9uczwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlByb3ZpZGUgYW4gaW5kaWNhdG9yIHRvIHRoZSBQb29sTWFuYWdlciB3aGVuIHRoZSBQb29sIGNhbiBiZSByZW1vdmVkCiBmcm9tIHRoZSBQb29sIFRhYmxlLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFBhc3N3b3JkKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRQYXNzd29yZDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0UGFzc3dvcmQ8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwKTwvUFJFPg0KPERMPg0KPEREPlRoZSByZXN0IG9mIHRoZSBwcm90b2NvbCBwYXJhbWV0ZXJzIGNhbiBlaXRlciBiZSBwYXNzZWQgaW4gYXMKIGp1c3QgVXNlcm5hbWUgYW5kIFBhc3N3b3JkIG9yIGFzIGEgcHJvcGVydHkgY29sbGVjdGlvbi4gSWYgdGhlCiBwcm9wZXJ0eSBjb2xsZWN0aW9uIGlzIHVzZWQsIHRoZW4gdGhlIHNwZXJhdGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkCiBtYXkgYmUgaWdub3JlZCwgaXQgaXMgdXAgdG8gdGhlIHdyYXBwZXIgaW1wbGVtZW50YXRpb24gdG8gaGFuZGxlCiB0aGUgc2l0dWF0aW9uLiBJZiB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBjaGFuZ2VzIHdoaWxlIGFmdGVyIHRoZQogcG9vbCBoYXMgYmVlbiBlc3RhYmxpc2hlZCwgdGhlIHdyYXBwZXIgaW1wbGVtZW50YXRpb24gc2hvdWxkIGlnbm9yZQogdGhlIGNoYW5nZSBhbmQgdGhyb3cgYW4gZXJyb3IuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cDwvQ09ERT4gLSAmbmJzcDs8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFVzZXIoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFVzZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFVzZXI8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1KTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dTwvQ09ERT4gLSAmbmJzcDs8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldE1pbkNvbm5lY3Rpb25zKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldE1pbkNvbm5lY3Rpb25zPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRNaW5Db25uZWN0aW9uczwvQj4oaW50Jm5ic3A7bik8L1BSRT4NCjxETD4NCjxERD5TZXQgdG5lIG1pbmltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIHRvIGJlIG1haW50YWluZWQgaW4gdGhlCiBwb29sLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm48L0NPREU+IC0gJm5ic3A7PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJ0ZXN0Q29ubmVjdGlvbigpIj48IS0tIC0tPjwvQT48SDM+DQp0ZXN0Q29ubmVjdGlvbjwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+dGVzdENvbm5lY3Rpb248L0I+KCk8L1BSRT4NCjxETD4NCjxERD5UZXN0IHRvIHNlZSBpZiB0aGUgY29ubmVjdGlvbiBpbmZvIGlzIHZhbGlkIHRvIG1ha2UgYSByZWFsIGNvbm5lY3Rpb24KIHRvIHRoZSBkYXRhYmFzZS4gVGhpcyBtZXRob2QgbWF5IGNhdXNlIHRoZSBwb29sIHRvIGJlIGNyYXRlZCBhbmQgZmlsbGVkCiB3aXRoIG1pbiBjb25uZWN0aW9ucy48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRDb25uZWN0aW9uKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldENvbm5lY3Rpb248L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLnNxbC5Db25uZWN0aW9uIDxCPmdldENvbm5lY3Rpb248L0I+KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLnNxbC5TUUxFeGNlcHRpb248L1BSRT4NCjxETD4NCjxERD5SZXRyaXZlIGEgZGF0YWJhc2UgY29ubmVjdGlvbiBmcm9tIHRoZSBwb29sPEREPjxETD4NCjxEVD48Qj5UaHJvd3M6PC9CPjxERD5qYXZhLnNxbC5TUUxFeGNlcHRpb24gLSAmbmJzcDs8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InJlbGVhc2VDb25uZWN0aW9uKGphdmEuc3FsLkNvbm5lY3Rpb24pIj48IS0tIC0tPjwvQT48SDM+DQpyZWxlYXNlQ29ubmVjdGlvbjwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+cmVsZWFzZUNvbm5lY3Rpb248L0I+KGphdmEuc3FsLkNvbm5lY3Rpb24mbmJzcDtjb24pCiAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmEuc3FsLlNRTEV4Y2VwdGlvbjwvUFJFPg0KPERMPg0KPEREPlJldHVybiBhIGNvbm5lY3Rpb24gdG8gdGhlIHBvb2wsIHRoZSBjb25uZWN0aW9uIG1heSBiZSBjbG9zZWQgaWYgdGhlCiBwb29sIGlzIGluYWN0aXZlIG9yIGhhcyBleGNlZWRlZCB0aGUgbWF4IG51bWJlciBvZiBmcmVlIGNvbm5lY3Rpb25zPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y29uPC9DT0RFPiAtICZuYnNwOzxEVD48Qj5UaHJvd3M6PC9CPjxERD5qYXZhLnNxbC5TUUxFeGNlcHRpb24gLSAmbmJzcDs8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InJlbGVhc2VDb25uZWN0aW9uT25FcnJvcihqYXZhLnNxbC5Db25uZWN0aW9uKSI+PCEtLSAtLT48L0E+PEgzPg0KcmVsZWFzZUNvbm5lY3Rpb25PbkVycm9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5yZWxlYXNlQ29ubmVjdGlvbk9uRXJyb3I8L0I+KGphdmEuc3FsLkNvbm5lY3Rpb24mbmJzcDtjb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZhLnNxbC5TUUxFeGNlcHRpb248L1BSRT4NCjxETD4NCjxERD5Qcm92aWRlIGEgbWVjaGluaXNtIHRvIHJldHVybiBhIGNvbm5lY3Rpb24gdG8gdGhlIHBvb2wgb24gRXJyb3IuCiBBIGdvb2QgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gY2xvc2UgdGhpcyBjb25uZWN0aW9uIGFuZCBidWlsZAogYSBuZXcgb25lIHRvIHJlcGxhY2UgaXQuIFNvbWUgSkRCQyBpbXBsJ3Mgd29uJ3QgYWxsb3cgeW91IHRvCiByZXVzZSBhIGNvbm5lY3Rpb24gYWZ0ZXIgYW4gZXJyb3Igb2NjdXJzLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmNvbjwvQ09ERT4gLSAmbmJzcDs8RFQ+PEI+VGhyb3dzOjwvQj48REQ+amF2YS5zcWwuU1FMRXhjZXB0aW9uIC0gJm5ic3A7PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRQb29sRW5hYmxlZChib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0UG9vbEVuYWJsZWQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFBvb2xFbmFibGVkPC9CPihib29sZWFuJm5ic3A7ZmxhZyk8L1BSRT4NCjxETD4NCjxERD5UaGUgUG9vbCBjYW4gYmUgRW5hYmxlZCBhbmQgRGlzYWJsZWQuIERpc2FibGluZyB0aGUgcG9vbAogY2xvc2VzIGFsbCB0aGUgb3V0c3RhbmRpbmcgVW51c2VkIGNvbm5lY3Rpb25zIGFuZCBhbnkgbmV3CiBjb25uZWN0aW9ucyB3aWxsIGJlIGNsb3NlZCB1cG9uIHJlbGVhc2UuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+ZmxhZzwvQ09ERT4gLSBDb250cm9sIHRoZSBDb25uZWN0aW9uIFBvb2wuIElmIGl0IGlzIGVuYWJsZWQKIHRoZW4gQ29ubmVjdGlvbnMgd2lsbCBhY3R1YWxsIGJlIGhlbGQgYXJvdW5kLiBJZiBkaXNhYmxlZAogdGhlbiBhbGwgdW51c2VkIGNvbm5lY3Rpb25zIHdpbGwgYmUgaW5zdGFudGx5IGNsb3NlZCBhbmQgYXMKIGNvbm5lY3Rpb25zIGFyZSByZWxlYXNlZCB0aGV5IGFyZSBjbG9zZWQgYW5kIHJlbW92ZWQgZnJvbSB0aGUgcG9vbC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFByb3RvY29sKGphdmEudXRpbC5Qcm9wZXJ0aWVzKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0UHJvdG9jb2w8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFByb3RvY29sPC9CPihqYXZhLnV0aWwuUHJvcGVydGllcyZuYnNwO3ApPC9QUkU+DQo8REw+DQo8REQ+VXNlZCB0byBwYXNzIGluIGV4dHJhIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBkdXJpbmcgdGhlCiBkYXRhYmFzZSBjb25uZWN0IHBoYXNlLjwvREw+DQo8IS0tID09PT09PT09PSBFTkQgT0YgQ0xBU1MgREFUQSA9PT09PT09PT0gLS0+DQo8SFI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl9ib3R0b20iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl9ib3R0b21fZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9Db25uZWN0aW9uUG9vbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDtQUkVWIENMQVNTJm5ic3A7DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2xpYi9zcWwvRFRNRG9jdW1lbnQuQ2hhcmFjdGVyTm9kZUhhbmRsZXIuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkNvbm5lY3Rpb25Qb29sLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==