UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCvUgICAgIG5vblJlcHVkaWF0aW9uICAgICAgICAgICgxKSwKICAgICBrZXlFbmNpcGhlcm1lbnQgICAgICAgICAoMiksCiAgICAgZGF0YUVuY2lwaGVybWVudCAgICAgICAgKDMpLAogICAgIGtleUFncmVlbWVudCAgICAgICAgICAgICg0KSwKICAgICBrZXlDZXJ0U2lnbiAgICAgZiBwcmVzZW50LCB2ZXJzaW9uIHNoYWxsIGJlIHYzIC0tCn0KVmVyc2lvbiAgOjo9ICBJTlRFR0VSICB7ICB2MSgwKSwgdjIoMSksIHYzKDIpICB9CkNlcnRpZmljYXRlU2VyU2FmZQlwa2NzLTctQ29udGVudEluZm8sCgltYWNEYXRhCQlwa2NzLTEyLU1hY0RhdGEgT1BUSU9OQUwKfQpwa2NzLTEyLVBiZVBhcmFtcyA6Oj0gU0VRVUVOQ0UgewoJc2FsdAlPQ1RFVCBTVFJJTkcsCglpdGVyYXRpb25zIElOVEVHRVIKfQpwa2NzLTEyLU1hY0RhdGEgOjo9IFNFUVVFTkNFIHsKCW1hYwkJcGtjcy03LURpZ2VzdEluZm8sCgltYWNTYWx0CSAgICAgICAgT0NURVQgU1RSSU5HLAoJaXRlcmF0aW9ucwlJTlRFR0VSIERFRkFVTFQgMQp9CnBrY3MtMTItQXV0aGVudGljYXRlZFNhZmUgOjo9IFNFUVVFTkNFIE9GIHBrY3MtNy1Db250ZW50SW5mbwoJLS0gRGF0YSBpZiB1bmVuY3J5cHRlZAoJLS0gRW5jcnlwdGVkRGF0YSBpZiBwYXNzd29yZC1lbmNyeXB0ZWQKCS0tIEVudmVsb3AgIHByZiBBbGdvcml0aG1JZGVudGlmaWVyIE9QVElPTkFMIC0tIERFRkFVTFQgcGtjcy01LWlkLWhtYWNXaXRoU0hBMQp9CnBrY3MtMTIJT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzIDEyfQpwa2NzLTEyLVBGWCA6Oj0gU0VRVUVOQ0UgewoJdmVyc2lvbgkJSU5URUdFUiB7djMoMyl9LAoJYXV0aFNhZmUJcGtjcy03LUNvbnRlbnRJbmZvLAoJbWFjRGF0YQkJcGtjcy0xMi1NYWNEYXRhIE9QVElPTkFMCn0KcGtjcy0xMi1QYmVQYXJhbXMgOjo9IFNFUVVFTkNFIHsKCXNhbHQJT0NURVQgU1RSSU5HLAoJaXRlcmF0aW9ucyBJTlRFR0VSCn0KcGtjcy0xMi1NYWNEYXRhIDo6PSBTRVFVRU5DRSB7CgltYWMJCXBrY3MtNy1EaWdlc3RJbmZvLAoJbWFjU2FsdAkgICAgICAgIE9DVEVUIFNUUklORywKCWl0ZXJhdGlvbnMJSU5URUdFUiBERUZBVUxUIDEKfQpwa2NzLTEyLUF1dGhlbnRpY2F0ZWRTYWZlIDo6PSBTRVFVRU5DRSBPRiBwa2NzLTctQ29udGVudEluZm8KCS0tIERhdGEgaWYgdW5lbmNyeXB0ZWQKCS0tIEVuY3J5cHRlZERhdGEgaWYgcGFzc3dvcmQtZW5jcnlwdGVkCgktLSBFbnZlbG9wZWREYXRhIGlmIHB1YmxpYyBrZXktZW5jcnlwdGVkCnBrY3MtMTItU2FmZUNvbnRlbnRzIDo6PSBTRVFVRU5DRSBPRiBwa2NzLTEyLVNhZmVCYWcKcGtjcy0xMi1TYWZlQmFnIDo6PSBTRVFVRU5DRSB7CgliYWdJZAkJT0JKRUNUIElERU5USUZJRVIsCgliYWdWYWx1ZQlbMF0gRVhQTElDSVQgQU5ZIERFRklORUQgQlkgYmFkSWQsCgliYWdBdHRyaWJ1dGVzCVNFVCBPRiBwa2NzLTEyLVBLQ1MxMkF0dHJpYnV0ZSBPUFRJT05BTAp9CnBrY3MtMTItYmFndHlwZXMgT0JKRUNUIElERU5USUZJRVIgC106Oj0ge3BrY3MtMTIgMTAgMX0KcGtjcy0xMi1rZXlCYWcgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTEyLWJhZ3R5cGVzIDF9CnBrY3MtMTItcGtjczhTaHJvdWRlZEtleUJhZyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtMTItYmFndHlwZXMgMn0KcGtjcy0xMi1jZXJ0QmFnIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy0xMi1iYWd0eXBlcyAzfQpwa2NzLTEyLWNybEJhZyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtMTItYmFndHlwZXMgNH0KcGtjcy0xMi1LZXlCYWcgOjo9IHBrY3MtOC1Qcml2YXRlS2V5SW5mbwpwa2NzLTEyLVBLQ1M4U2hyb3VkZWRLZXlCYWcgOjo9IHBrY3MtOC1FbmNyeXB0ZWRQcml2YXRlS2V5SW5mbwpwa2NzLTEyLUNlcnRCYWcgOjo9IFNFUVVFTkNFIHsKCWNlcnRJZCAgICBPQkpFQ1QgSURFTlRJRklFUiwKCWNlcnRWYWx1ZSBbMF0gRVhQTElDSVQgQU5ZIERFRknORUQgQlkgY2VydElkCn0KcGtjcy0xMi1DUkxCYWcgOjo9IFNFUVVFTkNFIHsKCWNybElkCQlPQkpFQ1QgSURFTlRJRklFUiwKCWNybFZhbHVlCVswXSBFWFBMSUNJVCBBTlkgREVGSU5FRCBCWSBjcmxJZAp9CnBrY3MtMTItUEtDUzEyQXR0cmlidXRlIDo6PSBBdHRyaWJ1dGUKcGtjcy03LURhdGEgOjo9IE9DVEVUIFNUUklORwpwa2NzLTctRW5jcnlwdGVkRGF0fQpwa2NzLTEyLUF1dGhlbnRpY2F0ZWRTYWZlIDo6PSBTRVFVRU5DRSBPRiBwa2NzLTctQ29udGVudEluZm8KCS0tIERhdGEgaWYgdW5lbmNyeXB0ZWQKCS0tIEVuY3J5cHRlZERhdGEgaWYgcGFzc3dvcmQtZW5jcnlwdGVkCgktLSBFbnZlbG9wICBwcmYgQWxnb3JpdGhtSWRlbnRpZmllciBPUFRJT05BTCAtLSBERUZBVUxUIHBrY3MtNS1pZC1obWFjV2l0aFNIQTEKfQpwa2NzLTEyCU9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcyAxMn0KcGtjcy0xMi1QRlggOjo9IFNFUVVFTkNFIHsKCXZlcnNpb24JCUlOVEVHRVIge3YzKDMpfSwKCWF1dGhTYWZlCXBrY3MtNy1Db250ZW50SW5mbywKCW1hY0RhdGEJCXBrY3MtMTItTWFjRGF0YSBPUFRJT05BTAp9CnBrY3MtMTItUGJlUGFyYW1zIDo6PSBTRVFVRU5DRSB7CglzYWx0CU9DVEVUIFNUUklORywKCWl0ZXJhdGlvbnMgSU5URUdFUgp9CnBrY3MtMTItTWFjRGF0YSA6Oj0gU0VRVUVOQ0UgewoJbWFjCQlwa2NzLTctRGlnZXN0SW5mbywKCW1hY1NhbHQJICAgICAgICBPQ1RFVCBTVFJJTkcsCglpdGVyYXRpb25zCUlOVEVHRVIgREVGQVVMVCAxCn0KcGtjcy0xMi1BdXRoZW50aWNhdGVkU2FmZSA6Oj0gU0VRVUVOQ0UgT0YgcGtjcy03LUNvbnRlbnRJbmZvCgktLSBEYXRhIGlmIHVuZW5jcnlwdGVkCgktLSBFbmNyeXB0ZWREYXRhIGlmIHBhc3N3b3JkLWVuY3J5cHRlZAoJLS0gRW52ZWxvcGVkRGF0YSBpZiBwdWJsaWMga2V5LWVuY3J5cHRlZApwa2NzLTEyLVNhZmVDb250ZW50cyA6Oj0gU0VRVUVOQ0UgT0YgcGtjcy0xMi1TYWZlQmFnCnBrY3MtMTItU2FmZUJhZyA6Oj0gU0VRVUVOQ0UgewoJYmFnSWQJCU9CSkVDVCBJREVOVElGSUVSLAoJYmFnVmFsdWUJWzBdIEVYUExJQ0lUIEFOWSBERUZJTkVEIEJZIGJhZElkLAoJYmFnQXR0cmlidXRlcwlTRVQgT0YgcGtjcy0xMi1QS0NTMTJBdHRyaWJ1dGUgT1BUSU9OQUwKfQpwa2NzLTEyLWJhZ3R5cGVzIE9CSkVDVCBJREVOVElGSUVSIAtdOjo9IHtwa2NzLTEyIDEwIDF9CnBrY3MtMTIta2V5QmFnIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy0xMi1iYWd0eXBlcyAxfQpwa2NzLTEyLXBrY3M4U2hyb3VkZWRLZXlCYWcgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTEyLWJhZ3R5cGVzIDJ9CnBrY3MtMTItY2VydEJhZyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtMTItYmFndHlwZXMgM30KcGtjcy0xMi1jcmxCYWcgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTEyLWJhZ3R5cGVzIDR9CnBrY3MtMTItS2V5QmFnIDo6PSBwa2NzLTgtUHJpdmF0ZUtleUluZm8KcGtjcy0xMi1QS0NTOFNocm91ZGVkS2V5QmFnIDo6PSBwa2NzLTgtRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8KcGtjcy0xMi1DZXJ0QmFnIDo6PSBTRVFVRU5DRSB7CgljZXJ0SWQgICAgT0JKRUNUIElERU5USUZJRVIsCgljZXJ0VmFsdWUgWzBdIEVYUExJQ0lUIEFOWSBERUZJzkVEIEJZIGNlcnRJZAp9CnBrY3MtMTItQ1JMQmFnIDo6PSBTRVFVRU5DRSB7CgljcmxJZAkJT0JKRUNUIElERU5USUZJRVIsCgljcmxWYWx1ZQlbMF0gRVhQTElDSVQgQU5ZIERFRklORUQgQlkgY3JsSWQKfQpwa2NzLTEyLVBLQ1MxMkF0dHJpYnV0ZSA6Oj0gQXR0cmlidXRlCnBrY3MtNy1EYXRhIDo6PSBPQ1RFVCBTVFJJTkcKcGtjcy03LUVuY3J5cHRlZERhdGEgOjo9IFNFUVVFTkNFIHsKICAgIHZlcnNpb24gSU5URUdFUiwKICAgIGVuY3J5cHRlZENvbnRlbnRJbmZvIHBrY3MtNy1FbmNyeXB0ZWRDb250ZW50SW5mbywKICAgIHVucHJvdGVjdGVkQXR0cnMgWzFdIElNUExJQ0lUIHBrY3MtNy1VbnByb3RlY3RlZEF0dHJpYnV0ZXMgT1BUSU9OQUwgfQpwa2NzLTctRW5jcnlwdGVkQ29udGVudEluZm8gOjo9IFNFUVVFTkNFIHsKICAgIGNvbnRlbnRUeXBlIE9CSkVDVCBJREVOVElGSUVSLAogICAgY29uIE9QVElPTkFMLAoJcHJveHlQb2xpY3kJCVByb3h5UG9saWN5IH0KUHJveHlQb2xpY3kgOjo9IFNFUVVFTkNFIHsKCXBvbGljeUxhbmd1YWdlCU9CSkVDVCBJREVOVElGSUVSLAogICAgICAgIHBvbGljeQkJT0NURVQgU1RSSU5HIE9QVElPTkFMIH0KaWQtb24gIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLXBraXggOCB9ICAtLSBvdGhlciBuYW1lIGZvcm1zCmlkLW9uLXhtcHBBZGRyIFsgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQtb24gNSB9ClhtcHBBZGRyIDo6PSBVVEY4U3RyaW5nCkJhc2ljT0NTUFJlc3BvbnNlICAgICAgIDo6PSBTRVFVRU5DRSB7CiAgIHRic1Jlc3BvbnNlRGF0YSAgICAgIFJlc3BvbnNlRGF0YSwKICAgc2lnbmF0dXJlQWxnb3JpdGhtICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgc2lnbmF0dXJlICAgICAgICAgICAgQklUIFNUUklORywKICAgY2VydHMgICAgICAgICAgICAgICAgWzBdIEVYUExJQ0lUIFNFUVVFTkNFIE9GIENlcnRpZmljYXRlIE9QVElPTkFMIH0KUmVzcG9uc2VEYXRhIDo6PSBTRVFVRU5DRSB7CiAgIHZlcnNpb24gICAgICAgICAgICAgIFswXSBFWFBMSUNJVCBJTlRFR0VSIERFRkFVTFQgMCwKICAgcmVzcG9uZGVySUQgICAgICAgICAgICAgIFJlc3BvbmRlcklELAogICBwcm9kdWNlZEF0ICAgICAgICAgICAgICAgR2VuZXJhbGl6ZWRUaW1lLAogICByZXNwb25zZXMgICAgICAgICAgICAgICAgU0VRVUVOQ0UgT0YgU2luZ2xlUmVzcG9uc2UsCiAgIHJlc3BvbnNlRXh0ZW5zaW9ucyAgIFsxXSBFWFBMSUNJVCBFeHRlbnNpb25zIElDRSB7CiAgIGJ5TmFtZSAgIFsxXSBFWFBMSUNJVCBSRE5TZXF1ZW5jZSwgLS1OYW1lCiAgIGJ5S2V5ICAgIFsyXSBFWFBMSUNJVCBPQ1RFVCBTVFJJTkcgLS1TSEEtMSBoYXNoIG9mIFNlcmlhbE51bWJlciB9CkNlcnRTdGF0dXMgOjo9IENIT0lDRSB7CiAgICBnb29kICAgICAgICAgICAgICAgIFswXSAgICAgSU1QTElDSVQgTlVMTCwKICAgIHJldm9rZWQgICAgICAgICAgICAgWzFdICAgICBJTVBMSUNJVCBSZXZva2VkSW5mbywKICAgIHVua25vd24=