UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgIGcgICAgICAgVVRGOFN0cmluZyAgICAgKFNJWkUgKDEuLjIwMCkpIH0KaWQtY2UtcG9saWN5TWFwcGluZ3MgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDMzIH0KUG9saWN5TWFwcGluZ3MgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgU0VRVUVOQ0UgewogICAgIGlzc3VlckRvbWFpblBvbGljeSAgICAgIENlcnRQb2xpY3lJZCwKICAgICBzdWJqZWN0RG9tYWkgICAgICAgICAgICAgWzBdIEtleUlkZW50aWZpZXIgICAgICAgICAgICBPUFRJT05BTCwKICAgZyAgICAgICBVVEY4U3RyaW5nICAgICAoU0laRSAoMS4uMjAwKSkgfQppZC1jZS1wb2xpY3lNYXBwaW5ncyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzIgfQpQb2xpY3lNYXBwaW5ncyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBTRVFVRU5DRSB7CiAgICAgaXNzdWVyRG9tYWluUG9saWN5ICAgICAgQ2VydFBvbGljeUlkLAogICAgIHN1YmplY3REb21haW5Qb2xpY3kgICAgIENlcnRQb2xpY3lJZCB9CkRpcmVjdG9yeVN0cmluZyA6Oj0gQ0hPSUNFIHsKICAgICAgdGVsZXRleFN0cmluZyAgICAgICAgICAgICBUZWxldGV4U3RyaW5nIChTSVpFICgxLi5NQVgpKSwKICAgICAgcHJpbnRhYmxlU3RyaW5nICAgICAgICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDEuLk1BWCkpLAogICAgICB1bml2ZXJzYWxTdHJpbmcgIMwgICAgICAgIFVuaXZlcnNhbFN0cmluZyAoU0laRSAoMS4uSUFYKSksCiAgICBmaWVyLAogICAgaXNzdWVyTmFtZUhhc2ggICAgIE9DVEVUIFNUUklORywgLS0gSGFzaCBvZiBJc3N1ZXIncyBETgogICAgaXNzdWVyS2V5SGFzaCAgICAgIE9DVEVUIFNUUklORywgLS0gSGFzaCBvZiBJc3N1ZXJzIHB1YmxpYyBrZXkKICAgIHNlcmlhbE51bWJlciAgICAgICBDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlciB9CkNlcnRTdGF0dXMgOjo9IENIT0lDRSB7CiAgICBnb29kICAgICAgICAgICAgICAgIFswXSAgICAgSU1QTElDSVQgTlVMTCz539/f342aiW9rZWQgICAgICAgICAgICAgWzFdICAgICBJTVBMSUNJVCBSZXZva2VkSW5mbywKICAgIHVua25vd24gICAgICAgICAgICAgWzJdICAgICBJTVBMSUNJVCBVbmtub3duSW5mbyB9ClNpbmdsZVJlc3BvbnNlIDo6PSBTRVFVRU5DRSB7CiAgIGNlcnRJRCAgICAgICAgICAgICAgICAgICAgICAgQ2VydElELAogICBjZXJ0U3RhdHVzICAgICAgICAgICAgICAgICAgIENlcnRTdGF0dXMsCiAgIHRoaSAgICBbMF0gICAgIEVYUExJQ0lUIENSTFJlYXNvbiBPUFRJT05BTCB9ClVua25vd25JbmZvIDo6PSBOVUxMIC0tIHRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW51bWVyYXRpb24KRU5ECg==