UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaUQgQlkgY29udGVudFR5cGUgfQpwa2NzLTctRGlnZXN0SW5mbyA6Oj0gU0VRVUVOQ0UgewogIGRpZ2VzdEFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLAogIGRpZ2VzdCBPQ1RFVCBTVFJJTkcKfQpwa2NzLTctU2lnbmVkRGF0YSA6Oj0gU0VRVUVOQ0UgewogIHZlcnNpb24gSU5URUdFUiwKICBkaWdlc3RBbGdvcml0aG1zIHBrY3MtNy1EaWdlc3RBbGdvcml0aG1JZGVudGlmaWVycywKICBlbmNhcENvbnRlbnRJbmZvIHBrY3MtNy1FbmNhcHN1bGF0ZWRDb250ZW50SW5mbywKICBjZXJ0aWZpY2F0ZXMgWzBdIElNUExJQ0lUIHBrY3MtNy1DZXJ0aWZpY2F0ZVNldCBPUFRJT05BTCwKICBjcmxzIFsxXSBJTVBMSUNJVCBwa2NzLTctQ2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdHMgT1BUSU9OQUwsCiAgc2lnbmVySW5mb3MgcGtjcy03LVNpZ25lckluZm9zCn0KcGtjcy03LURpZ2VzdEFsZ29yaXRobUlkZW50aWZpZXJzIDo6PSBTRVQgT0YgQWxnb3JpdGhtSWRlbnRpZmllcgpwa2NzLTctRW5jYXBzdWxhdGVkQ29udGVudEluZm8gOjo9IFNFUVVFTkNFIHsKICBlQ29udGVudFR5cGUgT0JKRUNUIElERU5USUZJRVIsCiAgZUNvbnRlbnQgWzBdIEVYUExJQ0lUIEFOWSBPUFRJT05BTCB9CnBrY3MtNy1DZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0cyA6Oj0gU0VUIE9GIEFOWQpwa2NzLTctQ2VydGlmaWNhdGVDaG9pY2VzIDo6PSBDSE9JQ0UgewogIGNlcnRpZmljYXRlIEFOWQp9CnBrY3MtNy1DZXJ0aWZpY2F0ZVNldCA6Oj0gU0VUIE9GIHBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMKSXNzdWVyQW5kU2VyaWFsTnVtYmVyIDo6PSBTRVFVRU5DRSB7Cglpc3N1ZXIgTmFtZSwKCXNlcmlhbE51bWJlcmNhdGVSZXZvY2F0aW9uTGlzdHMgOjo9IFNFVCBPRiBBTlkKcGtjcy03LUNlcnRpZmljYXRlQ2hvaWNlcyA6Oj0gQ0hPSUNFIHsKICBjZXJ0aWZpY2F0ZSBBTlkKfQpwa2NzLTctQ2VydGlmaWNhdGVTZXQgOjo9IFNFVCBPRiBwa2NzLTctQ2VydGlmaWNhdGVDaG9pY2VzCklzc3VlckFuZFNlcmlhbE51bWJlciA6Oj0gU0VRVUVOQ0UgewoJaXNzdWVyIE5hbWUsCglzZXJpYWxOdW1iZXIgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIKfQpwa2NzLTctU2lnbmVySW5mbyA6Oj0gU0VRVUVOQ0UgewogICAgIHZlcnNpb24gSU5URUdFUiwKICAgICBzaWQgU2lnbmVySWRlbnRpZmllciwKICAgICBkaWdlc3RBbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzaWduZWRBdHRycyBbMF0gSU1QTElDSVQgU2lnbmVkQXR0cmlidXRlcyBPUFRJT05BTCwKIF0gICBzaWduYXR1cmVBbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzaWduYXR1cmUgT0NURVQgU1RSSU5HLAogICAgIHVuc2lnbmVkQXR0cnMgWzFdIElNUExJQ0lUIFNpZ25lZEF0dHJpYnV0ZXMgT1BUSU9OQUwgfQpTaWduZWRBdHRyaWJ1dGVzIDo6PSBTRVQgU0laRSAoMS4uTUFYKSBPRiBBdHRyaWJ1dGUKU2lnbmVySWRlbnRpZmllciA6Oj0gQ0hPSUNFIHsKCWlzc3VlckFuZFNlcmlhbE51bWJlciBJc3N1ZXJBbmRTZXJpYWxOdW1iZXIsCglzdWJqZWN0S2V5SWRlbnRpZmllciBbMF0gU3ViamVjdEtleUlkZW50aWZpZXIKfQpwa2NzLTctU2lnbmVySW5mb3MgOjo9IFNFVCBPRiBwa2NzLTctU2lnbmVySW5mbwpwa2NzLTEwLUNlcnRpZmljYXRpb25SZXF1ZXN0SW5mbyA6Oj0gU0VRVUVOQ0UgewogICAgIHZlcnNpb24gICAgICAgSU5URUdFUiB7IHYxKDApIH0sCiAgICAgc3ViamVjdCAgICAgICBOYW1lLAogICAgIHN1YmplY3RQS0luZm8gU3ViamVjdFB1YmxpY0tleUluZm8sCiAgICAgYXR0cmlidXRlcyAgICBbMF0gQXR0cmlidXRlcwp9CkF0dHJpYnV0ZXMgOjo9IFNFVCBPRiBBdHRyaWJ1dGUKcGtjcy0xMC1DZXJ0aWZpY2F0aW9uUmVxdWVzdCA6Oj0gU0VRVUVOQ0UgewogICAgIGNlcnRpZmljYXRpb25SZXF1ZXN0SW5mbyBwa2NzLTEwLUNlcnRpZmljYXRpb25SZXF1ZXN0SW5mbywKICAgICBzaWduYXR1cmVBbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzCnViLXRlcm1pbmFsLWlkLWxlbmd0aCBJTlRFR0VSIDo6PSAyNAp1Yi11bmZvcm1hdHRlZC1hZGRyZXNzLWxlbmd0aCBJTlRFR0VSIDo6PSAxODAKdWIteDEyMS1hZGRyZXNzLWxlbmd0aCBJTlRFR0VSIDo6PSAxNgpwa2NzLTctQ29udGVudEluZm8gOjo9IFNFUVVFTkNFIHsKICBjb250ZW50VHlwZSBPQkpFQ1QgSURFTlRJRklFUiwKICBjb250ZW50IFswXSBFWFBMSUNJVCBBTlkgREVGSU5FRCBCWSBjb250ZW50VHlwZSB9CnBrY3MtNy1EaWdlc3RJbmZvIDo6PSBTRVFVRU5DRSB7CiAgZGlnZXN0QWxnb3JpdGhtIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgZGlnZXN0IE9DVEVUIFNUUklORwp9CnBrY3MtNy1TaWduZWREYXRhIDo6PSBTRVFVRU5DRSB7CiAgdmVyc2lvbiBJTlRFR0VSLAogIGRpZ2VzdEFsZ29yaXRobXMgcGtjcy03LURpZ2VzdEFsZ29yaXRobUlkZW50aWZpZXJzLAogIGVuY2FwQ29udGVudEluZm8gcGtjcy03LUVuY2Fwc3VsYXRlZENvbnRlbnRJbmZvLAogIGNlcnRpZmljYXRlcyBbMF0gSU1QTElDSVQgcGtjcy03LUNlcnRpZmljYXRlU2V0IE9QVElPTkFMLAogIGNybHMgWzFdIElNUExJQ0lUIHBrY3MtNy1DZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0cyBPUFRJT05BTCwKICBzaWduZXJJbmZvcyBwa2NzLTctU2lnbmVySW5mb3MKfQpwa2NzLTctRGlnZXN0QWxnb3JpdGhtSWRlbnRpZmllcnMgOjo9IFNFVCBPRiBBbGdvcml0aG1JZGVudGlmaWVyCnBrY3MtNy1FbmNhcHN1bGF0ZWRDb250ZW50SW5mbyA6Oj0gU0VRVUVOQ0UgewogIGVDb250ZW50VHlwZSBPQkpFQ1QgSURFTlRJRklFUiwKICBlQ29udGVudCBbMF0gRVhQTElDSVQgQU5ZIE9QVElPTkFMIH0KcGtjcy03LUNlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3RzIDo6PSBTRVQgT0YgQU5ZCnBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMgOjo9IENIT0lDRSB7CiAgY2VydGlmaWNhdGUgQU5ZCn0KcGtjcy03LUNlcnRpZmljYXRlU2V0IDo6PSBTRVQgT0YgcGtjcy03LUNlcnRpZmljYXRlQ2hvaWNlcwpJc3N1ZXJBbmRTZXJpYWxOdW1iZXIgOjo9IFNFUVVFTkNFIHsKCWlzc3VlciBOYW1lLAoJc2VyaWFsTnVtYmVyIENlcnRpZmljYXRlU2VyaWFsTnVtYmVyCn0KcGtjcy03LVNpZ25lckluZm8gOjo9IFNFUVVFTkNFIHsKICAgICB2ZXJzaW9uIElOVEVHRVIsCiAgICAgc2lkIFNpZ25lcklkZW50aWZpZXIsCiAgICAgZGlnZXN0QWxnb3JpdGhtIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICAgc2lnbmVkQXR0cnMgWzBdIElNUExJQ0lUIFNpZ25lZEF0dHJpYnV0ZXMgT1BUSU9OQUwsCiBdICAgc2lnbmF0dXJlQWxnb3JpdGhtIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICAgc2lnbmF0dXJlIE9DVEVUIFNUUklORywKICAgICB1bnNpZ25lZEF0dHJ1dGVzKSBPRiBUZWxldGV4RG9tYWluRGVmaW5lZEF0dHJpYnV0ZQpUZWxldGV4RG9tYWluRGVmaW5lZEF0dHJpYnV0ZSA6Oj0gU0VRVUVOQ0UgewogICAgICAgIHR5cGUgVGVsZXRleFN0cmluZwogICAgICAgICAgICAgICAoU0laRSAoMS4udWItZG9tYWluLWRlZmluZWQtYXR0cmlidXRlLXR5cGUtbGVuZ3RoKSksCiAgICAgICAgdmFsdWUgVGVsZXRleFN0cmluZwogICAgICAgICAgICAgICAoU0laRSAoMS4udWItZG9tYWluLWRlZmluZWQtYXR0cmlidXRlLXZhbHVlLWxlbmd0aCkpIH0KdWItbmFtZSBJSlRFR0VSIDo6PSAgICAgMzI3NjgKdWItY29tbW9uLW5hbWUgIElOVEVHRVIgOjo9ICAgICA2NAp1Yi1sb2NhbGl0eS1uYW1lICAgICAgICBJTlRFR0VSIDo6yt/f3yAgMTI4CnViLXN0YXRlLW5hbWUgICBJTlRFR0VSIDo6PSAgICAgMTI4CnViLW9yZ2FuaXphdGlvbi1uYW1lICAgIElOcy03LUNlcnRpZmljYXRlQ2hvaWNlcyA6Oj0gQ0hPSUNFIHsKICBjZXJ0aWZpY2F0ZSBBTlkKfQpwa2NzLTctQ2VydGlmaWNhdGVTZXQgOjo9IFNFVCBPRiBwa2NzLTctQ2VydGlmaWNhdGVDaG9pY2VzCklzc3VlckFuZFNlcmlhbE51bWJlciA6Oj0gU0VRVUVOQ0UgewoJaXNzdWVyIE5hbWUsCglzZXJpYWxOdW1iZXIgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIKfQpwa2NzLTctU2lnbmVySW5mbyA6Oj0gU0VRVUVOQ0UgewogICAgIHZlcnNpb24gSU5URUdFUiwKICAgICBzaWQgU2lnbmVySWRlbnRpZmllciwKICAgICBkaWdlc3RBbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzaWduZWRBdHRycyBbMF0gSU1QTElDSVQgU2lnbmVkQXR0cmlidXRlcyBPUFRJT05BTCwKIF0gICBzaWduYXR1cmVBbGdvcml0aG0gQWxnb3JpdGhtSWRlbnRpZmllcixuZm8gOjo9IFNFUVVFTkNFIHsKICBlQ29udGVudFR5cGUgT0JKRUNUIElERU5USUZJRVIsCiAgZUNvbnRlbnQgWzBdIEVYUExJQ0lUIEFOWSBPUFRJT05BTCB9CnBrY3MtNy1DZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0cyA6Oj0gU0VUIE9GIEFOWQpwa2NzLTctQ2VydGlmaWNhdGVDaG9pY2VzIDo6PSBDSE9JQ0UgewogIGNlcnRpZmljYXRlIEFOWQp9CnBrY3MtNy1DZXJ0aWZpY2F0ZVNldCA6Oj0gU0VUIE9GIHBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMKSXNzdWVyQW5kIDo6PSBDSE9JQ0UgewogIGNlcnRpZmljYXRlIEFOWQp9CnBrY3MtNy1DZXJ0aWZpY2F0ZVNldCA6Oj0gU0VUIE9GIHBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMKSXNzdWVyQW5kU2VyaWFsTnVtYmVyIDo6PSBTRVFVRU5DRSB7Cglpc3N1ZXIgTmFtZSwKCXNlcmlhbE51bWJlciBDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlcgp9CnBrY3MtNy1TaWduZXJJbmZvIDo6PSBTRVFVRU5DRSB7CiAgICAgdmVyc2lvbiBJTlRFR0VSLAogICAgIHNpZCBTaWduZXJJZGVudGlmaWVyLAogICAgIGRpZ2VzdEFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgIHNpZ25lZEF0dHJzIFswXSBJTVBMSUNJVCBTaWduZWRBdHRyaWJ1dGVzIE9QVElPTkFMLAogXSAgIHNpZ25hdHVyZUFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLG5mbyA6Oj0gU0VRVUVOQ0UgewogIGVDb250ZW50VHlwZSBPQkpFQ1QgSURFTlRJRklFUiwKICBlQ29udGVudCBbMF0gRVhQTElDSVQgQU5ZIE9QVElPTkFMIH0KcGtjcy03LUNlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3RzIDo6PSBTRVQgT0YgQU5ZCnBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMgOjo9IENIT0lDRSB7CiAgY2VydGlmaWNhdGUgQU5ZCn0KcGtjcy03LUNlcnRpZmljYXRlU2V0IDo6PSBTRVQgT0YgcGtjcy03LUNlcnRpZmljYXRlQ2hvaWNlcwpJc3N1ZXJBbmRTZXJpYWxOdW1iZXIgOjo9IFNFUVVFTkNFIHsKCWlzc3VlciBOYW1lLAoJc2VyaWFsTnVtYmVyY2F0ZVJldm9jYXRpb25MaXN0cyA6Oj0gU0VUIE9GIEFOWQpwa2NzLTctQ2VydGlmaWNhdGVDaG9pY2VzIDo6PSBDSE9JQ0UgewogIGNlcnRpZmljYXRlIEFOWQp9CnBrY3MtNy1DZXJ0aWZpY2F0ZVNldCA6Oj0gU0VUIE9GIHBrY3MtNy1DZXJ0aWZpY2F0ZUNob2ljZXMKSXNzdWVyQW5kU2VyaWFsTnVtYmVyIDo6PSBTRVFVRU5DRSB7Cglpc3N1ZXIgTmFtZSwKCXNlcmlhbE51bWJlciBDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlcgp9CnBrY3MtNy1TaWduZXJJbmZvIDo6PSBTRVFVRU5DRSB7CiAgICAgdmVyc2lvbiBJTlRFR0VSLAogICAgIHNpZCBTaWduZXJJZGVudGlmaWVyLAogICAgIGRpZ2VzdEFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgIHNpZ25lZEF0dHJzIFswXSBJTVBMSUNJVCBTaWduZWRBdHRyaWJ1dGVzIE9QVElPTkFMLAogXSAgIHNpZ25hdHVyZUFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgIHNpZ25hdHVyZSBPQ1RFVCBTVFJJTkcsCiAgICAgdW5zaWduZWRBdHRycyBbMV0gSU1QTElDSVQgU2lnbmVkQXR0cmlidXRlcyBPUFRJT05BTCB9IDI1NQpwa2NzLTktY2VydFR5cGVzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7UHJpbnRhIDI=