lens-content-processor 0.50.0 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/bundler/article.d.ts +5 -0
  2. package/dist/bundler/article.js +23 -1
  3. package/dist/bundler/article.js.map +1 -1
  4. package/dist/cli.js +19 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/content-schema.js +21 -6
  7. package/dist/content-schema.js.map +1 -1
  8. package/dist/course-graph.d.ts +2 -0
  9. package/dist/course-graph.js +190 -0
  10. package/dist/course-graph.js.map +1 -0
  11. package/dist/flattener/index.js +18 -4
  12. package/dist/flattener/index.js.map +1 -1
  13. package/dist/glossary.d.ts +38 -0
  14. package/dist/glossary.js +365 -0
  15. package/dist/glossary.js.map +1 -0
  16. package/dist/index.d.ts +21 -2
  17. package/dist/index.js +64 -94
  18. package/dist/index.js.map +1 -1
  19. package/dist/markdown-parse.d.ts +5 -0
  20. package/dist/markdown-parse.js +33 -0
  21. package/dist/markdown-parse.js.map +1 -0
  22. package/dist/parser/course.js +54 -3
  23. package/dist/parser/course.js.map +1 -1
  24. package/dist/parser/lens.d.ts +3 -1
  25. package/dist/parser/lens.js +4 -1
  26. package/dist/parser/lens.js.map +1 -1
  27. package/dist/parser/meeting-doc.d.ts +14 -0
  28. package/dist/parser/meeting-doc.js +230 -0
  29. package/dist/parser/meeting-doc.js.map +1 -0
  30. package/dist/parser/response-segments.d.ts +2 -2
  31. package/dist/parser/response-segments.js +39 -4
  32. package/dist/parser/response-segments.js.map +1 -1
  33. package/dist/parser/survey.js +9 -0
  34. package/dist/parser/survey.js.map +1 -1
  35. package/dist/reference-graph.d.ts +3 -0
  36. package/dist/reference-graph.js +11 -7
  37. package/dist/reference-graph.js.map +1 -1
  38. package/dist/same-page-links.js +3 -18
  39. package/dist/same-page-links.js.map +1 -1
  40. package/dist/validator/article-structure.js +1 -1
  41. package/dist/validator/article-structure.js.map +1 -1
  42. package/dist/validator/emphasis.js +1 -1
  43. package/dist/validator/emphasis.js.map +1 -1
  44. package/dist/validator/same-lens-links.js +3 -15
  45. package/dist/validator/same-lens-links.js.map +1 -1
  46. package/dist/validator/test-segments.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/validator/markdown-parse.d.ts +0 -3
  49. package/dist/validator/markdown-parse.js +0 -22
  50. package/dist/validator/markdown-parse.js.map +0 -1
@@ -41,12 +41,13 @@ export interface ParsedQuestionSegment {
41
41
  questionType: ResponseQuestionSubtype;
42
42
  responseId: string;
43
43
  content: string;
44
+ description?: string;
44
45
  graded: boolean;
45
46
  assessmentInstructions?: string;
46
47
  feedbackInstructions?: string;
47
48
  optional?: boolean;
48
49
  feedback?: boolean;
49
- forceFeedback?: boolean;
50
+ forceFeedback?: true | "first";
50
51
  maxTime?: string;
51
52
  maxChars?: number;
52
53
  enforceVoice?: boolean;
@@ -109,6 +110,7 @@ export interface ParsedLens {
109
110
  tldr?: string;
110
111
  summaryForTutor?: string;
111
112
  addToAiContext?: string[] | null;
113
+ glossaryTerms?: unknown;
112
114
  minChatMessages?: number;
113
115
  durationMinutes?: number;
114
116
  readingMinutes?: number;
@@ -464,7 +464,7 @@ export function convertSegment(raw, sectionType, file) {
464
464
  result.errors.push({
465
465
  file,
466
466
  line: raw.line,
467
- message: "force-feedback:: true with feedback:: false has no feedback to send",
467
+ message: "force-feedback:: with feedback:: false has no feedback to send",
468
468
  suggestion: "Remove feedback:: false, or remove force-feedback::",
469
469
  severity: "warning",
470
470
  });
@@ -930,6 +930,9 @@ function parseLensPrepared(content, file, validationSource) {
930
930
  tldr,
931
931
  summaryForTutor,
932
932
  addToAiContext,
933
+ ...("glossary_terms" in frontmatter && {
934
+ glossaryTerms: frontmatter.glossary_terms,
935
+ }),
933
936
  minChatMessages,
934
937
  durationMinutes,
935
938
  readingMinutes,
@@ -1 +1 @@
1
- {"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EAExB,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAiLhC,SAAS,iBAAiB,CAAC,GAAe;IACxC,MAAM,YAAY,GAChB,GAAG,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS;YACpB,GAAG,CAAC,IAAI,KAAK,OAAO;YACpB,GAAG,CAAC,IAAI,KAAK,OAAO;YACpB,GAAG,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,CAAC;IAClB,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CACrB,OAA0B,EAC1B,GAAe,EACf,MAAsB;IAEtB,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;yEACyE;AACzE,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,KAAa,EACb,KAAc,EACd,SAAkB,EAClB,GAAW,EACX,aAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,MAAsB;IAEtB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QACpD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,UAAU,KAAK,eAAe,IAAI,kBAAkB,MAAM,CAAC,KAAK,CAAC,GAAG;YAC7E,UAAU,EAAE,sBAAsB,KAAK,+BAA+B,KAAK,0CAA0C;YACrH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,UAAU,KAAK,QAAQ,MAAM,KAAK,aAAa,SAAS,GAAG,GAAG;YACvE,UAAU,EAAE,qBAAqB,GAAG,EAAE;YACtC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,IAAY,EACZ,IAAY,EACZ,MAAsB;IAEtB,OAAO,oBAAoB,CACzB,mBAAmB,EACnB,KAAK,EACL,IAAI,EACJ,gBAAgB,EAChB,qDAAqD,EACrD,IAAI,EACJ,IAAI,EACJ,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAA+B,EAC/B,IAAY,EACZ,IAAY,EACZ,MAAsB;IAMtB,MAAM,eAAe,GAAG,oBAAoB,CAC1C,kBAAkB,EAClB,GAAG,CAAC,kBAAkB,CAAC,EACvB,KAAK,EACL,oBAAoB,EACpB,oCAAoC,EACpC,IAAI,EACJ,IAAI,EACJ,MAAM,CACP,CAAC;IACF,IAAI,cAAc,GAAG,oBAAoB,CACvC,iBAAiB,EACjB,GAAG,CAAC,iBAAiB,CAAC,EACtB,IAAI,EACJ,oBAAoB,EACpB,oCAAoC,EACpC,IAAI,EACJ,IAAI,EACJ,MAAM,CACP,CAAC;IACF,IAAI,YAAY,GAAG,oBAAoB,CACrC,eAAe,EACf,GAAG,CAAC,eAAe,CAAC,EACpB,IAAI,EACJ,oBAAoB,EACpB,6CAA6C,EAC7C,IAAI,EACJ,IAAI,EACJ,MAAM,CACP,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAClD,IACE,OAAO,CAAC,kBAAkB,CAAC;QAC3B,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,EACxD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EACL,wEAAwE;YAC1E,UAAU,EACR,+GAA+G;YACjH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,cAAc,GAAG,SAAS,CAAC;QAC3B,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;SAAM,IACL,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,oBAAoB,EACpB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,sCAAsC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,6CAA6C,oBAAoB,YAAY;YACvK,UAAU,EAAE,kCAAkC,oBAAoB,EAAE;YACpE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,cAAc,GAAG,SAAS,CAAC;QAC3B,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,YAAgC,EAChC,QAA6B,EAC7B,eAAmC,EACnC,IAAY,EACZ,IAAY,EACZ,MAAsB;IAEtB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1E,MAAM,KAAK,GACT,QAAQ,CAAC,IAAI,CACX,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,MAAM;QACnB,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,WAAW,CAC3B,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK;QAAE,OAAO,YAAY,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,4BAA4B,YAAY,kFAAkF;QACnI,UAAU,EACR,gEAAgE;QAClE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAa,EACb,SAAiB,EACjB,IAAY,EACZ,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACb,iDAAiD;QACjD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa;gBACvC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,aAAa,MAAM;gBACjD,CAAC,CAAC,gCAAgC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,uBAAuB,SAAS,qBAAqB,KAAK,CAAC,IAAI,EAAE,EAAE;gBAC5E,UAAU;gBACV,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,GAAG,SAAS,uDAAuD,QAAQ,CAAC,IAAI,EAAE;gBAC3F,UAAU,EAAE,sDAAsD;gBAClE,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,yEAAyE;IACzE,iDAAiD;IACjD,KAAK,MAAM,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,uBAAuB,SAAS,qBAAqB,MAAM,CAAC,OAAO,EAAE;YAC9E,UAAU,EAAE,MAAM,CAAC,aAAa;gBAC9B,CAAC,CAAC,mBAAmB,MAAM,CAAC,aAAa,MAAM;gBAC/C,CAAC,CAAC,+DAA+D;YACnE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAe,EACf,WAAmB,EACnB,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gCAAgC,WAAW,8BAA8B,WAAW,GAAG;oBAChG,UAAU,EAAE,2BAA2B,WAAW,IAAI;oBACtD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,eAAe,GAAG,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,mCAAmC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,sCAAsC;oBAC/C,UAAU,EAAE,oDAAoD;oBAChE,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtC,oCAAoC;gBACpC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,GAAG,CAAC,IAAI;oBACzC,OAAO,EAAE,wCAAwC;oBACjD,UAAU,EAAE,kCAAkC;oBAC9C,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;gBACH,oDAAoD;gBACpD,MAAM,OAAO,GAAsB;oBACjC,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE;oBACX,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACnE,CAAC;gBACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CACT,GAAG,mCAAmC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAChE,CAAC;YAEF,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,MAAM;gBACZ,OAAO;gBACP,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gCAAgC,WAAW,8BAA8B,WAAW,GAAG;oBAChG,UAAU,EAAE,2BAA2B,WAAW,IAAI;oBACtD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,oBAAoB,GAAG,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC;YAC1D,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YAE7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,mCAAmC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,2CAA2C;oBACpD,UAAU,EACR,iEAAiE;oBACnE,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChD,oCAAoC;gBACpC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,IAAI,GAAG,CAAC,IAAI;oBAC9C,OAAO,EAAE,6CAA6C;oBACtD,UAAU,EAAE,4CAA4C;oBACxD,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;gBACH,mDAAmD;YACrD,CAAC;YAED,uEAAuE;YACvE,qEAAqE;YACrE,+DAA+D;YAC/D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,YAAY,IAAI,EAAE;gBAChC,2BAA2B,EACzB,GAAG,CAAC,MAAM,CAAC,2BAA2B,EAAE,WAAW,EAAE,KAAK,MAAM;oBAC9D,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,SAAS;gBACf,4BAA4B,EAC1B,GAAG,CAAC,MAAM,CAAC,4BAA4B,EAAE,WAAW,EAAE,KAAK,MAAM;oBAC/D,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,SAAS;aAChB,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gCAAgC,WAAW,8BAA8B,WAAW,2DAA2D;oBACxJ,UAAU,EAAE,2BAA2B,WAAW,IAAI;oBACtD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAEtC,iDAAiD;YACjD,yDAAyD;YACzD,8CAA8C;YAC9C,sCAAsC;YAEtC,2CAA2C;YAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5D,wCAAwC;YACxC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa;wBACvC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,aAAa,MAAM;wBACjD,CAAC,CAAC,gCAAgC,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,uCAAuC,WAAW,EAAE;wBAC7D,UAAU;wBACV,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,+CAA+C,QAAQ,CAAC,IAAI,EAAE;wBACvE,UAAU,EACR,8DAA8D;wBAChE,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAyB;gBACpC,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;gBACnB,UAAU;gBACV,QAAQ;gBACR,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gCAAgC,WAAW,8BAA8B,WAAW,2DAA2D;oBACxJ,UAAU,EAAE,2BAA2B,WAAW,IAAI;oBACtD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAEtC,sEAAsE;YACtE,IAAI,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,8CAA8C,SAAS,GAAG;oBACnE,UAAU,EACR,+DAA+D;oBACjE,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,4CAA4C,OAAO,GAAG;oBAC/D,UAAU,EACR,+DAA+D;oBACjE,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa;wBACvC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,aAAa,MAAM;wBACjD,CAAC,CAAC,gCAAgC,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,uCAAuC,WAAW,EAAE;wBAC7D,UAAU;wBACV,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,+CAA+C,QAAQ,CAAC,IAAI,EAAE;wBACvE,UAAU,EACR,8DAA8D;wBAChE,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAuB;gBAClC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW;gBACnB,oEAAoE;gBACpE,4DAA4D;gBAC5D,WAAW,EAAE,SAAS,IAAI,SAAS;gBACnC,SAAS,EAAE,OAAO,IAAI,SAAS;gBAC/B,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,qEAAqE;YACrE,gEAAgE;YAChE,oEAAoE;YACpE,oCAAoC;YACpC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,MAAM,MAAM,GAAG,oBAAoB,CACjC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EACtC,MAAM,EACN,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACT,gEAAgE;gBAChE,kEAAkE;gBAClE,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;gBACnE,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACnC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,mCAAmC,CACzD,CAAC;oBACF,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BACjB,IAAI;4BACJ,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,OAAO,EACL,gEAAgE;4BAClE,UAAU,EAAE,qDAAqD;4BACjE,QAAQ,EAAE,SAAS;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,0CAA0C;oBACnD,UAAU,EAAE,6CAA6C;oBACzD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,kDAAkD;oBAC3D,UAAU,EAAE,wDAAwD;oBACpE,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,IACE,CAAC,EAAE;gBACH,CAAC,OAAO;gBACR,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;gBACrB,CAAC,cAAc;gBACf,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAC5B,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,mEAAmE;YACnE,wEAAwE;YACxE,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,cAAc,EACd,iBAAiB,EACjB,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;YAEF,MAAM,sBAAsB,GAC1B,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,SAAS,CAAC;YAErD,4DAA4D;YAC5D,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAA0B;gBACrC,IAAI,EAAE,UAAU;gBAChB,EAAE;gBACF,OAAO;gBACP,cAAc;gBACd,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,SAAS;gBAC1D,sBAAsB;gBACtB,gBAAgB,EACd,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM;oBACvD,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,SAAS;gBACf,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAClE,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACtE,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC/C,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gCAAgC,WAAW,8BAA8B,WAAW,GAAG;oBAChG,UAAU,EAAE,2BAA2B,WAAW,IAAI;oBACtD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,YAAY,IAAI;gBACzB,KAAK;gBACL,aAAa;gBACb,YAAY;gBACZ,aAAa;gBACb,QAAQ;gBACR,SAAS;aACV,EAAE,CAAC;gBACF,IAAI,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,UAAU,YAAY,0BAA0B,WAAW,WAAW;wBAC/E,UAAU,EACR,qGAAqG;wBACvG,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAEtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa;wBACvC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,aAAa,MAAM;wBACjD,CAAC,CAAC,gCAAgC,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,uCAAuC,WAAW,EAAE;wBAC7D,UAAU;wBACV,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,+CAA+C,QAAQ,CAAC,IAAI,EAAE;wBACvE,UAAU,EACR,8DAA8D;wBAChE,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAuB;gBAClC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW;gBACnB,UAAU;gBACV,QAAQ;gBACR,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;gBAC9C,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS;gBAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;gBAC5D,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS;gBAChD,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YAEF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EACL,uEAAuE;oBACzE,UAAU,EACR,mFAAmF;oBACrF,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,uCAAuC;oBAChD,UAAU,EAAE,2CAA2C;oBACvD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,QAAQ,EAAE,aAAa;oBACxC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,aAAa,MAAM;oBACjD,CAAC,CAAC,uCAAuC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,uCAAuC,WAAW,EAAE;oBAC7D,UAAU;oBACV,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,+CAA+C,QAAQ,CAAC,IAAI,EAAE;oBACvE,UAAU,EAAE,uCAAuC;oBACnD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,MAAM,OAAO,GAAwB;gBACnC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;gBAC9C,QAAQ,EACN,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YACF,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED;YACE,qEAAqE;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IACE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACtC,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAe,EACf,IAAY;IAEZ,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,qBAAqB,CACtB,wBAAwB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EACzC,GAAG,CAAC,MAAM,EACV,IAAI,EACJ,GAAG,CAAC,IAAI,CACT;QACD,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;QAClD,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAkD,EAClD,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAC1D,GAAG,EACH,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAe,EAAE,IAAY;IACtD,gDAAgD;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAElD,sFAAsF;IACtF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,SAAS,GAAG,CAAC,IAAI,wBAAwB;YAClD,UAAU,EAAE,8BAA8B,GAAG,CAAC,IAAI,UAAU;YAC5D,QAAQ,EAAE,SAAS;SACpB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA6B,EAC7B,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,iBAAqC,CAAC;IAC1C,IAAI,eAAmC,CAAC;IACxC,IAAI,eAAmC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;YACjC,CAAC;iBAAM,IAAI,iBAAiB,EAAE,CAAC;gBAC7B,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,OAAO,EAAE,kDAAkD;oBAC3D,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,CAAC;iBAAM,IAAI,eAAe,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,OAAO,EAAE,gDAAgD;oBACzD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,CAAC;iBAAM,IAAI,eAAe,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,OAAO,EAAE,gDAAgD;oBACzD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,IAAY,EACZ,IAAY;IAEZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO;QACL;YACE,IAAI;YACJ,IAAI;YACJ,OAAO,EACL,8GAA8G;YAChH,UAAU,EACR,4GAA4G;YAC9G,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,eAAmC,EACnC,IAAY,EACZ,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,wBAAwB;YACjC,UAAU,EACR,+FAA+F;YACjG,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAClE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,8BAA8B,SAAS,GAAG;gBACnD,UAAU,EAAE,uCAAuC;gBACnD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,qCAAqC;YAC9C,UAAU,EACR,wEAAwE;YAC1E,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,IAAY,EACZ,gBAAwB;IAExB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,kDAAkD;IAClD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;IAE/D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAElC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,oCAAoC,OAAO,WAAW,CAAC,EAAE,EAAE;YACpE,UAAU,EAAE,yBAAyB;YACrC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GACT,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,IAAI,GACR,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,eAAe,GACnB,OAAO,WAAW,CAAC,iBAAiB,KAAK,QAAQ;QAC/C,CAAC,CAAC,WAAW,CAAC,iBAAiB;QAC/B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAClB,mBAAmB,IAAI,WAAW;QAChC,CAAC,CAAE,WAAW,CAAC,iBAAqC;QACpD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GAAG,oBAAoB,CAC1C,WAAW,CAAC,iBAAiB,EAC7B,IAAI,EACJ,CAAC,EACD,MAAM,CACP,CAAC;IACF,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAC3E,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAC7B,IAAI,EACJ,CAAC,EACD,MAAM,CACP,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,oEAAoE;IACpE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,CACpE,IAAI,EACJ,CAAC,EAAE,0EAA0E;IAC7E,kBAAkB,EAClB,IAAI,EACJ,aAAa,GAAG,CAAC,CAClB,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE9B,4DAA4D;IAC5D,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAC1D,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAEjC,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAElC,qDAAqD;IACrD,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,cAAc,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7E,+BAA+B;IAC/B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,uDAAuD;YACnE,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAe,gBAAgB,CACvC;QACE,EAAE,EAAE,WAAW,CAAC,EAAY;QAC5B,KAAK;QACL,IAAI;QACJ,eAAe;QACf,cAAc;QACd,GAAG,CAAC,gBAAgB,IAAI,WAAW,IAAI;YACrC,aAAa,EAAE,WAAW,CAAC,cAAc;SAC1C,CAAC;QACF,eAAe;QACf,eAAe;QACf,cAAc;QACd,YAAY,EAAE,2BAA2B,CACvC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,IAAI,EACJ,CAAC,EACD,MAAM,CACP;QACD,QAAQ,EAAE,cAAc;KACzB,EACD,aAAa,CACd,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAe,EACf,IAAY,EACZ,MAAsB;IAEtB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAuB;QACnC,CAAC,SAAS,EAAE,2DAA2D,CAAC;QACxE;YACE,yBAAyB;YACzB,wEAAwE;SACzE;KACF,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,6BAA6B,KAAK,UAAU;gBACrD,UAAU;gBACV,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,2DAA2D,OAAO,GAAG;gBAC9E,UAAU,EAAE,kDAAkD;gBAC9D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,4CAA4C;YACrD,UAAU,EACR,+DAA+D;YACjE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrE,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,IACE,CAAC,EAAE;QACH,CAAC,OAAO,EAAE,IAAI,EAAE;QAChB,CAAC,sBAAsB,EAAE,IAAI,EAAE;QAC/B,SAAS,CAAC,MAAM,KAAK,CAAC,EACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,IAAI,EAAE,WAAW;QACjB,EAAE;QACF,OAAO;QACP,SAAS;QACT,sBAAsB;QACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC3E,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,GAAe,EACf,IAA8B,EAC9B,IAAY,EACZ,MAAsB;IAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,IAAI,6BAA6B;YAC7C,UAAU,EAAE,4BAA4B,IAAI,CAAC,WAAW,EAAE,UAAU;YACpE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,IAAI,8BAA8B,EAAE,EAAE;YAClD,UAAU,EACR,oEAAoE;YACtE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,IAAY;IACrD,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE3E,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,gBAAgB;QAAE,OAAO,MAAM,CAAC;IACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,eAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,0BAA0B;IAC1B,EAAE;IACF,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,wBAAwB;IACxB,IAAI,CAAC,SAAS,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ContentError } from "../index.js";
2
+ /** Files that meeting docs include; they are not meeting docs themselves. */
3
+ export declare const MEETING_DOC_SHARED_DIR = "meetings/shared/";
4
+ /**
5
+ * The tab looks core/meeting_docs/styles.py defines. Kept in step by hand:
6
+ * a name missing here is an error an author sees in the validator instead of
7
+ * a failed render the next time a cohort's documents are made.
8
+ */
9
+ export declare const MEETING_DOC_STYLES: Set<string>;
10
+ export interface MeetingDocParseResult {
11
+ markdown: string | null;
12
+ errors: ContentError[];
13
+ }
14
+ export declare function parseMeetingDoc(content: string, file: string, files?: Map<string, string>): MeetingDocParseResult;
@@ -0,0 +1,230 @@
1
+ // src/parser/meeting-doc.ts
2
+ //
3
+ // Meeting docs (meetings/ folder): the Markdown source of a course meeting's
4
+ // session document, attached to a `# Meeting:` marker with
5
+ // `meeting-doc:: [[../meetings/<course>/Meeting N]]`. The platform renders it
6
+ // into the Google Doc template that each group's copy is made from
7
+ // (core/meeting_docs in lens-platform; its markdown.py documents the format).
8
+ //
9
+ // A line `source:: [[../shared/<name>]]` includes a whole file from
10
+ // meetings/shared/ at that point, the way a lens includes an article. After
11
+ // `# Tab: <title>` it can supply the whole tab, `style::` line included.
12
+ // Includes are resolved here, so the platform receives one finished text.
13
+ //
14
+ // This file checks what an author can get wrong in a way the platform would
15
+ // only discover at provisioning time: the includes, the tabs, their styles,
16
+ // the links between them, Markdown the renderer does not support, and the
17
+ // label provisioning fills. It returns the PUBLISHED text (CriticMarkup
18
+ // rejected, %% comments removed, includes resolved), which is what the
19
+ // platform renders.
20
+ import { visit } from "unist-util-visit";
21
+ import { stripAuthoringMarkup, stripAuthoringMarkupForValidation, } from "../authoring-markup.js";
22
+ import { parseMarkdown } from "../markdown-parse.js";
23
+ import { parseFrontmatter } from "./frontmatter.js";
24
+ import { findFileWithExtension, resolveWikilinkPath } from "./wikilink.js";
25
+ import { validateFrontmatter } from "../validator/validate-frontmatter.js";
26
+ /** Files that meeting docs include; they are not meeting docs themselves. */
27
+ export const MEETING_DOC_SHARED_DIR = "meetings/shared/";
28
+ /**
29
+ * The tab looks core/meeting_docs/styles.py defines. Kept in step by hand:
30
+ * a name missing here is an error an author sees in the validator instead of
31
+ * a failed render the next time a cohort's documents are made.
32
+ */
33
+ export const MEETING_DOC_STYLES = new Set([
34
+ "session",
35
+ "faq",
36
+ "glossary",
37
+ "plain",
38
+ ]);
39
+ const TAB_LINE = /^# Tab:\s*(.+?)\s*$/;
40
+ // Any line that starts like an include; one that is not exactly an include
41
+ // would reach the renderer unresolved, so it is reported.
42
+ const ANY_INCLUDE = /^\s*source::\s*\[\[/;
43
+ const INCLUDE_LINE = /^source::\s*\[\[\s*([^\]|#]+?)\s*(?:\|[^\]]*)?\]\]\s*$/;
44
+ const STYLE_LINE = /^style::\s*(.*?)\s*$/;
45
+ const TAB_LINK = /\]\(<?#tab:([^)>]+)>?\)/g;
46
+ // Provisioning fills this line with the group's meeting link, and makes no
47
+ // group docs from a template without it (session_doc_provisioning.py).
48
+ const MEETING_LINK_LABEL = "Meeting link:";
49
+ // Markdown that core/meeting_docs/markdown.py refuses, by mdast node type.
50
+ const UNSUPPORTED = {
51
+ code: "a code block (a fenced block, or a line indented 4 spaces outside a list)",
52
+ delete: "strikethrough (~~)",
53
+ footnoteReference: "a footnote",
54
+ footnoteDefinition: "a footnote",
55
+ };
56
+ export function parseMeetingDoc(content, file, files = new Map()) {
57
+ const errors = [];
58
+ // Front matter is optional: only a Drive file name lives there.
59
+ if (content.startsWith("---\n")) {
60
+ const parsed = parseFrontmatter(content, file);
61
+ if (parsed.error)
62
+ return { markdown: null, errors: [parsed.error] };
63
+ errors.push(...validateFrontmatter(parsed.frontmatter, "meeting-doc", file));
64
+ }
65
+ // Checked on the view that keeps every line where the author wrote it;
66
+ // published from the view with authoring markup removed.
67
+ const lines = resolve(stripAuthoringMarkupForValidation, content, file, files, [], errors);
68
+ const published = resolve(stripAuthoringMarkup, content, file, files, [], []);
69
+ const at = (i) => ({ file: lines[i].file, line: lines[i].line });
70
+ const tabs = new Map();
71
+ const links = [];
72
+ let afterTab = false;
73
+ lines.forEach(({ text }, i) => {
74
+ const tab = text.match(TAB_LINE);
75
+ if (tab) {
76
+ if (tabs.has(tab[1])) {
77
+ errors.push({
78
+ ...at(i),
79
+ message: `Two tabs are named "${tab[1]}"`,
80
+ suggestion: "Give every # Tab: its own title; tab links find tabs by title",
81
+ severity: "error",
82
+ });
83
+ }
84
+ tabs.set(tab[1], i);
85
+ afterTab = true;
86
+ return;
87
+ }
88
+ const style = text.match(STYLE_LINE);
89
+ if (style && afterTab && !MEETING_DOC_STYLES.has(style[1])) {
90
+ errors.push({
91
+ ...at(i),
92
+ message: `Unknown tab style "${style[1]}"`,
93
+ suggestion: `Use one of: ${[...MEETING_DOC_STYLES].join(", ")}`,
94
+ severity: "error",
95
+ });
96
+ }
97
+ if (text.trim())
98
+ afterTab = false;
99
+ for (const m of text.matchAll(TAB_LINK)) {
100
+ links.push({ target: decodeURIComponent(m[1]), i });
101
+ }
102
+ });
103
+ const firstLine = lines.length ? at(0) : { file, line: 1 };
104
+ if (tabs.size === 0) {
105
+ errors.push({
106
+ ...firstLine,
107
+ message: "A meeting doc needs at least one tab",
108
+ suggestion: 'Start each tab with a line like "# Tab: Session Doc"',
109
+ severity: "error",
110
+ });
111
+ }
112
+ for (const { target, i } of links) {
113
+ if (!tabs.has(target)) {
114
+ errors.push({
115
+ ...at(i),
116
+ message: `Link to a tab that does not exist: "${target}"`,
117
+ suggestion: `Tabs in this doc: ${[...tabs.keys()].join(", ") || "none"}`,
118
+ severity: "error",
119
+ });
120
+ }
121
+ }
122
+ const body = lines.map((l) => l.text).join("\n");
123
+ errors.push(...unsupportedMarkdown(body, at));
124
+ if (tabs.size > 0 && !body.includes(MEETING_LINK_LABEL)) {
125
+ errors.push({
126
+ ...firstLine,
127
+ message: `No "${MEETING_LINK_LABEL}" line, so no group docs are made from this doc`,
128
+ suggestion: `Keep the "### ${MEETING_LINK_LABEL}" heading from the master template`,
129
+ severity: "warning",
130
+ });
131
+ }
132
+ const failed = errors.some((e) => e.severity === "error");
133
+ const text = published.map((l) => l.text).join("\n");
134
+ return { markdown: failed ? null : text, errors };
135
+ }
136
+ /**
137
+ * The body of ``content`` (front matter dropped), cleaned by ``strip``, with
138
+ * every include line replaced by the included file's body, recursively.
139
+ * Each line remembers the file and line it came from.
140
+ */
141
+ function resolve(strip, content, file, files, including, errors) {
142
+ const stripped = strip(content);
143
+ let body = stripped;
144
+ let start = 1;
145
+ if (stripped.startsWith("---\n")) {
146
+ const parsed = parseFrontmatter(stripped, file);
147
+ if (parsed.error)
148
+ errors.push(parsed.error);
149
+ else
150
+ [body, start] = [parsed.body, parsed.bodyStartLine];
151
+ }
152
+ const out = [];
153
+ body.split("\n").forEach((text, i) => {
154
+ const line = start + i;
155
+ const include = text.match(INCLUDE_LINE);
156
+ if (!include) {
157
+ if (ANY_INCLUDE.test(text)) {
158
+ errors.push({
159
+ file,
160
+ line,
161
+ message: "An include must be a line of its own, starting at the margin",
162
+ suggestion: "Write exactly: source:: [[../shared/<name>]]",
163
+ severity: "error",
164
+ });
165
+ }
166
+ out.push({ text, file, line });
167
+ return;
168
+ }
169
+ const target = findFileWithExtension(resolveWikilinkPath(include[1], file), files);
170
+ const problem = !target
171
+ ? `Included file not found: "${include[1]}"`
172
+ : !target.startsWith(MEETING_DOC_SHARED_DIR)
173
+ ? `Only files in ${MEETING_DOC_SHARED_DIR} can be included: "${include[1]}"`
174
+ : including.includes(target) || target === file
175
+ ? `A file includes itself: ${[...including, file, target].join(" -> ")}`
176
+ : null;
177
+ if (problem !== null || target === null) {
178
+ errors.push({
179
+ file,
180
+ line,
181
+ message: problem ?? "",
182
+ suggestion: `Include a file from ${MEETING_DOC_SHARED_DIR}: source:: [[../shared/<name>]]`,
183
+ severity: "error",
184
+ });
185
+ return;
186
+ }
187
+ const inner = resolve(strip, files.get(target), target, files, [...including, file], errors);
188
+ // The including file's own blank lines around the include set the spacing.
189
+ let first = 0;
190
+ let end = inner.length;
191
+ while (first < end && !inner[first].text.trim())
192
+ first++;
193
+ while (end > first && !inner[end - 1].text.trim())
194
+ end--;
195
+ out.push(...inner.slice(first, end));
196
+ });
197
+ return out;
198
+ }
199
+ function unsupportedMarkdown(body, at) {
200
+ const errors = [];
201
+ const report = (node, what) => errors.push({
202
+ ...at((node.position?.start.line ?? 1) - 1),
203
+ message: `Meeting docs cannot hold ${what}`,
204
+ suggestion: "Write it as plain paragraphs, lists or a table",
205
+ severity: "error",
206
+ });
207
+ visit(parseMarkdown(body, "gfm"), (node, _index, parent) => {
208
+ if (node.type in UNSUPPORTED)
209
+ report(node, UNSUPPORTED[node.type]);
210
+ // A quote holds only paragraphs; a list item only paragraphs and lists.
211
+ if (parent?.type === "blockquote" && node.type !== "paragraph") {
212
+ report(node, `a ${node.type} inside a quote (>)`);
213
+ }
214
+ if (parent?.type === "listItem" &&
215
+ !["paragraph", "list", "html", "code"].includes(node.type)) {
216
+ report(node, `a ${node.type} inside a list item`);
217
+ }
218
+ if (node.type !== "html")
219
+ return;
220
+ // A comment may stand between blocks; inside a paragraph only <br> may.
221
+ const inline = parent?.type !== "root" && parent?.type !== "listItem";
222
+ const ok = inline
223
+ ? /^<br\s*\/?>$/i.test(node.value.trim())
224
+ : node.value.trimStart().startsWith("<!--");
225
+ if (!ok)
226
+ report(node, `the HTML ${JSON.stringify(node.value.trim())}`);
227
+ });
228
+ return errors;
229
+ }
230
+ //# sourceMappingURL=meeting-doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-doc.js","sourceRoot":"","sources":["../../src/parser/meeting-doc.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ export type ResponseQuestionSubtype = (typeof RESPONSE_QUESTION_SUBTYPES)[number
6
6
  export declare const SUBTYPE_DISPLAY: Record<ResponseQuestionSubtype, string>;
7
7
  /** Where the segment lives. Surveys never grade. */
8
8
  export type ResponseContext = "lens" | "survey";
9
- /** Warning for force-feedback:: true on a question with nothing to send.
9
+ /** Warning for force-feedback:: on a question with nothing to send.
10
10
  * lens.ts drops it for a bare `#### Question`, whose feedback:: chat is the
11
11
  * channel the forced feedback goes through. */
12
- export declare const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: true without feedback-instructions:: has no feedback to send";
12
+ export declare const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: without feedback-instructions:: has no feedback to send";
13
13
  /**
14
14
  * Resolve a raw segment to its "question:<subtype>" schema key, for field
15
15
  * validation against QUESTION_SUBTYPE_SCHEMAS. Returns null for anything
@@ -26,10 +26,10 @@ export const SUBTYPE_DISPLAY = {
26
26
  ranking: "Ranking",
27
27
  };
28
28
  const VALID_SUBTYPES_HINT = RESPONSE_QUESTION_SUBTYPES.map((s) => SUBTYPE_DISPLAY[s]).join(", ");
29
- /** Warning for force-feedback:: true on a question with nothing to send.
29
+ /** Warning for force-feedback:: on a question with nothing to send.
30
30
  * lens.ts drops it for a bare `#### Question`, whose feedback:: chat is the
31
31
  * channel the forced feedback goes through. */
32
- export const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: true without feedback-instructions:: has no feedback to send";
32
+ export const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: without feedback-instructions:: has no feedback to send";
33
33
  const DEFAULT_RATING_SCALE = 5;
34
34
  const MIN_RATING_SCALE = 2;
35
35
  const MAX_RATING_SCALE = 10;
@@ -51,6 +51,26 @@ export function responseSegmentSchemaKey(raw) {
51
51
  export function parseBool(raw, field) {
52
52
  return raw.fields[field]?.toLowerCase() === "true" ? true : undefined;
53
53
  }
54
+ /** force-feedback:: `true` (every submit) or `first` (the first submit
55
+ * only); `false` or absent means the learner asks. Anything else warns and
56
+ * is ignored, like a non-boolean value in a boolean field. */
57
+ function parseForceFeedback(raw, file, errors) {
58
+ const value = raw.fields["force-feedback"];
59
+ if (value === undefined)
60
+ return undefined;
61
+ const normalized = value.trim().toLowerCase();
62
+ if (normalized === "true" || normalized === "first")
63
+ return normalized === "true" ? true : "first";
64
+ if (normalized !== "false")
65
+ errors.push({
66
+ file,
67
+ line: raw.line,
68
+ message: `Field 'force-feedback' has invalid value '${value}'`,
69
+ suggestion: "Expected 'true', 'first' or 'false'",
70
+ severity: "warning",
71
+ });
72
+ return undefined;
73
+ }
54
74
  /** Example values for parsePositiveInt's suggestion, per field: a cap of 500
55
75
  * makes sense for max-chars:: and none at all for max-select::. */
56
76
  const POSITIVE_INT_EXAMPLES = {
@@ -589,6 +609,18 @@ export function parseResponseSegment(raw, context, file) {
589
609
  if (feedbackInstructions) {
590
610
  errors.push(...validatePromptImportSyntax(feedbackInstructions, "feedback-instructions", file, raw.line));
591
611
  }
612
+ // description:: is a survey help line; a lens has nowhere to show it.
613
+ let description = raw.fields.description?.trim() || undefined;
614
+ if (description && context === "lens") {
615
+ errors.push({
616
+ file,
617
+ line: raw.line,
618
+ message: "description:: on a lens question — descriptions show only in surveys, so this field will be ignored",
619
+ suggestion: "Put the extra guidance in content::, or remove the field",
620
+ severity: "warning",
621
+ });
622
+ description = undefined;
623
+ }
592
624
  const segment = {
593
625
  type: "question",
594
626
  questionType,
@@ -597,10 +629,11 @@ export function parseResponseSegment(raw, context, file) {
597
629
  // uppercase-authored id.
598
630
  responseId: responseId.toLowerCase(),
599
631
  content,
632
+ ...(description ? { description } : {}),
600
633
  graded: false, // derived per subtype below; always false in surveys
601
634
  assessmentInstructions,
602
635
  feedbackInstructions,
603
- forceFeedback: parseBool(raw, "force-feedback"),
636
+ forceFeedback: parseForceFeedback(raw, file, errors),
604
637
  optional: parseBool(raw, "optional"),
605
638
  };
606
639
  if (segment.forceFeedback && !feedbackInstructions) {
@@ -712,7 +745,7 @@ export function toFlattenedResponseSegment(parsed) {
712
745
  if (parsed.feedbackInstructions)
713
746
  segment.feedbackInstructions = parsed.feedbackInstructions;
714
747
  if (parsed.forceFeedback)
715
- segment.forceFeedback = true;
748
+ segment.forceFeedback = parsed.forceFeedback;
716
749
  if (parsed.optional)
717
750
  segment.optional = true;
718
751
  // Bare `#### Question` only: always emitted there (the parser defaults it
@@ -729,6 +762,8 @@ export function toFlattenedResponseSegment(parsed) {
729
762
  segment.enforceVoice = true;
730
763
  if (parsed.placeholder)
731
764
  segment.placeholder = parsed.placeholder;
765
+ if (parsed.description)
766
+ segment.description = parsed.description;
732
767
  // rating:
733
768
  if (parsed.scale !== undefined)
734
769
  segment.scale = parsed.scale;