@codeperfect/eslint-plugin 2.11.0 → 3.1.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 (180) hide show
  1. package/README.md +0 -1
  2. package/dist/application/custom-rules.d.ts +3 -0
  3. package/dist/application/custom-rules.d.ts.map +1 -1
  4. package/dist/application/custom-rules.js +3 -2
  5. package/dist/application/index.d.ts +1 -1
  6. package/dist/application/index.d.ts.map +1 -1
  7. package/dist/application/index.js +2 -2
  8. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  9. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +0 -2
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +4 -6
  12. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
  13. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +12 -15
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -2
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +2 -10
  17. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  18. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +8 -17
  19. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -1
  20. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +6 -8
  21. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  22. package/dist/domain/architecture/consistent-barrel-files/rule.js +4 -5
  23. package/dist/domain/architecture/index.d.ts +1 -0
  24. package/dist/domain/architecture/index.d.ts.map +1 -1
  25. package/dist/domain/architecture/index.js +2 -1
  26. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.d.ts.map +1 -1
  27. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js +6 -13
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -1
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +11 -10
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -1
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +5 -9
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -1
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +6 -9
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -1
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +5 -10
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -1
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +4 -8
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -1
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +4 -5
  40. package/dist/domain/architecture/no-unused-public-members/index.d.ts +2 -0
  41. package/dist/domain/architecture/no-unused-public-members/index.d.ts.map +1 -0
  42. package/dist/domain/architecture/no-unused-public-members/index.js +2 -0
  43. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts +16 -0
  44. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts.map +1 -0
  45. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.js +102 -0
  46. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts +34 -0
  47. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts.map +1 -0
  48. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.js +55 -0
  49. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts +68 -0
  50. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts.map +1 -0
  51. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.js +195 -0
  52. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts +30 -0
  53. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts.map +1 -0
  54. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.js +101 -0
  55. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts +28 -0
  56. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts.map +1 -0
  57. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.js +125 -0
  58. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts +29 -0
  59. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts.map +1 -0
  60. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.js +108 -0
  61. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts +42 -0
  62. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts.map +1 -0
  63. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.js +96 -0
  64. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts +18 -0
  65. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts.map +1 -0
  66. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.js +128 -0
  67. package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts +41 -0
  68. package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts.map +1 -0
  69. package/dist/domain/architecture/no-unused-public-members/member-utilities.js +51 -0
  70. package/dist/domain/architecture/no-unused-public-members/rule.d.ts +5 -0
  71. package/dist/domain/architecture/no-unused-public-members/rule.d.ts.map +1 -0
  72. package/dist/domain/architecture/no-unused-public-members/rule.js +78 -0
  73. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -1
  74. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +13 -19
  75. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  76. package/dist/domain/core/no-multiple-declarators/rule.js +4 -5
  77. package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -1
  78. package/dist/domain/core/no-useless-delegation/rule.js +5 -6
  79. package/dist/domain/core/prefer-interface-types/autofix.js +4 -5
  80. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -1
  81. package/dist/domain/core/prefer-interface-types/rule-utilities.js +7 -9
  82. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  83. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +10 -8
  84. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  85. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +5 -6
  86. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -1
  87. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +7 -9
  88. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  89. package/dist/domain/docs/no-interface-member-docs/rule.js +2 -5
  90. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -1
  91. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +2 -5
  92. package/dist/domain/docs/require-example-language/example-utilities.d.ts +1 -7
  93. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -1
  94. package/dist/domain/docs/require-example-language/example-utilities.js +6 -14
  95. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  96. package/dist/domain/docs/require-example-language/examples.js +7 -16
  97. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  98. package/dist/domain/docs/require-example-language/fixes.js +8 -13
  99. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  100. package/dist/domain/docs/require-example-language/reporting.js +4 -8
  101. package/dist/domain/docs/require-example-language/types.d.ts +0 -2
  102. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  103. package/dist/domain/docs/require-example-language/types.js +1 -1
  104. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
  105. package/dist/domain/docs/single-line-jsdoc/rule.js +5 -11
  106. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -1
  107. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +5 -14
  108. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -1
  109. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +5 -9
  110. package/dist/domain/index.d.ts +2 -2
  111. package/dist/domain/index.d.ts.map +1 -1
  112. package/dist/domain/index.js +3 -3
  113. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  114. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  115. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +2 -5
  116. package/dist/domain/testing/aaa/analyzer.analysis.js +6 -11
  117. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  118. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +5 -14
  119. package/dist/domain/testing/aaa/analyzer.assertions.js +2 -2
  120. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  121. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +12 -16
  122. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
  123. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +11 -21
  124. package/dist/domain/testing/aaa/analyzer.classification.js +2 -2
  125. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  126. package/dist/domain/testing/aaa/analyzer.super.js +5 -6
  127. package/dist/domain/testing/aaa/types.d.ts +0 -4
  128. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  129. package/dist/domain/testing/aaa/types.js +1 -1
  130. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  131. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +2 -7
  132. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  133. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +4 -5
  134. package/dist/domain/testing/index.d.ts +0 -1
  135. package/dist/domain/testing/index.d.ts.map +1 -1
  136. package/dist/domain/testing/index.js +1 -2
  137. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  138. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +9 -7
  139. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  140. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +5 -9
  141. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -1
  142. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +2 -7
  143. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  144. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +5 -5
  145. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +3 -5
  146. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -1
  147. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +13 -18
  148. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +5 -6
  150. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts +0 -2
  151. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -1
  152. package/dist/domain/testing/prefer-vi-mocked-import/types.js +1 -1
  153. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  154. package/dist/domain/testing/require-act-result-capture/rule.js +9 -12
  155. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  156. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +5 -11
  157. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -7
  158. package/dist/domain/testing/require-test-companion/rule.js +2 -2
  159. package/dist/index.d.ts +1 -1
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +2 -2
  162. package/dist/infrastructure/codeperfect-plugin.d.ts +2 -2
  163. package/dist/infrastructure/codeperfect-plugin.js +3 -3
  164. package/dist/infrastructure/presets.js +3 -3
  165. package/package.json +26 -27
  166. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts +0 -2
  167. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts.map +0 -1
  168. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.js +0 -2
  169. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +0 -29
  170. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +0 -1
  171. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +0 -200
  172. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +0 -12
  173. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +0 -1
  174. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +0 -151
  175. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +0 -16
  176. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +0 -1
  177. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +0 -109
  178. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts +0 -5
  179. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +0 -1
  180. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +0 -41
@@ -30,7 +30,6 @@ function analyzeTestBlock(context, node) {
30
30
  phases: getSectionPhases(comment.value),
31
31
  }));
32
32
  return {
33
- body: callback.body,
34
33
  bodyLineCount: callback.body.loc.end.line - callback.body.loc.start.line - 1,
35
34
  callExpression,
36
35
  newline: getNewline(sourceCode.text),
@@ -38,11 +37,7 @@ function analyzeTestBlock(context, node) {
38
37
  sourceText: sourceCode.text,
39
38
  statements: callback.body.body.map((statement) => {
40
39
  const phases = getStatementPhases(statement, sectionComments);
41
- return {
42
- node: statement,
43
- phase: phases.at(-1),
44
- phases,
45
- };
40
+ return { node: statement, phases };
46
41
  }),
47
42
  };
48
43
  }
@@ -79,11 +74,11 @@ function isInsideTopLevelStatement(comment, statements) {
79
74
  return statements.some((statement) => {
80
75
  const statementStartLine = statement.loc?.start.line;
81
76
  const statementEndLine = statement.loc?.end.line;
82
- if (statementStartLine === void 0 || statementEndLine === void 0) {
83
- return false;
84
- }
85
- return commentLine >= statementStartLine && commentLine <= statementEndLine;
77
+ return (statementStartLine !== void 0 &&
78
+ statementEndLine !== void 0 &&
79
+ commentLine >= statementStartLine &&
80
+ commentLine <= statementEndLine);
86
81
  });
87
82
  }
88
83
  export { analyzeTestBlock };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFVbkUscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxPQUFPLEVBR3BDLENBQUM7QUFFSjs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixPQUF5QixFQUN6QixJQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDL0IsTUFBTSxlQUFlLEdBQ25CLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUMxQixNQUFNLENBQ0wsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakQsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzdDO1NBQ0EsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxPQUF5QjtRQUNsQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVSLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDbkIsYUFBYSxFQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQy9ELGNBQWM7UUFDZCxPQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsZUFBZTtRQUNmLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtRQUMzQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzlELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFNBQTBDO2dCQUNoRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsTUFBTTthQUNQLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FDeEIsVUFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELElBQUksY0FBYyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXBELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF1QixFQUN2QixVQUF1QztJQUV2QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFFM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFFakQsSUFBSSxrQkFBa0IsS0FBSyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sV0FBVyxJQUFJLGtCQUFrQixJQUFJLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQztJQUM5RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHR5cGUgeyBMb2NhdGVkQ29tbWVudCwgTG9jYXRlZE5vZGUsIFRlc3RCbG9ja0FuYWx5c2lzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgZ2V0TmV3bGluZSxcbiAgZ2V0U2VjdGlvblBoYXNlcyxcbiAgZ2V0U3RhdGVtZW50UGhhc2VzLFxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCxcbn0gZnJvbSBcIi4vYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHsgaXNMb2NhdGVkQ29tbWVudCwgaXNSYW5nZVdpdGhpbiB9IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XG5cbi8qKiBTb3VyY2UgY29tbWVudCBzaGFwZSByZXR1cm5lZCBieSBFU0xpbnQgZm9yIG9uZSBmaWxlLiAqL1xudHlwZSBBbmFseXplckNvbW1lbnQgPSBSZXR1cm5UeXBlPFxuICBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXVtcImdldEFsbENvbW1lbnRzXCJdXG4+W251bWJlcl07XG5cbi8qKiBFU0xpbnQgc291cmNlLWNvZGUgc2VydmljZSByZWZlcmVuY2UgdXNlZCBmb3IgY29tbWVudCBjYWNoaW5nLiAqL1xudHlwZSBBbmFseXplclNvdXJjZUNvZGUgPSBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXTtcblxuLyoqIE1lbW9pemVkIGNvbW1lbnQgYXJyYXlzIGtleWVkIGJ5IEVTTGludCBzb3VyY2UtY29kZSBpbnN0YW5jZXMuICovXG5jb25zdCBzb3VyY2VDb21tZW50c0NhY2hlID0gbmV3IFdlYWtNYXA8XG4gIEFuYWx5emVyU291cmNlQ29kZSxcbiAgcmVhZG9ubHkgQW5hbHl6ZXJDb21tZW50W11cbj4oKTtcblxuLyoqXG4gKiBBbmFseXplcyBzdXBwb3J0ZWQgQUFBIHRlc3QgYmxvY2tzLlxuICogQHBhcmFtIGNvbnRleHQgSW5wdXQgY29udGV4dCB2YWx1ZS5cbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYW5hbHl6ZVRlc3RCbG9jayhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbm9kZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uLFxuKTogVGVzdEJsb2NrQW5hbHlzaXMgfCB1bmRlZmluZWQge1xuICBjb25zdCB0ZXN0Q2FsbCA9IGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xuICBpZiAodGVzdENhbGwgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCB7IGNhbGxiYWNrLCBjYWxsRXhwcmVzc2lvbiB9ID0gdGVzdENhbGw7XG4gIGNvbnN0IHsgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgY29uc3Qgc2VjdGlvbkNvbW1lbnRzOiBUZXN0QmxvY2tBbmFseXNpc1tcInNlY3Rpb25Db21tZW50c1wiXSA9XG4gICAgZ2V0U291cmNlQ29tbWVudHMoc291cmNlQ29kZSlcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChjb21tZW50KSA9PlxuICAgICAgICAgIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudCkgJiZcbiAgICAgICAgICBjb21tZW50LnR5cGUgPT09IFwiTGluZVwiICYmXG4gICAgICAgICAgaXNSYW5nZVdpdGhpbihjb21tZW50LnJhbmdlLCBjYWxsYmFjay5ib2R5LnJhbmdlKSAmJlxuICAgICAgICAgICFpc0luc2lkZVRvcExldmVsU3RhdGVtZW50KGNvbW1lbnQsIGNhbGxiYWNrLmJvZHkuYm9keSkgJiZcbiAgICAgICAgICBnZXRTZWN0aW9uUGhhc2VzKGNvbW1lbnQudmFsdWUpLmxlbmd0aCA+IDAsXG4gICAgICApXG4gICAgICAubWFwKChjb21tZW50KSA9PiAoe1xuICAgICAgICBjb21tZW50OiBjb21tZW50IGFzIExvY2F0ZWRDb21tZW50LFxuICAgICAgICBwaGFzZXM6IGdldFNlY3Rpb25QaGFzZXMoY29tbWVudC52YWx1ZSksXG4gICAgICB9KSk7XG5cbiAgcmV0dXJuIHtcbiAgICBib2R5OiBjYWxsYmFjay5ib2R5LFxuICAgIGJvZHlMaW5lQ291bnQ6XG4gICAgICBjYWxsYmFjay5ib2R5LmxvYy5lbmQubGluZSAtIGNhbGxiYWNrLmJvZHkubG9jLnN0YXJ0LmxpbmUgLSAxLFxuICAgIGNhbGxFeHByZXNzaW9uLFxuICAgIG5ld2xpbmU6IGdldE5ld2xpbmUoc291cmNlQ29kZS50ZXh0KSxcbiAgICBzZWN0aW9uQ29tbWVudHMsXG4gICAgc291cmNlVGV4dDogc291cmNlQ29kZS50ZXh0LFxuICAgIHN0YXRlbWVudHM6IGNhbGxiYWNrLmJvZHkuYm9keS5tYXAoKHN0YXRlbWVudCkgPT4ge1xuICAgICAgY29uc3QgcGhhc2VzID0gZ2V0U3RhdGVtZW50UGhhc2VzKHN0YXRlbWVudCwgc2VjdGlvbkNvbW1lbnRzKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vZGU6IHN0YXRlbWVudCBhcyBMb2NhdGVkTm9kZTxFU1RyZWUuU3RhdGVtZW50PixcbiAgICAgICAgcGhhc2U6IHBoYXNlcy5hdCgtMSksXG4gICAgICAgIHBoYXNlcyxcbiAgICAgIH07XG4gICAgfSksXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBjYWNoZWQgc291cmNlIGNvbW1lbnRzIGZvciB0aGUgYWN0aXZlIGZpbGUuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBJbnB1dCBzb3VyY2VDb2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRTb3VyY2VDb21tZW50cyhzb3VyY2VDb2RlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRTb3VyY2VDb21tZW50cyhcbiAgc291cmNlQ29kZTogQW5hbHl6ZXJTb3VyY2VDb2RlLFxuKTogcmVhZG9ubHkgQW5hbHl6ZXJDb21tZW50W10ge1xuICBjb25zdCBjYWNoZWRDb21tZW50cyA9IHNvdXJjZUNvbW1lbnRzQ2FjaGUuZ2V0KHNvdXJjZUNvZGUpO1xuICBpZiAoY2FjaGVkQ29tbWVudHMgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjYWNoZWRDb21tZW50cztcbiAgfVxuXG4gIGNvbnN0IGxvYWRlZENvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xuICBzb3VyY2VDb21tZW50c0NhY2hlLnNldChzb3VyY2VDb2RlLCBsb2FkZWRDb21tZW50cyk7XG5cbiAgcmV0dXJuIGxvYWRlZENvbW1lbnRzO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY29tbWVudCBpcyBuZXN0ZWQgaW5zaWRlIG9uZSB0b3AtbGV2ZWwgc3RhdGVtZW50IHJhbmdlLlxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnRzIElucHV0IHN0YXRlbWVudHMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzSW5zaWRlVG9wTGV2ZWxTdGF0ZW1lbnQoY29tbWVudCwgc3RhdGVtZW50cyk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNJbnNpZGVUb3BMZXZlbFN0YXRlbWVudChcbiAgY29tbWVudDogTG9jYXRlZENvbW1lbnQsXG4gIHN0YXRlbWVudHM6IHJlYWRvbmx5IEVTVHJlZS5TdGF0ZW1lbnRbXSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBjb21tZW50TGluZSA9IGNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG5cbiAgcmV0dXJuIHN0YXRlbWVudHMuc29tZSgoc3RhdGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RhcnRMaW5lID0gc3RhdGVtZW50LmxvYz8uc3RhcnQubGluZTtcbiAgICBjb25zdCBzdGF0ZW1lbnRFbmRMaW5lID0gc3RhdGVtZW50LmxvYz8uZW5kLmxpbmU7XG5cbiAgICBpZiAoc3RhdGVtZW50U3RhcnRMaW5lID09PSB2b2lkIDAgfHwgc3RhdGVtZW50RW5kTGluZSA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbW1lbnRMaW5lID49IHN0YXRlbWVudFN0YXJ0TGluZSAmJiBjb21tZW50TGluZSA8PSBzdGF0ZW1lbnRFbmRMaW5lO1xuICB9KTtcbn1cblxuZXhwb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9O1xuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFVbkUscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxPQUFPLEVBR3BDLENBQUM7QUFFSjs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixPQUF5QixFQUN6QixJQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDL0IsTUFBTSxlQUFlLEdBQ25CLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUMxQixNQUFNLENBQ0wsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakQsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzdDO1NBQ0EsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxPQUF5QjtRQUNsQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVSLE9BQU87UUFDTCxhQUFhLEVBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDL0QsY0FBYztRQUNkLE9BQU8sRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNwQyxlQUFlO1FBQ2YsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1FBQzNCLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUEwQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RFLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUE4QjtJQUU5QixNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0QsSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25ELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFcEQsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMseUJBQXlCLENBQ2hDLE9BQXVCLEVBQ3ZCLFVBQXVDO0lBRXZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUUzQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNuQyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNyRCxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQztRQUVqRCxPQUFPLENBQ0wsa0JBQWtCLEtBQUssS0FBSyxDQUFDO1lBQzdCLGdCQUFnQixLQUFLLEtBQUssQ0FBQztZQUMzQixXQUFXLElBQUksa0JBQWtCO1lBQ2pDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FDaEMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IExvY2F0ZWRDb21tZW50LCBMb2NhdGVkTm9kZSwgVGVzdEJsb2NrQW5hbHlzaXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQge1xuICBnZXROZXdsaW5lLFxuICBnZXRTZWN0aW9uUGhhc2VzLFxuICBnZXRTdGF0ZW1lbnRQaGFzZXMsXG4gIGdldFN1cHBvcnRlZFRlc3RDYWxsLFxufSBmcm9tIFwiLi9hbmFseXplci5hbmFseXNpcy5oZWxwZXJzXCI7XG5pbXBvcnQgeyBpc0xvY2F0ZWRDb21tZW50LCBpc1JhbmdlV2l0aGluIH0gZnJvbSBcIi4vYW5hbHl6ZXIuc3VwZXJcIjtcblxuLyoqIFNvdXJjZSBjb21tZW50IHNoYXBlIHJldHVybmVkIGJ5IEVTTGludCBmb3Igb25lIGZpbGUuICovXG50eXBlIEFuYWx5emVyQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIEVTTGludCBzb3VyY2UtY29kZSBzZXJ2aWNlIHJlZmVyZW5jZSB1c2VkIGZvciBjb21tZW50IGNhY2hpbmcuICovXG50eXBlIEFuYWx5emVyU291cmNlQ29kZSA9IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdO1xuXG4vKiogTWVtb2l6ZWQgY29tbWVudCBhcnJheXMga2V5ZWQgYnkgRVNMaW50IHNvdXJjZS1jb2RlIGluc3RhbmNlcy4gKi9cbmNvbnN0IHNvdXJjZUNvbW1lbnRzQ2FjaGUgPSBuZXcgV2Vha01hcDxcbiAgQW5hbHl6ZXJTb3VyY2VDb2RlLFxuICByZWFkb25seSBBbmFseXplckNvbW1lbnRbXVxuPigpO1xuXG4vKipcbiAqIEFuYWx5emVzIHN1cHBvcnRlZCBBQUEgdGVzdCBibG9ja3MuXG4gKiBAcGFyYW0gY29udGV4dCBJbnB1dCBjb250ZXh0IHZhbHVlLlxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYW5hbHl6ZVRlc3RCbG9jayhjb250ZXh0LCBub2RlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBhbmFseXplVGVzdEJsb2NrKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXG4pOiBUZXN0QmxvY2tBbmFseXNpcyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHRlc3RDYWxsID0gZ2V0U3VwcG9ydGVkVGVzdENhbGwobm9kZSk7XG4gIGlmICh0ZXN0Q2FsbCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHsgY2FsbGJhY2ssIGNhbGxFeHByZXNzaW9uIH0gPSB0ZXN0Q2FsbDtcbiAgY29uc3QgeyBzb3VyY2VDb2RlIH0gPSBjb250ZXh0O1xuICBjb25zdCBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdID1cbiAgICBnZXRTb3VyY2VDb21tZW50cyhzb3VyY2VDb2RlKVxuICAgICAgLmZpbHRlcihcbiAgICAgICAgKGNvbW1lbnQpID0+XG4gICAgICAgICAgaXNMb2NhdGVkQ29tbWVudChjb21tZW50KSAmJlxuICAgICAgICAgIGNvbW1lbnQudHlwZSA9PT0gXCJMaW5lXCIgJiZcbiAgICAgICAgICBpc1JhbmdlV2l0aGluKGNvbW1lbnQucmFuZ2UsIGNhbGxiYWNrLmJvZHkucmFuZ2UpICYmXG4gICAgICAgICAgIWlzSW5zaWRlVG9wTGV2ZWxTdGF0ZW1lbnQoY29tbWVudCwgY2FsbGJhY2suYm9keS5ib2R5KSAmJlxuICAgICAgICAgIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudC52YWx1ZSkubGVuZ3RoID4gMCxcbiAgICAgIClcbiAgICAgIC5tYXAoKGNvbW1lbnQpID0+ICh7XG4gICAgICAgIGNvbW1lbnQ6IGNvbW1lbnQgYXMgTG9jYXRlZENvbW1lbnQsXG4gICAgICAgIHBoYXNlczogZ2V0U2VjdGlvblBoYXNlcyhjb21tZW50LnZhbHVlKSxcbiAgICAgIH0pKTtcblxuICByZXR1cm4ge1xuICAgIGJvZHlMaW5lQ291bnQ6XG4gICAgICBjYWxsYmFjay5ib2R5LmxvYy5lbmQubGluZSAtIGNhbGxiYWNrLmJvZHkubG9jLnN0YXJ0LmxpbmUgLSAxLFxuICAgIGNhbGxFeHByZXNzaW9uLFxuICAgIG5ld2xpbmU6IGdldE5ld2xpbmUoc291cmNlQ29kZS50ZXh0KSxcbiAgICBzZWN0aW9uQ29tbWVudHMsXG4gICAgc291cmNlVGV4dDogc291cmNlQ29kZS50ZXh0LFxuICAgIHN0YXRlbWVudHM6IGNhbGxiYWNrLmJvZHkuYm9keS5tYXAoKHN0YXRlbWVudCkgPT4ge1xuICAgICAgY29uc3QgcGhhc2VzID0gZ2V0U3RhdGVtZW50UGhhc2VzKHN0YXRlbWVudCwgc2VjdGlvbkNvbW1lbnRzKTtcbiAgICAgIHJldHVybiB7IG5vZGU6IHN0YXRlbWVudCBhcyBMb2NhdGVkTm9kZTxFU1RyZWUuU3RhdGVtZW50PiwgcGhhc2VzIH07XG4gICAgfSksXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBjYWNoZWQgc291cmNlIGNvbW1lbnRzIGZvciB0aGUgYWN0aXZlIGZpbGUuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBJbnB1dCBzb3VyY2VDb2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRTb3VyY2VDb21tZW50cyhzb3VyY2VDb2RlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRTb3VyY2VDb21tZW50cyhcbiAgc291cmNlQ29kZTogQW5hbHl6ZXJTb3VyY2VDb2RlLFxuKTogcmVhZG9ubHkgQW5hbHl6ZXJDb21tZW50W10ge1xuICBjb25zdCBjYWNoZWRDb21tZW50cyA9IHNvdXJjZUNvbW1lbnRzQ2FjaGUuZ2V0KHNvdXJjZUNvZGUpO1xuICBpZiAoY2FjaGVkQ29tbWVudHMgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjYWNoZWRDb21tZW50cztcbiAgfVxuXG4gIGNvbnN0IGxvYWRlZENvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xuICBzb3VyY2VDb21tZW50c0NhY2hlLnNldChzb3VyY2VDb2RlLCBsb2FkZWRDb21tZW50cyk7XG5cbiAgcmV0dXJuIGxvYWRlZENvbW1lbnRzO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY29tbWVudCBpcyBuZXN0ZWQgaW5zaWRlIG9uZSB0b3AtbGV2ZWwgc3RhdGVtZW50IHJhbmdlLlxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnRzIElucHV0IHN0YXRlbWVudHMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzSW5zaWRlVG9wTGV2ZWxTdGF0ZW1lbnQoY29tbWVudCwgc3RhdGVtZW50cyk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNJbnNpZGVUb3BMZXZlbFN0YXRlbWVudChcbiAgY29tbWVudDogTG9jYXRlZENvbW1lbnQsXG4gIHN0YXRlbWVudHM6IHJlYWRvbmx5IEVTVHJlZS5TdGF0ZW1lbnRbXSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBjb21tZW50TGluZSA9IGNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG5cbiAgcmV0dXJuIHN0YXRlbWVudHMuc29tZSgoc3RhdGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RhcnRMaW5lID0gc3RhdGVtZW50LmxvYz8uc3RhcnQubGluZTtcbiAgICBjb25zdCBzdGF0ZW1lbnRFbmRMaW5lID0gc3RhdGVtZW50LmxvYz8uZW5kLmxpbmU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgc3RhdGVtZW50U3RhcnRMaW5lICE9PSB2b2lkIDAgJiZcbiAgICAgIHN0YXRlbWVudEVuZExpbmUgIT09IHZvaWQgMCAmJlxuICAgICAgY29tbWVudExpbmUgPj0gc3RhdGVtZW50U3RhcnRMaW5lICYmXG4gICAgICBjb21tZW50TGluZSA8PSBzdGF0ZW1lbnRFbmRMaW5lXG4gICAgKTtcbiAgfSk7XG59XG5cbmV4cG9ydCB7IGFuYWx5emVUZXN0QmxvY2sgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.assertions.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAY9D,8DAA8D;AAC9D,UAAU,oBAAoB;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,iBAAiB,GAC1B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAkB7C;AAwBD;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,oBAAoB,CAqBtB;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQ1D;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,OAAO,CAOT;AA4BD;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CA4BpE;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;;GASG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAExE;AAED,2CAA2C;AAC3C,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"analyzer.assertions.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAY9D,8DAA8D;AAC9D,UAAU,oBAAoB;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,iBAAiB,GAC1B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAkB7C;AAwBD;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,oBAAoB,CAqBtB;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQ1D;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,OAAO,CAOT;AA4BD;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CA0BpE;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,CAAC,UAAU,GAAG,SAAS,CAQ/B;AAED;;;;;;;;;GASG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAExE;AAED,2CAA2C;AAC3C,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
@@ -162,15 +162,9 @@ function isValidAssertStatement(statement) {
162
162
  return (!hasEvaluatedAssertionActual(assertionExpression, isActionExpression) ||
163
163
  isAssertionLocalExpression(actual));
164
164
  }
165
- if (statement.type !== "VariableDeclaration") {
166
- return false;
167
- }
168
- return statement.declarations.every((declaration) => {
169
- if (declaration.init === null) {
170
- return true;
171
- }
172
- return !isActionExpression(unwrapExpression(declaration.init));
173
- });
165
+ return (statement.type === "VariableDeclaration" &&
166
+ statement.declarations.every((declaration) => declaration.init === null ||
167
+ !isActionExpression(unwrapExpression(declaration.init))));
174
168
  }
175
169
  /**
176
170
  * Unwraps nested expressions.
@@ -186,10 +180,7 @@ function unwrapExpression(expression) {
186
180
  while (current?.type === "ChainExpression") {
187
181
  current = current.expression;
188
182
  }
189
- if (current?.type === "AwaitExpression") {
190
- return current.argument;
191
- }
192
- return current;
183
+ return current?.type === "AwaitExpression" ? current.argument : current;
193
184
  }
194
185
  /**
195
186
  * Checks AAA naming prefixes.
@@ -206,4 +197,4 @@ function usesPrefix(name, prefix) {
206
197
  }
207
198
  /** Companion marker for test isolation. */
208
199
  export { getAssertDeclaredIdentifiers, getAssertionIdentifiers, getStatementExpression, hasAssertion, isActionExpression, isValidAssertStatement, unwrapExpression, usesPrefix, };
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL2FhYS9hbmFseXplci5hc3NlcnRpb25zLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixlQUFlLEdBQ2hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBVXJEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw0QkFBNEIsQ0FDbkMsUUFBMkI7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBMEMsQ0FBQztJQUM5RSxLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QyxJQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFDN0MsQ0FBQztZQUNELEtBQUssTUFBTSxXQUFXLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztvQkFDekMsbUJBQW1CLENBQUMsR0FBRyxDQUNyQixXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksRUFDbkIsV0FBVyxDQUFDLEVBQW9DLENBQ2pELENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztB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bnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IExvY2F0ZWROb2RlLCBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldEFzc2VydE9wZXJhbmRzLFxuICBnZXRFeHBlY3RPcGVyYW5kcyxcbiAgZ2V0SWRlbnRpZmllck5hbWUsXG4gIGhhc0V2YWx1YXRlZEFzc2VydGlvbkFjdHVhbCxcbiAgaXNBc3NlcnRpb25DYWxsLFxufSBmcm9tIFwiLi9hbmFseXplci5hc3NlcnRpb25zLm9wZXJhbmRzXCI7XG5pbXBvcnQgeyBnZXRFeHByZXNzaW9uTmFtZSB9IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XG5pbXBvcnQgeyB2aXNpdE5vZGUgfSBmcm9tIFwiLi9hbmFseXplci5zdXBlci5oZWxwZXJzXCI7XG5cbi8qKiBJZGVudGlmaWVyIG5hbWVzIGV4dHJhY3RlZCBmcm9tIGFuIGFzc2VydGlvbiBzdGF0ZW1lbnQuICovXG5pbnRlcmZhY2UgQXNzZXJ0aW9uSWRlbnRpZmllcnMge1xuICAvKiogSWRlbnRpZmllciB1c2VkIGFzIHRoZSBhY3R1YWwgdmFsdWUuICovXG4gIGFjdHVhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKiogSWRlbnRpZmllciB1c2VkIGFzIHRoZSBleHBlY3RlZCB2YWx1ZS4gKi9cbiAgZXhwZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyBBc3NlcnQgZGVjbGFyYXRpb25zLlxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKGFuYWx5c2lzKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKFxuICBhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMsXG4pOiBNYXA8c3RyaW5nLCBMb2NhdGVkTm9kZTxFU1RyZWUuSWRlbnRpZmllcj4+IHtcbiAgY29uc3QgZGVjbGFyZWRJZGVudGlmaWVycyA9IG5ldyBNYXA8c3RyaW5nLCBMb2NhdGVkTm9kZTxFU1RyZWUuSWRlbnRpZmllcj4+KCk7XG4gIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGFuYWx5c2lzLnN0YXRlbWVudHMpIHtcbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICBzdGF0ZW1lbnQubm9kZS50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIlxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBkZWNsYXJhdGlvbiBvZiBzdGF0ZW1lbnQubm9kZS5kZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgaWYgKGRlY2xhcmF0aW9uLmlkLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAgICAgZGVjbGFyZWRJZGVudGlmaWVycy5zZXQoXG4gICAgICAgICAgICBkZWNsYXJhdGlvbi5pZC5uYW1lLFxuICAgICAgICAgICAgZGVjbGFyYXRpb24uaWQgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLklkZW50aWZpZXI+LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRlY2xhcmVkSWRlbnRpZmllcnM7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgb3V0ZXIgYXNzZXJ0aW9uIGNhbGwgZXhwcmVzc2lvbiBmb3Igb25lIHN0YXRlbWVudCB3aGVuIHByZXNlbnQuXG4gKiBAcGFyYW0gc3RhdGVtZW50IFN0YXRlbWVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgQXNzZXJ0aW9uIGNhbGwgZXhwcmVzc2lvbiB3aGVuIHRoZSBzdGF0ZW1lbnQgaXMgZXhwcmVzc2lvbi1iYXNlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleHByZXNzaW9uID0gZ2V0QXNzZXJ0aW9uRXhwcmVzc2lvbihzdGF0ZW1lbnQpO1xuICogdm9pZCBleHByZXNzaW9uO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEFzc2VydGlvbkV4cHJlc3Npb24oXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcbik6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgZXhwcmVzc2lvbiA9IHVud3JhcEV4cHJlc3Npb24oc3RhdGVtZW50LmV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBleHByZXNzaW9uPy50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgPyBleHByZXNzaW9uIDogdm9pZCAwO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGFzc2VydGlvbiBpZGVudGlmaWVycy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRBc3NlcnRpb25JZGVudGlmaWVycyhzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEFzc2VydGlvbklkZW50aWZpZXJzKFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQsXG4pOiBBc3NlcnRpb25JZGVudGlmaWVycyB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4geyBhY3R1YWw6IHZvaWQgMCwgZXhwZWN0ZWQ6IHZvaWQgMCB9O1xuICB9XG4gIGNvbnN0IGV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKHN0YXRlbWVudC5leHByZXNzaW9uKTtcbiAgaWYgKGV4cHJlc3Npb24/LnR5cGUgIT09IFwiQ2FsbEV4cHJlc3Npb25cIikge1xuICAgIHJldHVybiB7IGFjdHVhbDogdm9pZCAwLCBleHBlY3RlZDogdm9pZCAwIH07XG4gIH1cblxuICBjb25zdCBleHBlY3RPcGVyYW5kcyA9IGdldEV4cGVjdE9wZXJhbmRzKGV4cHJlc3Npb24pO1xuICBpZiAoZXhwZWN0T3BlcmFuZHMgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhY3R1YWw6IGdldElkZW50aWZpZXJOYW1lKGV4cGVjdE9wZXJhbmRzLmFjdHVhbCksXG4gICAgICBleHBlY3RlZDogZ2V0SWRlbnRpZmllck5hbWUoZXhwZWN0T3BlcmFuZHMuZXhwZWN0ZWQpLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYXNzZXJ0T3BlcmFuZHMgPSBnZXRBc3NlcnRPcGVyYW5kcyhleHByZXNzaW9uKTtcbiAgcmV0dXJuIHtcbiAgICBhY3R1YWw6IGdldElkZW50aWZpZXJOYW1lKGFzc2VydE9wZXJhbmRzPy5hY3R1YWwpLFxuICAgIGV4cGVjdGVkOiBnZXRJZGVudGlmaWVyTmFtZShhc3NlcnRPcGVyYW5kcz8uZXhwZWN0ZWQpLFxuICB9O1xufVxuXG4vKipcbiAqIEdldHMgYSBzdGF0ZW1lbnQgZXhwcmVzc2lvbi5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uKHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0U3RhdGVtZW50RXhwcmVzc2lvbihcbiAgc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50LFxuKTogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiKSB7XG4gICAgcmV0dXJuIHN0YXRlbWVudC5leHByZXNzaW9uO1xuICB9XG4gIGlmIChcbiAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIgJiZcbiAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMVxuICApIHtcbiAgICBjb25zdCBbZGVjbGFyYXRpb25dID0gc3RhdGVtZW50LmRlY2xhcmF0aW9ucztcbiAgICByZXR1cm4gZGVjbGFyYXRpb24/LmluaXQgPz8gdm9pZCAwO1xuICB9XG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciBhc3NlcnRpb25zLlxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgbGV0IGlzQXNzZXJ0aW9uRm91bmQgPSBmYWxzZTtcbiAgdmlzaXROb2RlKHN0YXRlbWVudCwgKG5vZGUpID0+IHtcbiAgICBpZiAobm9kZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgJiYgaXNBc3NlcnRpb25DYWxsKG5vZGUpKSB7XG4gICAgICBpc0Fzc2VydGlvbkZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gaXNBc3NlcnRpb25Gb3VuZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIGFjdGlvbiBleHByZXNzaW9ucy5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzQWN0aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc0FjdGlvbkV4cHJlc3Npb24oXG4gIGV4cHJlc3Npb246IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHVud3JhcHBlZEV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICByZXR1cm4gKFxuICAgIHVud3JhcHBlZEV4cHJlc3Npb24/LnR5cGUgPT09IFwiQXdhaXRFeHByZXNzaW9uXCIgfHxcbiAgICB1bndyYXBwZWRFeHByZXNzaW9uPy50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgfHxcbiAgICB1bndyYXBwZWRFeHByZXNzaW9uPy50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIlxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGFzc2VydGlvbiBhY3R1YWwgaXMgYSBsb2NhbCBjb2xsZWN0aW9uIHF1ZXJ5LlxuICogQHBhcmFtIGV4cHJlc3Npb24gQXNzZXJ0aW9uIGFjdHVhbCBleHByZXNzaW9uLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBleHByZXNzaW9uIGlzIGEgbG9jYWwgY29sbGVjdGlvbiBxdWVyeS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0Fzc2VydGlvbkxvY2FsRXhwcmVzc2lvbih7fSBhcyBFU1RyZWUuRXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNBc3NlcnRpb25Mb2NhbEV4cHJlc3Npb24oXG4gIGV4cHJlc3Npb246IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1ldGhvZE5hbWUgPVxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiXG4gICAgICA/IGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24uY2FsbGVlKVxuICAgICAgOiB2b2lkIDA7XG5cbiAgcmV0dXJuIChcbiAgICBtZXRob2ROYW1lICE9PSB2b2lkIDAgJiZcbiAgICBbXCJldmVyeVwiLCBcImZpbHRlclwiLCBcImZpbmRcIiwgXCJnZXRcIiwgXCJpbmNsdWRlc1wiLCBcIm1hcFwiLCBcInNvbWVcIl0uaW5jbHVkZXMoXG4gICAgICBtZXRob2ROYW1lLFxuICAgIClcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgQXNzZXJ0IHN0YXRlbWVudCB2YWxpZGl0eS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1ZhbGlkQXNzZXJ0U3RhdGVtZW50KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZEFzc2VydFN0YXRlbWVudChzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQpKSB7XG4gICAgY29uc3QgYXNzZXJ0aW9uRXhwcmVzc2lvbiA9IGdldEFzc2VydGlvbkV4cHJlc3Npb24oc3RhdGVtZW50KTtcblxuICAgIGlmIChhc3NlcnRpb25FeHByZXNzaW9uID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IG9wZXJhbmRzID1cbiAgICAgIGdldEV4cGVjdE9wZXJhbmRzKGFzc2VydGlvbkV4cHJlc3Npb24pID8/XG4gICAgICBnZXRBc3NlcnRPcGVyYW5kcyhhc3NlcnRpb25FeHByZXNzaW9uKTtcbiAgICBjb25zdCBhY3R1YWwgPSBvcGVyYW5kcz8uYWN0dWFsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICFoYXNFdmFsdWF0ZWRBc3NlcnRpb25BY3R1YWwoYXNzZXJ0aW9uRXhwcmVzc2lvbiwgaXNBY3Rpb25FeHByZXNzaW9uKSB8fFxuICAgICAgaXNBc3NlcnRpb25Mb2NhbEV4cHJlc3Npb24oYWN0dWFsKVxuICAgICk7XG4gIH1cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnQuZGVjbGFyYXRpb25zLmV2ZXJ5KChkZWNsYXJhdGlvbikgPT4ge1xuICAgIGlmIChkZWNsYXJhdGlvbi5pbml0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICFpc0FjdGlvbkV4cHJlc3Npb24odW53cmFwRXhwcmVzc2lvbihkZWNsYXJhdGlvbi5pbml0KSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFVud3JhcHMgbmVzdGVkIGV4cHJlc3Npb25zLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdW53cmFwRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB1bndyYXBFeHByZXNzaW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcbiAgbGV0IGN1cnJlbnQgPSBleHByZXNzaW9uO1xuXG4gIHdoaWxlIChjdXJyZW50Py50eXBlID09PSBcIkNoYWluRXhwcmVzc2lvblwiKSB7XG4gICAgY3VycmVudCA9IGN1cnJlbnQuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGlmIChjdXJyZW50Py50eXBlID09PSBcIkF3YWl0RXhwcmVzc2lvblwiKSB7XG4gICAgcmV0dXJuIGN1cnJlbnQuYXJndW1lbnQ7XG4gIH1cblxuICByZXR1cm4gY3VycmVudDtcbn1cblxuLyoqXG4gKiBDaGVja3MgQUFBIG5hbWluZyBwcmVmaXhlcy5cbiAqIEBwYXJhbSBuYW1lIElucHV0IG5hbWUgdmFsdWUuXG4gKiBAcGFyYW0gcHJlZml4IElucHV0IHByZWZpeCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdXNlc1ByZWZpeChcImFjdHVhbFJlc3VsdFwiLCBcImFjdHVhbFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB1c2VzUHJlZml4KG5hbWU6IHN0cmluZywgcHJlZml4OiBcImFjdHVhbFwiIHwgXCJleHBlY3RlZFwiKTogYm9vbGVhbiB7XG4gIHJldHVybiBuYW1lID09PSBwcmVmaXggfHwgbmFtZS5zdGFydHNXaXRoKHByZWZpeCk7XG59XG5cbi8qKiBDb21wYW5pb24gbWFya2VyIGZvciB0ZXN0IGlzb2xhdGlvbi4gKi9cbmV4cG9ydCB7XG4gIGdldEFzc2VydERlY2xhcmVkSWRlbnRpZmllcnMsXG4gIGdldEFzc2VydGlvbklkZW50aWZpZXJzLFxuICBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uLFxuICBoYXNBc3NlcnRpb24sXG4gIGlzQWN0aW9uRXhwcmVzc2lvbixcbiAgaXNWYWxpZEFzc2VydFN0YXRlbWVudCxcbiAgdW53cmFwRXhwcmVzc2lvbixcbiAgdXNlc1ByZWZpeCxcbn07XG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL2FhYS9hbmFseXplci5hc3NlcnRpb25zLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixlQUFlLEdBQ2hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBVXJEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw0QkFBNEIsQ0FDbkMsUUFBMkI7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBMEMsQ0FBQztJQUM5RSxLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QyxJQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFDN0MsQ0FBQztZQUNELEtBQUssTUFBTSxXQUFXLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztvQkFDekMsbUJBQW1CLENBQUMsR0FBRyxDQUNyQixXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksRUFDbkIsV0FBVyxDQUFDLEVBQW9DLENBQ2pELENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztB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QUNuQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sQ0FDTCxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtRQUN4QyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDMUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNkLFdBQVcsQ0FBQyxJQUFJLEtBQUssSUFBSTtZQUN6QixDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRCxDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixVQUF5QztJQUV6QyxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFFekIsT0FBTyxPQUFPLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDM0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sT0FBTyxFQUFFLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQzFFLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLFVBQVUsQ0FBQyxJQUFZLEVBQUUsTUFBNkI7SUFDN0QsT0FBTyxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELDJDQUEyQztBQUMzQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IExvY2F0ZWROb2RlLCBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldEFzc2VydE9wZXJhbmRzLFxuICBnZXRFeHBlY3RPcGVyYW5kcyxcbiAgZ2V0SWRlbnRpZmllck5hbWUsXG4gIGhhc0V2YWx1YXRlZEFzc2VydGlvbkFjdHVhbCxcbiAgaXNBc3NlcnRpb25DYWxsLFxufSBmcm9tIFwiLi9hbmFseXplci5hc3NlcnRpb25zLm9wZXJhbmRzXCI7XG5pbXBvcnQgeyBnZXRFeHByZXNzaW9uTmFtZSB9IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XG5pbXBvcnQgeyB2aXNpdE5vZGUgfSBmcm9tIFwiLi9hbmFseXplci5zdXBlci5oZWxwZXJzXCI7XG5cbi8qKiBJZGVudGlmaWVyIG5hbWVzIGV4dHJhY3RlZCBmcm9tIGFuIGFzc2VydGlvbiBzdGF0ZW1lbnQuICovXG5pbnRlcmZhY2UgQXNzZXJ0aW9uSWRlbnRpZmllcnMge1xuICAvKiogSWRlbnRpZmllciB1c2VkIGFzIHRoZSBhY3R1YWwgdmFsdWUuICovXG4gIGFjdHVhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKiogSWRlbnRpZmllciB1c2VkIGFzIHRoZSBleHBlY3RlZCB2YWx1ZS4gKi9cbiAgZXhwZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyBBc3NlcnQgZGVjbGFyYXRpb25zLlxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKGFuYWx5c2lzKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKFxuICBhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMsXG4pOiBNYXA8c3RyaW5nLCBMb2NhdGVkTm9kZTxFU1RyZWUuSWRlbnRpZmllcj4+IHtcbiAgY29uc3QgZGVjbGFyZWRJZGVudGlmaWVycyA9IG5ldyBNYXA8c3RyaW5nLCBMb2NhdGVkTm9kZTxFU1RyZWUuSWRlbnRpZmllcj4+KCk7XG4gIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGFuYWx5c2lzLnN0YXRlbWVudHMpIHtcbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICBzdGF0ZW1lbnQubm9kZS50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIlxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBkZWNsYXJhdGlvbiBvZiBzdGF0ZW1lbnQubm9kZS5kZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgaWYgKGRlY2xhcmF0aW9uLmlkLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAgICAgZGVjbGFyZWRJZGVudGlmaWVycy5zZXQoXG4gICAgICAgICAgICBkZWNsYXJhdGlvbi5pZC5uYW1lLFxuICAgICAgICAgICAgZGVjbGFyYXRpb24uaWQgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLklkZW50aWZpZXI+LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRlY2xhcmVkSWRlbnRpZmllcnM7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgb3V0ZXIgYXNzZXJ0aW9uIGNhbGwgZXhwcmVzc2lvbiBmb3Igb25lIHN0YXRlbWVudCB3aGVuIHByZXNlbnQuXG4gKiBAcGFyYW0gc3RhdGVtZW50IFN0YXRlbWVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgQXNzZXJ0aW9uIGNhbGwgZXhwcmVzc2lvbiB3aGVuIHRoZSBzdGF0ZW1lbnQgaXMgZXhwcmVzc2lvbi1iYXNlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleHByZXNzaW9uID0gZ2V0QXNzZXJ0aW9uRXhwcmVzc2lvbihzdGF0ZW1lbnQpO1xuICogdm9pZCBleHByZXNzaW9uO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEFzc2VydGlvbkV4cHJlc3Npb24oXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcbik6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgZXhwcmVzc2lvbiA9IHVud3JhcEV4cHJlc3Npb24oc3RhdGVtZW50LmV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBleHByZXNzaW9uPy50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgPyBleHByZXNzaW9uIDogdm9pZCAwO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGFzc2VydGlvbiBpZGVudGlmaWVycy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRBc3NlcnRpb25JZGVudGlmaWVycyhzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEFzc2VydGlvbklkZW50aWZpZXJzKFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQsXG4pOiBBc3NlcnRpb25JZGVudGlmaWVycyB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4geyBhY3R1YWw6IHZvaWQgMCwgZXhwZWN0ZWQ6IHZvaWQgMCB9O1xuICB9XG4gIGNvbnN0IGV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKHN0YXRlbWVudC5leHByZXNzaW9uKTtcbiAgaWYgKGV4cHJlc3Npb24/LnR5cGUgIT09IFwiQ2FsbEV4cHJlc3Npb25cIikge1xuICAgIHJldHVybiB7IGFjdHVhbDogdm9pZCAwLCBleHBlY3RlZDogdm9pZCAwIH07XG4gIH1cblxuICBjb25zdCBleHBlY3RPcGVyYW5kcyA9IGdldEV4cGVjdE9wZXJhbmRzKGV4cHJlc3Npb24pO1xuICBpZiAoZXhwZWN0T3BlcmFuZHMgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhY3R1YWw6IGdldElkZW50aWZpZXJOYW1lKGV4cGVjdE9wZXJhbmRzLmFjdHVhbCksXG4gICAgICBleHBlY3RlZDogZ2V0SWRlbnRpZmllck5hbWUoZXhwZWN0T3BlcmFuZHMuZXhwZWN0ZWQpLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYXNzZXJ0T3BlcmFuZHMgPSBnZXRBc3NlcnRPcGVyYW5kcyhleHByZXNzaW9uKTtcbiAgcmV0dXJuIHtcbiAgICBhY3R1YWw6IGdldElkZW50aWZpZXJOYW1lKGFzc2VydE9wZXJhbmRzPy5hY3R1YWwpLFxuICAgIGV4cGVjdGVkOiBnZXRJZGVudGlmaWVyTmFtZShhc3NlcnRPcGVyYW5kcz8uZXhwZWN0ZWQpLFxuICB9O1xufVxuXG4vKipcbiAqIEdldHMgYSBzdGF0ZW1lbnQgZXhwcmVzc2lvbi5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uKHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0U3RhdGVtZW50RXhwcmVzc2lvbihcbiAgc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50LFxuKTogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiKSB7XG4gICAgcmV0dXJuIHN0YXRlbWVudC5leHByZXNzaW9uO1xuICB9XG4gIGlmIChcbiAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIgJiZcbiAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMVxuICApIHtcbiAgICBjb25zdCBbZGVjbGFyYXRpb25dID0gc3RhdGVtZW50LmRlY2xhcmF0aW9ucztcbiAgICByZXR1cm4gZGVjbGFyYXRpb24/LmluaXQgPz8gdm9pZCAwO1xuICB9XG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciBhc3NlcnRpb25zLlxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgbGV0IGlzQXNzZXJ0aW9uRm91bmQgPSBmYWxzZTtcbiAgdmlzaXROb2RlKHN0YXRlbWVudCwgKG5vZGUpID0+IHtcbiAgICBpZiAobm9kZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgJiYgaXNBc3NlcnRpb25DYWxsKG5vZGUpKSB7XG4gICAgICBpc0Fzc2VydGlvbkZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gaXNBc3NlcnRpb25Gb3VuZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIGFjdGlvbiBleHByZXNzaW9ucy5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzQWN0aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc0FjdGlvbkV4cHJlc3Npb24oXG4gIGV4cHJlc3Npb246IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHVud3JhcHBlZEV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICByZXR1cm4gKFxuICAgIHVud3JhcHBlZEV4cHJlc3Npb24/LnR5cGUgPT09IFwiQXdhaXRFeHByZXNzaW9uXCIgfHxcbiAgICB1bndyYXBwZWRFeHByZXNzaW9uPy50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgfHxcbiAgICB1bndyYXBwZWRFeHByZXNzaW9uPy50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIlxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGFzc2VydGlvbiBhY3R1YWwgaXMgYSBsb2NhbCBjb2xsZWN0aW9uIHF1ZXJ5LlxuICogQHBhcmFtIGV4cHJlc3Npb24gQXNzZXJ0aW9uIGFjdHVhbCBleHByZXNzaW9uLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBleHByZXNzaW9uIGlzIGEgbG9jYWwgY29sbGVjdGlvbiBxdWVyeS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0Fzc2VydGlvbkxvY2FsRXhwcmVzc2lvbih7fSBhcyBFU1RyZWUuRXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNBc3NlcnRpb25Mb2NhbEV4cHJlc3Npb24oXG4gIGV4cHJlc3Npb246IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1ldGhvZE5hbWUgPVxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiXG4gICAgICA/IGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24uY2FsbGVlKVxuICAgICAgOiB2b2lkIDA7XG5cbiAgcmV0dXJuIChcbiAgICBtZXRob2ROYW1lICE9PSB2b2lkIDAgJiZcbiAgICBbXCJldmVyeVwiLCBcImZpbHRlclwiLCBcImZpbmRcIiwgXCJnZXRcIiwgXCJpbmNsdWRlc1wiLCBcIm1hcFwiLCBcInNvbWVcIl0uaW5jbHVkZXMoXG4gICAgICBtZXRob2ROYW1lLFxuICAgIClcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgQXNzZXJ0IHN0YXRlbWVudCB2YWxpZGl0eS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1ZhbGlkQXNzZXJ0U3RhdGVtZW50KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZEFzc2VydFN0YXRlbWVudChzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKGhhc0Fzc2VydGlvbihzdGF0ZW1lbnQpKSB7XG4gICAgY29uc3QgYXNzZXJ0aW9uRXhwcmVzc2lvbiA9IGdldEFzc2VydGlvbkV4cHJlc3Npb24oc3RhdGVtZW50KTtcblxuICAgIGlmIChhc3NlcnRpb25FeHByZXNzaW9uID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IG9wZXJhbmRzID1cbiAgICAgIGdldEV4cGVjdE9wZXJhbmRzKGFzc2VydGlvbkV4cHJlc3Npb24pID8/XG4gICAgICBnZXRBc3NlcnRPcGVyYW5kcyhhc3NlcnRpb25FeHByZXNzaW9uKTtcbiAgICBjb25zdCBhY3R1YWwgPSBvcGVyYW5kcz8uYWN0dWFsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICFoYXNFdmFsdWF0ZWRBc3NlcnRpb25BY3R1YWwoYXNzZXJ0aW9uRXhwcmVzc2lvbiwgaXNBY3Rpb25FeHByZXNzaW9uKSB8fFxuICAgICAgaXNBc3NlcnRpb25Mb2NhbEV4cHJlc3Npb24oYWN0dWFsKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIgJiZcbiAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb25zLmV2ZXJ5KFxuICAgICAgKGRlY2xhcmF0aW9uKSA9PlxuICAgICAgICBkZWNsYXJhdGlvbi5pbml0ID09PSBudWxsIHx8XG4gICAgICAgICFpc0FjdGlvbkV4cHJlc3Npb24odW53cmFwRXhwcmVzc2lvbihkZWNsYXJhdGlvbi5pbml0KSksXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIFVud3JhcHMgbmVzdGVkIGV4cHJlc3Npb25zLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdW53cmFwRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB1bndyYXBFeHByZXNzaW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcbiAgbGV0IGN1cnJlbnQgPSBleHByZXNzaW9uO1xuXG4gIHdoaWxlIChjdXJyZW50Py50eXBlID09PSBcIkNoYWluRXhwcmVzc2lvblwiKSB7XG4gICAgY3VycmVudCA9IGN1cnJlbnQuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHJldHVybiBjdXJyZW50Py50eXBlID09PSBcIkF3YWl0RXhwcmVzc2lvblwiID8gY3VycmVudC5hcmd1bWVudCA6IGN1cnJlbnQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIEFBQSBuYW1pbmcgcHJlZml4ZXMuXG4gKiBAcGFyYW0gbmFtZSBJbnB1dCBuYW1lIHZhbHVlLlxuICogQHBhcmFtIHByZWZpeCBJbnB1dCBwcmVmaXggdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHVzZXNQcmVmaXgoXCJhY3R1YWxSZXN1bHRcIiwgXCJhY3R1YWxcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gdXNlc1ByZWZpeChuYW1lOiBzdHJpbmcsIHByZWZpeDogXCJhY3R1YWxcIiB8IFwiZXhwZWN0ZWRcIik6IGJvb2xlYW4ge1xuICByZXR1cm4gbmFtZSA9PT0gcHJlZml4IHx8IG5hbWUuc3RhcnRzV2l0aChwcmVmaXgpO1xufVxuXG4vKiogQ29tcGFuaW9uIG1hcmtlciBmb3IgdGVzdCBpc29sYXRpb24uICovXG5leHBvcnQge1xuICBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzLFxuICBnZXRBc3NlcnRpb25JZGVudGlmaWVycyxcbiAgZ2V0U3RhdGVtZW50RXhwcmVzc2lvbixcbiAgaGFzQXNzZXJ0aW9uLFxuICBpc0FjdGlvbkV4cHJlc3Npb24sXG4gIGlzVmFsaWRBc3NlcnRTdGF0ZW1lbnQsXG4gIHVud3JhcEV4cHJlc3Npb24sXG4gIHVzZXNQcmVmaXgsXG59O1xuIl19
@@ -1,4 +1,4 @@
1
1
  /** Companion module retained for companion-spec enforcement after wrapper export removal. */
2
2
  const analyzerAssertionsModuleCompanion = void 0;
3
- JSON.stringify(analyzerAssertionsModuleCompanion);
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYXNzZXJ0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSw2RkFBNkY7QUFDN0YsTUFBTSxpQ0FBaUMsR0FBa0MsS0FBSyxDQUFDLENBQUM7QUFFaEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBDb21wYW5pb24gbW9kdWxlIHJldGFpbmVkIGZvciBjb21wYW5pb24tc3BlYyBlbmZvcmNlbWVudCBhZnRlciB3cmFwcGVyIGV4cG9ydCByZW1vdmFsLiAqL1xuY29uc3QgYW5hbHl6ZXJBc3NlcnRpb25zTW9kdWxlQ29tcGFuaW9uOiBUZXN0QmxvY2tBbmFseXNpcyB8IHVuZGVmaW5lZCA9IHZvaWQgMDtcblxuSlNPTi5zdHJpbmdpZnkoYW5hbHl6ZXJBc3NlcnRpb25zTW9kdWxlQ29tcGFuaW9uKTtcbiJdfQ==
3
+ String(analyzerAssertionsModuleCompanion);
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYXNzZXJ0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSw2RkFBNkY7QUFDN0YsTUFBTSxpQ0FBaUMsR0FBa0MsS0FBSyxDQUFDLENBQUM7QUFFaEYsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlc3RCbG9ja0FuYWx5c2lzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIENvbXBhbmlvbiBtb2R1bGUgcmV0YWluZWQgZm9yIGNvbXBhbmlvbi1zcGVjIGVuZm9yY2VtZW50IGFmdGVyIHdyYXBwZXIgZXhwb3J0IHJlbW92YWwuICovXG5jb25zdCBhbmFseXplckFzc2VydGlvbnNNb2R1bGVDb21wYW5pb246IFRlc3RCbG9ja0FuYWx5c2lzIHwgdW5kZWZpbmVkID0gdm9pZCAwO1xuXG5TdHJpbmcoYW5hbHl6ZXJBc3NlcnRpb25zTW9kdWxlQ29tcGFuaW9uKTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.assertions.operands.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.operands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,+DAA+D;AAC/D,UAAU,iBAAiB;IACzB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,cAAc,GAChC,iBAAiB,GAAG,SAAS,CAe/B;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,cAAc,GAChC,iBAAiB,GAAG,SAAS,CA4B/B;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;;;;;GAUG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,CAAC,cAAc,EACjC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,KAAK,OAAO,GACzE,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAsB7D;AAED,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"analyzer.assertions.operands.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.operands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,+DAA+D;AAC/D,UAAU,iBAAiB;IACzB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,cAAc,GAChC,iBAAiB,GAAG,SAAS,CAe/B;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,cAAc,GAChC,iBAAiB,GAAG,SAAS,CA6B/B;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;;;;;GAUG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,CAAC,cAAc,EACjC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,KAAK,OAAO,GACzE,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAU7D;AAED,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,GAChB,CAAC"}
@@ -32,9 +32,10 @@ function getExpectOperands(expression) {
32
32
  if (expression.callee.type === "Identifier" &&
33
33
  expression.callee.name === "expect") {
34
34
  const [actual] = expression.arguments;
35
- return actual?.type === "SpreadElement"
36
- ? { actual: void 0, expected: void 0 }
37
- : { actual, expected: void 0 };
35
+ return {
36
+ actual: actual?.type === "SpreadElement" ? void 0 : actual,
37
+ expected: void 0,
38
+ };
38
39
  }
39
40
  if (expression.callee.type === "MemberExpression" &&
40
41
  expression.callee.object.type === "CallExpression") {
@@ -86,18 +87,13 @@ function hasEvaluatedAssertionActual(expression, isActionExpression) {
86
87
  * ```
87
88
  */
88
89
  function isAssertionCall(node) {
89
- if (node.callee.type === "Identifier") {
90
- return ["assert", "assertType", "expect", "expectTypeOf"].includes(node.callee.name);
91
- }
92
- if (node.callee.type !== "MemberExpression") {
93
- return false;
94
- }
95
- if (node.callee.object.type === "Identifier" &&
96
- node.callee.object.name === "assert") {
97
- return true;
98
- }
99
- return (node.callee.object.type === "CallExpression" &&
100
- isAssertionCall(node.callee.object));
90
+ return node.callee.type === "Identifier"
91
+ ? ["assert", "assertType", "expect", "expectTypeOf"].includes(node.callee.name)
92
+ : node.callee.type === "MemberExpression" &&
93
+ ((node.callee.object.type === "Identifier" &&
94
+ node.callee.object.name === "assert") ||
95
+ (node.callee.object.type === "CallExpression" &&
96
+ isAssertionCall(node.callee.object)));
101
97
  }
102
98
  export { getAssertOperands, getExpectOperands, getIdentifierName, hasEvaluatedAssertionActual, isAssertionCall, };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5vcGVyYW5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYXNzZXJ0aW9ucy5vcGVyYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsaUJBQWlCLENBQ3hCLFVBQWlDO0lBRWpDLElBQ0UsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO1FBQzlDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQzFDLENBQUM7UUFDRCxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFDRSxNQUFNLEVBQUUsSUFBSSxLQUFLLGVBQWU7WUFDaEMsUUFBUSxFQUFFLElBQUksS0FBSyxlQUFlLEVBQ2xDLENBQUM7WUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUFpQztJQUVqQyxJQUNFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDdkMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUNuQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsT0FBTyxNQUFNLEVBQUUsSUFBSSxLQUFLLGVBQWU7WUFDckMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN0QyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQ0UsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFDbEQsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUV4QyxPQUFPLFFBQVEsRUFBRSxJQUFJLEtBQUssZUFBZTtZQUN2QyxDQUFDLENBQUMsY0FBYztZQUNoQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUF5QztJQUV6QyxPQUFPLFVBQVUsRUFBRSxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQVMsMkJBQTJCLENBQ2xDLFVBQWlDLEVBQ2pDLGtCQUEwRTtJQUUxRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRSxPQUFPLFFBQVEsS0FBSyxLQUFLLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxlQUFlLENBQUMsSUFBMkI7SUFDbEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWTtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUNwQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0I7UUFDNUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQ3BDLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixlQUFlLEdBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbi8qKiBSYXcgYXNzZXJ0aW9uIG9wZXJhbmRzIGV4dHJhY3RlZCBmcm9tIGEgY2FsbCBleHByZXNzaW9uLiAqL1xuaW50ZXJmYWNlIEFzc2VydGlvbk9wZXJhbmRzIHtcbiAgLyoqIEV4cHJlc3Npb24gdXNlZCBhcyB0aGUgYWN0dWFsIG9wZXJhbmQuICovXG4gIGFjdHVhbDogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQ7XG4gIC8qKiBFeHByZXNzaW9uIHVzZWQgYXMgdGhlIGV4cGVjdGVkIG9wZXJhbmQuICovXG4gIGV4cGVjdGVkOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBHZXRzIGFzc2VydCBvcGVyYW5kcy5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldEFzc2VydE9wZXJhbmRzKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEFzc2VydE9wZXJhbmRzKFxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXG4pOiBBc3NlcnRpb25PcGVyYW5kcyB8IHVuZGVmaW5lZCB7XG4gIGlmIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC5uYW1lID09PSBcImFzc2VydFwiXG4gICkge1xuICAgIGNvbnN0IFthY3R1YWwsIGV4cGVjdGVkXSA9IGV4cHJlc3Npb24uYXJndW1lbnRzO1xuICAgIGlmIChcbiAgICAgIGFjdHVhbD8udHlwZSAhPT0gXCJTcHJlYWRFbGVtZW50XCIgJiZcbiAgICAgIGV4cGVjdGVkPy50eXBlICE9PSBcIlNwcmVhZEVsZW1lbnRcIlxuICAgICkge1xuICAgICAgcmV0dXJuIHsgYWN0dWFsLCBleHBlY3RlZCB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vKipcbiAqIEdldHMgZXhwZWN0IG9wZXJhbmRzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0RXhwZWN0T3BlcmFuZHMoZXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0RXhwZWN0T3BlcmFuZHMoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcbik6IEFzc2VydGlvbk9wZXJhbmRzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUubmFtZSA9PT0gXCJleHBlY3RcIlxuICApIHtcbiAgICBjb25zdCBbYWN0dWFsXSA9IGV4cHJlc3Npb24uYXJndW1lbnRzO1xuICAgIHJldHVybiBhY3R1YWw/LnR5cGUgPT09IFwiU3ByZWFkRWxlbWVudFwiXG4gICAgICA/IHsgYWN0dWFsOiB2b2lkIDAsIGV4cGVjdGVkOiB2b2lkIDAgfVxuICAgICAgOiB7IGFjdHVhbCwgZXhwZWN0ZWQ6IHZvaWQgMCB9O1xuICB9XG5cbiAgaWYgKFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUub2JqZWN0LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIlxuICApIHtcbiAgICBjb25zdCBuZXN0ZWRPcGVyYW5kcyA9IGdldEV4cGVjdE9wZXJhbmRzKGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdCk7XG4gICAgaWYgKG5lc3RlZE9wZXJhbmRzID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgY29uc3QgW2V4cGVjdGVkXSA9IGV4cHJlc3Npb24uYXJndW1lbnRzO1xuXG4gICAgcmV0dXJuIGV4cGVjdGVkPy50eXBlID09PSBcIlNwcmVhZEVsZW1lbnRcIlxuICAgICAgPyBuZXN0ZWRPcGVyYW5kc1xuICAgICAgOiB7IGFjdHVhbDogbmVzdGVkT3BlcmFuZHMuYWN0dWFsLCBleHBlY3RlZCB9O1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn1cblxuLyoqXG4gKiBHZXRzIGFuIGlkZW50aWZpZXIgbmFtZS5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldElkZW50aWZpZXJOYW1lKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldElkZW50aWZpZXJOYW1lKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBleHByZXNzaW9uPy50eXBlID09PSBcIklkZW50aWZpZXJcIiA/IGV4cHJlc3Npb24ubmFtZSA6IHZvaWQgMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBhc3NlcnRpb24gZXZhbHVhdGVzIHRoZSBhY3R1YWwgb3BlcmFuZCBpbmxpbmUuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBBc3NlcnRpb24gY2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcGFyYW0gaXNBY3Rpb25FeHByZXNzaW9uIFByZWRpY2F0ZSB0aGF0IGlkZW50aWZpZXMgYWN0aW9uLWxpa2UgZXhwcmVzc2lvbnMuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGFzc2VydGlvbiBhY3R1YWwgb3BlcmFuZCBwZXJmb3JtcyBhY3Rpb24tbGlrZSB3b3JrLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFjdHVhbCA9IGhhc0V2YWx1YXRlZEFzc2VydGlvbkFjdHVhbChleHByZXNzaW9uLCAoKSA9PiB0cnVlKTtcbiAqIHZvaWQgYWN0dWFsO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0V2YWx1YXRlZEFzc2VydGlvbkFjdHVhbChcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uLFxuICBpc0FjdGlvbkV4cHJlc3Npb246IChleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCkgPT4gYm9vbGVhbixcbik6IGJvb2xlYW4ge1xuICBjb25zdCBvcGVyYW5kcyA9XG4gICAgZ2V0RXhwZWN0T3BlcmFuZHMoZXhwcmVzc2lvbikgPz8gZ2V0QXNzZXJ0T3BlcmFuZHMoZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIG9wZXJhbmRzICE9PSB2b2lkIDAgJiYgaXNBY3Rpb25FeHByZXNzaW9uKG9wZXJhbmRzLmFjdHVhbCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciBhc3NlcnRpb24gY2FsbHMuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0Fzc2VydGlvbkNhbGwobm9kZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNBc3NlcnRpb25DYWxsKG5vZGU6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAobm9kZS5jYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICByZXR1cm4gW1wiYXNzZXJ0XCIsIFwiYXNzZXJ0VHlwZVwiLCBcImV4cGVjdFwiLCBcImV4cGVjdFR5cGVPZlwiXS5pbmNsdWRlcyhcbiAgICAgIG5vZGUuY2FsbGVlLm5hbWUsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChub2RlLmNhbGxlZS50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChcbiAgICBub2RlLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBub2RlLmNhbGxlZS5vYmplY3QubmFtZSA9PT0gXCJhc3NlcnRcIlxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgbm9kZS5jYWxsZWUub2JqZWN0LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiAmJlxuICAgIGlzQXNzZXJ0aW9uQ2FsbChub2RlLmNhbGxlZS5vYmplY3QpXG4gICk7XG59XG5cbmV4cG9ydCB7XG4gIGdldEFzc2VydE9wZXJhbmRzLFxuICBnZXRFeHBlY3RPcGVyYW5kcyxcbiAgZ2V0SWRlbnRpZmllck5hbWUsXG4gIGhhc0V2YWx1YXRlZEFzc2VydGlvbkFjdHVhbCxcbiAgaXNBc3NlcnRpb25DYWxsLFxufTtcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5vcGVyYW5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYXNzZXJ0aW9ucy5vcGVyYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsaUJBQWlCLENBQ3hCLFVBQWlDO0lBRWpDLElBQ0UsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO1FBQzlDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQzFDLENBQUM7UUFDRCxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFDRSxNQUFNLEVBQUUsSUFBSSxLQUFLLGVBQWU7WUFDaEMsUUFBUSxFQUFFLElBQUksS0FBSyxlQUFlLEVBQ2xDLENBQUM7WUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUFpQztJQUVqQyxJQUNFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDdkMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUNuQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsT0FBTztZQUNMLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDMUQsUUFBUSxFQUFFLEtBQUssQ0FBQztTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0UsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFDbEQsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUV4QyxPQUFPLFFBQVEsRUFBRSxJQUFJLEtBQUssZUFBZTtZQUN2QyxDQUFDLENBQUMsY0FBYztZQUNoQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUF5QztJQUV6QyxPQUFPLFVBQVUsRUFBRSxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQVMsMkJBQTJCLENBQ2xDLFVBQWlDLEVBQ2pDLGtCQUEwRTtJQUUxRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRSxPQUFPLFFBQVEsS0FBSyxLQUFLLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxlQUFlLENBQUMsSUFBMkI7SUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO1FBQ3RDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2pCO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7Z0JBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7Z0JBQ3JDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGdCQUFnQjtvQkFDM0MsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLGVBQWUsR0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuLyoqIFJhdyBhc3NlcnRpb24gb3BlcmFuZHMgZXh0cmFjdGVkIGZyb20gYSBjYWxsIGV4cHJlc3Npb24uICovXG5pbnRlcmZhY2UgQXNzZXJ0aW9uT3BlcmFuZHMge1xuICAvKiogRXhwcmVzc2lvbiB1c2VkIGFzIHRoZSBhY3R1YWwgb3BlcmFuZC4gKi9cbiAgYWN0dWFsOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZDtcbiAgLyoqIEV4cHJlc3Npb24gdXNlZCBhcyB0aGUgZXhwZWN0ZWQgb3BlcmFuZC4gKi9cbiAgZXhwZWN0ZWQ6IEVTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldHMgYXNzZXJ0IG9wZXJhbmRzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0QXNzZXJ0T3BlcmFuZHMoZXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0QXNzZXJ0T3BlcmFuZHMoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcbik6IEFzc2VydGlvbk9wZXJhbmRzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUub2JqZWN0LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUub2JqZWN0Lm5hbWUgPT09IFwiYXNzZXJ0XCJcbiAgKSB7XG4gICAgY29uc3QgW2FjdHVhbCwgZXhwZWN0ZWRdID0gZXhwcmVzc2lvbi5hcmd1bWVudHM7XG4gICAgaWYgKFxuICAgICAgYWN0dWFsPy50eXBlICE9PSBcIlNwcmVhZEVsZW1lbnRcIiAmJlxuICAgICAgZXhwZWN0ZWQ/LnR5cGUgIT09IFwiU3ByZWFkRWxlbWVudFwiXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBhY3R1YWwsIGV4cGVjdGVkIH07XG4gICAgfVxuICB9XG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogR2V0cyBleHBlY3Qgb3BlcmFuZHMuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRFeHBlY3RPcGVyYW5kcyhleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRFeHBlY3RPcGVyYW5kcyhcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uLFxuKTogQXNzZXJ0aW9uT3BlcmFuZHMgfCB1bmRlZmluZWQge1xuICBpZiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5uYW1lID09PSBcImV4cGVjdFwiXG4gICkge1xuICAgIGNvbnN0IFthY3R1YWxdID0gZXhwcmVzc2lvbi5hcmd1bWVudHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdHVhbDogYWN0dWFsPy50eXBlID09PSBcIlNwcmVhZEVsZW1lbnRcIiA/IHZvaWQgMCA6IGFjdHVhbCxcbiAgICAgIGV4cGVjdGVkOiB2b2lkIDAsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCJcbiAgKSB7XG4gICAgY29uc3QgbmVzdGVkT3BlcmFuZHMgPSBnZXRFeHBlY3RPcGVyYW5kcyhleHByZXNzaW9uLmNhbGxlZS5vYmplY3QpO1xuICAgIGlmIChuZXN0ZWRPcGVyYW5kcyA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIGNvbnN0IFtleHBlY3RlZF0gPSBleHByZXNzaW9uLmFyZ3VtZW50cztcblxuICAgIHJldHVybiBleHBlY3RlZD8udHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCJcbiAgICAgID8gbmVzdGVkT3BlcmFuZHNcbiAgICAgIDogeyBhY3R1YWw6IG5lc3RlZE9wZXJhbmRzLmFjdHVhbCwgZXhwZWN0ZWQgfTtcbiAgfVxuXG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogR2V0cyBhbiBpZGVudGlmaWVyIG5hbWUuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRJZGVudGlmaWVyTmFtZShleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRJZGVudGlmaWVyTmFtZShcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gZXhwcmVzc2lvbj8udHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgPyBleHByZXNzaW9uLm5hbWUgOiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gYXNzZXJ0aW9uIGV2YWx1YXRlcyB0aGUgYWN0dWFsIG9wZXJhbmQgaW5saW5lLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQXNzZXJ0aW9uIGNhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHBhcmFtIGlzQWN0aW9uRXhwcmVzc2lvbiBQcmVkaWNhdGUgdGhhdCBpZGVudGlmaWVzIGFjdGlvbi1saWtlIGV4cHJlc3Npb25zLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBhc3NlcnRpb24gYWN0dWFsIG9wZXJhbmQgcGVyZm9ybXMgYWN0aW9uLWxpa2Ugd29yay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhY3R1YWwgPSBoYXNFdmFsdWF0ZWRBc3NlcnRpb25BY3R1YWwoZXhwcmVzc2lvbiwgKCkgPT4gdHJ1ZSk7XG4gKiB2b2lkIGFjdHVhbDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBoYXNFdmFsdWF0ZWRBc3NlcnRpb25BY3R1YWwoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcbiAgaXNBY3Rpb25FeHByZXNzaW9uOiAoZXhwcmVzc2lvbjogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQpID0+IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgY29uc3Qgb3BlcmFuZHMgPVxuICAgIGdldEV4cGVjdE9wZXJhbmRzKGV4cHJlc3Npb24pID8/IGdldEFzc2VydE9wZXJhbmRzKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBvcGVyYW5kcyAhPT0gdm9pZCAwICYmIGlzQWN0aW9uRXhwcmVzc2lvbihvcGVyYW5kcy5hY3R1YWwpO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgYXNzZXJ0aW9uIGNhbGxzLlxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNBc3NlcnRpb25DYWxsKG5vZGUpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQXNzZXJ0aW9uQ2FsbChub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vZGUuY2FsbGVlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICAgPyBbXCJhc3NlcnRcIiwgXCJhc3NlcnRUeXBlXCIsIFwiZXhwZWN0XCIsIFwiZXhwZWN0VHlwZU9mXCJdLmluY2x1ZGVzKFxuICAgICAgICBub2RlLmNhbGxlZS5uYW1lLFxuICAgICAgKVxuICAgIDogbm9kZS5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICAgICAgKChub2RlLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgICBub2RlLmNhbGxlZS5vYmplY3QubmFtZSA9PT0gXCJhc3NlcnRcIikgfHxcbiAgICAgICAgICAobm9kZS5jYWxsZWUub2JqZWN0LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiAmJlxuICAgICAgICAgICAgaXNBc3NlcnRpb25DYWxsKG5vZGUuY2FsbGVlLm9iamVjdCkpKTtcbn1cblxuZXhwb3J0IHtcbiAgZ2V0QXNzZXJ0T3BlcmFuZHMsXG4gIGdldEV4cGVjdE9wZXJhbmRzLFxuICBnZXRJZGVudGlmaWVyTmFtZSxcbiAgaGFzRXZhbHVhdGVkQXNzZXJ0aW9uQWN0dWFsLFxuICBpc0Fzc2VydGlvbkNhbGwsXG59O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.classification.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.classification.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAuB7C;;;;;;;;GAQG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAwB3D;AAED;;;;;;;;GAQG;AACH,iBAAS,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQtD;AAED;;;;;;;;;GASG;AACH,iBAAS,yBAAyB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAepE;AAED;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAuBzD;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAkCtE;AAwBD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAkBlE;AA8BD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"analyzer.classification.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.classification.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAuB7C;;;;;;;;GAQG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAwB3D;AAED;;;;;;;;GAQG;AACH,iBAAS,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQtD;AAED;;;;;;;;;GASG;AACH,iBAAS,yBAAyB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAepE;AAED;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAuBzD;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CA6BtE;AAwBD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAiBlE;AA4BD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,GACrB,CAAC"}
@@ -127,18 +127,13 @@ function hasMutation(statement) {
127
127
  */
128
128
  function isMeaningfulActStatement(statement) {
129
129
  const expression = getStatementExpression(statement);
130
- if (expression === void 0) {
131
- return false;
132
- }
133
- if (hasAssertion(statement)) {
130
+ if (expression === void 0 || hasAssertion(statement)) {
134
131
  return false;
135
132
  }
136
133
  if (isActionExpression(expression)) {
137
- if (statement.type === "VariableDeclaration" &&
138
- expression.type === "NewExpression") {
139
- return false;
140
- }
141
- return !isUtilityLikeExpression(expression);
134
+ const isPlainConstruction = statement.type === "VariableDeclaration" &&
135
+ expression.type === "NewExpression";
136
+ return !isPlainConstruction && !isUtilityLikeExpression(expression);
142
137
  }
143
138
  if (statement.type !== "VariableDeclaration" ||
144
139
  expression.type !== "ObjectExpression") {
@@ -186,13 +181,10 @@ function isSetupLikeStatement(statement) {
186
181
  return true;
187
182
  }
188
183
  const init = unwrapExpression(declaration.init);
189
- if (init === void 0) {
190
- return true;
191
- }
192
- if (init.type === "NewExpression") {
193
- return true;
194
- }
195
- return !isActionExpression(init) || isUtilityLikeExpression(init);
184
+ return (init === void 0 ||
185
+ init.type === "NewExpression" ||
186
+ !isActionExpression(init) ||
187
+ isUtilityLikeExpression(init));
196
188
  });
197
189
  }
198
190
  const expression = getStatementExpression(statement);
@@ -213,13 +205,11 @@ function isUtilityLikeExpression(expression) {
213
205
  return false;
214
206
  }
215
207
  const calleeName = getExpressionName(unwrappedExpression.callee);
216
- if (calleeName === void 0) {
217
- return false;
218
- }
219
- return (!isRuleCreateInvocation(unwrappedExpression) &&
208
+ return (calleeName !== void 0 &&
209
+ !isRuleCreateInvocation(unwrappedExpression) &&
220
210
  (isUtilityConstructor(unwrappedExpression, calleeName) ||
221
211
  isUtilityNamedCall(calleeName) ||
222
212
  isUtilityNamespaceCall(unwrappedExpression)));
223
213
  }
224
214
  export { hasAsyncLogic, hasAwait, hasBlankLineBeforeComment, hasCapturableActResult, hasMutation, isMeaningfulActStatement, isSetupLikeStatement, };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEdBQ2pCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUYsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsYUFBYSxDQUFDLFNBQTJCO0lBQ2hELElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLG1DQUFtQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQ0UsSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0I7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZO1lBQzFDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQ2hFLENBQUM7WUFDRCxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZTtZQUM3QixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUM1QyxDQUFDO1lBQ0Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sa0JBQWtCLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxRQUFRLENBQUMsU0FBMkI7SUFDM0MsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzFCLG1DQUFtQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMseUJBQXlCLENBQ2hDLFVBQWtCLEVBQ2xCLE9BQXNCO0lBRXRCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLFlBQVksS0FBSyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFNBQTJCO0lBQ3pELElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMzRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQy9CLFVBQTBELENBQzNELENBQUM7SUFDRixPQUFPLENBQ0wsVUFBVSxLQUFLLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDNUUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUFDLFNBQTJCO0lBQzlDLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQzdCLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM1QixJQUNFLENBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQ3RFLElBQUksQ0FBQyxJQUFJLENBQ1YsRUFDRCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xFLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMxQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQ25ELENBQUM7WUFDRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUFDLFNBQTJCO0lBQzNELE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFDRSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtZQUN4QyxVQUFVLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFDbkMsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFDRSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtRQUN4QyxVQUFVLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUN0QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsbUNBQW1DLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEQsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUM7WUFDakUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFDOUIsQ0FBQztZQUNELG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLFVBQXdEO0lBRXhELE9BQU8sQ0FDTCxVQUFVLENBQUMsSUFBSSxLQUFLLGdCQUFnQjtRQUNwQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDOUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDaEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDNUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDL0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsU0FBMkI7SUFDdkQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQixFQUFFLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xELElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQzlCLFVBQXlDO0lBRXpDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sQ0FDTCxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDO1FBQzVDLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDO1lBQ3BELGtCQUFrQixDQUFDLFVBQVUsQ0FBQztZQUM5QixzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQy9DLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBQ1IseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QixXQUFXLEVBQ1gsd0JBQXdCLEVBQ3hCLG9CQUFvQixHQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IFNvdXJjZUNvbW1lbnQgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQge1xuICBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uLFxuICBoYXNBc3NlcnRpb24sXG4gIGlzQWN0aW9uRXhwcmVzc2lvbixcbiAgdW53cmFwRXhwcmVzc2lvbixcbn0gZnJvbSBcIi4vYW5hbHl6ZXIuYXNzZXJ0aW9ucy5oZWxwZXJzXCI7XG5pbXBvcnQgeyB2aXNpdFN0YXRlbWVudFdpdGhvdXREZWZlcnJlZEJvZGllcyB9IGZyb20gXCIuL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLnRyYXZlcnNhbFwiO1xuaW1wb3J0IHtcbiAgYXJyYXlNdXRhdGlvbk1ldGhvZHMsXG4gIGdldEV4cHJlc3Npb25OYW1lLFxuICBnZXRJbnZva2VkTmFtZSxcbiAgaXNDYWxsYWJsZUV4cHJlc3Npb24sXG4gIGlzTG9jYXRlZENvbW1lbnQsXG4gIGlzVXRpbGl0eUNvbnN0cnVjdG9yLFxuICBpc1V0aWxpdHlOYW1lZENhbGwsXG4gIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwsXG4gIGlzVm9pZExpa2VNZXRob2ROYW1lLFxuICB2b2lkTGlrZU1ldGhvZE5hbWVzLFxufSBmcm9tIFwiLi9hbmFseXplci5zdXBlclwiO1xuaW1wb3J0IHsgdmlzaXROb2RlIH0gZnJvbSBcIi4vYW5hbHl6ZXIuc3VwZXIuaGVscGVyc1wiO1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYXN5bmMgbG9naWMuXG4gKiBAcGFyYW0gc3RhdGVtZW50IElucHV0IHN0YXRlbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaGFzQXN5bmNMb2dpYyhzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0FzeW5jTG9naWMoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGxldCB3YXNBc3luY0xvZ2ljRm91bmQgPSBmYWxzZTtcbiAgdmlzaXRTdGF0ZW1lbnRXaXRob3V0RGVmZXJyZWRCb2RpZXMoc3RhdGVtZW50LCAobm9kZSkgPT4ge1xuICAgIGlmIChub2RlLnR5cGUgPT09IFwiQXdhaXRFeHByZXNzaW9uXCIpIHtcbiAgICAgIHdhc0FzeW5jTG9naWNGb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG5vZGUudHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiICYmXG4gICAgICBub2RlLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgICAgbm9kZS5jYWxsZWUucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgIFtcImNhdGNoXCIsIFwiZmluYWxseVwiLCBcInRoZW5cIl0uaW5jbHVkZXMobm9kZS5jYWxsZWUucHJvcGVydHkubmFtZSlcbiAgICApIHtcbiAgICAgIHdhc0FzeW5jTG9naWNGb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG5vZGUudHlwZSA9PT0gXCJOZXdFeHByZXNzaW9uXCIgJiZcbiAgICAgIGdldEV4cHJlc3Npb25OYW1lKG5vZGUuY2FsbGVlKSA9PT0gXCJQcm9taXNlXCJcbiAgICApIHtcbiAgICAgIHdhc0FzeW5jTG9naWNGb3VuZCA9IHRydWU7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHdhc0FzeW5jTG9naWNGb3VuZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIGF3YWl0IHVzYWdlLlxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhc0F3YWl0KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzQXdhaXQoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGxldCB3YXNBd2FpdEZvdW5kID0gZmFsc2U7XG4gIHZpc2l0U3RhdGVtZW50V2l0aG91dERlZmVycmVkQm9kaWVzKHN0YXRlbWVudCwgKG5vZGUpID0+IHtcbiAgICBpZiAobm9kZS50eXBlID09PSBcIkF3YWl0RXhwcmVzc2lvblwiKSB7XG4gICAgICB3YXNBd2FpdEZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gd2FzQXdhaXRGb3VuZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIGJsYW5rIGxpbmVzIGJlZm9yZSBjb21tZW50cy5cbiAqIEBwYXJhbSBzb3VyY2VUZXh0IElucHV0IHNvdXJjZVRleHQgdmFsdWUuXG4gKiBAcGFyYW0gY29tbWVudCBJbnB1dCBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBoYXNCbGFua0xpbmVCZWZvcmVDb21tZW50KHNvdXJjZVRleHQsIGNvbW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0JsYW5rTGluZUJlZm9yZUNvbW1lbnQoXG4gIHNvdXJjZVRleHQ6IHN0cmluZyxcbiAgY29tbWVudDogU291cmNlQ29tbWVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWlzTG9jYXRlZENvbW1lbnQoY29tbWVudCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBsaW5lcyA9IHNvdXJjZVRleHQuc3BsaXQoL1xcclxcbnxcXG4vdSk7XG4gIGNvbnN0IHByZXZpb3VzTGluZSA9IGxpbmVzW2NvbW1lbnQubG9jLnN0YXJ0LmxpbmUgLSAyXTtcbiAgcmV0dXJuIHByZXZpb3VzTGluZSA9PT0gdm9pZCAwIHx8IHByZXZpb3VzTGluZS50cmltKCkubGVuZ3RoID09PSAwO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgY2FwdHVyYWJsZSBBY3QgcmVzdWx0cy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBoYXNDYXB0dXJhYmxlQWN0UmVzdWx0KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzQ2FwdHVyYWJsZUFjdFJlc3VsdChzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cHJlc3Npb25TdGF0ZW1lbnRcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBleHByZXNzaW9uID0gdW53cmFwRXhwcmVzc2lvbihzdGF0ZW1lbnQuZXhwcmVzc2lvbik7XG4gIGlmICghaXNBY3Rpb25FeHByZXNzaW9uKGV4cHJlc3Npb24pIHx8IGlzVXRpbGl0eUxpa2VFeHByZXNzaW9uKGV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGNhbGxlZU5hbWUgPSBnZXRJbnZva2VkTmFtZShcbiAgICBleHByZXNzaW9uIGFzIEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuICApO1xuICByZXR1cm4gKFxuICAgIGNhbGxlZU5hbWUgPT09IHZvaWQgMCB8fFxuICAgICghdm9pZExpa2VNZXRob2ROYW1lcy5oYXMoY2FsbGVlTmFtZSkgJiYgIWlzVm9pZExpa2VNZXRob2ROYW1lKGNhbGxlZU5hbWUpKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgbXV0YXRpb24uXG4gKiBAcGFyYW0gc3RhdGVtZW50IElucHV0IHN0YXRlbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaGFzTXV0YXRpb24oc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBoYXNNdXRhdGlvbihzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgbGV0IHdhc011dGF0aW9uRm91bmQgPSBmYWxzZTtcbiAgdmlzaXROb2RlKHN0YXRlbWVudCwgKG5vZGUpID0+IHtcbiAgICBpZiAoXG4gICAgICBbXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLCBcIlVuYXJ5RXhwcmVzc2lvblwiLCBcIlVwZGF0ZUV4cHJlc3Npb25cIl0uaW5jbHVkZXMoXG4gICAgICAgIG5vZGUudHlwZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGlmIChub2RlLnR5cGUgIT09IFwiVW5hcnlFeHByZXNzaW9uXCIgfHwgbm9kZS5vcGVyYXRvciA9PT0gXCJkZWxldGVcIikge1xuICAgICAgICB3YXNNdXRhdGlvbkZvdW5kID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbm9kZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgJiZcbiAgICAgIG5vZGUuY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICBub2RlLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgYXJyYXlNdXRhdGlvbk1ldGhvZHMuaGFzKG5vZGUuY2FsbGVlLnByb3BlcnR5Lm5hbWUpXG4gICAgKSB7XG4gICAgICB3YXNNdXRhdGlvbkZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gd2FzTXV0YXRpb25Gb3VuZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIG1lYW5pbmdmdWwgQWN0IHN0YXRlbWVudHMuXG4gKiBAcGFyYW0gc3RhdGVtZW50IElucHV0IHN0YXRlbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNNZWFuaW5nZnVsQWN0U3RhdGVtZW50KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNNZWFuaW5nZnVsQWN0U3RhdGVtZW50KHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICBjb25zdCBleHByZXNzaW9uID0gZ2V0U3RhdGVtZW50RXhwcmVzc2lvbihzdGF0ZW1lbnQpO1xuICBpZiAoZXhwcmVzc2lvbiA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChoYXNBc3NlcnRpb24oc3RhdGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoaXNBY3Rpb25FeHByZXNzaW9uKGV4cHJlc3Npb24pKSB7XG4gICAgaWYgKFxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiICYmXG4gICAgICBleHByZXNzaW9uLnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAhaXNVdGlsaXR5TGlrZUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gIH1cbiAgaWYgKFxuICAgIHN0YXRlbWVudC50eXBlICE9PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiB8fFxuICAgIGV4cHJlc3Npb24udHlwZSAhPT0gXCJPYmplY3RFeHByZXNzaW9uXCJcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IGhhc01lYW5pbmdmdWxBY3Rpb24gPSBmYWxzZTtcbiAgdmlzaXRTdGF0ZW1lbnRXaXRob3V0RGVmZXJyZWRCb2RpZXMoc3RhdGVtZW50LCAobm9kZSkgPT4ge1xuICAgIGlmIChcbiAgICAgIChub2RlLnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiB8fCBub2RlLnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiKSAmJlxuICAgICAgIWlzVXRpbGl0eUxpa2VFeHByZXNzaW9uKG5vZGUpXG4gICAgKSB7XG4gICAgICBoYXNNZWFuaW5nZnVsQWN0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gaGFzTWVhbmluZ2Z1bEFjdGlvbjtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIHJ1bGUgY3JlYXRlIGNhbGxzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNSdWxlQ3JlYXRlSW52b2NhdGlvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1J1bGVDcmVhdGVJbnZvY2F0aW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbixcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5Lm5hbWUgPT09IFwiY3JlYXRlXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZS5lbmRzV2l0aChcIlJ1bGVcIilcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIHNldHVwLWxpa2Ugc3RhdGVtZW50cy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1NldHVwTGlrZVN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzU2V0dXBMaWtlU3RhdGVtZW50KHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIHN0YXRlbWVudC5kZWNsYXJhdGlvbnMuZXZlcnkoKGRlY2xhcmF0aW9uKSA9PiB7XG4gICAgICBpZiAoZGVjbGFyYXRpb24uaW5pdCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluaXQgPSB1bndyYXBFeHByZXNzaW9uKGRlY2xhcmF0aW9uLmluaXQpO1xuICAgICAgaWYgKGluaXQgPT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpbml0LnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICFpc0FjdGlvbkV4cHJlc3Npb24oaW5pdCkgfHwgaXNVdGlsaXR5TGlrZUV4cHJlc3Npb24oaW5pdCk7XG4gICAgfSk7XG4gIH1cbiAgY29uc3QgZXhwcmVzc2lvbiA9IGdldFN0YXRlbWVudEV4cHJlc3Npb24oc3RhdGVtZW50KTtcbiAgcmV0dXJuIGV4cHJlc3Npb24gIT09IHZvaWQgMCAmJiBpc1V0aWxpdHlMaWtlRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgZm9yIHV0aWxpdHktbGlrZSBleHByZXNzaW9ucy5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVXRpbGl0eUxpa2VFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzVXRpbGl0eUxpa2VFeHByZXNzaW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCB1bndyYXBwZWRFeHByZXNzaW9uID0gdW53cmFwRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgaWYgKCFpc0NhbGxhYmxlRXhwcmVzc2lvbih1bndyYXBwZWRFeHByZXNzaW9uKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBjYWxsZWVOYW1lID0gZ2V0RXhwcmVzc2lvbk5hbWUodW53cmFwcGVkRXhwcmVzc2lvbi5jYWxsZWUpO1xuICBpZiAoY2FsbGVlTmFtZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgIWlzUnVsZUNyZWF0ZUludm9jYXRpb24odW53cmFwcGVkRXhwcmVzc2lvbikgJiZcbiAgICAoaXNVdGlsaXR5Q29uc3RydWN0b3IodW53cmFwcGVkRXhwcmVzc2lvbiwgY2FsbGVlTmFtZSkgfHxcbiAgICAgIGlzVXRpbGl0eU5hbWVkQ2FsbChjYWxsZWVOYW1lKSB8fFxuICAgICAgaXNVdGlsaXR5TmFtZXNwYWNlQ2FsbCh1bndyYXBwZWRFeHByZXNzaW9uKSlcbiAgKTtcbn1cblxuZXhwb3J0IHtcbiAgaGFzQXN5bmNMb2dpYyxcbiAgaGFzQXdhaXQsXG4gIGhhc0JsYW5rTGluZUJlZm9yZUNvbW1lbnQsXG4gIGhhc0NhcHR1cmFibGVBY3RSZXN1bHQsXG4gIGhhc011dGF0aW9uLFxuICBpc01lYW5pbmdmdWxBY3RTdGF0ZW1lbnQsXG4gIGlzU2V0dXBMaWtlU3RhdGVtZW50LFxufTtcbiJdfQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEdBQ2pCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUYsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsYUFBYSxDQUFDLFNBQTJCO0lBQ2hELElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLG1DQUFtQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQ0UsSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0I7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZO1lBQzFDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQ2hFLENBQUM7WUFDRCxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZTtZQUM3QixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUM1QyxDQUFDO1lBQ0Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sa0JBQWtCLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxRQUFRLENBQUMsU0FBMkI7SUFDM0MsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzFCLG1DQUFtQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMseUJBQXlCLENBQ2hDLFVBQWtCLEVBQ2xCLE9BQXNCO0lBRXRCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLFlBQVksS0FBSyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFNBQTJCO0lBQ3pELElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMzRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQy9CLFVBQTBELENBQzNELENBQUM7SUFDRixPQUFPLENBQ0wsVUFBVSxLQUFLLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDNUUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUFDLFNBQTJCO0lBQzlDLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQzdCLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM1QixJQUNFLENBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQ3RFLElBQUksQ0FBQyxJQUFJLENBQ1YsRUFDRCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xFLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMxQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQ25ELENBQUM7WUFDRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUFDLFNBQTJCO0lBQzNELE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLG1CQUFtQixHQUN2QixTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtZQUN4QyxVQUFVLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQztRQUV0QyxPQUFPLENBQUMsbUJBQW1CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFDRSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtRQUN4QyxVQUFVLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUN0QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsbUNBQW1DLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEQsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUM7WUFDakUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFDOUIsQ0FBQztZQUNELG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLFVBQXdEO0lBRXhELE9BQU8sQ0FDTCxVQUFVLENBQUMsSUFBSSxLQUFLLGdCQUFnQjtRQUNwQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDOUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDaEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDNUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDL0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsU0FBMkI7SUFDdkQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHFCQUFxQixFQUFFLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xELElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FDTCxJQUFJLEtBQUssS0FBSyxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZTtnQkFDN0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUM5QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsT0FBTyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx1QkFBdUIsQ0FDOUIsVUFBeUM7SUFFekMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sQ0FDTCxVQUFVLEtBQUssS0FBSyxDQUFDO1FBQ3JCLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUM7UUFDNUMsQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQzlCLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDL0MsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFDUix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsb0JBQW9CLEdBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB0eXBlIHsgU291cmNlQ29tbWVudCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldFN0YXRlbWVudEV4cHJlc3Npb24sXG4gIGhhc0Fzc2VydGlvbixcbiAgaXNBY3Rpb25FeHByZXNzaW9uLFxuICB1bndyYXBFeHByZXNzaW9uLFxufSBmcm9tIFwiLi9hbmFseXplci5hc3NlcnRpb25zLmhlbHBlcnNcIjtcbmltcG9ydCB7IHZpc2l0U3RhdGVtZW50V2l0aG91dERlZmVycmVkQm9kaWVzIH0gZnJvbSBcIi4vYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24udHJhdmVyc2FsXCI7XG5pbXBvcnQge1xuICBhcnJheU11dGF0aW9uTWV0aG9kcyxcbiAgZ2V0RXhwcmVzc2lvbk5hbWUsXG4gIGdldEludm9rZWROYW1lLFxuICBpc0NhbGxhYmxlRXhwcmVzc2lvbixcbiAgaXNMb2NhdGVkQ29tbWVudCxcbiAgaXNVdGlsaXR5Q29uc3RydWN0b3IsXG4gIGlzVXRpbGl0eU5hbWVkQ2FsbCxcbiAgaXNVdGlsaXR5TmFtZXNwYWNlQ2FsbCxcbiAgaXNWb2lkTGlrZU1ldGhvZE5hbWUsXG4gIHZvaWRMaWtlTWV0aG9kTmFtZXMsXG59IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XG5pbXBvcnQgeyB2aXNpdE5vZGUgfSBmcm9tIFwiLi9hbmFseXplci5zdXBlci5oZWxwZXJzXCI7XG5cbi8qKlxuICogQ2hlY2tzIGZvciBhc3luYyBsb2dpYy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBoYXNBc3luY0xvZ2ljKHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzQXN5bmNMb2dpYyhzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgbGV0IHdhc0FzeW5jTG9naWNGb3VuZCA9IGZhbHNlO1xuICB2aXNpdFN0YXRlbWVudFdpdGhvdXREZWZlcnJlZEJvZGllcyhzdGF0ZW1lbnQsIChub2RlKSA9PiB7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gXCJBd2FpdEV4cHJlc3Npb25cIikge1xuICAgICAgd2FzQXN5bmNMb2dpY0ZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbm9kZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgJiZcbiAgICAgIG5vZGUuY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICBub2RlLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgW1wiY2F0Y2hcIiwgXCJmaW5hbGx5XCIsIFwidGhlblwiXS5pbmNsdWRlcyhub2RlLmNhbGxlZS5wcm9wZXJ0eS5uYW1lKVxuICAgICkge1xuICAgICAgd2FzQXN5bmNMb2dpY0ZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbm9kZS50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxuICAgICAgZ2V0RXhwcmVzc2lvbk5hbWUobm9kZS5jYWxsZWUpID09PSBcIlByb21pc2VcIlxuICAgICkge1xuICAgICAgd2FzQXN5bmNMb2dpY0ZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gd2FzQXN5bmNMb2dpY0ZvdW5kO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgYXdhaXQgdXNhZ2UuXG4gKiBAcGFyYW0gc3RhdGVtZW50IElucHV0IHN0YXRlbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaGFzQXdhaXQoc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBoYXNBd2FpdChzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgbGV0IHdhc0F3YWl0Rm91bmQgPSBmYWxzZTtcbiAgdmlzaXRTdGF0ZW1lbnRXaXRob3V0RGVmZXJyZWRCb2RpZXMoc3RhdGVtZW50LCAobm9kZSkgPT4ge1xuICAgIGlmIChub2RlLnR5cGUgPT09IFwiQXdhaXRFeHByZXNzaW9uXCIpIHtcbiAgICAgIHdhc0F3YWl0Rm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB3YXNBd2FpdEZvdW5kO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgYmxhbmsgbGluZXMgYmVmb3JlIGNvbW1lbnRzLlxuICogQHBhcmFtIHNvdXJjZVRleHQgSW5wdXQgc291cmNlVGV4dCB2YWx1ZS5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhc0JsYW5rTGluZUJlZm9yZUNvbW1lbnQoc291cmNlVGV4dCwgY29tbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudChcbiAgc291cmNlVGV4dDogc3RyaW5nLFxuICBjb21tZW50OiBTb3VyY2VDb21tZW50LFxuKTogYm9vbGVhbiB7XG4gIGlmICghaXNMb2NhdGVkQ29tbWVudChjb21tZW50KSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IGxpbmVzID0gc291cmNlVGV4dC5zcGxpdCgvXFxyXFxufFxcbi91KTtcbiAgY29uc3QgcHJldmlvdXNMaW5lID0gbGluZXNbY29tbWVudC5sb2Muc3RhcnQubGluZSAtIDJdO1xuICByZXR1cm4gcHJldmlvdXNMaW5lID09PSB2b2lkIDAgfHwgcHJldmlvdXNMaW5lLnRyaW0oKS5sZW5ndGggPT09IDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciBjYXB0dXJhYmxlIEFjdCByZXN1bHRzLlxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhc0NhcHR1cmFibGVBY3RSZXN1bHQoc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBoYXNDYXB0dXJhYmxlQWN0UmVzdWx0KHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgIT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKHN0YXRlbWVudC5leHByZXNzaW9uKTtcbiAgaWYgKCFpc0FjdGlvbkV4cHJlc3Npb24oZXhwcmVzc2lvbikgfHwgaXNVdGlsaXR5TGlrZUV4cHJlc3Npb24oZXhwcmVzc2lvbikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2FsbGVlTmFtZSA9IGdldEludm9rZWROYW1lKFxuICAgIGV4cHJlc3Npb24gYXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24sXG4gICk7XG4gIHJldHVybiAoXG4gICAgY2FsbGVlTmFtZSA9PT0gdm9pZCAwIHx8XG4gICAgKCF2b2lkTGlrZU1ldGhvZE5hbWVzLmhhcyhjYWxsZWVOYW1lKSAmJiAhaXNWb2lkTGlrZU1ldGhvZE5hbWUoY2FsbGVlTmFtZSkpXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciBtdXRhdGlvbi5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBoYXNNdXRhdGlvbihzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc011dGF0aW9uKHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICBsZXQgd2FzTXV0YXRpb25Gb3VuZCA9IGZhbHNlO1xuICB2aXNpdE5vZGUoc3RhdGVtZW50LCAobm9kZSkgPT4ge1xuICAgIGlmIChcbiAgICAgIFtcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsIFwiVW5hcnlFeHByZXNzaW9uXCIsIFwiVXBkYXRlRXhwcmVzc2lvblwiXS5pbmNsdWRlcyhcbiAgICAgICAgbm9kZS50eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaWYgKG5vZGUudHlwZSAhPT0gXCJVbmFyeUV4cHJlc3Npb25cIiB8fCBub2RlLm9wZXJhdG9yID09PSBcImRlbGV0ZVwiKSB7XG4gICAgICAgIHdhc011dGF0aW9uRm91bmQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBub2RlLnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiAmJlxuICAgICAgbm9kZS5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICAgIG5vZGUuY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICBhcnJheU11dGF0aW9uTWV0aG9kcy5oYXMobm9kZS5jYWxsZWUucHJvcGVydHkubmFtZSlcbiAgICApIHtcbiAgICAgIHdhc011dGF0aW9uRm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB3YXNNdXRhdGlvbkZvdW5kO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgbWVhbmluZ2Z1bCBBY3Qgc3RhdGVtZW50cy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc01lYW5pbmdmdWxBY3RTdGF0ZW1lbnQoc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc01lYW5pbmdmdWxBY3RTdGF0ZW1lbnQoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IGV4cHJlc3Npb24gPSBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uKHN0YXRlbWVudCk7XG4gIGlmIChleHByZXNzaW9uID09PSB2b2lkIDAgfHwgaGFzQXNzZXJ0aW9uKHN0YXRlbWVudCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGlzQWN0aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKSkge1xuICAgIGNvbnN0IGlzUGxhaW5Db25zdHJ1Y3Rpb24gPVxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiICYmXG4gICAgICBleHByZXNzaW9uLnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiO1xuXG4gICAgcmV0dXJuICFpc1BsYWluQ29uc3RydWN0aW9uICYmICFpc1V0aWxpdHlMaWtlRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgfVxuICBpZiAoXG4gICAgc3RhdGVtZW50LnR5cGUgIT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiIHx8XG4gICAgZXhwcmVzc2lvbi50eXBlICE9PSBcIk9iamVjdEV4cHJlc3Npb25cIlxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgaGFzTWVhbmluZ2Z1bEFjdGlvbiA9IGZhbHNlO1xuICB2aXNpdFN0YXRlbWVudFdpdGhvdXREZWZlcnJlZEJvZGllcyhzdGF0ZW1lbnQsIChub2RlKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKG5vZGUudHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiIHx8IG5vZGUudHlwZSA9PT0gXCJOZXdFeHByZXNzaW9uXCIpICYmXG4gICAgICAhaXNVdGlsaXR5TGlrZUV4cHJlc3Npb24obm9kZSlcbiAgICApIHtcbiAgICAgIGhhc01lYW5pbmdmdWxBY3Rpb24gPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBoYXNNZWFuaW5nZnVsQWN0aW9uO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3IgcnVsZSBjcmVhdGUgY2FsbHMuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1J1bGVDcmVhdGVJbnZvY2F0aW9uKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUnVsZUNyZWF0ZUludm9jYXRpb24oXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkubmFtZSA9PT0gXCJjcmVhdGVcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC5uYW1lLmVuZHNXaXRoKFwiUnVsZVwiKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBmb3Igc2V0dXAtbGlrZSBzdGF0ZW1lbnRzLlxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzU2V0dXBMaWtlU3RhdGVtZW50KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNTZXR1cExpa2VTdGF0ZW1lbnQoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpIHtcbiAgICByZXR1cm4gc3RhdGVtZW50LmRlY2xhcmF0aW9ucy5ldmVyeSgoZGVjbGFyYXRpb24pID0+IHtcbiAgICAgIGlmIChkZWNsYXJhdGlvbi5pbml0ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5pdCA9IHVud3JhcEV4cHJlc3Npb24oZGVjbGFyYXRpb24uaW5pdCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBpbml0ID09PSB2b2lkIDAgfHxcbiAgICAgICAgaW5pdC50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiB8fFxuICAgICAgICAhaXNBY3Rpb25FeHByZXNzaW9uKGluaXQpIHx8XG4gICAgICAgIGlzVXRpbGl0eUxpa2VFeHByZXNzaW9uKGluaXQpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG4gIGNvbnN0IGV4cHJlc3Npb24gPSBnZXRTdGF0ZW1lbnRFeHByZXNzaW9uKHN0YXRlbWVudCk7XG4gIHJldHVybiBleHByZXNzaW9uICE9PSB2b2lkIDAgJiYgaXNVdGlsaXR5TGlrZUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGZvciB1dGlsaXR5LWxpa2UgZXhwcmVzc2lvbnMuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1V0aWxpdHlMaWtlRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1V0aWxpdHlMaWtlRXhwcmVzc2lvbihcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgdW53cmFwcGVkRXhwcmVzc2lvbiA9IHVud3JhcEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gIGlmICghaXNDYWxsYWJsZUV4cHJlc3Npb24odW53cmFwcGVkRXhwcmVzc2lvbikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2FsbGVlTmFtZSA9IGdldEV4cHJlc3Npb25OYW1lKHVud3JhcHBlZEV4cHJlc3Npb24uY2FsbGVlKTtcbiAgcmV0dXJuIChcbiAgICBjYWxsZWVOYW1lICE9PSB2b2lkIDAgJiZcbiAgICAhaXNSdWxlQ3JlYXRlSW52b2NhdGlvbih1bndyYXBwZWRFeHByZXNzaW9uKSAmJlxuICAgIChpc1V0aWxpdHlDb25zdHJ1Y3Rvcih1bndyYXBwZWRFeHByZXNzaW9uLCBjYWxsZWVOYW1lKSB8fFxuICAgICAgaXNVdGlsaXR5TmFtZWRDYWxsKGNhbGxlZU5hbWUpIHx8XG4gICAgICBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsKHVud3JhcHBlZEV4cHJlc3Npb24pKVxuICApO1xufVxuXG5leHBvcnQge1xuICBoYXNBc3luY0xvZ2ljLFxuICBoYXNBd2FpdCxcbiAgaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudCxcbiAgaGFzQ2FwdHVyYWJsZUFjdFJlc3VsdCxcbiAgaGFzTXV0YXRpb24sXG4gIGlzTWVhbmluZ2Z1bEFjdFN0YXRlbWVudCxcbiAgaXNTZXR1cExpa2VTdGF0ZW1lbnQsXG59O1xuIl19
@@ -1,4 +1,4 @@
1
1
  /** Companion module retained for companion-spec enforcement after wrapper export removal. */
2
2
  const analyzerClassificationModuleCompanion = void 0;
3
- JSON.stringify(analyzerClassificationModuleCompanion);
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDZGQUE2RjtBQUM3RixNQUFNLHFDQUFxQyxHQUN6QyxLQUFLLENBQUMsQ0FBQztBQUVULElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdEJsb2NrQW5hbHlzaXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogQ29tcGFuaW9uIG1vZHVsZSByZXRhaW5lZCBmb3IgY29tcGFuaW9uLXNwZWMgZW5mb3JjZW1lbnQgYWZ0ZXIgd3JhcHBlciBleHBvcnQgcmVtb3ZhbC4gKi9cbmNvbnN0IGFuYWx5emVyQ2xhc3NpZmljYXRpb25Nb2R1bGVDb21wYW5pb246IFRlc3RCbG9ja0FuYWx5c2lzIHwgdW5kZWZpbmVkID1cbiAgdm9pZCAwO1xuXG5KU09OLnN0cmluZ2lmeShhbmFseXplckNsYXNzaWZpY2F0aW9uTW9kdWxlQ29tcGFuaW9uKTtcbiJdfQ==
3
+ String(analyzerClassificationModuleCompanion);
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDZGQUE2RjtBQUM3RixNQUFNLHFDQUFxQyxHQUN6QyxLQUFLLENBQUMsQ0FBQztBQUVULE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBDb21wYW5pb24gbW9kdWxlIHJldGFpbmVkIGZvciBjb21wYW5pb24tc3BlYyBlbmZvcmNlbWVudCBhZnRlciB3cmFwcGVyIGV4cG9ydCByZW1vdmFsLiAqL1xuY29uc3QgYW5hbHl6ZXJDbGFzc2lmaWNhdGlvbk1vZHVsZUNvbXBhbmlvbjogVGVzdEJsb2NrQW5hbHlzaXMgfCB1bmRlZmluZWQgPVxuICB2b2lkIDA7XG5cblN0cmluZyhhbmFseXplckNsYXNzaWZpY2F0aW9uTW9kdWxlQ29tcGFuaW9uKTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.super.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.super.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7D,iEAAiE;AACjE,QAAA,MAAM,oBAAoB,aAUxB,CAAC;AAiCH,sEAAsE;AACtE,QAAA,MAAM,mBAAmB,aAcvB,CAAC;AAEH;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,GACtE,MAAM,GAAG,SAAS,CAiBpB;AAED;;;;;;;;GAQG;AACH,iBAAS,cAAc,CACrB,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,GACvD,MAAM,GAAG,SAAS,CAEpB;AAkBD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,UAAU,IAAI,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAK5D;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,IAAI,cAAc,CAI3E;AAED;;;;;;;;;GASG;AACH,iBAAS,aAAa,CACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACvB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,iBAAS,oBAAoB,CAC3B,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,EACxD,UAAU,EAAE,MAAM,GACjB,OAAO,CAaT;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,GACvD,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"analyzer.super.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.super.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7D,iEAAiE;AACjE,QAAA,MAAM,oBAAoB,aAUxB,CAAC;AAiCH,sEAAsE;AACtE,QAAA,MAAM,mBAAmB,aAcvB,CAAC;AAEH;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,GACtE,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;GAQG;AACH,iBAAS,cAAc,CACrB,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,GACvD,MAAM,GAAG,SAAS,CAEpB;AAkBD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,UAAU,IAAI,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAK5D;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,IAAI,cAAc,CAI3E;AAED;;;;;;;;;GASG;AACH,iBAAS,aAAa,CACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACvB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,iBAAS,oBAAoB,CAC3B,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,EACxD,UAAU,EAAE,MAAM,GACjB,OAAO,CAaT;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,GACvD,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,CAAC"}
@@ -70,11 +70,10 @@ function getExpressionName(expression) {
70
70
  if (expression.type === "Identifier") {
71
71
  return expression.name;
72
72
  }
73
- if (expression.type === "MemberExpression" &&
74
- expression.property.type === "Identifier") {
75
- return expression.property.name;
76
- }
77
- return void 0;
73
+ return expression.type === "MemberExpression" &&
74
+ expression.property.type === "Identifier"
75
+ ? expression.property.name
76
+ : void 0;
78
77
  }
79
78
  /**
80
79
  * Gets a callee name for a call or construction expression.
@@ -202,4 +201,4 @@ function isVoidLikeMethodName(calleeName) {
202
201
  return getNameWords(calleeName).some((word) => voidLikeMethodNames.has(word));
203
202
  }
204
203
  export { arrayMutationMethods, getExpressionName, getInvokedName, isCallableExpression, isLocatedComment, isRangeWithin, isUtilityConstructor, isUtilityNamedCall, isUtilityNamespaceCall, isVoidLikeMethodName, voidLikeMethodNames, };
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuc3VwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLnN1cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGlFQUFpRTtBQUNqRSxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ25DLFlBQVk7SUFDWixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07SUFDTixTQUFTO0lBQ1QsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUMsQ0FBQztBQUVILCtEQUErRDtBQUMvRCxNQUFNLGNBQWMsR0FDbEIsMEhBQTBILENBQUM7QUFFN0gsb0ZBQW9GO0FBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDakMscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixPQUFPO0lBQ1AsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sSUFBSTtJQUNKLFVBQVU7SUFDVixNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxLQUFLO0lBQ0wsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLE1BQU07SUFDTixRQUFRO0lBQ1IsZUFBZTtJQUNmLFNBQVM7SUFDVCxNQUFNO0lBQ04sZUFBZTtJQUNmLE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSCxzRUFBc0U7QUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNsQyxPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixNQUFNO0lBQ04sT0FBTztJQUNQLE1BQU07SUFDTixLQUFLO0lBQ0wsT0FBTztJQUNQLFNBQVM7SUFDVCxPQUFPO0lBQ1AsS0FBSztJQUNMLFNBQVM7SUFDVCxNQUFNO0NBQ1AsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUF1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QUNoRSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxVQUFrQjtJQUM5QyxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IExvY2F0ZWRDb21tZW50LCBTb3VyY2VDb21tZW50IH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIEFycmF5IG11dGF0b3IgbWV0aG9kcyB0aGF0IGltcGx5IG9ic2VydmFibGUgc3RhdGUgY2hhbmdlcy4gKi9cbmNvbnN0IGFycmF5TXV0YXRpb25NZXRob2RzID0gbmV3IFNldChbXG4gIFwiY29weVdpdGhpblwiLFxuICBcImZpbGxcIixcbiAgXCJwb3BcIixcbiAgXCJwdXNoXCIsXG4gIFwicmV2ZXJzZVwiLFxuICBcInNoaWZ0XCIsXG4gIFwic29ydFwiLFxuICBcInNwbGljZVwiLFxuICBcInVuc2hpZnRcIixcbl0pO1xuXG4vKiogTmFtZXMgdGhhdCB1c3VhbGx5IHNpZ25hbCBBcnJhbmdlLW9yaWVudGVkIGhlbHBlciBjYWxscy4gKi9cbmNvbnN0IHNldHVwTGlrZU5hbWVzID1cbiAgL14oPzphcnJhbmdlfGJ1aWxkfGNyZWF0ZXxmaXh0dXJlfGdldHxnaXZlbnxtYWtlfG1vY2t8cGFyc2V8c2VlZHxzZXR1cHxzcHl8c3R1Ynx3cml0ZSl8KD86Q29udGV4dHxGaXh0dXJlfE1vY2t8T3B0aW9ucykkL3U7XG5cbi8qKiBDYWxsIG5hbWVzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgdXRpbGl0eSBvcGVyYXRpb25zIGluc3RlYWQgb2YgQWN0IHN0ZXBzLiAqL1xuY29uc3QgdXRpbGl0eU1ldGhvZE5hbWVzID0gbmV3IFNldChbXG4gIFwiYWR2YW5jZVRpbWVyc0J5VGltZVwiLFxuICBcImNsZWFyQWxsTW9ja3NcIixcbiAgXCJkZWJ1Z1wiLFxuICBcImV2ZXJ5XCIsXG4gIFwiZmlsdGVyXCIsXG4gIFwiZmluZFwiLFxuICBcImZuXCIsXG4gIFwiaW5jbHVkZXNcIixcbiAgXCJpbmZvXCIsXG4gIFwiam9pblwiLFxuICBcImxvZ1wiLFxuICBcIm1hcFwiLFxuICBcIm1vY2tJbXBsZW1lbnRhdGlvblwiLFxuICBcIm1vY2tSZWplY3RlZFZhbHVlXCIsXG4gIFwibW9ja1Jlc29sdmVkVmFsdWVcIixcbiAgXCJtb2NrUmV0dXJuVmFsdWVcIixcbiAgXCJwdXNoXCIsXG4gIFwicmVwZWF0XCIsXG4gIFwicmVzZXRBbGxNb2Nrc1wiLFxuICBcInJlc29sdmVcIixcbiAgXCJzb21lXCIsXG4gIFwidXNlRmFrZVRpbWVyc1wiLFxuICBcIndhcm5cIixcbl0pO1xuXG4vKiogTWV0aG9kIG5hbWVzIHRoYXQgdXN1YWxseSBiZWhhdmUgbGlrZSB2b2lkIHNpZGUtZWZmZWN0IGhlbHBlcnMuICovXG5jb25zdCB2b2lkTGlrZU1ldGhvZE5hbWVzID0gbmV3IFNldChbXG4gIFwiY2xlYXJcIixcbiAgXCJkZWJ1Z1wiLFxuICBcImRpc3BhdGNoXCIsXG4gIFwiZW1pdFwiLFxuICBcImZsdXNoXCIsXG4gIFwiaW5mb1wiLFxuICBcImxvZ1wiLFxuICBcInByaW50XCIsXG4gIFwicHVibGlzaFwiLFxuICBcInJlc2V0XCIsXG4gIFwic2V0XCIsXG4gIFwidHJpZ2dlclwiLFxuICBcIndhcm5cIixcbl0pO1xuXG4vKipcbiAqIEdldHMgYW4gZXhwcmVzc2lvbiBuYW1lIHdoZW4gaXQgY2FuIGJlIHJlc29sdmVkIHN0YXRpY2FsbHkuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRFeHByZXNzaW9uTmFtZShleHByZXNzaW9uKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRFeHByZXNzaW9uTmFtZShcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkV4cHJlc3Npb24gfCBFU1RyZWUuUHJpdmF0ZUlkZW50aWZpZXIgfCBFU1RyZWUuU3VwZXIsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIlN1cGVyXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgaWYgKGV4cHJlc3Npb24udHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICByZXR1cm4gZXhwcmVzc2lvbi5uYW1lO1xuICB9XG5cbiAgaWYgKFxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICkge1xuICAgIHJldHVybiBleHByZXNzaW9uLnByb3BlcnR5Lm5hbWU7XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vKipcbiAqIEdldHMgYSBjYWxsZWUgbmFtZSBmb3IgYSBjYWxsIG9yIGNvbnN0cnVjdGlvbiBleHByZXNzaW9uLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0SW52b2tlZE5hbWUoZXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0SW52b2tlZE5hbWUoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24uY2FsbGVlKTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYW4gaWRlbnRpZmllciBpbnRvIGxvd2VyY2FzZSB3b3JkIHRva2Vucy5cbiAqIEBwYXJhbSBpZGVudGlmaWVyIElucHV0IGlkZW50aWZpZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldE5hbWVXb3JkcyhcInNjaGVkdWxlQW5kRmx1c2hcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0TmFtZVdvcmRzKGlkZW50aWZpZXI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGlkZW50aWZpZXJcbiAgICAuc3BsaXQoLyg/PVtBLVpdKXxbXy1dL3UpXG4gICAgLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC50b0xvd2VyQ2FzZSgpKVxuICAgIC5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQubGVuZ3RoID4gMCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gZXhwcmVzc2lvbiBpcyBjYWxsYWJsZS5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzQ2FsbGFibGVFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ2FsbGFibGVFeHByZXNzaW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IGV4cHJlc3Npb24gaXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24ge1xuICByZXR1cm4gKFxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiB8fFxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb21tZW50IGhhcyBsb2NhdGlvbiBtZXRhZGF0YS5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNMb2NhdGVkQ29tbWVudChjb21tZW50OiBTb3VyY2VDb21tZW50KTogY29tbWVudCBpcyBMb2NhdGVkQ29tbWVudCB7XG4gIHJldHVybiAoXG4gICAgY29tbWVudC5sb2MgIT09IG51bGwgJiYgY29tbWVudC5sb2MgIT09IHZvaWQgMCAmJiBjb21tZW50LnJhbmdlICE9PSB2b2lkIDBcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHJhbmdlIGlzIGZ1bGx5IGNvbnRhaW5lZCB3aXRoaW4gYW5vdGhlciByYW5nZS5cbiAqIEBwYXJhbSByYW5nZSBJbnB1dCByYW5nZSB2YWx1ZS5cbiAqIEBwYXJhbSBjb250YWluZXIgSW5wdXQgY29udGFpbmVyIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1JhbmdlV2l0aGluKHJhbmdlLCBjb250YWluZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUmFuZ2VXaXRoaW4oXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdLFxuICBjb250YWluZXI6IFtudW1iZXIsIG51bWJlcl0sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIHJhbmdlWzBdID49IGNvbnRhaW5lclswXSAmJiByYW5nZVsxXSA8PSBjb250YWluZXJbMV07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb25zdHJ1Y3RvciBjYWxsIHNob3VsZCBiZSB0cmVhdGVkIGFzIHNldHVwLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVXRpbGl0eUNvbnN0cnVjdG9yKGV4cHJlc3Npb24sIFwiTWFwXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzVXRpbGl0eUNvbnN0cnVjdG9yKFxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbixcbiAgY2FsbGVlTmFtZTogc3RyaW5nLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxuICAgIFtcbiAgICAgIFwiRXJyb3JcIixcbiAgICAgIFwiRVNMaW50XCIsXG4gICAgICBcIk1hcFwiLFxuICAgICAgXCJTZXRcIixcbiAgICAgIFwiU291cmNlQ29kZVwiLFxuICAgICAgXCJXZWFrTWFwXCIsXG4gICAgICBcIldlYWtTZXRcIixcbiAgICBdLmluY2x1ZGVzKGNhbGxlZU5hbWUpXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsZWUgbmFtZSBsb29rcyB1dGlsaXR5LWxpa2UuXG4gKiBAcGFyYW0gY2FsbGVlTmFtZSBJbnB1dCBjYWxsZWVOYW1lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1V0aWxpdHlOYW1lZENhbGwoXCJzZXR1cEZpeHR1cmVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNVdGlsaXR5TmFtZWRDYWxsKGNhbGxlZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdXRpbGl0eU1ldGhvZE5hbWVzLmhhcyhjYWxsZWVOYW1lKSB8fCBzZXR1cExpa2VOYW1lcy50ZXN0KGNhbGxlZU5hbWUpO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCB1c2VzIGEgdXRpbGl0eSBuYW1lc3BhY2UuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBbXCJjb25zb2xlXCIsIFwiZnNcIiwgXCJ2aVwiXS5pbmNsdWRlcyhleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgbmFtZSBpcyBidWlsdCBmcm9tIHZvaWQtbGlrZSB2ZXJiIHRva2Vucy5cbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVm9pZExpa2VNZXRob2ROYW1lKFwic2NoZWR1bGVBbmRGbHVzaFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1ZvaWRMaWtlTWV0aG9kTmFtZShjYWxsZWVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldE5hbWVXb3JkcyhjYWxsZWVOYW1lKS5zb21lKCh3b3JkKSA9PiB2b2lkTGlrZU1ldGhvZE5hbWVzLmhhcyh3b3JkKSk7XG59XG5cbmV4cG9ydCB7XG4gIGFycmF5TXV0YXRpb25NZXRob2RzLFxuICBnZXRFeHByZXNzaW9uTmFtZSxcbiAgZ2V0SW52b2tlZE5hbWUsXG4gIGlzQ2FsbGFibGVFeHByZXNzaW9uLFxuICBpc0xvY2F0ZWRDb21tZW50LFxuICBpc1JhbmdlV2l0aGluLFxuICBpc1V0aWxpdHlDb25zdHJ1Y3RvcixcbiAgaXNVdGlsaXR5TmFtZWRDYWxsLFxuICBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsLFxuICBpc1ZvaWRMaWtlTWV0aG9kTmFtZSxcbiAgdm9pZExpa2VNZXRob2ROYW1lcyxcbn07XG4iXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuc3VwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLnN1cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGlFQUFpRTtBQUNqRSxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ25DLFlBQVk7SUFDWixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07SUFDTixTQUFTO0lBQ1QsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUMsQ0FBQztBQUVILCtEQUErRDtBQUMvRCxNQUFNLGNBQWMsR0FDbEIsMEhBQTBILENBQUM7QUFFN0gsb0ZBQW9GO0FBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDakMscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixPQUFPO0lBQ1AsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sSUFBSTtJQUNKLFVBQVU7SUFDVixNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxLQUFLO0lBQ0wsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLE1BQU07SUFDTixRQUFRO0lBQ1IsZUFBZTtJQUNmLFNBQVM7SUFDVCxNQUFNO0lBQ04sZUFBZTtJQUNmLE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSCxzRUFBc0U7QUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNsQyxPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixNQUFNO0lBQ04sT0FBTztJQUNQLE1BQU07SUFDTixLQUFLO0lBQ0wsT0FBTztJQUNQLFNBQVM7SUFDVCxPQUFPO0lBQ1AsS0FBSztJQUNMLFNBQVM7SUFDVCxNQUFNO0NBQ1AsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUF1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QUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG9CQUFvQixDQUFDLFVBQWtCO0lBQzlDLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB0eXBlIHsgTG9jYXRlZENvbW1lbnQsIFNvdXJjZUNvbW1lbnQgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogQXJyYXkgbXV0YXRvciBtZXRob2RzIHRoYXQgaW1wbHkgb2JzZXJ2YWJsZSBzdGF0ZSBjaGFuZ2VzLiAqL1xuY29uc3QgYXJyYXlNdXRhdGlvbk1ldGhvZHMgPSBuZXcgU2V0KFtcbiAgXCJjb3B5V2l0aGluXCIsXG4gIFwiZmlsbFwiLFxuICBcInBvcFwiLFxuICBcInB1c2hcIixcbiAgXCJyZXZlcnNlXCIsXG4gIFwic2hpZnRcIixcbiAgXCJzb3J0XCIsXG4gIFwic3BsaWNlXCIsXG4gIFwidW5zaGlmdFwiLFxuXSk7XG5cbi8qKiBOYW1lcyB0aGF0IHVzdWFsbHkgc2lnbmFsIEFycmFuZ2Utb3JpZW50ZWQgaGVscGVyIGNhbGxzLiAqL1xuY29uc3Qgc2V0dXBMaWtlTmFtZXMgPVxuICAvXig/OmFycmFuZ2V8YnVpbGR8Y3JlYXRlfGZpeHR1cmV8Z2V0fGdpdmVufG1ha2V8bW9ja3xwYXJzZXxzZWVkfHNldHVwfHNweXxzdHVifHdyaXRlKXwoPzpDb250ZXh0fEZpeHR1cmV8TW9ja3xPcHRpb25zKSQvdTtcblxuLyoqIENhbGwgbmFtZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyB1dGlsaXR5IG9wZXJhdGlvbnMgaW5zdGVhZCBvZiBBY3Qgc3RlcHMuICovXG5jb25zdCB1dGlsaXR5TWV0aG9kTmFtZXMgPSBuZXcgU2V0KFtcbiAgXCJhZHZhbmNlVGltZXJzQnlUaW1lXCIsXG4gIFwiY2xlYXJBbGxNb2Nrc1wiLFxuICBcImRlYnVnXCIsXG4gIFwiZXZlcnlcIixcbiAgXCJmaWx0ZXJcIixcbiAgXCJmaW5kXCIsXG4gIFwiZm5cIixcbiAgXCJpbmNsdWRlc1wiLFxuICBcImluZm9cIixcbiAgXCJqb2luXCIsXG4gIFwibG9nXCIsXG4gIFwibWFwXCIsXG4gIFwibW9ja0ltcGxlbWVudGF0aW9uXCIsXG4gIFwibW9ja1JlamVjdGVkVmFsdWVcIixcbiAgXCJtb2NrUmVzb2x2ZWRWYWx1ZVwiLFxuICBcIm1vY2tSZXR1cm5WYWx1ZVwiLFxuICBcInB1c2hcIixcbiAgXCJyZXBlYXRcIixcbiAgXCJyZXNldEFsbE1vY2tzXCIsXG4gIFwicmVzb2x2ZVwiLFxuICBcInNvbWVcIixcbiAgXCJ1c2VGYWtlVGltZXJzXCIsXG4gIFwid2FyblwiLFxuXSk7XG5cbi8qKiBNZXRob2QgbmFtZXMgdGhhdCB1c3VhbGx5IGJlaGF2ZSBsaWtlIHZvaWQgc2lkZS1lZmZlY3QgaGVscGVycy4gKi9cbmNvbnN0IHZvaWRMaWtlTWV0aG9kTmFtZXMgPSBuZXcgU2V0KFtcbiAgXCJjbGVhclwiLFxuICBcImRlYnVnXCIsXG4gIFwiZGlzcGF0Y2hcIixcbiAgXCJlbWl0XCIsXG4gIFwiZmx1c2hcIixcbiAgXCJpbmZvXCIsXG4gIFwibG9nXCIsXG4gIFwicHJpbnRcIixcbiAgXCJwdWJsaXNoXCIsXG4gIFwicmVzZXRcIixcbiAgXCJzZXRcIixcbiAgXCJ0cmlnZ2VyXCIsXG4gIFwid2FyblwiLFxuXSk7XG5cbi8qKlxuICogR2V0cyBhbiBleHByZXNzaW9uIG5hbWUgd2hlbiBpdCBjYW4gYmUgcmVzb2x2ZWQgc3RhdGljYWxseS5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEV4cHJlc3Npb25OYW1lKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IEVTVHJlZS5Qcml2YXRlSWRlbnRpZmllciB8IEVTVHJlZS5TdXBlcixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChleHByZXNzaW9uLnR5cGUgPT09IFwiU3VwZXJcIikge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgIHJldHVybiBleHByZXNzaW9uLm5hbWU7XG4gIH1cblxuICByZXR1cm4gZXhwcmVzc2lvbi50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICA/IGV4cHJlc3Npb24ucHJvcGVydHkubmFtZVxuICAgIDogdm9pZCAwO1xufVxuXG4vKipcbiAqIEdldHMgYSBjYWxsZWUgbmFtZSBmb3IgYSBjYWxsIG9yIGNvbnN0cnVjdGlvbiBleHByZXNzaW9uLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0SW52b2tlZE5hbWUoZXhwcmVzc2lvbik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0SW52b2tlZE5hbWUoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24uY2FsbGVlKTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYW4gaWRlbnRpZmllciBpbnRvIGxvd2VyY2FzZSB3b3JkIHRva2Vucy5cbiAqIEBwYXJhbSBpZGVudGlmaWVyIElucHV0IGlkZW50aWZpZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldE5hbWVXb3JkcyhcInNjaGVkdWxlQW5kRmx1c2hcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0TmFtZVdvcmRzKGlkZW50aWZpZXI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGlkZW50aWZpZXJcbiAgICAuc3BsaXQoLyg/PVtBLVpdKXxbXy1dL3UpXG4gICAgLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC50b0xvd2VyQ2FzZSgpKVxuICAgIC5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQubGVuZ3RoID4gMCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gZXhwcmVzc2lvbiBpcyBjYWxsYWJsZS5cbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzQ2FsbGFibGVFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ2FsbGFibGVFeHByZXNzaW9uKFxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcbik6IGV4cHJlc3Npb24gaXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24ge1xuICByZXR1cm4gKFxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiB8fFxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb21tZW50IGhhcyBsb2NhdGlvbiBtZXRhZGF0YS5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNMb2NhdGVkQ29tbWVudChjb21tZW50OiBTb3VyY2VDb21tZW50KTogY29tbWVudCBpcyBMb2NhdGVkQ29tbWVudCB7XG4gIHJldHVybiAoXG4gICAgY29tbWVudC5sb2MgIT09IG51bGwgJiYgY29tbWVudC5sb2MgIT09IHZvaWQgMCAmJiBjb21tZW50LnJhbmdlICE9PSB2b2lkIDBcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHJhbmdlIGlzIGZ1bGx5IGNvbnRhaW5lZCB3aXRoaW4gYW5vdGhlciByYW5nZS5cbiAqIEBwYXJhbSByYW5nZSBJbnB1dCByYW5nZSB2YWx1ZS5cbiAqIEBwYXJhbSBjb250YWluZXIgSW5wdXQgY29udGFpbmVyIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1JhbmdlV2l0aGluKHJhbmdlLCBjb250YWluZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUmFuZ2VXaXRoaW4oXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdLFxuICBjb250YWluZXI6IFtudW1iZXIsIG51bWJlcl0sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIHJhbmdlWzBdID49IGNvbnRhaW5lclswXSAmJiByYW5nZVsxXSA8PSBjb250YWluZXJbMV07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb25zdHJ1Y3RvciBjYWxsIHNob3VsZCBiZSB0cmVhdGVkIGFzIHNldHVwLlxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVXRpbGl0eUNvbnN0cnVjdG9yKGV4cHJlc3Npb24sIFwiTWFwXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzVXRpbGl0eUNvbnN0cnVjdG9yKFxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbixcbiAgY2FsbGVlTmFtZTogc3RyaW5nLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxuICAgIFtcbiAgICAgIFwiRXJyb3JcIixcbiAgICAgIFwiRVNMaW50XCIsXG4gICAgICBcIk1hcFwiLFxuICAgICAgXCJTZXRcIixcbiAgICAgIFwiU291cmNlQ29kZVwiLFxuICAgICAgXCJXZWFrTWFwXCIsXG4gICAgICBcIldlYWtTZXRcIixcbiAgICBdLmluY2x1ZGVzKGNhbGxlZU5hbWUpXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsZWUgbmFtZSBsb29rcyB1dGlsaXR5LWxpa2UuXG4gKiBAcGFyYW0gY2FsbGVlTmFtZSBJbnB1dCBjYWxsZWVOYW1lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1V0aWxpdHlOYW1lZENhbGwoXCJzZXR1cEZpeHR1cmVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNVdGlsaXR5TmFtZWRDYWxsKGNhbGxlZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdXRpbGl0eU1ldGhvZE5hbWVzLmhhcyhjYWxsZWVOYW1lKSB8fCBzZXR1cExpa2VOYW1lcy50ZXN0KGNhbGxlZU5hbWUpO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCB1c2VzIGEgdXRpbGl0eSBuYW1lc3BhY2UuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsKGV4cHJlc3Npb24pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwoXG4gIGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbiB8IEVTVHJlZS5OZXdFeHByZXNzaW9uLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBbXCJjb25zb2xlXCIsIFwiZnNcIiwgXCJ2aVwiXS5pbmNsdWRlcyhleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgbmFtZSBpcyBidWlsdCBmcm9tIHZvaWQtbGlrZSB2ZXJiIHRva2Vucy5cbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVm9pZExpa2VNZXRob2ROYW1lKFwic2NoZWR1bGVBbmRGbHVzaFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1ZvaWRMaWtlTWV0aG9kTmFtZShjYWxsZWVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldE5hbWVXb3JkcyhjYWxsZWVOYW1lKS5zb21lKCh3b3JkKSA9PiB2b2lkTGlrZU1ldGhvZE5hbWVzLmhhcyh3b3JkKSk7XG59XG5cbmV4cG9ydCB7XG4gIGFycmF5TXV0YXRpb25NZXRob2RzLFxuICBnZXRFeHByZXNzaW9uTmFtZSxcbiAgZ2V0SW52b2tlZE5hbWUsXG4gIGlzQ2FsbGFibGVFeHByZXNzaW9uLFxuICBpc0xvY2F0ZWRDb21tZW50LFxuICBpc1JhbmdlV2l0aGluLFxuICBpc1V0aWxpdHlDb25zdHJ1Y3RvcixcbiAgaXNVdGlsaXR5TmFtZWRDYWxsLFxuICBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsLFxuICBpc1ZvaWRMaWtlTWV0aG9kTmFtZSxcbiAgdm9pZExpa2VNZXRob2ROYW1lcyxcbn07XG4iXX0=
@@ -25,15 +25,11 @@ type SourceComment = ReturnType<Rule.RuleContext["sourceCode"]["getAllComments"]
25
25
  interface StatementPhase {
26
26
  /** Statement node that belongs to the analyzed test body. */
27
27
  node: LocatedNode<ESTree.Statement>;
28
- /** Last active phase before this statement, when any exists. */
29
- phase: AaaPhase | undefined;
30
28
  /** All active phases inherited from the nearest section marker. */
31
29
  phases: AaaPhase[];
32
30
  }
33
31
  /** Derived metadata for a supported test callback. */
34
32
  interface TestBlockAnalysis {
35
- /** Block body belonging to the test callback. */
36
- body: LocatedNode<ESTree.BlockStatement>;
37
33
  /** Number of lines inside the callback body. */
38
34
  bodyLineCount: number;
39
35
  /** Original call expression for `it` or `test`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,mDAAmD;AACnD,KAAK,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,kEAAkE;AAClE,KAAK,cAAc,GAAG,aAAa,GAAG;IACpC,2CAA2C;IAC3C,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvC,8CAA8C;IAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG;IAClE,wCAAwC;IACxC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,2CAA2C;IAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,mDAAmD;AACnD,KAAK,aAAa,GAAG,UAAU,CAC7B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,sDAAsD;AACtD,UAAU,cAAc;IACtB,6DAA6D;IAC7D,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpC,gEAAgE;IAChE,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE5B,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,sDAAsD;AACtD,UAAU,iBAAiB;IACzB,iDAAiD;IACjD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEzC,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IAEtB,mDAAmD;IACnD,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,6CAA6C;IAC7C,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,eAAe,EAAE;QACf,uDAAuD;QACvD,OAAO,EAAE,cAAc,CAAC;QACxB,6CAA6C;QAC7C,MAAM,EAAE,QAAQ,EAAE,CAAC;KACpB,EAAE,CAAC;IAEJ,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,YAAY,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,mDAAmD;AACnD,KAAK,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,kEAAkE;AAClE,KAAK,cAAc,GAAG,aAAa,GAAG;IACpC,2CAA2C;IAC3C,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvC,8CAA8C;IAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG;IAClE,wCAAwC;IACxC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,2CAA2C;IAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,mDAAmD;AACnD,KAAK,aAAa,GAAG,UAAU,CAC7B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,sDAAsD;AACtD,UAAU,cAAc;IACtB,6DAA6D;IAC7D,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpC,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,sDAAsD;AACtD,UAAU,iBAAiB;IACzB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IAEtB,mDAAmD;IACnD,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,6CAA6C;IAC7C,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,eAAe,EAAE;QACf,uDAAuD;QACvD,OAAO,EAAE,cAAc,CAAC;QACxB,6CAA6C;QAC7C,MAAM,EAAE,QAAQ,EAAE,CAAC;KACpB,EAAE,CAAC;IAEJ,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,YAAY,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,CAAC"}
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbi8qKiBOYW1lZCBBQUEgcGhhc2VzIHJlY29nbml6ZWQgYnkgdGhlIGFuYWx5emVyLiAqL1xudHlwZSBBYWFQaGFzZSA9IFwiQWN0XCIgfCBcIkFycmFuZ2VcIiB8IFwiQXNzZXJ0XCI7XG5cbi8qKiBTb3VyY2UgY29tbWVudCB3aXRoIGd1YXJhbnRlZWQgbG9jYXRpb24gYW5kIHJhbmdlIG1ldGFkYXRhLiAqL1xudHlwZSBMb2NhdGVkQ29tbWVudCA9IFNvdXJjZUNvbW1lbnQgJiB7XG4gIC8qKiBOb3JtYWxpemVkIGxvY2F0aW9uIGZvciB0aGUgY29tbWVudC4gKi9cbiAgbG9jOiBOb25OdWxsYWJsZTxTb3VyY2VDb21tZW50W1wibG9jXCJdPjtcblxuICAvKiogSW5jbHVzaXZlIHNvdXJjZSByYW5nZSBmb3IgdGhlIGNvbW1lbnQuICovXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xufTtcblxuLyoqXG4gKiBFU1RyZWUgbm9kZSB3aXRoIHJlcXVpcmVkIGxvY2F0aW9uIGFuZCByYW5nZSBtZXRhZGF0YS5cbiAqIEB0ZW1wbGF0ZSBUTm9kZSBOb2RlIHN1YnR5cGUgY2FycmllZCBieSB0aGUgd3JhcHBlci5cbiAqL1xudHlwZSBMb2NhdGVkTm9kZTxUTm9kZSBleHRlbmRzIEVTVHJlZS5Ob2RlID0gRVNUcmVlLk5vZGU+ID0gVE5vZGUgJiB7XG4gIC8qKiBOb3JtYWxpemVkIGxvY2F0aW9uIGZvciB0aGUgbm9kZS4gKi9cbiAgbG9jOiBOb25OdWxsYWJsZTxFU1RyZWUuTm9kZVtcImxvY1wiXT47XG5cbiAgLyoqIEluY2x1c2l2ZSBzb3VyY2UgcmFuZ2UgZm9yIHRoZSBub2RlLiAqL1xuICByYW5nZTogW251bWJlciwgbnVtYmVyXTtcbn07XG5cbi8qKiBSYXcgc291cmNlIGNvbW1lbnQgbm9kZXMgcmV0dXJuZWQgYnkgRVNMaW50LiAqL1xudHlwZSBTb3VyY2VDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKiogU3RhdGVtZW50IGFubm90YXRlZCB3aXRoIGl0cyBhY3RpdmUgQUFBIHBoYXNlcy4gKi9cbmludGVyZmFjZSBTdGF0ZW1lbnRQaGFzZSB7XG4gIC8qKiBTdGF0ZW1lbnQgbm9kZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIGFuYWx5emVkIHRlc3QgYm9keS4gKi9cbiAgbm9kZTogTG9jYXRlZE5vZGU8RVNUcmVlLlN0YXRlbWVudD47XG5cbiAgLyoqIExhc3QgYWN0aXZlIHBoYXNlIGJlZm9yZSB0aGlzIHN0YXRlbWVudCwgd2hlbiBhbnkgZXhpc3RzLiAqL1xuICBwaGFzZTogQWFhUGhhc2UgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIEFsbCBhY3RpdmUgcGhhc2VzIGluaGVyaXRlZCBmcm9tIHRoZSBuZWFyZXN0IHNlY3Rpb24gbWFya2VyLiAqL1xuICBwaGFzZXM6IEFhYVBoYXNlW107XG59XG5cbi8qKiBEZXJpdmVkIG1ldGFkYXRhIGZvciBhIHN1cHBvcnRlZCB0ZXN0IGNhbGxiYWNrLiAqL1xuaW50ZXJmYWNlIFRlc3RCbG9ja0FuYWx5c2lzIHtcbiAgLyoqIEJsb2NrIGJvZHkgYmVsb25naW5nIHRvIHRoZSB0ZXN0IGNhbGxiYWNrLiAqL1xuICBib2R5OiBMb2NhdGVkTm9kZTxFU1RyZWUuQmxvY2tTdGF0ZW1lbnQ+O1xuXG4gIC8qKiBOdW1iZXIgb2YgbGluZXMgaW5zaWRlIHRoZSBjYWxsYmFjayBib2R5LiAqL1xuICBib2R5TGluZUNvdW50OiBudW1iZXI7XG5cbiAgLyoqIE9yaWdpbmFsIGNhbGwgZXhwcmVzc2lvbiBmb3IgYGl0YCBvciBgdGVzdGAuICovXG4gIGNhbGxFeHByZXNzaW9uOiBMb2NhdGVkTm9kZTxFU1RyZWUuQ2FsbEV4cHJlc3Npb24+O1xuXG4gIC8qKiBOZXdsaW5lIHN0eWxlIHVzZWQgYnkgdGhlIHNvdXJjZSB0ZXh0LiAqL1xuICBuZXdsaW5lOiBcIlxcblwiIHwgXCJcXHJcXG5cIjtcblxuICAvKiogT3JkZXJlZCBBQUEgc2VjdGlvbiBjb21tZW50cyB3aXRoaW4gdGhlIGNhbGxiYWNrIGJvZHkuICovXG4gIHNlY3Rpb25Db21tZW50czoge1xuICAgIC8qKiBMb2NhdGVkIGxpbmUgY29tbWVudCB1c2VkIGFzIHRoZSBzZWN0aW9uIG1hcmtlci4gKi9cbiAgICBjb21tZW50OiBMb2NhdGVkQ29tbWVudDtcbiAgICAvKiogUGhhc2VzIGRlY2xhcmVkIGJ5IHRoZSBzZWN0aW9uIG1hcmtlci4gKi9cbiAgICBwaGFzZXM6IEFhYVBoYXNlW107XG4gIH1bXTtcblxuICAvKiogRnVsbCBzb3VyY2UgdGV4dCBmb3IgdGhlIGFuYWx5emVkIGZpbGUuICovXG4gIHNvdXJjZVRleHQ6IHN0cmluZztcblxuICAvKiogU3RhdGVtZW50cyBwYWlyZWQgd2l0aCB0aGVpciByZXNvbHZlZCBBQUEgcGhhc2VzLiAqL1xuICBzdGF0ZW1lbnRzOiBTdGF0ZW1lbnRQaGFzZVtdO1xufVxuXG5leHBvcnQgdHlwZSB7XG4gIEFhYVBoYXNlLFxuICBMb2NhdGVkQ29tbWVudCxcbiAgTG9jYXRlZE5vZGUsXG4gIFNvdXJjZUNvbW1lbnQsXG4gIFRlc3RCbG9ja0FuYWx5c2lzLFxufTtcbiJdfQ==
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbi8qKiBOYW1lZCBBQUEgcGhhc2VzIHJlY29nbml6ZWQgYnkgdGhlIGFuYWx5emVyLiAqL1xudHlwZSBBYWFQaGFzZSA9IFwiQWN0XCIgfCBcIkFycmFuZ2VcIiB8IFwiQXNzZXJ0XCI7XG5cbi8qKiBTb3VyY2UgY29tbWVudCB3aXRoIGd1YXJhbnRlZWQgbG9jYXRpb24gYW5kIHJhbmdlIG1ldGFkYXRhLiAqL1xudHlwZSBMb2NhdGVkQ29tbWVudCA9IFNvdXJjZUNvbW1lbnQgJiB7XG4gIC8qKiBOb3JtYWxpemVkIGxvY2F0aW9uIGZvciB0aGUgY29tbWVudC4gKi9cbiAgbG9jOiBOb25OdWxsYWJsZTxTb3VyY2VDb21tZW50W1wibG9jXCJdPjtcblxuICAvKiogSW5jbHVzaXZlIHNvdXJjZSByYW5nZSBmb3IgdGhlIGNvbW1lbnQuICovXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xufTtcblxuLyoqXG4gKiBFU1RyZWUgbm9kZSB3aXRoIHJlcXVpcmVkIGxvY2F0aW9uIGFuZCByYW5nZSBtZXRhZGF0YS5cbiAqIEB0ZW1wbGF0ZSBUTm9kZSBOb2RlIHN1YnR5cGUgY2FycmllZCBieSB0aGUgd3JhcHBlci5cbiAqL1xudHlwZSBMb2NhdGVkTm9kZTxUTm9kZSBleHRlbmRzIEVTVHJlZS5Ob2RlID0gRVNUcmVlLk5vZGU+ID0gVE5vZGUgJiB7XG4gIC8qKiBOb3JtYWxpemVkIGxvY2F0aW9uIGZvciB0aGUgbm9kZS4gKi9cbiAgbG9jOiBOb25OdWxsYWJsZTxFU1RyZWUuTm9kZVtcImxvY1wiXT47XG5cbiAgLyoqIEluY2x1c2l2ZSBzb3VyY2UgcmFuZ2UgZm9yIHRoZSBub2RlLiAqL1xuICByYW5nZTogW251bWJlciwgbnVtYmVyXTtcbn07XG5cbi8qKiBSYXcgc291cmNlIGNvbW1lbnQgbm9kZXMgcmV0dXJuZWQgYnkgRVNMaW50LiAqL1xudHlwZSBTb3VyY2VDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKiogU3RhdGVtZW50IGFubm90YXRlZCB3aXRoIGl0cyBhY3RpdmUgQUFBIHBoYXNlcy4gKi9cbmludGVyZmFjZSBTdGF0ZW1lbnRQaGFzZSB7XG4gIC8qKiBTdGF0ZW1lbnQgbm9kZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIGFuYWx5emVkIHRlc3QgYm9keS4gKi9cbiAgbm9kZTogTG9jYXRlZE5vZGU8RVNUcmVlLlN0YXRlbWVudD47XG5cbiAgLyoqIEFsbCBhY3RpdmUgcGhhc2VzIGluaGVyaXRlZCBmcm9tIHRoZSBuZWFyZXN0IHNlY3Rpb24gbWFya2VyLiAqL1xuICBwaGFzZXM6IEFhYVBoYXNlW107XG59XG5cbi8qKiBEZXJpdmVkIG1ldGFkYXRhIGZvciBhIHN1cHBvcnRlZCB0ZXN0IGNhbGxiYWNrLiAqL1xuaW50ZXJmYWNlIFRlc3RCbG9ja0FuYWx5c2lzIHtcbiAgLyoqIE51bWJlciBvZiBsaW5lcyBpbnNpZGUgdGhlIGNhbGxiYWNrIGJvZHkuICovXG4gIGJvZHlMaW5lQ291bnQ6IG51bWJlcjtcblxuICAvKiogT3JpZ2luYWwgY2FsbCBleHByZXNzaW9uIGZvciBgaXRgIG9yIGB0ZXN0YC4gKi9cbiAgY2FsbEV4cHJlc3Npb246IExvY2F0ZWROb2RlPEVTVHJlZS5DYWxsRXhwcmVzc2lvbj47XG5cbiAgLyoqIE5ld2xpbmUgc3R5bGUgdXNlZCBieSB0aGUgc291cmNlIHRleHQuICovXG4gIG5ld2xpbmU6IFwiXFxuXCIgfCBcIlxcclxcblwiO1xuXG4gIC8qKiBPcmRlcmVkIEFBQSBzZWN0aW9uIGNvbW1lbnRzIHdpdGhpbiB0aGUgY2FsbGJhY2sgYm9keS4gKi9cbiAgc2VjdGlvbkNvbW1lbnRzOiB7XG4gICAgLyoqIExvY2F0ZWQgbGluZSBjb21tZW50IHVzZWQgYXMgdGhlIHNlY3Rpb24gbWFya2VyLiAqL1xuICAgIGNvbW1lbnQ6IExvY2F0ZWRDb21tZW50O1xuICAgIC8qKiBQaGFzZXMgZGVjbGFyZWQgYnkgdGhlIHNlY3Rpb24gbWFya2VyLiAqL1xuICAgIHBoYXNlczogQWFhUGhhc2VbXTtcbiAgfVtdO1xuXG4gIC8qKiBGdWxsIHNvdXJjZSB0ZXh0IGZvciB0aGUgYW5hbHl6ZWQgZmlsZS4gKi9cbiAgc291cmNlVGV4dDogc3RyaW5nO1xuXG4gIC8qKiBTdGF0ZW1lbnRzIHBhaXJlZCB3aXRoIHRoZWlyIHJlc29sdmVkIEFBQSBwaGFzZXMuICovXG4gIHN0YXRlbWVudHM6IFN0YXRlbWVudFBoYXNlW107XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgQWFhUGhhc2UsXG4gIExvY2F0ZWRDb21tZW50LFxuICBMb2NhdGVkTm9kZSxcbiAgU291cmNlQ29tbWVudCxcbiAgVGVzdEJsb2NrQW5hbHlzaXMsXG59O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-identifiers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAyFtC;;;;;;;;GAQG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,IAAI,CAEN;AAwDD,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"pattern-identifiers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAwFtC;;;;;;;;GAQG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,IAAI,CAEN;AAwDD,OAAO,EAAE,yBAAyB,EAAE,CAAC"}