kythia-core 26.0.2 → 26.0.4

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 (82) hide show
  1. package/dist/Kythia.d.ts.map +1 -1
  2. package/dist/Kythia.js +1 -1
  3. package/dist/Kythia.js.map +1 -1
  4. package/dist/cli/Command.js +1 -1
  5. package/dist/cli/commands/AboutCommand.js +1 -1
  6. package/dist/cli/commands/CacheClearCommand.js +1 -1
  7. package/dist/cli/commands/DIGenerateCommand.js +1 -1
  8. package/dist/cli/commands/DocsGenerateCommand.js +1 -1
  9. package/dist/cli/commands/LangCheckCommand.js +1 -1
  10. package/dist/cli/commands/LangSyncCommand.js +1 -1
  11. package/dist/cli/commands/LangTranslateCommand.js +1 -1
  12. package/dist/cli/commands/MakeMigrationCommand.js +1 -1
  13. package/dist/cli/commands/MakeModelCommand.js +1 -1
  14. package/dist/cli/commands/MakeSeederCommand.js +1 -1
  15. package/dist/cli/commands/MigrateCommand.js +1 -1
  16. package/dist/cli/commands/NamespaceCommand.js +1 -1
  17. package/dist/cli/commands/SeedCommand.js +1 -1
  18. package/dist/cli/commands/StructureCommand.js +1 -1
  19. package/dist/cli/commands/UpversionCommand.js +1 -1
  20. package/dist/cli/index.js +1 -1
  21. package/dist/cli/utils/db.js +1 -1
  22. package/dist/database/KythiaMigrator.js +1 -1
  23. package/dist/database/KythiaModel.d.ts +4 -2
  24. package/dist/database/KythiaModel.d.ts.map +1 -1
  25. package/dist/database/KythiaModel.js +1 -1
  26. package/dist/database/KythiaModel.js.map +1 -1
  27. package/dist/database/KythiaSequelize.d.ts.map +1 -1
  28. package/dist/database/KythiaSequelize.js +1 -1
  29. package/dist/database/KythiaSequelize.js.map +1 -1
  30. package/dist/database/KythiaStorage.js +1 -1
  31. package/dist/database/ModelLoader.js +1 -1
  32. package/dist/database/Seeder.js +1 -1
  33. package/dist/database/SeederManager.js +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/managers/AddonManager.d.ts +2 -2
  36. package/dist/managers/AddonManager.d.ts.map +1 -1
  37. package/dist/managers/AddonManager.js +1 -1
  38. package/dist/managers/AddonManager.js.map +1 -1
  39. package/dist/managers/EventManager.js +1 -1
  40. package/dist/managers/InteractionManager.d.ts +1 -0
  41. package/dist/managers/InteractionManager.d.ts.map +1 -1
  42. package/dist/managers/InteractionManager.js +1 -1
  43. package/dist/managers/InteractionManager.js.map +1 -1
  44. package/dist/managers/KythiaEngine.d.ts +4 -0
  45. package/dist/managers/KythiaEngine.d.ts.map +1 -1
  46. package/dist/managers/KythiaEngine.js +1 -1
  47. package/dist/managers/KythiaEngine.js.map +1 -1
  48. package/dist/managers/MetricsManager.js +1 -1
  49. package/dist/managers/MiddlewareManager.js +1 -1
  50. package/dist/managers/ShardingManager.d.ts +1 -0
  51. package/dist/managers/ShardingManager.d.ts.map +1 -1
  52. package/dist/managers/ShardingManager.js +1 -1
  53. package/dist/managers/ShardingManager.js.map +1 -1
  54. package/dist/managers/ShutdownManager.d.ts +1 -0
  55. package/dist/managers/ShutdownManager.d.ts.map +1 -1
  56. package/dist/managers/ShutdownManager.js +1 -1
  57. package/dist/managers/ShutdownManager.js.map +1 -1
  58. package/dist/managers/TranslatorManager.js +1 -1
  59. package/dist/middlewares/botPermissions.js +1 -1
  60. package/dist/middlewares/cooldown.d.ts.map +1 -1
  61. package/dist/middlewares/cooldown.js +1 -1
  62. package/dist/middlewares/cooldown.js.map +1 -1
  63. package/dist/middlewares/isInMainGuild.d.ts.map +1 -1
  64. package/dist/middlewares/isInMainGuild.js +1 -1
  65. package/dist/middlewares/isInMainGuild.js.map +1 -1
  66. package/dist/middlewares/ownerOnly.js +1 -1
  67. package/dist/middlewares/userPermissions.js +1 -1
  68. package/dist/structures/BaseCommand.js +1 -1
  69. package/dist/types/AddonManager.d.ts +4 -1
  70. package/dist/types/AddonManager.d.ts.map +1 -1
  71. package/dist/types/KythiaConfig.d.ts +2 -0
  72. package/dist/types/KythiaConfig.d.ts.map +1 -1
  73. package/dist/types/ModuleLoaders.js +1 -1
  74. package/dist/types/index.js +1 -1
  75. package/dist/utils/DiscordWebhookTransport.js +1 -1
  76. package/dist/utils/InteractionFactory.js +1 -1
  77. package/dist/utils/color.js +1 -1
  78. package/dist/utils/discord.js +1 -1
  79. package/dist/utils/formatter.js +1 -1
  80. package/dist/utils/index.js +1 -1
  81. package/dist/utils/logger.js +1 -1
  82. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x135d9b){return _0x135d9b&&_0x135d9b['__esModule']?_0x135d9b:{'default':_0x135d9b};};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports['ShardingManager']=void(0x205*-0xd+-0x1769+-0x847*-0x6);const discord_js_1=require('discord.js');const node_path_1=__importDefault(require('node:path'));const logger_1=__importDefault(require('../utils/logger'));const cli_color_1=__importDefault(require('cli-color'));const KythiaEngine_1=require('./KythiaEngine');const package_json_1=require('../../package.json');class ShardingManager{['manager'];['logger'];['engine'];['timeout'];['masterStartedAt']=Date['now']();['_shardDeathTimes']=new Map();['_shardCrashLoopFlags']=new Set();['_shardLifetimeRestarts']=new Map();['_shardLastHeartbeat']=new Map();['_shardMemoryRestartFlags']=new Set();['_shardZombiePingPending']=new Set();static ['CRASH_LOOP_THRESHOLD']=-0xb84+0x1*-0x14a1+0x2028;static ['CRASH_LOOP_WINDOW_MS']=(-0xfb1+0x21e1+-0x122b)*(-0x2107+-0x1c1*-0xb+-0x1*-0xdf8)*(0x17e6*-0x1+0x194b+0x283);static ['CRASH_LOOP_BACKOFF_MS']=(0x174e+0x2*-0xd8b+0x3ca)*(0x2055+0x2*-0x59b+-0x14e3)*(0x23ef+0x1*-0xf94+-0x1073);static ['SHARD_ZOMBIE_THRESHOLD_MS']=(-0x168c+0x2691+-0x1002)*(-0x114*-0x5+0x1834*-0x1+0x2e*0x6a)*(-0x15*-0x1d3+-0x10cc+-0x1*0x119b);static ['SHARD_ZOMBIE_PING_GRACE_MS']=(-0xcca*-0x3+-0x2213+0x1*-0x42d)*(-0xa9b*0x2+0x13*-0x8a+0x235c);['_webhookUrl'];constructor(_0xcfce50){const _0xba72fd=_0xcfce50['scriptPath']||node_path_1['default']['join'](process['cwd'](),'dist','index.js');this['logger']=logger_1['default'];this['timeout']=_0xcfce50['timeout']||0xc932+-0x3d51+0x148df;this['_webhookUrl']=_0xcfce50['webhookErrorLogs']||process.env.WEBHOOK_ERROR_LOGS||undefined;this['engine']=new KythiaEngine_1['KythiaEngine']({'botClient':{},'licenseKey':_0xcfce50['licenseKey'],'botVersion':package_json_1['version'],'bootSalt':Date['now'](),'logger':this['logger'],'version':package_json_1['version'],'config':_0xcfce50['config']});const _0x6b6cf9=[];if(_0xcfce50['maxOldSpaceSizeMb']){_0x6b6cf9['push']('--max-old-space-size='+_0xcfce50['maxOldSpaceSizeMb']);this['logger']['info']('🧠\x20Shard\x20heap\x20cap:\x20'+_0xcfce50['maxOldSpaceSizeMb']+'\x20MB\x20(--max-old-space-size)');}else{this['logger']['warn']('⚠️\x20No\x20maxOldSpaceSizeMb\x20set.\x20Shards\x20will\x20use\x20Node\x27s\x20default\x20heap\x20limit\x20'+'(~1.5\x20GB\x20on\x20most\x20systems).\x20Consider\x20setting\x20this\x20to\x20avoid\x20OS\x20OOM\x20kills.\x20'+'Example:\x20new\x20ShardingManager({\x20maxOldSpaceSizeMb:\x20512\x20})');}this['manager']=new discord_js_1['ShardingManager'](_0xba72fd,{'token':_0xcfce50['token'],'totalShards':_0xcfce50['totalShards']||'auto','respawn':!![],..._0x6b6cf9['length']>-0x858+0xdc3*-0x2+0x11ef*0x2?{'shardArgs':_0x6b6cf9}:{}});this['_setupMasterErrorHandlers']();this['_registerEvents']();this['_setupGracefulMasterShutdown']();}['_sendShardDeathWebhook'](_0x1be222,_0x558732,_0x5152ce,_0x405deb=-0x2ab*0x9f95+-0x1bb14e8+0x3*0x1769d25){if(!this['_webhookUrl'])return;try{const _0x19f91=new URL(this['_webhookUrl']);_0x19f91['searchParams']['append']('wait','false');const _0x2ce251={'embeds':[{'title':'[Master\x20→\x20Shard\x20'+_0x1be222+']\x20'+_0x558732,'description':_0x5152ce,'color':_0x405deb,'timestamp':new Date()['toISOString'](),'footer':{'text':'Kythia\x20Master\x20Process\x20·\x20v'+package_json_1['version']}}]};const _0x379c26=JSON['stringify'](_0x2ce251);const _0x94ce4e=new AbortController();setTimeout(()=>_0x94ce4e['abort'](),-0x23d4+0x15*-0x172+0x4c3*0x12);fetch(_0x19f91['href'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':_0x379c26,'signal':_0x94ce4e['signal']})['catch'](_0xbe94ec=>{this['logger']['warn']('⚠️\x20Failed\x20to\x20send\x20shard\x20death\x20webhook\x20for\x20Shard\x20'+_0x1be222+':\x20'+(_0xbe94ec?.['message']??_0xbe94ec));});}catch(_0x871fe){this['logger']['warn']('⚠️\x20Could\x20not\x20build\x20shard\x20death\x20webhook\x20payload:\x20'+(_0x871fe?.['message']??_0x871fe));}}['_log']={'launch':(shardId,msg)=>{const w=process['stdout']['columns']||-0x1*-0xc96+-0x19*-0xe3+0xb7b*-0x3;const line='\x20\x20[🌸\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgGreen']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgGreen']['white']['bold'](line+'\x20'['repeat'](Math['max'](-0x817+0xa1*0x17+-0x198*0x4,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'ready':(shardId,msg)=>{const w=process['stdout']['columns']||-0x7*-0x115+-0x2*0xbd3+0x1063;const line='\x20\x20[✅\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgCyan']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgCyan']['white']['bold'](line+'\x20'['repeat'](Math['max'](0xbca+0x9*0xda+-0x1374,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'warn':(shardId,msg)=>{const w=process['stdout']['columns']||0x127c+0x26e2+-0x2*0x1c87;const line='\x20\x20[⚠️\x20\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgYellow']['black']('\x20'['repeat'](w));const content=cli_color_1['default']['bgYellow']['black']['bold'](line+'\x20'['repeat'](Math['max'](-0x324+-0x2559+0x287d,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'death':(shardId,msg)=>{const w=process['stdout']['columns']||-0x1e34+-0x1d4+0x2058;const line='\x20\x20[💀\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgRed']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgRed']['white']['bold'](line+'\x20'['repeat'](Math['max'](-0xb*-0x199+-0x1376+0x3*0xa1,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'crashLoop':(shardId,msg,sub)=>{const w=process['stdout']['columns']||-0x22a5+0x1*0x18f5+-0x4*-0x280;const pad=text=>cli_color_1['default']['bgMagenta']['white']['bold'](text+'\x20'['repeat'](Math['max'](-0x12be+0x7c2+0xafc,w-text['length'])));const blank=cli_color_1['default']['bgMagenta']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[\x20🔁\x20CRASH\x20LOOP\x20SHARD\x20'+shardId+']'));console['log'](pad('\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');},'master':(msg,sub)=>{const w=process['stdout']['columns']||0xe60+0x1eec*-0x1+0x10dc;const pad=text=>cli_color_1['default']['bgBlueBright']['white']['bold'](text+'\x20'['repeat'](Math['max'](-0x2636+0x2*0x37+0x25c8,w-text['length'])));const blank=cli_color_1['default']['bgBlueBright']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[🌸\x20MASTER]\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');},'shutdown':(msg,sub)=>{const w=process['stdout']['columns']||-0x4b+-0xffd+0x1098;const pad=text=>cli_color_1['default']['bgBlackBright']['white']['bold'](text+'\x20'['repeat'](Math['max'](-0xd1f+-0x1763+0x1*0x2482,w-text['length'])));const blank=cli_color_1['default']['bgBlackBright']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[🛑\x20SHUTDOWN]\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');}};['_registerEvents'](){this['manager']['on']('shardCreate',_0x1943f0=>{this['_log']['launch'](_0x1943f0['id'],'Launched');_0x1943f0['on']('spawn',()=>{this['_shardCrashLoopFlags']['delete'](_0x1943f0['id']);this['_log']['launch'](_0x1943f0['id'],'Process\x20Spawned');});_0x1943f0['on']('ready',()=>{this['_log']['ready'](_0x1943f0['id'],'Ready\x20—\x20online\x20and\x20listening');_0x1943f0['send']({'type':'master_info','masterStartedAt':this['masterStartedAt']})['catch'](()=>{});});_0x1943f0['on']('error',_0x561517=>{this['_log']['death'](_0x1943f0['id'],'Error:\x20'+_0x561517['message']);this['logger']['error']('❌\x20Shard\x20['+_0x1943f0['id']+']\x20Error:',_0x561517);this['_sendShardDeathWebhook'](_0x1943f0['id'],'Shard\x20Error','```\x0a'+_0x561517['message']+'\x0a```',0x1a5cd4e+-0x484365+0x5de4e9*-0x1);});_0x1943f0['on']('disconnect',()=>{this['_log']['warn'](_0x1943f0['id'],'Disconnected\x20from\x20Discord\x20gateway\x20—\x20will\x20attempt\x20reconnect');this['engine']['report']('warn','Shard\x20'+_0x1943f0['id']+'\x20Disconnected',{'shardId':_0x1943f0['id']});});_0x1943f0['on']('reconnecting',()=>{this['_log']['warn'](_0x1943f0['id'],'Reconnecting\x20to\x20Discord\x20gateway...');});_0x1943f0['on']('death',_0x52d696=>{const _0x92e653=_0x52d696;const _0x5ece76=_0x92e653['exitCode']===0x5d*-0x2f+0x10a5+0xf7||_0x92e653['signalCode']==='SIGKILL';const _0x44a3b5=this['_shardMemoryRestartFlags']['has'](_0x1943f0['id']);if(_0x44a3b5){this['_shardMemoryRestartFlags']['delete'](_0x1943f0['id']);}const _0x2ef849=this['_shardLifetimeRestarts']['get'](_0x1943f0['id'])??0xbe7+-0x17b*0x2+-0x8f1;this['_shardLifetimeRestarts']['set'](_0x1943f0['id'],_0x2ef849+(-0x2*0xccb+-0x2567+0x1f7f*0x2));if(_0x5ece76){this['_log']['death'](_0x1943f0['id'],'OOM-KILLED\x20by\x20OS\x20(exit\x20137\x20/\x20SIGKILL)');this['logger']['error']('💥\x20Shard\x20['+_0x1943f0['id']+']\x20OOM-KILLED\x20—\x20consider\x20increasing\x20server\x20memory\x20or\x20reducing\x20shard\x20count.');this['engine']['report']('error','Shard\x20'+_0x1943f0['id']+'\x20OOM\x20Killed',{'shardId':_0x1943f0['id'],'exitCode':_0x92e653['exitCode'],'signal':_0x92e653['signalCode']});this['_sendShardDeathWebhook'](_0x1943f0['id'],'Shard\x20OOM\x20Killed\x20☠️','The\x20shard\x20process\x20was\x20**OOM-killed**\x20(exit\x20137\x20/\x20SIGKILL)\x20by\x20the\x20OS.\x0aConsider\x20increasing\x20server\x20memory\x20or\x20reducing\x20shard\x20count.',0xd4c284+0x1b83d6e*-0x1+0x1e27aea);}else{this['_log']['death'](_0x1943f0['id'],'Died\x20—\x20exit:\x20'+(_0x92e653['exitCode']??'null')+'\x20|\x20signal:\x20'+(_0x92e653['signalCode']??'none'));this['logger']['error']('💀\x20Shard\x20['+_0x1943f0['id']+']\x20DIED\x20—\x20exit\x20code:\x20'+(_0x92e653['exitCode']??'null')+'\x20|\x20signal:\x20'+(_0x92e653['signalCode']??'none'));this['engine']['report']('error','Shard\x20'+_0x1943f0['id']+'\x20Died',{'shardId':_0x1943f0['id'],'exitCode':_0x92e653['exitCode'],'signal':_0x92e653['signalCode']});this['_sendShardDeathWebhook'](_0x1943f0['id'],'Shard\x20Died\x20💀','Exit\x20code:\x20**'+(_0x92e653['exitCode']??'null')+'**\x20|\x20Signal:\x20**'+(_0x92e653['signalCode']??'none')+'**',-0x447*0x5d93+0x16e9a+0x28dd12b);}if(_0x44a3b5){this['_log']['ready'](_0x1943f0['id'],'Memory-pressure\x20restart\x20complete\x20—\x20shard\x20will\x20respawn\x20normally.');return;}const _0x269c1f=Date['now']();const _0x298b95=(this['_shardDeathTimes']['get'](_0x1943f0['id'])??[])['filter'](_0x26e980=>_0x269c1f-_0x26e980<ShardingManager['CRASH_LOOP_WINDOW_MS']);_0x298b95['push'](_0x269c1f);this['_shardDeathTimes']['set'](_0x1943f0['id'],_0x298b95);if(_0x298b95['length']>=ShardingManager['CRASH_LOOP_THRESHOLD']&&!this['_shardCrashLoopFlags']['has'](_0x1943f0['id'])){this['_shardCrashLoopFlags']['add'](_0x1943f0['id']);const _0x847346=ShardingManager['CRASH_LOOP_BACKOFF_MS']/(0x2f3*-0x6+-0x5e5*0x1+0x1b7f);this['_log']['crashLoop'](_0x1943f0['id'],_0x298b95['length']+'\x20deaths\x20in\x20'+ShardingManager['CRASH_LOOP_WINDOW_MS']/(0x9d22*-0x1+-0x105cb*-0x1+0x3*0x2b3d)+'\x20min','Respawn\x20paused\x20for\x20'+_0x847346+'s\x20—\x20letting\x20the\x20system\x20breathe...');this['logger']['error']('🔁\x20CRASH\x20LOOP\x20on\x20Shard\x20['+_0x1943f0['id']+']\x20—\x20'+_0x298b95['length']+'\x20deaths,\x20pausing\x20'+_0x847346+'s');this['engine']['report']('error','Crash\x20Loop:\x20Shard\x20'+_0x1943f0['id'],{'shardId':_0x1943f0['id'],'deathsInWindow':_0x298b95['length'],'windowMs':ShardingManager['CRASH_LOOP_WINDOW_MS']});this['_sendShardDeathWebhook'](_0x1943f0['id'],'Crash\x20Loop\x20Detected\x20🔁','**'+_0x298b95['length']+'\x20deaths**\x20in\x20the\x20last\x20'+ShardingManager['CRASH_LOOP_WINDOW_MS']/(-0x15310+-0xa987*0x2+-0x3907e*-0x1)+'\x20minutes.\x0aRespawn\x20paused\x20for\x20**'+_0x847346+'s**\x20to\x20let\x20the\x20system\x20breathe.',0x9e13*0xd8+0x139f970+0x1*-0x1155879);const _0x1706b2=this['manager']['shards']['get'](_0x1943f0['id']);if(_0x1706b2){this['manager']['respawn']=![];_0x1706b2['process']?.['kill']('SIGKILL');setImmediate(()=>{this['manager']['respawn']=!![];});}setTimeout(()=>{this['_shardDeathTimes']['set'](_0x1943f0['id'],[]);this['_log']['ready'](_0x1943f0['id'],'Crash\x20loop\x20backoff\x20lifted\x20—\x20respawning\x20shard...');this['manager']['shards']['get'](_0x1943f0['id'])?.['spawn']()['catch'](_0x57f7bf=>{this['_log']['death'](_0x1943f0['id'],'Failed\x20to\x20respawn\x20after\x20backoff:\x20'+_0x57f7bf['message']);this['logger']['error']('❌\x20Failed\x20to\x20respawn\x20Shard\x20['+_0x1943f0['id']+']\x20after\x20backoff:\x20'+_0x57f7bf['message']);});},ShardingManager['CRASH_LOOP_BACKOFF_MS']);}});_0x1943f0['on']('message',_0x4f932c=>{if(_0x4f932c&&_0x4f932c['type']==='heartbeat'){this['_shardLastHeartbeat']['set'](_0x1943f0['id'],Date['now']());this['_shardZombiePingPending']['delete'](_0x1943f0['id']);_0x1943f0['send']({'type':'heartbeat_ack','masterStartedAt':this['masterStartedAt']})['catch'](_0x4bd9eb=>{this['logger']['error']('Failed\x20to\x20send\x20heartbeat\x20ack\x20to\x20shard\x20'+_0x1943f0['id']+':\x20'+_0x4bd9eb['message']);});}if(_0x4f932c&&_0x4f932c['type']==='zombie_pong'){this['_shardZombiePingPending']['delete'](_0x1943f0['id']);this['_shardLastHeartbeat']['set'](_0x1943f0['id'],Date['now']());this['_log']['warn'](_0x1943f0['id'],'Zombie\x20ping\x20acknowledged\x20—\x20shard\x20is\x20responsive,\x20kill\x20cancelled.');this['logger']['warn']('🟢\x20Shard\x20['+_0x1943f0['id']+']\x20responded\x20to\x20zombie\x20ping\x20—\x20shard\x20is\x20alive,\x20kill\x20cancelled.');}if(_0x4f932c&&_0x4f932c['type']==='memory_pressure_restart'){this['_shardMemoryRestartFlags']['add'](_0x1943f0['id']);this['_log']['warn'](_0x1943f0['id'],'Memory\x20pressure\x20restart\x20requested\x20by\x20shard\x20—\x20graceful\x20respawn\x20incoming');this['logger']['warn']('⚠️\x20Shard\x20['+_0x1943f0['id']+']\x20requested\x20a\x20memory-pressure\x20restart.\x20Waiting\x20for\x20clean\x20exit...');this['_sendShardDeathWebhook'](_0x1943f0['id'],'Memory\x20Pressure\x20Restart\x20♻️','The\x20shard\x20detected\x20**critical\x20heap\x20usage**\x20and\x20initiated\x20a\x20**graceful\x20self-restart**\x20before\x20the\x20OS\x20could\x20OOM-kill\x20it.\x0aIt\x20will\x20be\x20respawned\x20automatically\x20—\x20no\x20action\x20needed.',0x4ba3*0x644+0x16c0c18+-0x24*0x109791);}});});setInterval(()=>{const _0x2fd405=Date['now']();for(const [_0xde42d4,_0x9a7b5d]of this['manager']['shards']){if(this['_shardCrashLoopFlags']['has'](_0xde42d4))continue;const _0x327b88=this['_shardLastHeartbeat']['get'](_0xde42d4);if(!_0x327b88)continue;const _0x52f5b4=_0x2fd405-_0x327b88;if(_0x9a7b5d['process']?.['exitCode']!==null||_0x9a7b5d['process']?.['killed']===!![])continue;if(_0x52f5b4>ShardingManager['SHARD_ZOMBIE_THRESHOLD_MS']&&!this['_shardZombiePingPending']['has'](_0xde42d4)){this['_shardZombiePingPending']['add'](_0xde42d4);this['_log']['warn'](_0xde42d4,'No\x20heartbeat\x20for\x20'+Math['round'](_0x52f5b4/(-0x22a1+0x3*0xaeb+-0x28*-0x25))+'s\x20—\x20sending\x20zombie\x20ping\x20('+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x1e67+0x1ad0+-0x354f)+'s\x20grace\x20period\x20before\x20kill).');this['logger']['warn']('🧟\x20Shard\x20['+_0xde42d4+']\x20silent\x20for\x20'+Math['round'](_0x52f5b4/(0x2690+0x2655+0x25*-0x1f9))+'s\x20—\x20pinging\x20before\x20kill\x20(grace:\x20'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x1e14+-0x1d72+-0x1a3*-0x2)+'s)...');_0x9a7b5d['send']({'type':'zombie_ping'})['catch'](()=>{this['_shardZombiePingPending']['delete'](_0xde42d4);});setTimeout(()=>{if(!this['_shardZombiePingPending']['has'](_0xde42d4))return;this['_shardZombiePingPending']['delete'](_0xde42d4);this['_shardLastHeartbeat']['delete'](_0xde42d4);const _0x536003=_0x2fd405+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']-_0x327b88;this['_log']['death'](_0xde42d4,'Zombie\x20confirmed\x20—\x20no\x20pong\x20after\x20'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(-0xaa2+-0x7*-0x3a8+-0xb0e)+'s\x20grace.\x20Sending\x20SIGKILL.');this['logger']['error']('🧟\x20Shard\x20['+_0xde42d4+']\x20ZOMBIE\x20CONFIRMED\x20—\x20silent\x20for\x20'+Math['round'](_0x536003/(0xe5a*0x1+-0xb6*-0x2e+0x107*-0x2a))+'s\x20total.\x20Sending\x20SIGKILL.');this['engine']['report']('error','Zombie\x20Shard\x20Killed:\x20'+_0xde42d4,{'shardId':_0xde42d4,'silenceMs':_0x536003});this['_sendShardDeathWebhook'](_0xde42d4,'Zombie\x20Shard\x20Killed\x20🧟','Shard\x20was\x20**pinged**\x20but\x20did\x20not\x20respond\x20within\x20**'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x9*0x3a2+-0x99d*-0x1+-0x2667)+'s**.\x0aTotal\x20silence:\x20**'+Math['round'](_0x536003/(-0x2265*-0x1+-0x181*-0x17+-0x22*0x1ea))+'s**.\x0aSending\x20SIGKILL\x20to\x20force\x20a\x20clean\x20respawn.',0x1d5faac+-0x2c0e27+-0xaa8685);this['manager']['shards']['get'](_0xde42d4)?.['process']?.['kill']('SIGKILL');},ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']);}}},(-0x7dd+-0x1baa*0x1+0x23c3)*(-0x12e*-0x20+0x10eb+-0x32c3));}async['spawn'](){this['_log']['master']('Spawning\x20Shards','Timeout:\x20'+this['timeout']/(-0x2607+-0x2669*0x1+0x5058)+'s');try{await this['manager']['spawn']({'timeout':this['timeout']});this['_log']['master']('All\x20shards\x20spawned\x20successfully\x20✨');}catch(_0x400e4e){const _0x109eb2=_0x400e4e instanceof Error?_0x400e4e:new Error(String(_0x400e4e));this['_log']['death'](-(-0x43*0xb+0x1*-0x16f1+0x19d3),'Failed\x20to\x20spawn\x20shards:\x20'+_0x109eb2['message']);this['logger']['error']('❌\x20Failed\x20to\x20spawn\x20shards:',_0x400e4e);this['engine']['report']('error','Shard\x20Spawning\x20Failed',{'message':_0x109eb2['message'],'stack':_0x109eb2['stack']});await this['engine']['flush']();process['exit'](0xf5+0x2*0x8a+-0x208);}}['_setupMasterErrorHandlers'](){process['on']('uncaughtException',async _0xf8fc3d=>{this['_log']['death'](-(0x1d*0x67+0x4*0x99e+-0x2*0x1911),'Uncaught\x20Exception:\x20'+_0xf8fc3d['message']);this['logger']['error']('‼️\x20MEMBER\x20PROCESS\x20CRASH\x20(Uncaught\x20Exception):',_0xf8fc3d);this['engine']['report']('error','Master\x20Process\x20Crash\x20(Uncaught)',{'message':_0xf8fc3d['message'],'stack':_0xf8fc3d['stack']});await this['engine']['flush']();process['exit'](0x1*0x1727+0x1b13+-0x17*0x22f);});process['on']('unhandledRejection',async _0x392d32=>{const _0x2d69a4=_0x392d32 instanceof Error?_0x392d32:new Error(String(_0x392d32));this['_log']['death'](-(0xb*-0x183+-0x11b0+0x2252),'Unhandled\x20Rejection:\x20'+_0x2d69a4['message']);this['logger']['error']('‼️\x20MASTER\x20PROCESS\x20ERROR\x20(Unhandled\x20Rejection):',_0x392d32);this['engine']['report']('error','Master\x20Process\x20Error\x20(Unhandled\x20Rejection)',{'message':_0x2d69a4['message'],'stack':_0x2d69a4['stack']});});}['_setupGracefulMasterShutdown'](){const _0x389048=async _0xad1907=>{this['manager']['respawn']=![];this['_log']['shutdown']('Received\x20'+_0xad1907,'Orchestrating\x20shard\x20cleanup...');try{const _0x3bfeee=this['manager']['broadcastEval'](async(_0x2ea080,{signalContext:_0x43085d})=>{try{if(_0x2ea080['container']?.['shutdownManager']){console['log']('[Shard]\x20Received\x20shutdown\x20signal:\x20'+_0x43085d);await _0x2ea080['container']['shutdownManager']['shutdown']('Master\x20Signal\x20('+_0x43085d+')');return!![];}return![];}catch(_0x2a3d18){console['error']('[Shard]\x20Error\x20in\x20broadcastEval\x20shutdown:',_0x2a3d18);if(_0x2ea080['container']?.['engine']){const _0x4c9353=_0x2a3d18 instanceof Error?_0x2a3d18:new Error(String(_0x2a3d18));_0x2ea080['container']['engine']['report']('error','Shard\x20Shutdown\x20BroadcastEval\x20Failed',{'message':_0x4c9353['message'],'stack':_0x4c9353['stack'],'signal':_0x43085d});}return![];}},{'context':{'signalContext':_0xad1907}});await Promise['race']([_0x3bfeee,new Promise((_0x1c51d2,_0x25184f)=>setTimeout(()=>_0x25184f(new Error('Cleanup\x20Timeout')),-0xf6dc+0xb989+-0x7*-0x1f15))]);this['_log']['shutdown']('All\x20shards\x20reported\x20clean\x20cleanup\x20✅');}catch(_0xe0684a){this['_log']['death'](-(0x1*0x100f+0x1*0x1697+-0x26a5),'Shard\x20cleanup\x20failed:\x20'+_0xe0684a['message']);this['logger']['error']('❌\x20Shard\x20cleanup\x20failed:\x20'+_0xe0684a['message']);}finally{const _0x4832e1=process['stdout']['columns']||-0xbf*-0x31+-0xd12+-0x15d*0x11;const _0x3c4d69='\x20\x20🌸\x20Kythia\x20Master\x20has\x20safely\x20exited';console['log']('');console['log'](cli_color_1['default']['bgCyanBright']['black']['bold'](_0x3c4d69+'\x20'['repeat'](Math['max'](-0x14f1+0x1*0xf3e+-0x1*-0x5b3,_0x4832e1-_0x3c4d69['length']))));console['log']('');process['exit'](0x23f9*-0x1+0x17*0xda+0x1063);}};process['once']('SIGINT',()=>_0x389048('SIGINT'));process['once']('SIGTERM',()=>_0x389048('SIGTERM'));}['getShardRestartCount'](_0x2c54e9){return this['_shardLifetimeRestarts']['get'](_0x2c54e9)??0xdb3+-0x1*0x1f9d+-0x1*-0x11ea;}['getShardStats'](){const _0xfb88fb=new Map();for(const [_0x2b9c60]of this['manager']['shards']){_0xfb88fb['set'](_0x2b9c60,{'restarts':this['_shardLifetimeRestarts']['get'](_0x2b9c60)??0x3*-0xc5+-0x26dc*0x1+-0x292b*-0x1,'inCrashLoop':this['_shardCrashLoopFlags']['has'](_0x2b9c60)});}return _0xfb88fb;}async['broadcastEval'](_0x39a8ec){return this['manager']['broadcastEval'](_0x39a8ec);}}exports['ShardingManager']=ShardingManager;
1
+ 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x59de69){return _0x59de69&&_0x59de69['__esModule']?_0x59de69:{'default':_0x59de69};};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports['ShardingManager']=void(-0x1*-0x1d19+0xebe+-0x2bd7);const discord_js_1=require('discord.js');const node_path_1=__importDefault(require('node:path'));const logger_1=__importDefault(require('../utils/logger'));const cli_color_1=__importDefault(require('cli-color'));const KythiaEngine_1=require('./KythiaEngine');const package_json_1=require('../../package.json');class ShardingManager{['manager'];['logger'];['engine'];['timeout'];['masterStartedAt']=Date['now']();['_shardDeathTimes']=new Map();['_shardCrashLoopFlags']=new Set();['_shardLifetimeRestarts']=new Map();['_shardLastHeartbeat']=new Map();['_shardMemoryRestartFlags']=new Set();['_shardZombiePingPending']=new Set();['_zombieCheckInterval']=null;static ['CRASH_LOOP_THRESHOLD']=0x404+0x61*-0x14+-0xb7*-0x5;static ['CRASH_LOOP_WINDOW_MS']=(0xed*0x17+0x8*0x148+-0x541*0x6)*(0x768*-0x4+0x362+0x1a7a)*(-0x2285+0x5*-0x5c6+0x7*0x99d);static ['CRASH_LOOP_BACKOFF_MS']=(0x10c4+-0x1025+-0x9d*0x1)*(0x3*0x55+-0x2682+-0xc95*-0x3)*(0x10b3+0x75f*0x2+-0x1b89);static ['SHARD_ZOMBIE_THRESHOLD_MS']=(0x1025*-0x1+-0x179f+0x257*0x11)*(0x5*0x85+0x202*-0x12+0x21c7)*(0x2434+-0x12dc+0x28*-0x56);static ['SHARD_ZOMBIE_PING_GRACE_MS']=(-0xb*0x217+0x1442+0x2d9)*(-0xd18+0x2055+0x9d*-0x19);['_webhookUrl'];constructor(_0x476de8){const _0x1ea952=_0x476de8['scriptPath']||node_path_1['default']['join'](process['cwd'](),'dist','index.js');this['logger']=logger_1['default'];this['timeout']=_0x476de8['timeout']||-0x21f77+0x395be*-0x1+-0x1*-0x789f5;this['_webhookUrl']=_0x476de8['webhookErrorLogs']||process.env.WEBHOOK_ERROR_LOGS||undefined;this['engine']=new KythiaEngine_1['KythiaEngine']({'botClient':{},'licenseKey':_0x476de8['licenseKey'],'botVersion':package_json_1['version'],'bootSalt':Date['now'](),'logger':this['logger'],'version':package_json_1['version'],'config':_0x476de8['config']});const _0x134bec=[];if(_0x476de8['maxOldSpaceSizeMb']){_0x134bec['push']('--max-old-space-size='+_0x476de8['maxOldSpaceSizeMb']);this['logger']['info']('🧠\x20Shard\x20heap\x20cap:\x20'+_0x476de8['maxOldSpaceSizeMb']+'\x20MB\x20(--max-old-space-size)');}else{this['logger']['warn']('⚠️\x20No\x20maxOldSpaceSizeMb\x20set.\x20Shards\x20will\x20use\x20Node\x27s\x20default\x20heap\x20limit\x20'+'(~1.5\x20GB\x20on\x20most\x20systems).\x20Consider\x20setting\x20this\x20to\x20avoid\x20OS\x20OOM\x20kills.\x20'+'Example:\x20new\x20ShardingManager({\x20maxOldSpaceSizeMb:\x20512\x20})');}this['manager']=new discord_js_1['ShardingManager'](_0x1ea952,{'token':_0x476de8['token'],'totalShards':_0x476de8['totalShards']||'auto','respawn':!![],..._0x134bec['length']>0x6a*-0x3d+0x2185+0x1*-0x843?{'shardArgs':_0x134bec}:{}});this['_setupMasterErrorHandlers']();this['_registerEvents']();this['_setupGracefulMasterShutdown']();}['_sendShardDeathWebhook'](_0x170fb4,_0x5bb783,_0x13b769,_0x10038f=-0x1eea9a2+-0x14a491a+0x437f2bc){if(!this['_webhookUrl'])return;try{const _0x2d1c80=new URL(this['_webhookUrl']);_0x2d1c80['searchParams']['append']('wait','false');const _0x3961c2={'embeds':[{'title':'[Master\x20→\x20Shard\x20'+_0x170fb4+']\x20'+_0x5bb783,'description':_0x13b769,'color':_0x10038f,'timestamp':new Date()['toISOString'](),'footer':{'text':'Kythia\x20Master\x20Process\x20·\x20v'+package_json_1['version']}}]};const _0xd1e7f7=JSON['stringify'](_0x3961c2);const _0x5c2c4e=new AbortController();setTimeout(()=>_0x5c2c4e['abort'](),-0x24f1+-0x308+0x3b81);fetch(_0x2d1c80['href'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':_0xd1e7f7,'signal':_0x5c2c4e['signal']})['catch'](_0x46fa01=>{this['logger']['warn']('⚠️\x20Failed\x20to\x20send\x20shard\x20death\x20webhook\x20for\x20Shard\x20'+_0x170fb4+':\x20'+(_0x46fa01?.['message']??_0x46fa01));});}catch(_0x5718d5){this['logger']['warn']('⚠️\x20Could\x20not\x20build\x20shard\x20death\x20webhook\x20payload:\x20'+(_0x5718d5?.['message']??_0x5718d5));}}['_log']={'launch':(shardId,msg)=>{const w=process['stdout']['columns']||0xfd+0x10e*-0x1d+-0x193*-0x13;const line='\x20\x20[🌸\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgGreen']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgGreen']['white']['bold'](line+'\x20'['repeat'](Math['max'](-0xd*-0x80+-0x1131+0xab1,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'ready':(shardId,msg)=>{const w=process['stdout']['columns']||-0x945+0xf7+0x89e;const line='\x20\x20[✅\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgCyan']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgCyan']['white']['bold'](line+'\x20'['repeat'](Math['max'](0x8e4*-0x2+-0x2c*0x6f+0x151*0x1c,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'warn':(shardId,msg)=>{const w=process['stdout']['columns']||0xd70+0x220b+-0x2f2b;const line='\x20\x20[⚠️\x20\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgYellow']['black']('\x20'['repeat'](w));const content=cli_color_1['default']['bgYellow']['black']['bold'](line+'\x20'['repeat'](Math['max'](-0x299*-0x5+0x26a0+-0x339d,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'death':(shardId,msg)=>{const w=process['stdout']['columns']||-0xb57+-0xedd+0x1a84;const line='\x20\x20[💀\x20SHARD\x20'+shardId+']\x20\x20'+msg;const blank=cli_color_1['default']['bgRed']['white']('\x20'['repeat'](w));const content=cli_color_1['default']['bgRed']['white']['bold'](line+'\x20'['repeat'](Math['max'](0x39c+0x18e*-0xa+0xbf0,w-line['length'])));console['log'](blank);console['log'](content);console['log'](blank);console['log']('');},'crashLoop':(shardId,msg,sub)=>{const w=process['stdout']['columns']||-0x1d*0xef+-0x10a7+0x3*0xeae;const pad=text=>cli_color_1['default']['bgMagenta']['white']['bold'](text+'\x20'['repeat'](Math['max'](-0x1*-0x26eb+0xd29+0xca*-0x42,w-text['length'])));const blank=cli_color_1['default']['bgMagenta']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[\x20🔁\x20CRASH\x20LOOP\x20SHARD\x20'+shardId+']'));console['log'](pad('\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');},'master':(msg,sub)=>{const w=process['stdout']['columns']||0x65*-0x47+0x2c6+0x198d;const pad=text=>cli_color_1['default']['bgBlueBright']['white']['bold'](text+'\x20'['repeat'](Math['max'](-0x1*0x1a3e+0x1faf*-0x1+0x39ed*0x1,w-text['length'])));const blank=cli_color_1['default']['bgBlueBright']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[🌸\x20MASTER]\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');},'shutdown':(msg,sub)=>{const w=process['stdout']['columns']||-0x903*0x3+-0x228f+0x3de8;const pad=text=>cli_color_1['default']['bgBlackBright']['white']['bold'](text+'\x20'['repeat'](Math['max'](0x117c+0xcb8+0x4*-0x78d,w-text['length'])));const blank=cli_color_1['default']['bgBlackBright']['white']('\x20'['repeat'](w));console['log'](blank);console['log'](pad('\x20\x20[🛑\x20SHUTDOWN]\x20\x20'+msg));if(sub)console['log'](pad('\x20\x20'+sub));console['log'](blank);console['log']('');}};['_registerEvents'](){this['manager']['on']('shardCreate',_0x33e986=>{this['_log']['launch'](_0x33e986['id'],'Launched');_0x33e986['on']('spawn',()=>{this['_shardCrashLoopFlags']['delete'](_0x33e986['id']);this['_log']['launch'](_0x33e986['id'],'Process\x20Spawned');});_0x33e986['on']('ready',()=>{this['_log']['ready'](_0x33e986['id'],'Ready\x20—\x20online\x20and\x20listening');_0x33e986['send']({'type':'master_info','masterStartedAt':this['masterStartedAt']})['catch'](()=>{});});_0x33e986['on']('error',_0x3b23bf=>{this['_log']['death'](_0x33e986['id'],'Error:\x20'+_0x3b23bf['message']);this['logger']['error']('❌\x20Shard\x20['+_0x33e986['id']+']\x20Error:',_0x3b23bf);this['_sendShardDeathWebhook'](_0x33e986['id'],'Shard\x20Error','```\x0a'+_0x3b23bf['message']+'\x0a```',0x1c*0x3de6d+-0x107946e+0x21a*0xc385);});_0x33e986['on']('disconnect',()=>{this['_log']['warn'](_0x33e986['id'],'Disconnected\x20from\x20Discord\x20gateway\x20—\x20will\x20attempt\x20reconnect');this['engine']['report']('warn','Shard\x20'+_0x33e986['id']+'\x20Disconnected',{'shardId':_0x33e986['id']});});_0x33e986['on']('reconnecting',()=>{this['_log']['warn'](_0x33e986['id'],'Reconnecting\x20to\x20Discord\x20gateway...');});_0x33e986['on']('death',_0x57e1a8=>{const _0x4bfe29=_0x57e1a8;const _0x1efc30=_0x4bfe29['exitCode']===-0x4a8*-0x4+0x9df+0x3*-0x952||_0x4bfe29['signalCode']==='SIGKILL';const _0xa52a55=this['_shardMemoryRestartFlags']['has'](_0x33e986['id']);if(_0xa52a55){this['_shardMemoryRestartFlags']['delete'](_0x33e986['id']);}const _0x4588bc=this['_shardLifetimeRestarts']['get'](_0x33e986['id'])??0xa*0x4f+0x4df*-0x1+-0x1c9*-0x1;this['_shardLifetimeRestarts']['set'](_0x33e986['id'],_0x4588bc+(-0x11*-0x15+0x2596+-0x26fa));if(_0x1efc30){this['_log']['death'](_0x33e986['id'],'OOM-KILLED\x20by\x20OS\x20(exit\x20137\x20/\x20SIGKILL)');this['logger']['error']('💥\x20Shard\x20['+_0x33e986['id']+']\x20OOM-KILLED\x20—\x20consider\x20increasing\x20server\x20memory\x20or\x20reducing\x20shard\x20count.');this['engine']['report']('error','Shard\x20'+_0x33e986['id']+'\x20OOM\x20Killed',{'shardId':_0x33e986['id'],'exitCode':_0x4bfe29['exitCode'],'signal':_0x4bfe29['signalCode']});this['_sendShardDeathWebhook'](_0x33e986['id'],'Shard\x20OOM\x20Killed\x20☠️','The\x20shard\x20process\x20was\x20**OOM-killed**\x20(exit\x20137\x20/\x20SIGKILL)\x20by\x20the\x20OS.\x0aConsider\x20increasing\x20server\x20memory\x20or\x20reducing\x20shard\x20count.',0x568f*-0x57+-0x1ab5425*0x1+0x35f8a*0xd3);}else{this['_log']['death'](_0x33e986['id'],'Died\x20—\x20exit:\x20'+(_0x4bfe29['exitCode']??'null')+'\x20|\x20signal:\x20'+(_0x4bfe29['signalCode']??'none'));this['logger']['error']('💀\x20Shard\x20['+_0x33e986['id']+']\x20DIED\x20—\x20exit\x20code:\x20'+(_0x4bfe29['exitCode']??'null')+'\x20|\x20signal:\x20'+(_0x4bfe29['signalCode']??'none'));this['engine']['report']('error','Shard\x20'+_0x33e986['id']+'\x20Died',{'shardId':_0x33e986['id'],'exitCode':_0x4bfe29['exitCode'],'signal':_0x4bfe29['signalCode']});this['_sendShardDeathWebhook'](_0x33e986['id'],'Shard\x20Died\x20💀','Exit\x20code:\x20**'+(_0x4bfe29['exitCode']??'null')+'**\x20|\x20Signal:\x20**'+(_0x4bfe29['signalCode']??'none')+'**',0x14e6f*-0x79+0x877ed5+0x11593a2);}if(_0xa52a55){this['_log']['ready'](_0x33e986['id'],'Memory-pressure\x20restart\x20complete\x20—\x20shard\x20will\x20respawn\x20normally.');return;}const _0x1b9eca=Date['now']();const _0xddd778=(this['_shardDeathTimes']['get'](_0x33e986['id'])??[])['filter'](_0xb541e1=>_0x1b9eca-_0xb541e1<ShardingManager['CRASH_LOOP_WINDOW_MS']);_0xddd778['push'](_0x1b9eca);this['_shardDeathTimes']['set'](_0x33e986['id'],_0xddd778);if(_0xddd778['length']>=ShardingManager['CRASH_LOOP_THRESHOLD']&&!this['_shardCrashLoopFlags']['has'](_0x33e986['id'])){this['_shardCrashLoopFlags']['add'](_0x33e986['id']);const _0x4656ef=ShardingManager['CRASH_LOOP_BACKOFF_MS']/(0xae4+-0x1fd9+0x18dd);this['_log']['crashLoop'](_0x33e986['id'],_0xddd778['length']+'\x20deaths\x20in\x20'+ShardingManager['CRASH_LOOP_WINDOW_MS']/(0x34b7*0x4+0x1ca82+-0x1b2fe)+'\x20min','Respawn\x20paused\x20for\x20'+_0x4656ef+'s\x20—\x20letting\x20the\x20system\x20breathe...');this['logger']['error']('🔁\x20CRASH\x20LOOP\x20on\x20Shard\x20['+_0x33e986['id']+']\x20—\x20'+_0xddd778['length']+'\x20deaths,\x20pausing\x20'+_0x4656ef+'s');this['engine']['report']('error','Crash\x20Loop:\x20Shard\x20'+_0x33e986['id'],{'shardId':_0x33e986['id'],'deathsInWindow':_0xddd778['length'],'windowMs':ShardingManager['CRASH_LOOP_WINDOW_MS']});this['_sendShardDeathWebhook'](_0x33e986['id'],'Crash\x20Loop\x20Detected\x20🔁','**'+_0xddd778['length']+'\x20deaths**\x20in\x20the\x20last\x20'+ShardingManager['CRASH_LOOP_WINDOW_MS']/(-0x4e8d+0x1*-0x8633+-0x1c*-0xff8)+'\x20minutes.\x0aRespawn\x20paused\x20for\x20**'+_0x4656ef+'s**\x20to\x20let\x20the\x20system\x20breathe.',-0x5c83c3+-0x10f0523*-0x1+-0x88061);const _0x3b2829=this['manager']['shards']['get'](_0x33e986['id']);if(_0x3b2829){this['manager']['respawn']=![];_0x3b2829['process']?.['kill']('SIGKILL');setImmediate(()=>{this['manager']['respawn']=!![];});}setTimeout(()=>{this['_shardDeathTimes']['set'](_0x33e986['id'],[]);this['_log']['ready'](_0x33e986['id'],'Crash\x20loop\x20backoff\x20lifted\x20—\x20respawning\x20shard...');this['manager']['shards']['get'](_0x33e986['id'])?.['spawn']()['catch'](_0xcfb1a4=>{this['_log']['death'](_0x33e986['id'],'Failed\x20to\x20respawn\x20after\x20backoff:\x20'+_0xcfb1a4['message']);this['logger']['error']('❌\x20Failed\x20to\x20respawn\x20Shard\x20['+_0x33e986['id']+']\x20after\x20backoff:\x20'+_0xcfb1a4['message']);});},ShardingManager['CRASH_LOOP_BACKOFF_MS']);}});_0x33e986['on']('message',_0x34af33=>{if(_0x34af33&&_0x34af33['type']==='heartbeat'){this['_shardLastHeartbeat']['set'](_0x33e986['id'],Date['now']());this['_shardZombiePingPending']['delete'](_0x33e986['id']);_0x33e986['send']({'type':'heartbeat_ack','masterStartedAt':this['masterStartedAt']})['catch'](_0x4b67c4=>{this['logger']['error']('Failed\x20to\x20send\x20heartbeat\x20ack\x20to\x20shard\x20'+_0x33e986['id']+':\x20'+_0x4b67c4['message']);});}if(_0x34af33&&_0x34af33['type']==='zombie_pong'){this['_shardZombiePingPending']['delete'](_0x33e986['id']);this['_shardLastHeartbeat']['set'](_0x33e986['id'],Date['now']());this['_log']['warn'](_0x33e986['id'],'Zombie\x20ping\x20acknowledged\x20—\x20shard\x20is\x20responsive,\x20kill\x20cancelled.');this['logger']['warn']('🟢\x20Shard\x20['+_0x33e986['id']+']\x20responded\x20to\x20zombie\x20ping\x20—\x20shard\x20is\x20alive,\x20kill\x20cancelled.');}if(_0x34af33&&_0x34af33['type']==='memory_pressure_restart'){this['_shardMemoryRestartFlags']['add'](_0x33e986['id']);this['_log']['warn'](_0x33e986['id'],'Memory\x20pressure\x20restart\x20requested\x20by\x20shard\x20—\x20graceful\x20respawn\x20incoming');this['logger']['warn']('⚠️\x20Shard\x20['+_0x33e986['id']+']\x20requested\x20a\x20memory-pressure\x20restart.\x20Waiting\x20for\x20clean\x20exit...');this['_sendShardDeathWebhook'](_0x33e986['id'],'Memory\x20Pressure\x20Restart\x20♻️','The\x20shard\x20detected\x20**critical\x20heap\x20usage**\x20and\x20initiated\x20a\x20**graceful\x20self-restart**\x20before\x20the\x20OS\x20could\x20OOM-kill\x20it.\x0aIt\x20will\x20be\x20respawned\x20automatically\x20—\x20no\x20action\x20needed.',-0x1*0x607a82+0x1d50515+-0x83e593);}});});this['_zombieCheckInterval']=setInterval(()=>{const _0x7a5bc9=Date['now']();for(const [_0x2caf18,_0x37032f]of this['manager']['shards']){if(this['_shardCrashLoopFlags']['has'](_0x2caf18))continue;const _0x4c893e=this['_shardLastHeartbeat']['get'](_0x2caf18);if(!_0x4c893e)continue;const _0x376e45=_0x7a5bc9-_0x4c893e;if(_0x37032f['process']?.['exitCode']!==null||_0x37032f['process']?.['killed']===!![])continue;if(_0x376e45>ShardingManager['SHARD_ZOMBIE_THRESHOLD_MS']&&!this['_shardZombiePingPending']['has'](_0x2caf18)){this['_shardZombiePingPending']['add'](_0x2caf18);this['_log']['warn'](_0x2caf18,'No\x20heartbeat\x20for\x20'+Math['round'](_0x376e45/(0x5ee+0x1605+-0x5*0x4cf))+'s\x20—\x20sending\x20zombie\x20ping\x20('+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x2*0xd42+-0x8a8+-0xbc*0x13)+'s\x20grace\x20period\x20before\x20kill).');this['logger']['warn']('🧟\x20Shard\x20['+_0x2caf18+']\x20silent\x20for\x20'+Math['round'](_0x376e45/(-0x139f+-0x178d+0x2f14))+'s\x20—\x20pinging\x20before\x20kill\x20(grace:\x20'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x1466+0x1*0x899+0x3*-0x85d)+'s)...');_0x37032f['send']({'type':'zombie_ping'})['catch'](()=>{this['_shardZombiePingPending']['delete'](_0x2caf18);});setTimeout(()=>{if(!this['_shardZombiePingPending']['has'](_0x2caf18))return;this['_shardZombiePingPending']['delete'](_0x2caf18);this['_shardLastHeartbeat']['delete'](_0x2caf18);const _0x5736af=_0x7a5bc9+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']-_0x4c893e;this['_log']['death'](_0x2caf18,'Zombie\x20confirmed\x20—\x20no\x20pong\x20after\x20'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(0x1*0x1c8d+0x146b+-0x2d10)+'s\x20grace.\x20Sending\x20SIGKILL.');this['logger']['error']('🧟\x20Shard\x20['+_0x2caf18+']\x20ZOMBIE\x20CONFIRMED\x20—\x20silent\x20for\x20'+Math['round'](_0x5736af/(-0x2c7+-0x18fd+-0x1fac*-0x1))+'s\x20total.\x20Sending\x20SIGKILL.');this['engine']['report']('error','Zombie\x20Shard\x20Killed:\x20'+_0x2caf18,{'shardId':_0x2caf18,'silenceMs':_0x5736af});this['_sendShardDeathWebhook'](_0x2caf18,'Zombie\x20Shard\x20Killed\x20🧟','Shard\x20was\x20**pinged**\x20but\x20did\x20not\x20respond\x20within\x20**'+ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']/(-0xcff+0x1b5d+-0xce*0xd)+'s**.\x0aTotal\x20silence:\x20**'+Math['round'](_0x5736af/(0xe57*-0x1+0x1*0x175a+-0x51b))+'s**.\x0aSending\x20SIGKILL\x20to\x20force\x20a\x20clean\x20respawn.',-0x1222385+-0x7dbb*-0x2b+0x20c6b1c);this['manager']['shards']['get'](_0x2caf18)?.['process']?.['kill']('SIGKILL');},ShardingManager['SHARD_ZOMBIE_PING_GRACE_MS']);}}},(-0x7*0x313+0x184c+-0x1f*0x15)*(0x12b7+-0x1c*0x49+0x1*-0x6d3));}async['spawn'](){this['_log']['master']('Spawning\x20Shards','Timeout:\x20'+this['timeout']/(0x12*-0x1e+-0x26e8+0xe6*0x32)+'s');try{await this['manager']['spawn']({'timeout':this['timeout']});this['_log']['master']('All\x20shards\x20spawned\x20successfully\x20✨');}catch(_0x1bb5dd){const _0x1caf8d=_0x1bb5dd instanceof Error?_0x1bb5dd:new Error(String(_0x1bb5dd));this['_log']['death'](-(-0x24fe*0x1+0x1cf4+0x80b),'Failed\x20to\x20spawn\x20shards:\x20'+_0x1caf8d['message']);this['logger']['error']('❌\x20Failed\x20to\x20spawn\x20shards:',_0x1bb5dd);this['engine']['report']('error','Shard\x20Spawning\x20Failed',{'message':_0x1caf8d['message'],'stack':_0x1caf8d['stack']});await this['engine']['flush']();process['exit'](0x3*0x4ef+0x1*-0x3d6+-0xaf6);}}['_setupMasterErrorHandlers'](){process['on']('uncaughtException',async _0xe7dc20=>{this['_log']['death'](-(-0x13*0x1bd+0x6d6+0x1a32),'Uncaught\x20Exception:\x20'+_0xe7dc20['message']);this['logger']['error']('‼️\x20MEMBER\x20PROCESS\x20CRASH\x20(Uncaught\x20Exception):',_0xe7dc20);this['engine']['report']('error','Master\x20Process\x20Crash\x20(Uncaught)',{'message':_0xe7dc20['message'],'stack':_0xe7dc20['stack']});await this['engine']['flush']();process['exit'](0x21c+0xfee+-0x1209);});process['on']('unhandledRejection',async _0x501140=>{const _0x39eb98=_0x501140 instanceof Error?_0x501140:new Error(String(_0x501140));this['_log']['death'](-(-0x1*0x2369+0x1*0x153b+0xe2f),'Unhandled\x20Rejection:\x20'+_0x39eb98['message']);this['logger']['error']('‼️\x20MASTER\x20PROCESS\x20ERROR\x20(Unhandled\x20Rejection):',_0x501140);this['engine']['report']('error','Master\x20Process\x20Error\x20(Unhandled\x20Rejection)',{'message':_0x39eb98['message'],'stack':_0x39eb98['stack']});});}['_setupGracefulMasterShutdown'](){const _0x4c5cc7=async _0x3f0f87=>{this['manager']['respawn']=![];if(this['_zombieCheckInterval']){clearInterval(this['_zombieCheckInterval']);this['_zombieCheckInterval']=null;}this['_log']['shutdown']('Received\x20'+_0x3f0f87,'Orchestrating\x20shard\x20cleanup...');try{const _0xe73b19=this['manager']['broadcastEval'](async(_0x2f1e9c,{signalContext:_0xfe6e27})=>{try{if(_0x2f1e9c['container']?.['shutdownManager']){console['log']('[Shard]\x20Received\x20shutdown\x20signal:\x20'+_0xfe6e27);await _0x2f1e9c['container']['shutdownManager']['shutdown']('Master\x20Signal\x20('+_0xfe6e27+')');return!![];}return![];}catch(_0x1da724){console['error']('[Shard]\x20Error\x20in\x20broadcastEval\x20shutdown:',_0x1da724);if(_0x2f1e9c['container']?.['engine']){const _0x3c67b1=_0x1da724 instanceof Error?_0x1da724:new Error(String(_0x1da724));_0x2f1e9c['container']['engine']['report']('error','Shard\x20Shutdown\x20BroadcastEval\x20Failed',{'message':_0x3c67b1['message'],'stack':_0x3c67b1['stack'],'signal':_0xfe6e27});}return![];}},{'context':{'signalContext':_0x3f0f87}});await Promise['race']([_0xe73b19,new Promise((_0x5fb45a,_0x22499b)=>setTimeout(()=>_0x22499b(new Error('Cleanup\x20Timeout')),0x3055+-0xed89+-0x4*-0x565d))]);this['_log']['shutdown']('All\x20shards\x20reported\x20clean\x20cleanup\x20✅');}catch(_0x3ea1a5){this['_log']['death'](-(-0x7*0x1+-0x22c1+-0x41*-0x89),'Shard\x20cleanup\x20failed:\x20'+_0x3ea1a5['message']);this['logger']['error']('❌\x20Shard\x20cleanup\x20failed:\x20'+_0x3ea1a5['message']);}finally{const _0x25114e=process['stdout']['columns']||0x1de2+0x1bfb+-0x398d;const _0x522133='\x20\x20🌸\x20Kythia\x20Master\x20has\x20safely\x20exited';console['log']('');console['log'](cli_color_1['default']['bgCyanBright']['black']['bold'](_0x522133+'\x20'['repeat'](Math['max'](-0x125c+0x578+0xa5*0x14,_0x25114e-_0x522133['length']))));console['log']('');process['exit'](-0x10da+0xd*-0x166+0x2308*0x1);}};process['once']('SIGINT',()=>_0x4c5cc7('SIGINT'));process['once']('SIGTERM',()=>_0x4c5cc7('SIGTERM'));}['getShardRestartCount'](_0x4c94d6){return this['_shardLifetimeRestarts']['get'](_0x4c94d6)??-0x166*-0x17+-0x22fe+0x2d4;}['getShardStats'](){const _0x550174=new Map();for(const [_0x32aea5]of this['manager']['shards']){_0x550174['set'](_0x32aea5,{'restarts':this['_shardLifetimeRestarts']['get'](_0x32aea5)??-0x8*0x4c7+0x56*-0x42+0x3c64,'inCrashLoop':this['_shardCrashLoopFlags']['has'](_0x32aea5)});}return _0x550174;}async['broadcastEval'](_0x2c8c62){return this['manager']['broadcastEval'](_0x2c8c62);}}exports['ShardingManager']=ShardingManager;
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingManager.js","sourceRoot":"","sources":["../../src/managers/ShardingManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShardingManager.js","sourceRoot":"","sources":["../../src/managers/ShardingManager.ts"],"names":[],"mappings":";;;;;;AAYA,2CAAmE;AACnE,0DAA6B;AAE7B,6DAAqC;AACrC,0DAA4B;AAC5B,iDAA8C;AAC9C,qDAA6C;AAE7C,MAAa,eAAe;IACpB,OAAO,CAAqB;IAC5B,MAAM,CAAe;IACrB,MAAM,CAAe;IACpB,OAAO,CAAS;IAER,eAAe,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAEpC,gBAAgB,GAA0B,IAAI,GAAG,EAAE,CAAC;IAEpD,oBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE9C,sBAAsB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAExD,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAIrD,wBAAwB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAGlD,uBAAuB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAG1D,oBAAoB,GAA0B,IAAI,CAAC;IAEnD,MAAM,CAAU,oBAAoB,GAAG,CAAC,CAAC;IAEzC,MAAM,CAAU,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAErD,MAAM,CAAU,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAGtD,MAAM,CAAU,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAG1D,MAAM,CAAU,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;IAG9C,WAAW,CAAqB;IAEjD,YAAY,OAA+B;QAC1C,MAAM,MAAM,GACX,OAAO,CAAC,UAAU,IAAI,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,gBAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;QAGzC,IAAI,CAAC,WAAW;YACf,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC;QAEzE,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAAC;YAC9B,SAAS,EAAE,EAAS;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,sBAAO;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,sBAAO;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CAAC;QAKH,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,sBAAsB,OAAO,CAAC,iBAAiB,4BAA4B,CAC3E,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,yEAAyE;gBACxE,0EAA0E;gBAC1E,0DAA0D,CAC3D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAkB,CAAC,MAAM,EAAE;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;YAC1C,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACrC,CAAC;IAKO,sBAAsB,CAC7B,OAAe,EACf,KAAa,EACb,WAAmB,EACnB,QAAgB,QAAQ;QAExB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAEzC,MAAM,OAAO,GAAG;gBACf,MAAM,EAAE;oBACP;wBACC,KAAK,EAAE,mBAAmB,OAAO,KAAK,KAAK,EAAE;wBAC7C,WAAW;wBACX,KAAK;wBACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,4BAA4B,sBAAO,EAAE,EAAE;qBACvD;iBACD;aACD,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAE3C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI;gBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,mDAAmD,OAAO,KAAK,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CACpF,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,mDAAmD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CACxE,CAAC;QACH,CAAC;IACF,CAAC;IAEO,IAAI,GAAG;QAEd,MAAM,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,eAAe,OAAO,MAAM,GAAG,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,mBAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,mBAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CACrC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,cAAc,OAAO,MAAM,GAAG,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,mBAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,mBAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACpC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,gBAAgB,OAAO,MAAM,GAAG,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,mBAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,mBAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CACtC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,eAAe,OAAO,MAAM,GAAG,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,mBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,mBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CACnC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,SAAS,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,GAAY,EAAE,EAAE;YACzD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,mBAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACvB,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACH,MAAM,KAAK,GAAG,mBAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,EAAE,CAAC,GAAW,EAAE,GAAY,EAAE,EAAE;YACrC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,mBAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACH,MAAM,KAAK,GAAG,mBAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,QAAQ,EAAE,CAAC,GAAW,EAAE,GAAY,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,mBAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;YACH,MAAM,KAAK,GAAG,mBAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;KACD,CAAC;IAEM,eAAe;QACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAEvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAEtB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;gBAE1D,KAAK;qBACH,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBACpE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAGvD,IAAI,CAAC,sBAAsB,CAC1B,KAAK,CAAC,EAAE,EACR,aAAa,EACb,WAAW,GAAG,CAAC,OAAO,UAAU,EAChC,QAAQ,CACR,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CACb,KAAK,CAAC,EAAE,EACR,4DAA4D,CAC5D,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC,EAAE,eAAe,EAAE;oBAC5D,OAAO,EAAE,KAAK,CAAC,EAAE;iBACjB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,oCAAoC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,EAAE;gBAClC,MAAM,EAAE,GAAG,YAAyD,CAAC;gBACrE,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,KAAK,GAAG,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC;gBAGrE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpE,IAAI,eAAe,EAAE,CAAC;oBACrB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAGD,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBAEpD,IAAI,SAAS,EAAE,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,uCAAuC,CAAC,CAAC;oBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,aAAa,KAAK,CAAC,EAAE,2EAA2E,CAChG,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,aAAa,EAAE;wBAC3D,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;wBACrB,MAAM,EAAE,EAAE,CAAC,UAAU;qBACrB,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAC1B,KAAK,CAAC,EAAE,EACR,qBAAqB,EACrB,kIAAkI,EAClI,QAAQ,CACR,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CACd,KAAK,CAAC,EAAE,EACR,gBAAgB,EAAE,CAAC,QAAQ,IAAI,MAAM,cAAc,EAAE,CAAC,UAAU,IAAI,MAAM,EAAE,CAC5E,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,aAAa,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC,QAAQ,IAAI,MAAM,cAAc,EAAE,CAAC,UAAU,IAAI,MAAM,EAAE,CACxG,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,OAAO,EAAE;wBACrD,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;wBACrB,MAAM,EAAE,EAAE,CAAC,UAAU;qBACrB,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAC1B,KAAK,CAAC,EAAE,EACR,eAAe,EACf,gBAAgB,EAAE,CAAC,QAAQ,IAAI,MAAM,kBAAkB,EAAE,CAAC,UAAU,IAAI,MAAM,IAAI,EAClF,QAAQ,CACR,CAAC;gBACH,CAAC;gBAID,IAAI,eAAe,EAAE,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CACd,KAAK,CAAC,EAAE,EACR,iEAAiE,CACjE,CAAC;oBACF,OAAO;gBACR,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,eAAe,CAAC,oBAAoB,CACrD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAE5C,IACC,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC,oBAAoB;oBACrD,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EACvC,CAAC;oBACF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACxC,MAAM,UAAU,GAAG,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAEhE,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,KAAK,CAAC,EAAE,EACR,GAAG,MAAM,CAAC,MAAM,cAAc,eAAe,CAAC,oBAAoB,GAAG,KAAK,MAAM,EAChF,sBAAsB,UAAU,mCAAmC,CACnE,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,2BAA2B,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,MAAM,oBAAoB,UAAU,GAAG,CACxF,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,KAAK,CAAC,EAAE,EAAE,EAAE;wBAC5D,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,cAAc,EAAE,MAAM,CAAC,MAAM;wBAC7B,QAAQ,EAAE,eAAe,CAAC,oBAAoB;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAC1B,KAAK,CAAC,EAAE,EACR,wBAAwB,EACxB,KAAK,MAAM,CAAC,MAAM,yBAAyB,eAAe,CAAC,oBAAoB,GAAG,KAAK,mCAAmC,UAAU,gCAAgC,EACpK,QAAQ,CACR,CAAC;oBAQF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnD,IAAI,QAAQ,EAAE,CAAC;wBAId,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAClC,YAAY,CAAC,GAAG,EAAE;4BAEjB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC7B,CAAC,CAAC,CAAC;oBACJ,CAAC;oBAED,UAAU,CAAC,GAAG,EAAE;wBAEf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CACd,KAAK,CAAC,EAAE,EACR,iDAAiD,CACjD,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,MAAM;6BACjB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACd,EAAE,KAAK,EAAE;6BACR,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;4BACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CACd,KAAK,CAAC,EAAE,EACR,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAC/C,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8BAA8B,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,OAAO,EAAE,CACrE,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;gBACpC,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAE7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAEnD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9C,KAAK;yBACH,IAAI,CAAC;wBACL,IAAI,EAAE,eAAe;wBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;wBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,yCAAyC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CACjE,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAID,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC/C,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAG9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CACb,KAAK,CAAC,EAAE,EACR,iEAAiE,CACjE,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,aAAa,KAAK,CAAC,EAAE,8DAA8D,CACnF,CAAC;gBACH,CAAC;gBAKD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAE3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CACb,KAAK,CAAC,EAAE,EACR,wEAAwE,CACxE,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,aAAa,KAAK,CAAC,EAAE,kEAAkE,CACvF,CAAC;oBACF,IAAI,CAAC,sBAAsB,CAC1B,KAAK,CAAC,EAAE,EACR,4BAA4B,EAC5B,+KAA+K,EAC/K,QAAQ,CACR,CAAC;gBACH,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAaH,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEpD,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEvD,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,MAAM,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;gBAK/B,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;oBACrE,SAAS;gBAGV,IACC,OAAO,GAAG,eAAe,CAAC,yBAAyB;oBACnD,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,EACzC,CAAC;oBACF,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CACb,OAAO,EACP,oBAAoB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,4BAA4B,eAAe,CAAC,0BAA0B,GAAG,IAAI,8BAA8B,CACzJ,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,aAAa,OAAO,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,mCAAmC,eAAe,CAAC,0BAA0B,GAAG,IAAI,OAAO,CACzJ,CAAC;oBAGF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAG9C,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBAGH,UAAU,CAAC,GAAG,EAAE;wBAEf,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;4BAAE,OAAO;wBAEvD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC7C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAEzC,MAAM,YAAY,GACjB,GAAG,GAAG,eAAe,CAAC,0BAA0B,GAAG,QAAQ,CAAC;wBAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CACd,OAAO,EACP,oCAAoC,eAAe,CAAC,0BAA0B,GAAG,IAAI,2BAA2B,CAChH,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,aAAa,OAAO,mCAAmC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,2BAA2B,CACjH,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,OAAO,EAAE,EAAE;4BAC9D,OAAO;4BACP,SAAS,EAAE,YAAY;yBACvB,CAAC,CAAC;wBACH,IAAI,CAAC,sBAAsB,CAC1B,OAAO,EACP,wBAAwB,EACxB,qDAAqD,eAAe,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,iDAAiD,EAChN,QAAQ,CACR,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5D,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC;QACF,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;QAExE,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,EAAE;gBACpD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAEO,yBAAyB;QAChC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,iCAAiC,EAAE;gBAC9D,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GACV,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,gDAAgD,EAChD,MAAM,CACN,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,MAAM,CACjB,OAAO,EACP,4CAA4C,EAC5C;gBACC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aAClB,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,4BAA4B;QACnC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAI7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CACjB,YAAY,MAAM,EAAE,EACpB,gCAAgC,CAChC,CAAC;YAEF,IAAI,CAAC;gBACJ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAChD,KAAK,EAAE,MAAW,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;oBACxC,IAAI,CAAC;wBACJ,IAAI,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;4BACvC,OAAO,CAAC,GAAG,CACV,qCAAqC,aAAa,EAAE,CACpD,CAAC;4BACF,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAC9C,kBAAkB,aAAa,GAAG,CAClC,CAAC;4BACF,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,OAAO,KAAK,CAAC;oBACd,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;wBAC7D,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;4BAC9B,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAC7B,OAAO,EACP,qCAAqC,EACrC;gCACC,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gCAChB,MAAM,EAAE,aAAa;6BACrB,CACD,CAAC;wBACH,CAAC;wBACD,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC,EACD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CACtC,CAAC;gBAEF,MAAM,OAAO,CAAC,IAAI,CAAC;oBAClB,cAAc;oBACd,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACzB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAC7D;iBACD,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,sCAAsC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CACV,mBAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/C,CACD,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAOM,oBAAoB,CAAC,OAAe;QAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IASM,aAAa;QAInB,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;QACJ,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAClD,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,EAAO;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;;AArtBF,0CAstBC"}
@@ -30,6 +30,7 @@ export declare class ShutdownManager implements IShutdownManager {
30
30
  disableRecursively(components: any[]): any[];
31
31
  initializeShutdownCollectors(): void;
32
32
  initialize(): void;
33
+ private _startCollectorPrune;
33
34
  private _attachExitLogger;
34
35
  sendStartupWebhook(): Promise<void>;
35
36
  private _startMasterHeartbeat;
@@ -1 +1 @@
1
- {"version":3,"file":"ShutdownManager.d.ts","sourceRoot":"","sources":["../../src/managers/ShutdownManager.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,MAAM,UAAU,CAAC;AAOlB,qBAAa,eAAgB,YAAW,gBAAgB;IACvD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,6BAA6B,CAAe;IACpD,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gBAAgB,CAAa;IAK9B,eAAe,IAAI,MAAM;IAchC,IAAW,eAAe,IAAI,MAAM,CAEnC;IAYD,OAAO,CAAC,mBAAmB;IAuF3B,SAAS,CAAC,aAAa,IAAI;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;gBAS1C,EACX,MAAM,EACN,SAAS,GACT,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE;IAkBvD,OAAO,CAAC,WAAW;YAkEL,qBAAqB;IA4ItB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAUtC,YAAY;IAkH1B,+BAA+B,IAAI,IAAI;IA4CvC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAkB5C,4BAA4B,IAAI,IAAI;IAiKpC,UAAU,IAAI,IAAI;IAelB,OAAO,CAAC,iBAAiB;IAgBZ,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhD,OAAO,CAAC,qBAAqB;IAmE7B,uBAAuB,IAAI,MAAM;IAQjC,wBAAwB,IAAI,MAAM;IASlC,YAAY,IAAI,IAAI;CAQpB"}
1
+ {"version":3,"file":"ShutdownManager.d.ts","sourceRoot":"","sources":["../../src/managers/ShutdownManager.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,MAAM,UAAU,CAAC;AAOlB,qBAAa,eAAgB,YAAW,gBAAgB;IACvD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,6BAA6B,CAAe;IACpD,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gBAAgB,CAAa;IAK9B,eAAe,IAAI,MAAM;IAchC,IAAW,eAAe,IAAI,MAAM,CAEnC;IAYD,OAAO,CAAC,mBAAmB;IAuF3B,SAAS,CAAC,aAAa,IAAI;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;gBAS1C,EACX,MAAM,EACN,SAAS,GACT,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE;IAkBvD,OAAO,CAAC,WAAW;YAkEL,qBAAqB;IA4ItB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAUtC,YAAY;IA2H1B,+BAA+B,IAAI,IAAI;IA4CvC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAkB5C,4BAA4B,IAAI,IAAI;IAiKpC,UAAU,IAAI,IAAI;IAsBlB,OAAO,CAAC,oBAAoB;IA8C5B,OAAO,CAAC,iBAAiB;IAgBZ,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhD,OAAO,CAAC,qBAAqB;IAmE7B,uBAAuB,IAAI,MAAM;IAQjC,wBAAwB,IAAI,MAAM;IASlC,YAAY,IAAI,IAAI;CAQpB"}
@@ -1 +1 @@
1
- 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x48b6bf){return _0x48b6bf&&_0x48b6bf['__esModule']?_0x48b6bf:{'default':_0x48b6bf};};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports['ShutdownManager']=void(-0xa4f+-0xc81+0x16d*0x10);const async_exit_hook_1=__importDefault(require('async-exit-hook'));const discord_js_1=require('discord.js');const node_fs_1=__importDefault(require('node:fs'));const node_path_1=__importDefault(require('node:path'));const package_json_1=__importDefault(require('../../package.json'));const node_cron_1=__importDefault(require('node-cron'));const cli_color_1=__importDefault(require('cli-color'));class ShutdownManager{['client'];['container'];['logger'];['_activeIntervals'];['_messagesWithActiveCollectors'];['_collectorPatched'];['_cleanupAttached'];['_isShuttingDown']=![];['_shutdownPromise']=null;['_heartbeatInterval'];['_lastHeartbeatAck'];['_masterStartedAt']=0x10f*-0x5+-0xf39+0xca*0x1a;['getMasterUptime'](){const _0x5dbb7e=this['_masterStartedAt']?Math['floor']((Date['now']()-this['_masterStartedAt'])/(0x20a1+0x1a9d+-0x3756*0x1)):Math['floor'](process['uptime']());const _0x2091ed=Math['floor'](_0x5dbb7e/(-0x1*0xa9df+0x80bf*0x1+0xe90*0x1a));const _0x53bbba=Math['floor'](_0x5dbb7e%(0x16*0xe42+0x159af+-0x9*0x23c3)/(0x40+-0x1f09+-0xef3*-0x3));const _0x2542f=Math['floor'](_0x5dbb7e%(-0x1318+-0x1eea+0x4012)/(-0xfd0+-0x1fcf+0x2fdb));const _0x291d3a=_0x5dbb7e%(-0x752*-0x2+0xc6a+0xd69*-0x2);return[_0x2091ed?_0x2091ed+'d':'',_0x53bbba?_0x53bbba+'h':'',_0x2542f?_0x2542f+'m':'',_0x291d3a+'s']['filter'](Boolean)['join']('\x20');}get['masterStartedAt'](){return this['_masterStartedAt'];}['_startMemoryMonitor'](){const _0x23c2db=-0x8*0x2bc+-0x1f7e+0x1fa*0x1b+0.8;const _0x41896b=0x69a+0x10*0x175+0xe*-0x223+0.95;const _0x1f644d=(-0x1060*0x2+-0x1537+0x35fc)*(0x12*-0x51+0x1*-0x181c+-0x602*-0x5)*(-0x1*0xd71+0xec*0x4+0xda9);const _0xb1a502=this['client']['shard']?.['ids'][-0x1f9+-0x118+0x311]??'MAIN';const _0xb19120=setInterval(()=>{try{const {heapUsed:_0x281ca6,rss:_0x14b8f9}=process['memoryUsage']();const {heap_size_limit:_0x34b86f}=this['_getHeapStats']();const _0x2d21f2=_0x281ca6/_0x34b86f;const _0x1f2d1f=(_0x281ca6/(0xbf*-0x13+-0x1*0x1dc2+0x2fef)/(-0x100*0x13+-0x301*-0x1+0x1*0x13ff))['toFixed'](0x13d*0x10+0x175b+-0x2b2a);const _0x26ddc0=(_0x34b86f/(-0x24f7+0x1*-0xfa7+0x389e)/(-0x13d9*0x1+-0xd*0x92+0x1f43))['toFixed'](-0xd53*-0x2+0x1bc5*0x1+-0x366b*0x1);const _0xb0eee1=(_0x14b8f9/(0x351+-0x1*-0x30c+-0x5*0x79)/(-0x14b1+0x5*0x22a+0x35*0x43))['toFixed'](0x1*0x8ab+-0x19*-0x4f+0x1*-0x1061);const _0x5447db=(_0x2d21f2*(0x19*0xf2+-0x1f03+0x7c5))['toFixed'](-0xec0+-0xf8*0x1b+-0xda3*-0x3);if(_0x2d21f2>=_0x41896b){this['logger']['error']('🔴\x20[Shard\x20'+_0xb1a502+']\x20CRITICAL\x20Memory:\x20'+_0x1f2d1f+'/'+_0x26ddc0+'\x20MB\x20('+_0x5447db+'%)\x20|\x20RSS:\x20'+_0xb0eee1+'\x20MB\x20—\x20requesting\x20graceful\x20restart\x20before\x20OOM!');this['container']['engine']?.['report']('error','Critical\x20Memory\x20Pressure\x20(Shard\x20'+_0xb1a502+')',{'heapUsedMB':_0x1f2d1f,'heapLimitMB':_0x26ddc0,'rssMB':_0xb0eee1,'pct':_0x5447db});if(!this['_isShuttingDown']){Promise['race']([this['_sendLifecycleWebhook']('Critical\x20Memory\x20Pressure\x20—\x20'+_0x1f2d1f+'/'+_0x26ddc0+'\x20MB\x20heap\x20('+_0x5447db+'%)\x20|\x20RSS:\x20'+_0xb0eee1+'\x20MB','CRASH'),new Promise(_0x13f34b=>setTimeout(_0x13f34b,0x6a8+-0x1059+0x1951*0x1))])['finally'](()=>{if(!this['_isShuttingDown']){if(process['send']){process['send']({'type':'memory_pressure_restart','shardId':_0xb1a502});}this['shutdown']('Critical\x20Memory\x20Pressure\x20('+_0x5447db+'%\x20of\x20'+_0x26ddc0+'\x20MB)');}});}}else if(_0x2d21f2>=_0x23c2db){this['logger']['warn']('🟡\x20[Shard\x20'+_0xb1a502+']\x20High\x20Memory:\x20'+_0x1f2d1f+'/'+_0x26ddc0+'\x20MB\x20('+_0x5447db+'%)\x20|\x20RSS:\x20'+_0xb0eee1+'\x20MB');this['container']['engine']?.['report']('warn','High\x20Memory\x20Pressure\x20(Shard\x20'+_0xb1a502+')',{'heapUsedMB':_0x1f2d1f,'heapLimitMB':_0x26ddc0,'rssMB':_0xb0eee1,'pct':_0x5447db});if(typeof global['gc']==='function'){try{global['gc']();this['logger']['info']('♻️\x20[Shard\x20'+_0xb1a502+']\x20Forced\x20GC\x20cycle\x20at\x20'+_0x5447db+'%\x20heap\x20usage.');}catch(_0xbcd7bc){}}}}catch(_0x170357){}},_0x1f644d);if(this['_activeIntervals']){this['_activeIntervals']['add'](_0xb19120);}}['_getHeapStats'](){return require('node:v8')['getHeapStatistics']();}constructor({client:_0x3c2b8d,container:_0x20efcc}){this['client']=_0x3c2b8d;this['container']=_0x20efcc;this['_activeIntervals']=new Set();this['_messagesWithActiveCollectors']=new Set();this['_collectorPatched']=![];this['_cleanupAttached']=![];this['_isShuttingDown']=![];this['_heartbeatInterval']=null;this['_lastHeartbeatAck']=0x1421+0xc3*-0x8+0xe09*-0x1;this['logger']=this['container']['logger'];}['_logHistory'](_0x376841,_0x30f9ab,_0x2d23da){try{const _0x4acb81=this['client']['shard']?.['ids'][-0x26*0xea+-0x549+-0x1*-0x2805];const _0xf5e0c2=new Date()['toISOString']()['substring'](-0x3a*0x74+0x11a3+0x8a5*0x1,0x6d*0x45+-0x334*-0x2+-0x23c2);const _0x3ef814=_0x4acb81!==undefined?'shutdown_history_shard_'+_0x4acb81+'_'+_0xf5e0c2+'.log':'shutdown_history_'+_0xf5e0c2+'.log';const _0x3d5414=node_path_1['default']['join'](process['cwd'](),'logs',_0x3ef814);const _0x271d06=new Date()['toISOString']()['replace']('T','\x20')['split']('.')[-0xef7*0x1+0x23d5*0x1+-0x14de];const _0x143ef1=process['uptime']();const _0x57d159=Math['floor'](_0x143ef1/((0x11f9+-0x2308+0x1f1f*0x1)*(-0x210b+0x38*0x5c+0xd03)));const _0x9d6576=Math['floor'](_0x143ef1%((-0x3*-0x407+-0x36*0x8+0x3ab)*(-0x1ded*-0x1+0x2*0xa3+0x1f1b*-0x1))/(0xf*0x125+-0x22*0x25+0x1cf*0x1));const _0x4f9a53=Math['floor'](_0x143ef1%(0x8e4+0x182+-0x3aa*-0x1)/(-0x261e+-0xcfd*-0x1+0x195d));const _0x27e0aa=Math['floor'](_0x143ef1%(0x13b7+0x19e2+-0x2d5d));const _0x4bc947=_0x57d159+'d\x20'+_0x9d6576+'h\x20'+_0x4f9a53+'m\x20'+_0x27e0aa+'s';const _0x190f0e=process['memoryUsage']();const _0x4608da=(_0x190f0e['heapUsed']/(-0x1abb+-0x2ab*-0x9+-0x4*-0x1ae)/(-0x74b+-0x51*-0x25+-0x6a*0x1))['toFixed'](-0x37d*-0xb+-0x210e+-0x54f);const _0x281482=(_0x190f0e['rss']/(0x219d+0x244f+0x1*-0x41ec)/(-0x1d*-0xd+0x4*0x3b6+-0xc51))['toFixed'](0x3ad*-0x5+0x2*-0xf19+-0x1*-0x3095);let _0x314619='['+_0x271d06+']\x20'+(_0x376841==='STARTUP'?'🟢':'🔴')+'\x20'+_0x376841+'\x0a';_0x314619+='----------------------------------------\x0a';_0x314619+='Reason:\x20\x20'+_0x30f9ab+'\x0a';if(_0x376841!=='STARTUP'){_0x314619+='Uptime:\x20\x20'+_0x4bc947+'\x0a';}_0x314619+='Memory:\x20\x20Heap:\x20'+_0x4608da+'MB\x20/\x20RSS:\x20'+_0x281482+'MB\x0a';if(_0x2d23da){_0x314619+='Error:\x20\x20\x20'+_0x2d23da['message']+'\x0a';_0x314619+='Stack\x20Trace:\x0a'+_0x2d23da['stack']+'\x0a';}_0x314619+='----------------------------------------\x0a\x0a';node_fs_1['default']['appendFileSync'](_0x3d5414,_0x314619);}catch(_0x4304f6){console['error']('Failed\x20to\x20write\x20to\x20shutdown\x20history\x20log:',_0x4304f6);if(this['container']['engine']){const _0x486ab7=_0x4304f6 instanceof Error?_0x4304f6:new Error(String(_0x4304f6));this['container']['engine']['report']('error','Shutdown\x20History\x20Log\x20Write\x20Failed',{'message':_0x486ab7['message'],'stack':_0x486ab7['stack']});}}}async['_sendLifecycleWebhook'](_0x2fe6ad,_0x574474,_0x9bc095){const _0x523077=this['container']['kythiaConfig']['api']?.['webhookErrorLogs']||(this['container']['kythiaConfig']['settings']?.['webhookErrorLogs']===!![]?process.env.WEBHOOK_ERROR_LOGS:undefined);if(!_0x523077){this['logger']['warn']('⚠️\x20Lifecycle\x20Webhook\x20skipped:\x20No\x20URL\x20configured\x20in\x20api.webhookErrorLogs\x20or\x20env.WEBHOOK_ERROR_LOGS');return;}const _0x2eae40=new URL(_0x523077);_0x2eae40['searchParams']['append']('wait','true');_0x2eae40['searchParams']['append']('with_components','true');try{const _0x1526c2=_0x574474==='CRASH'?0xb43395+-0x16ff7*0xa7+0x167d0a*0xe:_0x574474==='STARTUP'?0x1175b2+-0x3ab720+0x8133f5:-0x1*-0x8cd58d+0xc23c20+0x2481*-0x22d;const _0x400788=this['client']['shard']?.['ids'][0x5e4+0xa1c*0x1+-0x1000];const _0x56ceef=_0x400788!==undefined?'[Shard\x20'+_0x400788+']\x20':'';const _0x45c895=_0x574474==='CRASH'?'❌\x20'+_0x56ceef+'Critical\x20System\x20Crash:\x20'+_0x2fe6ad:_0x574474==='STARTUP'?'🟢\x20'+_0x56ceef+'Bot\x20Online:\x20'+_0x2fe6ad:'🛑\x20'+_0x56ceef+'System\x20Shutdown:\x20'+_0x2fe6ad;const _0x3e17b8=_0x574474==='STARTUP'?['**Tag:**\x20'+(this['container']['client']['user']?.['tag']??'Unknown'),'**Guilds:**\x20'+(this['container']['client']['guilds']?.['cache']['size']??'—'),'**Version:**\x20'+package_json_1['default']['version']]['join']('\x0a'):_0x9bc095?''+_0x9bc095['message']:'Graceful\x20shutdown\x20initiated.';const _0x166a1d=new discord_js_1['ContainerBuilder']()['setAccentColor'](_0x1526c2)['addSectionComponents'](new discord_js_1['SectionBuilder']()['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent']('##\x20'+_0x45c895+'\x0a'+_0x3e17b8))['setThumbnailAccessory'](new discord_js_1['ThumbnailBuilder']()['setURL'](this['container']['client']['user']?.['displayAvatarURL']()||this['container']['kythiaConfig']['settings']?.['aboutBannerImage']||'https://cdn.discordapp.com/embed/avatars/0.png')['setDescription']('System\x20Status')))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]));if(_0x574474!=='STARTUP'){const _0x433c1b=_0x9bc095?'```ts\x0a'+(_0x9bc095['stack']?_0x9bc095['stack']['slice'](-0x3a*-0x9a+-0x8f9+-0x19eb,-0x1730+0x1fb4+0x4*0x14a):'No\x20Stack\x20Trace')+'```':'```ts\x0aNo\x20Stack\x20Trace```';_0x166a1d['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent']('\x0a'+_0x433c1b))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]));}_0x166a1d['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](_0x574474==='STARTUP'?'-#\x20Kythia\x20Core:\x20'+package_json_1['default']['version']:'-#\x20Kythia\x20Core:\x20'+package_json_1['default']['version']+'\x20|\x20Master\x20Uptime:\x20'+this['getMasterUptime']()));const _0x5e4154=_0x166a1d;const _0x4ddf3d={'flags':discord_js_1['MessageFlags']['IsComponentsV2'],'components':[_0x5e4154['toJSON']()]};const _0x22c817=new AbortController();const _0x79c980=setTimeout(()=>_0x22c817['abort'](),-0x33*-0x35+0x1d*0x4d+0x40*0x1);const _0x4d6608=await fetch(_0x2eae40['href'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x4ddf3d),'signal':_0x22c817['signal']});clearTimeout(_0x79c980);if(!_0x4d6608['ok']){const _0x7ee5d4=await _0x4d6608['text']();this['logger']['error']('❌\x20Lifecycle\x20Webhook\x20Failed:\x20['+_0x4d6608['status']+']\x20'+_0x4d6608['statusText']+'\x0aResponse:\x20'+_0x7ee5d4);}else{this['logger']['info']('✅\x20Lifecycle\x20Webhook\x20sent\x20successfully.');}}catch(_0x22ea0a){this['logger']['error']('❌\x20Failed\x20to\x20construct/send\x20Lifecycle\x20Webhook:',_0x22ea0a);if(this['container']['engine']){const _0x906c8e=_0x22ea0a instanceof Error?_0x22ea0a:new Error(String(_0x22ea0a));this['container']['engine']['report']('error','Lifecycle\x20Webhook\x20Failed',{'message':_0x906c8e['message'],'stack':_0x906c8e['stack']});}}}async['shutdown'](_0x3307eb){if(this['_shutdownPromise'])return this['_shutdownPromise'];this['_isShuttingDown']=!![];this['_shutdownPromise']=this['_runShutdown'](_0x3307eb);return this['_shutdownPromise'];}async['_runShutdown'](_0x2327fd){this['logger']['info']('🛑\x20Graceful\x20shutdown\x20initiated:\x20'+_0x2327fd);this['_logHistory']('SHUTDOWN',_0x2327fd);await this['_sendLifecycleWebhook'](_0x2327fd,'SHUTDOWN');const _0x53a532=node_cron_1['default']['getTasks']();if(_0x53a532['size']>0xb2e+0xa6d+-0x159b){this['logger']['info']('🛑\x20Stopping\x20'+_0x53a532['size']+'\x20background\x20cron\x20tasks...');_0x53a532['forEach'](_0x5cdc02=>{_0x5cdc02['stop']();});}const _0x4cf998=this['_activeIntervals']['size'];if(_0x4cf998>0x1*0xba3+0x23c8+-0x2f6b){this['logger']['info']('🛑\x20Halting\x20'+_0x4cf998+'\x20active\x20global\x20intervals...');for(const _0x5c75d0 of this['_activeIntervals']){clearInterval(_0x5c75d0);}this['_activeIntervals']['clear']();}else{this['logger']['debug']('ℹ️\x20No\x20active\x20intervals\x20to\x20halt.');}const _0x3a85b8=this['_messagesWithActiveCollectors'];if(_0x3a85b8&&_0x3a85b8['size']>-0x1af1+0xd83+0xd6e){this['logger']['info']('🛑\x20Disabling\x20components\x20on\x20'+_0x3a85b8['size']+'\x20messages.');const _0xf984f3=[];for(const _0x1e9ca7 of _0x3a85b8){if(!_0x1e9ca7['editable']||!_0x1e9ca7['components']||_0x1e9ca7['components']['length']===-0x13f7+0x14db+0x39*-0x4)continue;try{const _0x578228=_0x1e9ca7['components']['map'](_0x1729a7=>_0x1729a7['toJSON']());const _0x20c702=this['disableRecursively'](_0x578228);_0xf984f3['push'](_0x1e9ca7['edit']({'components':_0x20c702})['then'](()=>this['logger']['info']('✅\x20Disabled\x20components\x20for\x20message:\x20'+_0x1e9ca7['id']))['catch'](_0x4b6412=>this['logger']['error']('❌\x20Failed\x20to\x20edit\x20message\x20'+_0x1e9ca7['id']+':\x20'+_0x4b6412['message'])));}catch(_0xd9d493){const _0x19ab4e=_0xd9d493 instanceof Error?_0xd9d493:new Error(String(_0xd9d493));this['logger']['error'](_0x19ab4e);this['container']['engine']?.['report']('error','Component\x20Cleanup\x20Failed',{'message':_0x19ab4e['message'],'stack':_0x19ab4e['stack']});}}await Promise['race']([Promise['allSettled'](_0xf984f3),new Promise(_0x54db9d=>setTimeout(_0x54db9d,-0x16f2+0x1cda+0xda0))]);this['logger']['info']('✅\x20Component\x20cleanup\x20finished\x20(or\x20timed\x20out).');}else{this['logger']['debug']('ℹ️\x20No\x20active\x20collectors/messages\x20to\x20disable.');}this['logger']['info']('✅\x20Component\x20cleanup\x20complete.');return new Promise(_0x4bb84d=>{this['logger']['info']('🚰\x20Flushing\x20logs...');const _0x35f927=this['container']['client']['shard']?.['ids'][-0x279*0x3+-0x236d+0xc*0x392]??'MAIN';let _0x25eaed=![];const _0x23d10a=()=>{if(_0x25eaed)return;_0x25eaed=!![];console['log'](cli_color_1['default']['cyanBright']('[SHARD\x20'+_0x35f927+']\x20⏳\x20Logger\x20has\x20flushed.\x20Shard\x20cleanup\x20finished.'));_0x4bb84d();setTimeout(()=>{if(process.env.NODE_ENV!=='test'){process['exit'](-0x1*0xf67+0x1a77+-0xb10);}},-0x228*0x4+-0x3b4+0xd1c);};this['logger']['on']('finish',_0x23d10a);this['logger']['end']();setTimeout(_0x23d10a,0x2*-0xdb4+0x2342+0x7c6);});}['initializeGlobalIntervalTracker'](){try{if(!this['_activeIntervals'])this['_activeIntervals']=new Set();const _0xf601c5=global['setInterval'];const _0x1516f7=global['clearInterval'];global['setInterval']=(_0x1d8d62,_0x4735b3,..._0x3cd41e)=>{const _0x1f95d7=_0xf601c5(_0x1d8d62,_0x4735b3,..._0x3cd41e);this['_activeIntervals']['add'](_0x1f95d7);return _0x1f95d7;};global['clearInterval']=_0x548d8c=>{if(_0x548d8c){_0x1516f7(_0x548d8c);this['_activeIntervals']['delete'](_0x548d8c);}};this['logger']['info']('✅\x20Global\x20setInterval/clearInterval\x20has\x20been\x20patched\x20for\x20tracking.');}catch(_0x367ef6){const _0x30b5ac=_0x367ef6 instanceof Error?_0x367ef6:new Error(String(_0x367ef6));this['logger']['error']('Failed\x20to\x20initialize\x20global\x20interval\x20tracker:',_0x30b5ac);this['container']['engine']?.['report']('error','Global\x20Interval\x20Tracker\x20Initialization\x20Failed',{'message':_0x30b5ac['message'],'stack':_0x30b5ac['stack']});}}['disableRecursively'](_0x261465){return _0x261465['map'](_0x4ae0e2=>{if(_0x4ae0e2['components']&&Array['isArray'](_0x4ae0e2['components'])){_0x4ae0e2['components']=this['disableRecursively'](_0x4ae0e2['components']);}if(_0x4ae0e2['type']===-0x336+0x13*0x6b+-0x27*0x1f||_0x4ae0e2['type']===-0x1*0x197b+0x643+0x669*0x3||_0x4ae0e2['type']>=-0x1*-0x1f6+-0x242f*-0x1+-0x2620){return{..._0x4ae0e2,'disabled':!![]};}return _0x4ae0e2;});}['initializeShutdownCollectors'](){try{if(!this['_messagesWithActiveCollectors'])this['_messagesWithActiveCollectors']=new Set();if(!this['_collectorPatched']){const _0x54cf7a=require('discord.js')['Message'];const _0x5c2639=_0x54cf7a['prototype']['createMessageComponentCollector'];const _0x1641b5=this;_0x54cf7a['prototype']['createMessageComponentCollector']=function(..._0x164810){let _0x50bf40=_0x164810[0x35*0x97+0xd1+0x2*-0x100a];if(!_0x50bf40)_0x50bf40={};if(_0x50bf40['unsafe']===!![]){_0x1641b5['logger']['info']('⚠️\x20Unsafe\x20collector\x20started\x20(Bypassed\x20Safety\x20Checks).\x20Channel:\x20'+this['channelId']);}else if(!_0x50bf40['time']&&!_0x50bf40['idle']){_0x50bf40['time']=(0x12c0+-0x5*-0x5e1+-0x3016)*(-0x24e1+-0x1285+0x1bd1*0x2)*(0xe6b*-0x1+0x1baf+-0x2*0x4ae);_0x1641b5['logger']['warn']('⚠️\x20Unsafe\x20Collector\x20Detected!\x20No\x20timeout\x20specified.\x20Auto-applying\x2015m\x20safety\x20limit.\x0a'+('\x20\x20\x20Channel:\x20'+this['channelId']+'\x20|\x20Author:\x20'+this['author']['id']));}_0x164810[-0x1ebe+-0x1*0xe52+0x4*0xb44]=_0x50bf40;const _0x528024=_0x5c2639['apply'](this,_0x164810);if(_0x1641b5['_messagesWithActiveCollectors']){_0x1641b5['_messagesWithActiveCollectors']['add'](this);}_0x528024['once']('end',()=>{if(_0x1641b5['_messagesWithActiveCollectors']){_0x1641b5['_messagesWithActiveCollectors']['delete'](this);}});return _0x528024;};this['_collectorPatched']=!![];this['logger']['info']('✅\x20Corrected\x20collector-based\x20component\x20tracking\x20has\x20been\x20patched.');}if(!this['_cleanupAttached']){if(!this['client']['shard']){(0xdc2*-0x1+0x20cd+-0x130b,async_exit_hook_1['default'])(async()=>{await this['shutdown']('Graceful\x20Exit\x20(Local\x20SIGINT)');});}else{let _0x5e00a3=0x1*-0xc17+0xf91*-0x1+0x1ba8;const _0x8f5a8=_0x468f58=>{const _0x4aacbb=Date['now']();if(_0x4aacbb-_0x5e00a3<0x43*-0x61+0x3*-0x827+0x4560){console['log']('[Shard\x20'+(this['client']['shard']?.['ids'][-0xa39*0x1+0x3*-0x7a2+0x211f*0x1]??'?')+']\x20🛑\x20Force\x20Exiting\x20via\x20Double\x20'+_0x468f58+'...');process['exit'](-0x14fe+-0x1*0x430+0xc97*0x2);}_0x5e00a3=_0x4aacbb;console['log']('[Shard\x20'+(this['client']['shard']?.['ids'][0x1470+-0x2*-0xca4+-0xb6e*0x4]??'?')+']\x20Ignored\x20local\x20'+_0x468f58+'.\x20Waiting\x20for\x20Master\x20instruction...\x20(Repeat\x20'+_0x468f58+'\x20within\x205s\x20to\x20force\x20shutdown)');};process['on']('SIGINT',()=>_0x8f5a8('SIGINT'));process['on']('SIGTERM',()=>_0x8f5a8('SIGTERM'));process['on']('disconnect',()=>{if(this['_isShuttingDown'])return;this['logger']['warn']('🔌\x20IPC\x20Disconnected\x20from\x20Master!\x20Initiating\x20emergency\x20shutdown...');this['shutdown']('Master\x20Process\x20Disconnected');});}process['on']('unhandledRejection',_0x4c639d=>{const _0x2ecf94=_0x4c639d instanceof Error?_0x4c639d:new Error(String(_0x4c639d));this['logger']['error']('‼️\x20UNHANDLED\x20PROMISE\x20REJECTION:',_0x2ecf94);this['_logHistory']('CRASH','Unhandled\x20Promise\x20Rejection',_0x2ecf94);this['container']['engine']?.['report']('error','Unhandled\x20Promise\x20Rejection',{'message':_0x2ecf94['message'],'stack':_0x2ecf94['stack']});Promise['race']([this['_sendLifecycleWebhook']('Unhandled\x20Promise\x20Rejection','CRASH',_0x2ecf94),new Promise(_0x58db02=>setTimeout(_0x58db02,0xcf0+0x1722+-0x108a))])['finally'](()=>{process['exit'](0xd44+-0xe8f*-0x2+-0x2a61);});});process['on']('uncaughtException',_0x55d8dd=>{const _0x514248=_0x55d8dd instanceof Error?_0x55d8dd:new Error(String(_0x55d8dd));this['logger']['error']('‼️\x20UNCAUGHT\x20EXCEPTION!\x20Bot\x20will\x20shutdown.',_0x514248);this['_logHistory']('CRASH','Uncaught\x20Exception',_0x514248);this['container']['engine']?.['report']('error','Uncaught\x20Exception',{'message':_0x514248['message'],'stack':_0x514248['stack']});Promise['race']([this['_sendLifecycleWebhook']('Uncaught\x20Exception','CRASH',_0x514248),new Promise(_0x2a1970=>setTimeout(_0x2a1970,-0x103f*-0x1+-0x1*0x13e9+0xb99*0x2))])['finally'](()=>{process['exit'](0x15ad+-0x1080+-0x52c);});});this['_cleanupAttached']=!![];this['logger']['info']('🛡️\x20\x20Graceful\x20shutdown\x20and\x20error\x20handlers\x20are\x20now\x20active.');}}catch(_0x5a1296){const _0x1822c6=_0x5a1296 instanceof Error?_0x5a1296:new Error(String(_0x5a1296));if(this['logger']){this['logger']['error']('❌\x20Error\x20during\x20shutdown:',_0x1822c6);}else{console['error']('❌\x20Error\x20during\x20shutdown:',_0x1822c6);}this['container']['engine']?.['report']('error','Shutdown\x20Collector\x20Initialization\x20Failed',{'message':_0x1822c6['message'],'stack':_0x1822c6['stack']});}}['initialize'](){this['initializeGlobalIntervalTracker']();this['initializeShutdownCollectors']();this['_logHistory']('STARTUP','Bot\x20Initialized');this['_startMasterHeartbeat']();this['_startMemoryMonitor']();this['_attachExitLogger']();}['_attachExitLogger'](){process['on']('exit',_0x21ca79=>{if(this['_isShuttingDown'])return;this['_logHistory']('SHUTDOWN','Process\x20Exited\x20(code:\x20'+_0x21ca79+')\x20—\x20no\x20graceful\x20shutdown\x20was\x20initiated');});}async['sendStartupWebhook'](){await this['_sendLifecycleWebhook']('Bot\x20Initialized','STARTUP');}['_startMasterHeartbeat'](){if(!this['client']['shard'])return;if(this['_heartbeatInterval'])return;this['_lastHeartbeatAck']=Date['now']();process['on']('message',_0xb056bb=>{if(_0xb056bb&&_0xb056bb['type']==='heartbeat_ack'){this['_lastHeartbeatAck']=Date['now']();if(_0xb056bb['masterStartedAt']){this['_masterStartedAt']=_0xb056bb['masterStartedAt'];}}if(_0xb056bb&&_0xb056bb['type']==='master_info'&&_0xb056bb['masterStartedAt']){this['_masterStartedAt']=_0xb056bb['masterStartedAt'];}if(_0xb056bb&&_0xb056bb['type']==='zombie_ping'){if(process['send']){process['send']({'type':'zombie_pong'});}}});this['logger']['info']('💓\x20Master\x20Process\x20Heartbeat\x20started.\x20Monitoring\x20for\x20zombie\x20process...');this['_heartbeatInterval']=setInterval(()=>{if(process['send']){process['send']({'type':'heartbeat'});}const _0x1c7ca6=Date['now']()-this['_lastHeartbeatAck'];const _0x43f219=(0x180b+-0xab6*0x1+-0xd52)*(-0x26f5+-0x1631+-0x12*-0x369)*(-0x2*-0x943+-0x5*-0x1fb+0x1885*-0x1);if(_0x1c7ca6>_0x43f219){if(this['_isShuttingDown'])return;this['logger']['error']('💀\x20Master\x20Process\x20Unresponsive!\x20(Last\x20Ack:\x20'+_0x1c7ca6+'ms\x20ago).\x20Shutting\x20down...');this['shutdown']('Master\x20Process\x20Unresponsive/Zombie');}},0x2*-0x3527+-0x3863+0x117e1*0x1);if(this['_activeIntervals']){this['_activeIntervals']['add'](this['_heartbeatInterval']);}}['getActiveIntervalsCount'](){return this['_activeIntervals']?this['_activeIntervals']['size']:-0x1cbd+0x745*-0x5+0x4116;}['getActiveCollectorsCount'](){return this['_messagesWithActiveCollectors']?this['_messagesWithActiveCollectors']['size']:-0x18d*0x6+0x3*-0xbce+-0x6c*-0x6a;}['forceCleanup'](){if(this['_activeIntervals']){for(const _0x55cdb6 of this['_activeIntervals']){clearInterval(_0x55cdb6);}this['_activeIntervals']['clear']();}}}exports['ShutdownManager']=ShutdownManager;
1
+ 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x3638d){return _0x3638d&&_0x3638d['__esModule']?_0x3638d:{'default':_0x3638d};};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports['ShutdownManager']=void(-0x1*0xa2f+0xcd1*0x1+0x1*-0x2a2);const async_exit_hook_1=__importDefault(require('async-exit-hook'));const discord_js_1=require('discord.js');const node_fs_1=__importDefault(require('node:fs'));const node_path_1=__importDefault(require('node:path'));const package_json_1=__importDefault(require('../../package.json'));const node_cron_1=__importDefault(require('node-cron'));const cli_color_1=__importDefault(require('cli-color'));class ShutdownManager{['client'];['container'];['logger'];['_activeIntervals'];['_messagesWithActiveCollectors'];['_collectorPatched'];['_cleanupAttached'];['_isShuttingDown']=![];['_shutdownPromise']=null;['_heartbeatInterval'];['_lastHeartbeatAck'];['_masterStartedAt']=0x3*0x47d+-0x689*0x1+-0x377*0x2;['getMasterUptime'](){const _0x44f7e8=this['_masterStartedAt']?Math['floor']((Date['now']()-this['_masterStartedAt'])/(0x255f+-0x242f+0x2b8)):Math['floor'](process['uptime']());const _0x27558d=Math['floor'](_0x44f7e8/(0x147f0+0x2628+-0x1c98));const _0x3f378b=Math['floor'](_0x44f7e8%(0xe374+0x280c5+-0x5*0x6a25)/(0x2347+-0x10f*0x4+-0x1e3*0x9));const _0x4fdc18=Math['floor'](_0x44f7e8%(-0x7cc*0x3+0x1cdb+0x47*0x1f)/(-0x2182+0x7*0x223+0x1*0x12c9));const _0x41c8c9=_0x44f7e8%(-0xa*0x20d+-0x368+0x1826);return[_0x27558d?_0x27558d+'d':'',_0x3f378b?_0x3f378b+'h':'',_0x4fdc18?_0x4fdc18+'m':'',_0x41c8c9+'s']['filter'](Boolean)['join']('\x20');}get['masterStartedAt'](){return this['_masterStartedAt'];}['_startMemoryMonitor'](){const _0x344d55=-0x87*0x15+-0x9*-0x5c+0x7d7+0.8;const _0x4c4f9c=0x1c52+-0x77d+0x1*-0x14d5+0.95;const _0x38abdd=(-0x11df+-0x231b+0x34ff)*(0x2*0x12d2+0xb*0x10d+-0x30f7)*(0x41*0xe+-0xdf*-0x15+-0x5fb*0x3);const _0x4a664b=this['client']['shard']?.['ids'][0x7c7+0x1*0x156b+-0x1*0x1d32]??'MAIN';const _0xdc65a7=setInterval(()=>{try{const {heapUsed:_0xde7cf4,rss:_0x22ff01}=process['memoryUsage']();const {heap_size_limit:_0x26c191}=this['_getHeapStats']();const _0x11fa77=_0xde7cf4/_0x26c191;const _0x379b7f=(_0xde7cf4/(0x23a7+0x260b+-0x45b2)/(0xc2f*0x2+-0x7*-0x312+-0x26*0x11a))['toFixed'](-0x25d+-0x68e+0x8ec);const _0xff49c3=(_0x26c191/(-0x13fc+-0x25ec+-0x38*-0x11b)/(0x10ae+0x971*0x2+-0x1f90))['toFixed'](0x12b9+-0x7c7*0x3+-0x49c*-0x1);const _0x1c84ea=(_0x22ff01/(-0xcc7+-0xe1d+0x526*0x6)/(-0x1c6b+0x62*-0x7+0x2319*0x1))['toFixed'](-0x1*0xe53+-0xfdc+0x1e30);const _0x5a17b9=(_0x11fa77*(0x4cf*-0x3+-0x1*-0x1ec5+-0xff4))['toFixed'](-0x13b1*-0x1+-0x1*-0x11ab+-0x255b);if(_0x11fa77>=_0x4c4f9c){this['logger']['error']('🔴\x20[Shard\x20'+_0x4a664b+']\x20CRITICAL\x20Memory:\x20'+_0x379b7f+'/'+_0xff49c3+'\x20MB\x20('+_0x5a17b9+'%)\x20|\x20RSS:\x20'+_0x1c84ea+'\x20MB\x20—\x20requesting\x20graceful\x20restart\x20before\x20OOM!');this['container']['engine']?.['report']('error','Critical\x20Memory\x20Pressure\x20(Shard\x20'+_0x4a664b+')',{'heapUsedMB':_0x379b7f,'heapLimitMB':_0xff49c3,'rssMB':_0x1c84ea,'pct':_0x5a17b9});if(!this['_isShuttingDown']){Promise['race']([this['_sendLifecycleWebhook']('Critical\x20Memory\x20Pressure\x20—\x20'+_0x379b7f+'/'+_0xff49c3+'\x20MB\x20heap\x20('+_0x5a17b9+'%)\x20|\x20RSS:\x20'+_0x1c84ea+'\x20MB','CRASH'),new Promise(_0x46a38f=>setTimeout(_0x46a38f,0x2441+0xba7+-0x2048))])['finally'](()=>{if(!this['_isShuttingDown']){if(process['send']){process['send']({'type':'memory_pressure_restart','shardId':_0x4a664b});}this['shutdown']('Critical\x20Memory\x20Pressure\x20('+_0x5a17b9+'%\x20of\x20'+_0xff49c3+'\x20MB)');}});}}else if(_0x11fa77>=_0x344d55){this['logger']['warn']('🟡\x20[Shard\x20'+_0x4a664b+']\x20High\x20Memory:\x20'+_0x379b7f+'/'+_0xff49c3+'\x20MB\x20('+_0x5a17b9+'%)\x20|\x20RSS:\x20'+_0x1c84ea+'\x20MB');this['container']['engine']?.['report']('warn','High\x20Memory\x20Pressure\x20(Shard\x20'+_0x4a664b+')',{'heapUsedMB':_0x379b7f,'heapLimitMB':_0xff49c3,'rssMB':_0x1c84ea,'pct':_0x5a17b9});if(typeof global['gc']==='function'){try{global['gc']();this['logger']['info']('♻️\x20[Shard\x20'+_0x4a664b+']\x20Forced\x20GC\x20cycle\x20at\x20'+_0x5a17b9+'%\x20heap\x20usage.');}catch(_0x115c26){}}}}catch(_0x2e45dc){}},_0x38abdd);if(this['_activeIntervals']){this['_activeIntervals']['add'](_0xdc65a7);}}['_getHeapStats'](){return require('node:v8')['getHeapStatistics']();}constructor({client:_0x46d329,container:_0x324f64}){this['client']=_0x46d329;this['container']=_0x324f64;this['_activeIntervals']=new Set();this['_messagesWithActiveCollectors']=new Set();this['_collectorPatched']=![];this['_cleanupAttached']=![];this['_isShuttingDown']=![];this['_heartbeatInterval']=null;this['_lastHeartbeatAck']=-0x1*-0x1719+-0x1e4b+0x732;this['logger']=this['container']['logger'];}['_logHistory'](_0x440c81,_0x3a17d6,_0x22f15f){try{const _0x59d283=this['client']['shard']?.['ids'][-0xd07+-0x2*-0x31d+-0x6cd*-0x1];const _0x4d5756=new Date()['toISOString']()['substring'](0xe01+-0x20d8+0x12d7,0x1b9b+-0x1521+-0x673);const _0x5d777c=_0x59d283!==undefined?'shutdown_history_shard_'+_0x59d283+'_'+_0x4d5756+'.log':'shutdown_history_'+_0x4d5756+'.log';const _0x5abf05=node_path_1['default']['join'](process['cwd'](),'logs',_0x5d777c);const _0x2f7d3b=new Date()['toISOString']()['replace']('T','\x20')['split']('.')[-0x19a5+-0x267e+0x4023*0x1];const _0x193d6e=process['uptime']();const _0x14571a=Math['floor'](_0x193d6e/((0x1*0x717+0x2342+-0x22d*0xd)*(0x1ca5+0x5*0x2c7+-0x2a70)));const _0x246601=Math['floor'](_0x193d6e%((0xfc4+-0x20*-0x5a+0x67a*-0x2)*(-0x109a+-0x1d4f+0x2e01))/(0x1674+0x23d8+0x2c3c*-0x1));const _0x5bd7b0=Math['floor'](_0x193d6e%(0x61e+0x248d+-0x1c9b)/(-0x14c+0x3f*0x91+0x1*-0x2227));const _0x3a67a7=Math['floor'](_0x193d6e%(0x1e34+0x13ef+0xaf*-0x49));const _0x45fa94=_0x14571a+'d\x20'+_0x246601+'h\x20'+_0x5bd7b0+'m\x20'+_0x3a67a7+'s';const _0x68643f=process['memoryUsage']();const _0x1a5db1=(_0x68643f['heapUsed']/(-0x431*-0x1+0x841*-0x1+0x810)/(0x13*-0x145+0x5ff*-0x1+0x221e))['toFixed'](0x1cd5*0x1+0x22e3*0x1+0x46*-0xe9);const _0x284e41=(_0x68643f['rss']/(0x2011+0x255e+-0x416f)/(0x13*-0xa+0x4c1+-0x1*0x3))['toFixed'](-0x7*0x535+-0x104e+0x1*0x34c3);let _0x1dc548='['+_0x2f7d3b+']\x20'+(_0x440c81==='STARTUP'?'🟢':'🔴')+'\x20'+_0x440c81+'\x0a';_0x1dc548+='----------------------------------------\x0a';_0x1dc548+='Reason:\x20\x20'+_0x3a17d6+'\x0a';if(_0x440c81!=='STARTUP'){_0x1dc548+='Uptime:\x20\x20'+_0x45fa94+'\x0a';}_0x1dc548+='Memory:\x20\x20Heap:\x20'+_0x1a5db1+'MB\x20/\x20RSS:\x20'+_0x284e41+'MB\x0a';if(_0x22f15f){_0x1dc548+='Error:\x20\x20\x20'+_0x22f15f['message']+'\x0a';_0x1dc548+='Stack\x20Trace:\x0a'+_0x22f15f['stack']+'\x0a';}_0x1dc548+='----------------------------------------\x0a\x0a';node_fs_1['default']['appendFileSync'](_0x5abf05,_0x1dc548);}catch(_0x4ab545){console['error']('Failed\x20to\x20write\x20to\x20shutdown\x20history\x20log:',_0x4ab545);if(this['container']['engine']){const _0x5787c7=_0x4ab545 instanceof Error?_0x4ab545:new Error(String(_0x4ab545));this['container']['engine']['report']('error','Shutdown\x20History\x20Log\x20Write\x20Failed',{'message':_0x5787c7['message'],'stack':_0x5787c7['stack']});}}}async['_sendLifecycleWebhook'](_0x599a6b,_0x28cab3,_0x755c58){const _0x342195=this['container']['kythiaConfig']['api']?.['webhookErrorLogs']||(this['container']['kythiaConfig']['settings']?.['webhookErrorLogs']===!![]?process.env.WEBHOOK_ERROR_LOGS:undefined);if(!_0x342195){this['logger']['warn']('⚠️\x20Lifecycle\x20Webhook\x20skipped:\x20No\x20URL\x20configured\x20in\x20api.webhookErrorLogs\x20or\x20env.WEBHOOK_ERROR_LOGS');return;}const _0x5858c8=new URL(_0x342195);_0x5858c8['searchParams']['append']('wait','true');_0x5858c8['searchParams']['append']('with_components','true');try{const _0x2b8977=_0x28cab3==='CRASH'?0x6e6bf*0x4+-0x1*0xcd7481+0x1b0d985:_0x28cab3==='STARTUP'?0x544a3f+0xd*0xab69+-0x1aeaf*0x3:-0x617*0x4087+0x29e11f+0x12f5d01*0x2;const _0x59f541=this['client']['shard']?.['ids'][0x2*0x189+-0x1*-0x3b5+-0x6c7*0x1];const _0x49c354=_0x59f541!==undefined?'[Shard\x20'+_0x59f541+']\x20':'';const _0x357469=_0x28cab3==='CRASH'?'❌\x20'+_0x49c354+'Critical\x20System\x20Crash:\x20'+_0x599a6b:_0x28cab3==='STARTUP'?'🟢\x20'+_0x49c354+'Bot\x20Online:\x20'+_0x599a6b:'🛑\x20'+_0x49c354+'System\x20Shutdown:\x20'+_0x599a6b;const _0x3a4de6=_0x28cab3==='STARTUP'?['**Tag:**\x20'+(this['container']['client']['user']?.['tag']??'Unknown'),'**Guilds:**\x20'+(this['container']['client']['guilds']?.['cache']['size']??'—'),'**Version:**\x20'+package_json_1['default']['version']]['join']('\x0a'):_0x755c58?''+_0x755c58['message']:'Graceful\x20shutdown\x20initiated.';const _0x4662fb=new discord_js_1['ContainerBuilder']()['setAccentColor'](_0x2b8977)['addSectionComponents'](new discord_js_1['SectionBuilder']()['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent']('##\x20'+_0x357469+'\x0a'+_0x3a4de6))['setThumbnailAccessory'](new discord_js_1['ThumbnailBuilder']()['setURL'](this['container']['client']['user']?.['displayAvatarURL']()||this['container']['kythiaConfig']['settings']?.['aboutBannerImage']||'https://cdn.discordapp.com/embed/avatars/0.png')['setDescription']('System\x20Status')))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]));if(_0x28cab3!=='STARTUP'){const _0x5c5a34=_0x755c58?'```ts\x0a'+(_0x755c58['stack']?_0x755c58['stack']['slice'](-0xe*-0x61+-0x229d+0x1d4f,-0x6cd*-0x4+-0xb13+-0x275):'No\x20Stack\x20Trace')+'```':'```ts\x0aNo\x20Stack\x20Trace```';_0x4662fb['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent']('\x0a'+_0x5c5a34))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]));}_0x4662fb['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](_0x28cab3==='STARTUP'?'-#\x20Kythia\x20Core:\x20'+package_json_1['default']['version']:'-#\x20Kythia\x20Core:\x20'+package_json_1['default']['version']+'\x20|\x20Master\x20Uptime:\x20'+this['getMasterUptime']()));const _0x6c3744=_0x4662fb;const _0x2be844={'flags':discord_js_1['MessageFlags']['IsComponentsV2'],'components':[_0x6c3744['toJSON']()]};const _0x2c7e38=new AbortController();const _0x5e2298=setTimeout(()=>_0x2c7e38['abort'](),-0x269a+0x1d49+0x1cd9);const _0x304fa3=await fetch(_0x5858c8['href'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2be844),'signal':_0x2c7e38['signal']});clearTimeout(_0x5e2298);if(!_0x304fa3['ok']){const _0x2d31fd=await _0x304fa3['text']();this['logger']['error']('❌\x20Lifecycle\x20Webhook\x20Failed:\x20['+_0x304fa3['status']+']\x20'+_0x304fa3['statusText']+'\x0aResponse:\x20'+_0x2d31fd);}else{this['logger']['info']('✅\x20Lifecycle\x20Webhook\x20sent\x20successfully.');}}catch(_0x12f880){this['logger']['error']('❌\x20Failed\x20to\x20construct/send\x20Lifecycle\x20Webhook:',_0x12f880);if(this['container']['engine']){const _0x336108=_0x12f880 instanceof Error?_0x12f880:new Error(String(_0x12f880));this['container']['engine']['report']('error','Lifecycle\x20Webhook\x20Failed',{'message':_0x336108['message'],'stack':_0x336108['stack']});}}}async['shutdown'](_0x464289){if(this['_shutdownPromise'])return this['_shutdownPromise'];this['_isShuttingDown']=!![];this['_shutdownPromise']=this['_runShutdown'](_0x464289);return this['_shutdownPromise'];}async['_runShutdown'](_0x4d3eab){this['logger']['info']('🛑\x20Graceful\x20shutdown\x20initiated:\x20'+_0x4d3eab);try{const {KythiaModel:_0x41f663}=require('../database/KythiaModel');_0x41f663['isShuttingDown']=!![];}catch{}this['_logHistory']('SHUTDOWN',_0x4d3eab);await this['_sendLifecycleWebhook'](_0x4d3eab,'SHUTDOWN');const _0x51efbe=node_cron_1['default']['getTasks']();if(_0x51efbe['size']>-0x3ce+-0x2*0xf67+0x229c){this['logger']['info']('🛑\x20Stopping\x20'+_0x51efbe['size']+'\x20background\x20cron\x20tasks...');_0x51efbe['forEach'](_0x2933dc=>{_0x2933dc['stop']();});}const _0x14d01f=this['_activeIntervals']['size'];if(_0x14d01f>-0x24d9+-0x31*0x47+0x4*0xc9c){this['logger']['info']('🛑\x20Halting\x20'+_0x14d01f+'\x20active\x20global\x20intervals...');for(const _0x22755e of this['_activeIntervals']){clearInterval(_0x22755e);}this['_activeIntervals']['clear']();}else{this['logger']['debug']('ℹ️\x20No\x20active\x20intervals\x20to\x20halt.');}const _0x1ee4d5=this['_messagesWithActiveCollectors'];if(_0x1ee4d5&&_0x1ee4d5['size']>0xb93+0x38f+0x1*-0xf22){this['logger']['info']('🛑\x20Disabling\x20components\x20on\x20'+_0x1ee4d5['size']+'\x20messages.');const _0x6382a8=[];for(const _0x366cae of _0x1ee4d5){if(!_0x366cae['editable']||!_0x366cae['components']||_0x366cae['components']['length']===0x6cb+0x1d7d+-0x2448)continue;try{const _0x33757b=_0x366cae['components']['map'](_0x4ebdc3=>_0x4ebdc3['toJSON']());const _0x5a9a62=this['disableRecursively'](_0x33757b);_0x6382a8['push'](_0x366cae['edit']({'components':_0x5a9a62})['then'](()=>this['logger']['info']('✅\x20Disabled\x20components\x20for\x20message:\x20'+_0x366cae['id']))['catch'](_0x3e82c6=>this['logger']['error']('❌\x20Failed\x20to\x20edit\x20message\x20'+_0x366cae['id']+':\x20'+_0x3e82c6['message'])));}catch(_0x194271){const _0x336b4b=_0x194271 instanceof Error?_0x194271:new Error(String(_0x194271));this['logger']['error'](_0x336b4b);this['container']['engine']?.['report']('error','Component\x20Cleanup\x20Failed',{'message':_0x336b4b['message'],'stack':_0x336b4b['stack']});}}await Promise['race']([Promise['allSettled'](_0x6382a8),new Promise(_0x508f4d=>setTimeout(_0x508f4d,-0x71+-0x22e7*-0x1+-0x126*0xd))]);this['logger']['info']('✅\x20Component\x20cleanup\x20finished\x20(or\x20timed\x20out).');}else{this['logger']['debug']('ℹ️\x20No\x20active\x20collectors/messages\x20to\x20disable.');}this['logger']['info']('✅\x20Component\x20cleanup\x20complete.');return new Promise(_0x4e6a5e=>{this['logger']['info']('🚰\x20Flushing\x20logs...');const _0x52d375=this['container']['client']['shard']?.['ids'][0xb08+-0x1a21*0x1+0xf19]??'MAIN';let _0xa74bb=![];const _0x1c0ac7=()=>{if(_0xa74bb)return;_0xa74bb=!![];console['log'](cli_color_1['default']['cyanBright']('[SHARD\x20'+_0x52d375+']\x20⏳\x20Logger\x20has\x20flushed.\x20Shard\x20cleanup\x20finished.'));_0x4e6a5e();setTimeout(()=>{if(process.env.NODE_ENV!=='test'){process['exit'](-0x1f14+-0x445*0x2+-0x1cd*-0x16);}},-0x1*0x2f2+0x17*-0x19f+0x1*0x2903);};this['logger']['on']('finish',_0x1c0ac7);this['logger']['end']();setTimeout(_0x1c0ac7,0xf*-0x35+-0x2*0x105e+0x3377);});}['initializeGlobalIntervalTracker'](){try{if(!this['_activeIntervals'])this['_activeIntervals']=new Set();const _0x19ba46=global['setInterval'];const _0x33dfce=global['clearInterval'];global['setInterval']=(_0x2c8262,_0x158393,..._0x538bf0)=>{const _0x56f8fc=_0x19ba46(_0x2c8262,_0x158393,..._0x538bf0);this['_activeIntervals']['add'](_0x56f8fc);return _0x56f8fc;};global['clearInterval']=_0x3f8476=>{if(_0x3f8476){_0x33dfce(_0x3f8476);this['_activeIntervals']['delete'](_0x3f8476);}};this['logger']['info']('✅\x20Global\x20setInterval/clearInterval\x20has\x20been\x20patched\x20for\x20tracking.');}catch(_0x2404a6){const _0x7429a=_0x2404a6 instanceof Error?_0x2404a6:new Error(String(_0x2404a6));this['logger']['error']('Failed\x20to\x20initialize\x20global\x20interval\x20tracker:',_0x7429a);this['container']['engine']?.['report']('error','Global\x20Interval\x20Tracker\x20Initialization\x20Failed',{'message':_0x7429a['message'],'stack':_0x7429a['stack']});}}['disableRecursively'](_0x1f88c7){return _0x1f88c7['map'](_0x29d993=>{if(_0x29d993['components']&&Array['isArray'](_0x29d993['components'])){_0x29d993['components']=this['disableRecursively'](_0x29d993['components']);}if(_0x29d993['type']===-0x1*0x17cc+-0x6*-0x5b9+0x8*-0x151||_0x29d993['type']===0x118a*0x2+0x1d30*0x1+0x3*-0x156b||_0x29d993['type']>=-0x711+-0x17d1+0x1ee7){return{..._0x29d993,'disabled':!![]};}return _0x29d993;});}['initializeShutdownCollectors'](){try{if(!this['_messagesWithActiveCollectors'])this['_messagesWithActiveCollectors']=new Set();if(!this['_collectorPatched']){const _0x543d65=require('discord.js')['Message'];const _0x4f41e9=_0x543d65['prototype']['createMessageComponentCollector'];const _0x2b2231=this;_0x543d65['prototype']['createMessageComponentCollector']=function(..._0x3fbc54){let _0x48b51d=_0x3fbc54[-0xfc3+0x13*0x71+0x760];if(!_0x48b51d)_0x48b51d={};if(_0x48b51d['unsafe']===!![]){_0x2b2231['logger']['info']('⚠️\x20Unsafe\x20collector\x20started\x20(Bypassed\x20Safety\x20Checks).\x20Channel:\x20'+this['channelId']);}else if(!_0x48b51d['time']&&!_0x48b51d['idle']){_0x48b51d['time']=(-0x677*-0x1+-0x1*0x11a7+0x1*0xb3f)*(-0x2695+-0xbb*0x12+0x33f7*0x1)*(0x257+-0x1*-0x4f1+0xd8*-0x4);_0x2b2231['logger']['warn']('⚠️\x20Unsafe\x20Collector\x20Detected!\x20No\x20timeout\x20specified.\x20Auto-applying\x2015m\x20safety\x20limit.\x0a'+('\x20\x20\x20Channel:\x20'+this['channelId']+'\x20|\x20Author:\x20'+this['author']['id']));}_0x3fbc54[-0x31*-0x7a+0x60b+0x19*-0x12d]=_0x48b51d;const _0x104639=_0x4f41e9['apply'](this,_0x3fbc54);if(_0x2b2231['_messagesWithActiveCollectors']){_0x2b2231['_messagesWithActiveCollectors']['add'](this);}_0x104639['once']('end',()=>{if(_0x2b2231['_messagesWithActiveCollectors']){_0x2b2231['_messagesWithActiveCollectors']['delete'](this);}});return _0x104639;};this['_collectorPatched']=!![];this['logger']['info']('✅\x20Corrected\x20collector-based\x20component\x20tracking\x20has\x20been\x20patched.');}if(!this['_cleanupAttached']){if(!this['client']['shard']){(0x19e9*0x1+0x1ab8+0x5d9*-0x9,async_exit_hook_1['default'])(async()=>{await this['shutdown']('Graceful\x20Exit\x20(Local\x20SIGINT)');});}else{let _0x33da01=0x3eb+0x10*0x236+-0x274b;const _0x5f0857=_0x3fde1c=>{const _0x3697cb=Date['now']();if(_0x3697cb-_0x33da01<0x17*0x10c+-0x439*0x1+-0x53){console['log']('[Shard\x20'+(this['client']['shard']?.['ids'][0x11b0+0x1647+-0x27f7]??'?')+']\x20🛑\x20Force\x20Exiting\x20via\x20Double\x20'+_0x3fde1c+'...');process['exit'](0x1*-0x1837+-0x1bd1+0x3408);}_0x33da01=_0x3697cb;console['log']('[Shard\x20'+(this['client']['shard']?.['ids'][0x2608+0x18ec+0xa7e*-0x6]??'?')+']\x20Ignored\x20local\x20'+_0x3fde1c+'.\x20Waiting\x20for\x20Master\x20instruction...\x20(Repeat\x20'+_0x3fde1c+'\x20within\x205s\x20to\x20force\x20shutdown)');};process['on']('SIGINT',()=>_0x5f0857('SIGINT'));process['on']('SIGTERM',()=>_0x5f0857('SIGTERM'));process['on']('disconnect',()=>{if(this['_isShuttingDown'])return;this['logger']['warn']('🔌\x20IPC\x20Disconnected\x20from\x20Master!\x20Initiating\x20emergency\x20shutdown...');this['shutdown']('Master\x20Process\x20Disconnected');});}process['on']('unhandledRejection',_0x3822e7=>{const _0x525a95=_0x3822e7 instanceof Error?_0x3822e7:new Error(String(_0x3822e7));this['logger']['error']('‼️\x20UNHANDLED\x20PROMISE\x20REJECTION:',_0x525a95);this['_logHistory']('CRASH','Unhandled\x20Promise\x20Rejection',_0x525a95);this['container']['engine']?.['report']('error','Unhandled\x20Promise\x20Rejection',{'message':_0x525a95['message'],'stack':_0x525a95['stack']});Promise['race']([this['_sendLifecycleWebhook']('Unhandled\x20Promise\x20Rejection','CRASH',_0x525a95),new Promise(_0x2018c8=>setTimeout(_0x2018c8,-0x4e*0x9+0x1*-0x12aa+-0x830*-0x5))])['finally'](()=>{process['exit'](0x1*0x230f+0x16*0x84+-0x2e66);});});process['on']('uncaughtException',_0x1915ad=>{const _0x17811a=_0x1915ad instanceof Error?_0x1915ad:new Error(String(_0x1915ad));this['logger']['error']('‼️\x20UNCAUGHT\x20EXCEPTION!\x20Bot\x20will\x20shutdown.',_0x17811a);this['_logHistory']('CRASH','Uncaught\x20Exception',_0x17811a);this['container']['engine']?.['report']('error','Uncaught\x20Exception',{'message':_0x17811a['message'],'stack':_0x17811a['stack']});Promise['race']([this['_sendLifecycleWebhook']('Uncaught\x20Exception','CRASH',_0x17811a),new Promise(_0x1d9850=>setTimeout(_0x1d9850,-0x1*-0x1d5d+0xd93+-0x1768))])['finally'](()=>{process['exit'](-0x2008+-0x41b*0x4+-0x5*-0x9b1);});});this['_cleanupAttached']=!![];this['logger']['info']('🛡️\x20\x20Graceful\x20shutdown\x20and\x20error\x20handlers\x20are\x20now\x20active.');}}catch(_0x28a457){const _0x263f94=_0x28a457 instanceof Error?_0x28a457:new Error(String(_0x28a457));if(this['logger']){this['logger']['error']('❌\x20Error\x20during\x20shutdown:',_0x263f94);}else{console['error']('❌\x20Error\x20during\x20shutdown:',_0x263f94);}this['container']['engine']?.['report']('error','Shutdown\x20Collector\x20Initialization\x20Failed',{'message':_0x263f94['message'],'stack':_0x263f94['stack']});}}['initialize'](){this['initializeGlobalIntervalTracker']();this['initializeShutdownCollectors']();this['_logHistory']('STARTUP','Bot\x20Initialized');this['_startMasterHeartbeat']();this['_startMemoryMonitor']();this['_startCollectorPrune']();this['_attachExitLogger']();}['_startCollectorPrune'](){const _0xf5c2be=(0x6*0x47f+-0x1f20+0x42b)*(0x19ea+0x1838+-0x31e6)*(0x1648+0x2524+-0x2c*0x143);const _0x628c6e=setInterval(()=>{try{if(!this['_messagesWithActiveCollectors']||this['_messagesWithActiveCollectors']['size']===-0x1347+-0x6*0x56f+-0x3*-0x114b)return;const _0x281e74=this['_messagesWithActiveCollectors']['size'];let _0x366741=-0x4*0x1f8+-0x8db*0x1+0x10bb;for(const _0xf741b3 of this['_messagesWithActiveCollectors']){if(!_0xf741b3['editable']||!_0xf741b3['components']||_0xf741b3['components']['length']===-0x1894+0x1759+0x13b){this['_messagesWithActiveCollectors']['delete'](_0xf741b3);_0x366741++;}}if(_0x366741>0x24bd+0x649+-0x2b06*0x1){this['logger']['debug']('🧹\x20[CollectorPrune]\x20Pruned\x20'+_0x366741+'\x20stale\x20message\x20refs\x20('+_0x281e74+'\x20→\x20'+(_0x281e74-_0x366741)+'\x20active).');}}catch{}},_0xf5c2be);if(this['_activeIntervals']){this['_activeIntervals']['add'](_0x628c6e);}}['_attachExitLogger'](){process['on']('exit',_0x53f5d0=>{if(this['_isShuttingDown'])return;this['_logHistory']('SHUTDOWN','Process\x20Exited\x20(code:\x20'+_0x53f5d0+')\x20—\x20no\x20graceful\x20shutdown\x20was\x20initiated');});}async['sendStartupWebhook'](){await this['_sendLifecycleWebhook']('Bot\x20Initialized','STARTUP');}['_startMasterHeartbeat'](){if(!this['client']['shard'])return;if(this['_heartbeatInterval'])return;this['_lastHeartbeatAck']=Date['now']();process['on']('message',_0x5674bb=>{if(_0x5674bb&&_0x5674bb['type']==='heartbeat_ack'){this['_lastHeartbeatAck']=Date['now']();if(_0x5674bb['masterStartedAt']){this['_masterStartedAt']=_0x5674bb['masterStartedAt'];}}if(_0x5674bb&&_0x5674bb['type']==='master_info'&&_0x5674bb['masterStartedAt']){this['_masterStartedAt']=_0x5674bb['masterStartedAt'];}if(_0x5674bb&&_0x5674bb['type']==='zombie_ping'){if(process['send']){process['send']({'type':'zombie_pong'});}}});this['logger']['info']('💓\x20Master\x20Process\x20Heartbeat\x20started.\x20Monitoring\x20for\x20zombie\x20process...');this['_heartbeatInterval']=setInterval(()=>{if(process['send']){process['send']({'type':'heartbeat'});}const _0x27e21e=Date['now']()-this['_lastHeartbeatAck'];const _0x4c172b=(0x2e3*0x2+0x2de*0xd+0x17*-0x1df)*(0x1f69+-0x1*0x2c5+0x8*-0x38d)*(-0x1b47+-0x2564+0x4493);if(_0x27e21e>_0x4c172b){if(this['_isShuttingDown'])return;this['logger']['error']('💀\x20Master\x20Process\x20Unresponsive!\x20(Last\x20Ack:\x20'+_0x27e21e+'ms\x20ago).\x20Shutting\x20down...');this['shutdown']('Master\x20Process\x20Unresponsive/Zombie');}},-0xdd39+-0x209c+-0x13*-0x1387);if(this['_activeIntervals']){this['_activeIntervals']['add'](this['_heartbeatInterval']);}}['getActiveIntervalsCount'](){return this['_activeIntervals']?this['_activeIntervals']['size']:-0x1868+-0x7*-0x49d+-0x7e3;}['getActiveCollectorsCount'](){return this['_messagesWithActiveCollectors']?this['_messagesWithActiveCollectors']['size']:-0x1483*0x1+0x18ab+-0x4c*0xe;}['forceCleanup'](){if(this['_activeIntervals']){for(const _0x1693af of this['_activeIntervals']){clearInterval(_0x1693af);}this['_activeIntervals']['clear']();}}}exports['ShutdownManager']=ShutdownManager;
@@ -1 +1 @@
1
- {"version":3,"file":"ShutdownManager.js","sourceRoot":"","sources":["../../src/managers/ShutdownManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShutdownManager.js","sourceRoot":"","sources":["../../src/managers/ShutdownManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x3694e3){return _0x3694e3&&_0x3694e3['__esModule']?_0x3694e3:{'default':_0x3694e3};};Object['defineProperty'](exports,'__esModule',{'value':!![]});const discord_js_1=require('discord.js');const node_path_1=__importDefault(require('node:path'));const node_fs_1=__importDefault(require('node:fs'));class TranslatorManager{['logger'];['config'];['guildLanguageCache'];['locales'];['hostLocales'];['defaultLang'];['languageResolver']=async()=>null;['_pendingLanguageResolutions']=new Map();['container'];constructor({container:_0x5eef09}){this['container']=_0x5eef09;this['logger']=_0x5eef09['logger'];this['config']=_0x5eef09['kythiaConfig'];this['guildLanguageCache']=new discord_js_1['Collection']();this['locales']=new discord_js_1['Collection']();this['hostLocales']=new Set();this['defaultLang']=this['config']['bot']['language']||'en-US';}['setLanguageResolver'](_0x250f2b){this['languageResolver']=_0x250f2b;}['_deepMerge'](_0x29b69d,_0x5211ab){for(const _0x200023 of Object['keys'](_0x5211ab)){if(_0x5211ab[_0x200023]instanceof Object&&!Array['isArray'](_0x5211ab[_0x200023])){if(!_0x29b69d[_0x200023])Object['assign'](_0x29b69d,{[_0x200023]:{}});this['_deepMerge'](_0x29b69d[_0x200023],_0x5211ab[_0x200023]);}else{Object['assign'](_0x29b69d,{[_0x200023]:_0x5211ab[_0x200023]});}}return _0x29b69d;}['loadLocalesFromDir'](_0xd9cab1){try{if(!node_fs_1['default']['existsSync'](_0xd9cab1))return;const _0x496666=node_fs_1['default']['readdirSync'](_0xd9cab1)['filter'](_0x3ce9e2=>_0x3ce9e2['endsWith']('.json'));for(const _0xc8adf4 of _0x496666){try{const _0x34e007=_0xc8adf4['replace']('.json','');const _0x2349dd=node_path_1['default']['join'](_0xd9cab1,_0xc8adf4);const _0x21eb5b=JSON['parse'](node_fs_1['default']['readFileSync'](_0x2349dd,'utf8'));if(!_0x2349dd['includes']('node_modules/kythia-core')&&!_0x2349dd['includes']('kythia-core/src/lang')){this['hostLocales']['add'](_0x34e007);}if(this['locales']['has'](_0x34e007)){const _0x4ce70e=this['locales']['get'](_0x34e007);const _0x11a2fd=this['_deepMerge'](_0x4ce70e,_0x21eb5b);this['locales']['set'](_0x34e007,_0x11a2fd);let _0x4cbd17=_0xd9cab1;if(_0xd9cab1['includes']('addons')){const _0x1d4d09=node_path_1['default']['basename'](node_path_1['default']['dirname'](_0xd9cab1));_0x4cbd17='addon\x20'+_0x1d4d09;}else if(_0xd9cab1['endsWith']('src/lang')){_0x4cbd17='core';}else if(_0xd9cab1['endsWith']('lang')){_0x4cbd17='app';}this['logger']['debug']('🌐\x20Merged\x20locale\x20'+_0x34e007+'\x20from\x20'+_0x4cbd17);}else{this['locales']['set'](_0x34e007,_0x21eb5b);this['logger']['info']('🌐\x20Loaded\x20New\x20Language:\x20'+_0x34e007);}}catch(_0x3a581f){const _0x3de700=_0x3a581f instanceof Error?_0x3a581f:new Error(String(_0x3a581f));this['logger']['error']('Failed\x20to\x20load\x20language\x20file\x20'+_0xc8adf4+':',_0x3de700);}}}catch(_0x4ea59e){const _0x58c486=_0x4ea59e instanceof Error?_0x4ea59e:new Error(String(_0x4ea59e));this['logger']['error']('Failed\x20to\x20load\x20translations:',_0x58c486);}}['_getNestedValue'](_0x178a08,_0x305f07){if(!_0x305f07)return undefined;return _0x305f07['split']('.')['reduce']((_0x5e6ac9,_0xf14803)=>_0x5e6ac9&&_0x5e6ac9[_0xf14803]!==undefined?_0x5e6ac9[_0xf14803]:undefined,_0x178a08);}['_resolveLocale'](_0x219b42){if(!_0x219b42)return null;if(this['locales']['has'](_0x219b42))return _0x219b42;const _0x129c8d=_0x219b42['split']('-')[0xb0c*-0x3+0xd63+0x1*0x13c1]['toLowerCase']();const _0x9a2ea1=this['locales']['findKey']((_0x138c5a,_0x361256)=>_0x361256['toLowerCase']()['startsWith'](_0x129c8d+'-')||_0x361256['toLowerCase']()===_0x129c8d);if(_0x9a2ea1)return _0x9a2ea1;return null;}async['t'](_0x58ea65,_0x5c3ee7,_0x23e57b={},_0x4efa72=null){try{let _0x4e4490=_0x4efa72;if(!_0x4e4490&&_0x58ea65&&_0x58ea65['guildId']){if(this['guildLanguageCache']['has'](_0x58ea65['guildId'])){_0x4e4490=this['guildLanguageCache']['get'](_0x58ea65['guildId'])||null;}else{const _0x407aca=_0x58ea65['guildId'];if(!this['_pendingLanguageResolutions']['has'](_0x407aca)){const _0x474e49=this['languageResolver'](_0x407aca)['then'](_0x160f02=>{if(_0x160f02)this['guildLanguageCache']['set'](_0x407aca,_0x160f02);return _0x160f02;})['catch'](()=>null)['finally'](()=>this['_pendingLanguageResolutions']['delete'](_0x407aca));this['_pendingLanguageResolutions']['set'](_0x407aca,_0x474e49);}try{const _0x3a6cba=this['_pendingLanguageResolutions']['get'](_0x407aca);_0x4e4490=_0x3a6cba?await _0x3a6cba:null;}catch(_0x1741b6){_0x4e4490=null;}}}const _0x5a018b=(_0x4e4490?this['_resolveLocale'](_0x4e4490):null)??this['_resolveLocale'](this['defaultLang'])??this['locales']['firstKey']()??null;const _0x144095=_0x5a018b?this['locales']['get'](_0x5a018b):undefined;const _0x750750=this['_resolveLocale'](this['defaultLang'])??this['locales']['firstKey']()??null;const _0x5ade4b=_0x750750&&_0x750750!==_0x5a018b?this['locales']['get'](_0x750750):undefined;let _0x1303ee=_0x144095?this['_getNestedValue'](_0x144095,_0x5c3ee7):undefined;if(_0x1303ee===undefined&&_0x5ade4b){_0x1303ee=this['_getNestedValue'](_0x5ade4b,_0x5c3ee7);}if(_0x1303ee===undefined){for(const [_0x552846,_0x4d1fe9]of this['locales']){if(_0x552846===_0x5a018b||_0x552846===_0x750750)continue;const _0x3f6a5a=this['_getNestedValue'](_0x4d1fe9,_0x5c3ee7);if(_0x3f6a5a!==undefined){_0x1303ee=_0x3f6a5a;break;}}}if(_0x1303ee===undefined){this['logger']['error']('🌐\x20Missing\x20translation\x20key\x20\x22'+_0x5c3ee7+'\x22\x20(lang:\x20'+(_0x4e4490??'none')+'\x20->\x20'+(_0x5a018b??'none')+',\x20fallback:\x20'+(_0x750750??'none')+')');return'['+_0x5c3ee7+']';}for(const [_0x42aa38,_0x463cae]of Object['entries'](_0x23e57b)){_0x1303ee=_0x1303ee['replaceAll']('{'+_0x42aa38+'}',String(_0x463cae));}if(this['container']['engine']&&typeof this['container']['engine']['getServiceType']==='function'){const _0x29c820=this['container']['engine'];const _0x16bc18=_0x29c820['getServiceType']();const _0x30496e=_0x29c820['getServiceName']();if(_0x16bc18&&_0x16bc18!=='free'&&_0x30496e){_0x1303ee=_0x1303ee['replaceAll']('by\x20kenndeclouv','by\x20'+_0x30496e);}}return _0x1303ee;}catch(_0x1dbe0b){const _0x43b22b=_0x1dbe0b instanceof Error?_0x1dbe0b:new Error(String(_0x1dbe0b));this['logger']['error']('Translation\x20error:',_0x43b22b);this['container']['engine']?.['report']('error','Translation\x20Failed:\x20['+_0x5c3ee7+']',{'message':_0x43b22b['message'],'stack':_0x43b22b['stack']});return'['+_0x5c3ee7+']';}}['getLocales'](){const _0x579ac2=new discord_js_1['Collection']();for(const [_0x1bb0d1,_0x46324d]of this['locales']){if(this['hostLocales']['has'](_0x1bb0d1)||_0x1bb0d1===this['defaultLang']){_0x579ac2['set'](_0x1bb0d1,_0x46324d);}}return _0x579ac2;}}exports['default']=TranslatorManager;
1
+ 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x3eee48){return _0x3eee48&&_0x3eee48['__esModule']?_0x3eee48:{'default':_0x3eee48};};Object['defineProperty'](exports,'__esModule',{'value':!![]});const discord_js_1=require('discord.js');const node_path_1=__importDefault(require('node:path'));const node_fs_1=__importDefault(require('node:fs'));class TranslatorManager{['logger'];['config'];['guildLanguageCache'];['locales'];['hostLocales'];['defaultLang'];['languageResolver']=async()=>null;['_pendingLanguageResolutions']=new Map();['container'];constructor({container:_0x5c4593}){this['container']=_0x5c4593;this['logger']=_0x5c4593['logger'];this['config']=_0x5c4593['kythiaConfig'];this['guildLanguageCache']=new discord_js_1['Collection']();this['locales']=new discord_js_1['Collection']();this['hostLocales']=new Set();this['defaultLang']=this['config']['bot']['language']||'en-US';}['setLanguageResolver'](_0x2379ff){this['languageResolver']=_0x2379ff;}['_deepMerge'](_0x1398c0,_0x15741c){for(const _0x185890 of Object['keys'](_0x15741c)){if(_0x15741c[_0x185890]instanceof Object&&!Array['isArray'](_0x15741c[_0x185890])){if(!_0x1398c0[_0x185890])Object['assign'](_0x1398c0,{[_0x185890]:{}});this['_deepMerge'](_0x1398c0[_0x185890],_0x15741c[_0x185890]);}else{Object['assign'](_0x1398c0,{[_0x185890]:_0x15741c[_0x185890]});}}return _0x1398c0;}['loadLocalesFromDir'](_0x3657de){try{if(!node_fs_1['default']['existsSync'](_0x3657de))return;const _0x3ed836=node_fs_1['default']['readdirSync'](_0x3657de)['filter'](_0x4ffc7c=>_0x4ffc7c['endsWith']('.json'));for(const _0xe16236 of _0x3ed836){try{const _0x2257e6=_0xe16236['replace']('.json','');const _0x3571a5=node_path_1['default']['join'](_0x3657de,_0xe16236);const _0x12ad5f=JSON['parse'](node_fs_1['default']['readFileSync'](_0x3571a5,'utf8'));if(!_0x3571a5['includes']('node_modules/kythia-core')&&!_0x3571a5['includes']('kythia-core/src/lang')){this['hostLocales']['add'](_0x2257e6);}if(this['locales']['has'](_0x2257e6)){const _0x295324=this['locales']['get'](_0x2257e6);const _0x2709f8=this['_deepMerge'](_0x295324,_0x12ad5f);this['locales']['set'](_0x2257e6,_0x2709f8);let _0x70f115=_0x3657de;if(_0x3657de['includes']('addons')){const _0x512e35=node_path_1['default']['basename'](node_path_1['default']['dirname'](_0x3657de));_0x70f115='addon\x20'+_0x512e35;}else if(_0x3657de['endsWith']('src/lang')){_0x70f115='core';}else if(_0x3657de['endsWith']('lang')){_0x70f115='app';}this['logger']['debug']('🌐\x20Merged\x20locale\x20'+_0x2257e6+'\x20from\x20'+_0x70f115);}else{this['locales']['set'](_0x2257e6,_0x12ad5f);this['logger']['info']('🌐\x20Loaded\x20New\x20Language:\x20'+_0x2257e6);}}catch(_0x3bf374){const _0xecdbb=_0x3bf374 instanceof Error?_0x3bf374:new Error(String(_0x3bf374));this['logger']['error']('Failed\x20to\x20load\x20language\x20file\x20'+_0xe16236+':',_0xecdbb);}}}catch(_0x21c499){const _0xbc380a=_0x21c499 instanceof Error?_0x21c499:new Error(String(_0x21c499));this['logger']['error']('Failed\x20to\x20load\x20translations:',_0xbc380a);}}['_getNestedValue'](_0x56c1d0,_0x16e3b4){if(!_0x16e3b4)return undefined;return _0x16e3b4['split']('.')['reduce']((_0x54ac07,_0x1ea4b9)=>_0x54ac07&&_0x54ac07[_0x1ea4b9]!==undefined?_0x54ac07[_0x1ea4b9]:undefined,_0x56c1d0);}['_resolveLocale'](_0x1262ab){if(!_0x1262ab)return null;if(this['locales']['has'](_0x1262ab))return _0x1262ab;const _0x17b871=_0x1262ab['split']('-')[0x1b4a+0x20f1*-0x1+0x5a7*0x1]['toLowerCase']();const _0x566761=this['locales']['findKey']((_0x4f435d,_0x25b05e)=>_0x25b05e['toLowerCase']()['startsWith'](_0x17b871+'-')||_0x25b05e['toLowerCase']()===_0x17b871);if(_0x566761)return _0x566761;return null;}async['t'](_0x3f43c4,_0x5e77d9,_0x328784={},_0xcdddfd=null){try{let _0x36f5f3=_0xcdddfd;if(!_0x36f5f3&&_0x3f43c4&&_0x3f43c4['guildId']){if(this['guildLanguageCache']['has'](_0x3f43c4['guildId'])){_0x36f5f3=this['guildLanguageCache']['get'](_0x3f43c4['guildId'])||null;}else{const _0x2e11ea=_0x3f43c4['guildId'];if(!this['_pendingLanguageResolutions']['has'](_0x2e11ea)){const _0xfe68f2=this['languageResolver'](_0x2e11ea)['then'](_0x4729c4=>{if(_0x4729c4)this['guildLanguageCache']['set'](_0x2e11ea,_0x4729c4);return _0x4729c4;})['catch'](()=>null)['finally'](()=>this['_pendingLanguageResolutions']['delete'](_0x2e11ea));this['_pendingLanguageResolutions']['set'](_0x2e11ea,_0xfe68f2);}try{const _0x4cf919=this['_pendingLanguageResolutions']['get'](_0x2e11ea);_0x36f5f3=_0x4cf919?await _0x4cf919:null;}catch(_0x39dc3a){_0x36f5f3=null;}}}const _0x23a9bc=(_0x36f5f3?this['_resolveLocale'](_0x36f5f3):null)??this['_resolveLocale'](this['defaultLang'])??this['locales']['firstKey']()??null;const _0x4b816d=_0x23a9bc?this['locales']['get'](_0x23a9bc):undefined;const _0x248694=this['_resolveLocale'](this['defaultLang'])??this['locales']['firstKey']()??null;const _0x2f4c49=_0x248694&&_0x248694!==_0x23a9bc?this['locales']['get'](_0x248694):undefined;let _0x351091=_0x4b816d?this['_getNestedValue'](_0x4b816d,_0x5e77d9):undefined;if(_0x351091===undefined&&_0x2f4c49){_0x351091=this['_getNestedValue'](_0x2f4c49,_0x5e77d9);}if(_0x351091===undefined){for(const [_0x191c37,_0x41a1a5]of this['locales']){if(_0x191c37===_0x23a9bc||_0x191c37===_0x248694)continue;const _0x5810b0=this['_getNestedValue'](_0x41a1a5,_0x5e77d9);if(_0x5810b0!==undefined){_0x351091=_0x5810b0;break;}}}if(_0x351091===undefined){this['logger']['error']('🌐\x20Missing\x20translation\x20key\x20\x22'+_0x5e77d9+'\x22\x20(lang:\x20'+(_0x36f5f3??'none')+'\x20->\x20'+(_0x23a9bc??'none')+',\x20fallback:\x20'+(_0x248694??'none')+')');return'['+_0x5e77d9+']';}for(const [_0x3d4f2a,_0x57196c]of Object['entries'](_0x328784)){_0x351091=_0x351091['replaceAll']('{'+_0x3d4f2a+'}',String(_0x57196c));}if(this['container']['engine']&&typeof this['container']['engine']['getServiceType']==='function'){const _0x17b931=this['container']['engine'];const _0x4ee61b=_0x17b931['getServiceType']();const _0x1e2d1d=_0x17b931['getServiceName']();if(_0x4ee61b&&_0x4ee61b!=='free'&&_0x1e2d1d){_0x351091=_0x351091['replaceAll']('by\x20kenndeclouv','by\x20'+_0x1e2d1d);}}return _0x351091;}catch(_0x4ba807){const _0x475bcb=_0x4ba807 instanceof Error?_0x4ba807:new Error(String(_0x4ba807));this['logger']['error']('Translation\x20error:',_0x475bcb);this['container']['engine']?.['report']('error','Translation\x20Failed:\x20['+_0x5e77d9+']',{'message':_0x475bcb['message'],'stack':_0x475bcb['stack']});return'['+_0x5e77d9+']';}}['getLocales'](){const _0x274f7f=new discord_js_1['Collection']();for(const [_0x2284b2,_0x427fee]of this['locales']){if(this['hostLocales']['has'](_0x2284b2)||_0x2284b2===this['defaultLang']){_0x274f7f['set'](_0x2284b2,_0x427fee);}}return _0x274f7f;}}exports['default']=TranslatorManager;
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});const discord_js_1=require('discord.js');const formatPerms=_0x1902fb=>_0x1902fb['map'](_0x49abbe=>_0x49abbe['replace'](/([A-Z])/g,'\x20$1')['trim']())['join'](',\x20');const botPermissions={'name':'botPermissions','priority':0x6,async 'execute'(_0x4c577e,_0x958319,_0x3a75c8){if(!_0x958319['botPermissions']||!_0x4c577e['inGuild']()||!_0x4c577e['guild'])return!![];const _0x54a322=_0x4c577e['guild']['members']['me'];if(!_0x54a322)return!![];const _0x4e2d09=_0x54a322['permissions']['missing'](_0x958319['botPermissions']);if(_0x4e2d09['length']>0x18e*0x17+0xc68+0x1815*-0x2){if(_0x4c577e['isRepliable']()){await _0x4c577e['reply']({'components':[new discord_js_1['ContainerBuilder']()['setAccentColor'](-0xe78f*0xbf+0x616d57+0x14a565a)['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](await _0x3a75c8['t'](_0x4c577e,'common.error.bot.missing.perms',{'perms':formatPerms(_0x4e2d09)})))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]))['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](await _0x3a75c8['t'](_0x4c577e,'common.container.footer',{'username':_0x3a75c8['client']['user']?.['username']||'Kythia'})))],'flags':discord_js_1['MessageFlags']['Ephemeral']|discord_js_1['MessageFlags']['IsComponentsV2']});}return![];}return!![];}};exports['default']=botPermissions;
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});const discord_js_1=require('discord.js');const formatPerms=_0x29b000=>_0x29b000['map'](_0x1ff829=>_0x1ff829['replace'](/([A-Z])/g,'\x20$1')['trim']())['join'](',\x20');const botPermissions={'name':'botPermissions','priority':0x6,async 'execute'(_0x59f2b0,_0x2f4e97,_0x3d5879){if(!_0x2f4e97['botPermissions']||!_0x59f2b0['inGuild']()||!_0x59f2b0['guild'])return!![];const _0x10a2ba=_0x59f2b0['guild']['members']['me'];if(!_0x10a2ba)return!![];const _0x27f0bb=_0x10a2ba['permissions']['missing'](_0x2f4e97['botPermissions']);if(_0x27f0bb['length']>-0x1d27+0x2628+-0x901*0x1){if(_0x59f2b0['isRepliable']()){await _0x59f2b0['reply']({'components':[new discord_js_1['ContainerBuilder']()['setAccentColor'](-0xf0c20a+0x13706d2+0xb8bb38)['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](await _0x3d5879['t'](_0x59f2b0,'common.error.bot.missing.perms',{'perms':formatPerms(_0x27f0bb)})))['addSeparatorComponents'](new discord_js_1['SeparatorBuilder']()['setSpacing'](discord_js_1['SeparatorSpacingSize']['Small'])['setDivider'](!![]))['addTextDisplayComponents'](new discord_js_1['TextDisplayBuilder']()['setContent'](await _0x3d5879['t'](_0x59f2b0,'common.container.footer',{'username':_0x3d5879['client']['user']?.['username']||'Kythia'})))],'flags':discord_js_1['MessageFlags']['Ephemeral']|discord_js_1['MessageFlags']['IsComponentsV2']});}return![];}return!![];}};exports['default']=botPermissions;
@@ -1 +1 @@
1
- {"version":3,"file":"cooldown.d.ts","sourceRoot":"","sources":["../../src/middlewares/cooldown.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AAElE,QAAA,MAAM,QAAQ,EAAE,gBAmEf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"cooldown.d.ts","sourceRoot":"","sources":["../../src/middlewares/cooldown.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AA2FlE,QAAA,MAAM,QAAQ,EAAE,gBAyDf,CAAC;AAEF,eAAe,QAAQ,CAAC"}