xypriss 1.2.4 → 1.3.1

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 (109) hide show
  1. package/README.md +51 -3
  2. package/dist/cjs/mods/security/src/components/cache/index.js +1 -1
  3. package/dist/cjs/shared/logger/Logger.js +2 -0
  4. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  5. package/dist/cjs/src/cluster/bun-cluster-manager.js +1567 -0
  6. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -0
  7. package/dist/cjs/src/cluster/cluster-manager.js +1 -1
  8. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  9. package/dist/cjs/src/cluster/index.js +25 -6
  10. package/dist/cjs/src/cluster/index.js.map +1 -1
  11. package/dist/cjs/src/cluster/memory-manager.js +486 -0
  12. package/dist/cjs/src/cluster/memory-manager.js.map +1 -0
  13. package/dist/cjs/src/cluster/modules/BunIPCManager.js +603 -0
  14. package/dist/cjs/src/cluster/modules/BunIPCManager.js.map +1 -0
  15. package/dist/cjs/src/cluster/modules/ClusterFactory.js +22 -1
  16. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +1 -1
  17. package/dist/cjs/src/cluster/modules/CpuMonitor.js +658 -0
  18. package/dist/cjs/src/cluster/modules/CpuMonitor.js.map +1 -0
  19. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +257 -0
  20. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  21. package/dist/cjs/src/cluster/modules/ProcessMonitor.js +513 -0
  22. package/dist/cjs/src/cluster/modules/ProcessMonitor.js.map +1 -0
  23. package/dist/cjs/src/plugins/server-maintenance-plugin.js +79 -14
  24. package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
  25. package/dist/cjs/src/server/FastServer.js +64 -43
  26. package/dist/cjs/src/server/FastServer.js.map +1 -1
  27. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  28. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  29. package/dist/cjs/src/server/const/Cluster.config.js +174 -31
  30. package/dist/cjs/src/server/const/Cluster.config.js.map +1 -1
  31. package/dist/cjs/src/server/const/default.js +11 -2
  32. package/dist/cjs/src/server/const/default.js.map +1 -1
  33. package/dist/cjs/src/server/utils/PortManager.js +26 -15
  34. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  35. package/dist/esm/mods/security/src/components/cache/index.js +1 -1
  36. package/dist/esm/shared/logger/Logger.js +2 -0
  37. package/dist/esm/shared/logger/Logger.js.map +1 -1
  38. package/dist/esm/src/cluster/bun-cluster-manager.js +1565 -0
  39. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -0
  40. package/dist/esm/src/cluster/cluster-manager.js +1 -1
  41. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  42. package/dist/esm/src/cluster/index.js +25 -6
  43. package/dist/esm/src/cluster/index.js.map +1 -1
  44. package/dist/esm/src/cluster/memory-manager.js +484 -0
  45. package/dist/esm/src/cluster/memory-manager.js.map +1 -0
  46. package/dist/esm/src/cluster/modules/BunIPCManager.js +601 -0
  47. package/dist/esm/src/cluster/modules/BunIPCManager.js.map +1 -0
  48. package/dist/esm/src/cluster/modules/ClusterFactory.js +22 -1
  49. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +1 -1
  50. package/dist/esm/src/cluster/modules/CpuMonitor.js +656 -0
  51. package/dist/esm/src/cluster/modules/CpuMonitor.js.map +1 -0
  52. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +255 -0
  53. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  54. package/dist/esm/src/cluster/modules/ProcessMonitor.js +511 -0
  55. package/dist/esm/src/cluster/modules/ProcessMonitor.js.map +1 -0
  56. package/dist/esm/src/plugins/server-maintenance-plugin.js +79 -14
  57. package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
  58. package/dist/esm/src/server/FastServer.js +64 -43
  59. package/dist/esm/src/server/FastServer.js.map +1 -1
  60. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  61. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  62. package/dist/esm/src/server/const/Cluster.config.js +174 -31
  63. package/dist/esm/src/server/const/Cluster.config.js.map +1 -1
  64. package/dist/esm/src/server/const/default.js +11 -2
  65. package/dist/esm/src/server/const/default.js.map +1 -1
  66. package/dist/esm/src/server/utils/PortManager.js +26 -15
  67. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  68. package/dist/index.d.ts +90 -2
  69. package/package.json +6 -1
  70. package/dist/cjs/src/plugins/modules/network/index.js +0 -120
  71. package/dist/cjs/src/plugins/modules/network/index.js.map +0 -1
  72. package/dist/cjs/src/server/plugins/PluginEngine.js +0 -378
  73. package/dist/cjs/src/server/plugins/PluginEngine.js.map +0 -1
  74. package/dist/cjs/src/server/plugins/PluginRegistry.js +0 -339
  75. package/dist/cjs/src/server/plugins/PluginRegistry.js.map +0 -1
  76. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js +0 -591
  77. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  78. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js +0 -413
  79. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  80. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js +0 -843
  81. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  82. package/dist/cjs/src/server/plugins/core/CachePlugin.js +0 -1975
  83. package/dist/cjs/src/server/plugins/core/CachePlugin.js.map +0 -1
  84. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js +0 -894
  85. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  86. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js +0 -799
  87. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  88. package/dist/cjs/src/server/plugins/types/PluginTypes.js +0 -47
  89. package/dist/cjs/src/server/plugins/types/PluginTypes.js.map +0 -1
  90. package/dist/esm/src/plugins/modules/network/index.js +0 -109
  91. package/dist/esm/src/plugins/modules/network/index.js.map +0 -1
  92. package/dist/esm/src/server/plugins/PluginEngine.js +0 -376
  93. package/dist/esm/src/server/plugins/PluginEngine.js.map +0 -1
  94. package/dist/esm/src/server/plugins/PluginRegistry.js +0 -337
  95. package/dist/esm/src/server/plugins/PluginRegistry.js.map +0 -1
  96. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js +0 -589
  97. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  98. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js +0 -411
  99. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  100. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js +0 -841
  101. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  102. package/dist/esm/src/server/plugins/core/CachePlugin.js +0 -1973
  103. package/dist/esm/src/server/plugins/core/CachePlugin.js.map +0 -1
  104. package/dist/esm/src/server/plugins/core/PerformancePlugin.js +0 -872
  105. package/dist/esm/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  106. package/dist/esm/src/server/plugins/core/SecurityPlugin.js +0 -797
  107. package/dist/esm/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  108. package/dist/esm/src/server/plugins/types/PluginTypes.js +0 -47
  109. package/dist/esm/src/server/plugins/types/PluginTypes.js.map +0 -1
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var clusterManager = require('../../../cluster/cluster-manager.js');
4
+ var bunClusterManager = require('../../../cluster/bun-cluster-manager.js');
4
5
  var Logger = require('../../../../shared/logger/Logger.js');
6
+ var BunIPCManager = require('../../../cluster/modules/BunIPCManager.js');
5
7
 
6
8
  /**
7
9
  * Check if the current runtime supports clustering
@@ -38,16 +40,51 @@ class ClusterManagerComponent {
38
40
  initializeCluster() {
39
41
  if (!this.options.cluster?.enabled)
40
42
  return;
43
+ // Check for cluster bypass environment variables
44
+ if (process.env.DISABLE_CLUSTERING === "true" ||
45
+ process.env.SINGLE_PROCESS === "true") {
46
+ Logger.logger.info("cluster", "Clustering disabled via environment variable, enabling single-process mode");
47
+ this._enableSingleProcessFallback();
48
+ return;
49
+ }
50
+ // Prevent workers from creating their own clusters (fix recursive clustering)
51
+ if (process.env.CLUSTER_MODE === "true" ||
52
+ process.env.NODE_ENV === "worker") {
53
+ Logger.logger.debug("cluster", "Running in worker mode - skipping cluster initialization");
54
+ return;
55
+ }
56
+ // Check if we're running in Bun
57
+ if (process.versions.bun) {
58
+ Logger.logger.info("cluster", "Bun runtime detected. Using Bun-compatible cluster manager.");
59
+ this.initializeBunCluster();
60
+ return;
61
+ }
41
62
  // Check if clustering is supported in current runtime
42
63
  if (!isClusteringSupported()) {
43
- Logger.logger.warn("cluster", "Clustering not supported in current runtime (Bun detected). Disabling cluster functionality.");
64
+ Logger.logger.warn("cluster", "Clustering not supported in current runtime. Disabling cluster functionality.");
44
65
  return;
45
66
  }
46
- Logger.logger.debug("cluster", "Initializing cluster manager...");
67
+ Logger.logger.debug("cluster", "Initializing Node.js cluster manager...");
47
68
  this.cluster = new clusterManager.ClusterManager(this.options.cluster.config || {});
48
69
  // Add cluster methods to app immediately when cluster is configured
49
70
  this.addClusterMethods();
50
- Logger.logger.debug("cluster", "Cluster manager initialized");
71
+ Logger.logger.debug("cluster", "Node.js cluster manager initialized");
72
+ }
73
+ /**
74
+ * Initialize Bun cluster manager
75
+ */
76
+ initializeBunCluster() {
77
+ Logger.logger.debug("cluster", "Initializing Bun cluster manager...");
78
+ // Get base port from server options or default
79
+ const basePort = this.dependencies.serverOptions?.port || 8085;
80
+ this.bunCluster = new bunClusterManager.BunClusterManager(this.options.cluster?.config || {}, basePort);
81
+ // Initialize IPC manager for Bun workers
82
+ this.ipcManager = new BunIPCManager.BunIPCManager();
83
+ // Connect IPC manager to cluster manager
84
+ this.bunCluster.setIPCManager(this.ipcManager);
85
+ // Add Bun cluster methods to app
86
+ this.addBunClusterMethods();
87
+ Logger.logger.debug("cluster", "Bun cluster manager initialized");
51
88
  }
52
89
  /**
53
90
  * Get cluster manager instance
@@ -55,11 +92,18 @@ class ClusterManagerComponent {
55
92
  getCluster() {
56
93
  return this.cluster;
57
94
  }
95
+ /**
96
+ * Get Bun cluster manager instance
97
+ */
98
+ getBunCluster() {
99
+ return this.bunCluster;
100
+ }
58
101
  /**
59
102
  * Check if cluster is enabled
60
103
  */
61
104
  isClusterEnabled() {
62
- return this.options.cluster?.enabled === true;
105
+ return (this.options.cluster?.enabled === true &&
106
+ (this.cluster !== undefined || this.bunCluster !== undefined));
63
107
  }
64
108
  /**
65
109
  * Add cluster management methods to the Express app
@@ -108,6 +152,112 @@ class ClusterManagerComponent {
108
152
  // logger.debug(
109
153
  // "cluster","Cluster methods added to app");
110
154
  }
155
+ /**
156
+ * Add Bun cluster management methods to the Express app
157
+ */
158
+ addBunClusterMethods() {
159
+ if (!this.bunCluster)
160
+ return;
161
+ Logger.logger.debug("cluster", "Adding Bun cluster methods to app...");
162
+ // Cluster scaling methods
163
+ this.dependencies.app.scaleUp = async (count = 1) => {
164
+ return await this.bunCluster.scaleUp(count);
165
+ };
166
+ this.dependencies.app.scaleDown = async (count = 1) => {
167
+ return await this.bunCluster.scaleDown(count);
168
+ };
169
+ this.dependencies.app.autoScale = async () => {
170
+ // Simple auto-scaling logic for Bun
171
+ const metrics = await this.bunCluster.getMetrics();
172
+ const activeWorkers = this.bunCluster.getActiveWorkers();
173
+ if (activeWorkers.length < 2 && metrics.cpuUsage > 80) {
174
+ await this.bunCluster.scaleUp(1);
175
+ }
176
+ else if (activeWorkers.length > 1 && metrics.cpuUsage < 30) {
177
+ await this.bunCluster.scaleDown(1);
178
+ }
179
+ };
180
+ // Cluster information methods
181
+ this.dependencies.app.getClusterMetrics = async () => {
182
+ return await this.bunCluster.getMetrics();
183
+ };
184
+ this.dependencies.app.getClusterHealth = async () => {
185
+ return await this.bunCluster.checkHealth();
186
+ };
187
+ this.dependencies.app.getAllWorkers = () => {
188
+ return this.bunCluster.getAllWorkers();
189
+ };
190
+ this.dependencies.app.getOptimalWorkerCount = async () => {
191
+ // Simple calculation for Bun
192
+ const cpuCount = navigator.hardwareConcurrency || 4;
193
+ return Math.max(1, cpuCount - 1);
194
+ };
195
+ // Cluster management methods
196
+ this.dependencies.app.restartCluster = async () => {
197
+ await this.bunCluster.stop(true);
198
+ await this.bunCluster.start();
199
+ };
200
+ this.dependencies.app.stopCluster = async (graceful = true) => {
201
+ return await this.bunCluster?.stop(graceful);
202
+ };
203
+ // IPC methods using BunIPCManager
204
+ this.dependencies.app.broadcastToWorkers = async (message) => {
205
+ if (!this.ipcManager) {
206
+ throw new Error("IPC Manager not initialized");
207
+ }
208
+ Logger.logger.info("cluster", "Broadcasting to Bun workers:", message);
209
+ try {
210
+ await this.ipcManager.broadcastToWorkers("app_message", message);
211
+ Logger.logger.debug("cluster", "Broadcast completed successfully");
212
+ }
213
+ catch (error) {
214
+ Logger.logger.error("cluster", "Failed to broadcast message:", error);
215
+ throw error;
216
+ }
217
+ };
218
+ this.dependencies.app.sendToRandomWorker = async (message) => {
219
+ if (!this.ipcManager) {
220
+ throw new Error("IPC Manager not initialized");
221
+ }
222
+ Logger.logger.info("cluster", "Sending to random Bun worker:", message);
223
+ try {
224
+ await this.ipcManager.sendToRandomWorker("app_message", message);
225
+ Logger.logger.debug("cluster", "Message sent to random worker successfully");
226
+ }
227
+ catch (error) {
228
+ Logger.logger.error("cluster", "Failed to send message to random worker:", error);
229
+ throw error;
230
+ }
231
+ };
232
+ Logger.logger.debug("cluster", "Bun cluster methods added to app");
233
+ }
234
+ /**
235
+ * Setup Bun cluster event handlers
236
+ */
237
+ setupBunClusterEventHandlers() {
238
+ if (!this.bunCluster)
239
+ return;
240
+ Logger.logger.debug("cluster", "Setting up Bun cluster event handlers...");
241
+ this.bunCluster.on("cluster:started", (data) => {
242
+ Logger.logger.info("cluster", `Bun cluster started with ${data.workerCount} workers`);
243
+ });
244
+ this.bunCluster.on("worker:started", (data) => {
245
+ Logger.logger.info("cluster", `Bun worker ${data.workerId} started on port ${data.port}`);
246
+ });
247
+ this.bunCluster.on("worker:stopped", (data) => {
248
+ Logger.logger.info("cluster", `Bun worker ${data.workerId} stopped`);
249
+ });
250
+ this.bunCluster.on("worker:exit", (data) => {
251
+ Logger.logger.warn("cluster", `Bun worker ${data.workerId} exited with code ${data.exitCode}`);
252
+ });
253
+ this.bunCluster.on("metrics:collected", (metrics) => {
254
+ Logger.logger.debug("cluster", "Bun cluster metrics collected:", metrics);
255
+ });
256
+ this.bunCluster.on("cluster:stopped", () => {
257
+ Logger.logger.info("cluster", "Bun cluster stopped");
258
+ });
259
+ Logger.logger.debug("cluster", "Bun cluster event handlers setup complete");
260
+ }
111
261
  /**
112
262
  * Add cluster monitoring endpoints
113
263
  */
@@ -115,7 +265,7 @@ class ClusterManagerComponent {
115
265
  if (!this.cluster || !this.options.cluster?.enabled)
116
266
  return;
117
267
  // Cluster health endpoint
118
- this.dependencies.app.get(basePoint + "/health/cluster", async (req, res) => {
268
+ this.dependencies.app.get(basePoint + "/health/cluster", async (_req, res) => {
119
269
  try {
120
270
  const clusterHealth = await this.cluster.checkHealth();
121
271
  const clusterMetrics = await this.cluster.getMetrics();
@@ -177,7 +327,7 @@ class ClusterManagerComponent {
177
327
  }
178
328
  });
179
329
  // Cluster restart endpoint
180
- this.dependencies.app.post(basePoint + "/cluster/restart", async (req, res) => {
330
+ this.dependencies.app.post(basePoint + "/cluster/restart", async (_req, res) => {
181
331
  try {
182
332
  await this.cluster.restart();
183
333
  res.json({
@@ -241,27 +391,93 @@ class ClusterManagerComponent {
241
391
  * Start cluster manager
242
392
  */
243
393
  async startCluster() {
394
+ // Handle Bun cluster
395
+ if (this.bunCluster) {
396
+ try {
397
+ Logger.logger.debug("cluster", "Starting Bun cluster...");
398
+ await this.bunCluster.start();
399
+ this.setupBunClusterEventHandlers();
400
+ Logger.logger.debug("cluster", "Bun cluster started successfully");
401
+ }
402
+ catch (error) {
403
+ Logger.logger.error("cluster", "Failed to start Bun cluster:", error.message);
404
+ // Fallback: disable clustering and continue in single-process mode
405
+ Logger.logger.warn("cluster", "Attempting fallback to single-process mode...");
406
+ try {
407
+ await this._enableSingleProcessFallback();
408
+ Logger.logger.info("cluster", "Successfully fell back to single-process mode");
409
+ }
410
+ catch (fallbackError) {
411
+ Logger.logger.error("cluster", "Fallback mode also failed:", fallbackError.message);
412
+ throw error; // Throw original error
413
+ }
414
+ return;
415
+ }
416
+ }
417
+ // Handle Node.js cluster
244
418
  if (!this.cluster)
245
419
  return;
246
420
  try {
247
- Logger.logger.debug("cluster", "Starting cluster...");
421
+ Logger.logger.debug("cluster", "Starting Node.js cluster...");
248
422
  await this.cluster.start();
249
423
  this.setupClusterEventHandlers();
250
- Logger.logger.debug("cluster", "Cluster started successfully");
424
+ Logger.logger.debug("cluster", "Node.js cluster started successfully");
251
425
  }
252
426
  catch (error) {
253
- Logger.logger.error("cluster", "Failed to start cluster:", error.message);
427
+ Logger.logger.error("cluster", "Failed to start Node.js cluster:", error.message);
254
428
  throw error;
255
429
  }
256
430
  }
431
+ /**
432
+ * Enable single-process fallback mode
433
+ */
434
+ async _enableSingleProcessFallback() {
435
+ Logger.logger.info("cluster", "Enabling single-process fallback mode");
436
+ // Disable clustering by setting cluster references to null
437
+ this.bunCluster = undefined;
438
+ this.cluster = undefined;
439
+ // Update app methods to work in single-process mode
440
+ this.dependencies.app.broadcastToWorkers = async (message) => {
441
+ Logger.logger.debug("cluster", "Single-process mode: broadcast ignored", message);
442
+ // In single-process mode, there are no workers to broadcast to
443
+ };
444
+ this.dependencies.app.sendToRandomWorker = async (message) => {
445
+ Logger.logger.debug("cluster", "Single-process mode: sendToRandomWorker ignored", message);
446
+ // In single-process mode, there are no workers to send to
447
+ };
448
+ // Update cluster management methods to no-ops
449
+ this.dependencies.app.restartCluster = async () => {
450
+ Logger.logger.warn("cluster", "Single-process mode: cluster restart not available");
451
+ throw new Error("Cluster restart not available in single-process mode");
452
+ };
453
+ this.dependencies.app.stopCluster = async () => {
454
+ Logger.logger.warn("cluster", "Single-process mode: cluster stop not available");
455
+ throw new Error("Cluster stop not available in single-process mode");
456
+ };
457
+ Logger.logger.info("cluster", "Single-process fallback mode enabled successfully");
458
+ }
257
459
  /**
258
460
  * Stop cluster manager
259
461
  */
260
462
  async stopCluster(graceful = true) {
463
+ // Handle Bun cluster
464
+ if (this.bunCluster) {
465
+ try {
466
+ Logger.logger.debug("cluster", "Stopping Bun cluster...");
467
+ await this.bunCluster.stop(graceful);
468
+ Logger.logger.debug("cluster", "Bun cluster stopped successfully");
469
+ }
470
+ catch (error) {
471
+ Logger.logger.error("cluster", "Failed to stop Bun cluster:", error.message);
472
+ throw error;
473
+ }
474
+ return;
475
+ }
476
+ // Handle Node.js cluster
261
477
  if (!this.cluster)
262
478
  return;
263
479
  try {
264
- Logger.logger.debug("cluster", "Stopping cluster...");
480
+ Logger.logger.debug("cluster", "Stopping Node.js cluster...");
265
481
  await this.cluster.stop(graceful);
266
482
  Logger.logger.debug("cluster", "Cluster stopped successfully");
267
483
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":["logger","ClusterManager"],"mappings":"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"}
1
+ {"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":["logger","ClusterManager","BunClusterManager","BunIPCManager"],"mappings":";;;;;;;AASA;;AAEG;AACH,SAAS,qBAAqB,GAAA;;AAE1B,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;AACtB,QAAA,OAAO,KAAK,CAAC;KAChB;;AAGD,IAAA,IAAI;AACA,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,QAAA,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;KAC7C;AAAC,IAAA,MAAM;AACJ,QAAA,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAED;;;AAGG;MACU,uBAAuB,CAAA;IAOhC,WACI,CAAA,OAAuC,EACvC,YAAiD,EAAA;AAEjD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;AAED;;AAEG;IACK,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO;;AAG3C,QAAA,IACI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;AACzC,YAAA,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EACvC;AACE,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,4EAA4E,CAC/E,CAAC;YACF,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,OAAO;SACV;;AAGD,QAAA,IACI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;AACnC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EACnC;AACE,YAAAA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,0DAA0D,CAC7D,CAAC;YACF,OAAO;SACV;;AAGD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;AACtB,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,6DAA6D,CAChE,CAAC;YACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;SACV;;AAGD,QAAA,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAC1B,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,+EAA+E,CAClF,CAAC;YACF,OAAO;SACV;AAED,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;AAEnE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAIC,6BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;;QAGrE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAEzB,QAAAD,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;KAClE;AAED;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;;QAG/D,MAAM,QAAQ,GAAI,IAAI,CAAC,YAAY,CAAC,aAAqB,EAAE,IAAI,IAAI,IAAI,CAAC;AAExE,QAAA,IAAI,CAAC,UAAU,GAAG,IAAIE,mCAAiB,CACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAClC,QAAQ,CACX,CAAC;;AAGF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAIC,2BAAa,EAAE,CAAC;;QAGtC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;QAG/C,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE5B,QAAAH,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;KAC9D;AAED;;AAEG;IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED;;AAEG;IACI,aAAa,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED;;AAEG;IACI,gBAAgB,GAAA;QACnB,QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;AACtC,aAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,EAC/D;KACL;AAED;;AAEG;IACK,iBAAiB,GAAA;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;;AAG5D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YACxD,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9C,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YAC1D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAW;AACzC,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;AAC3C,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAW;AACjD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,UAAU,EAAE,CAAC;AAC5C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAW;AAChD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,EAAE,CAAC;AAC7C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,GAAG,MAAK;AACvC,YAAA,OAAO,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC;AACzC,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,GAAG,YAAW;AACrD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,qBAAqB,EAAE,CAAC;AACvD,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;AAC9C,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;AACzC,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,OAChC,QAAA,GAAoB,IAAI,KACxB;YACA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,OAAY,KAAI;YAC9D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAClD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,OAAY,KAAI;YAC9D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3D,SAAC,CAAC;;;KAIL;AAED;;AAEG;IACK,oBAAoB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;AAE7B,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;;AAGhE,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YACxD,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YAC1D,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAW;;YAEzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAW,CAAC,gBAAgB,EAAE,CAAC;AAE1D,YAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE;gBACnD,MAAM,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACrC;AAAM,iBAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE;gBAC1D,MAAM,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACvC;AACL,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAW;AACjD,YAAA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,EAAE,CAAC;AAC/C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAW;AAChD,YAAA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC;AAChD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,GAAG,MAAK;AACvC,YAAA,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,EAAE,CAAC;AAC5C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,GAAG,YAAW;;AAErD,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AACrC,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;YAC9C,MAAM,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,YAAA,MAAM,IAAI,CAAC,UAAW,CAAC,KAAK,EAAE,CAAC;AACnC,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,OAChC,QAAA,GAAoB,IAAI,KACxB;YACA,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACDA,aAAM,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAC;AAChE,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpC,aAAa,EACb,OAAO,CACV,CAAC;AACF,gBAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACZA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;AAC/D,gBAAA,MAAM,KAAK,CAAC;aACf;AACL,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACDA,aAAM,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAC;AACjE,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpC,aAAa,EACb,OAAO,CACV,CAAC;AACF,gBAAAA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,4CAA4C,CAC/C,CAAC;aACL;YAAC,OAAO,KAAK,EAAE;gBACZA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,0CAA0C,EAC1C,KAAK,CACR,CAAC;AACF,gBAAA,MAAM,KAAK,CAAC;aACf;AACL,SAAC,CAAC;AAEF,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;KAC/D;AAED;;AAEG;IACK,4BAA4B,GAAA;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;AAE7B,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,KAAI;YAC3CA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,CAA4B,yBAAA,EAAA,IAAI,CAAC,WAAW,CAAU,QAAA,CAAA,CACzD,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,KAAI;AAC1C,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,IAAI,CAAA,CAAE,CAC7D,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,KAAI;YAC1CA,aAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAU,QAAA,CAAA,CAAC,CAAC;AAClE,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,KAAI;AACvC,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,qBAAqB,IAAI,CAAC,QAAQ,CAAA,CAAE,CAClE,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAI;YAChDA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,gCAAgC,EAAE,OAAO,CAAC,CAAC;AACvE,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAK;AACvC,YAAAA,aAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;AAEH,QAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;KACxE;AAED;;AAEG;AACI,IAAA,6BAA6B,CAAC,SAAiB,EAAA;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO;;AAG5D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CACrB,SAAS,GAAG,iBAAiB,EAC7B,OAAO,IAAI,EAAE,GAAG,KAAI;AAChB,YAAA,IAAI;gBACA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,EAAE,CAAC;gBACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,UAAU,EAAE,CAAC;gBAExD,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACnC,oBAAA,OAAO,EAAE;AACL,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE;AACzC,qBAAA;AACJ,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,kCAAkC;oBACzC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,gBAAgB,EAC5B,OAAO,GAAG,EAAE,GAAG,KAAI;AACf,YAAA,IAAI;gBACA,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;AAEvC,gBAAA,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,CAAgB,aAAA,EAAA,KAAK,CAAU,QAAA,CAAA;wBACxC,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;AAAM,qBAAA,IAAI,MAAM,KAAK,MAAM,EAAE;oBAC1B,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,CAAkB,eAAA,EAAA,KAAK,CAAU,QAAA,CAAA;wBAC1C,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;AAAM,qBAAA,IAAI,MAAM,KAAK,MAAM,EAAE;AAC1B,oBAAA,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,OAAO,EAAE,wBAAwB;wBACjC,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;qBAAM;AACH,oBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,wBAAA,KAAK,EAAE,6CAA6C;AACvD,qBAAA,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,yBAAyB;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,kBAAkB,EAC9B,OAAO,IAAI,EAAE,GAAG,KAAI;AAChB,YAAA,IAAI;AACA,gBAAA,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE,2BAA2B;AACvC,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,2BAA2B;oBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,oBAAoB,EAChC,OAAO,GAAG,EAAE,GAAG,KAAI;AACf,YAAA,IAAI;AACA,gBAAA,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE,oCAAoC;AAChD,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,6BAA6B;oBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;KACL;AAED;;AAEG;IACI,yBAAyB,GAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;AAG1B,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAgB,EAAE,GAAW,KAAI;YAChEA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAkB,eAAA,EAAA,QAAQ,CAAU,OAAA,EAAA,GAAG,CAAG,CAAA,CAAA,CAAC,CAAC;AACxE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,aAAa,EACb,CAAC,QAAgB,EAAE,IAAY,EAAE,MAAc,KAAI;AAC/C,YAAAA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAA,OAAA,EAAU,QAAQ,CAAA,aAAA,EAAgB,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,CAAA,CAAG,CAC/D,CAAC;AACN,SAAC,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,kBAAkB,EAClB,CAAC,QAAgB,EAAE,MAAc,KAAI;YACjCA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAU,OAAA,EAAA,QAAQ,CAAuB,oBAAA,EAAA,MAAM,CAAG,CAAA,CAAA,CACrD,CAAC;AACN,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,gBAAgB,EAChB,CAAC,MAAc,EAAE,WAAmB,KAAI;YACpCA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAW,QAAA,EAAA,MAAM,CAAiB,cAAA,EAAA,WAAW,CAAU,QAAA,CAAA,CAC1D,CAAC;AACN,SAAC,CACJ,CAAC;;QAGF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAW,KAAI;AAC7C,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC9BA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,CAA4B,yBAAA,EAAA,MAAM,CAAC,OAAO,CAAE,CAAA,CAC/C,CAAC;aACL;AACL,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;;AAErB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI;AACA,gBAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;AACnD,gBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,4BAA4B,EAAE,CAAC;AACpC,gBAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACjBA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,8BAA8B,EAC9B,KAAK,CAAC,OAAO,CAChB,CAAC;;AAGF,gBAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,+CAA+C,CAClD,CAAC;AACF,gBAAA,IAAI;AACA,oBAAA,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;AAC1C,oBAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,+CAA+C,CAClD,CAAC;iBACL;gBAAC,OAAO,aAAkB,EAAE;oBACzBA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,4BAA4B,EAC5B,aAAa,CAAC,OAAO,CACxB,CAAC;oBACF,MAAM,KAAK,CAAC;iBACf;gBACD,OAAO;aACV;SACJ;;QAGD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,IAAI;AACA,YAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AACvD,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,YAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;SACnE;QAAC,OAAO,KAAU,EAAE;YACjBA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,kCAAkC,EAClC,KAAK,CAAC,OAAO,CAChB,CAAC;AACF,YAAA,MAAM,KAAK,CAAC;SACf;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,4BAA4B,GAAA;AACtC,QAAAA,aAAM,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;;AAGhE,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;;QAGzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;YACfA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,wCAAwC,EACxC,OAAO,CACV,CAAC;;AAEN,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;YACfA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,iDAAiD,EACjD,OAAO,CACV,CAAC;;AAEN,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;AAC9C,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,oDAAoD,CACvD,CAAC;AACF,YAAA,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAC;AACN,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,YAAW;AAC3C,YAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,iDAAiD,CACpD,CAAC;AACF,YAAA,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;AACN,SAAC,CAAC;AAEF,QAAAA,aAAM,CAAC,IAAI,CACP,SAAS,EACT,mDAAmD,CACtD,CAAC;KACL;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,CAAC,QAAA,GAAoB,IAAI,EAAA;;AAE7C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI;AACA,gBAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,gBAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACjBA,aAAM,CAAC,KAAK,CACR,SAAS,EACT,6BAA6B,EAC7B,KAAK,CAAC,OAAO,CAChB,CAAC;AACF,gBAAA,MAAM,KAAK,CAAC;aACf;YACD,OAAO;SACV;;QAGD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,IAAI;AACA,YAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,YAAAA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;SAC3D;QAAC,OAAO,KAAU,EAAE;YACjBA,aAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAClE,YAAA,MAAM,KAAK,CAAC;SACf;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACH,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,qBAAqB;aACjC,CAAC;SACL;AAED,QAAA,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAE7C,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,OAAO;AACP,gBAAA,OAAO,EAAE;oBACL,KAAK,EAAE,OAAO,CAAC,MAAM;AACrB,oBAAA,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;yBACvD,MAAM;AACX,oBAAA,IAAI,EAAE,OAAO;AAChB,iBAAA;AACD,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;SACL;QAAC,OAAO,KAAU,EAAE;YACjB,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,OAAO;AACpB,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;SACL;KACJ;AAED;;AAEG;IACI,aAAa,GAAA;AAChB,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;KAC5C;AAED;;AAEG;IACI,gBAAgB,GAAA;QACnB,OAAO;AACH,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;AAC1C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;SACtC,CAAC;KACL;AACJ;;;;"}
@@ -1,70 +1,213 @@
1
1
  'use strict';
2
2
 
3
- // ===== DEFAULT CONFIGURATIONS =====
3
+ // ===== OPTIMIZED CLUSTER CONFIGURATIONS =====
4
4
  const DEFAULT_CLUSTER_CONFIGS = {
5
- enabled: true,
6
- workers: "auto",
5
+ workers: "auto", // Will use os.cpus().length
6
+ // Process Management - Enhanced for reliability
7
7
  processManagement: {
8
8
  respawn: true,
9
- maxRestarts: 5,
10
- restartDelay: 1000,
11
- gracefulShutdownTimeout: 30000,
12
- killTimeout: 5000,
9
+ maxRestarts: 10, // Max restarts per worker per hour
10
+ restartDelay: 1000, // Reduced for faster recovery
11
+ gracefulShutdownTimeout: 48000, // Increased for complex cleanup
12
+ killTimeout: 15000, // Force kill timeout after graceful shutdown fails
13
13
  zombieDetection: true,
14
- memoryThreshold: "512MB",
15
- cpuThreshold: 80,
14
+ memoryThreshold: "1GB", // Restart worker if memory exceeded
15
+ cpuThreshold: 85, // Restart worker if CPU > 85% sustained
16
16
  },
17
+ // Memory Management - Optimized
18
+ memoryManagement: {
19
+ enabled: true,
20
+ maxWorkerMemory: "1GB", // Increased from default for better performance
21
+ maxTotalMemory: "12GB", // Conservative total memory limit
22
+ memoryCheckInterval: 15000, // More frequent checks (15s)
23
+ memoryWarningThreshold: 70, // Earlier warning threshold
24
+ memoryCriticalThreshold: 85, // Lower critical threshold for safety
25
+ autoScaleOnMemory: true,
26
+ memoryLeakDetection: true,
27
+ garbageCollectionHint: true, // Enable GC hints
28
+ lowMemoryMode: false, // Disable for better performance
29
+ },
30
+ // Health Monitoring - Enhanced
17
31
  healthCheck: {
18
32
  enabled: true,
19
- interval: 30000,
20
- timeout: 5000,
21
- maxFailures: 3,
33
+ interval: 20000, // Check every 20 seconds
34
+ timeout: 8000, // 8 second timeout
35
+ maxFailures: 2, // Faster failover with 2 max failures
22
36
  endpoint: "/health",
23
37
  },
38
+ // Load Balancing - Optimized strategy
24
39
  loadBalancing: {
25
- strategy: "round-robin",
40
+ strategy: "least-connections", // Better than round-robin for uneven loads
26
41
  stickySession: false,
42
+ circuitBreakerThreshold: 5, // Circuit breaker after 5 failures
43
+ circuitBreakerTimeout: 30000, // 30 second recovery timeout
27
44
  },
45
+ // Inter-Process Communication - Enhanced
28
46
  ipc: {
29
47
  enabled: true,
30
- broadcast: true,
48
+ broadcast: true, // Enable broadcasting to all workers
49
+ messageQueue: {
50
+ maxSize: 1000, // Queue size limit
51
+ timeout: 20000, // 20 second timeout
52
+ },
53
+ // Custom events can be added as needed
31
54
  },
55
+ // Auto Scaling - Fine-tuned
32
56
  autoScaling: {
33
57
  enabled: true,
34
- minWorkers: 1,
35
- maxWorkers: 8,
36
- cooldownPeriod: 300000,
37
- scaleStep: 1,
58
+ minWorkers: 2, // Minimum workers for availability
59
+ maxWorkers: 16, // Increased maximum for scalability
38
60
  scaleUpThreshold: {
39
- cpu: 70,
40
- memory: 80,
41
- responseTime: 1000,
42
- queueLength: 50,
61
+ cpu: 65, // Scale up if CPU > 65%
62
+ memory: 75, // Scale up if memory > 75%
63
+ responseTime: 800, // Scale up if response time > 800ms
64
+ queueLength: 30, // Scale up if queue > 30 requests
43
65
  },
44
66
  scaleDownThreshold: {
45
- cpu: 30,
46
- memory: 40,
47
- idleTime: 10,
67
+ cpu: 25, // Scale down if CPU < 25%
68
+ memory: 35, // Scale down if memory < 35%
69
+ idleTime: 15, // Scale down after 15 minutes idle
48
70
  },
71
+ cooldownPeriod: 180000, // 3 minute cooldown between scaling
72
+ scaleStep: 2, // Add/remove 2 workers at a time
49
73
  },
74
+ // Resource Management - Comprehensive
75
+ resources: {
76
+ maxMemoryPerWorker: "1GB",
77
+ maxCpuPerWorker: 80, // 80% CPU per worker
78
+ priorityLevel: "high",
79
+ fileDescriptorLimit: 4096,
80
+ networkConnections: {
81
+ max: 1000,
82
+ timeout: 30000,
83
+ },
84
+ // Enhanced Memory Management
85
+ memoryManagement: {
86
+ enabled: true,
87
+ maxTotalMemory: "12GB",
88
+ memoryCheckInterval: 15000,
89
+ memoryWarningThreshold: 70,
90
+ memoryCriticalThreshold: 85,
91
+ autoScaleOnMemory: true,
92
+ memoryLeakDetection: true,
93
+ garbageCollectionHint: true,
94
+ lowMemoryMode: false,
95
+ memoryReservation: "1GB", // Reserve 1GB for system
96
+ swapUsageLimit: 5, // Max 5% swap usage
97
+ },
98
+ // Performance Optimization
99
+ performanceOptimization: {
100
+ enabled: true,
101
+ lowMemoryMode: false,
102
+ reducedLogging: false, // Keep full logging for debugging
103
+ compactMetrics: true,
104
+ lazyWorkerInit: false, // Pre-initialize for faster response
105
+ workerPooling: true,
106
+ memoryPooling: true,
107
+ disableDebugFeatures: true, // Disable in production
108
+ minimalFootprint: false, // Prioritize performance over memory
109
+ efficientDataStructures: true,
110
+ },
111
+ // Resource Limits Enforcement
112
+ enforcement: {
113
+ enabled: true,
114
+ enforceHardLimits: true,
115
+ softLimitWarnings: true,
116
+ gracefulDegradation: false, // Hard limits for predictability
117
+ resourceThrottling: false,
118
+ alertOnLimitReached: true,
119
+ },
120
+ },
121
+ // Monitoring - Enhanced observability
50
122
  monitoring: {
51
123
  enabled: true,
52
124
  collectMetrics: true,
53
- metricsInterval: 60000,
54
- logLevel: "info",
125
+ metricsInterval: 30000, // Collect metrics every 30 seconds
126
+ logLevel: "info", // Balanced logging level
55
127
  logWorkerEvents: true,
56
- logPerformance: true,
128
+ logPerformance: true, // Enable performance logging
129
+ // customMetrics can be added as needed
57
130
  },
131
+ // Error Handling - Robust recovery
58
132
  errorHandling: {
59
133
  uncaughtException: "restart",
60
- unhandledRejection: "restart",
61
- errorThreshold: 10,
134
+ unhandledRejection: "restart", // Restart for both types
135
+ errorThreshold: 3, // Max 3 errors per hour before restart
136
+ crashRecovery: {
137
+ enabled: true,
138
+ saveState: true,
139
+ stateStorage: "memory", // Use memory for fast recovery
140
+ },
62
141
  },
142
+ // Security - Production ready
63
143
  security: {
64
144
  isolateWorkers: true,
145
+ sandboxMode: true, // Enable sandboxing
65
146
  resourceLimits: true,
66
147
  preventForkBombs: true,
67
- encryptIPC: true,
148
+ workerAuthentication: false, // Can be enabled if needed
149
+ encryptIPC: true, // Enable IPC encryption
150
+ },
151
+ // Development Features - Disabled for production
152
+ development: {
153
+ hotReload: false,
154
+ debugMode: false,
155
+ profiling: false,
156
+ // inspectPorts can be added for debugging
157
+ },
158
+ // Resilience Features - Enhanced fault tolerance
159
+ resilience: {
160
+ circuitBreaker: {
161
+ enabled: true,
162
+ failureThreshold: 5,
163
+ recoveryTimeout: 30000,
164
+ halfOpenRequests: 3,
165
+ },
166
+ bulkhead: {
167
+ enabled: true,
168
+ maxConcurrentRequests: 100,
169
+ queueSize: 200,
170
+ },
171
+ timeout: {
172
+ enabled: true,
173
+ requestTimeout: 30000,
174
+ healthCheckTimeout: 8000,
175
+ },
176
+ retryPolicy: {
177
+ enabled: true,
178
+ maxRetries: 3,
179
+ backoffStrategy: "exponential",
180
+ baseDelay: 1000,
181
+ maxDelay: 30000,
182
+ },
183
+ },
184
+ // Advanced Features - Production optimizations
185
+ advanced: {
186
+ stateSync: {
187
+ enabled: false, // Disable unless needed
188
+ strategy: "redis",
189
+ syncInterval: 60000,
190
+ },
191
+ deployment: {
192
+ rollingUpdates: true,
193
+ maxUnavailable: 1,
194
+ maxSurge: 2,
195
+ healthCheckGracePeriod: 30000,
196
+ },
197
+ networking: {
198
+ tcpNoDelay: true,
199
+ keepAlive: true,
200
+ keepAliveInitialDelay: 30000,
201
+ },
202
+ },
203
+ // Persistence - Optional state persistence
204
+ persistence: {
205
+ enabled: false, // Enable only if state persistence is needed
206
+ type: "memory",
207
+ memory: {
208
+ maxSize: 100 * 1024 * 1024, // 100MB max memory storage
209
+ ttl: 3600000, // 1 hour TTL
210
+ },
68
211
  },
69
212
  };
70
213
 
@@ -1 +1 @@
1
- {"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AAEa,MAAA,uBAAuB,GAAG;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,iBAAiB,EAAE;AACf,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,YAAY,EAAE,EAAE;AACnB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,QAAQ,EAAE,SAAS;AACtB,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,aAAa,EAAE,KAAK;AACvB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,gBAAgB,EAAE;AACd,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,WAAW,EAAE,EAAE;AAClB,SAAA;AACD,QAAA,kBAAkB,EAAE;AAChB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,QAAQ,EAAE,EAAE;AACf,SAAA;AACJ,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,cAAc,EAAE,IAAI;AACvB,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,iBAAiB,EAAE,SAAS;AAC5B,QAAA,kBAAkB,EAAE,SAAS;AAC7B,QAAA,cAAc,EAAE,EAAE;AACrB,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,UAAU,EAAE,IAAI;AACnB,KAAA;;;;;"}
1
+ {"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}