UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpRjhTdHJpbmcKQmFzaWNPQ1NQUmVzcG9uc2UgICAgICAgOjo9IFNFUVVFTkNFIHsKICAgdGJzUmVzcG9uc2VEYXRhICAgICAgUmVzcG9uc2VEYXRhLAogICBzaWduYXR1cmVBbGdvcml0aG0gICBBbGdvcml0aG1JZGVudGlmaWVyLAogICBzaWduYXR1cmUgICAgICAgICAgICBCSVQgU1RSSU5HLAogICBjZXJ0cyAgICAgICAgICAgICAgICBbMF0gRVhQTElDSVQgU0VRVUVOQ0UgT0YgQ2VydGlmaWNhdGUgT1BUSU9OQUwgfQpSZXNwb25zZURhdGEgOjo9IFNFUVVFTkNFIHsKICAgdmVyc2lvbiAgICAgICAgICAgICAgWzBdIEVYUExJQ0lUIElOVEVHRVIgREVGQVVMVCAwLAogICByZXNwb25kZXJJRCAgICAgICAgICAgICAgUmVzcG9uZGVySUQsCiAgIHByb2R1Y2VkQXQgICAgICAgICAgICAgICBHZW5lcmFsaXplZFRpbWUsCiAgIHJlc3BvbnNlcyAgICAgICAgICAgICAgICBTRVFVRU5DRSBPRiBTaW5nbGVSZXNwb25zZSwKICAgcmVzcG9uc2VFeHRlbnNpb25zICAgWzFdIEVYUExJQ0lUIEV4dGVuc2lvbnMgT1BUSU9OQUwgfQpSZXNwb25kZXJJRCA6Oj0gQ0hPSUNFIHsKICAgYnlOYW1lICAgWzFdIEVYUExJQ0lUIFJETlNlcXVlbmNlLCAtLU5hbWUKICAgYnlLZXkgICAgWzJdIEVYUExJQ0lUIE9DVEVUIFNUUklORyAtLVNIQS0xIGhhc2ggb2YgcmVzcG9uZGVyJ3MgcHVibGljIGtleQp9CkNlcnRJRCA6Oj0gU0VRVUVOQ0UgewogICAgaGFzaEFsZ29yaXRobSAgICAgICAgICAgIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICBpc3N1ZXJOYW1lSGFzaCAgICAgT0NURVQgU1RSSU5HLCAtLSBIYXNoIG9mIElzc3VlcidzIEROCiAgICBpc3N1ZXJLZXlIYXNoICAgICAgT0NURVQgU1RSSU5HLCAtLSBIYXNoIG9mIElzc3VlcnMgcHVibGljIGtleQogICAgc2VyaWFsTnVtYmVyICAgICAgIENlcnRpZmljYXRlU2VyaWFsTnVtYmVyIH0KQ2VydFN0YXR1cyA6Oj0gQ0hPSUNFIHsKICAgIGdvb2QgICAgICAgICAgICAgICAgWzBdICAgICBJTVBMSUNJVCBOVUxMLAogICAgcmV2b2tlZCAgICAgICAgICAgICBbMV0gICAgIElNUExJQ0lUIFJldm9rZWRJbmZvLAogICAgdW5rbm93biAgICAgICAgICAgICBbMl0gICAgIElNUExJQ0lUIFtua25vd25JbmZvIH0KU2luZ2xlUmVzcG9uc2UgOjo9IFNFUVVFTkNFIHsKICAgY2VydElEICAgICAgICAgICAgICAgICAgICAgICBDZY6CSUQsCiAgIGNlcnRTdGF0dXMgICAgICAgICAgICAgICAgICAgQ2VydFN0YXR1cywKICAgdGhpc1VwZGF0ZSAgICAgICAgICAgICAgICAgICBHZW5lcmFsaXplZFRpbWUsCiAgIG5leHRVcGRhdGUgICAgICAgICAgIFswXSAgICAgRVhQTElDSVQgR2VuZXJhbGl6ZWRUaW1lIE9QVElPTkFMLAogICBzaW5nbGVFeHRlbnNpb25zICAgICBbMV0gICAgIEVYUExJQ0lUIEV4dGVuc2lvbnMgT1BUSU9OQUwgfQpSZXZva2VkSW5mbyA6Oj0gU0VRVUVOQ0UgewogICAgcmV2b2NhdGlvblRpbWUgICAgICAgICAgICAgIEdlbmVyYWxpemVkVGltZSwKICAgIHJldm9jYXRpb25SZWFzb24gICAgWzBdICAgICBFWFBMSUNJVCBDUkxSZWFzb24gT1BUSU9OQUwgfQpVbmtub3duSW5mbyA6Oj0gTlVMTCAtLSB0aGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGFuGWVudW1lcmF0aW9uCkVORAo=