UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNjb25zaWRlcmluZyBkcm9wcGluZyBpdC4gLS0KICAgICAgaWE1U3RyaW5nICAgICAgICAgICAg4N/ftr7KrIZyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KU3ViamVjdEFsdE5hbWUgKjo9IEdlbmVyYWxOYW1lcwpHZW5lcmFsTmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgR2VuZXJhbE5hbWUgICAgIHR5cGUgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlcyAgU0VUIE9GIEF0dHJpYnV0ZVZhbHVlCiAgICAgICAgICAgICAgICAtLSBhdCBsZWFzdCBvbmUgdmFsdWUgaXMgcmVxdWlyZWQgLS0KfQpBdHRyaWJ1dGVUeXBlICAgICAgICAgICA6Oj0gICBPQkpFQ1QgSURFTlRJRklFUgpBdHRyaWJ1dGVWYWx1ZSAgICAgICAgICA6Oj0gICBBTlkgREVGSU5FRCBCWSB0eXBlCkF0dHJpYnV0ZVR5cGVBbmRWYWx1ZSAgICAgICAgICAgOjo9ICAgICBTRVFVRU5DRSB7CiAgICAgICAgdHlwZSAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlICAgQXR0cmlidXRlVmFsdWUgfQppZC1hdCAgICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgNH0KaWQtYXQtaW5pdGlhbHMgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MyB9Clg1MjBpbml0aWFscyA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWdlbmVyYXRpb25RdWFsaWZpZXIgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0NCB9Clg1MjBnZW5lcmF0aW9uUXWYk2lmaWVyIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3VybmFtZSAgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0IH0KWDUyMHN1ck5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1naXZlbk5hbWUgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQyIH0KWDUyMGdpdmVuTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW5hbWUgICAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDEgfQpYNTIwbmFtZSAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1jb21tb25OYW1lICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgM30KWDUyMENvbW1vbk5hbWUgIDo6PSAgICAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1sb2NhbGl0eU5hbWUgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgN30KWDUyMExvY2FsaXR5TmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN0YXRlT3JQcm92aW5jZU5hbWUgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDh9Clg1MjBTdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25OYW1lICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMH0KWDUyME9yZ2FuaXphdGlvbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25hbFVuaXROYW1lICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMX0KWDUyME9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC10aXRsZSAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEyfQpYNTIwVGl0bGUgOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRlc2NyaXB0aW9uICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTN9Clg1MjBEZXNjcmlwdGlvbiA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZG5RdWFsaWZpZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDQ2fQpYNTIwZG5RdWFsaWZpZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtY291bnRyeU5hbWUgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDZ9Clg1MjBjb3VudHJ5TmFtZSA6Oj0gICAgIFByaW50YWJsZVN0cmluZyAoU0laRSAoMikpIC0tIElTIDMxNjYgY29kZXMKaWQtYXQtc2VyaWFsTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA1fQpYNTIwc2VyaWFsTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMjB9Clg1MjB0ZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAyM30KWDUyMGZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC1wc2V1ZG9ueW0JCUF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA2NX0KWDUyMHBzZXVkb255bSA6Oj0JRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW5hbWUJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLXRhIDQxfQpYNTIwbmFtZSA6Oj0JRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN0cmVldEFkZHJlc3MJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDl9Clg1MjBzdHJlZXRBZGRyZXNzIDo6PQlEaXJlY3RvcnlTdHJpbmcKaWQtYXQtcG9zdGFsQWRkcmVzcwlBdHRyaWJ1dGVUeXBlCTo6PQl7aWQtYXQgMTZ9Clg1MjBwb3N0YWxBZGRyZXNzIDo6PSBQb3N0YWxBZGRyZXNzClBvc3RhbEFkZHJlc3MgOjo9IFNFUVVFTkNFIE9GIERpcmVjdG9yeVN0cmluZwogLS0gTGVnYWMgT0JKRUNUIElERU5USUZJRVIKQXR0cmlidXRlVmFsdWUgICAgICAgICAgOjo9ICAgQU5ZIERFRklORUQgQlkgdHlwZQpBdHRyaWJ1dGVUeXBlQW5kVmFsdWUgICAgICAgICAgIDo6PSAgICAgU0VRVUVOQ0UgewogICAgICAgIHR5cGUgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZSAgIEF0dHJpYnV0ZVZhbHVlIH0KaWQtYXQgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDUpIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDQgfQpYNTIwZ2VuZXJhdGlvblF1mJNpZmllciA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN1cm5hbWUgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNCB9Clg1MjBzdXJOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZ2l2ZW5OYW1lICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MiB9Clg1MjBnaXZlbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1uYW1lICAgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQxIH0KWDUyMG5hbWUgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtY29tbW9uTmFtZSAgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDN9Clg1MjBDb21tb25OYW1lICA6Oj0gICAgICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtbG9jYWxpdHlOYW1lICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDd9Clg1MjBMb2NhbGl0eU5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1zdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA4fQpYNTIwU3RhdGVPclByb3ZpbmNlTmFtZSAgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uTmFtZSAgICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXROYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRuUXVhbGlmaWVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0Nn0KWDUyMGRuUXVhbGlmaWVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWNvdW50cnlOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA2fQpYNTIwY291bnRyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0KWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMjN9Clg1MjBmYWNzaW1pbGVUZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtcHNldWRvbnltCQlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNjV9Clg1MjBwc2V1ZG9ueW0gOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1uYW1lCTo6PSAgIENIT0lDRSB7IC0tIG9ubHkgb25lIHBvc3NpYmlsaXR5IGZvciBub3cgLS0KaWVySWQgfQpQb2xpY3lRdWFsaWZpZXJJZCA6Oj0KICAgIE9CSkVDVCBJREVOVElGSUVSICAtLSAoIGlkLXF0LWNwcyB8IGlkLXF0LXVub3RpY2UgKQpDUFN1cmkgOjo9IElBNVN0cmluZwpVc2VyTm90aWNlIDo6PSBTRVFVRU5DRSB7CiAgICAgbm90aWNlUmVmICAgICAgICBOb3RpY2VSZWZlcmVuY2UgT1BUSU9OQUwsCiAgICAgZXhwbGljaXRUZXh0ICAgICBEaXNwbGF5VGV4dCBPUFRJT05BTH0KTm90aWNlUmVmZXJlbmNlIDo6PSBTRVFVRU5DRSB7CiAgICAgb3JnYW5pemF0aW9uICAgICBEaXNwbGF5VGV4dCwKICAgICBub3RpY2VOdW1iZXJzICAgIFNFUVVFTkNFIE9GIElOVEVHRVIgfQpEaXNwbGF5VGV4dCA6Oj0gQ0hPSUNFIHsKICAgICB2aXNpYmxlU3RyaTo6PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDUpIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDQgfQpYNTIwZ2VuZXJhdGlvblF1mJNpZmllciA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN1cm5hbWUgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNCB9Clg1MjBzdXJOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZ2l2ZW5OYW1lICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MiB9Clg1MjBnaXZlbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1uYW1lICAgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQxIH0KWDUyMG5hbWUgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtY29tbW9uTmFtZSAgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDN9Clg1MjBDb21tb25OYW1lICA6Oj0gICAgICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtbG9jYWxpdHlOYW1lICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDd9Clg1MjBMb2NhbGl0eU5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1zdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA4fQpYNTIwU3RhdGVPclByb3ZpbmNlTmFtZSAgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uTmFtZSAgICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXROYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRuUXVhbGlmaWVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0Nn0KWDUyMGRuUXVhbGlmaWVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWNvdW50cnlOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA2fQpYNTIwY291bnRyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0KWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMjN9Clg1MjBmYWNzaW1pbGVUZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtcHNldWRvbnltCQlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNjV9Clg1MjBwc2V1ZG9ueW0gOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1uYW1lCUF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC10YSA0MX0KWDUyMG5hbWUgOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1zdHJlZXRBZGRyZXNzCUF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgam9pbnQtaXNvLWNjaXR0KDIpIGRzKDUpIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDQgfQpYNTIwZ2VuZXJhdGlvblF1YWxpZmllciA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN1cm5hbWUgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNCB9Clg1MjBzdXJOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZ2l2ZW5OYW1lICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MiB9Clg1biBlbnVtZXJhdGlvbgpFTkQK