@overkill-dev/run 0.0.55 → 0.0.57

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 (197) hide show
  1. package/engine/async-leak-diagnostics.d.ts.map +1 -1
  2. package/engine/async-leak-diagnostics.js +10 -0
  3. package/engine/async-leak-diagnostics.js.map +1 -1
  4. package/engine/case-execution.d.ts.map +1 -1
  5. package/engine/case-execution.js +2 -0
  6. package/engine/case-execution.js.map +1 -1
  7. package/engine/execution-async-leak-policy.d.ts.map +1 -1
  8. package/engine/execution-async-leak-policy.js +1 -0
  9. package/engine/execution-async-leak-policy.js.map +1 -1
  10. package/engine/execution-global-error-observer.d.ts.map +1 -1
  11. package/engine/execution-global-error-observer.js +3 -0
  12. package/engine/execution-global-error-observer.js.map +1 -1
  13. package/engine/execution-supervision.d.ts.map +1 -1
  14. package/engine/execution-supervision.js +11 -5
  15. package/engine/execution-supervision.js.map +1 -1
  16. package/engine/reporter-dispatcher.d.ts.map +1 -1
  17. package/engine/reporter-dispatcher.js +1 -0
  18. package/engine/reporter-dispatcher.js.map +1 -1
  19. package/engine/run-result.d.ts +6 -0
  20. package/engine/run-result.d.ts.map +1 -1
  21. package/engine/run-result.js +2 -0
  22. package/engine/run-result.js.map +1 -1
  23. package/package.json +10 -4
  24. package/packages/reporter-line/reporter-line.entry-point.js +19 -1
  25. package/packages/reporter-line/reporter-line.entry-point.js.map +1 -1
  26. package/packages/run/run.entry-point.d.ts +2 -1
  27. package/packages/run/run.entry-point.d.ts.map +1 -1
  28. package/readme.md +7 -1
  29. package/reporters/failure-summary.js +16 -0
  30. package/reporters/failure-summary.js.map +1 -0
  31. package/reporters/human-reporter-rendering.js +214 -0
  32. package/reporters/human-reporter-rendering.js.map +1 -0
  33. package/reporters/line-reporter.js +92 -97
  34. package/reporters/line-reporter.js.map +1 -1
  35. package/reporters/run-timing-summary.js +11 -0
  36. package/reporters/run-timing-summary.js.map +1 -0
  37. package/reporters/terminal.js +5 -1
  38. package/reporters/terminal.js.map +1 -1
  39. package/run/capability-policy.js +5 -0
  40. package/run/capability-policy.js.map +1 -1
  41. package/run/command-line-runner.d.ts.map +1 -1
  42. package/run/command-line-runner.js +10 -5
  43. package/run/command-line-runner.js.map +1 -1
  44. package/run/duration-history.d.ts +10 -1
  45. package/run/duration-history.d.ts.map +1 -1
  46. package/run/duration-history.js +3 -2
  47. package/run/duration-history.js.map +1 -1
  48. package/run/node-child-process-starters.js +1 -1
  49. package/run/node-child-process-starters.js.map +1 -1
  50. package/run/placement-trace.d.ts +9 -0
  51. package/run/placement-trace.d.ts.map +1 -1
  52. package/run/placement-trace.js.map +1 -1
  53. package/run/resource-lifecycle-boundaries.js +73 -0
  54. package/run/resource-lifecycle-boundaries.js.map +1 -0
  55. package/run/resource-lifecycle-projection.js +48 -0
  56. package/run/resource-lifecycle-projection.js.map +1 -0
  57. package/run/resource-lifecycle-session-acquirer.js +177 -0
  58. package/run/resource-lifecycle-session-acquirer.js.map +1 -0
  59. package/run/resource-lifecycle-startup-budget.js +81 -0
  60. package/run/resource-lifecycle-startup-budget.js.map +1 -0
  61. package/run/resource-lifecycle-state.d.ts +2 -0
  62. package/run/resource-lifecycle-state.d.ts.map +1 -1
  63. package/run/resource-lifecycle-state.js.map +1 -1
  64. package/run/resource-lifecycle-timing.js +85 -0
  65. package/run/resource-lifecycle-timing.js.map +1 -0
  66. package/run/resource-lifecycle.js +130 -235
  67. package/run/resource-lifecycle.js.map +1 -1
  68. package/run/run-collected-planning.js +23 -6
  69. package/run/run-collected-planning.js.map +1 -1
  70. package/run/run-collected-resolution.js +3 -2
  71. package/run/run-collected-resolution.js.map +1 -1
  72. package/run/run-collection-error-result.js +2 -2
  73. package/run/run-collection-error-result.js.map +1 -1
  74. package/run/run-config-schema.d.ts +7 -0
  75. package/run/run-config-schema.d.ts.map +1 -1
  76. package/run/run-config-schema.js +4 -0
  77. package/run/run-config-schema.js.map +1 -1
  78. package/run/run-config.d.ts.map +1 -1
  79. package/run/run-config.js +4 -4
  80. package/run/run-config.js.map +1 -1
  81. package/run/run-empty-shard.js +2 -2
  82. package/run/run-empty-shard.js.map +1 -1
  83. package/run/run-errors.d.ts.map +1 -1
  84. package/run/run-errors.js +1 -0
  85. package/run/run-errors.js.map +1 -1
  86. package/run/run-facts.js +4 -0
  87. package/run/run-facts.js.map +1 -1
  88. package/run/run-if-main-facts.js +2 -1
  89. package/run/run-if-main-facts.js.map +1 -1
  90. package/run/run-in-process-execution.js +3 -3
  91. package/run/run-in-process-execution.js.map +1 -1
  92. package/run/run-input-resolution.js +6 -0
  93. package/run/run-input-resolution.js.map +1 -1
  94. package/run/run-isolated-process.js +39 -24
  95. package/run/run-isolated-process.js.map +1 -1
  96. package/run/run-local-execution.js +12 -3
  97. package/run/run-local-execution.js.map +1 -1
  98. package/run/run-local-resolution.js +4 -2
  99. package/run/run-local-resolution.js.map +1 -1
  100. package/run/run-orchestrator-dependencies.d.ts +2 -0
  101. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  102. package/run/run-orchestrator-dependencies.js.map +1 -1
  103. package/run/run-support.js +14 -6
  104. package/run/run-support.js.map +1 -1
  105. package/run/run-timing-collection.d.ts +43 -0
  106. package/run/run-timing-collection.d.ts.map +1 -0
  107. package/run/run-timing-collection.js +173 -8
  108. package/run/run-timing-collection.js.map +1 -1
  109. package/run/run-types.d.ts +13 -3
  110. package/run/run-types.d.ts.map +1 -1
  111. package/run/run-types.js.map +1 -1
  112. package/run/run-validation.js +2 -0
  113. package/run/run-validation.js.map +1 -1
  114. package/run/run.js +31 -20
  115. package/run/run.js.map +1 -1
  116. package/run/supervised-child-process.d.ts +1 -0
  117. package/run/supervised-child-process.d.ts.map +1 -1
  118. package/run/supervised-child-process.js +5 -0
  119. package/run/supervised-child-process.js.map +1 -1
  120. package/run/supervised-child-test-plan.js +2 -0
  121. package/run/supervised-child-test-plan.js.map +1 -1
  122. package/run/supervised-child.js +3 -2
  123. package/run/supervised-child.js.map +1 -1
  124. package/run/supervised-protocol.js +14 -0
  125. package/run/supervised-protocol.js.map +1 -1
  126. package/run/supervised-run-collection.js +123 -0
  127. package/run/supervised-run-collection.js.map +1 -0
  128. package/run/supervised-run-resource-policy.js +6 -0
  129. package/run/supervised-run-resource-policy.js.map +1 -1
  130. package/run/supervised-run-runtime.js +9 -13
  131. package/run/supervised-run-runtime.js.map +1 -1
  132. package/run/supervised-run-state.d.ts +1 -0
  133. package/run/supervised-run-state.d.ts.map +1 -1
  134. package/run/supervised-run-state.js +17 -5
  135. package/run/supervised-run-state.js.map +1 -1
  136. package/run/supervised-run.js +76 -104
  137. package/run/supervised-run.js.map +1 -1
  138. package/run/work-unit-resource-constraints.js +6 -6
  139. package/run/work-unit-resource-constraints.js.map +1 -1
  140. package/run/worker-pool-collection.js +47 -20
  141. package/run/worker-pool-collection.js.map +1 -1
  142. package/run/worker-pool-command.js +68 -0
  143. package/run/worker-pool-command.js.map +1 -0
  144. package/run/worker-pool-dispatch-state.js +59 -0
  145. package/run/worker-pool-dispatch-state.js.map +1 -1
  146. package/run/worker-pool-dynamic-plan.js +62 -0
  147. package/run/worker-pool-dynamic-plan.js.map +1 -0
  148. package/run/worker-pool-execution.js +53 -83
  149. package/run/worker-pool-execution.js.map +1 -1
  150. package/run/worker-pool-hedge-dispatch.js +2 -1
  151. package/run/worker-pool-hedge-dispatch.js.map +1 -1
  152. package/run/worker-pool-host-process-starter.js +13 -0
  153. package/run/worker-pool-host-process-starter.js.map +1 -0
  154. package/run/worker-pool-host-process.js +53 -79
  155. package/run/worker-pool-host-process.js.map +1 -1
  156. package/run/worker-pool-host-protocol.js.map +1 -1
  157. package/run/worker-pool-host-signal.js +21 -0
  158. package/run/worker-pool-host-signal.js.map +1 -0
  159. package/run/worker-pool-host-task.js +55 -0
  160. package/run/worker-pool-host-task.js.map +1 -0
  161. package/run/worker-pool-lanes.js +51 -28
  162. package/run/worker-pool-lanes.js.map +1 -1
  163. package/run/worker-pool-lease-selection.js +85 -0
  164. package/run/worker-pool-lease-selection.js.map +1 -0
  165. package/run/worker-pool-lifecycle-lanes.js +4 -56
  166. package/run/worker-pool-lifecycle-lanes.js.map +1 -1
  167. package/run/worker-pool-placement-planning.js +9 -4
  168. package/run/worker-pool-placement-planning.js.map +1 -1
  169. package/run/worker-pool-protocol.js +2 -0
  170. package/run/worker-pool-protocol.js.map +1 -0
  171. package/run/worker-pool-resource-lifecycle-execution.js +155 -0
  172. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -0
  173. package/run/worker-pool-routing.js +6 -3
  174. package/run/worker-pool-routing.js.map +1 -1
  175. package/run/worker-pool-run.js +74 -19
  176. package/run/worker-pool-run.js.map +1 -1
  177. package/run/worker-pool-runtime.js +77 -17
  178. package/run/worker-pool-runtime.js.map +1 -1
  179. package/run/worker-pool-task-events.js +20 -0
  180. package/run/worker-pool-task-events.js.map +1 -1
  181. package/run/worker-pool-task-validation.js +11 -0
  182. package/run/worker-pool-task-validation.js.map +1 -0
  183. package/run/worker-pool-warm-lane-affinity.d.ts +13 -0
  184. package/run/worker-pool-warm-lane-affinity.d.ts.map +1 -0
  185. package/run/worker-pool-warm-lane-affinity.js +147 -0
  186. package/run/worker-pool-warm-lane-affinity.js.map +1 -0
  187. package/run/worker-pool-work-dispatcher.js +78 -154
  188. package/run/worker-pool-work-dispatcher.js.map +1 -1
  189. package/run/worker-pool-worker-plan.js +1 -0
  190. package/run/worker-pool-worker-plan.js.map +1 -1
  191. package/run/worker-pool-worker-resources.js +99 -0
  192. package/run/worker-pool-worker-resources.js.map +1 -0
  193. package/run/worker-pool-worker-timing.js +63 -0
  194. package/run/worker-pool-worker-timing.js.map +1 -0
  195. package/run/worker-pool-worker.js +93 -32
  196. package/run/worker-pool-worker.js.map +1 -1
  197. package/sbom.cdx.json +9 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool-lease-selection.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-lease-selection.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { emptyWorkUnitResourceConstraints } from "./run-types.js";
2
- const mixedLifecycleCount = 2;
3
- export const freshWorkerLifecycle = 'fresh-worker-per-unit';
4
- export const reuseWorkerLifecycle = 'reuse';
2
+ const freshWorkerLifecycle = 'fresh-worker-per-unit';
3
+ const reuseWorkerLifecycle = 'reuse';
5
4
  export const workerLifecycles = [reuseWorkerLifecycle, freshWorkerLifecycle];
6
- export function lifecycleCount(units, workerLifecycle) {
5
+ function lifecycleCount(units, workerLifecycle) {
7
6
  return units
8
7
  .filter(function hasWorkerLifecycle(unit) {
9
8
  return unit.workerLifecycle === workerLifecycle;
@@ -32,53 +31,6 @@ function firstUnitWorkerLifecycle(units) {
32
31
  return index === 0 ? unit.workerLifecycle : firstLifecycle;
33
32
  }, reuseWorkerLifecycle);
34
33
  }
35
- function proportionalExtraLaneLifecycle(units, remainingLanes, tiedLifecycle) {
36
- const freshUnits = lifecycleCount(units, freshWorkerLifecycle);
37
- const reuseUnits = lifecycleCount(units, reuseWorkerLifecycle);
38
- const totalUnits = freshUnits + reuseUnits;
39
- const freshRemainder = remainingLanes * freshUnits / totalUnits % 1;
40
- const reuseRemainder = remainingLanes * reuseUnits / totalUnits % 1;
41
- if (freshRemainder !== reuseRemainder) {
42
- return freshRemainder > reuseRemainder ? freshWorkerLifecycle : reuseWorkerLifecycle;
43
- }
44
- return tiedLifecycle;
45
- }
46
- function mixedLifecycleBaseLaneCounts(units, totalLaneCount) {
47
- const freshUnits = lifecycleCount(units, freshWorkerLifecycle);
48
- const reuseUnits = lifecycleCount(units, reuseWorkerLifecycle);
49
- const remainingLanes = totalLaneCount - mixedLifecycleCount;
50
- const unitCount = freshUnits + reuseUnits;
51
- return {
52
- freshLanes: 1 + Math.floor(remainingLanes * freshUnits / unitCount),
53
- remainingLanes,
54
- reuseLanes: 1 + Math.floor(remainingLanes * reuseUnits / unitCount)
55
- };
56
- }
57
- function mixedLifecycleLaneCounts(units, totalLaneCount) {
58
- let { freshLanes, remainingLanes, reuseLanes } = mixedLifecycleBaseLaneCounts(units, totalLaneCount);
59
- if (freshLanes + reuseLanes < totalLaneCount) {
60
- const targetLifecycle = proportionalExtraLaneLifecycle(units, remainingLanes, firstUnitWorkerLifecycle(units));
61
- if (targetLifecycle === freshWorkerLifecycle) {
62
- freshLanes += 1;
63
- }
64
- else {
65
- reuseLanes += 1;
66
- }
67
- }
68
- return new Map([
69
- [freshWorkerLifecycle, freshLanes],
70
- [reuseWorkerLifecycle, reuseLanes]
71
- ]);
72
- }
73
- function stableLifecycleLaneCounts(units, totalLaneCount) {
74
- if (lifecycleCount(units, freshWorkerLifecycle) === 0) {
75
- return new Map([[reuseWorkerLifecycle, totalLaneCount]]);
76
- }
77
- if (lifecycleCount(units, reuseWorkerLifecycle) === 0) {
78
- return new Map([[freshWorkerLifecycle, totalLaneCount]]);
79
- }
80
- return mixedLifecycleLaneCounts(units, totalLaneCount);
81
- }
82
34
  function balancedLifecycleLaneAllocation(units, freshUnits, reuseUnits, unitLoad) {
83
35
  return {
84
36
  freshLoad: lifecycleLoad(units, freshWorkerLifecycle, unitLoad),
@@ -161,9 +113,5 @@ function balancedLifecycleLaneCounts(units, totalLaneCount, unitLoad) {
161
113
  [reuseWorkerLifecycle, lanes.reuseLaneCount]
162
114
  ]);
163
115
  }
164
- export function lifecycleLaneCounts(units, totalLaneCount, assignmentPolicy, unitLoad) {
165
- return assignmentPolicy === 'case-count-balanced' || unitLoad !== null
166
- ? balancedLifecycleLaneCounts(units, totalLaneCount, unitLoad ?? caseCountPlacementLoad)
167
- : stableLifecycleLaneCounts(units, totalLaneCount);
168
- }
116
+ export { balancedLifecycleLaneCounts as lifecycleLaneCounts };
169
117
  //# sourceMappingURL=worker-pool-lifecycle-lanes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-lifecycle-lanes.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-lifecycle-lanes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool-lifecycle-lanes.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-lifecycle-lanes.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { workIdentityKey } from "../engine/identity.js";
2
2
  import { collectedRunCaseEntries } from "./collected-run-plan.js";
3
3
  import { selectDurationHistoryPlacement } from "./duration-history.js";
4
4
  import { workUnitsFromCollectedPlan } from "./work-unit-planning.js";
5
- import { workerPoolLanes, workerPoolPlacementAssignments } from "./worker-pool-lanes.js";
5
+ import { resolveWorkerCount, workerPoolLanesForCount, workerPoolPlacementAssignments } from "./worker-pool-lanes.js";
6
6
 
7
7
  function collectedEntriesByWorkKey(collectedPlan) {
8
8
  return new Map(collectedRunCaseEntries(collectedPlan).map(function toEntry(entry) {
@@ -26,18 +26,23 @@ export function createWorkerPoolPlacementResolution(input) {
26
26
  const durationHistory = input.assignmentPolicy === 'duration-history-balanced'
27
27
  ? selectDurationHistoryPlacement(units, input.durationHistoryIndex, input.nowMilliseconds)
28
28
  : { facts: null, unitDuration: null };
29
- const lanes = workerPoolLanes({
29
+ const laneInput = {
30
30
  assignmentPolicy: input.assignmentPolicy,
31
31
  availableParallelism: input.availableParallelism,
32
+ profileMaximum: input.profileMaximumWorkers,
33
+ requestedWorkers: input.requestedWorkers,
32
34
  units
33
- });
35
+ };
36
+ const workerCount = resolveWorkerCount(laneInput);
37
+ const lanes = workerPoolLanesForCount(workerCount.resolved);
34
38
  return {
35
39
  durationHistory: durationHistory.facts,
36
40
  placementPlan: {
37
41
  assignments: workerPoolPlacementAssignments(units, lanes, input.assignmentPolicy, durationHistory.unitDuration),
38
42
  lanes,
39
43
  units
40
- }
44
+ },
45
+ workerCount
41
46
  };
42
47
  }
43
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-placement-planning.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-placement-planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,uBAAuB,EAC1B,MAAM,yBAAyB,CAAC;AAYjC,OAAO,EACH,8BAA8B,EAGjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,0BAA0B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACH,eAAe,EACf,8BAA8B,EACjC,MAAM,wBAAwB,CAAC;AAEA;AA+BhC,SAAS,yBAAyB,CAC9B,aAA+B;IAE/B,OAAO,IAAI,GAAG,CACV,uBAAuB,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,KAAK;QAC7D,OAAO,CAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAE,CAAC;IACpD,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oCAAoC,CAChD,aAA+B,EAC/B,KAA6B;IAE7B,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,gBAAgB,CAAC,IAAI;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,IAAI;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,mCAAmC,CAC/C,KAAyC;IAEzC,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,KAAK,2BAA2B;QAC1E,CAAC,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,eAAe,CAAC;QAC1F,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,eAAe,CAAC;QAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,KAAK;KACR,CAAC,CAAC;IAEH,OAAO;QACH,eAAe,EAAE,eAAe,CAAC,KAAK;QACtC,aAAa,EAAE;YACX,WAAW,EAAE,8BAA8B,CACvC,KAAK,EACL,KAAK,EACL,KAAK,CAAC,gBAAgB,EACtB,eAAe,CAAC,YAAY,CAC/B;YACD,KAAK;YACL,KAAK;SACR;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"worker-pool-placement-planning.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-placement-planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,uBAAuB,EAC1B,MAAM,yBAAyB,CAAC;AAajC,OAAO,EACH,8BAA8B,EAGjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,0BAA0B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACH,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAEjC,MAAM,wBAAwB,CAAC;AAEA;AAkChC,SAAS,yBAAyB,CAC9B,aAA+B;IAE/B,OAAO,IAAI,GAAG,CACV,uBAAuB,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,KAAK;QAC7D,OAAO,CAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAE,CAAC;IACpD,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oCAAoC,CAChD,aAA+B,EAC/B,KAA6B;IAE7B,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,gBAAgB,CAAC,IAAI;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,IAAI;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,mCAAmC,CAC/C,KAAyC;IAEzC,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,KAAK,2BAA2B;QAC1E,CAAC,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,eAAe,CAAC;QAC1F,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAwB;QACnC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,cAAc,EAAE,KAAK,CAAC,qBAAqB;QAC3C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,KAAK;KACR,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,uBAAuB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE5D,OAAO;QACH,eAAe,EAAE,eAAe,CAAC,KAAK;QACtC,aAAa,EAAE;YACX,WAAW,EAAE,8BAA8B,CACvC,KAAK,EACL,KAAK,EACL,KAAK,CAAC,gBAAgB,EACtB,eAAe,CAAC,YAAY,CAC/B;YACD,KAAK;YACL,KAAK;SACR;QACD,WAAW;KACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const workerPoolRunResourceOwnerLane = 'run-resource-owner';
2
+ //# sourceMappingURL=worker-pool-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool-protocol.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-protocol.ts"],"names":[],"mappings":"AAyCA,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { MessageChannel as NodeMessageChannel } from 'node:worker_threads';
2
+ import { workIdentityKey } from "../engine/identity.js";
3
+ import { createBatchRunCommand, createRunCommand, firstPlanUnit, placementRunWork } from "./worker-pool-command.js";
4
+ import { workerPoolRunResourceOwnerLane } from "./worker-pool-protocol.js";
5
+ import { collectedPlanNeedsRunResourceOwner } from "./worker-pool-runtime.js";
6
+ function portTransferList(port) {
7
+ return [port];
8
+ }
9
+ function freshSignal() {
10
+ const controller = new AbortController();
11
+ return controller.signal;
12
+ }
13
+ function isWorkerPoolRunResourceOutput(value) {
14
+ return value !== null &&
15
+ typeof value === 'object' &&
16
+ Object.hasOwn(value, 'projectedResources') &&
17
+ Object.hasOwn(value, 'runnerErrors');
18
+ }
19
+ function isWorkerPoolDisposeResourceOutput(value) {
20
+ return value !== null &&
21
+ typeof value === 'object' &&
22
+ Object.hasOwn(value, 'runnerErrors');
23
+ }
24
+ function resourceTaskChannel() {
25
+ const { port1, port2 } = new NodeMessageChannel();
26
+ return {
27
+ close() {
28
+ port2.close();
29
+ },
30
+ port: port1
31
+ };
32
+ }
33
+ function recordResourceRunnerErrors(runtime, errors) {
34
+ if (errors.length > 0) {
35
+ runtime.runState.recordRunnerErrors(errors);
36
+ runtime.terminalFailure.write(true);
37
+ }
38
+ }
39
+ function recordResourceLifecycleFailure(runtime, message, cause) {
40
+ if (runtime.terminalFailure.read()) {
41
+ return;
42
+ }
43
+ runtime.runState.recordRunnerError({
44
+ attributedTo: null,
45
+ attributedToWork: null,
46
+ cause,
47
+ diagnostics: [],
48
+ message,
49
+ subtype: 'runtime-policy'
50
+ });
51
+ }
52
+ export function createWorkerPoolBatchRunCommand(runtime, members) {
53
+ return {
54
+ ...createBatchRunCommand(runtime, members)
55
+ };
56
+ }
57
+ export function workerPoolWorkHasStarted(startedCases, work) {
58
+ return startedCases.has(workIdentityKey(work));
59
+ }
60
+ async function acquireRunResourceOutput(runtime, plan, work) {
61
+ const channel = resourceTaskChannel();
62
+ try {
63
+ return await runtime.pool.run({
64
+ assignedWork: work,
65
+ boundaryUseCounts: [],
66
+ command: createRunCommand(runtime, firstPlanUnit(plan)),
67
+ kind: 'acquire-run-resources',
68
+ lane: workerPoolRunResourceOwnerLane,
69
+ lifecycle: runtime.lifecycle,
70
+ port: channel.port
71
+ }, {
72
+ name: 'runTask',
73
+ signal: freshSignal(),
74
+ transferList: portTransferList(channel.port)
75
+ });
76
+ }
77
+ finally {
78
+ channel.close();
79
+ }
80
+ }
81
+ async function acquireRunResources(runtime, plan) {
82
+ const work = placementRunWork(plan);
83
+ const output = await acquireRunResourceOutput(runtime, plan, work);
84
+ if (!isWorkerPoolRunResourceOutput(output)) {
85
+ throw new Error('Worker-pool run resource task returned an invalid result.');
86
+ }
87
+ recordResourceRunnerErrors(runtime, output.runnerErrors);
88
+ return { projectedResources: output.projectedResources, runResourceOwner: true, runWork: work };
89
+ }
90
+ async function runDisposalTaskOutput(runtime, lane, kind) {
91
+ const channel = resourceTaskChannel();
92
+ try {
93
+ return await runtime.pool.run({
94
+ kind,
95
+ lane,
96
+ lifecycle: runtime.lifecycle,
97
+ port: channel.port
98
+ }, {
99
+ name: 'runTask',
100
+ signal: freshSignal(),
101
+ transferList: portTransferList(channel.port)
102
+ });
103
+ }
104
+ finally {
105
+ channel.close();
106
+ }
107
+ }
108
+ async function runDisposalTask(runtime, lane, kind) {
109
+ const output = await runDisposalTaskOutput(runtime, lane, kind);
110
+ if (!isWorkerPoolDisposeResourceOutput(output)) {
111
+ throw new Error('Worker-pool resource disposal returned an invalid result.');
112
+ }
113
+ recordResourceRunnerErrors(runtime, output.runnerErrors);
114
+ }
115
+ async function disposeRunResources(runtime) {
116
+ try {
117
+ await runDisposalTask(runtime, workerPoolRunResourceOwnerLane, 'dispose-run-resources');
118
+ }
119
+ catch (error) {
120
+ recordResourceLifecycleFailure(runtime, 'Worker-pool run resource disposal failed.', error);
121
+ }
122
+ }
123
+ async function disposeLaneLifecycles(runtime, plan) {
124
+ await Promise.all(plan.lanes.map(async function disposeLane(lane) {
125
+ try {
126
+ await runDisposalTask(runtime, lane.id, 'dispose-lane-lifecycle');
127
+ }
128
+ catch (error) {
129
+ recordResourceLifecycleFailure(runtime, 'Worker-pool lane resource disposal failed.', error);
130
+ }
131
+ }));
132
+ }
133
+ export function collectedPlanNeedsLaneResourceLifecycle(runtime) {
134
+ return runtime.collectedPlan.files.some(function fileHasLaneResource(file) {
135
+ return file.cases.some(function caseHasLaneResource(testCase) {
136
+ return testCase.resourceAttachments.resourceGraph.some(function isLaneResource(resource) {
137
+ return resource.scope !== 'per-run';
138
+ });
139
+ });
140
+ });
141
+ }
142
+ export async function acquireWorkerPoolResourceLifecycle(runtime, placementPlan) {
143
+ return collectedPlanNeedsRunResourceOwner(runtime.resolvedRun)
144
+ ? await acquireRunResources(runtime, placementPlan)
145
+ : { projectedResources: { resources: [] }, runResourceOwner: false, runWork: placementRunWork(placementPlan) };
146
+ }
147
+ export async function disposeWorkerPoolResourceLifecycles(runtime, placementPlan, resourceLifecycle) {
148
+ if (!runtime.terminalFailure.read() && collectedPlanNeedsLaneResourceLifecycle(runtime)) {
149
+ await disposeLaneLifecycles(runtime, placementPlan);
150
+ }
151
+ if (resourceLifecycle.runResourceOwner) {
152
+ await disposeRunResources(runtime);
153
+ }
154
+ }
155
+ //# sourceMappingURL=worker-pool-resource-lifecycle-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool-resource-lifecycle-execution.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-resource-lifecycle-execution.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { createResourceUsageFromSamples } from "./resource-usage.js";
2
+ import { isWorkerPoolTaskKind } from "./worker-pool-task-validation.js";
2
3
  function routeForLifecycle(routes, workerLifecycle) {
3
4
  const route = routes.find(function hasWorkerLifecycle(candidate) {
4
5
  return candidate.workerLifecycle === workerLifecycle;
@@ -20,20 +21,22 @@ function routeForLane(routes, lane) {
20
21
  function isWorkerPoolTask(value) {
21
22
  return typeof value === 'object' &&
22
23
  value !== null &&
23
- Object.hasOwn(value, 'command') &&
24
- (Reflect.get(value, 'kind') === 'collect' || Reflect.get(value, 'kind') === 'run');
24
+ isWorkerPoolTaskKind(Reflect.get(value, 'kind'));
25
25
  }
26
26
  function taskWorkerLifecycle(task) {
27
27
  if (!isWorkerPoolTask(task)) {
28
28
  throw new Error('Worker-pool received an invalid task.');
29
29
  }
30
+ if (task.kind === 'dispose-lane-lifecycle' || task.kind === 'dispose-run-resources') {
31
+ return 'reuse';
32
+ }
30
33
  return task.command.workerLifecycle;
31
34
  }
32
35
  function taskLane(task) {
33
36
  if (!isWorkerPoolTask(task)) {
34
37
  throw new Error('Worker-pool received an invalid task.');
35
38
  }
36
- return task.kind === 'run' ? task.lane : null;
39
+ return task.kind === 'collect' ? null : task.lane;
37
40
  }
38
41
  function routeForTask(routes, task) {
39
42
  const lane = taskLane(task);
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-routing.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool-routing.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-routing.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,20 @@ import { executeWorkerPoolUnits } from "./worker-pool-execution.js";
4
4
  import { reportRunStart, startPoolResourceTracking } from "./worker-pool-resource-tracking.js";
5
5
  import { createEmptyWorkerPoolResult, finishWorkerPoolRun } from "./worker-pool-results.js";
6
6
  import { createWorkerPoolRuntime, workerPoolPlacementPlan } from "./worker-pool-runtime.js";
7
- export async function collectWorkerPoolRun(command, dependencies) {
8
- return await collectInWorkerPool(command, dependencies, createSupervisedRunState());
7
+ const emptyWorkerPoolTimingMetadata = Object.freeze({
8
+ label: null,
9
+ processId: null,
10
+ resource: null,
11
+ workerId: null
12
+ });
13
+ export async function collectWorkerPoolRun(command, dependencies, timing = null) {
14
+ return await collectInWorkerPool({
15
+ command,
16
+ createdPool: null,
17
+ dependencies,
18
+ runState: createSupervisedRunState(),
19
+ timing
20
+ });
9
21
  }
10
22
  async function releaseRuntimePool(runtime) {
11
23
  runtime.pool.setHostOutputSink?.(null);
@@ -13,16 +25,23 @@ async function releaseRuntimePool(runtime) {
13
25
  await runtime.pool.destroy();
14
26
  }
15
27
  }
28
+ async function releaseTimedRuntimePool(runtime, timing) {
29
+ if (runtime.destroyPool) {
30
+ await (timing?.measureAsync('worker-pool.shutdown', emptyWorkerPoolTimingMetadata, async function releaseTimedWorkerPoolRuntime() {
31
+ await releaseRuntimePool(runtime);
32
+ }) ?? releaseRuntimePool(runtime));
33
+ }
34
+ else {
35
+ await releaseRuntimePool(runtime);
36
+ }
37
+ }
16
38
  async function finishExecution(runtime, resolvedRun, startedAtMilliseconds, startedAtMicroseconds) {
17
39
  await reportRunStart(runtime, startedAtMilliseconds);
18
40
  await startPoolResourceTracking(runtime);
19
41
  return await finishWorkerPoolRun(runtime, await executeWorkerPoolUnits(runtime, workerPoolPlacementPlan(resolvedRun), startedAtMilliseconds), startedAtMicroseconds);
20
42
  }
21
- async function executeWorkerPoolRunWithState(resolvedRun, dependencies, state) {
22
- if (workerPoolPlacementPlan(resolvedRun).units.length === 0) {
23
- return await createEmptyWorkerPoolResult(resolvedRun, dependencies, state.collectionRunState);
24
- }
25
- const runtime = await createWorkerPoolRuntime({
43
+ async function createRuntime(resolvedRun, dependencies, state) {
44
+ return await createWorkerPoolRuntime({
26
45
  collectionRunnerErrors: resolvedRun.collectionRunnerErrors,
27
46
  createdPool: state.createdPool,
28
47
  dependencies,
@@ -30,15 +49,33 @@ async function executeWorkerPoolRunWithState(resolvedRun, dependencies, state) {
30
49
  return await state.finalizeResult(resolvedRun, result);
31
50
  },
32
51
  resolvedRun,
33
- runState: state.collectionRunState
52
+ runState: state.collectionRunState,
53
+ timing: state.timing
34
54
  });
55
+ }
56
+ async function finishExecutionWithRuntime(resolvedRun, dependencies, state, runtime) {
35
57
  const startedAtMilliseconds = dependencies.wallClock.currentEpochMilliseconds;
36
58
  const startedAtMicroseconds = dependencies.wallClock.currentMonotonicMicroseconds;
59
+ const readyAtMicroseconds = dependencies.wallClock.currentMonotonicMicroseconds;
60
+ state.timing?.record({
61
+ completedAtMicroseconds: readyAtMicroseconds,
62
+ kind: 'worker-pool.ready',
63
+ metadata: emptyWorkerPoolTimingMetadata,
64
+ startedAtMicroseconds: readyAtMicroseconds,
65
+ status: 'success'
66
+ });
67
+ return await finishExecution(runtime, resolvedRun, startedAtMilliseconds, startedAtMicroseconds);
68
+ }
69
+ async function executeWorkerPoolRunWithState(resolvedRun, dependencies, state) {
70
+ if (workerPoolPlacementPlan(resolvedRun).units.length === 0) {
71
+ return await createEmptyWorkerPoolResult(resolvedRun, dependencies, state.collectionRunState);
72
+ }
73
+ const runtime = await createRuntime(resolvedRun, dependencies, state);
37
74
  try {
38
- return await finishExecution(runtime, resolvedRun, startedAtMilliseconds, startedAtMicroseconds);
75
+ return await finishExecutionWithRuntime(resolvedRun, dependencies, state, runtime);
39
76
  }
40
77
  finally {
41
- await releaseRuntimePool(runtime);
78
+ await releaseTimedRuntimePool(runtime, state.timing);
42
79
  }
43
80
  }
44
81
  export async function executeWorkerPoolRun(resolvedRun, dependencies, options) {
@@ -48,19 +85,37 @@ export async function executeWorkerPoolRun(resolvedRun, dependencies, options) {
48
85
  createdPool: null
49
86
  });
50
87
  }
88
+ async function destroyCommandPool(pool, timing) {
89
+ if (pool !== null) {
90
+ await (timing?.measureAsync('worker-pool.shutdown', emptyWorkerPoolTimingMetadata, async function destroyTimedCollectionWorkerPool() {
91
+ await pool.destroy();
92
+ }) ?? pool.destroy());
93
+ }
94
+ }
51
95
  export async function runWorkerPoolCommand(command, dependencies, createResolvedRun, options) {
52
96
  const collectionRunState = createSupervisedRunState();
97
+ const timingOption = options.timing === null ? {} : { timing: options.timing };
98
+ const poolOptions = {
99
+ cwd: command.cwd,
100
+ hostProcess: command.hostProcess,
101
+ testFamily: command.testFamily,
102
+ ...timingOption,
103
+ workerCount: dependencies.availableParallelism,
104
+ workerLifecycle: command.workerLifecycle
105
+ };
53
106
  const pool = command.hostProcess.kind === 'child'
54
- ? dependencies.createWorkerPool({
55
- cwd: command.cwd,
56
- hostProcess: command.hostProcess,
57
- testFamily: command.testFamily,
58
- workerCount: dependencies.availableParallelism,
59
- workerLifecycle: command.workerLifecycle
60
- })
107
+ ? options.timing?.measure('worker-pool.start', emptyWorkerPoolTimingMetadata, function createTimedHostedWorkerPool() {
108
+ return dependencies.createWorkerPool(poolOptions);
109
+ }) ?? dependencies.createWorkerPool(poolOptions)
61
110
  : null;
62
111
  try {
63
- const collection = await collectInWorkerPool(command, dependencies, collectionRunState, pool);
112
+ const collection = await collectInWorkerPool({
113
+ command,
114
+ createdPool: pool,
115
+ dependencies,
116
+ runState: collectionRunState,
117
+ timing: options.timing
118
+ });
64
119
  return await executeWorkerPoolRunWithState(await createResolvedRun(collection), dependencies, {
65
120
  ...options,
66
121
  collectionRunState,
@@ -68,7 +123,7 @@ export async function runWorkerPoolCommand(command, dependencies, createResolved
68
123
  });
69
124
  }
70
125
  finally {
71
- await pool?.destroy();
126
+ await destroyCommandPool(pool, options.timing);
72
127
  }
73
128
  }
74
129
  //# sourceMappingURL=worker-pool-run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-run.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool-run.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-run.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,wBAAwB,EAE3B,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACH,sBAAsB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,cAAc,EACd,yBAAyB,EAC5B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAIlC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACjB,CAAC,CAAC;AAcH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAA0B,EAC1B,YAAyC,EACzC,SAAsC,IAAI;IAE1C,OAAO,MAAM,mBAAmB,CAAC;QAC7B,OAAO;QACP,WAAW,EAAE,IAAI;QACjB,YAAY;QACZ,QAAQ,EAAE,wBAAwB,EAAE;QACpC,MAAM;KACT,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,OAA6B;IAE7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CAClC,OAA6B,EAC7B,MAAmC;IAEnC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,EAAE,YAAY,CACvB,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,UAAU,6BAA6B;YACxC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACJ,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,OAA6B,EAC7B,WAAwB,EACxB,qBAA6B,EAC7B,qBAA6B;IAE7B,MAAM,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACrD,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,MAAM,mBAAmB,CAC5B,OAAO,EACP,MAAM,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC,EAClG,qBAAqB,CACxB,CAAC;AACN,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,WAAwB,EACxB,YAAyC,EACzC,KAA+B;IAE/B,OAAO,MAAM,uBAAuB,CAAC;QACjC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY;QACZ,KAAK,CAAC,cAAc,CAAC,MAAiB;YAClC,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,WAAW;QACX,QAAQ,EAAE,KAAK,CAAC,kBAAkB;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,WAAwB,EACxB,YAAyC,EACzC,KAA+B,EAC/B,OAA6B;IAE7B,MAAM,qBAAqB,GAAG,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC;IAC9E,MAAM,qBAAqB,GAAG,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAClF,MAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAEhF,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;QACjB,uBAAuB,EAAE,mBAAmB;QAC5C,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,6BAA6B;QACvC,qBAAqB,EAAE,mBAAmB;QAC1C,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,OAAO,MAAM,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,6BAA6B,CACxC,WAAwB,EACxB,YAAyC,EACzC,KAA+B;IAE/B,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAEtE,IAAI,CAAC;QACD,OAAO,MAAM,0BAA0B,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;YAAS,CAAC;QACP,MAAM,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,WAAwB,EACxB,YAAyC,EACzC,OAAmC;IAEnC,OAAO,MAAM,6BAA6B,CAAC,WAAW,EAAE,YAAY,EAAE;QAClE,GAAG,OAAO;QACV,kBAAkB,EAAE,wBAAwB,EAAE;QAC9C,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,IAA8B,EAC9B,MAAmC;IAEnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,EAAE,YAAY,CACvB,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,UAAU,gCAAgC;YAC3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAA0B,EAC1B,YAAyC,EACzC,iBAAmF,EACnF,OAAmC;IAEnC,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/E,MAAM,WAAW,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,YAAY;QACf,WAAW,EAAE,YAAY,CAAC,oBAAoB;QAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;KAC3C,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;QAC7C,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CACrB,mBAAmB,EACnB,6BAA6B,EAC7B,SAAS,2BAA2B;YAChC,OAAO,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CACJ,IAAI,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC;YACzC,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,YAAY;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,OAAO,MAAM,6BAA6B,CACtC,MAAM,iBAAiB,CAAC,UAAU,CAAC,EACnC,YAAY,EACZ;YACI,GAAG,OAAO;YACV,kBAAkB;YAClB,WAAW,EAAE,IAAI;SACpB,CACJ,CAAC;IACN,CAAC;YAAS,CAAC;QACP,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;AACL,CAAC"}