@swishfoundry/qew 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/queue.d.ts +3 -0
- package/dist/commands/queue.d.ts.map +1 -0
- package/dist/commands/queue.js +78 -1
- package/dist/commands/queue.js.map +1 -0
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +876 -1
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/usage.d.ts +3 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +65 -1
- package/dist/commands/usage.js.map +1 -0
- package/dist/core/claudeRunner.d.ts +45 -0
- package/dist/core/claudeRunner.d.ts.map +1 -0
- package/dist/core/claudeRunner.js +356 -1
- package/dist/core/claudeRunner.js.map +1 -0
- package/dist/core/claudeSessionManager.d.ts +51 -0
- package/dist/core/claudeSessionManager.d.ts.map +1 -0
- package/dist/core/claudeSessionManager.js +502 -1
- package/dist/core/claudeSessionManager.js.map +1 -0
- package/dist/core/gitService.d.ts +87 -0
- package/dist/core/gitService.d.ts.map +1 -0
- package/dist/core/gitService.js +334 -1
- package/dist/core/gitService.js.map +1 -0
- package/dist/core/outputParser.d.ts +36 -0
- package/dist/core/outputParser.d.ts.map +1 -0
- package/dist/core/outputParser.js +365 -1
- package/dist/core/outputParser.js.map +1 -0
- package/dist/core/queueManager.d.ts +35 -0
- package/dist/core/queueManager.d.ts.map +1 -0
- package/dist/core/queueManager.js +128 -1
- package/dist/core/queueManager.js.map +1 -0
- package/dist/core/sessionManager.d.ts +58 -0
- package/dist/core/sessionManager.d.ts.map +1 -0
- package/dist/core/sessionManager.js +1008 -1
- package/dist/core/sessionManager.js.map +1 -0
- package/dist/crypto/encryption.d.ts +12 -0
- package/dist/crypto/encryption.d.ts.map +1 -0
- package/dist/crypto/encryption.js +40 -1
- package/dist/crypto/encryption.js.map +1 -0
- package/dist/crypto/keypair.d.ts +13 -0
- package/dist/crypto/keypair.d.ts.map +1 -0
- package/dist/crypto/keypair.js +19 -1
- package/dist/crypto/keypair.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -0
- package/dist/network/ipDetect.d.ts +9 -0
- package/dist/network/ipDetect.d.ts.map +1 -0
- package/dist/network/ipDetect.js +70 -1
- package/dist/network/ipDetect.js.map +1 -0
- package/dist/network/messageHandler.d.ts +197 -0
- package/dist/network/messageHandler.d.ts.map +1 -0
- package/dist/network/messageHandler.js +18 -1
- package/dist/network/messageHandler.js.map +1 -0
- package/dist/network/relayClient.d.ts +23 -0
- package/dist/network/relayClient.d.ts.map +1 -0
- package/dist/network/relayClient.js +117 -1
- package/dist/network/relayClient.js.map +1 -0
- package/dist/network/server.d.ts +89 -0
- package/dist/network/server.d.ts.map +1 -0
- package/dist/network/server.js +1144 -1
- package/dist/network/server.js.map +1 -0
- package/dist/services/versionConfig.d.ts +56 -0
- package/dist/services/versionConfig.d.ts.map +1 -0
- package/dist/services/versionConfig.js +153 -0
- package/dist/services/versionConfig.js.map +1 -0
- package/dist/types/claude.d.ts +57 -0
- package/dist/types/claude.d.ts.map +1 -0
- package/dist/types/claude.js +3 -1
- package/dist/types/claude.js.map +1 -0
- package/package.json +6 -3
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
export function createMessage(type, payload) {
|
|
2
|
+
return {
|
|
3
|
+
type,
|
|
4
|
+
timestamp: Date.now(),
|
|
5
|
+
payload: payload ? JSON.stringify(payload) : undefined,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function parsePayload(message) {
|
|
9
|
+
if (!message.payload)
|
|
10
|
+
return null;
|
|
11
|
+
try {
|
|
12
|
+
return JSON.parse(message.payload);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=messageHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/network/messageHandler.ts"],"names":[],"mappings":"AAyOA,MAAM,UAAU,aAAa,CAAC,IAAiB,EAAE,OAAiB;IAChE,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,OAAwB;IACtD,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAM,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
export interface RelayConfig {
|
|
3
|
+
serverUrl: string;
|
|
4
|
+
publicKey: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class RelayClient extends EventEmitter {
|
|
7
|
+
private ws;
|
|
8
|
+
private serverUrl;
|
|
9
|
+
private publicKey;
|
|
10
|
+
private channelId;
|
|
11
|
+
private reconnectAttempts;
|
|
12
|
+
private maxReconnectAttempts;
|
|
13
|
+
private pingInterval;
|
|
14
|
+
constructor(config: RelayConfig);
|
|
15
|
+
connect(): Promise<string>;
|
|
16
|
+
private handleMessage;
|
|
17
|
+
send(message: Record<string, unknown>): void;
|
|
18
|
+
relay(payload: string): void;
|
|
19
|
+
getChannelId(): string | null;
|
|
20
|
+
private cleanup;
|
|
21
|
+
disconnect(): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=relayClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayClient.d.ts","sourceRoot":"","sources":["../../src/network/relayClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,YAAY,CAA+B;gBAEvC,MAAM,EAAE,WAAW;IAMzB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAmDhC,OAAO,CAAC,aAAa;IAoCrB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM5C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,OAAO,CAAC,OAAO;IAOf,UAAU,IAAI,IAAI;CAQnB"}
|
|
@@ -1 +1,117 @@
|
|
|
1
|
-
(function(_0x695349,_0x5ee59d){const _0xe58d78={_0x8b9ff1:0x5a8,_0x48d1d1:0x5c1,_0x45ff6f:0x5a8,_0x334dc8:0x5b5,_0xf3982d:0x8e,_0x557766:0xcc,_0x3892a1:0xbf,_0x4a623b:0x5df,_0x95c73a:0x91,_0x2ca961:0x9c,_0x577ecd:0xd4,_0x3557f9:0xd1,_0x3aa832:0xce,_0x14786c:0xbb,_0x2095bf:0x585},_0xa425ab={_0x4c7c8a:0x3d6},_0x56d77a={_0x2dae3a:0x299};function _0x54ca0a(_0x2d97c4,_0x272477,_0x15b92f,_0x56c25c){return _0x354e(_0x56c25c- -_0x56d77a._0x2dae3a,_0x2d97c4);}const _0x5ccd15=_0x695349();function _0x176b20(_0xa4b846,_0x19eccb,_0x134e8a,_0x1221aa){return _0x354e(_0xa4b846-_0xa425ab._0x4c7c8a,_0x1221aa);}while(!![]){try{const _0x5dd644=parseInt(_0x176b20(_0xe58d78._0x8b9ff1,_0xe58d78._0x48d1d1,_0xe58d78._0x45ff6f,_0xe58d78._0x334dc8))/(-0xa04+0x58d+0x478)*(parseInt(_0x54ca0a(-_0xe58d78._0xf3982d,-_0xe58d78._0x557766,-0x9a,-_0xe58d78._0x3892a1))/(0x6e6+0xbce+0x12b2*-0x1))+parseInt(_0x176b20(_0xe58d78._0x4a623b,0x5fe,0x5f1,0x5f6))/(0x1*-0x1470+0x32*-0x2f+0x1da1)+parseInt(_0x54ca0a(-0x9a,-0x58,-_0xe58d78._0x95c73a,-0x88))/(-0xaa*-0x1+0x943*-0x1+0x13b*0x7)+-parseInt(_0x54ca0a(-0x5f,-0x61,-0x7f,-0x87))/(-0x1a*-0x3d+0x2*-0xbaa+-0x1*-0x1127)+-parseInt(_0x54ca0a(-_0xe58d78._0x2ca961,-_0xe58d78._0x577ecd,-_0xe58d78._0x3557f9,-_0xe58d78._0x3aa832))/(-0x117d*0x1+0x3*-0x880+0x2b03)+-parseInt(_0x54ca0a(-0xd6,-_0xe58d78._0x14786c,-0xb3,-_0xe58d78._0x3557f9))/(0x2450+-0x7a7+-0xe51*0x2)+parseInt(_0x176b20(0x598,_0xe58d78._0x2095bf,0x5af,0x584))/(0x1259+-0x7dd+-0x1be*0x6);if(_0x5dd644===_0x5ee59d)break;else _0x5ccd15['push'](_0x5ccd15['shift']());}catch(_0x58266e){_0x5ccd15['push'](_0x5ccd15['shift']());}}}(_0x4759,0x18d7de+-0xe190e+0x3c9fe));function _0x354e(_0x22457c,_0x47af04){_0x22457c=_0x22457c-(0x1*-0x1ea2+0xa61*0x1+-0x1*-0x15f1);const _0x2af9a6=_0x4759();let _0x53ffd8=_0x2af9a6[_0x22457c];if(_0x354e['KfvXQK']===undefined){var _0x2afc6e=function(_0x1ecd50){const _0xbebdd8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x512b87='',_0x5dfefa='';for(let _0x577af8=0x2f1*-0x3+-0x18e6*0x1+-0x1*-0x21b9,_0x146e98,_0x17102e,_0x350122=-0x1085+-0x18e1+0x2966;_0x17102e=_0x1ecd50['charAt'](_0x350122++);~_0x17102e&&(_0x146e98=_0x577af8%(-0x7b3*-0x2+0x227f+-0x31e1)?_0x146e98*(0x2527*0x1+-0xd83+-0x1f3*0xc)+_0x17102e:_0x17102e,_0x577af8++%(-0x10fb+0x1b31+0x9*-0x122))?_0x512b87+=String['fromCharCode'](0x17a1+0x1*0x115b+-0x27fd&_0x146e98>>(-(-0x3d*0x43+0x16a7+-0x5f*0x12)*_0x577af8&-0x196*0x2+-0x187*0x17+0x2653)):0x1390+0x20f1+0x3481*-0x1){_0x17102e=_0xbebdd8['indexOf'](_0x17102e);}for(let _0x285995=-0x1c33+0x1*-0xc23+0x2856,_0x477608=_0x512b87['length'];_0x285995<_0x477608;_0x285995++){_0x5dfefa+='%'+('00'+_0x512b87['charCodeAt'](_0x285995)['toString'](-0x1c44+0x145a+-0x3fd*-0x2))['slice'](-(-0x24a9+-0x135f+-0x6*-0x957));}return decodeURIComponent(_0x5dfefa);};_0x354e['dTovGR']=_0x2afc6e,_0x354e['oMjmbb']={},_0x354e['KfvXQK']=!![];}const _0x5b7a55=_0x2af9a6[0x26b3+-0x2*-0xc5e+-0x1525*0x3],_0x54ceca=_0x22457c+_0x5b7a55,_0x33c8c0=_0x354e['oMjmbb'][_0x54ceca];return!_0x33c8c0?(_0x53ffd8=_0x354e['dTovGR'](_0x53ffd8),_0x354e['oMjmbb'][_0x54ceca]=_0x53ffd8):_0x53ffd8=_0x33c8c0,_0x53ffd8;}function _0xe6ceb8(_0x225a81,_0x29ed19,_0x1a7c6b,_0x230f2e){return _0x354e(_0x1a7c6b- -0x1c9,_0x230f2e);}import _0x44bbe4 from'ws';function _0x4b2d53(_0x32e763,_0x293078,_0x6ceda1,_0x5d9edc){return _0x354e(_0x293078- -0x37e,_0x6ceda1);}function _0x4759(){const _0x35b156=['B3i6','zgLZy29UBMvJDa','Cw5xwvq','rvvHquW','mZy1mJK2ogLpqMXXAa','odK2mZe1nvDoywTcyG','DxfTsve','CgfYC2u','BKrrsKS','r3vOAfK','zhvUvvy','C0nrzK0','uKvmqvK','tKvdveve','zw1PDa','EKTuD2q','rvjst1i','sevqvfi','uMvSyxKGy29UBG','zNHpA0e','zxjYB3i','BwvZC2fNztO','DfDwtxa','DhLWzq','A05svgG','Dg9tDhjPBMC','Dhz5EfO','qvbqx0rju0nptG','AMzLEKe','mtC0ote5otjVsgnTzfi','veve','CwDtwLy','wePjtK0','ve1MrKC','tKn5uMm','mJq1mZa4mgLfzNDxta','vhHyvum','z29YAwK','otu1mZiWnLzLBKv4va','rxjYB3iGCgfYCW','Bwf4uMvJB25Uzq','DhrLBxb0CW','y2XVC2u','tuDyz0y','qNrtvhe','ndvAv2nSzuK','tK5fta','CMvSyxK','uMvSyxKGzxjYBW','zKD5wfu','D3zVq3u','C3rYAw5NAwz5','y2HHBM5LBeLK','mtuZmtbrBMfTENa','BwvZC2fNzq','rMvswK4','vxDdz1q','zwn0Aw9UigvYCG','ue9orW','DNv0sK0','AKPMwMe','rufuruq','ywDL','qK9hwLy','wLryENe','uLLSEeu','y29UBMvJDa','q1jfqvrfx0niqq','ChvIBgLJs2v5','Aw5NihjLBgf5ia','wvLQDuW','AwvstfO','y3rbDhrLBxb0CW','yxbWq29UBMvJDa','BMXhthi','y2XLyw51Ca','uKvmqvLfra','AfrYvuG','CgLUz0LUDgvYDG','AfvgCgy','DLPyq1m','C2vUza','BMCUlI4Gkgf0Da','C2vYDMvYvxjS','zw1WDca','Bg9N','z2v0q2HHBM5LBa','r2TZsNK','ueLorW','uMvJB25Uzwn0Aq','sfrwzKG','zwn0zwq','CMvJB25Uzwn0qq','qvP1AxC','BwPuBva','q0HvEvy','zNnZvuS','zNjhyLe','seHOvMG','D1DiENK','mZCZmdC0nMD5ALrItW','AgfUzgXLtwvZCW','shfju1q','ALHArM8'];_0x4759=function(){return _0x35b156;};return _0x4759();}import{EventEmitter}from'events';export class RelayClient extends EventEmitter{['ws']=null;[_0xe6ceb8(-0x2,0x0,0x2f,0x5)];[_0xe6ceb8(0x7,-0x1,0x20,0x4f)];['channelId']=null;[_0xe6ceb8(0x43,0x2f,0x38,0x3c)+_0xe6ceb8(0x16,-0x2b,0x5,-0xb)]=-0x6d*-0xb+-0x150d*0x1+0x105e;[_0xe6ceb8(0x21,-0x28,0x4,0x4)+_0xe6ceb8(0x37,0xf,0x24,0x55)]=0x131*-0x13+0x22e*-0x9+0x7*0x60a;[_0x4b2d53(-0x163,-0x18b,-0x181,-0x165)+'al']=null;constructor(_0x30ac1b){const _0x5bf0b2={_0x397ffd:0x331,_0x42d87d:0x322,_0x499935:0x307,_0x440ef7:0xb7,_0x59e32a:0xc5,_0x5101ae:0x2ff,_0x36d28f:0x2d3},_0x50d454={_0x406735:0x10,_0x5203fe:0x2d8},_0xca4f3d={_0x529d28:0xc9};super();function _0x275101(_0x1a21fd,_0x1ef94f,_0x3da00e,_0x47e5a0){return _0x4b2d53(_0x1a21fd-0x8a,_0x3da00e-_0xca4f3d._0x529d28,_0x1a21fd,_0x47e5a0-0xe5);}this[_0x535cde(_0x5bf0b2._0x397ffd,_0x5bf0b2._0x42d87d,0x2ee,_0x5bf0b2._0x499935)]=_0x30ac1b[_0x275101(-_0x5bf0b2._0x440ef7,-0xc7,-0xbd,-0xb5)];function _0x535cde(_0x5d734d,_0x29bcdf,_0x32d1ec,_0xd7862c){return _0xe6ceb8(_0x5d734d-0x97,_0x29bcdf-_0x50d454._0x406735,_0xd7862c-_0x50d454._0x5203fe,_0x32d1ec);}this[_0x275101(-0xbe,-_0x5bf0b2._0x59e32a,-0xcc,-0xa2)]=_0x30ac1b[_0x535cde(_0x5bf0b2._0x5101ae,0x301,_0x5bf0b2._0x36d28f,0x2f8)];}async['connect'](){const _0xf55f9a={_0x3dcb91:0x174,_0x5be5ef:0x198,_0x45dd0d:0x190,_0x54edee:0x1ce,_0x497ba2:0x19a,_0x50dfeb:0x1c6,_0x418c7b:0x1b5,_0x2d6653:0x476,_0x41ef45:0x49b,_0x4f528c:0x484,_0x4b9ac8:0x47f,_0x51504b:0x1b6,_0x49011c:0x19b,_0x351411:0x479,_0x5b2d6a:0x46d,_0x433630:0x49e,_0x5f5147:0x494,_0x162c8c:0x4be,_0x64f153:0x494,_0x5c45e1:0x4c3,_0xf77615:0x471},_0x3937fc={_0x4caca4:0x539,_0x990c00:0x552,_0x24fd41:0x557,_0x1cde65:0x515,_0x1d4c90:0x54f,_0x1dd735:0x500,_0x5c434f:0x4df,_0x55a177:0x503,_0x3d1103:0x50b,_0x4bbbd7:0x3,_0x1387a5:0x5,_0xfc1d2:0x19,_0x3db95b:0x4c6,_0x5e6fa7:0x51f,_0x52ca31:0x52f,_0x2df1f1:0x541,_0x43cf75:0x1c,_0x1637f7:0xc,_0x2e3a20:0x557,_0x5c3360:0x569,_0x90aca1:0x6,_0x5a2803:0x514,_0x35f64b:0x55e,_0x58bb02:0x537,_0x473a46:0xe,_0x25620c:0x14,_0x52caee:0x33,_0x40f628:0x4ea,_0x51d514:0x54f,_0x4d0f61:0x51c,_0x2b6139:0x547,_0x528903:0x533,_0x54abaa:0x532,_0x4d42c2:0x533,_0x50074e:0x532},_0x254efd={_0x3595a4:0x28c,_0x41482f:0x29e,_0x115743:0x3a0,_0x3bf499:0x3cc,_0x5c7a09:0x278,_0x2cd562:0x2a2,_0x574b30:0x287,_0xd71e3f:0x2c2,_0x1ec535:0x250,_0x9d8a0:0x26f,_0x2279a3:0x34f,_0x10e7c3:0x35b,_0xd9aed7:0x29d,_0x59359a:0x2aa,_0x5829b7:0x2b3,_0x4c8299:0x336,_0xc347a7:0x337,_0xf66a4b:0x373,_0x367765:0x2a8,_0x568984:0x2bc,_0x20d93a:0x2cb,_0x38dd45:0x381,_0x128206:0x3a8,_0x1753ec:0x3ac,_0xda492f:0x325,_0x56f374:0x318,_0x23d3cc:0x394,_0x4d3156:0x3b3,_0x24ad7a:0x356,_0x7694ca:0x34f,_0x334025:0x385,_0x504ffa:0x295,_0x2d7038:0x286,_0x96e6b:0x268,_0xb5db1d:0x296,_0x46b881:0x23c,_0xc79bce:0x256},_0x11b97e={_0x2e09fb:0x4d},_0x106683={_0x178758:0x3b,_0x4f796e:0x487},_0x258032={_0x473373:0x83,_0x249d4e:0x634,_0x56503b:0x172},_0x2ae035={_0x61d839:0x2,_0x453b20:0x55};function _0x1acc98(_0x22c92f,_0x290b39,_0x3c84bf,_0x20a2cf){return _0x4b2d53(_0x22c92f-0x13f,_0x20a2cf- -_0x2ae035._0x61d839,_0x290b39,_0x20a2cf-_0x2ae035._0x453b20);}const _0x176dce={'chGAp':_0xbfd944(0x4e1,0x4e3,0x493,0x4c4)+'ed','fxOkA':function(_0x1614e6,_0x581ab0,_0x55111b){return _0x1614e6(_0x581ab0,_0x55111b);},'TMfFG':function(_0x586d43,_0x11bf21){return _0x586d43*_0x11bf21;},'tvyxZ':_0x1acc98(-0x1b9,-_0xf55f9a._0x3dcb91,-0x1ac,-_0xf55f9a._0x5be5ef)+_0x1acc98(-_0xf55f9a._0x45dd0d,-_0xf55f9a._0x54edee,-_0xf55f9a._0x497ba2,-0x1ad),'yUwpK':_0x1acc98(-_0xf55f9a._0x50dfeb,-_0xf55f9a._0x418c7b,-0x1df,-0x1b0),'mjTmP':function(_0x421c80,_0x21a8c8){return _0x421c80===_0x21a8c8;},'HHhVh':_0xbfd944(_0xf55f9a._0x2d6653,_0xf55f9a._0x41ef45,_0xf55f9a._0x4f528c,_0xf55f9a._0x4b9ac8),'wnRJf':function(_0x57486f,_0x48b292){return _0x57486f!==_0x48b292;},'kNRTh':function(_0x1c5510,_0x92a56d){return _0x1c5510!==_0x92a56d;},'lIkQV':_0x1acc98(-_0xf55f9a._0x51504b,-0x192,-0x19c,-_0xf55f9a._0x49011c),'XJINM':_0xbfd944(0x46d,0x497,_0xf55f9a._0x351411,_0xf55f9a._0x5b2d6a)+_0xbfd944(_0xf55f9a._0x433630,0x461,_0xf55f9a._0x2d6653,_0xf55f9a._0x5f5147)+_0xbfd944(0x4a4,_0xf55f9a._0x162c8c,_0xf55f9a._0x64f153,_0xf55f9a._0x5c45e1),'EUaAL':function(_0x583912,_0xcecd2a){return _0x583912(_0xcecd2a);},'frGbQ':'ZoVuZ','wvoCu':_0xbfd944(0x45f,0x496,0x454,_0xf55f9a._0xf77615),'HEPTR':'open','CHUyV':'message','UwCgT':'close','BUrvh':'error','bFzES':function(_0x526ac9,_0x6c0c8e){return _0x526ac9(_0x6c0c8e);}};function _0xbfd944(_0x51b969,_0x3531fc,_0x389ffa,_0x36fe54){return _0x4b2d53(_0x51b969-_0x258032._0x473373,_0x36fe54-_0x258032._0x249d4e,_0x389ffa,_0x36fe54-_0x258032._0x56503b);}return new Promise((_0x5abff9,_0xd5b5b3)=>{const _0x43a226={_0x1874de:0x1fd,_0x3a5e40:0x1ef,_0x265241:0x272,_0x11daf3:0x245,_0x18b029:0x233},_0x134c4a={_0x5e046d:0x136},_0x113acd={_0xa56971:0xd3,_0x3af62c:0xe9,_0x227f1f:0xf9,_0x358233:0xac,_0x39aa39:0xed,_0x260777:0x8d,_0x3efa2c:0xab,_0x57e94c:0x136,_0x450b14:0x125,_0x821e9b:0x105,_0x50aecb:0xa2,_0x195556:0xe7,_0x3bd636:0xb0,_0x209935:0xc3,_0x1f77b0:0xf6,_0x2b4190:0xca,_0x156a16:0x84,_0x8573ee:0xa1,_0x579624:0xb8,_0x2ee886:0x11c},_0x510615={_0x566ca7:0x35b},_0x5bfe65={_0x3c8c6b:0x539,_0x2972a5:0x525,_0xb19d11:0x53a,_0x5c9d7b:0x4e0,_0x3a7bbe:0x4f3,_0x4a2295:0x31e,_0x3387cb:0x317,_0x139ba1:0x321,_0x552386:0x31f,_0x42d851:0x2b3,_0x22718a:0x2e6,_0xe7c3e8:0x2da},_0x583d64={_0x3aaa6a:0x5cf,_0x411c89:0x5aa,_0x301530:0x601,_0x5e89ed:0x142,_0x1d063d:0x13d,_0x4939e4:0x173,_0x1a47b5:0x5da,_0x48b1c7:0x1ae,_0x4ba0c2:0x1e0,_0x1d6531:0x162,_0x59c0e6:0x156,_0x705b5a:0x189,_0x103b9f:0x169,_0x3e14fe:0x161,_0x231cb8:0x1e2,_0x2a19cd:0x1a9,_0x5527c2:0x5e8,_0x1fa5b1:0x5cb,_0x37ee9b:0x17c,_0x1dec6e:0x593,_0x4b1110:0x580,_0x1a592d:0x5a8,_0xd4ab01:0x5dd,_0x4c00ea:0x5bd,_0x357218:0x19e,_0x4f8a8b:0x19f,_0x34df15:0x17f,_0x573446:0x1ae,_0x171833:0x5e1,_0x235dcb:0x5c3,_0x195f3d:0x5ce,_0x346a28:0x5ab,_0x59b63f:0x603,_0x53e004:0x5ff,_0x540423:0x609,_0x5005b0:0x5b1,_0x5ba5a9:0x142,_0x591301:0x1a1,_0xb222ae:0x1ab,_0x43c6e2:0x1c9,_0x59fa42:0x18b,_0x59ce83:0x180,_0x406a9d:0x5cb,_0x3f593e:0x5bf,_0x15c4b0:0x5db,_0x36178d:0x604,_0x4a3d7e:0x614,_0x3f96ed:0x5ae,_0x99b4d3:0x5b8,_0x4862cb:0x1de,_0x551f24:0x1ac,_0x1a5ab8:0x5dd,_0x36991b:0x5f6,_0xb93dc:0x5f3,_0x339a08:0x5a3},_0x1b446e={_0x1da481:0x88},_0x3a8a75={_0x77b47f:0x16e},_0x5dd9aa={_0x3f5e27:0x4e4,_0x2096a0:0x4d3},_0x2dee58={_0x583b9e:0x63,_0x35e662:0x1d9,_0x5b1ce7:0x6b},_0x5e0b83={_0x5addf5:0x146,_0x438aa4:0x154,_0x356a42:0x189,_0x887320:0x15f};function _0x566174(_0xecbe31,_0x2a41cd,_0x1da37b,_0x379914){return _0xbfd944(_0xecbe31-_0x106683._0x178758,_0x2a41cd-0x18b,_0xecbe31,_0x379914- -_0x106683._0x4f796e);}function _0x34925d(_0x44da8a,_0x685a37,_0x3fd561,_0x12221e){return _0xbfd944(_0x44da8a-0x1ea,_0x685a37-0x1d2,_0x3fd561,_0x12221e-0x89);}const _0x3ee9a9={'nlGLr':_0x176dce['yUwpK'],'GksJy':_0x34925d(0x55a,_0x3937fc._0x4caca4,0x528,_0x3937fc._0x990c00),'ghYBG':function(_0x5c1c46,_0x457f10){function _0x575d30(_0x259de2,_0x8b0e37,_0x173d6c,_0x58db5c){return _0x34925d(_0x259de2-0x31,_0x8b0e37-0x22,_0x173d6c,_0x58db5c- -0x595);}return _0x176dce[_0x575d30(-0x2b,-_0x11b97e._0x2e09fb,-0x4f,-0x53)](_0x5c1c46,_0x457f10);},'sCQfM':_0x176dce[_0x34925d(_0x3937fc._0x24fd41,_0x3937fc._0x1cde65,_0x3937fc._0x1d4c90,0x546)],'wWHzy':_0x34925d(_0x3937fc._0x1dd735,_0x3937fc._0x5c434f,0x4f0,_0x3937fc._0x55a177),'fGyXU':_0x34925d(0x506,0x4fa,0x4f8,_0x3937fc._0x3d1103)+_0x566174(-_0x3937fc._0x4bbbd7,_0x3937fc._0x1387a5,-0x16,_0x3937fc._0xfc1d2)+_0x34925d(_0x3937fc._0x3db95b,_0x3937fc._0x5e6fa7,0x4f2,0x4f9),'HqIST':function(_0xe07198,_0x58a887,_0x33b420){return _0xe07198(_0x58a887,_0x33b420);},'MVboi':function(_0x2df81c,_0x4c02f0){return _0x176dce['wnRJf'](_0x2df81c,_0x4c02f0);},'GuhhY':_0x34925d(_0x3937fc._0x52ca31,0x52b,0x556,_0x3937fc._0x2df1f1),'BtSTq':function(_0x12c403,_0x5494a0){const _0x1b297f={_0x19b992:0x39d};function _0x1ae4d0(_0x862f90,_0x4bfd76,_0x1f5145,_0x8e30d9){return _0x34925d(_0x862f90-0x1ed,_0x4bfd76-0x1b7,_0x1f5145,_0x8e30d9- -_0x1b297f._0x19b992);}return _0x176dce[_0x1ae4d0(_0x5e0b83._0x5addf5,_0x5e0b83._0x438aa4,_0x5e0b83._0x356a42,_0x5e0b83._0x887320)](_0x12c403,_0x5494a0);},'hTrUH':_0x176dce['lIkQV'],'SvLCa':'dunUV','zKTwd':function(_0x1b4323,_0x4d8ea4){return _0x1b4323<_0x4d8ea4;},'ieRLZ':_0x176dce[_0x566174(0x20,-_0x3937fc._0x43cf75,0x25,-_0x3937fc._0x1637f7)],'HTVfH':function(_0xaf5332,_0x2fa9c0){function _0x3a5602(_0x16f8f2,_0x5a3b25,_0xcc915f,_0x4cebd6){return _0x34925d(_0x16f8f2-_0x2dee58._0x583b9e,_0x5a3b25-_0x2dee58._0x35e662,_0x16f8f2,_0x5a3b25- -_0x2dee58._0x5b1ce7);}return _0x176dce[_0x3a5602(0x4df,_0x5dd9aa._0x3f5e27,0x4df,_0x5dd9aa._0x2096a0)](_0xaf5332,_0x2fa9c0);}};if(_0x176dce[_0x34925d(0x53e,_0x3937fc._0x2e3a20,_0x3937fc._0x5c3360,0x545)]!==_0x176dce[_0x566174(0x18,0x33,-0x24,_0x3937fc._0x90aca1)])try{this['ws']=new _0x44bbe4(this[_0x34925d(_0x3937fc._0x5a2803,0x556,_0x3937fc._0x35f64b,_0x3937fc._0x58bb02)]),this['ws']['on'](_0x176dce[_0x34925d(0x4d6,0x4d2,0x509,0x4f5)],()=>{const _0x4ab082={_0x24293f:0x86,_0x364ca7:0x69},_0x526c8b={_0x2f71b1:0x19};function _0x41b150(_0x241d8b,_0x3e4109,_0x1cc890,_0x9180f7){return _0x34925d(_0x241d8b-_0x526c8b._0x2f71b1,_0x3e4109-0x188,_0x9180f7,_0x3e4109- -0x211);}function _0x5a11c6(_0x2240c5,_0x20fd21,_0x319600,_0x116539){return _0x566174(_0x116539,_0x20fd21-_0x3a8a75._0x77b47f,_0x319600-0x10e,_0x319600-0x505);}const _0x5a4b9f={'jJfZa':_0x176dce['chGAp'],'jfezA':function(_0x378a44,_0x33fc95,_0x399ec6){function _0xa4a0f(_0x38ee10,_0x185c71,_0x4257c5,_0x22f231){return _0x354e(_0x38ee10- -0x136,_0x4257c5);}return _0x176dce[_0xa4a0f(0x82,_0x4ab082._0x24293f,_0x4ab082._0x364ca7,0xae)](_0x378a44,_0x33fc95,_0x399ec6);},'YYjuL':function(_0x2607d6,_0xd0c962){function _0x4131df(_0x3b63bb,_0x30a4c6,_0x14c7a0,_0x5d458a){return _0x354e(_0x5d458a- -0x11c,_0x3b63bb);}return _0x176dce[_0x4131df(0xb0,_0x1b446e._0x1da481,0xd8,0xaa)](_0x2607d6,_0xd0c962);}};this[_0x5a11c6(_0x5bfe65._0x3c8c6b,_0x5bfe65._0x2972a5,0x52a,_0x5bfe65._0xb19d11)]({'type':_0x176dce[_0x5a11c6(_0x5bfe65._0x5c9d7b,0x4c1,_0x5bfe65._0x3a7bbe,0x516)],'publicKey':this[_0x41b150(_0x5bfe65._0x4a2295,_0x5bfe65._0x3387cb,0x308,0x32e)]}),this[_0x41b150(0x355,_0x5bfe65._0x139ba1,0x2f6,_0x5bfe65._0x552386)+'al']=_0x176dce[_0x41b150(_0x5bfe65._0x42d851,_0x5bfe65._0x22718a,_0x5bfe65._0xe7c3e8,0x2c6)](setInterval,()=>{const _0x1946ff={_0x2457dc:0x2b2,_0x123843:0x14a},_0x1d103c={_0x12b0a8:0x51,_0x227641:0x1cf};function _0x280048(_0xda2242,_0x90a3a5,_0xf01003,_0x8e819b){return _0x5a11c6(_0xda2242-_0x1d103c._0x12b0a8,_0x90a3a5-_0x1d103c._0x227641,_0xda2242- -0x6a0,_0xf01003);}function _0x358a38(_0x161c21,_0x2e3b53,_0x39a9fb,_0x2fa93f){return _0x41b150(_0x161c21-0xe1,_0x161c21-_0x1946ff._0x2457dc,_0x39a9fb-_0x1946ff._0x123843,_0x39a9fb);}if(_0x3ee9a9[_0x358a38(_0x583d64._0x3aaa6a,_0x583d64._0x411c89,0x5e6,_0x583d64._0x301530)]===_0x3ee9a9[_0x280048(-0x170,-_0x583d64._0x5e89ed,-_0x583d64._0x1d063d,-_0x583d64._0x4939e4)]){const _0x22a9c5=_0x3a6ded[_0x358a38(0x5f4,_0x583d64._0x1a47b5,0x619,0x61d)](_0x4c871c[_0x280048(-_0x583d64._0x48b1c7,-0x1a5,-0x1a1,-_0x583d64._0x4ba0c2)]());this[_0x280048(-_0x583d64._0x1d6531,-_0x583d64._0x59c0e6,-0x152,-0x13a)+_0x280048(-_0x583d64._0x705b5a,-_0x583d64._0x103b9f,-0x170,-_0x583d64._0x3e14fe)](_0x22a9c5,_0x44df4d,_0x22b47d);}else{if(_0x3ee9a9['ghYBG'](this['ws']?.['readyState'],_0x44bbe4['OPEN'])){if(_0x3ee9a9[_0x280048(-0x1bc,-_0x583d64._0x231cb8,-_0x583d64._0x2a19cd,-0x1bd)]===_0x3ee9a9[_0x358a38(_0x583d64._0x5527c2,0x5bd,_0x583d64._0x1fa5b1,0x5dd)])this[_0x280048(-_0x583d64._0x37ee9b,-0x1a4,-0x149,-0x160)](),this[_0x358a38(_0x583d64._0x1dec6e,_0x583d64._0x4b1110,0x5c0,_0x583d64._0x1a592d)](_0x5a4b9f[_0x358a38(0x5c1,_0x583d64._0xd4ab01,0x5f4,_0x583d64._0x4c00ea)]),this['reconnectA'+_0x280048(-_0x583d64._0x357218,-0x1be,-0x198,-0x177)]<this[_0x280048(-_0x583d64._0x4f8a8b,-0x1a6,-0x16e,-0x1b6)+_0x280048(-_0x583d64._0x34df15,-0x19f,-_0x583d64._0x573446,-0x19c)]&&(this[_0x358a38(_0x583d64._0x171833,_0x583d64._0x235dcb,0x5af,_0x583d64._0x195f3d)+_0x358a38(0x5ae,0x5be,0x5cc,0x581)]++,_0x108502[_0x358a38(0x5da,0x5e6,0x5c7,_0x583d64._0x346a28)](_0x358a38(0x5de,0x5c8,_0x583d64._0x59b63f,_0x583d64._0x53e004)+_0x358a38(0x5d7,_0x583d64._0x540423,0x5e7,_0x583d64._0x5005b0)+_0x280048(-0x173,-_0x583d64._0x5ba5a9,-0x151,-_0x583d64._0x591301)+this['reconnectA'+_0x358a38(0x5ae,0x59f,0x5a2,0x583)]+')'),_0x5a4b9f[_0x280048(-_0x583d64._0xb222ae,-_0x583d64._0x43c6e2,-_0x583d64._0x59fa42,-_0x583d64._0x59ce83)](_0x2bd126,()=>this[_0x280048(-0x185,-0x169,-0x1a1,-0x176)](),_0x5a4b9f[_0x358a38(_0x583d64._0x406a9d,0x5e3,_0x583d64._0x3f593e,_0x583d64._0x15c4b0)](0xc14*-0x2+0xbdf+0x1419,this[_0x358a38(0x5e1,_0x583d64._0x36178d,_0x583d64._0x4a3d7e,0x5ae)+_0x358a38(_0x583d64._0x3f96ed,0x5d0,_0x583d64._0x99b4d3,0x5df)])));else{const _0x573bac={};_0x573bac[_0x280048(-0x1b0,-_0x583d64._0x4862cb,-_0x583d64._0x551f24,-0x1aa)]=_0x358a38(_0x583d64._0x1a5ab8,_0x583d64._0x36991b,0x5d8,_0x583d64._0xb93dc),this[_0x358a38(0x5d6,_0x583d64._0x339a08,0x5d8,0x5ef)](_0x573bac);}}}},0x1*-0x46d5+-0x8*0x94f+-0x1431*-0xd);}),this['ws']['on'](_0x176dce[_0x566174(_0x3937fc._0x473a46,0x1b,_0x3937fc._0x25620c,_0x3937fc._0x52caee)],_0x389974=>{const _0x511b31={_0xebc12d:0x1e4,_0x25bf0f:0x2a3};function _0x3ce90d(_0x5d21c4,_0x2ce7c,_0x38cfe3,_0x33ce89){return _0x566174(_0x38cfe3,_0x2ce7c-0x94,_0x38cfe3-0xbe,_0x5d21c4-_0x510615._0x566ca7);}function _0x2dc29d(_0x5c19b3,_0x2c96c7,_0x33b787,_0x2d6770){return _0x34925d(_0x5c19b3-_0x511b31._0xebc12d,_0x2c96c7-0x192,_0x2d6770,_0x2c96c7- -_0x511b31._0x25bf0f);}if(_0x3ee9a9['MVboi'](_0x2dc29d(_0x254efd._0x3595a4,_0x254efd._0x41482f,0x2a6,0x270),_0x3ee9a9[_0x3ce90d(_0x254efd._0x115743,0x37e,0x3cb,_0x254efd._0x3bf499)]))try{const _0x11c7a1=_0x5d092e['parse'](_0x1f3241[_0x2dc29d(0x26f,0x25a,0x285,_0x254efd._0x5c7a09)]());this[_0x2dc29d(_0x254efd._0x2cd562,0x2a6,_0x254efd._0x574b30,_0x254efd._0xd71e3f)+_0x2dc29d(0x291,0x27f,_0x254efd._0x1ec535,_0x254efd._0x9d8a0)](_0x11c7a1,_0x3d430d,_0x5871e1);}catch(_0x39a3e3){_0x3f3852['error'](_0x3ee9a9[_0x3ce90d(0x360,0x32f,0x38c,_0x254efd._0x2279a3)],_0x39a3e3);}else try{if(_0x3ee9a9[_0x3ce90d(_0x254efd._0x10e7c3,0x328,0x34b,_0x254efd._0x10e7c3)](_0x3ee9a9[_0x2dc29d(0x2ac,0x28e,0x26c,_0x254efd._0x2cd562)],_0x3ee9a9['hTrUH']))this[_0x2dc29d(0x297,_0x254efd._0xd9aed7,_0x254efd._0x59359a,_0x254efd._0x5829b7)+_0x3ce90d(0x358,_0x254efd._0x4c8299,_0x254efd._0xc347a7,_0x254efd._0xf66a4b)]++,_0x7c066b['log'](_0x2dc29d(_0x254efd._0x367765,0x29a,_0x254efd._0x568984,_0x254efd._0x20d93a)+_0x3ce90d(_0x254efd._0x38dd45,0x396,0x35f,_0x254efd._0x128206)+'empt\x20'+this['reconnectA'+'ttempts']+')'),_0x3ee9a9[_0x3ce90d(0x395,0x3af,_0x254efd._0x1753ec,0x382)](_0x480884,()=>this[_0x3ce90d(0x371,0x368,0x38d,0x399)](),(-0x1d93+-0xb*-0x1d2+0x115d*0x1)*this['reconnectA'+_0x2dc29d(0x279,0x26a,0x27a,0x253)]);else{const _0x184f19=JSON['parse'](_0x389974[_0x3ce90d(0x348,_0x254efd._0xda492f,0x36a,_0x254efd._0x56f374)]());this[_0x3ce90d(_0x254efd._0x23d3cc,_0x254efd._0x4d3156,0x39a,0x399)+'age'](_0x184f19,_0x5abff9,_0xd5b5b3);}}catch(_0x2d529e){console['error'](_0x3ce90d(_0x254efd._0x24ad7a,_0x254efd._0x7694ca,_0x254efd._0x334025,0x386)+_0x2dc29d(_0x254efd._0x504ffa,_0x254efd._0x2d7038,_0x254efd._0x96e6b,_0x254efd._0xb5db1d)+_0x2dc29d(_0x254efd._0x46b881,_0x254efd._0xc79bce,0x23d,0x225),_0x2d529e);}}),this['ws']['on'](_0x176dce[_0x34925d(_0x3937fc._0x40f628,0x524,_0x3937fc._0x51d514,_0x3937fc._0x4d0f61)],()=>{const _0x17f6cd={_0x465029:0xef,_0x25deff:0x4a,_0xe0ded:0x5f8},_0x37249d={_0x32aad5:0x172,_0xad4d00:0x97},_0x351987={};function _0x5604e6(_0x2fc7ff,_0x415d7f,_0x3b86f9,_0x17b8c6){return _0x34925d(_0x2fc7ff-_0x37249d._0x32aad5,_0x415d7f-_0x37249d._0xad4d00,_0x2fc7ff,_0x17b8c6- -0x602);}_0x351987[_0x5604e6(-0x10c,-_0x113acd._0xa56971,-_0x113acd._0x3af62c,-_0x113acd._0x227f1f)]=_0x5604e6(-0xa3,-0xdd,-0xcc,-0xc6);const _0x480a9d=_0x351987;function _0x172c51(_0x55b453,_0x48d721,_0x211581,_0xa1af2a){return _0x34925d(_0x55b453-_0x17f6cd._0x465029,_0x48d721-_0x17f6cd._0x25deff,_0x211581,_0xa1af2a- -_0x17f6cd._0xe0ded);}if(_0x5604e6(-0xa4,-0xa6,-0x7a,-_0x113acd._0x358233)===_0x3ee9a9['SvLCa'])this[_0x5604e6(-0xa6,-_0x113acd._0x39aa39,-0xf5,-0xd3)](),this['emit'](_0x172c51(-0x99,-0xbf,-_0x113acd._0x260777,-_0x113acd._0x3efa2c)+'ed'),_0x3ee9a9[_0x172c51(-_0x113acd._0x57e94c,-_0x113acd._0x450b14,-0x116,-_0x113acd._0x821e9b)](this[_0x5604e6(-0xcf,-_0x113acd._0x50aecb,-0xc6,-0xc2)+'ttempts'],this['maxReconne'+'ctAttempts'])&&(this['reconnectA'+'ttempts']++,console['log'](_0x172c51(-_0x113acd._0x195556,-_0x113acd._0x3bd636,-_0x113acd._0x209935,-0xbb)+'ng...\x20(att'+_0x5604e6(-_0x113acd._0x1f77b0,-0xfa,-0xf4,-_0x113acd._0x2b4190)+this[_0x172c51(-_0x113acd._0x156a16,-_0x113acd._0x8573ee,-0xbf,-0xb8)+'ttempts']+')'),setTimeout(()=>this[_0x5604e6(-0xb1,-0xb5,-0xc3,-0xdc)](),(0x1*-0x1d1b+0x4*0x64f+-0x3*-0x3e5)*this[_0x172c51(-0xea,-0x98,-0xb1,-_0x113acd._0x579624)+_0x172c51(-0xde,-_0x113acd._0x2ee886,-0xfe,-0xeb)]));else{const _0x466dfb={};_0x466dfb['type']=_0x480a9d['gorii'],this['send'](_0x466dfb);}}),this['ws']['on'](_0x176dce['BUrvh'],_0x2cb6eb=>{const _0x308f37={_0x21b26d:0x1a0};function _0x178d37(_0x4c4ac9,_0x3469d3,_0x27e7f8,_0x128a6d){return _0x566174(_0x4c4ac9,_0x3469d3-0x5f,_0x27e7f8-0xdf,_0x3469d3-_0x308f37._0x21b26d);}console[_0xff55a5(0x211,_0x43a226._0x1874de,0x202,0x1dc)](_0x3ee9a9[_0x178d37(0x1d3,0x1bb,_0x43a226._0x3a5e40,0x1bc)],_0x2cb6eb);function _0xff55a5(_0x276903,_0x49cf43,_0x4765ec,_0x842d00){return _0x34925d(_0x276903-0xa2,_0x49cf43-_0x134c4a._0x5e046d,_0x49cf43,_0x4765ec- -0x2f6);}_0x3ee9a9[_0xff55a5(_0x43a226._0x265241,_0x43a226._0x11daf3,0x248,_0x43a226._0x18b029)](_0xd5b5b3,_0x2cb6eb);});}catch(_0x477bce){_0x176dce['bFzES'](_0xd5b5b3,_0x477bce);}else _0x3ee9a9[_0x34925d(0x553,0x514,_0x3937fc._0x2b6139,0x53e)](_0x26c781,this[_0x34925d(_0x3937fc._0x528903,0x522,0x50e,_0x3937fc._0x54abaa)+'al']),this[_0x34925d(_0x3937fc._0x4d42c2,0x557,0x544,_0x3937fc._0x50074e)+'al']=null;});}[_0x4b2d53(-0x196,-0x174,-0x172,-0x183)+_0x4b2d53(-0x1cd,-0x19b,-0x17a,-0x180)](_0x545de3,_0x5d96aa,_0x1fc94f){const _0x4d716d={_0x195b32:0x39f,_0x2ab1c5:0x389,_0x1cb5c0:0x5a,_0x1cee07:0x1e,_0x350dd2:0x2,_0x468ff4:0x63,_0x208ec0:0x68,_0x40064a:0x22,_0x1d21c0:0x3b5,_0x3a5098:0x3a7,_0x57d712:0x398,_0x34cccc:0x38f,_0x141280:0x3ba,_0x2dff36:0x395,_0x3515e8:0x382,_0x427594:0x3f,_0x274a10:0x5b,_0x42b745:0x12,_0x3dcdb5:0x9,_0x3d0463:0x1f,_0x2aaeb3:0x31,_0x11f0ba:0x24,_0x189780:0x1e,_0x2e461a:0x38,_0x3d3aef:0x32,_0x416036:0x13,_0x2142dc:0x381,_0x27a680:0x3a9,_0x79c3c7:0x3a8,_0x3ee6a1:0x3bc,_0x2ed792:0x26,_0x57e79a:0x2f,_0x1e9943:0x35f,_0xfbac2d:0x344,_0x5ba615:0x35a,_0x425e4c:0x371,_0x2ecd2b:0x36f,_0xd1349c:0x3a3,_0x4db2bd:0x392,_0x636098:0x34b,_0x427521:0x35a,_0x9fb6ff:0x385,_0x9820f:0x354,_0x347400:0x3b7,_0x17a6bb:0x38d,_0xc46e61:0x10,_0x1b5fdf:0x15,_0x30f3f5:0xf,_0x10b99d:0x17,_0x9bc087:0x3d4,_0x113a4f:0x3bd},_0x30bf99={_0x3e5bbd:0x2b},_0x5583a5={'SFjWp':'CHANNEL_CR'+_0x2f0958(0x355,_0x4d716d._0x195b32,_0x4d716d._0x2ab1c5,0x36d),'zDXre':'APP_CONNEC'+_0x5057b3(-_0x4d716d._0x1cb5c0,-0x50,-0x31,-0x63),'vZXCS':_0x5057b3(-0x7,-_0x4d716d._0x1cee07,-0x6,_0x4d716d._0x350dd2)+'ed','jXZFo':_0x5057b3(-_0x4d716d._0x468ff4,-0x1b,-0x34,-0x17)+_0x5057b3(-_0x4d716d._0x208ec0,-_0x4d716d._0x40064a,-0x42,-0x44),'FeRZN':'appDisconn'+_0x2f0958(0x383,_0x4d716d._0x1d21c0,_0x4d716d._0x3a5098,_0x4d716d._0x57d712),'RYlxE':_0x2f0958(_0x4d716d._0x34cccc,_0x4d716d._0x141280,0x398,0x3bd),'BOGZV':_0x2f0958(0x3b6,_0x4d716d._0x2dff36,_0x4d716d._0x3515e8,0x358),'fssUK':_0x5057b3(-0x59,-0x17,-_0x4d716d._0x427594,-_0x4d716d._0x274a10),'vutJM':_0x5057b3(-_0x4d716d._0x42b745,_0x4d716d._0x3dcdb5,-_0x4d716d._0x3d0463,-_0x4d716d._0x2aaeb3)+'r:','nDQJK':function(_0x2ec12e,_0x39a8e7){return _0x2ec12e(_0x39a8e7);},'ThOzr':_0x5057b3(-_0x4d716d._0x11f0ba,-0x1,-0x15,_0x4d716d._0x189780)};function _0x5057b3(_0x44dcd1,_0x6168ed,_0x4731ec,_0x35fc0c){return _0xe6ceb8(_0x44dcd1-0x163,_0x6168ed-0x171,_0x4731ec- -_0x30bf99._0x3e5bbd,_0x35fc0c);}function _0x2f0958(_0x924437,_0x674c91,_0x3dcfcb,_0xcdf01){return _0xe6ceb8(_0x924437-0xf8,_0x674c91-0xd5,_0x3dcfcb-0x370,_0x924437);}switch(_0x545de3[_0x5057b3(-0x3a,-0x47,-_0x4d716d._0x2e461a,-_0x4d716d._0x3d3aef)]){case _0x5583a5['SFjWp']:this[_0x5057b3(0x16,0x17,-0x1b,-_0x4d716d._0x416036)]=_0x545de3['channelId'],this[_0x2f0958(_0x4d716d._0x2142dc,_0x4d716d._0x27a680,_0x4d716d._0x79c3c7,_0x4d716d._0x3ee6a1)+_0x5057b3(-0xe,-0x2c,-_0x4d716d._0x2ed792,-_0x4d716d._0x57e79a)]=-0x1*0xbe3+-0x2260+0x2e43,_0x5d96aa(this['channelId']);break;case _0x5583a5['zDXre']:this[_0x2f0958(_0x4d716d._0x1e9943,_0x4d716d._0xfbac2d,_0x4d716d._0x5ba615,_0x4d716d._0x425e4c)](_0x5583a5[_0x2f0958(0x3a5,_0x4d716d._0x2ecd2b,0x39c,_0x4d716d._0xd1349c)]);break;case _0x5583a5[_0x2f0958(0x3d6,0x3c6,0x3b3,_0x4d716d._0x4db2bd)]:this[_0x2f0958(_0x4d716d._0x636098,0x370,_0x4d716d._0x427521,_0x4d716d._0x9fb6ff)](_0x5583a5[_0x2f0958(0x36a,0x398,0x383,_0x4d716d._0x9820f)]);break;case _0x5583a5[_0x2f0958(0x36c,_0x4d716d._0x347400,_0x4d716d._0x17a6bb,0x38f)]:this['emit'](_0x5583a5[_0x5057b3(0x18,0x18,-_0x4d716d._0xc46e61,-_0x4d716d._0x1b5fdf)],_0x545de3['payload']);break;case _0x5583a5[_0x5057b3(0x12,_0x4d716d._0x350dd2,0x11,-_0x4d716d._0x3d0463)]:console['error'](_0x5583a5[_0x5057b3(-0x4,-_0x4d716d._0x30f3f5,-0x14,-_0x4d716d._0x10b99d)],_0x545de3['message']),_0x5583a5[_0x2f0958(_0x4d716d._0x9bc087,_0x4d716d._0x113a4f,0x3bc,0x3c7)](_0x1fc94f,new Error(_0x545de3['message']));break;case _0x5583a5['ThOzr']:break;}}[_0xe6ceb8(0x2a,0x4,0x2d,0x30)](_0x2a52ec){const _0x268928={_0xa0a588:0x268,_0x325bd:0x274,_0x51f81e:0x231,_0xd04444:0x25a,_0x2efbbc:0x231},_0xf716b9={_0x4fbda9:0xb2,_0x5c147b:0x158,_0xc448c3:0x222},_0x5dd9bb={_0x4902f0:0x19c},_0x5ecf49={};_0x5ecf49['qnWYT']=function(_0x568366,_0x41847b){return _0x568366===_0x41847b;};function _0x37d220(_0x1ae737,_0x102d36,_0x2935d8,_0x3bf3a9){return _0xe6ceb8(_0x1ae737-0x171,_0x102d36-0x17,_0x1ae737-_0x5dd9bb._0x4902f0,_0x2935d8);}function _0x284f57(_0x2cdd9b,_0x20577b,_0x3aad0d,_0x25bd1b){return _0xe6ceb8(_0x2cdd9b-_0xf716b9._0x4fbda9,_0x20577b-_0xf716b9._0x5c147b,_0x2cdd9b-_0xf716b9._0xc448c3,_0x20577b);}const _0x2cd1fa=_0x5ecf49;_0x2cd1fa[_0x284f57(_0x268928._0xa0a588,0x26b,0x260,0x297)](this['ws']?.['readyState'],_0x44bbe4['OPEN'])&&this['ws'][_0x284f57(0x24f,_0x268928._0x325bd,0x255,0x251)](JSON[_0x284f57(_0x268928._0x51f81e,_0x268928._0xd04444,_0x268928._0x2efbbc,0x23d)](_0x2a52ec));}[_0xe6ceb8(0xb,0x3f,0xb,-0x23)](_0x152e5a){const _0x14b20e={_0x3e581d:0x55e,_0x286def:0x587,_0x2f15ec:0x55b,_0x8f1c:0x5b6,_0x2e7084:0x5b8},_0x3fad6e={_0x300e00:0x69,_0x192576:0x89},_0x43bd42={_0xeb7363:0x73e};function _0x11a6e9(_0x4f0763,_0x1a4f40,_0x4f6dd2,_0x25e0eb){return _0x4b2d53(_0x4f0763-0xb9,_0x1a4f40-_0x43bd42._0xeb7363,_0x25e0eb,_0x25e0eb-0x175);}const _0x3dcbab={};function _0x449035(_0x1777bf,_0x32e6ef,_0x5b2b18,_0x28daff){return _0xe6ceb8(_0x1777bf-_0x3fad6e._0x300e00,_0x32e6ef-0x78,_0x1777bf-_0x3fad6e._0x192576,_0x32e6ef);}_0x3dcbab[_0x11a6e9(_0x14b20e._0x3e581d,_0x14b20e._0x286def,0x59a,_0x14b20e._0x2f15ec)]=_0x449035(0x71,0x91,0x68,0x8d);const _0x3a5d4c=_0x3dcbab,_0x30375e={};_0x30375e[_0x11a6e9(0x577,0x57c,0x57e,0x57b)]=_0x3a5d4c['NCyRc'],_0x30375e['payload']=_0x152e5a,this[_0x11a6e9(0x599,_0x14b20e._0x8f1c,_0x14b20e._0x2e7084,0x5af)](_0x30375e);}[_0x4b2d53(-0x15b,-0x183,-0x16c,-0x14f)+'Id'](){const _0x184f03={_0x4ae17f:0x16},_0x1f80f8={_0x3ddadd:0xd0,_0x2a6742:0x19c};function _0x149dc7(_0x244273,_0x22d748,_0x453d20,_0x4ecbd0){return _0x4b2d53(_0x244273-_0x1f80f8._0x3ddadd,_0x453d20-_0x1f80f8._0x2a6742,_0x244273,_0x4ecbd0-0x5b);}return this[_0x149dc7(_0x184f03._0x4ae17f,-0x8,-0x9,-0x1e)];}['cleanup'](){const _0xb737a9={_0x3cea49:0x48f,_0x2cf477:0x464,_0x280420:0x498,_0x45278c:0x4c3,_0x2cadf3:0x492,_0x5abb48:0x499},_0x105567={_0x580130:0x1dd,_0x1af444:0x58b},_0x5d581d={_0x29a07c:0x46e};function _0x1b7c8c(_0x12c39f,_0x1cf727,_0x24ff82,_0x420730){return _0xe6ceb8(_0x12c39f-0x80,_0x1cf727-0x1e7,_0x420730-_0x5d581d._0x29a07c,_0x1cf727);}const _0x4636fd={'hUFpf':function(_0x38c335,_0x2b88ad){return _0x38c335(_0x2b88ad);}};function _0x12e7e7(_0x281c2c,_0x1c5294,_0x2822ff,_0x3d9772){return _0x4b2d53(_0x281c2c-_0x105567._0x580130,_0x281c2c-_0x105567._0x1af444,_0x1c5294,_0x3d9772-0x142);}this[_0x1b7c8c(_0xb737a9._0x3cea49,_0xb737a9._0x2cf477,0x465,_0xb737a9._0x280420)+'al']&&(_0x4636fd[_0x1b7c8c(0x4ca,_0xb737a9._0x45278c,_0xb737a9._0x2cadf3,_0xb737a9._0x5abb48)](clearInterval,this['pingInterv'+'al']),this['pingInterv'+'al']=null);}[_0x4b2d53(-0x185,-0x170,-0x14b,-0x14d)](){const _0x5b784c={_0x8a439e:0x14e,_0x284b99:0x14b,_0x263bb4:0x178,_0x398f71:0x141,_0x1e0c9e:0x1c6,_0x44cf2b:0x182},_0x5221bd={_0x1bcdd5:0x14b,_0x5988b0:0x1a3},_0xc93f9e={_0x5d863d:0x1d2,_0x4999bd:0xac};function _0x92d253(_0x1667f8,_0x4a9c99,_0x3a3453,_0x577440){return _0x4b2d53(_0x1667f8-_0xc93f9e._0x5d863d,_0x3a3453-0x51,_0x1667f8,_0x577440-_0xc93f9e._0x4999bd);}this[_0x5b922a(-_0x5b784c._0x8a439e,-_0x5b784c._0x284b99,-0x17c,-_0x5b784c._0x263bb4)]();this['ws']&&(this['ws'][_0x92d253(-_0x5b784c._0x398f71,-0x132,-0x15e,-0x189)](),this['ws']=null);function _0x5b922a(_0x1749fd,_0x17a1d2,_0x160796,_0x50c99b){return _0xe6ceb8(_0x1749fd-0x1d2,_0x17a1d2-_0x5221bd._0x1bcdd5,_0x160796- -_0x5221bd._0x5988b0,_0x17a1d2);}this[_0x5b922a(-_0x5b784c._0x1e0c9e,-_0x5b784c._0x44cf2b,-0x193,-0x1ae)]=null;}}
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
export class RelayClient extends EventEmitter {
|
|
4
|
+
ws = null;
|
|
5
|
+
serverUrl;
|
|
6
|
+
publicKey;
|
|
7
|
+
channelId = null;
|
|
8
|
+
reconnectAttempts = 0;
|
|
9
|
+
maxReconnectAttempts = 5;
|
|
10
|
+
pingInterval = null;
|
|
11
|
+
constructor(config) {
|
|
12
|
+
super();
|
|
13
|
+
this.serverUrl = config.serverUrl;
|
|
14
|
+
this.publicKey = config.publicKey;
|
|
15
|
+
}
|
|
16
|
+
async connect() {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
try {
|
|
19
|
+
this.ws = new WebSocket(this.serverUrl);
|
|
20
|
+
this.ws.on('open', () => {
|
|
21
|
+
// Create channel
|
|
22
|
+
this.send({
|
|
23
|
+
type: 'CREATE_CHANNEL',
|
|
24
|
+
publicKey: this.publicKey,
|
|
25
|
+
});
|
|
26
|
+
// Start ping interval
|
|
27
|
+
this.pingInterval = setInterval(() => {
|
|
28
|
+
if (this.ws?.readyState === WebSocket.OPEN) {
|
|
29
|
+
this.send({ type: 'PING' });
|
|
30
|
+
}
|
|
31
|
+
}, 30000);
|
|
32
|
+
});
|
|
33
|
+
this.ws.on('message', (data) => {
|
|
34
|
+
try {
|
|
35
|
+
const message = JSON.parse(data.toString());
|
|
36
|
+
this.handleMessage(message, resolve, reject);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error('Error parsing relay message:', error);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
this.ws.on('close', () => {
|
|
43
|
+
this.cleanup();
|
|
44
|
+
this.emit('disconnected');
|
|
45
|
+
// Try to reconnect
|
|
46
|
+
if (this.reconnectAttempts < this.maxReconnectAttempts) {
|
|
47
|
+
this.reconnectAttempts++;
|
|
48
|
+
console.log(`Reconnecting... (attempt ${this.reconnectAttempts})`);
|
|
49
|
+
setTimeout(() => this.connect(), 2000 * this.reconnectAttempts);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.ws.on('error', (error) => {
|
|
53
|
+
console.error('Relay connection error:', error);
|
|
54
|
+
reject(error);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
reject(error);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
handleMessage(message, resolve, reject) {
|
|
63
|
+
switch (message.type) {
|
|
64
|
+
case 'CHANNEL_CREATED':
|
|
65
|
+
this.channelId = message.channelId;
|
|
66
|
+
this.reconnectAttempts = 0;
|
|
67
|
+
resolve(this.channelId);
|
|
68
|
+
break;
|
|
69
|
+
case 'APP_CONNECTED':
|
|
70
|
+
this.emit('appConnected');
|
|
71
|
+
break;
|
|
72
|
+
case 'APP_DISCONNECTED':
|
|
73
|
+
this.emit('appDisconnected');
|
|
74
|
+
break;
|
|
75
|
+
case 'RELAYED':
|
|
76
|
+
// Forward the encrypted payload to the local handler
|
|
77
|
+
this.emit('message', message.payload);
|
|
78
|
+
break;
|
|
79
|
+
case 'ERROR':
|
|
80
|
+
console.error('Relay error:', message.message);
|
|
81
|
+
reject(new Error(message.message));
|
|
82
|
+
break;
|
|
83
|
+
case 'PONG':
|
|
84
|
+
// Heartbeat response
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
send(message) {
|
|
89
|
+
if (this.ws?.readyState === WebSocket.OPEN) {
|
|
90
|
+
this.ws.send(JSON.stringify(message));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
relay(payload) {
|
|
94
|
+
this.send({
|
|
95
|
+
type: 'RELAY',
|
|
96
|
+
payload,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
getChannelId() {
|
|
100
|
+
return this.channelId;
|
|
101
|
+
}
|
|
102
|
+
cleanup() {
|
|
103
|
+
if (this.pingInterval) {
|
|
104
|
+
clearInterval(this.pingInterval);
|
|
105
|
+
this.pingInterval = null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
disconnect() {
|
|
109
|
+
this.cleanup();
|
|
110
|
+
if (this.ws) {
|
|
111
|
+
this.ws.close();
|
|
112
|
+
this.ws = null;
|
|
113
|
+
}
|
|
114
|
+
this.channelId = null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=relayClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayClient.js","sourceRoot":"","sources":["../../src/network/relayClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { type ProtocolMessage } from './messageHandler.js';
|
|
3
|
+
export interface ServerConfig {
|
|
4
|
+
port: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ServerEvents {
|
|
7
|
+
connected: (clientId: string) => void;
|
|
8
|
+
disconnected: (clientId: string) => void;
|
|
9
|
+
command: (command: string, clientId: string) => void;
|
|
10
|
+
queueRun: (instructions: string[], clientId: string) => void;
|
|
11
|
+
queueAdd: (instruction: string, folder: string, clientId: string) => void;
|
|
12
|
+
queueDelete: (index: number, folder: string, clientId: string) => void;
|
|
13
|
+
folderCreate: (name: string, clientId: string) => void;
|
|
14
|
+
folderDelete: (name: string, clientId: string) => void;
|
|
15
|
+
setMode: (mode: 'plan' | 'action' | 'request', clientId: string) => void;
|
|
16
|
+
error: (error: Error) => void;
|
|
17
|
+
sessionList: (clientId: string) => void;
|
|
18
|
+
sessionCreate: (name: string | undefined, workingDirectory: string | undefined, clientId: string) => void;
|
|
19
|
+
sessionSwitch: (sessionId: string, clientId: string) => void;
|
|
20
|
+
sessionDelete: (sessionId: string, clientId: string) => void;
|
|
21
|
+
sessionRename: (sessionId: string, name: string, clientId: string) => void;
|
|
22
|
+
sessionInfo: (clientId: string) => void;
|
|
23
|
+
sessionMessages: (sessionId: string, clientId: string) => void;
|
|
24
|
+
sessionClearMessages: (sessionId: string, clientId: string) => void;
|
|
25
|
+
sessionCompact: (sessionId: string, clientId: string) => void;
|
|
26
|
+
gitStatus: (sessionId: string | undefined, clientId: string) => void;
|
|
27
|
+
gitLog: (limit: number, offset: number, clientId: string) => void;
|
|
28
|
+
gitDiff: (path: string, staged: boolean, clientId: string) => void;
|
|
29
|
+
gitStage: (paths: string[], clientId: string) => void;
|
|
30
|
+
gitUnstage: (paths: string[], clientId: string) => void;
|
|
31
|
+
gitCommit: (message: string, clientId: string) => void;
|
|
32
|
+
gitPush: (force: boolean, setUpstream: boolean, clientId: string) => void;
|
|
33
|
+
gitListBranches: (cwd: string | undefined, clientId: string) => void;
|
|
34
|
+
gitSwitchBranch: (branch: string, cwd: string | undefined, clientId: string) => void;
|
|
35
|
+
gitStash: (cwd: string | undefined, clientId: string) => void;
|
|
36
|
+
gitDiscard: (paths: string[], cwd: string | undefined, clientId: string) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare class QewServer extends EventEmitter {
|
|
39
|
+
private wss;
|
|
40
|
+
private keyPair;
|
|
41
|
+
private clients;
|
|
42
|
+
private port;
|
|
43
|
+
constructor(config: ServerConfig);
|
|
44
|
+
getPublicKey(): string;
|
|
45
|
+
getPort(): number;
|
|
46
|
+
start(): Promise<void>;
|
|
47
|
+
stop(): void;
|
|
48
|
+
private generateClientId;
|
|
49
|
+
private handleMessage;
|
|
50
|
+
private handlePairRequest;
|
|
51
|
+
private handleCommand;
|
|
52
|
+
private handleQueueRun;
|
|
53
|
+
private handleQueueAdd;
|
|
54
|
+
private handleQueueDelete;
|
|
55
|
+
private handleQueueUpdate;
|
|
56
|
+
private handleQueueClear;
|
|
57
|
+
private handleFolderCreate;
|
|
58
|
+
private handleFolderDelete;
|
|
59
|
+
private handleSessionCreate;
|
|
60
|
+
private handleSessionSwitch;
|
|
61
|
+
private handleSessionDelete;
|
|
62
|
+
private handleSessionRename;
|
|
63
|
+
private handleSessionMessages;
|
|
64
|
+
private handleSessionClearMessages;
|
|
65
|
+
private handleSessionCompact;
|
|
66
|
+
sendToClient(clientId: string, message: ProtocolMessage): void;
|
|
67
|
+
sendEncrypted(clientId: string, type: ProtocolMessage['type'], payload: unknown): void;
|
|
68
|
+
broadcastEncrypted(type: ProtocolMessage['type'], payload: unknown): void;
|
|
69
|
+
getConnectedClients(): string[];
|
|
70
|
+
hasConnectedClients(): boolean;
|
|
71
|
+
private handleGitStatus;
|
|
72
|
+
private handleGitLog;
|
|
73
|
+
private handleGitDiff;
|
|
74
|
+
private handleGitStage;
|
|
75
|
+
private handleGitUnstage;
|
|
76
|
+
private handleGitCommit;
|
|
77
|
+
private handleGitPush;
|
|
78
|
+
private handleGitListBranches;
|
|
79
|
+
private handleGitSwitchBranch;
|
|
80
|
+
private handleGitStash;
|
|
81
|
+
private handleGitDiscard;
|
|
82
|
+
private handleBrowseDirectory;
|
|
83
|
+
private handleValidatePath;
|
|
84
|
+
private handleSetMode;
|
|
85
|
+
private handleExitPlanResponse;
|
|
86
|
+
private handlePermissionResponse;
|
|
87
|
+
private handleAskUserQuestionResponse;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/network/server.ts"],"names":[],"mappings":"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"}
|