IiBNZW51IFRyYW5zbGF0aW9uczoJR2VybWFuIC8gRGV1dHNjaAoiIE1haW50YWluZXI6CQlHZW9yZyBEYWhuIDxnb3JneWRAeWFob28uY28udWs+CiIgT3JpZ2luYWxseSBCeToJTWFyY2luIERhbGVja2kgPGRhbGVja2lAY3MubmV0LnBsPgoiCQkJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CiIgTGFzdCBDaGFuZ2U6CVNhdCwgMTEgTWFyIDIwMDYgMjI6NDA6MDAgQ0VTVAoiIHZpbTpzZXQgZm9sZG1ldGhvZD1tYXJrZXIgdGFic3RvcD04OgoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKbGV0IHM6a2VlcGNwbz0gJmNwbwpzZXQgY3BvJnZpbQoKIiBUaGUgdHJhbnNsYXRpb25zIGJlbG93IGFyZSBpbiBsYXRpbjEsIGJ1dCB0aGV5IHdvcmsgZm9yIGNwMTI1MiBhbmQKIiBpc28tODg1OS0xNSB3aXRob3V0IGNvbnZlcnNpb24gYXMgd2VsbC4KaWYgJmVuYyAhPSAiY3AxMjUyIiAmJiAmZW5jICE9ICJpc28tODg1OS0xNSIKICBzY3JpcHRlbmNvZGluZyBsYXRpbjEKZW5kaWYKCiIge3t7IEZJTEUgLyBEQVRFSQptZW51dHJhbnMgJkZpbGUJCQkJJkRhdGVpCm1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSbWZmZuZW5cLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCUluXCBnZXRlaWx0ZW1cICZGZW5zdGVyXCD2ZmZuZW5cLlwuXC48VGFiPjpzcAptZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3CUluXCBuZXVlbVwgJlRhYlwg9mZmbmVuXC5cLlwuPFRhYj46dGFibmV3Cm1lbnV0cmFucyAmTmV3PFRhYj46ZW5ldwkJJk5ldWVcIERhdGVpPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCVMmY2hsaWXfZW48VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlNwZWljaGVybjxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglTcGVpY2hlcm5cICZhbHNcLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zICZQcmludAkJCSZEcnVja2VuCm1lbnV0cmFucyBTYSZ2ZS1FeGl0PFRhYj46d3FhCQlTcGVpY2hlcm5cIHVuZFwgQmUmZW5kZW48VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQkmQmVlbmRlbjxUYWI+OnFhCgppZiBoYXMoImRpZmYiKQogICAgbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglEJmlmZmVyZW56XCBpblwgZ2V0ZWlsdGVtXCBGZW5zdGVyXCBtaXRcLlwuXC4KICAgIG1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCSZQYXRjaFwgaW5cIGdldGVpbHRlbVwgRmVuc3RlclwgbWl0XC5cLlwuCmVuZGlmCiIgfX19IEZJTEUgLyBEQVRFSQoKIiB7e3sgRURJVCAvIEVESVRJRVJFTgptZW51dHJhbnMgJkVkaXQJCQkJJkVkaXRpZXJlbgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQlaJnVy/GNrPFRhYj51Cm1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQlWbyZyPFRhYj5eUgptZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCSZXaWVkZXJob2xlbjxUYWI+XC4KbWVudXRyYW5zIEN1JnQ8VGFiPiIreAkJCSZBdXNzY2huZWlkZW48VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZLb3BpZXJlbjxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCUVpbiZm/GdlbjxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJRGEmdm9yXCBlaW5m/GdlbjxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJRGEmbmFjaFwgZWluZvxnZW48VGFiPl1wCm1lbnV0cmFucyAmRGVsZXRlPFRhYj54CQkJJkz2c2NoZW48VGFiPngKbWVudXRyYW5zICZTZWxlY3RcIEFsbDxUYWI+Z2dWRwkJQWxsZXNcICZtYXJraWVyZW48VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJJlN1Y2hlblwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLglTdWNoZW5cIHVuZFwgJkVyc2V0emVuXC5cLlwuCgoiIFstLSBTRVRUSU5HUyAtLV0KIiBYWFggJkUgd291bGQgY29uZmxpY3Qgd2l0aCAnU3VjaGVuXCB1bmRcICZFcnNldHplbicsIHNlZSBhYm92ZQptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCQkJRSZpbnN0ZWxsdW5nZW5cLlwuXC4KbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkJCSZHbG9iYWxlXCBFaW5zdGVsbHVuZ2VuCm1lbnV0cmFucyBTdGFydHVwXCAmU2V0dGluZ3MJCQkJJlN0YXJ0ZWluc3RlbGx1bmdlbgoKbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQkmSGVydm9yaGVidW5nZW5cIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCUdyb99zY2hyZWlidW5nXCAmaWdub3JpZXJlblwgb2RlclwgYmVudXR6ZW48VGFiPjpzZXRcIGljIQptZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJCUFuemVpZ2VcIGRlc1wgcGFzc2VuZGVuXCAmU3ltYm9sc1wgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgc20hCgptZW51dHJhbnMgJkNvbnRleHRcIGxpbmVzCQkJCSZadXNhbW1lbmhhbmcKCm1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJCQkmVmlydHVlbGxlclwgRWRpdGllci1Nb2R1cwptZW51dHJhbnMgTmV2ZXIJCQkJCQlOaWUKbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCQkJQmxvY2stQXVzd2FobAptZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJCQlFaW5m/GdlLU1vZHVzCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCQkJQmxvY2stQXVzd2FobFwgdW5kXCBFaW5m/GdlLU1vZHVzCm1lbnV0cmFucyBBbHdheXMJCQkJCUltbWVyCm1lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQkJRWluZvxnZS0mTW9kdXNcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJVmktS29tcGF0aWJpbGl05HRcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGNwIQoKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCQkJU3VjaC0mUGZhZFwuXC5cLgptZW51dHJhbnMgVGEmZ1wgRmlsZXNcLlwuXC4JCQkJVGEmZy1EYXRlaWVuXC5cLlwuCgptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCQlXZXJremV1Z2xlaXN0ZVwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbgptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQlVbnRlcmVuXCBSb2xsYmFsa2VuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJCQlMaW5rZW5cIFJvbGxiYWxrZW5cIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW4KbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCQlSZWNodGVuXCBSb2xsYmFsa2VuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuCgoiIEVkaXQvRmlsZSBTZXR0aW5ncwptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQkJCSZEYXRlaS1FaW5zdGVsbHVuZ2VuCgoiIEJvb2xlYW4gb3B0aW9ucwptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJCUFuemVpZ2VcIGRlclwgWmVpbGVuJm51bW1lclwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgbnUhCm1lbnV0cmFucyBUb2dnbGVcIHJlbGF0aSZ2ZVwgTGluZVwgTnVtYmVyaW5nPFRhYj46c2V0XCBybnUhCUFuemVpZ2VcIGRlclwgcmVsYXRpJnZlblwgWmVpbGVubnVtbWVyXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBybnUhCm1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJCSZMaXN0LU1vZHVzXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBsaXN0IQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCQkmWmVpbGVudW1icnVjaFwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCQlVbWJydWNoXCBhblwgJldvcnRncmVuemVuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCQkmRXJ3ZWl0ZXJ1bmdcIHZvblwgVGFidWxhdG9yZW5cIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJCSZBdXRvbWF0aXNjaGVcIEVpbnL8Y2t1bmdcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCQkmQy1FaW5y/GNrdW5nXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQkmU2NoaWViZXdlaXRlCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQkmVGFidWxhdG9yCm1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCQkJVGUmeHRicmVpdGVcLlwuXC4KbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkJJkRhdGVpZm9ybWF0XC5cLlwuCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJCQlGJmFyYnNjaGVtYVwuXC5cLgptZW51dHJhbnMgJktleW1hcAkJCQkJJlRhc3RhdHVyYmVsZWd1bmcKIiB9fX0gRURJVCAvIEVESVRJRVJFTgoKIiB7e3sgIFRPT0xTIC8gV0VSS1pFVUdFCmlmIGhhcygic3BlbGwiKQogICAgbWVudXRyYW5zICZTcGVsbGluZwkJCQkJJlJlY2h0c2NocmVpYnVuZwogICAgbWVudXRyYW5zICZTcGVsbFwgQ2hlY2tcIE9uCQkJCSZSZWNodHNjaHJlaWJwcvxmdW5nXCBhbgogICAgbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJCVJlY2h0c2NocmVpYnBy/GZ1bmdcICZhdXMKICAgIG1lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwkJCVp1bVwgJm7kY2hzdGVuXCBGZWhsZXI8VGFiPl1zCiAgICBtZW51dHJhbnMgVG9cICZQcmV2aW91c1wgZXJyb3I8VGFiPltzCQladW1cICZ2b3JoZXJpZ2VuXCBGZWhsZXI8VGFiPltzCiAgICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkJJktvcnJla3R1cnZvcnNjaGzkZ2U8VGFiPno9CiAgICBtZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCSZXaWVkZXJob2xlXCBLb3JyZWt0dXI8VGFiPjpzcGVsbHJlcGFsbAogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW4iCQkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2F1IgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9hdSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9jYSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2diIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9nYiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX256IgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9ueiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl91cyIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImRlIgkJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZGUiCiAgICBtZW51dHJhbnMgJkZpbmRcIE1vcmVcIExhbmd1YWdlcwkJCSZTdWNoZVwgbmFjaFwgV/ZydGVyYvxjaGVybgplbmRpZgppZiBoYXMoImZvbGRpbmciKQogIG1lbnV0cmFucyAmRm9sZGluZwkJCQkJRmEmbHR1bmcKICAiIG9wZW4gY2xvc2UgZm9sZHMKICBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCSZFaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj56aQogIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJCU1vbWVudGFuZVwgJlBvc2l0aW9uXCBhbnplaWdlbjxUYWI+enYKICBtZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eAkJJkF1c3NjaGxpZd9saWNoXCBtb21lbnRhbmVcIFBvc2l0aW9uXCBhbnplaWdlbjxUYWI+ek16eAogIG1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkJCUZhbHR1bmdlblwgJnNjaGxpZd9lbjxUYWI+em0KICBtZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJCUFsbGVcIEZhbHR1bmdlblwgc2NobGll32VuPFRhYj56TQogIG1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCQkJRmFsdHVuZ2VuXCAm9mZmbmVuPFRhYj56cgogIG1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJCQlBbGxlXCBGYWx0dW5nZW5cIPZmZm5lbjxUYWI+elIKICAiIGZvbGQgbWV0aG9kCiAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQkJRmFsdHVuZ3MtJk1ldGhvZGUKICBtZW51dHJhbnMgTSZhbnVhbAkJCQkJJk1hbnVlbGwKICBtZW51dHJhbnMgSSZuZGVudAkJCQkJJkVpbnL8Y2t1bmdlbgogIG1lbnV0cmFucyBFJnhwcmVzc2lvbgkJCQkJJkF1c2RydWNrCiAgbWVudXRyYW5zIFMmeW50YXgJCQkJCSZTeW50YXgKICBtZW51dHJhbnMgJkRpZmYJCQkJCSZEaWZmZXJlbnoKICBtZW51dHJhbnMgTWEmcmtlcgkJCQkJTWEmcmtpZXJ1bmdlbgogICIgY3JlYXRlIGFuZCBkZWxldGUgZm9sZHMKICAiIFRPRE8gYWNjZWxlcmF0b3JzCiAgbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQkJRmFsdHVuZ1wgZXJ6ZXVnZW48VGFiPnpmCiAgbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQkJRmFsdHVuZ1wgbPZzY2hlbjxUYWI+emQKICBtZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJCQlBbGxlXCBGYWx0dW5nZW5cIGz2c2NoZW48VGFiPnpECiAgIiBtb3ZpbmcgYXJvdW5kIGluIGZvbGRzCiAgbWVudXRyYW5zIEZvbGRcIGNvbHVtblwgJndpZHRoCQkJJkJyZWl0ZVwgZGVyXCBGYWx0dW5nc3NwYWx0ZQplbmRpZiAgIiBoYXMgZm9sZGluZwoKaWYgaGFzKCJkaWZmIikKICBtZW51dHJhbnMgJkRpZmYJCQkJCSZEaWZmZXJlbnoKICBtZW51dHJhbnMgJlVwZGF0ZQkJCQkJJkFrdHVhbGlzaWVyZW4KICBtZW51dHJhbnMgJkdldFwgQmxvY2sJCQkJCUJsb2NrXCAmZWluZvxnZW4KICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkJCUJsb2NrXCAm/GJlcnRyYWdlbgplbmRpZgoKbWVudXRyYW5zICZUb29scwkJCQkJJldlcmt6ZXVnZQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkJCSZTcHJpbmdlXCB6dW1cIFRhZzxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCQkJU3ByaW5nZVwgJnp1cvxjazxUYWI+XlQKbWVudXRyYW5zIEJ1aWxkXCAmVGFnc1wgRmlsZQkJCQlFcnN0ZWxsZVwgJlRhZy1EYXRlaQptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCSZFcnN0ZWxsZW48VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCQkJJkZlaGxlclwgYW56ZWlnZW48VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCQkJJkhpbndlaXNlXCBhbnplaWdlbjxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCQkJWnVtXCAmbuRjaHN0ZW5cIEZlaGxlcjxUYWI+OmNuCm1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJCQladW1cICZ2b3JoZXJpZ2VuXCBGZWhsZXI8VGFiPjpjcAptZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAkJCSbEbHRlcmVcIExpc3RlPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkJCSZOZXVlcmVcIExpc3RlPFRhYj46Y25ldwoKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQkJCUZlaCZsZXItRmVuc3RlcgptZW51dHJhbnMgU2UmdFwgQ29tcGlsZXIJCQkJJkNvbXBpbGVyCm1lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJCQkmQ29tcGlsZXIKbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQkJCSZBa3R1YWxpc2llcmVuPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJCQkm1mZmbmVuPFRhYj46Y29wZW4KbWVudXRyYW5zICZDbG9zZTxUYWI+OmNjbG9zZQkJCQkmU2NobGll32VuPFRhYj46Y2Nsb3NlCgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAkJCU5hY2hcIEhFJlhcIGtvbnZlcnRpZXJlbjxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcgkJCVp1cvxja1wga29udmVydGllcmVuPFRhYj46JSF4eGRcIC1yCiIgfX19ICBUT09MUyAvIFdFUktaRVVHRQoKIiB7e3sgU1lOVEFYIC8gU1lOVEFYCm1lbnV0cmFucyAmU3ludGF4CQkJCSZTeW50YXgKbWVudXRyYW5zICZTaG93XCBmaWxldHlwZXNcIGluXCBtZW51CQlEYXRlaXR5cGVuXCBhbiZ6ZWlnZW4KbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CQkJTnVyXCAnJnN5bnRheCdcIHNldHplbgptZW51dHJhbnMgU2V0XCAnJmZpbGV0eXBlJ1wgdG9vCQkJQXVjaFwgJyZmaWxldHlwZSdcIHNldHplbgptZW51dHJhbnMgJk9mZgkJCQkJJkF1cwptZW51dHJhbnMgJk1hbnVhbAkJCQkmTWFudWVsbAptZW51dHJhbnMgQSZ1dG9tYXRpYwkJCQlBJnV0b21hdGlzY2gKbWVudXRyYW5zIG9uL29mZlwgZm9yXCAmVGhpc1wgZmlsZQkJQW4vQXVzIChkaWVzZVwgJkRhdGVpKQptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQkJCVRlc3RcIGRlclwgRmFyYmVuCm1lbnV0cmFucyAmSGlnaGxpZ2h0XCB0ZXN0CQkJVGVzdFwgZGVyXCBVbiZ0ZXJzdHJlaWNodW5nZW4KbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSFRNTAkJCUtvbnZlcnRpZXJlblwgbmFjaFwgJkhUTUwKIiB9fX0gU1lOVEFYIC8gU1lOVEFYCgoiIHt7eyBCVUZGRVJTIC8gUFVGRkVSCm1lbnV0cmFucyAmQnVmZmVycwkJCQkJJlB1ZmZlcgptZW51dHJhbnMgJlJlZnJlc2hcIG1lbnUJCQkJJkFrdHVhbGlzaWVyZW4KbWVudXRyYW5zIERlbGV0ZQkJCQkJTPZzY2hlbgptZW51dHJhbnMgJkFsdGVybmF0ZQkJCQkJJldlY2hzZWxuCm1lbnV0cmFucyAmTmV4dAkJCQkJCSZO5GNoc3RlcgptZW51dHJhbnMgJlByZXZpb3VzCQkJCQkmVm9yaGVyaWdlcgoiIH19fSBCVUZGRVJTIC8gUFVGRkVSCgoiIHt7eyBXSU5ET1cgLyBBTlNJQ0hUCm1lbnV0cmFucyAmV2luZG93CQkJJkFuc2ljaHQKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCSZOZXU8VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCUF1ZnMmcGFsdGVuPFRhYj5eV3MKbWVudXRyYW5zIFNwbGl0XCAmVmVydGljYWxseTxUYWI+Xld2CSZWZXJ0aWthbFwgYXVmc3BhbHRlbjxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCVZlciZ6ZWljaG5pcwptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglBdWZzcGEmbHRlblwgaW5cICM8VGFiPl5XXl4KbWVudXRyYW5zICZDbG9zZTxUYWI+XldjCQkmU2NobGll32VuPFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwkmQW5kZXJlXCBzY2hsaWXfZW48VGFiPl5XbwptZW51dHJhbnMgTmUmeHQ8VGFiPl5XdwkJCU4m5GNoc3RlczxUYWI+Xld3Cm1lbnV0cmFucyBQJnJldmlvdXM8VGFiPl5XVwkJVm9yJmhlcmlnZXM8VGFiPl5XVwptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCSZHbGVpY2hlXCBI9mhlbjxUYWI+Xlc9Cm1lbnV0cmFucyAmTWF4XCBIZWlnaHQ8VGFiPl5XXwkJJk1heGltYWxlXCBI9mhlPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTSZpbmltYWxlXCBI9mhlPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJTWF4aW1hbGVcICZCcmVpdGU8VGFiPl5XXHwKbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJTWluaW1hbGVcIEJyZWkmdGU8VGFiPl5XMVx8Cm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlWJmVyc2NoaWViZVwgbmFjaAptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJJk9iZW48VGFiPl5XSwptZW51dHJhbnMgJkJvdHRvbTxUYWI+XldKCQkmVW50ZW48VGFiPl5XSgptZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJkxpbmtzPFRhYj5eV0gKbWVudXRyYW5zICZSaWdodFwgc2lkZTxUYWI+XldMCQkmUmVjaHRzPFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCVJvdGllcmVcIG5hY2hcICZvYmVuPFRhYj5eV1IKbWVudXRyYW5zIFJvdGF0ZVwgJkRvd248VGFiPl5XcgkJUm90aWVyZVwgbmFjaFwgJnVudGVuPFRhYj5eV3IKbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCUF1c3dhaGxcIGRlclwgU2NocmlmdGFydFwuXC5cLgoiIH19fSBXSU5ET1cgLyBBTlNJQ0hUCgoiIHt7eyBIRUxQIC8gSElMRkUKbWVudXRyYW5zICZIZWxwCQkJJkhpbGZlCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JJtxiZXJibGljazxUYWI+PEYxPgptZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJJkhhbmRidWNoCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwlIb3ctdG9cICZJbmRleAptZW51dHJhbnMgJkdVSQkJCSZHcmFwaGlzY2hlXCBPYmVyZmzkY2hlCm1lbnV0cmFucyAmQ3JlZGl0cwkJJkF1dG9yZW4KbWVudXRyYW5zIENvJnB5aW5nCQkmVXJoZWJlcnJlY2h0Cm1lbnV0cmFucyBPJnJwaGFucwkJJldhaXNlbgptZW51dHJhbnMgJkZpbmRcLlwuXC4JCSZTdWNoZW5cLlwuXC4JIiBjb25mbGljdHMgd2l0aCBFZGl0LkZpbmQKbWVudXRyYW5zICZWZXJzaW9uCQkmVmVyc2lvbgptZW51dHJhbnMgJkFib3V0CQkmVGl0ZWxzZWl0ZQoiIH19fSBIRUxQIC8gSElMRkUKCiIge3t7IFBPUFVQCm1lbnV0cmFucyAmVW5kbwkJCQkmWnVy/GNrCm1lbnV0cmFucyBDdSZ0CQkJCUF1cyZzY2huZWlkZW4KbWVudXRyYW5zICZDb3B5CQkJCSZLb3BpZXJlbgptZW51dHJhbnMgJlBhc3RlCQkJJkVpbmb8Z2VuCm1lbnV0cmFucyAmRGVsZXRlCQkJJkz2c2NoZW4KbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCQlBdXN3YWhsXCBibG9ja2FydGlnCm1lbnV0cmFucyBTZWxlY3RcICZXb3JkCQkJQXVzd2FobFwgZGVzXCAmV29ydGVzCm1lbnV0cmFucyBTZWxlY3RcICZTZW50ZW5jZQkJQXVzd2FobFwgZGVzXCBTYSZ0emVzCm1lbnV0cmFucyBTZWxlY3RcIFBhJnJhZ3JhcGgJCUF1c3dhaGxcIGRlc1wgQWJzYXR6ZXMKbWVudXRyYW5zIFNlbGVjdFwgJkxpbmUJCQlBdXN3YWhsXCBkZXJcICZaZWlsZQptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJCUF1c3dhaGxcIGRlc1wgJkJsb2NrcwptZW51dHJhbnMgU2VsZWN0XCAmQWxsCQkJJkFsbGVzXCBBdXN35GhsZW4KIiB9fX0gUE9QVVAKCiIge3t7IFRPT0xCQVIKaWYgaGFzKCJ0b29sYmFyIikKICBpZiBleGlzdHMoIipEb190b29sYmFyX3RtZW51IikKICAgIGRlbGZ1biBEb190b29sYmFyX3RtZW51CiAgZW5kaWYKICBmdW4gRG9fdG9vbGJhcl90bWVudSgpCiAgICB0bWVudSBUb29sQmFyLk9wZW4JCURhdGVpIPZmZm5lbgogICAgdG1lbnUgVG9vbEJhci5TYXZlCQlEYXRlaSBzcGVpY2hlcm4KICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAlBbGxlIERhdGVpZW4gc3BlaWNoZXJuCiAgICB0bWVudSBUb29sQmFyLlByaW50CQlEcnVja2VuCiAgICB0bWVudSBUb29sQmFyLlVuZG8JCVp1cvxjawogICAgdG1lbnUgVG9vbEJhci5SZWRvCQlXaWVkZXJob2xlbgogICAgdG1lbnUgVG9vbEJhci5DdXQJCUF1c3NjaG5laWRlbgogICAgdG1lbnUgVG9vbEJhci5Db3B5CQlLb3BpZXJlbgogICAgdG1lbnUgVG9vbEJhci5QYXN0ZQkJRWluZvxnZW4KICAgIHRtZW51IFRvb2xCYXIuRmluZAkJU3VjaGVuLi4uCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CVN1Y2hlIG7kY2hzdGVuCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CVN1Y2hlIHZvcmhlcmlnZW4KICAgIHRtZW51IFRvb2xCYXIuUmVwbGFjZQlTdWNoZW4gdW5kIEVyc2V0emVuLi4uCiAgICBpZiAwCSIgZGlzYWJsZWQ7IFRoZXNlIGFyZSBpbiB0aGUgV2luZG93cyBtZW51CiAgICAgIHRtZW51IFRvb2xCYXIuTmV3CQlOZXVlIEFuc2ljaHQKICAgICAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlBbnNpY2h0IGF1ZnNwYWx0ZW4KICAgICAgdG1lbnUgVG9vbEJhci5XaW5NYXgJQW5zaWNodCBtYXhpbWFsZSBI9mhlbgogICAgICB0bWVudSBUb29sQmFyLldpbk1pbglBbnNpY2h0IG1pbmltYWxlIEj2aGVuCiAgICAgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJQW5zaWNodCBzY2hsaWXfZW4KICAgIGVuZGlmCiAgICB0bWVudSBUb29sQmFyLkxvYWRTZXNuCVNpdHp1bmcgbGFkZW4KICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JU2l0enVuZyBzcGVpY2hlcm4KICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CVZpbS1Ta3JpcHQgYXVzZvxocmVuCiAgICB0bWVudSBUb29sQmFyLk1ha2UJCUVyc3RlbGxlbgogICAgdG1lbnUgVG9vbEJhci5TaGVsbAkJU2hlbGwgc3RhcnRlbgogICAgdG1lbnUgVG9vbEJhci5SdW5DdGFncwlFcnN0ZWxsZSBUYWctRGF0ZWkKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAlTcHJpbmdlIHp1bSBUYWcKICAgIHRtZW51IFRvb2xCYXIuSGVscAkJSGlsZmUhCiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCUhpbGZlIGR1cmNoc3VjaGVuLi4uCiAgZW5kZnVuCmVuZGlmCiIgfX19IFRPT0xCQVIKCiIge3t7IERJQUxPRyBURVhUUwpsZXQgZzptZW51dHJhbnNfbm9fZmlsZSA9ICJbS2VpbmUgRGF0ZWldIgpsZXQgZzptZW51dHJhbnNfaGVscF9kaWFsb2cgPSAiR2ViZW4gU2llIGVpbmVuIEJlZmVobCBvZGVyIGVpbiBXb3J0IGVpbiwgZvxyIGRhcyBTaWUgSGlsZmUgYmVu9nRpZ2VuOlxuXG5WZXJ3ZW5kZW4gU2llIGlfIGb8ciBFaW5nYWJlICgnaW5wdXQnKSBCZWZlaGxlICh6LkIuOiBpX0NUUkwtWClcblZlcndlbmRlbiBTaWUgY18gZvxyIEJlZmVobHMtWmVpbGVuICgnY29tbWFuZC1saW5lJykgQmVmZWhsZSAoei5CLjogY188RGVsPilcblZlcndlbmRlbiBTaWUgJyBm/HIgT3B0aW9ucy1OYW1lbiAoei5CLjogJ3NoaWZ0d2lkdGgnKSIKbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIkdlYmVuIFNpZSBTdWNoLVBmYWRlIGb8ciBEYXRlaWVuIGVpbi5cblRyZW5uZW4gU2llIGRpZSBWZXJ6ZWljaG5pcy1OYW1lbiBkdXJjaCBLb21tYXRhLiIKbGV0IGc6bWVudXRyYW5zX3RhZ3NfZGlhbG9nID0gIkdlYmVuIFNpZSBkaWUgTmFtZW4gZGVyICd0YWcnLURhdGVpZW4gZWluLlxuVHJlbm5lbiBTaWUgZGllIE5hbWVuIGR1cmNoIEtvbW1hdGEuIgpsZXQgZzptZW51dHJhbnNfdGV4dHdpZHRoX2RpYWxvZyA9ICJHZWJlbiBTaWUgZWluZSBuZXVlIFRleHQtQnJlaXRlIGVpbiAob2RlciAwLCB1bSBkaWUgRm9ybWF0aWVydW5nIGFienVzY2hhbHRlbikiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJX5GhsZW4gU2llIGVpbiBEYXRlaS1Gb3JtYXQgYXVzIgoiIH19fQoKbGV0ICZjcG8gPSBzOmtlZXBjcG8KdW5sZXQgczprZWVwY3BvCg==