PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTggRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgTWF0Y2hQYXR0ZXJuSXRlcmF0b3INCjwvVElUTEU+DQo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+DQo8L0hFQUQ+DQo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9NYXRjaFBhdHRlcm5JdGVyYXRvci5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL05vZGVTZXF1ZW5jZS5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iTWF0Y2hQYXR0ZXJuSXRlcmF0b3IuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54cGF0aC5heGVzLkxvY1BhdGhJdGVyYXRvciI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueHBhdGguYXhlczwvRk9OVD4NCjxCUj4NCkNsYXNzICBNYXRjaFBhdHRlcm5JdGVyYXRvcjwvSDI+DQo8UFJFPg0KamF2YS5sYW5nLk9iamVjdA0KICB8DQogICstLTxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sIj5vcmcuYXBhY2hlLnhwYXRoLkV4cHJlc3Npb248L0E+DQogICAgICAgIHwNCiAgICAgICAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sIj5vcmcuYXBhY2hlLnhwYXRoLnBhdHRlcm5zLk5vZGVUZXN0PC9BPg0KICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICstLTxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9QcmVkaWNhdGVkTm9kZVRlc3QuaHRtbCI+b3JnLmFwYWNoZS54cGF0aC5heGVzLlByZWRpY2F0ZWROb2RlVGVzdDwvQT4NCiAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwiPm9yZy5hcGFjaGUueHBhdGguYXhlcy5Mb2NQYXRoSXRlcmF0b3I8L0E+DQogICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS54cGF0aC5heGVzLk1hdGNoUGF0dGVybkl0ZXJhdG9yPC9CPg0KPC9QUkU+DQo8SFI+DQo8REw+DQo8RFQ+cHVibGljIGNsYXNzIDxCPk1hdGNoUGF0dGVybkl0ZXJhdG9yPC9CPjxEVD5leHRlbmRzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCI+TG9jUGF0aEl0ZXJhdG9yPC9BPjwvREw+DQoNCjxQPg0KVGhpcyBjbGFzcyB0cmVhdHMgYSAKIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoI2xvY2F0aW9uLXBhdGhzIj5Mb2NhdGlvblBhdGg8L2E+IGFzIGEgCiBmaWx0ZXJlZCBpdGVyYXRpb24gb3ZlciB0aGUgdHJlZSwgZXZhbHVhdGluZyBlYWNoIG5vZGUgaW4gYSBzdXBlciBheGlzIAogdHJhdmVyc2FsIGFnYWluc3QgdGhlIExvY2F0aW9uUGF0aCBpbnRlcnByZXRlZCBhcyBhIG1hdGNoIHBhdHRlcm4uICBUaGlzIAogY2xhc3MgaXMgdXNlZnVsIHRvIGZpbmQgbm9kZXMgaW4gZG9jdW1lbnQgb3JkZXIgdGhhdCBhcmUgY29tcGxleCBwYXRocyAKIHdob3NlIHN0ZXBzIHByb2JhYmx5IGNyaXNzLWNyb3NzIGVhY2ggb3RoZXIuDQo8UD4NCjxETD4NCjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9zZXJpYWxpemVkLWZvcm0uaHRtbCNvcmcuYXBhY2hlLnhwYXRoLmF4ZXMuTWF0Y2hQYXR0ZXJuSXRlcmF0b3IiPlNlcmlhbGl6ZWQgRm9ybTwvQT48L0RMPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhwYXRoLmF4ZXMuTG9jUGF0aEl0ZXJhdG9yIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5GaWVsZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54cGF0aC5heGVzLjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCI+TG9jUGF0aEl0ZXJhdG9yPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNtX2xhc3RGZXRjaGVkIj5tX2xhc3RGZXRjaGVkPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54cGF0aC5wYXR0ZXJucy5Ob2RlVGVzdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueHBhdGgucGF0dGVybnMuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sIj5Ob2RlVGVzdDwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjU0NPUkVfTk9ERVRFU1QiPlNDT1JFX05PREVURVNUPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI1NDT1JFX05PTkUiPlNDT1JFX05PTkU8L0E+LCAgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjU0NPUkVfTlNXSUxEIj5TQ09SRV9OU1dJTEQ8L0E+LCAgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjU0NPUkVfT1RIRVIiPlNDT1JFX09USEVSPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI1NDT1JFX1FOQU1FIj5TQ09SRV9RTkFNRTwvQT4sICANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNTSE9XX0JZRlVOQ1RJT04iPlNIT1dfQllGVU5DVElPTjwvQT4sICANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNTVVBQT1JUU19QUkVfU1RSSVBQSU5HIj5TVVBQT1JUU19QUkVfU1RSSVBQSU5HPC9BPiwgIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI1dJTEQiPldJTEQ8L0E+PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3Nob3J0PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9NYXRjaFBhdHRlcm5JdGVyYXRvci5odG1sI2FjY2VwdE5vZGUoaW50LCBvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCkiPmFjY2VwdE5vZGU8L0E+PC9CPihpbnQmbmJzcDtuLAogICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwiPlhQYXRoQ29udGV4dDwvQT4mbmJzcDt4Y3R4dCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Rlc3Qgd2hldGhlciBhIHNwZWNpZmllZCBub2RlIGlzIHZpc2libGUgaW4gdGhlIGxvZ2ljYWwgdmlldyBvZiBhCiBUcmVlV2Fsa2VyIG9yIE5vZGVJdGVyYXRvci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTWF0Y2hQYXR0ZXJuSXRlcmF0b3IuaHRtbCNkZXRhY2goKSI+ZGV0YWNoPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RGV0YWNoZXMgdGhlIGl0ZXJhdG9yIGZyb20gdGhlIHNldCB3aGljaCBpdCBpdGVyYXRlZCBvdmVyLCByZWxlYXNpbmcKIGFueSBjb21wdXRhdGlvbmFsIHJlc291cmNlcyBhbmQgcGxhY2luZyB0aGUgaXRlcmF0b3IgaW4gdGhlIElOVkFMSUQKIHN0YXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL01hdGNoUGF0dGVybkl0ZXJhdG9yLmh0bWwjbmV4dE5vZGUoKSI+bmV4dE5vZGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm5zIHRoZSBuZXh0IG5vZGUgaW4gdGhlIHNldCBhbmQgYWR2YW5jZXMgdGhlIHBvc2l0aW9uIG9mIHRoZQogaXRlcmF0b3IgaW4gdGhlIHNldC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTWF0Y2hQYXR0ZXJuSXRlcmF0b3IuaHRtbCNzZXRSb290KGludCwgamF2YS5sYW5nLk9iamVjdCkiPnNldFJvb3Q8L0E+PC9CPihpbnQmbmJzcDtjb250ZXh0LAogICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDtlbnZpcm9ubWVudCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0luaXRpYWxpemUgdGhlIGNvbnRleHQgdmFsdWVzIGZvciB0aGlzIGV4cHJlc3Npb24KIGFmdGVyIGl0IGlzIGNsb25lZC48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueHBhdGguYXhlcy5Mb2NQYXRoSXRlcmF0b3IiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54cGF0aC5heGVzLjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCI+TG9jUGF0aEl0ZXJhdG9yPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNhbGxvd0RldGFjaFRvUmVsZWFzZShib29sZWFuKSI+YWxsb3dEZXRhY2hUb1JlbGVhc2U8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNhc0l0ZXJhdG9yKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0LCBpbnQpIj5hc0l0ZXJhdG9yPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjYXNOb2RlKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0KSI+YXNOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjYm9vbChvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCkiPmJvb2w8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNjYWxsVmlzaXRvcnMob3JnLmFwYWNoZS54cGF0aC5FeHByZXNzaW9uT3duZXIsIG9yZy5hcGFjaGUueHBhdGguWFBhdGhWaXNpdG9yKSI+Y2FsbFZpc2l0b3JzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjY2xvbmVXaXRoUmVzZXQoKSI+Y2xvbmVXaXRoUmVzZXQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0KSI+ZXhlY3V0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2V4ZWN1dGVDaGFyc1RvQ29udGVudEhhbmRsZXIob3JnLmFwYWNoZS54cGF0aC5YUGF0aENvbnRleHQsIG9yZy54bWwuc2F4LkNvbnRlbnRIYW5kbGVyKSI+ZXhlY3V0ZUNoYXJzVG9Db250ZW50SGFuZGxlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldEFuYWx5c2lzQml0cygpIj5nZXRBbmFseXNpc0JpdHM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRBeGlzKCkiPmdldEF4aXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRDb250ZXh0KCkiPmdldENvbnRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRDdXJyZW50Q29udGV4dE5vZGUoKSI+Z2V0Q3VycmVudENvbnRleHROb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjZ2V0Q3VycmVudE5vZGUoKSI+Z2V0Q3VycmVudE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRDdXJyZW50UG9zKCkiPmdldEN1cnJlbnRQb3M8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXREVE0oaW50KSI+Z2V0RFRNPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjZ2V0RFRNTWFuYWdlcigpIj5nZXREVE1NYW5hZ2VyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjZ2V0RXhwYW5kRW50aXR5UmVmZXJlbmNlcygpIj5nZXRFeHBhbmRFbnRpdHlSZWZlcmVuY2VzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjZ2V0RmlsdGVyKCkiPmdldEZpbHRlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldEZvdW5kTGFzdCgpIj5nZXRGb3VuZExhc3Q8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRJc1RvcExldmVsKCkiPmdldElzVG9wTGV2ZWw8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRMYXN0UG9zKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0KSI+Z2V0TGFzdFBvczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldExlbmd0aCgpIj5nZXRMZW5ndGg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNnZXRQcmVmaXhSZXNvbHZlcigpIj5nZXRQcmVmaXhSZXNvbHZlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldFJvb3QoKSI+Z2V0Um9vdDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldFdoYXRUb1Nob3coKSI+Z2V0V2hhdFRvU2hvdzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2dldFhQYXRoQ29udGV4dCgpIj5nZXRYUGF0aENvbnRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNpbmNyZW1lbnRDdXJyZW50UG9zKCkiPmluY3JlbWVudEN1cnJlbnRQb3M8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNpc0RvY09yZGVyZWQoKSI+aXNEb2NPcmRlcmVkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjaXNGcmVzaCgpIj5pc0ZyZXNoPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjaXNNdXRhYmxlKCkiPmlzTXV0YWJsZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2lzTm9kZXNldEV4cHIoKSI+aXNOb2Rlc2V0RXhwcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI2l0ZW0oaW50KSI+aXRlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3ByZXZpb3VzTm9kZSgpIj5wcmV2aW91c05vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNyZXNldCgpIj5yZXNldDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3J1blRvKGludCkiPnJ1blRvPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjc2V0Q3VycmVudENvbnRleHROb2RlKGludCkiPnNldEN1cnJlbnRDb250ZXh0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3NldEN1cnJlbnRQb3MoaW50KSI+c2V0Q3VycmVudFBvczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3NldEVudmlyb25tZW50KGphdmEubGFuZy5PYmplY3QpIj5zZXRFbnZpcm9ubWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3NldElzVG9wTGV2ZWwoYm9vbGVhbikiPnNldElzVG9wTGV2ZWw8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNzZXRJdGVtKGludCwgaW50KSI+c2V0SXRlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sI3NldFNob3VsZENhY2hlTm9kZXMoYm9vbGVhbikiPnNldFNob3VsZENhY2hlTm9kZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCNzaXplKCkiPnNpemU8L0E+PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54cGF0aC5heGVzLlByZWRpY2F0ZWROb2RlVGVzdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnhwYXRoLmF4ZXMuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sIj5QcmVkaWNhdGVkTm9kZVRlc3Q8L0E+PC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2FjY2VwdE5vZGUoaW50KSI+YWNjZXB0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2NhbGxQcmVkaWNhdGVWaXNpdG9ycyhvcmcuYXBhY2hlLnhwYXRoLlhQYXRoVmlzaXRvcikiPmNhbGxQcmVkaWNhdGVWaXNpdG9yczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2NhblRyYXZlcnNlT3V0c2lkZVN1YnRyZWUoKSI+Y2FuVHJhdmVyc2VPdXRzaWRlU3VidHJlZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2Nsb25lKCkiPmNsb25lPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjZGVlcEVxdWFscyhvcmcuYXBhY2hlLnhwYXRoLkV4cHJlc3Npb24pIj5kZWVwRXF1YWxzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjZml4dXBWYXJpYWJsZXMoamF2YS51dGlsLlZlY3RvciwgaW50KSI+Zml4dXBWYXJpYWJsZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9QcmVkaWNhdGVkTm9kZVRlc3QuaHRtbCNnZXRMb2NQYXRoSXRlcmF0b3IoKSI+Z2V0TG9jUGF0aEl0ZXJhdG9yPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjZ2V0UHJlZGljYXRlKGludCkiPmdldFByZWRpY2F0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2dldFByZWRpY2F0ZUNvdW50KCkiPmdldFByZWRpY2F0ZUNvdW50PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjZ2V0UHJlZGljYXRlSW5kZXgoKSI+Z2V0UHJlZGljYXRlSW5kZXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9QcmVkaWNhdGVkTm9kZVRlc3QuaHRtbCNnZXRQcm94aW1pdHlQb3NpdGlvbigpIj5nZXRQcm94aW1pdHlQb3NpdGlvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI2dldFByb3hpbWl0eVBvc2l0aW9uKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0KSI+Z2V0UHJveGltaXR5UG9zaXRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9QcmVkaWNhdGVkTm9kZVRlc3QuaHRtbCNpbml0UHJveGltaXR5UG9zaXRpb24oaW50KSI+aW5pdFByb3hpbWl0eVBvc2l0aW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjaXNSZXZlcnNlQXhlcygpIj5pc1JldmVyc2VBeGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvUHJlZGljYXRlZE5vZGVUZXN0Lmh0bWwjcmVzZXRQcm94aW1pdHlQb3NpdGlvbnMoKSI+cmVzZXRQcm94aW1pdHlQb3NpdGlvbnM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9QcmVkaWNhdGVkTm9kZVRlc3QuaHRtbCNzZXRMb2NQYXRoSXRlcmF0b3Iob3JnLmFwYWNoZS54cGF0aC5heGVzLkxvY1BhdGhJdGVyYXRvcikiPnNldExvY1BhdGhJdGVyYXRvcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL1ByZWRpY2F0ZWROb2RlVGVzdC5odG1sI3NldFByZWRpY2F0ZUNvdW50KGludCkiPnNldFByZWRpY2F0ZUNvdW50PC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueHBhdGgucGF0dGVybnMuTm9kZVRlc3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54cGF0aC5wYXR0ZXJucy48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwiPk5vZGVUZXN0PC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNkZWJ1Z1doYXRUb1Nob3coaW50KSI+ZGVidWdXaGF0VG9TaG93PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjZXhlY3V0ZShvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCwgaW50KSI+ZXhlY3V0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS54cGF0aC5YUGF0aENvbnRleHQsIGludCwgb3JnLmFwYWNoZS54bWwuZHRtLkRUTSwgaW50KSI+ZXhlY3V0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI2dldERlZmF1bHRTY29yZSgpIj5nZXREZWZhdWx0U2NvcmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNnZXRMb2NhbE5hbWUoKSI+Z2V0TG9jYWxOYW1lPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjZ2V0TmFtZXNwYWNlKCkiPmdldE5hbWVzcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI2dldE5vZGVUeXBlVGVzdChpbnQpIj5nZXROb2RlVHlwZVRlc3Q8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNnZXRTdGF0aWNTY29yZSgpIj5nZXRTdGF0aWNTY29yZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI2luaXROb2RlVGVzdChpbnQpIj5pbml0Tm9kZVRlc3Q8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNpbml0Tm9kZVRlc3QoaW50LCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+aW5pdE5vZGVUZXN0PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL3BhdHRlcm5zL05vZGVUZXN0Lmh0bWwjc2V0TG9jYWxOYW1lKGphdmEubGFuZy5TdHJpbmcpIj5zZXRMb2NhbE5hbWU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNzZXROYW1lc3BhY2UoamF2YS5sYW5nLlN0cmluZykiPnNldE5hbWVzcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9wYXR0ZXJucy9Ob2RlVGVzdC5odG1sI3NldFN0YXRpY1Njb3JlKG9yZy5hcGFjaGUueHBhdGgub2JqZWN0cy5YTnVtYmVyKSI+c2V0U3RhdGljU2NvcmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvcGF0dGVybnMvTm9kZVRlc3QuaHRtbCNzZXRXaGF0VG9TaG93KGludCkiPnNldFdoYXRUb1Nob3c8L0E+PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54cGF0aC5FeHByZXNzaW9uIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueHBhdGguPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwiPkV4cHJlc3Npb248L0E+PC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjYXNJdGVyYXRvclJhdyhvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCwgaW50KSI+YXNJdGVyYXRvclJhdzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjYXNzZXJ0aW9uKGJvb2xlYW4sIGphdmEubGFuZy5TdHJpbmcpIj5hc3NlcnRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2Vycm9yKG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0LCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0W10pIj5lcnJvcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZXhlY3V0ZShvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCwgYm9vbGVhbikiPmV4ZWN1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2V4cHJBZGRDaGlsZChvcmcuYXBhY2hlLnhwYXRoLkV4cHJlc3Npb25Ob2RlLCBpbnQpIj5leHByQWRkQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2V4cHJHZXRDaGlsZChpbnQpIj5leHByR2V0Q2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2V4cHJHZXROdW1DaGlsZHJlbigpIj5leHByR2V0TnVtQ2hpbGRyZW48L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2V4cHJHZXRQYXJlbnQoKSI+ZXhwckdldFBhcmVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZXhwclNldFBhcmVudChvcmcuYXBhY2hlLnhwYXRoLkV4cHJlc3Npb25Ob2RlKSI+ZXhwclNldFBhcmVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZ2V0Q29sdW1uTnVtYmVyKCkiPmdldENvbHVtbk51bWJlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZ2V0RXhwcmVzc2lvbk93bmVyKCkiPmdldEV4cHJlc3Npb25Pd25lcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZ2V0TGluZU51bWJlcigpIj5nZXRMaW5lTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL0V4cHJlc3Npb24uaHRtbCNnZXRQdWJsaWNJZCgpIj5nZXRQdWJsaWNJZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9FeHByZXNzaW9uLmh0bWwjZ2V0U3lzdGVtSWQoKSI+Z2V0U3lzdGVtSWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI2lzU3RhYmxlTnVtYmVyKCkiPmlzU3RhYmxlTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL0V4cHJlc3Npb24uaHRtbCNudW0ob3JnLmFwYWNoZS54cGF0aC5YUGF0aENvbnRleHQpIj5udW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI3dhcm4ob3JnLmFwYWNoZS54cGF0aC5YUGF0aENvbnRleHQsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3RbXSkiPndhcm48L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvRXhwcmVzc2lvbi5odG1sI3hzdHIob3JnLmFwYWNoZS54cGF0aC5YUGF0aENvbnRleHQpIj54c3RyPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJzZXRSb290KGludCwgamF2YS5sYW5nLk9iamVjdCkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFJvb3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFJvb3Q8L0I+KGludCZuYnNwO2NvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO2Vudmlyb25tZW50KTwvUFJFPg0KPERMPg0KPEREPkluaXRpYWxpemUgdGhlIGNvbnRleHQgdmFsdWVzIGZvciB0aGlzIGV4cHJlc3Npb24KIGFmdGVyIGl0IGlzIGNsb25lZC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5jb250ZXh0PC9DT0RFPiAtIFRoZSBYUGF0aCBydW50aW1lIGNvbnRleHQgZm9yIHRoaXMKIHRyYW5zZm9ybWF0aW9uLjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjc2V0Um9vdChpbnQsIGphdmEubGFuZy5PYmplY3QpIj5zZXRSb290PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwiPkxvY1BhdGhJdGVyYXRvcjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImRldGFjaCgpIj48IS0tIC0tPjwvQT48SDM+DQpkZXRhY2g8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmRldGFjaDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkRldGFjaGVzIHRoZSBpdGVyYXRvciBmcm9tIHRoZSBzZXQgd2hpY2ggaXQgaXRlcmF0ZWQgb3ZlciwgcmVsZWFzaW5nCiBhbnkgY29tcHV0YXRpb25hbCByZXNvdXJjZXMgYW5kIHBsYWNpbmcgdGhlIGl0ZXJhdG9yIGluIHRoZSBJTlZBTElECiBzdGF0ZS4gQWZ0ZXI8Y29kZT5kZXRhY2g8L2NvZGU+IGhhcyBiZWVuIGludm9rZWQsIGNhbGxzIHRvCiA8Y29kZT5uZXh0Tm9kZTwvY29kZT4gb3I8Y29kZT5wcmV2aW91c05vZGU8L2NvZGU+IHdpbGwgcmFpc2UgdGhlCiBleGNlcHRpb24gSU5WQUxJRF9TVEFURV9FUlIuPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjZGV0YWNoKCkiPmRldGFjaDwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sIj5Mb2NQYXRoSXRlcmF0b3I8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJuZXh0Tm9kZSgpIj48IS0tIC0tPjwvQT48SDM+DQpuZXh0Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5uZXh0Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybnMgdGhlIG5leHQgbm9kZSBpbiB0aGUgc2V0IGFuZCBhZHZhbmNlcyB0aGUgcG9zaXRpb24gb2YgdGhlCiBpdGVyYXRvciBpbiB0aGUgc2V0LiBBZnRlciBhIE5vZGVJdGVyYXRvciBpcyBjcmVhdGVkLCB0aGUgZmlyc3QgY2FsbAogdG8gbmV4dE5vZGUoKSByZXR1cm5zIHRoZSBmaXJzdCBub2RlIGluIHRoZSBzZXQuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIG5leHQgPGNvZGU+Tm9kZTwvY29kZT4gaW4gdGhlIHNldCBiZWluZyBpdGVyYXRlZCBvdmVyLCBvcgogICA8Y29kZT5udWxsPC9jb2RlPiBpZiB0aGVyZSBhcmUgbm8gbW9yZSBtZW1iZXJzIGluIHRoYXQgc2V0LjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL2F4ZXMvTG9jUGF0aEl0ZXJhdG9yLmh0bWwjbmV4dE5vZGUoKSI+bmV4dE5vZGU8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Mb2NQYXRoSXRlcmF0b3IuaHRtbCI+TG9jUGF0aEl0ZXJhdG9yPC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iYWNjZXB0Tm9kZShpbnQsIG9yZy5hcGFjaGUueHBhdGguWFBhdGhDb250ZXh0KSI+PCEtLSAtLT48L0E+PEgzPg0KYWNjZXB0Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIHNob3J0IDxCPmFjY2VwdE5vZGU8L0I+KGludCZuYnNwO24sCiAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvWFBhdGhDb250ZXh0Lmh0bWwiPlhQYXRoQ29udGV4dDwvQT4mbmJzcDt4Y3R4dCk8L1BSRT4NCjxETD4NCjxERD5UZXN0IHdoZXRoZXIgYSBzcGVjaWZpZWQgbm9kZSBpcyB2aXNpYmxlIGluIHRoZSBsb2dpY2FsIHZpZXcgb2YgYQogVHJlZVdhbGtlciBvciBOb2RlSXRlcmF0b3IuIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYnkgdGhlCiBpbXBsZW1lbnRhdGlvbiBvZiBUcmVlV2Fsa2VyIGFuZCBOb2RlSXRlcmF0b3I7IGl0IGlzIG5vdCBpbnRlbmRlZCB0bwogYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gdXNlciBjb2RlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm48L0NPREU+IC0gVGhlIG5vZGUgdG8gY2hlY2sgdG8gc2VlIGlmIGl0IHBhc3NlcyB0aGUgZmlsdGVyIG9yIG5vdC48RFQ+PEI+UmV0dXJuczo8L0I+PEREPmEgY29uc3RhbnQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG5vZGUgaXMgYWNjZXB0ZWQsCiAgIHJlamVjdGVkLCBvciBza2lwcGVkLCBhcyBkZWZpbmVkICBhYm92ZSAuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPg0KPEhSPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvTWF0Y2hQYXR0ZXJuSXRlcmF0b3IuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9heGVzL0xvY1BhdGhJdGVyYXRvci5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveHBhdGgvYXhlcy9Ob2RlU2VxdWVuY2UuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ik1hdGNoUGF0dGVybkl0ZXJhdG9yLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjZmllbGRzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueHBhdGguYXhlcy5Mb2NQYXRoSXRlcmF0b3IiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==