6L+Z5qyhYmVnaW5jdGbmlrDnlJ/otZvkuIDovrnpl65ncHTkuIDovrnlgZos5pyA5ZCO5YuJ5by65o2h5LqG5Liq56ys5YWr5ZCNCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9mMzQ2ZGVlOTZmZTM2MzQ1OWUwNWNiMTc1OTU4YjE5ZV8xNjYzOS5wbmcpCuS7peS4i+aYr+mDqOWIhumimOinowojIyBGb3JlbnNpY3MKCiMjIyMg5a2m5Y+W6K+B5ZKvIC0gY21kCgp2b2xhdGlsaXR5IGltYWdlaW5mb+afpeeci+aTjeS9nOezu+e7nwoKdm9sYXRpbGl0eSAtLXByb2ZpbGU9V2luN1NQMXg2NCAtZiDlrablj5bor4Hlkq8ucmF3IGNtZHNjYW4KCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy8xNWFmZGM0NTQ5OWQzMTBlMWRhMmMxNjVkMTkxMGUwMV84MTIxMC5wbmcpCgojIyMjIOWtpuWPluivgeWSryAtIOaDs+eZu+W9leaIkeeahOiuoeeul+acuuWQlz8KCueci+W+l+aYr+i/meevh+aWh+eroOadpeWuieijhW1pbWlrYXR65o+S5Lu277yaCmh0dHBzOi8vYmxvZy5jc2RuLm5ldC9zYmluZ21vL2FydGljbGUvZGV0YWlscy8xMjU3MTkxNDU/dXRtX21lZGl1bT1kaXN0cmlidXRlLnBjX3JlbGV2YW50Lm5vbmUtdGFzay1ibG9nLTJ+ZGVmYXVsdH5iYWlkdWpzX2JhaWR1bGFuZGluZ3dvcmR+ZGVmYXVsdC0wLTEyNTcxOTE0NS1ibG9nLTEzMjY0OTg1NS4yMzXoo4XlrozlkI7nm7TmjqXmiafooYwKCmBgYGJhc2gKcHl0aG9uMiB2b2wucHkgLWYgc3R1ZHkucmF3IC0tcHJvZmlsZT1XaW43U1AxeDY0ICBtaW1pa2F0eiAgCmBgYAoKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzIwNmM1NTgwM2Q4ZmY1MDczOWEyNjdlOTA1N2I5YzFhXzUzMzc0LnBuZykKCiMjIyMg5a2m5Y+W6K+B5ZKvIC0g6L+Y6K6w5b6XaWXlkJc/CgoKCiMjIyMg5a2m5Y+W6K+B5ZKvIC0g6K6h566X5py655qE5aeT5ZCNPwoKYGBgYmFzaAp2b2xhdGlsaXR5IC1mICBoaXZlbGlzdAoj5p+l5om+5ZCN5Li6U3lzdGVt55qESGl2Ze+8iOmAmuW4uOS9jeS6juWcsOWdgDB4ZmZmZmY4YTAwMDAwODAwMO+8ieWSjOWQjeS4ulNvZnR3YXJl55qESGl2Ze+8iOmAmuW4uOS9jeS6juWcsOWdgDB4ZmZmZmY4YTAwMDAxYTAwMO+8ieOAggp2b2xhdGlsaXR5IC1mICAtLXByb2ZpbGU9IHByaW50a2V5IC1vIDB4ZmZmZmY4YTAwMDAwODAwMCAtSyBDb250cm9sU2V0MDAxXENvbnRyb2xcQ29tcHV0ZXJOYW1lXENvbXB1dGVyTmFtZQoj5p+l5om+6K6h566X5py65ZCNKOazqOWGjOihqCkKYGBgCgohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvZWU1ZTg0OTA0MWYxOWI4NThjNzlmMTdhYjgxYzg0ZWFfOTQyNjIucG5nKQoKIyMgTUlTQwoKIyMjIyDkuIvkuIDnq5nkuIrlsrgKCuW8gOWxgOaLv+WIsOmimAohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvMTJlNGEwNzFkMDE4ZmU3ODU3NDcxMzdlN2JmMjcyOTFfMTEwNjcucG5nKQrnhLblkI7nlKh6c3RlZ+eci+eci+acieayoeaciemakOWGmQohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvOWY5NGU5MzM0ZTAxYjU5YjlkMDk4NzFiMGQ4OWY4OTFfMTQ1NDQucG5nKQpiYXNlNjTop6Plr4YKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzZhOTI5ZjNjMDNjZjA4YjAwMTgwMThiNmEwNzBiYzlhXzY0MjE5LnBuZykK54S25ZCO55yL55yL5Zu+54mH77ya5Y+R546w5Lqk54K55Liq5pWw5Y+q5pyJMO+8jDHvvIwy5LiJ5Lit5oOF5Ya177yMMOS7o+ihqOWIhuWJsuespiwx5pivLuS6jOaYr1xfCui/mee7hOaIkOS6huiOq+aWr+eUteegge+8jOWvueedgOihqOaLvOWHumZsYWfljbPlj68KCiMjIyMgdHVwcGVyCgrlvIDlsYDnu5nkuoblpb3lpJrmlofku7bvvIzlhpnkuKrohJrmnKzlkIjlubbkuIDkuIsKCmBgYHB5CmltcG9ydCBiYXNlNjQKaT0wCnJlc3VsdD0iIgp3aGlsZShpIDAuNSBlbHNlIDAKICAgIGZvciB5IGluIHJhbmdlKDE3KToKICAgICAgICBmb3IgeCBpbiByYW5nZSgxMDYpOgogICAgICAgICAgICBhYVt5LCB4XSA9IGYoeCwgeSkgCiAgICByZXR1cm4gYWFbOiw6Oi0xXQogCmsgPSAxNDI3ODE5MzQzMjcyODAyNjA0OTI5ODU3NDU3NTU1NzUzNDMyMTA2MjM0OTM1MjU0MzU2MjY1Njc2NjQ2OTcwNDA5Mjg3NDY4ODM1NDY3OTM3MTIxMjQ0NDM4MjI5ODgyMTM0MjA5MzQ1MDM5ODkwNzA5Njk3NjAwMjQ1ODgwNzU5ODUzNTczNTE3MjEyNjY1NzUwNDEzMTE3MTY4NDkwNzE3MzA4NjY1OTUwNTE0MzkyMDMwMDA4NTgwODgwOTY0NzI1Njc5MDM4NDM3ODU1Mzc4MDI4Mjg5NDIzOTc1MTg5ODYyMDA0MTE0MzM4MzMxNzA2NDcyNzEzNjkwMzYzNDc3MDkzNjM5ODUxODU0NzkwMDUxMjU0ODQxOTQ4NjM2NDkxNTM5OTI1Mzk0MTI0NTkxMTIwNTI2MjQ5MzU5MTE1ODQ5NzcwODIxOTEyNjQ1MzU4NzQ1NjYzNzMwMjg4ODcwMTMwMzM4MjIxMDc0ODYyOTgwMDA4MTgyMTY4NDI4MzE4NzM2ODU0MzYwMTU1OTc3ODQzMTczNTAwNjc5NDc2MTU0MjQxMzAwNjYyMTIxOTIwNzMyMjgwODQ0OTIzMjA1MDU3ODg1MjQzMTM2MTY3ODc0NTM1NTc3NjkyMTEzMjM1MjQxOTkzMTkwNzgzODIwNTAwMTE4NCAj6L6T5YWl5L2g6KaB5o+Q5Y+W55qEawphYSA9IFR1cHBlcl9zZWxmX3JlZmVyZW50aWFsX2Zvcm11bGEoaykKcGx0LmZpZ3VyZShmaWdzaXplPSgxNSwxMCkpCnBsdC5pbXNob3coYWEsb3JpZ2luPSdsb3dlcicpCnBsdC5zYXZlZmlnKCJ0dXBwZXIucG5nIikKaW1nID0gSW1hZ2Uub3BlbigndHVwcGVyLnBuZycpCiPnv7vovawKZHN0MSA9IGltZy50cmFuc3Bvc2UoSW1hZ2UuRkxJUF9MRUZUX1JJR0hUKS5yb3RhdGUoMzYwKSAgIApwbHQuaW1zaG93KGRzdDEpCnBsdC5zaG93KCkKYGBgCgrnu5PmnpzvvJohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvMzdjODQwZTUxNmE5ZTJiMjI5M2E4OWRkODNlOTY2ZTNfNjcwMzkucG5nKQojIyMjcmVhbCBjaGVjayBpbgpNSlNXTzJMT1BOTFVLVENESjVHV0tYM1VONVBVRU0ySE5GWEVHVkNHTDRaREFNUlVMNUVEQVVERkw1TVU2Vks3TzVVVVlNSzdHRVlXV1pLN05FM1gyPT09CmJhc2UzMuenkuS6hgojIyMjd2hlcmUgaXMgY3JhenltYW4gdjEuMArnnIvpopgKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzJhYzI2YWVjNjYzNDM1ODI4Mjc2NGNkMzJjN2M2OTA0XzcyODQ2LnBuZykKZ29vZ2xl5pCc5Zu+5LiA5LiLCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9kYjUwNTc0N2QzYzk4Mjc1NzBiNTFhYTYxODZmYzk1NV81Mjg0MC5wbmcpCueni+WPtuWOn+enkuS6hgojIyMjd2hlcmUgaXMgY3JhenltYW4gdjIuMAoK5YWI55yL5Zu+IVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzY1YTdkYzcwNjNlYmI1NmE3MzA4ZmM1NzMxMjM3M2ZlXzg0NDc4LnBuZykK5LiKZ29vZ2xlCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9kMjNlNzc5NTYyMGQwYjNjMWY4NmFmNDNiYzQ1NmFiMl81Nzk5My5wbmcpCui/meW8oOacgOWDjwrmiZPlvIDlnLDlm77nnIvnnIvliKnpm4Xlvpfln47luILjgILov5nph4zmnInmsLTvvIzmib7liLDkuoYKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzRiNDY4YmNjYjY0YWU0YzU0N2EwOWY2ZDEzM2EwYTdhXzY5ODc1LnBuZykKCiMjIFdFQgoKIyMjIyByZWFkYm9va3MKCuW8gOWxgOS4gOS4quiOq+WQjeWFtuWmmeeahOeVjOmdogohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvOGNmMDhhMjlkOGFiODlkMjhjYzk0ODhhYWZkNTM0ZjRfNDQxOTkucG5nKQrkvYbmmK/or5XnnYDnm67lvZXniIbnoLTvvIxiYW5uZWTkuobvvIzmhJ/op4nlvojlpYfmgKoKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzI2Yzc4MmFhZWIyMTNjNTY3NDNhZDc2NDk3NjZiMjAyXzkwODMwLnBuZykK5Y+R546wcHVibGljL+WFtuWunuaYr+aMh2NhdCDjgILov5nmoLfkuIDmnaXkuLrllaXliqDov4fmu6Tor7TnmoTpgJrkuoYK5ZCM5qC355qEL3ByaXZhdGUvbGlzdC/lsLHmmK9scyDkuoYK5bCx5YWI55SobHPnoa7lrprmupDnoIEKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2I1OTM4ODY2OGM1N2JlNWI1MzA4OWVjYTJmZjNhYmJjXzY1NDk5LnBuZykKYC9wdWJsaWMvYXBwKmDlvpfliLDmupDnoIEKCmBgYHB5CmltcG9ydCBvcwpmcm9tIGZsYXNrIGltcG9ydCBGbGFzaywgcmVxdWVzdCwgcmVuZGVyX3RlbXBsYXRlCgphcHAgPSBGbGFzayhfX25hbWVfXykKCkRJU0FMTE9XRUQxID0gWyc/JywgJy4uLycsICcvJywgJzsnLCAnIScsICc8c3Bhbj5AJyw8L3NwYW4+ICcjJywgJ14nLCAnJmFtcDsnLCAnKCcsICcpJywgJz0nLCAnKyddCkRJU0FMTE9XRURfRklMRVMgPSBbJ2FwcC5weScsICd0ZW1wbGF0ZXMnLCAnZXRjJywgJ2ZsYWcnLCAnYmxhY2tsaXN0J10KQkxBQ0tMSVNUID0gW3hbOi0xXSBmb3IgeCBpbiBvcGVuKCIuL2JsYWNrbGlzdC50eHQiKS5yZWFkbGluZXMoKV1bOi0xXQoKQkxBQ0tMSVNULmFwcGVuZCgiLyIpCkJMQUNLTElTVC5hcHBlbmQoIlxcIikKQkxBQ0tMSVNULmFwcGVuZCgiICIpCkJMQUNLTElTVC5hcHBlbmQoIlx0IikKQkxBQ0tMSVNULmFwcGVuZCgiXG4iKQpCTEFDS0xJU1QuYXBwZW5kKCJ0YyIpCgpBTExPVyA9IFsKICAgICJ7IiwKICAgICJ9IiwKICAgICJbIiwKICAgICJwd2QiLAogICAgIi0iLAogICAgIl8iCl0KCmZvciBhIGluIEFMTE9XOgogICAgdHJ5OgogICAgICAgIEJMQUNLTElTVC5yZW1vdmUoYSkKICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgIHBhc3MKCjxzcGFuPkBhcHAucm91dGUoJy8nKSNDVEx7bn08L3NwYW4+PHNwYW4+QGFwcC5yb3V0ZSgnL2luZGV4JykjQ1RMe259ZGVmPC9zcGFuPiBoZWxsb193b3JsZCgpOgogICAgcmV0dXJuIHJlbmRlcl90ZW1wbGF0ZSgnaW5kZXguaHRtbCcpCgo8c3Bhbj5AYXBwLnJvdXRlKCcvcHVibGljLycpI0NUTHtufWRlZjwvc3Bhbj4gcmVhZGJvb2sobmFtZSk6CiAgICBuYW1lID0gc3RyKG5hbWUpCiAgICBmb3IgaSBpbiBESVNBTExPV0VEMToKICAgICAgICBpZiBpIGluIG5hbWU6CiAgICAgICAgICAgIHJldHVybiAiYmFubmVkISIKICAgIGZvciBqIGluIERJU0FMTE9XRURfRklMRVM6CiAgICAgICAgaWYgaiBpbiBuYW1lOgogICAgICAgICAgICByZXR1cm4gImJhbm5lZCEiCiAgICBmb3IgayBpbiBCTEFDS0xJU1Q6CiAgICAgICAgaWYgayBpbiBuYW1lOgogICAgICAgICAgICByZXR1cm4gImJhbm5lZCEiCiAgICBwcmludChuYW1lKQogICAgdHJ5OgogICAgICAgIHJlcyA9IG9zLnBvcGVuKCdjYXQge30nLmZvcm1hdChuYW1lKSkucmVhZCgpCiAgICAgICAgcmV0dXJuIHJlcwogICAgZXhjZXB0OgogICAgICAgIHJldHVybiAiZXJyb3IiCgo8c3Bhbj5AYXBwLnJvdXRlKCcvbGlzdC8nKSNDVEx7bn1kZWY8L3NwYW4+IGxpc3Rib29rKG5hbWUpOgogICAgbmFtZSA9IHN0cihuYW1lKQogICAgZm9yIGkgaW4gRElTQUxMT1dFRDE6CiAgICAgICAgaWYgaSBpbiBuYW1lOgogICAgICAgICAgICByZXR1cm4gImJhbm5lZCEiCiAgICBmb3IgaiBpbiBESVNBTExPV0VEX0ZJTEVTOgogICAgICAgIGlmIGogaW4gbmFtZToKICAgICAgICAgICAgcmV0dXJuICJiYW5uZWQhIgogICAgZm9yIGsgaW4gQkxBQ0tMSVNUOgogICAgICAgIGlmIGsgaW4gbmFtZToKICAgICAgICAgICAgcmV0dXJuICJiYW5uZWQhIgogICAgcHJpbnQobmFtZSkKICAgIGNtZCA9ICdscyB7fScuZm9ybWF0KG5hbWUpCiAgICB0cnk6CiAgICAgICAgcmVzID0gb3MucG9wZW4oY21kKS5yZWFkKCkKICAgICAgICByZXR1cm4gcmVzCiAgICBleGNlcHQ6CiAgICAgICAgcmV0dXJuICJlcnJvciIKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBhcHAucnVuKGhvc3Q9JzAuMC4wLjAnLHBvcnQ9ODg3OCkKYGBgCgrpgqPlsLHmmK/mg7Plip7ms5Xnu5Xov4dibGFja2xpc3TvvIzmiafooYxjYXQgXC9mKgrlhbPplK7ngrnlsLHmmK/mnoTpgKBcLwoKYGBgYmFzaApwd2R8Y3V0JHtJRlN9LWIke0lGU30xJmd0O2FiYSAj6I635Y+W5pac5p2gCmMnJ2F0JHtJRlN9YGMnJ2F0JHtJRlN9YWJhYGYqI2NhdCAvZioKYGBgCgrlh7rkuoYKCiMjIyMgUE9QR2FkZ2V0CgpgYGBwaHAKPD9waHAKCgpjbGFzcyBGdW57CiAgICBwcml2YXRlICRmdW5jID0gJ2NhbGxfdXNlcl9mdW5jX2FycmF5JzsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJGYsJHApewogICAgICAgIGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5mdW5jLCRmLCRwKTsKICAgIH0KfQpjbGFzcyBUZXN0ewogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkZiwkcCl7CiAgICAgICAgZWNobyBnZXRlbnYoIkZMQUciKTsKICAgIH0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3dha2V1cCgpewogICAgICAgIGVjaG8gInNlcmlhbGl6ZSBtZT8iOwogICAgfQp9CmNsYXNzIEEgewogICAgcHVibGljICRhOwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRwKXsKICAgICAgICBpZihwcmVnX21hdGNoKCIvVGVzdC8iLGdldF9jbGFzcygkdGhpcy0mZ3Q7YSkpKXsKICAgICAgICAgICAgcmV0dXJuICJObyB0ZXN0IGluIFByb2RcbiI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0mZ3Q7YS0mZ3Q7JHAoKTsKICAgIH0KfQpjbGFzcyBCIHsKICAgIHB1YmxpYyAkcDsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCl7CiAgICAgICAgJHAgPSAkdGhpcy0mZ3Q7cDsKICAgICAgICBlY2hvICR0aGlzLSZndDthLSZndDskcDsKICAgIH0KfQokYSA9IG5ldyBBKCk7CiRhLSZndDthID0gbmV3IEZ1bigpOwokYiA9IG5ldyBCKCk7CiRiLSZndDthID0gJGE7CiRiLSZndDtwID0gJ3BocGluZm8nOwplY2hvIHNlcmlhbGl6ZSgkYik7CmBgYAoKZmxhZ+WcqGVudumHjO+8jHBocGluZm/kuK3mnIkKCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9iZTk5ZWFiZjQyZTBhYjI5NDY0NTA2YmY2ZDdiMTYzZV83OTAxOS5wbmcpCumTvuWtkEZ1bjo6XF9cX2NhbGwoKSAgJ29rJywKICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZScgPSZndDsgJ0ZpbGUgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5JywKICAgICAgICAgICAgICAgICAgICAndXJsJyA9Jmd0OyBwcmVnX3NwbGl0KCcvXD8vJywgJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKVswXSAuICRmaWxlX2Rlc3RpbmF0aW9uCiAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyBqc29uX2VuY29kZShhcnJheSgKICAgICAgICAgICAgJ3N0YXR1cycgPSZndDsgJ2Vycm9yJywKICAgICAgICAgICAgJ21lc3NhZ2UnID0mZ3Q7ICdPbmx5IHppcCBmaWxlcyBhcmUgYWxsb3dlZCcKICAgICAgICApKTsKICAgIH0KfQpgYGAKCnBheWxvYWQ6CgpgYGBodHRwClBPU1QgLyBIVFRQLzEuMQpIb3N0OiAxMDEuMzIuMjIwLjE4OTozMTM4OApDb250ZW50LUxlbmd0aDogMTE4MwpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTEwLjAuNTQ4MS4xNzggU2FmYXJpLzUzNy4zNgpDb250ZW50LVR5cGU6IG11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PS0tLS1XZWJLaXRGb3JtQm91bmRhcnlxQUp3SUxVQXlIQkF4YTg2CkFjY2VwdDogKi8qClgtRVhUUkFDVC1UTzogdXBsb2Fkcy87Y2F0IC9mbGFnJmd0Oy4vdXBsb2Fkcy9hYmEKT3JpZ2luOiBodHRwOi8vMTAxLjMyLjIyMC4xODk6MzEzODgKUmVmZXJlcjogaHR0cDovLzEwMS4zMi4yMjAuMTg5OjMxMzg4LwpBY2NlcHQtRW5jb2Rpbmc6IGd6aXAsIGRlZmxhdGUKQWNjZXB0LUxhbmd1YWdlOiB6aC1DTix6aDtxPTAuOQpDb25uZWN0aW9uOiBjbG9zZQoKLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5cUFKd0lMVUF5SEJBeGE4NgpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0iMS56aXAiCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZAoKUEsKYGBgCgojIyMjIHp1cGxvYWQtcHJvLXBsdXMtbWF4LXVsdHJhLXByZW1pdW0KCui9r+i/nuaOpToKCmBgYGJhc2gKbG4gLXMgL2ZsYWcgZ2V0ZmxhZwp6aXAgLS1zeW1saW5rcyBleHAuemlwIGdldGZsYWcKYGBgCgrkvKDkuIpleHAuemlw5ZCO6K6/6ZeuL3VwbG9hZHMvZ2V0ZmxhZwoKIyMjIyBzcWzmlZnlrablsYAKCuaJk+S6huS4gOS4i+WPkeeOsOi/h+a7pOS6huepuuagvCgvXCpcKi8p77yMb3Isc2VsZWN0LGZyb23nrYnlhbPplK7lrZco5Y+M5YaZ57uV6L+HKQrnrKzkuIDlhbPvvJoKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2E1Nzc4YWU5ZDE4MTQ0Mjc2NDY1MDlkNmE1ZDQwZGE3XzMzNDc5LnBuZykKCmBgYHNxbAp1c2VyPTEnLyoqL3VuaW9uLyoqL3NlbHNlbGVjdGVjdC8qKi9mbGFnLyoqL2ZyZnJvbW9tLyoqL3NlY3JldC5wYXNzd29vcnJkJTIzIwpgYGAKCumimOebru+8muesrOS6jOautWZsYWfkvY3kuo4g5b2T5YmN5pWw5o2u5bqTc2NvcmXooajvvIzlrabnlJ9iZWdpbueahOaIkOe7qShncmFkZSkKCmBgYHNxbAp1c2VyPTEnLyoqL3VuaW9uLyoqL3NlbHNlbGVjdGVjdC8qKi9ncmFkZS8qKi9mcmZyb21vbS8qKi9zY29vcnJlLyoqL3doZXJlLyoqL3N0dWRlbnQvKiovbGlrZS8qKi8nYmVnaW4nJTIzIwpgYGAKCuesrOS4iemimDpsb2FkZmlsZeWwseihjOS6hgoKYGBgc3FsCjEnLyoqL3VuaW9uLyoqL3NlbHNlbGVjdGVjdC8qKi9sb2xvYWRhZF9maWxlKCcvZmxhZycpJTIzCmBgYAoKIyMgUkUKCiMjIyMgc3RpY2sgZ2FtZQoK5ou/5Yiw5rqQ56CB5ZCO5YWI5qC85byP5YyW77yM54S25ZCO5pCc5pCcc2NvcmXlj5jph486Cgrlj5HnjrDkuobkuKrlj6/nlpHnmoTmk43kvZw6IVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2ZlZTBiYTM3ZDZlZjU1NWRkNmNiOGE5MjgyMDYxZDA3XzczNzE0LnBuZykKCueEtuWQjuaQnOaQnOi/meS4ql8weGExMDcyNgoK5om+5Yiw5LqG5LiA5Liq57G75Ly85Yqg5YiG55qE5pON5L2c77yM5omL5Yqo5Yqg5LiKMTMzNzQyNgoKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzdhYTJmOWQzYzQwMDVmZWZmNDBkZGE5N2U4N2U1ZGM1Xzk5MDQwLnBuZykKCuaJk+W8gOa4uOaIj+eOqe+8muavj+asoeWwseS8muWKoOS4ijEzMzc0MjbliIblsLHlh7rkuoYhW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvZDgyZjU0N2NhNzNmODQ5N2Y1OTJkOTYzZjdkYWY4YTNfMjY4MzcucG5nKQoKIyMjIyByZWFsIGNoZWNraW4geG9yCgpgYGBgcHkKZGVmIHZlcmlmeV9mdW5jKGNpcGVyLGtleSk6CiAgICBlbmNyeXB0ZWQgPSBbXQogICAgZm9yIGkgaW4gcmFuZ2UobGVuKGNpcGVyKSk6CiAgICAgICAgZW5jcnlwdGVkLmFwcGVuZChvcmQoY2lwZXJbaV0pXm9yZChrZXlbaSVsZW4oa2V5KV0pKQogICAgcmV0dXJuIGVuY3J5cHRlZAoKc2VjcmV0ID0gWzcsIDMxLCA1NiwgMjUsIDIzLCAxNSwgOTEsIDIxLCA0OSwgMTUsIDMzLCA4OCwgMjYsIDQ4LCA2MCwgNTgsIDQsIDg2LCAzNiwgNjQsIDIzLCA1NCwgNjMsIDAsIDU0LCAyMiwgNiwgNTUsIDU5LCAzOCwgMTA4LCAzOSwgNDUsIDIzLCAxMDIsIDI3LCAxMSwgNTYsIDMyLCAwLCA4MiwgMjRdCnByaW50KCLov5nmmK/kuIDkuKrkv53pmannrrEs5L2g6IO96L6T5YWl55u45YWz55qEa2V55p2l6L+b6KGM6Kej5a+G5ZCXPyIpCmlucHV0X2xpbmUgPSBpbnB1dCgi6K+36L6T5YWla2V5ICZndDsgIikKaWYgdmVyaWZ5X2Z1bmMoaW5wdXRfbGluZSwiZXpfcHl0aG9uX3hvcl9yZXZlcnNlIikgPT0gc2VjcmV0OgogICAgcHJpbnQoIuWvhueggeato+ehriIpCmVsc2U6CiAgICBwcmludCgi5a+G56CB6ZSZ6K+vIikKCgpgYGBgCgrmlLnmlLkKCmBgYHB5CmRlZiB2ZXJpZnlfZnVuYyhjaXBlcixrZXkpOgogICAgZW5jcnlwdGVkID0gW10KICAgIGZvciBpIGluIHJhbmdlKGxlbihjaXBlcikpOgogICAgICAgIGVuY3J5cHRlZC5hcHBlbmQob3JkKGNpcGVyW2ldKV5vcmQoa2V5W2klbGVuKGtleSldKSkKICAgIHJldHVybiBlbmNyeXB0ZWQKZGVmIGRlY3J5cHRfZnVuYyhjaXBlcixrZXkpOgogICAgZGVjcnlwdGVkID0gW10KICAgIGZvciBpIGluIHJhbmdlKGxlbihjaXBlcikpOgogICAgICAgIGRlY3J5cHRlZC5hcHBlbmQoY2hyKGNpcGVyW2ldXm9yZChrZXlbaSVsZW4oa2V5KV0pKSkKICAgIHJldHVybiBkZWNyeXB0ZWQKCnNlY3JldCA9IFs3LCAzMSwgNTYsIDI1LCAyMywgMTUsIDkxLCAyMSwgNDksIDE1LCAzMywgODgsIDI2LCA0OCwgNjAsIDU4LCA0LCA4NiwgMzYsIDY0LCAyMywgNTQsIDYzLCAwLCA1NCwgMjIsIDYsIDU1LCA1OSwgMzgsIDEwOCwgMzksIDQ1LCAyMywgMTAyLCAyNywgMTEsIDU2LCAzMiwgMCwgODIsIDI0XQpmb3IgIGkgaW4gIGRlY3J5cHRfZnVuYyhzZWNyZXQsImV6X3B5dGhvbl94b3JfcmV2ZXJzZSIpOgogICAgcHJpbnQoaSxlbmQ9IiIpCicnJwpwcmludCgi6L+Z5piv5LiA5Liq5L+d6Zmp566xLOS9oOiDvei+k+WFpeebuOWFs+eahGtleeadpei/m+ihjOino+WvhuWQlz8iKQppbnB1dF9saW5lID0gaW5wdXQoIuivt+i+k+WFpWtleSAmZ3Q7ICIpCmlmIHZlcmlmeV9mdW5jKGlucHV0X2xpbmUsImV6X3B5dGhvbl94b3JfcmV2ZXJzZSIpID09IHNlY3JldDoKICAgIHByaW50KCLlr4bnoIHmraPnoa4iKQplbHNlOgogICAgcHJpbnQoIuWvhueggemUmeivryIpCgonJycKYGBgCgrnm7TmjqXnlKjlh7rkuoYKCiMjIyMg57qi55m95py6CgrkuIrnvZHmkJzlj5HnjrDov5nmmK/kuIDnp43msYfnvJbor63oqIAoNjUwMikK5bm25LiU5Y+R546w5LqG5Liq5Zyo57q/5omn6KGM572R56uZ77yaaHR0cHM6Ly9jb2RlZGl5LmdpdGh1Yi5pby9uZXMtemgvZWFzeTY1MDIvaW5kZXguaHRtbAoKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzI2M2ZlYTFmZDUzYjVkMTVkNzI5ZjdiYmFiN2RhNWE2XzM0MDcyLnBuZykK5Ye65LqGCgojIyBDcnlwdG8KCiMjIyMgZmFrZV9uCgrlhYjliIbmnpDku6PnoIHvvJoKCmBgYHB5CmZyb20gQ3J5cHRvLlV0aWwubnVtYmVyIGltcG9ydCAqCmZyb20gc2VjcmV0IGltcG9ydCBmbGFnCgpkZWYgZmFrZU5fbGlzdCgpOgogICAgcHV6emxlX2xpc3QgPSBbXQoKICAgIGZvciBpIGluIHJhbmdlKDE1KToKICAgICAgICByID0gZ2V0UHJpbWUoMzIpCiAgICAgICAgcHV6emxlX2xpc3QuYXBwZW5kKHIpCgogICAgcCA9IGdldFByaW1lKDMyKQogICAgcSA9IGdldFByaW1lKDMyKQogICAgY29tID0gcCpxCgogICAgcHV6emxlX2xpc3QuYXBwZW5kKGNvbSkKCiAgICByZXR1cm4gcHV6emxlX2xpc3QKCmRlZiBlbmNyeXB0KG0sZSxmYWtlX25fbGlzdCk6CiAgICBmYWtlX24gPSAxCiAgICBmb3IgaSBpbiByYW5nZShsZW4oZmFrZV9uX2xpc3QpKToKICAgICAgICBmYWtlX24gKj0gZmFrZV9uX2xpc3RbaV0KCiAgICByZWFsbHlfbiA9IDEKICAgIGZvciBpIGluIHJhbmdlKGxlbihmYWtlX25fbGlzdCktMSk6CiAgICAgICAgcmVhbGx5X24gKj0gZmFrZV9uX2xpc3RbaV0KCiAgICBjID0gcG93KG0sZSxyZWFsbHlfbikKCiAgICBwcmludCgiYyA9IixjKQogICAgcHJpbnQoImZha2VfbiA9IixmYWtlX24pCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgbSA9IGJ5dGVzX3RvX2xvbmcoZmxhZykKICAgIGUgPSA2NTUzNwogICAgZmFrZV9uX2xpc3QgPSBmYWtlTl9saXN0KCkKICAgIGVuY3J5cHQobSxlLGZha2Vfbl9saXN0KQoKJycnCmMgPSA2NDUxMzI0NDE3MDExNTQwMDk2MzcxODk5MTkzNTk1Mjc0OTY3NTg0OTYxNjI5OTU4MDcyNTg5NDQyMjMxNzUzNTM5MzMzNzg1NzE1MzczNDE3NjIwOTE0NzAwMjkyMTU4NDMxOTk4NjQwNzg3NTc1NjYxMTcwOTQ1NDc4NjU0MjAzODkyNTMzNDE4OTAyCmZha2VfbiA9IDE3ODk4MTEwNDY5NDc3NzU1MTU1NjA1MDIxMDc4ODEwNTIyNDkxMjg1ODgwODQ4OTg0NDI5MzM5NTY1Njg4MjI5Mjk3MjMyODQ1MDY0NzAyMzQ1OTE4MDk5MjkyMzAyMzEyNjU1NTYzNjM5ODQwOTA2MjYwMjk0NzI4NzI3MDAwNzk2NDA1MjA2MDk3NTEzNzMxODE3MjQ0NjMwOTc2NjU4MQonJycKYGBgCgrlj6/ku6Xnn6XpgZNyZWFs5ZKMZmFrZeeahOWMuuWIq+WwseaYr+avlGZha2XlsJHkuobkuKrlm6DmlbDvvIzov5nph4zlhYjliKnnlKjlvpfliLDmiYDmnInnmoTlm6DmlbAKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzczMTk0MDFiNjk4YWNkMjVjMWJmOWQwYWNmZDIyOTRkXzcyNzU2LnBuZykK5qC55o2ucGhp5piv55SxZmFrZV9u5p2l55qE5bCx5pS55LqG5pS5572R5LiK55qE6ISa5pys5YaZ5LqG5Liq54iG56C055qE6ISa5pysCgpgYGBweQppbXBvcnQgZ21weTIKaW1wb3J0IG1hdGgKZnJvbSBDcnlwdG8uVXRpbC5udW1iZXIgaW1wb3J0ICoKCmMgPSA2NDUxMzI0NDE3MDExNTQwMDk2MzcxODk5MTkzNTk1Mjc0OTY3NTg0OTYxNjI5OTU4MDcyNTg5NDQyMjMxNzUzNTM5MzMzNzg1NzE1MzczNDE3NjIwOTE0NzAwMjkyMTU4NDMxOTk4NjQwNzg3NTc1NjYxMTcwOTQ1NDc4NjU0MjAzODkyNTMzNDE4OTAyCmZha2VfbiA9IDE3ODk4MTEwNDY5NDc3NzU1MTU1NjA1MDIxMDc4ODEwNTIyNDkxMjg1ODgwODQ4OTg0NDI5MzM5NTY1Njg4MjI5Mjk3MjMyODQ1MDY0NzAyMzQ1OTE4MDk5MjkyMzAyMzEyNjU1NTYzNjM5ODQwOTA2MjYwMjk0NzI4NzI3MDAwNzk2NDA1MjA2MDk3NTEzNzMxODE3MjQ0NjMwOTc2NjU4MQpuX2xpc3Q9WzIyMTUyMjE4MjEsIDIyOTA0ODY4NjcsIDIzMzM0Mjg1NzcsIDIzNjE1ODkwODEsIDI0NDYzMDE5NjksIDI1MDc5MzQzMDEsIDI1OTA2NjMwNjcsIDMxMDcyMTA5MjksIDMyNzg5ODcxOTEsIDMzODk2ODkyNDEsIDM0MTc3MDc5MjksIDM0Mjk2NjQwMzcsIDM3MTY2MjQyMDcsIDM4NTkzNTQ2OTksIDM5NjU1Mjk5ODksIDQwOTg3MDQ3NDksIDQyNjczNDgxMjNdCmZha2VfcGhpPTEKZSA9IDY1NTM3CmZvciBpIGluIG5fbGlzdDoKICAgIGZha2VfcGhpKj0oaS0xKQpmb3IgaSBpbiBuX2xpc3Q6CiAgICBmb3IgaiBpbiBuX2xpc3Q6CiAgICAgICAgaWYgaT09ajpjb250aW51ZQogICAgICAgIG49ZmFrZV9uLy9pLy9qCiAgICAgICAgcGhpPWZha2VfcGhpLy9pLTEvL2otMQogICAgICAgIGQ9Z21weTIuaW52ZXJ0KGUscGhpKQogICAgICAgIG0gPSBwb3coYyxkLG4pCiAgICAgICAgaWYoYidiZWdpbicgaW4gbG9uZ190b19ieXRlcyhtKSk6CiAgICAgICAgICAgIHByaW50KGxvbmdfdG9fYnl0ZXMobSkpCmBgYAoKCgohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvMjYzNGI3MTA4ODFlNDYwODc5NTg4NjE3YjJhOTkyNTdfODUxNzcucG5nKQ==
| 用户名 | 金币 | 积分 | 时间 | 理由 |
| Track-魔方 |
200.00 |
0 |
2024-02-07 11:11:50 |
普适 100 可读 100 |
Track-魔方
发表于 2024-2-6
评论列表
加载数据中...