UKqJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1Ymp4Y3RLZXlJZGVuLAogICAgIHBvbGljeVF1YWxpZmllcnMgICBTRVFVRU5JIFNFQ1pFICgxLi5NQVgpIE9GCiAgICAgICAgICAgICBQb2xpY3lRdWFsaWZpZXJJbmZvIE9QVElPTkFMIH0KQ2VydFBvbGljeUlkIDo6PSBPQkpFQ1QgSURFTlRJRklFUgpQb2xpY3lRdWFnYW5pemF0aW9uICAgICBEaXNwbGF5VGV4dCwKICAgICBub3RpY2VOdW1iZXJzICAgIFNFUVVFTkNFIE9GIElOVEVHRVIgfQpEaXNwbGF5VGV4dCA6Oj0gQ0hPSUNFIHsKoCAgICB2aXNpYmxlU3RyaW5nICAgIFZpc2libGVTdHJpbmcgIChTSVpFICgxLi4yMDApKSwKICAgICBibXBTdHJpbmcgICAgICAgIEJNUFN0cmluZyAgICAgIChTSVpFICgxLi4yMDApKSwKICAgICB1dGY4U3RyaW5nICAgICAgIFVURjhTdHJpbmcgICAgIChTSVpFICgxLi4yMDApKSB9CmlkLWNlLXBvbGljeU1hcHBpbmdzIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAzMyB9ClBvbGljeU1hcHBpbmdzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIFNFUVVFTkNFIHsKICAgICBpc3N1ZXJEb21haW5Qb2xpY3kgICAgICBDZXJ0UG9saWN5SWQsCiAgICAgc3ViamVjdERvbWFpblBvbGljeSAgICAgQ2VydFBvbGljeUlkIH0KRG1wcm9taXNlICAgICAgICAgICAoMCksCiAgICAgY0FDb21wcm9taXNlICAgICAgICAgICAgKDIpLAogICAgIGFmZmlsaWF0aW9uQ2hhbmdlZCAgICAgICgzKSwKICAgICBzdXBlcnNlZGVkICAgICAgICAgICAgICAoNCksCiAgICAgY2Vzc2F0aW9uT2ZPcGVyYXRpb24gICAgKDUpLAogICAgIGNlcnRpZmljYXRlSG9sZCAgICAgICAgICg2KSwKICAgICBwcml2aWxlZ2VXaXRoZHJhd24gICAgICAoNyksCiAgICAgYUFDb21wcm9taXNlICAgICAgICAgICAgKDgpIH0KaWQtY2UtZXh0S2V5VXNhZ2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHtpZC1jZSAzN30KRXh0S2V5VXNhZ2VTeW50YXggOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgS2V5UHVycG9zZUlkCktleVB1cnBvc2VJZCA6Oj0gT0JKRUNUIElERU5USUZJRVIKaWQta3Atc2VydmVyQXV0aCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDEgfQppZC1rcC1jbGllbnRBdXRoICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQta3AgMiB9CmlkLWtwLWNvZGVTaWduaW5nICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj1ydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1Ymp4Y3RLZXlJZGVuLAogICAgIHBvbGljeVF1YWxpZmllcnMgICBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GCiAgICAgICAgICAgICBQb2xpY3lRdWFsaWZpZXJJbmZvIE9QVElPTkFMIH0KQ2VydFBvbGljeUlkIDo6PSBPQkpFQ1QgSURFTlRJRklFUgpQb2xpY3lRdWFsaWZpZXJJbmZvIDo6PSBTRVFVRU5DRSB7CiAgICAgICBwb2xpY3lRdWFsaWZpZXJJZCAgUG9saWN5UXVhbGlmaWVySWQsCiAgICAgICBxdWFsaWZpZXIgICAgICAgIEFOWSBERUZJTkVEIEJZIHBvbGljeVF1YWxpZmllcklkIH0KUG9saWN5UXVhbGlmaWVySWQgOjo9CiAgICBPQkpFQ1QgSURFTlRJRklFUiAgLS0gKCBpZC1xdC1jcHMgfCBpZC1xdC11bm90aWNlICkKQ1BTdXJpIDo6PSBJQTVTdHJpbmcKVXNlck5vdGljZSA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdGljZVJlZiAgICAgICAgTm+TaWNlUmVmZXJlbmNlIE9QVElPTkFMLAogICAgIGV4cGxpY2l0VGV4dCAgICAgRGlzcGxheVRleHQgT1BUSU9OQUx9Ck5vdGljZVJlZmVyZW5jZSA6Oj0gU0VRVUVOQ0UgewogICAgIG9yZ2FuaXphdGlvbiAgICAgRGlzcGxheVRleHQsCiAgICAgbm90aWNlTnVtYmVycyAgICBTRVFVRU5DRSBPRiBJTlRFR0VSIH0KRGlzcGxheVRleHQgOjo9IENIT0lDRSB7CqAgICAgdmlzaWJsZVN0cmluZyAgICBWaXNpYmxlU3RyaW5nICAoU0laRSAoMS4uMjAwKSksCiAgICAgYm1wU3RyaW5nICAgICAgICBCTVBTdHJpbmcgICAgICAoU0laRSAoMS4uMjAwKSksCiAgICAgdXRmOFN0cmluZyAgICAgICBVVEY4U3RyaW5nICAgICAoU0laRSAoMS4uMjAwKSkgfQppZC1jZS1wb2xpY3lNYXBwaW5ncyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzMgfQpQb2xpY3lNYXBwaW5ncyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBTRVFVRU5DRSB7CiAgICAgaXNzdWVyRG9tYWluUG9saWN5ICAgICAgQ2VydFBvbGljeUlkLAogICAgIHN1YmplY3REb21haW5Qb2xpY3kgICAgIENlcnRQb2xpY3lJZCB9CkRtcHJvbWlzZSAgICAgICAgICAgKDEpLAogICAgIGNBQ29tcHJvbWlzZSAgICAgICAgICAgICgyKSwKICAgICBhZmZpbGlhdGlvbkNoYW5nZWQgICAgICAoMyksCiAgICAgc3VwZXJzZWRlZCAgICAgICAgICAgICAgKDQpLAogICAgIGNlc3NhdGlvbk9mT3BlcmF0aW9uICAgICg1KSwKICAgICBjZXJ0aWZpY2F0ZUhvbGQgICAgICAgICAoNiksCiAgICAgcHJpdmlsZWdlV2l0aGRyYXduICAgICAgKDcpLAogICAgIGFBQ29tcHJvbWlzZSAgICAgICAgICAgICg4KSB9CmlkLWNlLWV4dEtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7aWQtY2UgMzd9CkV4dEtleVVzYWdlU3ludGF4IDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEtleVB1cnBvc2VJZApLZXlQdXJwb3NlSWQgOjo9IE9CSkVDVCBJREVOVElGSUVSCmlkLWtwLXNlcnZlckF1dGggICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1rcCAxIH0KaWQta3AtY2xpZW50QXV0aCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDIgfQppZC1rcC1jb2RlU2lnbmluZyAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQta3AgMyB9CmlkLWtwLWVtYWlsUHJvdGVjdGlvbiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1rcCA0IH0KaWQta3AtaXBzZWNFbmRTeXN0ZW0yIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDUgfQppZC1rcC1pcHNlY1R1bm5lbCAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQta3AgNiB9CmlkLWtwLWlwc2VjVXNlciAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1rcCA3IH0KaWQta3AtdGltZVN0YW1waW5nICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDggfQppZC1wZS1hdXRob3JpdHlJbmZvQWNjZXNzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLXBlIDEgfQpBdXRob3JpdHlJbmZvQWNjZXNzU3ludGF4ICA6Oj0KICAgICAgICBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEFjY2Vzc0Rlc2NyaXB0aW9uCkFjY2Vzc0Rlc2NyaXB0aW9uICA6Oj0gIFNFUVVFTkNFIHsKICAgICAgICBhY2Nlc3NNZXRob2QgICAgICAgID0gU0VRVUVOQ0UgewogICAgIG9yZ2FuaXphdGlvbiAgICAgRGlzcGxheVRleHQsCiAgICAgbm90aWNlTnVtYmVycyAgICBTRVFVRU5DRSBPRiBJTlRFR0VSIH0KRGlzcGxheVRleHQgOjo9IENIT0lDRSB7CqAgICAgdmlzaWJsZVN0cmluZyAgICBWaXNpYmxlU3RyaW5nICAoU0laRSAoMS4uMjAwKSksCiAgICAgYm1wU3RyaW5nICAgICAgICBCTVBTdHJpbmcgICAgICAoU0laRSAoMS4uMjAwKSksCiAgICAgdXRmOFN0cmluZyAgICAgICBVVEY4U3RyaW5nICAgICAoU0laRSAoMS4uMjAwKSkgfQppZC1jZS1wb2xpY3lNYXBwaW5ncyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzMgfQpQb2xpY3lNYXBwaW5ncyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBTRVFVRU5DRSB7CiAgICAgaXNzdWVyRG9tYWluUG9saWN5ICAgICAgQ2VydFBvbGljeUlkLAogICAgIHN1YmplY3REb21haW5Qb2xpY3kgICAgIENlcnRQb2xpY3lJZCB9CkRtcHJvbWlzZSAgICAgICAgICAgKDEpLAogICAgIGNBQ29tcHJvbWlzZSAgICAgICAgICAgICgyKSwKICAgICBhZmZpbGlhdGlvbkNoYW5nZWQgICAhICAoMyksCiAgICAgc3VwZXJzZWRlZCAgICAgICAgICAgICAgKDQpLAogICAgIGNlc3NhdGlvbk9mT3BlcmF0aW9uICAgICg1KSwKICAgICBjZXJ0aWZpY2F0ZUhvbGQgICAgICAgICAoNiksCiAgICAgcHJpdmlsZWdlV2l0aGRyYXduICAgICAgKDcpLAogICAgIGFBQ29tcHJvbWlzZSAgICAgICAgICAgICg4KSB9CmlkLWNlLWV4dEtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7aWQtY2UgMzd9CkV4dEtleVVzYWdlU3ludGF4IDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEtleVB1cnBvc2VJZApLZXlQdXJwb3NlSWQgOjo9IE9CSkVDVCBJREVOVElGSUVSCmlkLWtwLXNlcnZlckF1dGggICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1rcCAxIH0KaWQta3AtY2xpZW50QXV0aCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDIgfQppZC1rcC1jb2RlU2lnbmluZyAgICAgT0JKensECWQJAAlsCUYJbAlkCUYJRUNUIElERU5USUZJRVIgOjo9cnRTZXJpYWxOdW1iZXIgWzJdIENlcnRpZmljYXRlU2VyaWFsTnVtYmVyICBPUFRJT05BTCB9CiAgICAtLSBhdXRob3JpdHlDZXJ0SXNzdWVyIGFuZCBhdXRob3JpdHlDZXJ0U2VyaWFsTnVtYmVyIHNoYWxsIGI=