clinicaltrialsgov-mcp-server 2.8.4 → 2.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/clinicaltrialsgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [![Version](https://img.shields.io/badge/Version-2.8.4-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![npm](https://img.shields.io/npm/v/clinicaltrialsgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [![Version](https://img.shields.io/badge/Version-2.8.5-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-study-results.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqdjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoP1B,CAAC"}
1
+ {"version":3,"file":"get-study-results.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgoBjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoP1B,CAAC"}
@@ -36,7 +36,9 @@ function displayMeasurementValue(value, paramType) {
36
36
  return (v === 'NA' || v === 'NR') && paramType === 'MEDIAN' ? 'not reached' : v;
37
37
  }
38
38
  /**
39
- * Extract top-line per-group stats from a raw outcome object (full mode).
39
+ * Extract top-line per-group stats from a raw outcome object for summary mode's
40
+ * `topStats`. Reads only the first class/category — deliberate condensation, and
41
+ * the reason full mode walks the whole tree in format() instead of calling this.
40
42
  * Returns undefined if no measurement values are present.
41
43
  */
42
44
  function extractTopStats(o) {
@@ -205,39 +207,196 @@ function groupMap(obj) {
205
207
  function shortGroup(title, max = 40) {
206
208
  return title.length <= max ? title : `${title.slice(0, max - 1)}…`;
207
209
  }
210
+ /** Coerce a raw value to a trimmed display string, or undefined when absent/blank. */
211
+ function text(value) {
212
+ if (value == null)
213
+ return;
214
+ const s = String(value).trim();
215
+ return s.length > 0 ? s : undefined;
216
+ }
217
+ /**
218
+ * Render the arm roster for a results section. `id` is the join key every
219
+ * measurement, count, and stat references, and `description` is the arm's
220
+ * definition — both belong on the text channel alongside the title.
221
+ */
222
+ function renderGroupRoster(obj, indent, lines, label = 'Groups') {
223
+ const groups = (obj.groups ?? obj.eventGroups);
224
+ if (!groups?.length)
225
+ return;
226
+ lines.push(`${indent}${label}:`);
227
+ for (const g of groups) {
228
+ const head = [text(g.id), text(g.title)].filter(Boolean).join(': ');
229
+ lines.push(`${indent}- ${head || 'Group'}`);
230
+ const desc = text(g.description);
231
+ if (desc)
232
+ lines.push(`${indent} ${desc}`);
233
+ const rollup = [
234
+ g.deathsNumAffected != null
235
+ ? `deaths ${g.deathsNumAffected}/${g.deathsNumAtRisk ?? '?'}`
236
+ : '',
237
+ g.seriousNumAffected != null
238
+ ? `serious ${g.seriousNumAffected}/${g.seriousNumAtRisk ?? '?'}`
239
+ : '',
240
+ g.otherNumAffected != null ? `other ${g.otherNumAffected}/${g.otherNumAtRisk ?? '?'}` : '',
241
+ ].filter(Boolean);
242
+ if (rollup.length)
243
+ lines.push(`${indent} ${rollup.join(' | ')}`);
244
+ }
245
+ }
246
+ /** Render denominator rows — the units and the per-group counts they apply to. */
247
+ function renderDenoms(denoms, gm, indent, lines) {
248
+ for (const d of denoms ?? []) {
249
+ const counts = (d.counts ?? [])
250
+ .map((c) => {
251
+ const g = shortGroup(gm.get(c.groupId) ?? String(c.groupId));
252
+ return c.value != null ? `${g}: ${c.value}` : g;
253
+ })
254
+ .join(', ');
255
+ const units = text(d.units);
256
+ const label = units ? `Denominator (${units})` : 'Denominator';
257
+ lines.push(`${indent}${[label, counts].filter(Boolean).join(': ')}`);
258
+ }
259
+ }
260
+ /**
261
+ * Render per-group participant counts as `Group: subjects / units (comment)`
262
+ * segments — the shape both participant-flow milestone achievements and
263
+ * drop/withdraw reasons publish.
264
+ */
265
+ function countsByGroup(rows, gm) {
266
+ return (rows ?? [])
267
+ .map((r) => {
268
+ const gName = shortGroup(gm.get(r.groupId) ?? r.groupId);
269
+ const comment = text(r.comment);
270
+ const count = [r.numSubjects, r.numUnits].filter((v) => v != null).join(' / ') || '?';
271
+ return `${gName}: ${count}${comment ? ` (${comment})` : ''}`;
272
+ })
273
+ .join(', ');
274
+ }
275
+ /** Render one measurement cell — value, spread, confidence limits, and comment. */
276
+ function measurementCell(m, gm, paramType) {
277
+ const parts = [];
278
+ if (m.value != null)
279
+ parts.push(displayMeasurementValue(m.value, paramType));
280
+ if (m.spread != null)
281
+ parts.push(`±${m.spread}`);
282
+ if (m.lowerLimit != null || m.upperLimit != null)
283
+ parts.push(`[${m.lowerLimit ?? ''} to ${m.upperLimit ?? ''}]`);
284
+ const comment = text(m.comment);
285
+ if (comment)
286
+ parts.push(`(${comment})`);
287
+ if (parts.length === 0)
288
+ return;
289
+ const g = shortGroup(gm.get(m.groupId) ?? String(m.groupId));
290
+ return `${g}: ${parts.join(' ')}`;
291
+ }
292
+ /**
293
+ * Walk a measure's complete classes → categories → measurements tree. Every
294
+ * level carries data — class and category titles, per-class denominators, and
295
+ * the per-group cells — so reading only the first entry drops the rest of the
296
+ * measure from the text channel.
297
+ */
298
+ function renderClasses(classes, gm, paramType, indent, lines) {
299
+ for (const cls of classes ?? []) {
300
+ const clsTitle = text(cls.title);
301
+ if (clsTitle)
302
+ lines.push(`${indent}_${clsTitle}_`);
303
+ renderDenoms(cls.denoms, gm, `${indent} `, lines);
304
+ for (const cat of cls.categories ?? []) {
305
+ const catTitle = text(cat.title);
306
+ const cells = (cat.measurements ?? [])
307
+ .map((m) => measurementCell(m, gm, paramType))
308
+ .filter((v) => Boolean(v));
309
+ // Label the row even when upstream titles neither the class nor the
310
+ // category, so a measurement row is never mistaken for a denominator row.
311
+ const prefix = catTitle ?? clsTitle ?? 'Values';
312
+ if (cells.length > 0)
313
+ lines.push(`${indent} ${prefix}: ${cells.join(', ')}`);
314
+ else if (catTitle)
315
+ lines.push(`${indent} ${catTitle}`);
316
+ }
317
+ }
318
+ }
208
319
  /** Render one analysis (summary or full) as a single-line bullet. */
209
320
  function formatAnalysisLine(a) {
321
+ const ci = [
322
+ a.ciPctValue != null ? `${a.ciPctValue}%` : '',
323
+ text(a.ciNumSides),
324
+ a.ciLowerLimit != null || a.ciUpperLimit != null
325
+ ? `CI [${a.ciLowerLimit ?? ''}, ${a.ciUpperLimit ?? ''}]`
326
+ : '',
327
+ text(a.ciLowerLimitComment),
328
+ text(a.ciUpperLimitComment),
329
+ ]
330
+ .filter(Boolean)
331
+ .join(' ');
210
332
  const parts = [
211
333
  a.statisticalMethod ? `Method: ${a.statisticalMethod}` : '',
334
+ text(a.statisticalComment),
212
335
  a.pValue ? `p=${a.pValue}` : '',
213
- a.paramValue ? `${a.paramType ?? 'estimate'}=${a.paramValue}` : '',
214
- a.ciLowerLimit != null && a.ciUpperLimit != null
215
- ? `${a.ciPctValue ?? 95}% CI [${a.ciLowerLimit}, ${a.ciUpperLimit}]`
336
+ text(a.pValueComment),
337
+ a.testedNonInferiority != null
338
+ ? `non-inferiority tested: ${a.testedNonInferiority ? 'yes' : 'no'}`
216
339
  : '',
217
340
  a.nonInferiorityType ? `(${a.nonInferiorityType})` : '',
341
+ text(a.nonInferiorityComment),
342
+ a.paramValue ? `${a.paramType ?? 'estimate'}=${a.paramValue}` : '',
343
+ a.dispersionType ? `dispersion: ${a.dispersionType}` : '',
344
+ a.dispersionValue != null ? `±${a.dispersionValue}` : '',
345
+ ci,
346
+ text(a.estimateComment),
347
+ text(a.otherAnalysisDescription),
348
+ Array.isArray(a.groupIds) ? `groups: ${a.groupIds.join(', ')}` : '',
349
+ text(a.groupDescription),
218
350
  ].filter(Boolean);
219
351
  return parts.length ? ` Analysis: ${parts.join(', ')}` : '';
220
352
  }
221
353
  function formatOutcomes(outcomes, lines) {
222
354
  lines.push(`\n### Outcomes (${outcomes.length} measures)`);
223
355
  for (const o of outcomes) {
224
- const type = o.type ?? '';
225
- const title = o.title ?? 'Untitled';
226
- const timeFrame = o.timeFrame ?? '';
227
- const paramType = o.paramType ?? '';
228
- const unitOfMeasure = o.unitOfMeasure ?? '';
356
+ const gm = groupMap(o);
357
+ const title = text(o.title) ?? 'Untitled';
358
+ const timeFrame = text(o.timeFrame);
229
359
  const groupCount = o.groupCount ??
230
360
  (Array.isArray(o.groups) ? o.groups.length : undefined);
231
- const meta = [type, paramType, unitOfMeasure, groupCount != null ? `${groupCount} groups` : '']
361
+ const classCount = o.classCount ??
362
+ (Array.isArray(o.classes) ? o.classes.length : undefined);
363
+ const meta = [
364
+ text(o.type),
365
+ text(o.paramType),
366
+ text(o.dispersionType),
367
+ text(o.unitOfMeasure),
368
+ groupCount != null ? `${groupCount} groups` : '',
369
+ classCount != null ? `${classCount} classes` : '',
370
+ o.reportingStatus ? `reporting: ${o.reportingStatus}` : '',
371
+ ]
232
372
  .filter(Boolean)
233
373
  .join(', ');
234
- const tf = timeFrame ? ` [${timeFrame}]` : '';
235
- lines.push(`- **${title}**${meta ? ` (${meta})` : ''}${tf}`);
236
- const topStats = o.topStats ??
237
- extractTopStats(o);
374
+ lines.push(`- **${title}**${meta ? ` (${meta})` : ''}${timeFrame ? ` [${timeFrame}]` : ''}`);
375
+ const description = text(o.description);
376
+ if (description)
377
+ lines.push(` ${description}`);
378
+ const population = text(o.populationDescription);
379
+ if (population)
380
+ lines.push(` Population: ${population}`);
381
+ const unitsAnalyzed = text(o.typeUnitsAnalyzed);
382
+ const denomUnits = text(o.denomUnitsSelected);
383
+ const anticipatedPosting = text(o.anticipatedPostingDate);
384
+ const outcomeUnits = [
385
+ unitsAnalyzed ? `Units analyzed: ${unitsAnalyzed}` : '',
386
+ denomUnits ? `Denominator units: ${denomUnits}` : '',
387
+ anticipatedPosting ? `Anticipated posting: ${anticipatedPosting}` : '',
388
+ ].filter(Boolean);
389
+ if (outcomeUnits.length)
390
+ lines.push(` ${outcomeUnits.join(' | ')}`);
391
+ // Summary mode: the per-group top-line stats the handler condensed.
392
+ const topStats = o.topStats;
238
393
  if (topStats?.length) {
239
394
  lines.push(` ${topStats.map((s) => `${s.group}: ${s.value}${s.spread ? ` ±${s.spread}` : ''}`).join(' | ')}`);
240
395
  }
396
+ // Full mode: the complete arm roster, denominators, and measurement tree.
397
+ renderGroupRoster(o, ' ', lines);
398
+ renderDenoms(o.denoms, gm, ' ', lines);
399
+ renderClasses(o.classes, gm, o.paramType, ' ', lines);
241
400
  // Summary mode: single condensed analysis lifted from analyses[0].
242
401
  const topAnalysis = o.topAnalysis;
243
402
  if (topAnalysis) {
@@ -246,28 +405,34 @@ function formatOutcomes(outcomes, lines) {
246
405
  lines.push(line);
247
406
  }
248
407
  // Full mode: render every analysis on the measure.
249
- const analyses = o.analyses;
250
- if (analyses?.length) {
251
- for (const a of analyses) {
252
- const line = formatAnalysisLine(a);
253
- if (line)
254
- lines.push(line);
255
- }
408
+ for (const a of o.analyses ?? []) {
409
+ const line = formatAnalysisLine(a);
410
+ if (line)
411
+ lines.push(line);
256
412
  }
257
413
  }
258
414
  }
259
415
  function formatAdverseEvents(ae, lines) {
260
416
  lines.push('\n### Adverse Events');
261
417
  const gm = groupMap(ae);
262
- const timeFrame = ae.timeFrame;
418
+ const timeFrame = text(ae.timeFrame);
263
419
  if (timeFrame)
264
420
  lines.push(`Assessment period: ${timeFrame}`);
265
- const serious = ae.seriousEvents;
266
- const other = ae.otherEvents;
267
- // Summary shape — counts plus the ranked top-events view, no raw event arrays
268
- if (!serious && !other) {
421
+ const description = text(ae.description);
422
+ if (description)
423
+ lines.push(description);
424
+ const threshold = text(ae.frequencyThreshold);
425
+ if (threshold)
426
+ lines.push(`Frequency threshold: ${threshold}%`);
427
+ const mortality = text(ae.allCauseMortalityComment);
428
+ if (mortality)
429
+ lines.push(`All-cause mortality: ${mortality}`);
430
+ // Summary shape — counts plus the ranked top-events view, no raw event arrays.
431
+ // Detected on the summarizer's own keys, so a full module that happens to
432
+ // publish no events still takes the full path and renders its event groups.
433
+ if ('groupCount' in ae || 'seriousEventCount' in ae || 'otherEventCount' in ae) {
269
434
  const parts = [
270
- gm.size ? `${gm.size} groups` : '',
435
+ ae.groupCount != null ? `${ae.groupCount} groups` : '',
271
436
  ae.seriousEventCount != null ? `${ae.seriousEventCount} serious events` : '',
272
437
  ae.otherEventCount != null ? `${ae.otherEventCount} other events` : '',
273
438
  ].filter(Boolean);
@@ -283,22 +448,33 @@ function formatAdverseEvents(ae, lines) {
283
448
  }
284
449
  return;
285
450
  }
286
- // Full shape — render actual events with per-group stats
287
- // Render every event the handler returned — payload control is summary mode
288
- // (which condenses per item), never a format()-side row cap (channel parity).
451
+ // Full shape — every event group, event, and per-group stat the handler
452
+ // returned. Payload control is summary mode (which condenses per item), never
453
+ // a format()-side cap or a per-event field subset (channel parity).
454
+ renderGroupRoster(ae, '', lines, 'Event Groups');
289
455
  const renderEvents = (label, events) => {
290
456
  lines.push(`\n**${label}** (${events.length})`);
291
457
  for (const ev of events) {
292
- const stats = ev.stats;
293
- const statStr = (stats ?? [])
458
+ const meta = [
459
+ text(ev.organSystem),
460
+ text(ev.sourceVocabulary),
461
+ text(ev.assessmentType),
462
+ ].filter(Boolean);
463
+ const statStr = (ev.stats ?? [])
294
464
  .map((s) => {
295
465
  const gName = shortGroup(gm.get(s.groupId) ?? s.groupId);
296
- return `${gName}: ${s.numAffected}/${s.numAtRisk}`;
466
+ const events_ = s.numEvents != null ? ` (${s.numEvents} events)` : '';
467
+ return `${gName}: ${s.numAffected}/${s.numAtRisk}${events_}`;
297
468
  })
298
469
  .join(', ');
299
- lines.push(`- ${ev.term}${statStr ? ` — ${statStr}` : ''}`);
470
+ lines.push(`- ${ev.term}${meta.length ? ` _(${meta.join(' | ')})_` : ''}${statStr ? ` — ${statStr}` : ''}`);
471
+ const notes = text(ev.notes);
472
+ if (notes)
473
+ lines.push(` ${notes}`);
300
474
  }
301
475
  };
476
+ const serious = ae.seriousEvents;
477
+ const other = ae.otherEvents;
302
478
  if (serious?.length)
303
479
  renderEvents('Serious Events', serious);
304
480
  if (other?.length)
@@ -307,9 +483,8 @@ function formatAdverseEvents(ae, lines) {
307
483
  function formatParticipantFlow(pf, lines) {
308
484
  lines.push('\n### Participant Flow');
309
485
  const gm = groupMap(pf);
310
- const periods = pf.periods;
311
- // Summary shape — only counts
312
- if (!periods) {
486
+ // Summary shape — only counts.
487
+ if ('groupCount' in pf || 'periodCount' in pf) {
313
488
  const parts = [
314
489
  pf.groupCount != null ? `${pf.groupCount} groups` : '',
315
490
  pf.periodCount != null ? `${pf.periodCount} periods` : '',
@@ -318,33 +493,30 @@ function formatParticipantFlow(pf, lines) {
318
493
  lines.push(parts.join(' | '));
319
494
  return;
320
495
  }
321
- // Full shape — render milestones with per-group counts
322
- for (const period of periods) {
323
- if (periods.length > 1)
324
- lines.push(`\n**${period.title ?? 'Period'}**`);
325
- const milestones = period.milestones;
326
- for (const ms of milestones ?? []) {
327
- const achievements = ms.achievements;
328
- const achStr = (achievements ?? [])
329
- .map((a) => {
330
- const gName = shortGroup(gm.get(a.groupId) ?? a.groupId);
331
- return `${gName}: ${a.numSubjects ?? a.numUnits ?? '?'}`;
332
- })
333
- .join(', ');
334
- lines.push(`- **${ms.type ?? 'Milestone'}**: ${achStr}`);
496
+ // Full shape — recruitment context, the arm roster, then per-period milestones.
497
+ const recruitment = text(pf.recruitmentDetails);
498
+ if (recruitment)
499
+ lines.push(`Recruitment: ${recruitment}`);
500
+ const preAssignment = text(pf.preAssignmentDetails);
501
+ if (preAssignment)
502
+ lines.push(`Pre-assignment: ${preAssignment}`);
503
+ const unitsAnalyzed = text(pf.typeUnitsAnalyzed);
504
+ if (unitsAnalyzed)
505
+ lines.push(`Units analyzed: ${unitsAnalyzed}`);
506
+ renderGroupRoster(pf, '', lines);
507
+ for (const period of pf.periods ?? []) {
508
+ const periodTitle = text(period.title);
509
+ if (periodTitle)
510
+ lines.push(`\n**${periodTitle}**`);
511
+ for (const ms of period.milestones ?? []) {
512
+ const achStr = countsByGroup(ms.achievements, gm);
513
+ const msComment = text(ms.comment);
514
+ lines.push(`- **${text(ms.type) ?? 'Milestone'}**: ${achStr}${msComment ? ` — ${msComment}` : ''}`);
335
515
  }
336
- const drops = period.dropWithdraws;
337
- if (drops?.length) {
338
- for (const d of drops) {
339
- const reasons = d.reasons;
340
- const rStr = (reasons ?? [])
341
- .map((r) => {
342
- const gName = shortGroup(gm.get(r.groupId) ?? r.groupId);
343
- return `${gName}: ${r.numSubjects ?? '?'}`;
344
- })
345
- .join(', ');
346
- lines.push(`- Drop/Withdraw — ${d.type ?? 'reason'}: ${rStr}`);
347
- }
516
+ for (const d of period.dropWithdraws ?? []) {
517
+ const rStr = countsByGroup(d.reasons, gm);
518
+ const dComment = text(d.comment);
519
+ lines.push(`- Drop/Withdraw — ${text(d.type) ?? 'reason'}: ${rStr}${dComment ? ` — ${dComment}` : ''}`);
348
520
  }
349
521
  }
350
522
  }
@@ -352,49 +524,47 @@ function formatBaseline(bl, lines) {
352
524
  lines.push('\n### Baseline Characteristics');
353
525
  const gm = groupMap(bl);
354
526
  const measures = bl.measures;
355
- // Summary shape — just titles (no classes array on first measure means summarized)
356
- const firstMeasure = measures?.[0];
357
- if (measures?.length &&
358
- firstMeasure &&
359
- !firstMeasure.classes?.length) {
360
- if (gm.size)
361
- lines.push(`${gm.size} groups`);
362
- for (const m of measures) {
363
- const unit = m.unitOfMeasure ? ` (${m.unitOfMeasure})` : '';
364
- lines.push(`- ${m.title ?? 'Measure'}${unit}`);
527
+ // Summary shape — counts plus each measure's identifying metadata.
528
+ if ('groupCount' in bl || 'measureCount' in bl) {
529
+ const parts = [
530
+ bl.groupCount != null ? `${bl.groupCount} groups` : '',
531
+ bl.measureCount != null ? `${bl.measureCount} measures` : '',
532
+ ].filter(Boolean);
533
+ if (parts.length)
534
+ lines.push(parts.join(' | '));
535
+ for (const m of measures ?? []) {
536
+ const meta = [text(m.paramType), text(m.unitOfMeasure)].filter(Boolean);
537
+ lines.push(`- ${text(m.title) ?? 'Measure'}${meta.length ? ` (${meta.join(', ')})` : ''}`);
365
538
  }
366
539
  return;
367
540
  }
368
- // Full shape — render per-group values
369
- if (gm.size)
370
- lines.push(`Groups: ${[...gm.values()].map((g) => shortGroup(g)).join(', ')}`);
541
+ // Full shape — population context, the arm roster, then every measure's tree.
542
+ const population = text(bl.populationDescription);
543
+ if (population)
544
+ lines.push(`Population: ${population}`);
545
+ const unitsAnalyzed = text(bl.typeUnitsAnalyzed);
546
+ if (unitsAnalyzed)
547
+ lines.push(`Units analyzed: ${unitsAnalyzed}`);
548
+ renderGroupRoster(bl, '', lines);
549
+ renderDenoms(bl.denoms, gm, '', lines);
371
550
  for (const m of measures ?? []) {
372
- const title = m.title ?? 'Measure';
373
- const unit = m.unitOfMeasure ? ` (${m.unitOfMeasure})` : '';
374
- const paramType = m.paramType ?? '';
375
- const dispersion = m.dispersionType ?? '';
376
- const desc = [paramType, dispersion].filter(Boolean).join(', ');
377
- lines.push(`- **${title}**${unit}${desc ? ` [${desc}]` : ''}`);
378
- const classes = m.classes;
379
- for (const cls of classes ?? []) {
380
- const clsTitle = cls.title;
381
- const categories = cls.categories;
382
- for (const cat of categories ?? []) {
383
- const catTitle = cat.title;
384
- const prefix = clsTitle ?? catTitle ?? '';
385
- const measurements = cat.measurements;
386
- const vals = (measurements ?? [])
387
- .filter((v) => v.value != null)
388
- .map((v) => {
389
- const gName = shortGroup(gm.get(v.groupId) ?? v.groupId);
390
- const spread = v.spread != null ? ` ±${v.spread}` : '';
391
- return `${gName}: ${displayMeasurementValue(v.value, paramType)}${spread}`;
392
- })
393
- .join(', ');
394
- if (vals)
395
- lines.push(` ${prefix ? `${prefix}: ` : ''}${vals}`);
396
- }
397
- }
551
+ const title = text(m.title) ?? 'Measure';
552
+ const unit = text(m.unitOfMeasure);
553
+ const desc = [text(m.paramType), text(m.dispersionType)].filter(Boolean).join(', ');
554
+ lines.push(`- **${title}**${unit ? ` (${unit})` : ''}${desc ? ` [${desc}]` : ''}`);
555
+ const mDescription = text(m.description);
556
+ if (mDescription)
557
+ lines.push(` ${mDescription}`);
558
+ const mPopulation = text(m.populationDescription);
559
+ if (mPopulation)
560
+ lines.push(` Population: ${mPopulation}`);
561
+ if (m.calculatePct != null)
562
+ lines.push(` Percentages: ${m.calculatePct ? 'yes' : 'no'}`);
563
+ const denomUnits = text(m.denomUnitsSelected);
564
+ if (denomUnits)
565
+ lines.push(` Denominator units: ${denomUnits}`);
566
+ renderDenoms(m.denoms, gm, ' ', lines);
567
+ renderClasses(m.classes, gm, m.paramType, ' ', lines);
398
568
  }
399
569
  }
400
570
  function formatMoreInfo(mi, lines) {
@@ -423,7 +593,8 @@ function formatMoreInfo(mi, lines) {
423
593
  lines.push(` ${agr.otherDetails}`);
424
594
  }
425
595
  if (poc) {
426
- const parts = [poc.title, poc.organization, poc.email, poc.phone].filter(Boolean);
596
+ const phone = poc.phoneExt ? `${poc.phone} ext. ${poc.phoneExt}` : poc.phone;
597
+ const parts = [poc.title, poc.organization, poc.email, phone].filter(Boolean);
427
598
  if (parts.length)
428
599
  lines.push(`**Point of Contact:** ${parts.join(' | ')}`);
429
600
  }
@@ -467,7 +638,7 @@ export const getStudyResults = tool('clinicaltrials_get_study_results', {
467
638
  summary: z
468
639
  .boolean()
469
640
  .default(false)
470
- .describe('Return condensed summaries instead of full data. Reduces payload from ~200KB to ~5KB per study. Summaries include outcome titles, types, timeframes, group counts, and top-level stats — omitting individual measurements, analyses, and per-group data.'),
641
+ .describe('Return condensed summaries instead of full data. Full mode renders every row and field on both output channels, so a large results set can exceed 500KB per study; summary mode reduces that to ~5KB. Summaries include outcome titles, types, timeframes, group counts, and top-level stats — omitting individual measurements, analyses, and per-group data.'),
471
642
  }),
472
643
  output: z.object({
473
644
  results: z
@@ -1 +1 @@
1
- {"version":3,"file":"get-study-results.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-study-results.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,cAAc,GAAG;IACrB,UAAU;IACV,eAAe;IACf,iBAAiB;IACjB,UAAU;IACV,UAAU;CACF,CAAC;AAGX,uDAAuD;AACvD,MAAM,WAAW,GAA4B;IAC3C,QAAQ,EAAE,uBAAuB;IACjC,aAAa,EAAE,qBAAqB;IACpC,eAAe,EAAE,uBAAuB;IACxC,QAAQ,EAAE,+BAA+B;IACzC,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,KAAc,EAAE,SAAkB;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,CAA0B;IAE1B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAoD,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAqD,CAAC;IACxE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAA4B,CAAC;IACzD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAwD,CAAC;IACvF,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAA0D,CAAC;IACjG,IAAI,CAAC,YAAY,EAAE,MAAM;QAAE,OAAO;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,YAAY;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAiB,CAAC,IAAK,CAAC,CAAC,OAAkB;QACjE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC;IACN,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,CAA0B;IACpD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAsD,CAAC;IAC1E,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,MAAM,IAAI,GAAG;QACX,mBAAmB;QACnB,QAAQ;QACR,eAAe;QACf,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,iBAAiB;QACjB,UAAU;KACF,CAAC;IACX,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,+FAA+F;AAC/F,SAAS,gBAAgB,CAAC,CAA0B;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAoD,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAqD,CAAC;IACxE,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,UAAU,EAAE,MAAM,EAAE,MAAM;QAC1B,UAAU,EAAE,OAAO,EAAE,MAAM;QAC3B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAU5B,sFAAsF;AACtF,SAAS,mBAAmB,CAAC,EAA2B;IAItD,MAAM,KAAK,GAAI,EAAE,CAAC,KAAoD,IAAI,EAAE,CAAC;IAC7E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,EAA2B;IACnD,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,IAAyB,EAAqB,EAAE,CAChF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACnB,CAAC,CAAE,MAAyC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,EAAG,EAAE,CAAC,IAAe,IAAI,aAAa;YAC1C,WAAW,EAAG,EAAE,CAAC,WAAsB,IAAI,EAAE;YAC7C,IAAI;YACJ,GAAG,mBAAmB,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;SAClF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAChC,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB,CAAC,EAA2B;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,WAAyD,CAAC;IAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO;QACL,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC7D,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACxF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAClF,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,SAAS,wBAAwB,CAAC,EAA2B;IAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,MAAoD,CAAC;IACvE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAqD,CAAC;IACzE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC7D,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,SAAS,iBAAiB,CAAC,EAA2B;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAoD,CAAC;IACvE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAsD,CAAC;IAC3E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC7D,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACnE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;aAC/B,CAAC,CAAC;YACL,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,EAA2B;IACpD,MAAM,SAAS,GAAG,EAAE,CAAC,gBAAuD,CAAC;IAC7E,OAAO;QACL,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,gBAAgB,EAAE;oBAChB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;oBAC9C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;oBACpD,eAAe,EAAE,SAAS,CAAC,eAAe;iBAC3C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAQD,wDAAwD;AACxD,SAAS,QAAQ,CAAC,GAAO;IACvB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,CAA0B,CAAC;IACxE,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,sDAAsD;AACtD,SAAS,UAAU,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IACzC,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACrE,CAAC;AAED,sFAAsF;AACtF,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAO,EAAE,MAAc,EAAE,KAAe,EAAE,KAAK,GAAG,QAAQ;IACnF,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,CAA0B,CAAC;IACxE,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO;IAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG;YACb,CAAC,CAAC,iBAAiB,IAAI,IAAI;gBACzB,CAAC,CAAC,UAAU,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,EAAE;gBAC7D,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,kBAAkB,IAAI,IAAI;gBAC1B,CAAC,CAAC,WAAW,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,gBAAgB,IAAI,GAAG,EAAE;gBAChE,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,cAAc,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;SAC3F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CACnB,MAAe,EACf,EAAuB,EACvB,MAAc,EACd,KAAe;IAEf,KAAK,MAAM,CAAC,IAAK,MAAgC,IAAI,EAAE,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,CAAE,CAAC,CAAC,MAAgC,IAAI,EAAE,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAa,EAAE,EAAuB;IAC3D,OAAO,CAAE,IAA8B,IAAI,EAAE,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAiB,CAAC,IAAK,CAAC,CAAC,OAAkB,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;QACtF,OAAO,GAAG,KAAK,KAAK,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,SAAS,eAAe,CAAC,CAAK,EAAE,EAAuB,EAAE,SAAkB;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,OAAO,CAAC,CAAC,UAAU,IAAI,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAgB,EAChB,EAAuB,EACvB,SAAkB,EAClB,MAAc,EACd,KAAe;IAEf,KAAK,MAAM,GAAG,IAAK,OAAiC,IAAI,EAAE,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,CAAC,CAAC;QACnD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,KAAK,MAAM,GAAG,IAAK,GAAG,CAAC,UAAoC,IAAI,EAAE,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,CAAE,GAAG,CAAC,YAAsC,IAAI,EAAE,CAAC;iBAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,oEAAoE;YACpE,0EAA0E;YAC1E,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC;YAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACzE,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,kBAAkB,CAAC,CAAK;IAC/B,MAAM,EAAE,GAAG;QACT,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE;QAC9C,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAClB,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI;YAC9C,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,EAAE,KAAK,CAAC,CAAC,YAAY,IAAI,EAAE,GAAG;YACzD,CAAC,CAAC,EAAE;QACN,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAC5B;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3D,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/B,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;QACrB,CAAC,CAAC,oBAAoB,IAAI,IAAI;YAC5B,CAAC,CAAC,2BAA2B,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;YACpE,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE;QACvD,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;QAClE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;QACzD,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;QACxD,EAAE;QACF,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;QACvB,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,QAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjF,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;KACzB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,QAAc,EAAE,KAAe;IACrD,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,UAAU,GACb,CAAC,CAAC,UAAiC;YACpC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,MAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,UAAU,GACb,CAAC,CAAC,UAAiC;YACpC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,OAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG;YACX,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACZ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjB,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YACrB,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE;YAChD,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE;YACjD,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,eAAyB,EAAE,CAAC,CAAC,CAAC,EAAE;SACrE;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACjD,IAAI,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG;YACnB,aAAa,CAAC,CAAC,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;YACvD,UAAU,CAAC,CAAC,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;YACpD,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;SACvE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,YAAY,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAErE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,QAEN,CAAC;QACd,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CACR,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACnG,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAEvD,mEAAmE;QACnE,MAAM,WAAW,GAAG,CAAC,CAAC,WAA6B,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,CAAC,IAAK,CAAC,CAAC,QAAkC,IAAI,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAM,EAAE,KAAe;IAClD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAC9C,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,GAAG,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACpD,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;IAE/D,+EAA+E;IAC/E,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,YAAY,IAAI,EAAE,IAAI,mBAAmB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE;YACtD,EAAE,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC5E,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,eAAe,CAAC,CAAC,CAAC,EAAE;SACvE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,EAAE,CAAC,SAAkC,CAAC;QACxD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,mCAAmC,SAAS,CAAC,MAAM,4BAA4B,CAAC,CAAC;YAC5F,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,SAAS,cAAc,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,8EAA8E;IAC9E,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAEjD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,MAAY,EAAE,EAAE;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG;gBACX,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;aACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,CAAE,EAAE,CAAC,KAA+B,IAAI,EAAE,CAAC;iBACxD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAiB,CAAC,IAAK,CAAC,CAAC,OAAkB,CAAC,CAAC;gBAC/E,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;YAC/D,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CACR,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,aAAsC,CAAC;IAC1D,MAAM,KAAK,GAAG,EAAE,CAAC,WAAoC,CAAC;IACtD,IAAI,OAAO,EAAE,MAAM;QAAE,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,KAAK,EAAE,MAAM;QAAE,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAM,EAAE,KAAe;IACpD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExB,+BAA+B;IAC/B,IAAI,YAAY,IAAI,EAAE,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE;YACtD,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,EAAE;SAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACpD,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IAClE,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAEjC,KAAK,MAAM,MAAM,IAAK,EAAE,CAAC,OAAiC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,CAAC;QACpD,KAAK,MAAM,EAAE,IAAK,MAAM,CAAC,UAAoC,IAAI,EAAE,EAAE,CAAC;YACpE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,OAAO,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAK,MAAM,CAAC,aAAuC,IAAI,EAAE,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CACR,qBAAqB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAM,EAAE,KAAe;IAC7C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAiC,CAAC;IAEtD,mEAAmE;IACnE,IAAI,YAAY,IAAI,EAAE,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE;YACtD,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAClD,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IAClE,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAEvC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9C,IAAI,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAM,EAAE,KAAe;IAC7C,8EAA8E;IAC9E,8EAA8E;IAC9E,wEAAwE;IACxE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,qBAA6D,CAAC;IAC7E,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAkC,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,cAAgC,CAAC;IAChD,IAAI,GAAG,EAAE,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,oBAAoB,IAAI,IAAI;gBAC9B,CAAC,CAAC,0BAA0B,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACrE,CAAC,CAAC,EAAE;YACN,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,eAAyB,EAAE,CAAC,CAAC,CAAC,EAAE;YACnE,GAAG,CAAC,iBAAiB,IAAI,IAAI;gBAC3B,CAAC,CAAC,2BAA2B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACnE,CAAC,CAAC,EAAE;SACP,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,YAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7E,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,kCAAkC,EAAE;IACtE,WAAW,EAAE,+ZAA+Z;IAC5a,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,mEAAmE;YACzE,QAAQ,EAAE,cAAc,CAAC,eAAe;SACzC;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,+DAA+D;YACrE,QAAQ,EAAE,cAAc,CAAC,YAAY;YACrC,SAAS,EAAE,IAAI;SAChB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,KAAK,CAAC;YACL,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC3E,CAAC;aACD,QAAQ,CACP,kJAAkJ,CACnJ;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC;YACL,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACzD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACpE,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,+HAA+H,CAChI;QACH,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,gWAAgW,CACjW;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrE,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACxC,QAAQ,EAAE;iBACV,QAAQ,CACP,2aAA2a,CAC5a;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,iWAAiW,CAClW;YACH,eAAe,EAAE,CAAC;iBACf,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,mLAAmL,CACpL;YACH,QAAQ,EAAE,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,uMAAuM,CACxM;YACH,QAAQ,EAAE,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,kOAAkO,CACnO;SACJ,CAAC;aACD,QAAQ,CAAC,kCAAkC,CAAC,CAChD;aACA,QAAQ,CAAC,oBAAoB,CAAC;QACjC,qBAAqB,EAAE,CAAC;aACrB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;QACrD,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SAC7C,CAAC;aACD,QAAQ,CAAC,uBAAuB,CAAC,CACrC;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,oCAAoC,CAAC;KAClD,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAc,KAAK,CAAC,QAAQ;YACxC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAaxB,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,MAAM,WAAW,GAA4C,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAoB,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,sDAAsD,EAAE;gBACtE,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAkB,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,MAAM,YAAY,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrF,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBACjD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,OAAO;aACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAC7D,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,oBAAoB,EAAE,UAAU,IAAI,SAAS,CAAC;YACnF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;YAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAI,IAAI,CAAC,eAAyD,IAAI,EAAE,CAAC;wBACvF,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC7E,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACzB,IAAI,OAAO,KAAK,eAAe;4BAAE,KAAK,CAAC,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;6BAC/E,IAAI,OAAO,KAAK,iBAAiB;4BACpC,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;6BACpD,IAAI,OAAO,KAAK,UAAU;4BAAE,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;6BACrE,IAAI,OAAO,KAAK,UAAU;4BAAE,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC5E,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAChC,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,cAAc,EAAE,qBAAqB,CAAC,MAAM;YAC5C,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM;gBAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,CAAC,aAAa;gBAAE,mBAAmB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,eAAe;gBAAE,qBAAqB,CAAC,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,CAAC,QAAQ;gBAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,QAAQ;gBAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,MAAM;YACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM;YAC5B,KAAK,CAAC,IAAI,CACR,iBAAiB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;QACJ,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}