IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmVuaWFuIC8gU2xvdmVuc2tvCiIgTWFpbnRhaW5lcjoJCU1vamNhIE1pa2xhdmVjIDxtb2pjYS5taWtsYXZlYy5saXN0c0BnbWFpbC5jb20+CiIgT3JpZ2luYWxseSBCeToJTW9qY2EgTWlrbGF2ZWMgPG1vamNhLm1pa2xhdmVjLmxpc3RzQGdtYWlsLmNvbT4KIiBMYXN0IENoYW5nZToJCU1vbiwgMTIgSnVuIDIwMDYgMDA6MDA6MDAgQ0VTVAoiIHZpbTpzZXQgZm9sZG1ldGhvZD1tYXJrZXIgdGFic3RvcD04OgoKIiBUT0RPOiBhZGQvY2hlY2sgYWxsICcmJ3MKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCmxldCBzOmtlZXBjcG89ICZjcG8Kc2V0IGNwbyZ2aW0KCnNjcmlwdGVuY29kaW5nIGxhdGluMgoKIiB7e3sgRklMRSAvIERBVE9URUtBCm1lbnV0cmFucyAmRmlsZQkJCQkmRGF0b3Rla2EKbWVudXRyYW5zICZPcGVuXC5cLlwuPFRhYj46ZQkJJk9kcHJpXCBcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCU9kcHJpXCBkZSZsamVub1wgXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zIE9wZW5cIFRhYlwuXC5cLjxUYWI+OnRhYm5ldwlPZHByaVwgdlwgemF2aSZoa3VcIFwuXC5cLjxUYWI+OnRhYm5ldwptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOb3ZhPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZaYXByaTxUYWI+OmNsb3NlCm1lbnV0cmFucyAmU2F2ZTxUYWI+OncJCQkmU2hyYW5pPFRhYj46dwptZW51dHJhbnMgU2F2ZVwgJkFzXC5cLlwuPFRhYj46c2F2CVNocmFuaVwgJmtvdFwgXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyAmUHJpbnQJCQlOYSZ0aXNuaQptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJU2hyYW5pXCBpblwgJmtvbuhhajxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZJemhvZDxUYWI+OnFhCgppZiBoYXMoImRpZmYiKQogICAgbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglQcmltZXJqYWpcIHpcIChkaSZmZilcIFwuXC5cLgogICAgbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JJlBvcHJhdmlcIHpcIChwYXRjaClcIFwuXC5cLgplbmRpZgoiIH19fSBGSUxFIC8gREFUT1RFS0EKCiIge3t7IEVESVQgLyBVUkVESQptZW51dHJhbnMgJkVkaXQJCQkJJlVyZWRpCm1lbnV0cmFucyAmVW5kbzxUYWI+dQkJCSZSYXp2ZWxqYXZpPFRhYj51Cm1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQkmT2Jub3ZpPFRhYj5eUgptZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCVBvJm5vdmk8VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmSXpyZb5pPFRhYj4iK3gKbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQkmS29waXJhajxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCSZQcmlsZXBpPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlWcmluaVwgcHJlZDxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJVnJpbmlcIHphPFRhYj5dcAptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCUl6JmJyablpPFRhYj54Cm1lbnV0cmFucyAmU2VsZWN0XCBhbGw8VGFiPmdnVkcJCUl6YmVyaVwgdnNlPFRhYj5nZ1ZHCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCVBvJmm56GlcIFwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLglQb2m56GlcIGluXCAmemFtZW5qYWpcIFwuXC5cLgoKIiBbLS0gU0VUVElOR1MgLS1dCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJCQlOYXN0YXZpdHZlXCBcLlwuXC4KbWVudXRyYW5zIFN0YXJ0dXBcICZTZXR0aW5ncwkJCQlaYehldG5lIG5hc3Rhdml0dmUKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkJCSZHbG9iYWxuZVwgbmFzdGF2aXR2ZQoKbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQlWa2xqdehpL2l6a2xqdehpXCBwb3VkYXJqYW5qZVwgaXNrYW5lZ2FcIG5pemE8VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCVZrbGp16GkvaXprbGp16GlcIGxv6GV2YW5qZVwgdmVsaWtpaFwgaW5cIG1hbGloXCDocms8VGFiPjpzZXRcIGljIQptZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJCVZrbGp16GkvaXprbGp16GlcIGtyYXRla1wgc2tva1wgbmFcIHByaXBhZGFqb+hpXCBva2xlcGFqPFRhYj46c2V0XCBzbSEKCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCQkJqXRcLlwgdmlkbmloXCB2cnN0aWNcIHByZWQvemFcIGt1cnpvcmplbQoKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkJCURvdm9saVwgcG9sb75halwga2F6YWzoa2EsXCBramVyXCBuaVwgYmVzZWRpbGEKbWVudXRyYW5zIE5ldmVyCQkJCQkJTmlrb2xpCm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCUxlXCBtZWRcIGl6YmlyYW5qZW1cIGJsb2thCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQkJCUxlXCB2XCBuYehpbnVcIHphXCBwaXNhbmplCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCQkJUHJpXCBvYm9qZW0KbWVudXRyYW5zIEFsd2F5cwkJCQkJVmVkbm8KbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hCQlWa2xqdehpL2l6a2xqdehpXCBuYehpblwgemFcIHBpc2FuamU8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJVmtsanXoaS9pemtsanXoaVwgemRydb5saml2b3N0XCB6XCBWaS1qZW08VGFiPjpzZXRcIGNwIQoKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCQkJUG90XCB6YVwgaXNrYW5qZVwgXC5cLlwuCm1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCQlUYSZnLWRhdG90ZWtlXC5cLlwuCgptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCQlQb2thvmkvc2tyaWpcIE9yb2RqYQptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQlQb2thvmkvc2tyaWpcIHNwb2RuamlcIGRyc25pawptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJUG9rYb5pL3NrcmlqXCBsZXZpXCBkcnNuaWsKbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCQlQb2thvmkvc2tyaWpcIGRlc25pXCBkcnNuaWsKCiIgRWRpdC9GaWxlIFNldHRpbmdzCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCQkJJk5hc3Rhdml0dmVcIGRhdG90ZWtlCgoiIEJvb2xlYW4gb3B0aW9ucwptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJUG9rYb5pL3NrcmlqXCC5dGV2aWxrZVwgdnJzdGljPFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQlQb2thvmkvc2tyaWpcIG5ldmlkbmVcIHpuYWtlPFRhYj46c2V0XCBsaXN0ISAiIHNwYWNlL3RhYgptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCVZrbGp16GkvaXprbGp16GlcIHByZWxvbWVcIHZyc3RpYzxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCVZrbGp16GkvaXprbGp16GlcIHByZWxvbWVcIHZyc3RpY1wgbWVkXCBiZXNlZGFtaTxUYWI+OnNldFwgbGJyIQptZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQlWa2xqdehpL2l6a2xqdehpXCB6YW1lbmphdm9cIHRhYnVsYXRvcmpldlwgc1wgcHJlc2xlZGtpPFRhYj46c2V0XCBldCEKbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCVZrbGp16GkvaXprbGp16GlcIGF2dG9tYXRza29cIHphbWlrYW5qZVwgdnJzdGljPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQlWa2xqdehpL2l6a2xqdehpXCBDLWpldnNraVwgbmHoaW5cIHphbWlrYW5qYVwgdnJzdGljPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQmpaXJpbmFcIHphbWlrYVwgdnJzdGljCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQmpaXJpbmEgJnRhYnVsYXRvcmphCm1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCQkJqWlyaW5hXCBiZXNlZGlsYVwgXC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCUZvcm1hdFwgJmRhdG90ZWtlXCBcLlwuXC4KbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQkJCSZCYXJ2bmFcIHNoZW1hXCBcLlwuXC4KbWVudXRyYW5zICZLZXltYXAJCQkJCSZLZXltYXAKbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCQkJUGlzYXZhXCBcLlwuXC4KIiB9fX0gRURJVCAvIFVSRURJCgoiIHt7eyAgVE9PTFMgLyBPUk9ESkEKbWVudXRyYW5zICZUb29scwkJCQkJJk9yb2RqYQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkJCSZTa2/oaVwga1wgdGVqXCB6bmHoa2k8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQkJCVNrb+hpXCBOYSZ6YWo8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCQkJTmFwcmF2aVwgZGF0b3Rla2VcIHpcIHpuYehrYW1pXCAodGFnKQppZiBoYXMoInNwZWxsIikKICAgIG1lbnV0cmFucyAmU3BlbGxpbmcJCQkJCchya292YWxuaWsKICAgIG1lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJCQkmVmtsanXoaQogICAgbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJCSZJemtsanXoaQogICAgbWVudXRyYW5zIFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zCQkJS1wgJm5hc2xlZG5qaVwgbmFwYWtpPFRhYj5dcwogICAgbWVudXRyYW5zIFRvXCAmUHJldmlvdXNcIGVycm9yPFRhYj5bcwkJS1wgJnByZWq5bmppXCBuYXBha2k8VGFiPltzCiAgICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkJUHJlZGxhZ2FqXCBwb3ByYXZlazxUYWI+ej0KICAgIG1lbnV0cmFucyAmUmVwZWF0XCBjb3JyZWN0aW9uPFRhYj46c3BlbGxyZXBhbGwJUG8mbm92aVwgcG9wcmF2a2VcIG5hXCB2c2VoXCBiZXNlZGFoPFRhYj46c3BlbGxyZXBhbGwKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIgkJCchya292YWxuaWs6XCBhbmdsZblraVwgImVuIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fYXUiCQnIcmtvdmFsbmlrOlwgYW5nbGW5a2lcICJlbl9hdSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJyHJrb3ZhbG5pazpcIGFuZ2xluWtpXCAiZW5fY2EiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9nYiIJCchya292YWxuaWs6XCBhbmdsZblraVwgImVuX2diIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fbnoiCQnIcmtvdmFsbmlrOlwgYW5nbGW5a2lcICJlbl9ueiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJyHJrb3ZhbG5pazpcIGFuZ2xluWtpXCAiZW5fdXMiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJzbCIJCQnIcmtvdmFsbmlrOlwgc2xvdmVuc2tpXCAic2wiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJkZSIJCQnIcmtvdmFsbmlrOlwgbmVtuWtpXCAiZGUiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cIAkJCchya292YWxuaWs6XAogICAgbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJCQkmT3N0YWxpXCBqZXppa2kKZW5kaWYKaWYgaGFzKCJmb2xkaW5nIikKICBtZW51dHJhbnMgJkZvbGRpbmcJCQkJCVphdmloZWsKICAiIG9wZW4gY2xvc2UgZm9sZHMKICBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCU9tb2dv6Gkvb25lbW9nb+hpXCB6YXZpaGtlPFRhYj56aQogIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJCVBva2G+aVwgdnJzdGljb1wgc1wga2F6YWxjZW08VGFiPnp2ICIga2plciBqZSBrYXphbGVjCiAgbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJCVBva2G+aVwgc2Ftb1wgdnJzdGljb1wgc1wga2F6YWxjZW08VGFiPnpNengKICBtZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JCQlaYXByaVwgdmXoXCB6YXZpaGtvdjxUYWI+em0KICBtZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJCVphcHJpXCB2c2VcIHphdmloa2U8VGFiPnpNCiAgbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJCQlPZHByaVwgdmXoXCB6YXZpaGtvdjxUYWI+enIKICBtZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCQkJT2RwcmlcIHZzZVwgemF2aWhrZTxUYWI+elIKICAiIGZvbGQgbWV0aG9kCiAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQkJVXN0dmFyamFuamVcIHphdmloa292CiAgbWVudXRyYW5zIE0mYW51YWwJCQkJCSZSb+hubwogIG1lbnV0cmFucyBJJm5kZW50CQkJCQlHbGVkZVwgbmFcICZwb3Jhdm5hdm8KICBtZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkJCVpcICZpenJhemlcIChmb2xkZXhwcikKICBtZW51dHJhbnMgUyZ5bnRheAkJCQkJR2xlZGVcIG5hXCAmc2ludGFrc28KICBtZW51dHJhbnMgJkRpZmYJCQkJCVJhemxpa2VcICgmZGlmZikKICBtZW51dHJhbnMgTWEmcmtlcgkJCQkJWlwgJm1hcmtlcmppL296bmHoYmFtaQogICIgY3JlYXRlIGFuZCBkZWxldGUgZm9sZHMKICAiIFRPRE8gYWNjZWxlcmF0b3JzCiAgbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQkJVXN0dmFyaVwgemF2aWhlazxUYWI+emYKICBtZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCQlJemJyablpXCB6YXZpaGVrPFRhYj56ZAogIG1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAkJCUl6YnJpuWlcIHZzZVwgemF2aWhrZTxUYWI+ekQKICAiIG1vdmluZyBhcm91bmQgaW4gZm9sZHMKICBtZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCQmpaXJpbmFcIHN0b2xwY2FcIHpcIHphdmloa29tCmVuZGlmICAiIGhhcyBmb2xkaW5nCgppZiBoYXMoImRpZmYiKQogIG1lbnV0cmFucyAmRGlmZgkJCQkJUmF6bGlrZVwgKCZEaWZmKQogIG1lbnV0cmFucyAmVXBkYXRlCQkJCQkmUG9zb2RvYmk8VGFiPgogIG1lbnV0cmFucyAmR2V0XCBCbG9jawkJCQkJJlNwcmVqbWlcIChzcHJlbWVuaVwgdG9cIG9rbm8pICIgVE9ETzogY2hlY2sgaWYgdHJhbnNsYXRpb24gaXMgT0sKICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkJCSZQb7lsamlcIChzcHJlbWVuaVwgZHJ1Z29cIG9rbm8pCmVuZGlmCgptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCU5hcHJhdmlcICgmbWFrZSk8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCQkJUG9rYb5pXCBuYXBha2U8VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCQkJUG9rYb5pXCBzcG9yb+hpbGE8VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQkJCUtcICZuYXNsZWRuamlcIG5hcGFraTxUYWI+OmNuCm1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJCQlLXCAmcHJlarluamlcIG5hcGFraTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCQkJS1wgJnN0YXJlarllbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkJCUtcICZub3ZlarllbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y25ldwoKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQkJCU9rbm9cIHpcIG5hcGFrYW1pCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJCQkmUG9zb2RvYmk8VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQkJCSZPZHByaTxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCQkJJlphcHJpPFRhYj46Y2Nsb3NlCgptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCQkJTmFzdGF2aVwgJnByZXZhamFsbmlrCm1lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJCQlOYXN0YXZpXCAmcHJldmFqYWxuaWsgIiBidWcgaW4gb3JpZ2luYWwgdHJhbnNsYXRpb24/CgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAkJCVByZXR2b3JpXCB2XCBIRSZYPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJUHJldHZvcmlcIG5hemFqPFRhYj46JSF4eGRcIC1yCiIgfX19ICBUT09MUyAvIE9ST0RKQQoKIiB7e3sgU1lOVEFYIC8gQkFSVkFOSkUgS09ERQptZW51dHJhbnMgJlN5bnRheAkJCQkmQmFydmFuamVcIGtvZGUKbWVudXRyYW5zICZTaG93XCBmaWxldHlwZXNcIGluXCBtZW51CQlQb2RwcnRlXCB2cnN0ZVwgZGF0b3RlawptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCQlTYW1vXCBiYXJ2YW5qZVwgKCcmc3ludGF4JykKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJCVR1ZGlcIG9ibmG5YW5qZVwgKCcmZmlsZXR5cGUnKQptZW51dHJhbnMgJk9mZgkJCQkJJkl6a2xqdehlbm8KbWVudXRyYW5zICZNYW51YWwJCQkJJlJv6G5vCm1lbnV0cmFucyBBJnV0b21hdGljCQkJCSZBdnRvbWF0c2tvCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJCVZrbGp16GkvaXprbGp16GlcIHphXCB0b1wgZGF0b3Rla28KbWVudXRyYW5zIENvJmxvclwgdGVzdAkJCQlQcmVpemt1c1wgYmFydgptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJCVByZWl6a3VzXCBiYXJ2YW5qYVwga29kZQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkJUHJldHZvcmlcIHZcICZIVE1MCiIgfX19IFNZTlRBWCAvIEJBUlZBTkpFIEtPREUKCiIge3t7IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKbWVudXRyYW5zICZCdWZmZXJzCQkJCQkmTWVkcG9tbmlsbmlrICIgWFhYOiBuaSBuYWpib2xqZTogb2tubyBiaSBib2xqIHByaXN0YWphbG8sIGFtcGFrIG9rbm8gamUgvmUKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQkJCSZPc3ZlvmkKbWVudXRyYW5zIERlbGV0ZQkJCQkJJkJyablpCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkJCQkmTWVuamFqCm1lbnV0cmFucyAmTmV4dAkJCQkJCSZOYXNsZWRuamkKbWVudXRyYW5zICZQcmV2aW91cwkJCQkJJlByZWq5bmppCm1lbnV0cmFucyBbTm9cIEZpbGVdCQkJCQlbQnJlelwgZGF0b3Rla2VdCiIgfX19IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKCiIge3t7IFdJTkRPVyAvIE9LTk8KbWVudXRyYW5zICZXaW5kb3cJCQkmT2tubwptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5vdm88VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCVJhemRlbGk8VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJUmF6ZGVsaVwgbmF2cGnobm88VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglSYXpkZWxpOlwgVnNlYmluYVwgbWFwZQptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglSYXpkZWxpXCB2XCAjPFRhYj5eV15eCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJJlphcHJpPFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwlaYXByaVwgJm9zdGFsYTxUYWI+XldvCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlQcmVtYWtuaQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJJkdvcjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZEb2w8VGFiPl5XSgptZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJkxldm88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCSZEZXNubzxUYWI+XldMCm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlaYXZydGlcIG5hdnpnb3I8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlaYXZydGlcIG5hdnpkb2w8VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCSZFbmFrYVwgdmVsaWtvc3Q8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU5hanZpuWplPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTmFqbmm+amU8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlOYWq5aXK5ZTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlOYWpvvmplPFRhYj5eVzFcfAoiIH19fSBXSU5ET1cgLyBPS05PCgoiIHt7eyBIRUxQIC8gUE9NT8gKbWVudXRyYW5zICZIZWxwCQkJJlBvbW/oCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JSGl0cmlcIHByZWdsZWQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCVAmcmlyb+huaWsKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZIb3ctdG9cIGthemFsbwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCVBvJmm56GlcIFwuXC5cLgkiIGNvbmZsaWN0cyB3aXRoIEVkaXQuRmluZAptZW51dHJhbnMgJkNyZWRpdHMJCSZBdnRvcmppCm1lbnV0cmFucyBDbyZweWluZwkJJkxpY2VuY2EKbWVudXRyYW5zICZTcG9uc29yL1JlZ2lzdGVyCVJlZ2lzdHJhY2lqYVwgaW5cICZkb25hY2lqZQptZW51dHJhbnMgTyZycGhhbnMJCSZTaXJvdGFtCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnppamEKbWVudXRyYW5zICZBYm91dAkJJk9cIHByb2dyYW11CiIgfX19IEhFTFAgLyBQT01PyAoKIiB7e3sgUE9QVVAKbWVudXRyYW5zICZVbmRvCQkJCSZSYXp2ZWxqYXZpCm1lbnV0cmFucyBDdSZ0CQkJCSZJenJlvmkKbWVudXRyYW5zICZDb3B5CQkJCSZLb3BpZXJhagptZW51dHJhbnMgJlBhc3RlCQkJJlByaWxlcGkKbWVudXRyYW5zICZEZWxldGUJCQkmWmJyablpCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQkJSXpiaXJhalwgcG9cIGJsb2tpaAptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJCUl6YmVyaVwgJmJlc2VkbwptZW51dHJhbnMgU2VsZWN0XCAmU2VudGVuY2UJCUl6YmVyaVwgJnN0YXZlawptZW51dHJhbnMgU2VsZWN0XCBQYSZyYWdyYXBoCQlJemJlcmlcICZvZHN0YXZlawptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJCUl6YmVyaVwgdnJzJnRpY28KbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCQlJemJlcmlcIGImbG9rCm1lbnV0cmFucyBTZWxlY3RcICZBbGwJCQlJemJlcmlcICZ2c2UKIiB9fX0gUE9QVVAKCiIge3t7IFRPT0xCQVIKaWYgaGFzKCJ0b29sYmFyIikKICBpZiBleGlzdHMoIipEb190b29sYmFyX3RtZW51IikKICAgIGRlbGZ1biBEb190b29sYmFyX3RtZW51CiAgZW5kaWYKICBmdW4gRG9fdG9vbGJhcl90bWVudSgpCiAgICB0bWVudSBUb29sQmFyLk9wZW4JCU9kcHJpIGRhdG90ZWtvCiAgICB0bWVudSBUb29sQmFyLlNhdmUJCVNocmFuaSBkYXRvdGVrbwogICAgdG1lbnUgVG9vbEJhci5TYXZlQWxsCVNocmFuaSB2c2UgZGF0b3Rla2UKICAgIHRtZW51IFRvb2xCYXIuUHJpbnQJCU5hdGlzbmkKICAgIHRtZW51IFRvb2xCYXIuVW5kbwkJUmF6dmVsamF2aQogICAgdG1lbnUgVG9vbEJhci5SZWRvCQlPYm5vdmkKICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlJenJlvmkKICAgIHRtZW51IFRvb2xCYXIuQ29weQkJS29waXJhagogICAgdG1lbnUgVG9vbEJhci5QYXN0ZQkJUHJpbGVwaQogICAgdG1lbnUgVG9vbEJhci5GaW5kCQlOYWpkaSAuLi4KICAgIHRtZW51IFRvb2xCYXIuRmluZE5leHQJTmFqZGkgbmFzbGVkbmplCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CU5hamRpIHByZWq5bmplCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJTmFqZGkgaW4gemFtZW5qYWogLi4uCiAgICB0bWVudSBUb29sQmFyLkxvYWRTZXNuCU5hbG++aSBzZWpvCiAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVNocmFuaSB0cmVudXRubyBzZWpvCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAlJemJlcmkgVmltIHNrcmlwdG8gemEgaXp2YWphbmplCiAgICB0bWVudSBUb29sQmFyLk1ha2UJCU5hcHJhdmkgdHJlbnV0bmkgcHJvamVrdCAoOm1ha2UpCiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCU5hcHJhdmkgem5h6GtlIHYgdHJlbnV0bmVtIGRpcmVrdG9yaWp1ICghY3RhZ3MgLVIuKQogICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCVNrb+hpIGsgem5h6GtpIHBvZCBrdXJ6b3JqZW0KICAgIHRtZW51IFRvb2xCYXIuSGVscAkJUG9tb+ggemEgVmltCiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCUm56GkgdiBwb21v6GkgemEgVmltCiAgZW5kZnVuCmVuZGlmCiIgfX19IFRPT0xCQVIKCiIge3t7IERJQUxPRyBURVhUUwpsZXQgZzptZW51dHJhbnNfbm9fZmlsZSA9ICJbQnJleiBkYXRvdGVrZV0iCmxldCBnOm1lbnV0cmFuc19oZWxwX2RpYWxvZyA9ICJWbmVzaXRlIHVrYXogYWxpIGJlc2VkbywgemEga2F0ZXJvIL5lbGl0ZSBwb21v6DpcblxuVXBvcmFiaXRlIHByZWRwb25vIGlfIHphIHVrYXplIHYgbmHoaW51IHphIHBpc2FuamUgKG5wci46IGlfQ1RSTC1YKVxuVXBvcmFiaXRlIHByZWRwb25vIGNfIHphIHVrYXplIHYgdWthem5pIHZyc3RpY2kgKGNvbW1hbmQtbGluZSkgKG5wci46IGNfPERlbD4pXG5VcG9yYWJpdGUgcHJlZHBvbm8gJyB6YSBpbWVuYSBvcGNpaiAobnByLjogJ3NoaWZ0d2lkdGgnKSIKbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIlZuZXNpdGUgcG90aSB6YSBpc2thbmplIGRhdG90ZWsuXG5JbWVuYSBkaXJla3RvcmlqZXYgbG/oaXRlIHogdmVqaWNvLiIKbGV0IGc6bWVudXRyYW5zX3RhZ3NfZGlhbG9nID0gIlZuZXNpdGUgaW1lbmEgZGF0b3RlayB6IHpuYehrYW1pICgndGFnJykuXG5JbWFuYSBsb+hpdGUgeiB2ZWppY2FtaS4iCmxldCBnOm1lbnV0cmFuc190ZXh0d2lkdGhfZGlhbG9nID0gIlZuZXNpdGUgbm92byC5aXJpbm8gYmVzZWRpbGEgKGFsaSAwIHphIGl6a2xvcCBmb3JtYXRpcmFuamEpOiAiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJJemJlcml0ZSBmb3JtYXQgZGF0b3Rla2UiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2Nob2ljZXMgPSAiJlVuaXhcbiZEb3NcbiZNYWNcbiZQcmVrbGnoaSIKIiB9fX0KCmxldCAmY3BvID0gczprZWVwY3BvCnVubGV0IHM6a2VlcGNwbwo=