PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CjwhLS1OZXdQYWdlLS0+CjxIVE1MPgo8SEVBRD4KPCEtLSBHZW5lcmF0ZWQgYnkgamF2YWRvYyBvbiBGcmkgQXVnIDIyIDAzOjQ0OjEwIEVEVCAyMDAzIC0tPgo8VElUTEU+CkFjdGlvbkV4Y2VwdGlvbiAoQXBhY2hlIFN0cnV0cyBBUEkgRG9jdW1lbnRhdGlvbikKPC9USVRMRT4KPE1FVEEgTkFNRT0ia2V5d29yZHMiIENPTlRFTlQ9Im9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25FeGNlcHRpb24sQWN0aW9uRXhjZXB0aW9uIGNsYXNzIj4KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPgo8L0hFQUQ+CjxTQ1JJUFQ+CmZ1bmN0aW9uIGFzZCgpCnsKcGFyZW50LmRvY3VtZW50LnRpdGxlPSJBY3Rpb25FeGNlcHRpb24gKEFwYWNoZSBTdHJ1dHMgQVBJIERvY3VtZW50YXRpb24pIjsKfQo8L1NDUklQVD4KPEJPRFkgQkdDT0xPUj0id2hpdGUiIG9ubG9hZD0iYXNkKCk7Ij4KCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPgo8VFI+CjxURCBDT0xTUEFOPTMgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+CiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9BY3Rpb25FeGNlcHRpb24uaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkVycm9ycy5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsKJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOzxBIEhSRUY9IkFjdGlvbkV4Y2VwdGlvbi5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7CjxTQ1JJUFQ+CiAgPCEtLQogIGlmKHdpbmRvdz09dG9wKSB7CiAgICBkb2N1bWVudC53cml0ZWxuKCc8QSBIUkVGPSIuLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4nKTsKICB9CiAgLy8tLT4KPC9TQ1JJUFQ+CjxOT1NDUklQVD4KPEEgSFJFRj0iLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+CjwvTk9TQ1JJUFQ+CjwvRk9OVD48L1REPgo8L1RSPgo8VFI+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CiAgU1VNTUFSWTombmJzcDtORVNURUQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnN0cnV0cy5jb25maWcuRXhjZXB0aW9uQ29uZmlnIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CkRFVEFJTDombmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPgo8SDI+CjxGT05UIFNJWkU9Ii0xIj4Kb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9GT05UPgo8QlI+CkNsYXNzIEFjdGlvbkV4Y2VwdGlvbjwvSDI+CjxQUkU+CmphdmEubGFuZy5PYmplY3QKICB8CiAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy5jb25maWcuRXhjZXB0aW9uQ29uZmlnPC9BPgogICAgICAgIHwKICAgICAgICArLS08Qj5vcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRXhjZXB0aW9uPC9CPgo8L1BSRT4KPERMPgo8RFQ+PEI+QWxsIEltcGxlbWVudGVkIEludGVyZmFjZXM6PC9CPiA8REQ+amF2YS5pby5TZXJpYWxpemFibGU8L0REPgo8L0RMPgo8SFI+CjxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxJPlJlcGxhY2VkIGJ5IG9yZy5hcGFjaGUuc3RydXRzLmNvbmZpZy5FeGNlcHRpb25Db25maWc8L0k+CjxQPgo8REw+CjxEVD5wdWJsaWMgY2xhc3MgPEI+QWN0aW9uRXhjZXB0aW9uPC9CPjxEVD5leHRlbmRzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCI+RXhjZXB0aW9uQ29uZmlnPC9BPjwvREw+Cgo8UD4KQW4gPHN0cm9uZz5BY3Rpb25FeGNlcHRpb248L3N0cm9uZz4gcmVwcmVzZW50cyBhIHBvdGVudGlhbCBleGNlcHRpb24KIHRoYXQgbWF5IG9jY3VyIGR1cmluZyBkZWxlZ2F0aW9uIHRvIGFuIEFjdGlvbiBjbGFzcy4KIEluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIG1heSBiZSBjb25maWd1cmVkIGluIGFzc29jaWF0aW9uCiB3aXRoIGFuIDxjb2RlPkFjdGlvbk1hcHBpbmc8L2NvZGU+IGluc3RhbmNlIGZvciBuYW1lZCBsb29rdXAgb2YgcG90ZW50aWFsbHkKIG11bHRpcGxlIGRlc3RpbmF0aW9ucyBmb3IgYSBwYXJ0aWN1bGFyIG1hcHBpbmcgaW5zdGFuY2UuCiA8cD4KIEFuIDxjb2RlPkFjdGlvbkV4Y2VwdGlvbjwvY29kZT4gaGFzIHRoZSBmb2xsb3dpbmcgbWluaW1hbCBzZXQgb2YgcHJvcGVydGllcy4KIEFkZGl0aW9uYWwgcHJvcGVydGllcyBjYW4gYmUgcHJvdmlkZWQgYXMgbmVlZGVkIGJ5IHN1YmNsYXNzc2VzLgogPHVsPgogPGxpPjxzdHJvbmc+dHlwZTwvc3Ryb25nPiAtIFRoZSBmdWxseSBxdWFsaWZpZWQgY2xhc3MgbmFtZSBvZiB0aGUKIGV4Y2VwdGlvbiB0byBiZSBhc3NvY2lhdGVkIHRvIGEgcGFydGljdWxhciA8Y29kZT5BY3Rpb25NYXBwaW5nPC9jb2RlPi4KIDxsaT48c3Ryb25nPmtleTwvc3Ryb25nPiAtIChPcHRpb25hbCkgTWVzc2FnZSBrZXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXJ0aWN1bGFyCiAgICAgZXhjZXB0aW9uLgogPGxpPjxzdHJvbmc+cGF0aDwvc3Ryb25nPiAtIChPcHRpb25hbCkgQ29udGV4dCByZWxlYXRpdmUgVVJJIHRoYXQgc2hvdWxkCiAgICAgYmUgcmVkaXJlY3RlZCB0byBhcyBhIHJlc3VsdCBvZiB0aGUgZXhjZXB0aW9uIG9jY3VyaW5nLiAgV2lsbCBvdmVyaWRlIHRoZQogICAgIGlucHV0IGZvcm0gb2YgdGhlIGFzc29jaWF0ZWQgQWN0aW9uTWFwcGluZyBpZiBvbmUgaXMgcHJvdmlkZWQuCiA8bGk+PHN0cm9uZz5zY29wZTwvc3Ryb25nPiAtIChPcHRpb25hbCkgVGhlIHNjb3BlIHRvIHN0b3JlIHRoZSBleGNlcHRpb24gaW4KICAgICBpZiBhIHByb2JsZW0gc2hvdWxkIG9jY3VyIC0gZGVmYXVsdHMgdG8gJ3JlcXVlc3QnLiAgVmFsaWQgdmFsdWVzIGFyZQogICAgICdyZXF1ZXN0JyBhbmQgJ3Nlc3Npb24nLgogPGxpPjxzdHJvbmc+aGllcmFyY2hpY2FsPC9zdHJvbmc+IC0gKE9wdGlvbmFsKSBEZWZpbmVzIHdoZXRoZXIgb3Igbm90IHRoZQogICAgIEV4Y2VwdGlvbiBoaWVyYXJjaHkgc2hvdWxkIGJlIHVzZWQgd2hlbiBkZXRlcm1pbmluZyBpZiBhbiBvY2N1cmluZwogICAgIGV4Y2VwdGlvbiBjYW4gYmUgYXNzaWduZWQgdG8gYSBtYXBwaW5nIGluc3RhbmNlLiAgRGVmYXVsdCBpcyB0cnVlLgogPGxpPjxzdHJvbmc+aGFuZGxlcjwvc3Ryb25nPiAtIChPcHRpb25hbCkgVGhlIGZ1bGx5IHF1YWxpZmllZCBjbGFzcyBuYW1lCiAgICAgb2YgdGhlIGhhbmRsZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIHRvIGhhbmRsZSB0aGlzIGV4Y2VwdGlvbi4KICAgICBEZWZhdWx0IGlzICdvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uRXhjZXB0aW9uSGFuZGxlcicuCiA8L3VsPgo8UD4KCjxQPgo8REw+CjxEVD48Qj5TaW5jZTo8L0I+PC9EVD4KICA8REQ+U3RydXRzIDEuMTwvREQ+CjxEVD48Qj5WZXJzaW9uOjwvQj48L0RUPgogIDxERD4kUmV2aXNpb246IDEuMSAkICREYXRlJDwvREQ+CjxEVD48Qj5BdXRob3I6PC9CPjwvRFQ+CiAgPEREPmxkb25sYW48L0REPgo8RFQ+PEI+U2VlIEFsc286PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9zZXJpYWxpemVkLWZvcm0uaHRtbCIgVEFSR0VUPSJvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRXhjZXB0aW9uIj5TZXJpYWxpemVkIEZvcm08L0E+PC9ETD4KPEhSPgoKPFA+CjwhLS0gPT09PT09PT0gTkVTVEVEIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+CgoKPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0iZmllbGRfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPkZpZWxkIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnN0cnV0cy5jb25maWcuRXhjZXB0aW9uQ29uZmlnIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUuc3RydXRzLmNvbmZpZy48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwiPkV4Y2VwdGlvbkNvbmZpZzwvQT48L0I+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjYnVuZGxlIj5idW5kbGU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjY29uZmlndXJlZCI+Y29uZmlndXJlZDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCNoYW5kbGVyIj5oYW5kbGVyPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI2tleSI+a2V5PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI3BhdGgiPnBhdGg8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjc2NvcGUiPnNjb3BlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI3R5cGUiPnR5cGU8L0E+PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+Cgo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRXhjZXB0aW9uLmh0bWwjQWN0aW9uRXhjZXB0aW9uKCkiPkFjdGlvbkV4Y2VwdGlvbjwvQT48L0I+KCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOyZuYnNwOzwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJtZXRob2Rfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+CjxCPk1ldGhvZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRXJyb3IuaHRtbCI+QWN0aW9uRXJyb3I8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkV4Y2VwdGlvbi5odG1sI2dldEVycm9yKCkiPmdldEVycm9yPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7UmV0dXJucyBhbiBpbnN0YW5jZSBvZiBhbiA8Yj5BY3Rpb25FcnJvcjwvYj4gY29uZmlndXJlZCBmb3IKdGhpcyBleGNlcHRpb24uPC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnN0cnV0cy5jb25maWcuRXhjZXB0aW9uQ29uZmlnIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnN0cnV0cy5jb25maWcuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sIj5FeGNlcHRpb25Db25maWc8L0E+PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI2ZyZWV6ZSgpIj5mcmVlemU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjZ2V0QnVuZGxlKCkiPmdldEJ1bmRsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCNnZXRIYW5kbGVyKCkiPmdldEhhbmRsZXI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjZ2V0S2V5KCkiPmdldEtleTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCNnZXRQYXRoKCkiPmdldFBhdGg8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjZ2V0U2NvcGUoKSI+Z2V0U2NvcGU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjZ2V0VHlwZSgpIj5nZXRUeXBlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI3NldEJ1bmRsZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0QnVuZGxlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sI3NldEhhbmRsZXIoamF2YS5sYW5nLlN0cmluZykiPnNldEhhbmRsZXI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjc2V0S2V5KGphdmEubGFuZy5TdHJpbmcpIj5zZXRLZXk8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjc2V0UGF0aChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0UGF0aDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCNzZXRTY29wZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0U2NvcGU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvRXhjZXB0aW9uQ29uZmlnLmh0bWwjc2V0VHlwZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VHlwZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9FeGNlcHRpb25Db25maWcuaHRtbCN0b1N0cmluZygpIj50b1N0cmluZzwvQT48L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhLmxhbmcuT2JqZWN0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZhLmxhbmcuT2JqZWN0PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+Y2xvbmUsIGVxdWFscywgZmluYWxpemUsIGdldENsYXNzLCBoYXNoQ29kZSwgbm90aWZ5LCBub3RpZnlBbGwsIHdhaXQsIHdhaXQsIHdhaXQ8L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgoKPCEtLSA9PT09PT09PT09PT0gRklFTEQgREVUQUlMID09PT09PT09PT09IC0tPgoKCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9IkFjdGlvbkV4Y2VwdGlvbigpIj48IS0tIC0tPjwvQT48SDM+CkFjdGlvbkV4Y2VwdGlvbjwvSDM+CjxQUkU+CnB1YmxpYyA8Qj5BY3Rpb25FeGNlcHRpb248L0I+KCk8L1BSRT4KPERMPgo8REQ+PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7PC9ETD4KCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4KCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgoKPEEgTkFNRT0iZ2V0RXJyb3IoKSI+PCEtLSAtLT48L0E+PEgzPgpnZXRFcnJvcjwvSDM+CjxQUkU+CnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRXJyb3IuaHRtbCI+QWN0aW9uRXJyb3I8L0E+IDxCPmdldEVycm9yPC9CPigpPC9QUkU+CjxETD4KPEREPjxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxERD5SZXR1cm5zIGFuIGluc3RhbmNlIG9mIGFuIDxiPkFjdGlvbkVycm9yPC9iPiBjb25maWd1cmVkIGZvcgp0aGlzIGV4Y2VwdGlvbi4KPFA+CjxERD48REw+Cgo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPkFjdGlvbkVycm9yPC9ETD4KPC9ERD4KPC9ETD4KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPgo8SFI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b20iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0zIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl9ib3R0b21fZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvQWN0aW9uRXhjZXB0aW9uLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25FcnJvcnMuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJBY3Rpb25FeGNlcHRpb24uaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOwo8U0NSSVBUPgogIDwhLS0KICBpZih3aW5kb3c9PXRvcCkgewogICAgZG9jdW1lbnQud3JpdGVsbignPEEgSFJFRj0iLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+Jyk7CiAgfQogIC8vLS0+CjwvU0NSSVBUPgo8Tk9TQ1JJUFQ+CjxBIEhSRUY9Ii4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPgo8L05PU0NSSVBUPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPFRSPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgogIFNVTU1BUlk6Jm5ic3A7TkVTVEVEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnLkV4Y2VwdGlvbkNvbmZpZyI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgpERVRBSUw6Jm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CkNvcHlyaWdodCCpIDIwMDAtMjAwMyAtIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCjwvQk9EWT4KPC9IVE1MPgo=