@chorus-aidlc/chorus 0.21.0 → 0.21.1
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +213 -213
- package/.next/standalone/.next/app-path-routes-manifest.json +38 -38
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +42 -42
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +2 -2
- package/.next/standalone/.next/server/app/admin.rsc +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/access-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/members/[userUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/members/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/access-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/members/[userUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/members/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +2 -2
- package/.next/standalone/.next/server/app/index.rsc +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +2 -2
- package/.next/standalone/.next/server/app/login/admin.rsc +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +2 -2
- package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +1 -1
- package/.next/standalone/.next/server/app/login.html +2 -2
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +2 -2
- package/.next/standalone/.next/server/app/projects.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/.next/server/app-paths-manifest.json +38 -38
- package/.next/standalone/.next/server/chunks/1855.js +2 -2
- package/.next/standalone/.next/server/chunks/2689.js +2 -2
- package/.next/standalone/.next/server/chunks/5212.js +1 -1
- package/.next/standalone/.next/server/chunks/5281.js +2 -2
- package/.next/standalone/.next/server/chunks/5647.js +1 -1
- package/.next/standalone/.next/server/chunks/5764.js +2 -2
- package/.next/standalone/.next/server/chunks/6493.js +1 -1
- package/.next/standalone/.next/server/chunks/6991.js +2 -2
- package/.next/standalone/.next/server/chunks/{9894.js → 7138.js} +1 -1
- package/.next/standalone/.next/server/chunks/{9583.js → 7169.js} +3 -3
- package/.next/standalone/.next/server/chunks/7425.js +1 -0
- package/.next/standalone/.next/server/chunks/7839.js +1 -1
- package/.next/standalone/.next/server/chunks/8692.js +1 -0
- package/.next/standalone/.next/server/chunks/87.js +1 -0
- package/.next/standalone/.next/server/chunks/8849.js +2 -2
- package/.next/standalone/.next/server/chunks/911.js +1 -0
- package/.next/standalone/.next/server/chunks/9295.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/15638-e8566f8551988a0b.js +1 -0
- package/.next/standalone/.next/static/chunks/30187-8406d0b0e7582b4e.js +1 -0
- package/.next/standalone/.next/static/chunks/59480-03e05915e0f0f1e4.js +1 -0
- package/.next/standalone/.next/static/chunks/65833-d0a8d9023febc1ce.js +1 -0
- package/.next/standalone/.next/static/chunks/75844-ab7e24827a4875a0.js +1 -0
- package/.next/standalone/.next/static/chunks/88277-9563bd5857edfb08.js +1 -0
- package/.next/standalone/.next/static/chunks/91202-a6809360a6c58c9a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-9a0a7266bbc1498f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-670eeb1a8007a20c.js → page-26aef423473209b6.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-deb0615a19598fe6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-cb20e73952b1d4ee.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-ed5fbcae30e875d1.js → page-c8af650e39ff3eac.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6bc33e1fb5e252dc.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-e622257cf6a2fe0c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-49b02e795c5b279c.js → page-2085f55b6cbd4d82.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-f26cad3e8406ac07.js → page-2b9e6239037f79d5.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-04a3fbabc7542960.js → page-7afc11846cb7aefc.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-d0c217c1e9a18433.js → page-406dbd7ae784ec2b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-bb641e258e90d08b.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/research/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-research/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/cli/init/contracts.mjs +3 -0
- package/cli/init/install-methods.mjs +24 -113
- package/cli/init/pi-compatibility.mjs +5 -0
- package/cli/init/pi-mcp-backend.mjs +160 -0
- package/cli/init/pi-mcp-config.mjs +48 -64
- package/cli/init/registry.mjs +3 -2
- package/cli/init/run-command.mjs +3 -1
- package/cli/init/steps/codex-restart.mjs +95 -0
- package/cli/init/steps/credential-seed.mjs +18 -17
- package/cli/init.mjs +2 -2
- package/cli/upgrade-plugins.mjs +10 -45
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/1443.js +0 -1
- package/.next/standalone/.next/server/chunks/2701.js +0 -1
- package/.next/standalone/.next/server/chunks/6666.js +0 -1
- package/.next/standalone/.next/server/chunks/7329.js +0 -1
- package/.next/standalone/.next/static/chunks/14891-8a7485231cdaf105.js +0 -1
- package/.next/standalone/.next/static/chunks/30187-12e26e880f7b6da7.js +0 -1
- package/.next/standalone/.next/static/chunks/36244-82317cfd58345146.js +0 -1
- package/.next/standalone/.next/static/chunks/40309-bedb6f19876265b4.js +0 -1
- package/.next/standalone/.next/static/chunks/56161-5d2f255f25dba375.js +0 -1
- package/.next/standalone/.next/static/chunks/6497-36958930c3e35070.js +0 -1
- package/.next/standalone/.next/static/chunks/70762-18006a86c770d908.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-2f843ed9eb3944e4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ed4d5692eac763c4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-48b79f200d9f086c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-91e61264f483701b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-cf90d562352224ec.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-87d43a00d0a7b209.js +0 -1
- /package/.next/standalone/.next/static/{q_ngNQiWgbMewMxZKkQzM → -QBMDLYHMUleR_Nbp3gXV}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{q_ngNQiWgbMewMxZKkQzM → -QBMDLYHMUleR_Nbp3gXV}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.id=5212,exports.ids=[5212],exports.modules={4022:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(8845);let e=(0,d.createServerReference)("704cbe83a589f3d87cbd4e773e72cec60487dc9c2d",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")},5249:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Jg:()=>o,dv:()=>m,sZ:()=>n});var e=c(82009);c(36005);var f=c(65751),g=c(1398),h=c(14318),i=c(63319),j=c(43756),k=c(62237),l=a([f,g,h,j]);[f,g,h,j]=l.then?(await l)():l;let p=["idea","proposal","task","document"];async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!p.includes(a))return{success:!1,error:`Invalid target type: ${a}`};let e=await (0,j.oJ)(d,a,b,"viewer");if(e)return e;try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function n(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!p.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};let e=await (0,j.oJ)(d,a,b,"editor");if(e)return e;try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}async function o(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,j.oJ)(b,"comment",a,"editor");if(c)return c;try{return await (0,g.Tu)({companyUuid:b.companyUuid,commentUuid:a,actingUserUuid:b.actorUuid}),{success:!0}}catch(b){return i.default.error({err:b,commentUuid:a},"Failed to delete comment"),{success:!1,error:"Failed to delete comment"}}}(0,k.D)([m,n,o]),(0,e.A)(m,"70edfd503cbb867ed00e399c15238c26c853965a2f",null),(0,e.A)(n,"704cbe83a589f3d87cbd4e773e72cec60487dc9c2d",null),(0,e.A)(o,"40080661c8dc0adb35502f407b7a9b46cd4bd72398",null),d()}catch(a){d(a)}})},7495:(a,b,c)=>{Promise.resolve().then(c.bind(c,92583)),Promise.resolve().then(c.bind(c,90225))},10487:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$p:()=>j,Ax:()=>l,Hh:()=>k});var e=c(50790),f=c(8406),g=c(96138),h=c(37146),i=a([g,h]);[g,h]=i.then?(await i)():i;let l=(0,e.cache)(async a=>{let b=await (0,g.d)();b||(0,f.redirect)("/login");let{project:c,level:d}=await (0,h.k)(b,a);return c&&"none"!==d||(0,f.notFound)(),{auth:b,project:c,accessLevel:d}});async function j(a,b,c,d){try{let{projectUuid:e}=await (0,h.TN)(a,b,c,"viewer");return e===d}catch(a){if(a instanceof h.jZ)return!1;throw a}}async function k(a,b,c,d){await j(a,b,c,d)||(0,f.notFound)()}d()}catch(a){d(a)}})},11383:(a,b,c)=>{"use strict";c.d(b,{D:()=>h});var d=c(55153),e=c(47626),f=c(31813),g=c(79239);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},14335:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(55153),f=c(70404),g=c.n(f),h=c(74586),i=c(71758),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},17949:(a,b,c)=>{"use strict";c.d(b,{ProjectReadOnlyBanner:()=>d});let d=(0,c(75827).registerClientReference)(function(){throw Error("Attempted to call ProjectReadOnlyBanner() from the server but ProjectReadOnlyBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/components/project-read-only-banner.tsx","ProjectReadOnlyBanner")},18028:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>M});var e=c(55153),f=c(70404),g=c(5210),h=c(64782),i=c(35603),j=c(46879),k=c(65234),l=c(7894),m=c(18549),n=c(86208),o=c(39976),p=c(68139),q=c(79239),r=c(87969),s=c(74648),t=c(4022),u=c(28883),v=c(14335),w=c(91981),x=c(89084),y=c(90225),z=c(11383),A=c(31813),B=c(89256),C=c(6170),D=c(61764),E=c(25519),F=c(2067),G=a([v,w]);function H(a){return()=>{}}function I(){return!1}function J(a){return"agent"===a.type?(0,e.jsx)(w.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function K(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function L(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:K(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function M({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:l=!1}){let m=(0,g.c)(),n=(0,y.F7)(),[q,v]=(0,f.useState)(""),[w,A]=(0,f.useState)([]),[B,D]=(0,f.useState)(!0),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),[M,N]=(0,f.useState)(null),[P,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(0),T=(0,f.useRef)(null),U=(0,f.useRef)(null),V=(0,f.useRef)(new Set),W=(0,f.useRef)(new Set),X=(0,f.useRef)(w);X.current=w;let Y=(0,f.useRef)(M);Y.current=M;let Z=(0,f.useRef)(P);Z.current=P;let $=(0,f.useRef)(G);$.current=G;let _=(0,f.useRef)(B);_.current=B;let aa=l?"h-6 w-6":"h-[30px] w-[30px]",ab=l?"gap-2":"gap-2.5",ac=(0,f.useCallback)(async()=>{D(!0),F(null);let c=await (0,s.d)(a,b,{limit:10});c.success?(A(c.comments),N(c.nextCursor),Q(c.hasMore),S(c.total)):F(c.error),D(!1)},[a,b]);(0,f.useCallback)(async()=>{if($.current||_.current||!Z.current||!Y.current)return;H(!0);let c=await (0,s.d)(a,b,{cursor:Y.current,limit:10});c.success&&(A(a=>K(a,c.comments)),N(c.nextCursor),Q(c.hasMore),S(c.total)),H(!1)},[a,b]),(0,x.w0)(a,b,d=>{c&&d.actorUuid===c||L(X.current,async c=>{let d=await (0,s.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(A(a.comments),S(a.total),a.contiguous||(N(a.resetOldestCursor),Q(a.resetHasMore)))})});let ad=async()=>{if(!q.trim()||I)return;J(!0);let c=await (0,t.s)(a,b,q);if(J(!1),c.success){let a=!X.current.some(a=>a.uuid===c.comment.uuid);A(a=>K(a,[c.comment])),a&&S(a=>a+1),v(""),T.current?.clear()}else C.oR.error(c.error)},ae=(0,f.useCallback)(a=>{T.current?.replyToAuthor(a).catch(()=>{C.oR.error(m("comments.replyFailed"))})},[m]),af=(0,f.useCallback)(async a=>{if(W.current.has(a))return!0;if(V.current.has(a))return!1;V.current.add(a);try{if(!(await (0,u.J)(a)).success)return C.oR.error(m("comments.deleteFailed")),!1;if(W.current.add(a),X.current.some(b=>b.uuid===a)){let b=X.current.filter(b=>b.uuid!==a);X.current=b,A(b),S(a=>Math.max(0,a-1))}return!0}finally{V.current.delete(a)}},[m]);return(0,e.jsx)(z.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[n?(0,e.jsxs)("div",{className:`flex items-center ${ab} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(p.eu,{className:`${l?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${l?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(r.c5,{ref:T,value:q,onChange:v,onSubmit:ad,placeholder:m("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:I,entityType:a,entityUuid:b})}),(0,e.jsx)(o.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!q.trim()||I,onClick:ad,children:I?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}):(0,e.jsx)("p",{"data-testid":"comments-read-only",className:"pb-3 text-xs text-muted-foreground border-b border-[#F0EDE8] dark:border-[#26241f]",children:m("projectAccess.commentsReadOnly")}),B?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):E?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:m("comments.loadError")}),(0,e.jsx)(o.$,{variant:"outline",size:"sm",onClick:ac,children:m("comments.retry")})]}):0===w.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:m("comments.noComments")}):(0,e.jsxs)("div",{children:[w.map(a=>(0,e.jsx)(O,{comment:a,compact:l,avatarSize:aa,gap:ab,t:m,currentUserUuid:c,canComment:n,onReply:ae,onDelete:af},a.uuid)),(0,e.jsx)("div",{ref:U,"aria-hidden":"true"}),G?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:m("comments.loadingMore")})]}):!P&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:m("comments.noMoreComments")})]})]})})}function N({author:a,canDelete:b,t:c,onReply:d,onDelete:g}){let h=(0,f.useSyncExternalStore)(H,I,()=>!1),[j,k]=(0,f.useState)(!1),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),t=(0,f.useRef)(null),u=(0,f.useRef)(!1),v=a=>{a.preventDefault(),u.current||t.current?.focus(),u.current=!1},w=a=>{u.current=!0,k(!1);let b=()=>a();"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,0)},x=(0,e.jsx)(o.$,{ref:t,type:"button",variant:"ghost",size:"icon",className:"relative -my-1 size-6 shrink-0 rounded-md text-muted-foreground hover:bg-accent hover:text-foreground before:absolute before:-inset-2.5 before:content-[''] sm:before:hidden","aria-label":c("comments.actionsLabel",{name:a.name}),children:(0,e.jsx)(l.A,{className:"size-4","aria-hidden":!0})}),y=()=>w(d),z=()=>w(()=>q(!0));return(0,e.jsxs)(e.Fragment,{children:[h?(0,e.jsxs)(E.cj,{open:j,onOpenChange:k,children:[(0,e.jsx)(E.CG,{asChild:!0,children:x}),(0,e.jsxs)(E.h,{side:"bottom","data-comment-actions-variant":"mobile",className:"max-h-[min(82svh,32rem)] gap-0 overflow-hidden rounded-t-2xl pb-[max(1rem,env(safe-area-inset-bottom))]",onCloseAutoFocus:v,children:[(0,e.jsx)("div",{className:"mx-auto mt-2 h-1 w-10 shrink-0 rounded-full bg-muted-foreground/25","aria-hidden":!0}),(0,e.jsxs)(E.Fm,{className:"border-b px-4 pt-3 pb-3 text-left",children:[(0,e.jsx)(E.qp,{children:c("comments.actionsTitle")}),(0,e.jsx)(E.Qs,{children:c("comments.actionsDescription",{name:a.name})})]}),(0,e.jsxs)("div",{className:"overflow-y-auto overscroll-contain px-2 py-2",children:[(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm",onClick:y,children:[(0,e.jsx)(m.A,{className:"size-5","aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsx)("div",{className:"mt-1 border-t pt-1",children:(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm text-destructive hover:bg-destructive/10 hover:text-destructive focus-visible:text-destructive",onClick:z,children:[(0,e.jsx)(n.A,{className:"size-5","aria-hidden":!0}),c("comments.delete")]})})]})]})]}):(0,e.jsxs)(D.rI,{open:j,onOpenChange:k,children:[(0,e.jsx)(D.ty,{asChild:!0,children:x}),(0,e.jsxs)(D.SQ,{align:"end","data-comment-actions-variant":"desktop",className:"z-[100] w-44",onCloseAutoFocus:v,children:[(0,e.jsxs)(D._2,{onSelect:y,children:[(0,e.jsx)(m.A,{"aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(D.mB,{}),(0,e.jsxs)(D._2,{variant:"destructive",onSelect:z,children:[(0,e.jsx)(n.A,{"aria-hidden":!0}),c("comments.delete")]})]})]})]}),(0,e.jsx)(F.Lt,{open:p,onOpenChange:a=>{r||q(a)},children:(0,e.jsxs)(F.EO,{className:"z-[120]",overlayClassName:"z-[120]",onCloseAutoFocus:a=>{a.preventDefault(),t.current?.focus()},children:[(0,e.jsxs)(F.wd,{children:[(0,e.jsx)(F.r7,{children:c("comments.deleteTitle")}),(0,e.jsx)(F.$v,{children:c("comments.deleteDescription")})]}),(0,e.jsxs)(F.ck,{children:[(0,e.jsx)(F.Zr,{disabled:r,children:c("common.cancel")}),(0,e.jsxs)(F.Rx,{variant:"destructive",disabled:r,onClick:async a=>{a.preventDefault(),s(!0);let b=await g();s(!1),b&&q(!1)},children:[r&&(0,e.jsx)(i.A,{className:"animate-spin","aria-hidden":!0}),c("comments.deleteConfirm")]})]})]})})]})}function O({comment:a,compact:b,avatarSize:c,gap:d,t:g,currentUserUuid:h,canComment:i=!0,onReply:j,onDelete:k}){let[l,m]=(0,f.useState)(!1),n="agent"===a.author.type,r=!!h&&("user"===a.author.type&&a.author.uuid===h||"agent"===a.author.type&&a.author.owner?.uuid===h),s=n?(0,A.j)(a.author.name):null,t=a.content.length>200,u=s?`${s}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[n?(0,e.jsx)(q.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(p.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:n?{backgroundColor:u,color:s??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${n?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(n?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,B.r)(c)}(a.createdAt,g)})]}),i&&(0,e.jsx)(N,{author:{type:n?"agent":"user",uuid:a.author.uuid,name:a.author.name},canDelete:r,t:g,onReply:()=>j({type:n?"agent":"user",uuid:a.author.uuid,name:a.author.name}),onDelete:()=>k(a.uuid)})]}),n&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:t&&!l?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:J,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>m(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:J,children:a.content}),t&&(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>m(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[v,w]=G.then?(await G)():G,d()}catch(a){d(a)}})},25215:(a,b,c)=>{"use strict";c.d(b,{ProjectAccessProvider:()=>e});var d=c(75827);(0,d.registerClientReference)(function(){throw Error("Attempted to call DEFAULT_PROJECT_ACCESS_LEVEL() from the server but DEFAULT_PROJECT_ACCESS_LEVEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","DEFAULT_PROJECT_ACCESS_LEVEL");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectAccessProvider() from the server but ProjectAccessProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","ProjectAccessProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useProjectAccessLevel() from the server but useProjectAccessLevel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","useProjectAccessLevel"),(0,d.registerClientReference)(function(){throw Error("Attempted to call canEditProjectContent() from the server but canEditProjectContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","canEditProjectContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call useCanEditProject() from the server but useCanEditProject is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","useCanEditProject")},28883:(a,b,c)=>{"use strict";c.d(b,{J:()=>e});var d=c(8845);let e=(0,d.createServerReference)("40080661c8dc0adb35502f407b7a9b46cd4bd72398",d.callServer,void 0,d.findSourceMapURL,"deleteCommentAction")},31813:(a,b,c)=>{"use strict";c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},47626:(a,b,c)=>{"use strict";c.d(b,{fv:()=>p,xQ:()=>q});var d=c(70404),e=c(89084);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},55673:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>j});var e=c(53715),f=c(10487),g=c(25215),h=c(17949),i=a([f]);async function j({children:a,params:b}){let{uuid:c}=await b,{accessLevel:d}=await (0,f.Ax)(c);return"viewer"!==d?(0,e.jsx)(g.ProjectAccessProvider,{accessLevel:d,children:a}):(0,e.jsx)(g.ProjectAccessProvider,{accessLevel:d,children:(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,e.jsx)(h.ProjectReadOnlyBanner,{}),(0,e.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:a})]})})}f=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},71758:(a,b,c)=>{"use strict";function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},74648:(a,b,c)=>{"use strict";c.d(b,{d:()=>e});var d=c(8845);let e=(0,d.createServerReference)("70edfd503cbb867ed00e399c15238c26c853965a2f",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},87969:(a,b,c)=>{"use strict";c.d(b,{c5:()=>w});var d=c(55153),e=c(70404),f=c(97318),g=c(88868),h=c(29900),i=c(5210),j=c(57187),k=c(6994),l=c(21687),m=c(71758),n=c(70991),o=c(43840),p=c(39976),q=c(79239);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:n,onSubmit:o,entityType:p,entityUuid:q},w)=>{let x=(0,e.useRef)([]),y=(0,e.useRef)(!1),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),C=(0,e.useRef)(null),[,D]=(0,e.useState)(0),E=(0,e.useRef)(!1),F=(0,i.c)("mention"),G=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});G.current={online:F("online"),offline:F("offline"),idle:F("idle"),activeCount:a=>F("activeCount",{count:a})};let H=(0,e.useCallback)((a,b)=>{let c=`/api/mentionables?q=${encodeURIComponent(a)}&limit=${b}&withInstances=1`;return p&&q&&(c+=`&entityType=${encodeURIComponent(p)}&entityUuid=${encodeURIComponent(q)}`),c},[p,q]),I=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{y.current=!0,D(a=>a+1);try{let b=await fetch(H(a,10));if(b.ok){let a=await b.json();a.success&&(x.current=a.data)}}catch{x.current=[]}finally{y.current=!1,D(a=>a+1)}},[H]),250),[J,K]=(0,e.useState)(null),L=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),M=(0,e.useRef)(()=>{});M.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void K({item:a,onlineInstances:c.onlineInstances,command:b});L(a,b,c.pin??void 0)};let N=(0,e.useCallback)((a,b)=>M.current(a,b),[]);(0,e.useEffect)(()=>{B.current&&C.current&&u(x.current,y.current,C.current,z,B.current,G.current,N)});let O=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(I(a),x.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",B.current=b,C.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(A.current??document.body).appendChild(b),u(x.current,y.current,a.command,z,b,G.current,N)},onUpdate:a=>{if(C.current=a.command,B.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(B.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(B.current.style.top="",B.current.style.bottom=`${window.innerHeight-b.top+4}px`):(B.current.style.bottom="",B.current.style.top=`${b.bottom+4}px`))}B.current&&u(x.current,y.current,a.command,z,B.current,G.current,N)},onKeyDown:a=>!!z.current&&z.current.onKeyDown(a),onExit:()=>{B.current?.remove(),B.current=null,C.current=null,x.current=[],y.current=!1}})}})],content:t(a),editable:!n,editorProps:{attributes:{class:(0,j.cn)("mobile-input-text","min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!B.current&&!!o&&(b.preventDefault(),o(),!0)},onUpdate:({editor:a})=>{E.current=!0,b(s(a))}});(0,e.useEffect)(()=>{if(!O||E.current){E.current=!1;return}s(O)!==a&&O.commands.setContent(t(a))},[a,O]),(0,e.useEffect)(()=>{O&&O.setEditable(!n)},[n,O]);let P=(0,e.useCallback)(a=>{if(!O)return;let b=null!==a.pinnedHost||null!==a.pinnedCwd?{host:a.pinnedHost??"",cwd:a.pinnedCwd,runtimeCwd:!0===a.runtimeCwd}:null,c=function(a,b,c=null){let d=b.type.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=b.uuid.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(RegExp(`@\\[[^\\]]+\\]\\(${d}:${e}(?:\\?[^)]*)?\\)\\s*$`,"i").test(a))return{value:a,appended:!1};let f=(0,m.$v)(b.name,b.type,b.uuid,c?.host??null,c?.cwd??null,c?.runtimeCwd===!0),g=a.length>0&&!/\s$/.test(a)?" ":"";return{value:`${a}${g}${f} `,appended:!0}}(s(O),{type:a.mentionType,uuid:a.id,name:a.label},b);c.appended&&O.commands.setContent(t(c.value)),O.commands.focus("end")},[O]),Q=(0,e.useCallback)(async a=>{let b=a;if("agent"===a.type){let c=await fetch(H(a.name,50));if(!c.ok)throw Error("Failed to load Agent mention routing");let d=await c.json();if(!d.success||!Array.isArray(d.data))throw Error("Invalid Agent mention routing response");b=function(a,b){let c=b.find(b=>b.type===a.type&&b.uuid===a.uuid);if(!c)throw Error("Reply author is unavailable for mention routing");return c}(a,d.data)}M.current(b,a=>{P(a)})},[H,P]);return(0,e.useImperativeHandle)(w,()=>({focus:()=>O?.commands.focus(),clear:()=>{O?.commands.clearContent(),b("")},replyToAuthor:Q}),[O,b,Q]),(0,d.jsxs)("div",{ref:A,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",n&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:O}),(0,d.jsx)(v,{open:null!==J,agentName:J?.item.name??"",instances:J?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(J,a,{close:()=>K(null),insert:(a,b)=>L(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>O?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>K(null)}),(0,d.jsx)("style",{children:`
|
|
1
|
+
exports.id=5212,exports.ids=[5212],exports.modules={5249:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Jg:()=>o,dv:()=>m,sZ:()=>n});var e=c(82009);c(36005);var f=c(65751),g=c(1398),h=c(14318),i=c(63319),j=c(43756),k=c(62237),l=a([f,g,h,j]);[f,g,h,j]=l.then?(await l)():l;let p=["idea","proposal","task","document"];async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!p.includes(a))return{success:!1,error:`Invalid target type: ${a}`};let e=await (0,j.oJ)(d,a,b,"viewer");if(e)return e;try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function n(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!p.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};let e=await (0,j.oJ)(d,a,b,"editor");if(e)return e;try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}async function o(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,j.oJ)(b,"comment",a,"editor");if(c)return c;try{return await (0,g.Tu)({companyUuid:b.companyUuid,commentUuid:a,actingUserUuid:b.actorUuid}),{success:!0}}catch(b){return i.default.error({err:b,commentUuid:a},"Failed to delete comment"),{success:!1,error:"Failed to delete comment"}}}(0,k.D)([m,n,o]),(0,e.A)(m,"703f32b1bb8e38a0ced6f765d33b0339b7c920831e",null),(0,e.A)(n,"7099715b70777f1df773f52ed3537aea55b422d6d9",null),(0,e.A)(o,"40e3ce30df7300b056201b7350f035eff5f8b665dd",null),d()}catch(a){d(a)}})},7495:(a,b,c)=>{Promise.resolve().then(c.bind(c,92583)),Promise.resolve().then(c.bind(c,90225))},10487:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$p:()=>j,Ax:()=>l,Hh:()=>k});var e=c(50790),f=c(8406),g=c(96138),h=c(37146),i=a([g,h]);[g,h]=i.then?(await i)():i;let l=(0,e.cache)(async a=>{let b=await (0,g.d)();b||(0,f.redirect)("/login");let{project:c,level:d}=await (0,h.k)(b,a);return c&&"none"!==d||(0,f.notFound)(),{auth:b,project:c,accessLevel:d}});async function j(a,b,c,d){try{let{projectUuid:e}=await (0,h.TN)(a,b,c,"viewer");return e===d}catch(a){if(a instanceof h.jZ)return!1;throw a}}async function k(a,b,c,d){await j(a,b,c,d)||(0,f.notFound)()}d()}catch(a){d(a)}})},11383:(a,b,c)=>{"use strict";c.d(b,{D:()=>h});var d=c(55153),e=c(47626),f=c(31813),g=c(79239);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},14335:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(55153),f=c(70404),g=c.n(f),h=c(74586),i=c(71758),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},17949:(a,b,c)=>{"use strict";c.d(b,{ProjectReadOnlyBanner:()=>d});let d=(0,c(75827).registerClientReference)(function(){throw Error("Attempted to call ProjectReadOnlyBanner() from the server but ProjectReadOnlyBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/components/project-read-only-banner.tsx","ProjectReadOnlyBanner")},18028:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>M});var e=c(55153),f=c(70404),g=c(5210),h=c(64782),i=c(35603),j=c(46879),k=c(65234),l=c(7894),m=c(18549),n=c(86208),o=c(39976),p=c(68139),q=c(79239),r=c(87969),s=c(51632),t=c(46379),u=c(53191),v=c(14335),w=c(91981),x=c(89084),y=c(90225),z=c(11383),A=c(31813),B=c(89256),C=c(6170),D=c(61764),E=c(25519),F=c(2067),G=a([v,w]);function H(a){return()=>{}}function I(){return!1}function J(a){return"agent"===a.type?(0,e.jsx)(w.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function K(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function L(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:K(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function M({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:l=!1}){let m=(0,g.c)(),n=(0,y.F7)(),[q,v]=(0,f.useState)(""),[w,A]=(0,f.useState)([]),[B,D]=(0,f.useState)(!0),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),[M,N]=(0,f.useState)(null),[P,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(0),T=(0,f.useRef)(null),U=(0,f.useRef)(null),V=(0,f.useRef)(new Set),W=(0,f.useRef)(new Set),X=(0,f.useRef)(w);X.current=w;let Y=(0,f.useRef)(M);Y.current=M;let Z=(0,f.useRef)(P);Z.current=P;let $=(0,f.useRef)(G);$.current=G;let _=(0,f.useRef)(B);_.current=B;let aa=l?"h-6 w-6":"h-[30px] w-[30px]",ab=l?"gap-2":"gap-2.5",ac=(0,f.useCallback)(async()=>{D(!0),F(null);let c=await (0,s.d)(a,b,{limit:10});c.success?(A(c.comments),N(c.nextCursor),Q(c.hasMore),S(c.total)):F(c.error),D(!1)},[a,b]);(0,f.useCallback)(async()=>{if($.current||_.current||!Z.current||!Y.current)return;H(!0);let c=await (0,s.d)(a,b,{cursor:Y.current,limit:10});c.success&&(A(a=>K(a,c.comments)),N(c.nextCursor),Q(c.hasMore),S(c.total)),H(!1)},[a,b]),(0,x.w0)(a,b,d=>{c&&d.actorUuid===c||L(X.current,async c=>{let d=await (0,s.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(A(a.comments),S(a.total),a.contiguous||(N(a.resetOldestCursor),Q(a.resetHasMore)))})});let ad=async()=>{if(!q.trim()||I)return;J(!0);let c=await (0,t.s)(a,b,q);if(J(!1),c.success){let a=!X.current.some(a=>a.uuid===c.comment.uuid);A(a=>K(a,[c.comment])),a&&S(a=>a+1),v(""),T.current?.clear()}else C.oR.error(c.error)},ae=(0,f.useCallback)(a=>{T.current?.replyToAuthor(a).catch(()=>{C.oR.error(m("comments.replyFailed"))})},[m]),af=(0,f.useCallback)(async a=>{if(W.current.has(a))return!0;if(V.current.has(a))return!1;V.current.add(a);try{if(!(await (0,u.J)(a)).success)return C.oR.error(m("comments.deleteFailed")),!1;if(W.current.add(a),X.current.some(b=>b.uuid===a)){let b=X.current.filter(b=>b.uuid!==a);X.current=b,A(b),S(a=>Math.max(0,a-1))}return!0}finally{V.current.delete(a)}},[m]);return(0,e.jsx)(z.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[n?(0,e.jsxs)("div",{className:`flex items-center ${ab} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(p.eu,{className:`${l?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${l?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(r.c5,{ref:T,value:q,onChange:v,onSubmit:ad,placeholder:m("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:I,entityType:a,entityUuid:b})}),(0,e.jsx)(o.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!q.trim()||I,onClick:ad,children:I?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}):(0,e.jsx)("p",{"data-testid":"comments-read-only",className:"pb-3 text-xs text-muted-foreground border-b border-[#F0EDE8] dark:border-[#26241f]",children:m("projectAccess.commentsReadOnly")}),B?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):E?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:m("comments.loadError")}),(0,e.jsx)(o.$,{variant:"outline",size:"sm",onClick:ac,children:m("comments.retry")})]}):0===w.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:m("comments.noComments")}):(0,e.jsxs)("div",{children:[w.map(a=>(0,e.jsx)(O,{comment:a,compact:l,avatarSize:aa,gap:ab,t:m,currentUserUuid:c,canComment:n,onReply:ae,onDelete:af},a.uuid)),(0,e.jsx)("div",{ref:U,"aria-hidden":"true"}),G?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:m("comments.loadingMore")})]}):!P&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:m("comments.noMoreComments")})]})]})})}function N({author:a,canDelete:b,t:c,onReply:d,onDelete:g}){let h=(0,f.useSyncExternalStore)(H,I,()=>!1),[j,k]=(0,f.useState)(!1),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),t=(0,f.useRef)(null),u=(0,f.useRef)(!1),v=a=>{a.preventDefault(),u.current||t.current?.focus(),u.current=!1},w=a=>{u.current=!0,k(!1);let b=()=>a();"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,0)},x=(0,e.jsx)(o.$,{ref:t,type:"button",variant:"ghost",size:"icon",className:"relative -my-1 size-6 shrink-0 rounded-md text-muted-foreground hover:bg-accent hover:text-foreground before:absolute before:-inset-2.5 before:content-[''] sm:before:hidden","aria-label":c("comments.actionsLabel",{name:a.name}),children:(0,e.jsx)(l.A,{className:"size-4","aria-hidden":!0})}),y=()=>w(d),z=()=>w(()=>q(!0));return(0,e.jsxs)(e.Fragment,{children:[h?(0,e.jsxs)(E.cj,{open:j,onOpenChange:k,children:[(0,e.jsx)(E.CG,{asChild:!0,children:x}),(0,e.jsxs)(E.h,{side:"bottom","data-comment-actions-variant":"mobile",className:"max-h-[min(82svh,32rem)] gap-0 overflow-hidden rounded-t-2xl pb-[max(1rem,env(safe-area-inset-bottom))]",onCloseAutoFocus:v,children:[(0,e.jsx)("div",{className:"mx-auto mt-2 h-1 w-10 shrink-0 rounded-full bg-muted-foreground/25","aria-hidden":!0}),(0,e.jsxs)(E.Fm,{className:"border-b px-4 pt-3 pb-3 text-left",children:[(0,e.jsx)(E.qp,{children:c("comments.actionsTitle")}),(0,e.jsx)(E.Qs,{children:c("comments.actionsDescription",{name:a.name})})]}),(0,e.jsxs)("div",{className:"overflow-y-auto overscroll-contain px-2 py-2",children:[(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm",onClick:y,children:[(0,e.jsx)(m.A,{className:"size-5","aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsx)("div",{className:"mt-1 border-t pt-1",children:(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm text-destructive hover:bg-destructive/10 hover:text-destructive focus-visible:text-destructive",onClick:z,children:[(0,e.jsx)(n.A,{className:"size-5","aria-hidden":!0}),c("comments.delete")]})})]})]})]}):(0,e.jsxs)(D.rI,{open:j,onOpenChange:k,children:[(0,e.jsx)(D.ty,{asChild:!0,children:x}),(0,e.jsxs)(D.SQ,{align:"end","data-comment-actions-variant":"desktop",className:"z-[100] w-44",onCloseAutoFocus:v,children:[(0,e.jsxs)(D._2,{onSelect:y,children:[(0,e.jsx)(m.A,{"aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(D.mB,{}),(0,e.jsxs)(D._2,{variant:"destructive",onSelect:z,children:[(0,e.jsx)(n.A,{"aria-hidden":!0}),c("comments.delete")]})]})]})]}),(0,e.jsx)(F.Lt,{open:p,onOpenChange:a=>{r||q(a)},children:(0,e.jsxs)(F.EO,{className:"z-[120]",overlayClassName:"z-[120]",onCloseAutoFocus:a=>{a.preventDefault(),t.current?.focus()},children:[(0,e.jsxs)(F.wd,{children:[(0,e.jsx)(F.r7,{children:c("comments.deleteTitle")}),(0,e.jsx)(F.$v,{children:c("comments.deleteDescription")})]}),(0,e.jsxs)(F.ck,{children:[(0,e.jsx)(F.Zr,{disabled:r,children:c("common.cancel")}),(0,e.jsxs)(F.Rx,{variant:"destructive",disabled:r,onClick:async a=>{a.preventDefault(),s(!0);let b=await g();s(!1),b&&q(!1)},children:[r&&(0,e.jsx)(i.A,{className:"animate-spin","aria-hidden":!0}),c("comments.deleteConfirm")]})]})]})})]})}function O({comment:a,compact:b,avatarSize:c,gap:d,t:g,currentUserUuid:h,canComment:i=!0,onReply:j,onDelete:k}){let[l,m]=(0,f.useState)(!1),n="agent"===a.author.type,r=!!h&&("user"===a.author.type&&a.author.uuid===h||"agent"===a.author.type&&a.author.owner?.uuid===h),s=n?(0,A.j)(a.author.name):null,t=a.content.length>200,u=s?`${s}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[n?(0,e.jsx)(q.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(p.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:n?{backgroundColor:u,color:s??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${n?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(n?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,B.r)(c)}(a.createdAt,g)})]}),i&&(0,e.jsx)(N,{author:{type:n?"agent":"user",uuid:a.author.uuid,name:a.author.name},canDelete:r,t:g,onReply:()=>j({type:n?"agent":"user",uuid:a.author.uuid,name:a.author.name}),onDelete:()=>k(a.uuid)})]}),n&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:t&&!l?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:J,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>m(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:J,children:a.content}),t&&(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>m(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[v,w]=G.then?(await G)():G,d()}catch(a){d(a)}})},25215:(a,b,c)=>{"use strict";c.d(b,{ProjectAccessProvider:()=>e});var d=c(75827);(0,d.registerClientReference)(function(){throw Error("Attempted to call DEFAULT_PROJECT_ACCESS_LEVEL() from the server but DEFAULT_PROJECT_ACCESS_LEVEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","DEFAULT_PROJECT_ACCESS_LEVEL");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectAccessProvider() from the server but ProjectAccessProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","ProjectAccessProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useProjectAccessLevel() from the server but useProjectAccessLevel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","useProjectAccessLevel"),(0,d.registerClientReference)(function(){throw Error("Attempted to call canEditProjectContent() from the server but canEditProjectContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","canEditProjectContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call useCanEditProject() from the server but useCanEditProject is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/contexts/project-access-context.tsx","useCanEditProject")},31813:(a,b,c)=>{"use strict";c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},46379:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(8845);let e=(0,d.createServerReference)("7099715b70777f1df773f52ed3537aea55b422d6d9",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")},47626:(a,b,c)=>{"use strict";c.d(b,{fv:()=>p,xQ:()=>q});var d=c(70404),e=c(89084);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},51632:(a,b,c)=>{"use strict";c.d(b,{d:()=>e});var d=c(8845);let e=(0,d.createServerReference)("703f32b1bb8e38a0ced6f765d33b0339b7c920831e",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},53191:(a,b,c)=>{"use strict";c.d(b,{J:()=>e});var d=c(8845);let e=(0,d.createServerReference)("40e3ce30df7300b056201b7350f035eff5f8b665dd",d.callServer,void 0,d.findSourceMapURL,"deleteCommentAction")},55673:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>j});var e=c(53715),f=c(10487),g=c(25215),h=c(17949),i=a([f]);async function j({children:a,params:b}){let{uuid:c}=await b,{accessLevel:d}=await (0,f.Ax)(c);return"viewer"!==d?(0,e.jsx)(g.ProjectAccessProvider,{accessLevel:d,children:a}):(0,e.jsx)(g.ProjectAccessProvider,{accessLevel:d,children:(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,e.jsx)(h.ProjectReadOnlyBanner,{}),(0,e.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:a})]})})}f=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},71758:(a,b,c)=>{"use strict";function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},87969:(a,b,c)=>{"use strict";c.d(b,{c5:()=>w});var d=c(55153),e=c(70404),f=c(97318),g=c(88868),h=c(29900),i=c(5210),j=c(57187),k=c(6994),l=c(21687),m=c(71758),n=c(70991),o=c(43840),p=c(39976),q=c(79239);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:n,onSubmit:o,entityType:p,entityUuid:q},w)=>{let x=(0,e.useRef)([]),y=(0,e.useRef)(!1),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),C=(0,e.useRef)(null),[,D]=(0,e.useState)(0),E=(0,e.useRef)(!1),F=(0,i.c)("mention"),G=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});G.current={online:F("online"),offline:F("offline"),idle:F("idle"),activeCount:a=>F("activeCount",{count:a})};let H=(0,e.useCallback)((a,b)=>{let c=`/api/mentionables?q=${encodeURIComponent(a)}&limit=${b}&withInstances=1`;return p&&q&&(c+=`&entityType=${encodeURIComponent(p)}&entityUuid=${encodeURIComponent(q)}`),c},[p,q]),I=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{y.current=!0,D(a=>a+1);try{let b=await fetch(H(a,10));if(b.ok){let a=await b.json();a.success&&(x.current=a.data)}}catch{x.current=[]}finally{y.current=!1,D(a=>a+1)}},[H]),250),[J,K]=(0,e.useState)(null),L=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),M=(0,e.useRef)(()=>{});M.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void K({item:a,onlineInstances:c.onlineInstances,command:b});L(a,b,c.pin??void 0)};let N=(0,e.useCallback)((a,b)=>M.current(a,b),[]);(0,e.useEffect)(()=>{B.current&&C.current&&u(x.current,y.current,C.current,z,B.current,G.current,N)});let O=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(I(a),x.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",B.current=b,C.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(A.current??document.body).appendChild(b),u(x.current,y.current,a.command,z,b,G.current,N)},onUpdate:a=>{if(C.current=a.command,B.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(B.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(B.current.style.top="",B.current.style.bottom=`${window.innerHeight-b.top+4}px`):(B.current.style.bottom="",B.current.style.top=`${b.bottom+4}px`))}B.current&&u(x.current,y.current,a.command,z,B.current,G.current,N)},onKeyDown:a=>!!z.current&&z.current.onKeyDown(a),onExit:()=>{B.current?.remove(),B.current=null,C.current=null,x.current=[],y.current=!1}})}})],content:t(a),editable:!n,editorProps:{attributes:{class:(0,j.cn)("mobile-input-text","min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!B.current&&!!o&&(b.preventDefault(),o(),!0)},onUpdate:({editor:a})=>{E.current=!0,b(s(a))}});(0,e.useEffect)(()=>{if(!O||E.current){E.current=!1;return}s(O)!==a&&O.commands.setContent(t(a))},[a,O]),(0,e.useEffect)(()=>{O&&O.setEditable(!n)},[n,O]);let P=(0,e.useCallback)(a=>{if(!O)return;let b=null!==a.pinnedHost||null!==a.pinnedCwd?{host:a.pinnedHost??"",cwd:a.pinnedCwd,runtimeCwd:!0===a.runtimeCwd}:null,c=function(a,b,c=null){let d=b.type.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=b.uuid.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(RegExp(`@\\[[^\\]]+\\]\\(${d}:${e}(?:\\?[^)]*)?\\)\\s*$`,"i").test(a))return{value:a,appended:!1};let f=(0,m.$v)(b.name,b.type,b.uuid,c?.host??null,c?.cwd??null,c?.runtimeCwd===!0),g=a.length>0&&!/\s$/.test(a)?" ":"";return{value:`${a}${g}${f} `,appended:!0}}(s(O),{type:a.mentionType,uuid:a.id,name:a.label},b);c.appended&&O.commands.setContent(t(c.value)),O.commands.focus("end")},[O]),Q=(0,e.useCallback)(async a=>{let b=a;if("agent"===a.type){let c=await fetch(H(a.name,50));if(!c.ok)throw Error("Failed to load Agent mention routing");let d=await c.json();if(!d.success||!Array.isArray(d.data))throw Error("Invalid Agent mention routing response");b=function(a,b){let c=b.find(b=>b.type===a.type&&b.uuid===a.uuid);if(!c)throw Error("Reply author is unavailable for mention routing");return c}(a,d.data)}M.current(b,a=>{P(a)})},[H,P]);return(0,e.useImperativeHandle)(w,()=>({focus:()=>O?.commands.focus(),clear:()=>{O?.commands.clearContent(),b("")},replyToAuthor:Q}),[O,b,Q]),(0,d.jsxs)("div",{ref:A,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",n&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:O}),(0,d.jsx)(v,{open:null!==J,agentName:J?.item.name??"",instances:J?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(J,a,{close:()=>K(null),insert:(a,b)=>L(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>O?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>K(null)}),(0,d.jsx)("style",{children:`
|
|
2
2
|
.tiptap p.is-editor-empty:first-child::before {
|
|
3
3
|
content: attr(data-placeholder);
|
|
4
4
|
color: #9A9A9A;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";exports.id=5281,exports.ids=[5281],exports.modules={65281:(a,b,d)=>{d.d(b,{diagram:()=>aE});var e,f=d(82640),g=d(46743),h=d(55427),i=d(11724),j=d(90055),k=d(8818),l=function(){var a=(0,i.K2)(function(a,b,d,e){for(d=d||{},e=a.length;e--;d[a[e]]=b);return d},"o"),b=[1,24],d=[1,25],e=[1,26],f=[1,27],g=[1,28],h=[1,63],j=[1,64],k=[1,65],l=[1,66],m=[1,67],n=[1,68],o=[1,69],p=[1,29],q=[1,30],r=[1,31],s=[1,32],t=[1,33],u=[1,34],v=[1,35],w=[1,36],x=[1,37],y=[1,38],z=[1,39],A=[1,40],B=[1,41],C=[1,42],D=[1,43],E=[1,44],F=[1,45],G=[1,46],H=[1,47],I=[1,48],J=[1,50],K=[1,51],L=[1,52],M=[1,53],N=[1,54],O=[1,55],P=[1,56],Q=[1,57],R=[1,58],S=[1,59],T=[1,60],U=[14,42],V=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],W=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],X=[1,82],Y=[1,83],Z=[1,84],$=[1,85],_=[12,14,42],aa=[12,14,33,42],ab=[12,14,33,42,76,77,79,80],ac=[12,33],ad=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae={trace:(0,i.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,i.K2)(function(a,b,d,e,f,g,h){var i=g.length-1;switch(f){case 3:e.setDirection("TB");break;case 4:e.setDirection("BT");break;case 5:e.setDirection("RL");break;case 6:e.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:e.setC4Type(g[i-3]);break;case 19:e.setTitle(g[i].substring(6)),this.$=g[i].substring(6);break;case 20:e.setAccDescription(g[i].substring(15)),this.$=g[i].substring(15);break;case 21:this.$=g[i].trim(),e.setTitle(this.$);break;case 22:case 23:this.$=g[i].trim(),e.setAccDescription(this.$);break;case 28:g[i].splice(2,0,"ENTERPRISE"),e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 29:g[i].splice(2,0,"SYSTEM"),e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 30:e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 31:g[i].splice(2,0,"CONTAINER"),e.addContainerBoundary(...g[i]),this.$=g[i];break;case 32:e.addDeploymentNode("node",...g[i]),this.$=g[i];break;case 33:e.addDeploymentNode("nodeL",...g[i]),this.$=g[i];break;case 34:e.addDeploymentNode("nodeR",...g[i]),this.$=g[i];break;case 35:e.popBoundaryParseStack();break;case 39:e.addPersonOrSystem("person",...g[i]),this.$=g[i];break;case 40:e.addPersonOrSystem("external_person",...g[i]),this.$=g[i];break;case 41:e.addPersonOrSystem("system",...g[i]),this.$=g[i];break;case 42:e.addPersonOrSystem("system_db",...g[i]),this.$=g[i];break;case 43:e.addPersonOrSystem("system_queue",...g[i]),this.$=g[i];break;case 44:e.addPersonOrSystem("external_system",...g[i]),this.$=g[i];break;case 45:e.addPersonOrSystem("external_system_db",...g[i]),this.$=g[i];break;case 46:e.addPersonOrSystem("external_system_queue",...g[i]),this.$=g[i];break;case 47:e.addContainer("container",...g[i]),this.$=g[i];break;case 48:e.addContainer("container_db",...g[i]),this.$=g[i];break;case 49:e.addContainer("container_queue",...g[i]),this.$=g[i];break;case 50:e.addContainer("external_container",...g[i]),this.$=g[i];break;case 51:e.addContainer("external_container_db",...g[i]),this.$=g[i];break;case 52:e.addContainer("external_container_queue",...g[i]),this.$=g[i];break;case 53:e.addComponent("component",...g[i]),this.$=g[i];break;case 54:e.addComponent("component_db",...g[i]),this.$=g[i];break;case 55:e.addComponent("component_queue",...g[i]),this.$=g[i];break;case 56:e.addComponent("external_component",...g[i]),this.$=g[i];break;case 57:e.addComponent("external_component_db",...g[i]),this.$=g[i];break;case 58:e.addComponent("external_component_queue",...g[i]),this.$=g[i];break;case 60:e.addRel("rel",...g[i]),this.$=g[i];break;case 61:e.addRel("birel",...g[i]),this.$=g[i];break;case 62:e.addRel("rel_u",...g[i]),this.$=g[i];break;case 63:e.addRel("rel_d",...g[i]),this.$=g[i];break;case 64:e.addRel("rel_l",...g[i]),this.$=g[i];break;case 65:e.addRel("rel_r",...g[i]),this.$=g[i];break;case 66:e.addRel("rel_b",...g[i]),this.$=g[i];break;case 67:g[i].splice(0,1),e.addRel("rel",...g[i]),this.$=g[i];break;case 68:e.updateElStyle("update_el_style",...g[i]),this.$=g[i];break;case 69:e.updateRelStyle("update_rel_style",...g[i]),this.$=g[i];break;case 70:e.updateLayoutConfig("update_layout_config",...g[i]),this.$=g[i];break;case 71:this.$=[g[i]];break;case 72:g[i].unshift(g[i-1]),this.$=g[i];break;case 73:case 75:this.$=g[i].trim();break;case 74:let j={};j[g[i-1].trim()]=g[i].trim(),this.$=j;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:70,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:71,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:72,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:73,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{14:[1,74]},a(U,[2,13],{43:23,29:49,30:61,32:62,20:75,34:h,36:j,37:k,38:l,39:m,40:n,41:o,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T}),a(U,[2,14]),a(V,[2,16],{12:[1,76]}),a(U,[2,36],{12:[1,77]}),a(W,[2,19]),a(W,[2,20]),{25:[1,78]},{27:[1,79]},a(W,[2,23]),{35:80,75:81,76:X,77:Y,79:Z,80:$},{35:86,75:81,76:X,77:Y,79:Z,80:$},{35:87,75:81,76:X,77:Y,79:Z,80:$},{35:88,75:81,76:X,77:Y,79:Z,80:$},{35:89,75:81,76:X,77:Y,79:Z,80:$},{35:90,75:81,76:X,77:Y,79:Z,80:$},{35:91,75:81,76:X,77:Y,79:Z,80:$},{35:92,75:81,76:X,77:Y,79:Z,80:$},{35:93,75:81,76:X,77:Y,79:Z,80:$},{35:94,75:81,76:X,77:Y,79:Z,80:$},{35:95,75:81,76:X,77:Y,79:Z,80:$},{35:96,75:81,76:X,77:Y,79:Z,80:$},{35:97,75:81,76:X,77:Y,79:Z,80:$},{35:98,75:81,76:X,77:Y,79:Z,80:$},{35:99,75:81,76:X,77:Y,79:Z,80:$},{35:100,75:81,76:X,77:Y,79:Z,80:$},{35:101,75:81,76:X,77:Y,79:Z,80:$},{35:102,75:81,76:X,77:Y,79:Z,80:$},{35:103,75:81,76:X,77:Y,79:Z,80:$},{35:104,75:81,76:X,77:Y,79:Z,80:$},a(_,[2,59]),{35:105,75:81,76:X,77:Y,79:Z,80:$},{35:106,75:81,76:X,77:Y,79:Z,80:$},{35:107,75:81,76:X,77:Y,79:Z,80:$},{35:108,75:81,76:X,77:Y,79:Z,80:$},{35:109,75:81,76:X,77:Y,79:Z,80:$},{35:110,75:81,76:X,77:Y,79:Z,80:$},{35:111,75:81,76:X,77:Y,79:Z,80:$},{35:112,75:81,76:X,77:Y,79:Z,80:$},{35:113,75:81,76:X,77:Y,79:Z,80:$},{35:114,75:81,76:X,77:Y,79:Z,80:$},{35:115,75:81,76:X,77:Y,79:Z,80:$},{20:116,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{12:[1,118],33:[1,117]},{35:119,75:81,76:X,77:Y,79:Z,80:$},{35:120,75:81,76:X,77:Y,79:Z,80:$},{35:121,75:81,76:X,77:Y,79:Z,80:$},{35:122,75:81,76:X,77:Y,79:Z,80:$},{35:123,75:81,76:X,77:Y,79:Z,80:$},{35:124,75:81,76:X,77:Y,79:Z,80:$},{35:125,75:81,76:X,77:Y,79:Z,80:$},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(U,[2,15]),a(V,[2,17],{21:22,19:130,22:b,23:d,24:e,26:f,28:g}),a(U,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:b,23:d,24:e,26:f,28:g,34:h,36:j,37:k,38:l,39:m,40:n,41:o,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T}),a(W,[2,21]),a(W,[2,22]),a(_,[2,39]),a(aa,[2,71],{75:81,35:132,76:X,77:Y,79:Z,80:$}),a(ab,[2,73]),{78:[1,133]},a(ab,[2,75]),a(ab,[2,76]),a(_,[2,40]),a(_,[2,41]),a(_,[2,42]),a(_,[2,43]),a(_,[2,44]),a(_,[2,45]),a(_,[2,46]),a(_,[2,47]),a(_,[2,48]),a(_,[2,49]),a(_,[2,50]),a(_,[2,51]),a(_,[2,52]),a(_,[2,53]),a(_,[2,54]),a(_,[2,55]),a(_,[2,56]),a(_,[2,57]),a(_,[2,58]),a(_,[2,60]),a(_,[2,61]),a(_,[2,62]),a(_,[2,63]),a(_,[2,64]),a(_,[2,65]),a(_,[2,66]),a(_,[2,67]),a(_,[2,68]),a(_,[2,69]),a(_,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(ac,[2,28]),a(ac,[2,29]),a(ac,[2,30]),a(ac,[2,31]),a(ac,[2,32]),a(ac,[2,33]),a(ac,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(V,[2,18]),a(U,[2,38]),a(aa,[2,72]),a(ab,[2,74]),a(_,[2,24]),a(_,[2,35]),a(ad,[2,25]),a(ad,[2,26],{12:[1,138]}),a(ad,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,i.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var d=Error(a);throw d.hash=b,d}},"parseError"),parse:(0,i.K2)(function(a){var b=this,d=[0],e=[],f=[null],g=[],h=this.table,j="",k=0,l=0,m=0,n=g.slice.call(arguments,1),o=Object.create(this.lexer),p={};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&(p[q]=this.yy[q]);o.setInput(a,p),p.lexer=o,p.parser=this,void 0===o.yylloc&&(o.yylloc={});var r=o.yylloc;g.push(r);var s=o.options&&o.options.ranges;function t(){var a;return"number"!=typeof(a=e.pop()||o.lex()||1)&&(a instanceof Array&&(a=(e=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.K2)(function(a){d.length=d.length-2*a,f.length=f.length-a,g.length=g.length-a},"popStack"),(0,i.K2)(t,"lex");for(var u,v,w,x,y,z,A,B,C,D={};;){if(w=d[d.length-1],this.defaultActions[w]?x=this.defaultActions[w]:(null==u&&(u=t()),x=h[w]&&h[w][u]),void 0===x||!x.length||!x[0]){var E="";for(z in C=[],h[w])this.terminals_[z]&&z>2&&C.push("'"+this.terminals_[z]+"'");E=o.showPosition?"Parse error on line "+(k+1)+":\n"+o.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[u]||u)+"'":"Parse error on line "+(k+1)+": Unexpected "+(1==u?"end of input":"'"+(this.terminals_[u]||u)+"'"),this.parseError(E,{text:o.match,token:this.terminals_[u]||u,line:o.yylineno,loc:r,expected:C})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+w+", token: "+u);switch(x[0]){case 1:d.push(u),f.push(o.yytext),g.push(o.yylloc),d.push(x[1]),u=null,v?(u=v,v=null):(l=o.yyleng,j=o.yytext,k=o.yylineno,r=o.yylloc,m>0&&m--);break;case 2:if(A=this.productions_[x[1]][1],D.$=f[f.length-A],D._$={first_line:g[g.length-(A||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(A||1)].first_column,last_column:g[g.length-1].last_column},s&&(D._$.range=[g[g.length-(A||1)].range[0],g[g.length-1].range[1]]),void 0!==(y=this.performAction.apply(D,[j,l,k,p,x[1],f,g].concat(n))))return y;A&&(d=d.slice(0,-1*A*2),f=f.slice(0,-1*A),g=g.slice(0,-1*A)),d.push(this.productions_[x[1]][0]),f.push(D.$),g.push(D._$),B=h[d[d.length-2]][d[d.length-1]],d.push(B);break;case 3:return!0}}return!0},"parse")};function af(){this.yy={}}return ae.lexer={EOF:1,parseError:(0,i.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,i.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,i.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,i.K2)(function(a){var b=a.length,d=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var e=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===e.length?this.yylloc.first_column:0)+e[e.length-d.length].length-d[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,i.K2)(function(){return this._more=!0,this},"more"),reject:(0,i.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,i.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,i.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,i.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,i.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,i.K2)(function(a,b){var d,e,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),(e=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],d=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack)for(var g in f)this[g]=f[g];return!1},"test_match"),next:(0,i.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,d,e,f=this._currentRules(),g=0;g<f.length;g++)if((d=this._input.match(this.rules[f[g]]))&&(!b||d[0].length>b[0].length)){if(b=d,e=g,this.options.backtrack_lexer){if(!1!==(a=this.test_match(d,f[g])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,f[e]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,i.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,i.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,i.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,i.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,i.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,i.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,i.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,i.K2)(function(a,b,d,e){switch(d){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},(0,i.K2)(af,"Parser"),af.prototype=ae,ae.Parser=af,new af}();l.parser=l;var m=[],n=[""],o="global",p="",q=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],r=[],s="",t=!1,u=4,v=2,w=(0,i.K2)(function(){return e},"getC4Type"),x=(0,i.K2)(function(a){e=(0,h.jZ)(a,(0,h.D7)())},"setC4Type"),y=(0,i.K2)(function(a,b,d,e,f,g,h,i,j){if(null==a||null==b||null==d||null==e)return;let k={},l=r.find(a=>a.from===b&&a.to===d);if(l?k=l:r.push(k),k.type=a,k.from=b,k.to=d,k.label={text:e},null==f)k.techn={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];k[a]={text:b}}else k.techn={text:f};if(null==g)k.descr={text:""};else if("object"==typeof g){let[a,b]=Object.entries(g)[0];k[a]={text:b}}else k.descr={text:g};if("object"==typeof h){let[a,b]=Object.entries(h)[0];k[a]=b}else k.sprite=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];k[a]=b}else k.tags=i;if("object"==typeof j){let[a,b]=Object.entries(j)[0];k[a]=b}else k.link=j;k.wrap=U()},"addRel"),z=(0,i.K2)(function(a,b,d,e,f,g,h){if(null===b||null===d)return;let i={},j=m.find(a=>a.alias===b);if(j&&b===j.alias?i=j:(i.alias=b,m.push(i)),null==d?i.label={text:""}:i.label={text:d},null==e)i.descr={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];i[a]={text:b}}else i.descr={text:e};if("object"==typeof f){let[a,b]=Object.entries(f)[0];i[a]=b}else i.sprite=f;if("object"==typeof g){let[a,b]=Object.entries(g)[0];i[a]=b}else i.tags=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];i[a]=b}else i.link=h;i.typeC4Shape={text:a},i.parentBoundary=o,i.wrap=U()},"addPersonOrSystem"),A=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=m.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,m.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.techn={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.techn={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof g){let[a,b]=Object.entries(g)[0];j[a]=b}else j.sprite=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.wrap=U(),j.typeC4Shape={text:a},j.parentBoundary=o},"addContainer"),B=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=m.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,m.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.techn={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.techn={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof g){let[a,b]=Object.entries(g)[0];j[a]=b}else j.sprite=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.wrap=U(),j.typeC4Shape={text:a},j.parentBoundary=o},"addComponent"),C=(0,i.K2)(function(a,b,d,e,f){if(null===a||null===b)return;let g={},h=q.find(b=>b.alias===a);if(h&&a===h.alias?g=h:(g.alias=a,q.push(g)),null==b?g.label={text:""}:g.label={text:b},null==d)g.type={text:"system"};else if("object"==typeof d){let[a,b]=Object.entries(d)[0];g[a]={text:b}}else g.type={text:d};if("object"==typeof e){let[a,b]=Object.entries(e)[0];g[a]=b}else g.tags=e;if("object"==typeof f){let[a,b]=Object.entries(f)[0];g[a]=b}else g.link=f;g.parentBoundary=o,g.wrap=U(),p=o,o=a,n.push(p)},"addPersonOrSystemBoundary"),D=(0,i.K2)(function(a,b,d,e,f){if(null===a||null===b)return;let g={},h=q.find(b=>b.alias===a);if(h&&a===h.alias?g=h:(g.alias=a,q.push(g)),null==b?g.label={text:""}:g.label={text:b},null==d)g.type={text:"container"};else if("object"==typeof d){let[a,b]=Object.entries(d)[0];g[a]={text:b}}else g.type={text:d};if("object"==typeof e){let[a,b]=Object.entries(e)[0];g[a]=b}else g.tags=e;if("object"==typeof f){let[a,b]=Object.entries(f)[0];g[a]=b}else g.link=f;g.parentBoundary=o,g.wrap=U(),p=o,o=a,n.push(p)},"addContainerBoundary"),E=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=q.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,q.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.type={text:"node"};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.type={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.nodeType=a,j.parentBoundary=o,j.wrap=U(),p=o,o=b,n.push(p)},"addDeploymentNode"),F=(0,i.K2)(function(){o=p,n.pop(),p=n.pop(),n.push(p)},"popBoundaryParseStack"),G=(0,i.K2)(function(a,b,d,e,f,g,h,i,j,k,l){let n=m.find(a=>a.alias===b);if(void 0!==n||void 0!==(n=q.find(a=>a.alias===b))){if(null!=d)if("object"==typeof d){let[a,b]=Object.entries(d)[0];n[a]=b}else n.bgColor=d;if(null!=e)if("object"==typeof e){let[a,b]=Object.entries(e)[0];n[a]=b}else n.fontColor=e;if(null!=f)if("object"==typeof f){let[a,b]=Object.entries(f)[0];n[a]=b}else n.borderColor=f;if(null!=g)if("object"==typeof g){let[a,b]=Object.entries(g)[0];n[a]=b}else n.shadowing=g;if(null!=h)if("object"==typeof h){let[a,b]=Object.entries(h)[0];n[a]=b}else n.shape=h;if(null!=i)if("object"==typeof i){let[a,b]=Object.entries(i)[0];n[a]=b}else n.sprite=i;if(null!=j)if("object"==typeof j){let[a,b]=Object.entries(j)[0];n[a]=b}else n.techn=j;if(null!=k)if("object"==typeof k){let[a,b]=Object.entries(k)[0];n[a]=b}else n.legendText=k;if(null!=l)if("object"==typeof l){let[a,b]=Object.entries(l)[0];n[a]=b}else n.legendSprite=l}},"updateElStyle"),H=(0,i.K2)(function(a,b,d,e,f,g,h){let i=r.find(a=>a.from===b&&a.to===d);if(void 0!==i){if(null!=e)if("object"==typeof e){let[a,b]=Object.entries(e)[0];i[a]=b}else i.textColor=e;if(null!=f)if("object"==typeof f){let[a,b]=Object.entries(f)[0];i[a]=b}else i.lineColor=f;if(null!=g)if("object"==typeof g){let[a,b]=Object.entries(g)[0];i[a]=parseInt(b)}else i.offsetX=parseInt(g);if(null!=h)if("object"==typeof h){let[a,b]=Object.entries(h)[0];i[a]=parseInt(b)}else i.offsetY=parseInt(h)}},"updateRelStyle"),I=(0,i.K2)(function(a,b,d){let e=u,f=v;e="object"==typeof b?parseInt(Object.values(b)[0]):parseInt(b),f="object"==typeof d?parseInt(Object.values(d)[0]):parseInt(d),e>=1&&(u=e),f>=1&&(v=f)},"updateLayoutConfig"),J=(0,i.K2)(function(){return u},"getC4ShapeInRow"),K=(0,i.K2)(function(){return v},"getC4BoundaryInRow"),L=(0,i.K2)(function(){return o},"getCurrentBoundaryParse"),M=(0,i.K2)(function(){return p},"getParentBoundaryParse"),N=(0,i.K2)(function(a){return null==a?m:m.filter(b=>b.parentBoundary===a)},"getC4ShapeArray"),O=(0,i.K2)(function(a){return m.find(b=>b.alias===a)},"getC4Shape"),P=(0,i.K2)(function(a){return Object.keys(N(a))},"getC4ShapeKeys"),Q=(0,i.K2)(function(a){return null==a?q:q.filter(b=>b.parentBoundary===a)},"getBoundaries"),R=(0,i.K2)(function(){return r},"getRels"),S=(0,i.K2)(function(){return s},"getTitle"),T=(0,i.K2)(function(a){t=a},"setWrap"),U=(0,i.K2)(function(){return t},"autoWrap"),V=(0,i.K2)(function(){m=[],q=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],p="",o="global",n=[""],r=[],n=[""],s="",t=!1,u=4,v=2},"clear"),W=(0,i.K2)(function(a){s=(0,h.jZ)(a,(0,h.D7)())},"setTitle"),X={addPersonOrSystem:z,addPersonOrSystemBoundary:C,addContainer:A,addContainerBoundary:D,addComponent:B,addDeploymentNode:E,popBoundaryParseStack:F,addRel:y,updateElStyle:G,updateRelStyle:H,updateLayoutConfig:I,autoWrap:U,setWrap:T,getC4ShapeArray:N,getC4Shape:O,getC4ShapeKeys:P,getBoundaries:Q,getBoundarys:Q,getCurrentBoundaryParse:L,getParentBoundaryParse:M,getRels:R,getTitle:S,getC4Type:w,getC4ShapeInRow:J,getC4BoundaryInRow:K,setAccTitle:h.SV,getAccTitle:h.iN,getAccDescription:h.m7,setAccDescription:h.EI,getConfig:(0,i.K2)(()=>(0,h.D7)().c4,"getConfig"),clear:V,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:W,setC4Type:x},Y=(0,i.K2)(function(a,b){return(0,f.tk)(a,b)},"drawRect"),Z=(0,i.K2)(function(a,b,d,e,f,g){let h=a.append("image");h.attr("width",b),h.attr("height",d),h.attr("x",e),h.attr("y",f);let i=g.startsWith("data:image/png;base64")?g:(0,k.J)(g);h.attr("xlink:href",i)},"drawImage"),$=(0,i.K2)((a,b,d,e)=>{let f=a.append("g"),g=0;for(let a of b){let b=a.textColor?a.textColor:"#444444",h=a.lineColor?a.lineColor:"#444444",i=a.offsetX?parseInt(a.offsetX):0,j=a.offsetY?parseInt(a.offsetY):0;if(0===g){let b=f.append("line");b.attr("x1",a.startPoint.x),b.attr("y1",a.startPoint.y),b.attr("x2",a.endPoint.x),b.attr("y2",a.endPoint.y),b.attr("stroke-width","1"),b.attr("stroke",h),b.style("fill","none"),"rel_b"!==a.type&&b.attr("marker-end","url(#"+e+"-arrowhead)"),("birel"===a.type||"rel_b"===a.type)&&b.attr("marker-start","url(#"+e+"-arrowend)"),g=-1}else{let b=f.append("path");b.attr("fill","none").attr("stroke-width","1").attr("stroke",h).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),"rel_b"!==a.type&&b.attr("marker-end","url(#"+e+"-arrowhead)"),("birel"===a.type||"rel_b"===a.type)&&b.attr("marker-start","url(#"+e+"-arrowend)")}let k=d.messageFont();aj(d)(a.label.text,f,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+j,a.label.width,a.label.height,{fill:b},k),a.techn&&""!==a.techn.text&&(k=d.messageFont(),aj(d)("["+a.techn.text+"]",f,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+d.messageFontSize+5+j,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:b,"font-style":"italic"},k))}},"drawRels"),_=(0,i.K2)(function(a,b,d){let e=a.append("g"),f=b.bgColor?b.bgColor:"none",g=b.borderColor?b.borderColor:"#444444",h=b.fontColor?b.fontColor:"black",i={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};b.nodeType&&(i={"stroke-width":1}),Y(e,{x:b.x,y:b.y,fill:f,stroke:g,width:b.width,height:b.height,rx:2.5,ry:2.5,attrs:i});let j=d.boundaryFont();j.fontWeight="bold",j.fontSize=j.fontSize+2,j.fontColor=h,aj(d)(b.label.text,e,b.x,b.y+b.label.Y,b.width,b.height,{fill:"#444444"},j),b.type&&""!==b.type.text&&((j=d.boundaryFont()).fontColor=h,aj(d)(b.type.text,e,b.x,b.y+b.type.Y,b.width,b.height,{fill:"#444444"},j)),b.descr&&""!==b.descr.text&&((j=d.boundaryFont()).fontSize=j.fontSize-2,j.fontColor=h,aj(d)(b.descr.text,e,b.x,b.y+b.descr.Y,b.width,b.height,{fill:"#444444"},j))},"drawBoundary"),aa=(0,i.K2)(function(a,b,d){let e=b.bgColor?b.bgColor:d[b.typeC4Shape.text+"_bg_color"],g=b.borderColor?b.borderColor:d[b.typeC4Shape.text+"_border_color"],h=b.fontColor?b.fontColor:"#FFFFFF",i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(b.typeC4Shape.text){case"person":i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}let j=a.append("g");j.attr("class","person-man");let k=(0,f.PB)();switch(b.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":k.x=b.x,k.y=b.y,k.fill=e,k.width=b.width,k.height=b.height,k.stroke=g,k.rx=2.5,k.ry=2.5,k.attrs={"stroke-width":.5},Y(j,k);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":j.append("path").attr("fill",e).attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("half",b.width/2).replaceAll("height",b.height)),j.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("half",b.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":j.append("path").attr("fill",e).attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("width",b.width).replaceAll("half",b.height/2)),j.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",b.x+b.width).replaceAll("starty",b.y).replaceAll("half",b.height/2))}let l=ai(d,b.typeC4Shape.text);switch(j.append("text").attr("fill",h).attr("font-family",l.fontFamily).attr("font-size",l.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",b.typeC4Shape.width).attr("x",b.x+b.width/2-b.typeC4Shape.width/2).attr("y",b.y+b.typeC4Shape.Y).text("<<"+b.typeC4Shape.text+">>"),b.typeC4Shape.text){case"person":case"external_person":Z(j,48,48,b.x+b.width/2-24,b.y+b.image.Y,i)}let m=d[b.typeC4Shape.text+"Font"]();return m.fontWeight="bold",m.fontSize=m.fontSize+2,m.fontColor=h,aj(d)(b.label.text,j,b.x,b.y+b.label.Y,b.width,b.height,{fill:h},m),(m=d[b.typeC4Shape.text+"Font"]()).fontColor=h,b.techn&&b.techn?.text!==""?aj(d)(b.techn.text,j,b.x,b.y+b.techn.Y,b.width,b.height,{fill:h,"font-style":"italic"},m):b.type&&""!==b.type.text&&aj(d)(b.type.text,j,b.x,b.y+b.type.Y,b.width,b.height,{fill:h,"font-style":"italic"},m),b.descr&&""!==b.descr.text&&((m=d.personFont()).fontColor=h,aj(d)(b.descr.text,j,b.x,b.y+b.descr.Y,b.width,b.height,{fill:h},m)),b.height},"drawC4Shape"),ab=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ac=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ad=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),ae=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),af=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),ag=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ah=(0,i.K2)(function(a,b){let d=a.append("defs").append("marker").attr("id",b+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);d.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),d.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),ai=(0,i.K2)((a,b)=>({fontFamily:a[b+"FontFamily"],fontSize:a[b+"FontSize"],fontWeight:a[b+"FontWeight"]}),"getC4ShapeFont"),aj=function(){function a(a,b,d,f,g,h,i){e(b.append("text").attr("x",d+g/2).attr("y",f+h/2+5).style("text-anchor","middle").text(a),i)}function b(a,b,d,f,g,i,j,k){let{fontSize:l,fontFamily:m,fontWeight:n}=k,o=a.split(h.Y2.lineBreakRegex);for(let a=0;a<o.length;a++){let h=a*l-l*(o.length-1)/2,i=b.append("text").attr("x",d+g/2).attr("y",f).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",l).style("font-weight",n).style("font-family",m);i.append("tspan").attr("dy",h).text(o[a]).attr("alignment-baseline","mathematical"),e(i,j)}}function d(a,d,f,g,h,i,j,k){let l=d.append("switch"),m=l.append("foreignObject").attr("x",f).attr("y",g).attr("width",h).attr("height",i).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(a),b(a,l,f,g,h,i,j,k),e(m,j)}function e(a,b){for(let d in b)b.hasOwnProperty(d)&&a.attr(d,b[d])}return(0,i.K2)(a,"byText"),(0,i.K2)(b,"byTspan"),(0,i.K2)(d,"byFo"),(0,i.K2)(e,"_setTextAttrs"),function(e){return"fo"===e.textPlacement?d:"old"===e.textPlacement?a:b}}(),ak={drawBoundary:_,drawC4Shape:aa,drawRels:$,insertArrowHead:ae,insertArrowEnd:af,insertArrowFilledHead:ag,insertArrowCrossHead:ah,insertDatabaseIcon:ab,insertComputerIcon:ac,insertClockIcon:ad},al=0,am=0,an=4,ao=2;l.yy=X;var ap={},aq=class{static{(0,i.K2)(this,"Bounds")}constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,ar(a.db.getConfig())}setData(a,b,d,e){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=b,this.nextData.starty=this.data.starty=d,this.nextData.stopy=this.data.stopy=e}updateVal(a,b,d,e){void 0===a[b]?a[b]=d:a[b]=e(d,a[b])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let b=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+2*a.margin,d=b+a.width,e=this.nextData.starty+2*a.margin,f=e+a.height;(b>=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>an)&&(b=this.nextData.startx+a.margin+ap.nextLinePaddingX,e=this.nextData.stopy+2*a.margin,this.nextData.stopx=d=b+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=f=e+a.height,this.nextData.cnt=1),a.x=b,a.y=e,this.updateVal(this.data,"startx",b,Math.min),this.updateVal(this.data,"starty",e,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",f,Math.max),this.updateVal(this.nextData,"startx",b,Math.min),this.updateVal(this.nextData,"starty",e,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",f,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ar(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}},ar=(0,i.K2)(function(a){(0,h.hH)(ap,a),a.fontFamily&&(ap.personFontFamily=ap.systemFontFamily=ap.messageFontFamily=a.fontFamily),a.fontSize&&(ap.personFontSize=ap.systemFontSize=ap.messageFontSize=a.fontSize),a.fontWeight&&(ap.personFontWeight=ap.systemFontWeight=ap.messageFontWeight=a.fontWeight)},"setConf"),as=(0,i.K2)((a,b)=>({fontFamily:a[b+"FontFamily"],fontSize:a[b+"FontSize"],fontWeight:a[b+"FontWeight"]}),"c4ShapeFont"),at=(0,i.K2)(a=>({fontFamily:a.boundaryFontFamily,fontSize:a.boundaryFontSize,fontWeight:a.boundaryFontWeight}),"boundaryFont"),au=(0,i.K2)(a=>({fontFamily:a.messageFontFamily,fontSize:a.messageFontSize,fontWeight:a.messageFontWeight}),"messageFont");function av(a,b,d,e,f){if(!b[a].width)if(d)b[a].text=(0,g.bH)(b[a].text,f,e),b[a].textLines=b[a].text.split(h.Y2.lineBreakRegex).length,b[a].width=f,b[a].height=(0,g.ru)(b[a].text,e);else{let d=b[a].text.split(h.Y2.lineBreakRegex);b[a].textLines=d.length;let f=0;for(let h of(b[a].height=0,b[a].width=0,d))b[a].width=Math.max((0,g.Un)(h,e),b[a].width),f=(0,g.ru)(h,e),b[a].height=b[a].height+f}}(0,i.K2)(av,"calcC4ShapeTextWH");var aw=(0,i.K2)(function(a,b,d){b.x=d.data.startx,b.y=d.data.starty,b.width=d.data.stopx-d.data.startx,b.height=d.data.stopy-d.data.starty,b.label.y=ap.c4ShapeMargin-35;let e=b.wrap&&ap.wrap,f=at(ap);f.fontSize=f.fontSize+2,f.fontWeight="bold";let h=(0,g.Un)(b.label.text,f);av("label",b,e,f,h),ak.drawBoundary(a,b,ap)},"drawBoundary"),ax=(0,i.K2)(function(a,b,d,e){let f=0;for(let h of e){f=0;let e=d[h],i=as(ap,e.typeC4Shape.text);switch(i.fontSize=i.fontSize-2,e.typeC4Shape.width=(0,g.Un)("\xab"+e.typeC4Shape.text+"\xbb",i),e.typeC4Shape.height=i.fontSize+2,e.typeC4Shape.Y=ap.c4ShapePadding,f=e.typeC4Shape.Y+e.typeC4Shape.height-4,e.image={width:0,height:0,Y:0},e.typeC4Shape.text){case"person":case"external_person":e.image.width=48,e.image.height=48,e.image.Y=f,f=e.image.Y+e.image.height}e.sprite&&(e.image.width=48,e.image.height=48,e.image.Y=f,f=e.image.Y+e.image.height);let j=e.wrap&&ap.wrap,k=ap.width-2*ap.c4ShapePadding,l=as(ap,e.typeC4Shape.text);if(l.fontSize=l.fontSize+2,l.fontWeight="bold",av("label",e,j,l,k),e.label.Y=f+8,f=e.label.Y+e.label.height,e.type&&""!==e.type.text){e.type.text="["+e.type.text+"]";let a=as(ap,e.typeC4Shape.text);av("type",e,j,a,k),e.type.Y=f+5,f=e.type.Y+e.type.height}else if(e.techn&&""!==e.techn.text){e.techn.text="["+e.techn.text+"]";let a=as(ap,e.techn.text);av("techn",e,j,a,k),e.techn.Y=f+5,f=e.techn.Y+e.techn.height}let m=f,n=e.label.width;if(e.descr&&""!==e.descr.text){let a=as(ap,e.typeC4Shape.text);av("descr",e,j,a,k),e.descr.Y=f+20,f=e.descr.Y+e.descr.height,n=Math.max(e.label.width,e.descr.width),m=f-5*e.descr.textLines}n+=ap.c4ShapePadding,e.width=Math.max(e.width||ap.width,n,ap.width),e.height=Math.max(e.height||ap.height,m,ap.height),e.margin=e.margin||ap.c4ShapeMargin,a.insert(e),ak.drawC4Shape(b,e,ap)}a.bumpLastMargin(ap.c4ShapeMargin)},"drawC4ShapeArray"),ay=class{static{(0,i.K2)(this,"Point")}constructor(a,b){this.x=a,this.y=b}},az=(0,i.K2)(function(a,b){let d=a.x,e=a.y,f=b.x,g=b.y,h=d+a.width/2,i=e+a.height/2,j=Math.abs(d-f),k=Math.abs(e-g),l=k/j,m=a.height/a.width,n=null;return e==g&&d<f?n=new ay(d+a.width,i):e==g&&d>f?n=new ay(d,i):d==f&&e<g?n=new ay(h,e+a.height):d==f&&e>g&&(n=new ay(h,e)),d>f&&e<g?n=m>=l?new ay(d,i+l*a.width/2):new ay(h-j/k*a.height/2,e+a.height):d<f&&e<g?n=m>=l?new ay(d+a.width,i+l*a.width/2):new ay(h+j/k*a.height/2,e+a.height):d<f&&e>g?n=m>=l?new ay(d+a.width,i-l*a.width/2):new ay(h+a.height/2*j/k,e):d>f&&e>g&&(n=m>=l?new ay(d,i-a.width/2*l):new ay(h-a.height/2*j/k,e)),n},"getIntersectPoint"),aA=(0,i.K2)(function(a,b){let d={x:0,y:0};d.x=b.x+b.width/2,d.y=b.y+b.height/2;let e=az(a,d);return d.x=a.x+a.width/2,d.y=a.y+a.height/2,{startPoint:e,endPoint:az(b,d)}},"getIntersectPoints"),aB=(0,i.K2)(function(a,b,d,e,f){let h=0;for(let a of b){h+=1;let b=a.wrap&&ap.wrap,f=au(ap);"C4Dynamic"===e.db.getC4Type()&&(a.label.text=h+": "+a.label.text);let i=(0,g.Un)(a.label.text,f);av("label",a,b,f,i),a.techn&&""!==a.techn.text&&(i=(0,g.Un)(a.techn.text,f),av("techn",a,b,f,i)),a.descr&&""!==a.descr.text&&(i=(0,g.Un)(a.descr.text,f),av("descr",a,b,f,i));let j=aA(d(a.from),d(a.to));a.startPoint=j.startPoint,a.endPoint=j.endPoint}ak.drawRels(a,b,ap,f)},"drawRels");function aC(a,b,d,e,f){let g=new aq(f);for(let[h,i]of(g.data.widthLimit=d.data.widthLimit/Math.min(ao,e.length),e.entries())){let e=0;i.image={width:0,height:0,Y:0},i.sprite&&(i.image.width=48,i.image.height=48,i.image.Y=e,e=i.image.Y+i.image.height);let j=i.wrap&&ap.wrap,k=at(ap);if(k.fontSize=k.fontSize+2,k.fontWeight="bold",av("label",i,j,k,g.data.widthLimit),i.label.Y=e+8,e=i.label.Y+i.label.height,i.type&&""!==i.type.text&&(i.type.text="["+i.type.text+"]",av("type",i,j,at(ap),g.data.widthLimit),i.type.Y=e+5,e=i.type.Y+i.type.height),i.descr&&""!==i.descr.text){let a=at(ap);a.fontSize=a.fontSize-2,av("descr",i,j,a,g.data.widthLimit),i.descr.Y=e+20,e=i.descr.Y+i.descr.height}if(0==h||h%ao==0){let a=d.data.startx+ap.diagramMarginX,b=d.data.stopy+ap.diagramMarginY+e;g.setData(a,a,b,b)}else{let a=g.data.stopx!==g.data.startx?g.data.stopx+ap.diagramMarginX:g.data.startx,b=g.data.starty;g.setData(a,a,b,b)}g.name=i.alias;let l=f.db.getC4ShapeArray(i.alias),m=f.db.getC4ShapeKeys(i.alias);m.length>0&&ax(g,a,l,m),b=i.alias;let n=f.db.getBoundaries(b);n.length>0&&aC(a,b,g,n,f),"global"!==i.alias&&aw(a,i,g),d.data.stopy=Math.max(g.data.stopy+ap.c4ShapeMargin,d.data.stopy),d.data.stopx=Math.max(g.data.stopx+ap.c4ShapeMargin,d.data.stopx),al=Math.max(al,d.data.stopx),am=Math.max(am,d.data.stopy)}}(0,i.K2)(aC,"drawInsideBoundary");var aD={drawPersonOrSystemArray:ax,drawBoundary:aw,setConf:ar,draw:(0,i.K2)(function(a,b,d,e){let f;ap=(0,h.D7)().c4;let g=(0,h.D7)().securityLevel;"sandbox"===g&&(f=(0,j.Ltv)("#i"+b));let k="sandbox"===g?(0,j.Ltv)(f.nodes()[0].contentDocument.body):(0,j.Ltv)("body"),l=e.db;e.db.setWrap(ap.wrap),an=l.getC4ShapeInRow(),ao=l.getC4BoundaryInRow(),i.Rm.debug(`C:${JSON.stringify(ap,null,2)}`);let m="sandbox"===g?k.select(`[id="${b}"]`):(0,j.Ltv)(`[id="${b}"]`);ak.insertComputerIcon(m,b),ak.insertDatabaseIcon(m,b),ak.insertClockIcon(m,b);let n=new aq(e);n.setData(ap.diagramMarginX,ap.diagramMarginX,ap.diagramMarginY,ap.diagramMarginY),n.data.widthLimit=screen.availWidth,al=ap.diagramMarginX,am=ap.diagramMarginY;let o=e.db.getTitle();aC(m,"",n,e.db.getBoundaries(""),e),ak.insertArrowHead(m,b),ak.insertArrowEnd(m,b),ak.insertArrowCrossHead(m,b),ak.insertArrowFilledHead(m,b),aB(m,e.db.getRels(),e.db.getC4Shape,e,b),n.data.stopx=al,n.data.stopy=am;let p=n.data,q=p.stopy-p.starty+2*ap.diagramMarginY,r=p.stopx-p.startx+2*ap.diagramMarginX;o&&m.append("text").text(o).attr("x",(p.stopx-p.startx)/2-4*ap.diagramMarginX).attr("y",p.starty+ap.diagramMarginY),(0,h.a$)(m,q,r,ap.useMaxWidth);let s=60*!!o;m.attr("viewBox",p.startx-ap.diagramMarginX+" -"+(ap.diagramMarginY+s)+" "+r+" "+(q+s)),i.Rm.debug("models:",p)},"draw")},aE={parser:l,db:X,renderer:aD,styles:(0,i.K2)(a=>`.person {
|
|
1
|
+
"use strict";exports.id=5281,exports.ids=[5281],exports.modules={60259:(a,b,d)=>{d.d(b,{CP:()=>m,Ck:()=>p,HT:()=>o,PB:()=>n,aC:()=>l,lC:()=>j,m:()=>k,tk:()=>i});var e=d(55427),f=d(11724),g=d(8818),h=d(90055),i=(0,f.K2)((a,b)=>{let d=a.append("rect");if(d.attr("x",b.x),d.attr("y",b.y),d.attr("fill",b.fill),d.attr("stroke",b.stroke),d.attr("width",b.width),d.attr("height",b.height),b.name&&d.attr("name",b.name),b.rx&&d.attr("rx",b.rx),b.ry&&d.attr("ry",b.ry),void 0!==b.attrs)for(let a in b.attrs)d.attr(a,b.attrs[a]);return b.class&&d.attr("class",b.class),d},"drawRect"),j=(0,f.K2)((a,b)=>{i(a,{x:b.startx,y:b.starty,width:b.stopx-b.startx,height:b.stopy-b.starty,fill:b.fill,stroke:b.stroke,class:"rect"}).lower()},"drawBackgroundRect"),k=(0,f.K2)((a,b)=>{let d=b.text.replace(e.H1," "),f=a.append("text");f.attr("x",b.x),f.attr("y",b.y),f.attr("class","legend"),f.style("text-anchor",b.anchor),b.class&&f.attr("class",b.class);let g=f.append("tspan");return g.attr("x",b.x+2*b.textMargin),g.text(d),f},"drawText"),l=(0,f.K2)((a,b,d,e)=>{let f=a.append("image");f.attr("x",b),f.attr("y",d);let h=(0,g.J)(e);f.attr("xlink:href",h)},"drawImage"),m=(0,f.K2)((a,b,d,e)=>{let f=a.append("use");f.attr("x",b),f.attr("y",d);let h=(0,g.J)(e);f.attr("xlink:href",`#${h}`)},"drawEmbeddedImage"),n=(0,f.K2)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),o=(0,f.K2)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),p=(0,f.K2)(()=>{let a=(0,h.Ltv)(".mermaidTooltip");return a.empty()&&(a=(0,h.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),a},"createTooltip")},65281:(a,b,d)=>{d.d(b,{diagram:()=>aE});var e,f=d(60259),g=d(46743),h=d(55427),i=d(11724),j=d(90055),k=d(8818),l=function(){var a=(0,i.K2)(function(a,b,d,e){for(d=d||{},e=a.length;e--;d[a[e]]=b);return d},"o"),b=[1,24],d=[1,25],e=[1,26],f=[1,27],g=[1,28],h=[1,63],j=[1,64],k=[1,65],l=[1,66],m=[1,67],n=[1,68],o=[1,69],p=[1,29],q=[1,30],r=[1,31],s=[1,32],t=[1,33],u=[1,34],v=[1,35],w=[1,36],x=[1,37],y=[1,38],z=[1,39],A=[1,40],B=[1,41],C=[1,42],D=[1,43],E=[1,44],F=[1,45],G=[1,46],H=[1,47],I=[1,48],J=[1,50],K=[1,51],L=[1,52],M=[1,53],N=[1,54],O=[1,55],P=[1,56],Q=[1,57],R=[1,58],S=[1,59],T=[1,60],U=[14,42],V=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],W=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],X=[1,82],Y=[1,83],Z=[1,84],$=[1,85],_=[12,14,42],aa=[12,14,33,42],ab=[12,14,33,42,76,77,79,80],ac=[12,33],ad=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ae={trace:(0,i.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,i.K2)(function(a,b,d,e,f,g,h){var i=g.length-1;switch(f){case 3:e.setDirection("TB");break;case 4:e.setDirection("BT");break;case 5:e.setDirection("RL");break;case 6:e.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:e.setC4Type(g[i-3]);break;case 19:e.setTitle(g[i].substring(6)),this.$=g[i].substring(6);break;case 20:e.setAccDescription(g[i].substring(15)),this.$=g[i].substring(15);break;case 21:this.$=g[i].trim(),e.setTitle(this.$);break;case 22:case 23:this.$=g[i].trim(),e.setAccDescription(this.$);break;case 28:g[i].splice(2,0,"ENTERPRISE"),e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 29:g[i].splice(2,0,"SYSTEM"),e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 30:e.addPersonOrSystemBoundary(...g[i]),this.$=g[i];break;case 31:g[i].splice(2,0,"CONTAINER"),e.addContainerBoundary(...g[i]),this.$=g[i];break;case 32:e.addDeploymentNode("node",...g[i]),this.$=g[i];break;case 33:e.addDeploymentNode("nodeL",...g[i]),this.$=g[i];break;case 34:e.addDeploymentNode("nodeR",...g[i]),this.$=g[i];break;case 35:e.popBoundaryParseStack();break;case 39:e.addPersonOrSystem("person",...g[i]),this.$=g[i];break;case 40:e.addPersonOrSystem("external_person",...g[i]),this.$=g[i];break;case 41:e.addPersonOrSystem("system",...g[i]),this.$=g[i];break;case 42:e.addPersonOrSystem("system_db",...g[i]),this.$=g[i];break;case 43:e.addPersonOrSystem("system_queue",...g[i]),this.$=g[i];break;case 44:e.addPersonOrSystem("external_system",...g[i]),this.$=g[i];break;case 45:e.addPersonOrSystem("external_system_db",...g[i]),this.$=g[i];break;case 46:e.addPersonOrSystem("external_system_queue",...g[i]),this.$=g[i];break;case 47:e.addContainer("container",...g[i]),this.$=g[i];break;case 48:e.addContainer("container_db",...g[i]),this.$=g[i];break;case 49:e.addContainer("container_queue",...g[i]),this.$=g[i];break;case 50:e.addContainer("external_container",...g[i]),this.$=g[i];break;case 51:e.addContainer("external_container_db",...g[i]),this.$=g[i];break;case 52:e.addContainer("external_container_queue",...g[i]),this.$=g[i];break;case 53:e.addComponent("component",...g[i]),this.$=g[i];break;case 54:e.addComponent("component_db",...g[i]),this.$=g[i];break;case 55:e.addComponent("component_queue",...g[i]),this.$=g[i];break;case 56:e.addComponent("external_component",...g[i]),this.$=g[i];break;case 57:e.addComponent("external_component_db",...g[i]),this.$=g[i];break;case 58:e.addComponent("external_component_queue",...g[i]),this.$=g[i];break;case 60:e.addRel("rel",...g[i]),this.$=g[i];break;case 61:e.addRel("birel",...g[i]),this.$=g[i];break;case 62:e.addRel("rel_u",...g[i]),this.$=g[i];break;case 63:e.addRel("rel_d",...g[i]),this.$=g[i];break;case 64:e.addRel("rel_l",...g[i]),this.$=g[i];break;case 65:e.addRel("rel_r",...g[i]),this.$=g[i];break;case 66:e.addRel("rel_b",...g[i]),this.$=g[i];break;case 67:g[i].splice(0,1),e.addRel("rel",...g[i]),this.$=g[i];break;case 68:e.updateElStyle("update_el_style",...g[i]),this.$=g[i];break;case 69:e.updateRelStyle("update_rel_style",...g[i]),this.$=g[i];break;case 70:e.updateLayoutConfig("update_layout_config",...g[i]),this.$=g[i];break;case 71:this.$=[g[i]];break;case 72:g[i].unshift(g[i-1]),this.$=g[i];break;case 73:case 75:this.$=g[i].trim();break;case 74:let j={};j[g[i-1].trim()]=g[i].trim(),this.$=j;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:70,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:71,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:72,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{13:73,19:20,20:21,21:22,22:b,23:d,24:e,26:f,28:g,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{14:[1,74]},a(U,[2,13],{43:23,29:49,30:61,32:62,20:75,34:h,36:j,37:k,38:l,39:m,40:n,41:o,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T}),a(U,[2,14]),a(V,[2,16],{12:[1,76]}),a(U,[2,36],{12:[1,77]}),a(W,[2,19]),a(W,[2,20]),{25:[1,78]},{27:[1,79]},a(W,[2,23]),{35:80,75:81,76:X,77:Y,79:Z,80:$},{35:86,75:81,76:X,77:Y,79:Z,80:$},{35:87,75:81,76:X,77:Y,79:Z,80:$},{35:88,75:81,76:X,77:Y,79:Z,80:$},{35:89,75:81,76:X,77:Y,79:Z,80:$},{35:90,75:81,76:X,77:Y,79:Z,80:$},{35:91,75:81,76:X,77:Y,79:Z,80:$},{35:92,75:81,76:X,77:Y,79:Z,80:$},{35:93,75:81,76:X,77:Y,79:Z,80:$},{35:94,75:81,76:X,77:Y,79:Z,80:$},{35:95,75:81,76:X,77:Y,79:Z,80:$},{35:96,75:81,76:X,77:Y,79:Z,80:$},{35:97,75:81,76:X,77:Y,79:Z,80:$},{35:98,75:81,76:X,77:Y,79:Z,80:$},{35:99,75:81,76:X,77:Y,79:Z,80:$},{35:100,75:81,76:X,77:Y,79:Z,80:$},{35:101,75:81,76:X,77:Y,79:Z,80:$},{35:102,75:81,76:X,77:Y,79:Z,80:$},{35:103,75:81,76:X,77:Y,79:Z,80:$},{35:104,75:81,76:X,77:Y,79:Z,80:$},a(_,[2,59]),{35:105,75:81,76:X,77:Y,79:Z,80:$},{35:106,75:81,76:X,77:Y,79:Z,80:$},{35:107,75:81,76:X,77:Y,79:Z,80:$},{35:108,75:81,76:X,77:Y,79:Z,80:$},{35:109,75:81,76:X,77:Y,79:Z,80:$},{35:110,75:81,76:X,77:Y,79:Z,80:$},{35:111,75:81,76:X,77:Y,79:Z,80:$},{35:112,75:81,76:X,77:Y,79:Z,80:$},{35:113,75:81,76:X,77:Y,79:Z,80:$},{35:114,75:81,76:X,77:Y,79:Z,80:$},{35:115,75:81,76:X,77:Y,79:Z,80:$},{20:116,29:49,30:61,32:62,34:h,36:j,37:k,38:l,39:m,40:n,41:o,43:23,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T},{12:[1,118],33:[1,117]},{35:119,75:81,76:X,77:Y,79:Z,80:$},{35:120,75:81,76:X,77:Y,79:Z,80:$},{35:121,75:81,76:X,77:Y,79:Z,80:$},{35:122,75:81,76:X,77:Y,79:Z,80:$},{35:123,75:81,76:X,77:Y,79:Z,80:$},{35:124,75:81,76:X,77:Y,79:Z,80:$},{35:125,75:81,76:X,77:Y,79:Z,80:$},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(U,[2,15]),a(V,[2,17],{21:22,19:130,22:b,23:d,24:e,26:f,28:g}),a(U,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:b,23:d,24:e,26:f,28:g,34:h,36:j,37:k,38:l,39:m,40:n,41:o,44:p,45:q,46:r,47:s,48:t,49:u,50:v,51:w,52:x,53:y,54:z,55:A,56:B,57:C,58:D,59:E,60:F,61:G,62:H,63:I,64:J,65:K,66:L,67:M,68:N,69:O,70:P,71:Q,72:R,73:S,74:T}),a(W,[2,21]),a(W,[2,22]),a(_,[2,39]),a(aa,[2,71],{75:81,35:132,76:X,77:Y,79:Z,80:$}),a(ab,[2,73]),{78:[1,133]},a(ab,[2,75]),a(ab,[2,76]),a(_,[2,40]),a(_,[2,41]),a(_,[2,42]),a(_,[2,43]),a(_,[2,44]),a(_,[2,45]),a(_,[2,46]),a(_,[2,47]),a(_,[2,48]),a(_,[2,49]),a(_,[2,50]),a(_,[2,51]),a(_,[2,52]),a(_,[2,53]),a(_,[2,54]),a(_,[2,55]),a(_,[2,56]),a(_,[2,57]),a(_,[2,58]),a(_,[2,60]),a(_,[2,61]),a(_,[2,62]),a(_,[2,63]),a(_,[2,64]),a(_,[2,65]),a(_,[2,66]),a(_,[2,67]),a(_,[2,68]),a(_,[2,69]),a(_,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(ac,[2,28]),a(ac,[2,29]),a(ac,[2,30]),a(ac,[2,31]),a(ac,[2,32]),a(ac,[2,33]),a(ac,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(V,[2,18]),a(U,[2,38]),a(aa,[2,72]),a(ab,[2,74]),a(_,[2,24]),a(_,[2,35]),a(ad,[2,25]),a(ad,[2,26],{12:[1,138]}),a(ad,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,i.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var d=Error(a);throw d.hash=b,d}},"parseError"),parse:(0,i.K2)(function(a){var b=this,d=[0],e=[],f=[null],g=[],h=this.table,j="",k=0,l=0,m=0,n=g.slice.call(arguments,1),o=Object.create(this.lexer),p={};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&(p[q]=this.yy[q]);o.setInput(a,p),p.lexer=o,p.parser=this,void 0===o.yylloc&&(o.yylloc={});var r=o.yylloc;g.push(r);var s=o.options&&o.options.ranges;function t(){var a;return"number"!=typeof(a=e.pop()||o.lex()||1)&&(a instanceof Array&&(a=(e=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.K2)(function(a){d.length=d.length-2*a,f.length=f.length-a,g.length=g.length-a},"popStack"),(0,i.K2)(t,"lex");for(var u,v,w,x,y,z,A,B,C,D={};;){if(w=d[d.length-1],this.defaultActions[w]?x=this.defaultActions[w]:(null==u&&(u=t()),x=h[w]&&h[w][u]),void 0===x||!x.length||!x[0]){var E="";for(z in C=[],h[w])this.terminals_[z]&&z>2&&C.push("'"+this.terminals_[z]+"'");E=o.showPosition?"Parse error on line "+(k+1)+":\n"+o.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[u]||u)+"'":"Parse error on line "+(k+1)+": Unexpected "+(1==u?"end of input":"'"+(this.terminals_[u]||u)+"'"),this.parseError(E,{text:o.match,token:this.terminals_[u]||u,line:o.yylineno,loc:r,expected:C})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+w+", token: "+u);switch(x[0]){case 1:d.push(u),f.push(o.yytext),g.push(o.yylloc),d.push(x[1]),u=null,v?(u=v,v=null):(l=o.yyleng,j=o.yytext,k=o.yylineno,r=o.yylloc,m>0&&m--);break;case 2:if(A=this.productions_[x[1]][1],D.$=f[f.length-A],D._$={first_line:g[g.length-(A||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(A||1)].first_column,last_column:g[g.length-1].last_column},s&&(D._$.range=[g[g.length-(A||1)].range[0],g[g.length-1].range[1]]),void 0!==(y=this.performAction.apply(D,[j,l,k,p,x[1],f,g].concat(n))))return y;A&&(d=d.slice(0,-1*A*2),f=f.slice(0,-1*A),g=g.slice(0,-1*A)),d.push(this.productions_[x[1]][0]),f.push(D.$),g.push(D._$),B=h[d[d.length-2]][d[d.length-1]],d.push(B);break;case 3:return!0}}return!0},"parse")};function af(){this.yy={}}return ae.lexer={EOF:1,parseError:(0,i.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,i.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,i.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,i.K2)(function(a){var b=a.length,d=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var e=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===e.length?this.yylloc.first_column:0)+e[e.length-d.length].length-d[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,i.K2)(function(){return this._more=!0,this},"more"),reject:(0,i.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,i.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,i.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,i.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,i.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,i.K2)(function(a,b){var d,e,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),(e=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],d=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack)for(var g in f)this[g]=f[g];return!1},"test_match"),next:(0,i.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,d,e,f=this._currentRules(),g=0;g<f.length;g++)if((d=this._input.match(this.rules[f[g]]))&&(!b||d[0].length>b[0].length)){if(b=d,e=g,this.options.backtrack_lexer){if(!1!==(a=this.test_match(d,f[g])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,f[e]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,i.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,i.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,i.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,i.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,i.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,i.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,i.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,i.K2)(function(a,b,d,e){switch(d){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},(0,i.K2)(af,"Parser"),af.prototype=ae,ae.Parser=af,new af}();l.parser=l;var m=[],n=[""],o="global",p="",q=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],r=[],s="",t=!1,u=4,v=2,w=(0,i.K2)(function(){return e},"getC4Type"),x=(0,i.K2)(function(a){e=(0,h.jZ)(a,(0,h.D7)())},"setC4Type"),y=(0,i.K2)(function(a,b,d,e,f,g,h,i,j){if(null==a||null==b||null==d||null==e)return;let k={},l=r.find(a=>a.from===b&&a.to===d);if(l?k=l:r.push(k),k.type=a,k.from=b,k.to=d,k.label={text:e},null==f)k.techn={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];k[a]={text:b}}else k.techn={text:f};if(null==g)k.descr={text:""};else if("object"==typeof g){let[a,b]=Object.entries(g)[0];k[a]={text:b}}else k.descr={text:g};if("object"==typeof h){let[a,b]=Object.entries(h)[0];k[a]=b}else k.sprite=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];k[a]=b}else k.tags=i;if("object"==typeof j){let[a,b]=Object.entries(j)[0];k[a]=b}else k.link=j;k.wrap=U()},"addRel"),z=(0,i.K2)(function(a,b,d,e,f,g,h){if(null===b||null===d)return;let i={},j=m.find(a=>a.alias===b);if(j&&b===j.alias?i=j:(i.alias=b,m.push(i)),null==d?i.label={text:""}:i.label={text:d},null==e)i.descr={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];i[a]={text:b}}else i.descr={text:e};if("object"==typeof f){let[a,b]=Object.entries(f)[0];i[a]=b}else i.sprite=f;if("object"==typeof g){let[a,b]=Object.entries(g)[0];i[a]=b}else i.tags=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];i[a]=b}else i.link=h;i.typeC4Shape={text:a},i.parentBoundary=o,i.wrap=U()},"addPersonOrSystem"),A=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=m.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,m.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.techn={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.techn={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof g){let[a,b]=Object.entries(g)[0];j[a]=b}else j.sprite=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.wrap=U(),j.typeC4Shape={text:a},j.parentBoundary=o},"addContainer"),B=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=m.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,m.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.techn={text:""};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.techn={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof g){let[a,b]=Object.entries(g)[0];j[a]=b}else j.sprite=g;if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.wrap=U(),j.typeC4Shape={text:a},j.parentBoundary=o},"addComponent"),C=(0,i.K2)(function(a,b,d,e,f){if(null===a||null===b)return;let g={},h=q.find(b=>b.alias===a);if(h&&a===h.alias?g=h:(g.alias=a,q.push(g)),null==b?g.label={text:""}:g.label={text:b},null==d)g.type={text:"system"};else if("object"==typeof d){let[a,b]=Object.entries(d)[0];g[a]={text:b}}else g.type={text:d};if("object"==typeof e){let[a,b]=Object.entries(e)[0];g[a]=b}else g.tags=e;if("object"==typeof f){let[a,b]=Object.entries(f)[0];g[a]=b}else g.link=f;g.parentBoundary=o,g.wrap=U(),p=o,o=a,n.push(p)},"addPersonOrSystemBoundary"),D=(0,i.K2)(function(a,b,d,e,f){if(null===a||null===b)return;let g={},h=q.find(b=>b.alias===a);if(h&&a===h.alias?g=h:(g.alias=a,q.push(g)),null==b?g.label={text:""}:g.label={text:b},null==d)g.type={text:"container"};else if("object"==typeof d){let[a,b]=Object.entries(d)[0];g[a]={text:b}}else g.type={text:d};if("object"==typeof e){let[a,b]=Object.entries(e)[0];g[a]=b}else g.tags=e;if("object"==typeof f){let[a,b]=Object.entries(f)[0];g[a]=b}else g.link=f;g.parentBoundary=o,g.wrap=U(),p=o,o=a,n.push(p)},"addContainerBoundary"),E=(0,i.K2)(function(a,b,d,e,f,g,h,i){if(null===b||null===d)return;let j={},k=q.find(a=>a.alias===b);if(k&&b===k.alias?j=k:(j.alias=b,q.push(j)),null==d?j.label={text:""}:j.label={text:d},null==e)j.type={text:"node"};else if("object"==typeof e){let[a,b]=Object.entries(e)[0];j[a]={text:b}}else j.type={text:e};if(null==f)j.descr={text:""};else if("object"==typeof f){let[a,b]=Object.entries(f)[0];j[a]={text:b}}else j.descr={text:f};if("object"==typeof h){let[a,b]=Object.entries(h)[0];j[a]=b}else j.tags=h;if("object"==typeof i){let[a,b]=Object.entries(i)[0];j[a]=b}else j.link=i;j.nodeType=a,j.parentBoundary=o,j.wrap=U(),p=o,o=b,n.push(p)},"addDeploymentNode"),F=(0,i.K2)(function(){o=p,n.pop(),p=n.pop(),n.push(p)},"popBoundaryParseStack"),G=(0,i.K2)(function(a,b,d,e,f,g,h,i,j,k,l){let n=m.find(a=>a.alias===b);if(void 0!==n||void 0!==(n=q.find(a=>a.alias===b))){if(null!=d)if("object"==typeof d){let[a,b]=Object.entries(d)[0];n[a]=b}else n.bgColor=d;if(null!=e)if("object"==typeof e){let[a,b]=Object.entries(e)[0];n[a]=b}else n.fontColor=e;if(null!=f)if("object"==typeof f){let[a,b]=Object.entries(f)[0];n[a]=b}else n.borderColor=f;if(null!=g)if("object"==typeof g){let[a,b]=Object.entries(g)[0];n[a]=b}else n.shadowing=g;if(null!=h)if("object"==typeof h){let[a,b]=Object.entries(h)[0];n[a]=b}else n.shape=h;if(null!=i)if("object"==typeof i){let[a,b]=Object.entries(i)[0];n[a]=b}else n.sprite=i;if(null!=j)if("object"==typeof j){let[a,b]=Object.entries(j)[0];n[a]=b}else n.techn=j;if(null!=k)if("object"==typeof k){let[a,b]=Object.entries(k)[0];n[a]=b}else n.legendText=k;if(null!=l)if("object"==typeof l){let[a,b]=Object.entries(l)[0];n[a]=b}else n.legendSprite=l}},"updateElStyle"),H=(0,i.K2)(function(a,b,d,e,f,g,h){let i=r.find(a=>a.from===b&&a.to===d);if(void 0!==i){if(null!=e)if("object"==typeof e){let[a,b]=Object.entries(e)[0];i[a]=b}else i.textColor=e;if(null!=f)if("object"==typeof f){let[a,b]=Object.entries(f)[0];i[a]=b}else i.lineColor=f;if(null!=g)if("object"==typeof g){let[a,b]=Object.entries(g)[0];i[a]=parseInt(b)}else i.offsetX=parseInt(g);if(null!=h)if("object"==typeof h){let[a,b]=Object.entries(h)[0];i[a]=parseInt(b)}else i.offsetY=parseInt(h)}},"updateRelStyle"),I=(0,i.K2)(function(a,b,d){let e=u,f=v;e="object"==typeof b?parseInt(Object.values(b)[0]):parseInt(b),f="object"==typeof d?parseInt(Object.values(d)[0]):parseInt(d),e>=1&&(u=e),f>=1&&(v=f)},"updateLayoutConfig"),J=(0,i.K2)(function(){return u},"getC4ShapeInRow"),K=(0,i.K2)(function(){return v},"getC4BoundaryInRow"),L=(0,i.K2)(function(){return o},"getCurrentBoundaryParse"),M=(0,i.K2)(function(){return p},"getParentBoundaryParse"),N=(0,i.K2)(function(a){return null==a?m:m.filter(b=>b.parentBoundary===a)},"getC4ShapeArray"),O=(0,i.K2)(function(a){return m.find(b=>b.alias===a)},"getC4Shape"),P=(0,i.K2)(function(a){return Object.keys(N(a))},"getC4ShapeKeys"),Q=(0,i.K2)(function(a){return null==a?q:q.filter(b=>b.parentBoundary===a)},"getBoundaries"),R=(0,i.K2)(function(){return r},"getRels"),S=(0,i.K2)(function(){return s},"getTitle"),T=(0,i.K2)(function(a){t=a},"setWrap"),U=(0,i.K2)(function(){return t},"autoWrap"),V=(0,i.K2)(function(){m=[],q=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],p="",o="global",n=[""],r=[],n=[""],s="",t=!1,u=4,v=2},"clear"),W=(0,i.K2)(function(a){s=(0,h.jZ)(a,(0,h.D7)())},"setTitle"),X={addPersonOrSystem:z,addPersonOrSystemBoundary:C,addContainer:A,addContainerBoundary:D,addComponent:B,addDeploymentNode:E,popBoundaryParseStack:F,addRel:y,updateElStyle:G,updateRelStyle:H,updateLayoutConfig:I,autoWrap:U,setWrap:T,getC4ShapeArray:N,getC4Shape:O,getC4ShapeKeys:P,getBoundaries:Q,getBoundarys:Q,getCurrentBoundaryParse:L,getParentBoundaryParse:M,getRels:R,getTitle:S,getC4Type:w,getC4ShapeInRow:J,getC4BoundaryInRow:K,setAccTitle:h.SV,getAccTitle:h.iN,getAccDescription:h.m7,setAccDescription:h.EI,getConfig:(0,i.K2)(()=>(0,h.D7)().c4,"getConfig"),clear:V,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:W,setC4Type:x},Y=(0,i.K2)(function(a,b){return(0,f.tk)(a,b)},"drawRect"),Z=(0,i.K2)(function(a,b,d,e,f,g){let h=a.append("image");h.attr("width",b),h.attr("height",d),h.attr("x",e),h.attr("y",f);let i=g.startsWith("data:image/png;base64")?g:(0,k.J)(g);h.attr("xlink:href",i)},"drawImage"),$=(0,i.K2)((a,b,d,e)=>{let f=a.append("g"),g=0;for(let a of b){let b=a.textColor?a.textColor:"#444444",h=a.lineColor?a.lineColor:"#444444",i=a.offsetX?parseInt(a.offsetX):0,j=a.offsetY?parseInt(a.offsetY):0;if(0===g){let b=f.append("line");b.attr("x1",a.startPoint.x),b.attr("y1",a.startPoint.y),b.attr("x2",a.endPoint.x),b.attr("y2",a.endPoint.y),b.attr("stroke-width","1"),b.attr("stroke",h),b.style("fill","none"),"rel_b"!==a.type&&b.attr("marker-end","url(#"+e+"-arrowhead)"),("birel"===a.type||"rel_b"===a.type)&&b.attr("marker-start","url(#"+e+"-arrowend)"),g=-1}else{let b=f.append("path");b.attr("fill","none").attr("stroke-width","1").attr("stroke",h).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),"rel_b"!==a.type&&b.attr("marker-end","url(#"+e+"-arrowhead)"),("birel"===a.type||"rel_b"===a.type)&&b.attr("marker-start","url(#"+e+"-arrowend)")}let k=d.messageFont();aj(d)(a.label.text,f,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+j,a.label.width,a.label.height,{fill:b},k),a.techn&&""!==a.techn.text&&(k=d.messageFont(),aj(d)("["+a.techn.text+"]",f,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+d.messageFontSize+5+j,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:b,"font-style":"italic"},k))}},"drawRels"),_=(0,i.K2)(function(a,b,d){let e=a.append("g"),f=b.bgColor?b.bgColor:"none",g=b.borderColor?b.borderColor:"#444444",h=b.fontColor?b.fontColor:"black",i={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};b.nodeType&&(i={"stroke-width":1}),Y(e,{x:b.x,y:b.y,fill:f,stroke:g,width:b.width,height:b.height,rx:2.5,ry:2.5,attrs:i});let j=d.boundaryFont();j.fontWeight="bold",j.fontSize=j.fontSize+2,j.fontColor=h,aj(d)(b.label.text,e,b.x,b.y+b.label.Y,b.width,b.height,{fill:"#444444"},j),b.type&&""!==b.type.text&&((j=d.boundaryFont()).fontColor=h,aj(d)(b.type.text,e,b.x,b.y+b.type.Y,b.width,b.height,{fill:"#444444"},j)),b.descr&&""!==b.descr.text&&((j=d.boundaryFont()).fontSize=j.fontSize-2,j.fontColor=h,aj(d)(b.descr.text,e,b.x,b.y+b.descr.Y,b.width,b.height,{fill:"#444444"},j))},"drawBoundary"),aa=(0,i.K2)(function(a,b,d){let e=b.bgColor?b.bgColor:d[b.typeC4Shape.text+"_bg_color"],g=b.borderColor?b.borderColor:d[b.typeC4Shape.text+"_border_color"],h=b.fontColor?b.fontColor:"#FFFFFF",i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(b.typeC4Shape.text){case"person":i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}let j=a.append("g");j.attr("class","person-man");let k=(0,f.PB)();switch(b.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":k.x=b.x,k.y=b.y,k.fill=e,k.width=b.width,k.height=b.height,k.stroke=g,k.rx=2.5,k.ry=2.5,k.attrs={"stroke-width":.5},Y(j,k);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":j.append("path").attr("fill",e).attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("half",b.width/2).replaceAll("height",b.height)),j.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("half",b.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":j.append("path").attr("fill",e).attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",b.x).replaceAll("starty",b.y).replaceAll("width",b.width).replaceAll("half",b.height/2)),j.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",g).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",b.x+b.width).replaceAll("starty",b.y).replaceAll("half",b.height/2))}let l=ai(d,b.typeC4Shape.text);switch(j.append("text").attr("fill",h).attr("font-family",l.fontFamily).attr("font-size",l.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",b.typeC4Shape.width).attr("x",b.x+b.width/2-b.typeC4Shape.width/2).attr("y",b.y+b.typeC4Shape.Y).text("<<"+b.typeC4Shape.text+">>"),b.typeC4Shape.text){case"person":case"external_person":Z(j,48,48,b.x+b.width/2-24,b.y+b.image.Y,i)}let m=d[b.typeC4Shape.text+"Font"]();return m.fontWeight="bold",m.fontSize=m.fontSize+2,m.fontColor=h,aj(d)(b.label.text,j,b.x,b.y+b.label.Y,b.width,b.height,{fill:h},m),(m=d[b.typeC4Shape.text+"Font"]()).fontColor=h,b.techn&&b.techn?.text!==""?aj(d)(b.techn.text,j,b.x,b.y+b.techn.Y,b.width,b.height,{fill:h,"font-style":"italic"},m):b.type&&""!==b.type.text&&aj(d)(b.type.text,j,b.x,b.y+b.type.Y,b.width,b.height,{fill:h,"font-style":"italic"},m),b.descr&&""!==b.descr.text&&((m=d.personFont()).fontColor=h,aj(d)(b.descr.text,j,b.x,b.y+b.descr.Y,b.width,b.height,{fill:h},m)),b.height},"drawC4Shape"),ab=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ac=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ad=(0,i.K2)(function(a,b){a.append("defs").append("symbol").attr("id",b+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),ae=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),af=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),ag=(0,i.K2)(function(a,b){a.append("defs").append("marker").attr("id",b+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ah=(0,i.K2)(function(a,b){let d=a.append("defs").append("marker").attr("id",b+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);d.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),d.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),ai=(0,i.K2)((a,b)=>({fontFamily:a[b+"FontFamily"],fontSize:a[b+"FontSize"],fontWeight:a[b+"FontWeight"]}),"getC4ShapeFont"),aj=function(){function a(a,b,d,f,g,h,i){e(b.append("text").attr("x",d+g/2).attr("y",f+h/2+5).style("text-anchor","middle").text(a),i)}function b(a,b,d,f,g,i,j,k){let{fontSize:l,fontFamily:m,fontWeight:n}=k,o=a.split(h.Y2.lineBreakRegex);for(let a=0;a<o.length;a++){let h=a*l-l*(o.length-1)/2,i=b.append("text").attr("x",d+g/2).attr("y",f).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",l).style("font-weight",n).style("font-family",m);i.append("tspan").attr("dy",h).text(o[a]).attr("alignment-baseline","mathematical"),e(i,j)}}function d(a,d,f,g,h,i,j,k){let l=d.append("switch"),m=l.append("foreignObject").attr("x",f).attr("y",g).attr("width",h).attr("height",i).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(a),b(a,l,f,g,h,i,j,k),e(m,j)}function e(a,b){for(let d in b)b.hasOwnProperty(d)&&a.attr(d,b[d])}return(0,i.K2)(a,"byText"),(0,i.K2)(b,"byTspan"),(0,i.K2)(d,"byFo"),(0,i.K2)(e,"_setTextAttrs"),function(e){return"fo"===e.textPlacement?d:"old"===e.textPlacement?a:b}}(),ak={drawBoundary:_,drawC4Shape:aa,drawRels:$,insertArrowHead:ae,insertArrowEnd:af,insertArrowFilledHead:ag,insertArrowCrossHead:ah,insertDatabaseIcon:ab,insertComputerIcon:ac,insertClockIcon:ad},al=0,am=0,an=4,ao=2;l.yy=X;var ap={},aq=class{static{(0,i.K2)(this,"Bounds")}constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,ar(a.db.getConfig())}setData(a,b,d,e){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=b,this.nextData.starty=this.data.starty=d,this.nextData.stopy=this.data.stopy=e}updateVal(a,b,d,e){void 0===a[b]?a[b]=d:a[b]=e(d,a[b])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let b=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+2*a.margin,d=b+a.width,e=this.nextData.starty+2*a.margin,f=e+a.height;(b>=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>an)&&(b=this.nextData.startx+a.margin+ap.nextLinePaddingX,e=this.nextData.stopy+2*a.margin,this.nextData.stopx=d=b+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=f=e+a.height,this.nextData.cnt=1),a.x=b,a.y=e,this.updateVal(this.data,"startx",b,Math.min),this.updateVal(this.data,"starty",e,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",f,Math.max),this.updateVal(this.nextData,"startx",b,Math.min),this.updateVal(this.nextData,"starty",e,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",f,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ar(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}},ar=(0,i.K2)(function(a){(0,h.hH)(ap,a),a.fontFamily&&(ap.personFontFamily=ap.systemFontFamily=ap.messageFontFamily=a.fontFamily),a.fontSize&&(ap.personFontSize=ap.systemFontSize=ap.messageFontSize=a.fontSize),a.fontWeight&&(ap.personFontWeight=ap.systemFontWeight=ap.messageFontWeight=a.fontWeight)},"setConf"),as=(0,i.K2)((a,b)=>({fontFamily:a[b+"FontFamily"],fontSize:a[b+"FontSize"],fontWeight:a[b+"FontWeight"]}),"c4ShapeFont"),at=(0,i.K2)(a=>({fontFamily:a.boundaryFontFamily,fontSize:a.boundaryFontSize,fontWeight:a.boundaryFontWeight}),"boundaryFont"),au=(0,i.K2)(a=>({fontFamily:a.messageFontFamily,fontSize:a.messageFontSize,fontWeight:a.messageFontWeight}),"messageFont");function av(a,b,d,e,f){if(!b[a].width)if(d)b[a].text=(0,g.bH)(b[a].text,f,e),b[a].textLines=b[a].text.split(h.Y2.lineBreakRegex).length,b[a].width=f,b[a].height=(0,g.ru)(b[a].text,e);else{let d=b[a].text.split(h.Y2.lineBreakRegex);b[a].textLines=d.length;let f=0;for(let h of(b[a].height=0,b[a].width=0,d))b[a].width=Math.max((0,g.Un)(h,e),b[a].width),f=(0,g.ru)(h,e),b[a].height=b[a].height+f}}(0,i.K2)(av,"calcC4ShapeTextWH");var aw=(0,i.K2)(function(a,b,d){b.x=d.data.startx,b.y=d.data.starty,b.width=d.data.stopx-d.data.startx,b.height=d.data.stopy-d.data.starty,b.label.y=ap.c4ShapeMargin-35;let e=b.wrap&&ap.wrap,f=at(ap);f.fontSize=f.fontSize+2,f.fontWeight="bold";let h=(0,g.Un)(b.label.text,f);av("label",b,e,f,h),ak.drawBoundary(a,b,ap)},"drawBoundary"),ax=(0,i.K2)(function(a,b,d,e){let f=0;for(let h of e){f=0;let e=d[h],i=as(ap,e.typeC4Shape.text);switch(i.fontSize=i.fontSize-2,e.typeC4Shape.width=(0,g.Un)("\xab"+e.typeC4Shape.text+"\xbb",i),e.typeC4Shape.height=i.fontSize+2,e.typeC4Shape.Y=ap.c4ShapePadding,f=e.typeC4Shape.Y+e.typeC4Shape.height-4,e.image={width:0,height:0,Y:0},e.typeC4Shape.text){case"person":case"external_person":e.image.width=48,e.image.height=48,e.image.Y=f,f=e.image.Y+e.image.height}e.sprite&&(e.image.width=48,e.image.height=48,e.image.Y=f,f=e.image.Y+e.image.height);let j=e.wrap&&ap.wrap,k=ap.width-2*ap.c4ShapePadding,l=as(ap,e.typeC4Shape.text);if(l.fontSize=l.fontSize+2,l.fontWeight="bold",av("label",e,j,l,k),e.label.Y=f+8,f=e.label.Y+e.label.height,e.type&&""!==e.type.text){e.type.text="["+e.type.text+"]";let a=as(ap,e.typeC4Shape.text);av("type",e,j,a,k),e.type.Y=f+5,f=e.type.Y+e.type.height}else if(e.techn&&""!==e.techn.text){e.techn.text="["+e.techn.text+"]";let a=as(ap,e.techn.text);av("techn",e,j,a,k),e.techn.Y=f+5,f=e.techn.Y+e.techn.height}let m=f,n=e.label.width;if(e.descr&&""!==e.descr.text){let a=as(ap,e.typeC4Shape.text);av("descr",e,j,a,k),e.descr.Y=f+20,f=e.descr.Y+e.descr.height,n=Math.max(e.label.width,e.descr.width),m=f-5*e.descr.textLines}n+=ap.c4ShapePadding,e.width=Math.max(e.width||ap.width,n,ap.width),e.height=Math.max(e.height||ap.height,m,ap.height),e.margin=e.margin||ap.c4ShapeMargin,a.insert(e),ak.drawC4Shape(b,e,ap)}a.bumpLastMargin(ap.c4ShapeMargin)},"drawC4ShapeArray"),ay=class{static{(0,i.K2)(this,"Point")}constructor(a,b){this.x=a,this.y=b}},az=(0,i.K2)(function(a,b){let d=a.x,e=a.y,f=b.x,g=b.y,h=d+a.width/2,i=e+a.height/2,j=Math.abs(d-f),k=Math.abs(e-g),l=k/j,m=a.height/a.width,n=null;return e==g&&d<f?n=new ay(d+a.width,i):e==g&&d>f?n=new ay(d,i):d==f&&e<g?n=new ay(h,e+a.height):d==f&&e>g&&(n=new ay(h,e)),d>f&&e<g?n=m>=l?new ay(d,i+l*a.width/2):new ay(h-j/k*a.height/2,e+a.height):d<f&&e<g?n=m>=l?new ay(d+a.width,i+l*a.width/2):new ay(h+j/k*a.height/2,e+a.height):d<f&&e>g?n=m>=l?new ay(d+a.width,i-l*a.width/2):new ay(h+a.height/2*j/k,e):d>f&&e>g&&(n=m>=l?new ay(d,i-a.width/2*l):new ay(h-a.height/2*j/k,e)),n},"getIntersectPoint"),aA=(0,i.K2)(function(a,b){let d={x:0,y:0};d.x=b.x+b.width/2,d.y=b.y+b.height/2;let e=az(a,d);return d.x=a.x+a.width/2,d.y=a.y+a.height/2,{startPoint:e,endPoint:az(b,d)}},"getIntersectPoints"),aB=(0,i.K2)(function(a,b,d,e,f){let h=0;for(let a of b){h+=1;let b=a.wrap&&ap.wrap,f=au(ap);"C4Dynamic"===e.db.getC4Type()&&(a.label.text=h+": "+a.label.text);let i=(0,g.Un)(a.label.text,f);av("label",a,b,f,i),a.techn&&""!==a.techn.text&&(i=(0,g.Un)(a.techn.text,f),av("techn",a,b,f,i)),a.descr&&""!==a.descr.text&&(i=(0,g.Un)(a.descr.text,f),av("descr",a,b,f,i));let j=aA(d(a.from),d(a.to));a.startPoint=j.startPoint,a.endPoint=j.endPoint}ak.drawRels(a,b,ap,f)},"drawRels");function aC(a,b,d,e,f){let g=new aq(f);for(let[h,i]of(g.data.widthLimit=d.data.widthLimit/Math.min(ao,e.length),e.entries())){let e=0;i.image={width:0,height:0,Y:0},i.sprite&&(i.image.width=48,i.image.height=48,i.image.Y=e,e=i.image.Y+i.image.height);let j=i.wrap&&ap.wrap,k=at(ap);if(k.fontSize=k.fontSize+2,k.fontWeight="bold",av("label",i,j,k,g.data.widthLimit),i.label.Y=e+8,e=i.label.Y+i.label.height,i.type&&""!==i.type.text&&(i.type.text="["+i.type.text+"]",av("type",i,j,at(ap),g.data.widthLimit),i.type.Y=e+5,e=i.type.Y+i.type.height),i.descr&&""!==i.descr.text){let a=at(ap);a.fontSize=a.fontSize-2,av("descr",i,j,a,g.data.widthLimit),i.descr.Y=e+20,e=i.descr.Y+i.descr.height}if(0==h||h%ao==0){let a=d.data.startx+ap.diagramMarginX,b=d.data.stopy+ap.diagramMarginY+e;g.setData(a,a,b,b)}else{let a=g.data.stopx!==g.data.startx?g.data.stopx+ap.diagramMarginX:g.data.startx,b=g.data.starty;g.setData(a,a,b,b)}g.name=i.alias;let l=f.db.getC4ShapeArray(i.alias),m=f.db.getC4ShapeKeys(i.alias);m.length>0&&ax(g,a,l,m),b=i.alias;let n=f.db.getBoundaries(b);n.length>0&&aC(a,b,g,n,f),"global"!==i.alias&&aw(a,i,g),d.data.stopy=Math.max(g.data.stopy+ap.c4ShapeMargin,d.data.stopy),d.data.stopx=Math.max(g.data.stopx+ap.c4ShapeMargin,d.data.stopx),al=Math.max(al,d.data.stopx),am=Math.max(am,d.data.stopy)}}(0,i.K2)(aC,"drawInsideBoundary");var aD={drawPersonOrSystemArray:ax,drawBoundary:aw,setConf:ar,draw:(0,i.K2)(function(a,b,d,e){let f;ap=(0,h.D7)().c4;let g=(0,h.D7)().securityLevel;"sandbox"===g&&(f=(0,j.Ltv)("#i"+b));let k="sandbox"===g?(0,j.Ltv)(f.nodes()[0].contentDocument.body):(0,j.Ltv)("body"),l=e.db;e.db.setWrap(ap.wrap),an=l.getC4ShapeInRow(),ao=l.getC4BoundaryInRow(),i.Rm.debug(`C:${JSON.stringify(ap,null,2)}`);let m="sandbox"===g?k.select(`[id="${b}"]`):(0,j.Ltv)(`[id="${b}"]`);ak.insertComputerIcon(m,b),ak.insertDatabaseIcon(m,b),ak.insertClockIcon(m,b);let n=new aq(e);n.setData(ap.diagramMarginX,ap.diagramMarginX,ap.diagramMarginY,ap.diagramMarginY),n.data.widthLimit=screen.availWidth,al=ap.diagramMarginX,am=ap.diagramMarginY;let o=e.db.getTitle();aC(m,"",n,e.db.getBoundaries(""),e),ak.insertArrowHead(m,b),ak.insertArrowEnd(m,b),ak.insertArrowCrossHead(m,b),ak.insertArrowFilledHead(m,b),aB(m,e.db.getRels(),e.db.getC4Shape,e,b),n.data.stopx=al,n.data.stopy=am;let p=n.data,q=p.stopy-p.starty+2*ap.diagramMarginY,r=p.stopx-p.startx+2*ap.diagramMarginX;o&&m.append("text").text(o).attr("x",(p.stopx-p.startx)/2-4*ap.diagramMarginX).attr("y",p.starty+ap.diagramMarginY),(0,h.a$)(m,q,r,ap.useMaxWidth);let s=60*!!o;m.attr("viewBox",p.startx-ap.diagramMarginX+" -"+(ap.diagramMarginY+s)+" "+r+" "+(q+s)),i.Rm.debug("models:",p)},"draw")},aE={parser:l,db:X,renderer:aD,styles:(0,i.K2)(a=>`.person {
|
|
2
2
|
stroke: ${a.personBorder};
|
|
3
3
|
fill: ${a.personBkg};
|
|
4
4
|
}
|
|
5
|
-
`,"getStyles"),init:(0,i.K2)(({c4:a,wrap:b})=>{aD.setConf(a),X.setWrap(b)},"init")}}
|
|
5
|
+
`,"getStyles"),init:(0,i.K2)(({c4:a,wrap:b})=>{aD.setConf(a),X.setWrap(b)},"init")}}};
|