solver-sdk 2.7.3 → 2.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/chat-api/index.js +53 -58
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/stream-utils.js +126 -12
- package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
- package/dist/cjs/api/projects-api.js +83 -4
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +0 -48
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/simple-connection-monitor.js +52 -0
- package/dist/cjs/utils/simple-connection-monitor.js.map +1 -0
- package/dist/cjs/ws/base-ws-client.js +8 -14
- package/dist/cjs/ws/base-ws-client.js.map +1 -1
- package/dist/cjs/ws/indexing-ws-client.js +46 -0
- package/dist/cjs/ws/indexing-ws-client.js.map +1 -1
- package/dist/esm/api/chat-api/index.js +54 -59
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/stream-utils.js +126 -12
- package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
- package/dist/esm/api/projects-api.js +83 -4
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/utils/code-solver-websocket-client.js +0 -48
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/simple-connection-monitor.js +48 -0
- package/dist/esm/utils/simple-connection-monitor.js.map +1 -0
- package/dist/esm/ws/base-ws-client.js +8 -14
- package/dist/esm/ws/base-ws-client.js.map +1 -1
- package/dist/esm/ws/indexing-ws-client.js +46 -0
- package/dist/esm/ws/indexing-ws-client.js.map +1 -1
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +4 -2
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +18 -0
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +0 -7
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/simple-connection-monitor.d.ts +26 -0
- package/dist/types/utils/simple-connection-monitor.d.ts.map +1 -0
- package/dist/types/ws/base-ws-client.d.ts +3 -3
- package/dist/types/ws/base-ws-client.d.ts.map +1 -1
- package/dist/types/ws/indexing-ws-client.d.ts +16 -0
- package/dist/types/ws/indexing-ws-client.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/interfaces/websocket/stats.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/stats.interfaces.js.map +0 -1
- package/dist/cjs/utils/ping-pong-manager.js +0 -306
- package/dist/cjs/utils/ping-pong-manager.js.map +0 -1
- package/dist/cjs/ws/diagnostics-service.js +0 -170
- package/dist/cjs/ws/diagnostics-service.js.map +0 -1
- package/dist/esm/interfaces/websocket/stats.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/stats.interfaces.js.map +0 -1
- package/dist/esm/utils/ping-pong-manager.js +0 -302
- package/dist/esm/utils/ping-pong-manager.js.map +0 -1
- package/dist/esm/ws/diagnostics-service.js +0 -166
- package/dist/esm/ws/diagnostics-service.js.map +0 -1
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts +0 -72
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts.map +0 -1
- package/dist/types/utils/ping-pong-manager.d.ts +0 -118
- package/dist/types/utils/ping-pong-manager.d.ts.map +0 -1
- package/dist/types/ws/diagnostics-service.d.ts +0 -93
- package/dist/types/ws/diagnostics-service.d.ts.map +0 -1
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
-
import { WebSocketClient } from './websocket-client.js';
|
|
3
|
-
import { Logger } from './logger.js';
|
|
4
|
-
import { PingPongStats } from '../interfaces/websocket/stats.interfaces.js';
|
|
5
|
-
/**
|
|
6
|
-
* Опции для менеджера ping/pong
|
|
7
|
-
*/
|
|
8
|
-
export interface PingPongManagerOptions {
|
|
9
|
-
/** Интервал между ping-сообщениями в миллисекундах */
|
|
10
|
-
pingInterval?: number;
|
|
11
|
-
/** Количество пропущенных pong-ответов до признания соединения потерянным */
|
|
12
|
-
pingTimeoutThreshold?: number;
|
|
13
|
-
/** Логгер для вывода сообщений */
|
|
14
|
-
logger?: Logger;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Обработчик для событий ping/pong
|
|
18
|
-
*/
|
|
19
|
-
export type PingPongEventHandler = (data: any) => void;
|
|
20
|
-
/**
|
|
21
|
-
* Класс для управления механизмом ping/pong
|
|
22
|
-
*/
|
|
23
|
-
export declare class PingPongManager {
|
|
24
|
-
/** Интервал между ping-сообщениями в миллисекундах */
|
|
25
|
-
private readonly pingInterval;
|
|
26
|
-
/** Количество пропущенных pong-ответов до признания соединения потерянным */
|
|
27
|
-
private readonly pingTimeoutThreshold;
|
|
28
|
-
/** Логгер для вывода сообщений */
|
|
29
|
-
private readonly logger;
|
|
30
|
-
/** Таймеры для ping/pong */
|
|
31
|
-
private readonly pingIntervals;
|
|
32
|
-
/** Статистика ping/pong */
|
|
33
|
-
private readonly pingStats;
|
|
34
|
-
/** Количество последовательных таймаутов */
|
|
35
|
-
private readonly pingTimeouts;
|
|
36
|
-
/** Хранилище обработчиков ping/pong */
|
|
37
|
-
private readonly pingPongEventHandlers;
|
|
38
|
-
/** Клиенты WebSocket по namespace */
|
|
39
|
-
private readonly clients;
|
|
40
|
-
/**
|
|
41
|
-
* Создает новый менеджер ping/pong
|
|
42
|
-
* @param {PingPongManagerOptions} options Опции менеджера ping/pong
|
|
43
|
-
*/
|
|
44
|
-
constructor(options?: PingPongManagerOptions);
|
|
45
|
-
/**
|
|
46
|
-
* Регистрирует WebSocket клиент для указанного пространства имен
|
|
47
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
48
|
-
* @param {WebSocketClient} client WebSocket клиент
|
|
49
|
-
*/
|
|
50
|
-
registerClient(namespace: WebSocketNamespace, client: WebSocketClient): void;
|
|
51
|
-
/**
|
|
52
|
-
* Удаляет регистрацию WebSocket клиента для указанного пространства имен
|
|
53
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
54
|
-
*/
|
|
55
|
-
unregisterClient(namespace: WebSocketNamespace): void;
|
|
56
|
-
/**
|
|
57
|
-
* Создает обработчик для события pong
|
|
58
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
59
|
-
* @returns {PingPongEventHandler} Обработчик события pong
|
|
60
|
-
*/
|
|
61
|
-
private createPongHandler;
|
|
62
|
-
/**
|
|
63
|
-
* Уведомляет обработчики о событии
|
|
64
|
-
* @param {string} eventType Тип события
|
|
65
|
-
* @param {any} data Данные события
|
|
66
|
-
*/
|
|
67
|
-
private notifyEventHandlers;
|
|
68
|
-
/**
|
|
69
|
-
* Включает автоматическую отправку ping-сообщений
|
|
70
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
71
|
-
* @returns {boolean} true, если механизм успешно включен
|
|
72
|
-
*/
|
|
73
|
-
enablePingPong(namespace: WebSocketNamespace): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Проверяет таймаут для ping/pong
|
|
76
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
77
|
-
*/
|
|
78
|
-
private checkPingTimeout;
|
|
79
|
-
/**
|
|
80
|
-
* Отключает автоматическую отправку ping-сообщений
|
|
81
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
82
|
-
*/
|
|
83
|
-
disablePingPong(namespace: WebSocketNamespace): void;
|
|
84
|
-
/**
|
|
85
|
-
* Отключает автоматическую отправку ping-сообщений для всех пространств имен
|
|
86
|
-
*/
|
|
87
|
-
disablePingPongAll(): void;
|
|
88
|
-
/**
|
|
89
|
-
* Получает статистику ping/pong для указанного пространства имен
|
|
90
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
91
|
-
* @returns {PingPongStats | null} Статистика ping/pong
|
|
92
|
-
*/
|
|
93
|
-
getPingStats(namespace: WebSocketNamespace): PingPongStats | null;
|
|
94
|
-
/**
|
|
95
|
-
* Получает статистику ping/pong для всех пространств имен
|
|
96
|
-
* @returns {PingPongStats[]} Массив статистики ping/pong
|
|
97
|
-
*/
|
|
98
|
-
getAllPingStats(): PingPongStats[];
|
|
99
|
-
/**
|
|
100
|
-
* Добавляет обработчик для событий ping/pong
|
|
101
|
-
* @param {string} eventType Тип события (connection_timeout, connection_pong)
|
|
102
|
-
* @param {PingPongEventHandler} handler Обработчик события
|
|
103
|
-
*/
|
|
104
|
-
onPingPongEvent(eventType: string, handler: PingPongEventHandler): void;
|
|
105
|
-
/**
|
|
106
|
-
* Удаляет обработчик для событий ping/pong
|
|
107
|
-
* @param {string} eventType Тип события
|
|
108
|
-
* @param {PingPongEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
109
|
-
*/
|
|
110
|
-
offPingPongEvent(eventType: string, handler?: PingPongEventHandler): void;
|
|
111
|
-
/**
|
|
112
|
-
* Проверяет, включен ли механизм ping/pong для указанного пространства имен
|
|
113
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
114
|
-
* @returns {boolean} true, если механизм включен
|
|
115
|
-
*/
|
|
116
|
-
isPingPongEnabled(namespace: WebSocketNamespace): boolean;
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=ping-pong-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ping-pong-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/ping-pong-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAe;IAC1B,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAE9C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsD;IAEpF,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;IAE/E,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAE3E,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;IAE7F,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E;;;OAGG;gBACS,OAAO,GAAE,sBAA2B;IAMhD;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IA8BnF;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IA4E7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAU3D;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAQjC;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,eAAe,IAAI,aAAa,EAAE;IAIzC;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAW9E;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAgBhF;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;CAGjE"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
-
import { WebSocketClient } from '../utils/websocket-client.js';
|
|
3
|
-
import { SessionManager } from '../utils/session-manager.js';
|
|
4
|
-
import { PingPongManager } from '../utils/ping-pong-manager.js';
|
|
5
|
-
import { ConnectionStateManager } from '../utils/connection-state-manager.js';
|
|
6
|
-
import { ConnectionDiagnostics, PingPongStats } from '../interfaces/websocket/stats.interfaces.js';
|
|
7
|
-
import { Logger } from '../utils/logger.js';
|
|
8
|
-
/**
|
|
9
|
-
* Опции для сервиса диагностики
|
|
10
|
-
*/
|
|
11
|
-
export interface DiagnosticsServiceOptions {
|
|
12
|
-
/** Интервал проверки здоровья соединений в миллисекундах */
|
|
13
|
-
healthCheckInterval?: number;
|
|
14
|
-
/** Логгер для вывода сообщений */
|
|
15
|
-
logger?: Logger;
|
|
16
|
-
/** Менеджер сессий */
|
|
17
|
-
sessionManager?: SessionManager;
|
|
18
|
-
/** Менеджер ping/pong */
|
|
19
|
-
pingPongManager?: PingPongManager;
|
|
20
|
-
/** Менеджер состояния подключения */
|
|
21
|
-
connectionStateManager?: ConnectionStateManager;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Сервис для диагностики WebSocket соединений
|
|
25
|
-
*/
|
|
26
|
-
export declare class DiagnosticsService {
|
|
27
|
-
/** Интервал проверки здоровья соединений в миллисекундах */
|
|
28
|
-
private readonly healthCheckInterval;
|
|
29
|
-
/** Логгер для вывода сообщений */
|
|
30
|
-
private readonly logger;
|
|
31
|
-
/** Менеджер сессий */
|
|
32
|
-
private readonly sessionManager;
|
|
33
|
-
/** Менеджер ping/pong */
|
|
34
|
-
private readonly pingPongManager;
|
|
35
|
-
/** Менеджер состояния подключения */
|
|
36
|
-
private readonly connectionStateManager;
|
|
37
|
-
/** Таймер для проверки здоровья соединений */
|
|
38
|
-
private healthCheckTimer;
|
|
39
|
-
/** Клиенты WebSocket по namespace */
|
|
40
|
-
private readonly clients;
|
|
41
|
-
/**
|
|
42
|
-
* Создает новый сервис диагностики
|
|
43
|
-
* @param {DiagnosticsServiceOptions} options Опции сервиса
|
|
44
|
-
*/
|
|
45
|
-
constructor(options?: DiagnosticsServiceOptions);
|
|
46
|
-
/**
|
|
47
|
-
* Регистрирует WebSocket клиент для мониторинга
|
|
48
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
49
|
-
* @param {WebSocketClient} client WebSocket клиент
|
|
50
|
-
*/
|
|
51
|
-
registerClient(namespace: WebSocketNamespace, client: WebSocketClient): void;
|
|
52
|
-
/**
|
|
53
|
-
* Удаляет регистрацию WebSocket клиента
|
|
54
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
55
|
-
*/
|
|
56
|
-
unregisterClient(namespace: WebSocketNamespace): void;
|
|
57
|
-
/**
|
|
58
|
-
* Запускает периодическую проверку здоровья соединений
|
|
59
|
-
* @returns {boolean} true, если проверка успешно запущена
|
|
60
|
-
*/
|
|
61
|
-
startHealthCheck(): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Останавливает периодическую проверку здоровья соединений
|
|
64
|
-
*/
|
|
65
|
-
stopHealthCheck(): void;
|
|
66
|
-
/**
|
|
67
|
-
* Выполняет проверку здоровья соединений
|
|
68
|
-
*/
|
|
69
|
-
private performHealthCheck;
|
|
70
|
-
/**
|
|
71
|
-
* Выполняет диагностику соединения
|
|
72
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
73
|
-
* @returns {ConnectionDiagnostics} Диагностическая информация
|
|
74
|
-
*/
|
|
75
|
-
diagnoseConnection(namespace: WebSocketNamespace): ConnectionDiagnostics;
|
|
76
|
-
/**
|
|
77
|
-
* Выполняет диагностику всех соединений
|
|
78
|
-
* @returns {Record<string, ConnectionDiagnostics>} Диагностическая информация по всем соединениям
|
|
79
|
-
*/
|
|
80
|
-
diagnoseAllConnections(): Record<string, ConnectionDiagnostics>;
|
|
81
|
-
/**
|
|
82
|
-
* Получает статистику ping/pong для указанного пространства имен
|
|
83
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
84
|
-
* @returns {PingPongStats | null} Статистика ping/pong
|
|
85
|
-
*/
|
|
86
|
-
getPingStats(namespace: WebSocketNamespace): PingPongStats | null;
|
|
87
|
-
/**
|
|
88
|
-
* Возвращает функцию-обработчик для pong-ответов, которая рассчитывает RTT
|
|
89
|
-
* @returns {(data: any) => void} Функция-обработчик
|
|
90
|
-
*/
|
|
91
|
-
getPongHandler(): (data: any) => void;
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=diagnostics-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics-service.d.ts","sourceRoot":"","sources":["../../../src/ws/diagnostics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,MAAM,EAAyB,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,yBAAyB;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,qCAAqC;IACrC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE7C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E;;;OAGG;gBACS,OAAO,GAAE,yBAA8B;IAQnD;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAOnF;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;;OAGG;IACI,gBAAgB,IAAI,OAAO;IAalC;;OAEG;IACI,eAAe,IAAI,IAAI;IAQ9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,qBAAqB;IA+B/E;;;OAGG;IACI,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAWtE;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,cAAc,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;CAU7C"}
|