@leemour/max-cli 0.3.0 → 0.5.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.
- package/README.md +7 -0
- package/dist/bin/max.js +0 -0
- package/dist/cache/store.d.ts +18 -15
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +47 -8
- package/dist/cache/store.js.map +1 -1
- package/dist/client.d.ts +53 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +252 -59
- package/dist/client.js.map +1 -1
- package/dist/commands/account.js +1 -1
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/body.d.ts +23 -0
- package/dist/commands/body.d.ts.map +1 -0
- package/dist/commands/body.js +36 -0
- package/dist/commands/body.js.map +1 -0
- package/dist/commands/cache.js +2 -2
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/chats.d.ts.map +1 -1
- package/dist/commands/chats.js +21 -1
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +82 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/contacts.d.ts.map +1 -1
- package/dist/commands/contacts.js +20 -2
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/context.d.ts +23 -2
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +43 -7
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +72 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +114 -7
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +4 -6
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/session.js +2 -2
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/skill.d.ts +3 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +23 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/config.d.ts +80 -11
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +177 -21
- package/dist/config.js.map +1 -1
- package/dist/deadline.d.ts +30 -0
- package/dist/deadline.d.ts.map +1 -0
- package/dist/deadline.js +45 -0
- package/dist/deadline.js.map +1 -0
- package/dist/diagnose.d.ts +68 -0
- package/dist/diagnose.d.ts.map +1 -0
- package/dist/diagnose.js +115 -0
- package/dist/diagnose.js.map +1 -0
- package/dist/domain/map.js +6 -1
- package/dist/domain/map.js.map +1 -1
- package/dist/domain/models.d.ts +32 -1
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js +11 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/download.d.ts +15 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +60 -0
- package/dist/download.js.map +1 -0
- package/dist/generated/client.generated.d.ts +4 -0
- package/dist/generated/client.generated.d.ts.map +1 -1
- package/dist/generated/client.generated.js +4 -0
- package/dist/generated/client.generated.js.map +1 -1
- package/dist/generated/opcodes.generated.d.ts +2 -0
- package/dist/generated/opcodes.generated.d.ts.map +1 -1
- package/dist/generated/opcodes.generated.js +2 -0
- package/dist/generated/opcodes.generated.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +13 -0
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/generated/operations.generated.js +3 -0
- package/dist/generated/operations.generated.js.map +1 -1
- package/dist/program.d.ts +2 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +11 -0
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +9 -0
- package/dist/protocol/connection.js.map +1 -1
- package/dist/rendering/messages.d.ts +3 -3
- package/dist/rendering/messages.d.ts.map +1 -1
- package/dist/rendering/messages.js +2 -1
- package/dist/rendering/messages.js.map +1 -1
- package/dist/runs/recording.d.ts.map +1 -1
- package/dist/runs/recording.js +7 -0
- package/dist/runs/recording.js.map +1 -1
- package/dist/runs/run.d.ts +2 -0
- package/dist/runs/run.d.ts.map +1 -1
- package/dist/runs/run.js +1 -0
- package/dist/runs/run.js.map +1 -1
- package/dist/session/handshake.d.ts +1 -1
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +3 -0
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/operations/attachments.d.ts +15 -0
- package/dist/spec/operations/attachments.d.ts.map +1 -0
- package/dist/spec/operations/attachments.js +38 -0
- package/dist/spec/operations/attachments.js.map +1 -0
- package/dist/testing/mock-max.d.ts +8 -3
- package/dist/testing/mock-max.d.ts.map +1 -1
- package/dist/testing/mock-max.js +20 -2
- package/dist/testing/mock-max.js.map +1 -1
- package/dist/testing/sandbox.js +10 -1
- package/dist/testing/sandbox.js.map +1 -1
- package/dist/testing/unscripted.d.ts +2 -0
- package/dist/testing/unscripted.d.ts.map +1 -0
- package/dist/testing/unscripted.js +18 -0
- package/dist/testing/unscripted.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +28 -22
- package/skills/max-cli/SKILL.md +91 -0
- package/dist/commands/login.d.ts +0 -15
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -43
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -10
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -22
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/me.d.ts +0 -3
- package/dist/commands/me.d.ts.map +0 -1
- package/dist/commands/me.js +0 -18
- package/dist/commands/me.js.map +0 -1
- package/dist/commands/send.d.ts +0 -10
- package/dist/commands/send.d.ts.map +0 -1
- package/dist/commands/send.js +0 -30
- package/dist/commands/send.js.map +0 -1
- package/dist/protocol/session.d.ts +0 -54
- package/dist/protocol/session.d.ts.map +0 -1
- package/dist/protocol/session.js +0 -57
- package/dist/protocol/session.js.map +0 -1
- package/dist/spec/operations/auth.d.ts +0 -42
- package/dist/spec/operations/auth.d.ts.map +0 -1
package/dist/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliError } from "@leemour/cli-core";
|
|
2
2
|
import { namesFrom, toChat, toContact, toMessage, toProfile } from "./domain/map.js";
|
|
3
|
+
import { timeOfMessageId, } from "./domain/models.js";
|
|
3
4
|
import { wireClient } from "./generated/client.generated.js";
|
|
4
5
|
import { asFirstWord } from "./profile.js";
|
|
5
6
|
import { Connection, ProtocolError } from "./protocol/connection.js";
|
|
@@ -52,7 +53,7 @@ export class MaxClient {
|
|
|
52
53
|
* exactly the chats a person recognises by name.
|
|
53
54
|
*/
|
|
54
55
|
list: async (options = {}) => {
|
|
55
|
-
const { limit, offset = 0, kind } = options;
|
|
56
|
+
const { limit, offset = 0, kind, unread } = options;
|
|
56
57
|
const query = checkedQuery(options.query);
|
|
57
58
|
if (this.#offline) {
|
|
58
59
|
const recorded = this.#cache;
|
|
@@ -61,8 +62,8 @@ export class MaxClient {
|
|
|
61
62
|
const store = recorded;
|
|
62
63
|
if (store.chats.count() === 0)
|
|
63
64
|
this.#recorded(undefined, "chats");
|
|
64
|
-
const items = store.chats.page({ limit: limit ?? Number.MAX_SAFE_INTEGER, offset, query, kind });
|
|
65
|
-
return { items, hasMore: offset + items.length < store.chats.count({ query, kind }) };
|
|
65
|
+
const items = store.chats.page({ limit: limit ?? Number.MAX_SAFE_INTEGER, offset, query, kind, unread });
|
|
66
|
+
return { items, hasMore: offset + items.length < store.chats.count({ query, kind, unread }) };
|
|
66
67
|
}
|
|
67
68
|
await this.#connectOnce();
|
|
68
69
|
const raw = asArray(this.#session().chats);
|
|
@@ -80,13 +81,13 @@ export class MaxClient {
|
|
|
80
81
|
});
|
|
81
82
|
const cache = this.#cache;
|
|
82
83
|
if (!cache)
|
|
83
|
-
return paged(matching(chats, query, kind), limit, offset);
|
|
84
|
+
return paged(matching(chats, { query, kind, unread }), limit, offset);
|
|
84
85
|
// Written first, then read back: the titles just resolved have to be in the store before it
|
|
85
86
|
// is asked to order and page over them, and the delta this login carried is only a slice of
|
|
86
87
|
// what it now holds.
|
|
87
88
|
cache.chats.write(chats);
|
|
88
|
-
const items = cache.chats.page({ limit: limit ?? Number.MAX_SAFE_INTEGER, offset, query, kind });
|
|
89
|
-
return { items, hasMore: offset + items.length < cache.chats.count({ query, kind }) };
|
|
89
|
+
const items = cache.chats.page({ limit: limit ?? Number.MAX_SAFE_INTEGER, offset, query, kind, unread });
|
|
90
|
+
return { items, hasMore: offset + items.length < cache.chats.count({ query, kind, unread }) };
|
|
90
91
|
},
|
|
91
92
|
/**
|
|
92
93
|
* Turns what the person typed into a chat id.
|
|
@@ -96,21 +97,23 @@ export class MaxClient {
|
|
|
96
97
|
* conversation is not undoable, so the caller is shown the candidates and asked to be specific.
|
|
97
98
|
*/
|
|
98
99
|
resolve: async (reference) => {
|
|
99
|
-
if (
|
|
100
|
+
if (isId(reference))
|
|
100
101
|
return reference.trim();
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
102
|
+
return pickChat(reference, (await this.chats.list()).items).id;
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* One chat and who is in it, from the list the login just refreshed.
|
|
106
|
+
*
|
|
107
|
+
* ⚠ **An id is checked here, where `resolve` lets any number through** — for a read that is
|
|
108
|
+
* the difference between an answer and a card of nulls for a chat that does not exist.
|
|
109
|
+
*/
|
|
110
|
+
show: async (reference) => {
|
|
111
|
+
const { items } = await this.chats.list();
|
|
112
|
+
const chat = isId(reference) ? items.find((one) => one.id === reference.trim()) : pickChat(reference, items);
|
|
113
|
+
if (!chat)
|
|
114
|
+
throw new CliError("not_found", `no chat ${reference.trim()} among this account's chats`);
|
|
115
|
+
const cache = this.#cache;
|
|
116
|
+
return { ...chat, members: chat.kind === "channel" || !cache ? null : cache.chats.members(chat.id) };
|
|
114
117
|
},
|
|
115
118
|
};
|
|
116
119
|
contacts = {
|
|
@@ -156,6 +159,31 @@ export class MaxClient {
|
|
|
156
159
|
* It is also the only thing that could ever prune somebody MAX has stopped returning, which is
|
|
157
160
|
* the second reason it exists.
|
|
158
161
|
*/
|
|
162
|
+
/**
|
|
163
|
+
* One person and the chats we share, **whoever they are** — a group member is as findable as
|
|
164
|
+
* a contact. `NEED-105` decides who `list` lists, not who can be looked up.
|
|
165
|
+
*
|
|
166
|
+
* Only from the store: the shared chats are its `chat_members`, which nothing else holds.
|
|
167
|
+
*/
|
|
168
|
+
show: async (reference) => {
|
|
169
|
+
const cache = this.#cache;
|
|
170
|
+
if (!cache) {
|
|
171
|
+
throw new CliError("configuration_error", `there is no local store for profile "${this.#store.profile}" to look people up in — the note above says why`);
|
|
172
|
+
}
|
|
173
|
+
if (this.#offline) {
|
|
174
|
+
if (cache.people.count() === 0)
|
|
175
|
+
this.#recorded(undefined, "people");
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
await this.#connectOnce();
|
|
179
|
+
await this.#peopleFor(asArray(this.#session().chats));
|
|
180
|
+
}
|
|
181
|
+
const person = pickPerson(reference, cache);
|
|
182
|
+
const chats = cache.people
|
|
183
|
+
.sharedChats(person.id)
|
|
184
|
+
.map(({ id, title, kind, lastMessageAt }) => ({ id, title, kind, lastMessageAt }));
|
|
185
|
+
return { ...person, chats };
|
|
186
|
+
},
|
|
159
187
|
sync: async () => {
|
|
160
188
|
if (this.#offline) {
|
|
161
189
|
throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot sync");
|
|
@@ -207,59 +235,112 @@ export class MaxClient {
|
|
|
207
235
|
* it takes a moment and answers with what came before it — so `--before` is exact where a page
|
|
208
236
|
* number over a live conversation would repeat and skip rows.
|
|
209
237
|
*
|
|
238
|
+
* `after` reads the other way and **leaves the anchor out**, so the next page's hint does not
|
|
239
|
+
* repeat a row. MAX puts it in — measured 2026-09-23, `forward: n` with `backward: 0` starts
|
|
240
|
+
* with the message it was given — so one more is asked for and anything not later is dropped.
|
|
241
|
+
* `before` keeps the anchor, as it always has.
|
|
242
|
+
*
|
|
210
243
|
* `hasMore` here is a claim about the copy we hold, never about the chat: a full page back is
|
|
211
244
|
* the only evidence there is that another page exists.
|
|
212
245
|
*/
|
|
213
246
|
list: async (chatId, options = {}) => {
|
|
214
247
|
const limit = options.limit ?? 20;
|
|
248
|
+
const { before, after } = options;
|
|
249
|
+
if (after !== undefined) {
|
|
250
|
+
const found = this.#offline
|
|
251
|
+
? this.#recorded(this.#cache?.messages.window(chatId, after, 0, limit + 1), "messages")
|
|
252
|
+
: await this.#history(chatId, { from: after, backward: 0, forward: limit + 1 });
|
|
253
|
+
const later = found.filter((message) => Date.parse(message.timestamp) > after);
|
|
254
|
+
return { items: later.slice(0, limit), hasMore: later.length > limit };
|
|
255
|
+
}
|
|
215
256
|
if (this.#offline) {
|
|
216
|
-
const
|
|
217
|
-
|
|
257
|
+
const cache = this.#cache;
|
|
258
|
+
const stored = before === undefined
|
|
259
|
+
? cache?.messages.read(chatId, limit, ANY_AGE)
|
|
260
|
+
: cache?.messages.window(chatId, before, limit, 0);
|
|
261
|
+
const items = this.#recorded(stored, "messages");
|
|
262
|
+
return { items, hasMore: items.length >= limit };
|
|
218
263
|
}
|
|
219
|
-
await this.#
|
|
220
|
-
const session = this.#session();
|
|
221
|
-
// `interactive: false` and no CHAT_MARK: reading history must not mark anything read (§19).
|
|
222
|
-
const answer = await this.#wire.chats.history({
|
|
223
|
-
chatId,
|
|
224
|
-
from: options.before ?? Date.now(),
|
|
225
|
-
forward: 0,
|
|
226
|
-
backward: limit,
|
|
227
|
-
forwardTime: 0,
|
|
228
|
-
backwardTime: 0,
|
|
229
|
-
itemType: "REGULAR",
|
|
230
|
-
getChat: false,
|
|
231
|
-
getMessages: true,
|
|
232
|
-
interactive: false,
|
|
233
|
-
});
|
|
234
|
-
const lookup = { names: namesFrom(session.contacts), ...viewer(this.#store) };
|
|
235
|
-
const messages = asArray(answer.messages).map((raw) => toMessage(raw, chatId, lookup));
|
|
236
|
-
this.#cache?.messages.write(chatId, messages);
|
|
264
|
+
const messages = await this.#history(chatId, { from: before ?? Date.now(), backward: limit, forward: 0 });
|
|
237
265
|
return { items: messages, hasMore: messages.length >= limit };
|
|
238
266
|
},
|
|
239
267
|
/**
|
|
240
|
-
*
|
|
268
|
+
* **One message and a window either side of it**, oldest first, the one asked for marked
|
|
269
|
+
* `anchor: true`.
|
|
241
270
|
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* the
|
|
271
|
+
* Measured 2026-09-22: from a message's own time, `backward: n` answers n messages ending with
|
|
272
|
+
* it and `forward: n` the n after it. Its time comes from its id, so no stored copy is needed.
|
|
273
|
+
* Correction 2026-09-23: that holds with `backward` above zero; with `backward: 0`, `forward`
|
|
274
|
+
* starts with the message itself (`messages.list` with `after` depends on the difference).
|
|
246
275
|
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
* guess: read as milliseconds, an 18-digit id points six hundred million years from now.
|
|
276
|
+
* ⚠ **A message that is gone is refused, not replaced by its neighbour** — MAX answers with
|
|
277
|
+
* whatever is nearest, and showing that as the message asked for would be a quiet lie.
|
|
250
278
|
*/
|
|
251
|
-
|
|
252
|
-
const
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
279
|
+
around: async (chatId, messageId, { before = 0, after = 0 } = {}) => {
|
|
280
|
+
const time = timeOfMessageId(messageId);
|
|
281
|
+
if (time === undefined)
|
|
282
|
+
throw new CliError("validation_error", `"${messageId}" is not a message id`);
|
|
283
|
+
const found = this.#offline
|
|
284
|
+
? (this.#cache?.messages.window(chatId, time, before + 1, after) ?? [])
|
|
285
|
+
: await this.#history(chatId, { from: time, backward: before + 1, forward: after });
|
|
286
|
+
if (!found.some((message) => message.id === messageId)) {
|
|
287
|
+
throw new CliError("not_found", `no message ${messageId} in chat ${chatId} — deleted, or in another chat`);
|
|
288
|
+
}
|
|
289
|
+
return found.map((message) => (message.id === messageId ? { ...message, anchor: true } : message));
|
|
290
|
+
},
|
|
291
|
+
/**
|
|
292
|
+
* **Where each attachment of one message can be downloaded from.** A photo and an audio carry
|
|
293
|
+
* their link; a file and a video carry only an id, and MAX answers the link for it (measured
|
|
294
|
+
* 2026-09-23). A video is taken as its largest MP4 — the streaming renditions are playlists,
|
|
295
|
+
* not a file. An attachment with no link to give is left out and named in `skipped`.
|
|
296
|
+
*/
|
|
297
|
+
links: async (chatId, messageId) => {
|
|
298
|
+
if (this.#offline)
|
|
299
|
+
throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot download");
|
|
300
|
+
const [message] = await this.messages.around(chatId, messageId);
|
|
301
|
+
if (!message)
|
|
302
|
+
throw new CliError("not_found", `no message ${messageId} in chat ${chatId}`);
|
|
303
|
+
const links = [];
|
|
304
|
+
const skipped = [];
|
|
305
|
+
for (const attachment of message.attachments) {
|
|
306
|
+
const { kind, name } = attachment;
|
|
307
|
+
if (attachment.fileId) {
|
|
308
|
+
const answer = await this.#wire.attachments.file({ chatId, messageId, fileId: attachment.fileId });
|
|
309
|
+
const url = typeof answer.url === "string" ? answer.url : undefined;
|
|
310
|
+
if (url)
|
|
311
|
+
links.push({ kind, url, ...(name ? { name } : {}), ...(answer.unsafe === true ? { unsafe: true } : {}) });
|
|
312
|
+
else
|
|
313
|
+
skipped.push(kind);
|
|
314
|
+
}
|
|
315
|
+
else if (attachment.videoId) {
|
|
316
|
+
const answer = await this.#wire.attachments.video({ chatId, messageId, videoId: attachment.videoId });
|
|
317
|
+
const url = largestMp4(answer);
|
|
318
|
+
if (url)
|
|
319
|
+
links.push({ kind, url });
|
|
320
|
+
else
|
|
321
|
+
skipped.push(kind);
|
|
322
|
+
}
|
|
323
|
+
else if (attachment.url && (kind === "photo" || kind === "audio")) {
|
|
324
|
+
links.push({ kind, url: attachment.url });
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
skipped.push(kind);
|
|
257
328
|
}
|
|
258
|
-
return time;
|
|
259
329
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
330
|
+
return { links, skipped };
|
|
331
|
+
},
|
|
332
|
+
/**
|
|
333
|
+
* Turns what `--before` or `--after` was given into a moment.
|
|
334
|
+
*
|
|
335
|
+
* **ISO 8601 is a time; a bare integer is a message id**, and a message id carries its own time
|
|
336
|
+
* (`timeOfMessageId`). Deciding between the two by length would be a trap that fires the first
|
|
337
|
+
* time either changes size, so the rule is what the string looks like.
|
|
338
|
+
*/
|
|
339
|
+
moment: (reference, flag = "--before") => {
|
|
340
|
+
const wanted = reference.trim();
|
|
341
|
+
const time = /^\d+$/.test(wanted) ? timeOfMessageId(wanted) : Date.parse(wanted);
|
|
342
|
+
if (time === undefined || Number.isNaN(time)) {
|
|
343
|
+
throw new CliError("validation_error", `${flag} takes a message id or an ISO 8601 time, not "${wanted}"`);
|
|
263
344
|
}
|
|
264
345
|
return time;
|
|
265
346
|
},
|
|
@@ -469,6 +550,66 @@ export class MaxClient {
|
|
|
469
550
|
* no login, and is over before a socket would have finished its handshake. `connect()` stays
|
|
470
551
|
* public for the one command that must reach MAX to mean anything — starting a session.
|
|
471
552
|
*/
|
|
553
|
+
/** `interactive: false` and never `CHAT_MARK`: reading history must not mark anything read (§19). */
|
|
554
|
+
async #history(chatId, window) {
|
|
555
|
+
await this.#connectOnce();
|
|
556
|
+
const session = this.#session();
|
|
557
|
+
const answer = await this.#wire.chats.history({
|
|
558
|
+
chatId,
|
|
559
|
+
...window,
|
|
560
|
+
forwardTime: 0,
|
|
561
|
+
backwardTime: 0,
|
|
562
|
+
itemType: "REGULAR",
|
|
563
|
+
getChat: false,
|
|
564
|
+
getMessages: true,
|
|
565
|
+
interactive: false,
|
|
566
|
+
});
|
|
567
|
+
const lookup = { names: namesFrom(session.contacts), ...viewer(this.#store) };
|
|
568
|
+
const messages = await this.#nameSenders(asArray(answer.messages).map((raw) => toMessage(raw, chatId, lookup)));
|
|
569
|
+
this.#cache?.messages.write(chatId, messages);
|
|
570
|
+
return messages;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* **A group member who is not a contact arrives as a bare id** — the login names contacts only,
|
|
574
|
+
* so in a group chat everyone but the owner showed as a number (`FIND-45`). The names we hold
|
|
575
|
+
* answer first; the rest cost one `CONTACT_INFO` per hundred, and are kept so the next read
|
|
576
|
+
* does not ask again. Quoted senders in replies and forwards are named the same way.
|
|
577
|
+
*
|
|
578
|
+
* A refused lookup costs the names, not the read: the messages are what was asked for.
|
|
579
|
+
*/
|
|
580
|
+
async #nameSenders(messages) {
|
|
581
|
+
const quoted = messages.flatMap((message) => [message.replyTo, message.forwardedFrom]).filter(isPresent);
|
|
582
|
+
const ids = [...new Set([...messages, ...quoted].filter(needsName).map((message) => message.senderId))];
|
|
583
|
+
if (ids.length === 0)
|
|
584
|
+
return messages;
|
|
585
|
+
const names = this.#cache?.people.names(ids) ?? new Map();
|
|
586
|
+
const fetched = [];
|
|
587
|
+
try {
|
|
588
|
+
for (const batch of batched(ids.filter((id) => !names.has(id)), CONTACT_INFO_BATCH)) {
|
|
589
|
+
const answer = await this.#wire.contacts.info({ contactIds: batch });
|
|
590
|
+
for (const raw of asArray(answer.contacts)) {
|
|
591
|
+
const contact = toContact(raw);
|
|
592
|
+
if (!contact.id || !contact.name)
|
|
593
|
+
continue;
|
|
594
|
+
names.set(contact.id, contact.name);
|
|
595
|
+
fetched.push(contact);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
catch (error) {
|
|
600
|
+
this.#warn(`some senders are shown by id: their names could not be looked up (${reasonOf(error)})`);
|
|
601
|
+
}
|
|
602
|
+
if (fetched.length > 0)
|
|
603
|
+
this.#cache?.people.upsert(fetched, "info");
|
|
604
|
+
const name = (message) => needsName(message) && names.has(message.senderId)
|
|
605
|
+
? { ...message, senderName: names.get(message.senderId) ?? null }
|
|
606
|
+
: message;
|
|
607
|
+
return messages.map((message) => ({
|
|
608
|
+
...name(message),
|
|
609
|
+
replyTo: message.replyTo && name(message.replyTo),
|
|
610
|
+
forwardedFrom: message.forwardedFrom && name(message.forwardedFrom),
|
|
611
|
+
}));
|
|
612
|
+
}
|
|
472
613
|
async #connectOnce() {
|
|
473
614
|
if (!this.#login)
|
|
474
615
|
await this.connect();
|
|
@@ -615,6 +756,10 @@ export class MaxClient {
|
|
|
615
756
|
return this.#login;
|
|
616
757
|
}
|
|
617
758
|
}
|
|
759
|
+
const largestMp4 = (answer) => Object.entries(answer)
|
|
760
|
+
.map(([key, value]) => ({ height: /^MP4_(\d+)$/.exec(key)?.[1], value }))
|
|
761
|
+
.filter((entry) => entry.height !== undefined && typeof entry.value === "string")
|
|
762
|
+
.sort((a, b) => Number(b.height) - Number(a.height))[0]?.value;
|
|
618
763
|
/**
|
|
619
764
|
* **The shortest search the index can answer is three characters**, and below that it returns
|
|
620
765
|
* nothing rather than complaining (measured 2026-09-22). An empty list reads as "no matches",
|
|
@@ -625,6 +770,51 @@ export class MaxClient {
|
|
|
625
770
|
* on something the person never asked about.
|
|
626
771
|
*/
|
|
627
772
|
const MIN_QUERY = 3;
|
|
773
|
+
const isId = (reference) => /^-?\d+$/.test(reference.trim());
|
|
774
|
+
/**
|
|
775
|
+
* A name matched exactly first, then as a fragment — and **an ambiguous one is an error, not a
|
|
776
|
+
* guess**: sending to the wrong conversation is not undoable, so the caller is shown the
|
|
777
|
+
* candidates and asked to be specific.
|
|
778
|
+
*/
|
|
779
|
+
const pickChat = (reference, chats) => {
|
|
780
|
+
const wanted = reference.trim().toLowerCase();
|
|
781
|
+
const titled = chats.filter((chat) => chat.title !== null);
|
|
782
|
+
const exact = titled.filter((chat) => chat.title?.toLowerCase() === wanted);
|
|
783
|
+
const matches = exact.length > 0 ? exact : titled.filter((chat) => chat.title?.toLowerCase().includes(wanted));
|
|
784
|
+
if (matches.length === 1 && matches[0])
|
|
785
|
+
return matches[0];
|
|
786
|
+
if (matches.length === 0)
|
|
787
|
+
throw new CliError("not_found", `no chat matches "${reference}"`);
|
|
788
|
+
throw ambiguous(reference, "chats", matches.map((chat) => ({ id: chat.id, title: chat.title })), ({ title }) => String(title));
|
|
789
|
+
};
|
|
790
|
+
/**
|
|
791
|
+
* As `pickChat`, over names and @usernames. Matched here rather than in SQL because SQLite's
|
|
792
|
+
* `lower()` folds ASCII only, and most of these names are Cyrillic.
|
|
793
|
+
*/
|
|
794
|
+
const pickPerson = (reference, cache) => {
|
|
795
|
+
const trimmed = reference.trim();
|
|
796
|
+
if (isId(trimmed)) {
|
|
797
|
+
const known = cache.people.get(trimmed);
|
|
798
|
+
if (!known)
|
|
799
|
+
throw new CliError("not_found", `no person ${trimmed} in what this account has seen`);
|
|
800
|
+
return known;
|
|
801
|
+
}
|
|
802
|
+
const wanted = trimmed.replace(/^@/, "").toLowerCase();
|
|
803
|
+
const everyone = cache.people.page({ order: "name", limit: Number.MAX_SAFE_INTEGER, offset: 0 });
|
|
804
|
+
const fields = (person) => [person.name, person.username].filter(isPresent).map((one) => one.toLowerCase());
|
|
805
|
+
const exact = everyone.filter((person) => fields(person).includes(wanted));
|
|
806
|
+
const matches = exact.length > 0 ? exact : everyone.filter((person) => fields(person).some((one) => one.includes(wanted)));
|
|
807
|
+
if (matches.length === 1 && matches[0])
|
|
808
|
+
return matches[0];
|
|
809
|
+
if (matches.length === 0)
|
|
810
|
+
throw new CliError("not_found", `nobody matches "${reference}"`);
|
|
811
|
+
throw ambiguous(reference, "people", matches.map(({ id, name, username }) => ({ id, name, username })), ({ name, username }) => [name, username && `@${username}`].filter(isPresent).join(" "));
|
|
812
|
+
};
|
|
813
|
+
const ambiguous = (reference, what, candidates, label) => {
|
|
814
|
+
const width = Math.max(...candidates.map(({ id }) => id.length));
|
|
815
|
+
const lines = candidates.map((candidate) => ` ${candidate.id.padEnd(width)} ${label(candidate)}`).join("\n");
|
|
816
|
+
return new CliError("validation_error", `"${reference}" matches ${candidates.length} ${what} — name one by its id:\n${lines}`, { candidates });
|
|
817
|
+
};
|
|
628
818
|
const checkedQuery = (query) => {
|
|
629
819
|
if (query === undefined)
|
|
630
820
|
return undefined;
|
|
@@ -641,6 +831,8 @@ const checkedQuery = (query) => {
|
|
|
641
831
|
* names itself rather than as a wrong answer.
|
|
642
832
|
*/
|
|
643
833
|
const CONTACT_INFO_BATCH = 100;
|
|
834
|
+
const isPresent = (value) => value !== null && value !== undefined;
|
|
835
|
+
const needsName = (message) => message.senderId !== null && message.senderName === null && message.outgoing !== true;
|
|
644
836
|
const batched = (items, size) => {
|
|
645
837
|
const batches = [];
|
|
646
838
|
for (let at = 0; at < items.length; at += size)
|
|
@@ -661,9 +853,10 @@ const batched = (items, size) => {
|
|
|
661
853
|
* The alternative was to let a filter only work when a cache happened to exist, which makes the
|
|
662
854
|
* answer depend on something the person never asked about.
|
|
663
855
|
*/
|
|
664
|
-
const matching = (chats, query, kind) => {
|
|
856
|
+
const matching = (chats, { query, kind, unread }) => {
|
|
665
857
|
const needle = query?.toLocaleLowerCase();
|
|
666
858
|
return chats.filter((chat) => (kind === undefined || chat.kind === kind) &&
|
|
859
|
+
(!unread || (chat.unreadCount ?? 0) > 0) &&
|
|
667
860
|
(needle === undefined || (chat.title ?? "").toLocaleLowerCase().includes(needle)));
|
|
668
861
|
};
|
|
669
862
|
/** As `matching`, over the two columns `people_fts` indexes. */
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACpF,OAAO,EAaL,eAAe,GAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAe,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAwB,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAkC,MAAM,iBAAiB,CAAA;AA8B7F;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAAc;IACpB,WAAW,CAAY;IACvB,KAAK,CAA2B;IAChC,MAAM,CAAwB;IAC9B,QAAQ,CAAS;IACjB,OAAO,CAAkC;IACzC,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAW,CAAA;IAC5E,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,CAAqB;IAC3B,YAAY,GAAG,CAAC,CAAA;IAChB,OAAO,CAA8B;IACrC,OAAO,CAAyB;IAEhC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,EAAoB;QAClG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7F,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACrC,CAAC;IAEQ,OAAO,GAAG;QACjB,EAAE,EAAE,GAAY,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACpE,CAAA;IAEQ,KAAK,GAAG;QACf;;;;;;;WAOG;QACH,IAAI,EAAE,KAAK,EAAE,UAAuB,EAAE,EAAuB,EAAE;YAC7D,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;YACnD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACjD,MAAM,KAAK,GAAG,QAAsB,CAAA;gBACpC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBACxG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YAC/F,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAEzC,2FAA2F;YAC3F,2FAA2F;YAC3F,oBAAoB;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC3B,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAA;gBAEpE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACrC,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;gBAC/E,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YACnC,CAAC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YAEjF,4FAA4F;YAC5F,4FAA4F;YAC5F,qBAAqB;YACrB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACxG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC/F,CAAC;QAED;;;;;;WAMG;QACH,OAAO,EAAE,KAAK,EAAE,SAAiB,EAAe,EAAE;YAChD,IAAI,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAA;YAC5C,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAChE,CAAC;QAED;;;;;WAKG;QACH,IAAI,EAAE,KAAK,EAAE,SAAiB,EAAqB,EAAE;YACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC5G,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,WAAW,SAAS,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAA;YAEpG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;QACtG,CAAC;KACF,CAAA;IAEQ,QAAQ,GAAG;QAClB;;;;;;;;;;;WAWG;QACH,IAAI,EAAE,KAAK,EAAE,UAAuB,EAAE,EAA0B,EAAE;YAChE,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAA;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEzC,wFAAwF;YACxF,gFAAgF;YAChF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;gBAC5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;gBAC7F,OAAO,IAAI,CAAC,eAAe,CAAC,QAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YAClF,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YACpE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YAEzB,2FAA2F;YAC3F,0EAA0E;YAC1E,IAAI,CAAC,KAAK;gBACR,OAAO,KAAK,CACV,cAAc,CACZ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAC3D,KAAK,CACN,EACD,KAAK,EACL,MAAM,CACP,CAAA;YAEH,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC;QAED;;;;;;;;;WASG;QACH;;;;;WAKG;QACH,IAAI,EAAE,KAAK,EAAE,SAAiB,EAAuB,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,QAAQ,CAChB,qBAAqB,EACrB,wCAAwC,IAAI,CAAC,MAAM,CAAC,OAAO,kDAAkD,CAC9G,CAAA;YACH,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;gBACzB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;iBACvB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;iBACtB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;YACpF,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAA;QAC7B,CAAC;QAED,IAAI,EAAE,KAAK,IAA2C,EAAE;YACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAA;YAC/F,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,QAAQ,CAChB,qBAAqB,EACrB,wCAAwC,IAAI,CAAC,MAAM,CAAC,OAAO,0CAA0C,CACtG,CAAA;YACH,CAAC;YAED,mFAAmF;YACnF,KAAK,CAAC,gBAAgB,EAAE,CAAA;YACxB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAEzB,yFAAyF;YACzF,uDAAuD;YACvD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YAErD,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC7G,CAAC;KACF,CAAA;IAEQ,QAAQ,GAAG;QAClB;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE,KAAK,EACX,KAAa,EACb,UAA4D,EAAE,EACnC,EAAE;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAA;YAE3G,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,kGAAkG,CACnG,CAAA;YACH,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAA;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YACrG,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC3F,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAA;QAC1D,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,IAAI,EAAE,KAAK,EACT,MAAU,EACV,UAA+D,EAAE,EACzC,EAAE;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;YACjC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;YAEjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;oBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;oBACvF,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;gBACjF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAA;gBAC9E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAA;YACxE,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;gBACzB,MAAM,MAAM,GACV,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;oBAC9C,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAA;YAClD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;YACzG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAA;QAC/D,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,EAAE,KAAK,EACX,MAAU,EACV,SAAa,EACb,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAA0C,EAAE,EACvC,EAAE;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,IAAI,SAAS,uBAAuB,CAAC,CAAA;YAEpG,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;gBACzB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YAErF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,SAAS,YAAY,MAAM,gCAAgC,CAAC,CAAA;YAC5G,CAAC;YACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACpG,CAAC;QAED;;;;;WAKG;QACH,KAAK,EAAE,KAAK,EAAE,MAAU,EAAE,SAAa,EAA2D,EAAE;YAClG,IAAI,IAAI,CAAC,QAAQ;gBACf,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yDAAyD,CAAC,CAAA;YACnG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,SAAS,YAAY,MAAM,EAAE,CAAC,CAAA;YAE1F,MAAM,KAAK,GAAqB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAa,EAAE,CAAA;YAC5B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;gBACjC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;oBAClG,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;oBACnE,IAAI,GAAG;wBACL,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;;wBACtG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;qBAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;oBACrG,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;oBAC9B,IAAI,GAAG;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;;wBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;qBAAM,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;oBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;QAED;;;;;;WAMG;QACH,MAAM,EAAE,CAAC,SAAiB,EAAE,IAAI,GAAG,UAAU,EAAU,EAAE;YACvD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChF,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,IAAI,iDAAiD,MAAM,GAAG,CAAC,CAAA;YAC3G,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,IAAI,EAAE,KAAK,EAAE,MAAU,EAAE,IAAY,EAAE,UAA8C,EAAE,EAAoB,EAAE;YAC3G,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAA;YAEhH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC1C,MAAM,OAAO,GAAG;gBACd,MAAM;gBACN,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAClD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;aAC/B,CAAA;YAED,IAAI,MAAe,CAAA;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;oBAAE,MAAM,OAAO,CAAA;gBAEjF,2FAA2F;gBAC3F,wDAAwD;gBACxD,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,8CAA8C,OAAO,CAAC,OAAO,MAAM;wBACjE,2CAA2C,GAAG,sDAAsD,EACtG,EAAE,GAAG,EAAE,CACR,CAAA;gBACH,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAExC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAA;YAC7C,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAChG,CAAC;KACF,CAAA;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,KAAyB,EAAE;QACzD,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,0FAA0F;YAC1F,yFAAyF;YACzF,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,2BAA2B,IAAI,CAAC,MAAM,CAAC,OAAO,iBAAiB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CACjH,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAA;QAEtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC7C,KAAK;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;aACxC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QAEhE,2FAA2F;QAC3F,+FAA+F;QAC/F,yFAAyF;QACzF,4FAA4F;QAC5F,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,uDAAuD,IAAI,CAAC,MAAM,CAAC,OAAO,sBAAsB;gBAC9F,aAAa,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAC5F,CAAA;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,GAAG,KAAK;YACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAA;QAEF,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,CAAC,IAAY;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAA;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAM;QAE7E,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,kFAAkF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,QAA4B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAY,CAAA;QACnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,qFAAqF;YACrF,mFAAmF;YACnF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAQ;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACxD,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QACpE,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;qBACtC,GAAG,CAAC,SAAS,CAAC;qBACd,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,OAAO;gBACP,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,0EAA0E,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACzG,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,eAAe,CACb,KAAiB,EACjB,KAAkB,EAClB,KAAyB,EACzB,MAAc,EACd,KAAc;QAEd,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACtG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAC1F,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,IAAa,EAAE,QAA4B;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC9C,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IAC3G,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,8EAA8E;IAC9E,SAAS,CAAI,KAAsB,EAAE,IAAY;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,wBAAwB,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,gDAAgD,CAChH,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,qGAAqG;IACrG,KAAK,CAAC,QAAQ,CAAC,MAAU,EAAE,MAA2D;QACpF,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5C,MAAM;YACN,GAAG,MAAM;YACT,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAC/G,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC7C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,QAAmB;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACxG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAc,CAAC,CAAC,CAAC,CAAA;QAC7G,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAc,CAAA;QACrE,MAAM,OAAO,GAAc,EAAE,CAAA;QAC7B,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,CACzB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAClC,kBAAkB,CACnB,EAAE,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpE,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;wBAAE,SAAQ;oBAC1C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;oBACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,qEAAqE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAEnE,MAAM,IAAI,GAAG,CAAoC,OAAU,EAAK,EAAE,CAChE,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAc,CAAC;YACrD,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAc,CAAC,IAAI,IAAI,EAAE;YACvE,CAAC,CAAC,OAAO,CAAA;QACb,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACjD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;SACpE,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAA+B,SAAqB,EAAE,OAA8B;QAC7F,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAA;QAErE,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,IAAI,KAAyB,CAAA;QAE7B,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;gBACd,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBAClB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACvF,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YACjC,4FAA4F;YAC5F,+DAA+D;YAC/D,IAAI,CAAC,KAAK,CAAC;gBACT,KAAK,EAAE,UAAU;gBACjB,GAAG,KAAK;gBACR,GAAG;gBACH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACnD,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,OAAO,CAAC,IAAI;aACxB,CAAC,CAAA;YACF,MAAM,OAAO,CAAA;QACf,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,UAAU;YACjB,GAAG,KAAK;YACR,GAAG;YACH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC7C,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,KAAsB;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAA;QACrC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAM,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAC7C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnG,CAAC;QAED,MAAM,KAAK,GAAc,EAAE,CAAA;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;gBAC9B,IAAI,CAAC,OAAO,CAAC,EAAE;oBAAE,SAAQ;gBACzB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,wCAAwC;QACxC,EAAE;QACF,2FAA2F;QAC3F,4FAA4F;QAC5F,4FAA4F;QAC5F,qBAAqB;QACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,qEAAqE;IACrE,UAAU,CAAC,IAAa;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAA;QACzF,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF;AAED,MAAM,UAAU,GAAG,CAAC,MAAe,EAAsB,EAAE,CACzD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;KACnB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KACxE,MAAM,CACL,CAAC,KAAK,EAA8C,EAAE,CACpD,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAChE;KACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;AAclE;;;;;;;;GAQG;AACH,MAAM,SAAS,GAAG,CAAC,CAAA;AAEnB,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;AAE7E;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAQ,EAAE;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;IAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAE9G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,SAAS,GAAG,CAAC,CAAA;IAC3F,MAAM,SAAS,CACb,SAAS,EACT,OAAO,EACP,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAC3D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,KAAiB,EAAW,EAAE;IACnE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,aAAa,OAAO,gCAAgC,CAAC,CAAA;QACjG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAChG,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;IAEpH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE5G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,mBAAmB,SAAS,GAAG,CAAC,CAAA;IAC1F,MAAM,SAAS,CACb,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EACjE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAChB,SAAiB,EACjB,IAAY,EACZ,UAAe,EACf,KAA+B,EACrB,EAAE;IACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9G,OAAO,IAAI,QAAQ,CACjB,kBAAkB,EAClB,IAAI,SAAS,aAAa,UAAU,CAAC,MAAM,IAAI,IAAI,2BAA2B,KAAK,EAAE,EACrF,EAAE,UAAU,EAAE,CACf,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACrE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,2BAA2B,SAAS,kBAAkB,OAAO,QAAQ,OAAO,CAAC,MAAM,EAAE,CACtF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,MAAM,SAAS,GAAG,CAAI,KAA2B,EAAc,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;AAEvG,MAAM,SAAS,GAAG,CAAC,OAA8D,EAAW,EAAE,CAC5F,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;AAEvF,MAAM,OAAO,GAAG,CAAI,KAAU,EAAE,IAAY,EAAS,EAAE;IACrD,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACxF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,mGAAmG;AACnG;;;;;;;;;;;;GAYG;AACH,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAkD,EAAU,EAAE;IAClH,MAAM,MAAM,GAAG,KAAK,EAAE,iBAAiB,EAAE,CAAA;IACzC,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAC1C,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACpF,CAAA;AACH,CAAC,CAAA;AAED,gEAAgE;AAChE,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,KAAyB,EAAa,EAAE;IACjF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACxH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAI,KAAU,EAAE,KAAyB,EAAE,MAAc,EAAW,EAAE;IAClF,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAA;IAC5F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;AACtE,CAAC,CAAA;AAED,gGAAgG;AAChG,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAA;AAExC;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAsB,EAAE,CACrD,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAElF,mGAAmG;AACnG,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE;IAC1C,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAA;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAAmB,EAAE,EAAE;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAA;IAC3C,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAAc,EAAuB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;AAEvG,MAAM,OAAO,GAAG,CAAC,KAAc,EAAa,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,KAAc,EAAY,EAAE;IAC9C,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,QAAQ,CACjB,sBAAsB,EACtB,GAAG,KAAK,CAAC,OAAO,4DAA4D,CAC7E,CAAA;QACH,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC/E,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;AAC/C,CAAC,CAAA"}
|
package/dist/commands/account.js
CHANGED
|
@@ -6,7 +6,7 @@ export const accountCommand = () => {
|
|
|
6
6
|
.command("show")
|
|
7
7
|
.description("who this profile is logged in as")
|
|
8
8
|
.action(async function () {
|
|
9
|
-
const { renderer, createClient, run } = forCommand(this
|
|
9
|
+
const { renderer, createClient, run } = forCommand(this);
|
|
10
10
|
await run("account show", async (events) => {
|
|
11
11
|
const client = createClient({ events });
|
|
12
12
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAA;IAE9F,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,KAAK;QACX,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAA;IAE9F,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,KAAK;QACX,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAExD,MAAM,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YAEvC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;gBACtB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACtC,CAAC;oBAAS,CAAC;gBACT,4FAA4F;gBAC5F,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface BodyInput {
|
|
2
|
+
input?: NodeJS.ReadableStream & {
|
|
3
|
+
isTTY?: boolean;
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* A message body, taken from a pipe instead of from argv.
|
|
8
|
+
*
|
|
9
|
+
* **argv is the wrong place for a message.** It is read by `ps` while the command runs and kept by
|
|
10
|
+
* shell history afterwards — the two things this project forbids for the token, two lines away in
|
|
11
|
+
* `session start` — and a body with a newline in it cannot be written there at all. The other CLI
|
|
12
|
+
* this was compared against carries the same wound and works around it with a helper script.
|
|
13
|
+
*
|
|
14
|
+
* **Omitting the argument is the signal**, rather than a `--stdin` flag: `session start` in this
|
|
15
|
+
* same repository already reads a piped token that way, and two spellings of one thing is what
|
|
16
|
+
* `--profile` was deleted for.
|
|
17
|
+
*
|
|
18
|
+
* ⚠ **A terminal is refused, never prompted.** Reading from an interactive stdin would leave
|
|
19
|
+
* `max messages send 0` — a forgotten argument — sitting there looking like it had hung, and a
|
|
20
|
+
* command that does not return is a defect here rather than a rough edge (REQUIREMENTS §18).
|
|
21
|
+
*/
|
|
22
|
+
export declare const readBody: ({ input }?: BodyInput) => Promise<string>;
|
|
23
|
+
//# sourceMappingURL=body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/commands/body.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,GAAU,YAA2B,SAAc,KAAG,OAAO,CAAC,MAAM,CAuBxF,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CliError } from "@leemour/cli-core";
|
|
2
|
+
/**
|
|
3
|
+
* A message body, taken from a pipe instead of from argv.
|
|
4
|
+
*
|
|
5
|
+
* **argv is the wrong place for a message.** It is read by `ps` while the command runs and kept by
|
|
6
|
+
* shell history afterwards — the two things this project forbids for the token, two lines away in
|
|
7
|
+
* `session start` — and a body with a newline in it cannot be written there at all. The other CLI
|
|
8
|
+
* this was compared against carries the same wound and works around it with a helper script.
|
|
9
|
+
*
|
|
10
|
+
* **Omitting the argument is the signal**, rather than a `--stdin` flag: `session start` in this
|
|
11
|
+
* same repository already reads a piped token that way, and two spellings of one thing is what
|
|
12
|
+
* `--profile` was deleted for.
|
|
13
|
+
*
|
|
14
|
+
* ⚠ **A terminal is refused, never prompted.** Reading from an interactive stdin would leave
|
|
15
|
+
* `max messages send 0` — a forgotten argument — sitting there looking like it had hung, and a
|
|
16
|
+
* command that does not return is a defect here rather than a rough edge (REQUIREMENTS §18).
|
|
17
|
+
*/
|
|
18
|
+
export const readBody = async ({ input = process.stdin } = {}) => {
|
|
19
|
+
if (input.isTTY) {
|
|
20
|
+
throw new CliError("validation_error", "no message given — write it as the last argument, or pipe it in: `echo hi | max messages send <chat>`");
|
|
21
|
+
}
|
|
22
|
+
const chunks = [];
|
|
23
|
+
for await (const chunk of input)
|
|
24
|
+
chunks.push(Buffer.from(chunk));
|
|
25
|
+
// One trailing newline goes, and nothing else. `echo` and a heredoc both add one, so keeping it
|
|
26
|
+
// would put a blank line at the end of most messages; trimming further would eat indentation and
|
|
27
|
+
// deliberate blank lines, which in a message body are content rather than whitespace.
|
|
28
|
+
const body = Buffer.concat(chunks)
|
|
29
|
+
.toString("utf8")
|
|
30
|
+
.replace(/\r?\n$/, "");
|
|
31
|
+
if (body === "") {
|
|
32
|
+
throw new CliError("validation_error", "the message body was empty — nothing was sent");
|
|
33
|
+
}
|
|
34
|
+
return body;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/commands/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAM5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,KAAgB,EAAE,EAAmB,EAAE;IAC3F,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,uGAAuG,CACxG,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAEhE,gGAAgG;IAChG,iGAAiG;IACjG,sFAAsF;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC/B,QAAQ,CAAC,MAAM,CAAC;SAChB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAExB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAA;IACzF,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|