9remote 2.5.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -172
- package/dist/assets/trayIcon.ico +0 -0
- package/dist/cli.cjs +102 -101
- package/dist/ptyDaemon.cjs +10 -9
- package/dist/server.cjs +307 -139
- package/dist/ui/agents/codex.svg +1 -1
- package/dist/ui/assets/index-CAvf0VPf.css +1 -0
- package/dist/ui/assets/index-EXcI2V_p.js +8 -0
- package/dist/ui/favicon.ico +0 -0
- package/dist/ui/index.html +12 -4
- package/dist/vendor/scrcpy-server-v3.1 +0 -0
- package/dist/web/404.html +1 -0
- package/dist/web/__next.__PAGE__.txt +9 -0
- package/dist/web/__next._full.txt +25 -0
- package/dist/web/__next._head.txt +6 -0
- package/dist/web/__next._index.txt +10 -0
- package/dist/web/__next._tree.txt +5 -0
- package/dist/web/_next/static/AUHtJgkYALYyNwHop9pgT/_buildManifest.js +1 -0
- package/dist/web/_next/static/AUHtJgkYALYyNwHop9pgT/_ssgManifest.js +1 -0
- package/dist/web/_next/static/chunks/0a7753a9.4cb02a98e2e453b9.js +1 -0
- package/dist/web/_next/static/chunks/1222.aa4f7f7f397533e9.js +1 -0
- package/dist/web/_next/static/chunks/1228.d291278320bca9ca.js +1 -0
- package/dist/web/_next/static/chunks/1243.f35c2e6494079e05.js +1 -0
- package/dist/web/_next/static/chunks/1311.8c6b8930e22ceea0.js +1 -0
- package/dist/web/_next/static/chunks/132.6032826021079bce.js +1 -0
- package/dist/web/_next/static/chunks/133.1106654a28b5afda.js +1 -0
- package/dist/web/_next/static/chunks/1385.086b560acb0d7a68.js +115 -0
- package/dist/web/_next/static/chunks/1642.cac26d30ac331cb4.js +1 -0
- package/dist/web/_next/static/chunks/1733.f06c240b3ef8a428.js +77 -0
- package/dist/web/_next/static/chunks/1750.f7ba3332b56a8e68.js +1 -0
- package/dist/web/_next/static/chunks/1763.28beedca593b5e19.js +138 -0
- package/dist/web/_next/static/chunks/179.b9e8f385bd414d1c.js +62 -0
- package/dist/web/_next/static/chunks/1838.7c8990f903e3524a.js +215 -0
- package/dist/web/_next/static/chunks/20154aaa.868648f838e03bf1.js +1 -0
- package/dist/web/_next/static/chunks/2038.640b672702093b24.js +1 -0
- package/dist/web/_next/static/chunks/2112.d72eefbdf81659b3.js +23 -0
- package/dist/web/_next/static/chunks/2125.61c6e4a3541e30ad.js +1 -0
- package/dist/web/_next/static/chunks/2129.61afb2f4ff59e46a.js +24 -0
- package/dist/web/_next/static/chunks/213.68ce1361aee3281a.js +1 -0
- package/dist/web/_next/static/chunks/2179.3f55be0b79e3cca7.js +1 -0
- package/dist/web/_next/static/chunks/2180.e6bad8186f52ff89.js +1 -0
- package/dist/web/_next/static/chunks/2264.0fc1474d26067a01.js +1 -0
- package/dist/web/_next/static/chunks/2376.ed6302a91a9de1ae.js +36 -0
- package/dist/web/_next/static/chunks/2545.3ff192a933baf11e.js +1 -0
- package/dist/web/_next/static/chunks/2620.d17f4fac0eec88a5.js +1 -0
- package/dist/web/_next/static/chunks/2847.d3124853ca727b78.js +1 -0
- package/dist/web/_next/static/chunks/2849.f2bcad51c68e44b5.js +1 -0
- package/dist/web/_next/static/chunks/3189.64c6546d621eec0b.js +1 -0
- package/dist/web/_next/static/chunks/3348-9ef29f9cedf6c0df.js +1 -0
- package/dist/web/_next/static/chunks/3429.436b229808b33e81.js +1 -0
- package/dist/web/_next/static/chunks/3514.9643e815d690f2fb.js +1 -0
- package/dist/web/_next/static/chunks/3552.8dd9a3d2c3bcef65.js +86 -0
- package/dist/web/_next/static/chunks/3606.b59e695fd05b4eb3.js +74 -0
- package/dist/web/_next/static/chunks/3692.8c6b8930e22ceea0.js +1 -0
- package/dist/web/_next/static/chunks/3736.4a5662ceeecc6acb.js +94 -0
- package/dist/web/_next/static/chunks/392.842b338137824bb8.js +1 -0
- package/dist/web/_next/static/chunks/3973-9b18bcd9afc0bcb4.js +1 -0
- package/dist/web/_next/static/chunks/3977.8cfd8dec4cb8e893.js +1 -0
- package/dist/web/_next/static/chunks/4090.441fa61655da9b38.js +1 -0
- package/dist/web/_next/static/chunks/4303.54c4aa0b89834fc6.js +1 -0
- package/dist/web/_next/static/chunks/4314.6bbd89507909cad1.js +1 -0
- package/dist/web/_next/static/chunks/4551.d0d6723cacfb90b9.js +226 -0
- package/dist/web/_next/static/chunks/4566.d8e009823b8647d1.js +90 -0
- package/dist/web/_next/static/chunks/4643.dbb152682d076617.js +1 -0
- package/dist/web/_next/static/chunks/4732-76a574510722b2c3.js +11 -0
- package/dist/web/_next/static/chunks/4924.3f5c77a103ac69a9.js +8 -0
- package/dist/web/_next/static/chunks/4930.42e564644c94a93b.js +1 -0
- package/dist/web/_next/static/chunks/5155.d7e8db52ab4c95e0.js +27 -0
- package/dist/web/_next/static/chunks/5158-267908d069475cdc.js +32 -0
- package/dist/web/_next/static/chunks/543.5636e97aa68eb9c8.js +41 -0
- package/dist/web/_next/static/chunks/5506.98304a1821200439.js +1 -0
- package/dist/web/_next/static/chunks/5622.5ead5e748ecedbd1.js +1 -0
- package/dist/web/_next/static/chunks/565f33a6-fd3410bd29f39fdf.js +1 -0
- package/dist/web/_next/static/chunks/5708.22b4531ceebf3eca.js +1 -0
- package/dist/web/_next/static/chunks/5804.ff72a927135eb74c.js +93 -0
- package/dist/web/_next/static/chunks/588.78e2528ff24df85c.js +287 -0
- package/dist/web/_next/static/chunks/6001.e5bcb28bb9ce6571.js +1 -0
- package/dist/web/_next/static/chunks/6075.a6b8434732056526.js +1 -0
- package/dist/web/_next/static/chunks/6180.82fa683aa16f21df.js +1 -0
- package/dist/web/_next/static/chunks/6274.a3795ca6dacb3d62.js +32 -0
- package/dist/web/_next/static/chunks/635-d6ae421935055337.js +1 -0
- package/dist/web/_next/static/chunks/6419.842467d9a877e770.js +1 -0
- package/dist/web/_next/static/chunks/6420.bfa7bc86d03dcefc.js +1 -0
- package/dist/web/_next/static/chunks/6552-145e634541b5b66c.js +1 -0
- package/dist/web/_next/static/chunks/6647.740ec32a32201eab.js +64 -0
- package/dist/web/_next/static/chunks/6730.88fc6f2ccc49496c.js +1 -0
- package/dist/web/_next/static/chunks/6739.82570eba0a02cb26.js +1 -0
- package/dist/web/_next/static/chunks/674.2b5ffad0676aedbe.js +1 -0
- package/dist/web/_next/static/chunks/6742.8e137138a5d1c9e1.js +1 -0
- package/dist/web/_next/static/chunks/6987.743a63813c6288ce.js +79 -0
- package/dist/web/_next/static/chunks/7202.dad90ce4a1d78f67.js +1 -0
- package/dist/web/_next/static/chunks/7233.0f252f6c1cce8058.js +1 -0
- package/dist/web/_next/static/chunks/7248.d89bf328a0dc1b4c.js +1 -0
- package/dist/web/_next/static/chunks/7263.6f224c3924155294.js +1 -0
- package/dist/web/_next/static/chunks/7341.6958eac888a96823.js +34 -0
- package/dist/web/_next/static/chunks/7424.c8c9f85c8ea65885.js +1 -0
- package/dist/web/_next/static/chunks/7507.1204ae29f46e3f01.js +1 -0
- package/dist/web/_next/static/chunks/7629-16de8d4154923623.js +1 -0
- package/dist/web/_next/static/chunks/7811.19082afa63eb73ba.js +1 -0
- package/dist/web/_next/static/chunks/7853.d01982fa0afc1ee2.js +24 -0
- package/dist/web/_next/static/chunks/7908.432ab9feeb9ae756.js +1 -0
- package/dist/web/_next/static/chunks/7960.3b1c77b882ba4bb1.js +1 -0
- package/dist/web/_next/static/chunks/7967.6c62be01fad1603c.js +1 -0
- package/dist/web/_next/static/chunks/7c89255b.f727562586fa21cc.js +153 -0
- package/dist/web/_next/static/chunks/8044.5f87392585c9f3e4.js +38 -0
- package/dist/web/_next/static/chunks/8054.feeb01b8acdb31d4.js +1 -0
- package/dist/web/_next/static/chunks/8115.68d46fb961c724e0.js +172 -0
- package/dist/web/_next/static/chunks/817.cd0f4d221eca4c8b.js +104 -0
- package/dist/web/_next/static/chunks/8334-0e9493cfa1547244.js +1 -0
- package/dist/web/_next/static/chunks/8467.f34d938a32d40325.js +1 -0
- package/dist/web/_next/static/chunks/8495.d6cea1be03635fa8.js +148 -0
- package/dist/web/_next/static/chunks/8516-b3694c9156666b12.js +152 -0
- package/dist/web/_next/static/chunks/8638.03c6480d4aaeb5b3.js +1 -0
- package/dist/web/_next/static/chunks/8716.1ad6febb58e8560e.js +1 -0
- package/dist/web/_next/static/chunks/8839.1ad64faf06fb4a33.js +1 -0
- package/dist/web/_next/static/chunks/8922-a9cee4a104876005.js +1 -0
- package/dist/web/_next/static/chunks/910.43be9c3be85c7fa0.js +21 -0
- package/dist/web/_next/static/chunks/925.7ef504ee39f11840.js +1 -0
- package/dist/web/_next/static/chunks/9259.f4337cbb56e2e0b6.js +1 -0
- package/dist/web/_next/static/chunks/9299.af2a95f6ece07482.js +1 -0
- package/dist/web/_next/static/chunks/9387.96263a2d1602a078.js +1 -0
- package/dist/web/_next/static/chunks/9568-0bfadca4fcb105aa.js +1 -0
- package/dist/web/_next/static/chunks/9641.f6f2982fc4b4735f.js +1 -0
- package/dist/web/_next/static/chunks/9675.be4a175f92aa2f26.js +1 -0
- package/dist/web/_next/static/chunks/9860.05fa134ae44699e0.js +1 -0
- package/dist/web/_next/static/chunks/9b87412a.d2cfae4121762dec.js +122 -0
- package/dist/web/_next/static/chunks/a012e9f0.7dbb2fe05ec0b816.js +82 -0
- package/dist/web/_next/static/chunks/a096f98a-5a93977f5f5de413.js +1 -0
- package/dist/web/_next/static/chunks/ab1da478.d051e56375dab6d8.js +1 -0
- package/dist/web/_next/static/chunks/adcd17ec-9a2791632136b67b.js +18 -0
- package/dist/web/_next/static/chunks/app/_global-error/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/_not-found/page-877523282abd5a7c.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/admins/page-0f20b93a1fbe900c.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/login/page-dbcfb21ebbd0bb00.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/modes/page-8f292692166b56fc.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/ota/page-c9fe76f24ac08288.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/page-622381f5dac39ddb.js +1 -0
- package/dist/web/_next/static/chunks/app/admin/turn/page-8f6b835a319f3fe3.js +1 -0
- package/dist/web/_next/static/chunks/app/dev/question/page-5fd80ae293617365.js +1 -0
- package/dist/web/_next/static/chunks/app/layout-341400810c81f67e.js +1 -0
- package/dist/web/_next/static/chunks/app/login/page-31786ee656da76b1.js +1 -0
- package/dist/web/_next/static/chunks/app/page-1cf39061b48db156.js +22 -0
- package/dist/web/_next/static/chunks/app/workspace/browse/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/editor/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/files/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/git/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/layout-5e8f95fbc4ebaa6b.js +14 -0
- package/dist/web/_next/static/chunks/app/workspace/mobile/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/remote/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/terminal/[sessionId]/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/app/workspace/workspaces/page-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/bbfbfb6c.069db3c4cc981ed3.js +1 -0
- package/dist/web/_next/static/chunks/c7879cf7-0d16fce1674078f9.js +1 -0
- package/dist/web/_next/static/chunks/c7ea4e13.6153499d4c2fb1f2.js +1 -0
- package/dist/web/_next/static/chunks/cdcce140.7a440644c3dd52b8.js +1 -0
- package/dist/web/_next/static/chunks/da9a53d6.df25e193f1f5bcae.js +62 -0
- package/dist/web/_next/static/chunks/framework-42053c69543a55f9.js +1 -0
- package/dist/web/_next/static/chunks/main-255c95c36766ce86.js +5 -0
- package/dist/web/_next/static/chunks/main-app-1831d4f902c3fcb9.js +1 -0
- package/dist/web/_next/static/chunks/next/dist/client/components/builtin/app-error-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/next/dist/client/components/builtin/forbidden-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/next/dist/client/components/builtin/global-error-76800531999827bd.js +1 -0
- package/dist/web/_next/static/chunks/next/dist/client/components/builtin/not-found-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/next/dist/client/components/builtin/unauthorized-5bd6526483106080.js +1 -0
- package/dist/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/web/_next/static/chunks/webpack-c971919003362f96.js +1 -0
- package/dist/web/_next/static/css/56adcd4d72bf2d84.css +1 -0
- package/dist/web/_next/static/css/5c40e58137a11306.css +1 -0
- package/dist/web/_next/static/css/b496025c9cd768cc.css +1 -0
- package/dist/web/_next/static/media/013b72fa676f92e0-s.woff2 +0 -0
- package/dist/web/_next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
- package/dist/web/_next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
- package/dist/web/_next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
- package/dist/web/_next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
- package/dist/web/_next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
- package/dist/web/_next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
- package/dist/web/_next/static/media/b66cf8e69499582a-s.woff2 +0 -0
- package/dist/web/_next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
- package/dist/web/_next/static/media/e038a29029a234f2-s.woff2 +0 -0
- package/dist/web/_next/static/media/f639721981034f88-s.woff2 +0 -0
- package/dist/web/_not-found/__next._full.txt +23 -0
- package/dist/web/_not-found/__next._head.txt +6 -0
- package/dist/web/_not-found/__next._index.txt +10 -0
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +5 -0
- package/dist/web/_not-found/__next._not-found.txt +5 -0
- package/dist/web/_not-found/__next._tree.txt +5 -0
- package/dist/web/_not-found.html +1 -0
- package/dist/web/_not-found.txt +23 -0
- package/dist/web/admin/__next._full.txt +27 -0
- package/dist/web/admin/__next._head.txt +6 -0
- package/dist/web/admin/__next._index.txt +10 -0
- package/dist/web/admin/__next._tree.txt +5 -0
- package/dist/web/admin/__next.admin.__PAGE__.txt +9 -0
- package/dist/web/admin/__next.admin.txt +5 -0
- package/dist/web/admin/admins/__next._full.txt +27 -0
- package/dist/web/admin/admins/__next._head.txt +6 -0
- package/dist/web/admin/admins/__next._index.txt +10 -0
- package/dist/web/admin/admins/__next._tree.txt +5 -0
- package/dist/web/admin/admins/__next.admin.admins.__PAGE__.txt +9 -0
- package/dist/web/admin/admins/__next.admin.admins.txt +5 -0
- package/dist/web/admin/admins/__next.admin.txt +5 -0
- package/dist/web/admin/admins.html +1 -0
- package/dist/web/admin/admins.txt +27 -0
- package/dist/web/admin/login/__next._full.txt +27 -0
- package/dist/web/admin/login/__next._head.txt +6 -0
- package/dist/web/admin/login/__next._index.txt +10 -0
- package/dist/web/admin/login/__next._tree.txt +5 -0
- package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +9 -0
- package/dist/web/admin/login/__next.admin.login.txt +5 -0
- package/dist/web/admin/login/__next.admin.txt +5 -0
- package/dist/web/admin/login.html +1 -0
- package/dist/web/admin/login.txt +27 -0
- package/dist/web/admin/modes/__next._full.txt +27 -0
- package/dist/web/admin/modes/__next._head.txt +6 -0
- package/dist/web/admin/modes/__next._index.txt +10 -0
- package/dist/web/admin/modes/__next._tree.txt +5 -0
- package/dist/web/admin/modes/__next.admin.modes.__PAGE__.txt +9 -0
- package/dist/web/admin/modes/__next.admin.modes.txt +5 -0
- package/dist/web/admin/modes/__next.admin.txt +5 -0
- package/dist/web/admin/modes.html +1 -0
- package/dist/web/admin/modes.txt +27 -0
- package/dist/web/admin/ota/__next._full.txt +27 -0
- package/dist/web/admin/ota/__next._head.txt +6 -0
- package/dist/web/admin/ota/__next._index.txt +10 -0
- package/dist/web/admin/ota/__next._tree.txt +5 -0
- package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +9 -0
- package/dist/web/admin/ota/__next.admin.ota.txt +5 -0
- package/dist/web/admin/ota/__next.admin.txt +5 -0
- package/dist/web/admin/ota.html +1 -0
- package/dist/web/admin/ota.txt +27 -0
- package/dist/web/admin/turn/__next._full.txt +27 -0
- package/dist/web/admin/turn/__next._head.txt +6 -0
- package/dist/web/admin/turn/__next._index.txt +10 -0
- package/dist/web/admin/turn/__next._tree.txt +5 -0
- package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +9 -0
- package/dist/web/admin/turn/__next.admin.turn.txt +5 -0
- package/dist/web/admin/turn/__next.admin.txt +5 -0
- package/dist/web/admin/turn.html +1 -0
- package/dist/web/admin/turn.txt +27 -0
- package/dist/web/admin.html +1 -0
- package/dist/web/admin.txt +27 -0
- package/dist/web/agent-icons/aider.svg +1 -0
- package/dist/web/agent-icons/amp.png +0 -0
- package/dist/web/agent-icons/ante.png +0 -0
- package/dist/web/agent-icons/antigravity.png +0 -0
- package/dist/web/agent-icons/auggie.png +0 -0
- package/dist/web/agent-icons/autohand.png +0 -0
- package/dist/web/agent-icons/claude-ui.png +0 -0
- package/dist/web/agent-icons/claude.svg +1 -0
- package/dist/web/agent-icons/cline.png +0 -0
- package/dist/web/agent-icons/codebuff.png +0 -0
- package/dist/web/agent-icons/codex-ui.png +0 -0
- package/dist/web/agent-icons/codex.svg +1 -0
- package/dist/web/agent-icons/command-code.png +0 -0
- package/dist/web/agent-icons/continue.png +0 -0
- package/dist/web/agent-icons/copilot.png +0 -0
- package/dist/web/agent-icons/crush.png +0 -0
- package/dist/web/agent-icons/cursor.png +0 -0
- package/dist/web/agent-icons/devin.png +0 -0
- package/dist/web/agent-icons/droid.png +0 -0
- package/dist/web/agent-icons/gemini.png +0 -0
- package/dist/web/agent-icons/goose.png +0 -0
- package/dist/web/agent-icons/grok.png +0 -0
- package/dist/web/agent-icons/hermes.png +0 -0
- package/dist/web/agent-icons/kilo.png +0 -0
- package/dist/web/agent-icons/kimi.png +0 -0
- package/dist/web/agent-icons/kiro.png +0 -0
- package/dist/web/agent-icons/mimo-code.png +0 -0
- package/dist/web/agent-icons/mistral-vibe.png +0 -0
- package/dist/web/agent-icons/omp.svg +1 -0
- package/dist/web/agent-icons/openclaude.png +0 -0
- package/dist/web/agent-icons/openclaw.png +0 -0
- package/dist/web/agent-icons/opencode.png +0 -0
- package/dist/web/agent-icons/pi.svg +1 -0
- package/dist/web/agent-icons/prime-agent.png +0 -0
- package/dist/web/agent-icons/qwen-code.png +0 -0
- package/dist/web/agent-icons/rovo.png +0 -0
- package/dist/web/agent-icons/trae.png +0 -0
- package/dist/web/agents/claude.svg +1 -0
- package/dist/web/agents/codex.svg +1 -0
- package/dist/web/agents/gemini.svg +1 -0
- package/dist/web/agents/opencode.svg +1 -0
- package/dist/web/backgrounds/bg10.jpg +0 -0
- package/dist/web/backgrounds/bg11.jpg +0 -0
- package/dist/web/backgrounds/bg12.jpg +0 -0
- package/dist/web/backgrounds/bg13.jpg +0 -0
- package/dist/web/backgrounds/bg2.jpg +0 -0
- package/dist/web/backgrounds/bg3.jpg +0 -0
- package/dist/web/backgrounds/bg4.jpg +0 -0
- package/dist/web/backgrounds/bg5.jpg +0 -0
- package/dist/web/backgrounds/bg6.jpg +0 -0
- package/dist/web/backgrounds/bg7.jpg +0 -0
- package/dist/web/backgrounds/bg8.jpg +0 -0
- package/dist/web/backgrounds/bg9.jpg +0 -0
- package/dist/web/dev/question/__next._full.txt +27 -0
- package/dist/web/dev/question/__next._head.txt +6 -0
- package/dist/web/dev/question/__next._index.txt +10 -0
- package/dist/web/dev/question/__next._tree.txt +5 -0
- package/dist/web/dev/question/__next.dev.question.__PAGE__.txt +9 -0
- package/dist/web/dev/question/__next.dev.question.txt +5 -0
- package/dist/web/dev/question/__next.dev.txt +5 -0
- package/dist/web/dev/question.html +1 -0
- package/dist/web/dev/question.txt +27 -0
- package/dist/web/favicon.ico +0 -0
- package/dist/web/file.svg +1 -0
- package/dist/web/globe.svg +1 -0
- package/dist/web/icon-192.png +0 -0
- package/dist/web/icon-192.svg +3 -0
- package/dist/web/icon-512.png +0 -0
- package/dist/web/icon-512.svg +3 -0
- package/dist/web/icons/file-types/astro.svg +1 -0
- package/dist/web/icons/file-types/audio.svg +1 -0
- package/dist/web/icons/file-types/avif.svg +1 -0
- package/dist/web/icons/file-types/bat.svg +1 -0
- package/dist/web/icons/file-types/c.svg +1 -0
- package/dist/web/icons/file-types/cheader.svg +1 -0
- package/dist/web/icons/file-types/clojure.svg +1 -0
- package/dist/web/icons/file-types/clojurescript.svg +1 -0
- package/dist/web/icons/file-types/cloudfoundry.svg +1 -0
- package/dist/web/icons/file-types/cpp.svg +1 -0
- package/dist/web/icons/file-types/cppheader.svg +1 -0
- package/dist/web/icons/file-types/csharp.svg +1 -0
- package/dist/web/icons/file-types/css.svg +1 -0
- package/dist/web/icons/file-types/dartlang.svg +1 -0
- package/dist/web/icons/file-types/datadog.svg +1 -0
- package/dist/web/icons/file-types/default.svg +1 -0
- package/dist/web/icons/file-types/diff.svg +1 -0
- package/dist/web/icons/file-types/django.svg +1 -0
- package/dist/web/icons/file-types/docker.svg +1 -0
- package/dist/web/icons/file-types/dotenv.svg +1 -0
- package/dist/web/icons/file-types/editorconfig.svg +1 -0
- package/dist/web/icons/file-types/elixir.svg +1 -0
- package/dist/web/icons/file-types/erlang.svg +1 -0
- package/dist/web/icons/file-types/esphome.svg +1 -0
- package/dist/web/icons/file-types/font.svg +1 -0
- package/dist/web/icons/file-types/git.svg +1 -0
- package/dist/web/icons/file-types/gnu.svg +1 -0
- package/dist/web/icons/file-types/go.svg +1 -0
- package/dist/web/icons/file-types/graphql.svg +1 -0
- package/dist/web/icons/file-types/haskell.svg +1 -0
- package/dist/web/icons/file-types/html.svg +1 -0
- package/dist/web/icons/file-types/image.svg +1 -0
- package/dist/web/icons/file-types/ini.svg +1 -0
- package/dist/web/icons/file-types/janet.svg +1 -0
- package/dist/web/icons/file-types/jar.svg +1 -0
- package/dist/web/icons/file-types/java.svg +1 -0
- package/dist/web/icons/file-types/js.svg +1 -0
- package/dist/web/icons/file-types/json.svg +1 -0
- package/dist/web/icons/file-types/json5.svg +1 -0
- package/dist/web/icons/file-types/kotlin.svg +1 -0
- package/dist/web/icons/file-types/less.svg +1 -0
- package/dist/web/icons/file-types/license.svg +1 -0
- package/dist/web/icons/file-types/locale.svg +1 -0
- package/dist/web/icons/file-types/log.svg +1 -0
- package/dist/web/icons/file-types/lua.svg +1 -0
- package/dist/web/icons/file-types/markdown.svg +1 -0
- package/dist/web/icons/file-types/mdx.svg +1 -0
- package/dist/web/icons/file-types/npm.svg +1 -0
- package/dist/web/icons/file-types/objectivec.svg +1 -0
- package/dist/web/icons/file-types/ocaml.svg +1 -0
- package/dist/web/icons/file-types/parcel.svg +1 -0
- package/dist/web/icons/file-types/pddl_happenings.svg +1 -0
- package/dist/web/icons/file-types/pdf.svg +1 -0
- package/dist/web/icons/file-types/php.svg +1 -0
- package/dist/web/icons/file-types/powershell.svg +1 -0
- package/dist/web/icons/file-types/protobuf.svg +1 -0
- package/dist/web/icons/file-types/python.svg +1 -0
- package/dist/web/icons/file-types/r.svg +1 -0
- package/dist/web/icons/file-types/reactjs.svg +1 -0
- package/dist/web/icons/file-types/reactts.svg +1 -0
- package/dist/web/icons/file-types/ruby.svg +1 -0
- package/dist/web/icons/file-types/rust.svg +1 -0
- package/dist/web/icons/file-types/sass.svg +1 -0
- package/dist/web/icons/file-types/scala.svg +1 -0
- package/dist/web/icons/file-types/scss.svg +1 -0
- package/dist/web/icons/file-types/shell.svg +1 -0
- package/dist/web/icons/file-types/sql.svg +1 -0
- package/dist/web/icons/file-types/sqlite.svg +1 -0
- package/dist/web/icons/file-types/stylus.svg +1 -0
- package/dist/web/icons/file-types/svelte.svg +1 -0
- package/dist/web/icons/file-types/svg.svg +1 -0
- package/dist/web/icons/file-types/swift.svg +1 -0
- package/dist/web/icons/file-types/text.svg +1 -0
- package/dist/web/icons/file-types/toml.svg +1 -0
- package/dist/web/icons/file-types/typescript.svg +1 -0
- package/dist/web/icons/file-types/video.svg +1 -0
- package/dist/web/icons/file-types/vue.svg +1 -0
- package/dist/web/icons/file-types/xml.svg +1 -0
- package/dist/web/icons/file-types/yaml.svg +1 -0
- package/dist/web/icons/file-types/zip.svg +1 -0
- package/dist/web/icons/folder-types/android-open.svg +1 -0
- package/dist/web/icons/folder-types/android.svg +1 -0
- package/dist/web/icons/folder-types/api-open.svg +1 -0
- package/dist/web/icons/folder-types/api.svg +1 -0
- package/dist/web/icons/folder-types/app-open.svg +1 -0
- package/dist/web/icons/folder-types/app.svg +1 -0
- package/dist/web/icons/folder-types/asset-open.svg +1 -0
- package/dist/web/icons/folder-types/asset.svg +1 -0
- package/dist/web/icons/folder-types/azurepipelines-open.svg +1 -0
- package/dist/web/icons/folder-types/azurepipelines.svg +1 -0
- package/dist/web/icons/folder-types/blueprint-open.svg +1 -0
- package/dist/web/icons/folder-types/blueprint.svg +1 -0
- package/dist/web/icons/folder-types/bower-open.svg +1 -0
- package/dist/web/icons/folder-types/bower.svg +1 -0
- package/dist/web/icons/folder-types/component-open.svg +1 -0
- package/dist/web/icons/folder-types/component.svg +1 -0
- package/dist/web/icons/folder-types/config-open.svg +1 -0
- package/dist/web/icons/folder-types/config.svg +1 -0
- package/dist/web/icons/folder-types/controller-open.svg +1 -0
- package/dist/web/icons/folder-types/controller.svg +1 -0
- package/dist/web/icons/folder-types/css-open.svg +1 -0
- package/dist/web/icons/folder-types/css.svg +1 -0
- package/dist/web/icons/folder-types/db-open.svg +1 -0
- package/dist/web/icons/folder-types/db.svg +1 -0
- package/dist/web/icons/folder-types/default-open.svg +1 -0
- package/dist/web/icons/folder-types/default.svg +1 -0
- package/dist/web/icons/folder-types/dist-open.svg +1 -0
- package/dist/web/icons/folder-types/dist.svg +1 -0
- package/dist/web/icons/folder-types/docs-open.svg +1 -0
- package/dist/web/icons/folder-types/docs.svg +1 -0
- package/dist/web/icons/folder-types/fonts-open.svg +1 -0
- package/dist/web/icons/folder-types/fonts.svg +1 -0
- package/dist/web/icons/folder-types/git-open.svg +1 -0
- package/dist/web/icons/folder-types/git.svg +1 -0
- package/dist/web/icons/folder-types/github-open.svg +1 -0
- package/dist/web/icons/folder-types/github.svg +1 -0
- package/dist/web/icons/folder-types/helper-open.svg +1 -0
- package/dist/web/icons/folder-types/helper.svg +1 -0
- package/dist/web/icons/folder-types/hook-open.svg +1 -0
- package/dist/web/icons/folder-types/hook.svg +1 -0
- package/dist/web/icons/folder-types/husky-open.svg +1 -0
- package/dist/web/icons/folder-types/husky.svg +1 -0
- package/dist/web/icons/folder-types/idea-open.svg +1 -0
- package/dist/web/icons/folder-types/idea.svg +1 -0
- package/dist/web/icons/folder-types/images-open.svg +1 -0
- package/dist/web/icons/folder-types/images.svg +1 -0
- package/dist/web/icons/folder-types/interfaces-open.svg +1 -0
- package/dist/web/icons/folder-types/interfaces.svg +1 -0
- package/dist/web/icons/folder-types/ios-open.svg +1 -0
- package/dist/web/icons/folder-types/ios.svg +1 -0
- package/dist/web/icons/folder-types/library-open.svg +1 -0
- package/dist/web/icons/folder-types/library.svg +1 -0
- package/dist/web/icons/folder-types/locale-open.svg +1 -0
- package/dist/web/icons/folder-types/locale.svg +1 -0
- package/dist/web/icons/folder-types/middleware-open.svg +1 -0
- package/dist/web/icons/folder-types/middleware.svg +1 -0
- package/dist/web/icons/folder-types/model-open.svg +1 -0
- package/dist/web/icons/folder-types/model.svg +1 -0
- package/dist/web/icons/folder-types/node-open.svg +1 -0
- package/dist/web/icons/folder-types/node.svg +1 -0
- package/dist/web/icons/folder-types/public-open.svg +1 -0
- package/dist/web/icons/folder-types/public.svg +1 -0
- package/dist/web/icons/folder-types/redux-open.svg +1 -0
- package/dist/web/icons/folder-types/redux.svg +1 -0
- package/dist/web/icons/folder-types/route-open.svg +1 -0
- package/dist/web/icons/folder-types/route.svg +1 -0
- package/dist/web/icons/folder-types/script-open.svg +1 -0
- package/dist/web/icons/folder-types/script.svg +1 -0
- package/dist/web/icons/folder-types/seedkit-open.svg +1 -0
- package/dist/web/icons/folder-types/seedkit.svg +1 -0
- package/dist/web/icons/folder-types/server-open.svg +1 -0
- package/dist/web/icons/folder-types/server.svg +1 -0
- package/dist/web/icons/folder-types/services-open.svg +1 -0
- package/dist/web/icons/folder-types/services.svg +1 -0
- package/dist/web/icons/folder-types/src-open.svg +1 -0
- package/dist/web/icons/folder-types/src.svg +1 -0
- package/dist/web/icons/folder-types/story-open.svg +1 -0
- package/dist/web/icons/folder-types/story.svg +1 -0
- package/dist/web/icons/folder-types/style-open.svg +1 -0
- package/dist/web/icons/folder-types/style.svg +1 -0
- package/dist/web/icons/folder-types/template-open.svg +1 -0
- package/dist/web/icons/folder-types/template.svg +1 -0
- package/dist/web/icons/folder-types/test-open.svg +1 -0
- package/dist/web/icons/folder-types/test.svg +1 -0
- package/dist/web/icons/folder-types/theme-open.svg +1 -0
- package/dist/web/icons/folder-types/theme.svg +1 -0
- package/dist/web/icons/folder-types/tools-open.svg +1 -0
- package/dist/web/icons/folder-types/tools.svg +1 -0
- package/dist/web/icons/folder-types/typescript-open.svg +1 -0
- package/dist/web/icons/folder-types/typescript.svg +1 -0
- package/dist/web/icons/folder-types/typings-open.svg +1 -0
- package/dist/web/icons/folder-types/typings.svg +1 -0
- package/dist/web/icons/folder-types/view-open.svg +1 -0
- package/dist/web/icons/folder-types/view.svg +1 -0
- package/dist/web/icons/folder-types/vscode-open.svg +1 -0
- package/dist/web/icons/folder-types/vscode.svg +1 -0
- package/dist/web/index.html +1 -0
- package/dist/web/index.txt +25 -0
- package/dist/web/login/__next._full.txt +27 -0
- package/dist/web/login/__next._head.txt +6 -0
- package/dist/web/login/__next._index.txt +10 -0
- package/dist/web/login/__next._tree.txt +5 -0
- package/dist/web/login/__next.login.__PAGE__.txt +9 -0
- package/dist/web/login/__next.login.txt +5 -0
- package/dist/web/login.html +1 -0
- package/dist/web/login.txt +27 -0
- package/dist/web/manifest.json +53 -0
- package/dist/web/maskable-192.png +0 -0
- package/dist/web/maskable-512.png +0 -0
- package/dist/web/next.svg +1 -0
- package/dist/web/proxy.html +179 -0
- package/dist/web/screenshot-desktop.png +0 -0
- package/dist/web/screenshot-mobile.png +0 -0
- package/dist/web/screenshots/desktop-ide.webp +0 -0
- package/dist/web/screenshots/mobile-1.webp +0 -0
- package/dist/web/screenshots/mobile-2.webp +0 -0
- package/dist/web/screenshots/mobile-3.webp +0 -0
- package/dist/web/sw-site.js +283 -0
- package/dist/web/sw.js +88 -0
- package/dist/web/swBridgeClaim.js +57 -0
- package/dist/web/vercel.svg +1 -0
- package/dist/web/window.svg +1 -0
- package/dist/web/workspace/__next._full.txt +25 -0
- package/dist/web/workspace/__next._head.txt +6 -0
- package/dist/web/workspace/__next._index.txt +10 -0
- package/dist/web/workspace/__next._tree.txt +6 -0
- package/dist/web/workspace/__next.workspace.__PAGE__.txt +5 -0
- package/dist/web/workspace/__next.workspace.txt +8 -0
- package/dist/web/workspace/browse/__next._full.txt +27 -0
- package/dist/web/workspace/browse/__next._head.txt +6 -0
- package/dist/web/workspace/browse/__next._index.txt +10 -0
- package/dist/web/workspace/browse/__next._tree.txt +6 -0
- package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +5 -0
- package/dist/web/workspace/browse/__next.workspace.browse.txt +5 -0
- package/dist/web/workspace/browse/__next.workspace.txt +8 -0
- package/dist/web/workspace/browse.html +1 -0
- package/dist/web/workspace/browse.txt +27 -0
- package/dist/web/workspace/editor/__next._full.txt +27 -0
- package/dist/web/workspace/editor/__next._head.txt +6 -0
- package/dist/web/workspace/editor/__next._index.txt +10 -0
- package/dist/web/workspace/editor/__next._tree.txt +6 -0
- package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +5 -0
- package/dist/web/workspace/editor/__next.workspace.editor.txt +5 -0
- package/dist/web/workspace/editor/__next.workspace.txt +8 -0
- package/dist/web/workspace/editor.html +1 -0
- package/dist/web/workspace/editor.txt +27 -0
- package/dist/web/workspace/files/__next._full.txt +27 -0
- package/dist/web/workspace/files/__next._head.txt +6 -0
- package/dist/web/workspace/files/__next._index.txt +10 -0
- package/dist/web/workspace/files/__next._tree.txt +6 -0
- package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +5 -0
- package/dist/web/workspace/files/__next.workspace.files.txt +5 -0
- package/dist/web/workspace/files/__next.workspace.txt +8 -0
- package/dist/web/workspace/files.html +1 -0
- package/dist/web/workspace/files.txt +27 -0
- package/dist/web/workspace/git/__next._full.txt +27 -0
- package/dist/web/workspace/git/__next._head.txt +6 -0
- package/dist/web/workspace/git/__next._index.txt +10 -0
- package/dist/web/workspace/git/__next._tree.txt +6 -0
- package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +5 -0
- package/dist/web/workspace/git/__next.workspace.git.txt +5 -0
- package/dist/web/workspace/git/__next.workspace.txt +8 -0
- package/dist/web/workspace/git.html +1 -0
- package/dist/web/workspace/git.txt +27 -0
- package/dist/web/workspace/mobile/__next._full.txt +27 -0
- package/dist/web/workspace/mobile/__next._head.txt +6 -0
- package/dist/web/workspace/mobile/__next._index.txt +10 -0
- package/dist/web/workspace/mobile/__next._tree.txt +6 -0
- package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +5 -0
- package/dist/web/workspace/mobile/__next.workspace.mobile.txt +5 -0
- package/dist/web/workspace/mobile/__next.workspace.txt +8 -0
- package/dist/web/workspace/mobile.html +1 -0
- package/dist/web/workspace/mobile.txt +27 -0
- package/dist/web/workspace/remote/__next._full.txt +27 -0
- package/dist/web/workspace/remote/__next._head.txt +6 -0
- package/dist/web/workspace/remote/__next._index.txt +10 -0
- package/dist/web/workspace/remote/__next._tree.txt +6 -0
- package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +5 -0
- package/dist/web/workspace/remote/__next.workspace.remote.txt +5 -0
- package/dist/web/workspace/remote/__next.workspace.txt +8 -0
- package/dist/web/workspace/remote.html +1 -0
- package/dist/web/workspace/remote.txt +27 -0
- package/dist/web/workspace/terminal/default/__next._full.txt +27 -0
- package/dist/web/workspace/terminal/default/__next._head.txt +6 -0
- package/dist/web/workspace/terminal/default/__next._index.txt +10 -0
- package/dist/web/workspace/terminal/default/__next._tree.txt +6 -0
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +5 -0
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +5 -0
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +5 -0
- package/dist/web/workspace/terminal/default/__next.workspace.txt +8 -0
- package/dist/web/workspace/terminal/default.html +1 -0
- package/dist/web/workspace/terminal/default.txt +27 -0
- package/dist/web/workspace/workspaces/__next._full.txt +27 -0
- package/dist/web/workspace/workspaces/__next._head.txt +6 -0
- package/dist/web/workspace/workspaces/__next._index.txt +10 -0
- package/dist/web/workspace/workspaces/__next._tree.txt +6 -0
- package/dist/web/workspace/workspaces/__next.workspace.txt +8 -0
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +5 -0
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +5 -0
- package/dist/web/workspace/workspaces.html +1 -0
- package/dist/web/workspace/workspaces.txt +27 -0
- package/dist/web/workspace.html +1 -0
- package/dist/web/workspace.txt +25 -0
- package/package.json +4 -4
- package/dist/ui/assets/index-CcS6AXZF.css +0 -1
- package/dist/ui/assets/index-H_1CAVCP.js +0 -58
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6730],{96730:(e,r,t)=>{t.d(r,{diagram:()=>E});var n=t(77731),a=t(96910);t(58609),t(84187);var s=t(14561),i=t(68567),l=t(97811),p=(0,l.WG)().RailroadEbnf.parser.LangiumParser,o=(0,i.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),m=(0,i.K)(e=>{let r=e.elements.map(c);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),u=(0,i.K)(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,i.K)((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),c=(0,i.K)(e=>e.postfixes.reduce((e,r)=>f(e,r),u(e.base)),"transformTerm"),d=(0,i.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),b=(0,i.K)(e=>{(0,a.S)(e,n.db),e.title&&n.db.setTitle(e.title),e.rules.map(e=>n.db.addRule(d(e)))},"populateDb"),E={parser:{parse:(0,i.K)(e=>{n.db.clear(),s.R.debug("[EBNF Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new l.zg(r);let t=r.value;s.R.debug("[EBNF Parser] Parsed rules:",t.rules.length),b(t),s.R.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n.db}},db:n.db,renderer:n.U,styles:n.$}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6739],{46739:(t,e,s)=>{s.r(e),s.d(e,{SignalingClient:()=>o});var i=s(86129),n=s(52159),r=s(27520);let h={agent:"client",client:"agent"};class o{static{this.id="sig"}constructor({url:t,role:e,roomId:s,apiKey:n,from:r,onReady:h,pingMs:o=25e3}){this._url=`${t}/ws/${encodeURIComponent(s)}?role=${e}&apiKey=${encodeURIComponent(n)}&from=${encodeURIComponent(r||e)}`,this._from=r||e,this._onReady=h||null,this._role=e,this._roomId=s,this._pingMs=o,this._ws=null,this._handler=null,this._pingTimer=null,this._reconnectTimer=null,this._attempt=0,this._preOpenFails=0,this._openedOnce=!1,this._closed=!1,this._state=i.Of.idle,this._lastRetryNowAt=0,this._connectingSince=0,this._retryNowTimer=null}get ready(){return this._ws?.readyState===1}connect(){this._closed=!1,this._open()}send(t){if((0,n.c)("transport",`[sig] send ${t.type} ready=${this.ready}`),!this.ready)return!1;try{return this._ws.send(JSON.stringify({to:t.to||h[this._role],from:this._from,type:t.type,payload:"offer"===t.type?{sdp:t.sdp}:"answer"===t.type?{sdp:t.sdp,pub:t.pub,xpub:t.xpub,sig:t.sig}:"ice"===t.type?{candidate:t.candidate,mid:t.mid}:t})),!0}catch{return!1}}on(t){this._handler=t}off(){this._handler=null}retryNow(t="?"){if(this._closed||this.ready)return;let e=Date.now(),s=e-this._lastRetryNowAt;if(s<3e3){(0,r.Lq)("switch",`sig retryNow DEFER by=${t} (throttled)`),this._scheduleRetryNow(3e3-s,t);return}if(this._state===i.Of.connecting&&e-this._connectingSince<5e3){(0,r.Lq)("switch",`sig retryNow DEFER by=${t} (handshake ${e-this._connectingSince}ms old)`),this._scheduleRetryNow(5e3-(e-this._connectingSince),t);return}(0,r.Lq)("switch",`sig retryNow GO by=${t}`),this._lastRetryNowAt=e,this._attempt=0,this._preOpenFails=0,clearTimeout(this._reconnectTimer),this._reconnectTimer=null;let n=this._ws;this._ws=null;try{n?.close()}catch{}this._open()}_scheduleRetryNow(t,e="?"){this._retryNowTimer||(this._retryNowTimer=setTimeout(()=>{this._retryNowTimer=null,this.retryNow(`${e}-deferred`)},t))}disconnect(){this._closed=!0,this._stopPing(),clearTimeout(this._retryNowTimer),this._retryNowTimer=null,clearTimeout(this._reconnectTimer);try{this._ws?.close()}catch{}this._ws=null,this._setState(i.Of.closed)}_open(){this._setState(i.Of.connecting),this._connectingSince=Date.now();let t=new WebSocket(this._url);this._ws=t,t.addEventListener("open",()=>{this._attempt=0,this._preOpenFails=0,this._openedOnce=!0,this._setState(i.Of.open),this._startPing(),(0,n.c)("transport",`[sig] ${this._role} connected room=${this._roomId}`),(0,r.Lq)("switch",`sig open (after ${this._attempt} retries)`),this._onReady?.()}),t.addEventListener("message",t=>{let e;if("pong"!==t.data){try{e=JSON.parse(t.data)}catch{return}(0,n.c)("transport",`[sig] recv ${e.type} from=${e.from}`),this._handler?.({type:e.type,from:e.from,...e.payload})}}),t.addEventListener("close",()=>{this._ws===t&&this._onClose()}),t.addEventListener("error",()=>{this._ws===t&&this._onClose()})}_onClose(){if(this._stopPing(),this._ws=null,this._setState(i.Of.closed),!this._closed){if(!this._openedOnce&&(this._preOpenFails++,this._preOpenFails>5)){(0,n.c)("transport",`[sig] ${this._role} giving up — ${this._preOpenFails-1} pre-open failures`),(0,r.Lq)("switch",`sig GAVE UP (${this._preOpenFails-1} pre-open failures) — retryNow is the only way back`);return}this._scheduleReconnect()}}_scheduleReconnect(){if(this._closed)return;this._attempt++;let t=Math.min(1e3*2**(this._attempt-1),3e4)+1e3*Math.random();(0,n.c)("transport",`[sig] ${this._role} reconnect in ${t}ms (attempt ${this._attempt})`),(0,r.Lq)("switch",`sig reconnect in ${Math.round(t)}ms (attempt ${this._attempt})`),this._reconnectTimer=setTimeout(()=>{this._closed||this._open()},t)}_startPing(){this._stopPing(),this._pingTimer=setInterval(()=>{if(this.ready)try{this._ws.send("ping")}catch{}},this._pingMs)}_stopPing(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null)}_setState(t){this._state=t}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[674],{40674:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});let o={common:{statusIdle:"Idle",statusWorking:"Working",statusBlocked:"Needs input",statusDone:"Your turn",loading:"読み込み中...",cancel:"キャンセル",confirm:"確認",save:"保存",delete:"削除",close:"閉じる",back:"戻る",edit:"編集",rename:"名前変更",remove:"削除",open:"開く",yes:"はい",no:"いいえ",ok:"OK",error:"エラー",success:"成功",failed:"失敗",retry:"再試行",refresh:"更新",clipboard:"Clipboard",clipboardCopy:"Copy",clipboardEmpty:"Clipboard is empty",search:"検索",create:"作成",new:"新規",add:"追加",copy:"コピー",copied:"コピーしました",download:"ダウンロード",upload:"アップロード",enabled:"有効",disabled:"無効",on:"オン",off:"オフ",minute:"分",hour:"時間",day:"日",minutesAgo:"{n} 分前",hoursAgo:"{n} 時間前",daysAgo:"{n} 日前"},login:{tagline:"どこからでもターミナルにアクセス",heroLine1:"Any machine.",heroLine2:"One terminal.",heroLine3:"In your pocket.",featureTerminal:"Terminal",featureDesktop:"Desktop",featureFiles:"Files",termConnected:"agent connected",termTunnel:"tunnel established",termReady:"ready",accessKey:"アクセスキー",placeholder:"sk-xxx... またはワンタイムキー (ABC123)",rememberKey:"このキーを記憶する",connect:"接続",connecting:"接続中...",authenticating:"トークンで認証中...",invalidKeyTail:"Wrong access key — check the last characters and try again.",scanQr:"Scan QR to login",qrScanTitle:"Scan QR Code",qrHint:"Point the camera at the QR code shown on the machine running 9Remote.",qrDetected:"QR Code detected!",qrAuthenticating:"Authenticating...",qrPleaseWait:"Please wait...",qrLibFail:"Failed to load the QR scanner library.",qrInitFail:"Could not start the scanner.",qrCamDenied:"Camera permission denied. Allow camera access and try again.",qrNoCamera:"No camera found on this device.",qrCamBusy:"Camera is in use by another app.",qrCamError:"Could not open the camera.",savedKeys:"保存されたキー",login:"ログイン",lastLogin:"最終ログイン",namePlaceholder:"Name this key (optional)",rename:"Rename",deleteKeyTitle:"Delete key",deleteKeyConfirm:'Are you sure you want to delete "{name}"?',justNow:"たった今",minutesAgo:"{n}分前",hoursAgo:"{n}時間前",daysAgo:"{n}日前",tapToScan:"タップしてスキャン",orEnterManually:"または手動でキーを入力",addKey:"Add Key",secureTitle:"Secure & Encrypted",secureDesc:"All connections are end-to-end encrypted and secure.",featAccessTitle:"Access Anywhere",featAccessDesc:"Connect from any device, anywhere.",featSecureTitle:"Secure Connection",featSecureDesc:"End-to-end encryption keeps you safe.",featFastTitle:"Fast & Reliable",featFastDesc:"Low latency and high performance.",featSessionsTitle:"Multiple Sessions",featSessionsDesc:"Manage and switch between sessions.",home:"ホーム",docs:"ドキュメント"},menu:{reloadRestart:"Reload & Restart",restartHost:"Restart 9remote host",restartConfirmTitle:"Restart 9remote host?",restartConfirmMessage:"This restarts the agent process (no reinstall). Terminal sessions are preserved. It takes a few seconds.",restartStarting:"Restarting host…",restartRestarting:"Restarting 9remote…",restartDone:"Restarted! Reconnecting…",restartTimeout:"Restart is taking too long",restartTimeoutHint:"Reconnect manually if it doesn't recover.",title:"メニュー",language:"言語",theme:"テーマ",notifications:"通知",webgl:"GPU Render (Faster)",webglHint:"テキストがおかしい場合はオフにしてください",notificationsHint:"Notify when agent finishes",files:"File Explorer",downloading:"Downloading",copying:"Copying",conflictTitle:"File already exists",conflictMessage:"{name} already exists. Replace or skip?",skip:"Skip",skipAll:"Skip all",replace:"Replace",replaceAll:"Replace all",sites:"サイト",commandNotes:"コマンドメモ",community:"コミュニティ",installApp:"アプリをインストール",codespace:"Codespace",logout:"ログアウト",settingsGeneral:"General",settingsAppearance:"Appearance",settingsTerminalTab:"Terminal",settingsMcp:"Plugins",mcpIntro:"Extra abilities you can give your AI coding tools.",mcpTools:"Allow",mcpRestartHint:"Turning it off applies at once. Turning it on needs the AI tool restarted.",mcpUnavailable:"Update this host to use MCP.",artifactFormats:"Formats it can show",mcpClients:"Works with",settingsWorkspace:"Workspace",settingsApplication:"Application",settingsAccount:"Account",themeLight:"Light",themeDark:"Dark",reload:"アプリを再読み込み",remoteDesktop:"リモートデスクトップ",settings:"設定",enablePush:"プッシュ通知を有効にする",disablePush:"プッシュ通知を無効にする",pushHint:"プッシュ通知を有効にすると、AIがタスクを完了したときに通知を受け取れます",pushActiveHint:"Push notifications are on for this device. You'll be alerted when AI completes tasks.",versionMismatch:"Agent {version} は古いバージョンです",versionMismatchHint:"一部の機能が動作しない可能性があります。実行してください:",updateNow:"Update now",updating:"Updating… reconnecting",webReloadTitle:"New web version available",webReloadHint:"Reload to get the latest interface.",reloadWeb:"Reload",updateAvailableTitle:"9Remote host update available",updateStarting:"Starting update…",updateInstalling:"Installing new version…",updateTimeout:"Update is taking too long",updateTimeoutHint:"Reload manually if it doesn't recover.",updateRestarting:"Restarting agent…",updateReconnecting:"Reconnecting…",updateDone:"Updated! Reloading…",version:"バージョン"},workspace:{loading:"読み込み中...",logoutTitle:"ログアウト",logoutMessage:"ログアウトしてもよろしいですか?",failedCreateSession:"セッションの作成に失敗しました: {error}",failedRenameSession:"セッションの名前変更に失敗しました: {error}"},sessions:{headerTitle:"9remote.cc",connected:"接続済み",disconnected:"切断",codespaceStopped:"Codespace 停止中",placeholder:"ターミナル名 (任意)",newButton:"+ 新規",empty:"アクティブなセッションがありません",emptyHint:"新しいセッションを作成して開始してください",created:"作成日時 {time}",deleteTitle:"セッションを削除",deleteMessage:'"{name}" を削除してもよろしいですか?',editName:"名前を編集",newTerminal:"新しいターミナル",options:"Options"},workspaces:{title:"Groups",newWorkspace:"Group",newWorkspacePrompt:"Group name",defaultName:"New Group",ungrouped:"Ungrouped",addTerminal:"Add terminal to group",moveToWorkspace:"Move to group",rename:"Rename group",delete:"Delete group",emptyWorkspace:"No terminals in this group",deleteTitle:"Delete Group",deleteMessage:'Delete group "{name}"? Terminals move to Ungrouped.'},terminal:{quotaNoData:"No quota data",quotaUsageTitle:"usage",back:"戻る",menu:"メニュー",newTerminal:"新しいターミナル",remoteDesktop:"リモートデスクトップ",defaultName:"ターム"},files:{selectWorkspace:"ワークスペースを選択",recentWorkspaces:"最近のワークスペース",home:"ホーム",root:"ルート",drive:"ドライブ {letter}",codespaces:"Codespaces",removeRecent:"最近から削除",removeTitle:"ワークスペースを削除",removeMessage:'最近のワークスペースから "{name}" を削除しますか?',setAsWorkspace:"ワークスペースに設定",openFolder:"フォルダを開く",newFile:"新規ファイル",newFolder:"新規フォルダ",rename:"名前変更",delete:"削除",deleteFile:"ファイルを削除",deleteFolder:"フォルダを削除",deleteFileMessage:'"{name}" を削除しますか?',deleteFolderMessage:'フォルダ "{name}" とそのすべての内容を削除しますか?',emptyFolder:"空のフォルダ",git:"Git",parent:"親フォルダ",workspace:"ワークスペース",failedLoad:"読み込みに失敗しました: {error}",failedDelete:"削除に失敗しました: {error}",failedCreate:"作成に失敗しました: {error}",failedRename:"名前変更に失敗しました: {error}",enterName:"名前を入力",confirmRename:"新しい名前:",setWorkspace:"ワークスペースに設定",setAsWorkspaceTitle:"ワークスペースに設定",switchWorkspace:"ワークスペースを切り替え",searchFiles:"ファイルを検索",toggleHidden:"隠しファイルを切替",searchPlaceholder:"ファイルを検索...",searching:"検索中...",noFilesFound:"ファイルが見つかりません",noGitRepo:"Git リポジトリがありません",cannotOpenBinary:"バイナリファイルは開けません",createNew:"新規作成",file:"ファイル",folder:"フォルダ",placeholderFile:"filename.js",placeholderFolder:"folder-name",pickFile:"Choose files",pickFolder:"Choose folder",copyPath:"パスをコピー",copyRelPath:"Copy Relative Path",copyName:"Copy Filename",delete:"削除",rename:"名前変更",deleteConfirmTitle:"削除",deleteConfirmMessage:'"{name}" を削除しますか?'},editor:{save:"保存",saving:"保存中...",saved:"保存済み",unsaved:"未保存の変更",close:"閉じる",discard:"破棄",discardTitle:"変更を破棄",discardMessage:"未保存の変更があります。破棄しますか?",unsavedTitle:"Save changes to {name}?",unsavedBody:"Your changes will be lost if you don't save them.",failedLoad:"ファイルの読み込みに失敗しました: {error}",failedSave:"保存に失敗しました: {error}",openFull:"Open in full editor",artifact:"Artifact",readOnly:"読み取り専用",line:"行",column:"列",gitDiff:"Git 差分",typeText:"テキストを入力して挿入...",insert:"挿入",statusModified:"変更済み",statusAdded:"追加済み",statusUntracked:"未追跡"},git:{title:"Git",branch:"ブランチ",changes:"変更",staged:"ステージ済み",unstaged:"未ステージ",untracked:"未追跡",commit:"コミット",commitAndPush:"Commit & Push",commitSuccess:"Commit successful",pushSuccess:"Push successful",stageFailed:"Failed to stage changes",commitFailed:"Commit failed",pushFailed:"Push failed",pullSuccess:"Pull successful",pullFailed:"Pull failed",stageAllConfirmTitle:"Stage All & Commit",stageAllConfirmMessage:"No changes are staged. Stage all changes and commit?",stageAndCommit:"Stage & Commit",gitActions:"Git actions",commitPlaceholder:"Commit message…",stageAllNote:"Stage all \xb7 {count}",upToDate:"Everything up-to-date",commitMessage:"コミットメッセージ",push:"プッシュ",pull:"プル",fetch:"フェッチ",stage:"ステージ",stageAll:"すべてステージ",unstage:"ステージ解除",discard:"破棄",discardChanges:"変更を破棄",discardMessage:'"{name}" の変更を破棄しますか?',noChanges:"変更なし",diff:"差分",pushing:"プッシュ中...",pulling:"プル中...",committing:"コミット中...",failedCommit:"コミットに失敗しました: {error}",failedPush:"プッシュに失敗しました: {error}",failedPull:"プルに失敗しました: {error}",status:"ステータス",diffTab:"差分",modified:"変更済み",added:"追加済み",deleted:"削除済み",untrackedTitle:"未追跡",openFile:"ファイルを開く",discardChangesTitle:"変更を破棄",discardConfirmTitle:"変更を破棄",discardConfirmDelete:'"{name}" を削除してもよろしいですか?この操作は元に戻せません。',discardConfirmDiscard:'"{name}" の変更を破棄してもよろしいですか?この操作は元に戻せません。'},remote:{title:"リモートデスクトップ",connecting:"接続中...",disconnected:"切断",fullscreen:"フルスクリーン",exitFullscreen:"フルスクリーンを終了",receivingImage:"Receiving screen…",keyboard:"キーボード",mouse:"マウス",quality:"品質",fps:"FPS",debug:"デバッグ",help:"ヘルプ",close:"閉じる",sendKey:"キーを送信",helpTitle:"リモートデスクトップ ヘルプ",notAvailable:"リモートデスクトップは利用できません",customizeKeys:"キーをカスタマイズ",back:"戻る",resetZoom:"ズームをリセット",refresh:"更新",rectangleSelection:"矩形選択",handMode:"ハンドモード",toggleKeyboard:"ネイティブキーボード切替",hideControls:"Hide controls",showControls:"Show controls",textBatchInput:"テキスト一括入力",extraKeys:"追加キー",customizeRemoteKeys:"リモートキーをカスタマイズ",exitRemote:"リモートデスクトップを終了",debugTitle:"デバッグ統計",minimize:"最小化",transport:"トランスポート",latency:"レイテンシ",tilesPerSec:"タイル/秒",bandwidth:"帯域幅",clearStats:"統計をクリア",lockTitle:"Windows がロックされています",lockGrantDesc:"このPCの9remote hostで「リモートでロック解除」をオンにしてください。",lockDesc:"このコンピューターの Windows PIN またはパスワードを入力してください",lockPlaceholder:"Windows PIN またはパスワード",unlock:"ロック解除",unlocking:"ロック解除中…",unlockFailed:"ロック解除に失敗 — PIN/パスワードを確認して再試行してください。"},remoteHelp:{modePc:"PC / マウス",modeTrackpad:"タッチ \xb7 Trackpad",modeDirect:"タッチ \xb7 ダイレクト",mouseTitle:"マウス",keyboardTitle:"キーボード",gesturesTrackpadTitle:"ジェスチャー (Trackpad ✋)",gesturesDirectTitle:"ジェスチャー (ダイレクト)",toolbarTitle:"ツールバー",mouseClickKey:"クリック / ドラッグ",mouseClickDesc:"左クリック、ドラッグで選択/移動",mouseRightKey:"右クリック",mouseRightDesc:"リモート上のコンテキストメニュー",mouseWheelKey:"ホイール",mouseWheelDesc:"リモートをスクロール (Shift + ホイール = 水平)",mouseDoubleKey:"ダブルクリック",mouseDoubleDesc:"リモート上でダブルクリック",keyPhysicalKey:"物理キー",keyPhysicalDesc:"直接送信 (Tab、Fキーなどキャプチャ)",keyModifierKey:"Ctrl / Alt / Shift / ⌘",keyModifierDesc:"粘着修飾キー — 次のキーと組み合わせます",trackpadSwipeKey:"1本指スワイプ",trackpadSwipeDesc:"仮想カーソルを移動",trackpadTapKey:"1本指タップ",trackpadTapDesc:"カーソル位置で左クリック",trackpad2TapKey:"2本指タップ",trackpad2TapDesc:"カーソル位置で右クリック",trackpad2SwipeKey:"2本指スワイプ",trackpad2SwipeDesc:"カーソル位置でスクロール",trackpadPinchKey:"2本指ピンチ",trackpadPinchDesc:"キャンバスをズーム",trackpadScrollLockKey:"長押し + ドラッグ",trackpadScrollLockDesc:"長押しでスクロール固定、任意の方向にドラッグ",directTapKey:"1本指タップ",directTapDesc:"タップ位置でクリック",directLongKey:"1本指長押し",directLongDesc:"右クリック",directDoubleKey:"1本指ダブルタップ",directDoubleDesc:"ダブルクリック",directScrollKey:"2本指スワイプ",directScrollDesc:"リモートをスクロール",directPinchKey:"2本指ピンチ",directPinchDesc:"キャンバスをズーム",directPanKey:"1本指ドラッグ (zoom>1)",directPanDesc:"キャンバスをパン",toolbarHandDesc:"左クリック保持 (ドラッグモード) — 再度タップで解除",toolbarMouseDirectDesc:"ダイレクトモードに切替",toolbarMouseTrackpadDesc:"Trackpad に切替 (仮想カーソル)",toolbarKeyboardDesc:"ネイティブキーボード / テキスト一括入力",toolbarRectDesc:"矩形選択モード"},remoteControls:{enterToSend:"Tab / Ctrl+Num でタブ切り替え",typeToSend:"送信するテキストを入力...",send:"送信",trackpadMode:"Trackpad モード",directMode:"ダイレクトモード",bottomRow:"下部の行",extraPanel:"追加パネル",exitConfirmMessage:"現在のリモートデスクトップセッションを終了してもよろしいですか?"},connection:{retrying:"再接続中...",waitingApproval:"承認待ち",approvalDescription:"接続する前に 9Remote host がこのデバイスを承認する必要があります。",approvalHint:"あなたのマシンのターミナルを確認してください。",rejectedTitle:"デバイスが拒否されました",rejectedDescription:"このデバイスは 9Remote host によって承認されませんでした。",backToLogin:"ログインに戻る",failed:"接続失敗",failedDescription:"{n} 回の試行後に接続できませんでした",attemptOf:"試行 {n} / {total}",exit:"終了",cancel:"キャンセル",retry:"今すぐ再試行"},notifications:{claudeCode:"Claude Code",codex:"Codex",geminiCli:"Gemini CLI",openCode:"OpenCode",needsInput:"needs input",badgeTitle:"{blocked} needs input, {done} your turn",replied:"replied",agent:"Agent"},sites:{title:"サイト",localSites:"ローカルサイト",selectSitePreview:"プレビューするサイトを選択",browserNewTab:"New tab",browserAddressPlaceholder:"localhost:3000 or /path",browserNotConnected:"Connect to your agent first",portPlaceholder:"ポート",loadingSites:"サイトを読み込み中...",notConnected:"Not connected to the agent",noSitesFound:"サイトが見つかりません",startServerHint:"ローカル開発サーバーを起動するとここに表示されます",siteNamePlaceholder:"サイト名",saveTitle:"保存",editNameTitle:"名前を編集",removeTitle:"削除",removePortTitle:"ポートを削除",removePortMessage:"保存されたリストからポート {port} を削除しますか?",popupBlocked:"ポップアップがブロックされました!このサイトのポップアップを許可してください。",startProxyFailed:"{name} のプロキシセッションを開始できませんでした",foundCount:"{n} サイト{suffix}が見つかりました",focusOpenedTab:"開いたタブにフォーカス",openInNewTab:"新しいタブで開く",goBack:"戻る",goForward:"進む",loadingSite:"読み込み中...",empty:"アクティブなサイトがありません",emptyHint:"ローカルサーバーを起動するとここに表示されます",open:"開く",refresh:"更新"},commandNotes:{title:"コマンドメモ",noSavedCommands:"保存されたコマンドはありません",addFirstBelow:"下に最初のコマンドを追加してください",clickToCopy:"クリックでコピー",copiedBang:"コピーしました!",copy:"コピー",edit:"編集",delete:"削除",editCommandPlaceholder:"コマンドを編集...",addCommandPlaceholder:"コマンドを追加...",update:"更新",add:"追加",empty:"メモはまだありません",emptyHint:"クイックアクセス用にコマンドを保存しましょう",add:"メモを追加",edit:"メモを編集",delete:"メモを削除",deleteMessage:"このメモを削除しますか?",name:"名前",command:"コマンド",save:"保存",placeholderName:"例: 開発サーバーを起動",placeholderCommand:"例: npm run dev"},mobileKeyboard:{pasteHere:"ここに貼り付け (Cmd+V)",enterToSend:"Tab / Ctrl+Num でタブ切り替え",typeCommand:"コマンドを入力して送信...",send:"送信",toggleExtraKeys:"追加キーを切替",toggleTextInput:"テキスト入力を切替",customizeTerminalKeys:"ターミナルキーをカスタマイズ",mainBar:"メインバー",extraPanel:"追加パネル",fileTooLarge:"ファイルが大きすぎます (最大 5MB)",readFileFailed:"ファイルの読み込みに失敗しました",uploadFailed:"ファイルのアップロードに失敗しました: {error}"},terminalPane:{scrollToBottom:"一番下までスクロール",changedFiles:"Changed files",pasteOrType:"ここに貼り付けまたは入力",paste:"貼り付け"},pwaGuide:{copyYourKey:"キーをコピー",copyKeyHint:"下のキーをタップしてコピーしてください — インストール後のログインに必要です",tapToCopyApiKey:"タップして API キーをコピー",copiedBang:"コピーしました!",copy:"コピー",tapShareButton:"共有ボタンをタップ",tapShareHint:"iOS Safari の下部にある共有ボタンをタップしてください",addToHome:"ホーム画面に追加",addToHomeHint:"下にスクロールして「ホーム画面に追加」をタップしてください",openAppPasteKey:"アプリを開いてキーを貼り付け",openAppPasteKeyHint:"インストールしたアプリを開き、キーを貼り付けてログインしてください",openMenu:"メニューを開く",openMenuHint:"Android Chrome でメニューボタン (3つの点) をタップしてください",installApp:"アプリをインストール",installAppHint:"「アプリをインストール」または「ホーム画面に追加」をタップしてください",lookInstallIcon:"インストールアイコンを探す",lookInstallIconHint:"アドレスバーのインストールアイコンを探してください",clickInstallPaste:"インストールしてキーを貼り付け",installNow:"Install Now",installNowHint:"Install 9Remote as an app for quick access",installing:"Installing...",clickInstallPasteHint:"インストールをクリックし、アプリを開いてキーを貼り付けてログインしてください",alternativeHint:"代替: ブラウザメニューを開く →「9Remote をインストール」または「ショートカットを作成」",loadingPlatform:"プラットフォーム検出を読み込み中...",iosPlatform:"iOS (iPhone/iPad)",androidPlatform:"Android",macosPlatform:"macOS",windowsPlatform:"Windows",desktopPlatform:"デスクトップ",alreadyInstalled:"インストール済み!",alreadyInstalledHint:"すでに 9Remote をインストール済みアプリとして使用しています",installationGuide:"インストールガイド",installationSteps:"インストール手順:"},community:{title:"コミュニティ",description:"9Remote コミュニティに参加"},pwa:{title:"アプリとしてインストール",description:"最高の体験のためにデバイスに 9Remote をインストールしましょう",iosTitle:"iOS Safari",androidTitle:"Android Chrome",desktopTitle:"デスクトップ"},codespace:{title:"Codespace",name:"名前",status:"ステータス",running:"実行中",autoStart:"9Remote を自動起動",autoStartHint:"Codespace 起動時に 9Remote を起動します",stop:"Codespace を停止",stopHint:"停止して使用量を節約",restartHint:"再起動するには GitHub にアクセスしてください",unknown:"不明"}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6742],{46742:(e,a,o)=>{o.r(a),o.d(a,{default:()=>i});let i={common:{statusIdle:"Idle",statusWorking:"Working",statusBlocked:"Needs input",statusDone:"Your turn",loading:"Caricamento...",cancel:"Annulla",confirm:"Conferma",save:"Salva",delete:"Elimina",close:"Chiudi",back:"Indietro",edit:"Modifica",rename:"Rinomina",remove:"Rimuovi",open:"Apri",yes:"S\xec",no:"No",ok:"OK",error:"Errore",success:"Successo",failed:"Fallito",retry:"Riprova",refresh:"Aggiorna",clipboard:"Clipboard",clipboardCopy:"Copy",clipboardEmpty:"Clipboard is empty",search:"Cerca",create:"Crea",new:"Nuovo",add:"Aggiungi",copy:"Copia",copied:"Copiato",download:"Scarica",upload:"Carica",enabled:"Attivato",disabled:"Disattivato",on:"attivo",off:"disattivo",minute:"min",hour:"h",day:"g",minutesAgo:"{n} min fa",hoursAgo:"{n} ore fa",daysAgo:"{n} giorni fa"},login:{tagline:"Accedi al tuo terminale ovunque",heroLine1:"Any machine.",heroLine2:"One terminal.",heroLine3:"In your pocket.",featureTerminal:"Terminal",featureDesktop:"Desktop",featureFiles:"Files",termConnected:"agent connected",termTunnel:"tunnel established",termReady:"ready",accessKey:"Chiave di Accesso",placeholder:"sk-xxx... o Chiave Monouso (ABC123)",rememberKey:"Ricorda questa chiave",connect:"Connetti",connecting:"Connessione...",authenticating:"Autenticazione con token...",invalidKeyTail:"Wrong access key — check the last characters and try again.",scanQr:"Scan QR to login",qrScanTitle:"Scan QR Code",qrHint:"Point the camera at the QR code shown on the machine running 9Remote.",qrDetected:"QR Code detected!",qrAuthenticating:"Authenticating...",qrPleaseWait:"Please wait...",qrLibFail:"Failed to load the QR scanner library.",qrInitFail:"Could not start the scanner.",qrCamDenied:"Camera permission denied. Allow camera access and try again.",qrNoCamera:"No camera found on this device.",qrCamBusy:"Camera is in use by another app.",qrCamError:"Could not open the camera.",savedKeys:"Chiavi Salvate",login:"Accedi",lastLogin:"Ultimo accesso",namePlaceholder:"Name this key (optional)",rename:"Rename",deleteKeyTitle:"Delete key",deleteKeyConfirm:'Are you sure you want to delete "{name}"?',justNow:"Adesso",minutesAgo:"{n}m fa",hoursAgo:"{n}h fa",daysAgo:"{n}g fa",tapToScan:"Tocca per scansionare",orEnterManually:"o inserisci la chiave manualmente",addKey:"Add Key",secureTitle:"Secure & Encrypted",secureDesc:"All connections are end-to-end encrypted and secure.",featAccessTitle:"Access Anywhere",featAccessDesc:"Connect from any device, anywhere.",featSecureTitle:"Secure Connection",featSecureDesc:"End-to-end encryption keeps you safe.",featFastTitle:"Fast & Reliable",featFastDesc:"Low latency and high performance.",featSessionsTitle:"Multiple Sessions",featSessionsDesc:"Manage and switch between sessions.",home:"Home",docs:"Documenti"},menu:{reloadRestart:"Reload & Restart",restartHost:"Restart 9remote host",restartConfirmTitle:"Restart 9remote host?",restartConfirmMessage:"This restarts the agent process (no reinstall). Terminal sessions are preserved. It takes a few seconds.",restartStarting:"Restarting host…",restartRestarting:"Restarting 9remote…",restartDone:"Restarted! Reconnecting…",restartTimeout:"Restart is taking too long",restartTimeoutHint:"Reconnect manually if it doesn't recover.",title:"Menu",language:"Lingua",theme:"Tema",notifications:"Notifiche",webgl:"GPU Render (Faster)",webglHint:"Disattiva se il testo \xe8 errato",notificationsHint:"Notify when agent finishes",files:"File Explorer",downloading:"Downloading",copying:"Copying",conflictTitle:"File already exists",conflictMessage:"{name} already exists. Replace or skip?",skip:"Skip",skipAll:"Skip all",replace:"Replace",replaceAll:"Replace all",sites:"Siti",commandNotes:"Note Comandi",community:"Comunit\xe0",installApp:"Installa App",codespace:"Codespace",logout:"Esci",settingsGeneral:"General",settingsAppearance:"Appearance",settingsTerminalTab:"Terminal",settingsMcp:"Plugins",mcpIntro:"Extra abilities you can give your AI coding tools.",mcpTools:"Allow",mcpRestartHint:"Turning it off applies at once. Turning it on needs the AI tool restarted.",mcpUnavailable:"Update this host to use MCP.",artifactFormats:"Formats it can show",mcpClients:"Works with",settingsWorkspace:"Workspace",settingsApplication:"Application",settingsAccount:"Account",themeLight:"Light",themeDark:"Dark",reload:"Ricarica app",remoteDesktop:"Desktop Remoto",settings:"Impostazioni",enablePush:"Attiva Notifiche Push",disablePush:"Disattiva Notifiche Push",pushHint:"Attiva le notifiche push per essere avvisato quando l'IA completa le attivit\xe0",pushActiveHint:"Push notifications are on for this device. You'll be alerted when AI completes tasks.",versionMismatch:"Agent {version} \xe8 obsoleto",versionMismatchHint:"Alcune funzionalit\xe0 potrebbero non funzionare. Esegui:",updateNow:"Update now",updating:"Updating… reconnecting",webReloadTitle:"New web version available",webReloadHint:"Reload to get the latest interface.",reloadWeb:"Reload",updateAvailableTitle:"9Remote host update available",updateStarting:"Starting update…",updateInstalling:"Installing new version…",updateTimeout:"Update is taking too long",updateTimeoutHint:"Reload manually if it doesn't recover.",updateRestarting:"Restarting agent…",updateReconnecting:"Reconnecting…",updateDone:"Updated! Reloading…",version:"Versione"},workspace:{loading:"Caricamento...",logoutTitle:"Esci",logoutMessage:"Sei sicuro di voler uscire?",failedCreateSession:"Creazione sessione fallita: {error}",failedRenameSession:"Rinomina sessione fallita: {error}"},sessions:{headerTitle:"9remote.cc",connected:"Connesso",disconnected:"Disconnesso",codespaceStopped:"Codespace fermato",placeholder:"Nome terminale (opzionale)",newButton:"+ Nuovo",empty:"Nessuna sessione attiva",emptyHint:"Crea una nuova sessione per iniziare",created:"Creato {time}",deleteTitle:"Elimina Sessione",deleteMessage:'Sei sicuro di voler eliminare "{name}"?',editName:"Modifica nome",newTerminal:"Nuovo terminale",options:"Options"},workspaces:{title:"Groups",newWorkspace:"Group",newWorkspacePrompt:"Group name",defaultName:"New Group",ungrouped:"Ungrouped",addTerminal:"Add terminal to group",moveToWorkspace:"Move to group",rename:"Rename group",delete:"Delete group",emptyWorkspace:"No terminals in this group",deleteTitle:"Delete Group",deleteMessage:'Delete group "{name}"? Terminals move to Ungrouped.'},terminal:{quotaNoData:"No quota data",quotaUsageTitle:"usage",back:"Indietro",menu:"Menu",newTerminal:"Nuovo terminale",remoteDesktop:"Desktop Remoto",defaultName:"Term"},files:{selectWorkspace:"Seleziona Workspace",recentWorkspaces:"Workspace Recenti",home:"Home",root:"Root",drive:"Unit\xe0 {letter}",codespaces:"Codespaces",removeRecent:"Rimuovi dai recenti",removeTitle:"Rimuovi Workspace",removeMessage:'Rimuovere "{name}" dai workspace recenti?',setAsWorkspace:"Imposta come Workspace",openFolder:"Apri Cartella",newFile:"Nuovo File",newFolder:"Nuova Cartella",rename:"Rinomina",delete:"Elimina",deleteFile:"Elimina File",deleteFolder:"Elimina Cartella",deleteFileMessage:'Eliminare "{name}"?',deleteFolderMessage:'Eliminare la cartella "{name}" e tutto il suo contenuto?',emptyFolder:"Cartella vuota",git:"Git",parent:"Cartella superiore",workspace:"Workspace",failedLoad:"Caricamento fallito: {error}",failedDelete:"Eliminazione fallita: {error}",failedCreate:"Creazione fallita: {error}",failedRename:"Rinomina fallita: {error}",enterName:"Inserisci nome",confirmRename:"Rinomina in:",setWorkspace:"Imposta Workspace",setAsWorkspaceTitle:"Imposta come workspace",switchWorkspace:"Cambia workspace",searchFiles:"Cerca file",toggleHidden:"Mostra/nascondi file nascosti",searchPlaceholder:"Cerca file...",searching:"Ricerca...",noFilesFound:"Nessun file trovato",noGitRepo:"Nessun repository Git",cannotOpenBinary:"Impossibile aprire file binario",createNew:"Crea Nuovo",file:"File",folder:"Cartella",placeholderFile:"nomefile.js",placeholderFolder:"nome-cartella",pickFile:"Choose files",pickFolder:"Choose folder",copyPath:"Copia percorso",copyRelPath:"Copy Relative Path",copyName:"Copy Filename",delete:"Elimina",rename:"Rinomina",deleteConfirmTitle:"Elimina",deleteConfirmMessage:'Eliminare "{name}"?'},editor:{save:"Salva",saving:"Salvataggio...",saved:"Salvato",unsaved:"Modifiche non salvate",close:"Chiudi",discard:"Scarta",discardTitle:"Scarta Modifiche",discardMessage:"Hai modifiche non salvate. Scartarle?",unsavedTitle:"Save changes to {name}?",unsavedBody:"Your changes will be lost if you don't save them.",failedLoad:"Caricamento file fallito: {error}",failedSave:"Salvataggio fallito: {error}",openFull:"Open in full editor",artifact:"Artifact",readOnly:"Sola lettura",line:"Riga",column:"Colonna",gitDiff:"Differenze Git",typeText:"Digita testo e inserisci...",insert:"Inserisci",statusModified:"Modificato",statusAdded:"Aggiunto",statusUntracked:"Non tracciato"},git:{title:"Git",branch:"Ramo",changes:"Modifiche",staged:"In stage",unstaged:"Fuori stage",untracked:"Non tracciato",commit:"Commit",commitAndPush:"Commit & Push",commitSuccess:"Commit successful",pushSuccess:"Push successful",stageFailed:"Failed to stage changes",commitFailed:"Commit failed",pushFailed:"Push failed",pullSuccess:"Pull successful",pullFailed:"Pull failed",stageAllConfirmTitle:"Stage All & Commit",stageAllConfirmMessage:"No changes are staged. Stage all changes and commit?",stageAndCommit:"Stage & Commit",gitActions:"Git actions",commitPlaceholder:"Commit message…",stageAllNote:"Stage all \xb7 {count}",upToDate:"Everything up-to-date",commitMessage:"Messaggio di commit",push:"Push",pull:"Pull",fetch:"Fetch",stage:"In stage",stageAll:"Stage Tutto",unstage:"Fuori stage",discard:"Scarta",discardChanges:"Scarta Modifiche",discardMessage:'Scartare le modifiche a "{name}"?',noChanges:"Nessuna modifica",diff:"Differenze",pushing:"Push in corso...",pulling:"Pull in corso...",committing:"Commit in corso...",failedCommit:"Commit fallito: {error}",failedPush:"Push fallito: {error}",failedPull:"Pull fallito: {error}",status:"Stato",diffTab:"Differenze",modified:"Modificato",added:"Aggiunto",deleted:"Eliminato",untrackedTitle:"Non tracciato",openFile:"Apri file",discardChangesTitle:"Scarta modifiche",discardConfirmTitle:"Scarta Modifiche",discardConfirmDelete:'Sei sicuro di voler eliminare "{name}"? Questa azione non pu\xf2 essere annullata.',discardConfirmDiscard:'Sei sicuro di voler scartare le modifiche in "{name}"? Questa azione non pu\xf2 essere annullata.'},remote:{title:"Desktop Remoto",connecting:"Connessione...",disconnected:"Disconnesso",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",receivingImage:"Receiving screen…",keyboard:"Tastiera",mouse:"Mouse",quality:"Qualit\xe0",fps:"FPS",debug:"Debug",help:"Aiuto",close:"Chiudi",sendKey:"Invia Tasto",helpTitle:"Aiuto Desktop Remoto",notAvailable:"Desktop remoto non disponibile",customizeKeys:"Personalizza tasti",back:"Indietro",resetZoom:"Reimposta zoom",refresh:"Aggiorna",rectangleSelection:"Selezione rettangolare",handMode:"Modalit\xe0 mano",toggleKeyboard:"Attiva/disattiva tastiera nativa",hideControls:"Hide controls",showControls:"Show controls",textBatchInput:"Inserimento testo batch",extraKeys:"Tasti extra",customizeRemoteKeys:"Personalizza Tasti Remoti",exitRemote:"Esci dal desktop remoto",debugTitle:"Statistiche Debug",minimize:"Riduci a icona",transport:"Trasporto",latency:"Latenza",tilesPerSec:"Tile/sec",bandwidth:"Larghezza di banda",clearStats:"Cancella Statistiche",lockTitle:"Windows \xe8 bloccato",lockGrantDesc:'Attiva "Sblocca PC da remoto" in 9remote host su questo PC.',lockDesc:"Inserisci il PIN o la password di Windows per questo computer",lockPlaceholder:"PIN o password di Windows",unlock:"Sblocca",unlocking:"Sblocco in corso…",unlockFailed:"Sblocco fallito — controlla PIN/password e riprova."},remoteHelp:{modePc:"PC / Mouse",modeTrackpad:"Tocco \xb7 Trackpad",modeDirect:"Tocco \xb7 Diretto",mouseTitle:"Mouse",keyboardTitle:"Tastiera",gesturesTrackpadTitle:"Gesti (Trackpad ✋)",gesturesDirectTitle:"Gesti (Diretto)",toolbarTitle:"Barra strumenti",mouseClickKey:"Clic / Trascina",mouseClickDesc:"Clic sinistro, trascina per selezionare/spostare",mouseRightKey:"Clic destro",mouseRightDesc:"Menu contestuale sul remoto",mouseWheelKey:"Rotella",mouseWheelDesc:"Scorri remoto (Shift + Rotella = orizzontale)",mouseDoubleKey:"Doppio clic",mouseDoubleDesc:"Doppio clic sul remoto",keyPhysicalKey:"Tasti fisici",keyPhysicalDesc:"Inviati direttamente (Tab, tasti F, ecc. catturati)",keyModifierKey:"Ctrl / Alt / Shift / ⌘",keyModifierDesc:"Modificatore persistente — combina con il tasto successivo",trackpadSwipeKey:"Scorrimento 1 dito",trackpadSwipeDesc:"Sposta il cursore virtuale",trackpadTapKey:"Tocco 1 dito",trackpadTapDesc:"Clic sinistro al cursore",trackpad2TapKey:"Tocco 2 dita",trackpad2TapDesc:"Clic destro al cursore",trackpad2SwipeKey:"Scorrimento 2 dita",trackpad2SwipeDesc:"Scorri alla posizione del cursore",trackpadPinchKey:"Pizzico 2 dita",trackpadPinchDesc:"Zoom canvas",trackpadScrollLockKey:"Tieni premuto + trascina",trackpadScrollLockDesc:"Tieni premuto per bloccare lo scroll, trascina in qualsiasi direzione",directTapKey:"Tocco 1 dito",directTapDesc:"Clic alla posizione del tocco",directLongKey:"Pressione lunga 1 dito",directLongDesc:"Clic destro",directDoubleKey:"Doppio tocco 1 dito",directDoubleDesc:"Doppio clic",directScrollKey:"Scorrimento 2 dita",directScrollDesc:"Scorri remoto",directPinchKey:"Pizzico 2 dita",directPinchDesc:"Zoom canvas",directPanKey:"Trascinamento 1 dito (zoom>1)",directPanDesc:"Sposta canvas",toolbarHandDesc:"Mantieni clic sinistro (modalit\xe0 trascina) — tocca di nuovo per rilasciare",toolbarMouseDirectDesc:"Passa alla modalit\xe0 Diretta",toolbarMouseTrackpadDesc:"Passa al Trackpad (cursore virtuale)",toolbarKeyboardDesc:"Tastiera nativa / inserimento testo batch",toolbarRectDesc:"Modalit\xe0 selezione rettangolare"},remoteControls:{enterToSend:"Tab / Ctrl+Num per cambiare scheda",typeToSend:"Digita testo da inviare...",send:"Invia",trackpadMode:"Modalit\xe0 Trackpad",directMode:"Modalit\xe0 Diretta",bottomRow:"Riga Inferiore",extraPanel:"Pannello Extra",exitConfirmMessage:"Sei sicuro di voler uscire dalla sessione corrente del desktop remoto?"},connection:{retrying:"Riconnessione...",waitingApproval:"In attesa di Approvazione",approvalDescription:"Il 9Remote host deve approvare questo dispositivo prima che tu possa connetterti.",approvalHint:"Controlla il terminale sulla tua macchina.",rejectedTitle:"Dispositivo Rifiutato",rejectedDescription:"Questo dispositivo non \xe8 stato approvato dal 9Remote host.",backToLogin:"Torna al Login",failed:"Connessione Fallita",failedDescription:"Impossibile connettersi dopo {n} tentativi",attemptOf:"Tentativo {n} di {total}",exit:"Esci",cancel:"Annulla",retry:"Riprova ora"},notifications:{claudeCode:"Claude Code",codex:"Codex",geminiCli:"Gemini CLI",openCode:"OpenCode",needsInput:"needs input",badgeTitle:"{blocked} needs input, {done} your turn",replied:"replied",agent:"Agent"},sites:{title:"Siti",localSites:"Siti Locali",selectSitePreview:"Seleziona un sito per l'anteprima",browserNewTab:"New tab",browserAddressPlaceholder:"localhost:3000 or /path",browserNotConnected:"Connect to your agent first",portPlaceholder:"porta",loadingSites:"Caricamento Siti...",notConnected:"Not connected to the agent",noSitesFound:"Nessun sito trovato",startServerHint:"Avvia un server di sviluppo locale per vederlo qui",siteNamePlaceholder:"Nome del sito",saveTitle:"Salva",editNameTitle:"Modifica nome",removeTitle:"Rimuovi",removePortTitle:"Rimuovi Porta",removePortMessage:"Rimuovere la porta {port} dall'elenco salvato?",popupBlocked:"Popup bloccato! Consenti i popup per questo sito.",startProxyFailed:"Avvio sessione proxy fallito per {name}",foundCount:"{n} sito{suffix} trovato",focusOpenedTab:"Metti a fuoco scheda aperta",openInNewTab:"Apri in nuova scheda",goBack:"Torna indietro",goForward:"Vai avanti",loadingSite:"Caricamento...",empty:"Nessun sito attivo",emptyHint:"Esegui un server locale per vederlo qui",open:"Apri",refresh:"Aggiorna"},commandNotes:{title:"Note Comandi",noSavedCommands:"Nessun comando salvato",addFirstBelow:"Aggiungi il tuo primo comando qui sotto",clickToCopy:"Clicca per copiare",copiedBang:"Copiato!",copy:"Copia",edit:"Modifica",delete:"Elimina",editCommandPlaceholder:"Modifica comando...",addCommandPlaceholder:"Aggiungi comando...",update:"Aggiorna",add:"Aggiungi",empty:"Ancora nessuna nota",emptyHint:"Salva comandi per accesso rapido",add:"Aggiungi Nota",edit:"Modifica Nota",delete:"Elimina Nota",deleteMessage:"Eliminare questa nota?",name:"Nome",command:"Comando",save:"Salva",placeholderName:"es. Avvia server di sviluppo",placeholderCommand:"es. npm run dev"},mobileKeyboard:{pasteHere:"Incolla qui (Cmd+V)",enterToSend:"Tab / Ctrl+Num per cambiare scheda",typeCommand:"Digita comando e invia...",send:"Invia",toggleExtraKeys:"Attiva/disattiva tasti extra",toggleTextInput:"Attiva/disattiva inserimento testo",customizeTerminalKeys:"Personalizza Tasti Terminale",mainBar:"Barra Principale",extraPanel:"Pannello Extra",fileTooLarge:"File troppo grande (max 5MB)",readFileFailed:"Lettura file fallita",uploadFailed:"Caricamento file fallito: {error}"},terminalPane:{scrollToBottom:"Scorri in fondo",changedFiles:"Changed files",pasteOrType:"Incolla o digita qui",paste:"Incolla"},pwaGuide:{copyYourKey:"Copia la Tua Chiave",copyKeyHint:"Tocca la chiave qui sotto per copiarla — ti servir\xe0 per accedere dopo l'installazione",tapToCopyApiKey:"Tocca per copiare la chiave API",copiedBang:"Copiato!",copy:"Copia",tapShareButton:"Tocca il Pulsante Condividi",tapShareHint:"Tocca il pulsante condividi in fondo a Safari",addToHome:"Aggiungi alla schermata Home",addToHomeHint:'Scorri verso il basso e tocca "Aggiungi alla schermata Home"',openAppPasteKey:"Apri App e Incolla Chiave",openAppPasteKeyHint:"Apri l'app installata e incolla la tua chiave per accedere",openMenu:"Apri Menu",openMenuHint:"Tocca il pulsante menu (tre puntini) in Chrome",installApp:"Installa App",installAppHint:'Tocca "Installa app" o "Aggiungi a schermata Home"',lookInstallIcon:"Cerca l'Icona di Installazione",lookInstallIconHint:"Cerca l'icona di installazione nella barra degli indirizzi",clickInstallPaste:"Clicca Installa e Incolla la Chiave",installNow:"Install Now",installNowHint:"Install 9Remote as an app for quick access",installing:"Installing...",clickInstallPasteHint:"Clicca installa, apri l'app e incolla la tua chiave per accedere",alternativeHint:'Alternativa: Apri menu del browser → "Installa 9Remote" o "Crea collegamento"',loadingPlatform:"Caricamento rilevamento piattaforma...",iosPlatform:"iOS (iPhone/iPad)",androidPlatform:"Android",macosPlatform:"macOS",windowsPlatform:"Windows",desktopPlatform:"Desktop",alreadyInstalled:"Gi\xe0 Installato!",alreadyInstalledHint:"Stai gi\xe0 usando 9Remote come app installata",installationGuide:"Guida all'Installazione",installationSteps:"Passaggi di Installazione:"},community:{title:"Comunit\xe0",description:"Unisciti alla comunit\xe0 9Remote"},pwa:{title:"Installa come App",description:"Installa 9Remote sul tuo dispositivo per la migliore esperienza",iosTitle:"iOS Safari",androidTitle:"Android Chrome",desktopTitle:"Desktop"},codespace:{title:"Codespace",name:"Nome",status:"Stato",running:"In esecuzione",autoStart:"Avvio Automatico 9Remote",autoStartHint:"Avvia 9Remote quando il codespace si apre",stop:"Ferma Codespace",stopHint:"Ferma per risparmiare utilizzo",restartHint:"Per riavviare, vai su GitHub",unknown:"Sconosciuto"}}}}]);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6987],{25292:(e,t,s)=>{s.d(t,{P:()=>a});var i=s(84187),r=s(14561),n=s(68567),a=(0,n.K)((e,t,s,n)=>{e.attr("class",s);let{width:a,height:c,x:h,y:u}=l(e,t);(0,i.a$)(e,c,a,n);let y=o(h,u,a,c,t);e.attr("viewBox",y),r.R.debug(`viewBox configured: ${y} with padding: ${t}`)},"setupViewPortForSVG"),l=(0,n.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),o=(0,n.K)((e,t,s,i,r)=>`${e-r} ${t-r} ${s} ${i}`,"createViewBox")},32631:(e,t,s)=>{s.d(t,{A:()=>n});var i=s(68567),r=s(10312),n=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ltv)("#i"+e)),("sandbox"===t?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},86987:(e,t,s)=>{s.d(t,{diagram:()=>p});var i=s(32631),r=s(25292),n=s(27546);s(11016),s(42982),s(88921),s(34939),s(49877),s(16111),s(12989);var a=s(49519),l=s(84187),o=s(14561),c=s(68567),h=function(){var e=(0,c.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,3],s=[1,4],i=[1,5],r=[1,6],n=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],l=[2,7],o=[1,26],h=[1,27],u=[1,28],y=[1,29],m=[1,33],d=[1,34],E=[1,35],p=[1,36],R=[1,37],g=[1,38],_=[1,24],f=[1,31],S=[1,32],I=[1,30],b=[1,39],T=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],N=[1,61],q=[89,90],C=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],A=[27,29],L=[1,70],$=[1,71],v=[1,72],x=[1,73],w=[1,74],O=[1,75],D=[1,76],M=[1,83],F=[1,80],K=[1,84],P=[1,85],V=[1,86],U=[1,87],Y=[1,88],B=[1,89],Q=[1,90],H=[1,91],W=[1,92],j=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],z=[63,64],G=[1,101],X=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Z=[1,110],ee=[1,106],et=[1,107],es=[1,108],ei=[1,109],er=[1,111],en=[1,116],ea=[1,117],el=[1,114],eo=[1,115],ec={trace:(0,c.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:(0,c.K)(function(e,t,s,i,r,n,a){var l=n.length-1;switch(r){case 4:this.$=n[l].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=n[l].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(n[l-3],n[l-4]);break;case 22:i.addRequirement(n[l-5],n[l-6]),i.setClass([n[l-5]],n[l-3]);break;case 23:i.setNewReqId(n[l-2]);break;case 24:i.setNewReqText(n[l-2]);break;case 25:i.setNewReqRisk(n[l-2]);break;case 26:i.setNewReqVerifyMethod(n[l-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(n[l-3]);break;case 43:i.addElement(n[l-5]),i.setClass([n[l-5]],n[l-3]);break;case 44:i.setNewElementType(n[l-2]);break;case 45:i.setNewElementDocRef(n[l-2]);break;case 48:i.addRelationship(n[l-2],n[l],n[l-4]);break;case 49:i.addRelationship(n[l-2],n[l-4],n[l]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=n[l-2],i.defineClass(n[l-1],n[l]);break;case 58:i.setClass(n[l-1],n[l]);break;case 59:i.setClass([n[l-2]],n[l]);break;case 60:case 62:case 65:this.$=[n[l]];break;case 61:case 63:this.$=n[l-2].concat([n[l]]);break;case 64:this.$=n[l-2],i.setCssStyle(n[l-1],n[l]);break;case 66:n[l-2].push(n[l]),this.$=n[l-2];break;case 68:this.$=n[l-1]+n[l]}},"anonymous"),table:[{3:1,4:2,6:t,9:s,11:i,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:s,11:i,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(n,[2,6]),{3:12,4:2,6:t,9:s,11:i,13:r},{1:[2,2]},{4:17,5:a,7:13,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},e(n,[2,4]),e(n,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:a,7:42,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:43,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:44,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:45,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:46,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:47,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:48,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:49,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{4:17,5:a,7:50,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:_,72:f,74:S,77:I,89:b,90:T},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(k,[2,17]),e(k,[2,18]),e(k,[2,19]),e(k,[2,20]),{30:60,33:62,75:N,89:b,90:T},{30:63,33:62,75:N,89:b,90:T},{30:64,33:62,75:N,89:b,90:T},e(q,[2,29]),e(q,[2,30]),e(q,[2,31]),e(q,[2,32]),e(q,[2,33]),e(q,[2,34]),e(C,[2,81]),e(C,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(A,[2,79]),e(A,[2,80]),{27:[1,67],29:[1,68]},e(A,[2,85]),e(A,[2,86]),{62:69,65:L,66:$,67:v,68:x,69:w,70:O,71:D},{62:77,65:L,66:$,67:v,68:x,69:w,70:O,71:D},{30:78,33:62,75:N,89:b,90:T},{73:79,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,60]),e(j,[2,62]),{73:93,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},{30:94,33:62,75:N,76:F,89:b,90:T},{5:[1,95]},{30:96,33:62,75:N,89:b,90:T},{5:[1,97]},{30:98,33:62,75:N,89:b,90:T},{63:[1,99]},e(z,[2,50]),e(z,[2,51]),e(z,[2,52]),e(z,[2,53]),e(z,[2,54]),e(z,[2,55]),e(z,[2,56]),{64:[1,100]},e(k,[2,59],{76:F}),e(k,[2,64],{76:G}),{33:103,75:[1,102],89:b,90:T},e(X,[2,65],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),e(J,[2,67]),e(J,[2,69]),e(J,[2,70]),e(J,[2,71]),e(J,[2,72]),e(J,[2,73]),e(J,[2,74]),e(J,[2,75]),e(J,[2,76]),e(J,[2,77]),e(J,[2,78]),e(k,[2,57],{76:G}),e(k,[2,58],{76:F}),{5:Z,28:105,31:ee,34:et,36:es,38:ei,40:er},{27:[1,112],76:F},{5:en,40:ea,56:113,57:el,59:eo},{27:[1,118],76:F},{33:119,89:b,90:T},{33:120,89:b,90:T},{75:M,78:121,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,61]),e(j,[2,63]),e(J,[2,68]),e(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Z,28:126,31:ee,34:et,36:es,38:ei,40:er},e(k,[2,28]),{5:[1,127]},e(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:en,40:ea,56:130,57:el,59:eo},e(k,[2,47]),{5:[1,131]},e(k,[2,48]),e(k,[2,49]),e(X,[2,66],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),{33:132,89:b,90:T},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(k,[2,27]),{5:Z,28:145,31:ee,34:et,36:es,38:ei,40:er},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(k,[2,46]),{5:en,40:ea,56:152,57:el,59:eo},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(k,[2,43]),{5:Z,28:159,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:160,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:161,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:162,31:ee,34:et,36:es,38:ei,40:er},{5:en,40:ea,56:163,57:el,59:eo},{5:en,40:ea,56:164,57:el,59:eo},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(k,[2,26]),e(k,[2,44]),e(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:(0,c.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,c.K)(function(e){var t=this,s=[0],i=[],r=[null],n=[],a=this.table,l="",o=0,h=0,u=0,y=n.slice.call(arguments,1),m=Object.create(this.lexer),d={};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(d[E]=this.yy[E]);m.setInput(e,d),d.lexer=m,d.parser=this,void 0===m.yylloc&&(m.yylloc={});var p=m.yylloc;n.push(p);var R=m.options&&m.options.ranges;function g(){var e;return"number"!=typeof(e=i.pop()||m.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,c.K)(g,"lex");for(var _,f,S,I,b,T,k,N,q,C={};;){if(S=s[s.length-1],this.defaultActions[S]?I=this.defaultActions[S]:(null==_&&(_=g()),I=a[S]&&a[S][_]),void 0===I||!I.length||!I[0]){var A="";for(T in q=[],a[S])this.terminals_[T]&&T>2&&q.push("'"+this.terminals_[T]+"'");A=m.showPosition?"Parse error on line "+(o+1)+":\n"+m.showPosition()+"\nExpecting "+q.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(A,{text:m.match,token:this.terminals_[_]||_,line:m.yylineno,loc:p,expected:q})}if(I[0]instanceof Array&&I.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+_);switch(I[0]){case 1:s.push(_),r.push(m.yytext),n.push(m.yylloc),s.push(I[1]),_=null,f?(_=f,f=null):(h=m.yyleng,l=m.yytext,o=m.yylineno,p=m.yylloc,u>0&&u--);break;case 2:if(k=this.productions_[I[1]][1],C.$=r[r.length-k],C._$={first_line:n[n.length-(k||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(k||1)].first_column,last_column:n[n.length-1].last_column},R&&(C._$.range=[n[n.length-(k||1)].range[0],n[n.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[l,h,o,d,I[1],r,n].concat(y))))return b;k&&(s=s.slice(0,-1*k*2),r=r.slice(0,-1*k),n=n.slice(0,-1*k)),s.push(this.productions_[I[1]][0]),r.push(C.$),n.push(C._$),N=a[s[s.length-2]][s[s.length-1]],s.push(N);break;case 3:return!0}}return!0},"parse")};function eh(){this.yy={}}return ec.lexer={EOF:1,parseError:(0,c.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,c.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,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,c.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.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),e},"input"),unput:(0,c.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.length-1);var r=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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K)(function(){return this._more=!0,this},"more"),reject:(0,c.K)(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,c.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,c.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,c.K)(function(e,t){var s,i,r;if(this.options.backtrack_lexer&&(r={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&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,c.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===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,c.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,c.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,c.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K)(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,c.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,c.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,c.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K)(function(e,t,s,i){switch(s){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return t.yytext=t.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,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,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}},(0,c.K)(eh,"Parser"),eh.prototype=ec,ec.Parser=eh,new eh}();h.parser=h;var u=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=l.SV,this.getAccTitle=l.iN,this.setAccDescription=l.EI,this.getAccDescription=l.m7,this.setDiagramTitle=l.ke,this.getDiagramTitle=l.ab,this.getConfig=(0,c.K)(()=>(0,l.D7)().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,c.K)(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,t){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:t,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=e)}setNewReqText(e){void 0!==this.latestRequirement&&(this.latestRequirement.text=e)}setNewReqRisk(e){void 0!==this.latestRequirement&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),o.R.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){void 0!==this.latestElement&&(this.latestElement.type=e)}setNewElementDocRef(e){void 0!==this.latestElement&&(this.latestElement.docRef=e)}addRelationship(e,t,s){this.relations.push({type:e,src:t,dst:s})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,(0,l.IU)()}setCssStyle(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(!t||!e)return;for(let s of t)s.includes(",")?e.cssStyles.push(...s.split(",")):e.cssStyles.push(s)}}setClass(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(e)for(let s of t){e.classes.push(s);let t=this.classes.get(s)?.styles;t&&e.cssStyles.push(...t)}}}defineClass(e,t){for(let s of e){let e=this.classes.get(s);void 0===e&&(e={id:s,styles:[],textStyles:[]},this.classes.set(s,e)),t&&t.forEach(function(t){if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)}),this.requirements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))}),this.elements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))})}}getClasses(){return this.classes}getData(){let e=(0,l.D7)(),t=[],s=[];for(let s of this.requirements.values())s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.shape="requirementBox",s.look=e.look,s.colorIndex=t.length,t.push(s);for(let s of this.elements.values())s.shape="requirementBox",s.look=e.look,s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.colorIndex=t.length,t.push(s);let i=0;for(let t of this.relations){let r=t.type===this.Relationships.CONTAINS,n={id:`${t.src}-${t.dst}-${i++}`,start:this.requirements.get(t.src)?.name??this.elements.get(t.src)?.name,end:this.requirements.get(t.dst)?.name??this.elements.get(t.dst)?.name,label:`<<${t.type}>>`,classes:"relationshipLine",style:["fill:none",r?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:r?"normal":"dashed",arrowTypeStart:r?"requirement_contains":"",arrowTypeEnd:r?"":"requirement_arrow",look:e.look,labelType:"markdown"};s.push(n)}return{nodes:t,edges:s,other:{},config:e,direction:this.getDirection()}}},y=(0,c.K)(e=>{let{themeVariables:t,look:s}=(0,l.zj)(),{bkgColorArray:i,borderColorArray:r}=t;if(!r?.length)return"";let n="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)n+=`
|
|
2
|
+
|
|
3
|
+
[data-look="${s}"][data-color-id="color-${t}"].node path {
|
|
4
|
+
stroke: ${r[t]};
|
|
5
|
+
fill: ${i?.length?i[t]:""};
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
[data-look="${s}"][data-color-id="color-${t}"].node rect {
|
|
9
|
+
stroke: ${r[t]};
|
|
10
|
+
fill: ${i?.length?i[t]:""};
|
|
11
|
+
}
|
|
12
|
+
`;return n},"genColor"),m=(0,c.K)(e=>{let{look:t,themeVariables:s}=(0,l.zj)(),{requirementEdgeLabelBackground:i}=s;return`
|
|
13
|
+
${y(e)}
|
|
14
|
+
marker {
|
|
15
|
+
fill: ${e.relationColor};
|
|
16
|
+
stroke: ${e.relationColor};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
marker.cross {
|
|
20
|
+
stroke: ${e.lineColor};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
svg {
|
|
24
|
+
font-family: ${e.fontFamily};
|
|
25
|
+
font-size: ${e.fontSize};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.reqBox {
|
|
29
|
+
fill: ${e.requirementBackground};
|
|
30
|
+
fill-opacity: 1.0;
|
|
31
|
+
stroke: ${e.requirementBorderColor};
|
|
32
|
+
stroke-width: ${e.requirementBorderSize};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.reqTitle, .reqLabel{
|
|
36
|
+
fill: ${e.requirementTextColor};
|
|
37
|
+
}
|
|
38
|
+
.reqLabelBox {
|
|
39
|
+
fill: ${e.relationLabelBackground};
|
|
40
|
+
fill-opacity: 1.0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.req-title-line {
|
|
44
|
+
stroke: ${e.requirementBorderColor};
|
|
45
|
+
stroke-width: ${e.requirementBorderSize};
|
|
46
|
+
}
|
|
47
|
+
.relationshipLine {
|
|
48
|
+
stroke: ${e.relationColor};
|
|
49
|
+
stroke-width: ${"neo"===t?e.strokeWidth:"1px"};
|
|
50
|
+
}
|
|
51
|
+
.relationshipLabel {
|
|
52
|
+
fill: ${e.relationLabelColor};
|
|
53
|
+
}
|
|
54
|
+
.edgeLabel {
|
|
55
|
+
background-color: ${e.edgeLabelBackground};
|
|
56
|
+
}
|
|
57
|
+
.edgeLabel .label rect {
|
|
58
|
+
fill: ${e.edgeLabelBackground};
|
|
59
|
+
}
|
|
60
|
+
.edgeLabel .label text {
|
|
61
|
+
fill: ${e.relationLabelColor};
|
|
62
|
+
}
|
|
63
|
+
.divider {
|
|
64
|
+
stroke: ${e.nodeBorder};
|
|
65
|
+
stroke-width: 1;
|
|
66
|
+
}
|
|
67
|
+
.label {
|
|
68
|
+
font-family: ${e.fontFamily};
|
|
69
|
+
color: ${e.nodeTextColor||e.textColor};
|
|
70
|
+
}
|
|
71
|
+
.label text,span {
|
|
72
|
+
fill: ${e.nodeTextColor||e.textColor};
|
|
73
|
+
color: ${e.nodeTextColor||e.textColor};
|
|
74
|
+
}
|
|
75
|
+
.labelBkg {
|
|
76
|
+
background-color: ${i??e.edgeLabelBackground};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
`},"getStyles"),d={};(0,c.V)(d,{draw:()=>E});var E=(0,c.K)(async function(e,t,s,c){o.R.info("REF0:"),o.R.info("Drawing requirement diagram (unified)",t);let{securityLevel:h,state:u,layout:y,look:m}=(0,l.D7)(),d=c.db.getData(),E=(0,i.A)(t,h);d.type=c.type,d.layoutAlgorithm=(0,n.q7)(y),d.nodeSpacing=u?.nodeSpacing??50,d.rankSpacing=u?.rankSpacing??50,d.markers="neo"===m?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],d.diagramId=t,await (0,n.XX)(d,E),a._K.insertTitle(E,"requirementDiagramTitleText",u?.titleTopMargin??25,c.db.getDiagramTitle()),(0,r.P)(E,8,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),p={parser:h,get db(){return new u},renderer:d,styles:m}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7202],{57202:(a,e,s)=>{s.d(e,{diagram:()=>k.AC});var k=s(28115);s(25658),s(32631),s(25292),s(58109),s(27546),s(67106),s(11016),s(42982),s(88921),s(34939),s(49877),s(16111),s(12989),s(49519),s(84187),s(14561),s(68567)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7233],{37233:(r,e,s)=>{s.d(e,{diagram:()=>l});var a=s(61838);s(25658),s(32631),s(25292),s(27546),s(67106),s(11016),s(42982),s(88921),s(34939),s(49877),s(16111),s(12989),s(49519),s(84187),s(14561);var t=s(68567),l={parser:a._$,get db(){return new a.NM},renderer:a.Lh,styles:a.tM,init:(0,t.K)(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7248],{87248:(e,s,c)=>{c.d(s,{createTreeViewServices:()=>r.I});var r=c(36942);c(24078)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7263],{97263:(e,a,s)=>{s.d(a,{createRailroadEbnfServices:()=>c.W});var c=s(84864);s(24078)}}]);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7341],{77341:(t,e,n)=>{n.d(e,{diagram:()=>te});var i=n(84187);n(14561);var r=n(68567),s=n(10312);function o(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function l(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e*=1)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function c(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function u(t){return function(){return t}}function f(t,e){return d(t.source,e.source)||t.index-e.index}function y(t,e){return d(t.target,e.target)||t.index-e.index}function d(t,e){return t.y0-e.y0}function p(t){return t.value}function g(t){return t.index}function _(t){return t.nodes}function x(t){return t.links}function k(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var b=Math.PI,v=2*b,S=v-1e-6;function E(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function w(){return new E}E.prototype=w.prototype={constructor:E,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t*=1,e*=1,n*=1,i*=1,r*=1;var s=this._x1,o=this._y1,l=n-t,a=i-e,h=s-t,c=o-e,u=h*h+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6)if(Math.abs(c*l-a*h)>1e-6&&r){var f=n-s,y=i-o,d=l*l+a*a,p=Math.sqrt(d),g=Math.sqrt(u),_=r*Math.tan((b-Math.acos((d+u-(f*f+y*y))/(2*p*g)))/2),x=_/g,k=_/p;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*h)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>h*y)+","+(this._x1=t+k*l)+","+(this._y1=e+k*a)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,i,r,s){t*=1,e*=1,n*=1,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),a=t+o,h=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+a+","+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+a+","+h),n&&(u<0&&(u=u%v+v),u>S?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=a)+","+(this._y1=h):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=b)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var K=Array.prototype.slice;function L(t){return function(){return t}}function A(t){return t[0]}function M(t){return t[1]}function I(t){return t.source}function T(t){return t.target}function N(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function P(t){return[t.source.x1,t.y0]}function C(t){return[t.target.x0,t.y1]}var $=function(){var t=(0,r.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,9],n=[1,10],i=[1,5,10,12],s={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,r.K)(function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let a=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),h=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(a,h,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,r.K)(function(t){var e=this,n=[0],i=[],s=[null],o=[],l=this.table,a="",h=0,c=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,r.K)(x,"lex");for(var k,m,b,v,S,E,w,K,L,A={};;){if(b=n[n.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=x()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var M="";for(E in L=[],l[b])this.terminals_[E]&&E>2&&L.push("'"+this.terminals_[E]+"'");M=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:L})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:n.push(k),s.push(y.yytext),o.push(y.yylloc),n.push(v[1]),k=null,m?(k=m,m=null):(c=y.yyleng,a=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[v[1]][1],A.$=s[s.length-w],A._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},_&&(A._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(A,[a,c,h,d,v[1],s,o].concat(f))))return S;w&&(n=n.slice(0,-1*w*2),s=s.slice(0,-1*w),o=o.slice(0,-1*w)),n.push(this.productions_[v[1]][0]),s.push(A.$),o.push(A._$),K=l[n[n.length-2]][n[n.length-1]],n.push(K);break;case 3:return!0}}return!0},"parse")};function o(){this.yy={}}return s.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,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,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.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),t},"input"),unput:(0,r.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),n.length-1&&(this.yylineno-=n.length-1);var r=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(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,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={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&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===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,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(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,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,n,i){switch(n){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,r.K)(o,"Parser"),o.prototype=s,s.Parser=o,new o}();$.parser=$;var D=[],O=[],j=new Map,z=(0,r.K)(()=>{D=[],O=[],j=new Map,(0,i.IU)()},"clear"),F=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,r.K)(this,"SankeyLink")}},U=(0,r.K)((t,e,n)=>{D.push(new F(t,e,n))},"addLink"),W=class{constructor(t){this.ID=t}static{(0,r.K)(this,"SankeyNode")}},V=(0,r.K)(t=>{t=i.Y2.sanitizeText(t,(0,i.D7)());let e=j.get(t);return void 0===e&&(e=new W(t),j.set(t,e),O.push(e)),e},"findOrCreateNode"),G=(0,r.K)(()=>O,"getNodes"),X=(0,r.K)(()=>D,"getLinks"),Y=(0,r.K)(()=>({nodes:O.map(t=>({id:t.ID})),links:D.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),q={nodesMap:j,getConfig:(0,r.K)(()=>(0,i.D7)().sankey,"getConfig"),getNodes:G,getLinks:X,getGraph:Y,addLink:U,findOrCreateNode:V,getAccTitle:i.iN,setAccTitle:i.SV,getAccDescription:i.m7,setAccDescription:i.EI,getDiagramTitle:i.ab,setDiagramTitle:i.ke,clear:z},B=class t{static{(0,r.K)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?o(t.sourceLinks,l)-1:0},justify:a},R=(0,r.K)(t=>{let e=0,n=0;for(let i of t){let t=i.value??0;t>e&&(e=t,n=i.layer??0)}return n},"findCentralNodeLayer"),Z=(0,r.K)(function(t,e,n,l){let b,v,{securityLevel:S,sankey:E}=(0,i.D7)(),$=i.ME.sankey;"sandbox"===S&&(b=(0,s.Ltv)("#i"+e));let D="sandbox"===S?(0,s.Ltv)(b.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),O="sandbox"===S?D.select(`[id="${e}"]`):(0,s.Ltv)(`[id="${e}"]`),j=E?.width??$.width,z=E?.height??$.width,F=E?.useMaxWidth??$.useMaxWidth,U=E?.nodeAlignment??$.nodeAlignment,W=E?.prefix??$.prefix,V=E?.suffix??$.suffix,G=E?.showValues??$.showValues,X=E?.nodeWidth??$.nodeWidth??10,Y=E?.nodePadding??$.nodePadding??12,q=E?.labelStyle??$.labelStyle??"legacy",Z=E?.nodeColors??{},H=l.db.getGraph(),J=Q[U];(function(){let t,e,n=0,i=0,r=1,s=1,l=24,b=8,v,S=g,E=a,w=_,K=x,L=6;function A(){let a={nodes:w.apply(null,arguments),links:K.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[S(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=k(i,n)),"object"!=typeof r&&(r=e.target=k(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(a),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,p),h(e.targetLinks,p)):e.fixedValue}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function(a){let u=function({nodes:e}){let i=c(e,t=>t.depth)+1,s=(r-n-l)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(E.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+l,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(a);v=Math.min(b,(s-i)/(c(u,t=>t.length)-1));let g=o(u,t=>(s-i-(t.length-1)*v)/h(t,p));for(let t of u){let n=i;for(let e of t)for(let t of(e.y0=n,e.y1=n+e.value*g,n=e.y1+v,e.sourceLinks))t.width=t.value*g;n=(s-n+v)/(t.length+1);for(let e=0;e<t.length;++e){let i=t[e];i.y0+=n*(e+1),i.y1+=n*(e+1)}var _=t;if(void 0===e)for(let{sourceLinks:t,targetLinks:e}of _)t.sort(y),e.sort(f)}for(let e=0;e<L;++e){let n=Math.pow(.99,e),i=Math.max(1-n,(e+1)/L);(function(e,n,i){for(let r=e.length,s=r-2;s>=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*v/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+v}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,N(t)}void 0===t&&r.sort(d),M(r,i)}})(u,n,i),function(e,n,i){for(let r=1,s=e.length;r<s;++r){let s=e[r];for(let t of s){let e=0,i=0;for(let{source:n,value:r}of t.targetLinks){let s=r*(t.layer-n.layer);e+=function(t,e){let n=t.y0-(t.sourceLinks.length-1)*v/2;for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n+=r+v}for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n-=r}return n}(n,t)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,N(t)}void 0===t&&s.sort(d),M(s,i)}}(u,n,i)}}(a),m(a),a}function M(t,e){let n=t.length>>1,r=t[n];T(t,r.y0-v,n-1,e),I(t,r.y1+v,n+1,e),T(t,s,t.length-1,e),I(t,i,0,e)}function I(t,e,n,i){for(;n<t.length;++n){let r=t[n],s=(e-r.y0)*i;s>1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+v}}function T(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-v}}function N({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(y);for(let{target:{targetLinks:e}}of t)e.sort(f)}}return A.update=function(t){return m(t),t},A.nodeId=function(t){return arguments.length?(S="function"==typeof t?t:u(t),A):S},A.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:u(t),A):E},A.nodeSort=function(e){return arguments.length?(t=e,A):t},A.nodeWidth=function(t){return arguments.length?(l=+t,A):l},A.nodePadding=function(t){return arguments.length?(b=v=+t,A):b},A.nodes=function(t){return arguments.length?(w="function"==typeof t?t:u(t),A):w},A.links=function(t){return arguments.length?(K="function"==typeof t?t:u(t),A):K},A.linkSort=function(t){return arguments.length?(e=t,A):e},A.size=function(t){return arguments.length?(n=i=0,r=+t[0],s=+t[1],A):[r-n,s-i]},A.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],s=+t[1][1],A):[[n,i],[r,s]]},A.iterations=function(t){return arguments.length?(L=+t,A):L},A})().nodeId(t=>t.id).nodeWidth(X).nodePadding(Y+15*!!G).nodeAlign(J).extent([[0,0],[j,z]])(H);let tt=R(H.nodes),te=(0,s.UMr)(s.zt),tn=(0,r.K)(t=>Z[t]??te(t),"getNodeColor");O.append("g").attr("class","nodes").selectAll(".node").data(H.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=B.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>tn(t.id));let ti=(0,r.K)(({id:t,value:e})=>G?`${t}
|
|
2
|
+
${W}${Math.round(100*e)/100}${V}`:t,"getText"),tr=(0,r.K)(t=>"outlined"===q?(t.layer??0)<tt?{x:t.x0-6,anchor:"end"}:{x:t.x1+6,anchor:"start"}:t.x0<j/2?{x:t.x1+6,anchor:"start"}:{x:t.x0-6,anchor:"end"},"getLabelPosition"),ts=O.append("g").attr("class","node-labels").attr("font-size",14),to=(0,r.K)(t=>ts.selectAll(t?`.${t}`:"text").data(H.nodes).join("text").attr("class",t??null).attr("x",t=>tr(t).x).attr("y",t=>(t.y1+t.y0)/2).attr("dy",`${G?"0":"0.35"}em`).attr("text-anchor",t=>tr(t).anchor).text(ti),"appendLabel");"outlined"===q?(to("sankey-label-bg"),to("sankey-label-fg")):to();let tl=O.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(H.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),ta=E?.linkColor??"gradient";if("gradient"===ta){let t=tl.append("linearGradient").attr("id",t=>(t.uid=B.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>tn(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>tn(t.target.id))}switch(ta){case"gradient":v=(0,r.K)(t=>t.uid,"coloring");break;case"source":v=(0,r.K)(t=>tn(t.source.id),"coloring");break;case"target":v=(0,r.K)(t=>tn(t.target.id),"coloring");break;default:v=ta}tl.append("path").attr("d",(function(t){var e=I,n=T,i=A,r=M,s=null;function o(){var o,l=K.call(arguments),a=e.apply(this,l),h=n.apply(this,l);if(s||(s=o=w()),t(s,+i.apply(this,(l[0]=a,l)),+r.apply(this,l),+i.apply(this,(l[0]=h,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:L(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:L(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(N).source(P).target(C)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.ot)(void 0,O,0,F)},"draw"),H=(0,r.K)(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),J=(0,r.K)(t=>`.label {
|
|
3
|
+
font-family: ${t.fontFamily};
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.node-labels {
|
|
7
|
+
font-family: ${t.fontFamily};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Outlined label style - background stroke for better readability */
|
|
11
|
+
.sankey-label-bg {
|
|
12
|
+
stroke: ${t.mainBkg||t.background||"#fff"};
|
|
13
|
+
stroke-width: 4px;
|
|
14
|
+
stroke-linejoin: round;
|
|
15
|
+
paint-order: stroke;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Foreground label text */
|
|
19
|
+
.sankey-label-fg {
|
|
20
|
+
fill: ${t.textColor};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Node styling */
|
|
24
|
+
.node rect {
|
|
25
|
+
shape-rendering: crispEdges;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Link styling */
|
|
29
|
+
.link {
|
|
30
|
+
fill: none;
|
|
31
|
+
stroke-opacity: 0.5;
|
|
32
|
+
mix-blend-mode: multiply;
|
|
33
|
+
}
|
|
34
|
+
`,"getStyles"),tt=$.parse.bind($);$.parse=t=>tt(H(t));var te={styles:J,parser:$,db:q,renderer:{draw:Z}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7424],{37424:(e,t,r)=>{r.r(t),r.d(t,{applyDagreLayoutResult:()=>N,getEdgesToRender:()=>b,measureDagreLayout:()=>K,prepareLayoutForDagre:()=>v,render:()=>k,runDagreLayoutCore:()=>P});var a=r(38623),i=r(11016),d=r(42982),n=r(88921),o=r(34939);r(49877),r(16111),r(12989),r(49519);var l=r(84187),s=r(14561),g=r(68567),h=r(38716),u=r(87014),p=(0,g.K)((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),f=(0,g.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),c=(0,g.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),y=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],L=(0,g.K)((e,t,r,a,i)=>{let d=[],n=new Set;if(r.forEach(({start:e,end:t})=>{e!==a&&n.add(e),t!==a&&n.add(t)}),n.forEach(t=>{let r=e.node(t);"number"==typeof r?.x&&"number"==typeof r?.y&&d.push(r)}),0===d.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&d.push(e)})}),0===d.length)return f(i);let o=d.reduce((e,t)=>({x:e.x+t.x/d.length,y:e.y+t.y/d.length}),{x:0,y:0}),l=o.x-t.x,s=o.y-t.y;return Math.abs(l)>Math.abs(s)?l>0?"right":"left":Math.abs(s)>0?s>0?"bottom":"top":f(i)},"getSelfLoopSide"),m=(0,g.K)((e,t="top",r=0,a=0)=>{let i=e.x,d=e.y-r,n=e.width/2,o=e.height/2,l=Math.max(36,Math.min(100,.8*e.width)),s=p(Math.max(a,.35*e.width),36,l),g=p(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{let e=d+o;return[{x:i-s/2,y:e},{x:i-s/2,y:e+g},{x:i+s/2,y:e+g},{x:i+s/2,y:e}]}case"right":{let e=i+n;return[{x:e,y:d-s/2},{x:e+g,y:d-s/2},{x:e+g,y:d+s/2},{x:e,y:d+s/2}]}case"left":{let e=i-n;return[{x:e,y:d-s/2},{x:e-g,y:d-s/2},{x:e-g,y:d+s/2},{x:e,y:d+s/2}]}default:{let e=d-o;return[{x:i-s/2,y:e},{x:i-s/2,y:e-g},{x:i+s/2,y:e-g},{x:i+s/2,y:e}]}}},"getSelfLoopPoints"),w=(0,g.K)((e,t,r="top",a=0,i={})=>{let d=e.x,n=e.y-a,o=i.width??0,l=i.height??0;switch(r){case"bottom":return{x:d,y:Math.max(...t.map(e=>e.y))+l/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+o/2+4,y:n};case"left":return{x:Math.min(...t.map(e=>e.x))-o/2-4,y:n};default:return{x:d,y:Math.min(...t.map(e=>e.y))-l/2-4}}},"getSelfLoopLabelPosition"),b=(0,g.K)((e,t=0,{mergeSelfLoops:r=!0}={})=>{let a=new Map,i=[],d=e.graph()?.rankdir;return e.edges().forEach(t=>{let d=e.edge(t);if(r&&d.selfLoop){let e=d.selfLoop.id;a.has(e)||a.set(e,[]),a.get(e).push({edge:d,start:t.v,end:t.w})}else i.push({edge:d,start:t.v,end:t.w})}),a.forEach(r=>{if(3!==r.length)return void r.forEach(e=>i.push(e));r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[a,n,o]=r,l=a.edge.originalEdge??n.edge.originalEdge??o.edge.originalEdge??n.edge,s=e.node(l.start);if(!s)return void r.forEach(e=>i.push(e));let g={width:n.edge.width,height:n.edge.height},h=L(e,s,r,l.start,d),u=m(s,h,t,g.width??0),p=w(s,u,h,t,g),f={...n.edge,...l,id:l.id,points:u,start:l.start,end:l.end,x:p.x,y:p.y,width:g.width,height:g.height,labelStyle:n.edge.labelStyle,fromCluster:a.edge.fromCluster??n.edge.fromCluster??o.edge.fromCluster,toCluster:a.edge.toCluster??n.edge.toCluster??o.edge.toCluster};delete f.selfLoop,delete f.originalEdge,i.push({edge:f,start:f.start,end:f.end})}),i},"getEdgesToRender"),R=(0,g.K)(async({element:e,graph:t,diagramType:r,id:i,parentCluster:l,siteConfig:h})=>{let u=t.graph().rankdir;s.R.trace("Dir in recursive render - dir:",u);let{clusters:p,edgePaths:f,edgeLabels:y,nodes:L,rootGroups:m}=(0,a.B)(e,{edgePathsClass:"edgePaths"});t.nodes()?s.R.info("Recursive render XXX",t.nodes()):s.R.info("No nodes found for",t),t.edges().length>0&&s.R.info("Recursive edges",t.edge(t.edges()[0]));let w=c(r);await Promise.all(t.nodes().map(async function(e){let d=t.node(e);if(void 0!==l){let r=JSON.parse(JSON.stringify(l.clusterData));s.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",l.height),t.setNode(l.id,r),t.parent(e)||(s.R.trace("Setting parent",e,l.id),t.setParent(e,l.id,r))}if(s.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),d?.clusterNode){s.R.info("Cluster identified XBX",e,d.width,t.node(e));let{ranksep:a,nodesep:l}=t.graph();d.graph.setGraph({...d.graph.graph(),ranksep:a+25,nodesep:l});let g=await D({element:L,graph:d.graph,diagramType:r,id:i,parentCluster:t.node(e),siteConfig:h}),u=g.elem;(0,o.lC)(d,u),d.diff=g.diff||0,s.R.info("New compound node after recursive render XAX",e,"width",d.width,"height",d.height),(0,n.U7)(u,d)}else t.children(e).length>0?(s.R.trace("Cluster - the non recursive path XBX",e,d.id,d,d.width,"Graph:",t),s.R.trace((0,a.dc)(d.id,t)),a.ju.set(d.id,{id:(0,a.dc)(d.id,t),node:d})):(s.R.trace("Node - the non recursive path XAX",e,L,t.node(e),u),await (0,a.sv)(L,t.node(e),{config:h,dir:u}))}));let b=(0,g.K)(async()=>{let e=t.edges().map(async function(e){let r=t.edge(e.v,e.w,e.name);if(s.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.R.info("Fix",a.ju,"ids:",e.v,e.w,"Translating: ",a.ju.get(e.v),a.ju.get(e.w)),w&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,d.jP)(y,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,d.jP)(y,r)});await Promise.all(e)},"processEdges");await b();let{subGraphTitleTotalMargin:R}=(0,n.Oi)(h);return{elem:m,graph:t,groups:{clusters:p,edgePaths:f,edgeLabels:y,nodes:L,rootGroups:m},diagramType:r,id:i,mergeSelfLoops:w,subGraphTitleTotalMargin:R}},"measureDagreGraph"),x=(0,g.K)(e=>{s.R.info("############################################# XXX"),s.R.info("### Layout ### XXX"),s.R.info("############################################# XXX"),(0,h.Zp)(e)},"runDagreGraphLayout"),E=(0,g.K)((e,t,r)=>{let a=e.node(t);if(!a)return;let i={...a};return a?.clusterNode?i.y=(a.y??0)+r:e.children(t).length>0?i.height=(a.height??0)+r:i.y=(a.y??0)+r/2,i},"normalizeDagreNode"),X=(0,g.K)((e,t)=>{y.forEach(r=>{void 0!==t[r]&&(e[r]=t[r])})},"applyDagreNodeLayout"),S=(0,g.K)((e,t,r,a)=>({...e,start:e.start??t,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+a:e.y}))}),"normalizeDagreEdge"),N=(0,g.K)((e,t)=>{let{graph:r,mergeSelfLoops:i,subGraphTitleTotalMargin:d=0}=t,n=new Map(e.nodes.map(e=>[e.id,e]));(0,a.sc)(r).forEach(e=>{let t=E(r,e,d);if(!t)return;X(r.node(e),t);let a=n.get(e);a&&X(a,t)});let o=d/2;return e.edges=b(r,o,{mergeSelfLoops:i}).map(({edge:e,start:t,end:r})=>S(e,t,r,o)),e},"applyDagreLayoutResult"),C=(0,g.K)(async({elem:e,graph:t,groups:{clusters:r,edgePaths:o},diagramType:l,id:g,mergeSelfLoops:h,subGraphTitleTotalMargin:u})=>{let p=0;await Promise.all((0,a.sc)(t).map(async function(e){let d=t.node(e);if(s.R.info("Position XBX => "+e+": ("+d.x,","+d.y,") width: ",d.width," height: ",d.height),d?.clusterNode)d.y+=u,s.R.info("A tainted cluster node XBX1",e,d.id,d.width,d.height,d.x,d.y,t.parent(e)),a.ju.get(d.id).node=d,(0,n.U_)(d);else if(t.children(e).length>0){s.R.info("A pure cluster node XBX1",e,d.id,d.x,d.y,d.width,d.height,t.parent(e)),d.height+=u,t.node(d.parentId);let n=d?.padding/2||0,o=d?.labelBBox?.height||0;s.R.debug("OffsetY",o-n||0,"labelHeight",o,"halfPadding",n),await (0,i.U)(r,d),a.ju.get(d.id).node=d}else{let e=t.node(d.parentId);d.y+=u/2,s.R.info("A regular node XBX1 - using the padding",d.id,"parent",d.parentId,d.width,d.height,d.x,d.y,"offsetY",d.offsetY,"parent",e,e?.offsetY,d),(0,n.U_)(d)}}));let f=u/2;return b(t,f,{mergeSelfLoops:h}).forEach(function({edge:e,start:r,end:i}){s.R.info("Edge "+r+" -> "+i+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=f);let n=t.node(r),h=t.node(i),u=(0,d.Jo)(o,e,a.ju,l,n,h,g);(0,d.T_)(e,u)}),t.nodes().forEach(function(e){let r=t.node(e);s.R.info(e,r.type,r.diff),r.isGroup&&(p=r.diff)}),s.R.warn("Returning from recursive render XAX",e,p),{elem:e,diff:p}},"paintDagreLayoutCore"),D=(0,g.K)(async e=>{let t=await R(e);return x(t.graph),await C(t)},"renderDagreSubgraph"),v=(0,g.K)(e=>{let t=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}),s.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,a=r+"---"+r+"---1",i=r+"---"+r+"---2",d=t.node(r);t.setNode(a,{domId:a,id:a,parentId:d.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(a,d.parentId),t.setNode(i,{domId:i,id:i,parentId:d.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(i,d.parentId);let n=structuredClone(e),o=structuredClone(e),l=structuredClone(e),s=structuredClone(e);o.originalEdge=n,o.selfLoop={id:n.id,order:0},l.originalEdge=n,l.selfLoop={id:n.id,order:1},s.originalEdge=n,s.selfLoop={id:n.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=r+"-cyclic-special-1",l.startLabelRight="",l.startLabelLeft="",l.endLabelLeft="",l.endLabelRight="",l.arrowTypeStart="none",l.arrowTypeEnd="none",l.id=r+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",d.isGroup&&(o.fromCluster=r,s.toCluster=r),s.id=r+"-cyclic-special-2",s.arrowTypeStart="none",t.setEdge(r,a,o,r+"-cyclic-special-0"),t.setEdge(a,i,l,r+"-cyclic-special-1"),t.setEdge(i,r,s,r+"-cyclic-special-2")}else t.setEdge(e.start,e.end,{...e},e.id)}),(0,a.OS)(t),{graph:t}},"prepareLayoutForDagre"),K=(0,g.K)(async(e,{element:t,preparedLayout:r})=>{let a=r??v(e),i=(0,l.D7)(),d=await R({element:t,graph:a.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:i});return a.measuredLayout=d,d},"measureDagreLayout"),P=(0,g.K)((e,t)=>{let r=t.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return x(r.graph),N(e,r),r},"runDagreLayoutCore"),I=(0,g.K)((e,{measure:t})=>(0,a.sc)(t.graph).map(e=>t.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),M=(0,g.K)((e,t,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),k=(0,a.xY)({prepareLayout:v,measureLayout:K,runLayoutCore:P,paintOptions:{clusterDb:a.ju,getNodes:I,getEdgeNode:M,skipNode:(0,g.K)((e,{measure:t})=>!t.graph.hasNode(e.id),"skipNode"),isCluster:(0,g.K)((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,"isCluster")}})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7507],{87507:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});let i={common:{statusIdle:"Idle",statusWorking:"Working",statusBlocked:"Needs input",statusDone:"Your turn",loading:"Chargement...",cancel:"Annuler",confirm:"Confirmer",save:"Enregistrer",delete:"Supprimer",close:"Fermer",back:"Retour",edit:"Modifier",rename:"Renommer",remove:"Retirer",open:"Ouvrir",yes:"Oui",no:"Non",ok:"OK",error:"Erreur",success:"Succ\xe8s",failed:"\xc9chec",retry:"R\xe9essayer",refresh:"Actualiser",clipboard:"Clipboard",clipboardCopy:"Copy",clipboardEmpty:"Clipboard is empty",search:"Rechercher",create:"Cr\xe9er",new:"Nouveau",add:"Ajouter",copy:"Copier",copied:"Copi\xe9",download:"T\xe9l\xe9charger",upload:"T\xe9l\xe9verser",enabled:"Activ\xe9",disabled:"D\xe9sactiv\xe9",on:"activ\xe9",off:"d\xe9sactiv\xe9",minute:"min",hour:"h",day:"j",minutesAgo:"il y a {n} min",hoursAgo:"il y a {n} heures",daysAgo:"il y a {n} jours"},login:{tagline:"Acc\xe9dez \xe0 votre terminal de n'importe o\xf9",heroLine1:"Any machine.",heroLine2:"One terminal.",heroLine3:"In your pocket.",featureTerminal:"Terminal",featureDesktop:"Desktop",featureFiles:"Files",termConnected:"agent connected",termTunnel:"tunnel established",termReady:"ready",accessKey:"Cl\xe9 d'acc\xe8s",placeholder:"sk-xxx... ou cl\xe9 \xe0 usage unique (ABC123)",rememberKey:"M\xe9moriser cette cl\xe9",connect:"Connecter",connecting:"Connexion...",authenticating:"Authentification avec le jeton...",invalidKeyTail:"Wrong access key — check the last characters and try again.",scanQr:"Scan QR to login",qrScanTitle:"Scan QR Code",qrHint:"Point the camera at the QR code shown on the machine running 9Remote.",qrDetected:"QR Code detected!",qrAuthenticating:"Authenticating...",qrPleaseWait:"Please wait...",qrLibFail:"Failed to load the QR scanner library.",qrInitFail:"Could not start the scanner.",qrCamDenied:"Camera permission denied. Allow camera access and try again.",qrNoCamera:"No camera found on this device.",qrCamBusy:"Camera is in use by another app.",qrCamError:"Could not open the camera.",savedKeys:"Cl\xe9s enregistr\xe9es",login:"Connexion",lastLogin:"Derni\xe8re connexion",namePlaceholder:"Name this key (optional)",rename:"Rename",deleteKeyTitle:"Delete key",deleteKeyConfirm:'Are you sure you want to delete "{name}"?',justNow:"\xc0 l'instant",minutesAgo:"il y a {n} min",hoursAgo:"il y a {n} h",daysAgo:"il y a {n} j",tapToScan:"Appuyez pour scanner",orEnterManually:"ou entrez la cl\xe9 manuellement",addKey:"Add Key",secureTitle:"Secure & Encrypted",secureDesc:"All connections are end-to-end encrypted and secure.",featAccessTitle:"Access Anywhere",featAccessDesc:"Connect from any device, anywhere.",featSecureTitle:"Secure Connection",featSecureDesc:"End-to-end encryption keeps you safe.",featFastTitle:"Fast & Reliable",featFastDesc:"Low latency and high performance.",featSessionsTitle:"Multiple Sessions",featSessionsDesc:"Manage and switch between sessions.",home:"Accueil",docs:"Docs"},menu:{reloadRestart:"Reload & Restart",restartHost:"Restart 9remote host",restartConfirmTitle:"Restart 9remote host?",restartConfirmMessage:"This restarts the agent process (no reinstall). Terminal sessions are preserved. It takes a few seconds.",restartStarting:"Restarting host…",restartRestarting:"Restarting 9remote…",restartDone:"Restarted! Reconnecting…",restartTimeout:"Restart is taking too long",restartTimeoutHint:"Reconnect manually if it doesn't recover.",title:"Menu",language:"Langue",theme:"Th\xe8me",notifications:"Notifications",webgl:"GPU Render (Faster)",webglHint:"D\xe9sactivez si le texte semble incorrect",notificationsHint:"Notify when agent finishes",files:"File Explorer",downloading:"Downloading",copying:"Copying",conflictTitle:"File already exists",conflictMessage:"{name} already exists. Replace or skip?",skip:"Skip",skipAll:"Skip all",replace:"Replace",replaceAll:"Replace all",sites:"Sites",commandNotes:"Notes de commandes",community:"Communaut\xe9",installApp:"Installer l'application",codespace:"Codespace",logout:"D\xe9connexion",settingsGeneral:"General",settingsAppearance:"Appearance",settingsTerminalTab:"Terminal",settingsMcp:"Plugins",mcpIntro:"Extra abilities you can give your AI coding tools.",mcpTools:"Allow",mcpRestartHint:"Turning it off applies at once. Turning it on needs the AI tool restarted.",mcpUnavailable:"Update this host to use MCP.",artifactFormats:"Formats it can show",mcpClients:"Works with",settingsWorkspace:"Workspace",settingsApplication:"Application",settingsAccount:"Account",themeLight:"Light",themeDark:"Dark",reload:"Recharger l'app",remoteDesktop:"Bureau \xe0 distance",settings:"Param\xe8tres",enablePush:"Activer les notifications push",disablePush:"D\xe9sactiver les notifications push",pushHint:"Activez les notifications push pour \xeatre alert\xe9 lorsque l'IA termine ses t\xe2ches",pushActiveHint:"Push notifications are on for this device. You'll be alerted when AI completes tasks.",versionMismatch:"L'agent {version} est obsol\xe8te",versionMismatchHint:"Certaines fonctionnalit\xe9s peuvent ne pas fonctionner. Ex\xe9cutez :",updateNow:"Update now",updating:"Updating… reconnecting",webReloadTitle:"New web version available",webReloadHint:"Reload to get the latest interface.",reloadWeb:"Reload",updateAvailableTitle:"9Remote host update available",updateStarting:"Starting update…",updateInstalling:"Installing new version…",updateTimeout:"Update is taking too long",updateTimeoutHint:"Reload manually if it doesn't recover.",updateRestarting:"Restarting agent…",updateReconnecting:"Reconnecting…",updateDone:"Updated! Reloading…",version:"Version"},workspace:{loading:"Chargement...",logoutTitle:"D\xe9connexion",logoutMessage:"\xcates-vous s\xfbr de vouloir vous d\xe9connecter ?",failedCreateSession:"\xc9chec de la cr\xe9ation de la session : {error}",failedRenameSession:"\xc9chec du renommage de la session : {error}"},sessions:{headerTitle:"9remote.cc",connected:"Connect\xe9",disconnected:"D\xe9connect\xe9",codespaceStopped:"Codespace arr\xeat\xe9",placeholder:"Nom du terminal (facultatif)",newButton:"+ Nouveau",empty:"Aucune session active",emptyHint:"Cr\xe9ez une nouvelle session pour commencer",created:"Cr\xe9\xe9 {time}",deleteTitle:"Supprimer la session",deleteMessage:'\xcates-vous s\xfbr de vouloir supprimer "{name}" ?',editName:"Modifier le nom",newTerminal:"Nouveau terminal",options:"Options"},workspaces:{title:"Groups",newWorkspace:"Group",newWorkspacePrompt:"Group name",defaultName:"New Group",ungrouped:"Ungrouped",addTerminal:"Add terminal to group",moveToWorkspace:"Move to group",rename:"Rename group",delete:"Delete group",emptyWorkspace:"No terminals in this group",deleteTitle:"Delete Group",deleteMessage:'Delete group "{name}"? Terminals move to Ungrouped.'},terminal:{quotaNoData:"No quota data",quotaUsageTitle:"usage",back:"Retour",menu:"Menu",newTerminal:"Nouveau terminal",remoteDesktop:"Bureau \xe0 distance",defaultName:"Term"},files:{selectWorkspace:"S\xe9lectionner un espace de travail",recentWorkspaces:"Espaces de travail r\xe9cents",home:"Accueil",root:"Racine",drive:"Lecteur {letter}",codespaces:"Codespaces",removeRecent:"Retirer des r\xe9cents",removeTitle:"Retirer l'espace de travail",removeMessage:'Retirer "{name}" des espaces de travail r\xe9cents ?',setAsWorkspace:"D\xe9finir comme espace de travail",openFolder:"Ouvrir le dossier",newFile:"Nouveau fichier",newFolder:"Nouveau dossier",rename:"Renommer",delete:"Supprimer",deleteFile:"Supprimer le fichier",deleteFolder:"Supprimer le dossier",deleteFileMessage:'Supprimer "{name}" ?',deleteFolderMessage:'Supprimer le dossier "{name}" et tout son contenu ?',emptyFolder:"Dossier vide",git:"Git",parent:"Dossier parent",workspace:"Espace de travail",failedLoad:"\xc9chec du chargement : {error}",failedDelete:"\xc9chec de la suppression : {error}",failedCreate:"\xc9chec de la cr\xe9ation : {error}",failedRename:"\xc9chec du renommage : {error}",enterName:"Entrer un nom",confirmRename:"Renommer en :",setWorkspace:"D\xe9finir l'espace de travail",setAsWorkspaceTitle:"D\xe9finir comme espace de travail",switchWorkspace:"Changer d'espace de travail",searchFiles:"Rechercher des fichiers",toggleHidden:"Afficher/masquer les fichiers cach\xe9s",searchPlaceholder:"Rechercher des fichiers...",searching:"Recherche...",noFilesFound:"Aucun fichier trouv\xe9",noGitRepo:"Aucun d\xe9p\xf4t Git",cannotOpenBinary:"Impossible d'ouvrir un fichier binaire",createNew:"Cr\xe9er",file:"Fichier",folder:"Dossier",placeholderFile:"filename.js",placeholderFolder:"nom-dossier",pickFile:"Choose files",pickFolder:"Choose folder",copyPath:"Copier le chemin",copyRelPath:"Copy Relative Path",copyName:"Copy Filename",delete:"Supprimer",rename:"Renommer",deleteConfirmTitle:"Supprimer",deleteConfirmMessage:'Supprimer "{name}" ?'},editor:{save:"Enregistrer",saving:"Enregistrement...",saved:"Enregistr\xe9",unsaved:"Modifications non enregistr\xe9es",close:"Fermer",discard:"Abandonner",discardTitle:"Abandonner les modifications",discardMessage:"Vous avez des modifications non enregistr\xe9es. Les abandonner ?",unsavedTitle:"Save changes to {name}?",unsavedBody:"Your changes will be lost if you don't save them.",failedLoad:"\xc9chec du chargement du fichier : {error}",failedSave:"\xc9chec de l'enregistrement : {error}",openFull:"Open in full editor",artifact:"Artifact",readOnly:"Lecture seule",line:"Ligne",column:"Colonne",gitDiff:"Diff Git",typeText:"Saisissez du texte et ins\xe9rez...",insert:"Ins\xe9rer",statusModified:"Modifi\xe9",statusAdded:"Ajout\xe9",statusUntracked:"Non suivi"},git:{title:"Git",branch:"Branche",changes:"Modifications",staged:"Index\xe9",unstaged:"Non index\xe9",untracked:"Non suivi",commit:"Valider",commitAndPush:"Commit & Push",commitSuccess:"Commit successful",pushSuccess:"Push successful",stageFailed:"Failed to stage changes",commitFailed:"Commit failed",pushFailed:"Push failed",pullSuccess:"Pull successful",pullFailed:"Pull failed",stageAllConfirmTitle:"Stage All & Commit",stageAllConfirmMessage:"No changes are staged. Stage all changes and commit?",stageAndCommit:"Stage & Commit",gitActions:"Git actions",commitPlaceholder:"Commit message…",stageAllNote:"Stage all \xb7 {count}",upToDate:"Everything up-to-date",commitMessage:"Message de validation",push:"Pousser",pull:"Tirer",fetch:"R\xe9cup\xe9rer",stage:"Indexer",stageAll:"Tout indexer",unstage:"D\xe9sindexer",discard:"Abandonner",discardChanges:"Abandonner les modifications",discardMessage:'Abandonner les modifications de "{name}" ?',noChanges:"Aucune modification",diff:"Diff",pushing:"Envoi en cours...",pulling:"R\xe9cup\xe9ration en cours...",committing:"Validation en cours...",failedCommit:"\xc9chec de la validation : {error}",failedPush:"\xc9chec de l'envoi : {error}",failedPull:"\xc9chec de la r\xe9cup\xe9ration : {error}",status:"Statut",diffTab:"Diff",modified:"Modifi\xe9",added:"Ajout\xe9",deleted:"Supprim\xe9",untrackedTitle:"Non suivi",openFile:"Ouvrir le fichier",discardChangesTitle:"Abandonner les modifications",discardConfirmTitle:"Abandonner les modifications",discardConfirmDelete:'\xcates-vous s\xfbr de vouloir supprimer "{name}" ? Cette action est irr\xe9versible.',discardConfirmDiscard:'\xcates-vous s\xfbr de vouloir abandonner les modifications dans "{name}" ? Cette action est irr\xe9versible.'},remote:{title:"Bureau \xe0 distance",connecting:"Connexion...",disconnected:"D\xe9connect\xe9",fullscreen:"Plein \xe9cran",exitFullscreen:"Quitter le plein \xe9cran",receivingImage:"Receiving screen…",keyboard:"Clavier",mouse:"Souris",quality:"Qualit\xe9",fps:"FPS",debug:"D\xe9bogage",help:"Aide",close:"Fermer",sendKey:"Envoyer la touche",helpTitle:"Aide du bureau \xe0 distance",notAvailable:"Le bureau \xe0 distance n'est pas disponible",customizeKeys:"Personnaliser les touches",back:"Retour",resetZoom:"R\xe9initialiser le zoom",refresh:"Actualiser",rectangleSelection:"S\xe9lection rectangulaire",handMode:"Mode main",toggleKeyboard:"Basculer le clavier natif",hideControls:"Hide controls",showControls:"Show controls",textBatchInput:"Saisie de texte par lot",extraKeys:"Touches suppl\xe9mentaires",customizeRemoteKeys:"Personnaliser les touches du bureau \xe0 distance",exitRemote:"Quitter le bureau \xe0 distance",debugTitle:"Statistiques de d\xe9bogage",minimize:"R\xe9duire",transport:"Transport",latency:"Latence",tilesPerSec:"Tuiles/sec",bandwidth:"Bande passante",clearStats:"Effacer les statistiques",lockTitle:"Windows est verrouill\xe9",lockGrantDesc:"Activez \xab D\xe9verrouiller le PC \xe0 distance \xbb dans 9remote host sur ce PC.",lockDesc:"Saisissez le code PIN ou le mot de passe Windows de cet ordinateur",lockPlaceholder:"Code PIN ou mot de passe Windows",unlock:"D\xe9verrouiller",unlocking:"D\xe9verrouillage…",unlockFailed:"\xc9chec du d\xe9verrouillage — v\xe9rifiez votre code PIN/mot de passe et r\xe9essayez."},remoteHelp:{modePc:"PC / Souris",modeTrackpad:"Tactile \xb7 Trackpad",modeDirect:"Tactile \xb7 Direct",mouseTitle:"Souris",keyboardTitle:"Clavier",gesturesTrackpadTitle:"Gestes (Trackpad ✋)",gesturesDirectTitle:"Gestes (Direct)",toolbarTitle:"Barre d'outils",mouseClickKey:"Clic / Glisser",mouseClickDesc:"Clic gauche, glisser pour s\xe9lectionner/d\xe9placer",mouseRightKey:"Clic droit",mouseRightDesc:"Menu contextuel \xe0 distance",mouseWheelKey:"Molette",mouseWheelDesc:"Faire d\xe9filer \xe0 distance (Shift + Molette = horizontal)",mouseDoubleKey:"Double-clic",mouseDoubleDesc:"Double-clic \xe0 distance",keyPhysicalKey:"Touches physiques",keyPhysicalDesc:"Envoy\xe9es directement (Tab, touches F, etc. captur\xe9es)",keyModifierKey:"Ctrl / Alt / Shift / ⌘",keyModifierDesc:"Modificateur persistant — combiner avec la touche suivante",trackpadSwipeKey:"Glissement \xe0 1 doigt",trackpadSwipeDesc:"D\xe9placer le curseur virtuel",trackpadTapKey:"Tape \xe0 1 doigt",trackpadTapDesc:"Clic gauche au curseur",trackpad2TapKey:"Tape \xe0 2 doigts",trackpad2TapDesc:"Clic droit au curseur",trackpad2SwipeKey:"Glissement \xe0 2 doigts",trackpad2SwipeDesc:"Faire d\xe9filer \xe0 la position du curseur",trackpadPinchKey:"Pincement \xe0 2 doigts",trackpadPinchDesc:"Zoomer le canevas",trackpadScrollLockKey:"Maintenir + glisser",trackpadScrollLockDesc:"Maintenez pour verrouiller le d\xe9filement, glissez dans toute direction",directTapKey:"Tape \xe0 1 doigt",directTapDesc:"Clic \xe0 la position de la tape",directLongKey:"Appui long \xe0 1 doigt",directLongDesc:"Clic droit",directDoubleKey:"Double-tape \xe0 1 doigt",directDoubleDesc:"Double-clic",directScrollKey:"Glissement \xe0 2 doigts",directScrollDesc:"Faire d\xe9filer \xe0 distance",directPinchKey:"Pincement \xe0 2 doigts",directPinchDesc:"Zoomer le canevas",directPanKey:"Glissement \xe0 1 doigt (zoom>1)",directPanDesc:"D\xe9placer le canevas",toolbarHandDesc:"Maintenir le clic gauche (mode glisser) — taper \xe0 nouveau pour rel\xe2cher",toolbarMouseDirectDesc:"Passer en mode Direct",toolbarMouseTrackpadDesc:"Passer en Trackpad (curseur virtuel)",toolbarKeyboardDesc:"Clavier natif / saisie de texte par lot",toolbarRectDesc:"Mode s\xe9lection rectangulaire"},remoteControls:{enterToSend:"Tab / Ctrl+Num pour changer d'onglet",typeToSend:"Saisissez du texte \xe0 envoyer...",send:"Envoyer",trackpadMode:"Mode Trackpad",directMode:"Mode Direct",bottomRow:"Rang\xe9e inf\xe9rieure",extraPanel:"Panneau suppl\xe9mentaire",exitConfirmMessage:"\xcates-vous s\xfbr de vouloir quitter la session de bureau \xe0 distance actuelle ?"},connection:{retrying:"Reconnexion...",waitingApproval:"En attente d'approbation",approvalDescription:"Le 9Remote host doit approuver cet appareil avant que vous puissiez vous connecter.",approvalHint:"V\xe9rifiez le terminal sur votre machine.",rejectedTitle:"Appareil rejet\xe9",rejectedDescription:"Cet appareil n'a pas \xe9t\xe9 approuv\xe9 par le 9Remote host.",backToLogin:"Retour \xe0 la connexion",failed:"\xc9chec de la connexion",failedDescription:"Impossible de se connecter apr\xe8s {n} tentatives",attemptOf:"Tentative {n} sur {total}",exit:"Quitter",cancel:"Annuler",retry:"R\xe9essayer maintenant"},notifications:{claudeCode:"Claude Code",codex:"Codex",geminiCli:"Gemini CLI",openCode:"OpenCode",needsInput:"needs input",badgeTitle:"{blocked} needs input, {done} your turn",replied:"replied",agent:"Agent"},sites:{title:"Sites",localSites:"Sites locaux",selectSitePreview:"S\xe9lectionnez un site \xe0 pr\xe9visualiser",browserNewTab:"New tab",browserAddressPlaceholder:"localhost:3000 or /path",browserNotConnected:"Connect to your agent first",portPlaceholder:"port",loadingSites:"Chargement des sites...",notConnected:"Not connected to the agent",noSitesFound:"Aucun site trouv\xe9",startServerHint:"D\xe9marrez un serveur de d\xe9veloppement local pour le voir ici",siteNamePlaceholder:"Nom du site",saveTitle:"Enregistrer",editNameTitle:"Modifier le nom",removeTitle:"Retirer",removePortTitle:"Retirer le port",removePortMessage:"Retirer le port {port} de la liste enregistr\xe9e ?",popupBlocked:"Pop-up bloqu\xe9e ! Veuillez autoriser les pop-ups pour ce site.",startProxyFailed:"\xc9chec du d\xe9marrage de la session proxy pour {name}",foundCount:"{n} site{suffix} trouv\xe9(s)",focusOpenedTab:"Focaliser l'onglet ouvert",openInNewTab:"Ouvrir dans un nouvel onglet",goBack:"Retour",goForward:"Avancer",loadingSite:"Chargement...",empty:"Aucun site actif",emptyHint:"Lancez un serveur local pour le voir ici",open:"Ouvrir",refresh:"Actualiser"},commandNotes:{title:"Notes de commandes",noSavedCommands:"Aucune commande enregistr\xe9e",addFirstBelow:"Ajoutez votre premi\xe8re commande ci-dessous",clickToCopy:"Cliquer pour copier",copiedBang:"Copi\xe9 !",copy:"Copier",edit:"Modifier",delete:"Supprimer",editCommandPlaceholder:"Modifier la commande...",addCommandPlaceholder:"Ajouter une commande...",update:"Mettre \xe0 jour",add:"Ajouter",empty:"Aucune note pour le moment",emptyHint:"Enregistrez des commandes pour un acc\xe8s rapide",add:"Ajouter une note",edit:"Modifier la note",delete:"Supprimer la note",deleteMessage:"Supprimer cette note ?",name:"Nom",command:"Commande",save:"Enregistrer",placeholderName:"ex. D\xe9marrer le serveur de dev",placeholderCommand:"ex. npm run dev"},mobileKeyboard:{pasteHere:"Coller ici (Cmd+V)",enterToSend:"Tab / Ctrl+Num pour changer d'onglet",typeCommand:"Saisissez la commande et envoyez...",send:"Envoyer",toggleExtraKeys:"Basculer les touches suppl\xe9mentaires",toggleTextInput:"Basculer la saisie de texte",customizeTerminalKeys:"Personnaliser les touches du terminal",mainBar:"Barre principale",extraPanel:"Panneau suppl\xe9mentaire",fileTooLarge:"Fichier trop volumineux (max 5 Mo)",readFileFailed:"\xc9chec de la lecture du fichier",uploadFailed:"\xc9chec du t\xe9l\xe9versement du fichier : {error}"},terminalPane:{scrollToBottom:"Faire d\xe9filer vers le bas",changedFiles:"Changed files",pasteOrType:"Collez ou saisissez ici",paste:"Coller"},pwaGuide:{copyYourKey:"Copier votre cl\xe9",copyKeyHint:"Appuyez sur la cl\xe9 ci-dessous pour copier — vous en aurez besoin pour vous connecter apr\xe8s l'installation",tapToCopyApiKey:"Appuyez pour copier la cl\xe9 API",copiedBang:"Copi\xe9 !",copy:"Copier",tapShareButton:"Appuyer sur le bouton Partager",tapShareHint:"Appuyez sur le bouton Partager en bas de Safari",addToHome:"Ajouter \xe0 l'\xe9cran d'accueil",addToHomeHint:"Faites d\xe9filer vers le bas et appuyez sur \"Sur l'\xe9cran d'accueil\"",openAppPasteKey:"Ouvrir l'app et coller la cl\xe9",openAppPasteKeyHint:"Ouvrez l'application install\xe9e et collez votre cl\xe9 pour vous connecter",openMenu:"Ouvrir le menu",openMenuHint:"Appuyez sur le bouton du menu (trois points) dans Chrome",installApp:"Installer l'application",installAppHint:'Appuyez sur "Installer l\'application" ou "Ajouter \xe0 l\'\xe9cran d\'accueil"',lookInstallIcon:"Cherchez l'ic\xf4ne d'installation",lookInstallIconHint:"Cherchez l'ic\xf4ne d'installation dans la barre d'adresse",clickInstallPaste:"Cliquer sur Installer et coller la cl\xe9",installNow:"Install Now",installNowHint:"Install 9Remote as an app for quick access",installing:"Installing...",clickInstallPasteHint:"Cliquez sur installer, ouvrez l'application et collez votre cl\xe9 pour vous connecter",alternativeHint:'Alternative : Ouvrez le menu du navigateur → "Installer 9Remote" ou "Cr\xe9er un raccourci"',loadingPlatform:"D\xe9tection de la plateforme...",iosPlatform:"iOS (iPhone/iPad)",androidPlatform:"Android",macosPlatform:"macOS",windowsPlatform:"Windows",desktopPlatform:"Bureau",alreadyInstalled:"D\xe9j\xe0 install\xe9 !",alreadyInstalledHint:"Vous utilisez d\xe9j\xe0 9Remote en tant qu'application install\xe9e",installationGuide:"Guide d'installation",installationSteps:"\xc9tapes d'installation :"},community:{title:"Communaut\xe9",description:"Rejoignez la communaut\xe9 9Remote"},pwa:{title:"Installer comme application",description:"Installez 9Remote sur votre appareil pour la meilleure exp\xe9rience",iosTitle:"iOS Safari",androidTitle:"Android Chrome",desktopTitle:"Bureau"},codespace:{title:"Codespace",name:"Nom",status:"Statut",running:"En cours d'ex\xe9cution",autoStart:"D\xe9marrage automatique de 9Remote",autoStartHint:"D\xe9marrer 9Remote \xe0 l'ouverture du codespace",stop:"Arr\xeater le Codespace",stopHint:"Arr\xeater pour \xe9conomiser l'utilisation",restartHint:"Pour red\xe9marrer, allez sur GitHub",unknown:"Inconnu"}}}}]);
|