UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSBsaWN5TWFwcGluZ3MgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgU0Vlc3BvbmRlcklEICAgICAgICAgICAgICBSZXNwb25kZXJJRCwKICAgcHJvZHVjZWRBdCAgICAgICAgICAgICAgIEdlbmVyYWxpemVkVGltZSwKICAgcmVzcG9uc2VzICAgICAgICAgICAgICAgIFNFUVVFTkNFIE9GIFNpbmdsZVJlc3BvbnNlLAogICByZXNwb25zZUV4dGVuc2lvbnMgICBbMV0gRVhQTElDSVQgRXh0ZWFsaWZpZXIgICAgICAgIEFOWSBERUZJTkVEIEJZIHBvbGljeVF1n5OWkmllcklkIH0KUG9saWN5UXVhbGlmaWVySWQgOjo9CiAgICBPQkpFQ1QgSURFTlRJRklFUiAgLS0gKCBpZC1xdC1jcHMgfCBpZC1xdC11bm90aWNlICkKQ1BTdXJpIDo6PSBJQTVTdHJpbmcKVXNlck5vdGljZSA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdGljZVJlZiAgICAgICAgTm90aWNlUmVmZXJlbmNlIE9QVElPTkFMLAogICAgIGV4cGxpY2l0VGV4dCAgICAgRGlzcGxheVRleHQgT1BUSU9OQUx9Ck5vdGljZVJlZmVyZW5jZSA6Oj0gU0VRVUVOQ0UgewogICAgIG9yZ2FuaXphdGlvbiAgICAgRGlzcGxheVRleHQsCiAgICAgbm90aWNlTnVtYmVycyAgICBTRVFVRU5DRSBPRiBJTlRFR0VSIH0KRGlzcGxheVRleHQgOjo9IENIT0lDRSB7CiAgICAgdmlzaWJsZVN0cmluZyAgICBWaXNpYmxlU3RyaW5nICAoU0laRSAoMS4uMjAwKSksCiAgICAgYm1wU3RyaW5nICAgICAgICBCTVBTdHJpbmcgICAgICAoU0laRSAoMS4uMjAwKSksCiAgICAgdXRmOFN0cmluZyAgICAaICBVVEY4U3RyaW5nICAgICAoU0laRSAoMS4uMjAwKSkgfQppZC1jZS1wb2xpY3lNYXBwaW5ncyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzMgfQpQb2xpY3lNYXBwaW5ncyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBTRVFVRU5DRSB7CiAgICAgaXNzdWVyRG9tYWluUG9saWN5ICAgICAgQ2VydFBvbGljeUlkLAogICAgIHN1YmplY3REb21haW5Qb2xpY3kgICAgIENlcnRQb2xpY3lJZCB9CkRpcmVjdG9yeVN0cmluZyA6Oj0gQ0hPSUNFIHsKICAgICAgdGVsZXRleFN0cmluZyAgICAgICAgICAgICBUZWxldGV4U3RyaW5nIChTSVpFICgxLi5NQVgpKSwKICAgICAgcHJpbnRhYmxlU3RyaW5nICAgICAgICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDEuLk1BWCkpLAogICAgICB1bml2ZXJzYWxTdHJpbmcgICAgICAgICAgIFVuaXZlcnNhbAogICAgU0VRVUVOQ0UgT0YgSU5URUdFUiB9CkRpc3BsYXlUZXh0IDo6PSBDSE9JQ0UgewogICAgIHZpc2libGVTdHJpbmcgICAgVmlzaWJsZVN0cmluZyAgKFNJWkUgKDEuLjIwMCkpLAogICAgIGJtcFN0cmluZyAgICAgICAgQk1QU3RyaW5nICAgICAgKFNJWkUgKDEuLjIwMCkpLAogICAgIHV0ZjhTdHJpbmcgICAgGiAgVVRGOFN0cmluZyAgICAgKFNJWkUgKDEuLjIwMCkpIH0KaWQtY2UtcG9saWN5TWFwcGluZ3MgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDMzIH0KUG9saWN5TWFwcGluZ3MgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgU0VRVUVOQ0UgewogICAgIGlzc3VlckRvbWFpblBvbGljeSAgICAgIENlcnRQb2xpY3lJZCwKICAgICBzdWJqZWN0RG9tYWluUG9saWN5ICAgICBDZXJ0UG9saWN5SWQgfQpEaXJlY3RvcnlTdHJpbmcgOjo9IENIT0lDRSB7CiAgICAgIHRlbGV0ZXhTdHJpbmcgICAgICAgICAgICAgVGVsZXRleFN0cmluZyAoU0laRSAoMS4uTUFYKSksCiAgICAgIHByaW50YWJsZVN0cmluZyAgICAgICAgICAgUHJpbnRhYmxlU3RyaW5nIChTSVpFICgxLi5NQVgpKSwKICAgICAgdW5pdmVyc2FsU3RyaW5nICAgICAgICAgICBVbml2ZXJzYWwKICAgIHJldm9jYXRpb25SZWFzb24gICAgWzBdICAgICBFWFBMSUNJVCBDUkxSZWFzb24gT1BUSU9OQUwgfQpVbmtub3duSW5mbyA6Oj0gTlVMTCAtLSB0aGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGFuIGVudW1lcmF0aW9uCkVORAo=