kythia-core 0.12.5-beta → 0.12.7-beta

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.
Files changed (120) hide show
  1. package/dist/Kythia.d.ts +7 -6
  2. package/dist/Kythia.d.ts.map +1 -1
  3. package/dist/Kythia.js +1 -503
  4. package/dist/Kythia.js.map +1 -1
  5. package/dist/KythiaClient.d.ts.map +1 -1
  6. package/dist/KythiaClient.js +1 -76
  7. package/dist/KythiaClient.js.map +1 -1
  8. package/dist/cli/Command.js +1 -16
  9. package/dist/cli/commands/AboutCommand.d.ts +7 -0
  10. package/dist/cli/commands/AboutCommand.d.ts.map +1 -0
  11. package/dist/cli/commands/AboutCommand.js +1 -0
  12. package/dist/cli/commands/AboutCommand.js.map +1 -0
  13. package/dist/cli/commands/CacheClearCommand.js +1 -97
  14. package/dist/cli/commands/DIGenerateCommand.js +1 -168
  15. package/dist/cli/commands/LangCheckCommand.js +1 -478
  16. package/dist/cli/commands/LangCheckCommand.js.map +1 -1
  17. package/dist/cli/commands/LangSyncCommand.js +1 -253
  18. package/dist/cli/commands/LangTranslateCommand.js +1 -224
  19. package/dist/cli/commands/MakeMigrationCommand.js +1 -55
  20. package/dist/cli/commands/MakeModelCommand.js +1 -56
  21. package/dist/cli/commands/MigrateCommand.js +1 -190
  22. package/dist/cli/commands/NamespaceCommand.js +1 -92
  23. package/dist/cli/commands/StructureCommand.js +1 -51
  24. package/dist/cli/commands/UpversionCommand.js +1 -68
  25. package/dist/cli/index.js +1 -43
  26. package/dist/cli/utils/db.js +1 -93
  27. package/dist/database/KythiaMigrator.js +1 -94
  28. package/dist/database/KythiaModel.d.ts +4 -3
  29. package/dist/database/KythiaModel.d.ts.map +1 -1
  30. package/dist/database/KythiaModel.js +1 -1128
  31. package/dist/database/KythiaModel.js.map +1 -1
  32. package/dist/database/KythiaSequelize.js +1 -99
  33. package/dist/database/KythiaStorage.js +1 -80
  34. package/dist/database/ModelLoader.js +1 -54
  35. package/dist/index.js +1 -36
  36. package/dist/lang/lang/en.json +85 -0
  37. package/dist/managers/AddonManager.d.ts +2 -2
  38. package/dist/managers/AddonManager.d.ts.map +1 -1
  39. package/dist/managers/AddonManager.js +1 -1097
  40. package/dist/managers/AddonManager.js.map +1 -1
  41. package/dist/managers/EventManager.js +1 -106
  42. package/dist/managers/InteractionManager.d.ts +8 -6
  43. package/dist/managers/InteractionManager.d.ts.map +1 -1
  44. package/dist/managers/InteractionManager.js +1 -470
  45. package/dist/managers/InteractionManager.js.map +1 -1
  46. package/dist/managers/MiddlewareManager.d.ts +4 -3
  47. package/dist/managers/MiddlewareManager.d.ts.map +1 -1
  48. package/dist/managers/MiddlewareManager.js +1 -106
  49. package/dist/managers/MiddlewareManager.js.map +1 -1
  50. package/dist/managers/ShutdownManager.js +1 -179
  51. package/dist/managers/TelemetryManager.d.ts +7 -0
  52. package/dist/managers/TelemetryManager.d.ts.map +1 -1
  53. package/dist/managers/TelemetryManager.js +1 -201
  54. package/dist/managers/TelemetryManager.js.map +1 -1
  55. package/dist/managers/TranslatorManager.d.ts.map +1 -1
  56. package/dist/managers/TranslatorManager.js +1 -145
  57. package/dist/managers/TranslatorManager.js.map +1 -1
  58. package/dist/middlewares/botPermissions.js +1 -28
  59. package/dist/middlewares/cooldown.js +1 -42
  60. package/dist/middlewares/isInMainGuild.js +1 -52
  61. package/dist/middlewares/ownerOnly.js +1 -24
  62. package/dist/middlewares/userPermissions.js +1 -28
  63. package/dist/structures/BaseCommand.js +1 -42
  64. package/dist/types/AddonManager.d.ts +22 -9
  65. package/dist/types/AddonManager.d.ts.map +1 -1
  66. package/dist/types/AddonManager.js +1 -3
  67. package/dist/types/DiscordHelpers.js +1 -3
  68. package/dist/types/EventManager.d.ts +1 -1
  69. package/dist/types/EventManager.d.ts.map +1 -1
  70. package/dist/types/EventManager.js +1 -3
  71. package/dist/types/InteractionManager.d.ts +8 -6
  72. package/dist/types/InteractionManager.d.ts.map +1 -1
  73. package/dist/types/InteractionManager.js +1 -3
  74. package/dist/types/KythiaClient.d.ts +2 -1
  75. package/dist/types/KythiaClient.d.ts.map +1 -1
  76. package/dist/types/KythiaClient.js +1 -3
  77. package/dist/types/KythiaConfig.d.ts +1 -1
  78. package/dist/types/KythiaConfig.d.ts.map +1 -1
  79. package/dist/types/KythiaConfig.js +1 -3
  80. package/dist/types/KythiaContainer.d.ts +3 -2
  81. package/dist/types/KythiaContainer.d.ts.map +1 -1
  82. package/dist/types/KythiaContainer.js +1 -3
  83. package/dist/types/KythiaLogger.d.ts +1 -1
  84. package/dist/types/KythiaLogger.d.ts.map +1 -1
  85. package/dist/types/KythiaLogger.js +1 -3
  86. package/dist/types/KythiaMigrator.d.ts +2 -1
  87. package/dist/types/KythiaMigrator.d.ts.map +1 -1
  88. package/dist/types/KythiaMigrator.js +1 -3
  89. package/dist/types/KythiaModel.d.ts +6 -5
  90. package/dist/types/KythiaModel.d.ts.map +1 -1
  91. package/dist/types/KythiaModel.js +1 -3
  92. package/dist/types/KythiaOptions.d.ts +9 -6
  93. package/dist/types/KythiaOptions.d.ts.map +1 -1
  94. package/dist/types/KythiaOptions.js +1 -3
  95. package/dist/types/KythiaSequelize.d.ts +2 -1
  96. package/dist/types/KythiaSequelize.d.ts.map +1 -1
  97. package/dist/types/KythiaSequelize.js +1 -3
  98. package/dist/types/KythiaStorage.js +1 -3
  99. package/dist/types/MiddlewareManager.js +1 -3
  100. package/dist/types/ModelLoader.d.ts +2 -1
  101. package/dist/types/ModelLoader.d.ts.map +1 -1
  102. package/dist/types/ModelLoader.js +1 -3
  103. package/dist/types/ShutdownManager.js +1 -3
  104. package/dist/types/TranslatorManager.js +1 -3
  105. package/dist/types/error.d.ts +7 -0
  106. package/dist/types/error.d.ts.map +1 -0
  107. package/dist/types/error.js +1 -0
  108. package/dist/types/error.js.map +1 -0
  109. package/dist/types/index.js +1 -29
  110. package/dist/utils/InteractionFactory.d.ts.map +1 -1
  111. package/dist/utils/InteractionFactory.js +1 -334
  112. package/dist/utils/InteractionFactory.js.map +1 -1
  113. package/dist/utils/color.js +1 -156
  114. package/dist/utils/discord.js +1 -19
  115. package/dist/utils/formatter.js +1 -89
  116. package/dist/utils/index.js +1 -56
  117. package/dist/utils/logger.d.ts.map +1 -1
  118. package/dist/utils/logger.js +1 -202
  119. package/dist/utils/logger.js.map +1 -1
  120. package/package.json +5 -2
@@ -1,106 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_fs_1 = __importDefault(require("node:fs"));
7
- const node_path_1 = __importDefault(require("node:path"));
8
- class MiddlewareManager {
9
- container;
10
- logger;
11
- middlewares;
12
- constructor({ container }) {
13
- this.container = container;
14
- this.logger = container.logger;
15
- this.middlewares = [];
16
- }
17
- async loadMiddlewares() {
18
- try {
19
- this.middlewares = [];
20
- const coreMiddlewarePath = node_path_1.default.join(__dirname, '..', 'middlewares');
21
- if (node_fs_1.default.existsSync(coreMiddlewarePath)) {
22
- await this._loadFromPath(coreMiddlewarePath, 'core');
23
- }
24
- else {
25
- this.logger.warn(`⚠️ Core middlewares path not found: ${coreMiddlewarePath}`);
26
- }
27
- const appRoot = this.container.appRoot || process.cwd();
28
- const userPaths = [
29
- node_path_1.default.join(appRoot, 'src', 'middlewares'),
30
- node_path_1.default.join(appRoot, 'middlewares'),
31
- ];
32
- for (const userPath of userPaths) {
33
- if (node_fs_1.default.existsSync(userPath) && userPath !== coreMiddlewarePath) {
34
- await this._loadFromPath(userPath, 'bot');
35
- }
36
- }
37
- this.middlewares.sort((a, b) => (a.priority || 10) - (b.priority || 10));
38
- this.logger.info(`🛡️ Total Loaded: ${this.middlewares.length} middlewares.`);
39
- }
40
- catch (error) {
41
- this.logger.error('Failed to load middlewares:', error);
42
- this.container.telemetry?.report('error', 'Middleware Loading Failed', {
43
- message: error.message,
44
- stack: error.stack,
45
- });
46
- }
47
- }
48
- async _loadFromPath(dirPath, source) {
49
- try {
50
- const files = node_fs_1.default
51
- .readdirSync(dirPath)
52
- .filter((f) => (f.endsWith('.js') || f.endsWith('.ts')) && !f.endsWith('.d.ts'));
53
- let loadedCount = 0;
54
- for (const file of files) {
55
- try {
56
- const middleware = require(node_path_1.default.join(dirPath, file));
57
- const mw = middleware.default || middleware;
58
- if (!mw.name || typeof mw.execute !== 'function') {
59
- this.logger.warn(`⚠️ Middleware ${file} invalid structure. Skipping.`);
60
- continue;
61
- }
62
- this.middlewares.push(mw);
63
- loadedCount++;
64
- }
65
- catch (err) {
66
- this.logger.error(`❌ Failed to load middleware ${file}:`, err);
67
- this.container.telemetry?.report('error', `Middleware Load Failed: [${file}]`, {
68
- message: err.message,
69
- stack: err.stack,
70
- source,
71
- });
72
- }
73
- }
74
- this.logger.info(`🛡️ Loaded ${loadedCount} middlewares from ${source}`);
75
- }
76
- catch (error) {
77
- this.logger.error(`Failed to read middleware directory [${dirPath}]:`, error);
78
- this.container.telemetry?.report('error', `Middleware Directory Read Failed: [${dirPath}]`, {
79
- message: error.message,
80
- stack: error.stack,
81
- source,
82
- });
83
- }
84
- }
85
- async handle(interaction, command) {
86
- for (const middleware of this.middlewares) {
87
- try {
88
- const shouldContinue = await middleware.execute(interaction, command, this.container);
89
- if (!shouldContinue)
90
- return false;
91
- }
92
- catch (err) {
93
- this.logger.error(`❌ Error in middleware ${middleware.name}:`, err);
94
- this.container.telemetry?.report('error', `Middleware Execution Failed: [${middleware.name}]`, {
95
- message: err.message,
96
- stack: err.stack,
97
- command: command.name,
98
- });
99
- return false;
100
- }
101
- }
102
- return true;
103
- }
104
- }
105
- exports.default = MiddlewareManager;
106
- //# sourceMappingURL=MiddlewareManager.js.map
1
+ 'use strict';const a26_0x130328=a26_0x370b;(function(_0x5c04b0,_0x4ae696){const a26_0x3e91f5={_0x1a6b86:0xf1,_0x3428d8:0xe6,_0x389d88:0xe5,_0x3068d6:0xf9,_0xb26add:0x103,_0x32877b:0xee},_0x348d72=a26_0x370b,_0x19e7f7=_0x5c04b0();while(!![]){try{const _0x3ff2f9=parseInt(_0x348d72(a26_0x3e91f5._0x1a6b86))/(0x3*-0x3e+-0x1*-0x13b1+-0x12f6)+parseInt(_0x348d72(0xe3))/(0xa*-0x2d+0x230d+0x1*-0x2149)*(-parseInt(_0x348d72(0xf0))/(0x1f5+-0x29*-0xeb+-0x2795))+-parseInt(_0x348d72(a26_0x3e91f5._0x3428d8))/(-0x95e+-0x7*0x397+0xf*0x24d)*(parseInt(_0x348d72(a26_0x3e91f5._0x389d88))/(0x2466+0x25f1+-0x4a52))+parseInt(_0x348d72(0xdc))/(0xa0*-0xe+0x117+0x7af)*(parseInt(_0x348d72(a26_0x3e91f5._0x3068d6))/(-0x2063+-0xd*-0x17+0x1*0x1f3f))+-parseInt(_0x348d72(0xf3))/(-0x18f3+0x253d+-0xc42)+-parseInt(_0x348d72(a26_0x3e91f5._0xb26add))/(-0x246b+-0x774+0x5*0x8c8)*(-parseInt(_0x348d72(0xf8))/(0x14af+-0x70d*-0x5+-0x37e6))+parseInt(_0x348d72(a26_0x3e91f5._0x32877b))/(0x1878+-0x24b*-0x4+-0x2199);if(_0x3ff2f9===_0x4ae696)break;else _0x19e7f7['push'](_0x19e7f7['shift']());}catch(_0x4b71eb){_0x19e7f7['push'](_0x19e7f7['shift']());}}}(a26_0x34de,0xce386+-0x6505c+0x3bd47));var __importDefault=this&&this[a26_0x130328(0xfe)]||function(_0xa68510){const a26_0x512297={_0x555be1:0xeb},_0x11f6b5=a26_0x130328;return _0xa68510&&_0xa68510[_0x11f6b5(a26_0x512297._0x555be1)]?_0xa68510:{'default':_0xa68510};};function a26_0x34de(){const _0x48b76e=['ChjPB3jPDhK','8j+BOE+4JYaGtg9HzgvKia','zgvMAw5LuhjVCgvYDhK','CwXtv0W','x2XVywrgCM9Tugf0Aa','ndq3nNnVAKjbvG','yxbWuM9VDa','y29UDgfPBMvY','CMvWB3j0','ChvZAa','4PQG77Ipie1PzgrSzxDHCMuG','twLKzgXLD2fYzsbmB2fKAw5NiezHAwXLza','ndiZndzjrvDUvMS','DgvSzw1LDhj5','nwvPtgLABa','nda2mdeWngzxyKnSDq','Bg9Nz2vY','zw5KC1DPDgG','AM9PBG','zxjYB3i','x19LC01VzhvSzq','CMvHzgrPCLn5BMm','8j+BOE+4JYaGvg90ywWGtg9HzgvKoIa','mta4nJyXodvlCfv4r0u','C3jJ','nZHhz1LzwxO','ndi5nJGZz1jvBxbj','lMPZ','mZi4odC1mLjhBK5qCW','4PQG77IpienVCMuGBwLKzgXLD2fYzxmGCgf0AcbUB3qGzM91BMq6ia','ig1PzgrSzxDHCMvZigzYB20G','BwvZC2fNzq','zgvMyxvSDa','mZqXnZbMrMLoA3K','otu2ounoEMHbrq','BMfTzq','twLKzgXLD2fYzsbeAxjLy3rVCNKGuMvHzcbgywLSzwq6ifS','4P2miezHAwXLzcb0BYbSB2fKig1PzgrSzxDHCMuG','twLKzgXLD2fYzsbmB2fKiezHAwXLzdOGwW','x19PBxbVCNrezwzHDwX0','CxPqBMq','BM9KztPWyxrO','BwLKzgXLD2fYzxm','rMfPBgvKihrVigXVywqGBwLKzgXLD2fYzxm6','nty3wgPADNLv','zMLSDgvY','D2fYBG','y29Yzq'];a26_0x34de=function(){return _0x48b76e;};return a26_0x34de();}function a26_0x370b(_0x6bb28d,_0x56cfb5){_0x6bb28d=_0x6bb28d-(0x3*-0xc85+-0x1*-0xb03+0x1b61);const _0x2bd6f5=a26_0x34de();let _0x54fb87=_0x2bd6f5[_0x6bb28d];if(a26_0x370b['lGwiCL']===undefined){var _0x4add1c=function(_0x46ea81){const _0x4261ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x265337='',_0xf38819='';for(let _0x540a46=0x17bb+-0x1ad8+0x1*0x31d,_0x440bf9,_0x35bd77,_0x5bc878=-0x22cd*0x1+0x1a74+0x859;_0x35bd77=_0x46ea81['charAt'](_0x5bc878++);~_0x35bd77&&(_0x440bf9=_0x540a46%(0x7*0x30a+0xfaa*-0x1+-0xb3*0x8)?_0x440bf9*(0xac0+-0x4*0x3b7+0xba*0x6)+_0x35bd77:_0x35bd77,_0x540a46++%(0x175*0xb+-0x22c+-0xdd7))?_0x265337+=String['fromCharCode'](-0x2460+0x5*0x51e+-0x7*-0x1af&_0x440bf9>>(-(-0x4*-0x5c6+0x18*0x8b+-0x241e)*_0x540a46&0x3*0x14f+-0x952+0x13*0x49)):-0x20f7+-0x13e9+0x8d0*0x6){_0x35bd77=_0x4261ac['indexOf'](_0x35bd77);}for(let _0x4c3024=0x3*0x5ae+0x1475*0x1+-0x257f*0x1,_0x30713c=_0x265337['length'];_0x4c3024<_0x30713c;_0x4c3024++){_0xf38819+='%'+('00'+_0x265337['charCodeAt'](_0x4c3024)['toString'](-0xacd+0x1*-0xf4c+0x1a29))['slice'](-(0x7*0x1a3+-0x1b18+0xfa5));}return decodeURIComponent(_0xf38819);};a26_0x370b['ncpioG']=_0x4add1c,a26_0x370b['LmCEpB']={},a26_0x370b['lGwiCL']=!![];}const _0x3f3bb2=_0x2bd6f5[-0x191a+0x598+-0x16*-0xe3],_0x50b75b=_0x6bb28d+_0x3f3bb2,_0x1ef277=a26_0x370b['LmCEpB'][_0x50b75b];return!_0x1ef277?(_0x54fb87=a26_0x370b['ncpioG'](_0x54fb87),a26_0x370b['LmCEpB'][_0x50b75b]=_0x54fb87):_0x54fb87=_0x1ef277,_0x54fb87;}Object[a26_0x130328(0xd9)](exports,a26_0x130328(0xeb),{'value':!![]});const node_fs_1=__importDefault(require('node:fs')),node_path_1=__importDefault(require(a26_0x130328(0x100)));class MiddlewareManager{['container'];['logger'];['middlewares'];constructor({container:_0x1b51df}){const _0x144ec3=a26_0x130328;this['container']=_0x1b51df,this[_0x144ec3(0xe7)]=_0x1b51df[_0x144ec3(0xe7)],this['middlewares']=[];}async['loadMiddlewares'](){const a26_0x29e38f={_0x3b4f9b:0x102,_0x23ca0b:0xe9,_0x34b8b4:0xf4,_0x4cdde9:0xde,_0x3cf05b:0xdd,_0x3fac29:0xe9,_0xe2336a:0xf7,_0x2192ad:0xe7,_0x254791:0xed,_0x5d2e19:0xe4,_0x1cbe9a:0xe2,_0x4a9f98:0xf6},_0x7ca663=a26_0x130328,_0x11e0c9={'qlSWL':_0x7ca663(a26_0x29e38f._0x3b4f9b)};try{this[_0x7ca663(0x101)]=[];const _0x3708d8=node_path_1['default'][_0x7ca663(a26_0x29e38f._0x23ca0b)](__dirname,'..','middlewares');node_fs_1['default']['existsSync'](_0x3708d8)?await this['_loadFromPath'](_0x3708d8,_0x7ca663(0xd6)):this['logger'][_0x7ca663(0xd5)](_0x7ca663(a26_0x29e38f._0x34b8b4)+_0x3708d8);const _0x475eff=this[_0x7ca663(a26_0x29e38f._0x4cdde9)][_0x7ca663(a26_0x29e38f._0x3cf05b)]||process['cwd'](),_0x46590e=[node_path_1['default']['join'](_0x475eff,_0x7ca663(0xef),_0x7ca663(0x101)),node_path_1['default'][_0x7ca663(a26_0x29e38f._0x3fac29)](_0x475eff,_0x7ca663(0x101))];for(const _0x577d15 of _0x46590e){node_fs_1[_0x7ca663(a26_0x29e38f._0xe2336a)]['existsSync'](_0x577d15)&&_0x577d15!==_0x3708d8&&await this[_0x7ca663(0xdb)](_0x577d15,'bot');}this['middlewares']['sort']((_0x412cbd,_0x2dca91)=>(_0x412cbd[_0x7ca663(0xd7)]||0x1*0x13d9+-0x2*0x80b+-0x3b9)-(_0x2dca91[_0x7ca663(0xd7)]||-0x6d9*-0x4+0x1*0x188b+0x33e5*-0x1)),this[_0x7ca663(a26_0x29e38f._0x2192ad)]['info'](_0x7ca663(a26_0x29e38f._0x254791)+this[_0x7ca663(0x101)]['length']+'\x20middlewares.');}catch(_0x3c206f){this[_0x7ca663(0xe7)][_0x7ca663(0xea)](_0x11e0c9[_0x7ca663(0xda)],_0x3c206f),this['container'][_0x7ca663(a26_0x29e38f._0x5d2e19)]?.[_0x7ca663(0xdf)](_0x7ca663(0xea),_0x7ca663(a26_0x29e38f._0x1cbe9a),{'message':_0x3c206f[_0x7ca663(a26_0x29e38f._0x4a9f98)],'stack':_0x3c206f['stack']});}}async['_loadFromPath'](_0x440189,_0x1f0fa1){const a26_0x327537={_0x440786:0xff,_0x35c83f:0xe9,_0x4514a1:0xe7,_0x5ba859:0xd5,_0x1f3e61:0xea,_0x3c1874:0xfc,_0x4c4003:0xde,_0x4f3084:0xea,_0x46f972:0xfd,_0x1cb137:0xd8,_0x309b58:0xf5,_0x57f494:0xe4,_0x5e2516:0xfb,_0x58a757:0xf6},_0x42abda=a26_0x130328,_0x5ee6d2={'qzPnd':function(_0x1b99e3,_0x2ef314){return _0x1b99e3(_0x2ef314);}};try{const _0x574b04=node_fs_1['default'][_0x42abda(0xec)](_0x440189)[_0x42abda(0x104)](_0x22fedd=>(_0x22fedd['endsWith'](_0x42abda(0xf2))||_0x22fedd['endsWith']('.ts'))&&!_0x22fedd[_0x42abda(0xe8)]('.d.ts'));let _0xe95b44=0x2*-0xc0b+-0x1e43+0x3659;for(const _0x34069b of _0x574b04){try{const _0x22b0ca=_0x5ee6d2[_0x42abda(a26_0x327537._0x440786)](require,node_path_1[_0x42abda(0xf7)][_0x42abda(a26_0x327537._0x35c83f)](_0x440189,_0x34069b)),_0x34fd44=_0x22b0ca['default']||_0x22b0ca;if(!_0x34fd44['name']||typeof _0x34fd44['execute']!=='function'){this[_0x42abda(a26_0x327537._0x4514a1)][_0x42abda(a26_0x327537._0x5ba859)](_0x42abda(0xe1)+_0x34069b+'\x20invalid\x20structure.\x20Skipping.');continue;}this['middlewares'][_0x42abda(0xe0)](_0x34fd44),_0xe95b44++;}catch(_0x2bcde2){this[_0x42abda(a26_0x327537._0x4514a1)][_0x42abda(a26_0x327537._0x1f3e61)](_0x42abda(a26_0x327537._0x3c1874)+_0x34069b+':',_0x2bcde2),this[_0x42abda(a26_0x327537._0x4c4003)][_0x42abda(0xe4)]?.['report'](_0x42abda(a26_0x327537._0x4f3084),_0x42abda(a26_0x327537._0x46f972)+_0x34069b+']',{'message':_0x2bcde2['message'],'stack':_0x2bcde2['stack'],'source':_0x1f0fa1});}}this[_0x42abda(0xe7)]['info'](_0x42abda(a26_0x327537._0x1cb137)+_0xe95b44+_0x42abda(a26_0x327537._0x309b58)+_0x1f0fa1);}catch(_0x24c6e4){this['logger']['error']('Failed\x20to\x20read\x20middleware\x20directory\x20['+_0x440189+']:',_0x24c6e4),this[_0x42abda(0xde)][_0x42abda(a26_0x327537._0x57f494)]?.['report']('error',_0x42abda(a26_0x327537._0x5e2516)+_0x440189+']',{'message':_0x24c6e4[_0x42abda(a26_0x327537._0x58a757)],'stack':_0x24c6e4['stack'],'source':_0x1f0fa1});}}async['handle'](_0x41921,_0x256929){const a26_0x26bdbe={_0x539e65:0xfa,_0x2bff92:0xfa},_0x5263a8=a26_0x130328;for(const _0x4d1a4b of this['middlewares']){try{const _0x17717b=await _0x4d1a4b['execute'](_0x41921,_0x256929,this[_0x5263a8(0xde)]);if(!_0x17717b)return![];}catch(_0x5c7729){return this[_0x5263a8(0xe7)][_0x5263a8(0xea)]('❌\x20Error\x20in\x20middleware\x20'+_0x4d1a4b[_0x5263a8(a26_0x26bdbe._0x539e65)]+':',_0x5c7729),this['container'][_0x5263a8(0xe4)]?.[_0x5263a8(0xdf)]('error','Middleware\x20Execution\x20Failed:\x20['+_0x4d1a4b[_0x5263a8(a26_0x26bdbe._0x2bff92)]+']',{'message':_0x5c7729['message'],'stack':_0x5c7729['stack'],'command':_0x256929['name']}),![];}}return!![];}}exports[a26_0x130328(0xf7)]=MiddlewareManager;
@@ -1 +1 @@
1
- {"version":3,"file":"MiddlewareManager.js","sourceRoot":"","sources":["../../src/managers/MiddlewareManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiddlewareManager.js","sourceRoot":"","sources":["../../src/managers/MiddlewareManager.ts"],"names":[],"mappings":"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"}
@@ -1,179 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ShutdownManager = void 0;
7
- const async_exit_hook_1 = __importDefault(require("async-exit-hook"));
8
- class ShutdownManager {
9
- client;
10
- container;
11
- logger;
12
- _activeIntervals;
13
- _messagesWithActiveCollectors;
14
- _collectorPatched;
15
- _cleanupAttached;
16
- constructor({ client, container, }) {
17
- this.client = client;
18
- this.container = container;
19
- this._activeIntervals = new Set();
20
- this._messagesWithActiveCollectors = new Set();
21
- this._collectorPatched = false;
22
- this._cleanupAttached = false;
23
- this.logger = this.container.logger;
24
- }
25
- initializeGlobalIntervalTracker() {
26
- try {
27
- if (!this._activeIntervals)
28
- this._activeIntervals = new Set();
29
- const originalSetInterval = global.setInterval;
30
- const originalClearInterval = global.clearInterval;
31
- global.setInterval = (callback, ms, ...args) => {
32
- const intervalId = originalSetInterval(callback, ms, ...args);
33
- this._activeIntervals.add(intervalId);
34
- return intervalId;
35
- };
36
- global.clearInterval = (intervalId) => {
37
- if (intervalId) {
38
- originalClearInterval(intervalId);
39
- this._activeIntervals.delete(intervalId);
40
- }
41
- };
42
- this.logger.info('✅ Global setInterval/clearInterval has been patched for tracking.');
43
- }
44
- catch (error) {
45
- this.logger.error('Failed to initialize global interval tracker:', error);
46
- this.container.telemetry?.report('error', 'Global Interval Tracker Initialization Failed', {
47
- message: error.message,
48
- stack: error.stack,
49
- });
50
- }
51
- }
52
- disableRecursively(components) {
53
- return components.map((comp) => {
54
- if (comp.components && Array.isArray(comp.components)) {
55
- comp.components = this.disableRecursively(comp.components);
56
- }
57
- if (comp.type === 2 || comp.type === 3 || comp.type >= 5) {
58
- return { ...comp, disabled: true };
59
- }
60
- return comp;
61
- });
62
- }
63
- initializeShutdownCollectors() {
64
- try {
65
- if (!this._messagesWithActiveCollectors)
66
- this._messagesWithActiveCollectors = new Set();
67
- if (!this._collectorPatched) {
68
- const DiscordMessage = require('discord.js').Message;
69
- const origCreateCollector = DiscordMessage.prototype.createMessageComponentCollector;
70
- const botInstance = this;
71
- DiscordMessage.prototype.createMessageComponentCollector = function (...args) {
72
- const collector = origCreateCollector.apply(this, args);
73
- if (botInstance._messagesWithActiveCollectors) {
74
- botInstance._messagesWithActiveCollectors.add(this);
75
- }
76
- collector.once('end', () => {
77
- if (botInstance._messagesWithActiveCollectors) {
78
- botInstance._messagesWithActiveCollectors.delete(this);
79
- }
80
- });
81
- return collector;
82
- };
83
- this._collectorPatched = true;
84
- this.logger.info('✅ Corrected collector-based component tracking has been patched.');
85
- }
86
- if (!this._cleanupAttached) {
87
- const cleanupAndFlush = async (callback) => {
88
- this.logger.info('🛑 Graceful shutdown initiated...');
89
- if (this._activeIntervals && this._activeIntervals.size > 0) {
90
- this.logger.info(`🛑 Halting ${this._activeIntervals.size} active global intervals...`);
91
- for (const intervalId of this._activeIntervals) {
92
- clearInterval(intervalId);
93
- }
94
- }
95
- const messagesToProcess = this._messagesWithActiveCollectors;
96
- if (messagesToProcess && messagesToProcess.size > 0) {
97
- this.logger.info(`🛑 Disabling components on up to ${messagesToProcess.size} messages.`);
98
- const editPromises = [];
99
- for (const msg of messagesToProcess) {
100
- if (!msg.editable ||
101
- !msg.components ||
102
- msg.components.length === 0)
103
- continue;
104
- try {
105
- const rawComponents = msg.components.map((c) => c.toJSON());
106
- const disabledComponents = this.disableRecursively(rawComponents);
107
- editPromises.push(msg.edit({ components: disabledComponents }).catch(() => { }));
108
- }
109
- catch (error) {
110
- this.logger.error(error);
111
- }
112
- }
113
- await Promise.allSettled(editPromises);
114
- }
115
- this.logger.info('✅ Component cleanup complete.');
116
- this.logger.info('🚰 Flushing remaining logs...');
117
- this.logger.on('finish', () => {
118
- console.log('⏳ Logger has flushed. Kythia is now safely shutting down.');
119
- if (callback)
120
- callback();
121
- });
122
- this.logger.end();
123
- setTimeout(() => {
124
- console.log('⏳ Logger flush timeout. Forcing exit.');
125
- if (callback)
126
- callback();
127
- }, 4000);
128
- };
129
- (0, async_exit_hook_1.default)(cleanupAndFlush);
130
- process.on('unhandledRejection', (error) => {
131
- this.logger.error('‼️ UNHANDLED PROMISE REJECTION:', error);
132
- this.container.telemetry?.report('error', 'Unhandled Promise Rejection', {
133
- message: error.message,
134
- stack: error.stack,
135
- });
136
- });
137
- process.on('uncaughtException', (error) => {
138
- this.logger.error('‼️ UNCAUGHT EXCEPTION! Bot will shutdown.', error);
139
- this.container.telemetry?.report('error', 'Uncaught Exception', {
140
- message: error.message,
141
- stack: error.stack,
142
- });
143
- process.exit(1);
144
- });
145
- this._cleanupAttached = true;
146
- this.logger.info('🛡️ Graceful shutdown and error handlers are now active.');
147
- }
148
- }
149
- catch (error) {
150
- this.logger.error('Failed to initialize shutdown collectors:', error);
151
- this.container.telemetry?.report('error', 'Shutdown Collector Initialization Failed', {
152
- message: error.message,
153
- stack: error.stack,
154
- });
155
- }
156
- }
157
- initialize() {
158
- this.initializeGlobalIntervalTracker();
159
- this.initializeShutdownCollectors();
160
- }
161
- getActiveIntervalsCount() {
162
- return this._activeIntervals ? this._activeIntervals.size : 0;
163
- }
164
- getActiveCollectorsCount() {
165
- return this._messagesWithActiveCollectors
166
- ? this._messagesWithActiveCollectors.size
167
- : 0;
168
- }
169
- forceCleanup() {
170
- if (this._activeIntervals) {
171
- for (const intervalId of this._activeIntervals) {
172
- clearInterval(intervalId);
173
- }
174
- this._activeIntervals.clear();
175
- }
176
- }
177
- }
178
- exports.ShutdownManager = ShutdownManager;
179
- //# sourceMappingURL=ShutdownManager.js.map
1
+ 'use strict';const a27_0x9105c7=a27_0x2cc5;(function(_0x2cb6d0,_0x5f4eca){const a27_0x462af9={_0x3d9f83:0xc8,_0x5eec29:0xd4,_0x497a46:0xb2,_0x1c7dad:0xb8,_0x13b4cf:0xa7,_0x35bf96:0xbe,_0x37f055:0xad},_0x126632=a27_0x2cc5,_0x260b38=_0x2cb6d0();while(!![]){try{const _0x466b24=-parseInt(_0x126632(0xbd))/(0x14e8+0x1ba2+0x1*-0x3089)+-parseInt(_0x126632(a27_0x462af9._0x3d9f83))/(0x228a+-0x23b0*-0x1+-0x4638)+parseInt(_0x126632(0xbb))/(-0x2255+-0x1ac5+0x3d1d)*(-parseInt(_0x126632(a27_0x462af9._0x5eec29))/(-0x70*0x58+-0x1d36+0x43ba))+-parseInt(_0x126632(a27_0x462af9._0x497a46))/(0x949*0x2+0x1*0x557+-0x8b*0x2c)+-parseInt(_0x126632(a27_0x462af9._0x1c7dad))/(0x4c7*-0x1+-0x3f1+0x8be)+-parseInt(_0x126632(0xba))/(-0x2da*0x1+0xaa9+-0x7c8)*(-parseInt(_0x126632(a27_0x462af9._0x13b4cf))/(-0x677+0x2*0x1ca+0x2eb))+parseInt(_0x126632(a27_0x462af9._0x35bf96))/(-0x4b*-0x60+-0x4*-0x916+0x406f*-0x1)*(parseInt(_0x126632(a27_0x462af9._0x37f055))/(0x1818+0x10*0x216+-0x396e));if(_0x466b24===_0x5f4eca)break;else _0x260b38['push'](_0x260b38['shift']());}catch(_0x3fb6e4){_0x260b38['push'](_0x260b38['shift']());}}}(a27_0x45ae,0x969*-0xd+-0x1af4a*0x3+0xacafd));function a27_0x2cc5(_0x5999f5,_0x15c0c8){_0x5999f5=_0x5999f5-(-0x1*-0x3d2+-0x25*-0xf5+0x1*-0x2697);const _0xe296d5=a27_0x45ae();let _0x121624=_0xe296d5[_0x5999f5];if(a27_0x2cc5['wvtqRV']===undefined){var _0x5f4b53=function(_0xf7de6f){const _0x2f7693='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e0430='',_0x49d59b='';for(let _0x1cbae8=0x1*-0x6d3+-0x19f2+-0x20c5*-0x1,_0x5f43df,_0x55f4fa,_0x57901c=-0x158d+0x2*0x552+0xae9;_0x55f4fa=_0xf7de6f['charAt'](_0x57901c++);~_0x55f4fa&&(_0x5f43df=_0x1cbae8%(0x7*0x1dc+0x1*0x1979+-0x57f*0x7)?_0x5f43df*(0x842+-0x5d9+-0x4f*0x7)+_0x55f4fa:_0x55f4fa,_0x1cbae8++%(-0x24d0+-0x1a17+0x3eeb*0x1))?_0x4e0430+=String['fromCharCode'](-0x76+-0x2b4+0x429&_0x5f43df>>(-(-0xd*0x1a3+-0x1*-0x7be+0xd8b)*_0x1cbae8&-0xd*-0x18c+0x15d3*-0x1+0x1bd)):0x94*-0x1f+-0x731+-0x191d*-0x1){_0x55f4fa=_0x2f7693['indexOf'](_0x55f4fa);}for(let _0x280beb=-0x1a5d+0x1*-0x101b+-0x25c*-0x12,_0x109a28=_0x4e0430['length'];_0x280beb<_0x109a28;_0x280beb++){_0x49d59b+='%'+('00'+_0x4e0430['charCodeAt'](_0x280beb)['toString'](0x19*-0x19+0x207d*-0x1+0x22fe))['slice'](-(0x1*-0xfd+-0x1867*-0x1+-0x1768));}return decodeURIComponent(_0x49d59b);};a27_0x2cc5['VXoKLc']=_0x5f4b53,a27_0x2cc5['KWYHjf']={},a27_0x2cc5['wvtqRV']=!![];}const _0x369eb2=_0xe296d5[0x22e5*0x1+-0x1581+-0xd64],_0x596b71=_0x5999f5+_0x369eb2,_0x10a8e9=a27_0x2cc5['KWYHjf'][_0x596b71];return!_0x10a8e9?(_0x121624=a27_0x2cc5['VXoKLc'](_0x121624),a27_0x2cc5['KWYHjf'][_0x596b71]=_0x121624):_0x121624=_0x10a8e9,_0x121624;}var __importDefault=this&&this['__importDefault']||function(_0x482368){const a27_0x3d2c4b={_0xdf1ae6:0xd9},_0x3e709e=a27_0x2cc5;return _0x482368&&_0x482368[_0x3e709e(a27_0x3d2c4b._0xdf1ae6)]?_0x482368:{'default':_0x482368};};Object['defineProperty'](exports,a27_0x9105c7(0xd9),{'value':!![]}),exports['ShutdownManager']=void(0xa69+-0x993+0x2*-0x6b);const async_exit_hook_1=__importDefault(require(a27_0x9105c7(0xa4)));class ShutdownManager{[a27_0x9105c7(0xab)];[a27_0x9105c7(0xb7)];['logger'];[a27_0x9105c7(0xcf)];[a27_0x9105c7(0xb0)];[a27_0x9105c7(0xcd)];[a27_0x9105c7(0xbf)];constructor({client:_0x44f03a,container:_0x47497d}){const _0x1d610f=a27_0x9105c7;this['client']=_0x44f03a,this[_0x1d610f(0xb7)]=_0x47497d,this[_0x1d610f(0xcf)]=new Set(),this['_messagesWithActiveCollectors']=new Set(),this['_collectorPatched']=![],this['_cleanupAttached']=![],this['logger']=this[_0x1d610f(0xb7)]['logger'];}['initializeGlobalIntervalTracker'](){const a27_0x163dfb={_0x53313d:0xc6,_0x56c900:0xc9,_0x28a792:0xb7,_0x42be89:0xac,_0x3f2885:0xc0,_0x482acf:0xa5},a27_0x56fcc2={_0x37c63e:0xcf},a27_0xda3efb={_0x394a5b:0xcf},_0x16b5b2=a27_0x9105c7,_0x559c82={'mLZzy':function(_0x591344,_0x4cff1f,_0x446d89,..._0x4caf4a){return _0x591344(_0x4cff1f,_0x446d89,..._0x4caf4a);}};try{if(!this['_activeIntervals'])this['_activeIntervals']=new Set();const _0x5203a0=global[_0x16b5b2(0xc4)],_0x897847=global['clearInterval'];global['setInterval']=(_0x2b2469,_0x24c653,..._0x27bf26)=>{const _0x56a70e=_0x16b5b2,_0x3c5022=_0x559c82[_0x56a70e(0xd5)](_0x5203a0,_0x2b2469,_0x24c653,..._0x27bf26);return this[_0x56a70e(a27_0xda3efb._0x394a5b)]['add'](_0x3c5022),_0x3c5022;},global[_0x16b5b2(0xce)]=_0x20ae09=>{const _0x2f1f40=_0x16b5b2;_0x20ae09&&(_0x897847(_0x20ae09),this[_0x2f1f40(a27_0x56fcc2._0x37c63e)][_0x2f1f40(0xd2)](_0x20ae09));},this['logger'][_0x16b5b2(a27_0x163dfb._0x53313d)]('✅\x20Global\x20setInterval/clearInterval\x20has\x20been\x20patched\x20for\x20tracking.');}catch(_0x4842d5){this[_0x16b5b2(a27_0x163dfb._0x56c900)][_0x16b5b2(0xac)]('Failed\x20to\x20initialize\x20global\x20interval\x20tracker:',_0x4842d5),this[_0x16b5b2(a27_0x163dfb._0x28a792)][_0x16b5b2(0xd7)]?.['report'](_0x16b5b2(a27_0x163dfb._0x42be89),'Global\x20Interval\x20Tracker\x20Initialization\x20Failed',{'message':_0x4842d5[_0x16b5b2(a27_0x163dfb._0x3f2885)],'stack':_0x4842d5[_0x16b5b2(a27_0x163dfb._0x482acf)]});}}['disableRecursively'](_0x4354a3){const a27_0x1d0a07={_0x1ef5f9:0xbc},a27_0xc8a064={_0x2a37e9:0xd3,_0x2965f4:0xb5},_0x56c443=a27_0x9105c7;return _0x4354a3[_0x56c443(a27_0x1d0a07._0x1ef5f9)](_0x58e921=>{const _0x1d12ef=_0x56c443;_0x58e921[_0x1d12ef(a27_0xc8a064._0x2a37e9)]&&Array['isArray'](_0x58e921[_0x1d12ef(a27_0xc8a064._0x2a37e9)])&&(_0x58e921['components']=this['disableRecursively'](_0x58e921['components']));if(_0x58e921[_0x1d12ef(0xb5)]===-0x2337+-0x18b1+0x3bea*0x1||_0x58e921[_0x1d12ef(a27_0xc8a064._0x2965f4)]===0xfd3+-0x1da9+0xdd9||_0x58e921[_0x1d12ef(a27_0xc8a064._0x2965f4)]>=0xef1+0x8c5+-0x17b1)return{..._0x58e921,'disabled':!![]};return _0x58e921;});}['initializeShutdownCollectors'](){const a27_0x30751c={_0x941c70:0xd8,_0x488955:0xb0,_0x3f5e5c:0xa8,_0x5c5aa1:0xd1,_0x379522:0xd1,_0x4957b9:0xd0,_0x53a9fa:0xaa,_0x4e7cbb:0xc6,_0x30f497:0xc9,_0x26a124:0xac,_0x48945b:0xa5},a27_0x417898={_0x25029d:0xc9,_0x71a72c:0xac,_0x333c5b:0xd7},a27_0x20d436={_0x241a71:0xc9},a27_0x41e701={_0x16d5d1:0xcf,_0x4cd2ef:0xc2,_0x346d30:0xa6,_0x593193:0xc6,_0x38d00d:0xc7,_0x3c57fd:0xd3,_0x37986c:0xd3,_0x331f0b:0xbc,_0x419968:0xb4,_0x55a7eb:0xc9,_0x326101:0xca,_0x59da2e:0xc9},a27_0xcbe625={_0x59bb0b:0xb1},_0x35ba8e=a27_0x9105c7,_0x114b4f={'yETuO':'⏳\x20Logger\x20flush\x20timeout.\x20Forcing\x20exit.','XqnuH':_0x35ba8e(0xae),'WMVOi':function(_0x12a794,_0x2bf647){return _0x12a794>_0x2bf647;},'lCjEb':_0x35ba8e(a27_0x30751c._0x941c70),'Rjhtg':_0x35ba8e(0xc3),'KlBIm':'error','kRGkJ':'uncaughtException'};try{if(!this['_messagesWithActiveCollectors'])this[_0x35ba8e(a27_0x30751c._0x488955)]=new Set();if(!this[_0x35ba8e(0xcd)]){const _0x413e19=require('discord.js')[_0x35ba8e(a27_0x30751c._0x3f5e5c)],_0x401c93=_0x413e19[_0x35ba8e(a27_0x30751c._0x5c5aa1)]['createMessageComponentCollector'],_0x3f810d=this;_0x413e19[_0x35ba8e(a27_0x30751c._0x379522)][_0x35ba8e(a27_0x30751c._0x4957b9)]=function(..._0x5ab278){const _0x344344=_0x35ba8e,_0x503b7a=_0x401c93['apply'](this,_0x5ab278);return _0x3f810d['_messagesWithActiveCollectors']&&_0x3f810d[_0x344344(0xb0)]['add'](this),_0x503b7a['once']('end',()=>{_0x3f810d['_messagesWithActiveCollectors']&&_0x3f810d['_messagesWithActiveCollectors']['delete'](this);}),_0x503b7a;},this['_collectorPatched']=!![],this['logger'][_0x35ba8e(0xc6)]('✅\x20Corrected\x20collector-based\x20component\x20tracking\x20has\x20been\x20patched.');}if(!this['_cleanupAttached']){const _0x55dcbd=async _0x1936b0=>{const _0x1247ea=_0x35ba8e,_0x1b2c8c={'cidFr':'⏳\x20Logger\x20has\x20flushed.\x20Kythia\x20is\x20now\x20safely\x20shutting\x20down.','lnHFJ':function(_0x145a04){return _0x145a04();},'QTlSF':_0x114b4f['yETuO']};this[_0x1247ea(0xc9)][_0x1247ea(0xc6)](_0x114b4f['XqnuH']);if(this[_0x1247ea(a27_0x41e701._0x16d5d1)]&&this['_activeIntervals']['size']>-0x3*-0x823+0x937+0x21a*-0x10){this['logger']['info'](_0x1247ea(a27_0x41e701._0x4cd2ef)+this['_activeIntervals']['size']+'\x20active\x20global\x20intervals...');for(const _0x420b28 of this[_0x1247ea(0xcf)]){clearInterval(_0x420b28);}}const _0x22e63a=this['_messagesWithActiveCollectors'];if(_0x22e63a&&_0x114b4f[_0x1247ea(a27_0x41e701._0x346d30)](_0x22e63a['size'],0x10b*-0x5+-0x1a*-0x4a+-0x24d)){this['logger'][_0x1247ea(a27_0x41e701._0x593193)]('🛑\x20Disabling\x20components\x20on\x20up\x20to\x20'+_0x22e63a['size']+_0x1247ea(0xc5));const _0x3547a5=[];for(const _0x329a72 of _0x22e63a){if(!_0x329a72[_0x1247ea(a27_0x41e701._0x38d00d)]||!_0x329a72[_0x1247ea(0xd3)]||_0x329a72[_0x1247ea(a27_0x41e701._0x3c57fd)]['length']===-0xda9+-0x23c+0xfe5)continue;try{const _0x49508a=_0x329a72[_0x1247ea(a27_0x41e701._0x37986c)][_0x1247ea(a27_0x41e701._0x331f0b)](_0x2294aa=>_0x2294aa['toJSON']()),_0x136ddf=this[_0x1247ea(0xa9)](_0x49508a);_0x3547a5[_0x1247ea(a27_0x41e701._0x419968)](_0x329a72['edit']({'components':_0x136ddf})['catch'](()=>{}));}catch(_0x58ed58){this[_0x1247ea(a27_0x41e701._0x55a7eb)]['error'](_0x58ed58);}}await Promise['allSettled'](_0x3547a5);}this[_0x1247ea(a27_0x41e701._0x55a7eb)][_0x1247ea(0xc6)](_0x114b4f[_0x1247ea(0xcb)]),this[_0x1247ea(a27_0x41e701._0x55a7eb)]['info']('🚰\x20Flushing\x20remaining\x20logs...'),this['logger']['on'](_0x1247ea(a27_0x41e701._0x326101),()=>{const _0x45504a=_0x1247ea;console['log'](_0x1b2c8c[_0x45504a(0xb3)]);if(_0x1936b0)_0x1b2c8c[_0x45504a(a27_0xcbe625._0x59bb0b)](_0x1936b0);}),this[_0x1247ea(a27_0x41e701._0x59da2e)]['end'](),setTimeout(()=>{console['log'](_0x1b2c8c['QTlSF']);if(_0x1936b0)_0x1936b0();},0xe*0x1ee+0xb1e+-0x1682);};(-0x20d3+0x2*-0xc4+0x6df*0x5,async_exit_hook_1[_0x35ba8e(a27_0x30751c._0x53a9fa)])(_0x55dcbd),process['on'](_0x35ba8e(0xcc),_0x2b6c3d=>{const _0x475c54=_0x35ba8e;this[_0x475c54(a27_0x20d436._0x241a71)][_0x475c54(0xac)]('‼️\x20UNHANDLED\x20PROMISE\x20REJECTION:',_0x2b6c3d),this['container'][_0x475c54(0xd7)]?.['report']('error','Unhandled\x20Promise\x20Rejection',{'message':_0x2b6c3d['message'],'stack':_0x2b6c3d['stack']});}),process['on'](_0x114b4f['kRGkJ'],_0x4fc586=>{const _0x2dad1c=_0x35ba8e;this[_0x2dad1c(a27_0x417898._0x25029d)][_0x2dad1c(a27_0x417898._0x71a72c)](_0x114b4f['Rjhtg'],_0x4fc586),this['container'][_0x2dad1c(a27_0x417898._0x333c5b)]?.['report'](_0x114b4f['KlBIm'],'Uncaught\x20Exception',{'message':_0x4fc586['message'],'stack':_0x4fc586[_0x2dad1c(0xa5)]}),process['exit'](-0x21a+0x1*-0x724+0x9*0x107);}),this['_cleanupAttached']=!![],this['logger'][_0x35ba8e(a27_0x30751c._0x4e7cbb)]('🛡️\x20\x20Graceful\x20shutdown\x20and\x20error\x20handlers\x20are\x20now\x20active.');}}catch(_0x111861){this[_0x35ba8e(a27_0x30751c._0x30f497)][_0x35ba8e(a27_0x30751c._0x26a124)]('Failed\x20to\x20initialize\x20shutdown\x20collectors:',_0x111861),this['container']['telemetry']?.['report'](_0x114b4f['KlBIm'],'Shutdown\x20Collector\x20Initialization\x20Failed',{'message':_0x111861[_0x35ba8e(0xc0)],'stack':_0x111861[_0x35ba8e(a27_0x30751c._0x48945b)]});}}[a27_0x9105c7(0xb6)](){const _0x294c5e=a27_0x9105c7;this['initializeGlobalIntervalTracker'](),this[_0x294c5e(0xaf)]();}[a27_0x9105c7(0xd6)](){const a27_0x2fe925={_0x359a53:0xc1},_0x1161a5=a27_0x9105c7;return this[_0x1161a5(0xcf)]?this[_0x1161a5(0xcf)][_0x1161a5(a27_0x2fe925._0x359a53)]:-0xbd9+0x20f9+-0xa90*0x2;}['getActiveCollectorsCount'](){const a27_0x50448c={_0x4aa922:0xb0},_0x1ef998=a27_0x9105c7;return this['_messagesWithActiveCollectors']?this[_0x1ef998(a27_0x50448c._0x4aa922)]['size']:0x7e9+-0x829*0x4+0x18bb;}['forceCleanup'](){const a27_0x257c97={_0x1fbfb4:0xcf,_0x9d00fd:0xcf,_0x17dcf5:0xb9},_0x31f23e=a27_0x9105c7,_0x4a42bf={'fBHlv':function(_0x5922a3,_0x53b3b8){return _0x5922a3(_0x53b3b8);}};if(this[_0x31f23e(a27_0x257c97._0x1fbfb4)]){for(const _0x5698b5 of this[_0x31f23e(a27_0x257c97._0x9d00fd)]){_0x4a42bf['fBHlv'](clearInterval,_0x5698b5);}this[_0x31f23e(a27_0x257c97._0x1fbfb4)][_0x31f23e(a27_0x257c97._0x17dcf5)]();}}}exports['ShutdownManager']=ShutdownManager;function a27_0x45ae(){const _0x138c34=['x2fJDgL2zuLUDgvYDMfSCW','y3jLyxrLtwvZC2fNzunVBxbVBMvUDenVBgXLy3rVCG','ChjVDg90ExbL','zgvSzxrL','y29TCg9Uzw50CW','mJGXndH2uKPLt20','BuXAENK','z2v0qwn0AxzLsw50zxj2ywXZq291BNq','DgvSzw1LDhj5','4PYfienVBxbVBMvUDcbJBgvHBNvWignVBxbSzxrLlG','x19LC01VzhvSzq','yxn5BMmTzxHPDc1OB29R','C3rHy2S','v01wt2K','nZGWohjZAuDTtq','twvZC2fNzq','zgLZywjSzvjLy3vYC2L2zwX5','zgvMyxvSDa','y2XPzw50','zxjYB3i','odu5ndqWv2j1zMrU','8j+BKsbhCMfJzwz1BcbZAhv0zg93BIbPBML0Awf0zwqUlI4','Aw5PDgLHBgL6zvnODxrKB3DUq29SBgvJDg9YCW','x21LC3nHz2vZv2L0AefJDgL2zunVBgXLy3rVCNm','Bg5irKO','nti5nty1tKzZtxDf','y2LKrNi','ChvZAa','DhLWzq','Aw5PDgLHBgL6zq','y29UDgfPBMvY','mZu3ntG4yNHHsK5u','y2XLyxi','mte3nLLqAMvAtG','mtK1wuzQvg5u','BwfW','ntC0mJC2swfnq0Du','mtyYzLvTrgf4','x2nSzwfUDxbbDhrHy2HLza','BwvZC2fNzq','C2L6zq','8j+BKsbiywX0Aw5Nia','4Oc877Ipifvoq0fvr0Huievyq0vqveLptIeGqM90ihDPBgWGC2H1DgrVD24U','C2v0sw50zxj2ywW','ig1LC3nHz2vZlG','Aw5MBW','zwrPDgfIBgu','mZm3otGWu0vAtxrK','Bg9Nz2vY','zMLUAxnO','BenQrwi','Dw5Oyw5KBgvKuMvQzwn0Aw9U','x2nVBgXLy3rVCLbHDgnOzwq','y2XLyxjjBNrLCNzHBa'];a27_0x45ae=function(){return _0x138c34;};return a27_0x45ae();}
@@ -17,12 +17,19 @@ export declare class TelemetryManager {
17
17
  private readonly _e;
18
18
  private readonly _t;
19
19
  flushInterval: NodeJS.Timeout | undefined;
20
+ private _vt;
21
+ private _vtTimestamp;
22
+ private readonly TOKEN_VALIDITY_MS;
20
23
  private get _ep();
21
24
  private get _tp();
22
25
  constructor(options: TelemetryOptions);
23
26
  private getSystemSpec;
24
27
  verifyStatus(): Promise<'VALID' | 'INVALID' | 'NETWORK_ERROR' | 'SERVER_ERROR'>;
25
28
  verify(): Promise<boolean>;
29
+ private _generateToken;
30
+ isTokenValid(): boolean;
31
+ getToken(): string | null;
32
+ private _s0;
26
33
  report(level: 'info' | 'warn' | 'error', message: string, metadata?: any): void;
27
34
  private flush;
28
35
  startAutoFlush(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryManager.d.ts","sourceRoot":"","sources":["../../src/managers/TelemetryManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,IAAI,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5E,UAAU,gBAAgB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACtB;AASD,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAE1C,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAC6E;IAEhG,OAAO,CAAC,QAAQ,CAAC,EAAE,CACiF;IAEpG,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAE1C,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,GAAG,GAEd;gBAEW,OAAO,EAAE,gBAAgB;IAOrC,OAAO,CAAC,aAAa;IA8BR,YAAY,IAAI,OAAO,CACnC,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,CACtD;IA+CY,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC,MAAM,CACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,GAAG;YAmBD,KAAK;IAkBZ,cAAc;IAiBd,cAAc;CA0DrB"}
1
+ {"version":3,"file":"TelemetryManager.d.ts","sourceRoot":"","sources":["../../src/managers/TelemetryManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,IAAI,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5E,UAAU,gBAAgB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACtB;AASD,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAE1C,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAC6E;IAEhG,OAAO,CAAC,QAAQ,CAAC,EAAE,CACiF;IAEpG,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IAEpD,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,GAAG,GAEd;gBAEW,OAAO,EAAE,gBAAgB;IAOrC,OAAO,CAAC,aAAa;IA6BR,YAAY,IAAI,OAAO,CACnC,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,CACtD;IA+CY,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBvC,OAAO,CAAC,cAAc;IA8Bf,YAAY,IAAI,OAAO;IA+BvB,QAAQ,IAAI,MAAM,GAAG,IAAI;YAOlB,GAAG;IA2BV,MAAM,CACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,GAAG;YAkBD,KAAK;IAkBZ,cAAc;IAiBd,cAAc;CAqDrB"}
@@ -1,201 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TelemetryManager = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const node_os_1 = __importDefault(require("node:os"));
9
- class TelemetryManager {
10
- licenseKey;
11
- logger;
12
- version;
13
- config;
14
- logQueue = [];
15
- networkFailures = 0;
16
- MAX_NETWORK_FAILURES = 6;
17
- heartbeatInterval = null;
18
- _e = 'aHR0cHM6Ly9reXRoaWEtbGljZW5zZS56dXVsaXppbHV1ei53b3JrZXJzLmRldi9hcGkvdjEvbGljZW5zZS92ZXJpZnk=';
19
- _t = 'aHR0cHM6Ly9reXRoaWEtbGljZW5zZS56dXVsaXppbHV1ei53b3JrZXJzLmRldi9hcGkvdjEvbGljZW5zZS90ZWxlbWV0cnk=';
20
- flushInterval;
21
- get _ep() {
22
- return Buffer.from(this._e, 'base64').toString('utf-8');
23
- }
24
- get _tp() {
25
- return Buffer.from(this._t, 'base64').toString('utf-8');
26
- }
27
- constructor(options) {
28
- this.licenseKey = options.licenseKey;
29
- this.logger = options.logger;
30
- this.version = options.version;
31
- this.config = options.config;
32
- }
33
- getSystemSpec() {
34
- try {
35
- const cpus = node_os_1.default.cpus();
36
- const ramTotal = `${(node_os_1.default.totalmem() / 1024 / 1024 / 1024).toFixed(2)} GB`;
37
- return {
38
- platform: `${node_os_1.default.type()} ${node_os_1.default.release()} (${node_os_1.default.arch()})`,
39
- hostname: node_os_1.default.hostname(),
40
- cpu: cpus.length > 0 ? cpus[0].model : 'Unknown CPU',
41
- cores: cpus.length,
42
- ram: ramTotal,
43
- nodeVersion: process.version,
44
- botVersion: this.version,
45
- };
46
- }
47
- catch (error) {
48
- this.logger.error('Failed to get system specs:', error);
49
- return {
50
- platform: 'Unknown',
51
- hostname: 'Unknown',
52
- cpu: 'Unknown',
53
- cores: 0,
54
- ram: 'Unknown',
55
- nodeVersion: process.version,
56
- botVersion: this.version,
57
- };
58
- }
59
- }
60
- async verifyStatus() {
61
- try {
62
- const specs = this.getSystemSpec();
63
- const botClientId = this.config.bot.clientId;
64
- const response = await axios_1.default.post(this._ep, {
65
- key: this.licenseKey,
66
- clientId: botClientId,
67
- hwid: specs,
68
- config: this.config,
69
- }, {
70
- timeout: 5000,
71
- });
72
- if (response.status === 200 && response.data.valid) {
73
- return 'VALID';
74
- }
75
- else {
76
- return 'INVALID';
77
- }
78
- }
79
- catch (error) {
80
- if (error.response) {
81
- if (error.response.status === 401 || error.response.status === 403) {
82
- this.logger.error(`❌ License Rejected by Server: ${error.response.status}`);
83
- return 'INVALID';
84
- }
85
- if (error.response.status >= 500) {
86
- this.logger.warn(`⚠️ License Server Error: ${error.response.status}`);
87
- return 'SERVER_ERROR';
88
- }
89
- return 'NETWORK_ERROR';
90
- }
91
- else if (error.request) {
92
- this.logger.warn(`⚠️ License Server Unreachable: ${error.message}`);
93
- return 'NETWORK_ERROR';
94
- }
95
- return 'NETWORK_ERROR';
96
- }
97
- }
98
- async verify() {
99
- const status = await this.verifyStatus();
100
- return status === 'VALID';
101
- }
102
- report(level, message, metadata) {
103
- try {
104
- this.logQueue.push({
105
- level,
106
- message,
107
- metadata: metadata ? JSON.stringify(metadata) : null,
108
- timestamp: Date.now(),
109
- });
110
- if (this.logQueue.length >= 50) {
111
- this.flush();
112
- }
113
- }
114
- catch (error) {
115
- this.logger.warn('Failed to queue telemetry log:', error);
116
- }
117
- }
118
- async flush() {
119
- if (this.logQueue.length === 0)
120
- return;
121
- const logsToSend = [...this.logQueue];
122
- this.logQueue = [];
123
- try {
124
- await axios_1.default.post(this._tp, {
125
- key: this.licenseKey,
126
- logs: logsToSend,
127
- });
128
- }
129
- catch (error) {
130
- this.logger.warn(`⚠️ Failed to flush telemetry logs: ${error.message}`);
131
- }
132
- }
133
- startAutoFlush() {
134
- try {
135
- this.flushInterval = setInterval(() => {
136
- this.flush();
137
- }, 5 * 60 * 1000);
138
- }
139
- catch (error) {
140
- this.logger.error('Failed to start auto flush:', error);
141
- this.report('error', 'Auto Flush Start Failed', {
142
- message: error.message,
143
- stack: error.stack,
144
- });
145
- }
146
- }
147
- startHeartbeat() {
148
- try {
149
- if (this.heartbeatInterval)
150
- clearInterval(this.heartbeatInterval);
151
- const minMs = 10 * 60 * 1000;
152
- const maxMs = 20 * 60 * 1000;
153
- const randomMs = Math.floor(Math.random() * (maxMs - minMs + 1)) + minMs;
154
- this.heartbeatInterval = setInterval(async () => {
155
- try {
156
- this.logger.debug('💓 Checking License Status...');
157
- const status = await this.verifyStatus();
158
- if (status === 'VALID') {
159
- if (this.networkFailures > 0) {
160
- this.logger.info('✅ Reconnected to License Server!');
161
- }
162
- this.networkFailures = 0;
163
- }
164
- else if (status === 'INVALID') {
165
- this.logger.error('💀 LICENSE REVOKED/INVALID. SHUTTING DOWN.');
166
- await this.report('error', 'License Revoked (Heartbeat Check)');
167
- await this.flush();
168
- process.exit(1);
169
- }
170
- else if (status === 'NETWORK_ERROR' || status === 'SERVER_ERROR') {
171
- this.networkFailures++;
172
- const msg = status === 'SERVER_ERROR'
173
- ? `⚠️ License Server Error (5xx). Attempt ${this.networkFailures}/${this.MAX_NETWORK_FAILURES}`
174
- : `⚠️ Cannot reach license server. Attempt ${this.networkFailures}/${this.MAX_NETWORK_FAILURES}`;
175
- this.logger.warn(msg);
176
- if (this.networkFailures >= this.MAX_NETWORK_FAILURES) {
177
- this.logger.error('💀 Unable to verify license for too long. Shutting down for security.');
178
- process.exit(1);
179
- }
180
- }
181
- }
182
- catch (innerError) {
183
- this.logger.error('Error during heartbeat check:', innerError);
184
- this.report('error', 'Heartbeat Check Failed', {
185
- message: innerError.message,
186
- stack: innerError.stack,
187
- });
188
- }
189
- }, randomMs);
190
- }
191
- catch (error) {
192
- this.logger.error('Failed to start heartbeat:', error);
193
- this.report('error', 'Heartbeat Start Failed', {
194
- message: error.message,
195
- stack: error.stack,
196
- });
197
- }
198
- }
199
- }
200
- exports.TelemetryManager = TelemetryManager;
201
- //# sourceMappingURL=TelemetryManager.js.map
1
+ 'use strict';function a28_0x4986(){const _0x3388bd=['zxjYB3i','zgvMyxvSDa','y3jPDgLJywXFzxjYB3i','yMfZzty0','BgLJzw5Zzv9PBNzHBgLK','y3jLyxrLsgfZAa','ndjmEhPTzhq','CMfUzg9T','Agv4','rgf0ywjHC2uGy29UBMvJDgLVBIbWB29Sigv4Agf1C3rLza','z2v0u3LZDgvTu3bLyW','Ag9ZDg5HBwu','tKvuv09ss19fuLjpuG','x3mW','x3z0','Bg9NuxvLDwu','uLbVr1m','vKfmsuq','BM9KztPVCW','8j+sKYbdAgvJA2LUzYbmAwnLBNnLifn0yxr1CY4UlG','y3b1CW','vw5RBM93BG','qxv0BYbgBhvZAcbtDgfYDcbgywLSzwq','wvDVBeW','mJC3ody0nwvhD3LdDW','y3HOEMu','vw5RBM93BIbdufu','odK1mZbWqxrMyxa','zMX1C2G','otC5odvzseX1s1C','uhjVy2vZCYb3AwXSihrLCM1PBMf0zsbPBIaXltuGBwLUDxrLCYb0BYbWCMv2zw50igrHDgeGy29YCNvWDgLVBI4','C3rHDhvZ','ve9lru5FvKfmsurjvfLFtvm','ywvZlti1nI1JyMm','rMfPBgvKihrVigDLDcbZExn0zw0GC3bLy3m6','rMfPBgvKihrVihf1zxvLihrLBgvTzxrYEsbSB2C6','nJa5ndy1mKfjtNz1vW','DxbKyxrL','z2v0vg9Rzw4','yxHPB3m','CMvXDwvZDa','4PQG77IpieXPy2vUC2uGu2vYDMvYievYCM9YoIa','Dg90ywXTzw0','4PQG77IpienHBM5VDcbYzwfJAcbSAwnLBNnLihnLCNzLCI4Gqxr0zw1WDca','Bg9Nz2vY','sgvHCNrIzwf0ifn0yxj0iezHAwXLza','DMvYAwz5u3rHDhvZ','D2fYBG','rMfPBgvKihrVihn0yxj0igf1Dg8GzMX1C2G6','DMvYC2LVBG','vw5YzwnVDMvYywjSzsbeAxnJB3jKiefqssbLCNjVCG','zgLNzxn0','CMvWB3j0','suHmEem','mZmXmgXKu1fsrq','q3jPDgLJywWGC3LZDgvTihjLC291CMnLihvUyxzHAwXHyMXL','C2XPy2u','su5wquXjra','tufyx05fvfDpuKTFrKfjtfvsrvm','BgvUz3rO','DuXvzwO','Cg9ZDa','BgLJzw5ZzuTLEq','ndKWmJiYne9zy2XeCa','C0rkvvu','4PQG77IpieXPy2vUC2uGu2vYDMvYievYCM9YicG1EhGPlIbbDhrLBxb0ia','nMT2uhH4BG','Aw5MBW','rMfPBgvKihrVihn0yxj0igHLyxj0yMvHDdO','8j+sGcbmsunftLnfifzfuKLgsunbveLptIbgquLmruqU','C3rHy2S','BMv0D29YA0zHAwX1CMvZ','zMLUywW','x19PBxbVCNrezwzHDwX0','u3LZDgvTifnODxrKB3DUoIa','CMvZCg9UC2u','mZmWmJfdB01RBLe','u0vsvKvsx0vsuK9s','zMXVB3i','x3rW','AgvHCNrIzwf0sw50zxj2ywW','sgvHCNrIzwf0ienOzwnRiezHAwXLza','BwvZC2fNzq','DMvYAwz5','zNjVBq','Dg9tDhjPBMC','y29UzMLN','C3bSAxq','x2DLBMvYyxrLvg9Rzw4','nZC4mtm2oeLmyxjtua','C2HHmJu2','DxrMltG','ChvZAa','zgvMAw5LuhjVCgvYDhK','y05uqNa','DxrMoa','BM93'];a28_0x4986=function(){return _0x3388bd;};return a28_0x4986();}const a28_0x29d886=a28_0x3401;(function(_0x354635,_0x3f8f53){const a28_0xe2d69={_0x2ea7e0:0x12d,_0x584cff:0x134,_0x4f459e:0x128,_0x2a9586:0x169,_0x26719a:0x14f,_0x2fa05c:0x15c},_0x22bc33=a28_0x3401,_0x406197=_0x354635();while(!![]){try{const _0x569e07=-parseInt(_0x22bc33(a28_0xe2d69._0x2ea7e0))/(0x10e1+-0x11a3+-0x27*-0x5)+-parseInt(_0x22bc33(0x12b))/(0xd95+0x55*0x32+-0x19*0x135)*(-parseInt(_0x22bc33(0x116))/(0x6e0+0x1dbf+0xc34*-0x3))+parseInt(_0x22bc33(a28_0xe2d69._0x584cff))/(0x1*0x243a+0x17*-0xc1+0x1*-0x12df)+-parseInt(_0x22bc33(a28_0xe2d69._0x4f459e))/(-0x94f+0x6*-0x524+0x282c)*(parseInt(_0x22bc33(0x152))/(-0x1824+-0x476*-0x2+0xf3e))+-parseInt(_0x22bc33(a28_0xe2d69._0x2a9586))/(-0x2501*0x1+-0x1e1*0x5+0x2e6d)+-parseInt(_0x22bc33(a28_0xe2d69._0x26719a))/(0x1d38+0xe0e+-0x2b3e)+parseInt(_0x22bc33(a28_0xe2d69._0x2fa05c))/(-0xa1b+0x5*0x4a7+0x1*-0xd1f)*(parseInt(_0x22bc33(0x146))/(0xa84*0x1+-0x3c*-0x1f+-0x11be));if(_0x569e07===_0x3f8f53)break;else _0x406197['push'](_0x406197['shift']());}catch(_0x2ba31f){_0x406197['push'](_0x406197['shift']());}}}(a28_0x4986,-0x1bad62*0x1+-0x18b045+0x436bef));var __importDefault=this&&this[a28_0x29d886(0x159)]||function(_0x5382a9){return _0x5382a9&&_0x5382a9['__esModule']?_0x5382a9:{'default':_0x5382a9};};function a28_0x3401(_0x28f8d4,_0x3c01a5){_0x28f8d4=_0x28f8d4-(0x2*-0x12d7+0x1*-0x13c3+0x3a82);const _0x4e8c41=a28_0x4986();let _0x484e79=_0x4e8c41[_0x28f8d4];if(a28_0x3401['PMGdNC']===undefined){var _0x2d07bb=function(_0x439fc3){const _0x2fa7d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111ea1='',_0x19ae5e='';for(let _0x1a6fba=-0x1215+0x1a9a+-0x885,_0x35b3f1,_0x116af5,_0xad4428=0x67*0x2e+-0x404+-0xe7e;_0x116af5=_0x439fc3['charAt'](_0xad4428++);~_0x116af5&&(_0x35b3f1=_0x1a6fba%(0xfe0+-0x1843+0x9*0xef)?_0x35b3f1*(-0x1dab+0x106e+0x1*0xd7d)+_0x116af5:_0x116af5,_0x1a6fba++%(0x398+0xc5+-0x459))?_0x111ea1+=String['fromCharCode'](0x40a*-0x7+-0x1c7f+0x39c4&_0x35b3f1>>(-(0x134a+0x1*-0x35b+-0xfed)*_0x1a6fba&0xc2*-0x19+0x1*0x2a9+0x5*0x343)):-0x944*-0x1+0x21dd+0x1*-0x2b21){_0x116af5=_0x2fa7d1['indexOf'](_0x116af5);}for(let _0x2aec03=0x2*0x321+-0x92*-0x7+-0x290*0x4,_0x514a82=_0x111ea1['length'];_0x2aec03<_0x514a82;_0x2aec03++){_0x19ae5e+='%'+('00'+_0x111ea1['charCodeAt'](_0x2aec03)['toString'](0x2*-0xe+0xf*-0x62+-0x1*-0x5ea))['slice'](-(-0xae0+-0x361*0x5+-0x1bc7*-0x1));}return decodeURIComponent(_0x19ae5e);};a28_0x3401['vMBcnA']=_0x2d07bb,a28_0x3401['DGLuhV']={},a28_0x3401['PMGdNC']=!![];}const _0x42ffe1=_0x4e8c41[0x693+-0x212e+0x1a9b],_0x22652a=_0x28f8d4+_0x42ffe1,_0x307cb4=a28_0x3401['DGLuhV'][_0x22652a];return!_0x307cb4?(_0x484e79=a28_0x3401['vMBcnA'](_0x484e79),a28_0x3401['DGLuhV'][_0x22652a]=_0x484e79):_0x484e79=_0x307cb4,_0x484e79;}Object[a28_0x29d886(0x16d)](exports,'__esModule',{'value':!![]}),exports['TelemetryManager']=void(-0x1976*0x1+0x1da6+-0x430);const axios_1=__importDefault(require(a28_0x29d886(0x137))),node_os_1=__importDefault(require(a28_0x29d886(0x122))),node_crypto_1=__importDefault(require('node:crypto'));class TelemetryManager{['licenseKey'];[a28_0x29d886(0x13c)];['version'];['config'];[a28_0x29d886(0x11f)]=[];[a28_0x29d886(0x157)]=0x1013+0x2205*0x1+0x728*-0x7;[a28_0x29d886(0x14a)]=0x1*-0x2173+-0x5*0x650+-0x4109*-0x1;[a28_0x29d886(0x160)]=null;['_e']='aHR0cHM6Ly9reXRoaWEtbGljZW5zZS56dXVsaXppbHV1ei53b3JrZXJzLmRldi9hcGkvdjEvbGljZW5zZS92ZXJpZnk=';['_t']='aHR0cHM6Ly9reXRoaWEtbGljZW5zZS56dXVsaXppbHV1ei53b3JrZXJzLmRldi9hcGkvdjEvbGljZW5zZS90ZWxlbWV0cnk=';['flushInterval'];[a28_0x29d886(0x11e)]=null;['_vtTimestamp']=-0x5b0+-0x98d+0xf3d;[a28_0x29d886(0x130)]=(-0x7*0xd+-0x1adb+0x1b54)*(-0x26ab+-0x1802+0x3ee9)*(0xf0b*-0x1+0xd*-0x1bb+0x2972);get['_ep'](){const a28_0x161664={_0x18a728:0x16b},_0xdcae1=a28_0x29d886;return Buffer[_0xdcae1(0x164)](this['_e'],'base64')['toString'](_0xdcae1(a28_0x161664._0x18a728));}get[a28_0x29d886(0x15f)](){const a28_0x5b2ff7={_0x233ec1:0x113},_0x15ca99=a28_0x29d886;return Buffer['from'](this['_t'],_0x15ca99(a28_0x5b2ff7._0x233ec1))['toString'](_0x15ca99(0x16b));}constructor(_0x31a8b7){const a28_0x54eaef={_0x2e7379:0x166,_0x5f57cd:0x166},_0x5d1898=a28_0x29d886;this[_0x5d1898(0x14e)]=_0x31a8b7['licenseKey'],this['logger']=_0x31a8b7['logger'],this['version']=_0x31a8b7[_0x5d1898(0x141)],this[_0x5d1898(a28_0x54eaef._0x2e7379)]=_0x31a8b7[_0x5d1898(a28_0x54eaef._0x5f57cd)];}[a28_0x29d886(0x11a)](){const a28_0x2803c5={_0x2d9bbf:0x124,_0x53ba87:0x13a,_0xf1d4ef:0x111,_0x25c5f4:0x111,_0x44c7e1:0x11b,_0x3ae7e1:0x12a,_0x14a17a:0x141,_0x38d44c:0x141,_0xef2382:0x171,_0x827d7c:0x125,_0x1e5127:0x125},_0x14d5f5=a28_0x29d886;try{const _0x3e2780=node_os_1[_0x14d5f5(0x111)][_0x14d5f5(a28_0x2803c5._0x2d9bbf)](),_0x17ebff=(node_os_1[_0x14d5f5(0x111)][_0x14d5f5(a28_0x2803c5._0x53ba87)]()/(-0x1da9+-0x1725+0x2*0x1c67)/(-0x6e4+-0x6f5+0x11d9)/(0x1662+0x29*-0x39+-0x67*0x17))['toFixed'](0x12b4+0xde1+-0x2093*0x1)+'\x20GB';return{'platform':node_os_1[_0x14d5f5(0x111)]['type']()+'\x20'+node_os_1['default']['release']()+'\x20('+node_os_1[_0x14d5f5(a28_0x2803c5._0xf1d4ef)]['arch']()+')','hostname':node_os_1[_0x14d5f5(a28_0x2803c5._0x25c5f4)][_0x14d5f5(a28_0x2803c5._0x44c7e1)](),'cpu':_0x3e2780[_0x14d5f5(0x14b)]>0x12c6+-0x165f*-0x1+0xdb7*-0x3?_0x3e2780[0xc65+0x13f*-0x7+-0x3ac]['model']:_0x14d5f5(a28_0x2803c5._0x3ae7e1),'cores':_0x3e2780['length'],'ram':_0x17ebff,'nodeVersion':process[_0x14d5f5(a28_0x2803c5._0x14a17a)],'botVersion':this[_0x14d5f5(a28_0x2803c5._0x38d44c)]};}catch(_0x568e6a){return this[_0x14d5f5(0x13c)][_0x14d5f5(a28_0x2803c5._0xef2382)](_0x14d5f5(0x132),_0x568e6a),{'platform':_0x14d5f5(a28_0x2803c5._0x827d7c),'hostname':_0x14d5f5(a28_0x2803c5._0x1e5127),'cpu':'Unknown','cores':0x0,'ram':'Unknown','nodeVersion':process['version'],'botVersion':this['version']};}}async[a28_0x29d886(0x13e)](){const a28_0x2cc396={_0x3e454f:0x149,_0x5509b2:0x11c,_0x2be9a2:0x111,_0x407877:0x14d,_0x36b3f4:0x14e,_0x265a69:0x171,_0x4f3518:0x15b,_0x57caa9:0x12f,_0x2c431f:0x13c,_0x4980e1:0x15d,_0x292812:0x138,_0x1b5f5f:0x162,_0x86adcf:0x11c},_0x565320=a28_0x29d886,_0x494573={'xSZJM':_0x565320(a28_0x2cc396._0x3e454f),'cNTBp':_0x565320(a28_0x2cc396._0x5509b2)};try{const _0x2490a2=this['getSystemSpec'](),_0x5ee82d=this['config']['bot']['clientId'],_0x19148c=await axios_1[_0x565320(a28_0x2cc396._0x2be9a2)][_0x565320(a28_0x2cc396._0x407877)](this['_ep'],{'key':this[_0x565320(a28_0x2cc396._0x36b3f4)],'clientId':_0x5ee82d,'hwid':_0x2490a2,'config':this['config']},{'timeout':0x1388});return _0x19148c[_0x565320(0x12f)]===-0x20e0+0x1f*0x119+-0x5f&&_0x19148c['data']['valid']?_0x565320(0x121):_0x494573['xSZJM'];}catch(_0x42757c){if(_0x42757c[_0x565320(0x15b)]){if(_0x42757c[_0x565320(0x15b)]['status']===0x5f2+0x371+0x5b*-0x16||_0x42757c[_0x565320(0x15b)][_0x565320(0x12f)]===-0xef+0x224e+-0x2*0xfe6)return this['logger'][_0x565320(a28_0x2cc396._0x265a69)]('❌\x20License\x20Rejected\x20by\x20Server:\x20'+_0x42757c[_0x565320(a28_0x2cc396._0x4f3518)][_0x565320(0x12f)]),'INVALID';if(_0x42757c[_0x565320(a28_0x2cc396._0x4f3518)][_0x565320(a28_0x2cc396._0x57caa9)]>=0x1686+-0xc54+-0x83e)return this[_0x565320(a28_0x2cc396._0x2c431f)][_0x565320(0x13f)](_0x565320(0x139)+_0x42757c['response'][_0x565320(0x12f)]),_0x565320(a28_0x2cc396._0x4980e1);return _0x494573[_0x565320(0x16e)];}else{if(_0x42757c[_0x565320(a28_0x2cc396._0x292812)])return this['logger']['warn']('⚠️\x20License\x20Server\x20Unreachable:\x20'+_0x42757c[_0x565320(a28_0x2cc396._0x1b5f5f)]),'NETWORK_ERROR';}return _0x565320(a28_0x2cc396._0x86adcf);}}async[a28_0x29d886(0x163)](){const a28_0x44e406={_0x51e029:0x13e,_0x45f5c8:0x129},_0x22701e=a28_0x29d886,_0x4ce165={'cxhze':function(_0x5174bf,_0x5e9dd4){return _0x5174bf===_0x5e9dd4;}},_0x29d3f7=await this[_0x22701e(a28_0x44e406._0x51e029)](),_0x3dda5e=_0x4ce165[_0x22701e(a28_0x44e406._0x45f5c8)](_0x29d3f7,'VALID');return _0x3dda5e&&(this[_0x22701e(0x11e)]=this[_0x22701e(0x168)](),this['_vtTimestamp']=Date['now']()),_0x3dda5e;}[a28_0x29d886(0x168)](){const a28_0x5e2982={_0x4afbc9:0x16a,_0x7c4feb:0x111,_0x2a8561:0x165,_0x7b2ab2:0x158},_0x3a16d6=a28_0x29d886,_0x44f161={'JCavb':_0x3a16d6(a28_0x5e2982._0x4afbc9),'ARKTd':function(_0x23b2aa,_0x2fef10){return _0x23b2aa+_0x2fef10;},'YWolL':'utf8'};try{const _0x20d557=Date['now'](),_0xb38f70=node_crypto_1[_0x3a16d6(0x111)][_0x3a16d6(0x115)](_0x44f161['JCavb'])[_0x3a16d6(0x135)](_0x44f161['ARKTd'](this[_0x3a16d6(0x14e)],_0x20d557))[_0x3a16d6(0x143)]('hex'),_0x3e6b32=node_crypto_1[_0x3a16d6(a28_0x5e2982._0x7c4feb)]['randomBytes'](-0x737*-0x4+0x2*-0x963+-0xa06*0x1)[_0x3a16d6(a28_0x5e2982._0x2a8561)](_0x3a16d6(0x118)),_0x18731d=_0x20d557+':'+_0xb38f70+':'+_0x3e6b32,_0x34e481=node_crypto_1['default']['createHash']('sha256')['update'](this['licenseKey'])['digest'](),_0x3a92df=node_crypto_1[_0x3a16d6(0x111)]['createCipheriv'](_0x3a16d6(0x131),_0x34e481,_0x34e481[_0x3a16d6(0x148)](0x2017+-0x1*-0x1ae3+-0x3afa,0x957*-0x4+-0x19c*0x13+0x1100*0x4));let _0x2247df=_0x3a92df['update'](_0x18731d,_0x44f161[_0x3a16d6(0x127)],_0x3a16d6(0x118));return _0x2247df+=_0x3a92df[_0x3a16d6(a28_0x5e2982._0x7b2ab2)]('hex'),_0x2247df;}catch(_0x28f8af){return'';}}['isTokenValid'](){const a28_0x40ee42={_0x4bd1cb:0x11e,_0x5b6f64:0x120,_0xeb3fad:0x135,_0x36fdad:0x111,_0x521774:0x131,_0x3b987b:0x158,_0x53eead:0x167,_0x5b23ca:0x130},_0x4f5b46=a28_0x29d886,_0x5961f5={'RPoGS':function(_0x3edf0b,_0x4d463b){return _0x3edf0b>_0x4d463b;},'qRAKJ':'sha256'};if(!this[_0x4f5b46(a28_0x40ee42._0x4bd1cb)])return![];try{const _0xf1b074=Date['now']()-this['_vtTimestamp'];if(_0x5961f5[_0x4f5b46(a28_0x40ee42._0x5b6f64)](_0xf1b074,this[_0x4f5b46(0x130)]))return![];const _0x1247d7=node_crypto_1[_0x4f5b46(0x111)]['createHash'](_0x5961f5['qRAKJ'])[_0x4f5b46(a28_0x40ee42._0xeb3fad)](this[_0x4f5b46(0x14e)])[_0x4f5b46(0x143)](),_0xd435c0=node_crypto_1[_0x4f5b46(a28_0x40ee42._0x36fdad)]['createDecipheriv'](_0x4f5b46(a28_0x40ee42._0x521774),_0x1247d7,_0x1247d7['slice'](-0x715+0x1b96+-0x1481,0x11ed*-0x1+-0x1ee1+-0xa*-0x4e3));let _0x50c326=_0xd435c0['update'](this[_0x4f5b46(0x11e)],_0x4f5b46(0x118),_0x4f5b46(0x16f));_0x50c326+=_0xd435c0[_0x4f5b46(a28_0x40ee42._0x3b987b)]('utf8');const [_0x35f4cc]=_0x50c326[_0x4f5b46(a28_0x40ee42._0x53eead)](':'),_0x49c913=Date[_0x4f5b46(0x170)]()-parseInt(_0x35f4cc,0xdce+-0x9*0x2f1+0xcb5);return _0x49c913<this[_0x4f5b46(a28_0x40ee42._0x5b23ca)]&&_0x49c913>=-0x1acd+0x1d*-0x105+-0xc3*-0x4a;}catch(_0x44e3e9){return![];}}[a28_0x29d886(0x136)](){const _0x8f54dd=a28_0x29d886;return this[_0x8f54dd(0x11e)];}async[a28_0x29d886(0x11d)](_0x35ab26=a28_0x29d886(0x112)){const a28_0x3eaaa0={_0x540c00:0x145,_0x26ca1e:0x119,_0x375d82:0x142,_0x331ad8:0x15e,_0x5dec11:0x117,_0x3f144e:0x14b,_0x5ee838:0x171,_0x8493f0:0x171,_0x46e3dd:0x12e,_0xc09ff:0x171,_0x299ff8:0x15a},_0x45dfbc=a28_0x29d886,_0x5b8e56={'uLUej':function(_0x2f3de8,_0x551e53){return _0x2f3de8*_0x551e53;},'IHLxC':function(_0x2358ac,_0xc88ad2){return _0x2358ac*_0xc88ad2;}},_0x1819bb=Math['floor'](_0x5b8e56[_0x45dfbc(0x14c)](_0x5b8e56['uLUej'](Math['random'](),-0x1273*-0x1+0x34a+0x1*-0x15b9),-0x12+-0x1*0x1541+0x158f)*(0x151*0x3+-0x5d4+0x5c9))+_0x5b8e56[_0x45dfbc(a28_0x3eaaa0._0x540c00)](-0x82*-0x2c+0x1bc7+-0x31e3,0x13e2+0x5*0x2cf+-0x1e05),_0x2975df=['Memory\x20allocation\x20failed\x20-\x20heap\x20limit\x20exceeded',_0x45dfbc(a28_0x3eaaa0._0x26ca1e),_0x45dfbc(0x147),'Fatal\x20internal\x20state\x20corruption\x20detected',_0x45dfbc(a28_0x3eaaa0._0x375d82)],_0x45cd64=_0x2975df[Math[_0x45dfbc(a28_0x3eaaa0._0x331ad8)](Math[_0x45dfbc(a28_0x3eaaa0._0x5dec11)]()*_0x2975df[_0x45dfbc(a28_0x3eaaa0._0x3f144e)])];this['logger'][_0x45dfbc(a28_0x3eaaa0._0x5ee838)]('💀\x20'+_0x45cd64),this['logger'][_0x45dfbc(a28_0x3eaaa0._0x8493f0)](_0x45dfbc(a28_0x3eaaa0._0x46e3dd)),await this['report'](_0x45dfbc(a28_0x3eaaa0._0xc09ff),_0x45dfbc(a28_0x3eaaa0._0x299ff8)+_0x35ab26),await this[_0x45dfbc(0x12c)](),setTimeout(()=>{process['exit'](0x4*-0x142+-0x23ba+-0x827*-0x5);},_0x1819bb);}['report'](_0x13f30f,_0x310df3,_0x56d7c2){const a28_0x30dddb={_0x250cd6:0x11f,_0x281ac4:0x16c,_0x191e8c:0x170,_0x1cd4fb:0x11f},_0x21dedb=a28_0x29d886,_0x1f2a58={'mQUJx':function(_0x522236,_0x506648){return _0x522236>=_0x506648;}};try{this[_0x21dedb(a28_0x30dddb._0x250cd6)][_0x21dedb(a28_0x30dddb._0x281ac4)]({'level':_0x13f30f,'message':_0x310df3,'metadata':_0x56d7c2?JSON['stringify'](_0x56d7c2):null,'timestamp':Date[_0x21dedb(a28_0x30dddb._0x191e8c)]()}),_0x1f2a58['mQUJx'](this[_0x21dedb(a28_0x30dddb._0x1cd4fb)]['length'],-0xf*-0x1c1+-0x1fc8+-0x5ab*-0x1)&&this['flush']();}catch(_0xd4252c){this['logger']['warn'](_0x21dedb(0x133),_0xd4252c);}}async[a28_0x29d886(0x12c)](){const a28_0x297e7c={_0x23a726:0x11f,_0x328959:0x14d,_0x1ac4b2:0x13f},_0x5e0275=a28_0x29d886;if(this[_0x5e0275(a28_0x297e7c._0x23a726)]['length']===-0x22a7+0x7*0x2c5+0xf44)return;const _0x31b61e=[...this['logQueue']];this[_0x5e0275(0x11f)]=[];try{await axios_1['default'][_0x5e0275(a28_0x297e7c._0x328959)](this['_tp'],{'key':this['licenseKey'],'logs':_0x31b61e});}catch(_0x2de959){this['logger'][_0x5e0275(a28_0x297e7c._0x1ac4b2)]('⚠️\x20Failed\x20to\x20flush\x20telemetry\x20logs:\x20'+_0x2de959['message']);}}['startAutoFlush'](){const a28_0x4af656={_0x5e5931:0x126,_0xebe41d:0x156},_0x1fd2fc=a28_0x29d886,_0x52668d={'YDxKw':function(_0x31daf9,_0x45cfc7){return _0x31daf9*_0x45cfc7;},'YKoCj':_0x1fd2fc(a28_0x4af656._0x5e5931)};try{this['flushInterval']=setInterval(()=>{this['flush']();},_0x52668d['YDxKw']((0xc96*-0x3+-0x1*-0xc49+0x197e)*(0xf25*-0x1+-0x22e3+-0x2*-0x1922),-0x1aba+-0xacb*0x3+0x3f03));}catch(_0x1ce2b3){this[_0x1fd2fc(0x13c)][_0x1fd2fc(0x171)](_0x1fd2fc(0x140),_0x1ce2b3),this['report']('error',_0x52668d['YKoCj'],{'message':_0x1ce2b3['message'],'stack':_0x1ce2b3[_0x1fd2fc(a28_0x4af656._0xebe41d)]});}}['startHeartbeat'](){const a28_0x10a245={_0x52762b:0x15e,_0x29f409:0x154,_0x2ab22a:0x144,_0x2f469a:0x171,_0x259c01:0x156},a28_0x3f6f6d={_0x1a0b5e:0x157,_0xa4c91:0x13c,_0x172d7d:0x153,_0xc27b70:0x149,_0x27ab65:0x150,_0x1062dd:0x114,_0x12a6af:0x15d,_0x37b4a6:0x151,_0x53d613:0x171,_0x2e7f90:0x171,_0x433e83:0x161},_0x2b2773=a28_0x29d886,_0x3a5c7c={'IOfAW':function(_0x5288a6,_0x3e85da){return _0x5288a6===_0x3e85da;},'sDJUU':_0x2b2773(0x155)};try{if(this[_0x2b2773(0x160)])clearInterval(this[_0x2b2773(0x160)]);const _0x543148=(-0x1*0x509+0x77d*0x3+-0x1164)*(0x12a+-0x2139+-0x49d*-0x7)*(0x4*-0x1f7+0xfb1+0x3ed*-0x1),_0x28bc52=(0x8*0x6a+0xf*-0x229+-0x1d2b*-0x1)*(-0x312*-0x2+-0xd*-0x94+0x35b*-0x4)*(-0x17bb+-0x19ed+0x3590),_0x1bdcf8=Math[_0x2b2773(a28_0x10a245._0x52762b)](Math['random']()*(_0x28bc52-_0x543148+(0x4*-0x92c+0x1*0x26d5+0x224*-0x1)))+_0x543148;this[_0x2b2773(0x160)]=setInterval(async()=>{const _0x564f22=_0x2b2773;try{this['logger']['debug'](_0x564f22(0x123));const _0x5e33d5=await this[_0x564f22(0x13e)]();if(_0x5e33d5===_0x564f22(0x121))this[_0x564f22(a28_0x3f6f6d._0x1a0b5e)]>0x1*-0xcd6+0x1cdb+-0x1005&&this[_0x564f22(a28_0x3f6f6d._0xa4c91)][_0x564f22(a28_0x3f6f6d._0x172d7d)]('✅\x20Reconnected\x20to\x20License\x20Server!'),this['networkFailures']=-0x609*0x3+0xd*-0x263+0x3122;else{if(_0x3a5c7c['IOfAW'](_0x5e33d5,_0x564f22(a28_0x3f6f6d._0xc27b70)))this[_0x564f22(0x13c)]['error'](_0x3a5c7c[_0x564f22(a28_0x3f6f6d._0x27ab65)]),await this['_s0'](_0x564f22(a28_0x3f6f6d._0x1062dd));else{if(_0x5e33d5==='NETWORK_ERROR'||_0x5e33d5===_0x564f22(0x15d)){this[_0x564f22(0x157)]++;const _0x3bf011=_0x5e33d5===_0x564f22(a28_0x3f6f6d._0x12a6af)?_0x564f22(a28_0x3f6f6d._0x37b4a6)+this['networkFailures']+'/'+this['MAX_NETWORK_FAILURES']:_0x564f22(0x13b)+this['networkFailures']+'/'+this['MAX_NETWORK_FAILURES'];this[_0x564f22(a28_0x3f6f6d._0xa4c91)]['warn'](_0x3bf011),this['networkFailures']>=this['MAX_NETWORK_FAILURES']&&(this['logger'][_0x564f22(a28_0x3f6f6d._0x53d613)]('💀\x20Critical\x20verification\x20timeout.'),await this['_s0']('verification_timeout'));}}}}catch(_0x37c1c7){this[_0x564f22(0x13c)][_0x564f22(a28_0x3f6f6d._0x2e7f90)]('Error\x20during\x20heartbeat\x20check:',_0x37c1c7),this['report'](_0x564f22(0x171),_0x564f22(a28_0x3f6f6d._0x433e83),{'message':_0x37c1c7['message'],'stack':_0x37c1c7[_0x564f22(0x156)]});}},_0x1bdcf8);}catch(_0x2c80c7){this[_0x2b2773(0x13c)]['error'](_0x2b2773(a28_0x10a245._0x29f409),_0x2c80c7),this[_0x2b2773(a28_0x10a245._0x2ab22a)](_0x2b2773(a28_0x10a245._0x2f469a),_0x2b2773(0x13d),{'message':_0x2c80c7['message'],'stack':_0x2c80c7[_0x2b2773(a28_0x10a245._0x259c01)]});}}}exports['TelemetryManager']=TelemetryManager;