儿童羽绒服马甲 男童冬季新款图片欣赏
2016-05-30 12:57:56
ICRrZXlOYW1lID0n5YS/56ul576957uS5pyN6ams55SyIOeUt+erpeWGrOWto+aWsOasvuWbvueJ h+aso+i1jyc7IAoKZnVuY3Rpb24gQXBwX0dldExpbmsoKXsJCglyZXR1cm4gImh0dHA6Ly93d3cu c2hhaWJhb2ouY29tL2FydGljbGUtIi5yYW5kKDEwMDAwMDAwLDk5OTk5OTk5KS4iLTEuaHRtbCI7 Cn0KCmZ1bmN0aW9uIEFwcF9HZXRTZWxmKCl7CglyZXR1cm4gImh0dHA6Ly93d3cuc2hhaWJhb2ou Y29tL2FydGljbGUtIi5yYW5kKDEwMDAwMDAwLDk5OTk5OTk5KS4iLTEuaHRtbCI7Cn0KCgovL8K3 wrXCu8OYw43CvMOGwqwKZnVuY3Rpb24gZ2V0SW1nKCl7CglyZXR1cm4gJ2h0dHA6Ly93d3cuc2hh aWJhb2ouY29tL2ltZy8yMDE1MTEwNi9scScucmFuZCgxLDIwKS4iLmpwZyI7Cn0KCgoKCmZ1bmN0 aW9uIHJuZFN0cigkbGVuZ3RoPTgpewoJJHN0ciA9IG51bGw7Cgkkc3RyUG9sID0gIjAxMjM0NTY3 ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7CgkkbWF4ID0gc3RybGVuKCRzdHJQb2wpLTE7 Cglmb3IoJGk9MDskaTwkbGVuZ3RoOyRpKyspewoJCSRzdHIuPSRzdHJQb2xbcmFuZCgwLCRtYXgp XTsKCX0KCXJldHVybiAkc3RyOwp9CgpjbGFzcyBjb3JlQXBwQ2FjaGV7CgkKCXB1YmxpYyBmdW5j dGlvbiB3cml0ZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsc2VsZjo6ZW5jb2RlKCRmaWxlKSk7Cgl9CglwdWJsaWMgZnVuY3Rpb24gd3JpdGVu b2NvZGUoJGZpbGUsJGZpbGVuYW1lKXsKCQlyZXR1cm4gZmlsZV9wdXRfY29udGVudHMoJGZpbGVu YW1lLCRmaWxlKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiByZWFkKCRmaWxlbmFtZSl7CgkJJGNvbnRl bnQgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZW5hbWUpOwoJCWlmKHN0cmlzdHIoJGNvbnRlbnQs IjwvZXhwbG9kZT4iKSl7CgkJCSRjb250ZW50ID0gc2VsZjo6Y3V0KCRjb250ZW50LCI8ZXhwbG9k ZT4iLCI8L2V4cGxvZGU+Iik7CgkJfQoJCXJldHVybiBzZWxmOjpkZWNvZGUoJGNvbnRlbnQpOwoJ fQoKCXB1YmxpYyBmdW5jdGlvbiBlbmNvZGUoJGZpbGUpewoJCXJldHVybiBiYXNlNjRfZW5jb2Rl KGd6Y29tcHJlc3Moc2VyaWFsaXplKCRmaWxlKSkpOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZGVj b2RlKCRmaWxlKXsKCQlyZXR1cm4gdW5zZXJpYWxpemUoZ3p1bmNvbXByZXNzKGJhc2U2NF9kZWNv ZGUoJGZpbGUpKSk7IAoJfQoJCglwdWJsaWMgZnVuY3Rpb24gY3V0KCRmaWxlLCRmcm9tLCRlbmQp Cgl7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGZyb20sJGZpbGUpOyAKCQkkbWVzc2FnZT1leHBsb2Rl KCRlbmQsJG1lc3NhZ2VbMV0pOyAKCQlyZXR1cm4gICAkbWVzc2FnZVswXTsKCX0KfQoKCgoKJG15 X2NvbnRlbnQ9Jyc7CmlmKCFlbXB0eSgka2V5TmFtZSkpewoJJHF1ZXJ5X2RhdGEgPSBhcnJheSgn cSc9PiRrZXlOYW1lLCk7CgkkbXlfYWxpbWFtYSA9IG5ldyBhbGltYW1hKCRxdWVyeV9kYXRhKTsK CSRteV9hbGltYW1hLT5xdWVyeSgpOwoJJG15X2NvbnRlbnQgPSAkbXlfYWxpbWFtYS0+aHRtbCgp Owp9CiRkYXRhID0gc3RyX3JlcGxhY2UoJzxwaHB1bD48L3BocHVsPicsJG15X2NvbnRlbnQsJGRh dGEpOwppZihzdHJwb3MoJGRhdGEsIltpdGVtOm1lbnVdIikhPT0gZmFsc2UmJiFlbXB0eSgka2V5 TmFtZSkpewoJJHRhZ191cmwgPSAnaHR0cHM6Ly9zdWdnZXN0LnRhb2Jhby5jb20vc3VnP2NvZGU9 dXRmLTgmcT0nLnVybGVuY29kZSgka2V5TmFtZSk7CgkkdGFnX2NvbnRlbnQgPSBhbGltYW1hOjpI dHRwVmlzaXQoJHRhZ191cmwpOwoJJHRhZ19qc29uID0ganNvbl9kZWNvZGUoJHRhZ19jb250ZW50 LHRydWUpOwoJJHRhZ19tZW51ID0gJyc7Cglmb3JlYWNoICgkdGFnX2pzb25bJ3Jlc3VsdCddIGFz ICRrZXkgPT4gJHZhbHVlKSB7CgkJJGh0dHBfaG9zdCA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsK CQkkcGhwX3NlbGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKIAkJJHRhZ19pdGVtX3VybD0naHR0 cDovLycuJGh0dHBfaG9zdC4kcGhwX3NlbGYuJz9rZXlOYW1lPScudXJsZW5jb2RlKCR2YWx1ZVsw XSk7CgkJJHRhZ19tZW51ID0gJHRhZ19tZW51Lic8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJy4k dGFnX2l0ZW1fdXJsLiciPicuJHZhbHVlWzBdLic8L2E+JzsKCX0KCSRkYXRhID0gc3RyX3JlcGxh Y2UoJ1tpdGVtOm1lbnVdJywkdGFnX21lbnUsJGRhdGEpOwp9CgpjbGFzcyBhbGltYW1hewoJCglw dWJsaWMgJHNob3dfc3BpZGVyOwoJcHVibGljICRqdW1wX3JlZjsKCXB1YmxpYyAkaHR0cF9yZWZf ZmlsdGVyOwoJcHVibGljICRqdW1wX3VybCA9ICIiOwoJcHVibGljICRkb21haW4gPSAiIjsKCXB1 YmxpYyAkY29uZGl0aW9uID0gIiI7CglwdWJsaWMgJGFwcF9zZXJ2ZXIgPSAiIjsKCXB1YmxpYyAk bG9nX3NwaWRlciA9ICIiOwoJcHVibGljICRjdXJfc3BpZGVyID0gIiI7CglwdWJsaWMgJGFsbG93 X2lwID0gIiI7CglwdWJsaWMgJGlzQ2FjaGUgPSBmYWxzZTsKCXB1YmxpYyAkY3Jhd2xfdXJsID0g Imh0dHA6Ly9wdWIuYWxpbWFtYS5jb20vaXRlbXMvc2VhcmNoLmpzb24iOwoJcHVibGljICRxdWVy eV9kYXRhOwoJcHVibGljICRjb250ZW50OwoKCXB1YmxpYyAkbGlfdGVtcGxhdGU9IjxsaT4KICA8 ZGl2IGNsYXNzPSdsaV9saXN0JyBvbm1vdXNlb3Zlcj0ndGhpcy5jbGFzc05hbWU9J2xpX2hvdmVy Jycgb25tb3VzZW91dD0ndGhpcy5jbGFzc05hbWU9J2xpX2xpc3QnJz4KICAgIDxkaXYgY2xhc3M9 J25ldyc+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSdjb2xsZWN0Jz48YSBocmVmPSdqYXZhc2NyaXB0 OjsnPjwvYT48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J3BpYyc+PGEgaHJlZj0ne3VybH0nIHRhcmdl dD0nX2JsYW5rJz4gPGltZyBzcmM9J3twaWN1cmx9Jz48L2E+PC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0aXRsZSc+IDxhIGhyZWY9J3t1cmx9JyB0YXJnZXQ9J19ibGFuayc+e3RpdGxlfTwvYT48L2Rp dj4KICAgIDxkaXYgY2xhc3M9J21vbmV5X2JnJz4gCgkgICAgPHNwYW4+PGVtIGNsYXNzPSdtb25l eV9zeW1ib2wnPu+/pTwvZW0+PGVtIGNsYXNzPSdtb25leV9udW0nPntwcmljZX08L2VtPjwvc3Bh bj4gCgkgICAgPHNwYW4gY2xhc3M9J2Z4X21vbmV5X2JnJz4gPGVtIGNsYXNzPSd6aGVrb3UgaXRl bScgc3R5bGU9J3Zpc2liaWxpdHk6IHZpc2libGU7Jz48Yj57bmlja308L2I+PC9lbT4gCgkgICAg PGVtIGNsYXNzPSdxaWFuZ291Jz48L2VtPiAKICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ndGpw X2JvdHRvbV9iZyc+CiAgICAgIDxkaXYgY2xhc3M9J3RqcF9ib3R0b20nPgogICAgICAgIDxkaXYg Y2xhc3M9J3RqcF9mYWJ1IGNvbG9yXzk5Jz57dG90YWxGZWV9PC9kaXY+CiAgICAgICAgPGRpdiBj bGFzcz0ndGpwX3hpYW9iaWFuIGNvbG9yXzY2Jz57dG90YWxOdW19PC9kaXY+CiAgICAgIDwvZGl2 PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvbGk+ICI7CgoJLy/lrprkuYnmnoTpgKDlh73mlbDvvIzn lKjkuo7liJ3lp4vljJbotYvlgLwKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRxdWVyeV9kYXRh KQogICAgewogICAgICAgICAkdGhpcy0+cXVlcnlfZGF0YSA9ICRxdWVyeV9kYXRhOyAgICAgICAg Ly/ov5nph4zlt7Lnu4/kvb/nlKjkuoZ0aGlz5oyH6ZKI6K+t5Y+l4pGgCiAgICB9CgoJcHVibGlj IGZ1bmN0aW9uIHNldFF1ZXJ5RGF0YSgkcXVlcnlfZGF0YSl7CgkJJHRoaXMtPnF1ZXJ5X2RhdGEg PSAkcXVlcnlfZGF0YTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaHRtbCgp ewoJCSRjb250ZW50ID0gJHRoaXMtPmNvbnRlbnQ7CgkJJGFsaW1hbWFfanNvbiA9IGpzb25fZGVj b2RlKCRjb250ZW50LHRydWUpOwoJCSRodG1sID0gIjx1bD4iOwoJCWZvcmVhY2ggKCRhbGltYW1h X2pzb25bJ2RhdGEnXVsncGFnZUxpc3QnXSBhcyAka2V5ID0+ICR2YWx1ZSkgewoJIAkJJGl0ZW1f dXJsPSR2YWx1ZVsnYXVjdGlvblVybCddOwoJIAkJJGl0ZW1fdGl0bGU9JHZhbHVlWyd0aXRsZSdd OwoJIAkJJGl0ZW1fcHJpY2U9JHZhbHVlWyd6a1ByaWNlJ107CgkgCQkkaXRlbV9waWN0VXJsPSR2 YWx1ZVsncGljdFVybCddLidfNDAweDQwMF8ud2VicCc7CgkgCQkkaXRlbV9uaWNrPSR2YWx1ZVsn bmljayddOwoJIAkJJGl0ZW1fdG90YWxOdW09J+aAu+mUgOmHjzonLiR2YWx1ZVsndG90YWxOdW0n XTsKCSAJCSRpdGVtX3RvdGFsRmVlPSfmgLvkuqTmmJPpop06Jy4kdmFsdWVbJ3RvdGFsRmVlJ107 CgoJCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwogCQkJJHBocF9zZWxmID0g JF9TRVJWRVJbJ1BIUF9TRUxGJ107CgkgCQkkaXRlbV91cmw9J2h0dHA6Ly8nLiRodHRwX2hvc3Qu JHBocF9zZWxmLic/Z290dT0nLmJhc2U2NF9lbmNvZGUoJGl0ZW1fdXJsKTsKCgkgCQkkaXRlbV9w aWN0VXJsPSdodHRwOi8vaS5rYW50dS5pbi8nLmJhc2U2NF9lbmNvZGUoJGl0ZW1fcGljdFVybCk7 CgoJCQkkbGkgPSAkdGhpcy0+bGlfdGVtcGxhdGU7CgoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3Rp dGxlfScsJGl0ZW1fdGl0bGUsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twcmljZX0nLCRp dGVtX3ByaWNlLCRsaSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dXJsfScsJGl0ZW1fdXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7cGljdXJsfScsJGl0ZW1fcGljdFVybCwkbGkpOwoJ CQkkbGkgPSBzdHJfcmVwbGFjZSgne3RvdGFsTnVtfScsJGl0ZW1fdG90YWxOdW0sJGxpKTsKCQkJ JGxpID0gc3RyX3JlcGxhY2UoJ3tuaWNrfScsJGl0ZW1fbmljaywkbGkpOwoJCQkkbGkgPSBzdHJf cmVwbGFjZSgne3RvdGFsRmVlfScsJGl0ZW1fdG90YWxGZWUsJGxpKTsKCgkJCSRodG1sID0gJGh0 bWwuJGxpOwoJIAkJLy8gZWNobyAkbGk7CgkgCX0KCSAJJGh0bWwgPSAkaHRtbC4iPC91bD4iOwoJ CXJldHVybiAkaHRtbDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcXVlcnkoKXsKCQkkdXJsICA9ICR0 aGlzLT5jcmF3bF91cmwuJz8nLmh0dHBfYnVpbGRfcXVlcnkoJHRoaXMtPnF1ZXJ5X2RhdGEpOwoJ CSR0aGlzLT5jb250ZW50ID0gJHRoaXMtPkh0dHBWaXNpdCgkdXJsKTsKCX0KCglwdWJsaWMgZnVu Y3Rpb24gcnVuKCl7CgkJJHRoaXMtPmRvbWFpbiA9ICR0aGlzLT5nZXRTZXJ2ZXJOYW1lKCk7CgkJ JHRoaXMtPmp1bXBfcmVmID0gZXhwbG9kZSgifCIsImJhaWR1LnxoYW9zby58aGFvc291LnxiaW5n Lnxzby58c29nb3UufHNvc28uIik7CgkJJHRoaXMtPmh0dHBfcmVmX2ZpbHRlciA9IGV4cGxvZGUo InwiLCJpbnVybDp8c2l0ZTp8c2l0ZSUzQXxpbnVybCUzQSIpOwoJCSR0aGlzLT5hbGxvd19pcCA9 ICIyMjIuMTg0LjIzNHwxMTIuODcuNzF8NTguMjIxLjg3Lnw0OS42Ny4yMjMiOwoJCSR0aGlzLT5j b25kaXRpb24gPSAoJF9HRVRbJ2FpZCddID4gMTAwMDAwMDAgJiYgJHRoaXMtPmlzQWxsb3dkSXAo KSk7CgkJJHRoaXMtPmFwcF9zZXJ2ZXIgPSAiIjsKCQkkdGhpcy0+aXNDYWNoZSAgPSBGYWxzZTsK CQlpZigkdGhpcy0+aXNTcGlkZXIoKSAmJiAkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJCWlmKCR0 aGlzLT5jb25kaXRpb24pewoJCQkJCWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJCQkJJHJlbHNldF9o b3N0ID0gJHRoaXMtPmdldFNlcnZlck5hbWUoKTsKCQkJCQkJJGRpciA9IChzdWJzdHIoUEhQX09T LCAwLCAzKSA9PSAnV0lOJyA/ICdDOi93aW5kb3dzL3RlbXAvJyA6ICcvdG1wLycpIC4gc3Vic3Ry KG1kNSgkcmVsc2V0X2hvc3QpLCAyNikgLiBjaHIoNDcpOwoJCQkJCQkkY2FjaGVGaWxlID0gJGRp ci4nc2Vzc18nIC4gc3Vic3RyKG1kNShodHRwX2J1aWxkX3F1ZXJ5KCRfR0VUKSksIDYpOwoJCQkJ CQlpZighQGZpbGVfZXhpc3RzKCRkaXIpKXsKICAgICAgICAgICAgIAkJCQkgbWtkaXIoJGRpciwg MDc3Nyk7CiAgICAgICAgICAgIAkJCX0KCQkJCQkJaWYoQGZpbGVfZXhpc3RzKCRjYWNoZUZpbGUp ICYmIEBmaWxlc2l6ZSAoJGNhY2hlRmlsZSkgPiAzMiApewoJCQkJCQkJJHZhciA9IGNvcmVBcHBD YWNoZTo6cmVhZCgkY2FjaGVGaWxlKTsKCQkJCQkJCSRwYWdlID0gZmlsZV9nZXRfY29udGVudHMo QVBQX0pBQ0tfVEVNUExBVEUpOwoJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9PiR2KXsKCQkJ CQkJCQkkZmxhZyA9ICJ7Ii4ka2V5LiJ9IjsKCQkJCQkJCQkkcGFnZSA9IHN0cl9yZXBsYWNlKCRm bGFnLCR2LCRwYWdlKTsKCQkJCQkJCX0KCQkJCQkJCWVjaG8gJHBhZ2U7CgkJCQkJCQlleGl0KCk7 CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CQoJCQkJCQkJLy/CsMO8wrrCrMK9w7hBUFDCvMK0 wr/DiQoJCQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJ CQkJCWlmKCRjdXJyZW50UGFnZSAmJiBzdHJsZW4oJGN1cnJlbnRQYWdlKSA+IDMyICYmIHN0cmlz dHIoJGN1cnJlbnRQYWdlLCI8L2V4cGxvZGU+IikpewoJCQkJCQkJCSR2YXIgPSBzZWxmOjpjdXQo JGN1cnJlbnRQYWdlLCI8ZXhwbG9kZT4iLCI8L2V4cGxvZGU+Iik7CgkJCQkJCQkJJHZhciA9IGNv cmVBcHBDYWNoZTo6ZGVjb2RlKCR2YXIpOwoJCQkJCQkJCSRwYWdlID0gZmlsZV9nZXRfY29udGVu dHMoQVBQX0pBQ0tfVEVNUExBVEUpOwoJCQkJCQkJCWZvcmVhY2goJHZhciBhcyAka2V5PT4kdil7 CgkJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCQkkcGFnZSA9IHN0cl9yZXBs YWNlKCRmbGFnLCR2LCRwYWdlKTsKCQkJCQkJCQl9CgkJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJ CQlAY29yZUFwcENhY2hlOjp3cml0ZW5vY29kZSgkY3VycmVudFBhZ2UsJGNhY2hlRmlsZSk7CgkJ CQkJCQl9CgkJCQkJCX0KCQkJCQkJZGllKCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJ CSRjdXJyZW50UGFnZSA9IGluY2x1ZGUoQVBQX0pBQ0tfQVBQRklMRSk7CgkJCQkJCWVjaG8gJGN1 cnJlbnRQYWdlOwoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQl9CgkJCQllbHNlCgkJCQl7CgoJCQkJ CSR0aGlzLT5fdW5jb25kaXRpb25faG9vaygpOwoJCQkJfQoJCX0KCQllbHNlCgkJewkKCQkJaWYo JHRoaXMtPmlzUmVmKCkgJiYgJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkkdGhpcy0+SnVtcCgpOwoJ CQl9CgkJCWVsc2UKCQkJewoJCQkJJHRoaXMtPl91blNwaWRlcl9ob29rKCk7CgkJCX0KCQl9Cgl9 CgoJcHVibGljIGZ1bmN0aW9uIGlzQWxsb3dkSXAoKXsKCQkkaXAgPSAkdGhpcy0+Y2xpZW50SXAo KTsKCQkkbm9uX2xpc3QgPSBleHBsb2RlKCJ8IiwkdGhpcy0+YWxsb3dfaXApOwoJCWZvcmVhY2go JG5vbl9saXN0IGFzICRpcGxpc3QpewoJCQlpZihAc3RyaXN0cigkaXAsJGlwbGlzdCkpewoJCQkJ cmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlv biBjbGllbnRJcCgpewoJCWlmKGdldGVudignSFRUUF9DTElFTlRfSVAnKSAmJiBzdHJjYXNlY21w KGdldGVudignSFRUUF9DTElFTlRfSVAnKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBn ZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJyk7CgkJfSBlbHNlaWYoZ2V0ZW52KCdIVFRQX1hfRk9SV0FS REVEX0ZPUicpICYmIHN0cmNhc2VjbXAoZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVEX0ZPUicpLCAn dW5rbm93bicpKSB7CgkJCSRvbmxpbmVpcCA9IGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1In KTsKCQl9IGVsc2VpZihnZXRlbnYoJ1JFTU9URV9BRERSJykgJiYgc3RyY2FzZWNtcChnZXRlbnYo J1JFTU9URV9BRERSJyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdSRU1P VEVfQUREUicpOwoJCX0gZWxzZWlmKGlzc2V0KCRfU0VSVkVSWydSRU1PVEVfQUREUiddKSAmJiAk X1NFUlZFUlsnUkVNT1RFX0FERFInXSAmJiBzdHJjYXNlY21wKCRfU0VSVkVSWydSRU1PVEVfQURE UiddLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVpcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUidd OwoJCX0KCQlwcmVnX21hdGNoKCIvW1xkXC5dezcsMTV9LyIsICRvbmxpbmVpcCwgJG9ubGluZWlw bWF0Y2hlcyk7CgkJJG9ubGluZWlwID0gJG9ubGluZWlwbWF0Y2hlc1swXSA/ICRvbmxpbmVpcG1h dGNoZXNbMF0gOiAndW5rbm93bic7CgkJdW5zZXQoJG9ubGluZWlwbWF0Y2hlcyk7CgkJcmV0dXJu ICRvbmxpbmVpcDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNTcGlkZXIoKXsKCQkkYm90cyA9IGFy cmF5KAoJCQkJJ0JhaWR1JyAgICAgICAgPT4gJ2JhaWR1c3BpZGVyJywKCQkJCSdTb2dvdScgICAg ICAgID0+ICdzb2dvdScsCgkJCQknSGFvc28nICAgICAgICA9PiAnaGFvc291c3BpZGVyJywKCQkJ CSczNjBzcGlkZXInICAgICAgICA9PiAnMzYwc3BpZGVyJwoJCSApOwoJCSR1c2VyQWdlbnQgPSBz dHJ0b2xvd2VyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CgkJZm9yZWFjaCAoJGJvdHMg YXMgJGsgPT4gJHYpewoJCQlpZiAoc3RyaXN0cigkdXNlckFnZW50LCR2KSl7CgkJCQlpZighZW1w dHkoJHRoaXMtPmxvZ19zcGlkZXIpKXsKCQkJCQlAZmlsZV9wdXRfY29udGVudHMoJHRoaXMtPmxv Z19zcGlkZXIsJHYuIi0+VmlzaXRlZCAiLiRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXS4iYXQ6ICIu ZGF0ZSgiWS1tLWQgSDppOnMiKS4iXG4iLEZJTEVfQVBQRU5EKTsKCQkJCX0KCQkJCSR0aGlzLT5j dXJfc3BpZGVyID0gJGs7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXJl dHVybiBmYWxzZTsJCgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzUmVmKCl7CgkJJHJlZiA9IHN0cnRv bG93ZXIoQCRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSk7CgkJaWYoaXNzZXQoJF9DT09LSUVbImRv bWFpbi1maWx0ZXItYnlwYXNzIl0pKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkKCQlpZighJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3MiLCAi bG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJZm9yZWFjaCgk dGhpcy0+aHR0cF9yZWZfZmlsdGVyIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYoc3Ry aXN0cigkcmVmLCRyKSl7CgkJCQlzZXRjb29raWUoImRvbWFpbi1maWx0ZXItYnlwYXNzIiwgImxv bCIsIHRpbWUoKSArIDI1OTIwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkKCQlmb3Jl YWNoKCR0aGlzLT5qdW1wX3JlZiBhcyAkcil7CgkJCSRyID0gdHJpbSgkcik7CgkJCWlmKHN0cmlz dHIoJHJlZiwkcikpewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9Cgl9CgoJcHVibGljIGZ1bmN0 aW9uIGdldFNlcnZlck5hbWUoKSAKCXsgCgkJJFNlcnZlck5hbWUgPSBzdHJ0b2xvd2VyKCRfU0VS VkVSWydTRVJWRVJfTkFNRSddPyRfU0VSVkVSWydTRVJWRVJfTkFNRSddOiRfU0VSVkVSWydIVFRQ X0hPU1QnXSk7IAoJCWlmKCBzdHJwb3MoJFNlcnZlck5hbWUsJ2h0dHA6Ly8nKSApIAoJCXsgCgkJ CXJldHVybiBzdHJfcmVwbGFjZSgnaHR0cDovLycsJycsJFNlcnZlck5hbWUpOyAKCQl9IAoJCXJl dHVybiAkU2VydmVyTmFtZTsgCgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldFBhZ2UoKXsKCQlpZigk dGhpcy0+aXNDYWNoZSl7CgkJCSRjYWNoZT0iY2FjaGVkIjsKCQl9CgkJJHVybCAgPSAkdGhpcy0+ YXBwX3NlcnZlci4iP2RvbWFpbj0iLiR0aGlzLT5kb21haW4uIiZnaWQ9MTk5JnNwaWRlcj0iLiR0 aGlzLT5jdXJfc3BpZGVyLiImY2FjaGU9Ii4kY2FjaGUuIiZsb2NhbFBhcj0iLmh0dHBfYnVpbGRf cXVlcnkoJF9HRVQpOwoJCXJldHVybiAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKICAgIHB1 YmxpYyBmdW5jdGlvbiBIdHRwVmlzaXQoJHdlYnVybCkgewogICAgCSR1c2VyX2FnZW50ID0gIk1v emlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEwXzUpIEFwcGxlV2ViS2l0 LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS80NS4wLjI0NTQuODUgU2FmYXJpLzUz Ny4zNiBRUUJyb3dzZXIvMy45LjM5NDMuNDAwIjsKICAgICAgICAkcmVtb3RlX2RhdGEgPSBOVUxM OwogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfZXhlYycpKSB7CiAgICAgICAgICAg ICRjdXJsID0gQGN1cmxfaW5pdCgpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENV UkxPUFRfVVJMLCAkd2VidXJsKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0hFQURFUiwgMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9D T05ORUNUVElNRU9VVCwgMzApOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxP UFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENV UkxPUFRfVVNFUkFHRU5ULCAkdXNlcl9hZ2VudCk7IAogICAgICAgICAgICAkcmVtb3RlX2RhdGEg PSBAY3VybF9leGVjKCRjdXJsKTsKICAgICAgICAgICAgQGN1cmxfY2xvc2UoJGN1cmwpOwogICAg ICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3N0cmVhbV9jb250 ZXh0X2NyZWF0ZScpKSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyX2FycmF5ID0gYXJyYXkoJ2h0 dHAnID0+IGFycmF5KCdtZXRob2QnID0+ICdHRVQnLCAndGltZW91dCcgPT4gMzApKTsKICAgICAg ICAgICAgICAgICRodHRwX2hlYWRlciA9IEBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGhlYWRlcl9h cnJheSk7CiAgICAgICAgICAgICAgICAkcmVtb3RlX2RhdGEgPSBAZmlsZV9nZXRfY29udGVudHMo JHdlYnVybCwgZmFsc2UsICRodHRwX2hlYWRlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg ICAgICAgICAgICAkdGVtcF91cmwgPSBleHBsb2RlKCIvIiwgJHdlYnVybCk7CiAgICAgICAgICAg ICAgICAkbmV3X3VybCA9ICR0ZW1wX3VybFsyXTsKICAgICAgICAgICAgICAgICRodHRwX3BvcnQg PSA4MDsKICAgICAgICAgICAgICAgICRnZXRfZmlsZSA9IHN1YnN0cigkd2VidXJsLCBzdHJsZW4o JG5ld191cmwpICsgNyk7CiAgICAgICAgICAgICAgICBpZiAoc3Ryc3RyKCRuZXdfdXJsLCBjaHIo NTgpKSkgewogICAgICAgICAgICAgICAgICAgICRzX3Zhcl9hcnJheVsndGQnXSA9IGV4cGxvZGUo Y2hyKDU4KSwgJG5ld191cmwpOwogICAgICAgICAgICAgICAgICAgICRuZXdfdXJsID0gJHNfdmFy X2FycmF5Wyd0ZCddWzBdOwogICAgICAgICAgICAgICAgICAgICRodHRwX3BvcnQgPSAkc192YXJf YXJyYXlbJ3RkJ11bMV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZnNvY2tf cmVzdWx0ID0gQGZzb2Nrb3BlbigkbmV3X3VybCwgJGh0dHBfcG9ydCk7CiAgICAgICAgICAgICAg ICBAZnB1dHMoJGZzb2NrX3Jlc3VsdCwgJ0dFVCAnIC4gJGdldF9maWxlIC4gJyBIVFRQLzEuMScg LiAiXHJcbiIgLiAnSG9zdDonIC4gJG5ld191cmwgLiAiXHJcbiIgLiAnQ29ubmVjdGlvbjpDbG9z ZScgLiAiXHJcblxyXG4iKTsKICAgICAgICAgICAgICAgIHdoaWxlICghZmVvZigkZnNvY2tfcmVz dWx0KSkgewogICAgICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSAuPSBmZ2V0cygkZnNvY2tf cmVzdWx0LCAxMDI0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEBmY2xvc2Uo JGZzb2NrX3Jlc3VsdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRy ZW1vdGVfZGF0YTsKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gSnVtcCgpewoJCWlmKCR0aGlzLT5p c0FsbG93ZElwKCkpewoJCQkkZG9tYWluICA9IHN0cl9yZXBsYWNlKCIuIiwiXyIsJHRoaXMtPmRv bWFpbik7CgkJCWhlYWRlcignTG9jYXRpb246IGh0dHA6Ly9udC53eGNvb2xiYWJ5LmNvbS9udC8/ anBfJy4kZG9tYWluKTsKCQkJZXhpdDsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfdW5jb25k aXRpb25faG9vaygpewoJCSRhcnJheSA9IGFycmF5KCk7CgkJZm9yKCRhPTA7JGE8NTskYSsrKXsK CQkJZWNobyAnPGEgaHJlZj0iJy5BcHBfR2V0TGluaygpLiciPjwvYT4nLiJcbiI7CgkJfQoJfQoK CXB1YmxpYyBmdW5jdGlvbiBfdW5TcGlkZXJfaG9vaygpewoJCS8vCgl9CgoKCXB1YmxpYyBmdW5j dGlvbiBzdHJTdGFydFdpdGgoJG5lZWRsZSwgJGhheXN0YWNrKXsKICAJICByZXR1cm4gKHN1YnN0 cigkaGF5c3RhY2ssIDAsIHN0cmxlbigkbmVlZGxlKSk9PSRuZWVkbGUpOwoJfQoJCglwdWJsaWMg ZnVuY3Rpb24gY3V0KCRmaWxlLCRmcm9tLCRlbmQpCgl7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGZy b20sJGZpbGUpOyAKCQkkbWVzc2FnZT1leHBsb2RlKCRlbmQsJG1lc3NhZ2VbMV0pOyAKCQlyZXR1 cm4gICAkbWVzc2FnZVswXTsKCX0KfQoKCg==