@vibes.diy/api-svc 14.3.210 → 14.3.212

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 (46) hide show
  1. package/create-handler.d.ts +2 -0
  2. package/create-handler.js +11 -0
  3. package/create-handler.js.map +1 -1
  4. package/evento-handler-manifest.js +2 -0
  5. package/evento-handler-manifest.js.map +1 -1
  6. package/intern/agent-dispatcher.js +26 -2
  7. package/intern/agent-dispatcher.js.map +1 -1
  8. package/intern/ensure-chat-id.d.ts +7 -2
  9. package/intern/ensure-chat-id.js +11 -1
  10. package/intern/ensure-chat-id.js.map +1 -1
  11. package/intern/instant-build.d.ts +1 -0
  12. package/intern/instant-build.js +5 -1
  13. package/intern/instant-build.js.map +1 -1
  14. package/intern/opens-check.js +1 -0
  15. package/intern/opens-check.js.map +1 -1
  16. package/intern/places-free.d.ts +17 -2
  17. package/intern/places-free.js +46 -13
  18. package/intern/places-free.js.map +1 -1
  19. package/intern/places-google.d.ts +79 -0
  20. package/intern/places-google.js +241 -0
  21. package/intern/places-google.js.map +1 -0
  22. package/intern/platform-daily-counter.d.ts +11 -0
  23. package/intern/platform-daily-counter.js +32 -0
  24. package/intern/platform-daily-counter.js.map +1 -0
  25. package/intern/prompt-assembly.d.ts +8 -1
  26. package/intern/prompt-assembly.js +18 -1
  27. package/intern/prompt-assembly.js.map +1 -1
  28. package/intern/settings-carry-policy.js +1 -0
  29. package/intern/settings-carry-policy.js.map +1 -1
  30. package/package.json +18 -18
  31. package/public/codegen-turn-route.js +1 -0
  32. package/public/codegen-turn-route.js.map +1 -1
  33. package/public/places-map-mode.d.ts +3 -0
  34. package/public/places-map-mode.js +41 -0
  35. package/public/places-map-mode.js.map +1 -0
  36. package/public/report-activity-hubspot.d.ts +12 -0
  37. package/public/report-activity-hubspot.js +122 -0
  38. package/public/report-activity-hubspot.js.map +1 -0
  39. package/public/report-activity.d.ts +1 -0
  40. package/public/report-activity.js +73 -6
  41. package/public/report-activity.js.map +1 -1
  42. package/public/search-places.d.ts +4 -0
  43. package/public/search-places.js +67 -12
  44. package/public/search-places.js.map +1 -1
  45. package/types.d.ts +6 -0
  46. package/types.js.map +1 -1
@@ -8,6 +8,7 @@ import { adminUserIdSet } from "./ensure-app-settings.js";
8
8
  import { EXCLUDED_HANDLE_PATTERNS, isStaffOrQa, KNOWN_STAFF_USER_IDS, resolveExclusions, } from "../usage-report/new-user-alert-util.js";
9
9
  import { cachedReport, hasReport, isStaffViewer } from "./report-cache.js";
10
10
  import { dayAfterUTC, sevenDaysBeforeUTC } from "./report-dates.js";
11
+ import { resolveHubspotContactIds } from "./report-activity-hubspot.js";
11
12
  const ANONYMOUS_USER_ID = "unknown";
12
13
  const ANONYMOUS_LABEL = "(anonymous)";
13
14
  const MIN_TURN_TOKENS = 1000;
@@ -49,6 +50,15 @@ function accountDayFor(byDay, day, userId) {
49
50
  }
50
51
  return acc;
51
52
  }
53
+ function markActive(activeDays, userId, day) {
54
+ if (userId === ANONYMOUS_USER_ID)
55
+ return;
56
+ const known = activeDays.get(userId);
57
+ if (known === undefined)
58
+ activeDays.set(userId, new Set([day]));
59
+ else
60
+ known.add(day);
61
+ }
52
62
  function eventsOf(acc) {
53
63
  if (acc === undefined)
54
64
  return [];
@@ -131,6 +141,7 @@ async function computeActivity(vctx, days) {
131
141
  viaByUserId.set(a.userId, `${a.ownerHandle}/${a.appSlug} (${a.entryKind})`);
132
142
  }
133
143
  const accountDays = new Map();
144
+ const activeDays = new Map();
134
145
  for (const r of signupRows) {
135
146
  const day = r.created.slice(0, 10);
136
147
  if (dayWindow.has(day) === false)
@@ -148,6 +159,7 @@ async function computeActivity(vctx, days) {
148
159
  const day = r.created.slice(0, 10);
149
160
  if (dayWindow.has(day) === false)
150
161
  continue;
162
+ markActive(activeDays, r.userId, day);
151
163
  const acc = accountDayFor(accountDays, day, r.userId);
152
164
  if (acc.turns === undefined)
153
165
  acc.turns = { at: r.created, count: 1 };
@@ -175,8 +187,10 @@ async function computeActivity(vctx, days) {
175
187
  const day = r.created.slice(0, 10);
176
188
  if (dayWindow.has(day) === false)
177
189
  continue;
178
- if (ownerUserIdByHandle.has(r.ownerHandle) === false)
190
+ const ownerUserId = ownerUserIdByHandle.get(r.ownerHandle);
191
+ if (ownerUserId === undefined)
179
192
  continue;
193
+ markActive(activeDays, ownerUserId, day);
180
194
  bucketFor(buckets, day, r.ownerHandle, r.appSlug).codeChanges += 1;
181
195
  }
182
196
  const writerUserIds = new Set();
@@ -187,6 +201,7 @@ async function computeActivity(vctx, days) {
187
201
  const ownerUserId = ownerUserIdByHandle.get(r.ownerHandle);
188
202
  if (ownerUserId === undefined)
189
203
  continue;
204
+ markActive(activeDays, r.userId, day);
190
205
  const bucket = bucketFor(buckets, day, r.ownerHandle, r.appSlug);
191
206
  if (r.userId === ownerUserId) {
192
207
  bucket.ownerWrites += 1;
@@ -237,6 +252,20 @@ async function computeActivity(vctx, days) {
237
252
  const handles = handlesByUserId.get(userId) ?? [];
238
253
  return handles.some((h) => EXCLUDED_HANDLE_PATTERNS.some((re) => re.test(h)));
239
254
  }
255
+ const contactCandidates = [...accountsToResolve].filter((userId) => isStaffUserId(userId) === false);
256
+ const contactIdByUserId = await resolveHubspotContactIds({
257
+ token: vctx.hubspotToken,
258
+ userIds: contactCandidates,
259
+ fetchFn: vctx.hubspotFetch,
260
+ onWarning: (w) => vctx.logger.Warn().Err(w.error).Str("stage", w.stage).Msg("report-activity: hubspot lookup failed"),
261
+ });
262
+ function contactField(userId) {
263
+ const id = contactIdByUserId.get(userId);
264
+ return id === undefined ? {} : { hubspotContactId: id };
265
+ }
266
+ function activeDaysOf(userId) {
267
+ return activeDays.get(userId)?.size ?? 0;
268
+ }
240
269
  function writerLabel(userId) {
241
270
  if (userId === ANONYMOUS_USER_ID)
242
271
  return ANONYMOUS_LABEL;
@@ -254,6 +283,7 @@ async function computeActivity(vctx, days) {
254
283
  writer: writerLabel(userId),
255
284
  writes,
256
285
  staff: isStaffUserId(userId),
286
+ ...contactField(userId),
257
287
  }))
258
288
  .sort((a, b) => b.writes - a.writes || (a.writer < b.writer ? -1 : a.writer > b.writer ? 1 : 0)),
259
289
  }));
@@ -267,7 +297,13 @@ async function computeActivity(vctx, days) {
267
297
  const userId = ownerUserIdByHandle.get(owner) ?? ANONYMOUS_USER_ID;
268
298
  const events = placed.has(userId) ? [] : eventsOf(accounts.get(userId));
269
299
  placed.add(userId);
270
- rows.set(owner, { staff: isStaffUserId(userId), apps: appRowsOf(owners.get(owner) ?? new Map()), events });
300
+ rows.set(owner, {
301
+ staff: isStaffUserId(userId),
302
+ activeDays: activeDaysOf(userId),
303
+ contact: contactField(userId),
304
+ apps: appRowsOf(owners.get(owner) ?? new Map()),
305
+ events,
306
+ });
271
307
  }
272
308
  for (const [userId, acc] of accounts) {
273
309
  if (placed.has(userId))
@@ -277,13 +313,26 @@ async function computeActivity(vctx, days) {
277
313
  if (existing !== undefined)
278
314
  existing.events.push(...eventsOf(acc));
279
315
  else
280
- rows.set(label, { staff: isStaffUserId(userId), apps: [], events: eventsOf(acc) });
316
+ rows.set(label, {
317
+ staff: isStaffUserId(userId),
318
+ activeDays: activeDaysOf(userId),
319
+ contact: contactField(userId),
320
+ apps: [],
321
+ events: eventsOf(acc),
322
+ });
281
323
  }
282
324
  return {
283
325
  day,
284
326
  owners: [...rows.entries()]
285
327
  .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
286
- .map(([owner, row]) => ({ owner, staff: row.staff, apps: row.apps, events: row.events })),
328
+ .map(([owner, row]) => ({
329
+ owner,
330
+ staff: row.staff,
331
+ activeDays: row.activeDays,
332
+ ...row.contact,
333
+ apps: row.apps,
334
+ events: row.events,
335
+ })),
287
336
  };
288
337
  });
289
338
  const res = {
@@ -294,6 +343,23 @@ async function computeActivity(vctx, days) {
294
343
  };
295
344
  return older.some((rows) => rows.length > 0) ? { ...res, nextBefore: days[0] } : res;
296
345
  }
346
+ export function activityForViewer(res, viewerStaff) {
347
+ if (viewerStaff)
348
+ return res;
349
+ return {
350
+ ...res,
351
+ days: res.days.map((day) => ({
352
+ day: day.day,
353
+ owners: day.owners.map(({ hubspotContactId: _ownerContact, ...owner }) => ({
354
+ ...owner,
355
+ apps: owner.apps.map((app) => ({
356
+ ...app,
357
+ otherWriters: app.otherWriters.map(({ hubspotContactId: _writerContact, ...writer }) => writer),
358
+ })),
359
+ })),
360
+ })),
361
+ };
362
+ }
297
363
  export const reportActivityEvento = {
298
364
  hash: "vibes.diy.req-report-activity",
299
365
  validate: unwrapMsgBase(async (msg) => {
@@ -323,9 +389,10 @@ export const reportActivityEvento = {
323
389
  const cacheKey = req.before === undefined ? "activity" : `activity:${days[0]}`;
324
390
  const res = await cachedReport(vctx, cacheKey, resReportActivity, () => computeActivity(vctx, days));
325
391
  const claims = req._auth.verifiedAuth.claims;
392
+ const viewerStaff = isStaffViewer(claims);
326
393
  await ctx.send.send(ctx, {
327
- ...res,
328
- viewerStaff: isStaffViewer(claims),
394
+ ...activityForViewer(res, viewerStaff),
395
+ viewerStaff,
329
396
  viewerAdmin: adminUserIdSet(vctx).has(claims.userId),
330
397
  });
331
398
  return Result.Ok(EventoResult.Continue);
@@ -1 +1 @@
1
- {"version":3,"file":"report-activity.js","sourceRoot":"","sources":["../../jsr/public/report-activity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-activity.js","sourceRoot":"","sources":["../../jsr/public/report-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAWL,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,eAAe,GAAG,aAAa,CAAC;AAItC,MAAM,eAAe,GAAG,IAAI,CAAC;AAgB7B,SAAS,SAAS,CAAC,IAAsD,EAAE,GAAW,EAAE,KAAa,EAAE,OAAe;IACpH,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,QAA+B,EAAE,MAAc,EAAE,MAAc;IAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SACnD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,aAAa,CAAC,KAA2C,EAAE,GAAW,EAAE,MAAc;IAC7F,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,UAAoC,EAAE,MAAc,EAAE,GAAW;IACnF,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QAC3D,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,GAA2B;IAC3C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YACvC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzF,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAoB,EAAE,IAAuB;IAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAiB1B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAIhC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC;YACN,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YACvB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;SACxB,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC;YACN,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW;YACvC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;YAC/B,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC7B,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAC1E,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAC5G,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACrB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aAC9E,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;aACtB,KAAK,CACJ,GAAG,CACD,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EACpC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EACnC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CACnD,CACF;QAKH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9H,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAC5C,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACrB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACzC,KAAK,CAAC,CAAC,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,EAAE;aACR,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;aACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;aACnG,KAAK,CAAC,CAAC,CAAC;KACZ,CAAC,CAAC;IAGH,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aACnC,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM;YACnC,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,WAAW;YAC7C,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC,OAAO;YACrC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,SAAS;SAC1C,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;aAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,YAAY;YAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAI/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,SAAS;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5H,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,SAAS;QAC3C,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,SAAS;QAC3C,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aAChE,CAAC;YACJ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;IACH,CAAC;IAKD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAOtD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aAC1E,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+C,CAAC;IAEvE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,SAAS;QAC3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,SAAS;QAM3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,CAAC,MAAM,KAAK,iBAAiB;YAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IASD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;YAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5G,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACxG,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aAC1E,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI;gBAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACpF,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAID,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;aAC5E,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACzC,MAAM,OAAO,GAAI,CAAC,CAAC,QAAsB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC1E,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,MAAc;QACnC,IAAI,MAAM,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QACrG,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAQD,MAAM,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IACrG,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC;QACvD,KAAK,EAAE,IAAI,CAAC,YAAY;QACxB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,IAAI,CAAC,YAAY;QAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,wCAAwC,CAAC;KACtH,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,MAAc;QAClC,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,SAAS,YAAY,CAAC,MAAc;QAClC,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,WAAW,CAAC,MAAc;QACjC,IAAI,MAAM,KAAK,iBAAiB;YAAE,OAAO,eAAe,CAAC;QACzD,OAAO,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAChD,CAAC;IAED,SAAS,SAAS,CAAC,IAA4B;QAC7C,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAA2B,EAAE,CAAC,CAAC;YACpD,OAAO;YACP,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAA8B,EAAE,CAAC,CAAC;gBACtD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;gBAC3B,MAAM;gBACN,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;gBAC5B,GAAG,YAAY,CAAC,MAAM,CAAC;aACxB,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG,CAAC,CAAC,CAAC;IACR,CAAC;IAKD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkC,CAAC;QAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAsB,CAAC;QAYvE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACd,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;gBAC5B,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;gBAChC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;gBAC/C,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;gBAEjE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;oBACd,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;oBAC5B,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;oBAChC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;oBAC7B,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;iBACtB,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACL,GAAG;YACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;iBACxB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,KAAK;gBACL,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,GAAG,GAAG,CAAC,OAAO;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAsB;QAC7B,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,IAAI,EAAE,OAAO;KACd,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,CAAC;AAOD,MAAM,UAAU,iBAAiB,CAAC,GAAsB,EAAE,WAAoB;IAC5E,IAAI,WAAW;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO;QACL,GAAG,GAAG;QACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzE,GAAG,KAAK;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;iBAChG,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAI7B;IACF,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,CACf,KAAK,EACH,GAA4H,EACzF,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC;QAE/D,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;YACnE,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,IAAI,EAAE,uBAAuB,EAAE;aACrE,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,uBAAuB,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;aACjE,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAID,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErG,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,GAAG,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC;YACtC,WAAW;YACX,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;SACzB,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CACF;CACF,CAAC"}
@@ -1,7 +1,11 @@
1
1
  import { EventoHandler } from "@adviser/cement";
2
2
  import { type MsgBase, type ReqSearchPlaces, type ResSearchPlaces, type VibesDiyError, type W3CWebSocketEvent } from "@vibes.diy/api-types";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ import { meterGoogleCall, type PlacesGateDeps } from "../intern/places-google.js";
3
5
  export declare const SEARCH_PLACES_NOT_VISIBLE = "search-places-not-visible";
4
6
  export declare const SEARCH_PLACES_INVALID = "search-places-invalid";
5
7
  export declare const SEARCH_PLACES_UPSTREAM = "search-places-upstream";
6
8
  export declare const SEARCH_PLACES_UPSTREAM_MESSAGE = "The place search did not answer this time. Try again in a moment.";
9
+ export declare function placesGateDeps(vctx: VibesApiSQLCtx, logName: string): PlacesGateDeps;
10
+ export declare function placesMeterDeps(vctx: VibesApiSQLCtx, logName: string): Parameters<typeof meterGoogleCall>[0];
7
11
  export declare const searchPlacesEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqSearchPlaces>, ResSearchPlaces | VibesDiyError>;
@@ -5,11 +5,33 @@ import { type } from "arktype";
5
5
  import { unwrapMsgBase } from "../unwrap-msg-base.js";
6
6
  import { optAuth } from "../check-auth.js";
7
7
  import { callerCanReadApp } from "./list-app-models.js";
8
- import { choosePlacesMode, placesQueryProblems, searchPlacesFree } from "../intern/places-free.js";
8
+ import { placesQueryProblems, SEARCH_BUDGET_MS, searchPlacesFree } from "../intern/places-free.js";
9
+ import { gateGoogleCall, googleFailureReason, googleLaneOf, meterGoogleCall, searchPlacesGoogle, } from "../intern/places-google.js";
10
+ import { bumpPlatformDailyCounter, readPlatformDailyCounter } from "../intern/platform-daily-counter.js";
9
11
  export const SEARCH_PLACES_NOT_VISIBLE = "search-places-not-visible";
10
12
  export const SEARCH_PLACES_INVALID = "search-places-invalid";
11
13
  export const SEARCH_PLACES_UPSTREAM = "search-places-upstream";
12
14
  export const SEARCH_PLACES_UPSTREAM_MESSAGE = "The place search did not answer this time. Try again in a moment.";
15
+ export function placesGateDeps(vctx, logName) {
16
+ const logger = ensureLogger(vctx.sthis, logName);
17
+ return {
18
+ googlePlacesKey: vctx.googlePlacesKey,
19
+ googleMapsBrowserKey: vctx.googleMapsBrowserKey,
20
+ billing: vctx.billing,
21
+ guestCaps: vctx.mapsGuestCaps,
22
+ bumpCounter: (counter) => bumpPlatformDailyCounter(vctx, { counter, nowMs: Date.now() }),
23
+ readCounter: (counter) => readPlatformDailyCounter(vctx, { counter, nowMs: Date.now() }),
24
+ warn: (msg, err) => logger.Warn().Err(err).Msg(msg),
25
+ };
26
+ }
27
+ export function placesMeterDeps(vctx, logName) {
28
+ const logger = ensureLogger(vctx.sthis, logName);
29
+ return {
30
+ billing: vctx.billing,
31
+ nextId: () => vctx.sthis.nextId(12).str,
32
+ warn: (msg, err) => logger.Warn().Err(err).Msg(msg),
33
+ };
34
+ }
13
35
  export const searchPlacesEvento = {
14
36
  hash: "search-places",
15
37
  validate: unwrapMsgBase(async (msg) => {
@@ -20,40 +42,73 @@ export const searchPlacesEvento = {
20
42
  return Result.Ok(Option.Some({ ...msg, payload: ret }));
21
43
  }),
22
44
  handle: optAuth(async (ctx) => {
45
+ const deadline = Date.now() + SEARCH_BUDGET_MS;
23
46
  const req = ctx.validated.payload;
24
47
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
48
+ const logger = ensureLogger(vctx.sthis, "searchPlaces");
49
+ const userId = req._auth?.verifiedAuth.claims.userId;
25
50
  const sendError = (message, code) => ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message, code } });
26
- const visible = await callerCanReadApp(vctx, {
27
- ownerHandle: req.ownerHandle,
28
- appSlug: req.appSlug,
29
- callerUserId: req._auth?.verifiedAuth.claims.userId,
30
- });
51
+ const sendResult = (result) => ctx.send.send(ctx, { type: "vibes.diy.res-search-places", result });
52
+ const visible = await callerCanReadApp(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, callerUserId: userId });
31
53
  if (visible === false) {
32
54
  await sendError("This app's place search is not available to you.", SEARCH_PLACES_NOT_VISIBLE);
33
55
  return Result.Ok(EventoResult.Continue);
34
56
  }
35
- const problems = placesQueryProblems(req.query);
57
+ const pageMode = req.mapMode ?? "free";
58
+ const problems = placesQueryProblems(req.query, pageMode);
36
59
  if (problems.length > 0) {
37
60
  await sendError(problems.join("; "), SEARCH_PLACES_INVALID);
38
61
  return Result.Ok(EventoResult.Continue);
39
62
  }
40
- const decision = choosePlacesMode({ googlePlacesKey: vctx.googlePlacesKey });
63
+ let fallbackReason;
64
+ if (pageMode === "google") {
65
+ const lane = googleLaneOf(req.query);
66
+ const gate = await gateGoogleCall(placesGateDeps(vctx, "searchPlaces"), { userId, lane });
67
+ if (gate.decision.mode === "google") {
68
+ const rGoogle = await searchPlacesGoogle({
69
+ fetch: vctx.placesFetch,
70
+ apiKey: vctx.googlePlacesKey ?? "",
71
+ query: req.query,
72
+ deadline,
73
+ });
74
+ if (rGoogle.isOk()) {
75
+ await meterGoogleCall(placesMeterDeps(vctx, "searchPlaces"), { payer: gate.payer, lane });
76
+ await sendResult(rGoogle.Ok());
77
+ return Result.Ok(EventoResult.Continue);
78
+ }
79
+ logger
80
+ .Warn()
81
+ .Str("app", `${req.ownerHandle}/${req.appSlug}`)
82
+ .Err(rGoogle.Err())
83
+ .Msg("google place search failed; answering free");
84
+ fallbackReason = googleFailureReason(rGoogle.Err().message);
85
+ }
86
+ else {
87
+ fallbackReason = gate.decision.reason;
88
+ }
89
+ const freeProblems = placesQueryProblems(req.query, "free");
90
+ if (freeProblems.length > 0) {
91
+ await sendError(`This search is on the free map right now (${fallbackReason}): ${freeProblems.join("; ")}`, SEARCH_PLACES_INVALID);
92
+ return Result.Ok(EventoResult.Continue);
93
+ }
94
+ }
41
95
  const rResult = await searchPlacesFree({
42
- fetch: (input, init) => fetch(input, init),
96
+ fetch: vctx.placesFetch,
43
97
  query: req.query,
44
98
  geoapifyKey: vctx.geoapifyKey,
99
+ deadline,
45
100
  });
46
101
  if (rResult.isErr()) {
47
- ensureLogger(vctx.sthis, "searchPlaces")
102
+ logger
48
103
  .Warn()
49
- .Str("reason", decision.reason)
104
+ .Str("reason", fallbackReason ?? "free-page")
50
105
  .Str("app", `${req.ownerHandle}/${req.appSlug}`)
51
106
  .Err(rResult.Err())
52
107
  .Msg("place search failed");
53
108
  await sendError(SEARCH_PLACES_UPSTREAM_MESSAGE, SEARCH_PLACES_UPSTREAM);
54
109
  return Result.Ok(EventoResult.Continue);
55
110
  }
56
- await ctx.send.send(ctx, { type: "vibes.diy.res-search-places", result: rResult.Ok() });
111
+ await sendResult({ ...rResult.Ok(), ...(fallbackReason === undefined ? {} : { reason: fallbackReason }) });
57
112
  return Result.Ok(EventoResult.Continue);
58
113
  }),
59
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"search-places.js","sourceRoot":"","sources":["../../jsr/public/search-places.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-places.js","sourceRoot":"","sources":["../../jsr/public/search-places.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -13,6 +13,7 @@ import type { BillingIf } from "./billing.js";
13
13
  import type { LlmToolExecutor } from "./intern/llm-tool-loop.js";
14
14
  import type { BackendControlPlaneIf, BackendOwnerApiFetch, BackendViewerApiFetch } from "./intern/backend-do-control-plane.js";
15
15
  import type { ClientAttribution } from "./intern/client-attribution.js";
16
+ import type { MapsGuestCaps } from "./intern/places-google.js";
16
17
  import type { VerifySessionToken } from "./public/github-setup.js";
17
18
  export type { VibesApiTables };
18
19
  export interface DoInstanceIdentity {
@@ -76,6 +77,9 @@ export interface VibesApiSQLCtx {
76
77
  geoapifyKey?: string;
77
78
  googlePlacesKey?: string;
78
79
  googleMapsBrowserKey?: string;
80
+ googleMapsMapId: string;
81
+ mapsGuestCaps: MapsGuestCaps;
82
+ placesFetch: typeof fetch;
79
83
  inceptionApiKey?: string;
80
84
  clerkSecretKey?: string;
81
85
  verifySessionToken?: VerifySessionToken;
@@ -89,6 +93,8 @@ export interface VibesApiSQLCtx {
89
93
  cloudflareAnalyticsToken?: string;
90
94
  cloudflareZoneTag?: string;
91
95
  posthogQueryApiKey?: string;
96
+ hubspotToken?: string;
97
+ hubspotFetch: typeof fetch;
92
98
  posthogProjectId?: string;
93
99
  posthogQueryHost?: string;
94
100
  notifyDocChanged?(evt: {
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../jsr/types.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQ/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAka1D,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CACzC,IAAI,CAAC;IACH,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,QAAQ;CACjB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC;IACH,IAAI,EAAE,8BAA8B;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAOhB,cAAc,EAAE,SAAS;CAC1B,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC5C,IAAI,CAAC;IACH,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,cAAc;CACxB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../jsr/types.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAS/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAib1D,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CACzC,IAAI,CAAC;IACH,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,QAAQ;CACjB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC;IACH,IAAI,EAAE,8BAA8B;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAOhB,cAAc,EAAE,SAAS;CAC1B,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC5C,IAAI,CAAC;IACH,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,cAAc;CACxB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}