UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlcgppZC1jZS1rZXlVc2FnZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTUgfQpLZXlVc2FnZSA6Oj0gQklUIFNUUklORyB7CiAgICAgZGlnaXRhbFNpZ25hdHVyZSAgICAgICAgKDApLAogICAgIG5vblJlcHVkaWF0aW9uICAgICAgICAgICgxKSwKICAgICBrZXlFbmNpcGhlcm1lbnQgICAgICAgICAoMiksCiAgICAgZGF0YUVuY2lwaGVybWVudCAgICAgICAgKDMpLAogICAgIGtleUFncmVlbWVudCAgICAgICAgICAgICg0KSwKICAgICBrZXlDZXJ0U2lnbiAgICAgZiBwcmVzZW50LCB2ZXJzaW9uIHNoYWxsIGJlIHYxIGFkZHJlc3MgSU5URUdFUiA6Oj0gMTkKUG9zdGVSZXN0YW50ZUFkZHJlc3MgOjo9IFBEU1BhcmFtZXRlcgp1bmlxdWUtcG9zdGFsLW5hbWUgSU5URUdFUiA6Oj0gMjAKVW5pcXVlUG9rY3MtOSAyMH0KcGtjcy05LWZyaWVuZGx5TmFtZSA6Oj0gQk1QU3RyaW5nICAgcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2UKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyksCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtleUNlcnRTaWduICAgIOGaWQAAAAAAbnQsIHZlcnNpb24gc2hhbGwgYmUgdjMgLS0KfQpWZXJzaW9uICA6Oj0gIElOVEVHRVIgIHsgIHYxKDApLCB2MigxKSwgdjMoMikgIH0KQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIDo6PSAgSU5URUdFUgpWYWxpZGl0eSA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdEJlZm9yZSAgICAgIFRpbWUsCiAgICAgbm90QWZ0ZXIgICAgICAgVGltZSB9ClRpbWUgOjo9IENIT0lDRSB7CiAgICAgdXRjVGltZSAgICAgICAgVVRDVGltZSwKICAgICBnZW5lcmFsVGltZSAgICBHZW5lcmFsaXplZFRpbWUgfQpVbmlxdWVJZGVudGlmaWVyICA6Oj0gIEJJVCBTVFJhbGwgYmUgdjEgYWRkcmVzcyBJTlRFR0VSIDo6PSAxOQpQb3N0ZVJlc3RhbnRlQWRkcmVzcyA6Oj0gUERTUGFyYW1ldGVyCnVuaXF1ZS1wb3N0YWwtbmFtZSBJTlRFR0VSIDo6PSAyMApVbmlxdWVQb2tjcy05IDIwfQpwa2NzLTktZnJpZW5kbHlOYW1lIDo6PSBCTVBTdHJpbmcgICByaXR5Q2VydElzc3VlciAgICAgICBbMV0gR2VuZXJhbE5hbWVzICAgICAgICAgICAgIE9QVElPTkFMLAogICAgICBhdXRob3JpdHlDZXJ0U2VyaWFsTnVtYmVyIFsyXSBDZQogICAgIGRhdGFFbmNpcGhlcm1lbnQgICAgICAgICgzKSwKICAgICBrZXlBZ3JlZW1lbnQgICAgICAgICAgICAoNCksCiAgICAga2V5Q2VydFNpZ24gICAg4ZpZAAAAAABudCwgdmVyc2lvbiBzaGFsbCBiZSB2MyAtLQp9ClZlcnNpb24gIDo6PSAgSU5URUdFUiAgeyAgdjEoMCksIHYyKDEpLCB2MygyKSAgfQpDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlciAgOjo9ICBJTlRFR0VSClZhbGlkaXR5IDo6PSBTRVFVRU5DRSB7CiAgICAgbm90QmVmb3JlICAgICAgVGltZSwKICAgICBub3RBZnRlciAgICAgICBUaW1lIH0KVGltZSA6Oj0gQ0hPSUNFIHsKICAgICB1dGNUaW1lICAgICAgICBVVENUaW1lLAogICAgIGdlbmVyYWxUaW1lICAgIEdlbmVyYWxpemVkVGltZSB9ClVuaXF1ZUlkZW50aWZpZXIgIDo6PSAgQklUIFNUUklORwpTdWJqZWN0UHVibGljS2V5SW5mbyAgOjo9ICBTRVFVRU5DRSAgewogICAgIGFsZ29yaXRobSAgICAgICAgICAgIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICAgc3ViamVjdFB1YmxpY0tleSAgICAgQklUIFNUUklORyAgfQpFeHRlbnNpb25zICA6Oj0gIFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgRXh0ZW5zaW9uCkV4dGVuc2lvbiAgOjo9ICBTRVFVRU5DRSAgewogICAgIGV4dG5JRCAgICAgIE9CSkVDVCBJREVOVElGSUVSLAogICAgIGNyaXRpY2FsICAgIEJPT0xFQU4gREVGQVVMVCBGQUxTRSwKICAgICBleHRuVmFsdWUgICBPQ1RFVCBTVFJJTkcgIH0KQ2VydGlmaWNhdGVMaXN0ICA6Oj0gIFNFUVVFTkNFICBJTlRFR0VSIHt2MSgwKX0KcGtjcy04LVByaXZhdGVLZXkgOjo9IE9DVEVUIFNUUklORwpwa2NzLTgtQXR0cmlidXRlcyA6Oj0gU0VUIE9GIEF0dHJpYnV0ZQpwa2NzLTgtRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8gOjo9IFNFUVVFTkNFIHsKICAgIGVuY3J5cHRpb25BbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllciwKICAgIGVuY3J5cHRlZERhdGEgcGtjcy04LUVuY3J5cHRlZERhdGEKfQpwa2NzLTgtRW5jcnlwdGVkRGF0YSA6Oj0gT0NURVQgU1RSSU5HCnBrY3MtNSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgcGtjcyA1IH0KcGtjcy01LWVuY3J5cHRpb25BbGdvcml0aG0gT0JKRUNUIElERU5USUZJRVIgOjo9CiAgICAgICB7IGlzbygwKSBtZW1iZXItYm9keSgyKSB1cyg4NDApIHJzYWRzaSgxMTM1NDkpIDMgfQpwa2NzLTUtZGVzLUVERTMtQ0JDIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy01LWVuY3J5cHRpb25BbGdvcml0aG0gN30KcGtjcy01LWRlcy1FREUzLUNCQy1wYXJhbXMgOjo9IE9DVEVUIFNUUklORyAoU0laRSg4KSkKcGtjcy01LWlkLVBCRVMyIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy01IDEzfQpwa2NzLTUtUEJFUzItcGFyYW1zIDo6PSBTRVFVRU5DRSB7CiAga2V5RGVyaXZhdGlvbkZ1bmMgQWxnb3JpdGhtSWRlbnRpZmllciwKICBlbmNyeXB0aW9uU2NoZW1lIEFsZ29yaXRobUlkZW50aWZpZXIgfQpwa2NzLTUtaWQtUEJLREYyIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjZVJlc3RhbnRlQWRkcmVzcyA6Oj0gUERTUGFyYW1ldGVyCnVuaXF1ZS1wb3N0YWwtbmFtZSBJTlRFR0VSIDo6PSAyMApVbmlxdWVQb2tjcy05IDIwfQpwa2NzLTktZnJpZW5kbHlOYW1lIDo6PSBCTVBTdHJpbmcgICByaXR5Q2VydElzc3VlciAgICAgICBbMV0gR2VuZXJhbE5hbWVzICAgICAgICAgICAgIE9QVElPTkFMLAogICAgICBhdXRob3JpdHlDZXJ0U2VyaWFsTnVtYmVyIFsyXSBDZQogICAgIGRhdGFFbmNpcGhlcm1lbnQgICAgICAgICgzKSwKICAgICBrZXlBZ3JlZW1lbnQgICAgICAgICAgICAoNCksCiAgICAga2V5Q2VydFNpZ24gICAg4ZpZAAAAAABudCwgdmVyc2lvbiBzaGFsbCBiZSB2MyAtLQp9ClZlcnNpb24gIDo6PSAgSU5URUdFUiAgeyAgdjEoMCksIHYyKDEpLCB2MygyKSAgfQpDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlciAgOjo9ICBJTlRFR0VSClZhbGlkaXR5IDo6PSBTRVFVRU5DRSB7CiAgICAgbm90QmVmb3JlICAgICAgVGltZSwKICAgICBub3RBZnRlciAgICAgICBUaW1lIH0KVGltZSA6Oj0gQ0hPSUNFIHsKICAgICB1dGNUaW1lICAgICAgICBVVENUaW1lLAogICAgIGdlbmVyYWxUaW1lICAgIEdlbmVyYWxpemVkVGltZSB9ClVuaXF1ZUlkZW50aWZpZXIgIDo6PSAgQklUIFNUUklORwpTdWJqZWN0UHVibGljS2V5SW5mbyAgOjo9ICBTRVFVRU5DRSAgewogICAgIGFsZ29yaXRobSAgICAgICAgICAgIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICAgc3ViamVjdFB1YmxpY0tleSAgICAgQklUIFNUUklORyAgfQpFeHRlbnNpb25zICA6Oj0gIFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgRXh0ZW5zaW9uCkV4dGVuc2lvbiAgOjo9ICBTRVFVRU5DRSAgewogICAgIGV4dG5JRCAgICAgIE9CSkVDVCBJREVOVElGSUVSLAogICAgIGNyaXRpY2FsICAgIEJPT0xFQU4gREVGQVVMVCBGQUxTRSwKICAgICBleHRuVmFsdWUgICBPQ1RFVCBTVFJJTkcgIH0KQ2VydGlmaWNhdGVMaXN0ICA6Oj0gIFNFUVVFTkNFICBJTlRFR0VSIHt2MSgwKX0KcGtjcy04LVByaXZhdGVLZXkgOjo9IE9DVEVUIFNUUklORwpwa2NzLTgtQXR0cmlidXRlcyA6Oj0gU0VUIE9GIEF0dHJpYnV0ZQpwa2NzLTgtRW5jcnlwIHBrY3MtMTItUEtDUzEyQXR0cmlidXRlIE9QVElPTkFMCn0KcGtjcy0xMiAgICAgIGFudGVBZGRyZXNzIDo6PSBQRFNQYXJhbWV0ZXIKdW5pcXVlLXBvc3RhbC1uYW1lIElOVEVHRVIgOjo9IDIwClVuaXF1ZVBva2NzLTkgMjB9CnBrY3MtOS1mcmllbmRseU5hbWUgOjo9IEJNUFN0cmluZyAgIHJpdHlDZXJ0SXNzdWVyICAgICAgIFsxXSBHZW5lcmFsTmFtZXMgICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgWzJdIENlCiAgICAgZGF0YUVuY2lwaGVybWVudCAgICAgICAgKDMpLAogICAgIGtleUFncmVlbWVudCAgICAgICAgICAgICg0KSwKICAgICBrZXlDZXJ0U2lnbiAgICDhmlkAAAAAAG50LCB2ZXJzaW9uIHNoYWxsIGJlIHYzIC0tCn0KVmVyc2lvbiAgOjo9ICBJTlRFR0VSICB7ICB2MSgwKSwgdjIoMSksIHYzKDIpICB9CkNlcnRpZmljYXRlU2VyaWFsTnVtYmVyICA6Oj0gIElOVEVHRVIKVmFsaWRpdHkgOjo9IFNFUVVFTkNFIHsKICAgICBub3RCZWZvcmUgICAgICBUaW1lLAogICAgIG5vdEFmdGVyICAgICAgIFRpbWUgfQpUaW1lIDo6PSBDSE9JQ0UgewogICAgIHV0Y1RpbWUgICAgICAgIFVUQ1RpbWUsCiAgICAgZ2VuZXJhbFRpbWUgICAgR2VuZXJhbGl6ZWRUaW1lIH0KVW5pcXVlSWRlbnRpZmllciAgOjo9ICBCSVQgU1RSSU5HClN1YmplY3RQdWJsaWNLZXlJbmZvICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgYWxnb3JpdGhtICAgICAgICAgICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzdWJqZWN0UHVibGljS2V5ICAgICBCSVQgU1RSSU5HICB9CkV4dGVuc2lvbnMgIDo6PSAgU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBFeHRlbnNpb24KRXh0ZW5zaW9uICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgZXh0bklGSU4=