PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTUgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgQ29tcGFyZUdlbmVyYXRvcg0KPC9USVRMRT4NCjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4NCjwvSEVBRD4NCjxCT0RZIEJHQ09MT1I9IndoaXRlIj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0NvbXBhcmVHZW5lcmF0b3IuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NsYXNzR2VuZXJhdG9yLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0Vycm9yTWVzc2FnZXMuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkNvbXBhcmVHZW5lcmF0b3IuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIudXRpbDwvRk9OVD4NCjxCUj4NCkNsYXNzICBDb21wYXJlR2VuZXJhdG9yPC9IMj4NCjxQUkU+DQpqYXZhLmxhbmcuT2JqZWN0DQogIHwNCiAgKy0tb3JnLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5BY2Nlc3NGbGFncw0KICAgICAgICB8DQogICAgICAgICstLW9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkZpZWxkR2VuT3JNZXRob2RHZW4NCiAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICArLS1vcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5NZXRob2RHZW4NCiAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwiPm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIudXRpbC5NZXRob2RHZW5lcmF0b3I8L0E+DQogICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci51dGlsLkNvbXBhcmVHZW5lcmF0b3I8L0I+DQo8L1BSRT4NCjxIUj4NCjxETD4NCjxEVD5wdWJsaWMgZmluYWwgY2xhc3MgPEI+Q29tcGFyZUdlbmVyYXRvcjwvQj48RFQ+ZXh0ZW5kcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwiPk1ldGhvZEdlbmVyYXRvcjwvQT48L0RMPg0KDQo8UD4NCjxIUj4NCg0KPFA+DQo8IS0tID09PT09PT09IElOTkVSIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3Jfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NvbXBhcmVHZW5lcmF0b3IuaHRtbCNDb21wYXJlR2VuZXJhdG9yKGludCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuQ29uc3RhbnRQb29sR2VuKSI+Q29tcGFyZUdlbmVyYXRvcjwvQT48L0I+KGludCZuYnNwO2FjY2Vzc19mbGFncywKICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5UeXBlJm5ic3A7cmV0dXJuX3R5cGUsCiAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdJm5ic3A7YXJnX3R5cGVzLAogICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO2FyZ19uYW1lcywKICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bWV0aG9kX25hbWUsCiAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2NsYXNzX25hbWUsCiAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25MaXN0Jm5ic3A7aWwsCiAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuQ29uc3RhbnRQb29sR2VuJm5ic3A7Y3ApPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ29tcGFyZUdlbmVyYXRvci5odG1sI2dldEhhbmRsZXJJbmRleCgpIj5nZXRIYW5kbGVySW5kZXg8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9Db21wYXJlR2VuZXJhdG9yLmh0bWwjZ2V0SXRlcmF0b3JJbmRleCgpIj5nZXRJdGVyYXRvckluZGV4PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ29tcGFyZUdlbmVyYXRvci5odG1sI2dldExvY2FsSW5kZXgoamF2YS5sYW5nLlN0cmluZykiPmdldExvY2FsSW5kZXg8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ29tcGFyZUdlbmVyYXRvci5odG1sI2xvYWRDdXJyZW50Tm9kZSgpIj5sb2FkQ3VycmVudE5vZGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NvbXBhcmVHZW5lcmF0b3IuaHRtbCNsb2FkRE9NKCkiPmxvYWRET008L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NvbXBhcmVHZW5lcmF0b3IuaHRtbCNsb2FkSXRlcmF0b3IoKSI+bG9hZEl0ZXJhdG9yPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9Db21wYXJlR2VuZXJhdG9yLmh0bWwjbG9hZExhc3ROb2RlKCkiPmxvYWRMYXN0Tm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ29tcGFyZUdlbmVyYXRvci5odG1sI3N0b3JlQ3VycmVudE5vZGUoKSI+c3RvcmVDdXJyZW50Tm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ29tcGFyZUdlbmVyYXRvci5odG1sI3N0b3JlSXRlcmF0b3IoKSI+c3RvcmVJdGVyYXRvcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci51dGlsLk1ldGhvZEdlbmVyYXRvciI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLnV0aWwuPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sIj5NZXRob2RHZW5lcmF0b3I8L0E+PC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2FkZEluc3RydWN0aW9uTGlzdChvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlBhdHRlcm4sIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCkiPmFkZEluc3RydWN0aW9uTGlzdDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2FkZExvY2FsVmFyaWFibGUoamF2YS5sYW5nLlN0cmluZywgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25IYW5kbGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlKSI+YWRkTG9jYWxWYXJpYWJsZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2FkZExvY2FsVmFyaWFibGUyKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlKSI+YWRkTG9jYWxWYXJpYWJsZTI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNhdHRyaWJ1dGUoKSI+YXR0cmlidXRlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjZW5kRG9jdW1lbnQoKSI+ZW5kRG9jdW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNlbmRFbGVtZW50KCkiPmVuZEVsZW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNnZXRJbnN0cnVjdGlvbkxpc3Qob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5QYXR0ZXJuKSI+Z2V0SW5zdHJ1Y3Rpb25MaXN0PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjZ2V0TG9jYWxWYXJpYWJsZShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0TG9jYWxWYXJpYWJsZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2xvYWRDb250ZXh0Tm9kZSgpIj5sb2FkQ29udGV4dE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNsb2FkSGFuZGxlcigpIj5sb2FkSGFuZGxlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI21hcmtDaHVua0VuZCgpIj5tYXJrQ2h1bmtFbmQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNtYXJrQ2h1bmtTdGFydCgpIj5tYXJrQ2h1bmtTdGFydDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI25hbWVzcGFjZSgpIj5uYW1lc3BhY2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNuZXh0Tm9kZSgpIj5uZXh0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI291dGxpbmVDaHVua3Mob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci51dGlsLkNsYXNzR2VuZXJhdG9yLCBpbnQpIj5vdXRsaW5lQ2h1bmtzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjcmVtb3ZlTG9jYWxWYXJpYWJsZShvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Mb2NhbFZhcmlhYmxlR2VuKSI+cmVtb3ZlTG9jYWxWYXJpYWJsZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI3Jlc2V0KCkiPnJlc2V0PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc2V0TWF4TG9jYWxzKCkiPnNldE1heExvY2FsczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI3NldFN0YXJ0Tm9kZSgpIj5zZXRTdGFydE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdGFydEVsZW1lbnQoKSI+c3RhcnRFbGVtZW50PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVDb250ZXh0Tm9kZSgpIj5zdG9yZUNvbnRleHROb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVET00oKSI+c3RvcmVET008L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdG9yZUhhbmRsZXIoKSI+c3RvcmVIYW5kbGVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjdW5pcXVlQXR0cmlidXRlKCkiPnVuaXF1ZUF0dHJpYnV0ZTwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5NZXRob2RHZW4iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTWV0aG9kR2VuPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+YWRkQ29kZUF0dHJpYnV0ZSwgDQphZGRFeGNlcHRpb24sIA0KYWRkRXhjZXB0aW9uSGFuZGxlciwgDQphZGRMaW5lTnVtYmVyLCANCmFkZExvY2FsVmFyaWFibGUsIA0KYWRkT2JzZXJ2ZXIsIA0KY29weSwgDQpnZXRBcmd1bWVudE5hbWUsIA0KZ2V0QXJndW1lbnROYW1lcywgDQpnZXRBcmd1bWVudFR5cGUsIA0KZ2V0QXJndW1lbnRUeXBlcywgDQpnZXRDbGFzc05hbWUsIA0KZ2V0Q29kZUF0dHJpYnV0ZXMsIA0KZ2V0RXhjZXB0aW9uSGFuZGxlcnMsIA0KZ2V0RXhjZXB0aW9ucywgDQpnZXRJbnN0cnVjdGlvbkxpc3QsIA0KZ2V0TGluZU51bWJlcnMsIA0KZ2V0TGluZU51bWJlclRhYmxlLCANCmdldExvY2FsVmFyaWFibGVzLCANCmdldExvY2FsVmFyaWFibGVUYWJsZSwgDQpnZXRNYXhMb2NhbHMsIA0KZ2V0TWF4U3RhY2ssIA0KZ2V0TWF4U3RhY2ssIA0KZ2V0TWV0aG9kLCANCmdldFJldHVyblR5cGUsIA0KZ2V0U2lnbmF0dXJlLCANCnJlbW92ZUNvZGVBdHRyaWJ1dGUsIA0KcmVtb3ZlQ29kZUF0dHJpYnV0ZXMsIA0KcmVtb3ZlRXhjZXB0aW9uLCANCnJlbW92ZUV4Y2VwdGlvbkhhbmRsZXIsIA0KcmVtb3ZlRXhjZXB0aW9uSGFuZGxlcnMsIA0KcmVtb3ZlRXhjZXB0aW9ucywgDQpyZW1vdmVMaW5lTnVtYmVyLCANCnJlbW92ZUxpbmVOdW1iZXJzLCANCnJlbW92ZUxvY2FsVmFyaWFibGVzLCANCnJlbW92ZU5PUHMsIA0KcmVtb3ZlT2JzZXJ2ZXIsIA0Kc2V0QXJndW1lbnROYW1lLCANCnNldEFyZ3VtZW50TmFtZXMsIA0Kc2V0QXJndW1lbnRUeXBlLCANCnNldEFyZ3VtZW50VHlwZXMsIA0Kc2V0Q2xhc3NOYW1lLCANCnNldEluc3RydWN0aW9uTGlzdCwgDQpzZXRNYXhMb2NhbHMsIA0Kc2V0TWF4U3RhY2ssIA0Kc2V0TWF4U3RhY2ssIA0Kc2V0UmV0dXJuVHlwZSwgDQpzdHJpcEF0dHJpYnV0ZXMsIA0KdG9TdHJpbmcsIA0KdXBkYXRlPC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuRmllbGRHZW5Pck1ldGhvZEdlbiI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5GaWVsZEdlbk9yTWV0aG9kR2VuPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+YWRkQXR0cmlidXRlLCANCmNsb25lLCANCmdldEF0dHJpYnV0ZXMsIA0KZ2V0Q29uc3RhbnRQb29sLCANCmdldE5hbWUsIA0KZ2V0VHlwZSwgDQpyZW1vdmVBdHRyaWJ1dGUsIA0KcmVtb3ZlQXR0cmlidXRlcywgDQpzZXRDb25zdGFudFBvb2wsIA0Kc2V0TmFtZSwgDQpzZXRUeXBlPC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5BY2Nlc3NGbGFncyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLmJjZWwuY2xhc3NmaWxlLkFjY2Vzc0ZsYWdzPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+Z2V0QWNjZXNzRmxhZ3MsIA0KaXNBYnN0cmFjdCwgDQppc0Fic3RyYWN0LCANCmlzRmluYWwsIA0KaXNGaW5hbCwgDQppc0ludGVyZmFjZSwgDQppc0ludGVyZmFjZSwgDQppc05hdGl2ZSwgDQppc05hdGl2ZSwgDQppc1ByaXZhdGUsIA0KaXNQcml2YXRlLCANCmlzUHJvdGVjdGVkLCANCmlzUHJvdGVjdGVkLCANCmlzUHVibGljLCANCmlzUHVibGljLCANCmlzU3RhdGljLCANCmlzU3RhdGljLCANCmlzU3RyaWN0ZnAsIA0KaXNTdHJpY3RmcCwgDQppc1N5bmNocm9uaXplZCwgDQppc1N5bmNocm9uaXplZCwgDQppc1RyYW5zaWVudCwgDQppc1RyYW5zaWVudCwgDQppc1ZvbGF0aWxlLCANCmlzVm9sYXRpbGUsIA0Kc2V0QWNjZXNzRmxhZ3M8L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhLmxhbmcuT2JqZWN0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIGphdmEubGFuZy5PYmplY3Q8L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT5lcXVhbHMsIA0KZ2V0Q2xhc3MsIA0KaGFzaENvZGUsIA0Kbm90aWZ5LCANCm5vdGlmeUFsbCwgDQp3YWl0LCANCndhaXQsIA0Kd2FpdDwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjxQPg0KDQo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT0gQ09OU1RSVUNUT1IgREVUQUlMID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iQ29tcGFyZUdlbmVyYXRvcihpbnQsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGVbXSwgamF2YS5sYW5nLlN0cmluZ1tdLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkxpc3QsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkNvbnN0YW50UG9vbEdlbikiPjwhLS0gLS0+PC9BPjxIMz4NCkNvbXBhcmVHZW5lcmF0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5Db21wYXJlR2VuZXJhdG9yPC9CPihpbnQmbmJzcDthY2Nlc3NfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUmbmJzcDtyZXR1cm5fdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdJm5ic3A7YXJnX3R5cGVzLAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDthcmdfbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDttZXRob2RfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2NsYXNzX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCZuYnNwO2lsLAogICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Db25zdGFudFBvb2xHZW4mbmJzcDtjcCk8L1BSRT4NCjxETD4NCjwvREw+DQoNCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0ibG9hZExhc3ROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmxvYWRMYXN0Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmxvYWRMYXN0Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZEN1cnJlbnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmxvYWRDdXJyZW50Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmxvYWRDdXJyZW50Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjbG9hZEN1cnJlbnROb2RlKCkiPmxvYWRDdXJyZW50Tm9kZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sIj5NZXRob2RHZW5lcmF0b3I8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzdG9yZUN1cnJlbnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnN0b3JlQ3VycmVudE5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5zdG9yZUN1cnJlbnROb2RlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdG9yZUN1cnJlbnROb2RlKCkiPnN0b3JlQ3VycmVudE5vZGU8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCI+TWV0aG9kR2VuZXJhdG9yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZERPTSgpIj48IS0tIC0tPjwvQT48SDM+DQpsb2FkRE9NPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+bG9hZERPTTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjbG9hZERPTSgpIj5sb2FkRE9NPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwiPk1ldGhvZEdlbmVyYXRvcjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEhhbmRsZXJJbmRleCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRIYW5kbGVySW5kZXg8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+Z2V0SGFuZGxlckluZGV4PC9CPigpPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRJdGVyYXRvckluZGV4KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEl0ZXJhdG9ySW5kZXg8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+Z2V0SXRlcmF0b3JJbmRleDwvQj4oKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RvcmVJdGVyYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpzdG9yZUl0ZXJhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+c3RvcmVJdGVyYXRvcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVJdGVyYXRvcigpIj5zdG9yZUl0ZXJhdG9yPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwiPk1ldGhvZEdlbmVyYXRvcjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImxvYWRJdGVyYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpsb2FkSXRlcmF0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5sb2FkSXRlcmF0b3I8L0I+KCk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2xvYWRJdGVyYXRvcigpIj5sb2FkSXRlcmF0b3I8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCI+TWV0aG9kR2VuZXJhdG9yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TG9jYWxJbmRleChqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TG9jYWxJbmRleDwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXRMb2NhbEluZGV4PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2dldExvY2FsSW5kZXgoamF2YS5sYW5nLlN0cmluZykiPmdldExvY2FsSW5kZXg8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCI+TWV0aG9kR2VuZXJhdG9yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0NvbXBhcmVHZW5lcmF0b3IuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NsYXNzR2VuZXJhdG9yLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0Vycm9yTWVzc2FnZXMuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkNvbXBhcmVHZW5lcmF0b3IuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCkNvcHlyaWdodCCpIDIwMDYgQXBhY2hlIFhNTCBQcm9qZWN0LiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KPC9CT0RZPg0KPC9IVE1MPg0K