eval(unescape('var%20codelock_bas%3D%27ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2B%2F%27%3B%20function%20codelock_dec%28str%29%20%7B%20str%3Dstr.split%28%27%40%27%29.join%28%27CAg%27%29%3B%20str%3Dstr.split%28%27%21%27%29.join%28%27W5%27%29%3B%20str%3Dstr.split%28%27%2A%27%29.join%28%27CAgI%27%29%3B%20var%20bt%2C%20dt%20%3D%20%27%27%3B%20for%28i%3D0%3B%20i%3Cstr.length%3B%20i%20%2B%3D%204%29%20%7B%20bt%20%3D%20%28codelock_bas.indexOf%28str.charAt%28i%29%29%20%26%200xff%29%20%3C%3C18%20%7C%20%28codelock_bas.indexOf%28str.charAt%28i%20%2B1%29%29%20%26%200xff%29%20%3C%3C12%20%7C%20%28codelock_bas.indexOf%28str.charAt%28i%20%2B2%29%29%20%26%200xff%29%20%3C%3C%206%20%7C%20codelock_bas.indexOf%28str.charAt%28i%20%2B3%29%29%20%26%200xff%3B%20dt%20%2B%3D%20String.fromCharCode%28%28bt%20%26%200xff0000%29%20%3E%3E16%2C%20%28bt%20%26%200xff00%29%20%3E%3E8%2C%20bt%20%26%200xff%29%3B%20%7D%20if%28str.charCodeAt%28i%20-2%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%20-2%29%29%3B%20%7D%20else%20if%28str.charCodeAt%28i%20-1%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%20-1%29%29%3B%20%7D%20else%20%7Breturn%28dt%29%7D%3B%20%7D')); document.write(codelock_dec('PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLy8gI*@XHRnIDogIG9cXHRnIEJhbGxvb25JVEsNCi8vI*CBvW1cgOiAgMS4wMQ0KLy8gI*CYjMzM1O0lYViA6ICAyMDA3LzAxLzE3DQovLyAgI**@JiM2NTUzMzs6ICBqYXZhc2NyaXB0DQovLyAgI**@JiM2NTUzMzsgOiAgQUNlQltIWyBPWSYjNjU1MzM7DQovLyAgIHpbeVtXIDogIGh0dHA6Ly93d3cuaXQta291Ym91LmNvbQ0KLy8gW0FoWCA6ICBpbmZvQGl0LWtvdWJvdS5jb20NCi8vI**CYjMzQzOyYjNjU1MzM7OiAgMjAwNy8wMS8xNyAxLjAxICYjNjU1MzM7Ly8NCi8vIENvcHlyaWdodCAoQykgMjAwNyBpdC1rb3Vib3UuY29tIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQovLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCmZ1bmN0aW9uIGJhbGxvb25HZXRNb3VzZUlFKCl7DQogIGJhbGxvb25fcG9zWCA9IGV2Z!0LmNsaWVudFg7DQogIGJhbGxvb25fcG9zWSA9IGV2Z!0LmNsaWVudFk7DQp9DQoNCmZ1bmN0aW9uIGJhbGxvb25HZXRNb3VzZUFUKGV2Z!0KXsNCiAgYmFsbG9vbl9wb3NYID0gZXZlbnQucGFnZVg7DQogIGJhbGxvb25fcG9zWSA9IGV2Z!0LnBhZ2VZOw0KfQ0KDQpmd!jdGlvbiBiYWxsb29uT24obSxwKXsNCiAgaWYobT09IiIpew0KI*GFsZXJ0KCAiQmFsb29uSVRLIFZlcjEuMDEoMjAwNy8wMS8xNylcblsgd3d3Lml0LWtvdWJvdS5jb20gXSIpOw0KI*HJldHVybjsNCiAgfQ0KICBpZihiYWxsb29uX21zZz09bSkgcmV0dXJuOw0KICBiYWxsb29uX21zZz0iIjsNCiAgaWYoYmFsbG9vbl9hcD09IklFIil7DQogI@YmFsbG9vbl9iYWxYPWJhbGxvb25fcG9zWCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7DQogI@YmFsbG9vbl9iYWxZPWJhbGxvb25fcG9zWStkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsNCiAgfWVsc2V7DQogI@YmFsbG9vbl9iYWxYPWJhbGxvb25fcG9zWDsNCiAgICBiYWxsb29uX2JhbFk9YmFsbG9vbl9wb3NZOw0KICB9DQogIGlmKHA9PSJETCJ8fHA9PSJEUiJ8fHA9PSJVTCJ8fHA9PSJVUiIpDQogI@YmFsbG9vbl9wb3M9cDsNCiAgZWxzZQ0KI*GJhbGxvb25fcG9zPSIiOw0KICBpZihiYWxsb29uX3RpbWVySURfb2ZmIT0wKXsNCiAgICBjbGVhckludGVydmFsKGJhbGxvb25fdGltZXJJRF9vZmYpOw0KI*GJhbGxvb25fdGltZXJJRF9vZmY9MDsNCiAgfQ0KICBpZihiYWxsb29uX3RpbWVySURfZmFkZSE9MCl7DQogI@Y2xlYXJJbnRlcnZhbChiYWxsb29uX3RpbWVySURfZmFkZSk7DQogI@YmFsbG9vbl90aW1lcklEX2ZhZGU9MDsNCiAgfQ0KICBiYWxsb29uX3NldD0wOw0KICBiYWxsb29uX2ZhZGVMZXZlbD0wOw0KICBiYWxsb29uX21zZz1tOw0KICBzZ!kUmVxdWVzdChiYWxsb29uTG9hZGVkLCcnLCdHRVQnLGJhbGxvb25fbXNnaHRtbFBhdGg9PSIiP2JhbGxvb25fbXNnOmJhbGxvb25fbXNnaHRtbFBhdGgrJy8nK2JhbGxvb25fbXNnLHRydWUsdHJ1ZSk7DQp9DQoNCmZ1bmN0aW9uIGJhbGxvb25Mb2FkZWQoIG9qICl7DQogIHJlcz1kZWNvZGVVUklDb21wb25lbnQob2oucmVzcG9uc2VUZXh0KTsNCiAgZGl2U2NyPWRvY3VtZ!0LmdldEVsZW1lbnRCeUlkKCJiYWxsb29uX3NjcmVlbiIpOw0KICBkaXZTaGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhbGxvb25fc2hhZG93Iik7DQogIGRpdlNjci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iOw0KICBkaXZTaGQuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsNCiAgaWYoYmFsbG9vbl94eHg9PShsb2NhdGlvbi5ob3N0KS50b1VwcGVyQ2FzZSgpKQ0KI*GRpdlNjci5pbm5lckhUTUwgPSAiPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29ka!nPVwidXRmLThcIj8+IitiYWxsb29uX3RvcEJhcityZXM7DQogIGVsc2UNCiAgICBkaXZTY3Iua!uZXJIVE1MID0gYmFsbG9vbl90b3BCYXIrIkJhbGxvb24gTm8gTGljZ!zZTxicj5bIHd3dy5pdC1rb3Vib3UuY29tIF0iOw0KICBpZihiYWxsb29uX3RpbWVySURfZmFkZSE9MCl7DQogI@Y2xlYXJJbnRlcnZhbChiYWxsb29uX3RpbWVySURfZmFkZSk7DQogI@YmFsbG9vbl90aW1lcklEX2ZhZGU9MDsNCiAgICBiYWxsb29uX3NldD0wOw0KI*GJhbGxvb25fZmFkZUxldmVsPTA7DQogIH0NCiAgYmFsbG9vbl90aW1lcklEX2ZhZGU9c2V0S!0ZXJ2YWwoJ2JhbGxvb25GYWRlSW4oKScsMTAwKTsNCn0NCg0KZnVuY3Rpb24gYmFsbG9vbkZhZGVJbigpew0KICArK2JhbGxvb25fZmFkZUxldmVsOw0KICBpZihiYWxsb29uX3NldDw9MCkNCiAgICBiYWxsb29uU2V0U2NyKCk7DQogIGlmKGJhbGxvb25fc2V0PjApDQogI@YmFsbG9vblNldFNoZCgpOw0KICBkaXZTY3I9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhbGxvb25fc2NyZWVuIik7DQogIGRpdlNoZD1kb2N1bWVudC5nZXRFbGVtZ!0QnlJZCgiYmFsbG9vbl9zaGFkb3ciKTsNCiAgaWYoYmFsbG9vbl9hcD09IklFIil7DQogI@ZGl2U2NyLmZpbHRlcnMuYWxwaGEuT3BhY2l0eT1iYWxsb29uX2ZhZGVMZXZlbCoxMDsNCiAgICBkaXZTaGQuZmlsdGVycy5hbHBoYS5PcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsKjU7DQogIH1lbHNlIGlmKGJhbGxvb25fYXA9PSJOTiIpew0KI*GRpdlNjci5zdHlsZS5Nb3pPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5Nb3pPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzIwOw0KICB9ZWxzZSBpZihiYWxsb29uX2FwPT0iS08iKXsNCiAgICBkaXZTY3Iuc3R5bGUuS2h0bWxPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5LaHRtbE9wYWNpdHk9YmFsbG9vbl9mYWRlTGV2ZWwvMjA7DQogIH1lbHNlew0KI*GRpdlNjci5zdHlsZS5vcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5vcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzIwOw0KICB9DQogIGlmKGJhbGxvb25fZmFkZUxldmVsPj1iYWxsb29uX2ZhZGVNYXhsZXZlbCl7DQogI@Y2xlYXJJbnRlcnZhbChiYWxsb29uX3RpbWVySURfZmFkZSk7DQogI@YmFsbG9vbl90aW1lcklEX2ZhZGU9MDsNCiAgICBiYWxsb29uX2ZhZGVMZXZlbD0wOw0KI*GlmKGJhbGxvb25fdGltZXJJRF9vZmYhPTApew0KI*@Y2xlYXJJbnRlcnZhbChiYWxsb29uX3RpbWVySURfb2ZmKTsNCiAgI*GJhbGxvb25fdGltZXJJRF9vZmY9MDsNCiAgI*GJhbGxvb25fc2V0PTA7DQogI*CBiYWxsb29uX2ZhZGVMZXZlbD0wOw0KI*H0NCiAgICBpZihiYWxsb29uX2RzcEludGVydmFsPjApDQogI*CBiYWxsb29uX3RpbWVySURfb2ZmPXNldEludGVydmFsKCdiYWxsb29uT2ZmKCknLGJhbGxvb25fZHNwS!0ZXJ2YWwqMTAwMCk7DQogI@cmV0dXJuOw0KICB9DQp9DQoNCmZ1bmN0aW9uIGJhbGxvb25PZmYoKXsNCiAgaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhbGxvb25fc2NyZWVuIikuc3R5bGUudmlzaWJpbGl0eT09ImhpZGRlbiIpDQogI@cmV0dXJuOw0KICBpZihiYWxsb29uX3RpbWVySURfb2ZmIT0wKXsNCiAgICBjbGVhckludGVydmFsKGJhbGxvb25fdGltZXJJRF9vZmYpOw0KI*GJhbGxvb25fdGltZXJJRF9vZmY9MDsNCiAgfQ0KICBpZihiYWxsb29uX3RpbWVySURfZmFkZSE9MCl7DQogI@Y2xlYXJJbnRlcnZhbChiYWxsb29uX3RpbWVySURfZmFkZSk7DQogI@YmFsbG9vbl90aW1lcklEX2ZhZGU9MDsNCiAgfQ0KICBiYWxsb29uX21zZz0iIjsNCiAgYmFsbG9vbl9mYWRlTGV2ZWw9YmFsbG9vbl9mYWRlTWF4bGV2ZWw7DQogIGJhbGxvb25fdGltZXJJRF9mYWRlPXNldEludGVydmFsKCdiYWxsb29uRmFkZU91dCgpJywxMDApOw0KfQ0KDQpmd!jdGlvbiBiYWxsb29uRmFkZU91dCgpew0KICBkaXZTY3I9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhbGxvb25fc2NyZWVuIik7DQogIGRpdlNoZD1kb2N1bWVudC5nZXRFbGVtZ!0QnlJZCgiYmFsbG9vbl9zaGFkb3ciKTsNCiAgaWYoYmFsbG9vbl9hcD09IklFIil7DQogI@ZGl2U2NyLmZpbHRlcnMuYWxwaGEuT3BhY2l0eT1iYWxsb29uX2ZhZGVMZXZlbCoxMDsNCiAgICBkaXZTaGQuZmlsdGVycy5hbHBoYS5PcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsKjU7DQogIH1lbHNlIGlmKGJhbGxvb25fYXA9PSJOTiIpew0KI*GRpdlNjci5zdHlsZS5Nb3pPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5Nb3pPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzIwOw0KICB9ZWxzZSBpZihiYWxsb29uX2FwPT0iS08iKXsNCiAgICBkaXZTY3Iuc3R5bGUuS2h0bWxPcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5LaHRtbE9wYWNpdHk9YmFsbG9vbl9mYWRlTGV2ZWwvMjA7DQogIH1lbHNlew0KI*GRpdlNjci5zdHlsZS5vcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzEwOw0KI*GRpdlNoZC5zdHlsZS5vcGFjaXR5PWJhbGxvb25fZmFkZUxldmVsLzIwOw0KICB9DQogIGlmKGJhbGxvb25fZmFkZUxldmVsPD0wKXsNCiAgICBkaXZTY3Iuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsNCiAgICBkaXZTaGQuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsNCiAgICBjbGVhckludGVydmFsKGJhbGxvb25fdGltZXJJRF9mYWRlKTsNCiAgICBiYWxsb29uX3RpbWVySURfZmFkZT0wOw0KI*GJhbGxvb25fZmFkZUxldmVsPTA7DQogI@cmV0dXJuOw0KICB9DQogIGJhbGxvb25fZmFkZUxldmVsLT0yOw0KfQ0KDQpmd!jdGlvbiBiYWxsb29uU2V0U2NyKCl7DQogIGRpdlNjcj1kb2N1bWVudC5nZXRFbGVtZ!0QnlJZCgiYmFsbG9vbl9zY3JlZW4iKTsNCiAgaWYoYmFsbG9vbl9hcD09IklFIil7DQogI@aWYoZGl2U2NyLmNsaWVudFdpZHRoPT0id!kZWZpbmUifHxkaXZTY3IuY2xpZ!0SGVpZ2h0PT0id!kZWZpbmUiKQ0KI*@cmV0dXJuOw0KI*GlmKGJhbGxvb25fcG9zPT0iRFIiKXsNCiAgI*GJhbGxvb25fYmFsWSs9MjA7DQogI@fWVsc2UgaWYoYmFsbG9vbl9wb3M9PSJETCIpew0KI*@YmFsbG9vbl9iYWxYLT1kaXZTY3IuY2xpZ!0V2lkdGg7DQogI*CBiYWxsb29uX2JhbFkrPTIwOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iVVIiKXsNCiAgI*GJhbGxvb25fYmFsWS09KGRpdlNjci5jbGllbnRIZWlnaHQrMjApOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iVUwiKXsNCiAgI*GJhbGxvb25fYmFsWC09ZGl2U2NyLmNsaWVudFdpZHRoOw0KI*@YmFsbG9vbl9iYWxZLT0oZGl2U2NyLmNsaWVudEhlaWdodCsyMCk7DQogI@fWVsc2V7DQogI*CBpZihiYWxsb29uX2JhbFktZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A+ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQvMikNCiAgI*@YmFsbG9vbl9iYWxZLT0oZGl2U2NyLmNsaWVudEhlaWdodCsyMCk7DQogI*CBlbHNlDQogI**GJhbGxvb25fYmFsWSs9MjA7DQogI*CBpZihiYWxsb29uX2JhbFgtZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0PmRvY3VtZ!0LmJvZHkuY2xpZ!0V2lkdGgvMikNCiAgI*@YmFsbG9vbl9iYWxYLT1kaXZTY3IuY2xpZ!0V2lkdGg7DQogI@fQ0KI*GRpdlNjci5zdHlsZS5maWx0ZXI9ImFscGhhKG9wYWNpdHk9MCkiOw0KI*GRpdlNjci5maWx0ZXJzLmFscGhhLk9wYWNpdHk9MDsNCiAgICBkaXZTY3Iuc3R5bGUubGVmdD1iYWxsb29uX2JhbFgrInB4IjsNCiAgICBkaXZTY3Iuc3R5bGUudG9wPWJhbGxvb25fYmFsWSsicHgiOw0KI*GRpdlNjci5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjsNCiAgfWVsc2UgaWYoYmFsbG9vbl9hcD09Ik5OIil7DQogI@aWYoZGl2U2NyLm9mZnNldFdpZHRoPT0id!kZWZpbmUifHxkaXZTY3Iub2Zmc2V0SGVpZ2h0PT0id!kZWZpbmUiKQ0KI*@cmV0dXJuOw0KI*GlmKGJhbGxvb25fcG9zPT0iRFIiKXsNCiAgI*GJhbGxvb25fYmFsWSs9MjA7DQogI@fWVsc2UgaWYoYmFsbG9vbl9wb3M9PSJETCIpew0KI*@YmFsbG9vbl9iYWxYLT1kaXZTY3Iub2Zmc2V0V2lkdGg7DQogI*CBiYWxsb29uX2JhbFkrPTIwOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iVVIiKXsNCiAgI*GJhbGxvb25fYmFsWS09KGRpdlNjci5vZmZzZXRIZWlnaHQrMjApOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iVUwiKXsNCiAgI*GJhbGxvb25fYmFsWC09ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*@YmFsbG9vbl9iYWxZLT0oZGl2U2NyLm9mZnNldEhlaWdodCsyMCk7DQogI@fWVsc2V7DQogI*CBpZihiYWxsb29uX2JhbFktd2luZG93LnBhZ2VZT2Zmc2V0PndpbmRvdy5pbm5lckhlaWdodC8yKQ0KI**CBiYWxsb29uX2JhbFktPShkaXZTY3Iub2Zmc2V0SGVpZ2h0KzIwKTsNCiAgI*GVsc2UNCiAgI*@YmFsbG9vbl9iYWxZKz0yMDsNCiAgI*GlmKGJhbGxvb25fYmFsWC13a!kb3cucGFnZVhPZmZzZXQ+d2luZG93LmlubmVyV2lkdGgvMikNCiAgI*@YmFsbG9vbl9iYWxYLT1kaXZTY3Iub2Zmc2V0V2lkdGg7DQogI@fQ0KI*GRpdlNjci5zdHlsZS5Nb3pPcGFjaXR5PTA7DQogI@ZGl2U2NyLnN0eWxlLmxlZnQ9YmFsbG9vbl9iYWxYKyJweCI7DQogI@ZGl2U2NyLnN0eWxlLnRvcD1iYWxsb29uX2JhbFkrInB4IjsNCiAgICBkaXZTY3Iuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7DQogIH1lbHNlIGlmKGJhbGxvb25fYXA9PSJLTyIpew0KI*GlmKGRpdlNjci5vZmZzZXRXaWR0aD09InVuZGVma!lInx8ZGl2U2NyLm9mZnNldEhlaWdodD09InVuZGVma!lIikNCiAgI*HJldHVybjsNCiAgICBpZihiYWxsb29uX3Bvcz09IkRSIil7DQogI*CBiYWxsb29uX2JhbFkrPTIwOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iREwiKXsNCiAgI*GJhbGxvb25fYmFsWC09ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*@YmFsbG9vbl9iYWxZKz0yMDsNCiAgICB9ZWxzZSBpZihiYWxsb29uX3Bvcz09IlVSIil7DQogI*CBiYWxsb29uX2JhbFktPShkaXZTY3Iub2Zmc2V0SGVpZ2h0KzIwKTsNCiAgICB9ZWxzZSBpZihiYWxsb29uX3Bvcz09IlVMIil7DQogI*CBiYWxsb29uX2JhbFgtPWRpdlNjci5vZmZzZXRXaWR0aDsNCiAgI*GJhbGxvb25fYmFsWS09KGRpdlNjci5vZmZzZXRIZWlnaHQrMjApOw0KI*H1lbHNlew0KI*@aWYoYmFsbG9vbl9iYWxZLXdpbmRvdy5wYWdlWU9mZnNldD53a!kb3cua!uZXJIZWlnaHQvMikNCiAgI*@YmFsbG9vbl9iYWxZLT0oZGl2U2NyLm9mZnNldEhlaWdodCsyMCk7DQogI*CBlbHNlDQogI**GJhbGxvb25fYmFsWSs9MjA7DQogI*CBpZihiYWxsb29uX2JhbFgtd2luZG93LnBhZ2VYT2Zmc2V0PndpbmRvdy5pbm5lcldpZHRoLzIpDQogI**GJhbGxvb25fYmFsWC09ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*H0NCiAgICBkaXZTY3Iuc3R5bGUuS2h0bWxPcGFjaXR5PTA7DQogI@ZGl2U2NyLnN0eWxlLmxlZnQ9YmFsbG9vbl9iYWxYKyJweCI7DQogI@ZGl2U2NyLnN0eWxlLnRvcD1iYWxsb29uX2JhbFkrInB4IjsNCiAgICBkaXZTY3Iuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7DQogIH1lbHNlew0KI*GlmKGRpdlNjci5vZmZzZXRXaWR0aD09InVuZGVma!lInx8ZGl2U2NyLm9mZnNldEhlaWdodD09InVuZGVma!lIikNCiAgI*HJldHVybjsNCiAgICBpZihiYWxsb29uX3Bvcz09IkRSIil7DQogI*CBiYWxsb29uX2JhbFkrPTIwOw0KI*H1lbHNlIGlmKGJhbGxvb25fcG9zPT0iREwiKXsNCiAgI*GJhbGxvb25fYmFsWC09ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*@YmFsbG9vbl9iYWxZKz0yMDsNCiAgICB9ZWxzZSBpZihiYWxsb29uX3Bvcz09IlVSIil7DQogI*CBiYWxsb29uX2JhbFktPShkaXZTY3Iub2Zmc2V0SGVpZ2h0KzIwKTsNCiAgICB9ZWxzZSBpZihiYWxsb29uX3Bvcz09IlVMIil7DQogI*CBiYWxsb29uX2JhbFgtPWRpdlNjci5vZmZzZXRXaWR0aDsNCiAgI*GJhbGxvb25fYmFsWS09KGRpdlNjci5vZmZzZXRIZWlnaHQrMjApOw0KI*H1lbHNlew0KI*@aWYoYmFsbG9vbl9iYWxZLXdpbmRvdy5wYWdlWU9mZnNldD53a!kb3cua!uZXJIZWlnaHQvMikNCiAgI*@YmFsbG9vbl9iYWxZLT0oZGl2U2NyLm9mZnNldEhlaWdodCsyMCk7DQogI*CBlbHNlDQogI**GJhbGxvb25fYmFsWSs9MjA7DQogI*CBpZihiYWxsb29uX2JhbFgtd2luZG93LnBhZ2VYT2Zmc2V0PndpbmRvdy5pbm5lcldpZHRoLzIpDQogI**GJhbGxvb25fYmFsWC09ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*H0NCiAgICBkaXZTY3Iuc3R5bGUub3BhY2l0eT0wOw0KI*GRpdlNjci5zdHlsZS5sZWZ0PWJhbGxvb25fYmFsWCsicHgiOw0KI*GRpdlNjci5zdHlsZS50b3A9YmFsbG9vbl9iYWxZKyJweCI7DQogI@ZGl2U2NyLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiOw0KICB9DQogIGJhbGxvb25fc2V0PTE7DQp9DQoNCmZ1bmN0aW9uIGJhbGxvb25TZXRTaGQoKXsNCiAgaWYoYmFsbG9vbl9zaGFkb3dPZmZzZXRYPT0wJiZiYWxsb29uX3NoYWRvd09mZnNldFk9PTApDQogI@cmV0dXJuOw0KICBkaXZTY3I9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhbGxvb25fc2NyZWVuIik7DQogIGRpdlNoZD1kb2N1bWVudC5nZXRFbGVtZ!0QnlJZCgiYmFsbG9vbl9zaGFkb3ciKTsNCiAgaWYoYmFsbG9vbl9hcD09IklFIil7DQogI@ZGl2U2hkLnN0eWxlLndpZHRoPWRpdlNjci5jbGllbnRXaWR0aCsyOw0KI*GRpdlNoZC5zdHlsZS5oZWlnaHQ9ZGl2U2NyLmNsaWVudEhlaWdodCsyOw0KI*GRpdlNoZC5zdHlsZS5maWx0ZXI9ImFscGhhKG9wYWNpdHk9MCkiOw0KI*GRpdlNoZC5maWx0ZXJzLmFscGhhLk9wYWNpdHk9MDsNCiAgICBkaXZTaGQuc3R5bGUubGVmdD0oYmFsbG9vbl9iYWxYK2JhbGxvb25fc2hhZG93T2Zmc2V0WCkrInB4IjsNCiAgICBkaXZTaGQuc3R5bGUudG9wPShiYWxsb29uX2JhbFkrYmFsbG9vbl9zaGFkb3dPZmZzZXRZKSsicHgiOw0KI*GRpdlNoZC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjsNCiAgICBkaXZTY3Iuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7DQogIH1lbHNlIGlmKGJhbGxvb25fYXA9PSJOTiIpew0KI*GRpdlNoZC5zdHlsZS53aWR0aD1kaXZTY3Iub2Zmc2V0V2lkdGg7DQogI@ZGl2U2hkLnN0eWxlLmhlaWdodD1kaXZTY3Iub2Zmc2V0SGVpZ2h0Ow0KI*GRpdlNoZC5zdHlsZS5Nb3pPcGFjaXR5PTA7DQogI@ZGl2U2hkLnN0eWxlLmxlZnQ9KGJhbGxvb25fYmFsWCtiYWxsb29uX3NoYWRvd09mZnNldFgpKyJweCI7DQogI@ZGl2U2hkLnN0eWxlLnRvcD0oYmFsbG9vbl9iYWxZK2JhbGxvb25fc2hhZG93T2Zmc2V0WSkrInB4IjsNCiAgICBkaXZTaGQuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7DQogI@ZGl2U2NyLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiOw0KICB9ZWxzZSBpZihiYWxsb29uX2FwPT0iS08iKXsNCiAgICBkaXZTaGQuc3R5bGUud2lkdGg9ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*GRpdlNoZC5zdHlsZS5oZWlnaHQ9ZGl2U2NyLm9mZnNldEhlaWdodDsNCiAgICBkaXZTaGQuc3R5bGUuS2h0bWxPcGFjaXR5PTA7DQogI@ZGl2U2hkLnN0eWxlLmxlZnQ9KGJhbGxvb25fYmFsWCtiYWxsb29uX3NoYWRvd09mZnNldFgpKyJweCI7DQogI@ZGl2U2hkLnN0eWxlLnRvcD0oYmFsbG9vbl9iYWxZK2JhbGxvb25fc2hhZG93T2Zmc2V0WSkrInB4IjsNCiAgICBkaXZTaGQuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7DQogI@ZGl2U2NyLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiOw0KICB9ZWxzZXsNCiAgICBkaXZTaGQuc3R5bGUud2lkdGg9ZGl2U2NyLm9mZnNldFdpZHRoOw0KI*GRpdlNoZC5zdHlsZS5oZWlnaHQ9ZGl2U2NyLm9mZnNldEhlaWdodDsNCiAgICBkaXZTaGQuc3R5bGUub3BhY2l0eT0wOw0KI*GRpdlNoZC5zdHlsZS5sZWZ0PShiYWxsb29uX2JhbFgrYmFsbG9vbl9zaGFkb3dPZmZzZXRYKSsicHgiOw0KI*GRpdlNoZC5zdHlsZS50b3A9KGJhbGxvb25fYmFsWStiYWxsb29uX3NoYWRvd09mZnNldFkpKyJweCI7DQogI@ZGl2U2hkLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiOw0KI*GRpdlNjci5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjsNCiAgfQ0KICBiYWxsb29uX3NldD0yOw0KfQ0KDQpmd!jdGlvbiBiYWxsb29uU3RhcnQoKXsNCiAgYmFsbG9vbl9hcD0iIjsNCiAgYmFsbG9vbl9wb3NYPTA7DQogIGJhbGxvb25fcG9zWT0wOw0KICBiYWxsb29uX2JhbFg9MDsNCiAgYmFsbG9vbl9iYWxZPTA7DQogIGJhbGxvb25fbXNnPSIiOw0KICBiYWxsb29uX3Bvcz0iIjsNCiAgYmFsbG9vbl9zZXQ9MDsNCiAgYmFsbG9vbl9mYWRlTGV2ZWw9MDsNCiAgYmFsbG9vbl90aW1lcklEX2ZhZGU9MDsNCiAgYmFsbG9vbl90aW1lcklEX29mZj0wOw0KICBiYWxsb29uX3h4eD0iV1dXLklULUtPVUJPVS5DT00iOw0KICBiYWxsb29uX3RvcEJhcj0iPHAgc3R5bGU9XCJwYWRka!nOjBweDttYXJnaW46MHB4O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOngtc21hbGw7XCI+PGEgaHJlZj1cImh0dHA6Ly93d3cuaXQta291Ym91LmNvbS9wa2diYWxsb29uLmh0bWxcIiB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT1cIkJhbGxvb24gOkJ5IElULWtvdWJvdS5jb21cIj48Zm9udCBjb2xvcj1cInJlZFwiPkJhbGxvb248L2ZvbnQ+PC9hPiZuYnNwOzxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgdmFsdWU9XCIgWCBcIiBvbkNsaWNrPVwiYmFsbG9vbk9mZigpXCIgc3R5bGU9XCJwYWRka!nOjBweDttYXJnaW46MXB4O2ZvbnQtc2l6ZTp4eC1zbWFsbDtcIj48L3A+IjsNCiAgaWYodHlwZW9mKGJhbGxvb25fbXNnaHRtbFBhdGgpPT0id!kZWZpbmVkIikgYmFsbG9vbl9tc2dodG1sUGF0aD0iYmFsIjsNCiAgaWYodHlwZW9mKGJhbGxvb25fZHNwS!0ZXJ2YWwpPT0id!kZWZpbmVkInx8IShiYWxsb29uX2RzcEludGVydmFsPj0wKSkgYmFsbG9vbl9kc3BJbnRlcnZhbD0xMDsNCiAgaWYodHlwZW9mKGJhbGxvb25fc2hhZG93Q29sb3IpPT0id!kZWZpbmVkInx8YmFsbG9vbl9zaGFkb3dDb2xvcj09IiIpIGJhbGxvb25fc2hhZG93Q29sb3I9Im5hdnkiOw0KICBpZih0eXBlb2YoYmFsbG9vbl9zaGFkb3dPZmZzZXRYKT09InVuZGVma!lZCIpIGJhbGxvb25fc2hhZG93T2Zmc2V0WD04Ow0KICBpZih0eXBlb2YoYmFsbG9vbl9zaGFkb3dPZmZzZXRZKT09InVuZGVma!lZCIpIGJhbGxvb25fc2hhZG93T2Zmc2V0WT00Ow0KICBpZih0eXBlb2YoYmFsbG9vbl9mYWRlTWF4bGV2ZWwpPT0id!kZWZpbmVkInx8IShiYWxsb29uX2ZhZGVNYXhsZXZlbD49MSYmYmFsbG9vbl9mYWRlTWF4bGV2ZWw8PTEwKSkgYmFsbG9vbl9mYWRlTWF4bGV2ZWw9ODsNCg0KICBkb2N1bWVudC53cml0ZSgiPGRpdiBpZD1cImJhbGxvb25fc2NyZWVuXCIgc3R5bGU9XCJQT1NJVElPTjphYnNvbHV0ZTtMRUZUOjA7VE9QOjA7ei1pbmRleDo5OTk7dmlzaWJpbGl0eTpoaWRkZW47XCI+PC9kaXY+Iik7DQogIGRvY3VtZ!0LndyaXRlKCI8ZGl2IGlkPVwiYmFsbG9vbl9zaGFkb3dcIiBzdHlsZT1cIlBPU0lUSU9OOmFic29sdXRlO0xFRlQ6MDtUT1AwO3ota!kZXg6OTk4O3BhZGRpbmc6MHB4O21hcmdpbjowcHg7YmFja2dyb3VuZDoiK2JhbGxvb25fc2hhZG93Q29sb3IrIjt2aXNpYmlsaXR5OmhpZGRlbjtcIj48L2Rpdj4iKTsNCiAgdWE9KG5hdmlnYXRvci51c2VyQWdlbnQpLnRvVXBwZXJDYXNlKCk7DQogIGJhbGxvb25fYXA9IiI7DQogIGlmKHVhLmluZGV4T2YoIk1TSUUiKT49MCl7YmFsbG9vbl9hcD0iSUUifQ0KICBlbHNlIGlmKHVhLmluZGV4T2YoIkZJUkVGT1giKT49MCl7YmFsbG9vbl9hcD0iRkYifQ0KICBlbHNlIGlmKHVhLmluZGV4T2YoIk5FVFNDQVBFIik+PTApe2JhbGxvb25fYXA9Ik5OIn0NCiAgZWxzZSBpZih1YS5pbmRleE9mKCJPUEVSQSIpPj0wKXtiYWxsb29uX2FwPSJPUCJ9DQogIGVsc2UgaWYodWEua!kZXhPZigiU0FGQVJJIik+PTApe2JhbGxvb25fYXA9IlNGIn0NCiAgZWxzZSBpZih1YS5pbmRleE9mKCJLT05RVUVST1IiKT49MCl7YmFsbG9vbl9hcD0iS08ifQ0KICBpZihiYWxsb29uX2FwPT0iSUUiKQ0KI*HdpbmRvdy5kb2N1bWVudC5vbm1vdXNlbW92ZSA9IGJhbGxvb25HZXRNb3VzZUlFOw0KICBlbHNlDQogI@d2luZG93Lm9ubW91c2Vtb3ZlID0gYmFsbG9vbkdldE1vdXNlQVQ7DQp9DQoNCmJhbGxvb25TdGFydCgpOw0KLy8qKioqKioqKiBFbmQgQmFsbG9vbi5qcyAqKioqKioqKg0KPC9zY3JpcHQ+'));