From 54595ead71fb23b2000de084ce8e8afd3468fd9c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 11:34:01 +0800 Subject: [PATCH 01/14] update:depend library --- XEngine_Source/XEngine_DependLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 24bde9d..dc2e4b3 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 24bde9d212cd48b822ad8aab90956033972ee46b +Subproject commit dc2e4b3af5b666e888166ef1e7567475f6f03904 From 2f0c438d4301f796d7bfc7ec2ab02727b69ae079 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 4 Feb 2026 14:35:47 +0800 Subject: [PATCH 02/14] update:depend library --- XEngine_Source/XEngine_DependLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index dc2e4b3..adf48e2 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit dc2e4b3af5b666e888166ef1e7567475f6f03904 +Subproject commit adf48e22d68f741ec52f299945f8f8f8fb3df9d2 From 977fd98a147cf6af4d4992b2f68a8ea735d2ec74 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 4 Feb 2026 16:48:21 +0800 Subject: [PATCH 03/14] modify:Separation of Proxy Configuration --- .../XEngine_Config/XEngine_Config.json | 11 --- .../XEngine_Config/XEngine_ProxyConfig.json | 11 +++ .../XEngine_Config/XEngine_Version.json | 1 + .../ModuleConfig_Define.h | 33 +++++-- .../ModuleConfigure_Json.cpp | 95 ++++++++++++++----- .../ModuleConfigure_Json.h | 1 + .../XEngine_ModuleConfigure.def | 3 +- .../XEngine_ModuleConfigure/pch.cpp | 4 + .../XEngine_ServiceApp/XEngine_Configure.cpp | 6 ++ .../XEngine_ServiceApp/XEngine_Hdr.h | 1 + .../XEngine_ServiceApp/XEngine_ProxyTask.cpp | 18 ++-- .../XEngine_ServiceApp/XEngine_ServiceApp.cpp | 11 +-- 12 files changed, 136 insertions(+), 59 deletions(-) create mode 100644 XEngine_Release/XEngine_Config/XEngine_ProxyConfig.json diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index adac7ab..cc5daec 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -29,16 +29,5 @@ "bEnable":true, "tszAPIUrl":"http://app.xyry.org:5501/api?function=machine", "tszServiceName":"XEngine_ProxyServer" - }, - "XProxy": { - "nRuleMode": 0, - "tszDestIPAddr": [ - "127.0.0.1:5501", - "118.25.14.242:5501" - ], - "tszRuleIPAddr": [ - "10.0.0.1-10.0.4.69:5403", - "10.0.0.2-10.0.4.69:5403" - ] } } \ No newline at end of file diff --git a/XEngine_Release/XEngine_Config/XEngine_ProxyConfig.json b/XEngine_Release/XEngine_Config/XEngine_ProxyConfig.json new file mode 100644 index 0000000..bd4583a --- /dev/null +++ b/XEngine_Release/XEngine_Config/XEngine_ProxyConfig.json @@ -0,0 +1,11 @@ +{ + "nRuleMode": 0, + "tszDestIPAddr": [ + "127.0.0.1:5501", + "118.25.14.242:5501" + ], + "tszRuleIPAddr": [ + "10.0.0.1-10.0.4.69:5403", + "10.0.0.2-10.0.4.69:5403" + ] +} \ No newline at end of file diff --git a/XEngine_Release/XEngine_Config/XEngine_Version.json b/XEngine_Release/XEngine_Config/XEngine_Version.json index e6bf3e6..4b49932 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Version.json +++ b/XEngine_Release/XEngine_Config/XEngine_Version.json @@ -1,5 +1,6 @@ { "XVer": [ + "1.15.0.1001 Build20260205", "1.14.0.1001 Build20251020", "1.13.0.1001 Build20250519", "1.12.0.1001 Build20250325", diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index 5abadc3..748865d 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -50,17 +50,17 @@ typedef struct tag_XEngine_ServiceConfig XCHAR tszAPIUrl[XPATH_MAX]; XCHAR tszServiceName[128]; }st_XReport; - struct - { - int nRuleMode; //模式 - std::list* pStl_ListDestAddr; - std::list* pStl_ListRuleAddr; - }st_XProxy; struct { list* pStl_ListVer; }st_XVer; }XENGINE_SERVICECONFIG; +typedef struct +{ + int nRuleMode; //模式 + std::list* pStl_ListDestAddr; + std::list* pStl_ListRuleAddr; +}XENGINE_PROXYCONFIG; ////////////////////////////////////////////////////////////////////////// // 导出函数定义 ////////////////////////////////////////////////////////////////////////// @@ -105,4 +105,23 @@ extern "C" bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVIC 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleConfigure_Json_Version(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); \ No newline at end of file +extern "C" bool ModuleConfigure_Json_Version(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); +/******************************************************************** +函数名称:ModuleConfigure_Json_ProxyFile +函数功能:读取JSON配置文件 + 参数.一:lpszConfigFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要读取的配置文件 + 参数.二:pSt_ServerConfig + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出服务配置信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleConfigure_Json_ProxyFile(LPCXSTR lpszConfigFile, XENGINE_PROXYCONFIG* pSt_ServerConfig); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index c820d5a..b284f79 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -129,31 +129,6 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE _tcsxcpy(pSt_ServerConfig->st_XReport.tszAPIUrl, st_JsonXReport["tszAPIUrl"].asCString()); _tcsxcpy(pSt_ServerConfig->st_XReport.tszServiceName, st_JsonXReport["tszServiceName"].asCString()); - if (st_JsonRoot["XProxy"].empty()) - { - Config_IsErrorOccur = true; - Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XPROXY; - return false; - } - Json::Value st_JsonXProxy = st_JsonRoot["XProxy"]; - pSt_ServerConfig->st_XProxy.pStl_ListRuleAddr = new list; - pSt_ServerConfig->st_XProxy.pStl_ListDestAddr = new list; - - pSt_ServerConfig->st_XProxy.nRuleMode = st_JsonXProxy["nRuleMode"].asInt(); - if (!st_JsonXProxy["tszDestIPAddr"].isNull()) - { - for (unsigned int i = 0; i < st_JsonXProxy["tszDestIPAddr"].size(); i++) - { - pSt_ServerConfig->st_XProxy.pStl_ListDestAddr->push_back(st_JsonXProxy["tszDestIPAddr"][i].asCString()); - } - } - if (!st_JsonXProxy["tszRuleIPAddr"].isNull()) - { - for (unsigned int i = 0; i < st_JsonXProxy["tszRuleIPAddr"].size(); i++) - { - pSt_ServerConfig->st_XProxy.pStl_ListRuleAddr->push_back(st_JsonXProxy["tszRuleIPAddr"][i].asCString()); - } - } return true; } /******************************************************************** @@ -220,4 +195,74 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_Version(LPCXSTR lpszConfigFile, pSt_ServerConfig->st_XVer.pStl_ListVer->push_back(st_JsonXVer[i].asCString()); } return true; +} +/******************************************************************** +函数名称:ModuleConfigure_Json_ProxyFile +函数功能:读取JSON配置文件 + 参数.一:lpszConfigFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要读取的配置文件 + 参数.二:pSt_ServerConfig + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出服务配置信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleConfigure_Json::ModuleConfigure_Json_ProxyFile(LPCXSTR lpszConfigFile, XENGINE_PROXYCONFIG* pSt_ServerConfig) +{ + Config_IsErrorOccur = false; + + if ((NULL == lpszConfigFile) || (NULL == pSt_ServerConfig)) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + JSONCPP_STRING st_JsonError; + Json::CharReaderBuilder st_JsonBuilder; + //读取配置文件所有内容到缓冲区 + FILE* pSt_File = _xtfopen(lpszConfigFile, _X("rb")); + if (NULL == pSt_File) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_OPENFILE; + return false; + } + XCHAR tszMsgBuffer[8192]; + int nRet = fread(tszMsgBuffer, 1, sizeof(tszMsgBuffer), pSt_File); + fclose(pSt_File); + //开始解析配置文件 + std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); + if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nRet, &st_JsonRoot, &st_JsonError)) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_PARSE; + return false; + } + pSt_ServerConfig->pStl_ListRuleAddr = new list; + pSt_ServerConfig->pStl_ListDestAddr = new list; + + pSt_ServerConfig->nRuleMode = st_JsonRoot["nRuleMode"].asInt(); + if (!st_JsonRoot["tszDestIPAddr"].isNull()) + { + for (unsigned int i = 0; i < st_JsonRoot["tszDestIPAddr"].size(); i++) + { + pSt_ServerConfig->pStl_ListDestAddr->push_back(st_JsonRoot["tszDestIPAddr"][i].asCString()); + } + } + if (!st_JsonRoot["tszRuleIPAddr"].isNull()) + { + for (unsigned int i = 0; i < st_JsonRoot["tszRuleIPAddr"].size(); i++) + { + pSt_ServerConfig->pStl_ListRuleAddr->push_back(st_JsonRoot["tszRuleIPAddr"][i].asCString()); + } + } + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.h index f636423..9e22b32 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.h @@ -19,6 +19,7 @@ class CModuleConfigure_Json public: bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); bool ModuleConfigure_Json_Version(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); + bool ModuleConfigure_Json_ProxyFile(LPCXSTR lpszConfigFile, XENGINE_PROXYCONFIG* pSt_ServerConfig); protected: private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.def b/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.def index b94a561..35adf08 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.def +++ b/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.def @@ -4,4 +4,5 @@ EXPORTS ModuleConfigure_GetLastError ModuleConfigure_Json_File - ModuleConfigure_Json_Version \ No newline at end of file + ModuleConfigure_Json_Version + ModuleConfigure_Json_ProxyFile \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/pch.cpp b/XEngine_Source/XEngine_ModuleConfigure/pch.cpp index 45b3f4d..b40f93a 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/pch.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/pch.cpp @@ -36,4 +36,8 @@ extern "C" bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVIC extern "C" bool ModuleConfigure_Json_Version(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG * pSt_ServerConfig) { return m_ConfigJson.ModuleConfigure_Json_Version(lpszConfigFile, pSt_ServerConfig); +} +extern "C" bool ModuleConfigure_Json_ProxyFile(LPCXSTR lpszConfigFile, XENGINE_PROXYCONFIG* pSt_ServerConfig) +{ + return m_ConfigJson.ModuleConfigure_Json_ProxyFile(lpszConfigFile, pSt_ServerConfig); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Configure.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_Configure.cpp index b537342..349f5a0 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Configure.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Configure.cpp @@ -14,6 +14,7 @@ bool XEngine_Configure_Parament(int argc, char** argv, XENGINE_SERVICECONFIG* pS { LPCXSTR lpszConfigFile = _X("./XEngine_Config/XEngine_Config.json"); LPCXSTR lpszConfigVersion = _X("./XEngine_Config/XEngine_Version.json"); + LPCXSTR lpszConfigProxy = _X("./XEngine_Config/XEngine_ProxyConfig.json"); if (!ModuleConfigure_Json_File(lpszConfigFile, pSt_Configure)) { @@ -25,6 +26,11 @@ bool XEngine_Configure_Parament(int argc, char** argv, XENGINE_SERVICECONFIG* pS printf("解析配置文件失败,ModuleConfigure_Json_Version:%lX\n", ModuleConfigure_GetLastError()); return false; } + if (!ModuleConfigure_Json_ProxyFile(lpszConfigProxy, &st_ProxyConfig)) + { + printf("解析配置文件失败,ModuleConfigure_Json_Version:%lX\n", ModuleConfigure_GetLastError()); + return false; + } for (int i = 0; i < argc; i++) { diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h index e961ca0..cefbf4e 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h @@ -102,6 +102,7 @@ extern XHANDLE xhProxyHeart; extern XHANDLE xhProxyClient; //配置文件 extern XENGINE_SERVICECONFIG st_ServiceConfig; +extern XENGINE_PROXYCONFIG st_ProxyConfig; //网络类型定义 #define XENGINE_CLIENT_NETTYPE_SOCKS 1 diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ProxyTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ProxyTask.cpp index d2fff8c..7a6b4b9 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ProxyTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ProxyTask.cpp @@ -23,10 +23,10 @@ bool XEngine_Proxy_Connect(LPCXSTR lpszClientAddr) _tcsxcpy(tszSrcIPAddr, lpszClientAddr); APIAddr_IPAddr_SegAddr(tszSrcIPAddr, &nSrcPort); //是否有单独的转发规则 - if (!st_ServiceConfig.st_XProxy.pStl_ListRuleAddr->empty()) + if (!st_ProxyConfig.pStl_ListRuleAddr->empty()) { //有规则,需要进行匹配 - for (auto stl_ListIterator = st_ServiceConfig.st_XProxy.pStl_ListRuleAddr->begin(); stl_ListIterator != st_ServiceConfig.st_XProxy.pStl_ListRuleAddr->end(); stl_ListIterator++) + for (auto stl_ListIterator = st_ProxyConfig.pStl_ListRuleAddr->begin(); stl_ListIterator != st_ProxyConfig.pStl_ListRuleAddr->end(); stl_ListIterator++) { XCHAR tszTmpIPAddr[128] = {}; _stxscanf(stl_ListIterator->c_str(), _X("%[^-]-%s"), tszTmpIPAddr, tszDstIPAddr); @@ -44,7 +44,7 @@ bool XEngine_Proxy_Connect(LPCXSTR lpszClientAddr) if (!bFound) { //没有匹配到 - if (0 == st_ServiceConfig.st_XProxy.nRuleMode) + if (0 == st_ProxyConfig.nRuleMode) { int nIPCount = 0; SESSION_IPCONUT** ppSt_IPCount; @@ -56,22 +56,22 @@ bool XEngine_Proxy_Connect(LPCXSTR lpszClientAddr) APIAddr_IPAddr_SegAddr(tszDstIPAddr, &nDstPort); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Proxy客户端:%s,代理转发规则地址未命中,使用最小原则规则地址:%s:%d"), lpszClientAddr, tszDstIPAddr, nDstPort); } - else if (1 == st_ServiceConfig.st_XProxy.nRuleMode) + else if (1 == st_ProxyConfig.nRuleMode) { size_t nHashValue = std::hash{}(tszSrcIPAddr); - size_t nIndex = nHashValue % st_ServiceConfig.st_XProxy.pStl_ListDestAddr->size(); - auto stl_ListIterator = st_ServiceConfig.st_XProxy.pStl_ListDestAddr->begin(); + size_t nIndex = nHashValue % st_ProxyConfig.pStl_ListDestAddr->size(); + auto stl_ListIterator = st_ProxyConfig.pStl_ListDestAddr->begin(); std::advance(stl_ListIterator, nIndex); _tcsxcpy(tszIPAddr, stl_ListIterator->c_str()); _tcsxcpy(tszDstIPAddr, stl_ListIterator->c_str()); APIAddr_IPAddr_SegAddr(tszDstIPAddr, &nDstPort); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Proxy客户端:%s,代理转发规则地址未命中,使用HASH规则,规则地址:%s:%d"), lpszClientAddr, tszDstIPAddr, nDstPort); } - else if (2 == st_ServiceConfig.st_XProxy.nRuleMode) + else if (2 == st_ProxyConfig.nRuleMode) { XNETHANDLE xhIndex = 0; - BaseLib_Handle_Create(&xhIndex, 0, st_ServiceConfig.st_XProxy.pStl_ListDestAddr->size()); - auto stl_ListIterator = st_ServiceConfig.st_XProxy.pStl_ListDestAddr->begin(); + BaseLib_Handle_Create(&xhIndex, 0, st_ProxyConfig.pStl_ListDestAddr->size()); + auto stl_ListIterator = st_ProxyConfig.pStl_ListDestAddr->begin(); std::advance(stl_ListIterator, xhIndex); _tcsxcpy(tszIPAddr, stl_ListIterator->c_str()); _tcsxcpy(tszDstIPAddr, stl_ListIterator->c_str()); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp index 21e8cdc..72b4fb8 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp @@ -22,7 +22,8 @@ XHANDLE xhProxySocket = NULL; XHANDLE xhProxyHeart = NULL; XHANDLE xhProxyClient = NULL; //配置文件 -XENGINE_SERVICECONFIG st_ServiceConfig; +XENGINE_SERVICECONFIG st_ServiceConfig = {}; +XENGINE_PROXYCONFIG st_ProxyConfig = {}; void ServiceApp_Stop(int signo) { @@ -129,8 +130,6 @@ int main(int argc, char** argv) int nRet = 0; XENGINE_LIBVERSION st_VERXEngine = {}; HELPCOMPONENTS_XLOG_CONFIGURE st_XLogConfig = {}; - - memset(&st_ServiceConfig, '\0', sizeof(XENGINE_SERVICECONFIG)); //初始化参数 if (!XEngine_Configure_Parament(argc, argv, &st_ServiceConfig)) { @@ -334,7 +333,7 @@ int main(int argc, char** argv) XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动Proxy网络服务器失败,错误:%lX"), NetCore_GetLastError()); goto XENGINE_SERVICEAPP_EXIT; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动Proxy网络服务器成功,Proxy端口:%d,转发目标个数:%d 规则个数:%d,IO:%d"), st_ServiceConfig.nProxyPort, st_ServiceConfig.st_XProxy.pStl_ListDestAddr->size(), st_ServiceConfig.st_XProxy.pStl_ListRuleAddr->size(), st_ServiceConfig.st_XMax.nIOThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动Proxy网络服务器成功,Proxy端口:%d,转发目标个数:%d 规则个数:%d,IO:%d"), st_ServiceConfig.nProxyPort, st_ProxyConfig.pStl_ListDestAddr->size(), st_ProxyConfig.pStl_ListRuleAddr->size(), st_ServiceConfig.st_XMax.nIOThread); NetCore_TCPXCore_RegisterCallBackEx(xhProxySocket, Network_Callback_ProxyLogin, Network_Callback_ProxyRecv, Network_Callback_ProxyLeave); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册Proxy网络事件成功")); //客户端 @@ -346,11 +345,11 @@ int main(int argc, char** argv) } XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动Proxy客户端服务成功")); - for (auto stl_ListIterator = st_ServiceConfig.st_XProxy.pStl_ListDestAddr->begin(); stl_ListIterator != st_ServiceConfig.st_XProxy.pStl_ListDestAddr->end(); stl_ListIterator++) + for (auto stl_ListIterator = st_ProxyConfig.pStl_ListDestAddr->begin(); stl_ListIterator != st_ProxyConfig.pStl_ListDestAddr->end(); stl_ListIterator++) { ModuleSession_ProxyRule_Insert(stl_ListIterator->c_str()); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化负载均衡后台服务端成功,个数:%d"), st_ServiceConfig.st_XProxy.pStl_ListDestAddr->size()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化负载均衡后台服务端成功,个数:%d"), st_ProxyConfig.pStl_ListDestAddr->size()); } else { From 40db56469fca0c4de1dd612f36a3932f518e3895 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Feb 2026 16:37:26 +0800 Subject: [PATCH 04/14] added:http service support --- .../XEngine_Config/XEngine_Config.json | 11 +- .../ModuleConfig_Define.h | 3 + .../ModuleConfigure_Json.cpp | 7 +- .../ModuleProtocol_Define.h | 29 ++++ .../ModuleProtocol_Packet.cpp | 48 ++++++ .../ModuleProtocol_Packet.h | 1 + .../XEngine_ModuleProtocol.def | 1 + XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 + XEngine_Source/XEngine_ServiceApp/Makefile | 4 +- .../XEngine_ServiceApp/XEngine_HTTPTask.cpp | 152 ++++++++++++++++++ .../XEngine_ServiceApp/XEngine_HTTPTask.h | 16 ++ .../XEngine_ServiceApp/XEngine_Hdr.h | 10 ++ .../XEngine_ServiceApp/XEngine_Network.cpp | 46 +++++- .../XEngine_ServiceApp/XEngine_Network.h | 5 + .../XEngine_ServiceApp/XEngine_ServiceApp.cpp | 67 ++++++++ .../XEngine_ServiceApp.vcxproj | 2 + .../XEngine_ServiceApp.vcxproj.filters | 6 + 17 files changed, 404 insertions(+), 8 deletions(-) create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.h diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index cc5daec..1786808 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -1,18 +1,21 @@ { "tszIPAddr": "192.168.1.12", "bDeamon": false, - "nSocksPort": 5400, - "nTunnelPort": 5401, - "nForwardPort": 5402, - "nProxyPort": 5403, + "nHttpPort":5400, + "nSocksPort": 5401, + "nTunnelPort": 5402, + "nForwardPort": 5403, + "nProxyPort": 5404, "XMax": { "nMaxClient": 10000, "nMaxQueue": 10000, "nIOThread": 4, + "nHTTPThread": 2, "nForwardThread": 4 }, "XTime": { "nTimeCheck": 3, + "nHttpTimeout": 5, "nSocksTimeout": 5, "nTunnelTimeout": 5, "nForwardTimeout": 5, diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index 748865d..1e0a4c2 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -17,6 +17,7 @@ typedef struct tag_XEngine_ServiceConfig { XCHAR tszIPAddr[128]; //本机IP地址,根据需要配置 bool bDeamon; //是否以守护进程启动,LINUX有效 + int nHttpPort; //HTTP服务端口,<=0不启用 int nSocksPort; //Socks端口,<=0不启用 int nTunnelPort; //Tunnel服务端口 int nForwardPort; //数据转发端口 @@ -26,11 +27,13 @@ typedef struct tag_XEngine_ServiceConfig int nMaxClient; //最大客户端个数 int nMaxQueue; //最大队列个数 int nIOThread; //网络IO线程数 + int nHTTPThread; //HTTP处理线程数 int nForwardThread; //转发服务 }st_XMax; struct { int nTimeCheck; //检测次数 + int nHttpTimeout; //HTTP超时时间 int nSocksTimeout; //TCP超时时间 int nTunnelTimeout; //HTTP超时时间 int nForwardTimeout; //转发超时时间 diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index b284f79..f9bf54e 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -74,12 +74,13 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE } _tcsxcpy(pSt_ServerConfig->tszIPAddr, st_JsonRoot["tszIPAddr"].asCString()); pSt_ServerConfig->bDeamon = st_JsonRoot["bDeamon"].asBool(); + pSt_ServerConfig->nHttpPort = st_JsonRoot["nHttpPort"].asInt(); pSt_ServerConfig->nSocksPort = st_JsonRoot["nSocksPort"].asInt(); pSt_ServerConfig->nTunnelPort = st_JsonRoot["nTunnelPort"].asInt(); pSt_ServerConfig->nForwardPort = st_JsonRoot["nForwardPort"].asInt(); pSt_ServerConfig->nProxyPort = st_JsonRoot["nProxyPort"].asInt(); - if (st_JsonRoot["XMax"].empty() || (4 != st_JsonRoot["XMax"].size())) + if (st_JsonRoot["XMax"].empty() || (5 != st_JsonRoot["XMax"].size())) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XMAX; @@ -89,9 +90,10 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XMax.nMaxClient = st_JsonXMax["nMaxClient"].asInt(); pSt_ServerConfig->st_XMax.nMaxQueue = st_JsonXMax["nMaxQueue"].asInt(); pSt_ServerConfig->st_XMax.nIOThread = st_JsonXMax["nIOThread"].asInt(); + pSt_ServerConfig->st_XMax.nHTTPThread = st_JsonXMax["nHTTPThread"].asInt(); pSt_ServerConfig->st_XMax.nForwardThread = st_JsonXMax["nForwardThread"].asInt(); - if (st_JsonRoot["XTime"].empty() || (5 != st_JsonRoot["XTime"].size())) + if (st_JsonRoot["XTime"].empty() || (6 != st_JsonRoot["XTime"].size())) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XTIME; @@ -99,6 +101,7 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE } Json::Value st_JsonXTime = st_JsonRoot["XTime"]; pSt_ServerConfig->st_XTime.nTimeCheck = st_JsonXTime["nTimeCheck"].asInt(); + pSt_ServerConfig->st_XTime.nHttpTimeout = st_JsonXTime["nHttpTimeout"].asInt(); pSt_ServerConfig->st_XTime.nSocksTimeout = st_JsonXTime["nSocksTimeout"].asInt(); pSt_ServerConfig->st_XTime.nTunnelTimeout = st_JsonXTime["nTunnelTimeout"].asInt(); pSt_ServerConfig->st_XTime.nForwardTimeout = st_JsonXTime["nForwardTimeout"].asInt(); diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index 1050015..9b4d585 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -18,6 +18,35 @@ extern "C" XLONG ModuleProtocol_GetLastError(int* pInt_SysError = NULL); /* 封包导出函数 */ /************************************************************************/ /******************************************************************** +函数名称:ModuleProtocol_Packet_Comm +函数功能:打包一个通用回复消息 + 参数.一:ptszMSGBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打好包的JSON数据信息 + 参数.二:pInt_MSGLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:nCode + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入返回的错误码 + 参数.四:lpszMSGBuffer + In/Out:In + 类型:常量字符指针 + 可空:Y + 意思:输入错误信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode = 0, LPCXSTR lpszMSGBuffer = _X("success")); +/******************************************************************** 函数名称:ModuleProtocol_Packet_ForwardList 函数功能:转发协议封装请求 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index 42e443a..ec40ced 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -23,6 +23,54 @@ CModuleProtocol_Packet::~CModuleProtocol_Packet() // 公用函数 ////////////////////////////////////////////////////////////////////////// /******************************************************************** +函数名称:ModuleProtocol_Packet_Comm +函数功能:打包一个通用回复消息 + 参数.一:ptszMSGBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打好包的JSON数据信息 + 参数.二:pInt_MSGLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:nCode + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入返回的错误码 + 参数.四:lpszMSGBuffer + In/Out:In + 类型:常量字符指针 + 可空:Y + 意思:输入错误信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode /* = 0 */, LPCXSTR lpszMSGBuffer /* = _X("success") */) +{ + Protocol_IsErrorOccur = false; + + if ((NULL == ptszMSGBuffer) || (NULL == pInt_MSGLen)) + { + Protocol_IsErrorOccur = true; + Protocol_dwErrorCode = ERROR_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::StreamWriterBuilder st_JsonWBuilder; + //JSON赋值 + st_JsonRoot["code"] = nCode; + st_JsonRoot["msg"] = lpszMSGBuffer; + + *pInt_MSGLen = (int)Json::writeString(st_JsonWBuilder, st_JsonRoot).length(); + memcpy(ptszMSGBuffer, Json::writeString(st_JsonWBuilder, st_JsonRoot).c_str(), *pInt_MSGLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_ForwardList 函数功能:转发协议封装请求 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 4367f0e..3db395b 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -17,6 +17,7 @@ class CModuleProtocol_Packet CModuleProtocol_Packet(); ~CModuleProtocol_Packet(); public: + bool ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode = 0, LPCXSTR lpszMSGBuffer = _X("success")); bool ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, SESSION_FORWARD*** pppSt_ListUser, int nCount); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 5d5832c..2a1c548 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -3,6 +3,7 @@ LIBRARY EXPORTS ModuleProtocol_GetLastError + ModuleProtocol_Packet_Comm ModuleProtocol_Packet_ForwardList ModuleProtocol_Parse_ForwardBind \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 0a6fc70..f4f3043 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -31,6 +31,10 @@ extern "C" XLONG ModuleProtocol_GetLastError(int* pInt_SysError) /************************************************************************/ /* 封包导出函数 */ /************************************************************************/ +extern "C" bool ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode, LPCXSTR lpszMSGBuffer) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_Comm(ptszMSGBuffer, pInt_MSGLen, nCode, lpszMSGBuffer); +} extern "C" bool ModuleProtocol_Packet_ForwardList(XCHAR * ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, SESSION_FORWARD * **pppSt_ListUser, int nCount) { return m_ProtocolPacket.ModuleProtocol_Packet_ForwardList(ptszMsgBuffer, pInt_Len, pSt_ProtocolHdr, pppSt_ListUser, nCount); diff --git a/XEngine_Source/XEngine_ServiceApp/Makefile b/XEngine_Source/XEngine_ServiceApp/Makefile index b324945..baa0c34 100644 --- a/XEngine_Source/XEngine_ServiceApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/Makefile @@ -7,7 +7,7 @@ LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_Cryption -l -lXEngine_ModuleConfigure -lXEngine_ModuleSession -lXEngine_ModuleProtocol -lXEngine_ModuleHelp \ -ljsoncpp -lXEngine_InfoReport LIBEX = -OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_SocksTask.o XEngine_TunnelTask.o XEngine_ForwardTask.o XEngine_ProxyTask.o XEngine_ServiceApp.o +OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_SocksTask.o XEngine_TunnelTask.o XEngine_ForwardTask.o XEngine_ProxyTask.o XEngine_ServiceApp.o ifeq ($(RELEASE),1) FLAGS = -c -D _RELEASE @@ -50,6 +50,8 @@ XEngine_Configure.o:./XEngine_Configure.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_Configure.cpp XEngine_Network.o:./XEngine_Network.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_Network.cpp +XEngine_HTTPTask.o:./XEngine_HTTPTask.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_HTTPTask.cpp XEngine_SocksTask.o:./XEngine_SocksTask.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_SocksTask.cpp XEngine_TunnelTask.o:./XEngine_TunnelTask.cpp diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp new file mode 100644 index 0000000..4b022f3 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp @@ -0,0 +1,152 @@ +#include "XEngine_Hdr.h" +/******************************************************************** +// Created: 2026/02/05 16:00:12 +// File Name: D:\XEngine_ProxyServer\XEngine_Source\XEngine_ServiceApp\XEngine_HTTPTask.cpp +// File Path: D:\XEngine_ProxyServer\XEngine_Source\XEngine_ServiceApp +// File Base: XEngine_HTTPTask +// File Ext: cpp +// Project: XEngine +// Author: qyt +// Purpose: HTTP任务处理代码 +// History: +*********************************************************************/ +XHTHREAD XCALLBACK XEngine_HTTPTask_Thread(XPVOID lParam) +{ + //任务池是编号1开始的. + int nThreadPos = *(int*)lParam; + nThreadPos++; + + while (bIsRun) + { + //等待编号1的任务池触发一个组完包的事件 + if (!HttpProtocol_Server_EventWaitEx(xhHTTPPacket, nThreadPos)) + { + continue; + } + int nListCount = 0; + XENGINE_MANAGEPOOL_TASKEVENT** ppSst_ListAddr; + //获得编号1的所有待处理任务的客户端列表(也就是客户端发送过来的数据已经组好了一个包,需要我们处理) + HttpProtocol_Server_GetPoolEx(xhHTTPPacket, nThreadPos, &ppSst_ListAddr, &nListCount); + //先循环客户端 + for (int i = 0; i < nListCount; i++) + { + //再循环客户端拥有的任务个数 + for (int j = 0; j < ppSst_ListAddr[i]->nPktCount; j++) + { + int nMsgLen = 0; //客户端发送的数据大小,不包括头 + int nHdrCount = 0; //客户端的HTTP头字段数 + XCHAR** ppszHdrList; //客户端的HTTP头字段列表 + XCHAR* ptszMsgBuffer = NULL; //客户端发送的数据 + RFCCOMPONENTS_HTTP_REQPARAM st_HTTPReqparam; //客户端的请求参数 + + memset(&st_HTTPReqparam, '\0', sizeof(RFCCOMPONENTS_HTTP_REQPARAM)); + //得到一个指定客户端的完整数据包 + if (HttpProtocol_Server_GetMemoryEx(xhHTTPPacket, ppSst_ListAddr[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPReqparam, &ppszHdrList, &nHdrCount)) + { + //在另外一个函数里面处理数据 + XEngine_HTTPTask_Handle(&st_HTTPReqparam, ppSst_ListAddr[i]->tszClientAddr, ptszMsgBuffer, nMsgLen, ppszHdrList, nHdrCount); + //释放内存 + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_Free((XPPPMEM)&ppszHdrList, nHdrCount); + } + } + } + BaseLib_Memory_Free((XPPPMEM)&ppSst_ListAddr, nListCount); + } + return 0; +} +bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR** pptszListHdr, int nHdrCount) +{ + int nSDLen = 0; + int nListCount = 0; + XCHAR** pptszList; + + LPCXSTR lpszMethodPost = _X("POST"); + LPCXSTR lpszMethodGet = _X("GET"); + XCHAR tszSDBuffer[4096] = {}; + + HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszList, &nListCount); + if (nListCount < 1) + { + ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, 400, "Bad Request,parament is incorrent"); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + return false; + } + XCHAR tszKey[128] = {}; + XCHAR tszValue[128] = {}; + LPCXSTR lpszAPICreate = _X("create"); + LPCXSTR lpszAPIQuery = _X("query"); + //获得函数名 + BaseLib_String_GetKeyValue(pptszList[0], "=", tszKey, tszValue); + //得到客户端请求的方法 + if (0 == _tcsxnicmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPost))) + { + if (0 == _tcsxnicmp(lpszAPICreate, tszValue, _tcsxlen(lpszAPICreate))) + { + //http://127.0.0.1:5501/api?function=create&token=123123 + bool bCloud = false; + XNETHANDLE xhToken = 0; + + for (int i = 1; i < nListCount; i++) + { + memset(tszKey, 0, sizeof(tszKey)); + memset(tszValue, 0, sizeof(tszValue)); + + BaseLib_String_GetKeyValue(pptszList[i], "=", tszKey, tszValue); + + if (0 == _tcsxncmp(tszKey, "token", 5)) + { + xhToken = _ttxoll(tszValue); + } + else if (0 == _tcsxncmp(tszKey, "cloud", 5)) + { + bCloud = _ttxoi(tszValue); + } + } + } + else + { + ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,发送POST请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + } + } + else if (0 == _tcsxnicmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodGet))) + { + if (0 == _tcsxnicmp(lpszAPIQuery, tszValue, _tcsxlen(lpszAPIQuery))) + { + //http://127.0.0.1:5501/api?function=stop&token=123123&value=0 + for (int i = 1; i < nListCount; i++) + { + memset(tszKey, 0, sizeof(tszKey)); + memset(tszValue, 0, sizeof(tszValue)); + + BaseLib_String_GetKeyValue(pptszList[i], "=", tszKey, tszValue); + + if (0 == _tcsxncmp(tszKey, "exist", 5)) + { + + } + else if (0 == _tcsxncmp(tszKey, "pf", 2)) + { + + } + } + } + else + { + ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,发送GET请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + } + } + else + { + ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,协议错误"), lpszClientAddr); + } + return true; +} \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.h new file mode 100644 index 0000000..50c2c2a --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.h @@ -0,0 +1,16 @@ +#pragma once +/******************************************************************** +// Created: 2026/02/05 16:00:07 +// File Name: D:\XEngine_ProxyServer\XEngine_Source\XEngine_ServiceApp\XEngine_HTTPTask.h +// File Path: D:\XEngine_ProxyServer\XEngine_Source\XEngine_ServiceApp +// File Base: XEngine_HTTPTask +// File Ext: h +// Project: XEngine +// Author: qyt +// Purpose: HTTP任务处理代码 +// History: +*********************************************************************/ +//任务处理池,用来获取一个完整包 +XHTHREAD XCALLBACK XEngine_HTTPTask_Thread(XPVOID lParam); +//任务处理相关函数,处理包的内容 +bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h index cefbf4e..f742f0a 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h @@ -47,6 +47,8 @@ using namespace std; #include #include #include +#include +#include #include #include //加载项目相关头文件 @@ -64,6 +66,7 @@ using namespace std; //加载自己的头文件 #include "XEngine_Configure.h" #include "XEngine_Network.h" +#include "XEngine_HTTPTask.h" #include "XEngine_SocksTask.h" #include "XEngine_TunnelTask.h" #include "XEngine_ForwardTask.h" @@ -100,11 +103,17 @@ extern XHANDLE xhForwardClient; extern XHANDLE xhProxySocket; extern XHANDLE xhProxyHeart; extern XHANDLE xhProxyClient; +//HTTP服务器 +extern XHANDLE xhHTTPSocket; +extern XHANDLE xhHTTPHeart; +extern XHANDLE xhHTTPPacket; +extern XHANDLE xhHTTPPool; //配置文件 extern XENGINE_SERVICECONFIG st_ServiceConfig; extern XENGINE_PROXYCONFIG st_ProxyConfig; //网络类型定义 +#define XENGINE_CLIENT_NETTYPE_HTTP 0 #define XENGINE_CLIENT_NETTYPE_SOCKS 1 #define XENGINE_CLIENT_NETTYPE_TUNNEL 2 #define XENGINE_CLIENT_NETTYPE_FORWARD 3 @@ -127,6 +136,7 @@ extern XENGINE_PROXYCONFIG st_ProxyConfig; #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_Packets.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_ProxyProtocol.lib") +#pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") #pragma comment(lib,"Ws2_32.lib") #pragma comment(lib,"Dbghelp.lib") #ifdef _DEBUG diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Network.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_Network.cpp index ea2da0c..a64a0ef 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Network.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Network.cpp @@ -10,6 +10,32 @@ // Purpose: 网络IO相关代码 // History: *********************************************************************/ +//////////////////////////////////////////////////////////////////////////下面是HTTP网络IO相关代码处理函数 +bool XCALLBACK Network_Callback_HTTPLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) +{ + SocketOpt_HeartBeat_InsertAddrEx(xhHTTPHeart, lpszClientAddr); + HttpProtocol_Server_CreateClientEx(xhHTTPPacket, lpszClientAddr, 0); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DETAIL, _X("HTTP客户端:%s,连接到服务器"), lpszClientAddr); + return true; +} +void XCALLBACK Network_Callback_HTTPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam) +{ + if (!HttpProtocol_Server_InserQueueEx(xhHTTPPacket, lpszClientAddr, lpszRecvMsg, nMsgLen)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,投递HTTP数据包到消息队列失败,错误:%lX"), lpszClientAddr, HttpProtocol_GetLastError()); + return; + } + SocketOpt_HeartBeat_ActiveAddrEx(xhHTTPHeart, lpszClientAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("HTTP客户端:%s,投递数据包到组包队列成功,大小:%d"), lpszClientAddr, nMsgLen); +} +void XCALLBACK Network_Callback_HTTPLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) +{ + XEngine_Network_Close(lpszClientAddr, XENGINE_CLIENT_NETTYPE_HTTP, XENGINE_CLIENT_CLOSE_NETWORK); +} +void XCALLBACK Network_Callback_HTTPHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam) +{ + XEngine_Network_Close(lpszClientAddr, XENGINE_CLIENT_NETTYPE_HTTP, XENGINE_CLIENT_CLOSE_HEARTBEAT); +} //////////////////////////////////////////////////////////////////////////下面是SOCKS网络IO相关代码处理函数 bool XCALLBACK Network_Callback_SocksLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { @@ -248,7 +274,25 @@ void XEngine_Network_Close(LPCXSTR lpszClientAddr, int nIPProto, int nCloseType) bool XEngine_Network_Send(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nIPProto) { //根据客户端类型来处理发送业务逻辑 - if (XENGINE_CLIENT_NETTYPE_SOCKS == nIPProto) + if (XENGINE_CLIENT_NETTYPE_HTTP == nIPProto) + { + int nMSGSize = 0; //发送数据的大小 + XCHAR tszMSGBuffer[4096] = {}; //发送数据的缓冲区 + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; + st_HDRParam.nHttpCode = 200; + st_HDRParam.bIsClose = true; + + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMSGBuffer, &nMSGSize, &st_HDRParam, lpszMsgBuffer, nMsgLen); + //发送数据给指定客户端 + if (!NetCore_TCPXCore_SendEx(xhHTTPSocket, lpszClientAddr, tszMSGBuffer, nMSGSize, 1, 1)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送数据失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError()); + return false; + } + //发送成功激活一次心跳 + SocketOpt_HeartBeat_ActiveAddrEx(xhHTTPHeart, lpszClientAddr); + } + else if (XENGINE_CLIENT_NETTYPE_SOCKS == nIPProto) { //发送数据给指定客户端 if (!NetCore_TCPXCore_SendEx(xhSocksSocket, lpszClientAddr, lpszMsgBuffer, nMsgLen, 1, 1)) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Network.h b/XEngine_Source/XEngine_ServiceApp/XEngine_Network.h index c7f65e2..904c6bf 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Network.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Network.h @@ -10,6 +10,11 @@ // Purpose: 网络IO相关代码 // History: *********************************************************************/ +//HTTP相关 +bool XCALLBACK Network_Callback_HTTPLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +void XCALLBACK Network_Callback_HTTPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); +void XCALLBACK Network_Callback_HTTPLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +void XCALLBACK Network_Callback_HTTPHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); //SOCKS相关 bool XCALLBACK Network_Callback_SocksLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); //用户连接 void XCALLBACK Network_Callback_SocksRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); //接受到数据 diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp index 72b4fb8..08141ce 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp @@ -21,6 +21,11 @@ XHANDLE xhForwardClient = NULL; XHANDLE xhProxySocket = NULL; XHANDLE xhProxyHeart = NULL; XHANDLE xhProxyClient = NULL; + +XHANDLE xhHTTPSocket = NULL; +XHANDLE xhHTTPHeart = NULL; +XHANDLE xhHTTPPacket = NULL; +XHANDLE xhHTTPPool = NULL; //配置文件 XENGINE_SERVICECONFIG st_ServiceConfig = {}; XENGINE_PROXYCONFIG st_ProxyConfig = {}; @@ -128,8 +133,11 @@ int main(int argc, char** argv) #endif bIsRun = true; int nRet = 0; + LPCXSTR lpszHTTPMime = _X("./XEngine_Config/HttpMime.types"); + LPCXSTR lpszHTTPCode = _X("./XEngine_Config/HttpCode.types"); XENGINE_LIBVERSION st_VERXEngine = {}; HELPCOMPONENTS_XLOG_CONFIGURE st_XLogConfig = {}; + THREADPOOL_PARAMENT** ppSt_ListHTTPParam; //初始化参数 if (!XEngine_Configure_Parament(argc, argv, &st_ServiceConfig)) { @@ -158,6 +166,65 @@ int main(int argc, char** argv) signal(SIGTERM, ServiceApp_Stop); signal(SIGABRT, ServiceApp_Stop); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化信号量处理程序成功")); + + if (st_ServiceConfig.nHttpPort > 0) + { + //HTTP包处理器 + xhHTTPPacket = HttpProtocol_Server_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceConfig.st_XMax.nHTTPThread); + if (NULL == xhHTTPPacket) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化HTTP组包失败,错误:%lX"), HttpProtocol_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化HTTP组包成功,IO线程个数:%d"), st_ServiceConfig.st_XMax.nIOThread); + //启动心跳 + if (st_ServiceConfig.st_XTime.nTimeCheck > 0) + { + xhHTTPHeart = SocketOpt_HeartBeat_InitEx(st_ServiceConfig.st_XTime.nHttpTimeout, st_ServiceConfig.st_XTime.nTimeCheck, Network_Callback_HTTPHeart); + if (NULL == xhHTTPHeart) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化HTTP心跳服务失败,错误:%lX"), NetCore_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化HTTP心跳服务成功,时间:%d,次数:%d"), st_ServiceConfig.st_XTime.nHttpTimeout, st_ServiceConfig.st_XTime.nTimeCheck); + } + else + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,HTTP心跳服务被设置为不启用")); + } + //网络 + xhHTTPSocket = NetCore_TCPXCore_StartEx(st_ServiceConfig.nHttpPort, st_ServiceConfig.st_XMax.nMaxClient, st_ServiceConfig.st_XMax.nIOThread); + if (NULL == xhHTTPSocket) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动HTTP网络端口:%d 服务器失败,错误:%lX"), st_ServiceConfig.nHttpPort, NetCore_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动HTTP网络服务器成功,HTTP端口:%d,IO:%d"), st_ServiceConfig.nHttpPort, st_ServiceConfig.st_XMax.nIOThread); + NetCore_TCPXCore_RegisterCallBackEx(xhHTTPSocket, Network_Callback_HTTPLogin, Network_Callback_HTTPRecv, Network_Callback_HTTPLeave); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册HTTP网络事件成功")); + //HTTP任务池 + BaseLib_Memory_Malloc((XPPPMEM)&ppSt_ListHTTPParam, st_ServiceConfig.st_XMax.nHTTPThread, sizeof(THREADPOOL_PARAMENT)); + for (int i = 0; i < st_ServiceConfig.st_XMax.nHTTPThread; i++) + { + int* pInt_Pos = new int; + + *pInt_Pos = i; + ppSt_ListHTTPParam[i]->lParam = pInt_Pos; + ppSt_ListHTTPParam[i]->fpCall_ThreadsTask = XEngine_HTTPTask_Thread; + } + xhHTTPPool = ManagePool_Thread_NQCreate(&ppSt_ListHTTPParam, st_ServiceConfig.st_XMax.nHTTPThread); + if (NULL == xhHTTPPool) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动HTTP线程池服务失败,错误:%lX"), ManagePool_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动HTTP线程池服务成功,启动个数:%d"), st_ServiceConfig.st_XMax.nHTTPThread); + } + else + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,HTTP消息服务没有被启用")); + } + //启动Socks服务相关代码 if (st_ServiceConfig.nSocksPort > 0) { diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj index a0e1363..1397cf6 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj @@ -236,6 +236,7 @@ + @@ -246,6 +247,7 @@ + diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj.filters b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj.filters index 71f8003..d309d84 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj.filters +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.vcxproj.filters @@ -36,6 +36,9 @@ 源文件 + + 源文件 + @@ -59,5 +62,8 @@ 头文件 + + 头文件 + \ No newline at end of file From 984209953777cdc232eb2b6aca2a711fd5ec1d50 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Feb 2026 16:38:37 +0800 Subject: [PATCH 05/14] update:vs copy file --- XEngine_Source/VSCopy_Arm64.bat | 1 + XEngine_Source/VSCopy_Debug.bat | 1 + XEngine_Source/VSCopy_x64.bat | 1 + XEngine_Source/VSCopy_x86.bat | 1 + 4 files changed, 4 insertions(+) diff --git a/XEngine_Source/VSCopy_Arm64.bat b/XEngine_Source/VSCopy_Arm64.bat index 627ce5e..59ed8a0 100644 --- a/XEngine_Source/VSCopy_Arm64.bat +++ b/XEngine_Source/VSCopy_Arm64.bat @@ -15,6 +15,7 @@ copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_ProxyProtocol.dll" "./" +copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index bd94056..7d57092 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -15,6 +15,7 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIAddr.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_ProxyProtocol.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index 1fd9501..fedafe9 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -15,6 +15,7 @@ copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_ProxyProtocol.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index 3e304e9..820003d 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -15,6 +15,7 @@ copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_ProxyProtocol.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file From e7e07f7cc3e439b6cf67b338da6379275e05ad0b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Feb 2026 16:43:50 +0800 Subject: [PATCH 06/14] added:reload configure for http --- .../XEngine_ServiceApp/XEngine_HTTPTask.cpp | 54 +++++-------------- 1 file changed, 13 insertions(+), 41 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp index 4b022f3..849ee49 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp @@ -77,7 +77,7 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR XCHAR tszKey[128] = {}; XCHAR tszValue[128] = {}; LPCXSTR lpszAPICreate = _X("create"); - LPCXSTR lpszAPIQuery = _X("query"); + LPCXSTR lpszAPIReload = _X("reload"); //获得函数名 BaseLib_String_GetKeyValue(pptszList[0], "=", tszKey, tszValue); //得到客户端请求的方法 @@ -86,67 +86,39 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR if (0 == _tcsxnicmp(lpszAPICreate, tszValue, _tcsxlen(lpszAPICreate))) { //http://127.0.0.1:5501/api?function=create&token=123123 - bool bCloud = false; - XNETHANDLE xhToken = 0; - - for (int i = 1; i < nListCount; i++) - { - memset(tszKey, 0, sizeof(tszKey)); - memset(tszValue, 0, sizeof(tszValue)); - - BaseLib_String_GetKeyValue(pptszList[i], "=", tszKey, tszValue); - - if (0 == _tcsxncmp(tszKey, "token", 5)) - { - xhToken = _ttxoll(tszValue); - } - else if (0 == _tcsxncmp(tszKey, "cloud", 5)) - { - bCloud = _ttxoi(tszValue); - } - } } else { ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,发送POST请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,发送POST请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); } } else if (0 == _tcsxnicmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodGet))) { - if (0 == _tcsxnicmp(lpszAPIQuery, tszValue, _tcsxlen(lpszAPIQuery))) + if (0 == _tcsxnicmp(lpszAPIReload, tszValue, _tcsxlen(lpszAPIReload))) { - //http://127.0.0.1:5501/api?function=stop&token=123123&value=0 - for (int i = 1; i < nListCount; i++) - { - memset(tszKey, 0, sizeof(tszKey)); - memset(tszValue, 0, sizeof(tszValue)); - - BaseLib_String_GetKeyValue(pptszList[i], "=", tszKey, tszValue); - - if (0 == _tcsxncmp(tszKey, "exist", 5)) - { - - } - else if (0 == _tcsxncmp(tszKey, "pf", 2)) - { - - } - } + delete st_ProxyConfig.pStl_ListDestAddr; + delete st_ProxyConfig.pStl_ListRuleAddr; + //http://127.0.0.1:5400/api?function=reload&type=0 + LPCXSTR lpszConfigProxy = _X("./XEngine_Config/XEngine_ProxyConfig.json"); + ModuleConfigure_Json_ProxyFile(lpszConfigProxy, &st_ProxyConfig); + ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,发送重载配置请求成功"), lpszClientAddr); } else { ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,发送GET请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,发送GET请求:%s,处理失败,不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); } } else { ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("客户端:%s,协议错误"), lpszClientAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,协议错误"), lpszClientAddr); } return true; } \ No newline at end of file From 444197544f2c972a1c2bafaac99c26e1859bf3e1 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Feb 2026 14:26:45 +0800 Subject: [PATCH 07/14] fixed:build error added:get proxy rule for http get --- .../ModuleProtocol_Define.h | 31 +++++++++- .../ModuleProtocol_Packet.cpp | 60 +++++++++++++++++++ .../ModuleProtocol_Packet.h | 1 + .../XEngine_ModuleProtocol.def | 1 + XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 ++ XEngine_Source/XEngine_ServiceApp/Makefile | 2 +- .../XEngine_ServiceApp/XEngine_HTTPTask.cpp | 17 +++++- 7 files changed, 111 insertions(+), 5 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index 9b4d585..b233daf 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -80,11 +80,40 @@ extern "C" bool ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLe 备注: *********************************************************************/ extern "C" bool ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, SESSION_FORWARD * **pppSt_ListUser, int nCount); +/******************************************************************** +函数名称:ModuleProtocol_Packet_GetProxyRuleList +函数功能:代理转发规则列表信息 + 参数.一:ptszMSGBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出封装好的包 + 参数.二:pInt_MSGLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出封装大小 + 参数.三:pppSt_IPCount + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要处理的列表 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_GetProxyRuleList(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, SESSION_IPCONUT*** pppSt_IPCount, int nListCount); /************************************************************************/ /* 解析导出函数 */ /************************************************************************/ /******************************************************************** -函数名称:ModuleProtocol_Packet_ForwardList +函数名称:ModuleProtocol_Parse_ForwardBind 函数功能:转发协议封装请求 参数.一:lpszMsgBuffer In/Out:In diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index ec40ced..b158cc0 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -144,4 +144,64 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuf memcpy(ptszMsgBuffer, pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); memcpy(ptszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString().c_str(), pSt_ProtocolHdr->unPacketSize); return true; +} +/******************************************************************** +函数名称:ModuleProtocol_Packet_GetProxyRuleList +函数功能:代理转发规则列表信息 + 参数.一:ptszMSGBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出封装好的包 + 参数.二:pInt_MSGLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出封装大小 + 参数.三:pppSt_IPCount + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要处理的列表 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_GetProxyRuleList(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, SESSION_IPCONUT*** pppSt_IPCount, int nListCount) +{ + Protocol_IsErrorOccur = false; + + if ((NULL == ptszMSGBuffer) || (NULL == pInt_MSGLen)) + { + Protocol_IsErrorOccur = true; + Protocol_dwErrorCode = ERROR_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonArray; + Json::StreamWriterBuilder st_JsonWBuilder; + + for (int i = 0; i < nListCount; i++) + { + Json::Value st_JsonObject; + Json::Value st_JsonSub; + st_JsonObject["nIPCount"] = (*pppSt_IPCount)[i]->nIPCount; + st_JsonObject["tszIPAddr"] = (*pppSt_IPCount)[i]->tszIPAddr; + st_JsonArray.append(st_JsonObject); + } + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["Count"] = nListCount; + st_JsonRoot["Array"] = st_JsonArray; + + st_JsonWBuilder["emitUTF8"] = true; + *pInt_MSGLen = (int)Json::writeString(st_JsonWBuilder, st_JsonRoot).length(); + memcpy(ptszMSGBuffer, Json::writeString(st_JsonWBuilder, st_JsonRoot).c_str(), *pInt_MSGLen); + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 3db395b..5d1e2b0 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -19,5 +19,6 @@ class CModuleProtocol_Packet public: bool ModuleProtocol_Packet_Comm(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode = 0, LPCXSTR lpszMSGBuffer = _X("success")); bool ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, SESSION_FORWARD*** pppSt_ListUser, int nCount); + bool ModuleProtocol_Packet_GetProxyRuleList(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, SESSION_IPCONUT*** pppSt_IPCount, int nListCount); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 2a1c548..c5c1cf9 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -5,5 +5,6 @@ EXPORTS ModuleProtocol_Packet_Comm ModuleProtocol_Packet_ForwardList + ModuleProtocol_Packet_GetProxyRuleList ModuleProtocol_Parse_ForwardBind \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index f4f3043..ab467ab 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -39,6 +39,10 @@ extern "C" bool ModuleProtocol_Packet_ForwardList(XCHAR * ptszMsgBuffer, int* pI { return m_ProtocolPacket.ModuleProtocol_Packet_ForwardList(ptszMsgBuffer, pInt_Len, pSt_ProtocolHdr, pppSt_ListUser, nCount); } +extern "C" bool ModuleProtocol_Packet_GetProxyRuleList(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, SESSION_IPCONUT*** pppSt_IPCount, int nListCount) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_GetProxyRuleList(ptszMSGBuffer, pInt_MSGLen, pppSt_IPCount, nListCount); +} /************************************************************************/ /* 解析导出函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ServiceApp/Makefile b/XEngine_Source/XEngine_ServiceApp/Makefile index baa0c34..eb54db7 100644 --- a/XEngine_Source/XEngine_ServiceApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/Makefile @@ -3,7 +3,7 @@ PLATVER = LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_Module/jsoncpp LOADSO = -L ../XEngine_ModuleConfigure -L ../XEngine_ModuleSession -L ../XEngine_ModuleProtocol -L ../XEngine_ModuleHelp \ -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_Cryption -lXEngine_ManagePool -lXClient_Socket -lXClient_APIHelp -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lNetHelp_APIHelp -lNetHelp_APIAddr -lNetHelp_XSocket \ +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_Cryption -lXEngine_ManagePool -lXClient_Socket -lXClient_APIHelp -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lRfcComponents_HttpProtocol -lNetHelp_APIHelp -lNetHelp_APIAddr -lNetHelp_XSocket \ -lXEngine_ModuleConfigure -lXEngine_ModuleSession -lXEngine_ModuleProtocol -lXEngine_ModuleHelp \ -ljsoncpp -lXEngine_InfoReport LIBEX = diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp index 849ee49..4cf373e 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp @@ -76,16 +76,16 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR } XCHAR tszKey[128] = {}; XCHAR tszValue[128] = {}; - LPCXSTR lpszAPICreate = _X("create"); + LPCXSTR lpszAPIProxyRule = _X("proxyrule"); LPCXSTR lpszAPIReload = _X("reload"); //获得函数名 BaseLib_String_GetKeyValue(pptszList[0], "=", tszKey, tszValue); //得到客户端请求的方法 if (0 == _tcsxnicmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPost))) { - if (0 == _tcsxnicmp(lpszAPICreate, tszValue, _tcsxlen(lpszAPICreate))) + if (0 == _tcsxnicmp(lpszAPIProxyRule, tszValue, _tcsxlen(lpszAPIProxyRule))) { - //http://127.0.0.1:5501/api?function=create&token=123123 + //http://127.0.0.1:5400/api?function=get&value=proxyrule } else { @@ -107,6 +107,17 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,发送重载配置请求成功"), lpszClientAddr); } + else if (0 == _tcsxnicmp(lpszAPIProxyRule, tszValue, _tcsxlen(lpszAPIProxyRule))) + { + //http://127.0.0.1:5400/api?function=proxyrule + int nListCount = 0; + SESSION_IPCONUT** ppSt_IPCountList; + ModuleSession_ProxyRule_GetList(&ppSt_IPCountList, &nListCount); + ModuleProtocol_Packet_GetProxyRuleList(tszSDBuffer, &nSDLen, &ppSt_IPCountList, nListCount); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + BaseLib_Memory_Free((XPPPMEM)&ppSt_IPCountList, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,发送获取转发规则列表请求处理成功"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + } else { ModuleProtocol_Packet_Comm(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROXY_PROTOCOL_NOTSUPPORT, _X("unknow protocol")); From 41ebf1d4bb79f9e34a6c1284a57d95ac34845f30 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Feb 2026 15:34:46 +0800 Subject: [PATCH 08/14] added:http verification support --- XEngine_Release/XEngine_Config/HttpCode.types | 108 ++++++++++++++++++ XEngine_Release/XEngine_Config/HttpMime.types | 96 ++++++++++++++++ .../XEngine_Config/XEngine_Config.json | 74 ++++++------ XEngine_Source/XEngine.sln | 15 +++ .../ModuleConfig_Define.h | 7 ++ .../ModuleConfig_Error.h | 3 +- .../ModuleConfigure_Json.cpp | 13 +++ .../XEngine_ServiceApp/XEngine_HTTPTask.cpp | 62 ++++++++++ .../XEngine_ServiceApp/XEngine_Hdr.h | 8 ++ .../XEngine_ServiceApp/XEngine_ServiceApp.cpp | 8 ++ 10 files changed, 359 insertions(+), 35 deletions(-) create mode 100644 XEngine_Release/XEngine_Config/HttpCode.types create mode 100644 XEngine_Release/XEngine_Config/HttpMime.types diff --git a/XEngine_Release/XEngine_Config/HttpCode.types b/XEngine_Release/XEngine_Config/HttpCode.types new file mode 100644 index 0000000..26afa6f --- /dev/null +++ b/XEngine_Release/XEngine_Config/HttpCode.types @@ -0,0 +1,108 @@ +//CodeMessage +100:HTTP/1.1 100 Continue +101:HTTP/1.1 101 Switching Protocols +102:HTTP/1.1 102 Processing +103:HTTP/1.1 103 Early Hints +110:HTTP/1.1 110 (obsoleted) Response is Stale +111:HTTP/1.1 111 (obsoleted) Revalidation Failed +112:HTTP/1.1 112 (obsoleted) Disconnected Operation +113:HTTP/1.1 113 (obsoleted) Heuristic Expiration +199:HTTP/1.1 199 (obsoleted) Miscellaneous Warning +//CodeSuccess +200:HTTP/1.1 200 OK +201:HTTP/1.1 201 Created +202:HTTP/1.1 202 Accepted +203:HTTP/1.1 203 Non-Authoritative Information +204:HTTP/1.1 204 No Content +205:HTTP/1.1 205 Reset Content +206:HTTP/1.1 206 Partial Content +207:HTTP/1.1 207 Multi-Status +208:HTTP/1.1 208 Already Reported +214:HTTP/1.1 214 (obsoleted) Transformation Applied +226:HTTP/1.1 226 IM Used +299:HTTP/1.1 299 (obsoleted) Miscellaneous Persistent Warning +//CodeRedirect +300:HTTP/1.1 300 Multiple Choices +301:HTTP/1.1 301 Moved Permanently +302:HTTP/1.1 302 Moved temporarily +303:HTTP/1.1 303 See Other +304:HTTP/1.1 304 Not Modified +305:HTTP/1.1 305 Use Proxy +306:HTTP/1.1 306 Switch Proxy +307:HTTP/1.1 307 Temporary Redirect +308:HTTP/1.1 308 Permanent Redirect +//CodeRequestFail +400:HTTP/1.1 400 Bad Request +401:HTTP/1.1 401 Unauthorized +402:HTTP/1.1 402 Payment Required +403:HTTP/1.1 403 Forbidden +404:HTTP/1.1 404 Not Found +405:HTTP/1.1 405 Method Not Allowed +406:HTTP/1.1 406 Not Acceptable +407:HTTP/1.1 407 Proxy Authentication Required +408:HTTP/1.1 408 Request Timeout +409:HTTP/1.1 409 Conflict +410:HTTP/1.1 410 Gone +411:HTTP/1.1 411 Length Required +412:HTTP/1.1 412 Precondition Failed +413:HTTP/1.1 413 Request Entity Too Large +414:HTTP/1.1 414 Request-URI Too Long +415:HTTP/1.1 415 Unsupported Media Type +416:HTTP/1.1 416 Requested Range Not Satisfiable +417:HTTP/1.1 417 Expectation Failed +418:HTTP/1.1 418 I'm a teapot +419:HTTP/1.1 419 (Unofficial) Page Expired +420:HTTP/1.1 420 (Unofficial) Method Failure +421:HTTP/1.1 421 too many connections +422:HTTP/1.1 422 Unprocessable Entity +423:HTTP/1.1 423 Locked +424:HTTP/1.1 424 Failed Dependency +425:HTTP/1.1 425 Unordered Collection +426:HTTP/1.1 426 Upgrade Required +428:HTTP/1.1 428 Precondition Required +429:HTTP/1.1 429 Too Many Requests +430:HTTP/1.1 430 (Unofficial) Request Header Fields Too Large +431:HTTP/1.1 431 Request Header Fields Too Large +440:HTTP/1.1 440 (IIS) Login Time-out +444:HTTP/1.1 444 (nginx) No Response +449:HTTP/1.1 449 (IIS) Retry With +450:HTTP/1.1 450 (Unofficial) Blocked by Windows Parental Controls +451:HTTP/1.1 451 (IIS) Redirect +460:HTTP/1.1 460 (AWS) +463:HTTP/1.1 463 (AWS) +494:HTTP/1.1 494 (nginx) Request header too large +495:HTTP/1.1 495 (nginx) SSL Certificate Error +496:HTTP/1.1 496 (nginx) SSL Certificate Required +497:HTTP/1.1 497 (nginx) HTTP Request Sent to HTTPS Port +498:HTTP/1.1 498 (Unofficial) Invalid Token +499:HTTP/1.1 499 (nginx) Token Required +//CodeServerFail +500:HTTP/1.1 500 Internal Server Error +501:HTTP/1.1 501 Not Implemented +502:HTTP/1.1 502 Bad Gateway +503:HTTP/1.1 503 Service Unavailable +504:HTTP/1.1 504 Gateway Timeout +505:HTTP/1.1 505 HTTP Version Not Supported +506:HTTP/1.1 506 Variant Also Negotiates +507:HTTP/1.1 507 Insufficient Storage +508:HTTP/1.1 508 Loop Detected +509:HTTP/1.1 509 (Unofficial) Bandwidth Limit Exceeded +510:HTTP/1.1 510 Not Extended +511:HTTP/1.1 511 Network Authentication Required +520:HTTP/1.1 520 (Cloudflare) Web Server Returned an Unknown Error +521:HTTP/1.1 521 (Cloudflare) Web Server Is Down +522:HTTP/1.1 522 (Cloudflare) Connection Timed Out +523:HTTP/1.1 523 (Cloudflare) Origin Is Unreachable +524:HTTP/1.1 524 (Cloudflare) A Timeout Occurred +525:HTTP/1.1 525 (Cloudflare) SSL Handshake Failed +526:HTTP/1.1 526 (Cloudflare) Invalid SSL Certificate +527:HTTP/1.1 527 (Cloudflare) Railgun Error +529:HTTP/1.1 529 (Unofficial) Site is overloaded +530:HTTP/1.1 530 (Cloudflare) Site is frozen +561:HTTP/1.1 561 (AWS) Unauthorized +598:HTTP/1.1 598 (Unofficial) Network read timeout error +599:HTTP/1.1 599 (Unofficial) Network Connect Timeout Error +600:HTTP/1.1 600 Unparseable Response Headers +//XEngine Code +1001:HTTP/1.1 1001 XEngine Auth Ok +1002:HTTP/1.1 1002 XEngine Auth Failed \ No newline at end of file diff --git a/XEngine_Release/XEngine_Config/HttpMime.types b/XEngine_Release/XEngine_Config/HttpMime.types new file mode 100644 index 0000000..d563ff3 --- /dev/null +++ b/XEngine_Release/XEngine_Config/HttpMime.types @@ -0,0 +1,96 @@ +text/html html htm shtml +text/css css +text/xml xml +text/mathml mml +text/plain txt +text/vnd.sun.j2me.app-descriptor jad +text/vnd.wap.wml wml +text/x-component htc + +image/gif gif +image/jpeg jpeg jpg +image/avif avif +image/png png +image/tiff tif tiff +image/webp webp +image/vnd.wap.wbmp wbmp +image/svg+xml svg svgz +image/x-icon ico +image/x-jng jng +image/x-ms-bmp bmp + +font/woff woff +font/woff2 woff2 + +application/pdf pdf + +application/vnd.google-earth.kml+xml kml +application/vnd.google-earth.kmz kmz + +application/msword doc +application/vnd.ms-excel xls +application/vnd.ms-powerpoint ppt +application/vnd.ms-fontobject eot +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.text odt +application/vnd.openxmlformats-officedocument.wordprocessingml.document docx +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx + +application/javascript js +application/atom+xml atom +application/rss+xml rss +application/java-archive jar war ear +application/json json +application/mac-binhex40 hqx +application/postscript ps eps ai +application/rtf rtf +application/vnd.apple.mpegurl m3u8 +application/vnd.wap.wmlc wmlc +application/wasm wasm + +application/x-7z-compressed 7z +application/x-cocoa cco +application/x-java-archive-diff jardiff +application/x-java-jnlp-file jnlp +application/x-makeself run +application/x-perl pl pm +application/x-pilot prc pdb +application/x-rar-compressed rar +application/x-redhat-package-manager rpm +application/x-sea sea +application/x-shockwave-flash swf +application/x-stuffit sit +application/x-tcl tcl tk +application/x-x509-ca-cert der pem crt +application/x-xpinstall xpi +application/xhtml+xml xhtml +application/xspf+xml xspf +application/zip zip + +application/octet-stream bin exe dll +application/octet-stream deb +application/octet-stream dmg +application/octet-stream iso img +application/octet-stream msi msp msm + +audio/midi mid midi kar +audio/mpeg mp3 +audio/ogg ogg +audio/x-m4a m4a +audio/x-realaudio ra + +video/3gpp 3gpp 3gp +video/mp2t ts +video/mp4 mp4 +video/mpeg mpeg mpg +video/quicktime mov +video/webm webm +video/x-flv flv +video/x-m4v m4v +video/x-mng mng +video/x-ms-asf asx asf +video/x-ms-wmv wmv +video/x-msvideo avi \ No newline at end of file diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 1786808..1fa6fb8 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -1,36 +1,42 @@ { - "tszIPAddr": "192.168.1.12", - "bDeamon": false, - "nHttpPort":5400, - "nSocksPort": 5401, - "nTunnelPort": 5402, - "nForwardPort": 5403, - "nProxyPort": 5404, - "XMax": { - "nMaxClient": 10000, - "nMaxQueue": 10000, - "nIOThread": 4, - "nHTTPThread": 2, - "nForwardThread": 4 - }, - "XTime": { - "nTimeCheck": 3, - "nHttpTimeout": 5, - "nSocksTimeout": 5, - "nTunnelTimeout": 5, - "nForwardTimeout": 5, - "nProxyTimeout": 5 - }, - "XLog": { - "MaxSize": 1024000, - "MaxCount": 10, - "LogLeave": 32, - "LogType": 17, - "tszLogFile": "./XEngine_Log/XEngine_ProxyServiceApp.log" - }, - "XReport":{ - "bEnable":true, - "tszAPIUrl":"http://app.xyry.org:5501/api?function=machine", - "tszServiceName":"XEngine_ProxyServer" - } + "tszIPAddr": "192.168.1.12", + "bDeamon": false, + "nHttpPort": 5400, + "nSocksPort": 5401, + "nTunnelPort": 5402, + "nForwardPort": 5403, + "nProxyPort": 5404, + "XMax": { + "nMaxClient": 10000, + "nMaxQueue": 10000, + "nIOThread": 4, + "nHTTPThread": 2, + "nForwardThread": 4 + }, + "XTime": { + "nTimeCheck": 3, + "nHttpTimeout": 5, + "nSocksTimeout": 5, + "nTunnelTimeout": 5, + "nForwardTimeout": 5, + "nProxyTimeout": 5 + }, + "XLog": { + "MaxSize": 1024000, + "MaxCount": 10, + "LogLeave": 32, + "LogType": 17, + "tszLogFile": "./XEngine_Log/XEngine_ProxyServiceApp.log" + }, + "XVerification": { + "tszUserName": "xyry", + "tszUserPass": "11", + "nVType": 1, + "bEnable": false + }, + "XReport": { + "bEnable": true, + "tszAPIUrl": "http://app.xyry.org:5501/api?function=machine", + "tszServiceName": "XEngine_ProxyServer" + } } \ No newline at end of file diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index 8b87e47..5994f3d 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -41,6 +41,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "..\..\XEngine_APIService\XEngine_Source\XEngine_DependLibrary\XEngine_OPenSource\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -135,6 +137,18 @@ Global {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x64.Build.0 = Release|x64 {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.ActiveCfg = Release|Win32 {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.Build.0 = Release|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.Build.0 = Debug|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.ActiveCfg = Debug|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.Build.0 = Debug|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.ActiveCfg = Debug|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.Build.0 = Debug|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.ActiveCfg = Release|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.Build.0 = Release|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.ActiveCfg = Release|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.Build.0 = Release|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.ActiveCfg = Release|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -142,6 +156,7 @@ Global GlobalSection(NestedProjects) = preSolution {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {91EFAD20-FF05-4CA9-9472-7CEE32340749} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {91EFAD20-FF05-4CA9-9472-7CEE32340749} + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {91EFAD20-FF05-4CA9-9472-7CEE32340749} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE} diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index 1e0a4c2..e8e2451 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -48,6 +48,13 @@ typedef struct tag_XEngine_ServiceConfig int nLogType; //日志类型 }st_XLog; struct + { + XCHAR tszUserName[XPATH_MAX]; + XCHAR tszUserPass[XPATH_MAX]; + int nVType; + bool bEnable; + }st_XVerifcation; + struct { bool bEnable; XCHAR tszAPIUrl[XPATH_MAX]; diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h index 714f03b..9ff051a 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h @@ -18,4 +18,5 @@ #define ERROR_MODULE_CONFIGURE_JSON_XLOG 0xA0006 //读取XLOG配置失败 #define ERROR_MODULE_CONFIGURE_JSON_XVER 0xA0008 //没有版本配置 #define ERROR_MODULE_CONFIGURE_JSON_XREPORT 0xA0009 //没有报告配置 -#define ERROR_MODULE_CONFIGURE_JSON_XPROXY 0xA0010 //没有代理配置 \ No newline at end of file +#define ERROR_MODULE_CONFIGURE_JSON_XPROXY 0xA0010 //没有代理配置 +#define ERROR_MODULE_CONFIGURE_JSON_XVERICATION 0xA0011 //没有验证配置 \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index f9bf54e..70bd524 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -120,6 +120,19 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XLog.nLogType = st_JsonXLog["LogType"].asInt(); _tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["tszLogFile"].asCString()); + if (st_JsonRoot["XVerification"].empty() || (4 != st_JsonRoot["XVerification"].size())) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XVERICATION; + return false; + } + Json::Value st_JsonXVerifcation = st_JsonRoot["XVerification"]; + + pSt_ServerConfig->st_XVerifcation.bEnable = st_JsonXVerifcation["bEnable"].asBool(); + pSt_ServerConfig->st_XVerifcation.nVType = st_JsonXVerifcation["nVType"].asInt(); + _tcsxcpy(pSt_ServerConfig->st_XVerifcation.tszUserName, st_JsonXVerifcation["tszUserName"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XVerifcation.tszUserPass, st_JsonXVerifcation["tszUserPass"].asCString()); + if (st_JsonRoot["XReport"].empty() || (3 != st_JsonRoot["XReport"].size())) { Config_IsErrorOccur = true; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp index 4cf373e..70b0661 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp @@ -55,6 +55,68 @@ XHTHREAD XCALLBACK XEngine_HTTPTask_Thread(XPVOID lParam) } return 0; } + +bool HTTPTask_TastPost_Verification(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, XCHAR** pptszHDRList, int nHDRCount) +{ + //http验证 + int nVType = 0; + int nSDLen = 0; + XCHAR tszSDBuffer[XPATH_MAX] = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; + + st_HDRParam.nHttpCode = 401; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; + //打包验证信息 + int nHDRLen = 0; + XCHAR tszHDRBuffer[XPATH_MAX] = {}; + if (1 == st_ServiceConfig.st_XVerifcation.nVType) + { + Verification_HTTP_BasicServerPacket(tszHDRBuffer, &nHDRLen); + } + else + { + XCHAR tszNonceStr[64] = {}; + XCHAR tszOpaqueStr[64] = {}; + Verification_HTTP_DigestServerPacket(tszHDRBuffer, &nHDRLen, tszNonceStr, tszOpaqueStr); + } + //后去验证方法 + if (!Verification_HTTP_GetType(pptszHDRList, nHDRCount, &nVType)) + { + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证方式:%d,错误:%lX"), lpszClientAddr, st_ServiceConfig.st_XVerifcation.nVType, Verification_GetLastError()); + return false; + } + //验证方式是否一致 + if (st_ServiceConfig.st_XVerifcation.nVType != nVType) + { + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证方式错误,请求:%d,需求:%d"), lpszClientAddr, nVType, st_ServiceConfig.st_XVerifcation.nVType); + return false; + } + bool bRet = false; + if (1 == nVType) + { + bRet = Verification_HTTP_Basic(st_ServiceConfig.st_XVerifcation.tszUserName, st_ServiceConfig.st_XVerifcation.tszUserPass, pptszHDRList, nHDRCount); + } + else if (2 == nVType) + { + bRet = Verification_HTTP_Digest(st_ServiceConfig.st_XVerifcation.tszUserName, st_ServiceConfig.st_XVerifcation.tszUserPass, pSt_HTTPParam->tszHttpMethod, pptszHDRList, nHDRCount); + } + + if (!bRet) + { + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_CLIENT_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证处理错误,可能用户密码登信息不匹配,类型:%d"), lpszClientAddr, nVType); + return false; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,HTTP验证类型:%d 通过"), lpszClientAddr, nVType); + return true; +} + bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 0; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h index f742f0a..a7c1e0d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h @@ -55,6 +55,8 @@ using namespace std; #include "../XEngine_UserProtocol.h" #include "../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" #include "../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" +#include "../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" #include "../XEngine_ModuleConfigure/ModuleConfig_Define.h" #include "../XEngine_ModuleConfigure/ModuleConfig_Error.h" #include "../XEngine_ModuleSession/ModuleSession_Define.h" @@ -142,18 +144,21 @@ extern XENGINE_PROXYCONFIG st_ProxyConfig; #ifdef _DEBUG #ifdef _M_X64 #pragma comment(lib,"../x64/Debug/XEngine_InfoReport.lib") +#pragma comment(lib,"../x64/Debug/XEngine_Verification.lib") #pragma comment(lib,"../x64/Debug/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../x64/Debug/XEngine_ModuleSession.lib") #pragma comment(lib,"../x64/Debug/XEngine_ModuleProtocol.lib") #pragma comment(lib,"../x64/Debug/XEngine_ModuleHelp.lib") #elif _M_ARM64 #pragma comment(lib,"../ARM64/Debug/XEngine_InfoReport.lib") +#pragma comment(lib,"../ARM64/Debug/XEngine_Verification.lib") #pragma comment(lib,"../ARM64/Debug/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../ARM64/Debug/XEngine_ModuleSession.lib") #pragma comment(lib,"../ARM64/Debug/XEngine_ModuleProtocol.lib") #pragma comment(lib,"../ARM64/Debug/XEngine_ModuleHelp.lib") #elif _M_IX86 #pragma comment(lib,"../Debug/XEngine_InfoReport.lib") +#pragma comment(lib,"../Debug/XEngine_Verification.lib") #pragma comment(lib,"../Debug/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../Debug/XEngine_ModuleSession.lib") #pragma comment(lib,"../Debug/XEngine_ModuleProtocol.lib") @@ -162,18 +167,21 @@ extern XENGINE_PROXYCONFIG st_ProxyConfig; #else #ifdef _M_X64 #pragma comment(lib,"../x64/Release/XEngine_InfoReport.lib") +#pragma comment(lib,"../x64/Release/XEngine_Verification.lib") #pragma comment(lib,"../x64/Release/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../x64/Release/XEngine_ModuleSession.lib") #pragma comment(lib,"../x64/Release/XEngine_ModuleProtocol.lib") #pragma comment(lib,"../x64/Release/XEngine_ModuleHelp.lib") #elif _M_ARM64 #pragma comment(lib,"../ARM64/Release/XEngine_InfoReport.lib") +#pragma comment(lib,"../ARM64/Release/XEngine_Verification.lib") #pragma comment(lib,"../ARM64/Release/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../ARM64/Release/XEngine_ModuleSession.lib") #pragma comment(lib,"../ARM64/Release/XEngine_ModuleProtocol.lib") #pragma comment(lib,"../ARM64/Release/XEngine_ModuleHelp.lib") #elif _M_IX86 #pragma comment(lib,"../Release/XEngine_InfoReport.lib") +#pragma comment(lib,"../Release/XEngine_Verification.lib") #pragma comment(lib,"../Release/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../Release/XEngine_ModuleSession.lib") #pragma comment(lib,"../Release/XEngine_ModuleProtocol.lib") diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp index 08141ce..1fba077 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp @@ -167,6 +167,14 @@ int main(int argc, char** argv) signal(SIGABRT, ServiceApp_Stop); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化信号量处理程序成功")); + if (st_ServiceConfig.st_XVerifcation.bEnable) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启用HTTP验证,验证模式为:%d"), st_ServiceConfig.st_XVerifcation.nVType); + } + else + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,HTTP验证服务没有启用")); + } if (st_ServiceConfig.nHttpPort > 0) { //HTTP包处理器 From 8250dd579b4e1fd9d6bf0603c860e6fd22843674 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Feb 2026 16:45:11 +0800 Subject: [PATCH 09/14] update:make file --- XEngine_Source/Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index 051bac6..8437ab2 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -5,6 +5,7 @@ FLAGS= #要编译的模块 THIRDPART_MODULE_JSONCPP = ./XEngine_DependLibrary/XEngine_Module/jsoncpp THIRDPART_MODULE_REPORT = ./XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport +THIRDPART_MODULE_VERIFICATION = ./XEngine_DependLibrary/XEngine_Module/XEngine_Verification MODULE_CONFIGURE_PATH = ./XEngine_ModuleConfigure MODULE_PROTOCOL_PATH = ./XEngine_ModuleProtocol @@ -18,7 +19,7 @@ else ifeq ($(PLATFORM),mac) FILEEXT = dylib endif -XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so \ +XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Verification.so \ libXEngine_ModuleConfigure.so libXEngine_ModuleProtocol.so libXEngine_ModuleSession.so libXEngine_ModuleHelp.so \ XEngine_ServiceApp.exe @@ -37,6 +38,13 @@ ifeq ($(FLAGS), InstallAll) else make -C $(THIRDPART_MODULE_REPORT) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) endif +libXEngine_Verification.so: +ifeq ($(FLAGS), InstallAll) + cp $(THIRDPART_MODULE_VERIFICATION)/libXEngine_Verification.$(FILEEXT) ../XEngine_Release/ +else + make -C $(THIRDPART_MODULE_VERIFICATION) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) +endif + libXEngine_ModuleConfigure.so: make -C $(MODULE_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) libXEngine_ModuleProtocol.so: From 9bd26d320e27154697a40d8ce2011bb891b9fc39 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Feb 2026 16:51:25 +0800 Subject: [PATCH 10/14] update:make file to fixed build --- XEngine_Source/XEngine_ServiceApp/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/Makefile b/XEngine_Source/XEngine_ServiceApp/Makefile index eb54db7..dd838f5 100644 --- a/XEngine_Source/XEngine_ServiceApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/Makefile @@ -2,10 +2,10 @@ CC = g++ -Wall -std=c++20 PLATVER = LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_Module/jsoncpp LOADSO = -L ../XEngine_ModuleConfigure -L ../XEngine_ModuleSession -L ../XEngine_ModuleProtocol -L ../XEngine_ModuleHelp \ - -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport + -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L .../XEngine_DependLibrary/XEngine_Module/XEngine_Verification LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_Cryption -lXEngine_ManagePool -lXClient_Socket -lXClient_APIHelp -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lRfcComponents_HttpProtocol -lNetHelp_APIHelp -lNetHelp_APIAddr -lNetHelp_XSocket \ -lXEngine_ModuleConfigure -lXEngine_ModuleSession -lXEngine_ModuleProtocol -lXEngine_ModuleHelp \ - -ljsoncpp -lXEngine_InfoReport + -ljsoncpp -lXEngine_InfoReport -lXEngine_Verification LIBEX = OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_SocksTask.o XEngine_TunnelTask.o XEngine_ForwardTask.o XEngine_ProxyTask.o XEngine_ServiceApp.o From a3fed49d7d3506d4364c51f84ec609cdd4df662e Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Feb 2026 17:27:56 +0800 Subject: [PATCH 11/14] fixed:make file --- XEngine_Source/XEngine_ServiceApp/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_ServiceApp/Makefile b/XEngine_Source/XEngine_ServiceApp/Makefile index dd838f5..44a8ebd 100644 --- a/XEngine_Source/XEngine_ServiceApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/Makefile @@ -2,7 +2,7 @@ CC = g++ -Wall -std=c++20 PLATVER = LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_Module/jsoncpp LOADSO = -L ../XEngine_ModuleConfigure -L ../XEngine_ModuleSession -L ../XEngine_ModuleProtocol -L ../XEngine_ModuleHelp \ - -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L .../XEngine_DependLibrary/XEngine_Module/XEngine_Verification + -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L ../XEngine_DependLibrary/XEngine_Module/XEngine_Verification LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_Cryption -lXEngine_ManagePool -lXClient_Socket -lXClient_APIHelp -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lRfcComponents_HttpProtocol -lNetHelp_APIHelp -lNetHelp_APIAddr -lNetHelp_XSocket \ -lXEngine_ModuleConfigure -lXEngine_ModuleSession -lXEngine_ModuleProtocol -lXEngine_ModuleHelp \ -ljsoncpp -lXEngine_InfoReport -lXEngine_Verification From 1147ec128b47342f590d2824c1aa7f9413981ca5 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 9 Feb 2026 10:30:47 +0800 Subject: [PATCH 12/14] modify:enable to http verification --- XEngine_Source/XEngine.sln | 6 +++++- XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index 5994f3d..a9f27f1 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -8,6 +8,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_ServiceApp", "XEngi {237AF017-9AD2-44D8-A6C4-ECDEF7674FF2} = {237AF017-9AD2-44D8-A6C4-ECDEF7674FF2} {7A864141-B878-4A5E-B2A1-D5BB4CF58FCB} = {7A864141-B878-4A5E-B2A1-D5BB4CF58FCB} {9512A610-7197-4522-9AEF-1486619C99FE} = {9512A610-7197-4522-9AEF-1486619C99FE} + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {F54F152C-594F-4465-A44E-2DB915B39760} = {F54F152C-594F-4465-A44E-2DB915B39760} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} @@ -41,7 +42,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "..\..\XEngine_APIService\XEngine_Source\XEngine_DependLibrary\XEngine_OPenSource\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" + ProjectSection(ProjectDependencies) = postProject + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp index 70b0661..ad474c6 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HTTPTask.cpp @@ -136,6 +136,15 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); return false; } + //http验证 + if (st_ServiceConfig.st_XVerifcation.bEnable) + { + //全面验证 + if (!HTTPTask_TastPost_Verification(pSt_HTTPParam, lpszClientAddr, pptszListHdr, nHdrCount)) + { + return false; + } + } XCHAR tszKey[128] = {}; XCHAR tszValue[128] = {}; LPCXSTR lpszAPIProxyRule = _X("proxyrule"); From 488f05ca8c4cf7db20fa5f3b4c50dec89d491d19 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 9 Feb 2026 10:52:00 +0800 Subject: [PATCH 13/14] update:read me and document --- README.en.md | 1 + README.md | 1 + XEngine_Docment/Docment_en.docx | Bin 117255 -> 120286 bytes XEngine_Docment/Docment_zh.docx | Bin 116911 -> 119288 bytes 4 files changed, 2 insertions(+) diff --git a/README.en.md b/README.en.md index 0907c36..333579a 100644 --- a/README.en.md +++ b/README.en.md @@ -24,6 +24,7 @@ this software support following features 6. load balance 7. custom cert proxy protocol(planning) 8. multilevel proxy(planning) +9. HTTP api management ## install diff --git a/README.md b/README.md index f016dea..2651092 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ c c++ Socks5 Proxy Service,HTTP Tunnel Proxy Service,tcp forward control service 6. 负载均衡 7. 自定义证书代理协议(planning) 8. 多级代理(planning) +9. HTTP 接口管理 ## 安装教程 diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index f6af63922100a3731232e1ca0632588b9190ce89..0f6965a0cdd2212cbd789039f2b09a8351297ec2 100644 GIT binary patch delta 103005 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 C_E+No delta 100100 zcmV)mK%T$es|Saa2e2mxfA;F@YR@nL0N-i?01*HH0C#V4WG`fIV|8t1ZgehqZEWma zTW{k^a()kx|3LU92{0pfvzs>~e|7$+fAW`)XTxAH9Xo!^ z5fXlM_Ba{5IT^+AV@@&E$%+awGI zP85;$blZQhqmz`}f8ePawP9#Kl9wq#d^#A}VeCB3X~32w?n9S;pND#4qR zY3QG&@4ueCPrH7Wyr2GqZJJjBBT%;}Jdvel&6? zGjtf&rABU!G9nM_81OLmvgaNru%fE1f;J?J*4PZ5F&vq?$J-l)=r z#Wu5^jEMx#e;cmFnjCXsMexZ8@Jj^5fm6{~WHjWI#_3?L-IR`7QLQpM$*fR1?wql( zA_f*alOr&kZbgDeSwH9x`g)F5G>nI%?Z{#vk8^W4x!+Aue+Yx=WKPZ9joQT=f3hE`^Rxx6RN?a=6z$fTn~^;s zNIo8%UEKRYX!kwRBci?>(Lj#P0R1l!Wcq{s>O8UQRDRN5?mYU-aLQ3gJUJ&$U_Tf> z)1MP^1D{Ro(7qr#Bti&~4&Vv9N=#@>uS)4Za`lWjoWtukCjbZ{Z}HmflHuIhQ!l1> zl7Fm~f5}zIe%!>*9_i-UgH7bm?w_2}t6_3;5O_hD-2*@ZI!NwE-?FP1XIJ!S@!Dxh z=5*FpKM1~3Q+^W@AAmeep#jit`u3PG?#pd3fQrmRi~vgek?Txo1%6E17`Z+fjAKW! z8o74zU?V+!Jd4jioBqA)JKR+mJUw$aPWV6se}E$fkJ>x>WSl&oACKt|XQN5TO_t{m zi-u}QDxH@4^OxR9#xac3A1Qy5AD->sXT$q8daZw093hp(QUR zOw48fH@UxluszQSpR<>4sf=^M9jBAYARLJnUj691znwZsdwFW7xo(nQ2)`D(+-EfU ze|oeiHTfsW?`ez6oE5MFWUPw~YsPN|*`NocStrbw=t>ixV&vLB$3t4BE1gY{gKIt~~5I=1Z9bc}vLR4ceEC?}uFU|u=- zL}AJBJony?r=b(E!Lpml0y-Qrsd$Q~wpWfh>_2zjP$%mSZuZ;l^Mn9S-yy1=y*7K; z^`khvB{Zp(IEyCsfIK=OjT0P6znTTR%-$?ee_YXg z%#_!oljg{ye#WznHsHc{qgM4>A!V{L&sn2i%oIlW!kDNP_6c2lccVa$@QJuqTTZ= z^#}9Xw73NkB}!4R<%49$PMzATe>9fi%g%EjpTif`>J?*i{Na39r#akQWiO#&0*kmi zi}q496;YN{v!cDsjqZE3mzxX_UT1(>w>DQHnT&x`l)&c1tzbl2m*a95WWRX0Lip;~ z0=&i+9MnLYLHX9jr4-V)ny>gAwWmEzfwiFO3IejR2-eV4E!{M%=D<1yf6?z2tl2tn zZ(x1RSl40okzlpZVReVq+heta1X(h4brGupAdWSZ7o%?-R0n84!pMqZwysMQUJx|{Jy9t8;YcMf6<$&;0@W5X^-H| zb2q^>qyKkwXo!fVd-AKFuc&WJQ>MEK5#bVj5`mZT{wI+hClKM)03 zlKHvC==}c;Mr3XMYwJdY??LX<#Ruc^(@h81M*`UE%25w$pdDbh*z4_6ZbXa$Zxzp1 zFpzFxwF}r(2JHRTi}F35dw22S-g6ye}cLy7SdWoMHW>_?5dC| z!}WeEM)@A%-rIxA&bzME@4w%ge^%6koMuPvU=HFPa32Y9cV(>|aMu8CWNNY`Vv0L?;MQ~=A-=(~*6$s- z_gmJAdOY{ue(GTR=wQ1mAw4|U77ib_v7nfOs?bnz4z_tsRZSB!Eb3sJ65Isa`z;|w zJ;dF*W2eLIqr>g4dbGps8n`V=Krj`dfZISu8pe7TeN<~G6heoIGDPvEYdNf5>zavvRXca@_Z za@Rm^K}7=MP3l_b9d606kR-6wjSjgf!A;1$-^x+c6KSpg({l&hM+e+pwPpw0HGmrn zrX}Oze>W{KmUTn18a!tUe&@iw-)hZYe)_2>YA@CH3LvVcYZl}KQba-8<$pgUau8y?B>pFO? z>H?I_!uOFNFJl8?dIVU9*Q~isc)i~`Qp`@+e;s^{I=DU(xbEsmJGia`*P@^xRi}=0 z4z49ph1k?OxULM>`>i9zJ;Yf-_-GG1ygm}V?n*T~ysm-Ql8k_i*@j*|93n{&3(47j z&EPfq&hdJ`rJ4kTVifEczf1xIm2Z8}Ct2+XvGHma+CKD6TzM_>q9b6v? zTz7?-9bDIeYb-#>>jk(LRU~V&(I8yI?;Ni8TZpMnCS>N_rw*-;1g*R3%MPt;pfvy% z)OEd3GlK=JDm+?5YeD2Ke*O*S99k#;PKrb9>k%7)XZ!aVBz+sb)<5I{vGPzRf9$`} zFlNB&Cu}8uE{{o&u!?v<{oQ<`V*0P*n9@6J07U~Q8c4$h1J@XN$&h8N%dL?Iroo$5 z@eA9HF-Jr|6frF!YJ)sf48WW0RIoP4i@Yo%*=&tDJmwWB7Y>EnfqdNe(jO`0^u15y zl}F;{Aa>OAS=+*c|dnOfA59>x6720Jeq_)mmk!Eka$mta}`W71rDZh&E#~(s>NPoR2KM9Sr>#_)v z@ho0OSSYzH08uKrEU{;k=CW4ekSkN7yurhg01WmqpE4axh@`y_-#U3266GvJR85O$ z*D_Lr3FY_l_1i_SZyU&MlWTbQ6cB3Svk-9^z-r*qC`BopjE}zqO$8iY6(RS~zm*@C5C%>EF9P zJHY7anY$rS=MEgs2nJ&^#?>-Le+} zDDU9?LPbWZq3#CB>79z2(pl}}vf84is+wf(VO_8tm}(BEe{w$()~xtSZD+U--*5v< zFhtcTWN`9GMLI5&wC*Zvk7YZ{lMP*jn0;9=tUJdKl;);e__(BXSPq9H4~P~4#g zDnP_HTKquG?jBHe(b`ESdBB&RQy!nc-q|}i2SpNj7S;BDs`fYEm?}s>H)=En7xRb~ zl#>2P9$RRu%*){=1!3M;1yKo+q)n>2>K&2AOd{CMe=bq>>>|e=tQLQKfE$_m(0`?WGt(4bd8awt9~t6ct@*Bqm+jdl@0}KwIQ_Loj)(F&+!dIa~zm`^5>SmoXeHukix|H_1 zWX=@<8N9ZezHQX<`>AtI)fo5f$l<6+(bU&zM1&^GinSx| zgA+dn;aBc92)wUu&%NWGgDLlD6IqJ``ZN)_q4SDf9N7;Jy-2ImZO@z2sUTB;w`AVH zO>geD!mcZ}ze_aijzBCKZ#<%Zf7rt@FSj$8jpA@Rpa+(0 zY%Mz^rL;K7(kxBhEp)$89q35_5k2RNZEZEIB_An}Q0*8@xJmkXV4^C)fAoID_3g+V zWLK+L9Mv=|QK5i;@aS+uhUg8szQgq?eauY)sw^YN=Mue1k+#CH1raKOD73poVuqHe z@N}Fq#e1ODzxh3Ba_?f6;gcaq`oelFVVzt?2c@>28E)td=y^SanN{_SIRxb#<^{;h zywJ2@l`=EUds<*-=H)Cge={9!YCylJS68~{7VSta4xTwr_ITnYcAJ~nF+0;{lO*!c zRP-Ign=inpvcjEuTpA{nsxnB@B&?e|9*FV+3@R()tjC~1K%~f}o=@TqRb&*_AOOnY zGwLRohD)KEdVH#`W*8z7^H$Sv^n!rT&NEs9e3;He4gMwbz|C;Ke=sA(^C`gr-K7)<-IHP_c|iWyF9yEIt10!m7@$5K%$f4MUYZ!J$ER7^`2R#u?Z zoy6TjDoO11R=*DXVQCQJG$ zk>Fl`smH~0Y%oer_c_3%8 zrP9aCcZ^_K$xwr(d=GM;EGyp`60C_gdcroOLZrJn5__!!`CaYd2Hi8~np6-t_X8tA${J~_BI-TWo zD=->Ce?u{h#?QD|#poH^SV2!F@)AHm%_f39umOJxdu0epc)L)?#tu-%eF$RbjQi{) zQ;^$LWO~r2q1*{&b)NUGmzeG0EMOjwLbmzx5V6Tkk^x>(gZ|(S>DwbaPL(gS6O7u^ za=TR&$K-jkxM+7bvx7 zf0uqq1R{=LE?N0JINU>WUQzUlSu?uC$-^hTMpNmMzsA(nSXgX%u0LJ;g2xK;CSyeq zjs0i4E`^o(G)ODEXG+R2!w(QRySF1gDRApu2@ zQSq}7^(A7bLDBOz&oT&3F88QoS4FaUf7386hH86-;p9l4oMdAOr}3)N$5#Xe>Sqrk zvKG`>V#}(%m=Xag^e}g4&GK8+EfvYa-ge`&=vmP>9D5x2XBQEd{Kkb--!FcCwVV$?vm^`1P3Pq9g%AEse=ztO zT?Ju$c5|u!^$m>-KRt8wLIqA>XdqK-{1Em1aN?E-fa5V%yuH1>+Kv;FV(B7gA1OJ0 zPNZKWW~{hNey2-U!VQ{VSAiQMuUM9ai*g~W^w5_1PV{kbgUJEo#lpxR7mvds9w!!) zV`sLb?*;ad>)W2~H;@9e!dsh7e`2-i<1GjjQGbEdnEA|<`VEDUvm$1pgwm&r5oaI> zh25)#$BVhwsZ&xnn|j^88|v|7)%diHv$8UPoqnyc>`wLtnX)NWC9I0l9?NRZKdQ4+9%EVQ>=?)B`d=k6p7E;u|}a|Vh)RWz;XO|0#0XCW3Z%P6&MrB4^)s*p$7 zmx4C+MEBWLin0puD`I$Z1)K2@^<(M=6Xm<{+aIm1@ols&t1X0fho*2J`l;tbYJ z?yW<#zwg*FV}DSfTs{N5tn-St;~7b<$|hU!AN~|1{j4QN282(qT~vV5Spxg}p%gd*cg;8e)_B9(@oT=z9NFG+DeRi1zQrt+WPARg z9_HQ!_uIG@%#kVQ6M#rCO>>V&pXBzEE_^c4W42*>_L+>a!aM^5s@kq!ZQeoh*T?3F zG?Qi9jr*;M+L|$0e*k)9;#uB9RHV5A7%-Ggf$hZ}EPIy20QLC8_|mtDPgQw&BdAa{ zEv4yi%{9j!q6F_8`=JT(p`zo_^L?uDMHEF{Y5Wj@hWN6jJs~{2eV#as0rX(<3ggEB zTL3Btt2S};jf{$Jy*DHn5j}v#uDo}OprvWJIjd3Ex+c3XfBA(z5DV+*g~!W_Q?jk} z?U`2|utPmzb4CfO?*Uvp>|luM4gg{UET2jq2$E{y#zeiwcs{Qk&GAeW-|l!wgo6nXX$zT+-GIVRH-QNOW=Xs4 z8M&FqyvE2C@_EErIcVwA|r{}|B3 zC-=@Ba7+z+huGr*OIn%PTz2eo;05;t%IOggteu#3ijtX~&)~9mSm`FgTF?E)PFNsq z7AW^BK&ohA#jsco;eOW*#l#IkRMuf?dE!QrIapI;c#drmZ&sL2lrU@m|)u-Q~<%nHodGtRDueeF!?BeX0@M}w-ofT5Wd`p@^7A%eD zrfn~4g`GJ;T$7E<;$tO}R==7J_YlW+fQw0RB?47Am|}h>DH$*4Gcsii^kRJr(k07K z_(j7AEr6BzDQgKR7B1$Pzj%jXf3u(q3X%I3usLlk#pXr-F^`4z>>QlIG>U^U!NZ(5 zQ}CsS8$?uc`wr*QLn5feI&@J;Sr$7U16)FC_7<(z4Epp`{JiH%ULn96CI>>$l~M9r zwnsg*W4nwHJzqa$2N^qQY5n5aI0U(w`xVa0?emA`R6%j5A)xVWX@5xIf3j-QqUnT& zeIu?P#3RDOz<(YG(}bB+)AB3%#1szQI|4qAPs|#b#Q4#1*u;#<%7>jee;3e9*=TXS zwL&{Y47EKT=(s7HhekjbLK(9PWX3HrjM#OUG_zAS?gP3tOyrcv4|Ok+HC5laqvtf` zsAQ);kfkCmtq-PgCBcFie*)o9(@W^_C7J9jdTlmUIzQDkc0d)gSn1L@FO!6wMEft| zIh)xEnT6xoP0H!?ybD4$jUzFs^j~o{`|xsdnE!95Y*CxiBtp)du)8Vs9n;=KuQ;+m zXOWf(SqcT=n1M!K+$&595GB)6w5GLv(T>hOZL->q;=-mH0t#MJe;1BdgobNZ&z3J? ziFqZ9pN*z9tMlEy+4FZ)-!?a}CI&44WSCfMx3b@69e+G~bceyCp4cFEfwC<5+IIpI zq_1qnmi(no;~;&4>Lj_&gq)sCGXHD&A&*%CmT$s-r%@`>hxi@kVu^KVB3QBF%SZ9K zZu@^0lcihCtTX|De_3`BI~UOqS1=1SMV4TRw?l7V4yMOxm5C1}` zWTPlt9z^*IOdS^vb5coD$ze{9XJ5%;KD(Y?ioRtRvKocxf16IbuyAeU-jBTe2kIY3 zZtUdwxnUw291!K5-2Q;5C_E;DQ3eTzJ;2RK_omV(-nJOkNcE%Qqs!{IMmUS(%1^{+ z^TQ7p=7%r(<@@&^KV0bQ?ZxGXFITGm*XHe)tLw|#Oa1cQm$#;BnAcU%SJ!z}Y5eLsBp96JO>rjSKuu{GIso6?u)9gXb~o}P|D!%9GtJ%*Nm#x z5q8l0#|q6aG=awf$aJ7qO^=zD*9LcoGKy8Gw`mlAzNZ0{EMIn+jLbUD?BT~7Vh@W; zl_Q*=f4`_;yn!rQ3U4%>F0~IfWvJ7>@oue)>l5Ak&p#$d!gFu9Dlsvn36`ZwP3Kh{ zhc#?&wh!5fAu@3hT{{!6`1#o*nyJ-h{`(7M-(G(-D`>8$Lq(I1DFSwon%g2y$LEjN ziJVpiW2k9ZZmtl%1LL+jT@`vC(`B<0x^|_{e+(ZV{8kZcN!BezW=CZlvjczVXz=JJd3aZldvC8eH6>7ooxk^%@gf&6O;!zCl zBN0V*xL%cU=}6~Ip=r-{(n^vm&n+*l%7?{kx`xHZzbO48DXud|7SN)GXi5tTDxJ~= ze?-#&YL_wB<-H#A05@CEKkB?!Uc?g6LDOH!>$LbFwYbZBJ)&S?mDM*eRRNR#ACLNW zxpH0J>z?fGf#|NP%;>sC*6&2T0KI%nFQ!!Oq=Q#1$ z1T$GH<&vQ>im^l_F&>_f^@)EGfL9N%YVze@^sW zdmLVmC+uG~-*Gn%GrGvoT|4W{qVp+Df-Fv)cu4uKtT>>0J{3+=lpVL`NAHz$Ka>7x_szHo3)q@Eg_B}URKy| zyt9udXWpfA{^`@_vlGYapPZjve|CH4{d4F1^zyvx^{oDRkL`E8OaHw0Ypds8o}Pc~ zdEF4SYU%ixUBmCh&!*w?p+|cYI{3e674A%Qs;ASPM0)a|5EQDR4f7K^Yy{acz zl;^VWst-#$Bay4?>i$=h2{?|FV<8P1o~!z{gJf58utAvF#7Wwt)5(3KUg)k z$vdfXQC+@udf^GUE`pk&`2lKD77>zZ@w{%bUq)O{fv}o+TE64pb34_UD z#$OS`Rz2O;JmOSk*oR~xfBhglOv^a1j=7*Q3x zr?CkLHZ8y6&T4v*-B0M82UN09?!1cQo7*6{xyXWqyH&{PK>Wf{aLe>^*^dX1=(`pf*qM_r1!Z3E)neM6UtbFcX zgU<6u&vLz8b7hZ1;yb$nagQzM( z9(Pjd%?IYq5+Elr7kluoTB)lc0J)Qke$V@*K)eQqi*2L2fAxet0#DQpQ_lm9&JqtN zV{<*He{aCUX*$8CjjMj}ypOQ-o#NquZF#1 zx-LDpzR`F~I2`nCTX!5+sL`6ZTZRoS*Yc`nt1f^qqyyK~%mxi@B~;|Koy&yL*P{`$ z3_9!v*VImEaFd@cpt&yol_bG^tNnWc+JI;HNb|sZ(Z)X_G6MiZ$5boJ#}c6{m)(^gCwD0P>n=7be@mnTT-M;)cq4 zfA!%o5j9n80Elf=*_3D-QZJH0Nh*NGk;?u+TgQZ5NyJ`}>zE#S*Y5Qv0lGAw-OjKp zD>9+hs?LU-Ze4Gg z_Y?~SlyyML8OqwDdC*%^Zn>P8<#*X?f5^XHk33@p36xvbUVGb)&E_wgudmPLx2iwj zsiyC{d#XyDb*xcF6Xl8>A4b3P2T968e}u|a zTyfgadRbUe9Npi>vvjUZWf;>`iQ-I2x!UIHV2aJpNS=DgdSMxs=2)ci>HpI>Q%#N- z+O90P?>f2(s;=!(mn<<&BfzqJSx{J(1+O!Mn*;oJoeQR^8gYo;pcQKA#jp2bnG4n+ zkcm+JFrTOdSv7his>~i)Pqe6ue|`_SU@{r(8FyAq!*P)(-T46BStf(Y^nyKjSFP05 zjAXDg>yzh-6$VF!OKjgj^$FOrF!*-iS>}Gp;9SoM;M;S*kU^mCS(U*S_86TGBKPa1 zVq4p0g{g*RJ7&Jz*^sG1h2F8NzUZBtT(ozRSz(QOU?*5PT*uJ!kWr&Ve+!uuwyer6 zlfn$mC7Ny5sH2rhVe5$&UhkAiVcdkFXQ_rpYE%+mCWUQf#xg0a8G{Fz6t;v*a2&_O zZjI1I4G28DRPXb6W)T~$II9lXh6XIJ=`TL3&N}+RIKB;@()ZX_68G4^qg}bRN)@&= zO@E+j;psXk+r}J#m^Te3e>6z)3-Svbw}M#~^UYB>VSD}jv#ji=31bJs)>V>UBkTP8 z@5SFsOg=%T{xOZC8+u>RP%-~k#kZ5LN`pXXm=CMpl`DBM+2#=SopqjusZAPAvm}hJ z-&@JZvNc>TAMQfQfWRZ5n@8YCZv!4n58Aawl4gKTunY9c60dd&e`bfmFFet81fW}8 z&SuS^?5aU*!>uk~Qi5P>Jtvk>_9jgjg`w;Qf>_loD7{!h*`*gh&y|P^SIegmlpPyB z0WNl$TknUhTjFxUWehuTNo9G;v>t`TvDfUh%y|lCwlvEB%$~c?YRf< zs+GDL1;rP7F^lJ^f5ZY35LtVo#RIkk=gV+i&nfLQN)p0U5fk~gU!y=J-^j8Z_8uF$ z=9tx$FqBhh!lV*WQedS>oE4e46<)GV_wHy90=!f0BiA=h`~S`MnX_Rh6+oRb}I~x9yZ~+2B=(H{Zsbi*Z$rn#v~ekW@W~ ze_Ms$taCET3nkBsE{Ca-&ISXTrlZ;9gEE?BvxF+cAPb5L%U5(>$d?Xz(O!P;AWoP* zrg3qFqEfSfe_b2IB}6kgpS!bbC}7uoQohDgOC;zkOa?QP>?ZNo<%!@LgPDhpb&m{e z)zA&HG)To*^^ooI*~p`OOkMR{ULwC}>LzO%7lih7PnS2@s^&O&vtfZ1!-8O)VO8MT zt7#%@`71*M&8vl{v*|QWvXs{fe`kh0e9Mo>l3+9n2XosW(loq|f{b~?Z7^V5Qg&$JQEWhZoy4wnpCwA>U{9Vhp> zS2>O~f1OemMZRwI8|}g7R>gw|b{+D@H>j3-ik_YhvhIWNE$rnx$2l^zM@KZF(SVCD zyPqxW!vq~h z62^Y}N`Qa{*8`-!5b}!s^s}p7czC>!%sFErQ%3i$KlfY*Q^cZ_p7!qVU(d6x>qrG@ z1T#kQ-o0Y!J|4b)c__k|F-4ie($Nem!-Au|n<&LY03=EfNiSW3O&5z;f1ZjD2iVYEoVLOUDa5}*VMg)c3`9}QW79oY6k!32eM_@ce_b`xTU!iF>H7pl+N&XuMKqeQ0fa?3TSS(^_HHg{So_Z! zeg{#_UsNWQ^%X;6SGhkiloL!<88skqrsK${Oj6!-2QrnW7ZVFP z-wVK*WcI#-`vXhuU#;z_N<#}ABEQZZ$tvadiM}@=n+DN%43Y5nf1Xwe(I>dwcv5IO z!Sx3=9}5V2fHlGcUlx|Jtr-Bd)onQGz_PNODl3MQwt@8r_P~!~I)Er2g$Nc_hq)N{ z4ogNVO2*-Aj)3un3MNoCMN<*ufsMctmmOktz%quKerA|>T+mhx@Jc#4JPzk z-qO;~(O%k?U6`+@e-W&@;JZyoeooA50=e$w1cfgr$^?ANv?5);j;=tb%zzp7K{l6i ziZ7+zoS%9UXJ!)Rj%kVRq4O2!6rs9uO_Z2J0TmOjHko>w`Q?pVdoDw>_M(leR=;z+`yyec{ZI6xV3CA$cRAyM2a_;k6b1g0ZAi6~9!Ma6n=lZD z?>p0XV07;YFm?sNyV`}j`!mg* z6Ok(8Y!AE}7dV7r9%t;h2fu%PU+sXSG-5HzIU{>;Aqw0dzJ9qYBf?_FHBpX1Fcp;o z??I}yh#*urB^0R}nqkQmPxK9c<`nWI$uNN>mofBR&#h)ca!iym`#mCdLJBlEe4a*& zB`S@x1qKkONNRHK8QyHj28M7q2Kfs><_Udoj9Sk|ZJ|{)0tJgeM%9S4Sw_0@aNA`h ze@wbvMp}FhPjGkr0COn2L2P{!UC zC^B9hfv)4(gj+~?O!9TyQurPel0}XGs`IzfquRf@bRHz1wyoJNgygJqrCVP)C3dy@ z6UPN5Ojl8ZlH?|ioT)SuU3Z{MX=X8PA*YW5aH4s8Un#tarS`AZ_Ee{#2TqaSO>90bz#jp&m`r?Gw2WQDfVi)2%gH8| zRm-WfVmVnKSZ`tvd@p7Ih>KYWf8FY^7wbM?saVJ9JY1V2Xnm1JDNRD$uDiU`KP1?WLNMb7i;ZrTOv60AAwF8>5DKx zMFf&aa|w*emeb0s?i0o_i0s<4G5X5t&7@en{bWG0vo*YxhjGe|xui`{wo-rLl5ATj=PR zleL=~lSc??l2VTKHD^RgEfaH1Bu6qy7@_DWRg419_sU(aB%xY^srOhMuy$)4ISr%5 z3Lin)0_TXNSQ&ci82)I;0^Oih9~4Xg!9NWAK58}^6(Z|Z4>X?y0Xj4k7r4x+fQN}x92@wl_K0Kkv&gRioMXdwEMw*jOfPIOn2Dbg zJOZtjz-RGj!V+;A(`*(u6uEW_C8ApYs@1oyN0olPv>G%UW){rdAbK*HHjS>*>z*hU$Xxmn4=zv4quXD$< z%JY|rzBeG77SU=9ap8BHjVBx`xHCK{G#A132M(VG5cB{cp#wh_4P#X^5b3(xa@fGO zYB*I^EQfW0^#{(tKb^S%#KkB?Fl+pDa{SI9!t>WOcE@Db{V%RK#T9AZUp5 z3u0AZf0-ohJhMzXE@+Duc;**5%=fQr)Q?IQc}HWfqdj&b`)JQiBUp9AUk)MtI%l3z zoWmsNBzoKnsqiiXkDz@W=s>5;fW1Q@+ojynQz^IgQ*V;YZsNkRBhlT!`7Z~-Jj$`c zkI*}ze?PnTw@bH_!l%<%>9W2+8o?Pe{<3yGUT+Zw55ava+R_9UnXyl*tD=8W|C z8Mqf6Fw`9mU1X&{NF&)v80sKHtwwdL_YYDS4ezE*fB}lNd8Zk!73!DF=GzCcXM#Ha z_u8GK&)=V|Ayb*Fye#i7Tv%M6bAi^ZBc1Uwr!F>FM?7pMCb`*^Ap(H*fyt z;q~pkz^@-3U)?Py3P2AHM$j?%C~!|M~dD<6rZ;?;jZt&)&Yey?=W5i=RE- zzSI~V?%%w)d;R9)+g|;5-zM96Z zj}Omo-@MTRy?Xh7ae#OCfBE6?qZfVm+kd0q{_u(KUZuyadH1L9k39ag7q}n2AU(VN z(@%Rx`S6a<^yK&7bNBqGy(fM5p1Z$HtWE#D!F=xp&)@!}S2+K19Q%Lv*pZ3P^y*IuWu$K>i&;IcJci#TANsHgT@Y`2^ zS;IF!9u`RTd+3*Uzk9rSe6KS;i1e#xpa0_b_YaRZzk8|SNVGqZbbj(~bo;-x$oqfZ z{qgos@BV(z?T0^n{c`_7Q~!5TX@7orc=gFQpTE9+e5QRZeQ3<5pKaiG8nu++R#y-LspQU%tM1roa05Pi;)^|LOh1Kfk?y_Vo6h-ukE8$9w&wcfhk3 zH;*^Z^n)Ls><{-(j}I?DzF_OyN2!DFJ^lWLFP=Yte);0&_3d~+#5aHUw-2Ac*?;k2 z%x^yVreZP=@-xf6`1 z>-I*oDDv??^JDMUY`wgD{i{3e-p60uKiB^MAN#SpufM*1)DPUfPz_Vo+R_5X*J{OtSt?D@m9f4zBprwrcz z@%tkD>fwGHsP7)X{q`Rp{{81K|L}|dc)0uZ&wugfU;jt_^Z#}K{_@v9|Lr%w8rA&f zt6%@&SATx~^51{{t8aeu)i2Ec```S3{I_>s|DP|u`0&f$`#q7_=imL|U!+Yw{){m; zyXx}$N!sXNko})p4v6>dfTVOnE^~OBwRth(=hYdBJ~&2F&WGPgP1zrQC%YUFan^PI9p_5sx494l&zq2c&U4_B zcZX-v>WAOSZt|CU+Xw%S_xd14f~owaKDxlG?NhM4+QFE?&je>1OMGz2eqbp-L_#^p zTS)652O-DCNHp;y8~Pz)-C>_bJJ#Wu80z7f6bFwWnd{=+nC$X{5$`?kg`{17A(G9t zcx>6U!}ny<5Be=@JF<*s8zzr`EqkpHBjHNCra4`OWwc0D@TiORgC()}>##m0UI$4m zk}Ce5l1t<@z07H~FU={x?J}1=AofZu2Um=PM}0~0@vhgqGXGAsYkpvHKSX5cc&=+s zhrM0%sEjldCu_0hTVmbY!aP{O7E3w&PQ2{lZOK&LbKOc3PRK#tx~+zPl0FAmS#f^%v6Qs$VhbNFgsBMj#n-w&zf9FPPn(N_yO}Bo1B;pBe5{&6EX%rBfDgH zY}u90>vQyfZ1$t!p0hc3whKb$#p_f2iahF)0<$OS8`QWv^{yYbGGMx@$U?u2mj9SmpLFo?4OYsFP4L;kL72k zR0zx4G*{qxlU=Yp2h(2%8J)o{o`V@?K0Fg=WG%KNRlK*C4W0GQa`qtC%g@8gtuQU? zgOxA#(RV5$;@G6AY{TDie$1Hg$)R=tX=RuBms{GehxC-tOULSYBd8%= zytiwtoR{%69lR-D^EG+inlH?1d<)T@ki@p$w^$EIcb$2a@8LSE&qnxry66+j&X9}B zGdg5scn-#nf7USKTV^?sy*Ox>DF=*o;tZZMU4Chou1b(#ybtzr!uFBzdxH3S z!#NOASmJ{To+H6RD*Kwj8j*?vvY3Yi*`IuPTPTG`V5O`M&&0`^BFO%5o+&uDI<9GO zDF&WVm#zz?H@G~RBWXS->%`z)XKopMFl@Jl9Ac0{e=_d{A(!JB^8(+J}|Ee*}2Gbot;$d z0l5zQN9Kq5XehQUmXM+yjCv=Om|4dQsV5{wjvoj)aHMdV#94%J*+W)w=OH=HC&Y0K ze)3oIKvU-(Q>XW^yt`U z64E(47J9avs}@q&;}^0Hi0tX)-x<+xZG@1?nTIfPx4haT&x2i72Qf*SI2oseCrB0*SI_%nxF-iFv$`%+W6)i}_n@+F3jYEnSB_C(n#y z-a=a8QOm}#WfF36EFgAg57OJ?q25x+e`4<=4tH@rOUO8Usk~6GDT!lm6GWzr36E`> z?s#WSc}@H~GunfOU3M^6PR1;@GUB!e9+I|JL^+UliyT)@@-++2b+X>GZziO(WlAOBQA2aV-g)bNN?IUosneN z|4BK!$}^htA+o&@whKZkM*vfao%ePsd9v4*E;|mZa5>N1C0(bOce+C3I7PbRA;&MI zbB0~sspD9hkmymrr7Dufvs0a~e<$Ri{Zmc#Fb6fw!C%^3=A5{Y%9(E=hl+u;D=}FT zoAwE>f|v_iz|`Go6}qd1_i1+rrkZ*P?CA-K9HC7;&C@eEGjmA8I<7TL!`Xu-AI@7)^^gC-x_+hjzxVSho$V6Qr@>^U2|5oT#ZD#sw@ zOjWL@$R;G#NO>O;z}=X4X(`S@wxM!7B#XPS_mQo50FO-wM?teVCugzq_W1d2ZchUv zzOe_EU07U&sMYZ-2U!e-f3rMVH^VWm9K@A*s+CdW3HBw zWGrh~AqR=i^7#3jL{1U|{?ZgPS5*obtaq|#4eOAcZ9S}9c84rn*2FP)5z<*J=PZWJ zvy)Ti`rfSna8xSGsIoRZ7cyUt&_f7u4=ULlQR8@cAr zd{k2tIR7K0a(q-Xw^;eaTkh7M5FZ`SPWPGfWfqHXhF037K38Q=E4kofLBL7mAbe z3_1g1ofone&yFzw5yABcvR5W4DK#s}y`?yHJJ+ z>>&#|WG~AQRpnKXr*|0j@P{+2W$cQVBf{S^vf~(6nRYVYDbpqP8_V>Es@F2Zb&#r= z2KP)TGoSY9f0D<-Z<7bc{*RDDnPdhp2m5`4A-#lDKB!+KFErwUEJk`!b<( zw&F6;bL3|qLuRSEHbX$Ey0+JbD<`BdSH7%synikm7gs=B`(PW-!B#sw0_P?(hs$}( zCvAlkKJy@?u}-|S<<{YCq48e0T)g<~%jLz=_-*2xf4mzn**Uh28)2?2B=D}kd}!=5 z3F%z*difj%f2r&#=RU5GI>(}~Ag7JjH00Cl>_espBwF^Ft|;q_4CRX19OfYT#^%@7Ng+0fGhjRHO|*|?0Ns>Tv_v7B4d2MO<)G|ivy7xeyy_}BcmAErCHAU? zOlFXmf0lvkgoG5%V_a7rY|(|x!}nBKT9)2=%H&_wSGEgR4T+ieRdeS2!qsf!e96^< zW8Zlr?9U0A2R$lQbI?dF9de;UE{+~w-S~sNb*X^&gGuoZ0Jn9`m=V!!sxLeFM zTshc<;RgGs*L0TSqnCIHpYFJ3SnRc3b06Vje z90*yQ->&=AD*jG2a&~ccgdDnR?7$C40INGyRSKzm(zd!&ey)l)aHOQV5V(e^dRsEC zLiJj0o*f?pXZxy8p1D|++sJ3FYOojcDj}Wun~=d3pEbC}d1omk!@HzL z+o|hG?a?3Br;8%-n)cKVvomaE+gOK->{Sanut6=T;n-~*x$!wA8e<9GplVk zhT}Pi$#R5N$l&-++tFkG9(l-ofBL4Sl(^H7kj}a4mQ6gYLUx&>1VRoy$yyGXV>K-& zcNkl7l|6|jubMehE8)!_-+ybsKYt_2U-&0S0 zBZMqI57@*gnC}SbTp!YEOq`n%axt@OH62b|w`NZJwAsoT!q)PkXF`*Qf6UpW)@|Tw z`zAk_tLa(~7xSvtljWF@kaE}yJr9n*wIPngvom&Bm63fOkCEssk8N7R6;W-5$Z@_V z-Akon9*Td8vWXj}O*s6+bhfPg!=@3X@=*WJX$746-m z$_Mnbtk_Bb%>C}XCk|IhjZfH`@-3= z?&E28HWkQ#wWt}KWKDZ9DN0Ay{xfmDAj>wzm7`~8ncqRqUF%&t$7u&fm z*2^A$&%0690hyk^CnwAC>z?z)I;0o7SR?fkzq?c7M@ZxvnO)Wqz=xNcfbkJ43nnMjnuikTwbFZOrho&yKfV)`sw)+Ac zkjPza`=(EfbTc@=AY}6C_AbT4@f{(FYtZFN9qJsqwh6N|A?+}uJ==pm==solrfc0e zL)b^E?1>9G>G&zff05^4I?r7W`t*aN9(~5Zo{^Brr{shjPS*9Qz0G@W*>SKK%LUF! z^c5<{i2F*1*i&D*@*E7~0&6}YhyDj+(-2(k-9qK?JJww+qe3QEg$;Y^TrQ-tRu^a6Y zHWlO5&MvVn896rgLPySrYC0i@F4vx6_9f6lPWL0^0>XIyb{jBCi&Gglt+w>cI)s*8a~U3YJ*6T)>HqsGWRuY`2& zQZ;Ha98Vn0WUlug#~zZS#gmLS?H`t^zVrNyxQp5C=wWbm#^~|Tp=tD#m<^5{kLMA{ ztLFI5kgDL*QDgeZ406m|x$0;vHxD~&`HR`cG`4UZf7dkLvY#b_QaC<3O|qPmnBtt= zRYS<)sQa|Wah1We{^GqbrIeYai98vO-A2mUsryeVGom@m#V&EyWdex~So2hWr*)`?U0k8Re>VR5u*=6L9WH1mcK zDKe?Ne?IaxIW9JftDIw*#Yc__&2sAcI7>8KbtJ^I%@R_XA53w8!yH`3vhJOiJJiU` zD@^uj=amjU&1bcl`)$nX4w)_?@vu*;FMO(5$VnsB5ZImysmvf}&GjJH%_NSx3u&DD zn9Vx&re^bpo6lwo^RP==%v@b7g%mkcyh2WFWrQ5=hFEc5d%}nvyh~PehdZ5Cj4ANgq>ng)v7%gO-aj!P?tNKF z{sQlk6ff3%n&?A6Vj-FH&TAhoKOjDFe`f?CjUx*yheM~;Rh;8o=qlN9402tzaYkTW zyOkOvVoyBkD^Ir0Yu82dj8@kUGFnBvd3|c=%tJ){4>wJ$nhSRTTFoE2(J$Fk_S#lA z{xEMl4aalPO=hoJ$l<<^)xGEFmyp7|O2~CsxgIaB7ZY;08*lY==oz`ShsGCwFUR~zAvueod9-U zrhpZN`!YN3{cOdM26__Kq|EoEe~1PJ&J0;2?*lEM-Ce1%(n74t8RUG{y4B}LjCMz_+WMHe2hqOjucNNAzU}!zWI2QNfBrW3%;$sc zE*QYboDF4PM94@ec&n5R*Y4MhhlNK67WIFwDYjq+{IDMsG59F5g`M`K+Ri z(RP+9IX`?qt&Pn^JSVZQAzT=Du_v3d+pHO78O<{F7_+lEXU7^TUvfWiuJdMTxZ1@=>2* z=>d*J`1xjgZvS9|R)pD5Rt1QFSw zy~O=7hA$*?^|QUM*m##*Lz@xj?OKNYdLiNmxJ#-H3;QEkO$bm*`|^EE8CXj3gaBKbm*#XTgx5K+{uu{ z3%yX=z2kmDTU8FMGO)e+g;7HxA+jX)VJ@uRw0)+CeawVpjz-wN_Qk%8=n-7g;XOw^ zghak&&W>OkTc#oFf6UfwOmPQ%+qCJzERWq;9*hYI$qmn++8M-aPN4bs_|EY_Gg5d?!ee{mlHUbv=CTsdRh(%EGO zMnRq1cVd!Uiz;Wn_hnzX!abSwNaV`JjYO>4bM8tV`&T*F-Naacb5oiR*T=0bbBy?m zQA6j&g;0|_FG;`?z0x0AJN!~DcEoe8LJpn#oNq3nju#U7wrJ;j?uQZVv)Cv*e&vEy zdoGyBH$=Ixe_M{=?}WYBIHMu?!h0d4Sg?M_h3p5`hPzOr#~6y+_oVQe?lUCFT_n7L zYqni1ZeaH{A<>|>D`!D#hr2PZ!znqJeBexqOPi9TB&HrX?(cSgSbiq&T0?v$+hDK? z#AP4(RP(+%*JF-F)YkA#h%WcgkjKkrhm5wwl_t}Gf3kCV3Ge|4+<#Pr+%4=B>8|4W ztcZ|(lMN#|pxt)YN>~n2cG2q%I z*AZDjf2-bLbVZ(SsL0lxIQhajtdN{AqUm}ti7iu4`_Ka-HF7nB>)kXwwIn2Pbl;6= z8fH?QmVm3m+|VAu?DD>ZBjc$HH-;QHe%p$f$2ND9UbGlfgc#4Hxas4>&Ir47ljCn9 z{@!CXx0}OpMbxGt9xKV*x-#EE?sm=yV^30Ue>SnzT-`6s%1hXcN1tgUkuBgFsbW2a z-w|Kznf>n4W2_I+76}<^CwG6%fagB^yY?zHHouP>Baio{r;0rjyp_>JcI$14%mTce z=Z3Kw(L~F2(Xv?jBK#hgvpFC|UIvap4AP_K^Si1B&v;5%hk$3{yqEujEWrDHS_Qwy zf6v4x62)mu!94nAJDFEOtdsAj6_Pm??So4T?Y0m4P^|0Jv;~f?_>iRIdDJO;+&?~K z*U{hhVcLv2BOhJlE(bpPL+n;a9GC~(ccl%?@(2<0jw4vySNpR<{erlAz@(daNj^) zd7q{sTf$>omhWK~;yU^zK1)|&*Ap)XV_<$kyun+v&f1EO>#Oz!6b^H{US^ihYs#fg z1MR6V=1_a=i#%c8b0vg@Tx^#maGuGRBv%4;NJ*Z%^!k0xD(|^c%tQV4e?}U{ zxcpV@L?$F8EsP`iYGcM2q>#+H9A70p*j2+e@DpwpkkNKKiW@{!-f=|)=-8l(8 zFt5Mndy0LXflvJjNe=Vqa<;=ks@l6t?-3C_z@E(8oEyw<`&M?s1d%G=j7LzV6LIBQ z&3wMzw;m$)0QcQ^&OG?OuM#1bqos^FBdI;v8PsoM zXjxHqhV}yb3qoSW+@T*!jw^o8wCSMz<*`hRIrv$P!*i}eg2PyvpWS!nf8=w256blv z6Jt48CPeJWA|w{fUV3>`1-)IrHr>E^TRAkgS?lr#+qj0vAkOHThI_gBwZw^Web&kb zPb3Dj@Aajzg&k|eT!HAdDR`Dgh=>)*n}~OemwwA(78S2HUJfe`^+O&k;SnU{}1*-6yltwV1G-gBatrromh;+f5>)-)o>5Iuy5kU z4x1qk$7h%KwW!>uG3aYBxlzq)bSzhdx~*=QnP%5Pe^oF;~dh+24h@7 zYu(X%7l*eM*^|D-amB#CZ^U5!XCoH7HHVyJOmJ+uM28WXkXLqi;yTEeNq8enkijaL z1?*nVpc( z&;yeq_X+!lgt0s26>^7_^W=HxU?g~=0fYH=^VZ}`}&2hhIA^T2Q zM20n3e;viqe=43@+IKn$R zoiFFu*I}GI?mN}dHxu#q9zB+rc4s*Jp45H8IA4_F zD?A6eIIiN2`LYfD)0kUKyo2SlbhpNbx(KGOx(RbwaYe^HYUC&wBkL@s*bJvX9HtYL?|Q;cj2 z@qFqcj$#YOqT{HU>qq5Hnt+i7Au*$;7pD&k^XPHzBr?wE%sYsINOcY4RdF`UUcp8t zW*&qD?!hV~7Ca*zMQJ=n!-eF;t1y?p@Qh7d^4?kduf5UZrw}!R7mFTH=6=*U9=E6 zIy5^;1U6y>FgbbE=+C8nr6ATu?4zF+Pnk-$gos)!xh&O#vm@TyQQp!nSt~rYks{VX zCT|UQqu=+u7K{ZX?`=emvf0gj;_!#+Qck(q{n2}C9e2fvZ6ujeJdqSe0 z_@yCvK4mJSZMjd05N#Bc_)v02J(|LGxcf#(yfC(rLd)DmOr}{wU}U6({Zy08lEdg% zlDpe53YwyI%;QsZsiIv-qFmffA*CEV@~V_dPG}cW8or|DdxxMF+m}gj9z#e@e=LdF znuR^uliZ(#EI=DBE#wp_H=s{(h z)%InoxTY=ca$!Vvp%9L(mBYEVf3%q@`p&6!IqCdNPZ#o#)K*xSt4`e*J})C=ALl_N zgoP3G)c0+wxPSUCu;Slok?Yol$o)ZG)wOc`wjooC9*dB8Skocv%(F9sMp()I1iY{wXeBm#CFz+Lz)*e>}jmXJtWh#p8=MD!MQ)!KdY_;*Hhc)C5UnG4%(Aq_{6jl4G0{@FNL zbeaPphxM!$?Wi5?olPDn#~_k#4!ytB}Yw=-J5GMCr}e28TZ2 zCcPX-l6XXB0a-?yJGN!98|#K$hlNBwZJfpM6GlOWUX9 zMtG9~La)0BxqX=R>el>+tg@a5dRN?r#0yFnk-mdgfr|=pH((*+2Pnx!11ffYaXtIT zZ$XcHp%v<0^2VGJkEVi{dmLrzE#s>Few?M_JwlH7Jv~V?{Xm)_AN8Koe?^a(_fir@ z`-Iem9vPP{!yHM7ZRF%a{2_O7**}iG(|t&UunZXzuxRm%rsj-MQXf;Y54Gl)&QrfU z=6qwc!e`MU@Jwebhi~F+I#WEK+4N3vM`te|#@+)-tQY1?Ki4$oi4`usb8X1|eb4Bje}%{jU*iv?^Nrtni!A+Rm+-t@KUy00X$*C-kahZ*AJ>u! zNf)yN{jADo>z6COoMN2V#hFY^1k5DZlJ%R#^_{2=iUY2jnX6WUni*}ZfQgNzBuV3K` z<*w~Cv@v>ZHjsIDe?9q%HC??%hCY5z@KKBv^j2+R_Lht?cFnUBbq)Ua}bga=Gl$x z#SbGUD8w zXvm;sAO4609^@{=irxwS9w}O$o;XabhVM=!RA97k={j zhU+Hss>SShcKe9l?dWYCev4xU-smD}*oStAe_Z~!Z@nkOShbMGomPj~AV+XV7Z=0$ zk7SNF=peciy<~>Sf@9}{V`E#OfL!j@j@EUP!?i_Hq)5eH_RIx zfBCSuf^{t8ET6IT7SV1T`%4*l{Mg9`cI6Zy{*etdf{tRp+p&l2HeSK8A9`+I|8Ymp zfA=lEZ|Adwo|17wFW{LTldQn=Iin4XKY3C}66EymCB+Dc7^9Vvy#EWnd1 z;vtyRILnAKIYy!h1R|#%ln1kjp`i4iHOkBJd}OYYbqeb(que}Ow% zt6l7B``5o7*=-=)*>^@=H`c-lv4eg~G22?v+dAu$!HuWTQazZXIh$q2y3pBn<~pNk zU*j0RZebLC|3DUc=BCx}U@gM*_#Rw=%f>*Tw@5(cE(an3i6_cVce@x9pWbaFbC^EL zM$hSt9#zO3rq9IPW@k*eMt|@0e_az=@3V`iqHiM*t~{B&_>XtmYg@>kX4i3J7GfYB zV^g#DI?<~;dqj#+BK1`_`gdl(V)=LvdKApysz;HDf#)-#!x{gL_&w$p&C!kR(>cUl zu<~(^CHaqUZk)o^L_(x~aNlMsgJso}P)1H6M7#=5ZZ=P7=>;;8$IrQ&f3g0V_v2}h zLej)uh(e5W4d;9@y@?U$UK4XgqX%5us`<}bXSzD=pj|Sz z+2Pl?cc~b$5#pRzGxxQGe;u0U+4Zq}i@++{Kl7FtDS?Ri0ZZjOZ7_4Vw{X6t5aS+_ z^FB#FyuErP7d!LJ7aeQxdtUn`tDfhCHtl@F4P#UD%`(v|B}DcQp3gg;`R=@1CiBE6 z0|@iu*Y`Jo2ayt$+Kg1gjJ5UE%8}LewX%^tt(YW--iY;eNikk^e{TaLHtQST#+tho zo=d!m>kBKC|K^mA5_Wyp4RbwKN|~oHtyFB_+g{0{sU9M;@bn!a#`C6Dx?jO)dCYR) zNxUoPd@;Jba%~&~Te;_n(f<_{`Pju}M@5_Ow1m3XcFSwhiTO(8x?o7i92C0kk#}WF_N;H7z*FS zCYuR!-B-LTWDcv{+%czqS*{PG|H~|2?2EJPSVuq7viosOSJY`VzE$=TOaB$KRWOpW zTt+QsQ3)~b&=mbxoL`As;ogoye#}f=k;aR**>c%nsAZPxf1O|j(sJD@?Bu!pIaSxH0yNtiIU(3j^g?MGX zFh1M7ZzDx%4kFQ;2Y>0Xx~t=h&=My<@)1I#xf-@LFew7m^UsgMs$ky2ZJV*}73D@dGIZ z?Z$PZ_7eB{Worl5CS))ddtDX?zJ)hRMlXR7|CkBAe-nN#M6NHiTz5<~M|)v^x$*St z{YlH~_>T;q1>Hv0|)j5aJL0Z~J@B9T;{>!G#dn zZJ^aAdp~#VK_o=V5&tHqoEFKDEsE5!vTo<{s*$=T+ar zlRzTwf8CKE2&tTHzr#h0(U(9tH++{CHBF49ic`$Cw#`sG3$cqHnO#QXdYK*L0?>QB z%gsC!VAs?R)@OyIgtIDlEk7nM?pl3d>|<9;6Rr1MhYSW>K})iL@DxP63&z@Z+hM&T za*bzCZ~J2SCnCv>f2m3RU|!lbOAB?D5Fc1ef4Z%wg1OA2{E3PxmOI&z`L_@X_%R?SBr@?h>WNcU?e^4yCTFl>&6vb z#C{=<&qw_Fq9;p8TNta}A}<|ly7o@q&}Is^a>pJj`;TAa3ihc9y*T@PvTE_uPHODU z6Y+~MD&R=|exogn^6WSB zL~qf4yEx|V3#mLkem^l~%$Po(&J;QM`BLEuOPPRmp_kx%(ZP{^&-q%q=*2l-f3yIn z8zQ6)jCh`?`@jgLn2_w4?RZjd731|WnuslyaxtJj3s`SEG8^w1JNfBE@EkJ*v^)3Dz8lvFobZKsGkVHX!6jpg-;SOMli zp5m2tg{9VmMq_*CK9Wfk43x@f6vFfa@X!- zr#6w(Pb3yke|vt`G0JmhHqPf0;*M1cM;6#Yd;3g}!DEQT1R~T-+UU!g zcBP0KA(C}_@f23B7a5m`_s1P(&T7S(hlr9JW=NjZWwqfil>j-IHF0)i!Q+kJCG!;Y zvqgyczR6_aj{Il8^5Z7z4=Q>mkHnZ`Bqfl}eDsXMeYTH&(7-s;e~~TIFybksW{l6B zBMFZglINBm6SL3l)|hqP?t@S6j>2=x&y}oVb{kXOG5_tnSw7x_7o{h-YFP!G(|F$T zi8223B69@q=zE3p)@2-8Myomyp4WC`5{I-uNmS?u(%a^JOQUcn&zs(t&=+vC3_6VQ-<*o!%et~K zn2+AvZ6J%jdFZ$D3U1;4e7B@L@%G+Qd|+0K9%K42v**UZYGii${=BgNfe^g~Mr2Q7 ztl*YiHdg1}qI-qC?QfM?fKvHN^e)VTzqOZvwZ6B;^eS9Ie?5i!INz$B!wiVqvh+57 zT9X-!KCau`dD6JvwHx~1Zj+tGFRRI_Me9)9`bQV?Yc1waBND5|+ZzND8UEFhKg?me zvRf;9CvUXR&A4hi?$~qj+AD^YsX}T-2`j`t^aNj*F2mZS8#VNpVJtar32lt)F6w|c zUb?wsOz*m^e**LgUEh{}too#mR;ZB5HEP#yU1-nU{)q+PY4^_;^0(Ww50 zE2F8Qf5mcTeek3fA@lv;eH_6IU-6EpeTISCl(1`l_P_jLFlEf875??+Rpt@0-T8FHbhkMZNGM!x!a2 zbawnu|2(mmiaPj3&mQF0Lh3=E-AkfXSh*#6RCu1zOD8NHL?Y9IS8yx$AbMG{1+xrZ z&WSmnkhal6j)X$?-M&1&iggk%?`Rr_h~6CfAYXpr-X|o=WzeVkWPxprR=hHbp-1x- zf88p~f`8?R$Kxp!v48AYs;8Y6#+hDCb)jAIVoW{i#wUq*G433F@+(RgA-*tg<5e#S zvmIaU;+A+rsu&XLxmTrSkfFSK8|R?EmfAwg=(U;?-`*J4iCH>A@}Ge>RqTD%6_9g8*?e~dIqG5kH&Y@uKIne@UBq<`GgFRCaxPe@2J z^e4XP&%}Em&dJpSLhAhSOLgP;1)DT2M%148R_F8as5e7dCE0(_Qz9fz6_MNK4@43H zE0A6O+07hRChdVf0Xjd7+IHO1(U zf4T@AGi9F+2Q!TIu%pKse2);Z8j^`ZTDz178HhKkCQ9L0e-z~jq!p3}LTSQf9W0!IrBK*^T_>>b5~186l@QRfGu9tLI-D z(}c+S5RwdM+6oav z%Lqx|po&o;ZkvCPzqVN~_=|p6gmei~@&%+AOR&i{OVRotwR4J=fA8oQ3l`*)x`^p# zrc#N&32D08_)11=KlH+gex@jQX5@L}+GYg0aCd|_b=MctKkQB_NXHMuajt{oW?+E z!+S0L8#(`oyt=8jJi6jYQqWCIF(Zq-`&z)43wdOOl*rFOWVDGqK9yA#vgj0j&?#Q8 zA8H9ZN<=ixaJEX+L4WA$jE1E#E)$UmLE#>>EK`eKRy5~x@>>dN%_+Z1h)LVyzBQ>@ zihT%?%|!82f8D8g+qeQN(eoXVYS`&pNK1#`j}|>B&Lm{EPJRj@w^geBkCza$1PJkH z`HP?C#SX=$g!G1yE+L~7l!?h#cFH9CLl$blBw6{8^QE3sqs|pVN^aBxLP$%C{FXun zcOwz9%S8Q?`im}2gp4m?e?B4I3Po0hjF?c4$mD!6e<3?Y_aP$XNO5N&Puv?3SU2!Fv^)5t5>i z2mRMVe_nO!R+iH7?~#vKNH3KlP$GP~jFbT(Bp0J9tUzk#72KLLa=vs&Y#bxT_CmU| zE%eBwyXr#!fsodiA4H3G${Q5YY)}kL$gJ28Qpie^y2%N-j(Ms=p4UT2{)$Wnx;qi7 zW=lNB3}ckaIc5u^jgh0@AIj_e*OiRF=h#EOf0HAlkMagnG)lp4&HDHD8L~k!8lHzN zq^E}xDd#NeOOib2;#j9AWYk8{q(H2oy&XuS?%+bE_%(me$`idFF=N4b)#Vc%BONTH zWb|a^lGCHS03oe@_`mlGPkZp@!eRS@lf6gx{i(5Kn0}08J{`eL~5y8bX9WAChArhT^ zan&R0=Wx|yWt=t`h!3ja5VAx5Bciu}7E2!YE0nVxNMjp4kJl>y&HP%SXl#liWbBuw ze{POb-GywcEZ>A2jQ>bj+ef*1fjIX45^}v^gdp>l!BZ76}o5L%Fk`KZ>xYd~(C;LLtX1 z<)90>8E0t=dDf`DKINPBV{zZ^sE0D=g-q*wd&N{QMr`suZSz}rIWpZ4v2iW!AM zZvBvll!(eB4=H~<8b2+WbP4TF5nb=d4@AXU!qYA}xC7nM5=kIvNfaqmoJ#$NFncP& zN6~H+eH4$TS6_;D4Q;a`=wK|gL{AI!7L^jMT5#WVK@5FQLQ2ATR*9-=f9eM*WLBJ0 zEMz-&A&+ocyENY{5W`&E6xm{&7f`B|NBPP^dc$05ArXDS-D!FW==IQsx>Lrdkdih{ z^$;?A^IK@U{&)*|ixYDebUZRLNRAeZsmHi#6B$EqQ4#CR=(8&peJpux??=?PxW`00 zM%qQ+dhy;SMq`VQ8~v~gc_32uxHc`h(bS@txKcLd zGzzI@qKByrcdRxRBF;&j?u4w0ogRejRMA@`QRUcuO^9WV<>)D*~<&&@01;G zQ2d@9)#bSA{d5uWm7Hws-zlf$j=5hY#-w1}tehbmoxf*VLhn~O%NP2U%Q-*%F6G4h zMm$q(0rnsg(&|8ue_4qVa_Y|~DAunDEBi_-HsNYu$TKqA%{h+T#h&%Q5_(M8M^7^@MFR!2%rzwp> zh7GjZYV_5>*i?<0DvaDkg5*LEMopd#_qwK;I_5zN$v6jBf5^^_I#&pZ$y#(iHNEIW zPDl*%#w?JUTjrZ6#17`WRB`f)mUzr;O{g(y9&J-ah>*!WR8kckoESy;ODsiew}#q8 z4~A58ddTpF)QLWaTEpc_lCQ>WOVlNL@iLq6{-pKFZS#yp33Jej5u3n|snKU$|=e>ZZM8UxMIXIE$B0OCEElJLka z>x>~Tyy{gh+9frH{jt2BhkJacy1s8y1-XzE{TLAmTbw^F1P}h6C4P-Lb9J@yVI)#w z=a<|OvZ$NFA9B&hRo4-vz#G4AZRq`~J2}Ul>(2S0wOgY-IO_!=jrTz8_VO=1DLN!E zQnBxTe~Pkhth^VZlcVmELYf!;Jtw*WG}L{AH|x$8OMt!Lzi$E=zYJnw|MoL%|kdg)|>5iov z>F(}lpLg?a&Y3fFzH?vq=ejO%$CSJ9w1vfhM#H$ctsxP4Yv%&ow^_*-8e*mUGp1i# zKd8P066nW#uJJ6^tL4p$@q8!`8S|@saPV)wKF$p9)(w?N>6yOlg}emsF<@r3?6vQD zD~S=*dhN#G)QPm<*_JO>;z11c+~H6xa;=u8oN-3v2x`lb^QqYP+SXD=KEgY|i_*C7 zzqXxe>JgWrKy3Cst|WPPBx^~+NfQVRC{1K(4pYziL5n$i*qxTOFx*A8`xvt7s6&}z zl(^NQ+CBTa4YDW%%RTwVrj2<#So2c?HC1b4p+&JK>TzUYFOz@B^s2 ztQQJczHqdvaBI80bjcw3YVA^B^swYb89GL+E2f)HidK!4^H8l20-VtzUIp>n3RURM zl^*3(GW*j9qn=2;5Ij{s^qW>5sIE>ApX(XUTn}?WvKb21ypH?P?d!A{*Idm=8FQi9 zuOb^TmrV)sXuXoaY{O?I>h^^LIJ!r*D*T-+h;veWL zk^b*jvM$FHS{YB10GiXsk?ue%Ul_E|8Fg5_XP@0!d)mdbs*$=`8nj!$Sm9=rln|KF zF^*Zr%h}9SgPO2);smNm`eCWZ#2No;E-ID=@fgS{0K6CQIg6hk_l`LM?hx8}7U4i;pWxSig{(Gwbo2`9_&%RE~uCUT+9y{(>7vc18+LND>8#~RUY1XW` zi26c}Ni|^FY3lxjy7-G4^kgZ*xs&pPt(Gj$Jp{`oB$PGCym#O6id`mtoe!Tg%<{dfEDhlH6dkxibaT%(vEec~=f)FU3NYT%@1k$tl+~ zkms8#0NG^Sa?_fi0Zr~}pT@2iyQ#bHJwv*CmY(VX5jbD@Smi!@>qnM|fc{C%md11N zxUHss$dvn8Qmy)VKT8q{@k)13k#j|OpuarLMipB?L-o`nx@&+j<(GVd=vw}?xhr3W z26<#>>Ia*gu&FP4U&jv4cRnW5(I_paMO#B{4qm(;<%?fgJlj+pGWmOx(yqgahgC%mHk)q zbYHg0lWCd5e}o-2ZRSF-PyNS;3tvf*G`eTVL1qAa{gACtejHCPCL+_i(-H4DMNDJt zMmUZ5F7%UL#Oa_Y{dMT~T&$0pBb{OOAod=x^3so!;D8fF9mIXPdhKPe#C6~WPUqmFL zcQZt$o3qa=-%H0j?J_iVG*Ec%lCT2F+Lq*>EgSq}B@`Tau8M!7WPI2PRkFz?*3_pr z!<^_OAQ9w<^*+fMa-z~;*Qcfr?z4dE!SSC*dy4GYMVxYk4}bLDX7^B%M_kGwy__Zq zl#z?|vLNvDCFJbZ1|%;05PF*s*KpNpS&ED*Wd+P|nSMJ($pRrr9;remGM1LNh|VS* z?lO;i)`fR0mv+)aW(OJ*|J&8Z;=xa%uMpg4Uulkx-bS>K=yUHy!SKmvH37rO+AQYr z)`;lDAorh-o;EORbdsL+Q!a85!PTXD#oLT_k}CsB)mzFZDSPAwRXiC0jg!;w6M5y> zxBt3rTxsI*GhCXzm%7=yB<3CN3r7D|CM=uqFR%WL)P)ENJgrM7It&srVZk&x#beB1 zO96p=OKt*gG)o`8w=WeXd;x@I=h+9}k+8;&lNs__jRzU`-8cI>;R+!4y4P*n8lxBT zuO}|ked0;~?Ok*|_Qw`m^>$@T9WlrJP=bVeE$4a^(edi<*LtG(>OLT#spG!=qJz3f zv9l@~!K3R#sbSiiva2WP&s{g<&8JMVJg$f<>cBR}-SyDbEpS3d0WjXohWg~y$KLV_ z&O9f!Ki-Mme=GOurNwHZhLlBN1F9e{=6p*Fr)MQdyIcw2rmEr_vChU;%K^?Q7>9l!P3CdL@sjVqgChY|@M)j^2}KoLF``UJF+nO&^1`{778 zmE_I!PA>fi7n|nt08k%MPgVFi@{p7i{2F@H!owIA!)$mE;JYUMIlzwIU~}dCF_mS| zwIlx0>>;>=kEX&iIKIN)>=*AL zZBQ!KhMZ3Cume$A9f;n~h$gMr{;?KdeR!s&Eh{ylvg~~FWkYPpfBQ#L;6Ci0&w&P! zJ8SgeDi!(f9Ne+s@Jtb1zb7mR9QwJBkS^tZD6N&6)&^bcJBfA-0OmmM=@ z5dqRuT31ZHp~zl7djPg`sxieopsB?H${pR&g?o&gpbwwr&kEjbF;?Q zlX=?%7}H_IB{o7|A*%1e9m7;}pJ~vm6^y?xym3N;{ompFZ1lAUA$m7F_qR>haY{J1 zOa=7XK2k!7$aPP9SiYE{w{3(HQM_SS9c3zfRlD0cS8LwS19K52IeeD0#i5cUarD=y zAi!f4QZ=(bK!>4%ZgrS^<)cm?iW@Vp`Z5pH-}O=Z3|%u&u-w?oK1h^tnrOZ{N%w(x zPI^d5pKP6-_sF_jT*#Fi-rfY0Kq%Z48I>?Wbc`=;^Fq zgwR{*mAXk1l@A;ZIfxeEU&C09u8;Q96dzj4SwCIKl|Ow|?2&3?HMlcXFMI-4vPlR| zkt(kiC`F#UdbcV^e5=4H>B}0p1c>cQAf(~9&(=WY3uW(=`tFY8Y*=&XOHzOI;fmbd zKfvw>D!x&i>1T-ROJY8LYb3R`R6qXUk3#Y}pX{sFiCLTvz9IBvBx#F@=s%=Nb7fR4 z=raBJvVSd(ZS$ieWorp)tngl~YwFLFOV_oIVTyzDqLy3qnkc75<;wH@RzN9XA?8aY6a-~U5nDQ7eZj4*V5 zP+Og0Aqs+Mq=~CaKvk|W-o3)F?+5gSRtybHLS;hlbO(zV9*!-})_qFC*0$qaj%LOS z31)e>1V{4xTS1zDw6t64f&V}({9elHMa0|`!R~2QOvIPm=LF-_ydB$~?x_~ftujXN z$CLW56GAoHy{!be_U0u%%4;0dPwVE{ubXE5BcEC__`0nxDCoyu@F}X?-8SF@r%6cmBEi`-1F`cvpG^kC2OSCX~SBqlKIlAo`-6gdfE6w?OBh$Q%Z>gDrvi3Upgi)Gg zmYc`5<$y3tC4b+Gqr9GGh9Na~eBIQTdUR+_WZ&Gz93WRabi7v)@2VN1?^t(eJl){N6t?rd~i|$PSy|c}}itPOEk#=9ra> zT}QE>1#P%ln;TVJ)+Xm}nT`Av4I!J!vzbNUbV(-0VUFVF@F2a62HGbeWRVajeG>mdr474$X#c_Yp~ZF8HxdABEA*uFi{W@dWe=TML1b4AtWCCA$dagTp^&dQ zsx)n^$PNE`47RtiZ8Eq0hJT=Jc*=#&<5g&r#wTEOqt|xcAh^%>et`w8Xg%qwp1K~Ee@t^Yi~(YNeSMI!r-o87%=-)|*Jvf)C*96nVO+`#71+)FkzR-<%Y zEzO2E=OA7iG_wY0_%_SiZvy+4yyBu5W_ygJs=y`V_gMK=Yk?Wxp?e)wU zx>W)Ea_?m+yefE}%5XwZAk}vr%itM5>3tSj$s&>2lYWnAY`;K+CxlYlCvE(Y^|hOz z?F(rFD-EIdcZ?i?_vbG+lU=@hOnD@P%_lIz*#&;pwCmv8{@!E%Iw(;(Rb6@oueP9S zSgcDQ)l}L!bNJP{$D!L7Kt1gJYj3ZF7bWCGbgG`nLIyKtYd8|_^PGJx2x|;>&#dslxpa;l&NAy6IG1c%(&X%FuV>ubikvC$CIs|VQvApx_9ro(8N!Ox zu(2hBl@^niO`F;?yc*Z$2Xn}F<%{#lLs)(zShoe;jzbgv z$6~Ssx^T<|o~=u$?1V`PN+gqYXq+FKV1=p&!`a%7l7L;~?Nx?@DkE$zSDR?G!-6v<-C<)nYae22!ngD0m%lz&SH{_x zkLBJ(W3}sG&~5A}C?HtBr|l}ZX!ZGq>6At)4cr4bk9*Wwe|qb@7B+P)wM_Sn<3}6g z1CL%d7`uDyB=6c{=CdM6`?(-m4SE^-+z@{P^*@)EYh9Pp1XAKM>%HmMOqnGsUk__3 zt2xU)ABRm@IM>8fq2)94s#=Pp*CX~sDi8w*ZTZuHMjAu8pp{XE`ACl5Moa1TZuy1O zJuwjAVP)PL2U~qw5|_m1e3Ke0xPIM>>bVgbj%cg7xh?YJQSskbrYwaUFL^-&kF%|g!^i>xbcp+}_?_z4; zhTcbDz`OFji8d0&7Qk#zm$3@p<4f0A_HVE%-t%4+YD_V6p`-f2w41sCC(~k9kc@ua z++KKiT+dt8;G#4P9F>R39OVN`^EdwUoOGvW-XiJD4xhFaggr*=NHKaMtFIx(+dnCu z|A*#^e4D%S^G;YtTO_jVH|$z%iSGlIo54YVI6ZJ4c^!tZD(OjuuZ0~$ zxh5EuzjTj0a7gMa+o(8V_2Hom%0KPOik? zDul}Z2kHRIbz9nX18({i38vy=Yz=(r#%$@X6=tgfR23T32+80PIaAr8{2(c%buEc?*Dz8Y2B+8Ig?mh z#COwlF|V6LYn!AbhSG5%M#~^H>&kYzE1)lug^NIqtkH2NWzbW3?$-()sKW>bxl9vi z%T&1OpXf=-%vc<`>gu7+IXk$Q zG5uQoaYL@n-UoM$XjLz{j?P+d{j&F%s~Qn{oOOSemg#HaQgO0FL|6W7{?aea`y$xMe2){8iu!{Vf}vd3}EdpU>W>v*D7kru|gN=+H{N{5j7v|7s@Q$@oKF)B+^|NmTy2Ote19%T@_>;8N0bn=2^jl-XX z{BA0s_TTp#5o=HDVQj_>S34Qe9q7>YdD1J+jD-(A@``<{Z}<3fN(Zmy2Lbt$EJ<>| zJ+b>lf5rwam*DC4<8sdv4VYZDlp6pte+zWYjN>gt`i=*pvk=oFm(G$6u5#iEK?m-W z2;0S*d4%3KgSVg@iH|7=b)YX}z=`oVXx@7)rd2vct~k==XbMQ>aD%cv zp9@iFi6ZX9>Yty`H=c6?520P1+SWk^9qOD~lYxYL-kQ?4=vo^<(w3*97Ma*5raM-rtC4^c@Fw#m%n7i*4c6KF z&6(qoJ75L1G!fqM0+nZT7$B2W%$|eLBP4ZPWCbhseOR9IktyofW0=@yXyJ02E(l^s zJMm(A4ZF+3x}Dj|k$1;9JcEmuOsRr04aUYL_AqYS%i4IHj6F%AThAmsBwcq|e-`-Z zGT!}`!bbBJEXoKdA$geRXrVs0ry@9$PE?K4kBu@ijW9tVc*iWiOuef+#Yqv>&4NQV zcV&BcDFltzZ*9pZ+U&}^{95=$w7la}Vlcr!(D!e;HWcXJAzwmPj|mQs@`}~EoZ{R+ zsSC-kakDIhQo@4b&GL^lkyM3Ol-c?=65`+z%Jb&gcED@Dk0!Vn)n&9)?#(CTS)%ep zdrqe&oToJM9F!VV*VFL2N->~v`IASYI+?vYXelx0Ww6&R@_4o49!3m`-TrA}3i_d^ zRR&y+2=VoU1Ab z5)rnnhFbcu_y=p4JUs3W#(7~LqA6Or$n&T2&rvanG^+swwH=8!Bfv2x{pA}Gk)kjE zE0Bpnb9v*K2i`f-mFvS%G@aU|#3d!EXpUzv(8l954O);XZ_VY)TucLj7JXYdUP@Uo zmc<-8g)8F661A%YiJntayY(p@-h&zTuS#a!W5E8+c%0#6<^3#%Tlm8lsd}1jxEwDu zaju~oRL?r$g8&d|HxT9BV4E7eEfOm2X!abE;K^!Y2QiT+JH+&WdtYpl38iz2cY5| zIDPd`HwUX+YCLc7o+_;UNCt&2^LmICX=ij1k~r1rxqrCPRgG>9j^lKZ0<>TB? z%Po8j&o zzq)xsM<8_TR`ZGPG@hzVW=D)dQR7(&%~4}}u65%_$IJS)K-HJi0Mm(+pJm%*(iFX%QUnhL(rLy-Z6_#f%N*)T@KQR?I2SodAtVW7f9c z<+@SSbVLoJt~Sy={Y2)93^yfVIaEh;gqu$9)WTy9EtsEzro-~Em^?476B*clj91yg z6-HjnX%=xQb17P5HR6`@2Kb3GjJuJji#lP86M5vGpmkgJoQYB#Se^|Gj(QdNb<0$7 zUuPx>{H&I9oLUj+YiH>T1nxAQ(gF@Lh+yD?uW2kXEsDfvk&1C-KaRm)=qnYFj>cZ} zY@aE%gJ0_2yiDTlTusiGaCnh^ZfufDe2edDZ*#&Fnok>_@4MRWmHP z?~+$bg-uBR<)GE$9!q*OOsGJ9M9a3w_`K`;fFv}#mY{fGa?|M9+4M%_@270gLbzijcDU7mCHTItm8ab6Um>I(u7VKa=6ca{I zJY7h0bhg&X6!*J!SmX?cmT#gDwD%3Ufn6!5tc>1ke*@x-N)MHF|4+&tJur|I|B2%| zrKZ-+PuMgaaBBbLud41e)H#2nq-Po#S(X>{EW`Rm+v(;({yuq_+_qb$)7Av%*I1us zq|u$m$F_#!4m-a=sdYnXs9wV;-PT7Wzs@Lp>?vhR`&HPn`WX~%SLzQ@C)$xW_!Gp z6ysj{uR5mve_C_&Ml|RPGc@_Od6_b0zx*@UN%G^}pkb&!0)y%%RXJYRP%M)fceU=|F|w~++!L;#B~SJh57tbDSY!RoyY zQeV@>8MMuvr_wVj^u6O{`OmMHiZ9l{z|eGR_U3}rk1mRh3=Dj={QTLMa0F1O)tXiI!{_OiCb4q zm=n8Lx6fA)FdWITNCchCo?cXSC1LJUJu^ZE=5dMfdVgSiWZ`=KW7`Ad?_!t+=Q z>&l-dGN{;b9r^Z+{NPFG5B(9I$NoT!aFH`@Ny!3-g_?w%Vt0-B7k3j)P^D%j1xPLJ ztNN$g>_)VwZlt(W-$mg-TKqfA#D;pPvIerB8G!d+B3jZzdBl(2v-?ClL=kw^ z;29EM}S{KO#+Rk z+n1tT{F)1{-%N{n6}YfsMMYKeV;#_+?gG*tsj)^Ej{Uu@FRKFNzlPse>Qd_Z5}-F_ zNqu(5o;Qr@o>L4IP-maNZEA`MImZ1Qc>aR-k2QY#pqCOup_GX_`68A(=5BXbZYaES zO3!x_RlX67D$(-DiZP_ujRA-*6NL14ZPV;iw-p(E4;7Z_gig}Nv$&JRe>_3=Sg1g% zJRcMf^bvCi5}^m0{gQrh3t1HMLYZaMF>*64URLR{L_scGZP;Tl>jp0ipL6$MRV|P} zX8-ip8;YZFtAVr)J;6pBlR`pxRl$PJ<>++*zK4J0e@3*u`6|~*3xHka+44CTaO3Q#7`^SyNKM!C}p z3r_9T)Xk^9_2cU+ZGDStRZ~ZEj?7mH9=ADRn&cpVOZVE2S+_ptUn1Ap_y6)YM`UI8Zr1f|h*6W2x<=YD9JnprgsJnkS~a`)m(0j2zoAHDg08jQzd zmhTF0n_&tIm@e=TNaeDSV9~h80e=)!D46G>>8!~bYS#J_Y&qI2*YzRJcKAuk7#0|6 z1dn$D@Cx6}RAsT;&*+TDS~0!B;OPDH%e9)KQ=W>^ zJofPea#!F4Okh7bXMi04-;@uxEs@n&5lZqP!(q|rjqgworB$b0K`m(?)RAS9nA_yr zQ>3O{#yhsl#YpV0(Fa%J#_5c{xkT7qR6sa&=cA$svh6OkwUONDr=s>iynZI+D6;32 zO^y9g-S87&)BAv6k3BAEJ(twtMnp(rE0+4Q#|uML8kDg+uHWL_^<|~cJd3~RxlHpI zTDEPtv+{{rRc3kAHyceqKW1LFr3SEvxPV>ORG2z$i`NAvwFk3jE}qkgON|!DE8b5> z14Y1que)N|_iDv1(#PW+7wm#JFL$hPF2hAQ{Zk*_;rFRE3nBuUCGs4?Tb>|m_uRXNFOzYfu+MNnXTguT!RN<_=`p;wq~9;vM21ve zuzs6h$!3g(+)*cd-RS;ULRDNrrA4%V(UtqxvFJ>X%G)BRbjig<1uuKfdtD`Yea=If zX#TU*W^uddd(yQ?yDS(tCOfR1x%<-##DSQRFh%T%ip z-AD}7JBw{if9O0q_|O?jl;YGTT`JFQ9Q(V)Io8TImkt=B2lh$$_d zaMr{-#U@9}3DpS1(oxAFiD8+pf%n1>113QiEU%SIji)c?t2k}sGZ}@XYiGvwD?$SE z{}rF^*}Sh(dV$}-ZQ8RTd;fN!^Yw!5wbDD#jA*_TO7o01`U{=Im-o>vZ+HMqG3m0o zfVNWIZ}logJ3krEuBlmlk(etBYQ>5t&5hSkXCH%!@xf)j9Sw%G-YN zQMv*6z4;i&k9{ka7^1c;8s=bW)M;%vHSV;k|WiyKP?zgZP$g@qBLT#WyJ_1-OLUmm@dh(9bd z@3QJoWtBzky_WY<4H&vWd{m*^_W}J0aV2JL$B?$mC{;b{P6dcjI^{o}5YRKl*wNOt8ryAz+Z|VF3d>K+NOzg5Th+IX&4dB;mE) z`F{0#LqCvf)ba`CN5CEA^u1a)6!wQWQ|*#Dttk5T0&5Z8@9*u1Y&HH z6uD};3icQ!LK_)FfX>-osJuN>T+Sg+O}uE?E8|OJzto~5|9aTOuxSLf=NyusvP?UG zc9mRg{NHh)NbI4Qf4Ls&&6KY>)aI2|&KmX)fxUvZ ze)hW3ZjG$MH_N~a3G$C0;i#TzAj!KU#4Zs2?*0Y5hpReDhKzRo%G$;$=i#zx^&kYD)9F`6HiglvJFlvA zSHT$1Q+@UhLYxH&(t}m0%~Lt)!}2ndYY+)RU^L9~XF0~3*S}r11=4v?7*aaXj0gb* zCpwpYh|y|cSe6WzAAKmzx*bC($FnsE08R_k5OA=c-$p`y;@`qnZj7+W zl-=Co=0>y&OiXI3xP#py-By~=o}5Hpjs~woI8<&~eof$JG{O|uxaemvi@Cc}Xqq(0 zm$7Du6})V1G`AZ2jsso3d6}17+N>m6rMr90jpvgJ0iEiR5=>E2jiHPi9T`CT#rQ0R z5G^mWWiVrUO<#8GBUB;@igtY{YJ}~b>s(ZBWJ6w%4op~h;HsIj)0^2h zxg#=G({HPQ5_PEvEwrkRa5b*mxTUWKb|T4+FiopNTJXVkoR7EXyQ`gl9xA9p7GCrK z&AUF9GA?lMV^SSxwsqLp0*DbUCy=hsu0F}MJpo73Ty9>BYB2wIoY9eLlbuL6=-rba zbCGx9Z~2r`;g4+(^EpL&e#ec5LiV{Ji)k*p@E-Nit{&Uk^s3aiQ&sTOMr5*ic%u~Z zl|6wt9I{sYA|k``g4qYWwjMlqhT=p_I@v3iKi}~aJHElft=E`G0Ow#y_{pQeSa>H6 z{+>G+9i&|e2`Dx68OZCm9mPK;;e>5HMd*s@#h4G$gPFTK@ZHcwu(8fIlrX5_SU>L; z7WtXXcq2M<%<7Jqr3|^jiT>K>E}Ai`$=+QHCU2R-si&4-44^8~ z*SQ=o3V3o{R>FXCn$734E>hEYi}dad{^94*^FNusdGNIzg^D{&qd&DX3btLQp^=jRy6M}w2I#*136faLQq`2+ zbC$GI!Ix5nvWzj1N3_t&<#0mGD3HfY>Bb8r3wB%M9ejW#e7=X#))vP;I{w*2M}~86 znHz2BQ{$4|8pua_MJ^ussu1`l66S}T3XXU{Nd!O(dogR09ph-q+FIMxi(-oH5?{YlZdQ$`Rmovs(Gt>NBhwPOg5|zc zTRkrKZ2)d6e;AP9yaUx=@7iiLe3F~FtiU%fDE12T>7B#ca{Ci5V~h*Cx)@k zcs}nw!~mtgtX%kyQjgkvhW&X4_2(5~`mg?Hcv8>1MMa)+DuAd}Is1GsY%g?D_hj?& zG2Xh=pI3(t=9@}|&Y2pc3_?0M)vDkzORbyD)+m7I-PditU3jvVDuvTaIF~GGF(>ia zY_u#5Hr6B=>Z{$U8G9mVoF$Z4s9y4@>mZGg6IV&yWFkF_(c-Q;=s0kRkGvzhA3x7p z@5JcS*-H56xPDJO{D6-#A2{x1o+jH&m>!~GRP0pDQK9-xx)9-!_V_u{Rq9Vt!t?Vy z7?4QfsYtr=ew}8blzszo_{%A{Zen|Y!GTGV%Y4Ypx4}Lu7t%5_E8JyF-q4XgX=|Ma zE^9=2cFsgdK85-`rRV77SXrix*w&U=!OT0X`nl~FNqG97NH<0{sF?uGjA+v|Nz6}= z^8NSJ37sn%sK%Ph=sgiq_N`o#8`(RHLXE1m5ouW9mMCeLuO%AAzd@`Z#w9hRcE#5U|o54Wqr5t~W?YWI(- zpMv@xx7``f1y`As*OvatwN=ihn(JKRiG=Zer3&=*%QnHa_ZRB+82-NqG+8HOlQC=k z3(HLl|1g(Bk)4d~8I1o6mhHMe*|Xc{{!peYPSoT@*njLFNY!~C`o{$P(Jjn8#=wIQ zePoVj>S2RBR6->;8;({Jl%OI2H@?O&&spB=_?0evhv~`ay|@%}%0>(iI!P9F3~o!N zw_s2dw}$}@bZ$TsH-~g&Nqod<#hvB#l8C=$&&}$*O8UfZL)T9{>mSK$YJ=1dU(k2_ z)%#_$EM{t78Gh~aBaYAQ==8@RBz&%|gds*PAT!|b7if#EedgaS@u9IC6KjeRb z^|KO4@>I5r4qeu$SJoyfdY|NQ1i5k?0H1++)=9#d>S*}NqXXJ{8xlX*@#0)N#$|2w z4>QwuC~++wIdmfP|9}J==B2hrpiQgwqtc-9Q7-YuWR1q~)i4n+@0k}T(S-Swn8t#Q zA_&G*ahVQ>H4e8DLO_B)4^$fZ|I_>vLeUT$SD zb*ChD*tp?!@uXqHWg|E4dp9;HR1?5=p42+{vD{SpO%i| zAUU{y_wb^U0kH5gM-5kqntcA=``?@lmV{c1cz3t5{ec%vPFan9?=)Dw(A!|fZh9&I zNIipxG>u!RK&+j8n*xMidqkoCx^V`VGk>`+$*&DwiJCP`nl*jhAw1DAThnS z;ul3K2T?Ytm8eThotz8NXJj-}YdSY)X0TnZ7rytM8ZiOyovG2<}gWAils3Rfx)~%)po@@=hEM&jj6ed%YVZ1-HMQ4 zQtm*{x{i9p`7D^7 zJ!IN3ni8*runHf2sS`=_aGa4)>EW^L*;BLpe#L@~lIan9{tQMCe#13XP(yiMsPfAx zpz8ZaynR2VlJ$gQXEVB0DqW@Ivz^`EGXWuE#o{jBbH9{z&_0!87Aa7Y_8@b9Rolar zCT$6m=~A+qUPUgJb!b$=y&SW!E1!`D$~lrt=9TYEMCXRmUcIh*vFBc0z45{)|D52< zI^8a1Z`+em=|pPvw+pZ|9Eh^%iIw33ay(C{ofx-Tui>^*$%wk>6`AeWV?o5T1(DIP za>Mfkx3;dKMke?6{aO`z`h|a&Z@}@-28jkf6`4oVY#W?0{AsyxwwzA`ez%uMDBPb* zK&%Y_8U+O2O`)eO#(>#t3(Qd+6!m8+kq3!aQa-8vk4O#F%i$diHBqaI4#zrGanR+DpGw>6u~(uQLjA~VtKTx2#Z?0& z#a~nyS6n*Xp}%3BuKdjN+8`%O*89oG$2QsLy#yOsQd7p-aXF$>6>c}FiGpsEasEq^ z#c$_9*-5)yp9Ye@Ai`fh&cp(i_TLl5+PC`^L(&9$S`9YPvkZRFaP`+^pS3fnpAC9= z+kDsc|0TcXBCQo8L}^`uyk4%;HO%w#+~ULE-PJbt`yfPswfQ?{FCFv%QGEFcZ#H;s zZdWNv{75=O?;)%=n6}*5zD)emcRKQV+1Gi^OeeQ<77GSb-C!Lwx?sTB)ZwtjiGKQg zi#5SaLoRuv$GM;QorJNT%pO!`>Fx&i8NC`CF*ob77(^~wIJePd{P)FYfJji_;UGHn z^%Y%j&3PZX^xZp5=B5?>;oKTm=)`+r#1dE#{x@&mFxRYNJtsxGwQGyq@IL0Zpefkl zjmSsr$ji2x+=VGAM-;%HRv)nnnOQUA7#V14?bRa0p1fsW} z(^V! z#g|ZX;Osj9X#Ty17ma-lXmpS|C@gc}aIQDh|F&ZJ%ve$BgXVnNa(kaQDC0|{V*f09 z)iyIHaQ#K^c-!;8sT%)MTJ^X5Ffy8!I%oLBU%dQedv%eFC^IvN-`VxTQV2n#$7Ui? z(@fN?)igTFM;)mz%5tP7&wb((4UJEPwjmFFe?>h3)Pu+^iOXB=c8JS6g5z5q-ocgw z?5nR(jFP&7CnRg%RjOF`-uX6MJzMvm)pL;Ng*Q;7uD(qzdjD+ECz8X~W&Wpjc!EcD zXCl_8$<*!{xB%*y?b+C1eKz*w5bc9R{jL2TTg-e*y4S@##SWeBoT8iKE}+Yw#b1un zWLN10N}E;&CQlbtb0xHq25(*M!e-eHecs}AXaxJ6==^~jH9t?0(D#}Q)l(Geo34XT zeDOOOa3I|cu8WngnBFVX!b&$37_8L&R$l#eT<7NQ{^yvZPR>=#l9MVVy=9QCr}@G|Fs=e?4E%T5$B`l3xZ=61vj$S^MU3N%-VJDmlL z6Cr`8!SP;hBShmQo<+X%0}PjyWXs)jP%iy8?b12Rafu@e`&wjJF-p{M%^`uM%D#3)d)@`)n8~q z>*N$A>YcSBO^$EfOT1oRs8EZR!vM!o!n1E)(mx1~gEG!7VL;chnYe+Ovcj%PizzQ@i{qar4gcq-S6BxggUgCw(|CoWhj??Qld*!O|SiVJ_L ztH<>*%li{t_!76BP<_4Ix^XPxA8rr)@h{1jk{q84l?aiqEw`L!i}s`aQ9$URG1~C6 z*|~nmg>cghs`t}Mh=HCi$6ji%E1_9OsB!2!KE!*QZ$=|C_PZ?`lQ(|T>O^BxIXH4Cmm2+jD z<1LNRN%8Dtv9$fagl13dU_Nh9`<^*PL_LLPp`PwZX1Xi4P_ampphX6%>Z|6kh{_&q zgCG3Wz+d08b(Za`TDEm^LrcC7x=pJf>l=xJDin6I+S=-S=vk2_J>UbLk8-t09GDTa zvrczWxv(S|nfW8#M~R50lCpJ)?h;10sMsCxiq-P1DZ=o$*0dztekYzV%1G2?i;PE8 zy7?Qh^#nQye_ubD)8km!y{;#w04LZzklfb|oA(C=`?59Zw4o7SnwT9;4W$7#D)$%ogDH(lWbM@%LeHq>&6j0v_}pAXoArG4a_YkP2t#{8GVGO zMr1l9!P({&fB_$B@jnDfSnaEcG(D|t0ux^+6X1?=p>LrZB#ML}A$dy;sAR_%Aa~;d znnMM-AqhdKp=KWwBA61>oeloe`-79{zOebt+$m$J+N>7x)r)>Ol~x&A+9StO z>U#{m>z`!s>u$48tgs&8XG_cIiz3p&Vd^9LX+gohuLC5~Me8-)G%s?H#783`qOSw& zGd&ImB4@=Re4rT$`H-Lu6vfOZxpkV%*H#TW4*@pTcIc&FRK?q;tI?{7VM6Nzf2_yr zy=ZK!WnI-kV3Q?$s9tUT%!pmkzx=D}uD{xqT4_8meYNzm&F70ejG+GCZU#saQkyTL zTHKeWK|HcJWuG^d`P|)931Xs|Ij>Sx9?Z)Gy_17I<%oKs#HsnCgPGH>+%w@t=SZDY zDL{E{7wz8le*nTjJ-^Rqo)mET{_ImL`S69@)>&2^^U-u4$e}2Y5K(`sDihKx`c#GZ z+-2OKv#pX>O2{dX;${}Es4CgpLZU6I6Bm*!QEbY6{&}$EyDd$=r`MaG;fmhgFcK+b zSM=@+IbQ6G$c=&gqZXdd8~JL?8$}-SIhc>$85E~~6(Z$G6^TMt!Af-@FJV_2lls%O zqdO;g)X?uDB*%f$GKSU?MSX?L+^7~?$dOp4HHhKGO!l_Ls1r|~A0aIrWZp6Mg!31K zEW^qmM_NUG5VfU&dQ}R^Ayc^-(7^Axq>A&uBiOp_Yk0N0j{67E6r{rLqu1 zABuTuI!k|%5Xn(I@#W-7ndU+~;)rWqo(yqZo!ZMqEfeb$Nx`?SI=z$&DrCou8Y9*d zD{?*|r65NVM@yJ*X;I8OqMss)MK6kC3z;E*qYWsj!x?K9yI269(e5(=@GgkdEaaoH z&pi0u`s9eTH(RfleCuA!WSQ^wh^)lT$*fRGRz|8D+@`jP`0BGYYTZ|+{Gq(3F4koH2j;XFXg|pWK`k_*{@{E z7M7Zgw)q^Kq>aG+If>)wLi~E;ozta1R1YX5r%knR=1#-TUwVemC`3eOlx5XfJcr$> zM!{|uj?{@BjCgeu(C-qj1)M49NEv*8x4k}?deb>#k2SiF&PAr`N${6?5DC$y^13|> z*ulgR31<8rvD?60%#RyI2!&LS5+ZWaW)1j`m5XeapPlzJIuy0CR8L-$2-=n2`{fP3VVB(pa0a>4Y?6Ns;U(tR4{Z;zrM$$U0Xs3eid6bC7ey zIRcKPirg~g@u2}zo(U_r9FeZ)H<)FiuO?;LIB3_W67>#r>r)Ylrdk9cW`imLgp`^n zZYHEvmX@+(3d`$MR>qEp9>uVKKs{K6oM3#n%aP>6`%|Qss2p4Qs1$EVLd ziv_vAkZS0MO?9V^oKFbXL<;ea;<#=;84vvjj^N}bOYU{2?nFYY9;$&7GV(@$RcbRu z>M83;4j6qA@)3E^$ApG9`hU%ZvrsP`^RdSmVHZ+EK%Y>5>ODr5{=Mh< z@zx_g>c3;&GIdhUf+HC_R$CguCe>P*58>M^4`k3TjJf&{K4!#e~YhVjO< zyd@@n>1u`JKi*Up=Y{@%k%_*5w6?J?Ah`#fx>yQ%IkT48H9yw0d$fR2IByb_KAyJn zLwh@Iul2?KajSr89?Y9sTwd!l+F)IBPQa=%M?^gFym`qrul0F#@d>$ND6BPav5r=o zmxMgD^gIRpQ1=c;BuViGKeLHeL3*tm-qW`-Th)58@X)5U5G+%FO|f~Z#iQIWAv3T? z#=`b|VMMfZsDC_T;bD%9JIX6Y`z*$SJvz)?v^Xuzd(z}c-Oh#h>{{A6cZe)Jqi)y_ z>hSDHW=8DBS^9Xl$Nd7#DHnE5@~V?s(F(PHH+Z@wF2-=~rI2eEGgSOCu#d|Z`{FIJ zzm?mYtqgEz; z-YK)xqZqQ>@Fdn?8|AeJIM{j@;@RPdc)};{Pjv?verff8SPrgrm6e4)Rg)&cDmfvS zyTA&0VNq?LBa!{ELh7T=in=7R4rJ>xs(p4JA~j>j93eAIWVb@vMW3Cu8!B=N>pe~6 zrt>E7oHAdtvHm-~u{GM5J$4n)gCoYVnh~7u$ z6cRhJQ@1jIA=v`;#Sv1x9U~$&d}xfd+M~J;A;;J{v~|nj-QKydU(CELhu2`YXw*AU zh?fE5S|3l$M)`K4J?gt6MCyln&YQPi7*y*kBxmgS?u~SGyKxQ9j0fXPc5dKoAR#HT zHgl0kodkr`%vm~)O#VB!=R>{eguIATBfJ2rZ9XA?&np{n7i1D}Rv?70h_{!R{(254)_bgu>3Qx1#!UptaJ-qRd*D3nt# z;*j#AxX0(sc9b9OSgZ zMG2dK(+k+`LbNJG!x*yn6**{QWHCsi4z(Ut{jiWl(yAd_&p8#gnR3qUpr`+L-zF!iq67yKG<48xJ zcV6NYyxXg`j#2r%x(*{h&0~6a4wm!+b)m4lz03xmwu>iDAW{qVvKBH+r`mEM>mz$J z?;RU;Q5JH{_|EOeeZO>|QhI!PkEMoxbsyPVmSR;*KD`d=C?P}^B}?VAQ>ICXCV?0W zb!QclQsvVtgma68w2mH(d@WYY!_T+m$S35M7BL4S-(d}-FZs^IzUX{c%Dg{!*~WaA zeEq=j_h=E&w=Sd}-nkbW)?%B70~SB+NeS|8e69d+-QFmN>Yasn>J{$7+al$E{C5s_ z$`|rtMK)MMi48fD=#ClMfI5W+gH%81OE-8eE`TiwYVc%d$Vv5N5gfv60EFt<)N9o8$jZwVo z2=AQf=%C-FnAc+C8;C6%+CM^n%I5QCjeAiE8QzSF5$Ody2ev&w9g*8E^@Fscr5@DP zR*3W|>iUvf?9_oy$goO1{j8K&u?x8n(RlRT7HtE2f`!C~o|2+}TxTTXqhMc9N9yLg zU3%MC37}Q`$QUR^B#FPVT7YpcLn2} zt6icO->v$TQ@jf;1orBdwo|13JC4{uZ(eCPVRvu|5LsF@FGq-EA7%rUUNcwuXtRy8 z!b%?=9YVyTcBD@9n3cIoL;q-5A;~a6MD`^0^fPZ& z_OMF3tQsfs>$1f7FydL3m;+WvmE}{e8Ic`Fwkgi5p|PeISc}@7!6bqi?XB7YUiw4PW8Rzs?sY2ir4?6Vr&IY%c^NaH-a8gd!P zcWP)d!sr~-Fujt01d$~jOlP!)n;XXTsu#zi$62hQ9K3Ti#xOCHxq96R`YD7|oPHq0 z6EsLtcyD9uQ7A+Z{~d3ahI+f|Gdp?-ghWH1UG=I^jJ{N#b%Z>m`aB^#@io1)&<|U^ z=N9S`9|X*C3?Vu2>6N9~(8j3ZgE-mI5s`96npN!PQ^hEMI0K^E@;r1xWMwU^9;ogV zLakXvJ16>;eN-n-rx4@{ zV*+=(`iwPPgX*b%__P+=K|9O)9U5x%+DgF5+(KHwsfI$jcVkCn!vt`yyyX22G*jr)|zh_@>`pZbf&i_`AS8CviKOq)AqsNbbG zq<@fqC$=CCjrB4u#&|Kt-?TZGy6ZaDOn6c2h0TfI4=|4md(COZDcFCD)@ljVx6 zrZsO=%)gOdz&wYhKZLVcg}Cb!*R6?&@HuERX5_uCoiLEyO3_!2TD2Zh#w@qiW5oG? zbB+}5>DPMl>1&AObWmfo-V)ncLc}R>Mf-~EF>C$Qj`^03O!VfpeoJF%If5O`0B^&$ z71v|iYYr;qi(H<&3V^m;flP-{wz$AZ!SHfwyy`P!T@vE-XO8SA;}o;lpp z6~n;Tp^*6aHi{@ejHHOT#ENx#&BZ8xOW2ikNN|6atSR)IwzYIg_zTlg)6&-=xF1)KB)z?T-%Yx z!b*U4dc&FBLY8OY5u(otH19)5@-iqyN_^O{O-SZkY9ZyIhsnh#_lIp)5*uTGdJ+ct zvCg`(oSE6(V;6Jt+Dm~g%I2lM82f0ih0L7qt-SbD33+HU38|H(<$E9fT^t!$^U%Y8 z&?+J+;LHXg%`-O;(W%1hvmTDmMn&ZMtYSuV>Gge43Dgy0OO* zCw3O`k%9}e_Iirm0uB-L5ELSRHFnfLK2qc1t^Xq!ed$T;8v7FTbR;bJ4Xz#ZV07~# zW_0Vj)i^Pat4qxqO)T}E;VGiMEuE^C^1!>L}5Bs12)tyDJmyEYiEv zf0Rglgo82u-lrFAB67k)j?_oYho*}ONwPI@=SIqg)lq$Tt|6ZIQ3F?D^)Xy?BQiZ~ zgvf3-}cD(yax7#E&IpY)2}<1TA|>S8~x?uB(2*X(PC zz}k7u(l9fjuOpqof9D0BG$ABMWRQJ_WEeXXV%+Q1i;cNUV&AnHpWfZ$Vm-Hqr|Tjz zKROz9Sw;zC)qOvEyavZpk8w{=N(^ zH$?WS_8TMj)fHlY89mNI^5u2A;^33e;iD7O=-zf7->sYbDiG0u$JmFy zKk>|l(YFP((Z`52A{!jT`?fMtV_|tcn$GVB;^iWLh|F3r&NRlZ5wmN@ctY?b&L~S5 zrScrrSjMlEx&QT8+8^GzRb*t~iVER8Vlf)482=gThJrEvv4gG;p2Qt3p`|yr2a53| z3aPARc9k~6ciTGhm=o-#%tFgZHc1P-)_X;qE$N6ET6#ljJ7CrMINn_!Pss5hOn9n% zbUV&}wHl`f?od0#R5yR=jXqEa5g+V<`y-0fSjOL6JD;lCb7i@6p9N+$QYD-*J-kIO z#zG}Oq#SYQ-fIo(3jTH;>iQXC7$^^>4_3s^FVnlB;2X>^!$9jpi2K(W$rpW{;um-E4i`DvnGitAqy9jBV9XMn6wkL?34?ofr>E)9+ zQ_2l}X;ZdgL~D1ZUMKRZnPx61`DWU6@t3Aon7>WwvdAlHRytZNQ_QYnM0#3j+!tqx zT@IA6UVp^XgglSA;(Vr=gH6ocpE<>g)$Ou0W9BoOcRDEJr*~>WU*~ksHb%Z@v4}H& z;)QrZ1wO5Y4>{_{MXOp!<_>{Vlwu(ln=(BDRw;-#829`Y(l*+Sv)1-_7d(Rqwaj!M zF>0Avzh-U;ky(xBO}1e{U(IYSWXwmJt$$Rv&oDVF7<5Q zD-2h(C!GU)T2H0obiUcWv;bG9iwt6a?0xnYd6thO8+$uWG2)3lWcFRS`{$JDS}^u5 z#CxP8VmgZaG*4N^H;`#`u^ZzYKC%wa!H@?2c-l73&6`s;4#rRCOpWJfO^MizJ@ACo zg7MQid*G=abB;WblM5-2^};-9v7Vcr9D!@STrJ>R{~NmETCbG2OZ*=}yF^HTK3MlL zm$&`p-+1jkuFhJyVcv$2c33-0j2n6*=FVxO_gF~bnRRoQlK3v{Y6m&&+~cD&oFfyh zsd;2JVx5FGTl^ot^yG3e?{=OcQHApQ?ACBT(-bEkSP3w1%?tZR%-hPw%*A=TXCEW7 zjr(~EDHZEWgnZq`dqs#*_WJmLIo3=s7Ose&Pn?38!z=bM5;@<}{lPDNJMfc$m451&rRioG0^@j5rLq7Gj1_!MwL zl7)nE83~ud-Tqc8DWL|Gq|6s7Q|BUE=H@K%+S`)LI zR`%>bTv2hSffkFnPGbJ{uarklE~K!(*Zbsir{a~bW%S6bQY1t0>`06r)J&^%tv1Q3 zRZcX_suYqZvH+g|JCSh-Y3y}h(zC{E?K$-r9b5m@FMPL}!{nRggVWL5x}2?JgnfDb z17?8BBCw3M=Bnd^Bdt1rW5ig&^0_={v8;MhLcfddPU*;Dmlr*tb-27*60J5N^)}niSVt5 z8xr_#BP5>UyoRpN$KT1Bd!Mc0L-X+Tj!`Bup*2=)Sk){fHH_qcuW|E5p15YN1zF9K zxf?KYC&Y{R5NVBL{A&*HVob=AYUI1Uaxu(;UoQHP5wEp8F^!PF{~FhAr)ZdWD{`9} zYqLG9V}x++=>Zc&cI7^ej&#foU;BJ?ty}wv;o`cTP`Daz9n0*)U&s9vC=*Zj0i=k? z3}qRA_DAogb&hR+tPfu2iKXGGI?oE`tqaNh;?0u!`#4oM8rM6o>mfq?JEFZ@TfXiT zv18)bJeFn%5u~e)f++G}o zxw_kPcu~G>tu%Y;#e*`>0^VVJWCW4h0&=k(eJ&22gYBb#xv@TYi$in2=q<@RFgtL^ zo)<#46B_w9{^ed}pWQ&0`s<5Buuw z8wO_E>)aUMMxQA) z@z#6p*+I*Hb>}MnglnK{x{$5!e5|7{dgmJ>)*BY z-NqFa!#@enPK~k{@U6xD6QB5MVPPGZkbJQ+NZO}%J8+nc^GF z5)am_?%8rie!XX}74!YKxbpt^&6M$hyD(1(nDeveEra(|>ZhOuwwEW0 zbwfvguc46A(6_!tQ93d^AvLh36_3x@BWmxMHdX-($=vB~Z*N(Kox4X}1g*nA>UkRSKb5g_lA1{q<$kz95g=Z7( z+lyh1&Avi@;BR zTQwjHI2IaDLiEA419hWMQg~4AeVO(waTxNdob@bQ`X5feJ%s;o6G!&g6cNGauDzFtUUjdrg& z+Spfcd<+!!L>}+xLK`Ba@m#A@ydx2R-&`&BkZqh=^W*bVMGttbYl|Gs6OumOPii&+FI&(Go9Ak#P0UfM!8s1uiaK2+p2a`z)CV9jiXymzL5tO2t1o8AqEGnL_ZiPGIWIW(MI<(kl$@6$cN2Lc<)G%`d9DJEZ|+^oi=XY4 zf|-;nUnb&?zahtmRq(&Q6PzA$<>m0a-K%F#*mZuxv4L^eD>po174P-AK$uaxTF;Bx zf!aEe?`_{y9b;TK`Ur4;T2Ub>VC|RqmTjzQygum&_w|kXr8s+9NS;5X;hme}2K(@7P3$8NeUpc2Q;F|(4VBL~lqkj7rMBMl>f zH=A*F#?3CPK^Dmoo{xUB3jyM~WqGb>`L685!tBfSHN|`3mXNrAib_bEnESXs*cbg^ zA&vV!ZgHm;cU7q|qJMgeP6>Maw@l+{8@KGtnmxC;Uyb{q$Zta(O(Cry=etFxn@@eY z;&1ro$}0mi0=EXA;f077=;K<~8hM(75Ir>hp4vUGiima&^3kjNqGQbNS}YqQjaQD* zK<3~>!wtRaYZf1WdLKR&d$T3C<^#D1X(>+3c-~eLcSqe;3(r!xu2YYlC$8emb!qay zjQOY|i!E$>#jw*>NZlX5=Naph-)?DPM(uVzHQyNhgp2tFosbw%1?di5nizi*VmwXg zj@~wUZFg+hYuq7YSMF55P2R^~doY`EP4J!aHQ7>^6$=4Ie^0Z_*54g1-lONW zjdLFEb@^U=>YG1$<%P5lesC=mjA#m}4?T%{XISX}+^e-=Yk5~4%r^8I4%QakE1t?{ z;l7MH}V*KD)sys37nH~Xa-Jkii4SY7+@uJ87 z>{QOez2>R__~x429IVxS%}c3qMO*)vas9;X0%jhBG|u3@p1n#Rk^N1am$63*+O!_zG~Tmn6TpJjodzV)hK~;dO}*j zN*FJcEy$wZSS|sC$O)D0^-Q^=(%qZ6a9`VV!2--LyxCH~EZm#3E{sMzUFQ{<>RZ8# z_vniH2(H1ZAJGUQm8b8#-&|7MJ8Qah1tX1hSKbcg1fWu}ke6Bw0XY$37kTgVDtN5s zesb(5dIj(Hm!u5=Ie&;9%3}zz+9{4CWTZ-Q3L&#SifH=m#+;}Y)LREC_NbL04jU<7 zFQgPB=1`oHcVc$M*JhFTUVL&#p&lql$|9>Q#J`Y{6&Br0LSD#}l^5glVs6+6#cR_y zO(_u~r-1gG5M61H3aL$8w_~^>Qw{2bbHogTL8N0!S%re=!h^a2h9TsmJZsg^7AGBfLu8^7+ zdAmYRj#NwVhksBm$B~NqZ$cjDe@YNf4E%d~*Y%8Vu6M&8C?P8+{-ynEV=|2V&bQs zJq^kf3vuNl{5^BCI+3?%XPj&zL^mx(vPuxW#%!z*3x7E2$dUYL?u(EX(WezMWERox ztPvmI&THhuws&n-m=SUt>f-o0Fw|TWQhj;{B3-No&*>hPNC&WZ5#%DKDr6_rZYtr( z&0<@1VvcN;kN5534mo;nlDaF&Ab5a*!u~+cTLST+wGb0Ycg zytb)J!Dn#Tq}Z*H+;HNR5Eo~lCy3&`iQ>vac8$dFe~6(CiQ2xX67NU~6b}({TgP>a z;dxsbA^Jf9_rVWAuOP-|gJ!@A={e#JD8w+jB3xv8GaMt0ZI#PbT&lEi#0oSu*&JBF*Xwr6G#Ii>MEC+@%ard|3js>3gF2m3gUJ4T~kDKBN)^eZRDGykDc)jsHI3hfxM=V5JhZGBhl+sA=Nr;O_@n?Fur1b5G-U2_H zs|)kD&DQzMos}3wKSH$ID4QhYl}w#9C3*6LI{eFTaujmD zBo=ZorkeC+1@F1!UCp@PQV@TnnmHlAic3PGr@-hf$d!qiDsCJRQ>E3BlhZ2IP72A< zaEGK=Y$3CA-oQ6TiY=fXmyngPg4KVKyh)=_$jOCzUrN#;Y1BVge3bV>A0wqzCRMZx z(J`Uk3fY2KH~LH|=Zsp(LaK)y7)gny$O!53Df#crmN90R^8WBBQz>OpXOJUxQPx*T z)q>*NE3l+ZKGa3xNJTwJAv?W~CwTQ?4lKDc4`w2D=G&lJHX-6-m|sZk zgiH0Xj_9r86ZBLMbp{EMtBGD)^0D$5HB6p;Ayp?KyI$mCsh^UO1*DP6!KhRk*%tCq zvDA<-!sNo~0dJ->df_OWkT!oYN|43~A18PWcb^eisZ)o)5b+@1JLA=k9={I+FsfV> zQmkTBDoytR@np$uo#;(zHOnOpV@Ir#zNM=WhDg;Jj>JoPPeSAaB1@Cqtp~YSTDlzB zzWKx}sz(yyDO9xnOFJIfQ(aA-1U+RfxGt6C%1BF&^SUG4{8!t4LygJO6ZCa7FXAi?M(8?6p03Z|mpC!s5Oz zW)W|uT=qvkE7!%HTaMVpGne&O4ze^YXq|Y^Wvg{#wTX~s7{$rf+QD3o9GR3!uSUqS zjk%m`r%v=jv%T=p#^)B><-gOq_BDT|*FjwuLQZ?=&*gSQplVcahp!!Pv)qpb%<=mG z?tuI{_g4pXh?SQh76B**m`)?E+iaIk76BQ5_Ar-|*NQkJUdS!RmTy}{9kb$6o*R9c zyk|13&CB~Hob6S9f@xT(l#d4r_%o+$nvYRjild;fDMVf^KJ|@qcySF}-UTCB-r63J zsd~G9p#H|g#M2Rw$BwLBv;uGe5ZcdQ*V-gknSN7MC4XuX6V1UB&6v6LB=J(3^{Bm`ZZWN zU&>1pW8Us*9?WNzD)$F7#ifd%AhRoV$p7HKGwfmwpmw!Q^Z`pW&rb6HC4A zU^K6oyTWAOoLZtnhLBzl=7WpfT1hd-2Pn6Il?kQw*s1eT$fyf*Ii)S11B=LivBY~v zyI^2;Sx6a}b1nU=@>hsq7qAek3HeU(iI|x2EF*@DtVT#0$WVk>$J|sI*=5xc@dO## zYb{Mh@38oYcFc~Iu~S73TZT>#`t@asIN+UCW>1Ed7G=eT6Ig{L*-QMT%SR;QJ6$cH zTBajjzJiEO9N%-x;}rbV*S@}g?X^U@;hvid2P@jk&UI6to{$heN~iSOX+Ejws;ZVMHEBlSWu&dwFG zc>cDo)6h`;(=XZ@F`ii7@$Muaj1ZV6CAi zoOAa>Hr{i-4HIUQYFLq3Kn*7ZWND5hot&TGZvti06#({a9)nV*%AX`+~pJX24lKLS8*O{7YS1A8WRC&sLm< zA|%(yYwbC4UY*u*!TYDS>D`Zrtak9ms6Et+`NrDqgFQL&Ft;m2mkF+0Zw;3k8UZ7J zZd}#kf-H@#*ysT#bU4xq-#=rt%ja~=`eFIT$sD1rLZ!4(ogQB+*3TktG18* zwv49|2)XIQ`Y-n=`Pp9USd%5^Jr}lrAAGM|X5YE7Vyv@1uNc55c-@EIBQheYJ_=bep?_N6le<8F=hSp( zUi5z~#F)|76jHe>M(;qsl-58<+jxE~WRVBD=PdXMrn7Cq6{q;`jJPoRB}Cho&Z&i& zBHkGCClhy2m_9Ht()bfoz=)=hve0ui@%VswGxOQx=$lz=DWFn{#U2mZYq>?aV=s^E zZ*R=3S}HkWrpw$b!2GG`TYR{GN98ctLVrPS1WzOWL$GRG$VcAH((+DIM6R|doh-|- z@YxnpGxjr?hwzby{3cYP-)ORX0lApvBQF%6Iv-cZW~6Z+rRA3!b|9HJCtFJ^sV$8B zSaA^seB176VZ_W_698kKR(!?|?q09&Ui_FLEVtt5z)y_&?LYC|p z-Lyh-MdcUMl|FfoR-e$0&t^d$13rQEjB}S=Q9Z8@ME=i0>tZ`r(B>>&E-kx@;9@9<0weG3#qy#fzSi zjnZ&-l#r^8h?Z|ySQt-#w9&n80g;&tW)Xz6#%nNkn#cx)SSHOi)U`T1~}S-y$$tyh4=t_v@Tm`k?(pRCWk(gommHe-}PrV*6^~M{n#T? zy|WAv3k4&==EIdqCD9RWIkaNhqK0095T2GMWVpsMBC9Qo8rqYeh5nB{-P;%`@$noT zpTH6JOGFMD*Ne4KYs1PBA-1v8$$O)?&$Wdf8Y#;QnXdHqfgDo4bRp3iFu&cx)}LYI z_((EDUS^NK#h5sMo+#h+qrarZTE7q<^@`t?a$Hy?+EUL6YmZwRdfRm7nm!P)hfqkq zSS!`MNdT?C5Kn#}azFZMTl&hvX@7`0&^c}SS5<;Yt&>zag|y0^Q7buceU+EHOX4(>7pmm$|x7vZ7Zt`ehcL#=CI8Z44AopYgK%U-&_^*#hh!ay{wPV z?6R@SP3%5StWfd(mWuKCCMuNBk~dw?8?z!p8ctXf;ux7i*fC>7v-vC%tTt(4kcnm~6d(LKF-O^^w?W|=h$kkD zl(gw{zVY`6IhYe~bCr%&Ep5tLB1`)de!;ix3eQ*t-_|lzDi*Rc&hBue6|CcG>lsdM zE#iB|s#`9LP}oxJUIIq<+g|CSl8q33& zvNiGRjPYw3J}(?cWQNHM@~*lu`ql1kH5Vb9-piiW5KMi?q6{V zTv1(rOav_<=^*BPq-mxBMdi>P!#EwdD&z)0hN_*+lAf7E^Fv4t zIip|SYYawHzq};at4A0y)==p+TSDv7T~P`30(u?gp})}UΝ2$d}jFt$gU&b?fqf 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 ZO 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 Gd2n)Lmgo14*#CjcPcsoVS(#a%9| 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�#nb963tZa1VgFSpNuV>{Cr84wf#dbJcm~NU5Hp2&sn7{+(3g zAqPXq;M@pV+m5}HLZU|ro0`ZVk4|&Gosh%Hlhjf>j6qBD;+}SsIog-H%bb}Yq;dX% zkVCFV+F8lGuDf;}&yV;PYv(lFX?})lh2_C;2d$Y#2yD{|iR=x3Pb1CKGdVM>kqJ83 zW=fZJoOhcpXAfHDa*m^lLc(FJFIOC|#LIQgyh>N72VHV)>zNVhxx+K3ybX<~ z&f%OkfJY~%%=zS5|FD-W7c(38wB(Cp$hn?8W}4B%Dbw7% zbB3rzntUn<>I-c#}Gsh@}l)-y@ zL|0k5NRx1XHn))Lu9B`bwUk0*T~aO+*xnX$hzFNTB$j7R*5RSmmp`2OF4xXgIwIVkD?9eg zm1!q4p)y@!TeD2R*qc{osE747)5Ud4%FK>4v&)h#!*7$-#x|3XLuOA|zB7X?D;#ui zS@95gD6-8C5^3ecSs-->%&|X0E|v${atCRDSxp!m%c&-M_Db!d0K5|G<|w!l>pnJ% zvn{0Xh*s+y@40H@;%t+;MHPR?xyd}FI&b-OyO6>sT!eI%uvMFJ9o`l!=LHDqynm{T zl{I?x;)(nnaa-QORT}WH4z_MYNl|_1Y=H?GoUdGc^qptU=fHVsRhpI~Lp7wqzV#Y^ zWE}ErhkP2H7%kgbHKxvab~R>m7=xsaa!-?X7Pn1|f^#G4Hu-rk
  • DRZ%WJ|5G;= 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 delta 89623 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

    ^EH*FkG8KRGg2cRLVV9U+S|>~){D#Szp?ZZNK! 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ⅆhg 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%0DWO@- zh;t>3EW8i&v*ckEu80arCH5q)xc@-jd&T`P_F~_BGOI@kv4t7JTe^3Q9^aS(h>_D< zV|5tmrJ=Vg>sCMXHHEZ-JpR^GxX$kC0_F^%{FNUb|25sGsB9&~c&^B`xSGiNU%RPb zb>MBuIT~@J+qvPsZr&osvUNl32f=?Q5YtM;yk zmI3ZwpY~xb!Sz*G1@;b0+@&qV5^|S21mV4XhfW=42=7ckdf4xOG}~BdaYd9DTi8`= z#<W98_ARGOxySB3mc}PFA=E(gkR7Lyt)#iLo zLxhj-xi8Y1{B2^E=+g@6+>Lj442Qt;qpdsmKK%>p^0&pzRD5$M{m5h77+!^)075b= zi`>&%$B5ZI-5k4rNUj`I)^)#U>t@0?cV1%!$9r|=ur}gGmnq-0f4brLY&xhsSxbLi zw=I9$4hd33Vwx(xg_qKYnc_eWMvsNqVC(-%bRi+4O9p+j`=Z_+PyO3=v8v_1^Fz1w zr4n^5h=@UAzVU@hBHkr0jkbS$+cVbCe>v%J(_0YIH`Y^s$Xzg=R2j9k4|_#k9{tC& zKtHTP`5et!*gR5h?cAP${4R3Sf6No2n^eBb&iCkHTH}rO&o%B#!>)Fc- zXWs~sJ-`*0l6C(Vmd`(5SjGE%TjlfPCnvnOpWnpFmqKJK@Ck4t z9+-)IV@1&dBD+uQ;Cthy?-wGE0eA1vdBhCvi%FH}xxT1S!Fb}E%_>IB-gN&^Yy8bG zu`2YNPyWvj#8|yuNa(>6vgCxarC3^NWZo}=ljupj)$7JClDBkg^16LiI(mmM+Lo9F zd|&Dq&3m8ze-37#-Y#il<%kgDN~ISCq?j)ec}f+lP2O%PV{Pl(yK-Ok+ox~@P>3D$ z0pGr5W97&@QGti=^jJ2wV#ms4&UY+^Y9P|2_#W32{&S)Iw1CMM%sl zm%-f?`rt>=uYd{`yAiePFRNWV3M}JJw3MWq`eVnW3IV|*4X+590N_5TPd`S9LpmT(Tcke(8C)(P=e$zu`n z^-K9+A*Z2sy6c)1hr|_)saxdNdvep$;V;#;f5yosLS`-e7Q}lWMa(?H=Z|u2fpBav zkn-rp5OOp2qy!Rz0f;;qIQ*qU7J;HTLabr!evA^*b%swcMn`24Az$m1eG#&K5wi=+ zBF_Zh_K?R-H8O$tY2C64L7;&nS?Nof;m4 zjWKQ+h*%1L=CedSxI%V&6i*a#-H4ONK);4{gE2_1HOklsX}Y!W1Rwdwl-m{JWm7GI zkWrlGk_KX^QWbR`=Hy8TIovty>1KKFfB1WD49~@9yR#&=RdCCT3}O+onzc zADJ9X>3wr+WoY@+y9!|Dtnt1^$zW#>yVe<2~d zwMo|_24bdywl_y}2i3<5DI!C3=7iKmab+R1e0XaLahzx&0p+(9uIGwzA|FZ^EPa$MgBh?@ww_tz0=l0pd)0kT{<>TLJ zHxIlubGX51#j+lHA-m1J+M)O} zSKo&FKps$`eoY~{RlJ?Ee?F+9Lr6^c#BUo(%Yf%+i2dUYm`5o%Wjhd_FB6CrWKUX| zyr}|0$fwiA-}Y>?b(tx|&kzZDfBZc&y4dmA=Iw(rP(ogMG&9xnN-;qgf03LjMpuN? zM%@s9$e~&`A+=@70}5$&NEI!RHYooimQ=_T8AMxkmW(1l!O2)%D+&IkWbW(KXd9vU$cl@qOPuxusd{0O73E}_;<25f1J7^WLBq1VS#vU zw4x>EzEB-XOrEYE^)Cb=uN>JHVjnWdQmVKM-AtvloH0IH$_Ra9M82GW1;e(kf5M64FIU z@s!BIZ|d$4GUT~3GPC0i7|o5B^ah2jwlPjo^!FcCO$Z6=f}iQ~S*Y4Xh-fEe2m@&y z{jAbIn=}(3kVq9Ha&*=6x9O>=PAHJJs6s`^Z5O$}Zjv-9e_tPn75Awp1@Cy+XMkB+Uok^jy~oAT&FUQHOm z2&7dN0P#-LX4}Z{bpaY`5D5t-cKo(ajxgVvAySBbaQTj1su~w^ z?eJO9BM;tHI~m8G%Fg->f14aV>Ur>Jr^3m?LYjTN-$DY2Z@|#?pgKDtw>wp5{72AV z2n1`xb$qi-DZYi{Q8LX)`!I@A&g8yOA-a>L!mcX}gehR=3q z=4g0{?m}MCC<)PQ01;HGabi{ZY zR8{vXQ;O)uP-VpW4Kq zNF&Na)x$8h{-^cFJJCM5bhrj~a^uf5s~2sRe~@0OW==@+jxq1rwljy-dUBVKkXJVH z>)Mn20$iOQf*ZJ^U5`e(Uqa-$l17J+-5hVt8hRwiVXMc$Y+QqguV5uv^%ng}h-{HQ z{yVSW)D^EIw~U^69r`}DVk7E0@$Zc03u6Iwtjr8jNNE@iucCaNpY3n%CH|h-4d)CA zf06%1U08nzc4Z1#;=cH{=hm9yPMpsY?`zRfuFj~dHPk;4(yjB~S>75(C+iyRpx;=< zq90Xr3;Bv6zZQS>hOvP9<$@DS|B!>xy!u%id@p=kmK=ZS))P=~QcMbHgP(fqwr88T ztEeUZp6zz9Uaan+`wUlf@09os7Q&Gde_e872)G7E4~spRuYFiUJ}ShyQpvOn2FBLSuTS)|Y>2F**JeY$1jYhvjC8TL$2y=_xF1glLfG}h4nu^CE3__kxzINr`C4x5lg z2huS!Wb<^K8!P0+tUE$h);Yzuup)$kJATDZz+Wmx+_0+BRul^H6I^>(8!l(JeHix_ zB1?ha_C@hL?(0v73w>w%e?~-45t)he_4a*zv#t6<5uZPEtztih?X0U2S9DuC{7$!S z6TTaFYaiC7*&e#Ja1HkHgr1(A=#OHgB%Hq;NNLEt?X-egEq~&phMgJ~l_UJrqP7jI zYwgxrm?Pb47i){`S~-|SFfrAM`Ct*{j+0GDH?A?x3w=YkXqJWTRMKH8!a z4Q*A636hv=Yjt&;f5a=~V@20M8qQ}DA}a55yh@07v|_E@I?!G>8LE%>L1@5Y+@O<{izOkF1J{e? zUh-m1(Wfkje+Nie7@f?+2E8&8;=;&W9yxLrA&=n>+DLiWyc}GEal_?xvw{k&Yd7{w7%*?P(=hl#eokbE(+on@tYnvWsmgur*> zI&onxR7go^_hutp$LdWTUm5JE$@hp4)_PwTu+l<^e~%bBwU7tSx)9QQV9Vj`_&|r; z6gi%luVj>Oj5`bR018=J9y|;8SU3%k;;eFz)~(olK(wBO)Qh=-;+l)-RTnpOoAGzH zju5R*aW_u1qKy-c^{9|i@GjA17P&&Q7^69Ms}x_%N*$tl8EiI$vMC7=G7K+Tbe{wLdS>!D=j4KRi zL&;fo6-r31&SUP3IfDv#NIE7_QWaTla`xN5KH2ygUUh2+Ig zEkAEy*Iy~piWqY!HVqjoa)l)1%@Z=1Gh4`w74MQ_>>2z%)mnESAQ5Le32822&0MKH ze?QPwbr$5%ucgIYX;zF?jpTqeKXynr*1MF}OT&uK(k!EfJJ)043gcoOd>9`s-5Q%w z?{rx;n7u50*NT2)>DMKUag|{uS@@Rf%?J6O0Vl280V`4`+7^|>X zP{ysBcR?@1+(2dK2eqJO%HL;sTOo5Tf13?~ovaURoGSW_Hcr)Hb*)^Sa?lSh%i7EN zw^g3RYe}`h|ky{EzN^CF@cL5uLG0tMFM$#Tw`yVq!__xWO!agG-Sgu&1Qm(E!f7YYd zC>T%@uZ>s6XS+!*2JY$A1Mtq>5gqH^J9OFNE*S4IdlEuA+g0~6LwYsxGkzaKD%#|7 zXp={Y7b0Vbp3Uf%7FM(yF;2irnCed2=ouN^MZ%lbZpMo1R=s7OX-}(fo~y>KefnUn zp^$_##DrLKiq1myOCB9bh!qq%f6Um_kSr3*Nafsa4J~tLkhMcZ%-~v+Kt}7fh7%m} zn7tIyVm8)F7ZcXH*ErI^4)PkUY8;;+9{Ccu+wl~KF(GNUzoXYdJH+NoCt@8Ivg+V7mv6Xu%a}8Bkxj1J0Asu{%p?xTL1d2J;_C!5NVyBfel2Z#B-G2T1f0ZDkYR&e~u8F>`q7u_H6{)Y|IB z`$u+A$QWA}5(Cz*2+16Cf2eh*2h!VO3Fx2JwtT}o*oK=WjFZ7jV!L#h46{Xk@S=0-Jy?KdIDtAxmj3$wnp%cDi^vpSrg7+0>t`-1uHsta(Vr&ouh z06UPXd>QVit)p8{2qN=Aytj_y1K-Z$x``H-5RWrY3`xuyRP_Kje+|-*#7vQO?&z?3 zMo8)C*VlQB9FC9`688*MySDju7Si}Mt|o&N-$&j@z`8*rVvnr-x33ecH|q|WnI7uy zexYYn_k48AoRpaFR!FXxlc+D0ez-cvwho`*Y%9x+?!|8UT`bqSe`jOIe0{S76xKK!a`0>m$rZB*&2`TlpUo{-(Q*)CmGFpIZi@eo z&F~^QXmVI0<|v!bE~2N`d^6@&M7oQZ0~1mrdX&wN%3btLwtvH1Tk|Vq^m3X%{^D6M zujJxA*Mf5#DQQ7#fK}ryjIenPEc1YVqx?+IwYow=M>ZcJf7M|gqeZ!gXuGuN-NGEd z4QAlZ)MhNFnDK0}`;0oi#SuGp90-y6MHx+AJ}o09SB(3&bj@=YH5Wt!2PBI`*j)o>-N z`0#~HV~R&)fBTJ9ysbu;X*PtA2=6e2wh-i0|F^R5VyorDrHZ)_OFk!zN@yF*CX=rgqyjYSKQVIw6F zk@v%TXPt17L#6HDC+0rd9<^XKciSs$>`-p|x`aG)LQ=*q#wP2QE6v*}sndK~A-ZV! z1fOP%e_V*%#9gz76qcRq1EWkDva zCFrsfJ9g6a5W~f2cn>*wjK~-tGR}#VZ7rJ|fAc?GQc!48rH~v3@;UU_!^XOe9%aL# z)!E~Y5u*e>S*95OPAWVl%Vr3~hQ3Ts(!BiCveFKolAgO;7}f2vo;Fqo>N<^qWv2w) zr}%eDbQ5)=WWX5U5HSh{e74fkMr*Je&jR+nOM``pJzd?pRxwi2EhoT#$6}{=XZ05h zexb%-Gg`#yS=*M_w?y=e{55)xvwV-fLjB6Dn)86WtZ3d!it z^%m2>*hX*G;ev14th)lwX_NHgoz-=17Ody%FAQg71@xXCuqgHY8ZFvHVI^+^o|)E z=3M)@R#!>LbdG!bgv5bXjm+!VS@TU_aeAT<$Qg= z@*`MN+>i=#JL+hsiSeC&bxyJ4y5C_mc!(@59InBY&x94m!}(Zf(zqeX;hqi`Gc)rH zmp$iphfOI#xgO4l)#)q@^Xf5re>|LQJJbjAC+k2PcDNHVR@@lr{l$pc@WTf1ATm=y zIT(JGijp{jj}haRLu%Y%v`9#B=uHhHG3K>4a$~dtbS*fCo`hW(0dF%QxnazEgc==I zsEp9UK+gFQdLC%uk8sLC-j!iwd;E7~1VonWSgXg#!iddXw4z5GE@7Rwe{M#dVBCec z+(6r9BxjOT!f9(mA*^)}$-P2HKPf1vF$ZCB50-E=);u0VU^d5X;Fj~F&bUvdsn zuKNxSBaK6%$gI#qN|a|QjIj#WI18x@*_OuG@xgsMEwPF_H)klke?QB+jWvK{g$I1m zW93-TlNhpLE8h#t28yHXEZrH{Gc?vr3%Q$w)Xjfq+tr8?zk@l?jD(3Z#Dv&Aj7W-? zcW(Cw9WGiFEEibb&bIUmBG+}6gX`nLT90vGW-}mCjDVDp;<4Uk+!|Q-%55wj z-)A~&_TumO!m*9%e^T^#qfa*@$LywC@@43$<(~SBk~n?K4&!{&Yfn*A2niQG{^?~u zVXRX~4VY(|GOj!3D1|(joH2t9@5LvO{l+=Hsq4aHJ)hRoGWLk%aJ|%vQ`a>p|(A+R=*K&qCye(kYoaf7FUu(wSw%;$0%7us#q{ zGsY=q?ym6rSjS!K;ja7)#rsE;w$NVzW0uhN7W)Y_LZSuNVjXp*rrfF;Rx2Np1jd6-; z%oSKcG_8V_eC4Gs@^R`ViDEQ|<@GYNnuow&k3KHo& zcA3s43B_LdDd#j{j&j=kIrI*N_>R3V(>l?xlXI>ae;4L|grtDJnGjx=9%A8`mkQisLAGa5k0+mZ&;XPSvE)%VtixYcC5oDF$?WE;mSx4l zSOX{|ZM5tRIT%Y@p_YwtiWMxsOme+sK?cL7B$#p=yfuGJY3QeEl%Y}KlP7|DfeoR`(KV_s&} ze~|{V&B{D*JmpkK+32IM7AjlBt0mdq{GF1yYJ4>reSCh}aUO4UA(1&3U0rur6hX4z zMG+AMC1)f{kQD(@vg8aBBE*(>2v!PuI+JRo6FNzZ&p0rqecSSxY=X{!wmOmw>3-=B-p-+@a4?jB=As3|o1N z5iCX53whRc^~48wXso3e+a*#G3Anc7D0a zOX12#frPr6l-mFb2%wT?HZu&pvi1@yexhD+>L2UI@ zgHG1`y9q<}*n)CVb#nuuH$3)c+uw`19x#0k$WIDYPO{IQiidBVboE7fZX#!lw5!|$ zC6qY)D}(gT++IK;4D=;_rJfbbmyx;WGp9nnDkC*Blz|Xa1m)o0G^XI_HOJ^($_cNX z%H^ok1dnrL7SV08ZcRI{`xF3&1I#b&EWYaFBl6^}2LS@m+_ndtLEmFmYF8sH2H!v7 z)9Enb_O-s$RB1NS{ya3-NiQL12U*H4T$~J`Nu{g~*ybF0A>ma-Lvt}BS0eBFx@Z?- z;w-Tv`Pi^>%u5oitwI{A=4)y9J;2}JId9EH|4I_81grUEB3U%$6!RJY4n+pZ6*8Ap zmIPIIsh~xi@q=umdh`zs>{s6$mv`0Z2CP=_n%&n%shE7 zfOp*ovv(ZyymZJurrUI5iy|LaI)osZm>q8V^S4%U*1;RZobg#CmHZ-q#knQSnB-K> zdk0uTx<>tBn1~v>$Yr3tdMvHVhFzC0V07E#h6=s&dt2v_`sBw?>y_`!Vvy01Qu})e z8CeKV?X~KTxlE#`!}xgCK(bx9sMmbZ(5i&L%k~uWQ21QtqHJG?Hhq;_Q~#E*l2c?4 zq9Z38X;H`f%G<1_awVIq>}tAn>H)n%aO|^a+Zl})35#y$KK+1vll$}oQ?OjUc$lZL zTvqp_#OiPUl8ynP^p@x~<26&8l_{DT9`Cx)J;r*t4J(J%Pdxlx5*=nzIqp+|THIoL zBQs_@XR7)RP>65maiJteSqQ z^>r`Hcn--}$_j9#pmrw9O#81%ga&yPY!26%8GbfwF4@W2NLow`zT=e7- zmmIwVJz0U-E;Eb}n$#V)zNdS2wW4DNt+`LHtL90hnxrs@^W{c%THa>T_aImL;Ew7z%Gb$C!BLj1s?*Ft+u zPNk5k;4<){^9OIaS%Ui~in-37Szg5nnO1Ef7U^-Kg3g%dEw&0X>u-7y8JvqAw9Yr} zw8U37?UIGZkw=0XDIEb0IvvIZc>_9PDTGHwN1AQ#pB}c zzEY6$>d|A*KQt>HQwz%Foj#N-J^#*3IT4?;yG#ZA)eA7Z^-A*-%UgL8OBLRAHr8_) zCiL@`XD0~}f$)^TvVrKmRBN_qqL^ZPg}Aj12|2l+@IS&PYEE9nRqeVlz8kb=BWz*e z_chrve9|2oi9|6`uSJo`+f~t5J+ARt6*4sqaa9;$WtVl^+r8OC8{g@K)GpPaHd@*$ zR!xS03T8bIk>O(>(oG@zO!c^Ii{gnQd}o;2ls!lZgN2{8=Kx);N?RbI_R5==Pl%34X=?vSfIZeZBur(6NZ#=yhBPx@68y;Q1b;<6dv|9usk)zEa< zLGnb`0?m%%C+WSxzh6F(fX7M2jH*nYdVO=G=13IFAKve(XG0|zmoloYsAe2))=qOu zh-sL=zjRZAsd|Umez%^8F~aedn=*a2#cQwC26nMQqA?eb?}7Z~rcZP=#EZlW1lfVp ze$6Sve%x(UdKsGz|JH zrjV_l!^h`<@%fTR`R+eZr(GM_(kchDH*#>l>O z%eSt#2K&ffwT=)ic)E;0o;#Pr`vrUwl$2k4c_FuIZX2SEf6~XEngkLCU_+l?*4>(`oKiffCh7aw*=UZD4aOmZoW`Xvm zJ&Ts}ORu);vA!Ws+}ZI)5gNKzfm@`6UTk6z*H|* z4hH&=0Q9UEcb$#&gkGFa&7j~IpaL#^b-seX&U+abNh=WAZgIV~p&Vj-wPgvM?bPgJ zYTB>?2V0H@$e~fx(5NS3r2?^nmgcvV;Xj!g0yx~&>mqVbH1w=* z%MiCCc8SBT_pvu$>{qbDar@WZ$hKx6_z^e=v(P;R1mdoa#*Wr#&yI$)SuNEm;Lsqf zz?;kcm3M}1(ETO=yNhX)am}%83A$blK*+QPVRkprwWYi9#aCNxQ0y^^yiF3<(I(n| zeb5bD-mQScYZW0bD~RibK1lQ;E{H}7yTyuD32(z~;ooZWRpT1&yf4H653+WCjzzH| zq@|>Qvtw$kHY7_sc#9R6TT_IvkRB>kk^#QWpPYNXz9zsSB;RvYTp_(a9lMwO37hE~ z*Y*)v@>&-f$6>cdt}ZXmjej1WBXBp;tTm`$$+=(_m<1gC2sV=o-h}xe@U_Fw;4_#k z9M34v#gp-H@H(vXGrpFK0Ph3mEVIjFgdot{#~=^|2m}i7^tOX|__^EIdpmnL3I@8n zZGRl_*i@qGKFzowyB%v^*^O2bYfzK>>XGp(<73HIJIgz2z*#ccZtAqSamxooEzbJX zin0FW=3CmAoTN)15Nr5dzzd()EL&T=1Qh&%_x5n)(%?nEb!eOWh!|Js`p%EfhWB5PeOWS`*b9}*J?&G*8O-o1_`BAwps0tm33dx zjG9bv5{}#y?)&h|m(Y_{!2Toi(%Z~zZQ@}DP@nvxHUYILy~k9ZjB^Q;b)==K9L+zU zElgDAuCN&4189C&`T=rI!OzM4tvdpY8niF%#mqK1A`>HT3R<@kGrS-*@wmw~GRYQ4 zNK-KHAY-dBKH#)^>x^da?6GMxLoz5nbli&cd$TMY>iZxJM6D$|+$zy|QV{1fgT+rjve@Mnje{ z4DO|i9g>bhI#L0wLfhZp5_tp)*}%!~uG@qPB93j={=}4psiGt^8gK8dEeqMX%G*n2 zXd0TCIXKICPy5hwM+^vr>j#fyoW4Ah-_mV=UhrPoq;1^A@s$M2#uY^w!g4?Gdt$DI z6AgBtK{QF(q0KIvl`BND`l4X=LUv^-We#$1(jCW|^a%=V1W23V0+%hOZ>n*|XW5zFD#$8`Dl~R%>HsSy1 z5X#irA(9%ws}?GhSQ%$e|G^JOBgk%+31D*}xV7s~nmj+uX(v+t=_56hY#1*HTSQtxk+PwYOipDmavFL)Nj?4H>5j>4 z)liW>ufaZGSfG#yczo71fHHojh?LTCb%lw2(gnWhd!co|DM$g(c3si1kai0D%X3ln zjKdreb^W~`k6o&bJ9zEY4ff6L)v0#YbmoQ5tMXG>1H=jIo>Koj;gRV>J}0}fe19eG zEivX$*LuZ(K8t6Jv`bM&GnAB;xXf%X{Ni;RkV0bydvzyEq$W4i{;-s>f4Y}`Pvxhm z3j#1_t{svw-&q=`EFqbSW_Hxy>F~Ztn^{8-9(+T&=918>2*6xqbJ}HdZjesamMrPs zvf&D0<yRkQP zpyBB7>GE;{`5TL~PLOn-Zlc`FtOhV4ccmNZ>3i8k4jm|+NwkSRhk3A6-tsTY4d<*N5DsrO95l#@ zZz}tXUEc?RAV{NPFp3md{V>VSTs~3N0Q>OOaWnX~Ud^bjzNVdP9m+2uz?OPW_; z8%$I`?3rM|ObU0RTtc&sK5SGU|KsM+D)PnFI+vE6Fx?pS`;-Ioz%ehBJ>HY!hf;&^ zrfrMRSES^I-e+!u4pM&LmYez`+ohiyE%MJwOAR^2$w|WW&2AR}k+-4b4Iu?K6uR?+ zrYGVOE^5Ec=_K3;h`w3AFcjWgOi(%Yo#tft5;f4G|El5=%_LhU{&n(+tsME>BTcOZ z2Iua0b^nWO?+lKy6$z9l*RB5_cYcCpR8&0 zlM#sWFS9Aw!~|@t1CDAkb6a1DE)SgJTxd@_ZAQFz@0W}}u1GNoLzEU~cGEm7_)6P3 z@!IshsenB3G!^oNCoROY-LKvbVNyXY+&Cd0xnp1_U4V(Q2^-yGphWOdI#~?7AJ65d zVaq({-GVd!?(A9d{eY`uJA z!(T=$Y>Zl>B~+?h$=Wq|dTw^sqG)_zZca38$3H*}$tomMC7Lc)U*2b;w!wvVtIPji0s5IYnYvs=-9TP)LVjb(Qk zX7}p!i@lM#KP|5r=sovBEh7yYR3^`Jl{%G?4^;74bD0`?l)(m3!etTigMe((bZna^ zPkH7mnoZB@QC$;%(~sJqqvFo;paP6j^!IYwTJ_)Hl`q+*9oL^pzm8@s(-T-sWlB7; zd}+WD4e%yTBZ_8?w0;qmx@wr$|2@0(1VYbG+k(yarrL0aiF7iYY2~VLSBaOw4z4yLiR}9fDXNR_B)v@#N#}bZ_jdKDnA}su~K1;S& zd&-u%-6e*={BqTM4UY)s(yC__YTuv?Gg}b^z{>A;PJKm!hAyc5o>sEbF0RC?z`pWH zcm4`jfsgm&88vr`JV`sk$_PK?bUMjY2(wG88RKF8+V>T)(TnkoUMMChpRpQ|G>KOk zIb-OSiR)s`+Rf{Yy-%kV%lV>Llzp?qWt~gb>CT1~{#z5JldAkIYWn`Ig$j=Z1W)Uh zfjrkuTG$cco03C=ljFO*mPgXgrF4&4%#rE3XY&I)?QbMe<{AsJk~f?Cw>#5{&%Tj) z@J37%zUS|4_7CTk#-5q>shS{|Jgrg;Lg)>f6T@S9IJ(%?7B|CF0pp@VLxzLK*E8Ga zFkC3!N?U}UMAKS^9$$_P!NV?iI=H8SX&V}(hmpa|u3H>VWZJH3XWgfuIE9)oM0=U? zKJH{y=W;Ex_l;0CofSS&uo@1jm{UV(E4rDP7-qB+`mk;PFtp}CcdHcba=!h#h;Qk*l5=|$RHP8mR7CP zn5Qo*j&pF}f3C$DhQarcF->5fn}kHUL>gLkKfv5zU_|TZW2&e<&CuwAQ_~qR!N5}r zQ8QH=cBLirF%~PY9VJuxkdP+u4fca-DfIavVvM_{h3_phT{cWyQH1>==#kooEx)*V z*wO2^1Y7l)%@0NMzk=f(rmoD{`MA|?R1}u|sAqEft2zDTWr5R@S?A+An;UU6J(Sb5 zh6OKY&w)JSrMP&{)>}-JhvC%E1RIv>siO=$6_g98TBh+Exw74y$?@Xx%6;Pg@o5ZXccmRjXtr6fuvZIlH~cU6S7<^^(cw@Ugxt zT3cZ{cM!kR%bDN76>BW%5D{8iTz)Ym=hweqA#~F9Ql&`!iIse?yCiY7-~q<47y8df zOl;G*XAA{{K%>Z*pWsJeppoDPH{|wRHnLDv{%s~M55^SkmlXG~r}gO>>>kT@GBc1N z$eX^TLAyP=FaG`+Lyn5@&ly_IGi8Tso2%=RLpBtzh?fM)51G3zQ(0Ml=)Go&% zases!u13*XmgMkAlTrK6$3$FyMu-Tn=n}apeD+q&QVZzmqx{)T3RifSVhLg-m~6~_ zC?gntm#xh7euRb{n`L^@_;c{z-ywMgD$9axs3-O7o9R+e)xlr_t1+5f(Wej5Z?z<} z3^nxX$1Qruu7f@i?^cDE}s-+{+P)yr}!(rokVqE=Zgvo_;-%0!Uio zAsw_UN1bK4NA@!;d7a&D9Wr1fTPN6wh-61KV+bt*0*TZUz|#A{S_C|ju;qTRAQOLc z3Hmz$2=treUydc-xBTDIC=C-F0CO@0&X%wqt|!9-TmC3%W( z!AA-L-TN;-2=qn)_H6(xNl>T^+xo|u)ey!z2h*4NEc?JgEe01yo_1SI)a~lM6 zz-WfR3T@msbJtCFf}Y`5YNwt!JZ7^`NMeP#`mm$^66oT zL*RQ%|KDN$&#;a^z#4||a{YTbRR{u+|A&pQog!f8LtqI4_G;MEVX!PgUJWd87|i)E z{Q&zs45lV1sDsrH<3<1Xr;Qi?|BBAn06QJVi#*>16CDA|+$?DYgJAc2@cw<~2$=6? j<&S@nR51SE;5#%r>V&ucF$P-vv4r>Y>we Date: Mon, 9 Feb 2026 10:56:06 +0800 Subject: [PATCH 14/14] update:configure file --- XEngine_Release/XEngine_Config/XEngine_Version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Release/XEngine_Config/XEngine_Version.json b/XEngine_Release/XEngine_Config/XEngine_Version.json index 4b49932..f4232d8 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Version.json +++ b/XEngine_Release/XEngine_Config/XEngine_Version.json @@ -1,6 +1,6 @@ { "XVer": [ - "1.15.0.1001 Build20260205", + "1.15.0.1001 Build20260209", "1.14.0.1001 Build20251020", "1.13.0.1001 Build20250519", "1.12.0.1001 Build20250325",