IiBNZW51IHRyYW5zbGF0aW9ucyBmb3IgQ2F0YWxhbgoiCiIgTWFpbnRhaW5lcjoJRXJuZXN0IEFkcm9ndekgPGVhZHJvZ3VlQGdteC5uZXQ+CiIgTGFzdCBDaGFuZ2U6CTYgSnVuIDIwMDgKIgoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKCiIgVGhlIHRyYW5zbGF0aW9ucyBiZWxvdyBhcmUgaW4gbGF0aW4xLCBidXQgdGhleSB3b3JrIGZvciBjcDEyNTIsCiIgaXNvLTg4NTktMTUgd2l0aG91dCBjb252ZXJzaW9uIGFzIHdlbGwuCmlmICZlbmMgIT0gImNwMTI1MiIgJiYgJmVuYyAhPSAiaXNvLTg4NTktMTUiCiAgc2NyaXB0ZW5jb2RpbmcgbGF0aW4xCmVuZGlmCgoiIG1lbvogQWp1ZGEKbWVudXRyYW5zICZIZWxwCQkJCSZBanVkYQptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CQkmSW50cm9kdWNjafM8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCQkmTWFudWFsXCBkZVwgbCd1c3VhcmkKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCQlDb21cICZmZXJcLlwuXC4/Cm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCSZDZXJjYVwuXC5cLgptZW51dHJhbnMgJkNyZWRpdHMJCQkmQXV0b3JzCm1lbnV0cmFucyBDbyZweWluZwkJCUNvbiZkaWNpb25zCm1lbnV0cmFucyAmU3BvbnNvci9SZWdpc3RlcgkmUGF0cm9jaW5pL1JlZ2lzdHJlCm1lbnV0cmFucyBPJnJwaGFucwkJCSZPcmZlcwptZW51dHJhbnMgJlZlcnNpb24JCQkmVmVyc2nzCm1lbnV0cmFucyAmQWJvdXQJCQkmUXVhbnRcIGFcLlwuXC4KIiB0ZXh0IGRlbCBkaeBsZWcgQWp1ZGEvQ2VyY2EuLi4KbGV0IGc6bWVudXRyYW5zX2hlbHBfZGlhbG9nID0gIkludHJvZHXvdSBlbCB0ZXJtZSBzb2JyZSBlbCBxdWFsIG5lY2Vzc2l0ZXUgYWp1ZGEuXG5cblVzZXUgZWwgcHJlZml4IGlfIHBlciBvcmRyZXMgZCdlbnRyYWRhIChwLmV4LjogaV9DVFJMLVgpXG5Vc2V1IGVsIHByZWZpeCBjXyBwZXIgb3JkcmVzIGRlIGxhIGztbmlhIGQnb3JkcmVzIChwLmV4LjogY188RGVsPilcblVzZXUgZWwgcHJlZml4ICcgcGVyIG5vbXMgZCdvcGNpb25zIChwLmV4LjogJ3NoaWZ0d2lkdGgnKSIKCiIgbWVu+iBGaXR4ZXIKbWVudXRyYW5zICZGaWxlCQkJCSZGaXR4ZXIKbWVudXRyYW5zICZPcGVuXC5cLlwuPFRhYj46ZQkJJk9icmVcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCU9icmVcIGVuXCB1bmFcICZmaW5lc3RyYVwgbm92YVwuXC5cLjxUYWI+OnNwCm1lbnV0cmFucyBPcGVuXCBUYWJcLlwuXC48VGFiPjp0YWJuZXcJT2JyZVwgcGVzdGFueWFcLlwuXC48VGFiPjp0YWJuZXcKbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTm91PFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZUYW5jYTxUYWI+OmNsb3NlCm1lbnV0cmFucyAmU2F2ZTxUYWI+OncJCQkmRGVzYTxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdgkmQW5vbWVuYVwgaVwgZGVzYVwuXC5cLjxUYWI+OnNhdgptZW51dHJhbnMgU3BsaXRcICZEaWZmXCB3aXRoXC5cLlwuCSZNb3N0cmFcIGxlc1wgZGlmZXLobmNpZXNcIHJlc3BlY3RlXC5cLlwuCm1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCUFwbGljYVwgbGVzXCBtb2RpZmljYWNpb25zXCBkZVwuXC5cLgptZW51dHJhbnMgJlByaW50CQkJJkltcHJpbWVpeAptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJRGVzYVwgaVwgcyZ1cnQ8VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQkmU3VydDxUYWI+OnFhCgoiIG1lbvogRWRpdGEKbWVudXRyYW5zICZFZGl0CQkJCSZFZGl0YQptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmRGVzZulzPFRhYj51Cm1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQkmUmVm6XM8VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJUmUmcGV0ZWl4PFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJUmUmdGFsbGE8VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZDb3BpYTxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCUVuZ2FuJnhhPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlQb3NhXCAmYWJhbnM8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCVAmb3NhXCBkZXNwculzPFRhYj5dcAptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCVN1cHJpbWVpeDxUYWI+eAptZW51dHJhbnMgJlNlbGVjdFwgQWxsPFRhYj5nZ1ZHCQkmU2VsZWNjaW9uYS1ob1wgdG90PFRhYj5nZ1ZHCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCSZDZXJjYVwuXC5cLgptZW51dHJhbnMgJkZpbmQ8VGFiPi8JCQkmQ2VyY2E8VGFiPi8KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2UJCUNlcmNhXCBpXCBzJnVic3RpdHVlaXgKbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JQ2VyY2FcIGlcIHMmdWJzdGl0dWVpeFwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OiVzCUNlcmNhXCBpXCBzJnVic3RpdHVlaXg8VGFiPjolcwptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OnMJQ2VyY2FcIGlcIHMmdWJzdGl0dWVpeDxUYWI+OnMKbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQlGaW4mZXN0cmFcIGQnb3BjaW9ucwptZW51dHJhbnMgU3RhcnR1cFwgJlNldHRpbmdzICAgIE9wY2lvbnNcIGkmbmljaWFscwptZW51dHJhbnMgJkdsb2JhbFwgU2V0dGluZ3MJCU9wY2lvbnNcICZnbG9iYWxzCiIgc3VibWVu+iBFZGl0YS9PcGNpb25zIEdsb2JhbHMKICBtZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCVJlc3NhbHRcIGRlXCAmcGF0cm9uczxUYWI+OnNldFwgaGxzIQogIG1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQlTZW5zaWJpbGl0YXRcIGFcIGxlc1wgbWEmavpzY3VsZXM8VGFiPjpzZXRcIGljIQogIG1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJJlJlc3NhbHRcIGRlXCBjb2luY2lk6G5jaWVzPFRhYj46c2V0XCBzbSEKICBtZW51dHJhbnMgJkNvbnRleHRcIGxpbmVzCQkJCUztbmllc1wgZGVcIGNvJm50ZXh0CiAgbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkJCUVkaWNp81wgJnZpcnR1YWwKIiBzdWJtZW76IEVkaXRhL09wY2lvbnMgR2xvYmFscy9FZGljafMgdmlydHVhbAogICAgbWVudXRyYW5zIE5ldmVyCQkJCQkmTWFpCiAgICBtZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJCQkmU2VsZWNjafNcIGRlXCBibG9jcwogICAgbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQlNb2RlXCBkJyZpbnNlcmNp8wogICAgbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCSZCbG9jcyBpIGluc2VyY2nzCiAgICBtZW51dHJhbnMgQWx3YXlzCQkJCQlTJmVtcHJlCiAgbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hCQlNb2RlXCBkJyZpbnNlcmNp8zxUYWI+OnNldFwgaW0hCiAgbWVudXRyYW5zIFRvZ2dsZVwgVmlcIEMmb21wYXRpYmxlPFRhYj46c2V0XCBjcCEJQ28mbXBhdGlibGVcIGFtYlwgVmk8VGFiPjpzZXRcIGNwIQogIG1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQkJCSZVYmljYWNpb25zXC5cLlwuCiAgbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCUZpdHhlcnNcIGQnJmV0aXF1ZXRlc1wuXC5cLgogIG1lbnV0cmFucyBUb2dnbGVcICZUb29sYmFyCQkJCSZCYXJyYVwgZCdlaW5lcwogIG1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkJCUJhcnJhXCBkZVwgJmRlc3BsYedhbWVudFwgaW5mZXJpb3IKICBtZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJQmFycmFcIGRlXCBkZXNwbGHnYW1lbnRcIGUmc3F1ZXJyYQogIG1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJQmFycmFcIGRlXCBkZXNwbGHnYW1lbnRcIGRyZSZ0YQptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQkJCU9wY2lvbnNcIGRlbFwgZiZpdHhlcgoiIHN1Ym1lbvogRWRpdGEvT3BjaW9ucyBkZWwgZml0eGVyCiAgbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCSZFbm51bWVyYVwgbGVzXCBs7W5pZXM8VGFiPjpzZXRcIG51IQogIG1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJTW9kZVwgJmxsaXN0YTxUYWI+OnNldFwgbGlzdCEKICBtZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCUEmanVzdGFcIGxlc1wgbO1uaWVzXCBsbGFyZ3VlczxUYWI+OnNldFwgd3JhcCEKICBtZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJQWp1c3RhXCBzZW5zZVwgcGFydGlyXCAmcGFyYXVsZXM8VGFiPjpzZXRcIGxiciEKICBtZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQlFc3TpblwgbGVzXCB0YSZidWxhY2lvbnM8VGFiPjpzZXRcIGV0IQogIG1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQkmU2FnbmlhXCBhdXRvbeB0aWNhPFRhYj46c2V0XCBhaSEKICBtZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCVNhZ25pYVwgZXN0aWxcICZDPFRhYj46c2V0XCBjaW4hCiAgbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQlTYSZnbmlhCiAgbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkJCUFtcGxhZGFcIGRlXCAmdGFidWxhY2nzCiAgbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCQkmQW1wbGFkYVwgZGVsXCB0ZXh0XC5cLlwuCiAgbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkJJkZvcm1hdFwgZGVsXCBmaXR4ZXJcLlwuXC4KbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCSZGb3NhXC5cLlwuCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJRXMmcXVlbWFcIGRlXCBjb2xvcnMKIiBzdWJtZW76IEVkaXRhL0VzcXVlbWEgZGUgY29sb3JzCiAgbWVudXRyYW5zIGJsdWUJCQlibGF1CiAgbWVudXRyYW5zIGRhcmtibHVlCQkJYmxhdVwgZm9zYwogIG1lbnV0cmFucyBkZWZhdWx0CQkJbm9ybWFsCiAgbWVudXRyYW5zIGRlc2VydAkJCWRlc2VydAogIG1lbnV0cmFucyBldmVuaW5nCQkJdmVzcHJhZGEKICBtZW51dHJhbnMgbW9ybmluZwkJCW1hdGluYWRhCiAgbWVudXRyYW5zIHBlYWNocHVmZgkJCXBy6XNzZWMKICBtZW51dHJhbnMgc2hpbmUJCQlicmlsbGFudAptZW51dHJhbnMgJktleW1hcAkJCSZNYXBhXCBkZVwgdGVjbGVzCiIgc3VibWVu+iBFZGl0YS9NYXBhIGRlIHRlY2xlcwogIG1lbnV0cmFucyBOb25lCQkJQ2FwCiAgbWVudXRyYW5zIGFjY2VudHMJCQlBY2NlbnRzCiAgbWVudXRyYW5zIGFyYWJpYwkJCcByYWIKICBtZW51dHJhbnMgY3plY2gJCQlUeGVjCiAgbWVudXRyYW5zIGVzcGVyYW50bwkJCUVzcGVyYW50bwogIG1lbnV0cmFucyBncmVlawkJCUdyZWMKICBtZW51dHJhbnMgaGVicmV3CQkJSGVicmV1CiAgbWVudXRyYW5zIGhlYnJld3AJCQlIZWJyZXVcIChmb27odGljKQogIG1lbnV0cmFucyBsaXRodWFuaWFuLWJhbHRpYwkJTGl0deBcIChi4Gx0aWMpCiAgbWVudXRyYW5zIHBpbnlpbgkJCU1hbmRhcu1cIChmb27odGljKQogIG1lbnV0cmFucyBydXNzaWFuLWpjdWtlbgkJUnVzXCAoamN1a2VuKQogIG1lbnV0cmFucyBydXNzaWFuLWpjdWtlbndpbgkJUnVzXCAoamN1a2Vud2luKQogIG1lbnV0cmFucyBydXNzaWFuLXlhd2VydHkJCVJ1c1wgKHlhd2VydHkpCiAgbWVudXRyYW5zIHNlcmJpYW4JCQlTZXJiaQogIG1lbnV0cmFucyBzZXJiaWFuLWxhdGluCQlTZXJiaVwgKGxsYXTtKQogIG1lbnV0cmFucyBzbG92YWsJCQlFc2xvdmFjCiIgdGV4dCBkZWwgZGngbGVnIEVkaXRhL09wY2lvbnMgZ2xvYmFscy9VYmljYWNpb25zLi4uCmxldCBnOm1lbnV0cmFuc19wYXRoX2RpYWxvZyA9ICJJbnRyb2R173UgbGVzIHViaWNhY2lvbnMgb24gY2VyY2FyIGZpdHhlcnMuXG5TZXBhcmV1IGVscyBub21zIGRlbHMgZGlyZWN0b3JpcyBhbWIgdW5hIGNvbWEuIgoiIHRleHQgZGVsIGRp4GxlZyBFZGl0YS9PcGNpb25zIGdsb2JhbHMvRml0eGVycyBkJ2V0aXF1ZXRlcy4uLgpsZXQgZzptZW51dHJhbnNfdGFnc19kaWFsb2cgPSAiSW50cm9kde91IGVscyBub21zIGRlbHMgZml0eGVycyBkJ2V0aXF1ZXRlcy5cblNlcGFyZXUgZWxzIG5vbXMgYW1iIHVuYSBjb21hLiIKIiB0ZXh0IGRlbCBkaeBsZWcgRWRpdGEvT3BjaW9ucyBkZWwgZml0eGVyL0FtcGxhZGEgZGVsIHRleHQuLi4KbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiSW50cm9kde91IGxhIG5vdmEgYW1wbGFkYSBkZWwgdGV4dCAoMCBwZXIgaW5maW5pdCk6ICIKIiB0ZXh0IGRlbCBkaeBsZWcgRWRpdGEvT3BjaW9ucyBkZWwgZml0eGVyL0Zvcm1hdCBkZWwgZml0eGVyLi4uCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJTZWxlY2Npb25ldSBlbCBmb3JtYXQgcGVyIGVzY3JpdXJlIGVsIGZpdHhlci4iCgoKIiBtZW76IEVpbmVzCm1lbnV0cmFucyAmVG9vbHMJCQlFaSZuZXMKbWVudXRyYW5zICZKdW1wXCB0b1wgdGhpc1wgdGFnPFRhYj5nXl0JJlNhbHRhXCBhXCBhcXVlc3RhXCBldGlxdWV0YTxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCVNhbHRhXCBlbiZyZXJlPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQlDcmVhXCB1blwgZml0eGVyXCBkJ2V0aSZxdWV0ZXMKbWVudXRyYW5zICZTcGVsbGluZyAgICAgICAgICZPcnRvZ3JhZmlhCiIgc3VibWVu+iBFaW5lcy9PcnRvZ3JhZmlhCiAgbWVudXRyYW5zICZTcGVsbFwgQ2hlY2tcIE9uICAgICAgICAgQWN0aXZhXCBsYVwgJnJldmlzafNcIG9ydG9ncuBmaWNhCiAgbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZiAgICAgICAgJkRlc2FjdGl2YVwgbGFcIHJldmlzafNcIG9ydG9ncuBmaWNhCiAgbWVudXRyYW5zIFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zICAgICAgIEVycm9yXCAmc2Vn/GVudDx0YWI+XXMKICBtZW51dHJhbnMgVG9cICZQcmV2aW91c1wgZXJyb3I8VGFiPltzICAgRXJyb3JcICZhbnRlcmlvcjx0YWI+W3MKICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PSAgU3UmZ2dlcmltZW50czxUYWI+ej0KICBtZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsICBSZSZwZXRlaXhcIGxhXCBjb3JyZWNjafM8VGFiPjpzcGVsbHJlcGFsbAogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIiAgICAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2F1IiAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuX2F1IgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIiAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuX2NhIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2diIiAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuX2diIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX256IiAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuX256IgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIiAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVuX3VzIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImNhIiAgICAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImNhIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVzIiAgICAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImVzIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImZyIiAgICAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgImZyIgogIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgIml0IiAgICAgICBTZWxlY2Npb25hXCBsJ2lkaW9tYVwgIml0IgogIG1lbnV0cmFucyAmRmluZFwgTW9yZVwgTGFuZ3VhZ2VzICAgICAgICAmQ2VyY2FcIGFsdHJlc1wgaWRpb21lcwptZW51dHJhbnMgJkZvbGRpbmcJCQkmUGxlY3MKIiBzdWJtZW76IEVpbmVzL1BsZWNzCiAgbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppICAmSGFiaWxpdGEvRGVzaGFiaWxpdGFcIGVsc1wgcGxlY3M8VGFiPnppCiAgbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CSZM7W5pYVwgZGVsXCBjdXJzb3JcIHZpc2libGU8VGFiPnp2CiAgbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNenggICZOb23pc1wgdmlzaWJsZVwgbGFcIGztbmlhXCBkZWxcIGN1cnNvcjxUYWI+ek16eAogIG1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkmVGFuY2FcIG3pc1wgcGxlY3M8VGFiPnptCiAgbWVudXRyYW5zICZDbG9zZVwgYWxsXCBmb2xkczxUYWI+ek0JVGFuY2FcIHQmb3RzXCBlbHNcIHBsZWNzPFRhYj56TQogIG1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCU9icmVcICZt6XNcIHBsZWNzPFRhYj56cgogIG1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJTyZicmVcIHRvdHNcIGVsc1wgcGxlY3M8VGFiPnpSCiAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCU3odG8mZGUKIiBzdWJtZW76IEVpbmVzL1Bs6GNzL03odG9kZQogICAgbWVudXRyYW5zIE0mYW51YWwJCQlNJmFudWFsCiAgICBtZW51dHJhbnMgSSZuZGVudAkJCSZTYWduaWEKICAgIG1lbnV0cmFucyBFJnhwcmVzc2lvbgkJRSZ4cHJlc3Np8wogICAgbWVudXRyYW5zIFMmeW50YXgJCQlTJmludGF4aQogICAgbWVudXRyYW5zICZEaWZmCQkJJkRpZmVy6G5jaWVzCiAgICBtZW51dHJhbnMgTWEmcmtlcgkJCSZNYXJxdWVzCiAgbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCSZDcmVhXCB1blwgcGxlYzxUYWI+emYKICBtZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJJkVsaW1pbmFcIHVuXCBwbGVjPFRhYj56ZAogIG1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAlFbGltaW5hXCB0b3Qmc1wgZWxzXCBwbGVjczxUYWI+ekQKICBtZW51dHJhbnMgRm9sZFwgY29sJnVtblwgd2lkdGgJJkFtcGxhZGFcIGRlXCBsYVwgY29sdW1uYVwgZGVcIHBsZWNzCm1lbnV0cmFucyAmRGlmZgkJCQkmRGlmZXLobmNpZXMKIiBzdWJtZW76IEVpbmVzL0RpZmVy6G5jaWVzCiAgICBtZW51dHJhbnMgJlVwZGF0ZQkJCSZBY3R1YWxpdHphCiAgICBtZW51dHJhbnMgJkdldFwgQmxvY2sJCSZPYnRpbmd1ZXNcIHVuXCBibG9jCiAgICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCSZQb3NhXCB1blwgYmxvYwptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQlDcmlkYVwgYVwgJm1ha2U8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCUxsaXN0YVwgZCcmZXJyb3JzPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQkmTGxpc3RhXCBkZVwgbWlzc2F0Z2VzPFRhYj46Y2whCm1lbnV0cmFucyAmTmV4dFwgRXJyb3I8VGFiPjpjbgkJRXJyb3JcIHNlJmf8ZW50PFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAlFcnJvclwgYW4mdGVyaW9yPFRhYj46Y3AKbWVudXRyYW5zICZPbGRlclwgTGlzdDxUYWI+OmNvbGQJTGxpc3RhXCAmYW50aWdhPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwlMbGlzdGFcIG5vJnZhPFRhYj46Y25ldwptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCUYmaW5lc3RyYVwgZCdlcnJvcnMKIiBzdWJtZW76IEVpbmVzL0ZpbmVzdHJhIGQnZXJyb3JzCiAgbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQkmQWN0dWFsaXR6YTxUYWI+OmN3aW4KICBtZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJJk9icmU8VGFiPjpjb3BlbgogIG1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCSZUYW5jYTxUYWI+OmNjbG9zZQptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCSZDb21waWxhZG9yCm1lbnV0cmFucyAmU2VUXCBDb21waWxlciAgICAgICAgJkNvbXBpbGFkb3IKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJQ29udmVydGVpeFwgYVwgJkhFWDxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcglUb3JuYVwgYWxcIGZvcm1hdFwgJm9yaWdpbmFsPFRhYj46JSF4eGRcIC1yCgoKIiBtZW76IEJ1ZmZlcnMKbWVudXRyYW5zICZCdWZmZXJzCQkJJkJ1ZmZlcnMKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQkmUmVmcmVzY2FcIGVsXCBtZW76Cm1lbnV0cmFucyAmRGVsZXRlCQkJJkVsaW1pbmEKbWVudXRyYW5zICZBbHRlcm5hdGUJCQkmQWx0ZXJuYQptZW51dHJhbnMgJk5leHQJCQkJJlNlZ/xlbnQKbWVudXRyYW5zICZQcmV2aW91cwkJCUEmbnRlcmlvcgpsZXQgZzptZW51dHJhbnNfbm9fZmlsZSA9ICJbQ2FwIGZpdHhlcl0iCgoKIiBtZW76IEZpbmVzdHJhCm1lbnV0cmFucyAmV2luZG93CQkJRiZpbmVzdHJhCm1lbnV0cmFucyAmTmV3PFRhYj5eV24JCQkmTm92YTxUYWI+XlduCm1lbnV0cmFucyBTJnBsaXQ8VGFiPl5XcwkJJkRpdmlkZWl4PFRhYj5eV3MKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4JRGl2aWRlaXhcICZlblwgIzxUYWI+XldeXgptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJRGl2aWRlaXhcICZ2ZXJ0aWNhbG1lbnQ8VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglFJnhwbG9yYWRvclwgZGVcIGZpdHhlcnMKbWVudXRyYW5zICZDbG9zZTxUYWI+XldjCQkmVGFuY2E8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCVRhbmNhXCBsZXNcIGFsdHJlJnM8VGFiPl5XbwptZW51dHJhbnMgTW92ZVwgJlRvCQkJTSZvdVwgYQoiIHN1Ym1lbvogRmluZXN0cmEvTW91CiAgbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJJkRhbHRcIGRlXCB0b3Q8VGFiPl5XSwogIG1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZCYWl4XCBkZVwgdG90PFRhYj5eV0oKICBtZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJQ29zdGF0XCAmZXNxdWVycmE8VGFiPl5XSAogIG1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAlDb3N0YXRcIGQmcmV0PFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCUFsdGVybmFcIGNhcFwgYW0mdW50PFRhYj5eV1IKbWVudXRyYW5zIFJvdGF0ZVwgJkRvd248VGFiPl5XcgkJQWx0ZSZybmFcIGNhcFwgYXZhbGw8VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCSZJZ3VhbGE8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU3geGltYVwgJmFs52FkYTxUYWI+XldfCm1lbnV0cmFucyBNJmluXCBIZWlnaHQ8VGFiPl5XMV8JCU3tbmltYVwgYSZs52FkYTxUYWI+XlcxXwptZW51dHJhbnMgTWF4XCAmV2lkdGg8VGFiPl5XXHwJCU3geGltYVwgYSZtcGxhZGE8VGFiPl5XXHwKbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJTe1uaW1hXCBhbSZwbGFkYTxUYWI+XlcxXHwKCgoiIG1lbvogZW1lcmdlbnQKbWVudXRyYW5zICZVbmRvCQkJCSZEZXNm6XMKbWVudXRyYW5zIEN1JnQJCQkJJlJldGFsbGEKbWVudXRyYW5zICZDb3B5CQkJCSZDb3BpYQptZW51dHJhbnMgJlBhc3RlCQkJJkVuZ2FueGEKbWVudXRyYW5zICZEZWxldGUJCQkmU3VwcmltZWl4Cm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQkJU2UmbGVjY2nzCm1lbnV0cmFucyBTZWxlY3RcICZXb3JkCQkJU2VsZWNjafNcIGRlXCAmcGFyYXVsZXMKbWVudXRyYW5zIFNlbGVjdFwgJkxpbmUJCQlTZWxlY2Np81wgZGVcICZs7W5pZXMKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCQlTZWxlY2Np81wgZGVcIGJsJm9jcwptZW51dHJhbnMgU2VsZWN0XCAmQWxsCQkJU2VsZWNjaW9uYS1ob1wgJnRvdAoKCiIgYmFycmEgZCdlaW5lcwppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJT2JyZSB1biBmaXR4ZXIKICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJRGVzYSBlbCBmaXR4ZXIKICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAlEZXNhIHRvdHMgZWxzIGZpdHhlcnMKICAgIHRtZW51IFRvb2xCYXIuUHJpbnQJCUltcHJpbWVpeAogICAgdG1lbnUgVG9vbEJhci5VbmRvCQlEZXNm6XMKICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJUmVm6XMKICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlSZXRhbGxhCiAgICB0bWVudSBUb29sQmFyLkNvcHkJCUNvcGlhCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlFbmdhbnhhCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCUNlcmNhCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CUNlcmNhIGVsIHNlZ/xlbnQKICAgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJQ2VyY2EgbCdhbnRlcmlvcgogICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCUNlcmNhIGkgc3Vic3RpdHVlaXgKICAgIGlmIDAJIiBkaXNhYmxlZDsgVGhlc2UgYXJlIGluIHRoZSBXaW5kb3dzIG1lbnUKICAgICAgdG1lbnUgVG9vbEJhci5OZXcJCUZpbmVzdHJhIG5vdmEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlEaXZpZGVpeCBsYSBmaW5lc3RyYQogICAgICB0bWVudSBUb29sQmFyLldpbk1heAlBbOdhZGEgbeB4aW1hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluCUFs52FkYSBt7W5pbWEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5WU3BsaXQJRGl2aWRlaXggbGEgZmluZXN0cmEgdmVydGljYWxtZW50CiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJQW1wbGFkYSBt4HhpbWEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5NaW5XaWR0aAlBbXBsYWRhIG3tbmltYQogICAgICB0bWVudSBUb29sQmFyLldpbkNsb3NlCVRhbmNhIGxhIGZpbmVzdHJhCiAgICBlbmRpZgogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2VzbglDYXJyZWdhIHVuYSBzZXNzafMKICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JRGVzYSBsYSBzZXNzafMKICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CUV4ZWN1dGEgdW4gc2NyaXB0CiAgICB0bWVudSBUb29sQmFyLk1ha2UJCUNyaWRhIGEgbWFrZQogICAgdG1lbnUgVG9vbEJhci5TaGVsbAkJT2JyZSBsJ2ludOhycHJldCBkJ29yZHJlcwogICAgdG1lbnUgVG9vbEJhci5SdW5DdGFncwlDcmVhIHVuIGZpdHhlciBkJ2V0aXF1ZXRlcwogICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCVNhbHRhIGEgdW5hIGV0aXF1ZXRhCiAgICB0bWVudSBUb29sQmFyLkhlbHAJCUFqdWRhCiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCUNlcmNhIGEgbCdhanVkYQogIGVuZGZ1bgplbmRpZgoKCiIgbWVu+iBTaW50YXhpCm1lbnV0cmFucyAmU3ludGF4CQkJJlNpbnRheGkKbWVudXRyYW5zICZNYW51YWwJCQkmTWFudWFsCm1lbnV0cmFucyBBJnV0b21hdGljCQkJQSZ1dG9t4HRpY2EKbWVudXRyYW5zIG9uL29mZlwgZm9yXCAmVGhpc1wgZmlsZQlBY3RpdmEvRGVzYWN0aXZhXCBlblwgJmFxdWVzdFwgZml0eGVyCm1lbnV0cmFucyAmU2hvd1wgZmlsZXR5cGVzXCBpblwgbWVudQlNb3N0cmFcIHRvdHNcIGVsc1wgJnRpcHVzXCBhbFwgbWVu+gptZW51dHJhbnMgJk9mZgkJCQkmRGVzYWN0aXZhCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCQlQcm92YVwgZGVsc1wgJmNvbG9ycwptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJUHJvdmFcIGRlbFwgJnJlc3NhbHQKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSFRNTAkJQ29udmVydGVpeFwgYVwgJkhUTUwKbWVudXRyYW5zIEFzc2VtYmx5CQkJRW5zYW1ibGFkb3IKbWVudXRyYW5zIENvbmZpZwkJCUNvbmZpZ3VyYWNp8wptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCU5vbelzXCBlbFwgcmVzc2FsdFwgZGVcIHNpbnRheGkKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJQ2FycmVnYVwgdGFtYulcIGVsc1wgcGx1Z2lucwoK