@openrig/cli 0.4.3 → 0.4.4
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.
- package/daemon/assets/guidance/openrig-start.md +6 -0
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +49 -21
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +12 -12
- package/daemon/dist/build-info.d.ts +12 -0
- package/daemon/dist/build-info.d.ts.map +1 -0
- package/daemon/dist/build-info.js +11 -0
- package/daemon/dist/build-info.js.map +1 -0
- package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts +18 -0
- package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts.map +1 -0
- package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js +22 -0
- package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js.map +1 -0
- package/daemon/dist/domain/feed/attention-aggregator.d.ts +31 -0
- package/daemon/dist/domain/feed/attention-aggregator.d.ts.map +1 -0
- package/daemon/dist/domain/feed/attention-aggregator.js +119 -0
- package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -0
- package/daemon/dist/domain/files/file-write-service.d.ts +11 -2
- package/daemon/dist/domain/files/file-write-service.d.ts.map +1 -1
- package/daemon/dist/domain/files/file-write-service.js +77 -0
- package/daemon/dist/domain/files/file-write-service.js.map +1 -1
- package/daemon/dist/domain/hosts/fanout-contract.d.ts +33 -0
- package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/fanout-contract.js +23 -0
- package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +49 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +165 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +35 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.js +105 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -0
- package/daemon/dist/domain/human-route-enforcer.d.ts +71 -0
- package/daemon/dist/domain/human-route-enforcer.d.ts.map +1 -0
- package/daemon/dist/domain/human-route-enforcer.js +80 -0
- package/daemon/dist/domain/human-route-enforcer.js.map +1 -0
- package/daemon/dist/domain/mission-control/audit-browse.d.ts +8 -0
- package/daemon/dist/domain/mission-control/audit-browse.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/audit-browse.js +19 -0
- package/daemon/dist/domain/mission-control/audit-browse.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +1 -1
- package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-action-log.js +4 -0
- package/daemon/dist/domain/mission-control/mission-control-action-log.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +1 -1
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +28 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +125 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +28 -1
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +39 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +25 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +111 -7
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/review/brief-spine.d.ts +19 -0
- package/daemon/dist/domain/review/brief-spine.d.ts.map +1 -0
- package/daemon/dist/domain/review/brief-spine.js +86 -0
- package/daemon/dist/domain/review/brief-spine.js.map +1 -0
- package/daemon/dist/domain/review/compose.d.ts +228 -0
- package/daemon/dist/domain/review/compose.d.ts.map +1 -0
- package/daemon/dist/domain/review/compose.js +773 -0
- package/daemon/dist/domain/review/compose.js.map +1 -0
- package/daemon/dist/domain/review/freeze.d.ts +31 -0
- package/daemon/dist/domain/review/freeze.d.ts.map +1 -0
- package/daemon/dist/domain/review/freeze.js +257 -0
- package/daemon/dist/domain/review/freeze.js.map +1 -0
- package/daemon/dist/domain/review/gather.d.ts +100 -0
- package/daemon/dist/domain/review/gather.d.ts.map +1 -0
- package/daemon/dist/domain/review/gather.js +676 -0
- package/daemon/dist/domain/review/gather.js.map +1 -0
- package/daemon/dist/domain/review/types.d.ts +258 -0
- package/daemon/dist/domain/review/types.d.ts.map +1 -0
- package/daemon/dist/domain/review/types.js +35 -0
- package/daemon/dist/domain/review/types.js.map +1 -0
- package/daemon/dist/domain/scope/scope-approve.d.ts +64 -0
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -0
- package/daemon/dist/domain/scope/scope-approve.js +153 -0
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -0
- package/daemon/dist/domain/scope/scope-audit.d.ts +9 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +173 -1
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/topology/multi-rig-launcher.d.ts +49 -0
- package/daemon/dist/domain/topology/multi-rig-launcher.d.ts.map +1 -0
- package/daemon/dist/domain/topology/multi-rig-launcher.js +132 -0
- package/daemon/dist/domain/topology/multi-rig-launcher.js.map +1 -0
- package/daemon/dist/domain/topology/remote-up-leaf.d.ts +29 -0
- package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -0
- package/daemon/dist/domain/topology/remote-up-leaf.js +60 -0
- package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -0
- package/daemon/dist/domain/topology/topology-manifest.d.ts +34 -0
- package/daemon/dist/domain/topology/topology-manifest.d.ts.map +1 -0
- package/daemon/dist/domain/topology/topology-manifest.js +195 -0
- package/daemon/dist/domain/topology/topology-manifest.js.map +1 -0
- package/daemon/dist/domain/types.d.ts +5 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/up-command-router.d.ts +1 -1
- package/daemon/dist/domain/up-command-router.d.ts.map +1 -1
- package/daemon/dist/domain/up-command-router.js +34 -2
- package/daemon/dist/domain/up-command-router.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +17 -0
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +109 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +51 -6
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +11 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +82 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +15 -6
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/files.d.ts.map +1 -1
- package/daemon/dist/routes/files.js +45 -1
- package/daemon/dist/routes/files.js.map +1 -1
- package/daemon/dist/routes/mission-control.d.ts.map +1 -1
- package/daemon/dist/routes/mission-control.js +67 -2
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts +8 -2
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +44 -4
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/review.d.ts +3 -0
- package/daemon/dist/routes/review.d.ts.map +1 -0
- package/daemon/dist/routes/review.js +169 -0
- package/daemon/dist/routes/review.js.map +1 -0
- package/daemon/dist/routes/scope-approve.d.ts +3 -0
- package/daemon/dist/routes/scope-approve.d.ts.map +1 -0
- package/daemon/dist/routes/scope-approve.js +55 -0
- package/daemon/dist/routes/scope-approve.js.map +1 -0
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +28 -1
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +49 -9
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/terminal-ws.d.ts.map +1 -1
- package/daemon/dist/routes/terminal-ws.js +58 -21
- package/daemon/dist/routes/terminal-ws.js.map +1 -1
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +84 -0
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/workspace.js +2 -2
- package/daemon/dist/server.d.ts +1 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +14 -1
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +18 -3
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-startup-guide.md +1 -1
- package/daemon/docs/reference/product-factory-vps-runbook.md +132 -0
- package/daemon/docs/reference/sdlc-conventions.md +187 -0
- package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
- package/daemon/specs/agents/conveyor/builder/guidance/role.md +1 -0
- package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
- package/daemon/specs/agents/conveyor/lead/guidance/role.md +1 -0
- package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
- package/daemon/specs/agents/conveyor/planner/guidance/role.md +1 -0
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
- package/daemon/specs/agents/conveyor/reviewer/guidance/role.md +1 -0
- package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
- package/daemon/specs/agents/design/product-designer/guidance/role.md +1 -0
- package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
- package/daemon/specs/agents/development/implementer/guidance/role.md +1 -0
- package/daemon/specs/agents/development/qa/agent.yaml +1 -1
- package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +1 -0
- package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
- package/daemon/specs/agents/product-management/pm/guidance/role.md +13 -0
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
- package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +1 -0
- package/daemon/specs/agents/shared/agent.yaml +2 -0
- package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +115 -0
- package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +69 -23
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +2 -2
- package/daemon/specs/rigs/focused/pm-team/CULTURE.md +4 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +1 -1
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +4 -0
- package/dist/build-info.d.ts +8 -0
- package/dist/build-info.d.ts.map +1 -0
- package/dist/build-info.js +11 -0
- package/dist/build-info.js.map +1 -0
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +20 -4
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/expand.js +1 -1
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/file.d.ts +7 -0
- package/dist/commands/file.d.ts.map +1 -0
- package/dist/commands/file.js +77 -0
- package/dist/commands/file.js.map +1 -0
- package/dist/commands/host.d.ts +34 -0
- package/dist/commands/host.d.ts.map +1 -0
- package/dist/commands/host.js +448 -0
- package/dist/commands/host.js.map +1 -0
- package/dist/commands/proof.d.ts +54 -0
- package/dist/commands/proof.d.ts.map +1 -0
- package/dist/commands/proof.js +311 -0
- package/dist/commands/proof.js.map +1 -0
- package/dist/commands/ps.d.ts +41 -7
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +343 -131
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +76 -0
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +140 -3
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.js +13 -4
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/up.d.ts +2 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +69 -2
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/workspace.js +6 -6
- package/dist/commands/workspace.js.map +1 -1
- package/dist/config-store.d.ts +4 -0
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +68 -0
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-executor.d.ts +1 -0
- package/dist/cross-host-executor.d.ts.map +1 -1
- package/dist/cross-host-executor.js +4 -1
- package/dist/cross-host-executor.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +4 -1
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +9 -0
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +32 -2
- package/dist/host-registry.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/file-transfer.d.ts +89 -0
- package/dist/lib/file-transfer.d.ts.map +1 -0
- package/dist/lib/file-transfer.js +300 -0
- package/dist/lib/file-transfer.js.map +1 -0
- package/dist/lib/hosts/fanout-contract.d.ts +33 -0
- package/dist/lib/hosts/fanout-contract.d.ts.map +1 -0
- package/dist/lib/hosts/fanout-contract.js +23 -0
- package/dist/lib/hosts/fanout-contract.js.map +1 -0
- package/dist/lib/scope/scope-audit.d.ts +9 -1
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +173 -1
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/templates.d.ts +1 -0
- package/dist/lib/scope/templates.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +9 -0
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +16 -0
- package/dist/lib/scope-templates/backlog-tech-debt.md +16 -0
- package/dist/lib/scope-templates/bug-fix.md +16 -0
- package/dist/lib/scope-templates/implementation-prd.md +33 -0
- package/dist/lib/scope-templates/mission-placeholder.md +1 -1
- package/dist/lib/scope-templates/mission-progress.md +1 -1
- package/dist/lib/scope-templates/mission-release.md +1 -1
- package/dist/lib/scope-templates/placeholder.md +11 -7
- package/dist/lib/scope-templates/proof.md +5 -1
- package/dist/lib/scope-templates/release-feature.md +14 -6
- package/dist/lib/scope-templates/research.md +16 -0
- package/dist/lib/scope-templates/slice-progress.md +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +11 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/index-D69ZhNIr.js +598 -0
- package/ui/dist/assets/index-DJYun-8d.css +32 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-DYZniQcc.js +0 -597
- package/ui/dist/assets/index-trcb4Yf_.css +0 -32
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/domain/review/gather.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AACzE,oEAAoE;AACpE,2EAA2E;AAC3E,2EAA2E;AAC3E,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,GAQd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AA6BhE,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAErF,MAAM,OAAO,cAAc;IACR,EAAE,CAAoB;IACtB,OAAO,CAAe;IACtB,WAAW,CAAgB;IAC3B,aAAa,CAA4B;IACzC,GAAG,CAAe;IAEnC,YAAY,IAAwB;QAClC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,6EAA6E;IAC7E,uBAAuB,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1G,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,MAAM;aACpB,GAAG,CAAC,CAAC,CAAC,EAA4B,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBAClC,KAAK,EAAE,4BAA4B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK;aAC5D,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,oBAAoB,CAAC;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE;YACpG,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,OAAO,EAAE,EAAE,QAAQ,CAAC;YACtE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,gBAAgB,CAAC;YACtB,MAAM;YACN,OAAO;YACP,SAAS;YACT,OAAO;YACP,aAAa;YACb,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,YAAY,EAAE,OAAO;YACrB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,aAAa,CAAC,KAAkB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/F,CAAC;IAED,4EAA4E;IAE5E,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,EAAE,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,WAAW,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,IAAI;gBAChF,KAAK,EAAE,KAAK,CAAC,WAAW;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;YACD,MAAM;YACN,GAAG;YACH,OAAO;YACP,SAAS;YACT,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;YACvD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACxD,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClE,SAAS;YACT,MAAM;YACN,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YACpD,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC;YACnD,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;IACJ,CAAC;IAED;;;mCAG+B;IACvB,oBAAoB,CAAC,EAA2B;QACtD,MAAM,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAC1D,MAAM,CAAC,GAAG,KAAgC,CAAC;YAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU;aACxF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,QAAQ,CAAC,CAAS;QACxB,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACtC,+EAA+E;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACjE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,yEAAyE;YACzE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACvE,OAAO;gBACL,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,IAAI;gBAC9D,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,OAAO,CAAY,CAAC,CAAC,CAAC,OAAO;gBAC1E,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC;gBAC3C,UAAU;aACX,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,+EAA+E;IAC/E,kBAAkB,CAAC,OAAe;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC;IAEO,gBAAgB,CAAC,OAAsB;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO;aACX,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACpD,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,gFAAgF;IACxE,gBAAgB,CAAC,OAA6B;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtG,OAAO,GAAG,KAAK,SAAS,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,MAAc;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;YAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;yCAEqC;IAC7B,eAAe,CAAC,GAAW,EAAE,gBAAyB;QAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,8FAA8F,UAAU;iDAC/D,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;;2BAE5D,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;qEAII,CAC9D;aACA,GAAG,CAAC,GAAG,aAAa,EAAE,KAAK,GAAG,IAAI,CAAuD,CAAC;QAC7F,OAAO,IAAI;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAc,IAAI,EAAE,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;YAC7D,KAAK,EAAE,CAAC,CAAC,mBAAmB;YAC5B,YAAY,EAAE,CAAC,CAAC,UAAU;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACnD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB;YACzC,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;SAC5C,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;+EAE2E;IACnE,eAAe,CAAC,UAA2B;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,8FAA8F,UAAU;;;2BAGrF,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAC7D;aACA,GAAG,CAAC,GAAG,aAAa,CAAe,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqD,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAAE,SAAS;YACxD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAc,IAAI,EAAE,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACpF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;iBAC7B,MAAM,CAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAChG,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO;gBAC3C,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,SAAkB;gBAC3B,QAAQ,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI;gBACpC,IAAI,EAAE,IAAI,EAAE,yDAAyD;gBACrE,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO;gBACxC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACzB,iBAAiB,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,UAAU;gBAChD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wEAAwE;IAExE;;;kCAG8B;IACtB,SAAS,CAAC,aAAqB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,OAAO,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/F,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,8FAA8F,UAAU;;;;+BAIjF,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;qCAChC,CAC9B;aACA,GAAG,CAAC,aAAa,EAAE,GAAG,aAAa,CAAe,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqD,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAAE,SAAS;YACxD,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAAE,SAAS;YAC/C,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAc,IAAI,EAAE,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;YAC5F,IAAI,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;gBAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,YAAY,GAAiB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO;YAC3C,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,SAAkB;YAC3B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,iEAAiE;YACjE,qDAAqD;YACrD,KAAK,EAAE,sBAAsB;YAC7B,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;YACtC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;SAC7B,CAAC,CAAC,CAAC;QACN,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAClG,CAAC;IAED;;oEAEgE;IACxD,aAAa,CAAC,MAAoB,EAAE,MAAc;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;YACzD,IAAI,IAAI,GAAmB,CAAC,CAAC,IAAI,CAAC;YAClC,IAAI,YAAY,GAAkB,CAAC,CAAC,YAAY,CAAC;YACjD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC5G,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;wBAClC,IAAI,GAAG,KAAK,CAAC;wBACb,YAAY,GAAG,IAAI,CAAC;oBACtB,CAAC;yBAAM,IAAI,QAAQ,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;wBACtC,IAAI,GAAG,IAAI,CAAC;wBACZ,YAAY,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;oBAChE,CAAC;oBACD,uDAAuD;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;gBACrD,CAAC;YACH,CAAC;YACD,MAAM,iBAAiB,GACrB,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,SAAmB,CAAC;YAC9G,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN;;4CAEkC,CACnC;iBACA,GAAG,EAA6D,CAAC;YACpE,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,CAAC,OAAO;oBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0EAA0E;IAClE,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,8FAA8F,UAAU;iDAC/D,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;;2BAE5D,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;qEAGI,CAC9D;aACA,GAAG,CAAC,GAAG,aAAa,CAAuD,CAAC;QAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;YAC7D,KAAK,EAAE,CAAC,CAAC,mBAAmB;YAC5B,YAAY,EAAE,CAAC,CAAC,UAAU;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACnD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB;YACzC,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;SAC5C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;0CAEsC;IAC9B,YAAY,CAAC,aAAqB;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACrF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC;YAChG,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN;sDAC4C,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,mBAAmB;;aAErG,WAAW,IAAI,EAAE;;8BAEA,CACrB;iBACA,GAAG,CAAC,aAAa,CAA0H,CAAC;YAC/I,MAAM,OAAO,GAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,aAAa;gBAC5B,SAAS,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;gBACxC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,EAAE;gBACjB,OAAO,EAAE,CAAC,CAAC,QAAQ;aACpB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;2EACuE;IAC/D,WAAW,CAAC,MAAc;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN,8FAA8F,UAAU;;;;;;uCAM3E,CAC9B;iBACA,GAAG,CAAC,MAAM,CAAe,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,CAAC,CAAC,mBAAmB;gBAC5B,YAAY,EAAE,CAAC,CAAC,UAAU;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,CAAC,CAAC,mBAAmB;gBACzC,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;aAC5C,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,KAAkB;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,6CAA6C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAC/G;aACA,GAAG,CAAC,GAAG,aAAa,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;QAC9C,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QACrB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,EAAE;iBACX,OAAO,CACN;gCACsB,YAAY;6BACf,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;mBAChD,CACV;iBACA,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,KAAK,SAAS,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;4CAIwC;IAChC,cAAc,CAAC,KAAkB,EAAE,EAA2B;QACpE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAiB,EAAE;YACvC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,YAAY,IAAI;gBAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,eAAe,GAAG,CAAC,aAAkC,EAAW,EAAE;YACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,IAAI,CAAC;gBACH,OAAO,CACL,IAAI,CAAC,EAAE;qBACJ,OAAO,CACN;;;;uBAIS,CACV;qBACA,GAAG,CACF,sBAAsB,aAAa,IAAI;gBACvC,0DAA0D;gBAC1D,OAAO,CAAC,CAAC,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,EACtE,IAAI,KAAK,CAAC,IAAI,GAAG,CAClB,KAAK,SAAS,CAClB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,aAAkC,EAA6B,EAAE;YAC5G,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,CAAC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC;YAC3D,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC;SAC1D,CAAC;IACJ,CAAC;IAEO,GAAG,CAAC,IAAc;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,EAA2B,EAAE,YAA2B;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;YACnG,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC;QACD,IAAI,oBAAoB,GAAmB,IAAI,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACxE,yEAAyE;YACzE,oBAAoB,GAAG,GAAG,KAAK,IAAI,CAAC;QACtC,CAAC;QACD,IAAI,kBAAkB,GAAkB,IAAI,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;gBACjE,kBAAkB,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
export declare const C1_ARTIFACT_TYPES: readonly ["guard", "qa", "rev1-r1", "rev1-r2", "adjudication"];
|
|
2
|
+
export type C1ArtifactType = (typeof C1_ARTIFACT_TYPES)[number];
|
|
3
|
+
export declare const C1_VERDICTS: readonly ["CLEAR", "BLOCKING", "CONCERNING", "PASS", "NOT-CLEAR"];
|
|
4
|
+
export type C1Verdict = (typeof C1_VERDICTS)[number];
|
|
5
|
+
export interface ProofArtifact {
|
|
6
|
+
/** Path relative to the slice dir (proof/<file>.md). */
|
|
7
|
+
relPath: string;
|
|
8
|
+
slice: string | null;
|
|
9
|
+
candidateSha: string | null;
|
|
10
|
+
artifactType: C1ArtifactType | null;
|
|
11
|
+
/** The RECORDED token, verbatim. null = missing/out-of-set (counts as MISSING). */
|
|
12
|
+
verdict: C1Verdict | null;
|
|
13
|
+
moneyEvidence: string | null;
|
|
14
|
+
/** D2 attestation (optional C1 fields). */
|
|
15
|
+
evidences: string[];
|
|
16
|
+
selfCheck: string | null;
|
|
17
|
+
/** Media refs found in the artifact body (proof-dir-relative as written);
|
|
18
|
+
* the composer curates them into `delivered.items[].proof` (§3.4). */
|
|
19
|
+
mediaRefs: string[];
|
|
20
|
+
/** File mtime ISO — the latest-wins tiebreaker within (slice, candidate_sha, artifact_type). */
|
|
21
|
+
droppedAt: string;
|
|
22
|
+
}
|
|
23
|
+
/** Derived TONE for coloring only — the chip TEXT is always the recorded token verbatim (G1). */
|
|
24
|
+
export type VerdictTone = "pass" | "fail" | "unknown";
|
|
25
|
+
export type GateRole = "guard" | "qa" | "rev1-r1" | "rev1-r2";
|
|
26
|
+
export declare const GATE_ROLES: GateRole[];
|
|
27
|
+
export interface VerdictCell {
|
|
28
|
+
role: GateRole;
|
|
29
|
+
/** Verbatim recorded token; null when the artifact is missing or carries no valid verdict. */
|
|
30
|
+
recordedToken: C1Verdict | null;
|
|
31
|
+
tone: VerdictTone;
|
|
32
|
+
/** "passing" per the pinned mapping; "missing" covers absent artifact AND present-but-no-verdict. */
|
|
33
|
+
state: "passing" | "non-passing" | "missing";
|
|
34
|
+
/** proof/<file> relPath of the winning (latest) artifact, or null. */
|
|
35
|
+
source: string | null;
|
|
36
|
+
}
|
|
37
|
+
export interface VerifyLineage {
|
|
38
|
+
/** N1: the three view-time facts — always all rendered; the label derives from them. */
|
|
39
|
+
candidateSha: string | null;
|
|
40
|
+
/** null = UNMERGED (an explicit lineage fact, never a precondition at slice altitude). */
|
|
41
|
+
mergeSha: string | null;
|
|
42
|
+
mainTip: string;
|
|
43
|
+
/** Derived from the three facts per the N1 rule; never renders without them. */
|
|
44
|
+
freshness: "fresh" | "stale" | "unknown";
|
|
45
|
+
/** Commits behind tip when pre-merge stale; null otherwise. */
|
|
46
|
+
staleBehind: number | null;
|
|
47
|
+
gateCells: VerdictCell[];
|
|
48
|
+
}
|
|
49
|
+
/** Inline media (curated proof, planned mockups). `src` is a slice-relative
|
|
50
|
+
* path on the daemon contract (the UI builds the asset URL); the twin's
|
|
51
|
+
* fixtures inline data: URIs against the same shape. */
|
|
52
|
+
export interface ReviewMedia {
|
|
53
|
+
kind: "image" | "video";
|
|
54
|
+
src: string;
|
|
55
|
+
poster?: string;
|
|
56
|
+
caption: string;
|
|
57
|
+
}
|
|
58
|
+
/** One of the two deliberate stamps (§4): plan-lock = the shipped
|
|
59
|
+
* `--scope spec` staged-approval stamp; proof-lock = the `--scope delivery`
|
|
60
|
+
* stamp (scope.ts staged approval — frontmatter stamp + audit row).
|
|
61
|
+
* `auditVerified: false` renders the UNVERIFIED-stamp state loudly. */
|
|
62
|
+
export interface LockState {
|
|
63
|
+
by: string;
|
|
64
|
+
at: string;
|
|
65
|
+
auditVerified: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** One pinned plan artifact ("this set gets built") — a frontmatter READ
|
|
68
|
+
* (`locked-artifacts:` on the slice README), never new write machinery. */
|
|
69
|
+
export interface LockedArtifact {
|
|
70
|
+
name: string;
|
|
71
|
+
path: string;
|
|
72
|
+
kind: string;
|
|
73
|
+
}
|
|
74
|
+
/** §3.1 delivered.items[] — the redesigned join: one planned deliverable
|
|
75
|
+
* paired with its CURATED proof and QA's recorded comparison signal.
|
|
76
|
+
* `verified` binds to the SHIPPED C1 fields (artifact_type qa|adjudication
|
|
77
|
+
* + evidences/self_check + a passing recorded verdict) — never mere
|
|
78
|
+
* artifact presence. Fail-open: unverified/missing render as visibly
|
|
79
|
+
* incomplete, they never block. */
|
|
80
|
+
export interface DeliveredItem {
|
|
81
|
+
promised: {
|
|
82
|
+
text: string;
|
|
83
|
+
plannedRef?: ReviewMedia;
|
|
84
|
+
};
|
|
85
|
+
proof: ReviewMedia[];
|
|
86
|
+
verified: "verified" | "unverified" | "missing";
|
|
87
|
+
note?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare const REVIEW_PHASES: readonly ["locked", "review", "building", "spec", "intent"];
|
|
90
|
+
export type ReviewPhase = (typeof REVIEW_PHASES)[number];
|
|
91
|
+
/** BR-10 render vocabulary (SS14). Derivation names map 1:1; only the label differs. */
|
|
92
|
+
export declare const PHASE_LANE_LABELS: Record<ReviewPhase, string>;
|
|
93
|
+
export interface DerivedException {
|
|
94
|
+
kind: "stuck" | "overdue" | "insufficient-proof" | "stale-after-change";
|
|
95
|
+
/** The inline evidence — never a bare accusation ("idle 47m >= 30m default · holds 2"). */
|
|
96
|
+
evidence: string;
|
|
97
|
+
/** The visible v1 threshold it crossed. */
|
|
98
|
+
threshold: string;
|
|
99
|
+
}
|
|
100
|
+
export interface NeedsYouItem {
|
|
101
|
+
/** "agent" = ● (agent-initiated leg); "derived" = ▲ (composer exception). Equal rank. */
|
|
102
|
+
source: "agent" | "derived";
|
|
103
|
+
/** One-count identity: qitem id, or the ▲ tuple key "seat-or-slice|kind|since". */
|
|
104
|
+
identity: string;
|
|
105
|
+
summary: string;
|
|
106
|
+
leg: string;
|
|
107
|
+
where: string;
|
|
108
|
+
ageIso: string | null;
|
|
109
|
+
priority: string | null;
|
|
110
|
+
tier: string | null;
|
|
111
|
+
evidenceRef: string | null;
|
|
112
|
+
/** Computed what-it-unblocks (the park relation), or null. */
|
|
113
|
+
unblocks: string | null;
|
|
114
|
+
/** #6 read-contract members: the actionable qitem's real destination/actor identity. */
|
|
115
|
+
qitemId: string | null;
|
|
116
|
+
destinationSession: string | null;
|
|
117
|
+
derived: DerivedException | null;
|
|
118
|
+
}
|
|
119
|
+
export interface NeedsYouBand {
|
|
120
|
+
items: NeedsYouItem[];
|
|
121
|
+
/** U4: the proven-empty/computed-from provenance line — always present. */
|
|
122
|
+
provenance: string;
|
|
123
|
+
}
|
|
124
|
+
export type AgentsScope = `slice:${string}` | `mission:${string}` | "rig";
|
|
125
|
+
export interface AgentRow {
|
|
126
|
+
agentName: string;
|
|
127
|
+
runtime: "claude-code" | "codex" | "terminal" | "unknown";
|
|
128
|
+
/** Honest-unknown when telemetry is down — never guessed. Parked is queue-proven. */
|
|
129
|
+
stateGlyph: "active" | "parked" | "idle" | "unknown";
|
|
130
|
+
/** The C6 plain-language "doing" line. */
|
|
131
|
+
doing: string | null;
|
|
132
|
+
holdsCount: number;
|
|
133
|
+
lastTransitionIso: string | null;
|
|
134
|
+
/** ▲ mark with inline evidence when a derived exception targets this agent. */
|
|
135
|
+
exception: DerivedException | null;
|
|
136
|
+
sessionName: string;
|
|
137
|
+
/** Slice ids grouping this row at mission scope. */
|
|
138
|
+
slices: string[];
|
|
139
|
+
}
|
|
140
|
+
export interface AgentsBand {
|
|
141
|
+
scope: AgentsScope;
|
|
142
|
+
rows: AgentRow[];
|
|
143
|
+
/** BR-11 provenance (proven-empty carries it too — never a blank region). */
|
|
144
|
+
provenance: string;
|
|
145
|
+
coordinationHealth: string | null;
|
|
146
|
+
}
|
|
147
|
+
/** One settled handoff (the record band): today's closed handoffs, one line
|
|
148
|
+
* each, in C6 summaries (BR-10 — plain language first). */
|
|
149
|
+
export interface SettledRow {
|
|
150
|
+
fromSession: string;
|
|
151
|
+
toSession: string;
|
|
152
|
+
/** The qitem's C6 summary; null degrades to the qitem id at render. */
|
|
153
|
+
summary: string | null;
|
|
154
|
+
closedAtIso: string;
|
|
155
|
+
qitemId: string;
|
|
156
|
+
}
|
|
157
|
+
/** The composed rig-agents read root (slice 22 FR-1..FR-4): NEEDS YOU +
|
|
158
|
+
* AGENTS (with coordination health) + SETTLED at rig scope. Pure
|
|
159
|
+
* projection over queue + ps — agents author nothing for it. */
|
|
160
|
+
export interface ComposedRigAgents {
|
|
161
|
+
scope: "rig";
|
|
162
|
+
needsYou: NeedsYouBand;
|
|
163
|
+
agents: AgentsBand;
|
|
164
|
+
settled: SettledRow[];
|
|
165
|
+
/** BR-11: proven-empty carries provenance too — never a blank region. */
|
|
166
|
+
settledProvenance: string;
|
|
167
|
+
composedAt: string;
|
|
168
|
+
}
|
|
169
|
+
/** §3.1 — the ONE structure. A projection of on-disk artifacts: every section
|
|
170
|
+
* always composes, degrading to a muted "—" line when its source is absent —
|
|
171
|
+
* never invented, never blocking. */
|
|
172
|
+
export interface ComposedSliceReview {
|
|
173
|
+
slice: string;
|
|
174
|
+
sliceId: string | null;
|
|
175
|
+
title: string;
|
|
176
|
+
missionId: string | null;
|
|
177
|
+
phase: ReviewPhase;
|
|
178
|
+
laneLabel: string;
|
|
179
|
+
/** §1 — recorded intent, verbatim, usually text. */
|
|
180
|
+
intent: {
|
|
181
|
+
text: string | null;
|
|
182
|
+
media: ReviewMedia[];
|
|
183
|
+
ssotPath: string | null;
|
|
184
|
+
degrade: string | null;
|
|
185
|
+
};
|
|
186
|
+
/** §2 — mini-reqs + planned mockup(s); the PINNED locked set; plan-lock. */
|
|
187
|
+
plan: {
|
|
188
|
+
concise: {
|
|
189
|
+
text: string | null;
|
|
190
|
+
media: ReviewMedia[];
|
|
191
|
+
};
|
|
192
|
+
lockedArtifacts: LockedArtifact[];
|
|
193
|
+
lock: LockState | null;
|
|
194
|
+
ssotPath: string | null;
|
|
195
|
+
};
|
|
196
|
+
/** §3 — the redesigned join: planned ↔ curated proof ↔ QA-verified. */
|
|
197
|
+
delivered: {
|
|
198
|
+
items: DeliveredItem[];
|
|
199
|
+
/** Helpful artifacts not tied to one deliverable — bounded at render (§6). */
|
|
200
|
+
extraProof: ReviewMedia[];
|
|
201
|
+
lock: LockState | null;
|
|
202
|
+
/** Drill-in target for "see all proof" (the full fix-loop history). */
|
|
203
|
+
proofDirPath: string | null;
|
|
204
|
+
};
|
|
205
|
+
needsYou: NeedsYouBand;
|
|
206
|
+
agents: AgentsBand;
|
|
207
|
+
lineage: VerifyLineage;
|
|
208
|
+
/** Absolute/escaping media-path findings etc. — surfaced, never silently dropped (FR-5). */
|
|
209
|
+
defects: string[];
|
|
210
|
+
/** View-time input echoed back (an INPUT to the pure composer — idempotence holds). */
|
|
211
|
+
composedAt: string;
|
|
212
|
+
}
|
|
213
|
+
export interface BoardSlot {
|
|
214
|
+
slice: string;
|
|
215
|
+
title: string;
|
|
216
|
+
phase: ReviewPhase;
|
|
217
|
+
laneLabel: string;
|
|
218
|
+
agentsCount: number;
|
|
219
|
+
/** The stage-specific cell (spec-stamp state / n-of-m / green+merged pair / stamp). */
|
|
220
|
+
stageCell: string;
|
|
221
|
+
changedSinceStamp: boolean;
|
|
222
|
+
/** Deterministic attention-worthiness: needs-you ∪ ▲ ∪ stage-changed-today. */
|
|
223
|
+
attentionWorthy: boolean;
|
|
224
|
+
}
|
|
225
|
+
export interface LedgerRow {
|
|
226
|
+
slice: string;
|
|
227
|
+
candidateSha: string | null;
|
|
228
|
+
gateCells: VerdictCell[];
|
|
229
|
+
mergeSha: string | null;
|
|
230
|
+
needsHumanCount: number;
|
|
231
|
+
green: boolean;
|
|
232
|
+
}
|
|
233
|
+
export interface ComposedMissionReview {
|
|
234
|
+
mission: string;
|
|
235
|
+
missionId: string | null;
|
|
236
|
+
title: string;
|
|
237
|
+
/** The brief's "What & why" — projected VERBATIM as the mission intent opener (FR-8). */
|
|
238
|
+
intent: string | null;
|
|
239
|
+
/** FR-8: the generated status-spine bodies — ONE computation path; the tab
|
|
240
|
+
* renders these always-fresh and the SAME strings land in MISSION_BRIEF.md
|
|
241
|
+
* only at freeze moments. */
|
|
242
|
+
briefSpine: {
|
|
243
|
+
building: string;
|
|
244
|
+
progress: string;
|
|
245
|
+
proven: string;
|
|
246
|
+
needsYou: string;
|
|
247
|
+
};
|
|
248
|
+
board: BoardSlot[];
|
|
249
|
+
/** SETTLED: the completion ledger — a query over the mission's slice set, never an authored list. */
|
|
250
|
+
ledger: LedgerRow[];
|
|
251
|
+
/** TRUE only when EVERY in-cut slice is green AND merged AND has zero open needs-human items. */
|
|
252
|
+
cutComplete: boolean;
|
|
253
|
+
cutCompleteBasis: string;
|
|
254
|
+
needsYou: NeedsYouBand;
|
|
255
|
+
agents: AgentsBand;
|
|
256
|
+
composedAt: string;
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/review/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Living Notes — the composed-review read contract (OPR.0.4.4.20, rebuilt
|
|
2
|
+
// per the CORRECTIVE REDESIGN of 2026-07-05).
|
|
3
|
+
//
|
|
4
|
+
// ONE contract, all consumers: the slice Review tab, the mission board's
|
|
5
|
+
// U5 row expansion, and the For-You expansion all read these shapes; the
|
|
6
|
+
// agents projection is scope-parameterized (slice:<id> | mission:<id> | rig)
|
|
7
|
+
// on the same contract — never a second endpoint.
|
|
8
|
+
//
|
|
9
|
+
// CORRECTIVE §3.1 — a slice review is ONE vertical stack of three sections:
|
|
10
|
+
// INTENT → PLAN → DELIVERED. The four parallel renderable structures the
|
|
11
|
+
// original build carried (sections / acceptance / join / compare) are
|
|
12
|
+
// DELETED, not demoted; the separate two-regime `green` field is REMOVED
|
|
13
|
+
// (§11) — its recorded-verdict rigor is the source of the per-deliverable
|
|
14
|
+
// `verified` signal.
|
|
15
|
+
//
|
|
16
|
+
// The composer that fills these shapes is PURE: same inputs (including the
|
|
17
|
+
// caller-supplied view-time facts like `nowIso` and `mainTip`) produce a
|
|
18
|
+
// byte-identical output. Every section names its SSOT and degrades to a
|
|
19
|
+
// declared value — never invented content.
|
|
20
|
+
// --- C1 header (ratified closed sets — Packet 1 FR-8; extending them is a
|
|
21
|
+
// convention change, not a code decision) ---
|
|
22
|
+
export const C1_ARTIFACT_TYPES = ["guard", "qa", "rev1-r1", "rev1-r2", "adjudication"];
|
|
23
|
+
export const C1_VERDICTS = ["CLEAR", "BLOCKING", "CONCERNING", "PASS", "NOT-CLEAR"];
|
|
24
|
+
export const GATE_ROLES = ["guard", "qa", "rev1-r1", "rev1-r2"];
|
|
25
|
+
// --- FR-3: derived phase (five-way, top-down precedence — KEEP) ---
|
|
26
|
+
export const REVIEW_PHASES = ["locked", "review", "building", "spec", "intent"];
|
|
27
|
+
/** BR-10 render vocabulary (SS14). Derivation names map 1:1; only the label differs. */
|
|
28
|
+
export const PHASE_LANE_LABELS = {
|
|
29
|
+
intent: "INTENT",
|
|
30
|
+
spec: "PLAN",
|
|
31
|
+
building: "BUILD",
|
|
32
|
+
review: "REVIEW",
|
|
33
|
+
locked: "LOCKED",
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/review/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8CAA8C;AAC9C,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,qBAAqB;AACrB,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,2CAA2C;AAE3C,2EAA2E;AAC3E,8CAA8C;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAU,CAAC;AAGhG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AA6B7F,MAAM,CAAC,MAAM,UAAU,GAAe,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAqE5E,qEAAqE;AAErE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAGzF,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { MissionControlActionLog } from "../mission-control/mission-control-action-log.js";
|
|
2
|
+
export type ScopeTier = "slice" | "mission";
|
|
3
|
+
export type ApprovalScope = "spec" | "delivery";
|
|
4
|
+
export interface ScopeApproveInput {
|
|
5
|
+
scopeTier: ScopeTier;
|
|
6
|
+
/** Canonical missions-root-relative path (e.g.
|
|
7
|
+
* "release-0.4.4/slices/19-living-notes-signal-layer" or "release-0.4.4"). */
|
|
8
|
+
scopePath: string;
|
|
9
|
+
/** STAGED APPROVAL (founder un-deferred): `spec` = "the PRD matches my
|
|
10
|
+
* intent" (the first accept-point); `delivery` = the terminal sign-off
|
|
11
|
+
* (the freeze trigger). Omitted upstream ⇒ delivery (back-compat). */
|
|
12
|
+
approvalScope: ApprovalScope;
|
|
13
|
+
/** The REAL invoking session (honest provenance — never overwritten by
|
|
14
|
+
* delegation). */
|
|
15
|
+
actorSession: string;
|
|
16
|
+
/** DELEGATED APPROVAL: whose decision this stamp records when an agent
|
|
17
|
+
* invokes on the founder's behalf. Recorded in the audit notes only. */
|
|
18
|
+
onBehalfOf?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface ScopeApproveResult {
|
|
21
|
+
scopeTier: ScopeTier;
|
|
22
|
+
scopeId: string;
|
|
23
|
+
scopePath: string;
|
|
24
|
+
approvalScope: ApprovalScope;
|
|
25
|
+
approvedBy: string;
|
|
26
|
+
approvedAt: string;
|
|
27
|
+
onBehalfOf: string | null;
|
|
28
|
+
actionId: string;
|
|
29
|
+
/** Packet-2 interface cell: only the DELIVERY stamp fires the freeze; the
|
|
30
|
+
* compose-and-freeze endpoint ships in Packet 2, so P1 always reports
|
|
31
|
+
* false. The stamp + audit row stand regardless of any render outcome. */
|
|
32
|
+
freezeFired: false;
|
|
33
|
+
}
|
|
34
|
+
export declare class ScopeApproveError extends Error {
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly details?: Record<string, unknown> | undefined;
|
|
37
|
+
constructor(code: string, message: string, details?: Record<string, unknown> | undefined);
|
|
38
|
+
}
|
|
39
|
+
/** The pinned audit_notes_json shape (spec-guard blocker 2): a stable,
|
|
40
|
+
* queryable scope-target identity + the approval scope + delegation
|
|
41
|
+
* provenance. The audit-browse read path filters on these keys — the pair
|
|
42
|
+
* is what makes Packet 2's one-query UNVERIFIED-stamp cross-check real. */
|
|
43
|
+
export interface ScopeApprovalAuditNotes extends Record<string, unknown> {
|
|
44
|
+
kind: "scope-approval";
|
|
45
|
+
scope_tier: ScopeTier;
|
|
46
|
+
scope_id: string;
|
|
47
|
+
scope_path: string;
|
|
48
|
+
approval_scope: ApprovalScope;
|
|
49
|
+
on_behalf_of: string | null;
|
|
50
|
+
}
|
|
51
|
+
interface ScopeApproveDeps {
|
|
52
|
+
/** Resolves the live missions root (SliceIndexer.slicesRoot), or null when
|
|
53
|
+
* the workspace is not configured. */
|
|
54
|
+
missionsRoot: () => string | null;
|
|
55
|
+
actionLog: MissionControlActionLog;
|
|
56
|
+
now?: () => Date;
|
|
57
|
+
}
|
|
58
|
+
export declare class ScopeApproveService {
|
|
59
|
+
private readonly deps;
|
|
60
|
+
constructor(deps: ScopeApproveDeps);
|
|
61
|
+
approve(input: ScopeApproveInput): ScopeApproveResult;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=scope-approve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-approve.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAEhG,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB;mFAC+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB;;2EAEuE;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B;uBACmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;;+EAE2E;IAC3E,WAAW,EAAE,KAAK,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;;4EAG4E;AAC5E,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAOD,UAAU,gBAAgB;IACxB;2CACuC;IACvC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,uBAAuB,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,IAAI,EAAE,gBAAgB;IAIlC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;CAoHtD"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// OPR.0.4.4.19 FR-9 — scope approve: frontmatter sole-writer + append-only
|
|
2
|
+
// audit row (kills vibe-shuttled approval).
|
|
3
|
+
//
|
|
4
|
+
// Daemon-side by design (plan-review CONFIRMED; arch-lead interface-cell
|
|
5
|
+
// PASS): the stamp is a workspace frontmatter write, the audit row is a
|
|
6
|
+
// mission_control_actions insert, and the freeze-trigger interface cell
|
|
7
|
+
// (Packet 2) invokes the compose-and-freeze endpoint AFTER the stamp+audit
|
|
8
|
+
// commit — so the stamp+audit pair lives behind ONE daemon operation.
|
|
9
|
+
//
|
|
10
|
+
// Ordering (arch-lead PIN, 2026-07-04): frontmatter-first → audit-second →
|
|
11
|
+
// on audit failure LOUD-FAIL + byte-restore the prior frontmatter. The
|
|
12
|
+
// compensating-DELETE variant is REJECTED — no row is ever deleted from
|
|
13
|
+
// mission_control_actions; append-only stands.
|
|
14
|
+
//
|
|
15
|
+
// Two-regime role clarity (BR-6, ratified): approval is the freeze/LOCKED
|
|
16
|
+
// trigger and the regime-2 sign-off — it is NEVER the source of proven-green.
|
|
17
|
+
// Nothing here computes or stores "green".
|
|
18
|
+
import * as fs from "node:fs";
|
|
19
|
+
import * as path from "node:path";
|
|
20
|
+
import YAML from "yaml";
|
|
21
|
+
export class ScopeApproveError extends Error {
|
|
22
|
+
code;
|
|
23
|
+
details;
|
|
24
|
+
constructor(code, message, details) {
|
|
25
|
+
super(message);
|
|
26
|
+
this.code = code;
|
|
27
|
+
this.details = details;
|
|
28
|
+
this.name = "ScopeApproveError";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const STAMP_FIELDS = {
|
|
32
|
+
delivery: { by: "approved-by", at: "approved-at" },
|
|
33
|
+
spec: { by: "approved-spec-by", at: "approved-spec-at" },
|
|
34
|
+
};
|
|
35
|
+
export class ScopeApproveService {
|
|
36
|
+
deps;
|
|
37
|
+
constructor(deps) {
|
|
38
|
+
this.deps = deps;
|
|
39
|
+
}
|
|
40
|
+
approve(input) {
|
|
41
|
+
const missionsRoot = this.deps.missionsRoot();
|
|
42
|
+
if (!missionsRoot) {
|
|
43
|
+
throw new ScopeApproveError("workspace_not_configured", "The daemon has no missions root configured; scope approve needs the workspace primitive.");
|
|
44
|
+
}
|
|
45
|
+
// Path containment: the scope path must resolve INSIDE the missions root
|
|
46
|
+
// (content-surfaces discipline — no ../ escapes).
|
|
47
|
+
const resolved = path.resolve(missionsRoot, input.scopePath);
|
|
48
|
+
if (resolved !== missionsRoot && !resolved.startsWith(missionsRoot + path.sep)) {
|
|
49
|
+
throw new ScopeApproveError("scope_path_escape", `scopePath '${input.scopePath}' resolves outside the missions root.`, { scopePath: input.scopePath });
|
|
50
|
+
}
|
|
51
|
+
const readmePath = path.join(resolved, "README.md");
|
|
52
|
+
if (!fs.existsSync(readmePath)) {
|
|
53
|
+
throw new ScopeApproveError("scope_not_found", `No README.md at ${input.scopePath} under the missions root — not a declared ${input.scopeTier}.`, { scopePath: input.scopePath, scopeTier: input.scopeTier });
|
|
54
|
+
}
|
|
55
|
+
const originalBytes = fs.readFileSync(readmePath, "utf8");
|
|
56
|
+
const frontmatter = parseFrontmatter(originalBytes);
|
|
57
|
+
const scopeId = typeof frontmatter["id"] === "string" && frontmatter["id"].trim().length > 0
|
|
58
|
+
? frontmatter["id"]
|
|
59
|
+
: null;
|
|
60
|
+
if (!scopeId) {
|
|
61
|
+
throw new ScopeApproveError("scope_id_missing", `${input.scopePath} has no frontmatter id (dot-ID) — the audit target contract requires a stable scope_id.`, { scopePath: input.scopePath, action: "Run: rig scope " + input.scopeTier + " reconcile <path> to mint the id, then re-approve." });
|
|
62
|
+
}
|
|
63
|
+
// Re-stamp at the SAME scope fails loudly naming the existing stamp
|
|
64
|
+
// (no silent re-stamp; un-approve/re-approve is out of scope v1). A
|
|
65
|
+
// spec stamp followed by a delivery stamp is the normal staged sequence.
|
|
66
|
+
const fields = STAMP_FIELDS[input.approvalScope];
|
|
67
|
+
const existingBy = frontmatter[fields.by];
|
|
68
|
+
if (typeof existingBy === "string" && existingBy.trim().length > 0) {
|
|
69
|
+
throw new ScopeApproveError("already_approved", `${input.scopePath} already carries a ${input.approvalScope} approval stamp: ${fields.by}: ${existingBy}, ${fields.at}: ${String(frontmatter[fields.at] ?? "?")}. Re-approval after un-approval is out of scope v1.`, { scopePath: input.scopePath, approvalScope: input.approvalScope, existingBy, existingAt: frontmatter[fields.at] ?? null });
|
|
70
|
+
}
|
|
71
|
+
const approvedAt = (this.deps.now?.() ?? new Date()).toISOString();
|
|
72
|
+
// 1. Frontmatter FIRST (the arch-pinned ordering).
|
|
73
|
+
const updated = writeFrontmatterFields(originalBytes, {
|
|
74
|
+
[fields.by]: input.actorSession,
|
|
75
|
+
[fields.at]: approvedAt,
|
|
76
|
+
});
|
|
77
|
+
fs.writeFileSync(readmePath, updated, "utf8");
|
|
78
|
+
// 2. Audit SECOND. On failure: byte-restore the prior frontmatter and
|
|
79
|
+
// fail loudly — a failed audit write can never leave a trusted half-stamp
|
|
80
|
+
// (QA plan-review guardrail), and no audit row is ever deleted.
|
|
81
|
+
const scopePathCanonical = path.relative(missionsRoot, resolved).split(path.sep).join("/");
|
|
82
|
+
const auditNotes = {
|
|
83
|
+
kind: "scope-approval",
|
|
84
|
+
scope_tier: input.scopeTier,
|
|
85
|
+
scope_id: scopeId,
|
|
86
|
+
scope_path: scopePathCanonical,
|
|
87
|
+
approval_scope: input.approvalScope,
|
|
88
|
+
on_behalf_of: input.onBehalfOf ?? null,
|
|
89
|
+
};
|
|
90
|
+
let actionId;
|
|
91
|
+
try {
|
|
92
|
+
const entry = this.deps.actionLog.record({
|
|
93
|
+
actionVerb: "approve",
|
|
94
|
+
qitemId: null, // scope approvals are NOT qitem actions
|
|
95
|
+
actorSession: input.actorSession,
|
|
96
|
+
actedAt: approvedAt,
|
|
97
|
+
reason: input.onBehalfOf
|
|
98
|
+
? `scope-approval (${input.approvalScope}) on behalf of ${input.onBehalfOf}`
|
|
99
|
+
: `scope-approval (${input.approvalScope})`,
|
|
100
|
+
auditNotes,
|
|
101
|
+
});
|
|
102
|
+
actionId = entry.actionId;
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
fs.writeFileSync(readmePath, originalBytes, "utf8");
|
|
106
|
+
throw new ScopeApproveError("audit_write_failed", `The approval audit row could not be written; the frontmatter stamp was restored to its prior state (no half-stamp). Cause: ${err instanceof Error ? err.message : String(err)}`, { scopePath: input.scopePath, approvalScope: input.approvalScope });
|
|
107
|
+
}
|
|
108
|
+
// 3. Freeze-trigger interface cell (Packet 2): the DELIVERY stamp will
|
|
109
|
+
// synchronously invoke the ONE compose-and-freeze endpoint AFTER this
|
|
110
|
+
// point. The endpoint does not exist at P1; when it lands, a failed
|
|
111
|
+
// render never un-approves and never half-stamps — the stamp + audit
|
|
112
|
+
// row above stand regardless of the render outcome.
|
|
113
|
+
return {
|
|
114
|
+
scopeTier: input.scopeTier,
|
|
115
|
+
scopeId,
|
|
116
|
+
scopePath: scopePathCanonical,
|
|
117
|
+
approvalScope: input.approvalScope,
|
|
118
|
+
approvedBy: input.actorSession,
|
|
119
|
+
approvedAt,
|
|
120
|
+
onBehalfOf: input.onBehalfOf ?? null,
|
|
121
|
+
actionId,
|
|
122
|
+
freezeFired: false,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// ——— frontmatter helpers (daemon-side mirror of the CLI scope-fs shape:
|
|
127
|
+
// hand-rolled split + YAML.parse, safe-by-default per PRD §4 leg 2) ———
|
|
128
|
+
function parseFrontmatter(content) {
|
|
129
|
+
if (!content.startsWith("---"))
|
|
130
|
+
return {};
|
|
131
|
+
const match = /^---\s*\n([\s\S]*?)\n---/.exec(content);
|
|
132
|
+
if (!match)
|
|
133
|
+
return {};
|
|
134
|
+
try {
|
|
135
|
+
const parsed = YAML.parse(match[1]);
|
|
136
|
+
return parsed && typeof parsed === "object" ? parsed : {};
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return {};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function writeFrontmatterFields(content, fields) {
|
|
143
|
+
const match = /^---\s*\n([\s\S]*?)\n---/.exec(content);
|
|
144
|
+
if (match) {
|
|
145
|
+
const existing = parseFrontmatter(content);
|
|
146
|
+
const merged = { ...existing, ...fields };
|
|
147
|
+
const yaml = YAML.stringify(merged).trimEnd();
|
|
148
|
+
return content.replace(/^---\s*\n[\s\S]*?\n---/, `---\n${yaml}\n---`);
|
|
149
|
+
}
|
|
150
|
+
const yaml = YAML.stringify(fields).trimEnd();
|
|
151
|
+
return `---\n${yaml}\n---\n\n${content}`;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=scope-approve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-approve.js","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type RailStatus = "present" | "missing" | "malformed" | "readme-only";
|
|
2
2
|
export type FindingSeverity = "high" | "medium" | "low" | "info";
|
|
3
|
-
export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof" | "progress_not_updated_on_commit";
|
|
3
|
+
export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof" | "progress_not_updated_on_commit" | "proof_artifact_c1_invalid" | "missing_impl_prd" | "missing_intent_section" | "mini_requirements_missing_or_malformed" | "proof_contract_missing_or_malformed" | "ui_slice_missing_mockup";
|
|
4
4
|
export interface AuditFinding {
|
|
5
5
|
kind: FindingKind;
|
|
6
6
|
severity: FindingSeverity;
|
|
@@ -30,11 +30,19 @@ export interface ScopeAuditInput {
|
|
|
30
30
|
sliceStatus?: string | null;
|
|
31
31
|
sliceTouchedByRecentCommit?: boolean;
|
|
32
32
|
progressTouchedByRecentCommit?: boolean;
|
|
33
|
+
proofArtifacts?: Array<{
|
|
34
|
+
path: string;
|
|
35
|
+
frontmatterRaw: string | null;
|
|
36
|
+
}>;
|
|
37
|
+
implementationPrdExists?: boolean;
|
|
38
|
+
readmeContent?: string | null;
|
|
39
|
+
implementationPrdContent?: string | null;
|
|
33
40
|
}
|
|
34
41
|
export interface ScopeAuditResult {
|
|
35
42
|
railStatus: RailStatus;
|
|
36
43
|
findings: AuditFinding[];
|
|
37
44
|
frontmatterError: string | null;
|
|
38
45
|
}
|
|
46
|
+
export declare const MISSION_BRIEF_HEADERS: string[];
|
|
39
47
|
export declare function classifyScopeItem(input: ScopeAuditInput): ScopeAuditResult;
|
|
40
48
|
//# sourceMappingURL=scope-audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-audit.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,eAAe,GACf,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-audit.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,eAAe,GACf,gCAAgC,GAGhC,2BAA2B,GAC3B,kBAAkB,GAIlB,wBAAwB,GACxB,wCAAwC,GACxC,qCAAqC,GACrC,yBAAyB,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAMxC,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAGxE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAKlC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAMD,eAAO,MAAM,qBAAqB,UAA4E,CAAC;AA2H/G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAqR1E"}
|