IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJU0FTCiIgTWFpbnRhaW5lcjoJSmFtZXMgS2lkZCA8amFtZXMua2lkZEBjb3ZhbmNlLmNvbT4KIiBMYXN0IENoYW5nZTogIDE4IEp1bCAyMDA4IGJ5IFBhdWxvIFRhbmltb3RvIDxwdGFuaW1vdG9AZ21haWwuY29tPgoiICAgICAgICAgICAgICAgRml4ZWQgY29tbWVudHMgd2l0aCAqIHRha2luZyBtdWx0aXBsZSBsaW5lcy4KIiAgICAgICAgICAgICAgIEZpeGVkIGhpZ2hsaWdodGluZyBvZiBtYWNybyBrZXl3b3Jkcy4KIiAgICAgICAgICAgICAgIEFkZGVkIHdvcmRzIHRvIGNhc2VzIHRoYXQgZGlkbid0IGZpdCBhbnl3aGVyZS4KIiAgICAgICAgICAgICAJMDIgSnVuIDIwMDMKIgkJQWRkZWQgaGlnaGxpZ2h0aW5nIGZvciBhZGRpdGlvbmFsIGtleXdvcmRzIGFuZCBzdWNoOwoiCQlBdHRlbXB0ZWQgdG8gbWF0Y2ggU0FTIGRlZmF1bHQgc3ludGF4IGNvbG9yczsKIgkJQ2hhbmdlZCBzeW5jaW5nIHNvIGl0IGRvZXNuJ3QgbG9zZSBjb2xvcnMgb24gbGFyZ2UgYmxvY2tzOwoiCQlNdWNoIHRoYW5rcyB0byBCb2IgSGVja2VsIGZvciBrbm93bGVkZ2VhYmxlIHR3ZWFraW5nLgoiICBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKIiAgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKaWYgdmVyc2lvbiA8IDYwMAogICBzeW50YXggY2xlYXIKZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAplbmRpZgoKc3luIGNhc2UgaWdub3JlCgpzeW4gcmVnaW9uIHNhc1N0cmluZwlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisKc3luIHJlZ2lvbiBzYXNTdHJpbmcJc3RhcnQ9KycrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KycrCgoiIFdhbnQgcmVnaW9uIGZyb20gJ2NhcmRzOycgdG8gJzsnIHRvIGJlIGNhcHR1cmVkIChCb2IgSGVja2VsKQpzeW4gcmVnaW9uIHNhc0NhcmRzCXN0YXJ0PSJeXHMqQ0FSRFMuKiIgZW5kPSJeXHMqO1xzKiQiCnN5biByZWdpb24gc2FzQ2FyZHMJc3RhcnQ9Il5ccypEQVRBTElORVMuKiIgZW5kPSJeXHMqO1xzKiQiCgpzeW4gbWF0Y2ggc2FzTnVtYmVyCSItXD1cPFxkKlwuXD1bMC05X11cPiIKCiIgQmxvY2sgY29tbWVudApzeW4gcmVnaW9uIHNhc0NvbW1lbnQJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zYXNUb2RvCgoiIElnbm9yZSBtaXNsZWFkaW5nIC8vSkNMIFNZTlRBWC4uLiAoQm9iIEhlY2tlbCkKc3luIHJlZ2lvbiBzYXNDb21tZW50CXN0YXJ0PSJbXi9dW14vXS9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zYXNUb2RvCgoiIFByZXZpb3VzIGNvZGUgZm9yIGNvbW1lbnRzIHdhcyB3cml0dGVuIGJ5IEJvYiBIZWNrZWwKIiBDb21tZW50cyB3aXRoICogbWF5IHRha2UgbXVsdGlwbGUgbGluZXMgKFBhdWxvIFRhbmltb3RvKQpzeW4gcmVnaW9uIHNhc0NvbW1lbnQgc3RhcnQ9IjtccypcKiJocz1zKzEgZW5kPSI7IiBjb250YWlucz1zYXNUb2RvCgoiIENvbW1lbnRzIHdpdGggKiBzdGFydGluZyBhZnRlciBhIHNlbWljb2xvbiAoUGF1bG8gVGFuaW1vdG8pCnN5biByZWdpb24gc2FzQ29tbWVudCBzdGFydD0iXlxzKlwqIiBlbmQ9IjsiIGNvbnRhaW5zPXNhc1RvZG8KCiIgVGhpcyBsaW5lIGRlZmluZXMgbWFjcm8gdmFyaWFibGVzIGluIGNvZGUuICBIaUxpbmsgYXQgZW5kIG9mIGZpbGUKIiBkZWZpbmVzIHRoZSBjb2xvciBzY2hlbWUuIEJlZ2luIHJlZ2lvbiB3aXRoIGFtcGVyc2FuZCBhbmQgZW5kIHdpdGgKIiBhbnkgbm9uLXdvcmQgY2hhcmFjdGVyIG9mZnNldCBieSAtMTsgcHV0IGFtcGVyc2FuZCBpbiB0aGUgc2tpcCBsaXN0CiIganVzdCBpbiBjYXNlIGl0IGlzIHVzZWQgdG8gY29uY2F0ZW5hdGUgbWFjcm8gdmFyaWFibGUgdmFsdWVzLgoKIiBUaGFua3MgdG8gcm9uYWxkIGj2bGx3YXJ0aCBmb3IgdGhpcyBmaXggdG8gYW4gaW50cmEtdmVyc2lvbmluZwoiIHByb2JsZW0gd2l0aCB0aGlzIGxpdHRsZSBmZWF0dXJlCgppZiB2ZXJzaW9uIDwgNjAwCiAgIHN5biByZWdpb24gc2FzTWFjcm9WYXIJc3RhcnQ9IlwmIiBza2lwPSJbXyZdIiBlbmQ9IlxXImhlPWUtMQplbHNlCQkgIiBmb3IgdGhlIG9sZGVyIFZpbSdzIGp1c3QgZG8gaXQgdGhlaXIgd2F5IC4uLgogICBzeW4gcmVnaW9uIHNhc01hY3JvVmFyCXN0YXJ0PSImIiBza2lwPSJbXyZdIiBlbmQ9IlxXImhlPWUtMQplbmRpZgoKCiIgSSBkb250IHRoaW5rIHNwZWNpZmljIFBST0NzIG5lZWQgdG8gYmUgbGlzdGVkIGlmIHVzZSB0aGlzIGxpbmUgKEJvYiBIZWNrZWwpLgpzeW4gbWF0Y2ggc2FzUHJvYwkJIl5ccypQUk9DIFx3XCsiCnN5biBrZXl3b3JkIHNhc1N0ZXAJCVJVTiBRVUlUIERBVEEKCgoiIEJhc2UgU0FTIFByb2NzIC0gdmVyc2lvbiA4LjEKCnN5biBrZXl3b3JkIHNhc0NvbmRpdGlvbmFsCURPIEVMU0UgRU5EIElGIFRIRU4gVU5USUwgV0hJTEUKCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlBQk9SVCBBUlJBWSBBVFRSSUIgQlkgQ0FMTCBDQVJEUyBDQVJEUzQgQ0FUTkFNRQpzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJQ09OVElOVUUgREFUQUxJTkVTIERBVEFMSU5FUzQgREVMRVRFIERJU1BMQVkKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CURNIERST1AgRU5EU0FTIEVSUk9SIEZJTEUgRklMRU5BTUUgRk9PVE5PVEUKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUZPUk1BVCBHT1RPIElORklMRSBJTkZPUk1BVCBJTlBVVCBLRUVQCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlMQUJFTCBMRUFWRSBMRU5HVEggTElCTkFNRSBMSU5LIExJU1QgTE9TVENBUkQKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CU1FUkdFIE1JU1NJTkcgTU9ESUZZIE9QVElPTlMgT1VUUFVUIFBBR0UKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CVBVVCBSRURJUkVDVCBSRU1PVkUgUkVOQU1FIFJFUExBQ0UgUkVUQUlOCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVRVUk4gU0VMRUNUIFNFVCBTS0lQIFNUQVJUU0FTIFNUT1AgVElUTEUKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CVVQREFURSBXQUlUU0FTIFdIRVJFIFdJTkRPVyBYIFNZU1RBU0sKCiIgS2V5d29yZHMgdGhhdCBhcmUgdXNlZCBpbiBQcm9jIFNRTAoiIEkgbGVmdCB0aGVtIGFzIHN0YXRlbWVudHMgYmVjYXVzZSBTQVMncyBlbmhhbmNlZCBlZGl0b3IgaGlnaGxpZ2h0cwoiIHRoZW0gdGhlIHNhbWUgYXMgbm9ybWFsIHN0YXRlbWVudHMgdXNlZCBpbiBkYXRhIHN0ZXBzIChKaW0gS2lkZCkKCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlBREQgQU5EIEFMVEVSIEFTIENBU0NBREUgQ0hFQ0sgQ1JFQVRFCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlERUxFVEUgREVTQ1JJQkUgRElTVElOQ1QgRFJPUCBGT1JFSUdOCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlGUk9NIEdST1VQIEhBVklORyBJTkRFWCBJTlNFUlQgSU5UTyBJTgpzeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJS0VZIExJS0UgTUVTU0FHRSBNT0RJRlkgTVNHVFlQRSBOT1QKc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CU5VTEwgT04gT1IgT1JERVIgUFJJTUFSWSBSRUZFUkVOQ0VTCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVNFVCBSRVNUUklDVCBTRUxFQ1QgU0VUIFRBQkxFCnN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlVTklRVUUgVVBEQVRFIFZBTElEQVRFIFZJRVcgV0hFUkUKCiIgTWF0Y2ggZGVjbGFyYXRpb25zIGhhdmUgdG8gYXBwZWFyIG9uZSBwZXIgbGluZSAoUGF1bG8gVGFuaW1vdG8pCnN5biBtYXRjaCBzYXNTdGF0ZW1lbnQJIkZPT1ROT1RFXGQiCnN5biBtYXRjaCBzYXNTdGF0ZW1lbnQJIlRJVExFXGQiCgoiIE1hdGNoIGRlY2xhcmF0aW9ucyBoYXZlIHRvIGFwcGVhciBvbmUgcGVyIGxpbmUgKFBhdWxvIFRhbmltb3RvKQpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVCUVVPVEUiCnN5biBtYXRjaCBzYXNNYWNybyAiJU5SQlFVT1RFIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVDTVBSRVMiCnN5biBtYXRjaCBzYXNNYWNybyAiJVFDTVBSRVMiCnN5biBtYXRjaCBzYXNNYWNybyAiJUNPTVBTVE9SIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVEQVRBVFlQIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVESVNQTEFZIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVETyIKc3luIG1hdGNoIHNhc01hY3JvICIlRUxTRSIKc3luIG1hdGNoIHNhc01hY3JvICIlRU5EIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVFVkFMIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVHTE9CQUwiCnN5biBtYXRjaCBzYXNNYWNybyAiJUdPVE8iCnN5biBtYXRjaCBzYXNNYWNybyAiJUlGIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVJTkRFWCIKc3luIG1hdGNoIHNhc01hY3JvICIlSU5QVVQiCnN5biBtYXRjaCBzYXNNYWNybyAiJUtFWURFRiIKc3luIG1hdGNoIHNhc01hY3JvICIlTEFCRUwiCnN5biBtYXRjaCBzYXNNYWNybyAiJUxFRlQiCnN5biBtYXRjaCBzYXNNYWNybyAiJUxFTkdUSCIKc3luIG1hdGNoIHNhc01hY3JvICIlTEVUIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVMT0NBTCIKc3luIG1hdGNoIHNhc01hY3JvICIlTE9XQ0FTRSIKc3luIG1hdGNoIHNhc01hY3JvICIlTUFDUk8iCnN5biBtYXRjaCBzYXNNYWNybyAiJU1FTkQiCnN5biBtYXRjaCBzYXNNYWNybyAiJU5SQlFVT1RFIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVOUlFVT1RFIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVOUlNUUiIKc3luIG1hdGNoIHNhc01hY3JvICIlUFVUIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVRQ01QUkVTIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVRTEVGVCIKc3luIG1hdGNoIHNhc01hY3JvICIlUUxPV0NBU0UiCnN5biBtYXRjaCBzYXNNYWNybyAiJVFTQ0FOIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVRU1VCU1RSIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVRU1lTRlVOQyIKc3luIG1hdGNoIHNhc01hY3JvICIlUVRSSU0iCnN5biBtYXRjaCBzYXNNYWNybyAiJVFVT1RFIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVRVVBDQVNFIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTQ0FOIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTVFIiCnN5biBtYXRjaCBzYXNNYWNybyAiJVNVQlNUUiIKc3luIG1hdGNoIHNhc01hY3JvICIlU1VQRVJRIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNDQUxMIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNFVkFMRiIKc3luIG1hdGNoIHNhc01hY3JvICIlU1lTRVhFQyIKc3luIG1hdGNoIHNhc01hY3JvICIlU1lTRlVOQyIKc3luIG1hdGNoIHNhc01hY3JvICIlU1lTR0VUIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNMUFVUIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNQUk9EIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNSQyIKc3luIG1hdGNoIHNhc01hY3JvICIlU1lTUlBVVCIKc3luIG1hdGNoIHNhc01hY3JvICIlVEhFTiIKc3luIG1hdGNoIHNhc01hY3JvICIlVE8iCnN5biBtYXRjaCBzYXNNYWNybyAiJVRSSU0iCnN5biBtYXRjaCBzYXNNYWNybyAiJVVOUVVPVEUiCnN5biBtYXRjaCBzYXNNYWNybyAiJVVOVElMIgpzeW4gbWF0Y2ggc2FzTWFjcm8gIiVVUENBU0UiCnN5biBtYXRjaCBzYXNNYWNybyAiJVZFUklGWSIKc3luIG1hdGNoIHNhc01hY3JvICIlV0hJTEUiCnN5biBtYXRjaCBzYXNNYWNybyAiJVdJTkRPVyIKCiIgU0FTIEZ1bmN0aW9ucwoKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQUJTIEFERFIgQUlSWSBBUkNPUyBBUlNJTiBBVEFOIEFUVFJDIEFUVFJOCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUJBTkQgQkVUQUlOViBCTFNISUZUIEJOT1QgQk9SIEJSU0hJRlQgQlhPUgpzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglCWVRFIENERiBDRUlMIENFWElTVCBDSU5WIENMT1NFIENOT05DVCBDT0xMQVRFCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUNPTVBCTCBDT01QT1VORCBDT01QUkVTUyBDT1MgQ09TSCBDU1MgQ1VST0JTCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUNWIERBQ0NEQiBEQUNDREJTTCBEQUNDU0wgREFDQ1NZRCBEQUNDVEFCCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCURBSVJZIERBVEUgREFURUpVTCBEQVRFUEFSVCBEQVRFVElNRSBEQVkKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRENMT1NFIERFUERCIERFUERCU0wgREVQREJTTCBERVBTTCBERVBTTApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglERVBTWUQgREVQU1lEIERFUFRBQiBERVBUQUIgREVRVU9URSBESE1TCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCURJRiBESUdBTU1BIERJTSBESU5GTyBETlVNIERPUEVOIERPUFROQU1FCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCURPUFROVU0gRFJFQUQgRFJPUE5PVEUgRFNOQU1FIEVSRiBFUkZDIEVYSVNUCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUVYUCBGQVBQRU5EIEZDTE9TRSBGQ09MIEZERUxFVEUgRkVUQ0ggRkVUQ0hPQlMKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRkVYSVNUIEZHRVQgRklMRUVYSVNUIEZJTEVOQU1FIEZJTEVSRUYgRklORk8Kc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRklOViBGSVBOQU1FIEZJUE5BTUVMIEZJUFNUQVRFIEZMT09SIEZOT05DVApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGTk9URSBGT1BFTiBGT1BUTkFNRSBGT1BUTlVNIEZQT0lOVCBGUE9TCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUZQVVQgRlJFQUQgRlJFV0lORCBGUkxFTiBGU0VQIEZVWlogRldSSVRFCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUdBTUlOViBHQU1NQSBHRVRPUFRJT04gR0VUVkFSQyBHRVRWQVJOIEhCT1VORApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglITVMgSE9TVEhFTFAgSE9VUiBJQkVTU0VMIElOREVYIElOREVYQwpzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglJTkRFWFcgSU5QVVQgSU5QVVRDIElOUFVUTiBJTlQgSU5UQ0sgSU5UTlgKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JSU5UUlIgSVJSIEpCRVNTRUwgSlVMREFURSBLVVJUT1NJUyBMQUcgTEJPVU5ECnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUxFRlQgTEVOR1RIIExHQU1NQSBMSUJOQU1FIExJQlJFRiBMT0cgTE9HMTAKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTE9HMiBMT0dQREYgTE9HUE1GIExPR1NERiBMT1dDQVNFIE1BWCBNRFkKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTUVBTiBNSU4gTUlOVVRFIE1PRCBNT05USCBNT1BFTiBNT1JUIE4Kc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTkVUUFYgTk1JU1MgTk9STUFMIE5PVEUgTlBWIE9QRU4gT1JESU5BTApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQQVRITkFNRSBQREYgUEVFSyBQRUVLQyBQTUYgUE9JTlQgUE9JU1NPTiBQT0tFCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVBST0JCRVRBIFBST0JCTk1MIFBST0JDSEkgUFJPQkYgUFJPQkdBTQpzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQUk9CSFlQUiBQUk9CSVQgUFJPQk5FR0IgUFJPQk5PUk0gUFJPQlQgUFVUCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVBVVEMgUFVUTiBRVFIgUVVPVEUgUkFOQklOIFJBTkNBVSBSQU5FWFAKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUkFOR0FNIFJBTkdFIFJBTksgUkFOTk9SIFJBTlBPSSBSQU5UQkwgUkFOVFJJCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVJBTlVOSSBSRVBFQVQgUkVTT0xWRSBSRVZFUlNFIFJFV0lORCBSSUdIVApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglST1VORCBTQVZJTkcgU0NBTiBTREYgU0VDT05EIFNJR04gU0lOIFNJTkgKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JU0tFV05FU1MgU09VTkRFWCBTUEVESVMgU1FSVCBTVEQgU1RERVJSIFNURklQUwpzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTVE5BTUUgU1ROQU1FTCBTVUJTVFIgU1VNIFNZTUdFVCBTWVNHRVQgU1lTTVNHCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVNZU1BST0QgU1lTUkMgU1lTVEVNIFRBTiBUQU5IIFRJTUUgVElNRVBBUlQKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVElOViBUTk9OQ1QgVE9EQVkgVFJBTlNMQVRFIFRSQU5XUkQgVFJJR0FNTUEKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVFJJTSBUUklNTiBUUlVOQyBVTklGT1JNIFVQQ0FTRSBVU1MgVkFSCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZBUkZNVCBWQVJJTkZNVCBWQVJMQUJFTCBWQVJMRU4gVkFSTkFNRQpzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWQVJOVU0gVkFSUkFZIFZBUlJBWVggVkFSVFlQRSBWRVJJRlkgVkZPUk1BVApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWRk9STUFURCBWRk9STUFURFggVkZPUk1BVE4gVkZPUk1BVE5YIFZGT1JNQVRXCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZGT1JNQVRXWCBWRk9STUFUWCBWSU5BUlJBWSBWSU5BUlJBWVggVklORk9STUFUCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZJTkZPUk1BVEQgVklORk9STUFURFggVklORk9STUFUTiBWSU5GT1JNQVROWApzeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWSU5GT1JNQVRXIFZJTkZPUk1BVFdYIFZJTkZPUk1BVFggVkxBQkVMCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZMQUJFTFggVkxFTkdUSCBWTEVOR1RIWCBWTkFNRSBWTkFNRVggVlRZUEUKc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVlRZUEVYIFdFRUtEQVkgWUVBUiBZWVEgWklQRklQUyBaSVBOQU1FIFpJUE5BTUVMCnN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVpJUFNUQVRFCgoiIEhhbmR5IHNldHRpbmdzIGZvciB1c2luZyB2aW0gd2l0aCBsb2cgZmlsZXMKc3luIGtleXdvcmQgc2FzTG9nTXNnCU5PVEUKc3luIGtleXdvcmQgc2FzV2Fybk1zZwlXQVJOSU5HCnN5biBrZXl3b3JkIHNhc0Vyck1zZwlFUlJPUgoKIiBBbHdheXMgY29udGFpbmVkIGluIGEgY29tbWVudCAoQm9iIEhlY2tlbCkKc3luIGtleXdvcmQgc2FzVG9kbwlUT0RPIFRCRCBGSVhNRSBjb250YWluZWQKCiIgVGhlc2UgZG9uJ3QgZml0IGFueXdoZXJlIGVsc2UgKEJvYiBIZWNrZWwpLgoiIEFkZGVkIG90aGVycyB0aGF0IHdlcmUgbWlzc2luZy4Kc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9BTExfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZSAiX0FVVE9NQVRJQ18iCnN5biBtYXRjaCBzYXNVbmRlcnNjb3JlCSJfQ0hBUkFDVEVSXyIKc3luIG1hdGNoIHNhc1VuZGVyc2NvcmUJIl9JTkZJTEVfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX05fIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZSAiX05BTUVfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX05VTExfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX05VTUVSSUNfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZSAiX1VTRVJfIgpzeW4gbWF0Y2ggc2FzVW5kZXJzY29yZQkiX1dFQk9VVF8iCgoiIEVuZCBvZiBTQVMgRnVuY3Rpb25zCgoiICBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgoiICBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CiIgIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CgppZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2FzX3N5bnRheF9pbml0cyIpCiAgIGlmIHZlcnNpb24gPCA1MDgKICAgICAgbGV0IGRpZF9zYXNfc3ludGF4X2luaXRzID0gMQogICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgogICBlbHNlCiAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogICBlbmRpZgoKICAgIiBEZWZhdWx0IHNhcyBlbmhhbmNlZCBlZGl0b3IgY29sb3Igc3ludGF4CgloaSBzQ29tbWVudAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9RGFya0dyZWVuIGd1aWJnPVdoaXRlCgloaSBzQ2FyZAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUJsYWNrIGN0ZXJtYmc9WWVsbG93IGd1aT1OT05FIGd1aWZnPUJsYWNrIGd1aWJnPUxpZ2h0WWVsbG93CgloaSBzRGF0ZV9UaW1lCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQoJaGkgc0tleXdvcmQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbHVlICBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPUJsdWUgZ3VpYmc9V2hpdGUKCWhpIHNGbXRJbmZtdAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUxpZ2h0R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQoJaGkgc1N0cmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPU1hZ2VudGEgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1QdXJwbGUgZ3VpYmc9V2hpdGUKCWhpIHNUZXh0CXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1CbGFjayBndWliZz1XaGl0ZQoJaGkgc051bWJlcgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKCWhpIHNQcm9jCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKCWhpIHNTZWN0aW9uCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKCWhpIG1EZWZpbmUJdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCgloaSBtS2V5d29yZAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCgloaSBtUmVmZXJlbmNlCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCgloaSBtU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCgloaSBtVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKCiIgQ29sb3JzIHRoYXQgY2xvc2VseSBtYXRjaCBTQVMgbG9nIGNvbG9ycyBmb3IgZGVmYXVsdCBjb2xvciBzY2hlbWUKCWhpIGxFcnJvcgl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVJlZCBjdGVybWJnPUJsYWNrIGd1aT1ub25lIGd1aWZnPVJlZCBndWliZz1XaGl0ZQoJaGkgbFdhcm5pbmcJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1HcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1ub25lIGd1aWZnPUdyZWVuIGd1aWJnPVdoaXRlCgloaSBsTm90ZQl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUN5YW4gY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCgoKICAgIiBTcGVjaWFsIGhpbGlnaHRpbmcgZm9yIHRoZSBTQVMgcHJvYyBzZWN0aW9uCgoJSGlMaW5rCXNhc0NvbW1lbnQJc0NvbW1lbnQKCUhpTGluawlzYXNDb25kaXRpb25hbAlzS2V5d29yZAoJSGlMaW5rCXNhc1N0ZXAJCXNTZWN0aW9uCglIaUxpbmsJc2FzRnVuY3Rpb24Jc0tleXdvcmQKCUhpTGluawlzYXNNYWNybwltS2V5d29yZAoJSGlMaW5rCXNhc01hY3JvVmFyCU5vblRleHQKCUhpTGluawlzYXNOdW1iZXIJc051bWJlcgoJSGlMaW5rCXNhc1N0YXRlbWVudAlzS2V5d29yZAoJSGlMaW5rCXNhc1N0cmluZwlzU3RyaW5nCglIaUxpbmsJc2FzUHJvYwkJc1Byb2MKICAgIiAoQm9iIEhlY2tlbCkKCUhpTGluawlzYXNUb2RvCQlUb2RvCglIaUxpbmsJc2FzRXJyTXNnCWxFcnJvcgoJSGlMaW5rCXNhc1dhcm5Nc2cJbFdhcm5pbmcKCUhpTGluawlzYXNMb2dNc2cJbE5vdGUKCUhpTGluawlzYXNDYXJkcwlzQ2FyZAogICIgKEJvYiBIZWNrZWwpCglIaUxpbmsJc2FzVW5kZXJzY29yZQlQcmVQcm9jCglkZWxjb21tYW5kIEhpTGluawplbmRpZgoKIiBTeW5jcm9uaXplIGZyb20gYmVnaW5uaW5nIHRvIGtlZXAgbGFyZ2UgYmxvY2tzIGZyb20gbG9zaW5nCiIgc3ludGF4IGNvbG9yaW5nIHdoaWxlIG1vdmluZyB0aHJvdWdoIGNvZGUuCnN5biBzeW5jIGZyb21zdGFydAoKbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2FzIgoKIiB2aW06IHRzPTgK