@bevel-software/platform-core-backend 0.34.0 → 0.35.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 (179) hide show
  1. package/agent-guide/access-control.md +146 -300
  2. package/agent-guide/conventions.md +23 -25
  3. package/agent-guide/directory-structure.md +72 -120
  4. package/agent-guide/drafts-and-change-requests.md +92 -0
  5. package/agent-guide/for-git-users.md +47 -0
  6. package/agent-guide/glossary.md +36 -0
  7. package/agent-guide/how-agents-find-things.md +49 -0
  8. package/agent-guide/html-views.md +16 -11
  9. package/agent-guide/new-knowledge-base.md +9 -8
  10. package/agent-guide/skills.md +67 -42
  11. package/agent-guide/start-here.md +65 -0
  12. package/agent-guide/tool-manuals.md +132 -154
  13. package/agent-guide/tools.md +67 -0
  14. package/agent-guide/where-a-new-file-goes.md +45 -28
  15. package/dist/core/create-core-server.js +1 -1
  16. package/dist/core/create-core-server.js.map +1 -1
  17. package/dist/core/create-core-services.d.ts +6 -0
  18. package/dist/core/create-core-services.d.ts.map +1 -1
  19. package/dist/core/create-core-services.js +7 -4
  20. package/dist/core/create-core-services.js.map +1 -1
  21. package/dist/modules/access/access-control.interface.d.ts +22 -0
  22. package/dist/modules/access/access-control.interface.d.ts.map +1 -1
  23. package/dist/modules/access/access-control.service.d.ts +3 -1
  24. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  25. package/dist/modules/access/access-control.service.js +75 -0
  26. package/dist/modules/access/access-control.service.js.map +1 -1
  27. package/dist/modules/access/access.routes.d.ts.map +1 -1
  28. package/dist/modules/access/access.routes.js +23 -4
  29. package/dist/modules/access/access.routes.js.map +1 -1
  30. package/dist/modules/access/index.d.ts +1 -1
  31. package/dist/modules/access/index.d.ts.map +1 -1
  32. package/dist/modules/agent-guide/agent-guide.d.ts +47 -7
  33. package/dist/modules/agent-guide/agent-guide.d.ts.map +1 -1
  34. package/dist/modules/agent-guide/agent-guide.js +103 -13
  35. package/dist/modules/agent-guide/agent-guide.js.map +1 -1
  36. package/dist/modules/agent-guide/agent-guide.tools.d.ts +6 -2
  37. package/dist/modules/agent-guide/agent-guide.tools.d.ts.map +1 -1
  38. package/dist/modules/agent-guide/agent-guide.tools.js +45 -31
  39. package/dist/modules/agent-guide/agent-guide.tools.js.map +1 -1
  40. package/dist/modules/agent-guide/guide-budget.d.ts +48 -0
  41. package/dist/modules/agent-guide/guide-budget.d.ts.map +1 -0
  42. package/dist/modules/agent-guide/guide-budget.js +67 -0
  43. package/dist/modules/agent-guide/guide-budget.js.map +1 -0
  44. package/dist/modules/agent-guide/index.d.ts +2 -1
  45. package/dist/modules/agent-guide/index.d.ts.map +1 -1
  46. package/dist/modules/agent-guide/index.js +2 -1
  47. package/dist/modules/agent-guide/index.js.map +1 -1
  48. package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
  49. package/dist/modules/agent-instructions/compose.js +4 -0
  50. package/dist/modules/agent-instructions/compose.js.map +1 -1
  51. package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -1
  52. package/dist/modules/agent-instructions/shared-file-rules.js +10 -8
  53. package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -1
  54. package/dist/modules/code-mode/code-mode.tool.js +2 -2
  55. package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
  56. package/dist/modules/connection-probe/connection-probe.service.d.ts +0 -12
  57. package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
  58. package/dist/modules/connection-probe/connection-probe.service.js +1 -38
  59. package/dist/modules/connection-probe/connection-probe.service.js.map +1 -1
  60. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  61. package/dist/modules/mcp/mcp.service.js +6 -35
  62. package/dist/modules/mcp/mcp.service.js.map +1 -1
  63. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +11 -1
  64. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
  65. package/dist/modules/secrets-vault/db-secrets-vault.service.js +159 -24
  66. package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
  67. package/dist/modules/secrets-vault/index.d.ts +1 -1
  68. package/dist/modules/secrets-vault/index.d.ts.map +1 -1
  69. package/dist/modules/secrets-vault/index.js +1 -1
  70. package/dist/modules/secrets-vault/index.js.map +1 -1
  71. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +53 -11
  72. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
  73. package/dist/modules/secrets-vault/secrets-vault.contract.js +27 -0
  74. package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -1
  75. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  76. package/dist/modules/secrets-vault/secrets-vault.routes.js +85 -39
  77. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  78. package/dist/modules/settings/oidc-check.d.ts.map +1 -1
  79. package/dist/modules/settings/oidc-check.js +5 -17
  80. package/dist/modules/settings/oidc-check.js.map +1 -1
  81. package/dist/modules/skills/skills.tools.js +1 -1
  82. package/dist/modules/skills/skills.tools.js.map +1 -1
  83. package/dist/modules/tool-helpers/tool-def.js +1 -1
  84. package/dist/modules/tool-helpers/tool-def.js.map +1 -1
  85. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts +7 -1
  86. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts.map +1 -1
  87. package/dist/modules/tool-manuals/mcp-json-discovery.js +69 -38
  88. package/dist/modules/tool-manuals/mcp-json-discovery.js.map +1 -1
  89. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +27 -0
  90. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
  91. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +12 -8
  92. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  93. package/dist/modules/tool-manuals/tool-manuals.service.js +115 -44
  94. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
  95. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +8 -2
  96. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  97. package/dist/modules/tool-manuals/tool-manuals.tools.js +31 -10
  98. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  99. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  100. package/dist/modules/workflow/agent-tools/workflow.tools.js +22 -18
  101. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  102. package/dist/modules/workspace/agent-access.gate.d.ts +1 -1
  103. package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
  104. package/dist/modules/workspace/agent-access.gate.js +1 -1
  105. package/dist/modules/workspace/agent-access.gate.js.map +1 -1
  106. package/dist/modules/workspace/workspace.tools.d.ts +3 -2
  107. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  108. package/dist/modules/workspace/workspace.tools.js +71 -21
  109. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  110. package/dist/shared/oauth-token-error.d.ts +23 -0
  111. package/dist/shared/oauth-token-error.d.ts.map +1 -0
  112. package/dist/shared/oauth-token-error.js +47 -0
  113. package/dist/shared/oauth-token-error.js.map +1 -0
  114. package/dist/shared/read-capped.d.ts +19 -0
  115. package/dist/shared/read-capped.d.ts.map +1 -0
  116. package/dist/shared/read-capped.js +45 -0
  117. package/dist/shared/read-capped.js.map +1 -0
  118. package/package.json +4 -3
  119. package/src/__tests__/hexis-catalog.ts +144 -0
  120. package/src/__tests__/real-disk.ts +21 -0
  121. package/src/__tests__/tokens.ts +19 -0
  122. package/src/__tests__/tool-manuals.ts +32 -0
  123. package/src/__tests__/tool-wiring.ts +25 -0
  124. package/src/core/__tests__/oauth-sign-in-real-file.test.ts +179 -0
  125. package/src/core/create-core-server.ts +1 -1
  126. package/src/core/create-core-services.ts +13 -3
  127. package/src/modules/access/__tests__/access.routes.prospective.test.ts +52 -12
  128. package/src/modules/access/__tests__/holder-changes.test.ts +127 -0
  129. package/src/modules/access/access-control.interface.ts +26 -0
  130. package/src/modules/access/access-control.service.ts +92 -0
  131. package/src/modules/access/access.routes.ts +23 -4
  132. package/src/modules/access/index.ts +1 -1
  133. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +79 -25
  134. package/src/modules/agent-guide/__tests__/agent-guide.tools.test.ts +38 -11
  135. package/src/modules/agent-guide/__tests__/guide-budget.test.ts +95 -0
  136. package/src/modules/agent-guide/__tests__/guide-eval.test.ts +182 -0
  137. package/src/modules/agent-guide/__tests__/guide-matches-code.test.ts +263 -0
  138. package/src/modules/agent-guide/__tests__/tool-surface.json +514 -0
  139. package/src/modules/agent-guide/__tests__/tool-surface.test.ts +75 -0
  140. package/src/modules/agent-guide/agent-guide.tools.ts +49 -31
  141. package/src/modules/agent-guide/agent-guide.ts +120 -13
  142. package/src/modules/agent-guide/guide-budget.ts +73 -0
  143. package/src/modules/agent-guide/index.ts +12 -0
  144. package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +4 -4
  145. package/src/modules/agent-instructions/compose.ts +4 -0
  146. package/src/modules/agent-instructions/shared-file-rules.ts +10 -8
  147. package/src/modules/code-mode/code-mode.tool.ts +2 -2
  148. package/src/modules/connection-probe/__tests__/connection-probe.service.test.ts +5 -24
  149. package/src/modules/connection-probe/connection-probe.service.ts +1 -34
  150. package/src/modules/mcp/mcp.service.ts +5 -35
  151. package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +430 -3
  152. package/src/modules/secrets-vault/__tests__/oauth-live-declaration.route.test.ts +218 -0
  153. package/src/modules/secrets-vault/__tests__/oauth-return-to.route.test.ts +39 -6
  154. package/src/modules/secrets-vault/db-secrets-vault.service.ts +170 -27
  155. package/src/modules/secrets-vault/index.ts +1 -1
  156. package/src/modules/secrets-vault/secrets-vault.contract.ts +61 -11
  157. package/src/modules/secrets-vault/secrets-vault.routes.ts +91 -39
  158. package/src/modules/settings/oidc-check.ts +5 -18
  159. package/src/modules/skills/skills.tools.ts +1 -1
  160. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +19 -11
  161. package/src/modules/tool-helpers/__tests__/route-tool-schemas.catalog.test.ts +38 -0
  162. package/src/modules/tool-helpers/tool-def.ts +1 -1
  163. package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +197 -11
  164. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +96 -5
  165. package/src/modules/tool-manuals/mcp-json-discovery.ts +73 -34
  166. package/src/modules/tool-manuals/tool-manuals.contract.ts +22 -0
  167. package/src/modules/tool-manuals/tool-manuals.service.ts +138 -46
  168. package/src/modules/tool-manuals/tool-manuals.tools.ts +53 -14
  169. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +6 -113
  170. package/src/modules/workflow/agent-tools/workflow.tools.ts +22 -18
  171. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +8 -10
  172. package/src/modules/workspace/__tests__/workspace.tools.test.ts +156 -49
  173. package/src/modules/workspace/agent-access.gate.ts +1 -1
  174. package/src/modules/workspace/workspace.tools.ts +74 -21
  175. package/src/shared/__tests__/read-capped.test.ts +68 -0
  176. package/src/shared/oauth-token-error.ts +46 -0
  177. package/src/shared/read-capped.ts +40 -0
  178. package/agent-guide/finding-things.md +0 -7
  179. package/agent-guide/introduction.md +0 -27
@@ -310,9 +310,20 @@ recoveryAdmins = []) {
310
310
  * nothing is moved.
311
311
  *
312
312
  * Gated like the sibling `overrides` route rather than the permissive
313
- * `GET /access`: the caller must resolve read on the thing being moved. The
314
- * lists name people, and someone who cannot see it has no business
315
- * learning who can.
313
+ * `GET /access`: the caller must resolve read on the thing being moved AND
314
+ * on the destination folder. The lists name people, and someone who cannot
315
+ * see a thing has no business learning who can; the `after` lists and the
316
+ * `changes` are the destination folder's rules read back (whom it grants,
317
+ * whom it denies by name), so a folder the caller may not open tells them
318
+ * nothing either.
319
+ *
320
+ * `changes` is who loses and who gains `read` or `write` in the move, as the
321
+ * resolver judges each candidate on both sides
322
+ * (`prospectiveHolderChanges`) — the one answer the move dialog and the
323
+ * agent's `move_file` both show. The two lists are not that answer: they
324
+ * name grants, so a writer leaving a folder everyone reads shows as losing
325
+ * `read` it keeps, and a person the destination denies by name is on
326
+ * neither list.
316
327
  */
317
328
  router.get('/workspace/:id/access/prospective', async (req, res) => {
318
329
  const user = await requireUser(req, res);
@@ -339,12 +350,20 @@ recoveryAdmins = []) {
339
350
  res.status(403).json({ error: 'You do not have access to this file.' });
340
351
  return;
341
352
  }
353
+ if (!(await accessControl.canRead(req.params.id, user.email, toDir))) {
354
+ res.status(403).json({ error: 'You do not have access to this folder.' });
355
+ return;
356
+ }
342
357
  const name = from.slice(from.lastIndexOf('/') + 1);
343
358
  const to = toDir ? `${toDir}/${name}` : name;
344
- const { before, after } = await accessControl.prospectiveHolders(req.params.id, from, to);
359
+ const [{ before, after }, changes] = await Promise.all([
360
+ accessControl.prospectiveHolders(req.params.id, from, to),
361
+ accessControl.prospectiveHolderChanges(req.params.id, from, to),
362
+ ]);
345
363
  res.json({
346
364
  before: { read: holderPrincipals(before.read), write: holderPrincipals(before.write) },
347
365
  after: { read: holderPrincipals(after.read), write: holderPrincipals(after.write) },
366
+ changes,
348
367
  });
349
368
  }
350
369
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"access.routes.js","sourceRoot":"","sources":["../../../src/modules/access/access.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access.routes.js","sourceRoot":"","sources":["../../../src/modules/access/access.routes.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wEAAwE;AACxE,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACxC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1G,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,qBAAqB,IAAI,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,kBAAkB,CAAC;AAE1B,gGAAgG;AAChG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAEhF;;uDAEuD;AACvD,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa;IAC1D,OAAO,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,OAAO,CACL,GAAG,YAAY,mBAAmB;QAClC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,0BAA0B,CACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAA6B,EAC7B,gBAAkC,EAClC,WAAwB;AACxB,+EAA+E;AAC/E,WAAgC,EAChC,eAAgC,EAChC,QAA0B,EAC1B,EAAY,EACZ,EAAa;AACb,yEAAyE;AACzE,IAAiB;AACjB,6EAA6E;AAC7E,iBAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,gBAAgB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,SAAS,EACT,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EACtB,QAAQ,EACR,cAAc,CACf,CAAC;IAEF,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,sEAAsE;IACtE,2EAA2E;IAC3E,wEAAwE;IACxE,oEAAoE;IACpE,2BAA2B;IAC3B,MAAM,uBAAuB,GAAG,KAAK,IAIlC,EAAE;QACH,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC7F,gEAAgE;QAChE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,MAAgB,EAAqB,EAAE,CAC3E,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAG,KAAK,EAC/B,KAAa,EACb,OAA2C,EACE,EAAE;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,YAAY,CAC/C,EAAE,CAAC,kBAAkB,EAAE,EACvB,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,CAC5C,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC;IAeF;;;;;;;;;OASG;IACH,MAAM,iBAAiB,GAAG,CAAC,CAAiB,EAAa,EAAE;QACzD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACpG,yEAAyE;QACzE,yDAAyD;QACzD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7G,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;YACd,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,uEAAuE;YACvE,qCAAqC;YACrC,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC;wBAC3C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;wBAC5C,CAAC,CAAC,GAAG;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAAE,OAAO,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,4FAA4F;IAC5F,SAAS,SAAS,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO;YACnE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAC7C,CAAC,CAAC,GAAG,CAAC;IACV,CAAC;IAED,wEAAwE;IACxE,gEAAgE;IAChE,KAAK,UAAU,WAAW,CACxB,GAAoB,EACpB,GAAqB;QAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,CAAS;QAC/B,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC;QAC/B,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,SAAS,wBAAwB,CAAC,aAAqB,EAAE,IAAgB;QACvE,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QACD,IACE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAC5D,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;QACrE,CAAC;QACD,0EAA0E;QAC1E,mEAAmE;QACnE,2DAA2D;QAC3D,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAe,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,4EAA4E;QAC5E,oEAAoE;QACpE,oDAAoD;QACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,2EAA2E;YAC3E,uEAAuE;YACvE,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,wBAAwB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACvC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAE3C,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,2BAA2B,CAChE,gBAAgB,EAChB,GAAG,CAAC,MAAM,CAAC,EAAE,EACb,SAAS,EACT,MAAM,CACP,CAAC;YAEF,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,iEAAiE;YACjE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;gBAC7B,CAAC,CAAC,MAAM,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;gBACtE,CAAC,CAAC,IAAI,GAAG,EAAmB,CAAC;YAE/B,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;gBACpE,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACvC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrD,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzD,aAAa,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtF,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnF,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,IAA2C,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GACT,IAAI,KAAK,OAAO;gBACd,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC7B,CAAC,CAAC,IAAI,KAAK,MAAM;oBACf,CAAC,CAAC,aAAa,CAAC,YAAY;oBAC5B,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC7B,aAAa,EACb,GAAG,CAAC,MAAM,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,EACV,KAAiB,CAClB,CAAC;YACF,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpF,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrF,uBAAuB,EAAE;gBACzB,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,KAAK;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAChD,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjB,MAAM,aAAa,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAChD,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjB,qEAAqE;YACrE,uEAAuE;YACvE,kEAAkE;YAClE,wEAAwE;YACxE,MAAM,cAAc,GAAG,CACrB,MAAM,mBAAmB,CACvB,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC9D,CACF;iBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjB,IAAI,MAAM,GAA2D,EAAE,CAAC;YACxE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,iEAAiE;gBACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;gBACnE,KAAK,MAAM,CAAC,IAAI,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBAClC,qEAAqE;oBACrE,sEAAsE;oBACtE,iCAAiC;oBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBACD,sEAAsE;gBACtE,sEAAsE;gBACtE,oEAAoE;gBACpE,oEAAoE;gBACpE,2CAA2C;gBAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACjF,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;qBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACrF,qEAAqE;oBACrE,sEAAsE;oBACtE,oEAAoE;oBACpE,sEAAsE;oBACtE,0DAA0D;qBACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;qBACzF,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,aAAa;gBACrB,kEAAkE;gBAClE,sEAAsE;gBACtE,qCAAqC;gBACrC,gBAAgB,EAAE,cAAc;gBAChC,MAAM;gBACN,cAAc;gBACd,qEAAqE;gBACrE,mEAAmE;gBACnE,+DAA+D;gBAC/D,yCAAyC;gBACzC,EAAE;gBACF,iEAAiE;gBACjE,oEAAoE;gBACpE,iEAAiE;gBACjE,qEAAqE;gBACrE,kEAAkE;gBAClE,4CAA4C;gBAC5C,aAAa,EAAE,CAAC,cAAc;gBAC9B,qEAAqE;gBACrE,sEAAsE;gBACtE,uCAAuC;gBACvC,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,SAAS,iBAAiB,CAAC,IAAa;QAKtC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,MAAM,YAAY,GAAG,CAAC,CAAC,SAAgD,CAAC;QACxE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,SAAyB,CAAC;QAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3F,MAAM,IAAI,mBAAmB,CAAC,0CAA0C,CAAC,CAAC;YAC5E,CAAC;YACD,SAAS,GAAG;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,WAAW,EAAE,YAAY,CAAC,WAAW;aACtC,CAAC;QACJ,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,CAAC,CAAC;YACpE,CAAC;YACD,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,IAAI,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;YACtE,CAAC;YACD,SAAS,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3D,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3E,MAAM,IAAI,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,mBAAmB,CAC3B,yCAAyC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAuB,EAAE,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,mBAAmB,CAAC,6DAA6D,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,UAAU,GAAG,IAAkB,CAAC;QACtC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9C,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,gBAAgB,CAAC,IAAgB,EAAE,aAAqB;QAI/D,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,UAAU,eAAe,CAC5B,WAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,QAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC5E,MAAM,IAAI,iBAAiB,CAAC;gBAC1B,IAAI,EAAE,QAAQ;gBACd,aAAa,EAAE,QAAQ,CAAC,KAAK;gBAC7B,aAAa,EAAE,QAAQ,CAAC,KAAK;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,2DAA2D;QAC3D,KAAK,MAAM,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,aAAa,CAAC,MAAgB;QAC3C,uEAAuE;QACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1C,qEAAqE;QACrE,qEAAqE;QACrE,0CAA0C;QAC1C,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,0EAA0E;IAC1E,KAAK,UAAU,YAAY,CACzB,WAAmB,EACnB,aAAqB,EACrB,SAAiB,EACjB,IAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAErG,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,uCAAuC;QACvC,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,GAAoC,QAAQ,CAAC;QACrD,IAAI,CAAC;YACH,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACjC,8BAA8B,SAAS,CAAC,WAAW,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,yBAAyB,SAAS,CACrH,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0CAA0C;QAC1C,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,gBAAgB,GACpB,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;YACvG,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,UAAU,YAAY,CACzB,WAAmB,EACnB,MAAc,EACd,QAAgB,EAChB,IAAc,EACd,EAAuB;QAEvB,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC9C,OAAO,gBAAgB,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CACjE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,IAAc,EACd,EAAuB;QAEvB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAClD,wEAAwE;YACxE,MAAM,EAAE,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW;gBACX,MAAM;gBACN,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,UAAU,EAAE,IAAI,CAAC,IAAI;aACtB,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;YAC1D,MAAM,GAAG,GAAgC,IAAI,KAAK,CAChD,IAAI,QAAQ,wBAAwB,MAAM,0BAA0B,CACrE,CAAC;YACF,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,qEAAqE;gBACrE,sEAAsE;gBACtE,sEAAsE;gBACtE,uEAAuE;gBACvE,0BAA0B;gBAC1B,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,eAAe,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,GAAG,CAAC,IAA2B,CAAC,IAAI,CAAC;YACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvE,qEAAqE;YACrE,6DAA6D;YAC7D,2DAA2D;YAC3D,iEAAiE;YACjE,uEAAuE;YACvE,mEAAmE;YACnE,wEAAwE;YACxE,QAAQ;YACR,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;oBAC1E,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBACnE,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,mBAAmB,CAC3B,kBAAkB,SAAS,CAAC,IAAI,2BAA2B,EAC3D,GAAG,EACH,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAC/C,CAAC;gBACJ,CAAC;gBACD,uEAAuE;gBACvE,sEAAsE;gBACtE,mEAAmE;gBACnE,kBAAkB;gBAClB,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACnD,MAAM,IAAI,mBAAmB,CAC3B,6GAA6G,CAC9G,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtC,sEAAsE;gBACtE,kEAAkE;gBAClE,sEAAsE;gBACtE,kEAAkE;gBAClE,mEAAmE;gBACnE,kEAAkE;gBAClE,sCAAsC;gBACtC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzF,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,SAAS,CAAC,KAAK,4BAA4B,EAC9D,GAAG,EACH,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAClD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,sEAAsE;gBACtE,0BAA0B;gBAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,mBAAmB,CAC3B,oBAAoB,SAAS,CAAC,MAAM,6BAA6B,EACjE,GAAG,EACH,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,uEAAuE;YACvE,+CAA+C;YAC/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAErD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC3D,qDAAqD;YACrD,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACpD,gDAAgD;YAChD,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjE,sEAAsE;YACtE,MAAM,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAEvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,wCAAwC;YACnE,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAY,EAAE,eAAe,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YAEH,iEAAiE;YACjE,kEAAkE;YAClE,yDAAyD;YACzD,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CACX,MAAM,WAAW,WAAW,MAAM,aAAa,IAAI,CAAC,EAAE,GAAG;gBACvD,QAAQ,IAAI,SAAS,IAAI,WAAW,aAAa,GAAG;gBACpD,iBAAiB,SAAS,CAAC,IAAI,QAAQ,CAC1C,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,WAAW,aAAa,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,GAAG,CAAC,IAA2B,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvF,uEAAuE;YACvE,wEAAwE;YACxE,iEAAiE;YACjE,sEAAsE;YACtE,oDAAoD;YACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACpD,4EAA4E;YAC5E,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,0DAA0D;YAC1D,MAAM,OAAO,GAAI,GAAG,CAAC,IAA2B,CAAC,IAAI,CAAC;YACtD,IAAI,IAAsB,CAAC;YAC3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,GAAG,OAAe,CAAC;YACzB,CAAC;YACD,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAEpD,yEAAyE;YACzE,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClC,MAAM,WAAW,GAAI,GAAG,CAAC,IAA+B,CAAC,QAAQ,CAAC;gBAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,+CAA+C,CAAC,CAAC;gBACjF,CAAC;gBACD,sEAAsE;gBACtE,uEAAuE;gBACvE,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;gBAChD,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC3E,oDAAoD;gBACpD,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAErE,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;oBACrE,oEAAoE;oBACpE,uEAAuE;oBACvE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,YAAY,CAC9C,WAAW,EACX,IAAI,EACJ,aAAa,EACb,gBAAgB,CAAC,SAAS,CAAC,CAC5B,CAAC;oBACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;oBACtD,+DAA+D;oBAC/D,kEAAkE;oBAClE,iCAAiC;oBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CACzE,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,mBAAmB,CAC3B,8EAA8E,EAC9E,GAAG,EACH,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3B,CAAC;oBACJ,CAAC;oBACD,yEAAyE;oBACzE,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC;gBAEH,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACtC,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAC7C,MAAM,WAAW,WAAW,MAAM,GAAG;oBACnC,YAAY,IAAI,CAAC,EAAE,aAAa,WAAW,WAAW,aAAa,SAAS,IAAI,IAAI,KAAK,QAAQ,CACpG,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC3D,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBACvE,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;oBACjE,8DAA8D;oBAC9D,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;gBACH,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACtC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CACpC,MAAM,WAAW,WAAW,MAAM,GAAG;oBACnC,YAAY,IAAI,CAAC,EAAE,WAAW,aAAa,SAAS,IAAI,IAAI,KAAK,QAAQ,CAC5E,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAEvE,MAAM,QAAQ,GAAG,QAAQ,CAAC;YAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/F,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAEtC,sEAAsE;YACtE,0EAA0E;YAC1E,4EAA4E;YAC5E,wEAAwE;YACxE,qEAAqE;YACrE,gFAAgF;YAChF,0EAA0E;YAC1E,4EAA4E;YAC5E,uEAAuE;YACvE,6BAA6B;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,YAAY,CAC9C,WAAW,EACX,IAAI,EACJ,aAAa,EACb,gBAAgB,CAAC,SAAS,CAAC,CAC5B,CAAC;gBACF,sEAAsE;gBACtE,uEAAuE;gBACvE,+CAA+C;gBAC/C,MAAM,cAAc,GAAiB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChF,MAAM,SAAS,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;gBAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CACpC,MAAM,WAAW,WAAW,MAAM,aAAa,IAAI,CAAC,EAAE,GAAG;wBACvD,UAAU,aAAa,cAAc,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC7D,CAAC;oBACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EACH,+FAA+F;wBACjG,IAAI,EAAE,WAAW;wBACjB,OAAO;qBACR,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,2DAA2D;YAC7D,CAAC;YAED,yEAAyE;YACzE,4EAA4E;YAC5E,0EAA0E;YAC1E,mEAAmE;YACnE,qEAAqE;YACrE,yEAAyE;YACzE,SAAS,CAAC,IAAI,CACZ,MAAM,WAAW,WAAW,MAAM,aAAa,IAAI,CAAC,EAAE,GAAG;gBACvD,QAAQ,IAAI,WAAW,aAAa,kBAAkB,SAAS,CAAC,IAAI,YAAY,OAAO,QAAQ,CAClG,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC3E,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACjC,MAAM,WAAW,aAAa,IAAI,CAAC,EAAE,OACnC,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GACpD,EAAE,CACH,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,+DAA+D;IAC/D,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,yDAAyD;IACzD,4EAA4E;IAE5E,2EAA2E;IAC3E,KAAK,UAAU,gBAAgB,CAAC,SAAiB;QAC/C,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,eAAe,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,sEAAsE;YACtE,yEAAyE;YACzE,4CAA4C;YAC5C,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;YACjD,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,EAAE;qBACL,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;qBACpF,IAAI,CAAC,KAAK,CAAC;qBACX,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,MAAM;iBAClB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,qEAAqE;IACrE,uDAAuD;IAEvD,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrE,kEAAkE;YAClE,kEAAkE;YAClE,qEAAqE;YACrE,iDAAiD;YACjD,4EAA4E;YAC5E,gEAAgE;YAChE,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,CAAC,KAA0B,EAAiB,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjH,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aACnH,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,wBAAwB;IACxB,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,wCAAwC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,yCAAyC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,SAAS,gBAAgB,CAAC,SAAoB;IAC5C,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,kFAAkF;AAClF,SAAS,uBAAuB,CAAC,OAAqB;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * the composition root.
5
5
  */
6
6
  export type { IAccessControl } from './access-control.interface.js';
7
- export type { AccessDecisionSource, AccessTargetKind } from './access-control.interface.js';
7
+ export type { AccessDecisionSource, AccessTargetKind, HolderChange, HolderChanges } from './access-control.interface.js';
8
8
  export { accessMdPathForFolder, fileCarriesAccessRules, governingFolderOf } from './access-mutation.service.js';
9
9
  export type { AccessMutationService, IAccessMutation, TargetKind } from './access-mutation.service.js';
10
10
  export { folderTarget, rulesFileFor } from './access-requests.contract.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/access/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChH,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAClG,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/access/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChH,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAClG,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -20,10 +20,17 @@
20
20
  * The sections ship as markdown files in the package's `agent-guide/` folder
21
21
  * (see `assets.ts`), one per section, with the layout placeholders the old
22
22
  * template carried (`{{knowledgeBaseDir}}`, `{{skillsDir}}`, `{{pluginsDir}}`,
23
- * `{{agentsFile}}`). ONE section is computed rather than read: the rules every
24
- * file tool shares, which the MCP handshake also sends — the same string in
25
- * both places, from `shared-file-rules.ts`, so a rule cannot be changed in one
26
- * and left stale in the other.
23
+ * `{{agentsFile}}`), the checkout folder's `{{kbDirName}}` and the default
24
+ * branch's `{{defaultBranch}}`. ONE section is computed rather than read: the
25
+ * rules every file tool shares, which the MCP handshake also sends — the same
26
+ * string in both places, from `shared-file-rules.ts`, so a rule cannot be
27
+ * changed in one and left stale in the other.
28
+ *
29
+ * The guide is LAYERED (see openspec/changes/agent-guide-layers/design.md):
30
+ * `get_agent_guide` with no section answers with the short start section
31
+ * ({@link START_HERE_SECTION_ID}), which says which section answers which
32
+ * question, and an agent fetches the others by id when a task needs them.
33
+ * Each section has a token budget (`guide-budget.ts`), held by a test.
27
34
  */
28
35
  import { type KbLayout } from '@bevel-software/platform-shared';
29
36
  /** One section of the guide. */
@@ -48,6 +55,13 @@ export interface AgentGuideSection {
48
55
  * could only misread a folder name it STATES as a placeholder.
49
56
  */
50
57
  literal?: boolean;
58
+ /**
59
+ * The question this section answers, as a row of the start section's
60
+ * "which section answers what" table. Core's sections are in that table
61
+ * already; a distribution sets it on a section it adds, so an agent that
62
+ * reads only the start section is routed to it.
63
+ */
64
+ asks?: string;
51
65
  }
52
66
  /**
53
67
  * A distribution's say over the guide. Called with core's sections, in order,
@@ -67,6 +81,14 @@ export declare const WORKING_WITH_FILES_SECTION_ID = "working-with-files";
67
81
  * workspace/first-run.ts, which names it by this constant).
68
82
  */
69
83
  export declare const NEW_KNOWLEDGE_BASE_SECTION_ID = "new-knowledge-base";
84
+ /**
85
+ * The first-contact section: what `get_agent_guide` answers when no section is
86
+ * named. Short on purpose, and the one place that maps each question to the
87
+ * section answering it, so an agent fetches one section rather than the guide.
88
+ */
89
+ export declare const START_HERE_SECTION_ID = "start-here";
90
+ /** The `section` that asks `get_agent_guide` for every section at once. */
91
+ export declare const WHOLE_GUIDE_SECTION = "all";
70
92
  /**
71
93
  * Core's sections, in reading order. Every id but the shared-rules one names
72
94
  * a file in the package's `agent-guide/` folder.
@@ -89,6 +111,13 @@ export interface AgentGuideContext {
89
111
  * deployment's tools report back.
90
112
  */
91
113
  kbDirName?: string;
114
+ /**
115
+ * The knowledge base's default branch, rendered into `{{defaultBranch}}` so
116
+ * the start section names the branch every file tool's `branch` takes for
117
+ * what is live. Read when the guide is composed: a fresh deployment gets its
118
+ * branch model from the setup screen after the services are built.
119
+ */
120
+ defaultBranch?: string;
92
121
  }
93
122
  /** One section of the guide as an agent reads it: rendered, with the heading's text as its title. */
94
123
  export interface RenderedGuideSection {
@@ -106,7 +135,11 @@ export type AgentGuideSectionsReader = () => Promise<RenderedGuideSection[]>;
106
135
  * with its title. The whole guide is these joined (see
107
136
  * {@link composeAgentGuide}); `get_agent_guide` also serves one at a time.
108
137
  *
109
- * A hook may append, replace and drop sections, with ONE exception: the
138
+ * A hook may append, replace and drop sections. It replaces one by returning
139
+ * its own under the same id, beside core's or in its place: of two sections
140
+ * under one id the LAST is served, where the FIRST stood, so a distribution
141
+ * overrides core's `start-here` or `html-views` by adding its own and the
142
+ * guide keeps its order (see {@link oneSectionPerId}). ONE exception: the
110
143
  * shared file rules ({@link WORKING_WITH_FILES_SECTION_ID}) must come back
111
144
  * WITH TEXT IN THEM, as core's or as the hook's own replacement. A client
112
145
  * that drops the handshake instructions has the guide as the only place to
@@ -123,16 +156,23 @@ export declare function agentGuideSections(layout: KbLayout, hook?: AgentGuideHo
123
156
  * ending in one newline.
124
157
  */
125
158
  export declare function composeAgentGuide(layout: KbLayout, hook?: AgentGuideHook, context?: AgentGuideContext): Promise<string>;
159
+ /**
160
+ * What a `read_file` of the guide's name answers: the start section and the
161
+ * list of every section, the same as `get_agent_guide` with no `section`, so
162
+ * no read hands an agent the whole guide unless it asks for it. A guide
163
+ * without a start section (a distribution dropped it) is answered whole.
164
+ */
165
+ export declare function guideStartText(sections: readonly RenderedGuideSection[]): string;
126
166
  /** The sections as one document, the way `composeAgentGuide` joins them. */
127
167
  export declare function joinGuideSections(sections: readonly RenderedGuideSection[]): string;
128
168
  /**
129
169
  * What a `read_file` of the guide's name answers when the knowledge base has an
130
170
  * `AGENTS.md` of its own: their text first, whole, then a rule and one line
131
- * saying what follows, then the platform's guide. Theirs first because it is
171
+ * saying what follows, then the start of the platform's guide. Theirs first because it is
132
172
  * the more specific of the two, and the line between so neither is read as
133
173
  * part of the other.
134
174
  */
135
- export declare const PLATFORM_GUIDE_SEPARATOR = "---\n\n_The text above is this knowledge base's own conventions file. The platform's guide follows; `get_agent_guide` returns it on its own._";
175
+ export declare const PLATFORM_GUIDE_SEPARATOR = "---\n\n_The text above is this knowledge base's own conventions file. The start of the platform's guide follows; `get_agent_guide` with a `section` returns the rest._";
136
176
  export declare function withPlatformGuideAppended(ownText: string, guide: string): string;
137
177
  /** The one name the guide is read by: `AGENTS.md` at the repository root, the name coding agents look for. */
138
178
  export declare const AGENT_GUIDE_FILE = "AGENTS.md";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAIzC,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KACvB,SAAS,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;AAE1E,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAErD,8DAA8D;AAC9D,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAY5C,CAAC;AAmBH,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD;AAiBD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAe3F;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,qGAAqG;AACrG,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0FAA0F;AAC1F,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAuBjC;AAaD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GAAG,MAAM,CAEnF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,kJAC4G,CAAC;AAElJ,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAShF;AAED,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAGlE"}
1
+ {"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAIzC,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KACvB,SAAS,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;AAE1E,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAErD,8DAA8D;AAC9D,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAgB5C,CAAC;AAmBH,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD;AAiBD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAe3F;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAQD,qGAAqG;AACrG,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0FAA0F;AAC1F,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA8BjC;AA0DD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GAAG,MAAM,CAKhF;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GAAG,MAAM,CAEnF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,2KACqI,CAAC;AAE3K,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAShF;AAED,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAGlE"}
@@ -20,10 +20,17 @@
20
20
  * The sections ship as markdown files in the package's `agent-guide/` folder
21
21
  * (see `assets.ts`), one per section, with the layout placeholders the old
22
22
  * template carried (`{{knowledgeBaseDir}}`, `{{skillsDir}}`, `{{pluginsDir}}`,
23
- * `{{agentsFile}}`). ONE section is computed rather than read: the rules every
24
- * file tool shares, which the MCP handshake also sends — the same string in
25
- * both places, from `shared-file-rules.ts`, so a rule cannot be changed in one
26
- * and left stale in the other.
23
+ * `{{agentsFile}}`), the checkout folder's `{{kbDirName}}` and the default
24
+ * branch's `{{defaultBranch}}`. ONE section is computed rather than read: the
25
+ * rules every file tool shares, which the MCP handshake also sends — the same
26
+ * string in both places, from `shared-file-rules.ts`, so a rule cannot be
27
+ * changed in one and left stale in the other.
28
+ *
29
+ * The guide is LAYERED (see openspec/changes/agent-guide-layers/design.md):
30
+ * `get_agent_guide` with no section answers with the short start section
31
+ * ({@link START_HERE_SECTION_ID}), which says which section answers which
32
+ * question, and an agent fetches the others by id when a task needs them.
33
+ * Each section has a token budget (`guide-budget.ts`), held by a test.
27
34
  */
28
35
  import fs from 'node:fs/promises';
29
36
  import path from 'node:path';
@@ -38,21 +45,33 @@ export const WORKING_WITH_FILES_SECTION_ID = 'working-with-files';
38
45
  * workspace/first-run.ts, which names it by this constant).
39
46
  */
40
47
  export const NEW_KNOWLEDGE_BASE_SECTION_ID = 'new-knowledge-base';
48
+ /**
49
+ * The first-contact section: what `get_agent_guide` answers when no section is
50
+ * named. Short on purpose, and the one place that maps each question to the
51
+ * section answering it, so an agent fetches one section rather than the guide.
52
+ */
53
+ export const START_HERE_SECTION_ID = 'start-here';
54
+ /** The `section` that asks `get_agent_guide` for every section at once. */
55
+ export const WHOLE_GUIDE_SECTION = 'all';
41
56
  /**
42
57
  * Core's sections, in reading order. Every id but the shared-rules one names
43
58
  * a file in the package's `agent-guide/` folder.
44
59
  */
45
60
  export const CORE_SECTION_IDS = Object.freeze([
46
- 'introduction',
61
+ START_HERE_SECTION_ID,
62
+ 'how-agents-find-things',
63
+ 'for-git-users',
64
+ 'glossary',
47
65
  'directory-structure',
48
66
  'where-a-new-file-goes',
49
67
  WORKING_WITH_FILES_SECTION_ID,
50
68
  'access-control',
69
+ 'drafts-and-change-requests',
51
70
  'skills',
71
+ 'tools',
52
72
  'tool-manuals',
53
73
  'html-views',
54
74
  'conventions',
55
- 'finding-things',
56
75
  NEW_KNOWLEDGE_BASE_SECTION_ID,
57
76
  ]);
58
77
  /**
@@ -108,13 +127,19 @@ export async function coreAgentGuideSections(layout) {
108
127
  }
109
128
  /** The checkout folder's name when none is given — core's own default. */
110
129
  const DEFAULT_KB_DIR_NAME = 'knowledge-base';
130
+ /** What `{{defaultBranch}}` reads as when no branch is configured yet: a name no branch can have. */
131
+ const UNCONFIGURED_DEFAULT_BRANCH = '<the default branch>';
111
132
  /**
112
133
  * The guide's sections as an agent reads them: core's sections through the
113
134
  * distribution's hook (when there is one), rendered for the layout, each
114
135
  * with its title. The whole guide is these joined (see
115
136
  * {@link composeAgentGuide}); `get_agent_guide` also serves one at a time.
116
137
  *
117
- * A hook may append, replace and drop sections, with ONE exception: the
138
+ * A hook may append, replace and drop sections. It replaces one by returning
139
+ * its own under the same id, beside core's or in its place: of two sections
140
+ * under one id the LAST is served, where the FIRST stood, so a distribution
141
+ * overrides core's `start-here` or `html-views` by adding its own and the
142
+ * guide keeps its order (see {@link oneSectionPerId}). ONE exception: the
118
143
  * shared file rules ({@link WORKING_WITH_FILES_SECTION_ID}) must come back
119
144
  * WITH TEXT IN THEM, as core's or as the hook's own replacement. A client
120
145
  * that drops the handshake instructions has the guide as the only place to
@@ -128,16 +153,20 @@ const DEFAULT_KB_DIR_NAME = 'knowledge-base';
128
153
  export async function agentGuideSections(layout, hook, context = {}) {
129
154
  const resolved = resolveKbLayout(layout);
130
155
  const core = await coreAgentGuideSections(resolved);
131
- const sections = hook ? await hook(core, resolved) : core;
156
+ const sections = withRoutes(oneSectionPerId(hook ? await hook(core, resolved) : core));
132
157
  const kbDirName = context.kbDirName?.trim() || DEFAULT_KB_DIR_NAME;
158
+ const defaultBranch = context.defaultBranch?.trim() || UNCONFIGURED_DEFAULT_BRANCH;
133
159
  const rendered = sections.map((section) => {
134
160
  const body = (section.literal
135
161
  ? section.body
136
- : renderKbLayoutPlaceholders(section.body.replaceAll('{{kbDirName}}', () => kbDirName), resolved)).trim();
162
+ : renderKbLayoutPlaceholders(section.body
163
+ .replaceAll('{{kbDirName}}', () => kbDirName)
164
+ .replaceAll('{{defaultBranch}}', () => defaultBranch), resolved)).trim();
137
165
  return { id: section.id, title: titleOf(body, section.id), body };
138
166
  });
139
- // Judged over EVERY section under the id — a hook may return the id twice
140
- // — on what survives the empty-body filter below: one with text is enough.
167
+ // One section per id by now (`oneSectionPerId`), so a hook's own version
168
+ // of the rules is what is judged, on what survives the empty-body filter
169
+ // below.
141
170
  const rules = rendered.filter((section) => section.id === WORKING_WITH_FILES_SECTION_ID);
142
171
  if (!rules.some((section) => section.body.length > 0)) {
143
172
  throw new Error(`The agent guide hook ${rules.length === 0 ? 'dropped' : 'emptied'} the "${WORKING_WITH_FILES_SECTION_ID}" ` +
@@ -145,6 +174,54 @@ export async function agentGuideSections(layout, hook, context = {}) {
145
174
  }
146
175
  return rendered.filter((section) => section.body.length > 0);
147
176
  }
177
+ /**
178
+ * One section per id. A hook that returns an id twice (its own version of a
179
+ * core section, added beside core's) means the later one: it is served in
180
+ * the earlier one's place, so a distribution overrides a section by adding
181
+ * its own under the same id, and the guide keeps core's order. Without this
182
+ * the whole guide carried both and `get_agent_guide` served the first, which
183
+ * was always core's.
184
+ */
185
+ function oneSectionPerId(sections) {
186
+ const at = new Map();
187
+ const out = [];
188
+ for (const section of sections) {
189
+ const index = at.get(section.id);
190
+ if (index === undefined) {
191
+ at.set(section.id, out.length);
192
+ out.push(section);
193
+ }
194
+ else {
195
+ out[index] = section;
196
+ }
197
+ }
198
+ return out;
199
+ }
200
+ /**
201
+ * Adds a row to the start section's routing table for every section that
202
+ * says what it {@link AgentGuideSection.asks} and is not routed there yet.
203
+ * The rows go after the table's last row. A start section without the table
204
+ * (a distribution replaced it) is left as it is.
205
+ */
206
+ function withRoutes(sections) {
207
+ const start = sections.find((section) => section.id === START_HERE_SECTION_ID);
208
+ if (!start)
209
+ return sections;
210
+ const routed = sections.filter((section) => section.asks?.trim() && !start.body.includes(`| \`${section.id}\` |`));
211
+ if (routed.length === 0)
212
+ return sections;
213
+ const lines = start.body.split('\n');
214
+ const header = lines.findIndex((line) => /^\|\s*Question\s*\|\s*Section\s*\|/.test(line));
215
+ if (header < 0)
216
+ return sections;
217
+ let last = header;
218
+ while (last + 1 < lines.length && lines[last + 1].startsWith('|'))
219
+ last += 1;
220
+ const rows = routed.map((section) => `| ${section.asks.trim().replaceAll('|', '\\|')} | \`${section.id}\` |`);
221
+ lines.splice(last + 1, 0, ...rows);
222
+ const body = lines.join('\n');
223
+ return sections.map((section) => (section === start ? { ...start, body } : section));
224
+ }
148
225
  /**
149
226
  * The heading's text, or the id when the section opens with no heading. An
150
227
  * ATX heading may close with a run of `#` of its own (`## Custom ##`); that
@@ -162,6 +239,19 @@ function titleOf(body, id) {
162
239
  export async function composeAgentGuide(layout, hook, context = {}) {
163
240
  return joinGuideSections(await agentGuideSections(layout, hook, context));
164
241
  }
242
+ /**
243
+ * What a `read_file` of the guide's name answers: the start section and the
244
+ * list of every section, the same as `get_agent_guide` with no `section`, so
245
+ * no read hands an agent the whole guide unless it asks for it. A guide
246
+ * without a start section (a distribution dropped it) is answered whole.
247
+ */
248
+ export function guideStartText(sections) {
249
+ const start = sections.find((section) => section.id === START_HERE_SECTION_ID);
250
+ if (!start)
251
+ return joinGuideSections(sections);
252
+ const list = sections.map((section) => `- \`${section.id}\`: ${section.title}`).join('\n');
253
+ return `${start.body}\n\n### Every section\n\n${list}\n`;
254
+ }
165
255
  /** The sections as one document, the way `composeAgentGuide` joins them. */
166
256
  export function joinGuideSections(sections) {
167
257
  return `${sections.map((section) => section.body).join('\n\n')}\n`;
@@ -169,11 +259,11 @@ export function joinGuideSections(sections) {
169
259
  /**
170
260
  * What a `read_file` of the guide's name answers when the knowledge base has an
171
261
  * `AGENTS.md` of its own: their text first, whole, then a rule and one line
172
- * saying what follows, then the platform's guide. Theirs first because it is
262
+ * saying what follows, then the start of the platform's guide. Theirs first because it is
173
263
  * the more specific of the two, and the line between so neither is read as
174
264
  * part of the other.
175
265
  */
176
- export const PLATFORM_GUIDE_SEPARATOR = "---\n\n_The text above is this knowledge base's own conventions file. The platform's guide follows; `get_agent_guide` returns it on its own._";
266
+ export const PLATFORM_GUIDE_SEPARATOR = "---\n\n_The text above is this knowledge base's own conventions file. The start of the platform's guide follows; `get_agent_guide` with a `section` returns the rest._";
177
267
  export function withPlatformGuideAppended(ownText, guide) {
178
268
  // Their text as they wrote it, line endings normalised and the trailing
179
269
  // newlines folded into the one blank line before the separator. Nothing
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,12 @@ import type { ToolHandlerFactory } from '../tool-helpers/index.js';
5
5
  import { type AgentGuideSectionsReader } from './agent-guide.js';
6
6
  export { GET_AGENT_GUIDE_TOOL };
7
7
  /**
8
- * The one tool that returns the guide on its own — whole, or one section by
9
- * id. It takes nothing else: the guide is the platform's text for this
8
+ * The one tool that returns the guide on its own: the start section when no
9
+ * section is named, one section by id, or the whole guide (`all`). Start
10
+ * section by default because this is the call every tool description tells
11
+ * an agent, and each sub-agent it starts, to make first: answering it with
12
+ * the whole guide made the most-read text the platform has also its longest.
13
+ * It takes nothing else: the guide is the platform's text for this
10
14
  * deployment, the same for every caller and every branch, and reading it
11
15
  * touches no file — so no `branch`, no `sessionId`, and no access gate. The
12
16
  * other way to the same text is a `read_file` of `AGENTS.md` at the
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2BAA2B,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAuC,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAmGN"}
1
+ {"version":3,"file":"agent-guide.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2BAA2B,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CA2GN"}