UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ZWxldGV4LWRvbWFpbi1kZWZpbmVkLWF0dHJpYnV0ZXMKICAgZXh0ZW5zaW9uLWF0dHJpYnV0ZXMgRXh0ZW5zaW9uQXR0cmlidXRlcyBPUFRJT05BTCB9CkJ1aWx0SW5TdGFuZGFyZEF0dHJpYnV0ZXMgOjo9IFNFUVVFTkNFIHsKICAgY291bnRyeS1uYW1lIENvdW50cnlOYW1lIE9QVElPTkFMLAogICBhbkF0dHJpYnV0ZSA6Oj0gIFNFUVVFTkNFIHsKICAgZXh0ZW5zaW9uLWF0dHJpYnV0ZS10eXBlIFswXSBFWFBMSUNJVCBJTlRFR0VSICgwLi51Yi1leHRlbnNpb24tYXR0cmlidXRlcyksCiAgIGV4dGVuc2lvbi1hdHRyaWJ1dGUtdmFsdWUgWzFdIEVYUExJQ0lUCiAgICAgICAgICAgICAgICAgICAgICAgIEFOWSBERUZJTkVEIEJZIGV4dGVuc2lvbi1hdHRyaWJ1dGUtdHlwZSB9CmNvbW1vbi1uYW1lIElOVEVHRVIgOjo9IDEKQ29tbW9uTmFtZSA6Oj0gUHJpbnRhYmxlU3RyaW5nIChTSVpFICgxLi51Yi1jb21tb24tbmFtZS1sZW5ndGgpKQp0ZWxldGV4LWNvbW1vbi1uYW1lIElOVEVHRVIgOjo9IDIKVGVsZXRleENvbW1vbk5hbWUgOjo9IFRlbGV0ZXhTdHJpbmcgKFNJWkUgKDEuLnViLWNvbW1vbi1uYW1lLWxlbmd0aCkpCnRlbGV0ZXgtb3JnYW5pemF0aW9uLW5hbWUgSU5URUdFUiA6Oj0gMwpUZWxldGV4T3JnYW5pemF0aW9uTmFtZSA6Oj0KICAgICAgICAgICAgICAgIFRlbGV0ZXhTdHJpbmcgA1NJWkUgKDEuLnViLW9yZ2FuaXphdGlvbi1uYW1lLWxlbmd0aCkpCnRlbGV0ZXgtcGVyc29uYWwtbmFtZSBJTlRFR0VSIDo6PSA0ClRlbGV0ZXhQZXJzb25hbE5hbWUgOjo9IFNFVCB7CiAgIHN1cm5hbWUgWzBdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcgKFNJWkUgKDEuLnViLXN1cm5hbWUtbGVuZ3RoKSksCiAgIGdpdmVuLW5hRGUgWzFdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcKICAgIAAAAAAAWZrgICAgICAgICAgICAgKFNJWkUgKDEuLnViLWdpdmVuLW5hbWUtbGVuZ3RoKSkgT1BUSU9OQUwsCiAgIGluaXRpYWxzIFsyXSBFWFBMSUNJVCBUZWxldGV4U3RyaW5nIChTSVpFICgxLi51Yi1pbml0aWFscy1sZW5ndGgpKSBPUFRJT05BTCwKICAgZ2VuZXJhdGlvbi1xdWFsaWZpZXIgWzNdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcgKFNJWkUKICAgICAgICAgICAgICAgICgxLi51Yi1nZW5lcl1hdGlvbi1xdWFsaWZpZXItbGVuZ2RzYSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gewogICAgIGlzbygxKSBtZW1iZXItYm9keSgyKSB1cyg4NDApIHg5LTU3KDEwMDQwKSB4OWFsZ29yaXRobSg0KSAxIH0KRHNzLVBhcm1zICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgcCAgICAgOj0gUHJpbnRhYmxlU3RyaW5nIChTSVpFICgxLi51Yi1jb21tb24tbmFtZS1sZW5ndGgpKQp0ZWxldGV4LWNvbW1vbi1uYW1lIElOVEVHRVIgOjo9IDIKVGVsZXRleENvbW1vbk5hbWUgOjo9IFRlbGV0ZXhTdHJpbmcgKFNJWkUgKDEuLnViLWNvbW1vbi1uYW1lLWxlbmd0aCkpCnRlbGV0ZXgtb3JnYW5pemF0aW9uLW5hbWUgSU5URUdFUiA6Oj0gMwpUZWxldGV4T3JnYW5pemF0aW9uTmFtZSA6Oj0KICAgICAgICAgICAgICAgIFRlbGV0ZXhTdHJpbmcgA1NJWkUgKDEuLnViLW9yZ2FuaXphdGlvbi1uYW1lLWxlbmd0aCkpCnRlbGV0ZXgtcGVyc29uYWwtbmFtZSBJTlRFR0VSIDo6PSA0ClRlbGV0ZXhQZXJzb25hbE5hbWUgOjo9IFNFVCB7CiAgIHN1cm5hbWUgWzBdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcgKFNJWkUgKDEuLnViLXN1cm5hbWUtbGVuZ3RoKSksCiAgIGdpdmVuLW5hRGUgWzFdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcKICAgIAAAAAAAWZrgICAgICAgICAgICAgKFNJWkUgKDEuLnViLWdpdmVuLW5hbWUtbGVuZ3RoKSkgT1BUSU9OQUwsCiAgIGluaXRpYWxzIFsyXSBFWFBMSUNJVCBUZWxldGV4U3RyaW5nIChTSVpFICgxLi51Yi1pbml0aWFscy1sZW5ndGgpKSBPUFRJT05BTCwKICAgZ2VuZXJhdGlvbi1xdWFsaWZpZXIgWzNdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcgKFNJWkUKICAgICAgICAgICAgICAgICgxLi51Yi1nZW5lcl1hdGlvbi1xdWFsaWZpZXItbGVuZ3RoKSkgT1BUSU9OQUwgfQp0ZWxldGV4LW9yZ2FuaXphdGlvbmFsLXVuaXQtbmFtZXMgSU5URUdFUiA6Oj0gNQpUZWxldGV4T3JnYW5pemF0aW9uYWxVbml0TmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUKICAgICAgICAoMS4udWItb3JnYW5pemF0aW9uYWwtdW5pdHMpIE9GIFRlbGV0ZXhPcmdhbml6YXRpb25hbFVuaXROYW1lClRlbGV0ZXhP