openclaw-rocketchat 0.1.0

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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +694 -0
  3. package/README.md +730 -0
  4. package/dist/cli/add-bot.d.ts +2 -0
  5. package/dist/cli/add-bot.d.ts.map +1 -0
  6. package/dist/cli/add-bot.js +138 -0
  7. package/dist/cli/add-bot.js.map +1 -0
  8. package/dist/cli/add-group.d.ts +2 -0
  9. package/dist/cli/add-group.d.ts.map +1 -0
  10. package/dist/cli/add-group.js +145 -0
  11. package/dist/cli/add-group.js.map +1 -0
  12. package/dist/cli/add-user.d.ts +2 -0
  13. package/dist/cli/add-user.d.ts.map +1 -0
  14. package/dist/cli/add-user.js +186 -0
  15. package/dist/cli/add-user.js.map +1 -0
  16. package/dist/cli/invite.d.ts +2 -0
  17. package/dist/cli/invite.d.ts.map +1 -0
  18. package/dist/cli/invite.js +194 -0
  19. package/dist/cli/invite.js.map +1 -0
  20. package/dist/cli/prompts.d.ts +24 -0
  21. package/dist/cli/prompts.d.ts.map +1 -0
  22. package/dist/cli/prompts.js +134 -0
  23. package/dist/cli/prompts.js.map +1 -0
  24. package/dist/cli/remove-user.d.ts +2 -0
  25. package/dist/cli/remove-user.d.ts.map +1 -0
  26. package/dist/cli/remove-user.js +108 -0
  27. package/dist/cli/remove-user.js.map +1 -0
  28. package/dist/cli/setup.d.ts +2 -0
  29. package/dist/cli/setup.d.ts.map +1 -0
  30. package/dist/cli/setup.js +446 -0
  31. package/dist/cli/setup.js.map +1 -0
  32. package/dist/cli/status.d.ts +2 -0
  33. package/dist/cli/status.d.ts.map +1 -0
  34. package/dist/cli/status.js +161 -0
  35. package/dist/cli/status.js.map +1 -0
  36. package/dist/cli/uninstall.d.ts +2 -0
  37. package/dist/cli/uninstall.d.ts.map +1 -0
  38. package/dist/cli/uninstall.js +81 -0
  39. package/dist/cli/uninstall.js.map +1 -0
  40. package/dist/config/credentials.d.ts +26 -0
  41. package/dist/config/credentials.d.ts.map +1 -0
  42. package/dist/config/credentials.js +169 -0
  43. package/dist/config/credentials.js.map +1 -0
  44. package/dist/config/writer.d.ts +52 -0
  45. package/dist/config/writer.d.ts.map +1 -0
  46. package/dist/config/writer.js +170 -0
  47. package/dist/config/writer.js.map +1 -0
  48. package/dist/docker/compose.d.ts +10 -0
  49. package/dist/docker/compose.d.ts.map +1 -0
  50. package/dist/docker/compose.js +56 -0
  51. package/dist/docker/compose.js.map +1 -0
  52. package/dist/docker/manager.d.ts +38 -0
  53. package/dist/docker/manager.d.ts.map +1 -0
  54. package/dist/docker/manager.js +219 -0
  55. package/dist/docker/manager.js.map +1 -0
  56. package/dist/index.d.ts +5 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +203 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/rc-api/rest-client.d.ts +64 -0
  61. package/dist/rc-api/rest-client.d.ts.map +1 -0
  62. package/dist/rc-api/rest-client.js +268 -0
  63. package/dist/rc-api/rest-client.js.map +1 -0
  64. package/dist/rc-api/types.d.ts +158 -0
  65. package/dist/rc-api/types.d.ts.map +1 -0
  66. package/dist/rc-api/types.js +5 -0
  67. package/dist/rc-api/types.js.map +1 -0
  68. package/dist/rc-api/ws-client.d.ts +47 -0
  69. package/dist/rc-api/ws-client.d.ts.map +1 -0
  70. package/dist/rc-api/ws-client.js +308 -0
  71. package/dist/rc-api/ws-client.js.map +1 -0
  72. package/dist/service/bot-manager.d.ts +34 -0
  73. package/dist/service/bot-manager.d.ts.map +1 -0
  74. package/dist/service/bot-manager.js +156 -0
  75. package/dist/service/bot-manager.js.map +1 -0
  76. package/dist/service/channel.d.ts +35 -0
  77. package/dist/service/channel.d.ts.map +1 -0
  78. package/dist/service/channel.js +157 -0
  79. package/dist/service/channel.js.map +1 -0
  80. package/dist/service/message-handler.d.ts +45 -0
  81. package/dist/service/message-handler.d.ts.map +1 -0
  82. package/dist/service/message-handler.js +207 -0
  83. package/dist/service/message-handler.js.map +1 -0
  84. package/openclaw.plugin.json +45 -0
  85. package/package.json +61 -0
@@ -0,0 +1,268 @@
1
+ // ============================================================
2
+ // Rocket.Chat REST API 客户端
3
+ // 基于原生 fetch,不依赖第三方 HTTP 库
4
+ // ============================================================
5
+ /** 请求重试配置 */
6
+ const MAX_RETRIES = 3;
7
+ const RETRY_BASE_MS = 1000;
8
+ export class RocketChatRestClient {
9
+ serverUrl;
10
+ userId = "";
11
+ authToken = "";
12
+ constructor(serverUrl) {
13
+ // 去掉末尾斜杠
14
+ this.serverUrl = serverUrl.replace(/\/+$/, "");
15
+ }
16
+ // ----------------------------------------------------------
17
+ // 内部:HTTP 请求封装
18
+ // ----------------------------------------------------------
19
+ async request(method, path, body, isFormData = false) {
20
+ const url = `${this.serverUrl}/api/v1${path}`;
21
+ const headers = {};
22
+ if (this.authToken && this.userId) {
23
+ headers["X-Auth-Token"] = this.authToken;
24
+ headers["X-User-Id"] = this.userId;
25
+ }
26
+ if (!isFormData) {
27
+ headers["Content-Type"] = "application/json";
28
+ }
29
+ let lastError = null;
30
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
31
+ try {
32
+ const response = await fetch(url, {
33
+ method,
34
+ headers,
35
+ body: isFormData
36
+ ? body
37
+ : body
38
+ ? JSON.stringify(body)
39
+ : undefined,
40
+ });
41
+ // HTTP 429 Too Many Requests — 退避重试
42
+ if (response.status === 429) {
43
+ const retryAfter = response.headers.get("Retry-After");
44
+ const parsed = retryAfter ? parseInt(retryAfter, 10) : NaN;
45
+ const waitMs = Number.isFinite(parsed) && parsed > 0
46
+ ? parsed * 1000
47
+ : RETRY_BASE_MS * Math.pow(2, attempt);
48
+ await this.sleep(waitMs);
49
+ continue;
50
+ }
51
+ let data;
52
+ try {
53
+ data = (await response.json());
54
+ }
55
+ catch {
56
+ throw new Error(`Rocket.Chat API error: 响应不是有效 JSON (HTTP ${response.status} ${method} ${path})`);
57
+ }
58
+ if (!response.ok || data.success === false) {
59
+ const msg = data.error || data.message || `HTTP ${response.status}`;
60
+ throw new Error(`Rocket.Chat API error: ${msg} (${method} ${path})`);
61
+ }
62
+ return data;
63
+ }
64
+ catch (err) {
65
+ lastError = err;
66
+ // 网络错误才重试,逻辑错误不重试
67
+ if (err.message?.includes("Rocket.Chat API error") ||
68
+ attempt === MAX_RETRIES) {
69
+ break;
70
+ }
71
+ await this.sleep(RETRY_BASE_MS * Math.pow(2, attempt));
72
+ }
73
+ }
74
+ throw lastError || new Error("Request failed");
75
+ }
76
+ sleep(ms) {
77
+ return new Promise((resolve) => setTimeout(resolve, ms));
78
+ }
79
+ // ----------------------------------------------------------
80
+ // 认证
81
+ // ----------------------------------------------------------
82
+ /** 设置已有的认证信息(从凭据文件读取时使用) */
83
+ setAuth(userId, authToken) {
84
+ this.userId = userId;
85
+ this.authToken = authToken;
86
+ }
87
+ /** 登录获取 token */
88
+ async login(user, password) {
89
+ const res = await this.request("POST", "/login", { user, password });
90
+ this.userId = res.data.userId;
91
+ this.authToken = res.data.authToken;
92
+ return { userId: res.data.userId, authToken: res.data.authToken };
93
+ }
94
+ // ----------------------------------------------------------
95
+ // 用户管理
96
+ // ----------------------------------------------------------
97
+ /** 创建用户 */
98
+ async createUser(params) {
99
+ const res = await this.request("POST", "/users.create", {
100
+ name: params.name,
101
+ email: params.email,
102
+ password: params.password,
103
+ username: params.username,
104
+ roles: params.roles || ["user"],
105
+ joinDefaultChannels: params.joinDefaultChannels !== undefined
106
+ ? params.joinDefaultChannels
107
+ : false,
108
+ verified: params.verified !== undefined ? params.verified : true,
109
+ requirePasswordChange: params.requirePasswordChange !== undefined
110
+ ? params.requirePasswordChange
111
+ : false,
112
+ });
113
+ return res.user;
114
+ }
115
+ /** 查询用户信息 */
116
+ async getUserInfo(username) {
117
+ try {
118
+ const res = await this.request("GET", `/users.info?username=${encodeURIComponent(username)}`);
119
+ return res.user;
120
+ }
121
+ catch {
122
+ return null;
123
+ }
124
+ }
125
+ /** 列出所有用户 */
126
+ async listUsers() {
127
+ const res = await this.request("GET", "/users.list?count=200");
128
+ return res.users;
129
+ }
130
+ /** 删除用户 */
131
+ async deleteUser(userId, confirmRelinquish = true) {
132
+ await this.request("POST", "/users.delete", {
133
+ userId,
134
+ confirmRelinquish,
135
+ });
136
+ }
137
+ // ----------------------------------------------------------
138
+ // DM 私聊
139
+ // ----------------------------------------------------------
140
+ /** 创建 DM 通道 */
141
+ async createDirectMessage(usernames) {
142
+ const res = await this.request("POST", "/im.create", {
143
+ usernames: usernames.join(","),
144
+ });
145
+ return res.room;
146
+ }
147
+ /** 列出 DM */
148
+ async listDirectMessages() {
149
+ const res = await this.request("GET", "/im.list?count=200");
150
+ return res.ims;
151
+ }
152
+ // ----------------------------------------------------------
153
+ // 私有频道(Groups)
154
+ // ----------------------------------------------------------
155
+ /** 创建私有频道 */
156
+ async createGroup(name, members) {
157
+ const res = await this.request("POST", "/groups.create", {
158
+ name,
159
+ members: members || [],
160
+ });
161
+ return res.group;
162
+ }
163
+ /** 查询频道信息 */
164
+ async getGroupInfo(roomId, roomName) {
165
+ try {
166
+ const query = roomId
167
+ ? `roomId=${encodeURIComponent(roomId)}`
168
+ : `roomName=${encodeURIComponent(roomName || "")}`;
169
+ const res = await this.request("GET", `/groups.info?${query}`);
170
+ return res.group;
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
176
+ /** 列出所有私有频道 */
177
+ async listGroups() {
178
+ const res = await this.request("GET", "/groups.listAll?count=200");
179
+ return res.groups;
180
+ }
181
+ /** 列出频道成员 */
182
+ async getGroupMembers(roomId) {
183
+ const res = await this.request("GET", `/groups.members?roomId=${encodeURIComponent(roomId)}&count=200`);
184
+ return res.members;
185
+ }
186
+ /** 邀请用户进群 */
187
+ async groupInvite(roomId, userId) {
188
+ await this.request("POST", "/groups.invite", { roomId, userId });
189
+ }
190
+ /** 移除成员 */
191
+ async groupKick(roomId, userId) {
192
+ await this.request("POST", "/groups.kick", { roomId, userId });
193
+ }
194
+ /** 设为所有者 */
195
+ async groupAddOwner(roomId, userId) {
196
+ await this.request("POST", "/groups.addOwner", { roomId, userId });
197
+ }
198
+ /** 设为管理员 */
199
+ async groupAddModerator(roomId, userId) {
200
+ await this.request("POST", "/groups.addModerator", { roomId, userId });
201
+ }
202
+ /** 在房间中禁言用户 */
203
+ async muteUserInRoom(roomId, userId) {
204
+ await this.request("POST", "/rooms.muteUser", { roomId, userId });
205
+ }
206
+ /** 在房间中取消禁言 */
207
+ async unmuteUserInRoom(roomId, userId) {
208
+ await this.request("POST", "/rooms.unmuteUser", { roomId, userId });
209
+ }
210
+ /** 移除所有者 */
211
+ async groupRemoveOwner(roomId, userId) {
212
+ await this.request("POST", "/groups.removeOwner", { roomId, userId });
213
+ }
214
+ /** 移除管理员 */
215
+ async groupRemoveModerator(roomId, userId) {
216
+ await this.request("POST", "/groups.removeModerator", { roomId, userId });
217
+ }
218
+ /** 删除频道 */
219
+ async deleteGroup(roomId) {
220
+ await this.request("POST", "/groups.delete", { roomId });
221
+ }
222
+ // ----------------------------------------------------------
223
+ // 消息
224
+ // ----------------------------------------------------------
225
+ /** 发送消息 */
226
+ async sendMessage(roomId, text, options) {
227
+ const res = await this.request("POST", "/chat.sendMessage", {
228
+ message: {
229
+ rid: roomId,
230
+ msg: text,
231
+ ...options,
232
+ },
233
+ });
234
+ return res.message;
235
+ }
236
+ /** 上传文件到房间 */
237
+ async uploadFile(roomId, fileBuffer, filename, description) {
238
+ const formData = new FormData();
239
+ const blob = new Blob([new Uint8Array(fileBuffer)]);
240
+ formData.append("file", blob, filename);
241
+ if (description) {
242
+ formData.append("description", description);
243
+ }
244
+ await this.request("POST", `/rooms.upload/${encodeURIComponent(roomId)}`, formData, true);
245
+ }
246
+ // ----------------------------------------------------------
247
+ // 服务器
248
+ // ----------------------------------------------------------
249
+ /** 获取服务器信息(健康检查) */
250
+ async serverInfo() {
251
+ const res = await this.request("GET", "/info");
252
+ return { version: res.info?.version || "unknown", success: true };
253
+ }
254
+ /** 获取服务器版本号(连通性测试用) */
255
+ async getServerVersion() {
256
+ const info = await this.serverInfo();
257
+ return info.version;
258
+ }
259
+ /** 获取当前服务器 URL */
260
+ getServerUrl() {
261
+ return this.serverUrl;
262
+ }
263
+ /** 获取当前认证的 userId */
264
+ getUserId() {
265
+ return this.userId;
266
+ }
267
+ }
268
+ //# sourceMappingURL=rest-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest-client.js","sourceRoot":"","sources":["../../src/rc-api/rest-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /** 登录结果 */
2
+ export interface AuthResult {
3
+ userId: string;
4
+ authToken: string;
5
+ }
6
+ /** 用户信息 */
7
+ export interface RcUser {
8
+ _id: string;
9
+ username: string;
10
+ name?: string;
11
+ emails?: {
12
+ address: string;
13
+ verified: boolean;
14
+ }[];
15
+ roles?: string[];
16
+ active?: boolean;
17
+ type?: string;
18
+ status?: string;
19
+ }
20
+ /** 房间/频道信息 */
21
+ export interface RcRoom {
22
+ _id: string;
23
+ name?: string;
24
+ fname?: string;
25
+ t: "d" | "p" | "c" | "l";
26
+ usernames?: string[];
27
+ usersCount?: number;
28
+ msgs?: number;
29
+ lm?: string;
30
+ }
31
+ /** 房间成员 */
32
+ export interface RcMember {
33
+ _id: string;
34
+ username: string;
35
+ name?: string;
36
+ roles?: string[];
37
+ status?: string;
38
+ }
39
+ /** 消息 */
40
+ export interface RcMessage {
41
+ _id: string;
42
+ rid: string;
43
+ msg: string;
44
+ ts: {
45
+ $date: number;
46
+ } | string;
47
+ u: {
48
+ _id: string;
49
+ username: string;
50
+ name?: string;
51
+ };
52
+ mentions?: {
53
+ _id: string;
54
+ username: string;
55
+ }[];
56
+ attachments?: RcAttachment[];
57
+ file?: {
58
+ _id: string;
59
+ name: string;
60
+ type: string;
61
+ };
62
+ t?: string;
63
+ }
64
+ /** 附件 */
65
+ export interface RcAttachment {
66
+ title?: string;
67
+ title_link?: string;
68
+ image_url?: string;
69
+ audio_url?: string;
70
+ video_url?: string;
71
+ type?: string;
72
+ description?: string;
73
+ }
74
+ /** 创建用户参数 */
75
+ export interface CreateUserParams {
76
+ name: string;
77
+ email: string;
78
+ password: string;
79
+ username: string;
80
+ roles?: string[];
81
+ joinDefaultChannels?: boolean;
82
+ verified?: boolean;
83
+ requirePasswordChange?: boolean;
84
+ }
85
+ /** 发送消息选项 */
86
+ export interface SendMessageOptions {
87
+ alias?: string;
88
+ emoji?: string;
89
+ avatar?: string;
90
+ attachments?: RcAttachment[];
91
+ }
92
+ /** 服务器信息 */
93
+ export interface ServerInfo {
94
+ version: string;
95
+ success: boolean;
96
+ }
97
+ /** 容器状态 */
98
+ export interface ContainerStatus {
99
+ rocketchat: "running" | "stopped" | "not_found";
100
+ mongodb: "running" | "stopped" | "not_found";
101
+ uptime?: string;
102
+ }
103
+ /** 凭据存储 - 管理员 */
104
+ export interface AdminCredentials {
105
+ userId: string;
106
+ authToken: string;
107
+ username: string;
108
+ password: string;
109
+ }
110
+ /** 凭据存储 - 机器人 */
111
+ export interface BotCredentials {
112
+ [botUsername: string]: {
113
+ userId: string;
114
+ password: string;
115
+ };
116
+ }
117
+ /** 凭据存储 - 用户 */
118
+ export interface UserRecord {
119
+ username: string;
120
+ createdAt: string;
121
+ /** 权限:full = 全功能(默认),readonly = 只读(禁言、无 DM) */
122
+ permission?: "full" | "readonly";
123
+ }
124
+ /** 插件配置(channels.rocketchat 下的结构) */
125
+ export interface RocketchatChannelConfig {
126
+ enabled: boolean;
127
+ serverUrl: string;
128
+ port: number;
129
+ dmPolicy: "pairing" | "allowlist" | "open";
130
+ accounts: {
131
+ [accountId: string]: {
132
+ botUsername: string;
133
+ botDisplayName?: string;
134
+ };
135
+ };
136
+ groups: {
137
+ [groupName: string]: {
138
+ requireMention: boolean;
139
+ bots: string[];
140
+ };
141
+ };
142
+ }
143
+ /** OpenClaw Agent 信息 */
144
+ export interface OpenClawAgent {
145
+ id: string;
146
+ name?: string;
147
+ default?: boolean;
148
+ }
149
+ /** OpenClaw binding 信息 */
150
+ export interface OpenClawBinding {
151
+ agentId: string;
152
+ match: {
153
+ channel: string;
154
+ accountId?: string;
155
+ peer?: string;
156
+ };
157
+ }
158
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rc-api/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // ============================================================
2
+ // Rocket.Chat API 类型定义
3
+ // ============================================================
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rc-api/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D"}
@@ -0,0 +1,47 @@
1
+ import type { RcMessage } from "./types.js";
2
+ type MessageHandler = (msg: RcMessage, roomId: string) => void;
3
+ type ConnectionHandler = (connected: boolean) => void;
4
+ export declare class RocketChatWsClient {
5
+ private serverUrl;
6
+ private ws;
7
+ private messageCounter;
8
+ private pendingCalls;
9
+ private subscriptions;
10
+ private messageHandlers;
11
+ private connectionHandlers;
12
+ private reconnecting;
13
+ private reconnectAttempt;
14
+ private reconnectTimer;
15
+ private pingTimer;
16
+ private disposed;
17
+ private loginUser;
18
+ private loginPassword;
19
+ private autoReconnect;
20
+ constructor(serverUrl: string);
21
+ /** 建立 WebSocket 连接 */
22
+ connect(): Promise<void>;
23
+ /** DDP 登录 */
24
+ login(user: string, password: string): Promise<void>;
25
+ /** 断开连接 */
26
+ disconnect(): void;
27
+ /** 订阅房间消息 */
28
+ subscribeRoomMessages(roomId: string): Promise<string>;
29
+ /** 取消订阅 */
30
+ unsubscribe(subId: string): Promise<void>;
31
+ /** 监听消息事件 */
32
+ onMessage(handler: MessageHandler): void;
33
+ /** 监听连接状态变化 */
34
+ onConnectionChange(handler: ConnectionHandler): void;
35
+ private handleDdpMessage;
36
+ private callMethod;
37
+ private sendRaw;
38
+ private nextId;
39
+ private startPingTimer;
40
+ private clearPingTimer;
41
+ private scheduleReconnect;
42
+ private notifyMessage;
43
+ private notifyConnection;
44
+ private sha256;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=ws-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/rc-api/ws-client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkB5C,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC/D,KAAK,iBAAiB,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;AAOtD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAGhB;IACJ,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAQ;gBAEjB,SAAS,EAAE,MAAM;IAY7B,sBAAsB;IAChB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD9B,aAAa;IACP,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D,WAAW;IACX,UAAU,IAAI,IAAI;IAkBlB,aAAa;IACP,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB5D,WAAW;IACL,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,aAAa;IACb,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIxC,eAAe;IACf,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQpD,OAAO,CAAC,gBAAgB;YA2EV,UAAU;IAQxB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;YAcV,MAAM;CAIrB"}