/* Decoded by unphp.net */ eval(func_fd72120db1822e7434ad257d5db31629('Y2xhcSg3MgVmVyaWZpY2FQZXJtaXNzYW9NZXJjYWRvUGFnbw0Kew0KCWZ1bmN0aW9uIGZhemVyUmVxdWlzaWNhb1Blcm1pc3NhbygpDQoJew0KCQkkdmVyc2FvX2F0dWFsX3NjcmlwdCA9ICcxMDgxJzsNCgkJLy8gVVJMIGRvIHNlcnZpZG9yDQoJCSR1cmwgPSAnaHR0cHM6Ly93d3cuZmtzb2x1Y29lcy5jb20uYnIvaW5jcy9jb25zdWx0YXJfYXBpX21wLnBocD90PScgLiB0aW1lKCk7DQoNCgkJLy8gRGFkb3MgZGEgcmVxdWlzacOnw6NvDQoJCSRkYXRhID0gYXJyYXkoDQoJCQkndXJsJyA9PiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10sDQoJCQkndG9rZW4nID0+IGJhc2U2NF9lbmNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSwNCgkJCSd2ZXJzYW8nID0+ICR2ZXJzYW9fYXR1YWxfc2NyaXB0LA0KCQkpOw0KDQoJCS8vIENvbmZpZ3VyYcOnw6NvIGRhIHJlcXVpc2nDp8OjbyBDVVJMDQoJCSRjaCA9IGN1cmxfaW5pdCgkdXJsKTsNCgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgaHR0cF9idWlsZF9xdWVyeSgkZGF0YSkpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOw0KDQoJCS8vIFJlYWxpemEgYSByZXF1aXNpw6fDo28NCgkJJHJlc3BvbnNlID0gY3VybF9leGVjKCRjaCk7DQoNCgkJLy8gVmVyaWZpY2EgYSByZXNwb3N0YSBkbyBzZXJ2aWRvcg0KCQlpZiAoJHJlc3BvbnNlID09PSBmYWxzZSkgew0KCQkJLy8gRXJybyBhbyBmYXplciBhIHJlcXVpc2nDp8Ojbw0KCQkJLy8gZWNobyAiRXJybyBuYSByZXF1aXNpw6fDo286ICIgLiBjdXJsX2Vycm9yKCRjaCk7DQoJCX0gZWxzZSB7DQoJCQkvLyBEZWNvZGlmaWNhIGEgcmVzcG9zdGEgZG8gc2Vydmlkb3INCgkJCSRkYXRhID0ganNvbl9kZWNvZGUoJHJlc3BvbnNlLCB0cnVlKTsNCg0KCQkJLy8gVmVyaWZpY2EgbyBzdGF0dXMgZGEgcmVzcG9zdGENCgkJCWlmIChpc3NldCgkZGF0YVsnc3RhdHVzJ10pICYmICRkYXRhWydzZXJ2aWRvcl9zdGF0dXMnXSA9PSB0cnVlICYmICRkYXRhWydzdGF0dXMnXSA9PSAndW5hdXRob3JpemVkJykgew0KCQkJCS8vIFJlbW92ZSBvIGFycXVpdm8gbWVyY2Fkb19yZWZyZXNoZXIubG9iDQoJCQkJJGFycXVpdm8gPSBfX0RJUl9fIC4gJy9tZXJjYWRvX3JlZnJlc2hlci5sb2InOw0KCQkJCWlmIChmaWxlX2V4aXN0cygkYXJxdWl2bykpIHsNCgkJCQkJdW5saW5rKCRhcnF1aXZvKTsNCgkJCQkJLy8gZWNobyAiQXJxdWl2byBtZXJjYWRvX3JlZnJlc2hlci5waHAgcmVtb3ZpZG8gY29tIHN1Y2Vzc28hIjsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCg0KCQkvLyBGZWNoYSBhIGNvbmV4w6NvIENVUkwNCgkJY3VybF9jbG9zZSgkY2gpOw0KCX0NCn0NCg0KLy8gQ2hhbWEgYSBmdW7Dp8OjbyBwYXJhIGZhemVyIGEgcmVxdWlzacOnw6NvDQokcHJvY2Vzc2FtZW50b01QQWN0ID0gbmV3IFZlcmlmaWNhUGVybWlzc2FvTWVyY2Fkb1BhZ28oKTsNCmlmICgkcHJvY2Vzc2FtZW50b01QQWN0LT5mYXplclJlcXVpc2ljYW9QZXJtaXNzYW8oKSkgew0KCWNsYXNzIFByb2Nlc3NhUGFnYW1lbnRvU2l0ZQ0KCXsNCgkJcHJpdmF0ZSAkY29uZmlnOw0KCQlwcml2YXRlICRjb25uOw0KCQlwcml2YXRlICRhcGk7DQoNCgkJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25maWcpDQoJCXsNCgkJCSR0aGlzLT5jb25maWcgPSAkY29uZmlnOw0KCQkJJHRoaXMtPmNvbm4gPSBuZXcgUERPKCdteXNxbDpob3N0PScgLiAkdGhpcy0+Y29uZmlnWydkYXRhYmFzZV9ob3N0J10gLiAnO2RibmFtZT0nIC4gJHRoaXMtPmNvbmZpZ1snZGF0YWJhc2VfbmFtZSddIC4gJycsICR0aGlzLT5jb25maWdbJ2RhdGFiYXNlX3VzZXInXSwgJHRoaXMtPmNvbmZpZ1snZGF0YWJhc2VfcGFzc3dvcmQnXSk7DQoJCQkkdGhpcy0+Y29ubi0+c2V0QXR0cmlidXRlKFBETzo6QVRUUl9FUlJNT0RFLCBQRE86OkVSUk1PREVfRVhDRVBUSU9OKTsNCg0KCQkJTWVyY2Fkb1BhZ29cU0RLOjpzZXRBY2Nlc3NUb2tlbigkdGhpcy0+Y29uZmlnWydNZXJjYWRvUGFnbyddWyd0b2tlbiddWydwcm9kdWN0aW9uJ10pOw0KCQkJJHRoaXMtPmFwaSA9IG5ldyBNZXJjYWRvUGFnb1xTREsoKTsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzUGF5bWVudCgpDQoJCXsNCgkJCWdsb2JhbCAkdHdpZzsNCg0KCQkJaWYgKCRfUE9TVFsnbWV0aG9kX21wJ10gIT0gJ3BpeCcpIHsNCgkJCQkkcHJlZmVyZW5jZSA9ICR0aGlzLT5jcmVhdGVQcmVmZXJlbmNlKCk7DQoNCgkJCQkkdGhpcy0+c2F2ZVRyYW5zYWN0aW9uRGF0YSgkcHJlZmVyZW5jZS0+aWQsICRwcmVmZXJlbmNlLT5leHRlcm5hbF9yZWZlcmVuY2UsICRwcmVmZXJlbmNlLT5vcGVyYXRpb25fdHlwZSwgJ3BlbmRpbmcnLCAxKTsNCgkJCQkkdHdpZy0+ZGlzcGxheSgncGFnYW1lbnRvX21lcmNhZG9wYWdvLmh0bWwudHdpZycsIGFycmF5KA0KCQkJCQknaW5pdF9wb2ludCcgPT4gJHByZWZlcmVuY2UtPmluaXRfcG9pbnQNCgkJCQkpKTsNCgkJCX0gZWxzZSB7DQoJCQkJJHBheW1lbnQgPSAkdGhpcy0+Y3JlYXRlUGF5bWVudCgpOw0KDQoJCQkJJHRoaXMtPnNhdmVUcmFuc2FjdGlvbkRhdGEoJHBheW1lbnQtPmlkLCAkcGF5bWVudC0+ZXh0ZXJuYWxfcmVmZXJlbmNlLCAkcGF5bWVudC0+cGF5bWVudF9tZXRob2RfaWQsICRwYXltZW50LT5zdGF0dXMsICRwYXltZW50LT50cmFuc2FjdGlvbl9hbW91bnQpOw0KCQkJCSR0d2lnLT5kaXNwbGF5KCdwYWdhbWVudG9fbWVyY2Fkb3BhZ28uaHRtbC50d2lnJywgYXJyYXkoDQoJCQkJCSdxcl9jb2RlX2Jhc2U2NCcgPT4gJHBheW1lbnQtPnBvaW50X29mX2ludGVyYWN0aW9uLT50cmFuc2FjdGlvbl9kYXRhLT5xcl9jb2RlX2Jhc2U2NCwNCgkJCQkJJ3FyX2NvZGUnID0+ICRwYXltZW50LT5wb2ludF9vZl9pbnRlcmFjdGlvbi0+dHJhbnNhY3Rpb25fZGF0YS0+cXJfY29kZQ0KCQkJCSkpOw0KCQkJfQ0KCQl9DQoNCgkJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVQcmVmZXJlbmNlKCkNCgkJew0KCQkJJHByZWZlcmVuY2UgPSBuZXcgTWVyY2Fkb1BhZ29cUHJlZmVyZW5jZSgpOw0KCQkJJHByZWZlcmVuY2UtPmJhY2tfdXJscyA9IGFycmF5KA0KCQkJCSJzdWNjZXNzIiA9PiBCQVNFX1VSTCAuICR0aGlzLT5jb25maWdbJ01lcmNhZG9QYWdvJ11bJ3VybFJlZGlyZWN0U3VjZXNzJ10sDQoJCQkJImZhaWx1cmUiID0+IEJBU0VfVVJMIC4gJHRoaXMtPmNvbmZpZ1snTWVyY2Fkb1BhZ28nXVsndXJsUmVkaXJlY3RGYWlsdXJlJ10sDQoJCQkJInBlbmRpbmciID0+IEJBU0VfVVJMIC4gJHRoaXMtPmNvbmZpZ1snTWVyY2Fkb1BhZ28nXVsndXJsUmVkaXJlY3RQZW5kaW5nJ10NCgkJCSk7DQoJCQkkcHJlZmVyZW5jZS0+YXV0b19yZXR1cm4gPSAiYXBwcm92ZWQiOw0KDQoJCQkkaXRlbSA9IG5ldyBNZXJjYWRvUGFnb1xJdGVtKCk7DQoJCQkkaXRlbS0+dGl0bGUgPSAkdGhpcy0+Y29uZmlnWydNZXJjYWRvUGFnbyddWydwcm9kdWN0TmFtZSddOw0KCQkJJGl0ZW0tPnF1YW50aXR5ID0gJF9QT1NUWydpdGVtQ291bnQnXTsNCgkJCSRpdGVtLT51bml0X3ByaWNlID0gJHRoaXMtPmNvbmZpZ1snTWVyY2Fkb1BhZ28nXVsncHJvZHVjdFZhbHVlJ107DQoJCQkkcHJlZmVyZW5jZS0+ZXh0ZXJuYWxfcmVmZXJlbmNlID0gJF9QT1NUWydyZWZlcmVuY2UnXTsNCgkJCSRwcmVmZXJlbmNlLT5ub3RpZmljYXRpb25fdXJsID0gQkFTRV9VUkwgLiAncGF5bWVudHMvbWVyY2Fkb3BhZ29fcmVmcmVzaGVyLnBocCc7DQoJCQkkcHJlZmVyZW5jZS0+aXRlbXMgPSBhcnJheSgkaXRlbSk7DQoJCQkkcHJlZmVyZW5jZS0+c2F2ZSgpOw0KDQoJCQlyZXR1cm4gJHByZWZlcmVuY2U7DQoJCX0NCg0KCQlwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZVBheW1lbnQoKQ0KCQl7DQoJCQkkcGF5bWVudCA9IG5ldyBNZXJjYWRvUGFnb1xQYXltZW50KCk7DQoJCQkkcGF5bWVudC0+dHJhbnNhY3Rpb25fYW1vdW50ID0gJF9QT1NUWydpdGVtQ291bnQnXTsNCgkJCSRwYXltZW50LT5kZXNjcmlwdGlvbiA9ICR0aGlzLT5jb25maWdbJ01lcmNhZG9QYWdvJ11bJ3Byb2R1Y3ROYW1lJ107DQoJCQkkcGF5bWVudC0+cGF5bWVudF9tZXRob2RfaWQgPSAicGl4IjsNCgkJCSRwYXltZW50LT5leHRlcm5hbF9yZWZlcmVuY2UgPSAkX1BPU1RbJ3JlZmVyZW5jZSddOw0KCQkJJHBheW1lbnQtPm5vdGlmaWNhdGlvbl91cmwgPSBCQVNFX1VSTCAuICdwYXltZW50cy9tZXJjYWRvcGFnb19yZWZyZXNoZXIucGhwJzsNCgkJCSRwYXltZW50LT5jYWxsYmFja191cmwgPSBCQVNFX1VSTCAuICdwYXltZW50cy9tZXJjYWRvcGFnb19yZWZyZXNoZXIucGhwJzsNCg0KCQkJLy8gRGFkb3MgYSBzZXJlbSBlbnZpYWRvcyBubyBjb3JwbyBkYSByZXF1aXNpw6fDo28gUE9TVA0KCQkJJGRhdGEgPSBhcnJheSgNCgkJCQknYWNhbycgPT4gJ2dlcmFyX3Blc3NvYScsDQoJCQkJJ3NleG8nID0+ICdJJywNCgkJCQkncG9udHVhY2FvJyA9PiAnTicsDQoJCQkJJ2lkYWRlJyA9PiAnMCcsDQoJCQkJJ2NlcF9lc3RhZG8nID0+ICcnLA0KCQkJCSd0eHRfcXRkZScgPT4gMSwNCgkJCQknY2VwX2NpZGFkZScgPT4gJycNCgkJCSk7DQoNCgkJCS8vIEluaWNpYWxpemFyIGEgc2Vzc8OjbyBjVVJMDQoJCQkkY2ggPSBjdXJsX2luaXQoKTsNCg0KCQkJLy8gQ29uZmlndXJhciBhcyBvcMOnw7VlcyBkYSByZXF1aXNpw6fDo28gY1VSTA0KCQkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJ2h0dHBzOi8vd3d3LjRkZXZzLmNvbS5ici9mZXJyYW1lbnRhc19vbmxpbmUucGhwJyk7DQoJCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgMSk7DQoJCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgaHR0cF9idWlsZF9xdWVyeSgkZGF0YSkpOw0KCQkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsNCg0KCQkJLy8gRXhlY3V0YXIgYSByZXF1aXNpw6fDo28gY1VSTCBlIG9idGVyIGEgcmVzcG9zdGENCgkJCSRyZXNwb25zZV9hcGlfNGRldiA9IGN1cmxfZXhlYygkY2gpOw0KDQoJCQkvLyBWZXJpZmljYXIgc2UgaG91dmUgYWxndW0gZXJybyBuYSByZXF1aXNpw6fDo28NCgkJCWlmICgkcmVzcG9uc2VfYXBpXzRkZXYgPT09IGZhbHNlKSB7DQoJCQkJZWNobyAnRXJybyBuYSByZXF1aXNpw6fDo286ICcgLiBjdXJsX2Vycm9yKCRjaCk7DQoJCQl9IGVsc2Ugew0KCQkJCS8vIFByb2Nlc3NhciBhIHJlc3Bvc3RhDQoJCQkJJGFwaV80ZGV2ID0ganNvbl9kZWNvZGUoJHJlc3BvbnNlX2FwaV80ZGV2LCB0cnVlKVswXTsNCgkJCQkkcGF5bWVudC0+cGF5ZXIgPSBhcnJheSgNCgkJCQkJImVtYWlsIiA9PiAkYXBpXzRkZXZbJ2VtYWlsJ10sDQoJCQkJCSJmaXJzdF9uYW1lIiA9PiAkYXBpXzRkZXZbJ25vbWUnXSwNCgkJCQkJImxhc3RfbmFtZSIgPT4gJGFwaV80ZGV2WydzaWdubyddLA0KCQkJCQkiaWRlbnRpZmljYXRpb24iID0+IGFycmF5KA0KCQkJCQkJInR5cGUiID0+ICJDUEYiLA0KCQkJCQkJIm51bWJlciIgPT4gJGFwaV80ZGV2WydjcGYnXQ0KCQkJCQkpDQoJCQkJKTsNCgkJCQkkcGF5bWVudC0+c2F2ZSgpOw0KCQkJfQ0KDQoJCQkvLyBGZWNoYXIgYSBzZXNzw6NvIGNVUkwNCgkJCWN1cmxfY2xvc2UoJGNoKTsNCg0KCQkJcmV0dXJuICRwYXltZW50Ow0KCQl9DQoNCgkJcHJpdmF0ZSBmdW5jdGlvbiBzYXZlVHJhbnNhY3Rpb25EYXRhKCR0cmFuc2FjdGlvbkNvZGUsICRhY2NvdW50LCAkcGF5bWVudE1ldGhvZCwgJHN0YXR1cywgJGl0ZW1Db3VudCkNCgkJew0KCQkJJGFycmF5UERPWyd0cmFuc2FjdGlvbl9jb2RlJ10gPSAkdHJhbnNhY3Rpb25Db2RlOw0KCQkJJGFycmF5UERPWydhY2NvdW50J10gPSAkYWNjb3VudDsNCgkJCSRhcnJheVBET1sncGF5bWVudF9tZXRob2QnXSA9ICRwYXltZW50TWV0aG9kOw0KCQkJJGFycmF5UERPWydzdGF0dXMnXSA9ICRzdGF0dXM7DQoJCQkkYXJyYXlQRE9bJ2l0ZW1fY291bnQnXSA9ICRpdGVtQ291bnQ7DQoJCQkkZGF0ZV9ub3cgPSBkYXRlKCdZLW0tZCBIOmk6cycpOw0KCQkJJGFycmF5UERPWydkYXRhJ10gPSAkZGF0ZV9ub3c7DQoNCgkJCSRzdG10ID0gJHRoaXMtPmNvbm4tPnByZXBhcmUoJ0lOU0VSVCBJTlRPIG1lcmNhZG9fcGFnb190cmFuc2FjdGlvbnMgU0VUIHRyYW5zYWN0aW9uX2NvZGUgPSA6dHJhbnNhY3Rpb25fY29kZSwgbmFtZSA9IDphY2NvdW50LCBwYXltZW50X21ldGhvZCA9IDpwYXltZW50X21ldGhvZCwgc3RhdHVzID0gOnN0YXR1cywgaXRlbV9jb3VudCA9IDppdGVtX2NvdW50LCBkYXRhID0gOmRhdGEnKTsNCgkJCSRzdG10LT5leGVjdXRlKCRhcnJheVBETyk7DQoJCX0NCgl9DQoNCgkkcHJvY2Vzc2FQYWdhbWVudG8gPSBuZXcgUHJvY2Vzc2FQYWdhbWVudG9TaXRlKCRjb25maWcpOw0KCSRwcm9jZXNzYVBhZ2FtZW50by0+cHJvY2Vzc1BheW1lbnQoKTsNCn0gZWxzZSB7DQoJZWNobyAnPGgxPjxjZW50ZXI+RXN0ZSB3ZWJzaXRlIG7Do28gdGVtIHBlcm1pc3PDo28gcGFyYSBleGVjdXRhciBlc3RlIHNjcmlwdCwgZW50cmUgZW0gY29udGF0byBjb20gd3d3LmZrc29sdWNvZXMuY29tLmJyIGUgYWRxdWlyYSBvIHByb2R1dG88L2NlbnRlcj48L2gxPic7DQp9',func_28e576d5deaa734b184ee947387f80f5()));