PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTggRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgWFBhdGhDb250ZXh0DQo8L1RJVExFPg0KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0id2hpdGUiPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvWFBhdGhDb250ZXh0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhBUEkuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5YUGF0aEV4cHJlc3Npb25Db250ZXh0Lmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJYUGF0aENvbnRleHQuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwOzxBIEhSRUY9IiNpbm5lcl9jbGFzc19zdW1tYXJ5Ij5JTk5FUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPg0KPEgyPg0KPEZPTlQgU0laRT0iLTEiPg0Kb3JnLmFwYWNoZS54cGF0aDwvRk9OVD4NCjxCUj4NCkNsYXNzICBYUGF0aENvbnRleHQ8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS08QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5vcmcuYXBhY2hlLnhtbC5kdG0uRFRNTWFuYWdlcjwvQT4NCiAgICAgICAgfA0KICAgICAgICArLS08Qj5vcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dDwvQj4NCjwvUFJFPg0KPEhSPg0KPERMPg0KPERUPnB1YmxpYyBjbGFzcyA8Qj5YUGF0aENvbnRleHQ8L0I+PERUPmV4dGVuZHMgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCI+RFRNTWFuYWdlcjwvQT48L0RMPg0KDQo8UD4NCkRlZmF1bHQgY2xhc3MgZm9yIHRoZSBydW50aW1lIGV4ZWN1dGlvbiBjb250ZXh0IGZvciBYUGF0aC4KIAogPHA+VGhpcyBjbGFzcyBleHRlbmRzIERUTU1hbmFnZXIgYnV0IGRvZXMgbm90IGRpcmVjdGx5IGltcGxlbWVudCBpdC48L3A+DQo8UD4NCjxETD4NCjxEVD48Qj5Vc2FnZTo8L0I+PEREPjxpPjxmb250IHNpemU9Ii0xIiBjb2xvcj0iIzAwRkYwMCI+ICoqRm9yIGFkdmFuY2VkIHVzZSBvbmx5Kio8L2ZvbnQ+PC9pPjwvREQ+CjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iaW5uZXJfY2xhc3Nfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPklubmVyIENsYXNzIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtjbGFzczwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5YUGF0aEV4cHJlc3Npb25Db250ZXh0Lmh0bWwiPlhQYXRoQ29udGV4dC5YUGF0aEV4cHJlc3Npb25Db250ZXh0PC9BPjwvQj48L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJmaWVsZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+RmllbGQgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy94bWwvc2F4L1hNTFJlYWRlci5odG1sIj5YTUxSZWFkZXI8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjbV9wcmltYXJ5UmVhZGVyIj5tX3ByaW1hcnlSZWFkZXI8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIHJlYWRlciBvZiB0aGUgcHJpbWFyeSBzb3VyY2UgdHJlZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjUkVDVVJTSU9OTElNSVQiPlJFQ1VSU0lPTkxJTUlUPC9BPjwvQj48L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSBhbW1vdW50IHRvIHVzZSBmb3Igc3RhY2tzIHRoYXQgcmVjb3JkIGluZm9ybWF0aW9uIGR1cmluZyB0aGUgCiByZWN1cnNpdmUgZXhlY3V0aW9uLjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC5kdG0uRFRNTWFuYWdlciI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjSURFTlRfRFRNX0RFRkFVTFQiPklERU5UX0RUTV9ERUZBVUxUPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNJREVOVF9EVE1fTk9ERV9CSVRTIj5JREVOVF9EVE1fTk9ERV9CSVRTPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNJREVOVF9NQVhfRFRNUyI+SURFTlRfTUFYX0RUTVM8L0E+LCAgDQo8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI0lERU5UX05PREVfREVGQVVMVCI+SURFTlRfTk9ERV9ERUZBVUxUPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNtX2luY3JlbWVudGFsIj5tX2luY3JlbWVudGFsPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNtX3NvdXJjZV9sb2NhdGlvbiI+bV9zb3VyY2VfbG9jYXRpb248L0E+PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI1hQYXRoQ29udGV4dCgpIj5YUGF0aENvbnRleHQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDcmVhdGUgYW4gWFBhdGhDb250ZXh0IGluc3RhbmNlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNYUGF0aENvbnRleHQoYm9vbGVhbikiPlhQYXRoQ29udGV4dDwvQT48L0I+KGJvb2xlYW4mbmJzcDtyZWN1cnNpdmVWYXJDb250ZXh0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGFuIFhQYXRoQ29udGV4dCBpbnN0YW5jZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjWFBhdGhDb250ZXh0KGphdmEubGFuZy5PYmplY3QpIj5YUGF0aENvbnRleHQ8L0E+PC9CPihqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7b3duZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDcmVhdGUgYW4gWFBhdGhDb250ZXh0IGluc3RhbmNlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNYUGF0aENvbnRleHQoamF2YS5sYW5nLk9iamVjdCwgYm9vbGVhbikiPlhQYXRoQ29udGV4dDwvQT48L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDtvd25lciwKICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtyZWN1cnNpdmVWYXJDb250ZXh0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGFuIFhQYXRoQ29udGV4dCBpbnN0YW5jZS48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2NyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSI+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZXMgYW4gZW1wdHkgPGNvZGU+RG9jdW1lbnRGcmFnbWVudDwvY29kZT4gb2JqZWN0LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNSXRlcmF0b3IuaHRtbCI+RFRNSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjY3JlYXRlRFRNSXRlcmF0b3IoaW50KSI+Y3JlYXRlRFRNSXRlcmF0b3I8L0E+PC9CPihpbnQmbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGEgbmV3IDxjb2RlPkRUTUl0ZXJhdG9yPC9jb2RlPiB0aGF0IGhvbGRzIGV4YWN0bHkgb25lIG5vZGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNjcmVhdGVEVE1JdGVyYXRvcihpbnQsIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1GaWx0ZXIsIGJvb2xlYW4pIj5jcmVhdGVEVE1JdGVyYXRvcjwvQT48L0I+KGludCZuYnNwO3doYXRUb1Nob3csCiAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1GaWx0ZXIuaHRtbCI+RFRNRmlsdGVyPC9BPiZuYnNwO2ZpbHRlciwKICAgICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO2VudGl0eVJlZmVyZW5jZUV4cGFuc2lvbik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZSBhIG5ldyA8Y29kZT5EVE1JdGVyYXRvcjwvY29kZT4gYmFzZWQgb25seSBvbiBhIHdoYXRUb1Nob3cgYW5kCiBhIERUTUZpbHRlci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUl0ZXJhdG9yLmh0bWwiPkRUTUl0ZXJhdG9yPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2NyZWF0ZURUTUl0ZXJhdG9yKGphdmEubGFuZy5PYmplY3QsIGludCkiPmNyZWF0ZURUTUl0ZXJhdG9yPC9BPjwvQj4oamF2YS5sYW5nLk9iamVjdCZuYnNwO3hwYXRoQ29tcGlsZXIsCiAgICAgICAgICAgICAgICAgIGludCZuYnNwO3Bvcyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZSBhIG5ldyA8Y29kZT5EVE1JdGVyYXRvcjwvY29kZT4gYmFzZWQgb24gYW4gWFBhdGgKIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULUxvY2F0aW9uUGF0aD5Mb2NhdGlvblBhdGg8L2E+IG9yCiBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULVVuaW9uRXhwciI+VW5pb25FeHByPC9hPi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUl0ZXJhdG9yLmh0bWwiPkRUTUl0ZXJhdG9yPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2NyZWF0ZURUTUl0ZXJhdG9yKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUueG1sLnV0aWxzLlByZWZpeFJlc29sdmVyKSI+Y3JlYXRlRFRNSXRlcmF0b3I8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7eHBhdGhTdHJpbmcsCiAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiZuYnNwO3ByZXNvbHZlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZSBhIG5ldyA8Y29kZT5EVE1JdGVyYXRvcjwvY29kZT4gYmFzZWQgb24gYW4gWFBhdGgKIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULUxvY2F0aW9uUGF0aD5Mb2NhdGlvblBhdGg8L2E+IG9yCiBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULVVuaW9uRXhwciI+VW5pb25FeHByPC9hPi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS51dGlsLlN0YWNrPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0QXhlc0l0ZXJhdG9yU3RhY2tTdGFja3MoKSI+Z2V0QXhlc0l0ZXJhdG9yU3RhY2tTdGFja3M8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q29udGV4dE5vZGUoKSI+Z2V0Q29udGV4dE5vZGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNSXRlcmF0b3IuaHRtbCI+RFRNSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q29udGV4dE5vZGVMaXN0KCkiPmdldENvbnRleHROb2RlTGlzdDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS51dGlsLlN0YWNrPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q29udGV4dE5vZGVMaXN0c1N0YWNrKCkiPmdldENvbnRleHROb2RlTGlzdHNTdGFjazwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNSXRlcmF0b3IuaHRtbCI+RFRNSXRlcmF0b3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q29udGV4dE5vZGVzKCkiPmdldENvbnRleHROb2RlczwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlKCkiPmdldEN1cnJlbnRFeHByZXNzaW9uTm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBub2RlIHRoYXQgaXMgdGhlIGV4cHJlc3Npb24ncyBjb250ZXh0IChpLmUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL0ludFN0YWNrLmh0bWwiPkludFN0YWNrPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldEN1cnJlbnRFeHByZXNzaW9uTm9kZVN0YWNrKCkiPmdldEN1cnJlbnRFeHByZXNzaW9uTm9kZVN0YWNrPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldEN1cnJlbnROb2RlKCkiPmdldEN1cnJlbnROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1N1YkNvbnRleHRMaXN0Lmh0bWwiPlN1YkNvbnRleHRMaXN0PC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldEN1cnJlbnROb2RlTGlzdCgpIj5nZXRDdXJyZW50Tm9kZUxpc3Q8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZHQtY3VycmVudC1ub2RlLWxpc3QiPmN1cnJlbnQgbm9kZSBsaXN0PC9hPiAKIGFzIGRlZmluZWQgYnkgdGhlIFhTTFQgc3BlYy48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvSW50U3RhY2suaHRtbCI+SW50U3RhY2s8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0Q3VycmVudE5vZGVTdGFjaygpIj5nZXRDdXJyZW50Tm9kZVN0YWNrPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldERUTShpbnQpIj5nZXREVE08L0E+PC9CPihpbnQmbmJzcDtub2RlSGFuZGxlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGFuIGluc3RhbmNlIG9mIGEgRFRNIHRoYXQgIm93bnMiIGEgbm9kZSBoYW5kbGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldERUTShqYXZheC54bWwudHJhbnNmb3JtLlNvdXJjZSwgYm9vbGVhbiwgb3JnLmFwYWNoZS54bWwuZHRtLkRUTVdTRmlsdGVyLCBib29sZWFuLCBib29sZWFuKSI+Z2V0RFRNPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9Tb3VyY2UuaHRtbCI+U291cmNlPC9BPiZuYnNwO3NvdXJjZSwKICAgICAgIGJvb2xlYW4mbmJzcDt1bmlxdWUsCiAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNV1NGaWx0ZXIuaHRtbCI+RFRNV1NGaWx0ZXI8L0E+Jm5ic3A7d3NmaWx0ZXIsCiAgICAgICBib29sZWFuJm5ic3A7aW5jcmVtZW50YWwsCiAgICAgICBib29sZWFuJm5ic3A7ZG9JbmRleGluZyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCBhbiBpbnN0YW5jZSBvZiBhIERUTSwgbG9hZGVkIHdpdGggdGhlIGNvbnRlbnQgZnJvbSB0aGUKIHNwZWNpZmllZCBzb3VyY2UuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldERUTUhhbmRsZUZyb21Ob2RlKG9yZy53M2MuZG9tLk5vZGUpIj5nZXREVE1IYW5kbGVGcm9tTm9kZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy93M2MvZG9tL05vZGUuaHRtbCI+Tm9kZTwvQT4mbmJzcDtub2RlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2l2ZW4gYSBXM0MgRE9NIG5vZGUsIHRyeSBhbmQgcmV0dXJuIGEgRFRNIGhhbmRsZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0RFRNSWRlbnRpdHkob3JnLmFwYWNoZS54bWwuZHRtLkRUTSkiPmdldERUTUlkZW50aXR5PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTS5odG1sIj5EVE08L0E+Jm5ic3A7ZHRtKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JVRCRCUgRG9jPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwiPkRUTU1hbmFnZXI8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0RFRNTWFuYWdlcigpIj5nZXREVE1NYW5hZ2VyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIHRoZSBEVE1NYW5hZ2VyIG9iamVjdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9vYmplY3RzL0RUTVhSVHJlZUZyYWcuaHRtbCI+RFRNWFJUcmVlRnJhZzwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNnZXREVE1YUlRyZWVGcmFnKGludCkiPmdldERUTVhSVHJlZUZyYWc8L0E+PC9CPihpbnQmbmJzcDtkdG1JZGVudGl0eSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldHMgRFRNWFJUcmVlRnJhZyBvYmplY3QgaWYgb25lIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9FcnJvckxpc3RlbmVyLmh0bWwiPkVycm9yTGlzdGVuZXI8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0RXJyb3JMaXN0ZW5lcigpIj5nZXRFcnJvckxpc3RlbmVyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBFcnJvckxpc3RlbmVyIHdoZXJlIGVycm9ycyBhbmQgd2FybmluZ3MgYXJlIHRvIGJlIHJlcG9ydGVkLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2V4dGVuc2lvbnMvRXhwcmVzc2lvbkNvbnRleHQuaHRtbCI+RXhwcmVzc2lvbkNvbnRleHQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0RXhwcmVzc2lvbkNvbnRleHQoKSI+Z2V0RXhwcmVzc2lvbkNvbnRleHQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgdGhlIGV4cHJlc3Npb24gY29udGV4dCBmb3IgZXh0ZW5zaW9ucyBmb3IgdGhpcyBjb250ZXh0LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNLmh0bWwiPkRUTTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNnZXRHbG9iYWxSVEZEVE0oKSI+Z2V0R2xvYmFsUlRGRFRNPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGEgRFRNIHRvIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIGEgZ2xvYmFsIFJlc3VsdCBUcmVlCiBGcmFnbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0SXRlcmF0b3JSb290KCkiPmdldEl0ZXJhdG9yUm9vdDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBsb2NhdGlvbiBwYXRoIGl0ZXJhdG9yIHJvb3QuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldE5hbWVzcGFjZUNvbnRleHQoKSI+Z2V0TmFtZXNwYWNlQ29udGV4dDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBuYW1lc3BhY2UgY29udGV4dCBmb3IgdGhlIHhwYXRoLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuT2JqZWN0PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0T3duZXJPYmplY3QoKSI+Z2V0T3duZXJPYmplY3Q8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlICJvd25lciIgY29udGV4dCBvZiB0aGlzIGNvbnRleHQsIHdoaWNoIHNob3VsZCBiZSwKIGluIHRoZSBjYXNlIG9mIFhTTFQsIHRoZSBUcmFuc2Zvcm1lciBvYmplY3QuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldFByZWRpY2F0ZVBvcygpIj5nZXRQcmVkaWNhdGVQb3M8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0UHJlZGljYXRlUm9vdCgpIj5nZXRQcmVkaWNhdGVSb290PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBjdXJyZW50IHByZWRpY2F0ZSByb290LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcveG1sL3NheC9YTUxSZWFkZXIuaHRtbCI+WE1MUmVhZGVyPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldFByaW1hcnlSZWFkZXIoKSI+Z2V0UHJpbWFyeVJlYWRlcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCBwcmltYXJ5IFhNTFJlYWRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTS5odG1sIj5EVE08L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0UlRGRFRNKCkiPmdldFJURkRUTTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCBhIERUTSB0byBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBhIGR5bmFtaWMgUmVzdWx0IFRyZWUKIEZyYWdtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuaHRtbCI+U291cmNlTG9jYXRvcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNnZXRTQVhMb2NhdG9yKCkiPmdldFNBWExvY2F0b3I8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIGN1cnJlbnQgbG9jYXRlciBpbiB0aGUgc3R5bGVzaGVldC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9Tb3VyY2VUcmVlTWFuYWdlci5odG1sIj5Tb3VyY2VUcmVlTWFuYWdlcjwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNnZXRTb3VyY2VUcmVlTWFuYWdlcigpIj5nZXRTb3VyY2VUcmVlTWFuYWdlcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgU291cmNlVHJlZU1hbmFnZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXhlY3V0aW9uIGNvbnRleHQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9TdWJDb250ZXh0TGlzdC5odG1sIj5TdWJDb250ZXh0TGlzdDwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNnZXRTdWJDb250ZXh0TGlzdCgpIj5nZXRTdWJDb250ZXh0TGlzdDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBheGVzIGl0ZXJhdG9yLCBvciByZXR1cm4gbnVsbCBpZiBub25lLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1VSSVJlc29sdmVyLmh0bWwiPlVSSVJlc29sdmVyPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldFVSSVJlc29sdmVyKCkiPmdldFVSSVJlc29sdmVyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBVUklSZXNvbHZlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9WYXJpYWJsZVN0YWNrLmh0bWwiPlZhcmlhYmxlU3RhY2s8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjZ2V0VmFyU3RhY2soKSI+Z2V0VmFyU3RhY2s8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIHZhcmlhYmxlIHN0YWNrLCB3aGljaCBpcyBpbiBjaGFyZ2Ugb2YgdmFyaWFibGVzIGFuZAogcGFyYW1ldGVycy48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7Ym9vbGVhbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2lzU2VjdXJlUHJvY2Vzc2luZygpIj5pc1NlY3VyZVByb2Nlc3Npbmc8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHN0YXRlIG9mIHRoZSBzZWN1cmUgcHJvY2Vzc2luZyBmZWF0dXJlPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwb3BDb250ZXh0Tm9kZUxpc3QoKSI+cG9wQ29udGV4dE5vZGVMaXN0PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UG9wIHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZSBsaXN0LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcG9wQ3VycmVudEV4cHJlc3Npb25Ob2RlKCkiPnBvcEN1cnJlbnRFeHByZXNzaW9uTm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvcCB0aGUgY3VycmVudCBub2RlIHRoYXQgaXMgdGhlIGV4cHJlc3Npb24ncyBjb250ZXh0IAogKGkuZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3BvcEN1cnJlbnROb2RlKCkiPnBvcEN1cnJlbnROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UG9wIHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3BvcEN1cnJlbnROb2RlQW5kRXhwcmVzc2lvbigpIj5wb3BDdXJyZW50Tm9kZUFuZEV4cHJlc3Npb248L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcG9wRXhwcmVzc2lvblN0YXRlKCkiPnBvcEV4cHJlc3Npb25TdGF0ZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvcCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUsIGV4cHJlc3Npb24gbm9kZSwgYW5kIHByZWZpeCByZXNvbHZlci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3BvcEl0ZXJhdG9yUm9vdCgpIj5wb3BJdGVyYXRvclJvb3Q8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb3AgdGhlIGN1cnJlbnQgbG9jYXRpb24gcGF0aCBpdGVyYXRvciByb290LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcG9wTmFtZXNwYWNlQ29udGV4dCgpIj5wb3BOYW1lc3BhY2VDb250ZXh0PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UG9wIHRoZSBjdXJyZW50IG5hbWVzcGFjZSBjb250ZXh0IGZvciB0aGUgeHBhdGguPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwb3BQcmVkaWNhdGVQb3MoKSI+cG9wUHJlZGljYXRlUG9zPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwb3BQcmVkaWNhdGVSb290KCkiPnBvcFByZWRpY2F0ZVJvb3Q8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb3AgdGhlIGN1cnJlbnQgcHJlZGljYXRlIHJvb3QuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwb3BSVEZDb250ZXh0KCkiPnBvcFJURkNvbnRleHQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb3AgdGhlIFJURkRUTSdzIGNvbnRleHQgbWFyay48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3BvcFNBWExvY2F0b3IoKSI+cG9wU0FYTG9jYXRvcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvcCB0aGUgY3VycmVudCBsb2NhdGVyLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcG9wU3ViQ29udGV4dExpc3QoKSI+cG9wU3ViQ29udGV4dExpc3Q8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb3AgdGhlIGxhc3QgcHVzaGVkIGF4ZXMgaXRlcmF0b3IuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoQ29udGV4dE5vZGVMaXN0KG9yZy5hcGFjaGUueG1sLmR0bS5EVE1JdGVyYXRvcikiPnB1c2hDb250ZXh0Tm9kZUxpc3Q8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNSXRlcmF0b3IuaHRtbCI+RFRNSXRlcmF0b3I8L0E+Jm5ic3A7bmwpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlIGxpc3QuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoQ3VycmVudEV4cHJlc3Npb25Ob2RlKGludCkiPnB1c2hDdXJyZW50RXhwcmVzc2lvbk5vZGU8L0E+PC9CPihpbnQmbmJzcDtuKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IG5vZGUgdGhhdCBpcyB0aGUgZXhwcmVzc2lvbidzIGNvbnRleHQgKGkuZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3B1c2hDdXJyZW50Tm9kZShpbnQpIj5wdXNoQ3VycmVudE5vZGU8L0E+PC9CPihpbnQmbmJzcDtuKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3B1c2hDdXJyZW50Tm9kZUFuZEV4cHJlc3Npb24oaW50LCBpbnQpIj5wdXNoQ3VycmVudE5vZGVBbmRFeHByZXNzaW9uPC9BPjwvQj4oaW50Jm5ic3A7Y24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7ZW4pPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlIGFuZCBleHByZXNzaW9uIG5vZGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoRXhwcmVzc2lvblN0YXRlKGludCwgaW50LCBvcmcuYXBhY2hlLnhtbC51dGlscy5QcmVmaXhSZXNvbHZlcikiPnB1c2hFeHByZXNzaW9uU3RhdGU8L0E+PC9CPihpbnQmbmJzcDtjbiwKICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtlbiwKICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9QcmVmaXhSZXNvbHZlci5odG1sIj5QcmVmaXhSZXNvbHZlcjwvQT4mbmJzcDtuYyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1B1c2ggdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLCBleHByZXNzaW9uIG5vZGUsIGFuZCBwcmVmaXggcmVzb2x2ZXIuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoSXRlcmF0b3JSb290KGludCkiPnB1c2hJdGVyYXRvclJvb3Q8L0E+PC9CPihpbnQmbmJzcDtuKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IGxvY2F0aW9uIHBhdGggaXRlcmF0b3Igcm9vdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3B1c2hOYW1lc3BhY2VDb250ZXh0KG9yZy5hcGFjaGUueG1sLnV0aWxzLlByZWZpeFJlc29sdmVyKSI+cHVzaE5hbWVzcGFjZUNvbnRleHQ8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9QcmVmaXhSZXNvbHZlci5odG1sIj5QcmVmaXhSZXNvbHZlcjwvQT4mbmJzcDtwcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1B1c2ggYSBjdXJyZW50IG5hbWVzcGFjZSBjb250ZXh0IGZvciB0aGUgeHBhdGguPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoTmFtZXNwYWNlQ29udGV4dE51bGwoKSI+cHVzaE5hbWVzcGFjZUNvbnRleHROdWxsPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SnVzdCBpbmNyZW1lbnQgdGhlIG5hbWVzcGFjZSBjb250ZXN0IHN0YWNrLCBzbyB0aGF0IHNldE5hbWVzcGFjZUNvbnRleHQKIGNhbiBiZSB1c2VkIG9uIHRoZSBzbG90LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcHVzaFByZWRpY2F0ZVBvcyhpbnQpIj5wdXNoUHJlZGljYXRlUG9zPC9BPjwvQj4oaW50Jm5ic3A7bik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcHVzaFByZWRpY2F0ZVJvb3QoaW50KSI+cHVzaFByZWRpY2F0ZVJvb3Q8L0E+PC9CPihpbnQmbmJzcDtuKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IHByZWRpY2F0ZSByb290LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcHVzaFJURkNvbnRleHQoKSI+cHVzaFJURkNvbnRleHQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQdXNoIHRoZSBSVEZEVE0ncyBjb250ZXh0IG1hcmssIHRvIGFsbG93cyBkaXNjYXJkaW5nIFJURnMgYWRkZWQgYWZ0ZXIgdGhpcwogcG9pbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoU0FYTG9jYXRvcihqYXZheC54bWwudHJhbnNmb3JtLlNvdXJjZUxvY2F0b3IpIj5wdXNoU0FYTG9jYXRvcjwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vU291cmNlTG9jYXRvci5odG1sIj5Tb3VyY2VMb2NhdG9yPC9BPiZuYnNwO2xvY2F0aW9uKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IGxvY2F0ZXIgaW4gdGhlIHN0eWxlc2hlZXQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoU0FYTG9jYXRvck51bGwoKSI+cHVzaFNBWExvY2F0b3JOdWxsPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHVzaCBhIHNsb3Qgb24gdGhlIGxvY2F0aW9ucyBzdGFjayBzbyB0aGF0IHNldFNBWExvY2F0b3IgY2FuIGJlIAogcmVwZWF0ZWRseSBjYWxsZWQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNwdXNoU3ViQ29udGV4dExpc3Qob3JnLmFwYWNoZS54cGF0aC5heGVzLlN1YkNvbnRleHRMaXN0KSI+cHVzaFN1YkNvbnRleHRMaXN0PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1N1YkNvbnRleHRMaXN0Lmh0bWwiPlN1YkNvbnRleHRMaXN0PC9BPiZuYnNwO2l0ZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQdXNoIGEgVHJlZVdhbGtlciBvbiB0aGUgc3RhY2suPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2Jvb2xlYW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNyZWxlYXNlKG9yZy5hcGFjaGUueG1sLmR0bS5EVE0sIGJvb2xlYW4pIj5yZWxlYXNlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTS5odG1sIj5EVE08L0E+Jm5ic3A7ZHRtLAogICAgICAgIGJvb2xlYW4mbmJzcDtzaG91bGRIYXJkRGVsZXRlKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmVsZWFzZSBhIERUTSBlaXRoZXIgdG8gYSBscnUgcG9vbCwgb3IgY29tcGxldGVseSByZW1vdmUgcmVmZXJlbmNlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjcmVzZXQoKSI+cmVzZXQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXNldCBmb3IgbmV3IHJ1bi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3NldEF4ZXNJdGVyYXRvclN0YWNrU3RhY2tzKGphdmEudXRpbC5TdGFjaykiPnNldEF4ZXNJdGVyYXRvclN0YWNrU3RhY2tzPC9BPjwvQj4oamF2YS51dGlsLlN0YWNrJm5ic3A7cyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjc2V0Q29udGV4dE5vZGVMaXN0c1N0YWNrKGphdmEudXRpbC5TdGFjaykiPnNldENvbnRleHROb2RlTGlzdHNTdGFjazwvQT48L0I+KGphdmEudXRpbC5TdGFjayZuYnNwO3MpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3NldEN1cnJlbnRFeHByZXNzaW9uTm9kZVN0YWNrKG9yZy5hcGFjaGUueG1sLnV0aWxzLkludFN0YWNrKSI+c2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlU3RhY2s8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9JbnRTdGFjay5odG1sIj5JbnRTdGFjazwvQT4mbmJzcDtudik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjc2V0Q3VycmVudE5vZGVTdGFjayhvcmcuYXBhY2hlLnhtbC51dGlscy5JbnRTdGFjaykiPnNldEN1cnJlbnROb2RlU3RhY2s8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9JbnRTdGFjay5odG1sIj5JbnRTdGFjazwvQT4mbmJzcDtudik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwjc2V0RXJyb3JMaXN0ZW5lcihqYXZheC54bWwudHJhbnNmb3JtLkVycm9yTGlzdGVuZXIpIj5zZXRFcnJvckxpc3RlbmVyPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9FcnJvckxpc3RlbmVyLmh0bWwiPkVycm9yTGlzdGVuZXI8L0E+Jm5ic3A7bGlzdGVuZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIEVycm9yTGlzdGVuZXIgd2hlcmUgZXJyb3JzIGFuZCB3YXJuaW5ncyBhcmUgdG8gYmUgcmVwb3J0ZWQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNzZXROYW1lc3BhY2VDb250ZXh0KG9yZy5hcGFjaGUueG1sLnV0aWxzLlByZWZpeFJlc29sdmVyKSI+c2V0TmFtZXNwYWNlQ29udGV4dDwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiZuYnNwO3ByKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBjdXJyZW50IG5hbWVzcGFjZSBjb250ZXh0IGZvciB0aGUgeHBhdGguPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNzZXRQcmltYXJ5UmVhZGVyKG9yZy54bWwuc2F4LlhNTFJlYWRlcikiPnNldFByaW1hcnlSZWFkZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcveG1sL3NheC9YTUxSZWFkZXIuaHRtbCI+WE1MUmVhZGVyPC9BPiZuYnNwO3JlYWRlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCBwcmltYXJ5IFhNTFJlYWRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3NldFNBWExvY2F0b3IoamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2VMb2NhdG9yKSI+c2V0U0FYTG9jYXRvcjwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vU291cmNlTG9jYXRvci5odG1sIj5Tb3VyY2VMb2NhdG9yPC9BPiZuYnNwO2xvY2F0aW9uKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBjdXJyZW50IGxvY2F0ZXIgaW4gdGhlIHN0eWxlc2hlZXQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNzZXRTZWN1cmVQcm9jZXNzaW5nKGJvb2xlYW4pIj5zZXRTZWN1cmVQcm9jZXNzaW5nPC9BPjwvQj4oYm9vbGVhbiZuYnNwO2ZsYWcpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIHN0YXRlIG9mIHRoZSBzZWN1cmUgcHJvY2Vzc2luZyBmZWF0dXJlPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNzZXRTb3VyY2VUcmVlTWFuYWdlcihvcmcuYXBhY2hlLnhwYXRoLlNvdXJjZVRyZWVNYW5hZ2VyKSI+c2V0U291cmNlVHJlZU1hbmFnZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1NvdXJjZVRyZWVNYW5hZ2VyLmh0bWwiPlNvdXJjZVRyZWVNYW5hZ2VyPC9BPiZuYnNwO21ncik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgU291cmNlVHJlZU1hbmFnZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXhlY3V0aW9uIGNvbnRleHQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNzZXRVUklSZXNvbHZlcihqYXZheC54bWwudHJhbnNmb3JtLlVSSVJlc29sdmVyKSI+c2V0VVJJUmVzb2x2ZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1VSSVJlc29sdmVyLmh0bWwiPlVSSVJlc29sdmVyPC9BPiZuYnNwO3Jlc29sdmVyKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBVUklSZXNvbHZlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI3NldFZhclN0YWNrKG9yZy5hcGFjaGUueHBhdGguVmFyaWFibGVTdGFjaykiPnNldFZhclN0YWNrPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9WYXJpYWJsZVN0YWNrLmh0bWwiPlZhcmlhYmxlU3RhY2s8L0E+Jm5ic3A7dmFyU3RhY2spPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIHZhcmlhYmxlIHN0YWNrLCB3aGljaCBpcyBpbiBjaGFyZ2Ugb2YgdmFyaWFibGVzIGFuZAogcGFyYW1ldGVycy48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueG1sLmR0bS5EVE1NYW5hZ2VyIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLmR0bS48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjZ2V0RFRNSWRlbnRpdHlNYXNrKCkiPmdldERUTUlkZW50aXR5TWFzazwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNnZXRJbmNyZW1lbnRhbCgpIj5nZXRJbmNyZW1lbnRhbDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNnZXROb2RlSWRlbnRpdHlNYXNrKCkiPmdldE5vZGVJZGVudGl0eU1hc2s8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjZ2V0U291cmNlX2xvY2F0aW9uKCkiPmdldFNvdXJjZV9sb2NhdGlvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNnZXRYTUxTdHJpbmdGYWN0b3J5KCkiPmdldFhNTFN0cmluZ0ZhY3Rvcnk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjbmV3SW5zdGFuY2Uob3JnLmFwYWNoZS54bWwudXRpbHMuWE1MU3RyaW5nRmFjdG9yeSkiPm5ld0luc3RhbmNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI3NldEluY3JlbWVudGFsKGJvb2xlYW4pIj5zZXRJbmNyZW1lbnRhbDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNzZXRTb3VyY2VfbG9jYXRpb24oYm9vbGVhbikiPnNldFNvdXJjZV9sb2NhdGlvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNzZXRYTUxTdHJpbmdGYWN0b3J5KG9yZy5hcGFjaGUueG1sLnV0aWxzLlhNTFN0cmluZ0ZhY3RvcnkpIj5zZXRYTUxTdHJpbmdGYWN0b3J5PC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iZmllbGRfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+RmllbGQgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9Im1fcHJpbWFyeVJlYWRlciI+PCEtLSAtLT48L0E+PEgzPg0KbV9wcmltYXJ5UmVhZGVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL3htbC9zYXgvWE1MUmVhZGVyLmh0bWwiPlhNTFJlYWRlcjwvQT4gPEI+bV9wcmltYXJ5UmVhZGVyPC9CPjwvUFJFPg0KPERMPg0KPEREPlRoZSByZWFkZXIgb2YgdGhlIHByaW1hcnkgc291cmNlIHRyZWUuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iUkVDVVJTSU9OTElNSVQiPjwhLS0gLS0+PC9BPjxIMz4NClJFQ1VSU0lPTkxJTUlUPC9IMz4NCjxQUkU+DQpwdWJsaWMgc3RhdGljIGZpbmFsIGludCA8Qj5SRUNVUlNJT05MSU1JVDwvQj48L1BSRT4NCjxETD4NCjxERD5UaGUgYW1tb3VudCB0byB1c2UgZm9yIHN0YWNrcyB0aGF0IHJlY29yZCBpbmZvcm1hdGlvbiBkdXJpbmcgdGhlIAogcmVjdXJzaXZlIGV4ZWN1dGlvbi48L0RMPg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJYUGF0aENvbnRleHQoKSI+PCEtLSAtLT48L0E+PEgzPg0KWFBhdGhDb250ZXh0PC9IMz4NCjxQUkU+DQpwdWJsaWMgPEI+WFBhdGhDb250ZXh0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+Q3JlYXRlIGFuIFhQYXRoQ29udGV4dCBpbnN0YW5jZS4gIFRoaXMgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nCiB0aGUgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuaHRtbCNYUGF0aENvbnRleHQoYm9vbGVhbikiPjxDT0RFPlhQYXRoQ29udGV4dChib29sZWFuKTwvQ09ERT48L0E+IGNvbnN0cnVjdG9yIHdpdGggdGhlIHZhbHVlCiA8Y29kZT50cnVlPC9jb2RlPi48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJYUGF0aENvbnRleHQoYm9vbGVhbikiPjwhLS0gLS0+PC9BPjxIMz4NClhQYXRoQ29udGV4dDwvSDM+DQo8UFJFPg0KcHVibGljIDxCPlhQYXRoQ29udGV4dDwvQj4oYm9vbGVhbiZuYnNwO3JlY3Vyc2l2ZVZhckNvbnRleHQpPC9QUkU+DQo8REw+DQo8REQ+Q3JlYXRlIGFuIFhQYXRoQ29udGV4dCBpbnN0YW5jZS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5yZWN1cnNpdmVWYXJDb250ZXh0PC9DT0RFPiAtIEEgPGNvZGU+Ym9vbGVhbjwvY29kZT4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyCiAgICAgICAgICAgICB0aGUgWFBhdGggY29udGV4dCBuZWVkcyB0byBzdXBwb3J0IHB1c2hpbmcgb2Ygc2NvcGVzIGZvcgogICAgICAgICAgICAgdmFyaWFibGUgcmVzb2x1dGlvbjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iWFBhdGhDb250ZXh0KGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+DQpYUGF0aENvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5YUGF0aENvbnRleHQ8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDtvd25lcik8L1BSRT4NCjxETD4NCjxERD5DcmVhdGUgYW4gWFBhdGhDb250ZXh0IGluc3RhbmNlLiAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgdGhlCiBjb25zdHJ1Y3RvciA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI1hQYXRoQ29udGV4dChqYXZhLmxhbmcuT2JqZWN0LCBib29sZWFuKSI+PENPREU+WFBhdGhDb250ZXh0KGphdmEubGFuZy5PYmplY3QsYm9vbGVhbik8L0NPREU+PC9BPiB3aXRoIHRoZQogdmFsdWUgb2YgdGhlIHNlY29uZCBwYXJhbWV0ZXIgc2V0IHRvIDxjb2RlPnRydWU8L2NvZGU+LjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm93bmVyPC9DT0RFPiAtIFZhbHVlIHRoYXQgY2FuIGJlIHJldHJpZXZlZCB2aWEgdGhlIGdldE93bmVyT2JqZWN0KCkgbWV0aG9kLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldE93bmVyT2JqZWN0KCkiPjxDT0RFPmdldE93bmVyT2JqZWN0KCk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iWFBhdGhDb250ZXh0KGphdmEubGFuZy5PYmplY3QsIGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpYUGF0aENvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5YUGF0aENvbnRleHQ8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDtvd25lciwKICAgICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7cmVjdXJzaXZlVmFyQ29udGV4dCk8L1BSRT4NCjxETD4NCjxERD5DcmVhdGUgYW4gWFBhdGhDb250ZXh0IGluc3RhbmNlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm93bmVyPC9DT0RFPiAtIFZhbHVlIHRoYXQgY2FuIGJlIHJldHJpZXZlZCB2aWEgdGhlIGdldE93bmVyT2JqZWN0KCkgbWV0aG9kLjxERD48Q09ERT5yZWN1cnNpdmVWYXJDb250ZXh0PC9DT0RFPiAtIEEgPGNvZGU+Ym9vbGVhbjwvY29kZT4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyCiAgICAgICAgICAgICB0aGUgWFBhdGggY29udGV4dCBuZWVkcyB0byBzdXBwb3J0IHB1c2hpbmcgb2Ygc2NvcGVzIGZvcgogICAgICAgICAgICAgdmFyaWFibGUgcmVzb2x1dGlvbjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQ29udGV4dC5odG1sI2dldE93bmVyT2JqZWN0KCkiPjxDT0RFPmdldE93bmVyT2JqZWN0KCk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCg0KPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJnZXREVE1NYW5hZ2VyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldERUTU1hbmFnZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPiA8Qj5nZXREVE1NYW5hZ2VyPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIHRoZSBEVE1NYW5hZ2VyIG9iamVjdC4gIFRob3VnaCBYUGF0aENvbnRleHQgY29udGV4dCBleHRlbmRzIAogdGhlIERUTU1hbmFnZXIsIGl0IHJlYWxseSBpcyBhIHByb3h5IGZvciB0aGUgcmVhbCBEVE1NYW5hZ2VyLiAgSWYgYSAKIGNhbGxlciBuZWVkcyB0byBtYWtlIGEgbG90IG9mIGNhbGxzIHRvIHRoZSBEVE1NYW5hZ2VyLCBpdCBpcyBmYXN0ZXIgCiBpZiBpdCBnZXRzIHRoZSByZWFsIG9uZSBmcm9tIHRoaXMgZnVuY3Rpb24uPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0U2VjdXJlUHJvY2Vzc2luZyhib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0U2VjdXJlUHJvY2Vzc2luZzwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0U2VjdXJlUHJvY2Vzc2luZzwvQj4oYm9vbGVhbiZuYnNwO2ZsYWcpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBzdGF0ZSBvZiB0aGUgc2VjdXJlIHByb2Nlc3NpbmcgZmVhdHVyZTwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImlzU2VjdXJlUHJvY2Vzc2luZygpIj48IS0tIC0tPjwvQT48SDM+DQppc1NlY3VyZVByb2Nlc3Npbmc8L0gzPg0KPFBSRT4NCnB1YmxpYyBib29sZWFuIDxCPmlzU2VjdXJlUHJvY2Vzc2luZzwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0aGUgc3RhdGUgb2YgdGhlIHNlY3VyZSBwcm9jZXNzaW5nIGZlYXR1cmU8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXREVE0oamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2UsIGJvb2xlYW4sIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1XU0ZpbHRlciwgYm9vbGVhbiwgYm9vbGVhbikiPjwhLS0gLS0+PC9BPjxIMz4NCmdldERUTTwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPiA8Qj5nZXREVE08L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmh0bWwiPlNvdXJjZTwvQT4mbmJzcDtzb3VyY2UsCiAgICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDt1bmlxdWUsCiAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1XU0ZpbHRlci5odG1sIj5EVE1XU0ZpbHRlcjwvQT4mbmJzcDt3c2ZpbHRlciwKICAgICAgICAgICAgICAgICAgYm9vbGVhbiZuYnNwO2luY3JlbWVudGFsLAogICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7ZG9JbmRleGluZyk8L1BSRT4NCjxETD4NCjxERD5HZXQgYW4gaW5zdGFuY2Ugb2YgYSBEVE0sIGxvYWRlZCB3aXRoIHRoZSBjb250ZW50IGZyb20gdGhlCiBzcGVjaWZpZWQgc291cmNlLiAgSWYgdGhlIHVuaXF1ZSBmbGFnIGlzIHRydWUsIGEgbmV3IGluc3RhbmNlIHdpbGwKIGFsd2F5cyBiZSByZXR1cm5lZC4gIE90aGVyd2lzZSBpdCBpcyB1cCB0byB0aGUgRFRNTWFuYWdlciB0byByZXR1cm4gYQogbmV3IGluc3RhbmNlIG9yIGFuIGluc3RhbmNlIHRoYXQgaXQgYWxyZWFkeSBjcmVhdGVkIGFuZCBtYXkgYmUgYmVpbmcgdXNlZAogYnkgc29tZW9uZSBlbHNlLgogKEkgdGhpbmsgbW9yZSBwYXJhbWV0ZXJzIHdpbGwgbmVlZCB0byBiZSBhZGRlZCBmb3IgZXJyb3IgaGFuZGxpbmcsIGFuZCBlbnRpdHkKIHJlc29sdXRpb24pLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnNvdXJjZTwvQ09ERT4gLSB0aGUgc3BlY2lmaWNhdGlvbiBvZiB0aGUgc291cmNlIG9iamVjdCwgd2hpY2ggbWF5IGJlIG51bGwsIAogICAgICAgICAgICAgICBpbiB3aGljaCBjYXNlIGl0IGlzIGFzc3VtZWQgdGhhdCBub2RlIGNvbnN0cnVjdGlvbiB3aWxsIHRha2UgCiAgICAgICAgICAgICAgIGJ5IHNvbWUgb3RoZXIgbWVhbnMuPEREPjxDT0RFPnVuaXF1ZTwvQ09ERT4gLSB0cnVlIGlmIHRoZSByZXR1cm5lZCBEVE0gbXVzdCBiZSB1bmlxdWUsIHByb2JhYmx5IGJlY2F1c2UgaXQKIGlzIGdvaW5nIHRvIGJlIG11dGF0ZWQuPEREPjxDT0RFPndzZmlsdGVyPC9DT0RFPiAtIEVuYWJsZXMgZmlsdGVyaW5nIG9mIHdoaXRlc3BhY2Ugbm9kZXMsIGFuZCBtYXkgYmUgbnVsbC48REQ+PENPREU+aW5jcmVtZW50YWw8L0NPREU+IC0gdHJ1ZSBpZiB0aGUgY29uc3RydWN0aW9uIHNob3VsZCB0cnkgYW5kIGJlIGluY3JlbWVudGFsLjxERD48Q09ERT5kb0luZGV4aW5nPC9DT0RFPiAtIHRydWUgaWYgdGhlIGNhbGxlciBjb25zaWRlcnMgaXQgd29ydGggaXQgdG8gdXNlIAogICAgICAgICAgICAgICAgICAgaW5kZXhpbmcgc2NoZW1lcy48RFQ+PEI+UmV0dXJuczo8L0I+PEREPmEgbm9uLW51bGwgRFRNIHJlZmVyZW5jZS48RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNnZXREVE0oamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2UsIGJvb2xlYW4sIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1XU0ZpbHRlciwgYm9vbGVhbiwgYm9vbGVhbikiPmdldERUTTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCI+RFRNTWFuYWdlcjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldERUTShpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpnZXREVE08L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNLmh0bWwiPkRUTTwvQT4gPEI+Z2V0RFRNPC9CPihpbnQmbmJzcDtub2RlSGFuZGxlKTwvUFJFPg0KPERMPg0KPEREPkdldCBhbiBpbnN0YW5jZSBvZiBhIERUTSB0aGF0ICJvd25zIiBhIG5vZGUgaGFuZGxlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5vZGVIYW5kbGU8L0NPREU+IC0gdGhlIG5vZGVIYW5kbGUuPERUPjxCPlJldHVybnM6PC9CPjxERD5hIG5vbi1udWxsIERUTSByZWZlcmVuY2UuPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjZ2V0RFRNKGludCkiPmdldERUTTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCI+RFRNTWFuYWdlcjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldERUTUhhbmRsZUZyb21Ob2RlKG9yZy53M2MuZG9tLk5vZGUpIj48IS0tIC0tPjwvQT48SDM+DQpnZXREVE1IYW5kbGVGcm9tTm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXREVE1IYW5kbGVGcm9tTm9kZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiZuYnNwO25vZGUpPC9QUkU+DQo8REw+DQo8REQ+R2l2ZW4gYSBXM0MgRE9NIG5vZGUsIHRyeSBhbmQgcmV0dXJuIGEgRFRNIGhhbmRsZS4KIE5vdGU6IGNhbGxpbmcgdGhpcyBtYXkgYmUgbm9uLW9wdGltYWwuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bm9kZTwvQ09ERT4gLSBOb24tbnVsbCByZWZlcmVuY2UgdG8gYSBET00gbm9kZS48RFQ+PEI+UmV0dXJuczo8L0I+PEREPmEgdmFsaWQgRFRNIGhhbmRsZS48RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTU1hbmFnZXIuaHRtbCNnZXREVE1IYW5kbGVGcm9tTm9kZShvcmcudzNjLmRvbS5Ob2RlKSI+Z2V0RFRNSGFuZGxlRnJvbU5vZGU8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwiPkRUTU1hbmFnZXI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXREVE1JZGVudGl0eShvcmcuYXBhY2hlLnhtbC5kdG0uRFRNKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0RFRNSWRlbnRpdHk8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+Z2V0RFRNSWRlbnRpdHk8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPiZuYnNwO2R0bSk8L1BSRT4NCjxETD4NCjxERD4lVEJEJSBEb2M8REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjZ2V0RFRNSWRlbnRpdHkob3JnLmFwYWNoZS54bWwuZHRtLkRUTSkiPmdldERUTUlkZW50aXR5PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVEb2N1bWVudEZyYWdtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTS5odG1sIj5EVE08L0E+IDxCPmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5DcmVhdGVzIGFuIGVtcHR5IDxjb2RlPkRvY3VtZW50RnJhZ21lbnQ8L2NvZGU+IG9iamVjdC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5BIG5ldyA8Y29kZT5Eb2N1bWVudEZyYWdtZW50IGhhbmRsZTwvY29kZT4uPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIj5jcmVhdGVEb2N1bWVudEZyYWdtZW50PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVsZWFzZShvcmcuYXBhY2hlLnhtbC5kdG0uRFRNLCBib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0KcmVsZWFzZTwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+cmVsZWFzZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTS5odG1sIj5EVE08L0E+Jm5ic3A7ZHRtLAogICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4mbmJzcDtzaG91bGRIYXJkRGVsZXRlKTwvUFJFPg0KPERMPg0KPEREPlJlbGVhc2UgYSBEVE0gZWl0aGVyIHRvIGEgbHJ1IHBvb2wsIG9yIGNvbXBsZXRlbHkgcmVtb3ZlIHJlZmVyZW5jZS4KIERUTXMgd2l0aG91dCBzeXN0ZW0gSURzIGFyZSBhbHdheXMgaGFyZCBkZWxldGVkLgogU3RhdGU6IGV4cGVyaW1lbnRhbC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5kdG08L0NPREU+IC0gVGhlIERUTSB0byBiZSByZWxlYXNlZC48REQ+PENPREU+c2hvdWxkSGFyZERlbGV0ZTwvQ09ERT4gLSBUcnVlIGlmIHRoZSBEVE0gc2hvdWxkIGJlIHJlbW92ZWQgbm8gbWF0dGVyIHdoYXQuPERUPjxCPlJldHVybnM6PC9CPjxERD50cnVlIGlmIHRoZSBEVE0gd2FzIHJlbW92ZWQsIGZhbHNlIGlmIGl0IHdhcyBwdXQgYmFjayBpbiBhIGxydSBwb29sLjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI3JlbGVhc2Uob3JnLmFwYWNoZS54bWwuZHRtLkRUTSwgYm9vbGVhbikiPnJlbGVhc2U8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwiPkRUTU1hbmFnZXI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjcmVhdGVEVE1JdGVyYXRvcihqYXZhLmxhbmcuT2JqZWN0LCBpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVEVE1JdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT4gPEI+Y3JlYXRlRFRNSXRlcmF0b3I8L0I+KGphdmEubGFuZy5PYmplY3QmbmJzcDt4cGF0aENvbXBpbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7cG9zKTwvUFJFPg0KPERMPg0KPEREPkNyZWF0ZSBhIG5ldyA8Y29kZT5EVE1JdGVyYXRvcjwvY29kZT4gYmFzZWQgb24gYW4gWFBhdGgKIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULUxvY2F0aW9uUGF0aD5Mb2NhdGlvblBhdGg8L2E+IG9yCiBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULVVuaW9uRXhwciI+VW5pb25FeHByPC9hPi48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT54cGF0aENvbXBpbGVyPC9DT0RFPiAtID8/PyBTb21laG93IHdlIG5lZWQgdG8gcGFzcyBpbiBhIHN1YnBhcnQgb2YgdGhlCiBleHByZXNzaW9uLiAgSSBoYXRlIHRvIGRvIHRoaXMgd2l0aCBzdHJpbmdzLCBzaW5jZSB0aGUgbGFyZ2VyIGV4cHJlc3Npb24KIGhhcyBhbHJlYWR5IGJlZW4gcGFyc2VkLjxERD48Q09ERT5wb3M8L0NPREU+IC0gVGhlIHBvc2l0aW9uIGluIHRoZSBleHByZXNzaW9uLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIG5ld2x5IGNyZWF0ZWQgPGNvZGU+RFRNSXRlcmF0b3I8L2NvZGU+LjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI2NyZWF0ZURUTUl0ZXJhdG9yKGphdmEubGFuZy5PYmplY3QsIGludCkiPmNyZWF0ZURUTUl0ZXJhdG9yPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY3JlYXRlRFRNSXRlcmF0b3IoamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS54bWwudXRpbHMuUHJlZml4UmVzb2x2ZXIpIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVEVE1JdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT4gPEI+Y3JlYXRlRFRNSXRlcmF0b3I8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt4cGF0aFN0cmluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiZuYnNwO3ByZXNvbHZlcik8L1BSRT4NCjxETD4NCjxERD5DcmVhdGUgYSBuZXcgPGNvZGU+RFRNSXRlcmF0b3I8L2NvZGU+IGJhc2VkIG9uIGFuIFhQYXRoCiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCNOVC1Mb2NhdGlvblBhdGg+TG9jYXRpb25QYXRoPC9hPiBvcgogYSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCNOVC1VbmlvbkV4cHIiPlVuaW9uRXhwcjwvYT4uPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+eHBhdGhTdHJpbmc8L0NPREU+IC0gTXVzdCBiZSBhIHZhbGlkIHN0cmluZyBleHByZXNzaW5nIGEKIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULUxvY2F0aW9uUGF0aD5Mb2NhdGlvblBhdGg8L2E+IG9yCiBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI05ULVVuaW9uRXhwciI+VW5pb25FeHByPC9hPi48REQ+PENPREU+cHJlc29sdmVyPC9DT0RFPiAtIEFuIG9iamVjdCB0aGF0IGNhbiByZXNvbHZlIHByZWZpeGVzIHRvIG5hbWVzcGFjZSBVUkxzLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIG5ld2x5IGNyZWF0ZWQgPGNvZGU+RFRNSXRlcmF0b3I8L2NvZGU+LjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI2NyZWF0ZURUTUl0ZXJhdG9yKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUueG1sLnV0aWxzLlByZWZpeFJlc29sdmVyKSI+Y3JlYXRlRFRNSXRlcmF0b3I8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwiPkRUTU1hbmFnZXI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjcmVhdGVEVE1JdGVyYXRvcihpbnQsIG9yZy5hcGFjaGUueG1sLmR0bS5EVE1GaWx0ZXIsIGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVEVE1JdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT4gPEI+Y3JlYXRlRFRNSXRlcmF0b3I8L0I+KGludCZuYnNwO3doYXRUb1Nob3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNRmlsdGVyLmh0bWwiPkRUTUZpbHRlcjwvQT4mbmJzcDtmaWx0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuJm5ic3A7ZW50aXR5UmVmZXJlbmNlRXhwYW5zaW9uKTwvUFJFPg0KPERMPg0KPEREPkNyZWF0ZSBhIG5ldyA8Y29kZT5EVE1JdGVyYXRvcjwvY29kZT4gYmFzZWQgb25seSBvbiBhIHdoYXRUb1Nob3cgYW5kCiBhIERUTUZpbHRlci4gIFRoZSB0cmF2ZXJzYWwgc2VtYW50aWNzIGFyZSBkZWZpbmVkIGFzIHRoZSBkZXNjZW5kYW50CiBhY2Nlc3MuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+d2hhdFRvU2hvdzwvQ09ERT4gLSBUaGlzIGZsYWcgc3BlY2lmaWVzIHdoaWNoIG5vZGUgdHlwZXMgbWF5IGFwcGVhciBpbgogICB0aGUgbG9naWNhbCB2aWV3IG9mIHRoZSB0cmVlIHByZXNlbnRlZCBieSB0aGUgaXRlcmF0b3IuIFNlZSB0aGUKICAgZGVzY3JpcHRpb24gb2YgPGNvZGU+Tm9kZUZpbHRlcjwvY29kZT4gZm9yIHRoZSBzZXQgb2YgcG9zc2libGUKICAgPGNvZGU+U0hPV188L2NvZGU+IHZhbHVlcy5UaGVzZSBmbGFncyBjYW4gYmUgY29tYmluZWQgdXNpbmcKICAgPGNvZGU+T1I8L2NvZGU+LjxERD48Q09ERT5maWx0ZXI8L0NPREU+IC0gVGhlIDxjb2RlPk5vZGVGaWx0ZXI8L2NvZGU+IHRvIGJlIHVzZWQgd2l0aCB0aGlzCiAgIDxjb2RlPlRyZWVXYWxrZXI8L2NvZGU+LCBvciA8Y29kZT5udWxsPC9jb2RlPiB0byBpbmRpY2F0ZSBubyBmaWx0ZXIuPEREPjxDT0RFPmVudGl0eVJlZmVyZW5jZUV4cGFuc2lvbjwvQ09ERT4gLSBUaGUgdmFsdWUgb2YgdGhpcyBmbGFnIGRldGVybWluZXMKICAgd2hldGhlciBlbnRpdHkgcmVmZXJlbmNlIG5vZGVzIGFyZSBleHBhbmRlZC48RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBuZXdseSBjcmVhdGVkIDxjb2RlPk5vZGVJdGVyYXRvcjwvY29kZT4uPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwjY3JlYXRlRFRNSXRlcmF0b3IoaW50LCBvcmcuYXBhY2hlLnhtbC5kdG0uRFRNRmlsdGVyLCBib29sZWFuKSI+Y3JlYXRlRFRNSXRlcmF0b3I8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1NYW5hZ2VyLmh0bWwiPkRUTU1hbmFnZXI8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjcmVhdGVEVE1JdGVyYXRvcihpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVEVE1JdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT4gPEI+Y3JlYXRlRFRNSXRlcmF0b3I8L0I+KGludCZuYnNwO25vZGUpPC9QUkU+DQo8REw+DQo8REQ+Q3JlYXRlIGEgbmV3IDxjb2RlPkRUTUl0ZXJhdG9yPC9jb2RlPiB0aGF0IGhvbGRzIGV4YWN0bHkgb25lIG5vZGUuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bm9kZTwvQ09ERT4gLSBUaGUgbm9kZSBoYW5kbGUgdGhhdCB0aGUgRFRNSXRlcmF0b3Igd2lsbCBpdGVyYXRlIHRvLjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIG5ld2x5IGNyZWF0ZWQgPGNvZGU+RFRNSXRlcmF0b3I8L2NvZGU+LjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sI2NyZWF0ZURUTUl0ZXJhdG9yKGludCkiPmNyZWF0ZURUTUl0ZXJhdG9yPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNTWFuYWdlci5odG1sIj5EVE1NYW5hZ2VyPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVzZXQoKSI+PCEtLSAtLT48L0E+PEgzPg0KcmVzZXQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnJlc2V0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmVzZXQgZm9yIG5ldyBydW4uPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0U0FYTG9jYXRvcihqYXZheC54bWwudHJhbnNmb3JtLlNvdXJjZUxvY2F0b3IpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRTQVhMb2NhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRTQVhMb2NhdG9yPC9CPig8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuaHRtbCI+U291cmNlTG9jYXRvcjwvQT4mbmJzcDtsb2NhdGlvbik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIGN1cnJlbnQgbG9jYXRlciBpbiB0aGUgc3R5bGVzaGVldC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5sb2NhdGlvbjwvQ09ERT4gLSBUaGUgbG9jYXRpb24gd2l0aGluIHRoZSBzdHlsZXNoZWV0LjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaFNBWExvY2F0b3IoamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2VMb2NhdG9yKSI+PCEtLSAtLT48L0E+PEgzPg0KcHVzaFNBWExvY2F0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnB1c2hTQVhMb2NhdG9yPC9CPig8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuaHRtbCI+U291cmNlTG9jYXRvcjwvQT4mbmJzcDtsb2NhdGlvbik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIGN1cnJlbnQgbG9jYXRlciBpbiB0aGUgc3R5bGVzaGVldC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5sb2NhdGlvbjwvQ09ERT4gLSBUaGUgbG9jYXRpb24gd2l0aGluIHRoZSBzdHlsZXNoZWV0LjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaFNBWExvY2F0b3JOdWxsKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnB1c2hTQVhMb2NhdG9yTnVsbDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+cHVzaFNBWExvY2F0b3JOdWxsPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UHVzaCBhIHNsb3Qgb24gdGhlIGxvY2F0aW9ucyBzdGFjayBzbyB0aGF0IHNldFNBWExvY2F0b3IgY2FuIGJlIAogcmVwZWF0ZWRseSBjYWxsZWQuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wU0FYTG9jYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpwb3BTQVhMb2NhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5wb3BTQVhMb2NhdG9yPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UG9wIHRoZSBjdXJyZW50IGxvY2F0ZXIuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0U0FYTG9jYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRTQVhMb2NhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9Tb3VyY2VMb2NhdG9yLmh0bWwiPlNvdXJjZUxvY2F0b3I8L0E+IDxCPmdldFNBWExvY2F0b3I8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIGN1cnJlbnQgbG9jYXRlciBpbiB0aGUgc3R5bGVzaGVldC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgbG9jYXRpb24gd2l0aGluIHRoZSBzdHlsZXNoZWV0LCBvciBudWxsIGlmIG5vdCBrbm93bi48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE93bmVyT2JqZWN0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE93bmVyT2JqZWN0PC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLk9iamVjdCA8Qj5nZXRPd25lck9iamVjdDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgIm93bmVyIiBjb250ZXh0IG9mIHRoaXMgY29udGV4dCwgd2hpY2ggc2hvdWxkIGJlLAogaW4gdGhlIGNhc2Ugb2YgWFNMVCwgdGhlIFRyYW5zZm9ybWVyIG9iamVjdC4gIFRoaXMgaXMgbmVlZGVkCiBzbyB0aGF0IFhTTFQgZnVuY3Rpb25zIGNhbiBnZXQgdGhlIFRyYW5zZm9ybWVyLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBvd25lciBvYmplY3QgcGFzc2VkIGludG8gdGhlIGNvbnN0cnVjdG9yLCBvciBudWxsLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0VmFyU3RhY2soKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0VmFyU3RhY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1ZhcmlhYmxlU3RhY2suaHRtbCI+VmFyaWFibGVTdGFjazwvQT4gPEI+Z2V0VmFyU3RhY2s8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIHZhcmlhYmxlIHN0YWNrLCB3aGljaCBpcyBpbiBjaGFyZ2Ugb2YgdmFyaWFibGVzIGFuZAogcGFyYW1ldGVycy48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgdmFyaWFibGUgc3RhY2ssIHdoaWNoIHNob3VsZCBub3QgYmUgbnVsbC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFZhclN0YWNrKG9yZy5hcGFjaGUueHBhdGguVmFyaWFibGVTdGFjaykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFZhclN0YWNrPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5zZXRWYXJTdGFjazwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9WYXJpYWJsZVN0YWNrLmh0bWwiPlZhcmlhYmxlU3RhY2s8L0E+Jm5ic3A7dmFyU3RhY2spPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSB2YXJpYWJsZSBzdGFjaywgd2hpY2ggaXMgaW4gY2hhcmdlIG9mIHZhcmlhYmxlcyBhbmQKIHBhcmFtZXRlcnMuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dmFyU3RhY2s8L0NPREU+IC0gbm9uLW51bGwgcmVmZXJlbmNlIHRvIHRoZSB2YXJpYWJsZSBzdGFjay48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFNvdXJjZVRyZWVNYW5hZ2VyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFNvdXJjZVRyZWVNYW5hZ2VyPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9Tb3VyY2VUcmVlTWFuYWdlci5odG1sIj5Tb3VyY2VUcmVlTWFuYWdlcjwvQT4gPEI+Z2V0U291cmNlVHJlZU1hbmFnZXI8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIFNvdXJjZVRyZWVNYW5hZ2VyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4ZWN1dGlvbiBjb250ZXh0LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSBTb3VyY2VUcmVlTWFuYWdlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFNvdXJjZVRyZWVNYW5hZ2VyKG9yZy5hcGFjaGUueHBhdGguU291cmNlVHJlZU1hbmFnZXIpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRTb3VyY2VUcmVlTWFuYWdlcjwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0U291cmNlVHJlZU1hbmFnZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvU291cmNlVHJlZU1hbmFnZXIuaHRtbCI+U291cmNlVHJlZU1hbmFnZXI8L0E+Jm5ic3A7bWdyKTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgU291cmNlVHJlZU1hbmFnZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXhlY3V0aW9uIGNvbnRleHQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bWdyPC9DT0RFPiAtIHRoZSBTb3VyY2VUcmVlTWFuYWdlciB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhpcyAKICAgICAgICBleGVjdXRpb24gY29udGV4dC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEVycm9yTGlzdGVuZXIoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0RXJyb3JMaXN0ZW5lcjwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vRXJyb3JMaXN0ZW5lci5odG1sIj5FcnJvckxpc3RlbmVyPC9BPiA8Qj5nZXRFcnJvckxpc3RlbmVyPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBFcnJvckxpc3RlbmVyIHdoZXJlIGVycm9ycyBhbmQgd2FybmluZ3MgYXJlIHRvIGJlIHJlcG9ydGVkLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPkEgbm9uLW51bGwgRXJyb3JMaXN0ZW5lciByZWZlcmVuY2UuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRFcnJvckxpc3RlbmVyKGphdmF4LnhtbC50cmFuc2Zvcm0uRXJyb3JMaXN0ZW5lcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldEVycm9yTGlzdGVuZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEVycm9yTGlzdGVuZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vRXJyb3JMaXN0ZW5lci5odG1sIj5FcnJvckxpc3RlbmVyPC9BPiZuYnNwO2xpc3RlbmVyKQogICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb248L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIEVycm9yTGlzdGVuZXIgd2hlcmUgZXJyb3JzIGFuZCB3YXJuaW5ncyBhcmUgdG8gYmUgcmVwb3J0ZWQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bGlzdGVuZXI8L0NPREU+IC0gQSBub24tbnVsbCBFcnJvckxpc3RlbmVyIHJlZmVyZW5jZS48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFVSSVJlc29sdmVyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFVSSVJlc29sdmVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgPEEgSFJFRj0iLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9VUklSZXNvbHZlci5odG1sIj5VUklSZXNvbHZlcjwvQT4gPEI+Z2V0VVJJUmVzb2x2ZXI8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIFVSSVJlc29sdmVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4ZWN1dGlvbiBjb250ZXh0LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPmEgVVJJIHJlc29sdmVyLCB3aGljaCBtYXkgYmUgbnVsbC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldFVSSVJlc29sdmVyKGphdmF4LnhtbC50cmFuc2Zvcm0uVVJJUmVzb2x2ZXIpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRVUklSZXNvbHZlcjwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0VVJJUmVzb2x2ZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVVJJUmVzb2x2ZXIuaHRtbCI+VVJJUmVzb2x2ZXI8L0E+Jm5ic3A7cmVzb2x2ZXIpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBVUklSZXNvbHZlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5yZXNvbHZlcjwvQ09ERT4gLSB0aGUgVVJJUmVzb2x2ZXIgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgCiAgICAgICAgZXhlY3V0aW9uIGNvbnRleHQsIG1heSBiZSBudWxsIHRvIGNsZWFyIGFuIGFscmVhZHkgc2V0IHJlc29sdmVyLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UHJpbWFyeVJlYWRlcigpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRQcmltYXJ5UmVhZGVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgPEEgSFJFRj0iLi4vLi4vLi4vb3JnL3htbC9zYXgvWE1MUmVhZGVyLmh0bWwiPlhNTFJlYWRlcjwvQT4gPEI+Z2V0UHJpbWFyeVJlYWRlcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCBwcmltYXJ5IFhNTFJlYWRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleGVjdXRpb24gY29udGV4dC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgcmVhZGVyIG9mIHRoZSBwcmltYXJ5IHNvdXJjZSB0cmVlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0UHJpbWFyeVJlYWRlcihvcmcueG1sLnNheC5YTUxSZWFkZXIpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRQcmltYXJ5UmVhZGVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRQcmltYXJ5UmVhZGVyPC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcveG1sL3NheC9YTUxSZWFkZXIuaHRtbCI+WE1MUmVhZGVyPC9BPiZuYnNwO3JlYWRlcik8L1BSRT4NCjxETD4NCjxERD5TZXQgcHJpbWFyeSBYTUxSZWFkZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXhlY3V0aW9uIGNvbnRleHQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cmVhZGVyPC9DT0RFPiAtIFRoZSByZWFkZXIgb2YgdGhlIHByaW1hcnkgc291cmNlIHRyZWUuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRDb250ZXh0Tm9kZUxpc3RzU3RhY2soKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q29udGV4dE5vZGVMaXN0c1N0YWNrPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS51dGlsLlN0YWNrIDxCPmdldENvbnRleHROb2RlTGlzdHNTdGFjazwvQj4oKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0Q29udGV4dE5vZGVMaXN0c1N0YWNrKGphdmEudXRpbC5TdGFjaykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldENvbnRleHROb2RlTGlzdHNTdGFjazwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0Q29udGV4dE5vZGVMaXN0c1N0YWNrPC9CPihqYXZhLnV0aWwuU3RhY2smbmJzcDtzKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Q29udGV4dE5vZGVMaXN0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldENvbnRleHROb2RlTGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE1JdGVyYXRvci5odG1sIj5EVE1JdGVyYXRvcjwvQT4gPEI+Z2V0Q29udGV4dE5vZGVMaXN0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZSBsaXN0LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2R0LWN1cnJlbnQtbm9kZS1saXN0Ij5jdXJyZW50IG5vZGUgbGlzdDwvYT4sCiBhbHNvIHJlZmVyZWQgdG8gaGVyZSBhcyBhIDx0ZXJtPmNvbnRleHQgbm9kZSBsaXN0PC90ZXJtPi48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InB1c2hDb250ZXh0Tm9kZUxpc3Qob3JnLmFwYWNoZS54bWwuZHRtLkRUTUl0ZXJhdG9yKSI+PCEtLSAtLT48L0E+PEgzPg0KcHVzaENvbnRleHROb2RlTGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cHVzaENvbnRleHROb2RlTGlzdDwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvZHRtL0RUTUl0ZXJhdG9yLmh0bWwiPkRUTUl0ZXJhdG9yPC9BPiZuYnNwO25sKTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5ubDwvQ09ERT4gLSB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNkdC1jdXJyZW50LW5vZGUtbGlzdCI+Y3VycmVudCBub2RlIGxpc3Q8L2E+LAogYWxzbyByZWZlcmVkIHRvIGhlcmUgYXMgYSA8dGVybT5jb250ZXh0IG5vZGUgbGlzdDwvdGVybT4uPERUPjxCPlVzYWdlOjwvQj48REQ+PGk+PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjRkYwMDAwIj4gKipGb3IgaW50ZXJuYWwgdXNlIG9ubHkqKjwvZm9udD48L2k+PC9ERD4KPC9ERD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wQ29udGV4dE5vZGVMaXN0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcENvbnRleHROb2RlTGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cG9wQ29udGV4dE5vZGVMaXN0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UG9wIHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZSBsaXN0LjxERD48REw+DQo8RFQ+PEI+VXNhZ2U6PC9CPjxERD48aT48Zm9udCBzaXplPSItMSIgY29sb3I9IiNGRjAwMDAiPiAqKkZvciBpbnRlcm5hbCB1c2Ugb25seSoqPC9mb250PjwvaT48L0REPgo8L0REPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRDdXJyZW50Tm9kZVN0YWNrKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEN1cnJlbnROb2RlU3RhY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9JbnRTdGFjay5odG1sIj5JbnRTdGFjazwvQT4gPEI+Z2V0Q3VycmVudE5vZGVTdGFjazwvQj4oKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0Q3VycmVudE5vZGVTdGFjayhvcmcuYXBhY2hlLnhtbC51dGlscy5JbnRTdGFjaykiPjwhLS0gLS0+PC9BPjxIMz4NCnNldEN1cnJlbnROb2RlU3RhY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEN1cnJlbnROb2RlU3RhY2s8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL0ludFN0YWNrLmh0bWwiPkludFN0YWNrPC9BPiZuYnNwO252KTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Q3VycmVudE5vZGUoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q3VycmVudE5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBpbnQgPEI+Z2V0Q3VycmVudE5vZGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2R0LWN1cnJlbnQtbm9kZSI+Y3VycmVudCBub2RlPC9hPi48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InB1c2hDdXJyZW50Tm9kZUFuZEV4cHJlc3Npb24oaW50LCBpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpwdXNoQ3VycmVudE5vZGVBbmRFeHByZXNzaW9uPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wdXNoQ3VycmVudE5vZGVBbmRFeHByZXNzaW9uPC9CPihpbnQmbmJzcDtjbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtlbik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlIGFuZCBleHByZXNzaW9uIG5vZGUuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y248L0NPREU+IC0gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZHQtY3VycmVudC1ub2RlIj5jdXJyZW50IG5vZGU8L2E+LjxERD48Q09ERT5lbjwvQ09ERT4gLSB0aGUgc3ViLWV4cHJlc3Npb24gY29udGV4dCBub2RlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wQ3VycmVudE5vZGVBbmRFeHByZXNzaW9uKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcEN1cnJlbnROb2RlQW5kRXhwcmVzc2lvbjwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cG9wQ3VycmVudE5vZGVBbmRFeHByZXNzaW9uPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwdXNoRXhwcmVzc2lvblN0YXRlKGludCwgaW50LCBvcmcuYXBhY2hlLnhtbC51dGlscy5QcmVmaXhSZXNvbHZlcikiPjwhLS0gLS0+PC9BPjxIMz4NCnB1c2hFeHByZXNzaW9uU3RhdGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnB1c2hFeHByZXNzaW9uU3RhdGU8L0I+KGludCZuYnNwO2NuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCZuYnNwO2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiZuYnNwO25jKTwvUFJFPg0KPERMPg0KPEREPlB1c2ggdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLCBleHByZXNzaW9uIG5vZGUsIGFuZCBwcmVmaXggcmVzb2x2ZXIuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y248L0NPREU+IC0gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjZHQtY3VycmVudC1ub2RlIj5jdXJyZW50IG5vZGU8L2E+LjxERD48Q09ERT5lbjwvQ09ERT4gLSB0aGUgc3ViLWV4cHJlc3Npb24gY29udGV4dCBub2RlLjxERD48Q09ERT5uYzwvQ09ERT4gLSB0aGUgbmFtZXNwYWNlIGNvbnRleHQgKHByZWZpeCByZXNvbHZlci48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InBvcEV4cHJlc3Npb25TdGF0ZSgpIj48IS0tIC0tPjwvQT48SDM+DQpwb3BFeHByZXNzaW9uU3RhdGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnBvcEV4cHJlc3Npb25TdGF0ZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlBvcCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUsIGV4cHJlc3Npb24gbm9kZSwgYW5kIHByZWZpeCByZXNvbHZlci48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwdXNoQ3VycmVudE5vZGUoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KcHVzaEN1cnJlbnROb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wdXNoQ3VycmVudE5vZGU8L0I+KGludCZuYnNwO24pPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5uPC9DT0RFPiAtIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2R0LWN1cnJlbnQtbm9kZSI+Y3VycmVudCBub2RlPC9hPi48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InBvcEN1cnJlbnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcEN1cnJlbnROb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wb3BDdXJyZW50Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlBvcCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaFByZWRpY2F0ZVJvb3QoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KcHVzaFByZWRpY2F0ZVJvb3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnB1c2hQcmVkaWNhdGVSb290PC9CPihpbnQmbmJzcDtuKTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgY3VycmVudCBwcmVkaWNhdGUgcm9vdC48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwb3BQcmVkaWNhdGVSb290KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcFByZWRpY2F0ZVJvb3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnBvcFByZWRpY2F0ZVJvb3Q8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5Qb3AgdGhlIGN1cnJlbnQgcHJlZGljYXRlIHJvb3QuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UHJlZGljYXRlUm9vdCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRQcmVkaWNhdGVSb290PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgaW50IDxCPmdldFByZWRpY2F0ZVJvb3Q8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIGN1cnJlbnQgcHJlZGljYXRlIHJvb3QuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaEl0ZXJhdG9yUm9vdChpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpwdXNoSXRlcmF0b3JSb290PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wdXNoSXRlcmF0b3JSb290PC9CPihpbnQmbmJzcDtuKTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgY3VycmVudCBsb2NhdGlvbiBwYXRoIGl0ZXJhdG9yIHJvb3QuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wSXRlcmF0b3JSb290KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcEl0ZXJhdG9yUm9vdDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cG9wSXRlcmF0b3JSb290PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UG9wIHRoZSBjdXJyZW50IGxvY2F0aW9uIHBhdGggaXRlcmF0b3Igcm9vdC48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRJdGVyYXRvclJvb3QoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0SXRlcmF0b3JSb290PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgaW50IDxCPmdldEl0ZXJhdG9yUm9vdDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgY3VycmVudCBsb2NhdGlvbiBwYXRoIGl0ZXJhdG9yIHJvb3QuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlU3RhY2soKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlU3RhY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9JbnRTdGFjay5odG1sIj5JbnRTdGFjazwvQT4gPEI+Z2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlU3RhY2s8L0I+KCk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldEN1cnJlbnRFeHByZXNzaW9uTm9kZVN0YWNrKG9yZy5hcGFjaGUueG1sLnV0aWxzLkludFN0YWNrKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlU3RhY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEN1cnJlbnRFeHByZXNzaW9uTm9kZVN0YWNrPC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9JbnRTdGFjay5odG1sIj5JbnRTdGFjazwvQT4mbmJzcDtudik8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFByZWRpY2F0ZVBvcygpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRQcmVkaWNhdGVQb3M8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBpbnQgPEI+Z2V0UHJlZGljYXRlUG9zPC9CPigpPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwdXNoUHJlZGljYXRlUG9zKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCnB1c2hQcmVkaWNhdGVQb3M8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnB1c2hQcmVkaWNhdGVQb3M8L0I+KGludCZuYnNwO24pPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwb3BQcmVkaWNhdGVQb3MoKSI+PCEtLSAtLT48L0E+PEgzPg0KcG9wUHJlZGljYXRlUG9zPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wb3BQcmVkaWNhdGVQb3M8L0I+KCk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEN1cnJlbnRFeHByZXNzaW9uTm9kZSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRDdXJyZW50RXhwcmVzc2lvbk5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBpbnQgPEI+Z2V0Q3VycmVudEV4cHJlc3Npb25Ob2RlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBjdXJyZW50IG5vZGUgdGhhdCBpcyB0aGUgZXhwcmVzc2lvbidzIGNvbnRleHQgKGkuZS4gZm9yIGN1cnJlbnQoKSBzdXBwb3J0KS48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgY3VycmVudCBzdWItZXhwcmVzc2lvbiBub2RlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaEN1cnJlbnRFeHByZXNzaW9uTm9kZShpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpwdXNoQ3VycmVudEV4cHJlc3Npb25Ob2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgdm9pZCA8Qj5wdXNoQ3VycmVudEV4cHJlc3Npb25Ob2RlPC9CPihpbnQmbmJzcDtuKTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgY3VycmVudCBub2RlIHRoYXQgaXMgdGhlIGV4cHJlc3Npb24ncyBjb250ZXh0IChpLmUuIGZvciBjdXJyZW50KCkgc3VwcG9ydCkuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bjwvQ09ERT4gLSBUaGUgc3ViLWV4cHJlc3Npb24gbm9kZSB0byBiZSBjdXJyZW50LjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wQ3VycmVudEV4cHJlc3Npb25Ob2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcEN1cnJlbnRFeHByZXNzaW9uTm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cG9wQ3VycmVudEV4cHJlc3Npb25Ob2RlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UG9wIHRoZSBjdXJyZW50IG5vZGUgdGhhdCBpcyB0aGUgZXhwcmVzc2lvbidzIGNvbnRleHQgCiAoaS5lLiBmb3IgY3VycmVudCgpIHN1cHBvcnQpLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE5hbWVzcGFjZUNvbnRleHQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TmFtZXNwYWNlQ29udGV4dDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiA8Qj5nZXROYW1lc3BhY2VDb250ZXh0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBjdXJyZW50IG5hbWVzcGFjZSBjb250ZXh0IGZvciB0aGUgeHBhdGguPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+dGhlIGN1cnJlbnQgcHJlZml4IHJlc29sdmVyIGZvciByZXNvbHZpbmcgcHJlZml4ZXMgdG8gCiAgICAgICAgIG5hbWVzcGFjZSBVUkxzLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0TmFtZXNwYWNlQ29udGV4dChvcmcuYXBhY2hlLnhtbC51dGlscy5QcmVmaXhSZXNvbHZlcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldE5hbWVzcGFjZUNvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnNldE5hbWVzcGFjZUNvbnRleHQ8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1ByZWZpeFJlc29sdmVyLmh0bWwiPlByZWZpeFJlc29sdmVyPC9BPiZuYnNwO3ByKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgY3VycmVudCBuYW1lc3BhY2UgY29udGV4dCBmb3IgdGhlIHhwYXRoLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnByPC9DT0RFPiAtIHRoZSBwcmVmaXggcmVzb2x2ZXIgdG8gYmUgdXNlZCBmb3IgcmVzb2x2aW5nIHByZWZpeGVzIHRvIAogICAgICAgICBuYW1lc3BhY2UgVVJMcy48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InB1c2hOYW1lc3BhY2VDb250ZXh0KG9yZy5hcGFjaGUueG1sLnV0aWxzLlByZWZpeFJlc29sdmVyKSI+PCEtLSAtLT48L0E+PEgzPg0KcHVzaE5hbWVzcGFjZUNvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnB1c2hOYW1lc3BhY2VDb250ZXh0PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9QcmVmaXhSZXNvbHZlci5odG1sIj5QcmVmaXhSZXNvbHZlcjwvQT4mbmJzcDtwcik8L1BSRT4NCjxETD4NCjxERD5QdXNoIGEgY3VycmVudCBuYW1lc3BhY2UgY29udGV4dCBmb3IgdGhlIHhwYXRoLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnByPC9DT0RFPiAtIHRoZSBwcmVmaXggcmVzb2x2ZXIgdG8gYmUgdXNlZCBmb3IgcmVzb2x2aW5nIHByZWZpeGVzIHRvIAogICAgICAgICBuYW1lc3BhY2UgVVJMcy48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InB1c2hOYW1lc3BhY2VDb250ZXh0TnVsbCgpIj48IS0tIC0tPjwvQT48SDM+DQpwdXNoTmFtZXNwYWNlQ29udGV4dE51bGw8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnB1c2hOYW1lc3BhY2VDb250ZXh0TnVsbDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkp1c3QgaW5jcmVtZW50IHRoZSBuYW1lc3BhY2UgY29udGVzdCBzdGFjaywgc28gdGhhdCBzZXROYW1lc3BhY2VDb250ZXh0CiBjYW4gYmUgdXNlZCBvbiB0aGUgc2xvdC48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwb3BOYW1lc3BhY2VDb250ZXh0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcE5hbWVzcGFjZUNvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnBvcE5hbWVzcGFjZUNvbnRleHQ8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5Qb3AgdGhlIGN1cnJlbnQgbmFtZXNwYWNlIGNvbnRleHQgZm9yIHRoZSB4cGF0aC48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRBeGVzSXRlcmF0b3JTdGFja1N0YWNrcygpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRBeGVzSXRlcmF0b3JTdGFja1N0YWNrczwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEudXRpbC5TdGFjayA8Qj5nZXRBeGVzSXRlcmF0b3JTdGFja1N0YWNrczwvQj4oKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0QXhlc0l0ZXJhdG9yU3RhY2tTdGFja3MoamF2YS51dGlsLlN0YWNrKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0QXhlc0l0ZXJhdG9yU3RhY2tTdGFja3M8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEF4ZXNJdGVyYXRvclN0YWNrU3RhY2tzPC9CPihqYXZhLnV0aWwuU3RhY2smbmJzcDtzKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icHVzaFN1YkNvbnRleHRMaXN0KG9yZy5hcGFjaGUueHBhdGguYXhlcy5TdWJDb250ZXh0TGlzdCkiPjwhLS0gLS0+PC9BPjxIMz4NCnB1c2hTdWJDb250ZXh0TGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+cHVzaFN1YkNvbnRleHRMaXN0PC9CPig8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvU3ViQ29udGV4dExpc3QuaHRtbCI+U3ViQ29udGV4dExpc3Q8L0E+Jm5ic3A7aXRlcik8L1BSRT4NCjxETD4NCjxERD5QdXNoIGEgVHJlZVdhbGtlciBvbiB0aGUgc3RhY2suPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+aXRlcjwvQ09ERT4gLSBBIHN1Yi1jb250ZXh0IEF4ZXNXYWxrZXIuPERUPjxCPlVzYWdlOjwvQj48REQ+PGk+PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjRkYwMDAwIj4gKipGb3IgaW50ZXJuYWwgdXNlIG9ubHkqKjwvZm9udD48L2k+PC9ERD4KPC9ERD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icG9wU3ViQ29udGV4dExpc3QoKSI+PCEtLSAtLT48L0E+PEgzPg0KcG9wU3ViQ29udGV4dExpc3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCB2b2lkIDxCPnBvcFN1YkNvbnRleHRMaXN0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UG9wIHRoZSBsYXN0IHB1c2hlZCBheGVzIGl0ZXJhdG9yLjxERD48REw+DQo8RFQ+PEI+VXNhZ2U6PC9CPjxERD48aT48Zm9udCBzaXplPSItMSIgY29sb3I9IiNGRjAwMDAiPiAqKkZvciBpbnRlcm5hbCB1c2Ugb25seSoqPC9mb250PjwvaT48L0REPgo8L0REPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRTdWJDb250ZXh0TGlzdCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRTdWJDb250ZXh0TGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9TdWJDb250ZXh0TGlzdC5odG1sIj5TdWJDb250ZXh0TGlzdDwvQT4gPEI+Z2V0U3ViQ29udGV4dExpc3Q8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIGN1cnJlbnQgYXhlcyBpdGVyYXRvciwgb3IgcmV0dXJuIG51bGwgaWYgbm9uZS48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgc3ViLWNvbnRleHQgbm9kZSBsaXN0LjxEVD48Qj5Vc2FnZTo8L0I+PEREPjxpPjxmb250IHNpemU9Ii0xIiBjb2xvcj0iI0ZGMDAwMCI+ICoqRm9yIGludGVybmFsIHVzZSBvbmx5Kio8L2ZvbnQ+PC9pPjwvREQ+CjwvREQ+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEN1cnJlbnROb2RlTGlzdCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRDdXJyZW50Tm9kZUxpc3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvU3ViQ29udGV4dExpc3QuaHRtbCI+U3ViQ29udGV4dExpc3Q8L0E+IDxCPmdldEN1cnJlbnROb2RlTGlzdDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNkdC1jdXJyZW50LW5vZGUtbGlzdCI+Y3VycmVudCBub2RlIGxpc3Q8L2E+IAogYXMgZGVmaW5lZCBieSB0aGUgWFNMVCBzcGVjLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2R0LWN1cnJlbnQtbm9kZS1saXN0Ij5jdXJyZW50IG5vZGUgbGlzdDwvYT4uPERUPjxCPlVzYWdlOjwvQj48REQ+PGk+PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjRkYwMDAwIj4gKipGb3IgaW50ZXJuYWwgdXNlIG9ubHkqKjwvZm9udD48L2k+PC9ERD4KPC9ERD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Q29udGV4dE5vZGUoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q29udGV4dE5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBpbnQgPEI+Z2V0Q29udGV4dE5vZGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIGN1cnJlbnQgY29udGV4dCBub2RlLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSBjdXJyZW50IGNvbnRleHQgbm9kZS48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldENvbnRleHROb2RlcygpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRDb250ZXh0Tm9kZXM8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNSXRlcmF0b3IuaHRtbCI+RFRNSXRlcmF0b3I8L0E+IDxCPmdldENvbnRleHROb2RlczwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5BbiBpdGVyYXRvciBmb3IgdGhlIGN1cnJlbnQgY29udGV4dCBsaXN0LCBhcwogZGVmaW5lZCBpbiBYU0xULjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0RXhwcmVzc2lvbkNvbnRleHQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0RXhwcmVzc2lvbkNvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL2V4dGVuc2lvbnMvRXhwcmVzc2lvbkNvbnRleHQuaHRtbCI+RXhwcmVzc2lvbkNvbnRleHQ8L0E+IDxCPmdldEV4cHJlc3Npb25Db250ZXh0PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+VGhlIHRoZSBleHByZXNzaW9uIGNvbnRleHQgZm9yIGV4dGVuc2lvbnMgZm9yIHRoaXMgY29udGV4dC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5BbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIHRoZSBFeHByZXNzaW9uQ29udGV4dC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEdsb2JhbFJURkRUTSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRHbG9iYWxSVEZEVE08L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9kdG0vRFRNLmh0bWwiPkRUTTwvQT4gPEI+Z2V0R2xvYmFsUlRGRFRNPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IGEgRFRNIHRvIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIGEgZ2xvYmFsIFJlc3VsdCBUcmVlCiBGcmFnbWVudC4gVGhpcyB3aWxsIGFsd2F5cyBiZSBhbiBpbnN0YW5jZSBvZiAoZGVyaXZlZCBmcm9tPyBlcXVpdmFsZW50IHRvPykgCiBTQVgyRFRNLCBzaW5jZSBlYWNoIFJURiBpcyBjb25zdHJ1Y3RlZCBieSB0ZW1wb3JhcmlseSByZWRpcmVjdGluZyBvdXIgU0FYIAogb3V0cHV0IHRvIGl0LiBJdCBtYXkgYmUgYSBzaW5nbGUgRFRNIGNvbnRhaW5pbmcgZm9yIG11bHRpcGxlIGZyYWdtZW50cywgCiBpZiB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdGhhdC4KIAogTm90ZTogVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhpcyBtZXRob2QgYW5kIGdldFJURkRUTSgpIGlzIHRoYXQgdGhlIGxhdHRlcgogYWxsb2NhdGVzIHNwYWNlIGZyb20gdGhlIGR5bmFtaWMgdmFyaWFibGUgc3RhY2sgKG1fcnRmZHRtX3N0YWNrKSwgd2hpY2ggbWF5CiBiZSBwcnVuZWQgYXdheSBhZ2FpbiBhcyB0aGUgdGVtcGxhdGVzIHdoaWNoIGRlZmluZWQgdGhvc2UgdmFyaWFibGVzIGFyZSBleGl0ZWQuCiBHbG9iYWwgdmFyaWFibGVzIG1heSBiZSBib3VuZCBsYXRlIChzZWUgWFVucmVzb2x2ZWRWYXJpYWJsZSksIGFuZCBuZXZlciB3YW50IHRvCiBiZSBkaXNjYXJkZWQsIGhlbmNlIHdlIG5lZWQgdG8gYWxsb2NhdGUgdGhlbSBzZXBhcmF0ZWx5IGFuZCBkb24ndCBhY3R1YWxseSBuZWVkCiBhIHN0YWNrIHRvIHRyYWNrIHRoZW0uPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+YSBub24tbnVsbCBEVE0gcmVmZXJlbmNlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UlRGRFRNKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFJURkRUTTwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveG1sL2R0bS9EVE0uaHRtbCI+RFRNPC9BPiA8Qj5nZXRSVEZEVE08L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgYSBEVE0gdG8gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYSBkeW5hbWljIFJlc3VsdCBUcmVlCiBGcmFnbWVudC4gVGhpcyB3aWxsIGFsd2F5cyBiZSBhbiBpbnN0YW5jZSBvZiAoZGVyaXZlZCBmcm9tPyBlcXVpdmFsZW50IHRvPykgCiBTQVgyRFRNLCBzaW5jZSBlYWNoIFJURiBpcyBjb25zdHJ1Y3RlZCBieSB0ZW1wb3JhcmlseSByZWRpcmVjdGluZyBvdXIgU0FYIAogb3V0cHV0IHRvIGl0LiBJdCBtYXkgYmUgYSBzaW5nbGUgRFRNIGNvbnRhaW5pbmcgZm9yIG11bHRpcGxlIGZyYWdtZW50cywgCiBpZiB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdGhhdC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5hIG5vbi1udWxsIERUTSByZWZlcmVuY2UuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwdXNoUlRGQ29udGV4dCgpIj48IS0tIC0tPjwvQT48SDM+DQpwdXNoUlRGQ29udGV4dDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+cHVzaFJURkNvbnRleHQ8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5QdXNoIHRoZSBSVEZEVE0ncyBjb250ZXh0IG1hcmssIHRvIGFsbG93cyBkaXNjYXJkaW5nIFJURnMgYWRkZWQgYWZ0ZXIgdGhpcwogcG9pbnQuIChJZiBpdCBkb2Vzbid0IGV4aXN0IHdlIGRvbid0IHB1c2gsIHNpbmNlIHdlIG1pZ2h0IHN0aWxsIGJlIGFibGUgdG8gCiBnZXQgYXdheSB3aXRoIG5vdCBjcmVhdGluZyBpdC4gVGhhdCByZXF1aXJlcyB0aGF0IGV4Y2Vzc2l2ZSBwb3BzIGJlIGhhcm1sZXNzLik8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwb3BSVEZDb250ZXh0KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBvcFJURkNvbnRleHQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnBvcFJURkNvbnRleHQ8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5Qb3AgdGhlIFJURkRUTSdzIGNvbnRleHQgbWFyay4gVGhpcyBkaXNjYXJkcyBhbnkgUlRGcyBhZGRlZCBhZnRlciB0aGUgbGFzdAogbWFyayB3YXMgc2V0LiAKIAogSWYgdGhlcmUgaXMgbm8gUlRGIERUTSwgdGhlcmUncyBub3RoaW5nIHRvIHBvcCBzbyB0aGlzCiBiZWNvbWVzIGEgbm8tb3AuIElmIHB1c2hlcyB3ZXJlIGlzc3VlZCBiZWZvcmUgdGhpcyB3YXMgY2FsbGVkLCB3ZSBjb3VudCBvbgogdGhlIGZhY3QgdGhhdCBwb3BSZXdpbmRNYXJrIGlzIGRlZmluZWQgc3VjaCB0aGF0IG92ZXJwb3BwaW5nIGp1c3QgcmVzZXRzCiB0byBlbXB0eS4KIAogQ29tcGxpY2F0aW5nIGZhY3RvcjogV2UgbmVlZCB0byBoYW5kbGUgdGhlIGNhc2Ugb2YgcG9wcGluZyBiYWNrIHRvIGEgcHJldmlvdXMKIFJURiBEVE0sIGlmIG9uZSBvZiB0aGUgd2VpcmQgcHJvZHVjZS1hbi1SVEYtdG8tYnVpbGQtYW4tUlRGIGNhc2VzIGFyb3NlLgogQmFzaWNhbGx5OiBJZiBwb3Agc2F5cyB0aGlzIERUTSBpcyBub3cgZW1wdHksIHRoZW4gcmV0dXJuIHRvIHRoZSBwcmV2aW91cwogaWYgb25lIGV4aXN0cywgaW4gd2hhdGV2ZXIgc3RhdGUgd2UgbGVmdCBpdCBpbi4gVUdMWSwgYnV0IGhvcGVmdWxseSB0aGUKIHNpdHVhdGlvbiB3aGljaCBmb3JjZXMgdXMgdG8gY29uc2lkZXIgdGhpcyB3aWxsIGFyaXNlIGV4Y2VlZGluZ2x5IHJhcmVseS48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXREVE1YUlRyZWVGcmFnKGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldERUTVhSVHJlZUZyYWc8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL29iamVjdHMvRFRNWFJUcmVlRnJhZy5odG1sIj5EVE1YUlRyZWVGcmFnPC9BPiA8Qj5nZXREVE1YUlRyZWVGcmFnPC9CPihpbnQmbmJzcDtkdG1JZGVudGl0eSk8L1BSRT4NCjxETD4NCjxERD5HZXRzIERUTVhSVHJlZUZyYWcgb2JqZWN0IGlmIG9uZSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQuCiBDcmVhdGVzIG5ldyBEVE1YUlRyZWVGcmFnIG9iamVjdCBhbmQgYWRkcyB0byBtX0RUTVhSVHJlZUZyYWdzICBIYXNoTWFwLAogb3RoZXJ3aXNlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmR0bUlkZW50aXR5PC9DT0RFPiAtICZuYnNwOzxEVD48Qj5SZXR1cm5zOjwvQj48REQ+RFRNWFJUcmVlRnJhZzwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1hQYXRoQ29udGV4dC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoQVBJLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aENvbnRleHQuWFBhdGhFeHByZXNzaW9uQ29udGV4dC5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iWFBhdGhDb250ZXh0Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDs8QSBIUkVGPSIjaW5uZXJfY2xhc3Nfc3VtbWFyeSI+SU5ORVI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCkNvcHlyaWdodCCpIDIwMDYgQXBhY2hlIFhNTCBQcm9qZWN0LiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KPC9CT0RZPg0KPC9IVE1MPg0K