@gate-forge/pack-playwright 0.7.1 → 0.9.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 (205) hide show
  1. package/README.md +31 -0
  2. package/dist/constants.d.ts +13 -140
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +13 -148
  5. package/dist/constants.js.map +1 -1
  6. package/dist/cypress/plugin.d.ts +53 -0
  7. package/dist/cypress/plugin.d.ts.map +1 -0
  8. package/dist/cypress/plugin.js +369 -0
  9. package/dist/cypress/plugin.js.map +1 -0
  10. package/dist/cypress/spec-scan.d.ts +39 -0
  11. package/dist/cypress/spec-scan.d.ts.map +1 -0
  12. package/dist/cypress/spec-scan.js +301 -0
  13. package/dist/cypress/spec-scan.js.map +1 -0
  14. package/dist/diagnosis.d.ts +39 -0
  15. package/dist/diagnosis.d.ts.map +1 -0
  16. package/dist/diagnosis.js +63 -0
  17. package/dist/diagnosis.js.map +1 -0
  18. package/dist/discovery/adapter-projection.d.ts +13 -0
  19. package/dist/discovery/adapter-projection.d.ts.map +1 -0
  20. package/dist/discovery/adapter-projection.js +84 -0
  21. package/dist/discovery/adapter-projection.js.map +1 -0
  22. package/dist/discovery/config-locations.d.ts +5 -0
  23. package/dist/discovery/config-locations.d.ts.map +1 -0
  24. package/dist/discovery/config-locations.js +19 -0
  25. package/dist/discovery/config-locations.js.map +1 -0
  26. package/dist/discovery/cypress-runner-adapter.d.ts +112 -0
  27. package/dist/discovery/cypress-runner-adapter.d.ts.map +1 -0
  28. package/dist/discovery/cypress-runner-adapter.js +501 -0
  29. package/dist/discovery/cypress-runner-adapter.js.map +1 -0
  30. package/dist/discovery/discover.d.ts +53 -1
  31. package/dist/discovery/discover.d.ts.map +1 -1
  32. package/dist/discovery/discover.js +290 -30
  33. package/dist/discovery/discover.js.map +1 -1
  34. package/dist/discovery/git-ignore.d.ts +13 -0
  35. package/dist/discovery/git-ignore.d.ts.map +1 -0
  36. package/dist/discovery/git-ignore.js +62 -0
  37. package/dist/discovery/git-ignore.js.map +1 -0
  38. package/dist/discovery/index.d.ts +10 -0
  39. package/dist/discovery/index.d.ts.map +1 -1
  40. package/dist/discovery/index.js +10 -0
  41. package/dist/discovery/index.js.map +1 -1
  42. package/dist/discovery/playwright-runner-adapter.d.ts +108 -0
  43. package/dist/discovery/playwright-runner-adapter.d.ts.map +1 -0
  44. package/dist/discovery/playwright-runner-adapter.js +185 -0
  45. package/dist/discovery/playwright-runner-adapter.js.map +1 -0
  46. package/dist/discovery/prepare-barrier.d.ts +522 -0
  47. package/dist/discovery/prepare-barrier.d.ts.map +1 -0
  48. package/dist/discovery/prepare-barrier.js +739 -0
  49. package/dist/discovery/prepare-barrier.js.map +1 -0
  50. package/dist/discovery/pytest-adapter.d.ts.map +1 -1
  51. package/dist/discovery/pytest-adapter.js +6 -2
  52. package/dist/discovery/pytest-adapter.js.map +1 -1
  53. package/dist/discovery/pytest-runner-adapter.d.ts +124 -0
  54. package/dist/discovery/pytest-runner-adapter.d.ts.map +1 -0
  55. package/dist/discovery/pytest-runner-adapter.js +454 -0
  56. package/dist/discovery/pytest-runner-adapter.js.map +1 -0
  57. package/dist/discovery/reconcile.d.ts +89 -11
  58. package/dist/discovery/reconcile.d.ts.map +1 -1
  59. package/dist/discovery/reconcile.js +440 -78
  60. package/dist/discovery/reconcile.js.map +1 -1
  61. package/dist/discovery/runner-env.d.ts +88 -2
  62. package/dist/discovery/runner-env.d.ts.map +1 -1
  63. package/dist/discovery/runner-env.js +142 -4
  64. package/dist/discovery/runner-env.js.map +1 -1
  65. package/dist/discovery/runner-file-scope.d.ts +114 -0
  66. package/dist/discovery/runner-file-scope.d.ts.map +1 -0
  67. package/dist/discovery/runner-file-scope.js +638 -0
  68. package/dist/discovery/runner-file-scope.js.map +1 -0
  69. package/dist/discovery/static-discovery.d.ts +49 -3
  70. package/dist/discovery/static-discovery.d.ts.map +1 -1
  71. package/dist/discovery/static-discovery.js +477 -18
  72. package/dist/discovery/static-discovery.js.map +1 -1
  73. package/dist/discovery/supervised-run.d.ts +199 -10
  74. package/dist/discovery/supervised-run.d.ts.map +1 -1
  75. package/dist/discovery/supervised-run.js +350 -39
  76. package/dist/discovery/supervised-run.js.map +1 -1
  77. package/dist/discovery/trusted-config.d.ts +180 -6
  78. package/dist/discovery/trusted-config.d.ts.map +1 -1
  79. package/dist/discovery/trusted-config.js +279 -10
  80. package/dist/discovery/trusted-config.js.map +1 -1
  81. package/dist/discovery/vitest-runner-adapter.d.ts +172 -0
  82. package/dist/discovery/vitest-runner-adapter.d.ts.map +1 -0
  83. package/dist/discovery/vitest-runner-adapter.js +607 -0
  84. package/dist/discovery/vitest-runner-adapter.js.map +1 -0
  85. package/dist/fixture/consumer-runner.d.ts +4 -0
  86. package/dist/fixture/consumer-runner.d.ts.map +1 -0
  87. package/dist/fixture/consumer-runner.js +38 -0
  88. package/dist/fixture/consumer-runner.js.map +1 -0
  89. package/dist/fixture/evidence.d.ts +27 -0
  90. package/dist/fixture/evidence.d.ts.map +1 -1
  91. package/dist/fixture/evidence.js +12 -0
  92. package/dist/fixture/evidence.js.map +1 -1
  93. package/dist/fixture/fixture.d.ts +2 -1
  94. package/dist/fixture/fixture.d.ts.map +1 -1
  95. package/dist/fixture/fixture.js +1 -17
  96. package/dist/fixture/fixture.js.map +1 -1
  97. package/dist/fixture/witness-client.d.ts +6 -174
  98. package/dist/fixture/witness-client.d.ts.map +1 -1
  99. package/dist/fixture/witness-client.js +6 -267
  100. package/dist/fixture/witness-client.js.map +1 -1
  101. package/dist/index.d.ts +9 -6
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +5 -4
  104. package/dist/index.js.map +1 -1
  105. package/dist/json.d.ts +6 -12
  106. package/dist/json.d.ts.map +1 -1
  107. package/dist/json.js +6 -17
  108. package/dist/json.js.map +1 -1
  109. package/dist/reporter/project-graph-reporter.d.ts +121 -0
  110. package/dist/reporter/project-graph-reporter.d.ts.map +1 -0
  111. package/dist/reporter/project-graph-reporter.js +132 -0
  112. package/dist/reporter/project-graph-reporter.js.map +1 -0
  113. package/dist/reporter/reporter.cjs.map +1 -1
  114. package/dist/reporter/reporter.d.ts +93 -4
  115. package/dist/reporter/reporter.d.ts.map +1 -1
  116. package/dist/reporter/reporter.js +174 -18
  117. package/dist/reporter/reporter.js.map +1 -1
  118. package/dist/runner-claims.d.ts +13 -0
  119. package/dist/runner-claims.d.ts.map +1 -0
  120. package/dist/runner-claims.js +46 -0
  121. package/dist/runner-claims.js.map +1 -0
  122. package/dist/runner-resolution.d.ts +3 -0
  123. package/dist/runner-resolution.d.ts.map +1 -0
  124. package/dist/runner-resolution.js +14 -0
  125. package/dist/runner-resolution.js.map +1 -0
  126. package/dist/supervisor/client.d.ts +23 -1
  127. package/dist/supervisor/client.d.ts.map +1 -1
  128. package/dist/supervisor/client.js +49 -0
  129. package/dist/supervisor/client.js.map +1 -1
  130. package/dist/supervisor/drain.d.ts +65 -0
  131. package/dist/supervisor/drain.d.ts.map +1 -1
  132. package/dist/supervisor/drain.js +353 -9
  133. package/dist/supervisor/drain.js.map +1 -1
  134. package/dist/supervisor/index.d.ts +7 -3
  135. package/dist/supervisor/index.d.ts.map +1 -1
  136. package/dist/supervisor/index.js +7 -3
  137. package/dist/supervisor/index.js.map +1 -1
  138. package/dist/supervisor/spool.d.ts +65 -2
  139. package/dist/supervisor/spool.d.ts.map +1 -1
  140. package/dist/supervisor/spool.js +47 -0
  141. package/dist/supervisor/spool.js.map +1 -1
  142. package/dist/surface.d.ts +6 -207
  143. package/dist/surface.d.ts.map +1 -1
  144. package/dist/surface.js +6 -264
  145. package/dist/surface.js.map +1 -1
  146. package/dist/vitest/index.d.ts +23 -0
  147. package/dist/vitest/index.d.ts.map +1 -0
  148. package/dist/vitest/index.js +356 -0
  149. package/dist/vitest/index.js.map +1 -0
  150. package/dist/vitest/reporter.d.ts +83 -0
  151. package/dist/vitest/reporter.d.ts.map +1 -0
  152. package/dist/vitest/reporter.js +211 -0
  153. package/dist/vitest/reporter.js.map +1 -0
  154. package/dist/vitest/worker-slot.d.ts +36 -0
  155. package/dist/vitest/worker-slot.d.ts.map +1 -0
  156. package/dist/vitest/worker-slot.js +51 -0
  157. package/dist/vitest/worker-slot.js.map +1 -0
  158. package/dist/witness/adapter-registry.d.ts +6 -50
  159. package/dist/witness/adapter-registry.d.ts.map +1 -1
  160. package/dist/witness/adapter-registry.js +6 -257
  161. package/dist/witness/adapter-registry.js.map +1 -1
  162. package/dist/witness/behavior-request.d.ts +6 -76
  163. package/dist/witness/behavior-request.d.ts.map +1 -1
  164. package/dist/witness/behavior-request.js +6 -273
  165. package/dist/witness/behavior-request.js.map +1 -1
  166. package/dist/witness/behavior.d.ts +6 -48
  167. package/dist/witness/behavior.d.ts.map +1 -1
  168. package/dist/witness/behavior.js +6 -114
  169. package/dist/witness/behavior.js.map +1 -1
  170. package/dist/witness/bin.d.ts +6 -17
  171. package/dist/witness/bin.d.ts.map +1 -1
  172. package/dist/witness/bin.js +6 -168
  173. package/dist/witness/bin.js.map +1 -1
  174. package/dist/witness/browser.d.ts +14 -206
  175. package/dist/witness/browser.d.ts.map +1 -1
  176. package/dist/witness/browser.js +15 -654
  177. package/dist/witness/browser.js.map +1 -1
  178. package/dist/witness/classifications.d.ts +6 -38
  179. package/dist/witness/classifications.d.ts.map +1 -1
  180. package/dist/witness/classifications.js +6 -83
  181. package/dist/witness/classifications.js.map +1 -1
  182. package/dist/witness/env-attestation.d.ts +6 -94
  183. package/dist/witness/env-attestation.d.ts.map +1 -1
  184. package/dist/witness/env-attestation.js +6 -198
  185. package/dist/witness/env-attestation.js.map +1 -1
  186. package/dist/witness/fixture-provider.d.ts +6 -82
  187. package/dist/witness/fixture-provider.d.ts.map +1 -1
  188. package/dist/witness/fixture-provider.js +6 -105
  189. package/dist/witness/fixture-provider.js.map +1 -1
  190. package/dist/witness/loopback-pins.d.ts +6 -75
  191. package/dist/witness/loopback-pins.d.ts.map +1 -1
  192. package/dist/witness/loopback-pins.js +6 -240
  193. package/dist/witness/loopback-pins.js.map +1 -1
  194. package/dist/witness/server.d.ts +8 -26
  195. package/dist/witness/server.d.ts.map +1 -1
  196. package/dist/witness/server.js +24 -3761
  197. package/dist/witness/server.js.map +1 -1
  198. package/dist/witness/types.d.ts +6 -882
  199. package/dist/witness/types.d.ts.map +1 -1
  200. package/dist/witness/types.js +9 -1
  201. package/dist/witness/types.js.map +1 -1
  202. package/examples/overlay-proof.spec.js +75 -0
  203. package/package.json +12 -3
  204. package/python/gateforge_pytest_plugin.py +462 -0
  205. package/python/__pycache__/gateforge_persistence_intents.cpython-314.pyc +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD;+CAC+C;AAC/C,MAAM,uBAAuB,GAAG;IAC9B,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;CACf,CAAC;AAEX;oEACoE;AACpE,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,cAAc;IACd,MAAM;IACN,MAAM;IACN,cAAc;IACd,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;4DAC4D;AAC5D,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAoCD;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,SAAiB;IACvD,0DAA0D;IAC1D,iEAAiE;IACjE,qEAAqE;IACrE,iEAAiE;IACjE,6DAA6D;IAC7D,iEAAiE;IACjE,oEAAoE;IACpE,iCAAiC;IACjC,MAAM,WAAW,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,4BAA4B,CAAC,UAAU,CAAC,EAAE,CAAC;YACjE,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,GAAG,4BAA4B,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO;QACL,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAsB,EAAE,iBAA0B;IAC7E,MAAM,KAAK,GAAsB,EAAE,GAAG,GAAG,EAAE,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,iBAAiB,KAAK,SAAS;QAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,iBAAiB,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+DAA+D;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,KAAK;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,sDAAsD;QACtE,CAAC;IACH,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IACV,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA+BD,kEAAkE;AAClE,SAAS,cAAc,CAAC,GAAW,EAAE,IAAY;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAG/C;IACC,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4FAA4F;YACpG,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAC;IAC/D,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACxD,IAAI,SAAS,KAAK,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;IACpF,IAAI,OAAwG,CAAC;IAC7G,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;YAC1C,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;YACjD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,GAAG,MAAM,IAAI,OAAO,CACzB,CAAC,MAAM,EAAE,EAAE;YACX,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAuG,EAAQ,EAAE;gBAC/H,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,uEAAuE;YACvE,iEAAiE;YACjE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACF,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAAC,oCAAoC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAC1B,kCAAkC,MAAM,CAAC,SAAS,CAAC,oEAAoE,CACxH,CAAC;IACJ,CAAC;IACD,IAAI,QAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAqB,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAC1B,uDAAuD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YAC9E,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACxD,CAAC;IACJ,CAAC;IACD,gEAAgE;IAChE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,sBAAsB;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/G,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,aAAuB,EAAE,IAAmB,EAAQ,EAAE;QACjG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,gEAAgE;YAChE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;YAC9D,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,KAAK,GAAG,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACnG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;oBAAE,SAAS;gBAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;oBACvC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC/F,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;wBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,OAAO;wBACP,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE;wBACnE,QAAQ,EAAE;4BACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;4BAC/F,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;4BACpB,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;yBACtB;wBACD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;wBAChD,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClH,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CACjB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;iCACrB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,qBAAqB,CAAC;iCACjE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;iCACjD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CACnD,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IACF,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,kCAAkC,UAAU,IAAI,YAAY,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,8EAA8E;QACzL,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAA4B;IAC1E,OAAO,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IAClD,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EACL,sBAAsB,GAGvB,MAAM,uCAAuC,CAAC;AAE/C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;4DAC4D;AAC5D,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AA0DD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,aAAqB,MAAM,CAAC,IAAI,CAAC,GAAG;IAC5E,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;AACzG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,SAAiB;IACvD,0DAA0D;IAC1D,iEAAiE;IACjE,qEAAqE;IACrE,iEAAiE;IACjE,6DAA6D;IAC7D,kEAAkE;IAClE,2DAA2D;IAC3D,+DAA+D;IAC/D,KAAK,MAAM,SAAS,IAAI,4BAA4B,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,GAAG,4BAA4B,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAGD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAsB,EAAE,iBAA0B;IAC7E,MAAM,KAAK,GAAsB,EAAE,GAAG,GAAG,EAAE,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,iBAAiB,KAAK,SAAS;QAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,iBAAiB,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,+DAA+D;IAC/E,CAAC;IACD,MAAM,OAAO,GAAG,KAAK;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;SAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,sDAAsD;QACtE,CAAC;IACH,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IACV,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,OAA0B,EAAE,IAAY;IAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,4FAA4F;QAC9F,CAAC,CAAC,8EAA8E,CAAC;IACnF,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,GAAG,IAAI,kBAAkB,MAAM,GAAG;QACpC,CAAC,CAAC,GAAG,IAAI,kEAAkE,CAC9E;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CACL,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,+DAA+D,MAAM,EAAE,CAC1G,CAAC;AACJ,CAAC;AA+BD;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,0EAA0E;AAC1E,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAClG,CAAC;AAED,iEAAiE;AACjE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC5F,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,GAAW,EAAE,IAAY;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAC;QAC3G,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAE,GAAW;IAC3D,IAAI,CAAC,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;IACnF,MAAM,IAAI,GAAG,cAAc,gBAAgB,CAAC,OAAO,CAAC,IAAI,iBAAiB,mBAAmB,CAAC;IAC7F,OAAO,CACL,GAAG,OAAO,0EAA0E;QACpF,gDAAgD,MAAM,wBAAwB,IAAI,IAAI;QACtF,6FAA6F;QAC7F,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAI/C;IACC,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACtC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4FAA4F;YACpG,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAC;IAC/D,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACtD,oEAAoE;IACpE,kEAAkE;IAClE,sEAAsE;IACtE,4DAA4D;IAC5D,yDAAyD;IACzD,kEAAkE;IAClE,4DAA4D;IAC5D,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpD,gEAAgE;IAChE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,kBAAkB,GAAG,yBAAyB,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG;QACX,GAAG;QACH,MAAM;QACN,QAAQ;QACR,kBAAkB,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KACnF,CAAC;IACF,IAAI,SAAS,KAAK,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,iBAAiB,GACrB,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,IAAI,OAAwG,CAAC;IAC7G,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;YAC9C,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,yDAAyD;QACzD,QAAQ,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC;QAC/C,QAAQ,CAAC,6BAA6B,CAAC,GAAG,UAAU,CAAC;QACrD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;YAC1C,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,GAAG,MAAM,IAAI,OAAO,CACzB,CAAC,MAAM,EAAE,EAAE;YACX,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAuG,EAAQ,EAAE;gBAC/H,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,uEAAuE;YACvE,iEAAiE;YACjE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACA,IAAI,CAAC;YACH,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,8DAA8D;YAC9D,gEAAgE;YAChE,kEAAkE;YAClE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC;YACH,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,iBAAiB,KAAK,SAAS;YAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAAC,oCAAoC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAC1B,kCAAkC,MAAM,CAAC,SAAS,CAAC,oEAAoE,CACxH,CAAC;IACJ,CAAC;IACD,IAAI,QAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAqB,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAC1B,8DAA8D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB;YAChG,kGAAkG;YAClG,qEAAqE;YACrE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACxD,CAAC;IACJ,CAAC;IACD,gEAAgE;IAChE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,sBAAsB;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/G,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,aAAuB,EAAE,IAAmB,EAAQ,EAAE;QACjG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,gEAAgE;YAChE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;YAC9D,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,KAAK,GAAG,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACnG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;oBAAE,SAAS;gBAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;oBACvC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC/F,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;wBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,OAAO;wBACP,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE;wBACnE,QAAQ,EAAE;4BACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;4BAC/F,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;4BACpB,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;yBACtB;wBACD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;wBAChD,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClH,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CACjB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;iCACrB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,qBAAqB,CAAC;iCACjE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;iCACjD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CACnD,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IACF,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACpH,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,yDAAyD;IACzD,IAAI,mBAAyD,CAAC;IAC9D,IAAI,oBAAwD,CAAC;IAC7D,IAAI,aAAiD,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAkC,CAAC;YACtE,mEAAmE;YACnE,gEAAgE;YAChE,MAAM,KAAK,GAAY,MAAM,CAAC,mBAAmB,CAAC;YAClD,MAAM,MAAM,GAAY,MAAM,CAAC,oBAAoB,CAAC;YACpD,MAAM,SAAS,GAAY,MAAM,CAAC,aAAa,CAAC;YAChD,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,mEAAmE;gBACnE,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA6B,CAAC;gBACrE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;gBACpE,IAAI,UAAU,GAAG,IAAI,CAAC;gBACtB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,UAAU,GAAG,KAAK,CAAC;wBACnB,MAAM;oBACR,CAAC;oBACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpF,CAAC;gBACD,IAAI,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnD,2DAA2D;4BAC3D,wDAAwD;4BACxD,mBAAmB;4BACnB,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;wBAC1B,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,aAAa,GAAG,YAAY,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,mBAAmB,GAAG,YAAY,CAAC;oBACnC,6DAA6D;oBAC7D,oDAAoD;oBACpD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;wBAAE,oBAAoB,GAAG,aAAa,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB,GAAG,SAAS,CAAC;YAChC,oBAAoB,GAAG,SAAS,CAAC;YACjC,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,oCAAoC,CAAC;IAC3C,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,kCAAkC,UAAU,IAAI,YAAY,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;YACtG,kCAAkC,SAAS,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC;QACxF,SAAS;QACT,MAAM;QACN,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAgC,CAAC;QACnD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAmC,EACnC,KAAgC;IAEhC;;;;;;;;OAQG;IACH,MAAM,KAAK,GAAG,CAAC,QAAwB,EAAU,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,YAAY,GAAqB,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC5C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD;;;;;;;;;OASG;IACH,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAE,KAAqB,EAAU,EAAE;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC;IACF,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QACxC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAA4B;IAC1E,OAAO,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IAClD,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -7,7 +7,11 @@
7
7
  *
8
8
  * The child env is now built from an explicit allowlist, never from the
9
9
  * ambient environment wholesale:
10
- * - system basics the runner needs (PATH/HOME, locale, temp dirs);
10
+ * - system basics the runner needs (PATH/HOME, locale, temp dirs) plus
11
+ * the operator-set `PLAYWRIGHT_BROWSERS_PATH` cache directory, which
12
+ * the readiness check resolves through the same name (without it the
13
+ * doctor green-lights one cache while the child launches from
14
+ * `$HOME/.cache/ms-playwright`);
11
15
  * - the supervisor-supplied run variables (`RunnerExecutionEnv.vars` —
12
16
  * already sanitized by the CLI);
13
17
  * - NON-secret `GATEFORGE_*` run flags from the ambient environment.
@@ -82,7 +86,22 @@ export declare const RUNNER_SECRET_ENV: readonly string[];
82
86
  */
83
87
  export declare const RUNNER_PARENT_SIDE_ENV: readonly string[];
84
88
  export declare const RUNNER_GATEFORGE_ALLOWLIST: readonly string[];
85
- /** System basics (path/home/locale/temp) the runner needs to function. */
89
+ /**
90
+ * System basics (path/home/locale/temp) the runner needs to function,
91
+ * plus the one operator-set CACHE PATH the runner resolves through:
92
+ * `enforcement doctor` reads the browser cache through
93
+ * `PLAYWRIGHT_BROWSERS_PATH` and falls back to `$HOME/.cache/ms-playwright`
94
+ * (`cli/playwright-browsers.ts` `defaultBrowsersPath`), so the child
95
+ * must see the same variable or the doctor green-lights one directory
96
+ * while the run launches from another (every test then dies with
97
+ * `Executable doesn't exist`). It is a directory an operator chose, never
98
+ * a secret — the same class as `HOME` and the XDG names the CLI already
99
+ * forwards. The witnessed pytest/session children need no such entry:
100
+ * they inherit the ambient environment minus every `GATEFORGE_*` name
101
+ * ({@link buildWitnessedPytestChildEnv},
102
+ * {@link buildWitnessedSessionRunnerEnv}), so this variable already
103
+ * crosses there.
104
+ */
86
105
  export declare const RUNNER_SYSTEM_ALLOWLIST: readonly string[];
87
106
  /**
88
107
  * Builds the runner child's environment from the ALLOWLIST (never a
@@ -90,6 +109,18 @@ export declare const RUNNER_SYSTEM_ALLOWLIST: readonly string[];
90
109
  * `vars` win over the ambient environment; only allowlisted names are
91
110
  * copied at all.
92
111
  *
112
+ * The child's own record has NO prototype. Every name here is an
113
+ * arbitrary operator- or supervisor-chosen name, and `constructor`,
114
+ * `toString` and `__proto__` are both legal environment names and
115
+ * properties every plain object inherits: on a plain object an
116
+ * assignment to `__proto__` stores no own key at all (the inherited
117
+ * accessor swallows it), and a membership test by lookup
118
+ * (`child[name] === undefined`) reports an inherited property as
119
+ * already present. This map is the trusted baseline the freeze
120
+ * controller projects every body worker back to, so a name dropped here
121
+ * is a name no body worker can ever be projected back to — it keeps
122
+ * whatever the preparation wrote instead.
123
+ *
93
124
  * Args:
94
125
  * vars: supervisor-supplied run variables (must be child-safe; a
95
126
  * secret name here is a wiring bug and throws).
@@ -141,4 +172,59 @@ export declare const WITNESSED_PYTEST_RUN_ENV: readonly string[];
141
172
  * name that is not on the witnessed allowlist.
142
173
  */
143
174
  export declare function buildWitnessedPytestChildEnv(vars: Readonly<Record<string, string>>, ambient?: NodeJS.ProcessEnv): Record<string, string>;
175
+ /**
176
+ * The `GATEFORGE_*` names a witnessed session runner child (a runner
177
+ * adapter's supervised execute that resolves per-test sessions and
178
+ * writes the lifecycle spool: the pytest runner child and the Vitest
179
+ * runner child) may receive: the run identity (STATE_DIR + RUN_ID
180
+ * locate the lifecycle spool) plus the non-secret submission wiring
181
+ * (WITNESS_URL + RUN_TOKEN) and the app base URL the session proxy
182
+ * fronts. The verifier key and every other parent-side name are NEVER
183
+ * on this list — same trust model as
184
+ * {@link buildWitnessedPytestChildEnv}, one more non-secret name.
185
+ */
186
+ export declare const WITNESSED_SESSION_RUN_ENV: readonly string[];
187
+ /**
188
+ * Builds a witnessed session runner child's environment: the ambient
189
+ * environment minus EVERY `GATEFORGE_*` name, plus the
190
+ * {@link WITNESSED_SESSION_RUN_ENV} names from `vars`.
191
+ *
192
+ * Fail closed, same discipline as the other builders: a caller that
193
+ * stuffs the verifier key — or any parent-side name OUTSIDE the
194
+ * session allowlist — into `vars` is a wiring bug and throws instead
195
+ * of leaking.
196
+ *
197
+ * Args:
198
+ * vars: supervisor-supplied run variables (run-scoped allowlist wins
199
+ * over ambient; a forbidden name here throws).
200
+ * ambient: the parent environment (default `process.env`).
201
+ *
202
+ * Returns:
203
+ * Record<string, string>: the runner child's environment.
204
+ *
205
+ * Throws:
206
+ * RunnerEnvError: when `vars` carries the verifier key or a
207
+ * parent-side name that is not on the session allowlist.
208
+ */
209
+ export declare function buildWitnessedSessionRunnerEnv(vars: Readonly<Record<string, string>>, ambient?: NodeJS.ProcessEnv): Record<string, string>;
210
+ /**
211
+ * Builds the pytest runner child's environment for a supervised,
212
+ * session-producing run (the `PytestRunnerAdapter` execute path): the
213
+ * neutral witnessed-session environment plus the plugin directory
214
+ * prepended to PYTHONPATH so `-p gateforge_pytest_plugin` resolves.
215
+ *
216
+ * Args:
217
+ * vars: supervisor-supplied run variables (run-scoped allowlist wins
218
+ * over ambient; a forbidden name here throws).
219
+ * ambient: the parent environment (default `process.env`).
220
+ * pluginDir: absolute directory the pack ships the pytest plugin in.
221
+ *
222
+ * Returns:
223
+ * Record<string, string>: the runner child's environment.
224
+ *
225
+ * Throws:
226
+ * RunnerEnvError: when `vars` carries the verifier key or a
227
+ * parent-side name that is not on the session allowlist.
228
+ */
229
+ export declare function buildWitnessedPytestSessionEnv(vars: Readonly<Record<string, string>>, ambient: NodeJS.ProcessEnv | undefined, pluginDir: string): Record<string, string>;
144
230
  //# sourceMappingURL=runner-env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-env.d.ts","sourceRoot":"","sources":["../../src/discovery/runner-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,4DAA4D;AAC5D,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAG9C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAUnD,CAAC;AACF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAOvD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAWpD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4CxB"}
1
+ {"version":3,"file":"runner-env.d.ts","sourceRoot":"","sources":["../../src/discovery/runner-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAEH,4DAA4D;AAC5D,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAG9C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAUnD,CAAC;AACF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAOvD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAYpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+BxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4CxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAStD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,UAAU,YAAc,EACxC,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB"}
@@ -7,7 +7,11 @@
7
7
  *
8
8
  * The child env is now built from an explicit allowlist, never from the
9
9
  * ambient environment wholesale:
10
- * - system basics the runner needs (PATH/HOME, locale, temp dirs);
10
+ * - system basics the runner needs (PATH/HOME, locale, temp dirs) plus
11
+ * the operator-set `PLAYWRIGHT_BROWSERS_PATH` cache directory, which
12
+ * the readiness check resolves through the same name (without it the
13
+ * doctor green-lights one cache while the child launches from
14
+ * `$HOME/.cache/ms-playwright`);
11
15
  * - the supervisor-supplied run variables (`RunnerExecutionEnv.vars` —
12
16
  * already sanitized by the CLI);
13
17
  * - NON-secret `GATEFORGE_*` run flags from the ambient environment.
@@ -105,7 +109,22 @@ export const RUNNER_GATEFORGE_ALLOWLIST = [
105
109
  'GATEFORGE_TARGET_FINGERPRINT',
106
110
  'GATEFORGE_REPORTER_FAIL_RUN',
107
111
  ];
108
- /** System basics (path/home/locale/temp) the runner needs to function. */
112
+ /**
113
+ * System basics (path/home/locale/temp) the runner needs to function,
114
+ * plus the one operator-set CACHE PATH the runner resolves through:
115
+ * `enforcement doctor` reads the browser cache through
116
+ * `PLAYWRIGHT_BROWSERS_PATH` and falls back to `$HOME/.cache/ms-playwright`
117
+ * (`cli/playwright-browsers.ts` `defaultBrowsersPath`), so the child
118
+ * must see the same variable or the doctor green-lights one directory
119
+ * while the run launches from another (every test then dies with
120
+ * `Executable doesn't exist`). It is a directory an operator chose, never
121
+ * a secret — the same class as `HOME` and the XDG names the CLI already
122
+ * forwards. The witnessed pytest/session children need no such entry:
123
+ * they inherit the ambient environment minus every `GATEFORGE_*` name
124
+ * ({@link buildWitnessedPytestChildEnv},
125
+ * {@link buildWitnessedSessionRunnerEnv}), so this variable already
126
+ * crosses there.
127
+ */
109
128
  export const RUNNER_SYSTEM_ALLOWLIST = [
110
129
  'PATH',
111
130
  'HOME',
@@ -117,6 +136,7 @@ export const RUNNER_SYSTEM_ALLOWLIST = [
117
136
  'TMPDIR',
118
137
  'TEMP',
119
138
  'TMP',
139
+ 'PLAYWRIGHT_BROWSERS_PATH',
120
140
  ];
121
141
  /**
122
142
  * Builds the runner child's environment from the ALLOWLIST (never a
@@ -124,6 +144,18 @@ export const RUNNER_SYSTEM_ALLOWLIST = [
124
144
  * `vars` win over the ambient environment; only allowlisted names are
125
145
  * copied at all.
126
146
  *
147
+ * The child's own record has NO prototype. Every name here is an
148
+ * arbitrary operator- or supervisor-chosen name, and `constructor`,
149
+ * `toString` and `__proto__` are both legal environment names and
150
+ * properties every plain object inherits: on a plain object an
151
+ * assignment to `__proto__` stores no own key at all (the inherited
152
+ * accessor swallows it), and a membership test by lookup
153
+ * (`child[name] === undefined`) reports an inherited property as
154
+ * already present. This map is the trusted baseline the freeze
155
+ * controller projects every body worker back to, so a name dropped here
156
+ * is a name no body worker can ever be projected back to — it keeps
157
+ * whatever the preparation wrote instead.
158
+ *
127
159
  * Args:
128
160
  * vars: supervisor-supplied run variables (must be child-safe; a
129
161
  * secret name here is a wiring bug and throws).
@@ -150,7 +182,7 @@ export function buildRunnerChildEnv(vars, ambient = process.env) {
150
182
  '(execution-authority fix; the engine reporter receives them as trusted-config options)');
151
183
  }
152
184
  }
153
- const child = {};
185
+ const child = Object.create(null);
154
186
  for (const name of [...RUNNER_SYSTEM_ALLOWLIST, ...RUNNER_GATEFORGE_ALLOWLIST]) {
155
187
  const value = vars[name] ?? ambient[name];
156
188
  if (value !== undefined && value !== '')
@@ -160,7 +192,9 @@ export function buildRunnerChildEnv(vars, ambient = process.env) {
160
192
  // pass through — they arrive from trusted supervision, and the secret
161
193
  // and parent-side checks above already ran over ALL of vars.
162
194
  for (const [name, value] of Object.entries(vars)) {
163
- if (child[name] === undefined && value !== '')
195
+ if (Object.hasOwn(child, name))
196
+ continue;
197
+ if (value !== '')
164
198
  child[name] = value;
165
199
  }
166
200
  return child;
@@ -253,4 +287,108 @@ export function buildWitnessedPytestChildEnv(vars, ambient = process.env) {
253
287
  }
254
288
  return child;
255
289
  }
290
+ /**
291
+ * The `GATEFORGE_*` names a witnessed session runner child (a runner
292
+ * adapter's supervised execute that resolves per-test sessions and
293
+ * writes the lifecycle spool: the pytest runner child and the Vitest
294
+ * runner child) may receive: the run identity (STATE_DIR + RUN_ID
295
+ * locate the lifecycle spool) plus the non-secret submission wiring
296
+ * (WITNESS_URL + RUN_TOKEN) and the app base URL the session proxy
297
+ * fronts. The verifier key and every other parent-side name are NEVER
298
+ * on this list — same trust model as
299
+ * {@link buildWitnessedPytestChildEnv}, one more non-secret name.
300
+ */
301
+ export const WITNESSED_SESSION_RUN_ENV = [
302
+ ...WITNESSED_PYTEST_RUN_ENV,
303
+ 'GATEFORGE_APP_BASE_URL',
304
+ // The pack's Vitest reporter's end-barrier TEST SEAM (see
305
+ // ../vitest/reporter.ts): a filesystem path, never a secret, and
306
+ // completely inert unless a test sets it. It exists so a test can
307
+ // hold the reporter's `testEnd` deterministically instead of racing a
308
+ // loaded machine for the same effect.
309
+ 'GATEFORGE_VITEST_END_BARRIER',
310
+ ];
311
+ /**
312
+ * Builds a witnessed session runner child's environment: the ambient
313
+ * environment minus EVERY `GATEFORGE_*` name, plus the
314
+ * {@link WITNESSED_SESSION_RUN_ENV} names from `vars`.
315
+ *
316
+ * Fail closed, same discipline as the other builders: a caller that
317
+ * stuffs the verifier key — or any parent-side name OUTSIDE the
318
+ * session allowlist — into `vars` is a wiring bug and throws instead
319
+ * of leaking.
320
+ *
321
+ * Args:
322
+ * vars: supervisor-supplied run variables (run-scoped allowlist wins
323
+ * over ambient; a forbidden name here throws).
324
+ * ambient: the parent environment (default `process.env`).
325
+ *
326
+ * Returns:
327
+ * Record<string, string>: the runner child's environment.
328
+ *
329
+ * Throws:
330
+ * RunnerEnvError: when `vars` carries the verifier key or a
331
+ * parent-side name that is not on the session allowlist.
332
+ */
333
+ export function buildWitnessedSessionRunnerEnv(vars, ambient = process.env) {
334
+ for (const secret of RUNNER_SECRET_ENV) {
335
+ if (vars[secret] !== undefined) {
336
+ throw new RunnerEnvError(`refusing to pass '${secret}' to the runner child: signing material never reaches ` +
337
+ 'untrusted test code through ANY channel');
338
+ }
339
+ }
340
+ const allowed = new Set(WITNESSED_SESSION_RUN_ENV);
341
+ for (const parentSide of RUNNER_PARENT_SIDE_ENV) {
342
+ if (!allowed.has(parentSide) && vars[parentSide] !== undefined) {
343
+ throw new RunnerEnvError(`refusing to pass '${parentSide}' to the runner child: only the run-scoped names ` +
344
+ `[${WITNESSED_SESSION_RUN_ENV.join(', ')}] cross — the child can never address ` +
345
+ 'obligations, adapters, classifications, or the outcomes document');
346
+ }
347
+ }
348
+ const child = {};
349
+ for (const [name, value] of Object.entries(ambient)) {
350
+ if (value === undefined || value === '')
351
+ continue;
352
+ if (name.startsWith('GATEFORGE_'))
353
+ continue;
354
+ child[name] = value;
355
+ }
356
+ for (const name of WITNESSED_SESSION_RUN_ENV) {
357
+ const value = vars[name] ?? ambient[name];
358
+ if (value !== undefined && value !== '')
359
+ child[name] = value;
360
+ }
361
+ for (const [name, value] of Object.entries(vars)) {
362
+ if (name.startsWith('GATEFORGE_'))
363
+ continue;
364
+ if (value !== '')
365
+ child[name] = value;
366
+ }
367
+ return child;
368
+ }
369
+ /**
370
+ * Builds the pytest runner child's environment for a supervised,
371
+ * session-producing run (the `PytestRunnerAdapter` execute path): the
372
+ * neutral witnessed-session environment plus the plugin directory
373
+ * prepended to PYTHONPATH so `-p gateforge_pytest_plugin` resolves.
374
+ *
375
+ * Args:
376
+ * vars: supervisor-supplied run variables (run-scoped allowlist wins
377
+ * over ambient; a forbidden name here throws).
378
+ * ambient: the parent environment (default `process.env`).
379
+ * pluginDir: absolute directory the pack ships the pytest plugin in.
380
+ *
381
+ * Returns:
382
+ * Record<string, string>: the runner child's environment.
383
+ *
384
+ * Throws:
385
+ * RunnerEnvError: when `vars` carries the verifier key or a
386
+ * parent-side name that is not on the session allowlist.
387
+ */
388
+ export function buildWitnessedPytestSessionEnv(vars, ambient = process.env, pluginDir) {
389
+ const child = buildWitnessedSessionRunnerEnv(vars, ambient);
390
+ const existingPath = child['PYTHONPATH'];
391
+ child['PYTHONPATH'] = existingPath !== undefined && existingPath !== '' ? `${pluginDir}:${existingPath}` : pluginDir;
392
+ return child;
393
+ }
256
394
  //# sourceMappingURL=runner-env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-env.js","sourceRoot":"","sources":["../../src/discovery/runner-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-env.js","sourceRoot":"","sources":["../../src/discovery/runner-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAEH,4DAA4D;AAC5D,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,gCAAgC;IAChC,qCAAqC;CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,kBAAkB;IAClB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,wBAAwB;IACxB,sBAAsB;CACvB,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,2BAA2B;IAC3B,8BAA8B;IAC9B,6BAA6B;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,aAAa;IACb,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,KAAK;IACL,0BAA0B;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAsC,EACtC,UAA6B,OAAO,CAAC,GAAG;IAExC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,cAAc,CACtB,qBAAqB,MAAM,wDAAwD;gBACjF,gDAAgD,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,cAAc,CACtB,qBAAqB,UAAU,0DAA0D;gBACvF,yEAAyE;gBACzE,wFAAwF,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,uBAAuB,EAAE,GAAG,0BAA0B,CAAC,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/D,CAAC;IACD,oEAAoE;IACpE,sEAAsE;IACtE,6DAA6D;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,SAAS;QACzC,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,qBAAqB;IACrB,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAsC,EACtC,UAA6B,OAAO,CAAC,GAAG;IAExC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,cAAc,CACtB,qBAAqB,MAAM,0DAA0D;gBACnF,8EAA8E;gBAC9E,mFAAmF,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,wBAAwB,CAAC,CAAC;IAC5D,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,IAAI,cAAc,CACtB,qBAAqB,UAAU,kDAAkD;gBAC/E,qBAAqB,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB;gBACjF,qFAAqF;gBACrF,0BAA0B,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,uEAAuE;IACvE,yEAAyE;IACzE,oEAAoE;IACpE,cAAc;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/D,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,2DAA2D;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC5C,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,GAAG,wBAAwB;IAC3B,wBAAwB;IACxB,0DAA0D;IAC1D,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,sCAAsC;IACtC,8BAA8B;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAsC,EACtC,UAA6B,OAAO,CAAC,GAAG;IAExC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,cAAc,CACtB,qBAAqB,MAAM,wDAAwD;gBACjF,yCAAyC,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;IAC3D,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,IAAI,cAAc,CACtB,qBAAqB,UAAU,mDAAmD;gBAChF,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC;gBAChF,kEAAkE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC5C,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAsC,EACtC,UAA6B,OAAO,CAAC,GAAG,EACxC,SAAiB;IAEjB,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,KAAK,CAAC,YAAY,CAAC,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Runner file scopes: WHICH files a runner's own configuration collects.
3
+ *
4
+ * The static scan is seeded from Gateforge's own include globs, so it
5
+ * can find test-shaped calls anywhere in the repository — including
6
+ * files the configured runner would never run (a vitest suite in a
7
+ * playwright-configured repository, a spec under a `testDir` the config
8
+ * excludes). Cataloguing those as that runner's tests is wrong twice
9
+ * over: the runner will not execute them, and their assertions were
10
+ * never proved.
11
+ *
12
+ * This module answers the file question from DATA, never from a guess:
13
+ * - Playwright: the enumeration's own project-graph reporter hands us
14
+ * the resolved per-project `testDir`/`testMatch`/`testIgnore` (see
15
+ * `reporter/project-graph-reporter.ts`) — the runner's own words.
16
+ * - Vitest: a bounded, AST-only read of the repository's own
17
+ * `vitest.config.*`/`vite.config.*` literal `test.include` /
18
+ * `test.exclude` / `test.globals` values. No consumer code runs and
19
+ * no expression is evaluated.
20
+ *
21
+ * Every scope is FAIL-OPEN: when a selection cannot be read faithfully
22
+ * (a computed glob, a function-valued selector, a missing config), the
23
+ * scope is not authoritative and selects every file, which is exactly
24
+ * the pre-existing behaviour. Narrowing a catalog on a mis-read glob is
25
+ * the one failure mode this module must never have.
26
+ */
27
+ import type { ProjectTestFileScope } from '../reporter/project-graph-reporter.js';
28
+ /** One runner's own test-file selection, as data. */
29
+ export interface RunnerFileScope {
30
+ /** Which runner this selection belongs to (`playwright`, `vitest`, …). */
31
+ runner: string;
32
+ /** Absolute directory the globs are relative to. */
33
+ root: string;
34
+ /** Globs a file must match; empty means "every file under `root`". */
35
+ include: readonly string[];
36
+ /** Globs that exclude a file even when an include matched. */
37
+ exclude: readonly string[];
38
+ /** The runner injects `test`/`it`/`describe` as globals in these files. */
39
+ globals: boolean;
40
+ /**
41
+ * TRUE only when this scope came from the runner's own resolved
42
+ * configuration. A non-authoritative scope narrows nothing.
43
+ */
44
+ authoritative: boolean;
45
+ /**
46
+ * Why this scope narrows nothing, in plain words — surfaced on the
47
+ * runner summary so a fail-open selection says so instead of being
48
+ * indistinguishable from a selection that collected nothing.
49
+ */
50
+ note?: string;
51
+ }
52
+ /**
53
+ * Whether a runner's own configuration collects this file.
54
+ *
55
+ * Args:
56
+ * scope: the runner's selection.
57
+ * cwd: absolute repo root.
58
+ * repoRelativeFile: repo-relative posix path.
59
+ *
60
+ * Returns:
61
+ * boolean: true when the file is one of the runner's test files. A
62
+ * non-authoritative scope always returns true (fail open).
63
+ */
64
+ export declare function scopeSelectsFile(scope: RunnerFileScope, cwd: string, repoRelativeFile: string): boolean;
65
+ /**
66
+ * Whether ANY of the runner's scopes collects the file — the union over
67
+ * projects, which is how a runner collects a file at all.
68
+ */
69
+ export declare function anyScopeSelectsFile(scopes: readonly RunnerFileScope[], cwd: string, repoRelativeFile: string): boolean;
70
+ /**
71
+ * The playwright scopes the enumeration's runner resolved.
72
+ *
73
+ * Args:
74
+ * projects: the per-project selection the project-graph reporter read.
75
+ *
76
+ * Returns:
77
+ * RunnerFileScope[]: one scope per project whose selection was data.
78
+ * Empty when the runner resolved none, which selects nothing away.
79
+ */
80
+ export declare function playwrightFileScopes(projects: readonly ProjectTestFileScope[]): RunnerFileScope[];
81
+ /**
82
+ * The repository's own vitest test-file selections, read from every
83
+ * vitest config it declares (root first in resolution order, then nested
84
+ * configs, each scoped to its own directory).
85
+ *
86
+ * Args:
87
+ * cwd: absolute repo root.
88
+ *
89
+ * Returns:
90
+ * RunnerFileScope[]: one scope per readable config; empty when the
91
+ * repository declares no vitest selection this boundary can read.
92
+ */
93
+ export declare function vitestFileScopes(cwd: string): RunnerFileScope[];
94
+ /**
95
+ * Which runner owns a statically discovered file.
96
+ *
97
+ * A foreign scope that is not authoritative claims NOTHING: fail-open
98
+ * for the configured runner means "keep today's behaviour", and a
99
+ * mis-read foreign config must never steal that runner's files.
100
+ *
101
+ * Args:
102
+ * configuredRunner: the repository's configured runner.
103
+ * configuredScopes: that runner's own scopes (empty ⇒ unknown).
104
+ * otherScopes: the other runners' own scopes.
105
+ * cwd: absolute repo root.
106
+ * file: repo-relative posix path.
107
+ *
108
+ * Returns:
109
+ * string | null: the owning runner, or null when no runner's own
110
+ * configuration claims the file — the file is then not that runner's
111
+ * test, and the caller reports it instead of inventing a runner.
112
+ */
113
+ export declare function runnerForFile(configuredRunner: string, configuredScopes: readonly RunnerFileScope[], otherScopes: readonly RunnerFileScope[], cwd: string, file: string): string | null;
114
+ //# sourceMappingURL=runner-file-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-file-scope.d.ts","sourceRoot":"","sources":["../../src/discovery/runner-file-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuRD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAST;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GACxC,eAAe,EAAE,CA2BnB;AAwMD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAO/D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,SAAS,eAAe,EAAE,EAC5C,WAAW,EAAE,SAAS,eAAe,EAAE,EACvC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAOf"}