rawsql-ts 0.11.5-beta → 0.11.7-beta

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 (146) hide show
  1. package/README.md +735 -735
  2. package/dist/esm/index.js +1 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/index.min.js +14 -14
  5. package/dist/esm/index.min.js.map +4 -4
  6. package/dist/esm/{types/src → src}/index.d.ts +1 -0
  7. package/dist/esm/src/index.js +1 -0
  8. package/dist/esm/src/index.js.map +1 -1
  9. package/dist/esm/{types/src → src}/parsers/SqlPrintTokenParser.d.ts +1 -0
  10. package/dist/esm/src/parsers/SqlPrintTokenParser.js +28 -6
  11. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  12. package/dist/esm/{types/src → src}/transformers/SchemaCollector.d.ts +6 -1
  13. package/dist/esm/src/transformers/SchemaCollector.js +76 -9
  14. package/dist/esm/src/transformers/SchemaCollector.js.map +1 -1
  15. package/dist/esm/src/utils/CommentEditor.d.ts +72 -0
  16. package/dist/esm/src/utils/CommentEditor.js +190 -0
  17. package/dist/esm/src/utils/CommentEditor.js.map +1 -0
  18. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  19. package/dist/index.min.js +14 -14
  20. package/dist/index.min.js.map +4 -4
  21. package/dist/src/index.d.ts +1 -0
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/parsers/SqlPrintTokenParser.d.ts +1 -0
  25. package/dist/src/parsers/SqlPrintTokenParser.js +28 -6
  26. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  27. package/dist/src/transformers/SchemaCollector.d.ts +6 -1
  28. package/dist/src/transformers/SchemaCollector.js +76 -9
  29. package/dist/src/transformers/SchemaCollector.js.map +1 -1
  30. package/dist/src/utils/CommentEditor.d.ts +72 -0
  31. package/dist/src/utils/CommentEditor.js +194 -0
  32. package/dist/src/utils/CommentEditor.js.map +1 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
  35. /package/dist/esm/{types/src → src}/models/BinarySelectQuery.d.ts +0 -0
  36. /package/dist/esm/{types/src → src}/models/CTEError.d.ts +0 -0
  37. /package/dist/esm/{types/src → src}/models/Clause.d.ts +0 -0
  38. /package/dist/esm/{types/src → src}/models/CreateTableQuery.d.ts +0 -0
  39. /package/dist/esm/{types/src → src}/models/HintClause.d.ts +0 -0
  40. /package/dist/esm/{types/src → src}/models/InsertQuery.d.ts +0 -0
  41. /package/dist/esm/{types/src → src}/models/KeywordTrie.d.ts +0 -0
  42. /package/dist/esm/{types/src → src}/models/Lexeme.d.ts +0 -0
  43. /package/dist/esm/{types/src → src}/models/SelectQuery.d.ts +0 -0
  44. /package/dist/esm/{types/src → src}/models/SimpleSelectQuery.d.ts +0 -0
  45. /package/dist/esm/{types/src → src}/models/SqlComponent.d.ts +0 -0
  46. /package/dist/esm/{types/src → src}/models/SqlPrintToken.d.ts +0 -0
  47. /package/dist/esm/{types/src → src}/models/UpdateQuery.d.ts +0 -0
  48. /package/dist/esm/{types/src → src}/models/ValueComponent.d.ts +0 -0
  49. /package/dist/esm/{types/src → src}/models/ValuesQuery.d.ts +0 -0
  50. /package/dist/esm/{types/src → src}/parsers/CommandExpressionParser.d.ts +0 -0
  51. /package/dist/esm/{types/src → src}/parsers/CommonTableParser.d.ts +0 -0
  52. /package/dist/esm/{types/src → src}/parsers/FetchClauseParser.d.ts +0 -0
  53. /package/dist/esm/{types/src → src}/parsers/ForClauseParser.d.ts +0 -0
  54. /package/dist/esm/{types/src → src}/parsers/FromClauseParser.d.ts +0 -0
  55. /package/dist/esm/{types/src → src}/parsers/FullNameParser.d.ts +0 -0
  56. /package/dist/esm/{types/src → src}/parsers/FunctionExpressionParser.d.ts +0 -0
  57. /package/dist/esm/{types/src → src}/parsers/GroupByParser.d.ts +0 -0
  58. /package/dist/esm/{types/src → src}/parsers/HavingParser.d.ts +0 -0
  59. /package/dist/esm/{types/src → src}/parsers/IdentifierDecorator.d.ts +0 -0
  60. /package/dist/esm/{types/src → src}/parsers/IdentifierParser.d.ts +0 -0
  61. /package/dist/esm/{types/src → src}/parsers/InsertQueryParser.d.ts +0 -0
  62. /package/dist/esm/{types/src → src}/parsers/JoinClauseParser.d.ts +0 -0
  63. /package/dist/esm/{types/src → src}/parsers/JoinOnClauseParser.d.ts +0 -0
  64. /package/dist/esm/{types/src → src}/parsers/JoinUsingClauseParser.d.ts +0 -0
  65. /package/dist/esm/{types/src → src}/parsers/KeywordParser.d.ts +0 -0
  66. /package/dist/esm/{types/src → src}/parsers/LimitClauseParser.d.ts +0 -0
  67. /package/dist/esm/{types/src → src}/parsers/LiteralParser.d.ts +0 -0
  68. /package/dist/esm/{types/src → src}/parsers/OffsetClauseParser.d.ts +0 -0
  69. /package/dist/esm/{types/src → src}/parsers/OrderByClauseParser.d.ts +0 -0
  70. /package/dist/esm/{types/src → src}/parsers/OverExpressionParser.d.ts +0 -0
  71. /package/dist/esm/{types/src → src}/parsers/ParameterDecorator.d.ts +0 -0
  72. /package/dist/esm/{types/src → src}/parsers/ParameterExpressionParser.d.ts +0 -0
  73. /package/dist/esm/{types/src → src}/parsers/ParenExpressionParser.d.ts +0 -0
  74. /package/dist/esm/{types/src → src}/parsers/ParseError.d.ts +0 -0
  75. /package/dist/esm/{types/src → src}/parsers/PartitionByParser.d.ts +0 -0
  76. /package/dist/esm/{types/src → src}/parsers/ReturningClauseParser.d.ts +0 -0
  77. /package/dist/esm/{types/src → src}/parsers/SelectClauseParser.d.ts +0 -0
  78. /package/dist/esm/{types/src → src}/parsers/SelectQueryParser.d.ts +0 -0
  79. /package/dist/esm/{types/src → src}/parsers/SetClauseParser.d.ts +0 -0
  80. /package/dist/esm/{types/src → src}/parsers/SourceAliasExpressionParser.d.ts +0 -0
  81. /package/dist/esm/{types/src → src}/parsers/SourceExpressionParser.d.ts +0 -0
  82. /package/dist/esm/{types/src → src}/parsers/SourceParser.d.ts +0 -0
  83. /package/dist/esm/{types/src → src}/parsers/SqlTokenizer.d.ts +0 -0
  84. /package/dist/esm/{types/src → src}/parsers/StringSpecifierExpressionParser.d.ts +0 -0
  85. /package/dist/esm/{types/src → src}/parsers/UnaryExpressionParser.d.ts +0 -0
  86. /package/dist/esm/{types/src → src}/parsers/UpdateClauseParser.d.ts +0 -0
  87. /package/dist/esm/{types/src → src}/parsers/UpdateQueryParser.d.ts +0 -0
  88. /package/dist/esm/{types/src → src}/parsers/ValueParser.d.ts +0 -0
  89. /package/dist/esm/{types/src → src}/parsers/ValuesQueryParser.d.ts +0 -0
  90. /package/dist/esm/{types/src → src}/parsers/WhereClauseParser.d.ts +0 -0
  91. /package/dist/esm/{types/src → src}/parsers/WindowClauseParser.d.ts +0 -0
  92. /package/dist/esm/{types/src → src}/parsers/WindowExpressionParser.d.ts +0 -0
  93. /package/dist/esm/{types/src → src}/parsers/WithClauseParser.d.ts +0 -0
  94. /package/dist/esm/{types/src → src}/tokenReaders/BaseTokenReader.d.ts +0 -0
  95. /package/dist/esm/{types/src → src}/tokenReaders/CommandTokenReader.d.ts +0 -0
  96. /package/dist/esm/{types/src → src}/tokenReaders/EscapedIdentifierTokenReader.d.ts +0 -0
  97. /package/dist/esm/{types/src → src}/tokenReaders/FunctionTokenReader.d.ts +0 -0
  98. /package/dist/esm/{types/src → src}/tokenReaders/IdentifierTokenReader.d.ts +0 -0
  99. /package/dist/esm/{types/src → src}/tokenReaders/LiteralTokenReader.d.ts +0 -0
  100. /package/dist/esm/{types/src → src}/tokenReaders/OperatorTokenReader.d.ts +0 -0
  101. /package/dist/esm/{types/src → src}/tokenReaders/ParameterTokenReader.d.ts +0 -0
  102. /package/dist/esm/{types/src → src}/tokenReaders/StringSpecifierTokenReader.d.ts +0 -0
  103. /package/dist/esm/{types/src → src}/tokenReaders/SymbolTokenReader.d.ts +0 -0
  104. /package/dist/esm/{types/src → src}/tokenReaders/TokenReaderManager.d.ts +0 -0
  105. /package/dist/esm/{types/src → src}/tokenReaders/TypeTokenReader.d.ts +0 -0
  106. /package/dist/esm/{types/src → src}/transformers/CTEBuilder.d.ts +0 -0
  107. /package/dist/esm/{types/src → src}/transformers/CTECollector.d.ts +0 -0
  108. /package/dist/esm/{types/src → src}/transformers/CTEDependencyTracer.d.ts +0 -0
  109. /package/dist/esm/{types/src → src}/transformers/CTEDisabler.d.ts +0 -0
  110. /package/dist/esm/{types/src → src}/transformers/CTEInjector.d.ts +0 -0
  111. /package/dist/esm/{types/src → src}/transformers/CTENormalizer.d.ts +0 -0
  112. /package/dist/esm/{types/src → src}/transformers/DynamicQueryBuilder.d.ts +0 -0
  113. /package/dist/esm/{types/src → src}/transformers/EnhancedJsonMapping.d.ts +0 -0
  114. /package/dist/esm/{types/src → src}/transformers/Formatter.d.ts +0 -0
  115. /package/dist/esm/{types/src → src}/transformers/JsonMappingConverter.d.ts +0 -0
  116. /package/dist/esm/{types/src → src}/transformers/JsonMappingUnifier.d.ts +0 -0
  117. /package/dist/esm/{types/src → src}/transformers/LinePrinter.d.ts +0 -0
  118. /package/dist/esm/{types/src → src}/transformers/ModelDrivenJsonMapping.d.ts +0 -0
  119. /package/dist/esm/{types/src → src}/transformers/ParameterCollector.d.ts +0 -0
  120. /package/dist/esm/{types/src → src}/transformers/PostgresArrayEntityCteBuilder.d.ts +0 -0
  121. /package/dist/esm/{types/src → src}/transformers/PostgresJsonQueryBuilder.d.ts +0 -0
  122. /package/dist/esm/{types/src → src}/transformers/PostgresObjectEntityCteBuilder.d.ts +0 -0
  123. /package/dist/esm/{types/src → src}/transformers/QueryBuilder.d.ts +0 -0
  124. /package/dist/esm/{types/src → src}/transformers/SelectValueCollector.d.ts +0 -0
  125. /package/dist/esm/{types/src → src}/transformers/SelectableColumnCollector.d.ts +0 -0
  126. /package/dist/esm/{types/src → src}/transformers/SqlFormatter.d.ts +0 -0
  127. /package/dist/esm/{types/src → src}/transformers/SqlOutputToken.d.ts +0 -0
  128. /package/dist/esm/{types/src → src}/transformers/SqlPaginationInjector.d.ts +0 -0
  129. /package/dist/esm/{types/src → src}/transformers/SqlParamInjector.d.ts +0 -0
  130. /package/dist/esm/{types/src → src}/transformers/SqlParameterBinder.d.ts +0 -0
  131. /package/dist/esm/{types/src → src}/transformers/SqlPrinter.d.ts +0 -0
  132. /package/dist/esm/{types/src → src}/transformers/SqlSortInjector.d.ts +0 -0
  133. /package/dist/esm/{types/src → src}/transformers/TableColumnResolver.d.ts +0 -0
  134. /package/dist/esm/{types/src → src}/transformers/TableSourceCollector.d.ts +0 -0
  135. /package/dist/esm/{types/src → src}/transformers/TypeTransformationPostProcessor.d.ts +0 -0
  136. /package/dist/esm/{types/src → src}/transformers/UpstreamSelectQueryFinder.d.ts +0 -0
  137. /package/dist/esm/{types/src → src}/utils/CommentUtils.d.ts +0 -0
  138. /package/dist/esm/{types/src → src}/utils/JsonSchemaValidator.d.ts +0 -0
  139. /package/dist/esm/{types/src → src}/utils/OperatorPrecedence.d.ts +0 -0
  140. /package/dist/esm/{types/src → src}/utils/ParameterDetector.d.ts +0 -0
  141. /package/dist/esm/{types/src → src}/utils/ParameterHelper.d.ts +0 -0
  142. /package/dist/esm/{types/src → src}/utils/ParameterRemover.d.ts +0 -0
  143. /package/dist/esm/{types/src → src}/utils/SchemaManager.d.ts +0 -0
  144. /package/dist/esm/{types/src → src}/utils/SqlSchemaValidator.d.ts +0 -0
  145. /package/dist/esm/{types/src → src}/utils/charLookupTable.d.ts +0 -0
  146. /package/dist/esm/{types/src → src}/utils/stringUtils.d.ts +0 -0
@@ -33,3 +33,4 @@ export * from './transformers/DynamicQueryBuilder';
33
33
  export * from './utils/SqlSchemaValidator';
34
34
  export * from './utils/JsonSchemaValidator';
35
35
  export * from './utils/SchemaManager';
36
+ export * from './utils/CommentEditor';
package/dist/src/index.js CHANGED
@@ -57,5 +57,6 @@ __exportStar(require("./transformers/DynamicQueryBuilder"), exports);
57
57
  __exportStar(require("./utils/SqlSchemaValidator"), exports);
58
58
  __exportStar(require("./utils/JsonSchemaValidator"), exports);
59
59
  __exportStar(require("./utils/SchemaManager"), exports);
60
+ __exportStar(require("./utils/CommentEditor"), exports);
60
61
  // Add more exports here if you want to expose additional public API
61
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AACrC,oDAAkC;AAElC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,qEAAmD;AACnD,gFAQ+C;AAN3C,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAM9B,wEAM2C;AALvC,6DAA6D;AAC7D,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AAGlB,qEAAqE;AACrE,wEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,2EAAyD;AACzD,iFAA+D;AAE/D,iEAA+C;AAC/C,kEAAgD;AAChD,iEAA+C;AAC/C,uEAAqD;AACrD,qEAAmD;AAEnD,6DAA2C;AAC3C,8DAA4C;AAC5C,wDAAsC;AAGtC,oEAAoE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AACrC,oDAAkC;AAElC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,qEAAmD;AACnD,gFAQ+C;AAN3C,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAM9B,wEAM2C;AALvC,6DAA6D;AAC7D,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AAGlB,qEAAqE;AACrE,wEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,2EAAyD;AACzD,iFAA+D;AAE/D,iEAA+C;AAC/C,kEAAgD;AAChD,iEAA+C;AAC/C,uEAAqD;AACrD,qEAAmD;AAEnD,6DAA2C;AAC3C,8DAA4C;AAC5C,wDAAsC;AACtC,wDAAsC;AAGtC,oEAAoE"}
@@ -112,6 +112,7 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
112
112
  private visitWindowFrameBoundStatic;
113
113
  private visitSelectItem;
114
114
  private visitSelectClause;
115
+ private flattenTokenText;
115
116
  private visitHintClause;
116
117
  private visitDistinct;
117
118
  private visitDistinctOn;
@@ -665,17 +665,30 @@ class SqlPrintTokenParser {
665
665
  }
666
666
  visitSelectClause(arg) {
667
667
  const token = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.keyword, 'select', SqlPrintToken_1.SqlPrintTokenContainerType.SelectClause);
668
- token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
668
+ // Handle hints and DISTINCT as part of the keyword line
669
+ let selectKeywordText = 'select';
669
670
  // Add hint clauses immediately after SELECT (before DISTINCT)
670
671
  for (const hint of arg.hints) {
671
- token.innerTokens.push(this.visit(hint));
672
- token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
672
+ selectKeywordText += ' ' + this.visit(hint).text;
673
673
  }
674
- // Add DISTINCT after hints (if present)
674
+ // Add DISTINCT after hints (if present)
675
675
  if (arg.distinct) {
676
- token.innerTokens.push(arg.distinct.accept(this));
677
- token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
676
+ const distinctToken = arg.distinct.accept(this);
677
+ if (distinctToken.innerTokens && distinctToken.innerTokens.length > 0) {
678
+ // For compound DISTINCT tokens (like DISTINCT ON), concatenate all parts
679
+ let distinctText = distinctToken.text;
680
+ for (const innerToken of distinctToken.innerTokens) {
681
+ distinctText += this.flattenTokenText(innerToken);
682
+ }
683
+ selectKeywordText += ' ' + distinctText;
684
+ }
685
+ else {
686
+ selectKeywordText += ' ' + distinctToken.text;
687
+ }
678
688
  }
689
+ // Update the token text to include hints and DISTINCT
690
+ token.text = selectKeywordText;
691
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
679
692
  for (let i = 0; i < arg.items.length; i++) {
680
693
  if (i > 0) {
681
694
  token.innerTokens.push(...SqlPrintTokenParser.commaSpaceTokens());
@@ -684,6 +697,15 @@ class SqlPrintTokenParser {
684
697
  }
685
698
  return token;
686
699
  }
700
+ flattenTokenText(token) {
701
+ let result = token.text;
702
+ if (token.innerTokens) {
703
+ for (const innerToken of token.innerTokens) {
704
+ result += this.flattenTokenText(innerToken);
705
+ }
706
+ }
707
+ return result;
708
+ }
687
709
  visitHintClause(arg) {
688
710
  const token = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.value, arg.getFullHint());
689
711
  return token;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlPrintTokenParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlPrintTokenParser.ts"],"names":[],"mappings":";;;AAAA,6CAAijB;AACjjB,qDAAkD;AAClD,uDAA0F;AAE1F,2DAAuG;AACvG,6DA2BkC;AAClC,2EAAwE;AACxE,+DAA4D;AAC5D,6DAA0D;AAC1D,uDAAoD;AACpD,uDAAoD;AACpD,iEAA8D;AAE9D,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AACnB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAcY,QAAA,OAAO,GAAoC;IACpD,KAAK,EAAE;QACH,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,OAAO;KACzC;IACD,uBAAuB,EAAE;QACrB,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,SAAS,EAAE;QACP,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,UAAU,EAAE;QACR,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,GAAG,EAAE;QACD,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,SAAS,EAAE;QACP,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,YAAY,EAAE;QACV,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,WAAW,EAAE;QACT,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,OAAO;KACzC;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,KAAK;KACvC;IACD,IAAI,EAAE;QACF,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,OAAO,EAAE;QACL,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,OAAO;KACzC;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;IACD,OAAO,EAAE;QACL,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1C,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,cAAc,CAAC,SAAS;KAC3C;CACJ,CAAC;AAEF,MAAa,mBAAmB;IAc5B,YAAY,OAKX;;QAVO,aAAQ,GAA6C,IAAI,GAAG,EAAE,CAAC;QAGvE,UAAK,GAAW,CAAC,CAAC;QAQd,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC7B,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAkB,CAAC;YAC7C,MAAM,EAAE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,0CAAE,KAAK,mCAAI,GAAG;YACvH,MAAM,EAAE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvF,KAAK,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,OAAO;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAAC;YAC/C,KAAK,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,KAAK,mCAAI,GAAG;YAC9C,GAAG,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,GAAG,mCAAI,GAAG;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAiB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAqB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oCAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAA2B,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mCAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAA0B,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAiB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAsB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAsB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qCAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAA4B,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kCAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAyB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0CAAyB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAiC,CAAC,CAAC,CAAC;QACpI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAiB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAE1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sCAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAA6B,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uCAAsB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAA8B,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yCAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAgC,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAyB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAqB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,SAAS;QACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAgB,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QAEvF,OAAO;QACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAsB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAA6B,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QAEtG,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAE1F,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAqB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAE7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAyB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAiB,CAAC,CAAC,CAAC;QAEpF,OAAO;QACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAE1F,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAyB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAsB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QAEtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAiB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAqB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAuB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mCAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,GAAsB;QACjD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,0CAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAE/I,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,gBAAgB;QAC3B,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAEO,MAAM,CAAC,wBAAwB;QACnC,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC7F,CAAC;IAGO,kBAAkB,CAAC,GAAkB;QACzC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QAE3G,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,sBAAsB,CAAC,GAAsB;QACjD,6BAA6B;QAC7B,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,0CAA0B,CAAC,iBAAiB,CAAC,CAAC;QACzH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,kBAAkB,CAAC,GAAkB;QACzC,yBAAyB;QACzB,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QACjH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAgB;QACrC,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QACzG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,sBAAa,CAAC,SAAS,EAAE,CAAC;YACrE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,aAAa,KAAK,2BAAkB,CAAC,KAAK,EAAE,CAAC;gBACjD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACxF,CAAC;iBAAM,IAAI,GAAG,CAAC,aAAa,KAAK,2BAAkB,CAAC,IAAI,EAAE,CAAC;gBACvD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,GAAiB;QAC1B,uCAAuC;QACvC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,uCAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAElG,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC5C,IAAI,KAAK,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;YACjC,8BAA8B;YAC9B,MAAM,SAAS,GAAwB,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,4DAA4D,CAAC,CAAC;oBAClH,CAAC;oBACD,2CAA2C;oBAC3C,SAAS;gBACb,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;YAC1C,mDAAmD;YACnD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,KAAK,cAAc,CAAC,SAAS,EAAE,CAAC;YAC5C,oEAAoE;YACpE,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACxC,CAAC;QAED,0BAA0B;QAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,GAAiB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,0CAA0C;YAC1C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAoB,EAAE,QAAyB;QACtE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAoB,EAAE,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,kFAAkF;gBAClF,aAAa,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,OAAO,KAAK,CAAC,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;QAED,sDAAsD;QACtD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAc;QACjC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,SAAS,CAAC,CAAC;QACvG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAC7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAiB;QACvC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE1G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAE7E,IAAI,GAAG,CAAC,IAAI,YAAY,iCAAgB,EAAE,CAAC;gBACvC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;iBACI,CAAC;gBACF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,GAAqB;QAC/C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,gBAAgB,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1F,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAiB;QACvC,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAChD,CAAC;aAAM,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,6BAAa,CACpB,iCAAiB,CAAC,KAAK,EACvB,IAAI,EACJ,0CAA0B,CAAC,YAAY,CAC1C,CAAC;IACN,CAAC;IAEO,wBAAwB,CAAC,GAAwB;QACrD,wEAAwE;QACxE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,GAAuB;QACnD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,kBAAkB,CAAC,CAAC;QAEhH,4BAA4B;QAC5B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACzB,yCAAyC;YACzC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,6BAA6B;QAC7B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,SAAuB;QAC3C,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC,CAAQ,uBAAuB;QAC3I,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAEjF,qEAAqE;QACrE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QACxH,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE/C,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,qBAAqB,CAAC,GAAqB;QAC/C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,gBAAgB,CAAC,CAAC;QAE9G,qBAAqB;QACrB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAQ,qBAAqB;QACzE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7E,qEAAqE;QACrE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,kBAAkB,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QACxH,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,GAAc;QACjC,oEAAoE;QACpE,OAAO,IAAI,6BAAa,CACpB,iCAAiB,CAAC,KAAK,EACvB,GAAG,CAAC,KAAK,EACT,0CAA0B,CAAC,SAAS,CACvC,CAAC;IACN,CAAC;IAEO,qBAAqB,CAAC,GAAqB;QAC/C,2EAA2E;QAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtF,MAAM,KAAK,GAAG,IAAI,6BAAa,CAC3B,iCAAiB,CAAC,KAAK,EACvB,IAAI,EACJ,0CAA0B,CAAC,gBAAgB,CAC9C,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,GAAmB;QAC3C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,cAAc,CAAC,CAAC;QAE5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,GAAmB;QAC3C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,cAAc,CAAC,CAAC;QAE5G,uBAAuB;QACvB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7E,8BAA8B;QAC9B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,mCAAmC;QACnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnD,sBAAsB;QACtB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5E,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9E,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,yBAAyB,CAAC,GAAyB;QACvD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,oBAAoB;QACpB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9E,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,sBAAsB,CAAC,GAAsB;QACjD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,iBAAiB,CAAC,CAAC;QAE/G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,8BAA8B,CAAC,GAA8B;QACjE,kDAAkD;QAClD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC1C,OAAO,IAAI,6BAAa,CACpB,iCAAiB,CAAC,KAAK,EACvB,SAAS,GAAG,KAAK,EACjB,0CAA0B,CAAC,yBAAyB,CACvD,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,GAAc;QACjC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,SAAS,CAAC,CAAC;QAEvG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,0BAA0B,CAAC,GAA0B;QACzD,gFAAgF;QAChF,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,qBAAqB,CAAC,CAAC;QAEnH,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAoB;QAC7C,sGAAsG;QACtG,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,mDAAmD;QACnD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAEpF,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxB,qDAAqD;YACrD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,oEAAoE;YACpE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,6BAA6B,CAAC,GAA6B;QAC/D,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,wBAAwB,CAAC,CAAC;QAEtH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,+CAA+C;QAC/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAElH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,GAA2B;QAC3D,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAe;QACnC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;QAExG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iDAAiD;QACjD,IAAI,GAAG,CAAC,KAAK,YAAY,gCAAe,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAiB;QACvC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,8DAA8D;QAC9D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,wCAAwC;QACxC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAe;QACnC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,GAAa;QAC/B,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAe;QACnC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;QAExG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,GAAgB;QACrC,sDAAsD;QACtD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC9E,CAAC;QACD,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnE,mDAAmD;QACnD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAE/D,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,GAAqB;QAC/C,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,gBAAgB,CAAC,CAAC;QAC9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,YAAY,oBAAW,EAAE,CAAC;YACxC,iDAAiD;YACjD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9C,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,yBAAyB;YACzB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,+CAA+C;YAC/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,0BAA0B;YAC1B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,GAAe;QAClC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;QAE1G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,eAAe,CAAC,GAAe;QAClC,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;QAExG,8CAA8C;QAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB,CAAC,GAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE1G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,oBAAoB,CAAC,GAAoB;QAC5C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,mBAAmB,CAAC,GAAmB;QAC1C,gDAAgD;QAChD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,cAAc,CAAC,CAAC;QAE5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,0BAA0B,CAAC,GAA0B;QACxD,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAC3B,iCAAiB,CAAC,SAAS,EAC3B,EAAE,EACF,0CAA0B,CAAC,qBAAqB,CACnD,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAE5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,kBAAkB,CAAC,GAAkB;QACxC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QAEjH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB,CAAC,GAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB,CAAC,GAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,sBAAsB,CAAC,GAAsB;QAChD,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,iBAAiB,CAAC,CAAC;QAE/G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAE5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB,CAAC,GAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAE5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,oBAAoB,CAAC,GAAoB;QAC5C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAE7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,GAAc;QAChC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,0CAA0B,CAAC,SAAS,CAAC,CAAC;QAExG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEnF,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,eAAe,CAAC,GAAe;QAClC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,0CAA0B,CAAC,UAAU,CAAC,CAAC;QAE1G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YAClF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAEzG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,cAAc,CAAC,CAAC;QAC5G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ;IACD,gBAAgB,CAAC,GAAsB;QAC1C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,iBAAiB,CAAC,CAAC;QAE/G,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,mBAAmB,CAAC,GAAmB;QAC1C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,cAAc,CAAC,CAAC;QAC/G,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAElD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAC7G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,MAAM,CAAC,CAAC;QACrG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAC9G,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,GAAgB;QACrC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAEzG,4BAA4B;QAC5B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAErD,sCAAsC;QACtC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAiB;QACvC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,GAAgB;QACrC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,WAAW,CAAC,CAAC;QAEzG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB,CAAC,GAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE9G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,GAAc;QAChC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,0CAA0B,CAAC,YAAY,CAAC,CAAC;QAE3G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,kBAAkB,CAAC,GAAkB;QACxC,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,0CAA0B,CAAC,aAAa,CAAC,CAAC;QAE3G,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,oBAAoB,CAAC,GAAoB;QAC5C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,0CAA0B,CAAC,eAAe,CAAC,CAAC;QAEpH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,qBAAqB,CAAC,GAAqB;QAC9C,MAAM,KAAK,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,cAAc,EAAE,0CAA0B,CAAC,gBAAgB,CAAC,CAAC;QAErK,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,iCAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;;AA5uCL,kDA6uCC;AA5uCG,mCAAmC;AACX,+BAAW,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,AAAlD,CAAmD;AAC9D,+BAAW,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,AAAlD,CAAmD;AAC9D,8CAA0B,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,gBAAgB,EAAE,GAAG,CAAC,AAA7D,CAA8D;AACxF,oCAAgB,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,AAAxD,CAAyD;AACzE,qCAAiB,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,AAAxD,CAAyD;AAC1E,6BAAS,GAAG,IAAI,6BAAa,CAAC,iCAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,AAAhD,CAAiD"}
1
+ {"version":3,"file":"SqlPrintTokenParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlPrintTokenParser.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,13 @@ export declare class TableSchema {
10
10
  */
11
11
  export declare class SchemaCollector implements SqlComponentVisitor<void> {
12
12
  private tableColumnResolver;
13
+ private allowWildcardWithoutResolver;
13
14
  private handlers;
14
15
  private tableSchemas;
15
16
  private visitedNodes;
16
17
  private commonTables;
17
18
  private running;
18
- constructor(tableColumnResolver?: TableColumnResolver | null);
19
+ constructor(tableColumnResolver?: TableColumnResolver | null, allowWildcardWithoutResolver?: boolean);
19
20
  /**
20
21
  * Collects schema information (table names and column names) from a SQL query structure.
21
22
  * This method ensures that the collected schema information is unique and sorted.
@@ -54,5 +55,9 @@ export declare class SchemaCollector implements SqlComponentVisitor<void> {
54
55
  private handleTableSource;
55
56
  private visitSimpleSelectQuery;
56
57
  private visitBinarySelectQuery;
58
+ /**
59
+ * Extract column references from the SELECT clause only
60
+ */
61
+ private getSelectClauseColumns;
57
62
  private processCollectTableSchema;
58
63
  }
@@ -18,8 +18,9 @@ exports.TableSchema = TableSchema;
18
18
  * A visitor that collects schema information (table names and column names) from a SQL query structure.
19
19
  */
20
20
  class SchemaCollector {
21
- constructor(tableColumnResolver = null) {
21
+ constructor(tableColumnResolver = null, allowWildcardWithoutResolver = false) {
22
22
  this.tableColumnResolver = tableColumnResolver;
23
+ this.allowWildcardWithoutResolver = allowWildcardWithoutResolver;
23
24
  this.tableSchemas = [];
24
25
  this.visitedNodes = new Set();
25
26
  this.commonTables = [];
@@ -150,12 +151,61 @@ class SchemaCollector {
150
151
  // Collect columns used in the query
151
152
  const columnCollector = new SelectableColumnCollector_1.SelectableColumnCollector(this.tableColumnResolver, true, SelectableColumnCollector_1.DuplicateDetectionMode.FullName);
152
153
  const columns = columnCollector.collect(query);
153
- const queryColumns = columns.filter((column) => column.value instanceof ValueComponent_1.ColumnReference)
154
- .map(column => column.value)
155
- .map(columnRef => ({
156
- table: columnRef.getNamespace(),
157
- column: columnRef.column.name
158
- }));
154
+ let queryColumns;
155
+ // Only filter JOIN condition columns when allowWildcardWithoutResolver is true
156
+ // This preserves backward compatibility for existing tests
157
+ if (this.allowWildcardWithoutResolver) {
158
+ // Filter to include only columns that are actually selected, not those used in JOIN conditions
159
+ const selectColumns = this.getSelectClauseColumns(query);
160
+ queryColumns = columns.filter((column) => column.value instanceof ValueComponent_1.ColumnReference)
161
+ .map(column => column.value)
162
+ .filter(columnRef => {
163
+ // Only include columns that are either:
164
+ // 1. Explicitly mentioned in SELECT clause (not wildcards)
165
+ // 2. Part of wildcard expansion from SELECT clause (only if we have a resolver)
166
+ const tableName = columnRef.getNamespace();
167
+ const columnName = columnRef.column.name;
168
+ return selectColumns.some(selectCol => {
169
+ if (selectCol.value instanceof ValueComponent_1.ColumnReference) {
170
+ const selectTableName = selectCol.value.getNamespace();
171
+ const selectColumnName = selectCol.value.column.name;
172
+ // Exact match for explicit columns
173
+ if (selectTableName === tableName && selectColumnName === columnName) {
174
+ return true;
175
+ }
176
+ // Wildcard match (table.* or *) - only include if we have a resolver
177
+ if (selectColumnName === "*") {
178
+ // If allowWildcardWithoutResolver is true and no resolver, exclude wildcard expansions
179
+ if (this.allowWildcardWithoutResolver && this.tableColumnResolver === null) {
180
+ return false;
181
+ }
182
+ // Full wildcard (*) matches all tables
183
+ if (selectTableName === "") {
184
+ return true;
185
+ }
186
+ // Table wildcard (table.*) matches specific table
187
+ if (selectTableName === tableName) {
188
+ return true;
189
+ }
190
+ }
191
+ }
192
+ return false;
193
+ });
194
+ })
195
+ .map(columnRef => ({
196
+ table: columnRef.getNamespace(),
197
+ column: columnRef.column.name
198
+ }));
199
+ }
200
+ else {
201
+ // Original behavior: include all columns including JOIN conditions
202
+ queryColumns = columns.filter((column) => column.value instanceof ValueComponent_1.ColumnReference)
203
+ .map(column => column.value)
204
+ .map(columnRef => ({
205
+ table: columnRef.getNamespace(),
206
+ column: columnRef.column.name
207
+ }));
208
+ }
159
209
  // Throw an error if there are columns without table names in queries with joins
160
210
  if (query.fromClause.joins !== null && query.fromClause.joins.length > 0) {
161
211
  const columnsWithoutTable = queryColumns.filter((columnRef) => columnRef.table === "").map((columnRef) => columnRef.column);
@@ -187,14 +237,31 @@ class SchemaCollector {
187
237
  this.visitNode(query.left);
188
238
  this.visitNode(query.right);
189
239
  }
240
+ /**
241
+ * Extract column references from the SELECT clause only
242
+ */
243
+ getSelectClauseColumns(query) {
244
+ if (!query.selectClause) {
245
+ return [];
246
+ }
247
+ const selectColumns = [];
248
+ for (const item of query.selectClause.items) {
249
+ if (item.value instanceof ValueComponent_1.ColumnReference) {
250
+ const columnName = item.value.column.name;
251
+ selectColumns.push({ name: columnName, value: item.value });
252
+ }
253
+ }
254
+ return selectColumns;
255
+ }
190
256
  processCollectTableSchema(tableName, tableAlias, queryColumns, includeUnnamed = false) {
191
- // If a wildcard is present and no resolver is provided, throw an error
257
+ // Check if wildcard is present and handle based on configuration
192
258
  if (this.tableColumnResolver === null) {
193
259
  const hasWildcard = queryColumns
194
260
  .filter((columnRef) => columnRef.table === tableAlias || (includeUnnamed && columnRef.table === ""))
195
261
  .filter((columnRef) => columnRef.column === "*")
196
262
  .length > 0;
197
- if (hasWildcard) {
263
+ // Throw error if wildcard is found and allowWildcardWithoutResolver is false (default behavior)
264
+ if (hasWildcard && !this.allowWildcardWithoutResolver) {
198
265
  const errorMessage = tableName
199
266
  ? `Wildcard (*) is used. A TableColumnResolver is required to resolve wildcards. Target table: ${tableName}`
200
267
  : "Wildcard (*) is used. A TableColumnResolver is required to resolve wildcards.";
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaCollector.js","sourceRoot":"","sources":["../../../src/transformers/SchemaCollector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaCollector.js","sourceRoot":"","sources":["../../../src/transformers/SchemaCollector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { SqlComponent } from '../models/SqlComponent';
2
+ /**
3
+ * Utility class for editing comments on SQL components.
4
+ * Provides functions to add, edit, delete, and search comments in SQL AST.
5
+ */
6
+ export declare class CommentEditor {
7
+ /**
8
+ * Add a comment to a SQL component
9
+ * @param component The SQL component to add comment to
10
+ * @param comment The comment text to add
11
+ */
12
+ static addComment(component: SqlComponent, comment: string): void;
13
+ /**
14
+ * Edit an existing comment by index
15
+ * @param component The SQL component containing the comment
16
+ * @param index The index of the comment to edit (0-based)
17
+ * @param newComment The new comment text
18
+ * @throws Error if index is invalid
19
+ */
20
+ static editComment(component: SqlComponent, index: number, newComment: string): void;
21
+ /**
22
+ * Delete a comment by index
23
+ * @param component The SQL component containing the comment
24
+ * @param index The index of the comment to delete (0-based)
25
+ * @throws Error if index is invalid
26
+ */
27
+ static deleteComment(component: SqlComponent, index: number): void;
28
+ /**
29
+ * Delete all comments from a component
30
+ * @param component The SQL component to clear comments from
31
+ */
32
+ static deleteAllComments(component: SqlComponent): void;
33
+ /**
34
+ * Get all comments from a component
35
+ * @param component The SQL component to get comments from
36
+ * @returns Array of comment strings (empty array if no comments)
37
+ */
38
+ static getComments(component: SqlComponent): string[];
39
+ /**
40
+ * Find all components in the AST that have comments containing the search text
41
+ * @param root The root SQL component to search from
42
+ * @param searchText The text to search for in comments
43
+ * @param caseSensitive Whether the search should be case-sensitive (default: false)
44
+ * @returns Array of components that have matching comments
45
+ */
46
+ static findComponentsWithComment(root: SqlComponent, searchText: string, caseSensitive?: boolean): SqlComponent[];
47
+ /**
48
+ * Replace all occurrences of a text in comments across the entire AST
49
+ * @param root The root SQL component to search and replace in
50
+ * @param searchText The text to search for
51
+ * @param replaceText The text to replace with
52
+ * @param caseSensitive Whether the search should be case-sensitive (default: false)
53
+ * @returns Number of replacements made
54
+ */
55
+ static replaceInComments(root: SqlComponent, searchText: string, replaceText: string, caseSensitive?: boolean): number;
56
+ /**
57
+ * Count total number of comments in the AST
58
+ * @param root The root SQL component to count comments in
59
+ * @returns Total number of comments
60
+ */
61
+ static countComments(root: SqlComponent): number;
62
+ /**
63
+ * Get all comments from the entire AST as a flat array with their source components
64
+ * @param root The root SQL component to extract comments from
65
+ * @returns Array of objects containing comment text and the component they belong to
66
+ */
67
+ static getAllComments(root: SqlComponent): {
68
+ comment: string;
69
+ component: SqlComponent;
70
+ index: number;
71
+ }[];
72
+ }