UKqJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwwYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpLAogICAgIGtleUVuY2lwaGVybWVudCAgICAgICAgICgyKSwKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyksCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtleUNlcnRTaWduICAgICAgICAgICAgICg1KSwKICAgICBjUkxTaWduICAgICAgICAgICAgICAgICAoNiksCiAgICAgZW5jaXBoZXJPbmx5ICAgICAgICAgICAgKDcpLAogICAgIGRlY2lwaGVyT25seSAgICAgICAgICAgICg4KSB9CmlkLWNlLXByaXZhdGVLZXlVc2FnZVBlcmlvZCBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTYgfQpQcml2YXRlS2V5VXNhZ2VQZXJpb2QgOjo9IFNFUVVFTkNFIHsKICAgICBub3RCZWZvcmUgICAgICAgWzBdICAgICBHZW5lcmFsaXplZFRpbWUgT1BUSU9OQUwsCiAgICAgbm90QWZ0ZXIgICAgICAgIFsxXSAgICAgR2VuZXJhbGl6ZWRUaW1lIE9QVElPTkFMIH0KICAgICAtLSBlaXxoZXIgbm90QmVmb3JlIG9yIG5vdEFmdGVyIHNoYWxsIGJlIHByZXNlbnQKaWQtY2UtY2VydGlmaWNhdGVQb2xpY2llcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzIgfQpDZXJ0aWZpY2F0ZVBvbGljaWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIFBvbGljeUluZm9ybWF0aW9uClBvbGljeUluZm9ybWF0aW9uIDo6PSBTRVFVRU5DRSB7CiAgICAgcG9saWN5SWRlbnRpZmllciAgIENlcnRQb2xpY3lJZCwKICAgICBwb2xpY3lRdWFsaWZpZXJzICAgU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRgogICAgICAgICAgICAgUG9saWN5UXVhbGlmaSAgIElBNVN0cmluZyAoU0laRSgxLi5NQVgpKSB9CmlkLWNlLXN1YmplY3RBbHROYW1lIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNyB9ClN1YmplY3RBbHROYW1lIDo6PSBHZW5lcmFsTmFtZXMKR2VuZXJhbE5hbWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEdlbmVyYWxOYW1lCkdlbmVyYWxOYW1lIDo6PSBDSE9JQ0UgewogICAgIG90aGVyTmFtZSAgICAgICAgICAgICAgICAgICAgICAgWzBdICAgICBBbm90aGVyTmFtZSwKICAgICByZmM4MjJOYW1lICAgICAgICAgICAgICAgICAgICAgIFsxXSAgICAgSUE1U3RyaW5nLAogICAgIGROU05hbWUgICAgICAgICAgICAgICAgICAgICAgICAgWzJdICAgICBJQTVTdHJpbmcsCiAgICAgeDQwMEFkZHJlc3MgICAgICAgICAgICAgICAgICAgICBbM10gICAgIE9SQWRkcmVzcywKIHNVcGRhdGUgICAgICAgICAgICAgICAgICAgR2VuZXJhbGl6ZWRUaW1lLAogICBuZXh0VXBkYXRlICAgICAgICAgICBbMF0gICAgIEVYUExJQ0lUIEdlbmVyYWxpemVkVGltZSBPUFRJT05BTCwKICAgc2luZ2xlRXh0ZW5zaW9ucyAgICAgWzFdICAgICBFWFBMSUNJVCBFeHRlbnNpb25zIE9QVElPTkFMIH0KUmV2b2tlZEluZm8gOjo9IFNFUVVFTkNFIHsKICAgIHJldm9jYXRpb25UaW1lICAgICAgICAgICAgICBHZW5lcmFsaXplZFRpbWUsCiAgICByZXZvY2F0aW9uUmVhc29uICAgIFswXSAgICAgRVhQTElDSVQgQ1JMUmVhc29uIE9QVElPTkFMIH0KVW5rbm93bkluZm8gOjo9IE5VTEwgLS0gdGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbiBlbnVtZXJhdGlvbgpFTkQK