UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoNCkgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIg4SA6Oj0gIHsgaWQtY2UgMzUgfQpBdXRob3JpdHlLZXlJZGVudGlmaWVyIDo6PSBTRVFVRU5DRSB7CiAgICAgIGtleUlkZW50aWZpZXAgICAgICAgICAgICBJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CRVRDSiBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpLAogICAgIGtleUVuY2lwaGVybWVudCAgICAgICAgICgyKSwKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyUsCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtleUNlcnRTaWduICAgICAgICAgICAgICg1KSwKICAgICBjUkxTaWduICAgICAgICAgICAgICAgICAoNiksCiAgICAgZW5jaXBoZXJPbmx5ICAgICAgICAgICAgKDcpLAogICAgIGRlY2lwaGVyT25seSAgICAgICAgICAAAAAAAFmjuWlkLWNlLXByaXZhdGVLZXlVc2FnZVBlcmlvZCBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTYgfQpQcml2YXRlS2V5VXNhZ2VQZXJpb2QgOjo9IFNFUVVFTkNFIHsKICAgICBub3RCZWZvcmUgICAgICAgWzBdICAgICBHZW5lcmFsaXplZFRpbWUgT1BUSU9OQUwsCiAgICAgbm90QWZ0ZXIgICAgICAgIFsxXSAgICAgR2VuZXJhbGl6ZWRUaW1lIE9QVElPTkFMIH0KICB0aWNlUmVmZXJlbmNlIDo6PSByZWdpc3RlcmVkIGZvciB1c2Ugd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBhbGdvcml0aG0gb2JqZWN0IGlkZW50aWZpZXIgdmFsdWUKcGtjcy0xIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7CiAgICAgcGtjcyAxIH0KcnNhRW5jcnlwdGlvbiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgcGtjcy0xIDEgfQptZDJXaXRoUlNBRW5jcnlwdGlvbiBPQkpFQ1QgSURFTlRJRklFUiAgOjo9ICB7IHBrY3MtMSAyIH0KbWQ1V2l0aFJTQUVuY3J5cHRpb24gT0JKRUNUIElERU5USUZJRVIgIDo6PSAgeyBwa2NzLTEgNCB9CnNoYTFXaXRoUlNBRW5jcnlwdGlvbiBPQkpFQ1QgSURFTlRJRklFUiAgOjo9ICB7IHBrY3MtMSA1IH0KaWQtZHNhLXdpdGgtc2hhMSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsKICAgICBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSB4OS01NyAoMTAwNDApIHg5YWxnb3JpdGhtKDQpIDMgfQpEc3MtU2lnLVZhbHVlIDo6PSBTRVFVRU5DRSB7CiAgICAgciAgICAgICBJTlRFR0VSLAogICAgIHMgICAgICAgSU5URUdFUgp9CmRocHVibGljbnVtYmVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7CiAgICAgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgYW5zaS14OTQyKDEwMDQ2KSBudW1iZXItdHlwZSgyKSAxIH0KRG9tYWluUGFyYW1ldGVycyA6Oj0gU0VRVUVOQ0UgewogICAgIHAgICAgICAgSU5URUdFUiwgLS0gb2RkIHByaW1lLCBwPWpxICvP7yAgICAgZyAgICAgICBJTlRFR0VSLCAtLSBnZW5lcmF0b3IsIGcKICAgICBxICAgICAgIElOVEVHRVIsIC0tIGZhY3RvciBvZiBwLTEKICAgICBqICAgICAgIElOVEVHRVIgT1BUSU9OQUwsIC0tIHN1Ymdyb3VwIGZhY3Rvciwgaj49IDIKICAgICB2YWxpZGF0aW9uUGFybXMgIFZhbGlkYXRpb25QYXJtcyBPUFRJT05BTCB9ClZhbGlkYXRpb25QYXJtcyA6Oj0gU0VRVUVOQ0UgewogICAgIHNlZWQgICAgICAgICAgICAgQklUIFNUUklORywKICAgICBwZ2VuQ291bnRlciAgICAgIElOVEVHRVIgfQppZC1kc2EgT0JKRUNUIElERU5USUZJRVIgOjo9IHsKICAgICBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSB4OS01NygxMDA0MCkgeDlhbGdvcml0aG0oNCkgMSB9CkRzcy1QYXJtcyA=