@scrylog/cli 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/assets/highlights-eq9cgrbb.scm +604 -0
  2. package/dist/assets/highlights-ghv9g403.scm +205 -0
  3. package/dist/assets/highlights-hk7bwhj4.scm +284 -0
  4. package/dist/assets/highlights-r812a2qc.scm +150 -0
  5. package/dist/assets/highlights-x6tmsnaa.scm +115 -0
  6. package/dist/assets/injections-73j83es3.scm +27 -0
  7. package/dist/assets/parser.worker-xyhf83rf.js +4563 -0
  8. package/dist/assets/tree-sitter-3jzf13jk.wasm +0 -0
  9. package/dist/assets/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  10. package/dist/assets/tree-sitter-markdown-411r6y9b.wasm +0 -0
  11. package/dist/assets/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  12. package/dist/assets/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  13. package/dist/assets/tree-sitter-zig-e78zbjpm.wasm +0 -0
  14. package/dist/cli/index.js +499 -0
  15. package/dist/cli/index.js.map +61 -0
  16. package/dist/daemon/index.js +670 -0
  17. package/dist/daemon/index.js.map +1475 -0
  18. package/dist/hooks/claude.js +6 -0
  19. package/dist/hooks/claude.js.map +11 -0
  20. package/dist/hooks/codex.js +10 -0
  21. package/dist/hooks/codex.js.map +11 -0
  22. package/dist/mcp/index.js +100 -0
  23. package/dist/mcp/index.js.map +231 -0
  24. package/dist/oc/index.js +21 -0
  25. package/dist/oc/index.js.map +10 -0
  26. package/package.json +16 -13
  27. package/src/api/docs/sessions.keys.ts +0 -6
  28. package/src/api/docs/sessions.ts +0 -82
  29. package/src/api/docs/system.keys.ts +0 -5
  30. package/src/api/docs/system.ts +0 -69
  31. package/src/api/docs/usage.keys.ts +0 -3
  32. package/src/api/docs/usage.ts +0 -24
  33. package/src/api/docs/webhooks.keys.ts +0 -5
  34. package/src/api/docs/webhooks.ts +0 -78
  35. package/src/api/index.ts +0 -18
  36. package/src/api/lib/auth.ts +0 -43
  37. package/src/api/lib/errors.ts +0 -28
  38. package/src/api/lib/route.ts +0 -18
  39. package/src/api/models/claude.ts +0 -4
  40. package/src/api/models/codex.ts +0 -4
  41. package/src/api/models/opencode.ts +0 -11
  42. package/src/api/routes/sessions.ts +0 -51
  43. package/src/api/routes/system.ts +0 -106
  44. package/src/api/routes/usage.ts +0 -15
  45. package/src/api/routes/webhooks/claude.ts +0 -149
  46. package/src/api/routes/webhooks/codex.ts +0 -175
  47. package/src/api/routes/webhooks/opencode.ts +0 -112
  48. package/src/api/routes.ts +0 -93
  49. package/src/api/schemas/common.ts +0 -29
  50. package/src/api/schemas/sessions.ts +0 -86
  51. package/src/api/schemas/usage.ts +0 -51
  52. package/src/api/schemas/webhooks/claude.ts +0 -32
  53. package/src/api/schemas/webhooks/codex.ts +0 -34
  54. package/src/api/schemas/webhooks/opencode.ts +0 -29
  55. package/src/api/services/claude-session.ts +0 -9
  56. package/src/api/services/codex-session.ts +0 -8
  57. package/src/api/services/opencode-session.ts +0 -73
  58. package/src/classifier.ts +0 -206
  59. package/src/cli/commands.ts +0 -714
  60. package/src/cli/index.ts +0 -18
  61. package/src/cli/program.ts +0 -175
  62. package/src/cli/prompt.ts +0 -44
  63. package/src/daemon/cli.ts +0 -27
  64. package/src/daemon/collectors/claude/README.md +0 -108
  65. package/src/daemon/collectors/claude/collector.ts +0 -423
  66. package/src/daemon/collectors/claude/discovery.ts +0 -127
  67. package/src/daemon/collectors/claude/hooks.ts +0 -181
  68. package/src/daemon/collectors/claude/index.ts +0 -8
  69. package/src/daemon/collectors/claude/jsonl.ts +0 -85
  70. package/src/daemon/collectors/claude/transcript.ts +0 -246
  71. package/src/daemon/collectors/codex/README.md +0 -147
  72. package/src/daemon/collectors/codex/collector.ts +0 -661
  73. package/src/daemon/collectors/codex/discovery.ts +0 -104
  74. package/src/daemon/collectors/codex/hooks.ts +0 -179
  75. package/src/daemon/collectors/codex/index.ts +0 -7
  76. package/src/daemon/collectors/codex/jsonl.ts +0 -108
  77. package/src/daemon/collectors/codex/transcript.ts +0 -299
  78. package/src/daemon/collectors/git.ts +0 -353
  79. package/src/daemon/collectors/herdr/collector.ts +0 -128
  80. package/src/daemon/collectors/herdr/index.ts +0 -2
  81. package/src/daemon/collectors/herdr/normalization.ts +0 -111
  82. package/src/daemon/collectors/opencode/README.md +0 -106
  83. package/src/daemon/collectors/opencode/collector.ts +0 -545
  84. package/src/daemon/collectors/opencode/discovery.ts +0 -257
  85. package/src/daemon/collectors/opencode/index.ts +0 -5
  86. package/src/daemon/collectors/opencode/session-builder.ts +0 -59
  87. package/src/daemon/collectors/opencode-db.ts +0 -294
  88. package/src/daemon/collectors/process.ts +0 -201
  89. package/src/daemon/collectors/tmux/README.md +0 -128
  90. package/src/daemon/collectors/tmux/collector.ts +0 -492
  91. package/src/daemon/collectors/tmux/enrichment.ts +0 -242
  92. package/src/daemon/collectors/tmux/index.ts +0 -4
  93. package/src/daemon/collectors/tmux/parse.ts +0 -128
  94. package/src/daemon/collectors/usage.ts +0 -259
  95. package/src/daemon/index.ts +0 -209
  96. package/src/daemon/scheduler.ts +0 -86
  97. package/src/daemon/store.ts +0 -630
  98. package/src/detect.ts +0 -143
  99. package/src/hooks/claude.ts +0 -596
  100. package/src/hooks/codex.ts +0 -517
  101. package/src/legacy/classifier.ts +0 -215
  102. package/src/legacy/detect.ts +0 -143
  103. package/src/mcp/client-server.ts +0 -21
  104. package/src/mcp/http-handler.ts +0 -126
  105. package/src/mcp/index.ts +0 -61
  106. package/src/mcp/resources/config-current.ts +0 -19
  107. package/src/mcp/resources/index.ts +0 -11
  108. package/src/mcp/resources/sessions-active.ts +0 -19
  109. package/src/mcp/resources/sessions-all.ts +0 -19
  110. package/src/mcp/schemas/sessions.ts +0 -3
  111. package/src/mcp/server.ts +0 -17
  112. package/src/mcp/services/api-adapter.ts +0 -48
  113. package/src/mcp/services/data-source.ts +0 -22
  114. package/src/mcp/services/store-adapter.ts +0 -40
  115. package/src/mcp/tools/get-active-sessions.ts +0 -16
  116. package/src/mcp/tools/get-session-children.ts +0 -24
  117. package/src/mcp/tools/get-session-messages.ts +0 -24
  118. package/src/mcp/tools/get-session.ts +0 -23
  119. package/src/mcp/tools/index.ts +0 -15
  120. package/src/mcp/tools/list-sessions.ts +0 -16
  121. package/src/oc/index.ts +0 -302
  122. package/src/service/manager.ts +0 -284
  123. package/src/shared/config.ts +0 -511
  124. package/src/shared/ipc.ts +0 -80
  125. package/src/shared/logger.ts +0 -248
  126. package/src/shared/paths.ts +0 -73
  127. package/src/shared/platform.ts +0 -110
  128. package/src/shared/session-exclusions.ts +0 -5
  129. package/src/shared/session-view.ts +0 -302
  130. package/src/shared/terminal-capabilities.ts +0 -130
  131. package/src/shared/types.ts +0 -330
  132. package/src/shared/utils.ts +0 -339
  133. package/src/shared/version.ts +0 -44
  134. package/src/tui/App.tsx +0 -240
  135. package/src/tui/client.ts +0 -163
  136. package/src/tui/components/BindingsModal.tsx +0 -82
  137. package/src/tui/components/DashboardHeader.tsx +0 -256
  138. package/src/tui/components/KeyBar.tsx +0 -67
  139. package/src/tui/components/SessionDetailModal.tsx +0 -169
  140. package/src/tui/components/SessionsView.tsx +0 -184
  141. package/src/tui/components/TabBar.tsx +0 -40
  142. package/src/tui/components/UsageSummaryPane.tsx +0 -272
  143. package/src/tui/components/UsageView.tsx +0 -242
  144. package/src/tui/components/tool-icons.ts +0 -24
  145. package/src/tui/index.tsx +0 -106
  146. package/src/tui/keybindings.ts +0 -49
  147. package/src/tui/model.ts +0 -295
  148. package/src/tui/state.ts +0 -77
  149. package/src/tui/theme.ts +0 -110
  150. package/src/types.ts +0 -113
  151. package/src/usage/README.md +0 -323
  152. package/src/usage/api.ts +0 -99
  153. package/src/usage/client.ts +0 -3
  154. package/src/usage/clients/anthropic-oauth-usage.ts +0 -258
  155. package/src/usage/clients/anthropic-web-usage.ts +0 -329
  156. package/src/usage/clients/claude-cli-probe.ts +0 -513
  157. package/src/usage/clients/codex-app-server.ts +0 -354
  158. package/src/usage/clients/codex-oauth-usage.ts +0 -240
  159. package/src/usage/clients/opencode-go-api.ts +0 -100
  160. package/src/usage/clients/opencode-go-usage.ts +0 -577
  161. package/src/usage/errors.ts +0 -33
  162. package/src/usage/index.ts +0 -20
  163. package/src/usage/local/opencode-go-local.ts +0 -194
  164. package/src/usage/mappers.ts +0 -282
  165. package/src/usage/planner.ts +0 -118
  166. package/src/usage/providers/claude.ts +0 -233
  167. package/src/usage/providers/codex.ts +0 -115
  168. package/src/usage/providers/opencode-go.ts +0 -115
  169. package/src/usage/resolver.ts +0 -4
  170. package/src/usage/resolvers/browser-cookies.ts +0 -808
  171. package/src/usage/resolvers/claude-auth.ts +0 -208
  172. package/src/usage/resolvers/claude-cli.ts +0 -24
  173. package/src/usage/resolvers/claude-desktop-auth.ts +0 -170
  174. package/src/usage/resolvers/claude-web.ts +0 -82
  175. package/src/usage/resolvers/codex-auth.ts +0 -174
  176. package/src/usage/resolvers/keychain-coordinator.ts +0 -397
  177. package/src/usage/resolvers/opencode-go-web.ts +0 -55
  178. package/src/usage/types.ts +0 -225
  179. package/src/usage/web-session-cache.ts +0 -37
  180. /package/{src/tui → dist/cli}/assets/providers/SOURCES.md +0 -0
  181. /package/{src/tui → dist/cli}/assets/providers/claude-terminal.png +0 -0
  182. /package/{src/tui → dist/cli}/assets/providers/claude-terminal.svg +0 -0
  183. /package/{src/tui → dist/cli}/assets/providers/claude.png +0 -0
  184. /package/{src/tui → dist/cli}/assets/providers/copilot.png +0 -0
  185. /package/{src/tui → dist/cli}/assets/providers/copilot.svg +0 -0
  186. /package/{src/tui → dist/cli}/assets/providers/openai-terminal.png +0 -0
  187. /package/{src/tui → dist/cli}/assets/providers/openai-terminal.svg +0 -0
  188. /package/{src/tui → dist/cli}/assets/providers/openai.png +0 -0
  189. /package/{src/tui → dist/cli}/assets/providers/opencode-terminal.png +0 -0
  190. /package/{src/tui → dist/cli}/assets/providers/opencode-terminal.svg +0 -0
  191. /package/{src/tui → dist/cli}/assets/providers/opencode.png +0 -0
  192. /package/{src/tui → dist/cli}/assets/providers/shell.png +0 -0
  193. /package/{src/tui → dist/cli}/assets/providers/shell.svg +0 -0
  194. /package/{src/tui → dist/cli}/assets/providers/unknown.png +0 -0
  195. /package/{src/tui → dist/cli}/assets/providers/unknown.svg +0 -0
@@ -0,0 +1,499 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ var vR=Object.create;var{getPrototypeOf:bR,defineProperty:$F,getOwnPropertyNames:X7}=Object;var bG=Object.prototype.hasOwnProperty;function kG(A){return this[A]}var Bx=(A,q,E)=>{var g=X7(q);for(let j of g)if(!bG.call(A,j)&&j!=="default")$F(A,j,{get:kG.bind(q,j),enumerable:!0});if(E){for(let j of g)if(!bG.call(E,j)&&j!=="default")$F(E,j,{get:kG.bind(q,j),enumerable:!0});return E}},kR,cR,PA=(A,q,E)=>{var g=A!=null&&typeof A==="object";if(g){var j=q?kR??=new WeakMap:cR??=new WeakMap,a=j.get(A);if(a)return a}E=A!=null?vR(bR(A)):{};let Z=q||!A||!A.__esModule?$F(E,"default",{value:A,enumerable:!0}):E;for(let G of X7(A))if(!bG.call(Z,G))$F(Z,G,{get:kG.bind(A,G),enumerable:!0});if(g)j.set(A,Z);return Z};var a6=(A,q)=>()=>(q||A((q={exports:{}}).exports,q),q.exports);var fR=(A)=>A;function lR(A,q){this[A]=fR.bind(null,q)}var uR=(A,q)=>{for(var E in q)$F(A,E,{get:q[E],enumerable:!0,configurable:!0,set:lR.bind(q,E)})};var zA=(A,q)=>()=>(A&&(q=A(A=0)),q);var DE=(A)=>Promise.all(A),$g=import.meta.require;import{readFileSync as nR}from"fs";import{join as oR}from"path";function rR(){try{let A=JSON.parse(nR(oR(import.meta.dir,"..","..","package.json"),"utf8"));return typeof A.version==="string"&&A.version.length>0?A.version:"unknown"}catch{return"unknown"}}function Hg(){return eR}function uG(A,q){if(A==="unknown")return;if(!q||q==="unknown")return{cliVersion:A};if(q===A)return;return{cliVersion:A,daemonVersion:q}}function R7(A,q){let E=q&&q!=="unknown"?q:"unknown",g=uG(A,q),j=[`CLI version: ${A}`,`Daemon version: ${E}`,`Version match: ${g?"false":"true"}`];if(g)j.push("Action: scrylog daemon restart"),j.push("Fallback: stop the running daemon and run scrylogd");return`${j.join(`
4
+ `)}
5
+ `}var eR;var MK=zA(()=>{eR=rR()});import{mkdirSync as I7}from"fs";import{homedir as TF,userInfo as A3}from"os";import{dirname as q3,join as Tg}from"path";function h7(){return Tg(TF(),".config","scrylog")}function pG(){return Tg(h7(),"config.json")}function S7(){return Tg(TF(),".scrylog.json")}function OK(){return Tg(TF(),".scrylog","logs","scrylogd.log")}function jj(){return"com.scrylog.daemon"}function E3(){return Tg(TF(),"Library","LaunchAgents")}function Fj(){return Tg(E3(),`${jj()}.plist`)}function g3(){return Tg(TF(),".config","systemd","user")}function KE(){return"scrylogd.service"}function YK(){return Tg(g3(),KE())}function JF(A){let q=A.endsWith("/")?A.slice(0,-1):q3(A);if(!q||q===".")return;I7(q,{recursive:!0})}function W7(){let A=h7();return I7(A,{recursive:!0}),A}function F_(){try{return A3().uid}catch{return process.env.USER??process.env.USERNAME??"default"}}var QK=()=>{};import{tmpdir as _3,userInfo as j3}from"os";import{join as B7}from"path";import{chmodSync as F3,lstatSync as a3,mkdirSync as x7,readFileSync as K3,rmSync as Z3}from"fs";function XF(A){let q=Bun.which?.(A);if(q)return q;if(k6)return P7("where",[A]);return P7("which",[A])}function P7(A,q){try{let E=Bun.spawnSync([A,...q],{stdout:"pipe",stderr:"ignore"}),g=new TextDecoder().decode(E.stdout).trim();return g?g.split(/\r?\n/)[0]??g:null}catch{return null}}function sG(){try{return j3().uid}catch{return process.env.USER??process.env.USERNAME??"default"}}function iG(A){if(k6)return B7(_3(),`scrylog-${A}`);return B7("/tmp",`scrylog-${sG()}-${A}`)}function z7(A){let q=a3(A);return q.isDirectory()&&q.uid===process.getuid?.()}function $P(A){if(x7(A,{recursive:!0,mode:448}),k6)return;if(!z7(A)){if(Z3(A,{recursive:!0,force:!0}),x7(A,{recursive:!0,mode:448}),!z7(A))throw Error(`Refusing to use untrusted hooks directory: ${A}`)}F3(A,448)}var k6,$K,dG,tG;var aj=zA(()=>{k6=process.platform==="win32",$K=process.platform==="darwin",dG=process.platform==="linux",tG=(()=>{if(!dG)return!1;try{let A=K3("/proc/version","utf8");return/microsoft|wsl/i.test(A)}catch{return!1}})()});import{existsSync as nG,readFileSync as U3,renameSync as G3,writeFileSync as M3}from"fs";import{resolve as HK}from"path";function C7(){return[pG(),S7()]}function Jg(A){if(A)return HK(A);if(process.env.SCRYLOG_CONFIG)return HK(process.env.SCRYLOG_CONFIG);for(let q of C7())if(nG(q))return q;return pG()}function a_(A){let q=[];if(A)q.push(HK(A));else if(process.env.SCRYLOG_CONFIG)q.push(HK(process.env.SCRYLOG_CONFIG));else q.push(...C7());for(let E of q)if(nG(E))return Y3(E);return{...Uq}}function Y3(A){let q=Q3(A);if(!q)return{...Uq};return $3(q)}function Q3(A){let q;try{let E=U3(A,"utf8");q=JSON.parse(E)}catch(E){return process.stderr.write(`[scrylog] Warning: could not parse config file ${A}: ${E instanceof Error?E.message:String(E)}
6
+ `),null}if(!q||typeof q!=="object")return null;return q}function $3(A){let q=D7(Uq,A);return J3(T3(q,A))}function H3(A,q){let E=Jg(q);W7(),JF(E);let g=`${E}.tmp`;return M3(g,`${JSON.stringify(A,null,2)}
7
+ `,"utf8"),G3(g,E),E}function Kj(A,q){let E=Jg(q),g=nG(E)?a_(E):{...Uq},j=A(g);return H3(j,E),{path:E,config:j}}function LF(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}function D7(A,q){let E={...A};for(let g of Object.keys(q)){let j=E[g],a=q[g];if(LF(j)&&LF(a))E[g]=D7(j,a);else if(a!==void 0)E[g]=a}return E}function T3(A,q){let E=LF(q.daemon)?q.daemon:void 0,g=LF(q.api)?q.api:void 0,j=LF(q.mcp)?q.mcp:void 0,a={...A,api:{...A.api},daemon:{...A.daemon},mcp:{...A.mcp}};if(!g&&E){let Z=typeof E.host==="string"?E.host:void 0,G=typeof E.port==="number"?E.port:void 0;if(Z)a.api.host=Z;if(G!==void 0)a.api.port=G;if(Z||G!==void 0)a.api.tcpEnabled=G===0?!1:!0}if(j&&j.httpEnabled===void 0){let Z=typeof j.port==="number"?j.port:void 0,G=typeof j.host==="string"?j.host:void 0,M=typeof j.bearerToken==="string"?j.bearerToken:void 0;if(G)a.mcp.host=G;if(Z!==void 0)a.mcp.port=Z;if(M)a.mcp.bearerToken=M;if(G||Z!==void 0||M)a.mcp.httpEnabled=!0}return a}function J3(A){return{...A,daemon:{...A.daemon,pollIntervalMs:sq(A.daemon.pollIntervalMs,1000,300000,Uq.daemon.pollIntervalMs),commandTimeoutMs:sq(A.daemon.commandTimeoutMs,1000,120000,Uq.daemon.commandTimeoutMs),networkTimeoutMs:sq(A.daemon.networkTimeoutMs,1000,120000,Uq.daemon.networkTimeoutMs),logFileMaxBytes:sq(A.daemon.logFileMaxBytes,0,104857600,Uq.daemon.logFileMaxBytes),logFileMaxFiles:sq(A.daemon.logFileMaxFiles,1,20,Uq.daemon.logFileMaxFiles)},api:{...A.api,sseKeepaliveMs:sq(A.api.sseKeepaliveMs,0,120000,Uq.api.sseKeepaliveMs)},tmux:{...A.tmux,previewLines:sq(A.tmux.previewLines,0,500,Uq.tmux.previewLines),detailLines:sq(A.tmux.detailLines,0,5000,Uq.tmux.detailLines)},tui:{...A.tui,refreshMs:sq(A.tui.refreshMs,500,300000,Uq.tui.refreshMs),standaloneMaxAgeHours:sq(A.tui.standaloneMaxAgeHours,0,8760,Uq.tui.standaloneMaxAgeHours),pushDebounceMs:sq(A.tui.pushDebounceMs,0,2000,Uq.tui.pushDebounceMs),providerIcons:O3.includes(A.tui.providerIcons)?A.tui.providerIcons:Uq.tui.providerIcons},usage:{...A.usage,pollIntervalMs:sq(A.usage.pollIntervalMs,60000,3600000,Uq.usage.pollIntervalMs),auth:{allowKeychainPrompts:typeof A.usage.auth?.allowKeychainPrompts==="boolean"?A.usage.auth.allowKeychainPrompts:Uq.usage.auth.allowKeychainPrompts}},retention:{...A.retention,maxSessions:sq(A.retention.maxSessions,0,1e5,Uq.retention.maxSessions),standaloneMaxAgeHours:sq(A.retention.standaloneMaxAgeHours,0,8760,Uq.retention.standaloneMaxAgeHours),localCommandTtlHours:sq(A.retention.localCommandTtlHours,1,8760,Uq.retention.localCommandTtlHours),cacheMaxEntries:sq(A.retention.cacheMaxEntries,10,1e5,Uq.retention.cacheMaxEntries),transcriptMaxBytes:sq(A.retention.transcriptMaxBytes,65536,104857600,Uq.retention.transcriptMaxBytes)}}}function sq(A,q,E,g){if(!Number.isFinite(A))return g;return Math.min(E,Math.max(q,Math.trunc(A)))}var O3,Uq;var TK=zA(()=>{QK();aj();O3=["blocks","graphics","kitty","sixel","text"],Uq={daemon:{pollIntervalMs:1e4,commandTimeoutMs:5000,networkTimeoutMs:1e4,logLevel:"info",logFormat:"auto",logFileEnabled:!0,logFilePath:OK(),logFileMaxBytes:5242880,logFileMaxFiles:3},api:{tcpEnabled:k6,host:"127.0.0.1",port:7788,sseKeepaliveMs:15000},cors:{enabled:!1,origins:[],methods:["GET","POST","OPTIONS"],allowedHeaders:["Content-Type","Authorization"],exposedHeaders:[],credentials:!1,maxAge:600},opencode:{mode:"hooks",instances:[],autoDiscover:!0},claude:{hooksEnabled:!1,hooksDir:iG("claude-hooks")},codex:{hooksEnabled:!1,hooksDir:iG("codex-hooks")},tmux:{previewLines:50,detailLines:200},tui:{refreshMs:5000,showStandalone:!0,usePushUpdates:!0,standaloneMaxAgeHours:6,pushDebounceMs:120,providerIcons:"blocks"},mcp:{stdioEnabled:!0,httpEnabled:!1,host:"127.0.0.1",port:7789},usage:{enabled:!0,pollIntervalMs:300000,providers:["claude","opencode-go","codex"],claude:{dataSource:"auto",webExtrasEnabled:!0},codex:{dataSource:"auto"},opencodeGo:{serverFnId:"def39973159c7f0483d8793a822b8dbb10d067e12c65455fcb4608459ba0234f"},auth:{allowKeychainPrompts:!0}},retention:{maxSessions:500,standaloneMaxAgeHours:168,localCommandTtlHours:72,cacheMaxEntries:1000,transcriptMaxBytes:10485760}}});import{basename as N3}from"path";function V3(A,q={}){let E=Bun.spawnSync(A,{cwd:q.cwd,stdout:"pipe",stderr:"pipe",...q.timeoutMs!==void 0?{timeout:q.timeoutMs}:{}});if(E.exitCode!==0){let g=Buffer.from(E.stderr).toString("utf8").trim()||`Command failed: ${A.join(" ")}`;throw Error(g)}return Buffer.from(E.stdout).toString("utf8")}function m7(A,q){return R3(A,{timeoutMs:q})}function R3(A,q={}){try{return{ok:!0,output:V3(A,q)}}catch(E){return{ok:!1,error:E instanceof Error?E.message:String(E)}}}function SP(A,q=0){let E=Number.parseInt(A,10);return Number.isNaN(E)?q:E}function WP(A){if(!A)return"-";return N3(A)||A}function K6(A,q){if(A.length<=q)return A;if(q<=1)return A.slice(0,q);return`${A.slice(0,q-1)}...`}function w7(A){return A.replace(/\s+/g," ").trim()}function iq(A){return w7(I3(A)).replace(/^[\u2022\-\*]+\s*/,"").replace(/^>\s+/,"").trim()}function I3(A){return A.replace(/\u001b\[[0-9;]*m/g,"").replace(/[\u2502\u2503\u256D\u256E\u2570\u256F\u2579\u2580\u2500]+/g," ").replace(/[\u203A]/g,">").trim()}function v7(A){let q=iq(A);if(!q)return!0;return/(ctrl\+t variants|tab agents|ctrl\+p commands|100% context left|Tip: Use \/feedback|\? for shortcuts|\u2191\u2193 select|enter submit|esc dismiss)/i.test(q)||h3(q)}function wE(A){let q=iq(A);if(!q)return!0;return v7(q)||/^>\s*implement\s*\{feature\}/i.test(q)||/^\d+\.\s/.test(q)||/^[.\u00B7\u2022\u2800-\u28ff\s]{4,}$/u.test(q)||/^\$\s/.test(q)||/^\u25A3\s+(build|plan)\b/i.test(q)||/^(model:|directory:)/i.test(q)||/^(working\s*\(|build\b|plan\b|asked\s+\d+\s+question)/i.test(q)||/^gpt-[\w.-]+.*% left/i.test(q)||/^(build|plan)\s+.*(github copilot|openai)$/i.test(q)||/^(yes, continue|no, quit|press enter to continue)$/i.test(q)}function b7(A){let q=iq(A);if(!q)return!1;return/^(next steps?|siguientes? pasos?|siguiente paso natural|recommended next step|next step natural|natural next step)/i.test(q)||/recommended by default|recomendado por defecto/i.test(q)||/^(si quieres|if you want|you can|puedes)\b/i.test(q)||/^\d+\.\s/.test(q)}function h3(A){let q=iq(A);if(!q)return!1;return/(esc|escape)(?:\s+to)?\s+(interrupt|cancel|stop)\b|(interrupt|cancel|stop)\b.*\b(esc|escape)\b/i.test(q)}function S3(A,q=""){for(let E=A.length-1;E>=0;E-=1){let g=iq(A[E]??"");if(!g)continue;if(v7(g))continue;return g}return q}function k7(A,q=""){let E=A.map((j)=>iq(j)),g=W3(E);if(g)return g;for(let j=E.length-1;j>=0;j-=1){let a=E[j]??"";if(!a||wE(a))continue;if(vE(E,j))continue;let Z=[a];for(let G=j-1;G>=0;G-=1){let M=E[G]??"";if(!M||wE(M)||vE(E,G))break;if(/^[\u2022\-]/.test(M)||/^[\u2022\-]/.test(a)||M.endsWith(":")||a.length<100){if(Z.unshift(M),Z.length>=2)break}else break}return iq(Z.join(" "))}return S3(A,q)}function BP(A,q=""){let E=A.map((g)=>iq(g));for(let g=E.length-1;g>=0;g-=1){let j=E[g]??"";if(!j||wE(j)||vE(E,g))continue;if(b7(j))continue;if(/[\u00BF?]/.test(j)||/^(confirmas|what|which|que|qu\u00E9|cual|cu\u00E1l|do you|can you|would you|elige|escoge|selecciona|resp[o\u00F3]ndeme)/i.test(j)){let a=E[g-1]??"";if(/[\u00BF?]/.test(j)){if(a&&!wE(a)&&!vE(E,g-1)&&a.length<90&&/^[a-z\u00E1\u00E9\u00ED\u00F3\u00FA\u00F1]/i.test(j))return iq(`${a} ${j}`);return j}if(a&&!wE(a)&&!vE(E,g-1)&&!/[\u00BF?]/.test(a)&&a.length<90)return iq(`${a} ${j}`);return j}}return k7(A,q)}function xP(A,q=""){let E=A.map((g)=>iq(g));for(let g=E.length-1;g>=0;g-=1){let j=E[g]??"";if(!j||wE(j)||vE(E,g))continue;if(/^(se cre[o\u00F3]|cada archivo contiene|all done|completed|finished|done\b)/i.test(j)){let a=B3(E,g-1),Z=a>=0?E[a]??"":"";if(Z&&!wE(Z)&&!vE(E,a)&&/^(se cre[o\u00F3]|all done|completed|finished|done\b)/i.test(Z))return JK(iq(`${Z} ${j}`));return JK(j)}}return k7(A,q)}function W3(A){for(let q=A.length-1;q>=0;q-=1){let E=A[q]??"";if(!E||wE(E)||vE(A,q))continue;if(b7(E))continue;if(/^[\u2022\-]\s/.test(E)&&!/waited for background terminal|working\s*\(/i.test(E))return iq(E);if(/[\u00BF?]/.test(E)||/^(resp[o\u00F3]ndeme|creado archivo \d+|va en orden|carpeta creada|listo\.|voy a |el proceso ya|el lote|s[i\u00ED]:|se cre[o\u00F3]|cada archivo contiene)/i.test(E)){let g=A[q-1]??"";if(g&&!wE(g)&&!vE(A,q-1)&&g.length<120&&E.length<120&&!/^(creado archivo \d+)/i.test(E))return JK(iq(`${g} ${E}`));return JK(iq(E))}}return null}function vE(A,q){let E=A[q]??"";if(!E)return!1;let g=A[q-1]??"";return/^\d+\.\s/.test(g)||/^(una sola|una respuesta|varias opciones)/i.test(E)}function B3(A,q){for(let E=q;E>=0;E-=1)if(A[E]?.trim())return E;return-1}function JK(A){let q=iq(A),E=q.match(/.*?[.!?](?:\s|$)|.+$/g)?.map((j)=>iq(j)).filter(Boolean)??[];if(E.length===0)return q;let g=E[0]??q;if(/^(listo|hecho)[.!?]?$/i.test(g)&&E[1])return E[1];return g}function XK(A){if(A<1000)return"0s";let q=Math.floor(A/1000),E=Math.floor(q/3600),g=Math.floor(q%3600/60),j=q%60;if(E>0)return`${E}h${g}m`;if(g>0)return`${g}m${j}s`;return`${j}s`}function PP(A){return w7(A).split(" ")[0]??""}function c7(){return Boolean(process.env.TMUX)}var K_=()=>{};import{existsSync as Zj,rmSync as p7,writeFileSync as d7}from"fs";import{homedir as x3}from"os";import{dirname as f7,isAbsolute as l7,join as rG}from"path";function Uj(){if($K)return new s7;if(dG){if(!P3())return new eG(tG?"wsl":"linux-no-systemd",tG?"WSL detected without systemd. Enable systemd in /etc/wsl.conf to use service management.":"No running systemd user session detected. Service management requires systemd --user.");return new i7}return new eG("unsupported","Daemon service management is only supported on macOS and Linux. On Windows, run scrylogd manually or use Task Scheduler.")}function P3(){let A=m7(["systemctl","--user","is-system-running"]);return A.ok&&A.output.trim()==="running"}function z3(){let A=rG(import.meta.dir,"../daemon/index.js");return Zj(A)?A:rG(import.meta.dir,"../daemon/index.ts")}function t7(A,q=XF("scrylogd")){let E=Jg(A);if(q)return[q,"--config",E];return[process.execPath,"run",z3(),"--config",E]}function C3(A){let q=t7(A),E=q.map((j)=>` <string>${u7(j)}</string>`).join(`
8
+ `),g=n7(q);return`<?xml version="1.0" encoding="UTF-8"?>
9
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
10
+ <plist version="1.0">
11
+ <dict>
12
+ <key>Label</key>
13
+ <string>${jj()}</string>
14
+ <key>ProgramArguments</key>
15
+ <array>
16
+ ${E}
17
+ </array>
18
+ <key>EnvironmentVariables</key>
19
+ <dict>
20
+ <key>PATH</key>
21
+ <string>${u7(g)}</string>
22
+ </dict>
23
+ <key>RunAtLoad</key>
24
+ <true/>
25
+ <key>KeepAlive</key>
26
+ <true/>
27
+ </dict>
28
+ </plist>
29
+ `}function D3(A){let q=t7(A);return`[Unit]
30
+ Description=scrylog daemon
31
+ After=default.target
32
+
33
+ [Service]
34
+ Environment="PATH=${n7(q)}"
35
+ ExecStart=${q.map(y3).join(" ")}
36
+ Restart=on-failure
37
+ RestartSec=3
38
+
39
+ [Install]
40
+ WantedBy=default.target
41
+ `}function E6(A,q=!1){let E=Bun.spawnSync(A,{stdout:"pipe",stderr:"pipe"}),g=Buffer.from(E.stdout).toString("utf8").trim(),j=Buffer.from(E.stderr).toString("utf8").trim();if(E.exitCode!==0&&!q)throw Error(j||g||`Command failed: ${A.join(" ")}`);return g||j}class s7{platform="macos";install(A){let q=Fj();JF(q),d7(q,C3(A),"utf8"),this.stop(),E6(["launchctl","bootstrap",`gui/${F_()}`,q],!0),this.start()}uninstall(){this.stop();let A=Fj();if(Zj(A))p7(A,{force:!0})}start(){let A=Fj();if(!Zj(A))throw Error("LaunchAgent is not installed");E6(["launchctl","bootstrap",`gui/${F_()}`,A],!0),E6(["launchctl","kickstart","-k",`gui/${F_()}/${jj()}`],!0)}stop(){let A=Fj();E6(["launchctl","bootout",`gui/${F_()}`,A],!0),E6(["launchctl","bootout",`gui/${F_()}/${jj()}`],!0)}restart(){this.stop(),this.start()}status(){let A=Zj(Fj()),q=E6(["launchctl","print",`gui/${F_()}/${jj()}`],!0),E=/state = running/i.test(q)||/pid = \d+/i.test(q);return{platform:this.platform,installed:A,running:E,detail:q||"No launchd job loaded"}}}class i7{platform="linux";install(A){let q=YK();JF(q),d7(q,D3(A),"utf8"),E6(["systemctl","--user","daemon-reload"]),E6(["systemctl","--user","enable","--now",KE()])}uninstall(){E6(["systemctl","--user","disable","--now",KE()],!0);let A=YK();if(Zj(A))p7(A,{force:!0});E6(["systemctl","--user","daemon-reload"],!0)}start(){E6(["systemctl","--user","start",KE()])}stop(){E6(["systemctl","--user","stop",KE()],!0)}restart(){E6(["systemctl","--user","restart",KE()])}status(){let A=Zj(YK())&&E6(["systemctl","--user","is-enabled",KE()],!0).includes("enabled"),q=E6(["systemctl","--user","is-active",KE()],!0),E=E6(["systemctl","--user","status",KE(),"--no-pager"],!0);return{platform:this.platform,installed:A,running:q.trim()==="active",detail:E||q||"Unit not loaded"}}}class eG{platform;detail;constructor(A,q){this.platform=A,this.detail=q}install(){throw Error(this.detail)}uninstall(){}start(){throw Error(this.detail)}stop(){}restart(){throw Error(this.detail)}status(){return{platform:this.platform,installed:!1,running:!1,detail:this.detail}}}function y3(A){return`'${A.replace(/'/g,`'"'"'`)}'`}function n7(A){let q=A[0],E=[q&&l7(q)?f7(q):void 0,l7(process.execPath)?f7(process.execPath):void 0,process.env.PATH,rG(x3(),".bun","bin"),"/opt/homebrew/bin","/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin"],g=new Set;for(let j of E)for(let a of j?.split(":")??[])if(a)g.add(a);return Array.from(g).join(":")}function u7(A){return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}var AM=zA(()=>{TK();QK();aj();K_()});import{join as m3}from"path";function Gj(A){if(A)return A;let q=sG();return m3("/tmp",`scrylog-${q}.sock`)}function LK(A){let q=A.bearerToken?{Authorization:`Bearer ${A.bearerToken}`}:{};if(k6||A.forceTcp){let g=`http://${A.host}:${A.port}`;return(j,a)=>{let Z=typeof j==="string"&&j.startsWith("/")?`${g}${j}`:j;return fetch(Z,{...a,headers:{...q,...a?.headers??{}}})}}let E=A.socketPath??Gj();return(g,j)=>{let a=typeof g==="string"&&g.startsWith("/")?`http://localhost${g}`:g;return fetch(a,{...j,unix:E,headers:{...q,...j?.headers??{}}})}}var qM=zA(()=>{aj()});var NT=a6((Wz,X2)=>{X2.exports="../assets/highlights-ghv9g403.scm"});var VT=a6((Bz,L2)=>{L2.exports="../assets/tree-sitter-javascript-nd0q4pe9.wasm"});var RT=a6((xz,N2)=>{N2.exports="../assets/highlights-eq9cgrbb.scm"});var IT=a6((Pz,V2)=>{V2.exports="../assets/tree-sitter-typescript-zxjzwt75.wasm"});var hT=a6((zz,R2)=>{R2.exports="../assets/highlights-r812a2qc.scm"});var ST=a6((Cz,I2)=>{I2.exports="../assets/tree-sitter-markdown-411r6y9b.wasm"});var WT=a6((Dz,h2)=>{h2.exports="../assets/injections-73j83es3.scm"});var BT=a6((yz,S2)=>{S2.exports="../assets/highlights-x6tmsnaa.scm"});var xT=a6((mz,W2)=>{W2.exports="../assets/tree-sitter-markdown_inline-j5349f42.wasm"});var PT=a6((wz,B2)=>{B2.exports="../assets/highlights-hk7bwhj4.scm"});var zT=a6((vz,x2)=>{x2.exports="../assets/tree-sitter-zig-e78zbjpm.wasm"});var CT=a6((bz,P2)=>{P2.exports="../assets/parser.worker-xyhf83rf.js"});var DT=a6((kz,z2)=>{z2.exports="../assets/tree-sitter-3jzf13jk.wasm"});import{createRequire as w2}from"module";import{fileURLToPath as v2}from"url";import{existsSync as M0}from"fs";import{mkdir as O0,writeFile as Y0}from"fs/promises";import{dirname as A4,isAbsolute as Q0,resolve as $0}from"path";import{fileURLToPath as kK}from"url";import{statSync as W0}from"fs";import{isAbsolute as E4,join as B0}from"path";import{fileURLToPath as x0}from"url";import{existsSync as c0,writeFileSync as f0}from"fs";import{EventEmitter as l0}from"events";import{EventEmitter as p0}from"events";import{Buffer as g8}from"buffer";import{Buffer as jZ}from"buffer";import{EventEmitter as k8}from"events";import{resolve as qI,isAbsolute as EI,parse as gI}from"path";import{existsSync as _I}from"fs";import{basename as jI,join as FI}from"path";import aJ from"os";import Rg from"path";import{EventEmitter as JI}from"events";import KJ from"path";function y2(A,q){this[A]=D2.bind(null,q)}function wK(A){if(A===null||typeof A!=="object"||yT==null)return!1;try{return yT.call(A),!0}catch{return!1}}function YM(A){throw Error(b2,{cause:A})}function i2(A){return{dlopen(){return YM(A)},ptr(){return YM(A)},suffix:"",toArrayBuffer(){return YM(A)}}}function n2(){if(vK)return r2(wT("bun:ffi"));try{let A=wT("node:ffi");return e2(A.default??A)}catch(A){return i2(A)}}function bK(A){if(vK&&typeof A==="bigint")return tJ(A);if(!vK&&typeof A==="number")return sJ(A);return A}function wA(A){return A?1:0}function vT(A,q){if(q===A.byteLength)return A;return new Uint8Array(A.buffer.transferToFixedLength(q))}function tJ(A){if(A<0n)throw Error(tM);if(A>BigInt(Number.MAX_SAFE_INTEGER))throw Error(dJ);return Number(A)}function sJ(A){if(A<0)throw Error(tM);if(!Number.isSafeInteger(A))throw Error(dJ);return BigInt(A)}function iJ(A,q){let E=A.ptr,g=!1,j={get ptr(){return E},get threadsafe(){return A.threadsafe},close(){if(g)return;g=!0,q.delete(j);try{A.close()}finally{E=null}}};return q.add(j),j}function o2(A){return Object.fromEntries(Object.entries(A).map(([q,E])=>[q,nJ(E)]))}function nJ(A){return{args:A.args,returns:A.returns,ptr:A.ptr==null?void 0:oJ(A.ptr),threadsafe:A.threadsafe}}function oJ(A){return typeof A==="bigint"?tJ(A):A}function r2(A){return{dlopen(q,E){if(q===null)throw Error(k2);let g=A.dlopen(q,o2(E)),j=new Set,a=!1;return{symbols:g.symbols,createCallback(Z,G){if(a)throw Error(pJ);let M=new A.JSCallback(Z,nJ(G));return iJ(M,j)},close(){if(a)return;a=!0;try{g.close()}finally{for(let Z of[...j])Z.close()}}}},ptr:A.ptr,suffix:A.suffix,toArrayBuffer(q,E,g){return A.toArrayBuffer(oJ(q),E,g)}}}function e2(A){return{dlopen(q,E){let{lib:g,functions:j}=A.dlopen(A0(q),q0(E)),a=new Set,Z=!1,G=!1;return{symbols:E0(j,E),createCallback(M,Y){if(Z)throw Error(pJ);if(Y.threadsafe)throw Error(c2);let Q=g.registerCallback(rJ(Y),M);return iJ({ptr:Q,threadsafe:!1,close(){if(!G)g.unregisterCallback(Q)}},a)},close(){if(Z)return;Z=!0;try{G=!0,g.close()}finally{for(let M of[...a])M.close()}}}},ptr(q){return a0(A,q)},suffix:A.suffix,toArrayBuffer(q,E,g){return A.toArrayBuffer(eJ(q)+K0(E),g,!1)}}}function A0(A){return A instanceof URL?v2(A):A}function q0(A){return Object.fromEntries(Object.entries(A).map(([q,E])=>[q,rJ(E)]))}function E0(A,q){return Object.fromEntries(Object.entries(A).map(([E,g])=>[E,g0(g,q[E])]))}function g0(A,q){let E=(q.args??[]).flatMap((a,Z)=>F0(a)?[Z]:[]);if(E.length===0)return A;if(q.args?.length===7&&E.length>=2)return _0(A,E);if(q.args?.length===8)return j0(A,E);let g=new Set(E),j=(a,Z)=>g.has(Z)?sM(a):a;switch(q.args?.length){case 1:return function(a){if(arguments.length!==1)return Reflect.apply(A,void 0,arguments);return A(j(a,0))};case 2:return function(a,Z){if(arguments.length!==2)return Reflect.apply(A,void 0,arguments);return A(j(a,0),j(Z,1))};case 3:return function(a,Z,G){if(arguments.length!==3)return Reflect.apply(A,void 0,arguments);return A(j(a,0),j(Z,1),j(G,2))}}return(...a)=>{let Z=a.slice();for(let G of E)Z[G]=mM(Z[G]);return A(...Z)}}function _0(A,q){let E=q.includes(0),g=q.includes(1),j=q.includes(2),a=q.includes(3),Z=q.includes(4),G=q.includes(5),M=q.includes(6),Y=(Q,H)=>H?sM(Q):Q;return function(Q,H,N,X,T,J,V){if(arguments.length!==7)return Reflect.apply(A,void 0,arguments);return A(Y(Q,E),Y(H,g),Y(N,j),Y(X,a),Y(T,Z),Y(J,G),Y(V,M))}}function j0(A,q){let E=q.includes(0),g=q.includes(1),j=q.includes(2),a=q.includes(3),Z=q.includes(4),G=q.includes(5),M=q.includes(6),Y=q.includes(7),Q=(H,N)=>N?sM(H):H;return function(H,N,X,T,J,V,I,W){if(arguments.length!==8)return Reflect.apply(A,void 0,arguments);return A(Q(H,E),Q(N,g),Q(X,j),Q(T,a),Q(J,Z),Q(V,G),Q(I,M),Q(W,Y))}}function sM(A){if(typeof A==="bigint")return A>=0n?A:mM(A);if(ArrayBuffer.isView(A)&&A.byteLength>0&&A.buffer instanceof ArrayBuffer)return A;if(A instanceof ArrayBuffer&&A.byteLength>0)return A;return mM(A)}function F0(A){return A===NA.ptr||A===NA.pointer||A===NA.function||A===NA.callback}function mM(A){if(A==null)return 0n;if(typeof A==="number"||typeof A==="bigint")return eJ(A);if(ArrayBuffer.isView(A)){if(!wK(A.buffer))throw TypeError(yM);if(A.byteLength===0)return 0n;return A}if(wK(A)){if(A.byteLength===0)return 0n;return A}throw TypeError(u2)}function a0(A,q){if(ArrayBuffer.isView(q)){if(!wK(q.buffer))throw TypeError(yM);return A.getRawPointer(q.buffer)+BigInt(q.byteOffset)}if(wK(q))return A.getRawPointer(q);throw TypeError(yM)}function K0(A){if(A==null)return 0n;if(A<0)throw Error(t2);if(!Number.isSafeInteger(A))throw Error(s2);return BigInt(A)}function rJ(A){if(A.ptr!=null)throw Error(l2);return{arguments:(A.args??[]).map((q)=>bT(q,"parameter")),return:bT(A.returns??NA.void,"result")}}function bT(A,q){switch(A){case NA.char:return"char";case NA.int8_t:case NA.i8:return"i8";case NA.uint8_t:case NA.u8:return"u8";case NA.int16_t:case NA.i16:return"i16";case NA.uint16_t:case NA.u16:return"u16";case NA.int32_t:case NA.int:case NA.i32:return"i32";case NA.uint32_t:case NA.u32:return"u32";case NA.int64_t:case NA.i64:return"i64";case NA.uint64_t:case NA.u64:return"u64";case NA.double:case NA.f64:return"f64";case NA.float:case NA.f32:return"f32";case NA.bool:return"bool";case NA.ptr:case NA.pointer:return"pointer";case NA.void:return"void";case NA.cstring:if(q==="result")throw Error(p2);return"string";case NA.function:case NA.callback:return"pointer";case NA.usize:throw Error(d2);case NA.napi_env:case NA.napi_value:throw Error(f2);case NA.buffer:return"pointer";default:return Z0(A)}}function Z0(A){throw Error(`Unsupported FFIType for node:ffi: ${String(A)}`)}function eJ(A){if(typeof A==="bigint"){if(A<0n)throw Error(tM);return A}return sJ(A)}function H0({onlyFirst:A=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",A?void 0:"g")}function q4(A){if(typeof A!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(T0,"")}function J0(A){return A===161||A===164||A===167||A===168||A===170||A===173||A===174||A>=176&&A<=180||A>=182&&A<=186||A>=188&&A<=191||A===198||A===208||A===215||A===216||A>=222&&A<=225||A===230||A>=232&&A<=234||A===236||A===237||A===240||A===242||A===243||A>=247&&A<=250||A===252||A===254||A===257||A===273||A===275||A===283||A===294||A===295||A===299||A>=305&&A<=307||A===312||A>=319&&A<=322||A===324||A>=328&&A<=331||A===333||A===338||A===339||A===358||A===359||A===363||A===462||A===464||A===466||A===468||A===470||A===472||A===474||A===476||A===593||A===609||A===708||A===711||A>=713&&A<=715||A===717||A===720||A>=728&&A<=731||A===733||A===735||A>=768&&A<=879||A>=913&&A<=929||A>=931&&A<=937||A>=945&&A<=961||A>=963&&A<=969||A===1025||A>=1040&&A<=1103||A===1105||A===8208||A>=8211&&A<=8214||A===8216||A===8217||A===8220||A===8221||A>=8224&&A<=8226||A>=8228&&A<=8231||A===8240||A===8242||A===8243||A===8245||A===8251||A===8254||A===8308||A===8319||A>=8321&&A<=8324||A===8364||A===8451||A===8453||A===8457||A===8467||A===8470||A===8481||A===8482||A===8486||A===8491||A===8531||A===8532||A>=8539&&A<=8542||A>=8544&&A<=8555||A>=8560&&A<=8569||A===8585||A>=8592&&A<=8601||A===8632||A===8633||A===8658||A===8660||A===8679||A===8704||A===8706||A===8707||A===8711||A===8712||A===8715||A===8719||A===8721||A===8725||A===8730||A>=8733&&A<=8736||A===8739||A===8741||A>=8743&&A<=8748||A===8750||A>=8756&&A<=8759||A===8764||A===8765||A===8776||A===8780||A===8786||A===8800||A===8801||A>=8804&&A<=8807||A===8810||A===8811||A===8814||A===8815||A===8834||A===8835||A===8838||A===8839||A===8853||A===8857||A===8869||A===8895||A===8978||A>=9312&&A<=9449||A>=9451&&A<=9547||A>=9552&&A<=9587||A>=9600&&A<=9615||A>=9618&&A<=9621||A===9632||A===9633||A>=9635&&A<=9641||A===9650||A===9651||A===9654||A===9655||A===9660||A===9661||A===9664||A===9665||A>=9670&&A<=9672||A===9675||A>=9678&&A<=9681||A>=9698&&A<=9701||A===9711||A===9733||A===9734||A===9737||A===9742||A===9743||A===9756||A===9758||A===9792||A===9794||A===9824||A===9825||A>=9827&&A<=9829||A>=9831&&A<=9834||A===9836||A===9837||A===9839||A===9886||A===9887||A===9919||A>=9926&&A<=9933||A>=9935&&A<=9939||A>=9941&&A<=9953||A===9955||A===9960||A===9961||A>=9963&&A<=9969||A===9972||A>=9974&&A<=9977||A===9979||A===9980||A===9982||A===9983||A===10045||A>=10102&&A<=10111||A>=11094&&A<=11097||A>=12872&&A<=12879||A>=57344&&A<=63743||A>=65024&&A<=65039||A===65533||A>=127232&&A<=127242||A>=127248&&A<=127277||A>=127280&&A<=127337||A>=127344&&A<=127373||A===127375||A===127376||A>=127387&&A<=127404||A>=917760&&A<=917999||A>=983040&&A<=1048573||A>=1048576&&A<=1114109}function X0(A){return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510}function L0(A){return A>=4352&&A<=4447||A===8986||A===8987||A===9001||A===9002||A>=9193&&A<=9196||A===9200||A===9203||A===9725||A===9726||A===9748||A===9749||A>=9776&&A<=9783||A>=9800&&A<=9811||A===9855||A>=9866&&A<=9871||A===9875||A===9889||A===9898||A===9899||A===9917||A===9918||A===9924||A===9925||A===9934||A===9940||A===9962||A===9970||A===9971||A===9973||A===9978||A===9981||A===9989||A===9994||A===9995||A===10024||A===10060||A===10062||A>=10067&&A<=10069||A===10071||A>=10133&&A<=10135||A===10160||A===10175||A===11035||A===11036||A===11088||A===11093||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12287||A>=12289&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12591||A>=12593&&A<=12686||A>=12688&&A<=12773||A>=12783&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=94176&&A<=94180||A>=94192&&A<=94198||A>=94208&&A<=101589||A>=101631&&A<=101662||A>=101760&&A<=101874||A>=110576&&A<=110579||A>=110581&&A<=110587||A===110589||A===110590||A>=110592&&A<=110882||A===110898||A>=110928&&A<=110930||A===110933||A>=110948&&A<=110951||A>=110960&&A<=111355||A>=119552&&A<=119638||A>=119648&&A<=119670||A===126980||A===127183||A===127374||A>=127377&&A<=127386||A>=127488&&A<=127490||A>=127504&&A<=127547||A>=127552&&A<=127560||A===127568||A===127569||A>=127584&&A<=127589||A>=127744&&A<=127776||A>=127789&&A<=127797||A>=127799&&A<=127868||A>=127870&&A<=127891||A>=127904&&A<=127946||A>=127951&&A<=127955||A>=127968&&A<=127984||A===127988||A>=127992&&A<=128062||A===128064||A>=128066&&A<=128252||A>=128255&&A<=128317||A>=128331&&A<=128334||A>=128336&&A<=128359||A===128378||A===128405||A===128406||A===128420||A>=128507&&A<=128591||A>=128640&&A<=128709||A===128716||A>=128720&&A<=128722||A>=128725&&A<=128728||A>=128732&&A<=128735||A===128747||A===128748||A>=128756&&A<=128764||A>=128992&&A<=129003||A===129008||A>=129292&&A<=129338||A>=129340&&A<=129349||A>=129351&&A<=129535||A>=129648&&A<=129660||A>=129664&&A<=129674||A>=129678&&A<=129734||A===129736||A>=129741&&A<=129756||A>=129759&&A<=129770||A>=129775&&A<=129784||A>=131072&&A<=196605||A>=196608&&A<=262141}function N0(A){if(!Number.isSafeInteger(A))throw TypeError(`Expected a code point, got \`${typeof A}\`.`)}function V0(A,{ambiguousAsWide:q=!1}={}){if(N0(A),X0(A)||L0(A)||q&&J0(A))return 2;return 1}function S0(A,q={}){if(typeof A!=="string"||A.length===0)return 0;let{ambiguousIsNarrow:E=!0,countAnsiEscapeCodes:g=!1}=q;if(!g)A=q4(A);if(A.length===0)return 0;let j=0,a={ambiguousAsWide:!E};for(let{segment:Z}of I0.segment(A)){let G=Z.codePointAt(0);if(G<=31||G>=127&&G<=159)continue;if(G>=8203&&G<=8207||G===65279)continue;if(G>=768&&G<=879||G>=6832&&G<=6911||G>=7616&&G<=7679||G>=8400&&G<=8447||G>=65056&&G<=65071)continue;if(G>=55296&&G<=57343)continue;if(G>=65024&&G<=65039)continue;if(h0.test(Z))continue;if(R0().test(Z)){j+=2;continue}j+=V0(G,a)}return j}function fE(A,q){let E=globalThis[iM]??={};if(!(A in E))E[A]=q();return E[A]}function cK(A){return globalThis[iM]?.[A]}function g4(A){let q=globalThis[iM];if(q&&A in q)delete q[A]}function Eq(A){let q=$_[A.name];if(q){if(q.description!==A.description||q.type!==A.type||q.default!==A.default||q.required!==A.required)throw Error(`Environment variable "${A.name}" is already registered with different configuration. Existing: ${JSON.stringify(q)}, New: ${JSON.stringify(A)}`);return}$_[A.name]=A}function P0(A){let q=A.toLowerCase();return["true","1","on","yes"].includes(q)}function z0(A){let q=process.env[A.name];if(q===void 0&&A.default!==void 0)return A.default;if(q===void 0&&A.required===!1)return;if(q===void 0)throw Error(`Required environment variable ${A.name} is not set. ${A.description}`);switch(A.type){case"boolean":return typeof q==="boolean"?q:P0(q);case"number":let E=Number(q);if(isNaN(E))throw Error(`Environment variable ${A.name} must be a valid number, got: ${q}`);return E;case"string":default:return q}}class _4{parsedValues=new Map;get(A){if(this.parsedValues.has(A))return this.parsedValues.get(A);if(!(A in $_))throw Error(`Environment variable ${A} is not registered.`);try{let q=z0($_[A]);return this.parsedValues.set(A,q),q}catch(q){throw Error(`Failed to parse env var ${A}: ${q instanceof Error?q.message:String(q)}`)}}has(A){return A in $_}clearCache(){this.parsedValues.clear()}}function C0(A,q){j4(A);let E=nM(A);if(E!==void 0)return E;if(q===void 0)throw Error(`OpenTUI asset ${JSON.stringify(A)} has no package-relative fallback`);let g=typeof q==="function"?q():q;return g instanceof URL?x0(g):g}function nM(A){j4(A);let q=process.env.OTUI_ASSET_ROOT;if(!q)return;if(!E4(q))throw Error(`OTUI_ASSET_ROOT must be an absolute directory, got ${JSON.stringify(q)}`);let E=B0(q,A),g=!1;try{g=W0(E).isFile()}catch{}if(!g)throw Error(`Missing OpenTUI asset ${JSON.stringify(A)} at ${JSON.stringify(E)}`);return E}function j4(A){if(A.length===0||E4(A)||A.includes("\\")||A.split("/").includes(".."))throw Error(`Invalid OpenTUI asset key: ${JSON.stringify(A)}`)}async function tK(A,q,E,g,j={}){if(j.useAssetRoot??!0){let Z=nM(A);if(Z!==void 0)return Z}if(!CF){let Z=kT(E,g);if(M0(Z))return Z;return await w0(q,g,j.loadBundledFileFallback??!1)??Z}let a=(await q()).default;if(typeof a!=="string")return kT(E,g);return wM(a,g)}function kT(A,q){let E=typeof A==="function"?A():A;return kK(E instanceof URL?E:new URL(E,q))}function wM(A,q){if(A.startsWith("file:"))return kK(A);if(Q0(A))return A;return $0(A4(kK(q)),A)}async function w0(A,q,E){let g=v0(A);if(!g){if(!E)return;try{return wM((await A()).default,q)}catch{return}}try{let j=new URL(g,q),a=await import(j.href);return wM(a.default,j.href)}catch{return}}function v0(A){return String(A).match(/\bimport\(\s*(["'`])([^"'`]+)\1/)?.[2]}function b0(A){let q=A instanceof Date?A.getTime()-Date.now():A;return new Promise((E)=>setTimeout(E,q))}async function k0(A,q,E){let g=A instanceof URL?kK(A):A;if(E?.createPath)await O0(A4(g),{recursive:!0});let j=typeof q==="string"?D0.encode(q):new Uint8Array(q.buffer,q.byteOffset,q.byteLength);return await Y0(g,j,{mode:E?.mode}),j.byteLength}function RF(A,q=0){return(q&255|(A&255)<<8)>>>0}function Vg(A){return Math.round(Math.max(0,Math.min(1,Number.isFinite(A)?A:0))*255)}function SK(A){return Math.round(Math.max(0,Math.min(255,Number.isFinite(A)?A:0)))}function IF(A,q,E,g,j){return new Uint16Array([SK(A)&255|(j>>>0&255)<<8,SK(q)&255|(j>>>8&255)<<8,SK(E)&255|(j>>>16&255)<<8,SK(g)&255|(j>>>24&255)<<8])}function u0(A){let[q,E,g]=AO(A);return MA.fromInts(q,E,g)}function eM(A){if(!Number.isInteger(A)||A<0||A>255)throw RangeError(`Indexed color must be an integer in the range 0..255, got ${A}`);return A}function AO(A){let q=eM(A);if(q<lT.length)return lT[q];if(q<232){let g=q-16,j=Math.floor(g/36),a=Math.floor(g/6)%6,Z=g%6;return[$M[j],$M[a],$M[Z]]}let E=8+(q-232)*10;return[E,E,E]}class MA{buffer;constructor(A){this.buffer=new Uint16Array(4),this.buffer.set(A.subarray(0,4))}static fromArray(A){return new MA(A)}static fromValues(A,q,E,g=1){return new MA(IF(Vg(A),Vg(q),Vg(E),Vg(g),RF(cT)))}static clone(A){return new MA(A.buffer)}static fromInts(A,q,E,g=255){return new MA(IF(A,q,E,g,RF(cT)))}static fromHex(A){return fK(A)}static fromIndex(A,q){let E=eM(A),g=q?S(q):u0(E),[j,a,Z,G]=g.toInts();return new MA(IF(j,a,Z,G,RF(fT,E)))}static defaultForeground(A){let q=A?S(A):MA.fromInts(...oM),[E,g,j,a]=q.toInts();return new MA(IF(E,g,j,a,RF(QM)))}static defaultBackground(A){let q=A?S(A):MA.fromInts(...rM),[E,g,j,a]=q.toInts();return new MA(IF(E,g,j,a,RF(QM)))}toInts(){return[this.buffer[0]&255,this.buffer[1]&255,this.buffer[2]&255,this.buffer[3]&255]}get r(){return(this.buffer[0]&255)/255}set r(A){this.buffer[0]=this.buffer[0]&65280|Vg(A)}get g(){return(this.buffer[1]&255)/255}set g(A){this.buffer[1]=this.buffer[1]&65280|Vg(A)}get b(){return(this.buffer[2]&255)/255}set b(A){this.buffer[2]=this.buffer[2]&65280|Vg(A)}get a(){return(this.buffer[3]&255)/255}set a(A){this.buffer[3]=this.buffer[3]&65280|Vg(A)}get meta(){return(this.buffer[0]>>>8|this.buffer[1]>>>8<<8|this.buffer[2]>>>8<<16|this.buffer[3]>>>8<<24)>>>0}get intent(){switch(this.meta>>>8&255){case fT:return"indexed";case QM:return"default";default:return"rgb"}}get slot(){return this.meta&255}map(A){return[A(this.r),A(this.g),A(this.b),A(this.a)]}toString(){return`rgba(${this.r.toFixed(2)}, ${this.g.toFixed(2)}, ${this.b.toFixed(2)}, ${this.a.toFixed(2)})`}equals(A){if(!A)return!1;return this.buffer[0]===A.buffer[0]&&this.buffer[1]===A.buffer[1]&&this.buffer[2]===A.buffer[2]&&this.buffer[3]===A.buffer[3]}}function vM(A){if(A==null)return null;return{rgba:S(A)}}function fK(A){if(A=A.replace(/^#/,""),A.length===3)A=A[0]+A[0]+A[1]+A[1]+A[2]+A[2];else if(A.length===4)A=A[0]+A[0]+A[1]+A[1]+A[2]+A[2]+A[3]+A[3];if(!/^[0-9A-Fa-f]{6}$/.test(A)&&!/^[0-9A-Fa-f]{8}$/.test(A))return console.warn(`Invalid hex color: ${A}, defaulting to magenta`),MA.fromValues(1,0,1,1);let q=parseInt(A.substring(0,2),16),E=parseInt(A.substring(2,4),16),g=parseInt(A.substring(4,6),16),j=A.length===8?parseInt(A.substring(6,8),16):255;return MA.fromInts(q,E,g,j)}function S(A){if(typeof A==="string"){let q=A.toLowerCase();if(q==="transparent")return MA.fromValues(0,0,0,0);if(uT[q])return fK(uT[q]);return fK(A)}return A}function K4(A){return typeof A==="string"&&a4.includes(A)}function T_(A,q="single"){if(K4(A))return A;if(A!==void 0&&A!==null)console.warn(`Invalid borderStyle "${A}", falling back to "${q}". Valid values are: ${a4.join(", ")}`);return q}function DF(A){return A===!0?{top:!0,right:!0,bottom:!0,left:!0}:Array.isArray(A)?{top:A.includes("top"),right:A.includes("right"),bottom:A.includes("bottom"),left:A.includes("left")}:{top:!1,right:!1,bottom:!1,left:!1}}function zg(A){let q=new Uint32Array(11);return q[0]=A.topLeft.codePointAt(0),q[1]=A.topRight.codePointAt(0),q[2]=A.bottomLeft.codePointAt(0),q[3]=A.bottomRight.codePointAt(0),q[4]=A.horizontal.codePointAt(0),q[5]=A.vertical.codePointAt(0),q[6]=A.topT.codePointAt(0),q[7]=A.bottomT.codePointAt(0),q[8]=A.leftT.codePointAt(0),q[9]=A.rightT.codePointAt(0),q[10]=A.cross.codePointAt(0),q}class BF{name;ctrl;meta;shift;option;sequence;number;raw;eventType;source;code;super;hyper;capsLock;numLock;baseCode;repeated;_defaultPrevented=!1;_propagationStopped=!1;constructor(A){this.name=A.name,this.ctrl=A.ctrl,this.meta=A.meta,this.shift=A.shift,this.option=A.option,this.sequence=A.sequence,this.number=A.number,this.raw=A.raw,this.eventType=A.eventType,this.source=A.source,this.code=A.code,this.super=A.super,this.hyper=A.hyper,this.capsLock=A.capsLock,this.numLock=A.numLock,this.baseCode=A.baseCode,this.repeated=A.repeated}get defaultPrevented(){return this._defaultPrevented}get propagationStopped(){return this._propagationStopped}preventDefault(){this._defaultPrevented=!0}stopPropagation(){this._propagationStopped=!0}}class EO{type="paste";bytes;metadata;_defaultPrevented=!1;_propagationStopped=!1;constructor(A,q){this.bytes=A,this.metadata=q}get defaultPrevented(){return this._defaultPrevented}get propagationStopped(){return this._propagationStopped}preventDefault(){this._defaultPrevented=!0}stopPropagation(){this._propagationStopped=!0}}function e0(A){let q=[],E=0,g=/<c(\d+)>(.*?)<\/c\d+>/g,j=0,a;while((a=g.exec(A))!==null){if(a.index>j){let M=A.slice(j,a.index);if(M)q.push({text:M,colorIndex:0})}let Z=parseInt(a[1])-1,G=a[2];q.push({text:G,colorIndex:Math.max(0,Z)}),j=a.index+a[0].length}if(j<A.length){let Z=A.slice(j);if(Z)q.push({text:Z,colorIndex:0})}return q}function gO(A){if(!HM[A]){let q=Z4[A],E={};for(let[g,j]of Object.entries(q.chars))E[g]=j.map((a)=>e0(a));HM[A]={...q,colors:q.colors||1,chars:E}}return HM[A]}function Xj({text:A,font:q="tiny"}){let E=gO(q);if(!E)return console.warn(`Font '${q}' not found`),{width:0,height:0};let g=0;for(let j=0;j<A.length;j++){let a=A[j].toUpperCase(),Z=E.chars[a];if(!Z){let M=E.chars[" "];if(M&&M[0]){let Y=0;for(let Q of M[0])Y+=Q.text.length;g+=Y}else g+=1;continue}let G=0;if(Z[0])for(let M of Z[0])G+=M.text.length;if(g+=G,j<A.length-1)g+=E.letterspace_size}return{width:g,height:E.lines}}function sK(A,q="tiny"){let E=gO(q);if(!E)return[0];let g=[0],j=0;for(let a=0;a<A.length;a++){let Z=A[a].toUpperCase(),G=E.chars[Z],M=0;if(!G){let Y=E.chars[" "];if(Y&&Y[0])for(let Q of Y[0])M+=Q.text.length;else M=1}else if(G[0])for(let Y of G[0])M+=Y.text.length;if(j+=M,a<A.length-1)j+=E.letterspace_size;g.push(j)}return g}function U4(A,q,E="tiny"){let g=sK(q,E);if(A<0)return 0;for(let j=0;j<g.length-1;j++){let a=g[j],Z=g[j+1];if(A>=a&&A<Z){let G=a+(Z-a)/2;return A<G?j:j+1}}if(g.length>0&&A>=g[g.length-1])return q.length;return 0}function iK(A,{text:q,x:E=0,y:g=0,color:j=[MA.fromInts(255,255,255,255)],backgroundColor:a=MA.fromInts(0,0,0,255),font:Z="tiny"}){let{width:G,height:M}=A,Y=gO(Z);if(!Y)return console.warn(`Font '${Z}' not found`),{width:0,height:0};let Q=Array.isArray(j)?j:[j];if(g<0||g+Y.lines>M)return{width:0,height:Y.lines};let H=E,N=E;for(let X=0;X<q.length;X++){let T=q[X].toUpperCase(),J=Y.chars[T];if(!J){let I=Y.chars[" "];if(I&&I[0]){let W=0;for(let C of I[0])W+=C.text.length;H+=W}else H+=1;continue}let V=0;if(J[0])for(let I of J[0])V+=I.text.length;if(H>=G)break;if(H+V<0){H+=V+Y.letterspace_size;continue}for(let I=0;I<Y.lines&&I<J.length;I++){let W=J[I],C=g+I;if(C>=0&&C<M){let c=H;for(let D of W){let v=Q[D.colorIndex]||Q[0];for(let k=0;k<D.text.length;k++){let u=c+k;if(u>=0&&u<G){let d=D.text[k];if(d!==" ")A.setCellWithAlphaBlending(u,C,d,S(v),S(a))}}c+=D.text.length}}}if(H+=V,X<q.length-1)H+=Y.letterspace_size}return{width:H-N,height:Y.lines}}function f6({bold:A=!1,italic:q=!1,underline:E=!1,dim:g=!1,blink:j=!1,inverse:a=!1,reverse:Z=!1,hidden:G=!1,strikethrough:M=!1}={}){let Y=aA.NONE;if(A)Y|=aA.BOLD;if(q)Y|=aA.ITALIC;if(E)Y|=aA.UNDERLINE;if(g)Y|=aA.DIM;if(j)Y|=aA.BLINK;if(a||Z)Y|=aA.INVERSE;if(G)Y|=aA.HIDDEN;if(M)Y|=aA.STRIKETHROUGH;return Y}function _O(A){return A>>>A8&q8}function nK(A){return A&&A[O4]}function J_(A){return new OE([{__isChunk:!0,text:A}])}function E8(A,q){if(typeof A==="object"&&"__isChunk"in A){let E=A,g=q.fg?S(q.fg):E.fg,j=q.bg?S(q.bg):E.bg,a=f6(q),Z=E.attributes?E.attributes|a:a;return{__isChunk:!0,text:E.text,fg:g,bg:j,attributes:Z,link:E.link}}else{let E=String(A),g=q.fg?S(q.fg):void 0,j=q.bg?S(q.bg):void 0,a=f6(q);return{__isChunk:!0,text:E,fg:g,bg:j,attributes:a}}}class X_{now(){if(!globalThis.performance||typeof globalThis.performance.now!=="function")throw Error("SystemClock requires globalThis.performance.now()");return globalThis.performance.now()}setTimeout(A,q){return globalThis.setTimeout(A,q)}clearTimeout(A){globalThis.clearTimeout(A)}setInterval(A,q){return globalThis.setInterval(A,q)}clearInterval(A){globalThis.clearInterval(A)}}function F8(A){return j8[A.name]}function Q4(A){return{shift:!!(A&1),alt:!!(A&2),ctrl:!!(A&4),super:!!(A&8),hyper:!!(A&16),meta:!!(A&32),capsLock:!!(A&64),numLock:!!(A&128)}}function Z8(A){let E=/^\x1b\[(\d+);(\d+):(\d+)([A-Z~])$/.exec(A);if(!E)return null;let g=E[1],j=E[2],a=E[3],Z=E[4],G;if(Z==="~")G=K8[g];else{if(g!=="1")return null;G=a8[Z]}if(!G)return null;let M={name:G,ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:A,raw:A,eventType:"press",source:"kitty",super:!1,hyper:!1,capsLock:!1,numLock:!1};if(j){let Y=parseInt(j,10);if(!isNaN(Y)&&Y>1){let Q=Q4(Y-1);M.shift=Q.shift,M.ctrl=Q.ctrl,M.meta=Q.alt||Q.meta,M.option=Q.alt,M.super=Q.super,M.hyper=Q.hyper,M.capsLock=Q.capsLock,M.numLock=Q.numLock}}if(a==="1"||!a)M.eventType="press";else if(a==="2")M.eventType="press",M.repeated=!0;else if(a==="3")M.eventType="release";return M}function U8(A){let q=Z8(A);if(q)return q;let g=/^\x1b\[([^\x1b]+)u$/.exec(A);if(!g)return null;let a=g[1].split(";");if(a.length<1)return null;let Z={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:A,raw:A,eventType:"press",source:"kitty",super:!1,hyper:!1,capsLock:!1,numLock:!1},G="",M=a[0]?.split(":")||[],Y=M[0];if(!Y)return null;let Q=parseInt(Y,10);if(isNaN(Q))return null;let H,N;if(M[1]){let T=parseInt(M[1],10);if(!isNaN(T)&&T>0&&T<=1114111)H=T}if(M[2]){let T=parseInt(M[2],10);if(!isNaN(T)&&T>0&&T<=1114111)N=T}let X=bM[Q];if(X)Z.name=X,Z.code=`[${Q}u`;else if(Q===0)Z.name="";else if(Q>0&&Q<=1114111){let T=String.fromCodePoint(Q);if(Z.name=T===" "?"space":T,N)Z.baseCode=N}else return null;if(a[1]){let T=a[1].split(":"),J=T[0],V=T[1];if(J){let I=parseInt(J,10);if(!isNaN(I)&&I>1){let W=Q4(I-1);Z.shift=W.shift,Z.ctrl=W.ctrl,Z.meta=W.alt||W.meta,Z.option=W.alt,Z.super=W.super,Z.hyper=W.hyper,Z.capsLock=W.capsLock,Z.numLock=W.numLock}}if(V==="1"||!V)Z.eventType="press";else if(V==="2")Z.eventType="press",Z.repeated=!0;else if(V==="3")Z.eventType="release";else Z.eventType="press"}if(a[2]){let T=a[2].split(":");for(let J of T){let V=parseInt(J,10);if(!isNaN(V)&&V>0&&V<=1114111)G+=String.fromCodePoint(V)}}if(G==="")G=F8(Z)??"";if(G===""){if(Z.name.length>0&&!bM[Q])if(Q===32)G=" ";else if(Z.shift&&H)G=String.fromCodePoint(H);else if(Z.shift&&Z.name.length===1)G=Z.name.toLocaleUpperCase();else G=Z.name}if(G){if(Q===0)Z.name=G;Z.sequence=G}if(Q===0&&G==="")return null;return Z}class jO{tick(A){return 1}reset(){}}function oK(A){if(A==null)return 0;switch(A.toLowerCase()){case"auto":return 0;case"flex-start":return 1;case"center":return 2;case"flex-end":return 3;case"stretch":return 4;case"baseline":return 5;case"space-between":return 6;case"space-around":return 7;case"space-evenly":return 8;default:return 0}}function rK(A){if(A==null)return 4;switch(A.toLowerCase()){case"auto":return 0;case"flex-start":return 1;case"center":return 2;case"flex-end":return 3;case"stretch":return 4;case"baseline":return 5;case"space-between":return 6;case"space-around":return 7;case"space-evenly":return 8;default:return 4}}function eK(A){if(A==null)return 0;switch(A.toLowerCase()){case"column":return 0;case"column-reverse":return 1;case"row":return 2;case"row-reverse":return 3;default:return 0}}function AZ(A){if(A==null)return 0;switch(A.toLowerCase()){case"flex-start":return 0;case"center":return 1;case"flex-end":return 2;case"space-between":return 3;case"space-around":return 4;case"space-evenly":return 5;default:return 0}}function qZ(A){if(A==null)return 0;switch(A.toLowerCase()){case"visible":return 0;case"hidden":return 1;case"scroll":return 2;default:return 0}}function EZ(A){if(A==null)return 1;switch(A.toLowerCase()){case"static":return 0;case"relative":return 1;case"absolute":return 2;default:return 0}}function gZ(A){if(A==null)return 0;switch(A.toLowerCase()){case"no-wrap":return 0;case"wrap":return 1;case"wrap-reverse":return 2;default:return 0}}class T4{renderable;relativeX;relativeY;constructor(A,q,E){this.renderable=A,this.relativeX=q-this.renderable.x,this.relativeY=E-this.renderable.y}get x(){return this.renderable.x+this.relativeX}get y(){return this.renderable.y+this.relativeY}}class _Z{_anchor;_focus;_selectedRenderables=[];_touchedRenderables=[];_isActive=!0;_isDragging=!0;_isStart=!1;behavior;constructor(A,q,E,g="cell"){this._anchor=new T4(A,q.x,q.y),this._focus={...E},this.behavior=g}get isStart(){return this._isStart}set isStart(A){this._isStart=A}get anchor(){return{x:this._anchor.x,y:this._anchor.y}}get focus(){return{...this._focus}}set focus(A){this._focus={...A}}get isActive(){return this._isActive}set isActive(A){this._isActive=A}get isDragging(){return this._isDragging}set isDragging(A){this._isDragging=A}get bounds(){let A=Math.min(this._anchor.x,this._focus.x),q=Math.max(this._anchor.x,this._focus.x),E=Math.min(this._anchor.y,this._focus.y),g=Math.max(this._anchor.y,this._focus.y),j=q-A+1,a=g-E+1;return{x:A,y:E,width:j,height:a}}updateSelectedRenderables(A){this._selectedRenderables=A}get selectedRenderables(){return this._selectedRenderables}updateTouchedRenderables(A){this._touchedRenderables=A}get touchedRenderables(){return this._touchedRenderables}getSelectedText(){let A=new Map,q=this._selectedRenderables.sort((E,g)=>{let j=E.y,a=g.y;if(j!==a)return j-a;return E.x-g.x}).filter((E)=>!E.isDestroyed);for(let E of q){let g=E.getSelectedText();if(!g)continue;let j=g.split(`
42
+ `);for(let a=0;a<j.length;a+=1){let Z=E.y+a,G=A.get(Z)??[];G.push({x:E.x,text:j[a]}),A.set(Z,G)}}return[...A.entries()].sort(([E],[g])=>E-g).map(([,E])=>E.sort((g,j)=>g.x-j.x).map((g)=>g.text).join("")).join(`
43
+ `)}}function Lj(A,q,E){if(!A?.isActive)return null;return{anchorX:A.anchor.x-q,anchorY:A.anchor.y-E,focusX:A.focus.x-q,focusY:A.focus.y-E,isActive:!0,behavior:A.behavior}}class FO{getText;getFont;localSelection=null;constructor(A,q){this.getText=A,this.getFont=q}hasSelection(){return this.localSelection!==null}getSelection(){return this.localSelection}shouldStartSelection(A,q,E,g){if(A<0||A>=E||q<0||q>=g)return!1;let j=this.getText(),a=this.getFont(),Z=U4(A,j,a);return Z>=0&&Z<=j.length}onLocalSelectionChanged(A,q,E){let g=this.localSelection;if(!A?.isActive)return this.localSelection=null,g!==null;let j=this.getText(),a=this.getFont(),Z=sK(j,a),G=Math.min(A.anchorY,A.focusY);if(Math.max(A.anchorY,A.focusY)<0||G>E-1)return this.localSelection=null,g!==null;let Y=(J,V)=>{if(V<0)return 0;if(V>E-1)return j.length;if(J<0)return 0;if(J>=q)return j.length;for(let I=1;I<Z.length;I+=1)if(J<Z[I])return I-1;return j.length},Q=Y(A.anchorX,A.anchorY),H=Y(A.focusX,A.focusY),N=Math.min(Q,H),X=Math.min(Math.max(Q,H)+1,j.length);if(A.anchorX===A.focusX&&A.anchorY===A.focusY||N>=X)this.localSelection=null;else this.localSelection={start:N,end:X};return g?.start!==this.localSelection?.start||g?.end!==this.localSelection?.end}}class J4{buf;start=0;end=0;constructor(A=lK){this.buf=new Uint8Array(A)}get length(){return this.end-this.start}get capacity(){return this.buf.length}view(){return this.buf.subarray(this.start,this.end)}take(){let A=this.view();return this.start=0,this.end=0,A}append(A){if(A.length===0)return;this.ensureCapacity(this.length+A.length),this.buf.set(A,this.end),this.end+=A.length}consume(A){if(A<=0)return;if(A>=this.length){this.start=0,this.end=0;return}if(this.start+=A,this.start>=this.buf.length/2)this.buf.copyWithin(0,this.start,this.end),this.end-=this.start,this.start=0}clear(){this.start=0,this.end=0}reset(A=lK){this.buf=new Uint8Array(A),this.start=0,this.end=0}ensureCapacity(A){let q=this.length;if(A<=this.buf.length){if(this.buf.length-this.end>=A-q)return;if(this.buf.copyWithin(0,this.start,this.end),this.end=q,this.start=0,A<=this.buf.length)return}let E=this.buf.length;while(E<A)E*=2;let g=new Uint8Array(E);g.set(this.view(),0),this.buf=g,this.start=0,this.end=q}}function dT(A,q){if(typeof A!=="number"||!Number.isFinite(A)||A<=0)return q;return Math.floor(A)}function I8(A){if(A<128)return 1;if(A>=194&&A<=223)return 2;if(A>=224&&A<=239)return 3;if(A>=240&&A<=244)return 4;return 0}function h8(A,q){if(A.length!==q.length)return!1;for(let E=0;E<A.length;E+=1)if(A[E]!==q[E])return!1;return!0}function XM(A){if(A.length<7)return!1;if(A[0]!==cq||A[1]!==91||A[2]!==60)return!1;let q=A[A.length-1];if(q!==77&&q!==109)return!1;let E=0,g=!1;for(let j=3;j<A.length-1;j+=1){let a=A[j];if(a>=48&&a<=57){g=!0;continue}if(a===59&&g&&E<2){E+=1,g=!1;continue}return!1}return E===2&&g}function c6(A){return A>=48&&A<=57}function X4(A,q,E){if(q>=E)return null;let g=0,j=!1;for(let a=q;a<E;a+=1){let Z=A[a];if(!c6(Z))return null;j=!0,g=g*10+(Z-48)}return j?g:null}function S8(A,q,E){if(q>=E)return null;let g=-1;for(let a=q;a<E;a+=1)if(A[a]===58){g=a;break}if(g===-1)return null;let j=X4(A,q,g);if(j===null)return null;for(let a=g+1;a<E;a+=1){let Z=A[a];if(Z!==58&&!c6(Z))return null}return j}function W8(A){return A.semicolons>=1}function B8(A){return A.semicolons===1&&A.segments>1}function L4(A){return A.firstParamValue===1&&A.semicolons===1}function x8(A){return A.semicolons===1}function P8(A){return A.segments===1&&A.semicolons<=1}function z8(A){return A.firstParamValue===4&&A.semicolons===2}function tT(A){let q=[cq,91,52,59],E=Math.min(A.length,q.length);for(let Z=0;Z<E;Z+=1)if(A[Z]!==q[Z])return!1;if(A.length<=q.length)return A.length>0;let g=q.length,j=g;while(g<A.length&&c6(A[g]))g+=1;if(g===A.length)return g>j;if(g===j||A[g]!==59)return!1;g+=1;let a=g;while(g<A.length&&c6(A[g]))g+=1;if(g===A.length)return!0;return g>a&&A[g]===116}function sT(A,q){return q.kittyKeyboardEnabled&&(W8(A)||B8(A))||q.explicitWidthCprActive&&L4(A)||q.startupCursorCprActive&&x8(A)||q.pixelResolutionQueryActive&&z8(A)}function C8(A,q,E){if(E.kittyKeyboardEnabled){if(A.hasDigit&&q===117)return!0;if(A.hasDigit&&A.semicolons===1&&A.segments>1&&(q===126||q>=65&&q<=90))return!0}if(E.explicitWidthCprActive&&A.hasDigit&&A.firstParamValue===1&&A.semicolons===1&&q===82)return!0;if(E.startupCursorCprActive&&A.hasDigit&&A.semicolons===1&&q===82)return!0;if(E.pixelResolutionQueryActive&&A.hasDigit&&A.firstParamValue===4&&A.semicolons===2&&q===116)return!0;return!1}function D8(A,q){if(q===82&&A.semicolons===1&&A.segments===1&&A.hasDigit)return"cpr";return"csi"}function iT(A){return A.privateCapabilityRepliesActive}function y8(A,q,E){if(!E.privateCapabilityRepliesActive)return!1;if(A.sawDollar)return A.hasDigit&&q===121;if(q===99)return A.hasDigit||A.semicolons>0;if(q===110)return A.hasDigit;return A.hasDigit&&q===117}function m8(A,q){if(A.length===0)return q;if(q.length===0)return A;let E=new Uint8Array(A.length+q.length);return E.set(A,0),E.set(q,A.length),E}function nT(A){let q=new Uint8Array(A.length+1);return q[0]=cq,q.set(A,1),q}function oT(A,q){if(q.length===0)return 0;let E=A.length-q.length;for(let g=0;g<=E;g+=1){let j=!0;for(let a=0;a<q.length;a+=1)if(A[g+a]!==q[a]){j=!1;break}if(j)return g}return-1}function rT(A){return jZ.from(A.buffer,A.byteOffset,A.byteLength).toString("latin1")}function r6(A){return L8.decode(A)}function w8(){return{tail:aO,parts:[],totalLength:0}}function v8(A,q){if(q===0)return aO;if(A.length===1)return A[0];let E=new Uint8Array(q),g=0;for(let j of A)E.set(j,g),g+=j.length;return E}class FZ{pending=new J4(lK);events=[];timeoutMs;maxPendingBytes;armTimeouts;onTimeoutFlush;useKittyKeyboard;mouseParser=new zF;clock;protocolContext;timeoutId=null;destroyed=!1;pendingSinceMs=null;pendingTimeoutPaused=!1;suspendedPixelResolutionPrefixLength=0;forceFlush=!1;justFlushedEsc=!1;state={tag:"ground"};cursor=0;unitStart=0;paste=null;constructor(A={}){this.timeoutMs=dT(A.timeoutMs,T8),this.maxPendingBytes=dT(A.maxPendingBytes,J8),this.armTimeouts=A.armTimeouts??!0,this.onTimeoutFlush=A.onTimeoutFlush??null,this.useKittyKeyboard=A.useKittyKeyboard??!0,this.clock=A.clock??R8,this.protocolContext={...N8,kittyKeyboardEnabled:A.protocolContext?.kittyKeyboardEnabled??!1,privateCapabilityRepliesActive:A.protocolContext?.privateCapabilityRepliesActive??!1,pixelResolutionQueryActive:A.protocolContext?.pixelResolutionQueryActive??!1,explicitWidthCprActive:A.protocolContext?.explicitWidthCprActive??!1,startupCursorCprActive:A.protocolContext?.startupCursorCprActive??!1}}get bufferCapacity(){return this.pending.capacity}updateProtocolContext(A){if(this.ensureAlive(),this.protocolContext={...this.protocolContext,...A},!this.protocolContext.pixelResolutionQueryActive&&this.suspendedPixelResolutionPrefixLength>0){let q=this.suspendedPixelResolutionPrefixLength;this.state={tag:"ground"},this.consumePrefix(q),this.scanPending()}this.reconcileDeferredStateWithProtocolContext(),this.reconcileTimeoutState()}getAbortableStartupCursorCprState(){if(this.pending.length===0)return null;switch(this.state.tag){case"csi":{let A=this.pending.view(),q=this.unitStart+2;if(this.cursor<q)return null;let E=null;for(let g=q;g<this.cursor;g+=1){let j=A[g];if(!c6(j))return null;E=(E??0)*10+(j-48)}return{tag:"csi_parametric_ignored",semicolons:0,segments:1,hasDigit:this.cursor>q,firstParamValue:E}}case"csi_parametric":case"csi_parametric_deferred":if(!P8(this.state)||this.protocolContext.explicitWidthCprActive&&L4(this.state))return null;return{tag:"csi_parametric_ignored",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue}}return null}abortPendingStartupCursorCpr(){this.ensureAlive();let A=this.getAbortableStartupCursorCprState();if(!A)return;if(this.state=A,this.pendingSinceMs===null)this.markPending();this.forceFlush=!1,this.reconcileTimeoutState()}push(A){if(this.ensureAlive(),A.length===0){this.emitKeyOrResponse("unknown","");return}let q=A;while(q.length>0){if(this.paste){q=this.consumePasteBytes(q);continue}let E=this.state.tag==="ground"&&this.pending.length===0?oT(q,TM):-1,g=E===-1?q.length:E+TM.length;if(this.pending.append(q.subarray(0,g)),q=q.subarray(g),this.suspendedPixelResolutionPrefixLength>0&&this.protocolContext.pixelResolutionQueryActive&&!tT(this.pending.view())){let j=this.suspendedPixelResolutionPrefixLength;this.state={tag:"ground"},this.consumePrefix(j)}if(this.scanPending(),this.paste&&this.pending.length>0){q=this.consumePasteBytes(this.takePendingBytes());continue}if(!this.paste&&this.pending.length>this.maxPendingBytes){if(this.flushPendingOverflow(),this.scanPending(),this.paste&&this.pending.length>0)q=this.consumePasteBytes(this.takePendingBytes())}}this.reconcileTimeoutState()}read(){if(this.ensureAlive(),this.events.length===0&&this.forceFlush)this.scanPending(),this.reconcileTimeoutState();return this.events.shift()??null}drain(A){this.ensureAlive();while(!0){if(this.destroyed)return;let q=this.read();if(!q)return;A(q)}}flushTimeout(A=this.clock.now()){if(this.ensureAlive(),this.pendingSinceMs!==null&&(A<this.pendingSinceMs||A-this.pendingSinceMs<this.timeoutMs))return;this.tryForceFlush()}tryForceFlush(){if(this.paste||this.pendingSinceMs===null||this.pending.length===0)return;this.forceFlush=!0}reset(){if(this.destroyed)return;this.clearTimeout(),this.resetState()}hasPendingPixelResolutionResponse(){if(!this.protocolContext.pixelResolutionQueryActive||this.pending.length===0)return!1;return tT(this.pending.view())}pausePendingTimeout(){this.ensureAlive(),this.pendingTimeoutPaused=!0,this.suspendedPixelResolutionPrefixLength=this.pending.length,this.clearTimeout()}resumePendingTimeout(){if(this.ensureAlive(),this.pending.length===0)this.pendingTimeoutPaused=!1;this.reconcileTimeoutState()}resetMouseState(){this.ensureAlive(),this.mouseParser.reset()}destroy(){if(this.destroyed)return;this.clearTimeout(),this.destroyed=!0,this.resetState()}ensureAlive(){if(this.destroyed)throw Error("StdinParser has been destroyed")}scanPending(){while(!this.paste){let A=this.pending.view();if(this.state.tag==="ground"&&this.cursor>=A.length){this.pending.clear(),this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1;return}let q=this.cursor<A.length?A[this.cursor]:-1;switch(this.state.tag){case"ground":{if(this.unitStart=this.cursor,this.justFlushedEsc){if(q===91){this.justFlushedEsc=!1,this.cursor+=1,this.state={tag:"esc_recovery"};continue}this.justFlushedEsc=!1}if(q===cq){this.cursor+=1,this.state={tag:"esc"};continue}if(q<128){this.emitKeyOrResponse("unknown",r6(A.subarray(this.cursor,this.cursor+1))),this.consumePrefix(this.cursor+1);continue}let E=I8(q);if(E===0){if(!this.forceFlush&&this.cursor+1===A.length){this.markPending();return}this.emitLegacyHighByte(q),this.consumePrefix(this.cursor+1);continue}this.cursor+=1,this.state={tag:"utf8",expected:E,seen:1};continue}case"utf8":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitLegacyHighByte(A[this.unitStart]),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}if((q&192)!==128){this.emitLegacyHighByte(A[this.unitStart]),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}let E=this.state.seen+1;if(this.cursor+=1,E<this.state.expected){this.state={tag:"utf8",expected:this.state.expected,seen:E};continue}this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}let E=this.cursor===this.unitStart+1&&A[this.unitStart]===cq;this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.cursor))),this.justFlushedEsc=E,this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}switch(q){case 91:this.cursor+=1,this.state={tag:"csi"};continue;case 79:this.cursor+=1,this.state={tag:"ss3"};continue;case 93:this.cursor+=1,this.state={tag:"osc",sawEsc:!1};continue;case 80:this.cursor+=1,this.state={tag:"dcs",sawEsc:!1};continue;case 95:this.cursor+=1,this.state={tag:"apc",sawEsc:!1};continue;case cq:this.cursor+=1;continue;default:this.cursor+=1,this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}}case"ss3":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}this.cursor+=1,this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc_recovery":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===60){this.cursor+=1,this.state={tag:"esc_less_mouse"};continue}if(q===77){this.cursor+=1,this.state={tag:"esc_less_x10_mouse"};continue}this.emitKeyOrResponse("unknown",r6(A.subarray(this.unitStart,this.unitStart+1))),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}case"csi":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===77&&this.cursor===this.unitStart+2){let E=this.cursor+4;if(A.length<E){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,A.length)),this.state={tag:"ground"},this.consumePrefix(A.length);continue}this.emitMouse(A.subarray(this.unitStart,E),"x10"),this.state={tag:"ground"},this.consumePrefix(E);continue}if(q===36){let E=this.cursor+1,g=r6(A.subarray(this.unitStart,E));if(V8.test(g)){this.emitKeyOrResponse("csi",g),this.state={tag:"ground"},this.consumePrefix(E);continue}if(!this.forceFlush&&E>=A.length){this.markPending();return}}if(q===60&&this.cursor===this.unitStart+2){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:0,hasDigit:!1};continue}if(q===91&&this.cursor===this.unitStart+2){this.cursor+=1;continue}if(q===63&&this.cursor===this.unitStart+2){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:0,hasDigit:!1,sawDollar:!1};continue}if(q===59){let E=this.unitStart+2,g=this.cursor,j=X4(A,E,g);if(j===null&&this.protocolContext.kittyKeyboardEnabled)j=S8(A,E,g);if(j!==null){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:1,segments:1,hasDigit:!1,firstParamValue:j};continue}}if(q>=64&&q<=126){let E=this.cursor+1,g=A.subarray(this.unitStart,E);if(h8(g,TM)){this.state={tag:"ground"},this.consumePrefix(E),this.paste=w8();continue}if(XM(g)){this.emitMouse(g,"sgr"),this.state={tag:"ground"},this.consumePrefix(E);continue}this.emitKeyOrResponse("csi",r6(g)),this.state={tag:"ground"},this.consumePrefix(E);continue}this.cursor+=1;continue}case"csi_sgr_mouse":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.state={tag:"csi_sgr_mouse_deferred",part:this.state.part,hasDigit:this.state.hasDigit},this.pendingSinceMs=null,this.forceFlush=!1;return}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:this.state.part,hasDigit:!0};continue}if(q===59&&this.state.hasDigit&&this.state.part<2){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:this.state.part+1,hasDigit:!1};continue}if(q>=64&&q<=126){let E=this.cursor+1,g=A.subarray(this.unitStart,E);if(XM(g))this.emitMouse(g,"sgr");else this.emitKeyOrResponse("csi",r6(g));this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"csi"};continue}case"csi_sgr_mouse_deferred":{if(this.cursor>=A.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)||q===59||q===77||q===109){this.state={tag:"csi_sgr_mouse",part:this.state.part,hasDigit:this.state.hasDigit};continue}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_parametric":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}if(sT(this.state,this.protocolContext)){this.state={tag:"csi_parametric_deferred",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue},this.pendingSinceMs=null,this.forceFlush=!1;return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:!0,firstParamValue:this.state.firstParamValue};continue}if(q===58&&this.state.hasDigit&&this.state.segments<3){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments+1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(q===59&&this.state.semicolons<2){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons+1,segments:1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(q>=64&&q<=126){let E=this.cursor+1,g=D8(this.state,q);this.emitKeyOrResponse(g,r6(A.subarray(this.unitStart,E))),this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"csi"};continue}case"csi_parametric_deferred":{if(this.cursor>=A.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)||q===58||q===59){this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue};continue}if(C8(this.state,q,this.protocolContext)){this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue};continue}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_parametric_ignored":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===cq){this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)){this.cursor+=1,this.state={tag:"csi_parametric_ignored",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:!0,firstParamValue:this.state.semicolons===0?(this.state.firstParamValue??0)*10+(q-48):this.state.firstParamValue};continue}if(q===59&&this.state.semicolons===0&&this.state.hasDigit){if(this.protocolContext.explicitWidthCprActive&&this.state.firstParamValue===1){this.state={tag:"csi"};continue}this.cursor+=1,this.state={tag:"csi_parametric_ignored",semicolons:1,segments:1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(q===82&&this.state.semicolons===1&&this.state.hasDigit){let E=this.cursor+1;this.state={tag:"ground"},this.consumePrefix(E);continue}if(this.state.semicolons===0){this.state={tag:"csi"};continue}this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_private_reply":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}if(iT(this.protocolContext)){this.state={tag:"csi_private_reply_deferred",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar},this.pendingSinceMs=null,this.forceFlush=!1;return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:!0,sawDollar:this.state.sawDollar};continue}if(q===59){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons+1,hasDigit:!1,sawDollar:!1};continue}if(q===36&&this.state.hasDigit&&!this.state.sawDollar){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:!0,sawDollar:!0};continue}if(q>=64&&q<=126){let E=this.cursor+1;this.emitOpaqueResponse("csi",A.subarray(this.unitStart,E)),this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"csi"};continue}case"csi_private_reply_deferred":{if(this.cursor>=A.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(q===cq){this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(c6(q)||q===59||q===36){this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar};continue}if(y8(this.state,q,this.protocolContext)){this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar};continue}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"osc":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(q===92){let E=this.cursor+1;this.emitOpaqueResponse("osc",A.subarray(this.unitStart,E)),this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"osc",sawEsc:!1};continue}if(q===X8){let E=this.cursor+1;this.emitOpaqueResponse("osc",A.subarray(this.unitStart,E)),this.state={tag:"ground"},this.consumePrefix(E);continue}if(q===cq){this.cursor+=1,this.state={tag:"osc",sawEsc:!0};continue}this.cursor+=1;continue}case"dcs":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(q===92){let E=this.cursor+1;this.emitOpaqueResponse("dcs",A.subarray(this.unitStart,E)),this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"dcs",sawEsc:!1};continue}if(q===cq){this.cursor+=1,this.state={tag:"dcs",sawEsc:!0};continue}this.cursor+=1;continue}case"apc":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(q===92){let E=this.cursor+1;this.emitOpaqueResponse("apc",A.subarray(this.unitStart,E)),this.state={tag:"ground"},this.consumePrefix(E);continue}this.state={tag:"apc",sawEsc:!1};continue}if(q===cq){this.cursor+=1,this.state={tag:"apc",sawEsc:!0};continue}this.cursor+=1;continue}case"esc_less_mouse":{if(this.cursor>=A.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(q>=48&&q<=57||q===59){this.cursor+=1;continue}if(q===77||q===109){let E=this.cursor+1,g=A.subarray(this.unitStart,E),j=nT(g);if(XM(j))this.emitMouse(j,"sgr");else this.emitOpaqueResponse("unknown",g);this.state={tag:"ground"},this.consumePrefix(E);continue}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc_less_x10_mouse":{let E=this.unitStart+5;if(A.length<E){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",A.subarray(this.unitStart,A.length)),this.state={tag:"ground"},this.consumePrefix(A.length);continue}let g=A.subarray(this.unitStart,E);this.emitMouse(nT(g),"x10"),this.state={tag:"ground"},this.consumePrefix(E);continue}}}}emitKeyOrResponse(A,q){let E=kM(q,{useKittyKeyboard:this.useKittyKeyboard});if(E){this.events.push({type:"key",raw:E.raw,key:E});return}this.events.push({type:"response",protocol:A,sequence:q})}emitMouse(A,q){let E=this.mouseParser.parseMouseEvent(A);if(!E){this.emitOpaqueResponse("unknown",A);return}this.events.push({type:"mouse",raw:rT(A),encoding:q,event:E})}emitLegacyHighByte(A){let q=kM(jZ.from([A]),{useKittyKeyboard:this.useKittyKeyboard});if(q){this.events.push({type:"key",raw:q.raw,key:q});return}this.events.push({type:"response",protocol:"unknown",sequence:String.fromCharCode(A)})}emitOpaqueResponse(A,q){this.events.push({type:"response",protocol:A,sequence:rT(q)})}consumePrefix(A){this.pending.consume(A),this.pendingTimeoutPaused=!1,this.suspendedPixelResolutionPrefixLength=0,this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1}takePendingBytes(){let A=this.pending.take();return this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1,A}flushPendingOverflow(){if(this.pending.length===0)return;this.emitOpaqueResponse("unknown",this.pending.view()),this.pending.clear(),this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.pendingTimeoutPaused=!1,this.suspendedPixelResolutionPrefixLength=0,this.forceFlush=!1,this.state={tag:"ground"}}markPending(){this.pendingSinceMs=this.clock.now()}consumePasteBytes(A){let q=this.paste,E=m8(q.tail,A),g=oT(E,JM);if(g!==-1)return this.pushPasteBytes(E.subarray(0,g)),this.events.push({type:"paste",bytes:v8(q.parts,q.totalLength)}),this.paste=null,E.subarray(g+JM.length);let j=Math.min(JM.length-1,E.length),a=E.length-j;if(a>0)this.pushPasteBytes(E.subarray(0,a));return q.tail=Uint8Array.from(E.subarray(a)),aO}pushPasteBytes(A){if(A.length===0)return;this.paste.parts.push(Uint8Array.from(A)),this.paste.totalLength+=A.length}reconcileDeferredStateWithProtocolContext(){switch(this.state.tag){case"csi_parametric_deferred":if(!sT(this.state,this.protocolContext))this.emitOpaqueResponse("unknown",this.pending.view().subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);return;case"csi_private_reply_deferred":if(!iT(this.protocolContext))this.emitOpaqueResponse("unknown",this.pending.view().subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);return}}reconcileTimeoutState(){if(!this.armTimeouts)return;if(this.pendingTimeoutPaused){this.clearTimeout();return}if(this.paste||this.pendingSinceMs===null||this.pending.length===0){this.clearTimeout();return}this.clearTimeout(),this.timeoutId=this.clock.setTimeout(()=>{if(this.timeoutId=null,this.destroyed)return;try{this.tryForceFlush(),this.onTimeoutFlush?.()}catch(A){console.error("stdin parser timeout flush failed",A)}},this.timeoutMs)}clearTimeout(){if(!this.timeoutId)return;this.clock.clearTimeout(this.timeoutId),this.timeoutId=null}resetState(){this.pending.reset(lK),this.events.length=0,this.pendingSinceMs=null,this.pendingTimeoutPaused=!1,this.suspendedPixelResolutionPrefixLength=0,this.forceFlush=!1,this.justFlushedEsc=!1,this.state={tag:"ground"},this.cursor=0,this.unitStart=0,this.paste=null,this.mouseParser.reset()}}function eT(A){return A.split(".").length}function b8(A,q){if(q?.isInjection)return!1;return A==="markup.raw.block"}function KO(A,q,E,g){let j=[],a=g?.ranges,Z=E.getStyle("default"),G=g?.enabled??!0,M=g?.baseHighlight?E.getStyle(g.baseHighlight):void 0,Y=[],Q=[];for(let X=0;X<q.length;X++){let[T,J,,V]=q[X];if(T===J)continue;if(V?.containsInjection)Y.push({start:T,end:J});Q.push({offset:T,type:"start",highlightIndex:X}),Q.push({offset:J,type:"end",highlightIndex:X})}Q.sort((X,T)=>{if(X.offset!==T.offset)return X.offset-T.offset;if(X.type==="end"&&T.type==="start")return-1;if(X.type==="start"&&T.type==="end")return 1;return 0});let H=new Set,N=0;for(let X=0;X<Q.length;X++){let T=Q[X];if(N<T.offset&&H.size>0){let J=A.slice(N,T.offset),V=[];for(let W of H){let[,,C,c]=q[W];V.push({group:C,meta:c,index:W})}let I=G?V.find((W)=>W.meta?.conceal!==void 0||W.group==="conceal"||W.group.startsWith("conceal.")):void 0;if(I){let W="";if(I.meta?.conceal!==void 0)W=I.meta.conceal;else if(I.group==="conceal.with.space")W=" ";if(W)j.push({__isChunk:!0,text:W,fg:Z?.fg,bg:Z?.bg,attributes:Z?f6({bold:Z.bold,italic:Z.italic,underline:Z.underline,dim:Z.dim}):0}),a?.push({start:N,end:T.offset})}else{let W=Y.some((k)=>N>=k.start&&N<k.end),c=V.filter((k)=>{if(W&&b8(k.group,k.meta))return!1;return!0}).sort((k,u)=>{let d=eT(k.group),p=eT(u.group);if(d!==p)return d-p;return k.index-u.index}),D=M?{...M}:{};for(let{group:k}of c){let u=E.getStyle(k);if(!u&&k.includes(".")){let d=k.split(".")[0];u=E.getStyle(d)}if(u){if(u.fg!==void 0)D.fg=u.fg;if(u.bg!==void 0)D.bg=u.bg;if(u.bold!==void 0)D.bold=u.bold;if(u.italic!==void 0)D.italic=u.italic;if(u.underline!==void 0)D.underline=u.underline;if(u.dim!==void 0)D.dim=u.dim}else if(k.includes(".")){let d=k.split(".")[0];if(tA.OTUI_TS_STYLE_WARN)console.warn(`Syntax style not found for group "${k}" or base scope "${d}", using default style`)}else if(tA.OTUI_TS_STYLE_WARN)console.warn(`Syntax style not found for group "${k}", using default style`)}let v=Object.keys(D).length>0?D:Z;j.push({__isChunk:!0,text:J,fg:v?.fg,bg:v?.bg,attributes:v?f6({bold:v.bold,italic:v.italic,underline:v.underline,dim:v.dim}):0}),a?.push({start:N,end:T.offset})}}else if(N<T.offset){let J=A.slice(N,T.offset),V=M??Z;j.push({__isChunk:!0,text:J,fg:V?.fg,bg:V?.bg,attributes:V?f6({bold:V.bold,italic:V.italic,underline:V.underline,dim:V.dim}):0}),a?.push({start:N,end:T.offset})}if(T.type==="start")H.add(T.highlightIndex);else if(H.delete(T.highlightIndex),G){let[,,J,V]=q[T.highlightIndex];if(V?.concealLines!==void 0){if(T.offset<A.length&&A[T.offset]===`
44
+ `){N=T.offset+1;continue}}if(V?.conceal!==void 0){if(V.conceal===" "){if(T.offset<A.length&&A[T.offset]===" "){N=T.offset+1;continue}}else if(V.conceal===""&&J==="conceal"&&!V.isInjection){if(T.offset<A.length&&A[T.offset]===" "){N=T.offset+1;continue}}}}N=T.offset}if(N<A.length){let X=A.slice(N),T=M??Z;j.push({__isChunk:!0,text:X,fg:T?.fg,bg:T?.bg,attributes:T?f6({bold:T.bold,italic:T.italic,underline:T.underline,dim:T.dim}):0}),a?.push({start:N,end:A.length})}return j}class N4{scopeId;constructor(A){if(this.scopeId=A,!$j.has(this.scopeId))$j.set(this.scopeId,new Map)}debounce(A,q,E){let g=$j.get(this.scopeId);return new Promise((j,a)=>{if(g.has(A))clearTimeout(g.get(A));let Z=setTimeout(()=>{try{j(E())}catch(G){a(G)}g.delete(A)},q);g.set(A,Z)})}clearDebounce(A){let q=$j.get(this.scopeId);if(q&&q.has(A))clearTimeout(q.get(A)),q.delete(A)}clear(){let A=$j.get(this.scopeId);if(A)A.forEach((q)=>clearTimeout(q)),A.clear()}}function c8(A){return new N4(A)}function f8(A){let q=$j.get(A);if(q)q.forEach((E)=>clearTimeout(E)),q.clear()}class V4{processor;queue=[];processing=!1;autoProcess=!0;constructor(A,q=!0){this.processor=A,this.autoProcess=q}enqueue(A){if(this.queue.push(A),!this.processing&&this.autoProcess)this.processQueue()}processQueue(){if(this.queue.length===0)return;this.processing=!0,queueMicrotask(async()=>{if(this.queue.length===0){this.processing=!1;return}let A=this.queue.shift();try{await this.processor(A)}catch(q){console.error("Error processing queue item:",q)}if(this.queue.length>0)this.processQueue();else this.processing=!1})}clear(){this.queue=[]}isProcessing(){return this.processing}size(){return this.queue.length}}function u8(A,q){let E=l8[A];if(!E)throw Error(`Unknown OpenTUI default parser asset: ${JSON.stringify(A)}`);return tK(`@opentui/core/${A}`,E,q,import.meta.url)}function p8(A){if(!Object.hasOwn(AJ,A.platform)||A.arch!=="arm64"&&A.arch!=="x64")throw Error(`Unsupported OpenTUI Node asset target: ${String(A.platform)}-${String(A.arch)}`);if(A.libc!==void 0&&A.libc!=="glibc"&&A.libc!=="musl")throw Error(`Unsupported libc for OpenTUI Node assets: ${String(A.libc)}`);if(A.platform!=="linux"&&A.libc!==void 0)throw Error(`OpenTUI Node asset target libc is only supported on Linux, got ${A.platform}`);let q=A.platform==="linux"&&A.libc==="musl"?"-musl":"",E=`@opentui/core-${A.platform}-${A.arch}${q}`,g=AJ[A.platform];return{key:`${E}/${g}`,packageName:E,fileName:g}}function d8(){let A=process.env.OPENTUI_LIBC;if(process.platform==="linux"&&A!==void 0&&A!==""&&A!=="glibc"&&A!=="musl")throw Error(`On Linux, OPENTUI_LIBC must be unset, empty, "glibc", or "musl", got ${JSON.stringify(A)}`);return{platform:process.platform,arch:process.arch,...process.platform==="linux"&&A==="musl"?{libc:A}:{}}}function i8(A,q){return u8(A,q)}function n8(A){return C0(R4,s8)}function o8(){return tK(qJ,()=>Promise.resolve().then(() => PA(DT(),1)),()=>import.meta.resolve(qJ),import.meta.url)}async function r8(){let A=p8(d8()),q=nM(A.key);if(q!==void 0)return q;if(process.platform==="darwin"){if(process.arch==="x64")return(await import("@opentui/core-darwin-x64")).default;if(process.arch==="arm64")return(await import("@opentui/core-darwin-arm64")).default}if(process.platform==="linux"){if(process.arch==="x64"){if(process.env.OPENTUI_LIBC==="musl")return(await import("@opentui/core-linux-x64-musl")).default;return(await import("@opentui/core-linux-x64")).default}if(process.arch==="arm64"){if(process.env.OPENTUI_LIBC==="musl")return(await import("@opentui/core-linux-arm64-musl")).default;return(await import("@opentui/core-linux-arm64")).default}}if(process.platform==="win32"){if(process.arch==="x64")return(await import("@opentui/core-win32-x64")).default;if(process.arch==="arm64")return(await import("@opentui/core-win32-arm64")).default}throw Error(`OpenTUI is not supported on the current platform: ${A.packageName}`)}function e8(){return EJ??=Promise.all(I4.map(AI)),EJ}async function AI(A){let q={highlights:await Promise.all(A.queries.highlights.map(LM))};if(A.queries.injections)q.injections=await Promise.all(A.queries.injections.map(LM));return{filetype:A.filetype,...A.aliases?{aliases:[...A.aliases]}:{},queries:q,wasm:await LM(A.wasm),...A.injectionMapping?{injectionMapping:A.injectionMapping}:{}}}function LM(A){return i8(A,new URL(`./${A}`,import.meta.url))}function h4(A){return A.includes("$bunfs")||/^B:[\\/]~BUN/i.test(A)}function aI(){return process.platform==="win32"?"B:\\~BUN\\root":"/$bunfs/root"}function KI(A){return FI(aI(),jI(A))}class S4{onmessage=null;onerror=null;constructor(){throw Error(Hj)}postMessage(){throw Error(Hj)}terminate(){throw Error(Hj)}addEventListener(){throw Error(Hj)}removeEventListener(){throw Error(Hj)}}function fM(A){if(typeof process>"u")return;let q=process.getBuiltinModule;if(typeof q!=="function")return;try{return q(A)}catch{return}}function UI(){if(typeof Jj.Worker==="function")return Jj.Worker;if(cM)return GI(cM);return S4}function GI(A){return class{onmessage=null;onerror=null;errorListeners=new Set;messageListeners=new Set;worker;terminationPromise;constructor(E,g={}){let j=OI(E);this.worker=new A.Worker(MI(j),{eval:!0,type:"module",name:g.name}),this.worker.on("message",this.handleMessage),this.worker.on("error",this.handleError)}postMessage(E){this.worker.postMessage(E)}terminate(){if(this.terminationPromise)return this.terminationPromise;this.worker.off("message",this.handleMessage),this.worker.off("error",this.handleError);let E=this.worker.terminate().catch((g)=>{throw this.terminationPromise=void 0,this.worker.on("message",this.handleMessage),this.worker.on("error",this.handleError),g});return this.terminationPromise=E,E}addEventListener(E,g){if(E==="message"){this.messageListeners.add(g);return}this.errorListeners.add(g)}removeEventListener(E,g){if(E==="message"){this.messageListeners.delete(g);return}this.errorListeners.delete(g)}handleMessage=(E)=>{let g={data:E};this.onmessage?.(g);for(let j of this.messageListeners)j(g)};handleError=(E)=>{let g={error:E,message:E.message};this.onerror?.(g);for(let j of this.errorListeners)j(g)}}}function MI(A){return`
45
+ import { parentPort } from "node:worker_threads"
46
+
47
+ const pendingMessages = []
48
+ let messageHandler = null
49
+
50
+ globalThis.self ??= globalThis
51
+ globalThis.postMessage ??= (value) => parentPort?.postMessage(value)
52
+ globalThis.__opentuiWorkerMessageBridge = true
53
+ Object.defineProperty(globalThis, "onmessage", {
54
+ configurable: true,
55
+ get: () => messageHandler,
56
+ set: (handler) => {
57
+ messageHandler = typeof handler === "function" ? handler : null
58
+ if (!messageHandler) return
59
+
60
+ const messages = pendingMessages.splice(0)
61
+ for (const data of messages) {
62
+ messageHandler({ data })
63
+ }
64
+ },
65
+ })
66
+ parentPort?.on("message", (data) => {
67
+ if (messageHandler) {
68
+ messageHandler({ data })
69
+ } else {
70
+ pendingMessages.push(data)
71
+ }
72
+ })
73
+
74
+ await import(${JSON.stringify(A)})
75
+ `}function OI(A){if(A instanceof URL)return A.href;if(YI(A))return A;let q=fM("node:path"),E=fM("node:url");if(!q||!E)throw Error(Hj);let g=q.isAbsolute(A)?A:q.resolve(A);return E.pathToFileURL(g).href}function YI(A){return A.startsWith("file:")||A.startsWith("data:")||A.startsWith("node:")||A.startsWith("http:")||A.startsWith("https:")}function QI(A){if(A?.parentPort&&A.isMainThread===!1){if(Jj.__opentuiWorkerMessageBridge)return gJ();return{postMessage(q){A.parentPort?.postMessage(q)},setMessageHandler(q){let E=(g)=>{q({data:g})};return A.parentPort?.on("message",E),()=>{A.parentPort?.off("message",E)}}}}if(!$I())return;return gJ()}function gJ(){let A;return{postMessage(q){Jj.postMessage?.(q)},setMessageHandler(q){let E=_J();if(A&&E!==A.listener)A=void 0;let g=(a)=>{let Z=HI(a);q(Z)},j={active:!0,fallbackHandler:A?A.fallbackHandler:E,listener:g,previous:A};return A=j,jJ(g),()=>{if(j.active=!1,A!==j||_J()!==g)return;let a=j.previous;while(a&&!a.active)a=a.previous;A=a,jJ(a?.listener??j.fallbackHandler)}}}}function $I(){if(typeof Jj.postMessage!=="function")return!1;return typeof document>"u"&&typeof Jj.close==="function"&&"onmessage"in globalThis}function HI(A){if(A&&typeof A==="object"&&"data"in A)return A;return{data:A}}function _J(){return globalThis.onmessage??null}function jJ(A){globalThis.onmessage=A}function XI(A){if(!A||typeof A!=="string")return!1;if(A.trim().length===0)return!1;if(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes(A.toUpperCase()))return!1;if(/[<>:"|?*/\\\x00-\x1f]/.test(A))return!1;if(A.endsWith(".")||A.endsWith(" "))return!1;if(A==="."||A==="..")return!1;return!0}function W4(){return fE("data-paths-opentui",()=>new UO)}function x4(A){return A.trim().replace(/^\./,"").toLowerCase()||void 0}function LI(A){let q=A.trim().replaceAll("\\","/");if(!q)return;return KJ.posix.basename(q).toLowerCase()||void 0}function GO(A){let q=x4(A);if(!q)return;return B4.get(q)}function P4(A){if(typeof A!=="string")return;let q=LI(A);if(!q)return;let E=uK.get(q);if(E)return E;let g=q.lastIndexOf(".");if(g===-1||g===q.length-1)return;let j=q.substring(g+1);return GO(j)}function MO(A){if(typeof A!=="string")return;let q=A.trim().split(/\s+/,1)[0],E=uK.get(q.toLowerCase());if(E)return E;let g=x4(q);if(!g)return;return uK.get(g)??P4(g)??GO(g)??g}function NI(){return fE(z4,()=>({}))}function OO(){let A=cK(Tj);if(A)return A;let q=W4(),E={dataPath:q.globalDataPath};return fE(Tj,()=>{let g=new ZO(E),j=NI(),a=(G)=>{g.setDataPath(G.globalDataPath).catch((M)=>{console.warn("Failed to update tree-sitter data path:",M)})},Z=()=>{if(q.off("paths:changed",a),j.removeListener===Z)j.removeListener=void 0;if(cK(Tj)===g)g4(Tj)};return j.removeListener=Z,g.onDestroy(Z),q.on("paths:changed",a),g})}async function YO(){let A=cK(Tj);if(!A){let q=cK(z4);if(q?.removeListener?.(),q)q.removeListener=void 0;return}g4(Tj),await A.destroy()}class C4{undoStack=[];redoStack=[];saveSnapshot(A,q){let E={extmarks:new Map(Array.from(A.entries()).map(([g,j])=>[g,{...j}])),nextId:q};this.undoStack.push(E),this.redoStack=[]}undo(){if(this.undoStack.length===0)return null;return this.undoStack.pop()}redo(){if(this.redoStack.length===0)return null;return this.redoStack.pop()}pushRedo(A){this.redoStack.push(A)}pushUndo(A){this.undoStack.push(A)}clear(){this.undoStack=[],this.redoStack=[]}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}}class QO{editBuffer;editorView;extmarks=new Map;extmarksByTypeId=new Map;metadata=new Map;nextId=1;destroyed=!1;history=new C4;typeNameToId=new Map;typeIdToName=new Map;nextTypeId=1;originalMoveCursorLeft;originalMoveCursorRight;originalSetCursorByOffset;originalMoveUpVisual;originalMoveDownVisual;originalDeleteCharBackward;originalDeleteChar;originalInsertText;originalInsertChar;originalDeleteRange;originalSetText;originalReplaceText;originalClear;originalNewLine;originalDeleteLine;originalEditorViewDeleteSelectedText;originalUndo;originalRedo;constructor(A,q){this.editBuffer=A,this.editorView=q,this.originalMoveCursorLeft=A.moveCursorLeft.bind(A),this.originalMoveCursorRight=A.moveCursorRight.bind(A),this.originalSetCursorByOffset=A.setCursorByOffset.bind(A),this.originalMoveUpVisual=q.moveUpVisual.bind(q),this.originalMoveDownVisual=q.moveDownVisual.bind(q),this.originalDeleteCharBackward=A.deleteCharBackward.bind(A),this.originalDeleteChar=A.deleteChar.bind(A),this.originalInsertText=A.insertText.bind(A),this.originalInsertChar=A.insertChar.bind(A),this.originalDeleteRange=A.deleteRange.bind(A),this.originalSetText=A.setText.bind(A),this.originalReplaceText=A.replaceText.bind(A),this.originalClear=A.clear.bind(A),this.originalNewLine=A.newLine.bind(A),this.originalDeleteLine=A.deleteLine.bind(A),this.originalEditorViewDeleteSelectedText=q.deleteSelectedText.bind(q),this.originalUndo=A.undo.bind(A),this.originalRedo=A.redo.bind(A),this.wrapCursorMovement(),this.wrapDeletion(),this.wrapInsertion(),this.wrapEditorViewDeleteSelectedText(),this.wrapUndoRedo(),this.setupContentChangeListener()}wrapCursorMovement(){this.editBuffer.moveCursorLeft=()=>{if(this.destroyed){this.originalMoveCursorLeft();return}let A=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalMoveCursorLeft();return}let E=A-1;if(E<0){this.originalMoveCursorLeft();return}let g=this.findVirtualExtmarkContaining(E);if(g&&A>=g.end){this.editBuffer.setCursorByOffset(g.start-1);return}this.originalMoveCursorLeft()},this.editBuffer.moveCursorRight=()=>{if(this.destroyed){this.originalMoveCursorRight();return}let A=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalMoveCursorRight();return}let E=A+1,g=this.editBuffer.getText().length;if(E>g){this.originalMoveCursorRight();return}let j=this.findVirtualExtmarkContaining(E);if(j&&A<=j.start){this.editBuffer.setCursorByOffset(j.end);return}this.originalMoveCursorRight()},this.editorView.moveUpVisual=()=>{if(this.destroyed){this.originalMoveUpVisual();return}if(this.editorView.hasSelection()){this.originalMoveUpVisual();return}let q=this.editorView.getVisualCursor().offset;this.originalMoveUpVisual();let E=this.editorView.getVisualCursor().offset,g=this.findVirtualExtmarkContaining(E);if(g){let j=E-g.start,a=g.end-E;if(j<a)this.editorView.setCursorByOffset(g.start-1);else this.editorView.setCursorByOffset(g.end)}},this.editorView.moveDownVisual=()=>{if(this.destroyed){this.originalMoveDownVisual();return}if(this.editorView.hasSelection()){this.originalMoveDownVisual();return}let q=this.editorView.getVisualCursor().offset;this.originalMoveDownVisual();let E=this.editorView.getVisualCursor().offset,g=this.findVirtualExtmarkContaining(E);if(g){let j=E-g.start,a=g.end-E;if(j<a){let Z=g.start-1,G=Z<=q?g.end:Z;this.editorView.setCursorByOffset(G)}else this.editorView.setCursorByOffset(g.end)}},this.editBuffer.setCursorByOffset=(A)=>{if(this.destroyed){this.originalSetCursorByOffset(A);return}let q=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalSetCursorByOffset(A);return}if(A>q){let j=this.findVirtualExtmarkContaining(A);if(j&&q<=j.start){this.originalSetCursorByOffset(j.end);return}}else for(let j of this.extmarks.values())if(j.virtual&&q>=j.end&&A<j.end&&A>=j.start){this.originalSetCursorByOffset(j.start-1);return}this.originalSetCursorByOffset(A)}}wrapDeletion(){this.editBuffer.deleteCharBackward=()=>{if(this.destroyed){this.originalDeleteCharBackward();return}this.saveSnapshot();let A=this.editorView.getVisualCursor().offset,q=this.editorView.hasSelection();if(A===0){this.originalDeleteCharBackward();return}if(q){this.originalDeleteCharBackward();return}let E=A-1,g=this.findVirtualExtmarkContaining(E);if(g&&A===g.end){let Z=this.offsetToPosition(g.start),G=this.offsetToPosition(g.end),M=g.start,Y=g.end-g.start;this.deleteExtmarkById(g.id),this.originalDeleteRange(Z.row,Z.col,G.row,G.col),this.adjustExtmarksAfterDeletion(M,Y),this.updateHighlights();return}this.originalDeleteCharBackward();let j=this.editorView.getVisualCursor().offset,a=A-j;if(a>0)this.adjustExtmarksAfterDeletion(j,a)},this.editBuffer.deleteChar=()=>{if(this.destroyed){this.originalDeleteChar();return}this.saveSnapshot();let A=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalDeleteChar();return}let E=A,g=this.findVirtualExtmarkContaining(E);if(g&&A===g.start){let Z=this.offsetToPosition(g.start),G=this.offsetToPosition(g.end),M=g.start,Y=g.end-g.start;this.deleteExtmarkById(g.id),this.originalDeleteRange(Z.row,Z.col,G.row,G.col),this.adjustExtmarksAfterDeletion(M,Y),this.updateHighlights();return}let a=this.getNextCursorOffset(A)-A;if(this.originalDeleteChar(),a>0)this.adjustExtmarksAfterDeletion(A,a)},this.editBuffer.deleteRange=(A,q,E,g)=>{if(this.destroyed){this.originalDeleteRange(A,q,E,g);return}this.saveSnapshot();let j=this.positionToOffset(A,q),Z=this.positionToOffset(E,g)-j;this.originalDeleteRange(A,q,E,g),this.adjustExtmarksAfterDeletion(j,Z)},this.editBuffer.deleteLine=()=>{if(this.destroyed){this.originalDeleteLine();return}this.saveSnapshot();let A=this.editBuffer.getText(),q=this.editorView.getVisualCursor().offset,E=0;for(let a=q-1;a>=0;a--)if(A[a]===`
76
+ `){E=a+1;break}let g=A.length;for(let a=q;a<A.length;a++)if(A[a]===`
77
+ `){g=a+1;break}let j=g-E;this.originalDeleteLine(),this.adjustExtmarksAfterDeletion(E,j)}}wrapInsertion(){this.editBuffer.insertText=(A)=>{if(this.destroyed){this.originalInsertText(A);return}this.saveSnapshot();let q=this.editorView.getVisualCursor().offset;this.originalInsertText(A);let E=this.editorView.getVisualCursor().offset-q;if(E>0)this.adjustExtmarksAfterInsertion(q,E)},this.editBuffer.insertChar=(A)=>{if(this.destroyed){this.originalInsertChar(A);return}this.saveSnapshot();let q=this.editorView.getVisualCursor().offset;this.originalInsertChar(A);let E=this.editorView.getVisualCursor().offset-q;if(E>0)this.adjustExtmarksAfterInsertion(q,E)},this.editBuffer.setText=(A)=>{if(this.destroyed){this.originalSetText(A);return}this.clear(),this.originalSetText(A)},this.editBuffer.replaceText=(A)=>{if(this.destroyed){this.originalReplaceText(A);return}this.saveSnapshot(),this.clear(),this.originalReplaceText(A)},this.editBuffer.clear=()=>{if(this.destroyed){this.originalClear();return}this.saveSnapshot(),this.clear(),this.originalClear()},this.editBuffer.newLine=()=>{if(this.destroyed){this.originalNewLine();return}this.saveSnapshot();let A=this.editorView.getVisualCursor().offset;this.originalNewLine(),this.adjustExtmarksAfterInsertion(A,1)}}wrapEditorViewDeleteSelectedText(){this.editorView.deleteSelectedText=()=>{if(this.destroyed){this.originalEditorViewDeleteSelectedText();return}this.saveSnapshot();let A=this.editorView.getSelection();if(!A){this.originalEditorViewDeleteSelectedText();return}let q=Math.min(A.start,A.end),E=Math.abs(A.end-A.start);if(this.originalEditorViewDeleteSelectedText(),E>0)this.adjustExtmarksAfterDeletion(q,E)}}setupContentChangeListener(){this.editBuffer.on("content-changed",()=>{if(this.destroyed)return;this.updateHighlights()})}deleteExtmarkById(A){let q=this.extmarks.get(A);if(q)this.extmarks.delete(A),this.extmarksByTypeId.get(q.typeId)?.delete(A),this.metadata.delete(A)}findVirtualExtmarkContaining(A){for(let q of this.extmarks.values())if(q.virtual&&A>=q.start&&A<q.end)return q;return null}adjustExtmarksAfterInsertion(A,q){for(let E of this.extmarks.values())if(E.start>=A)E.start+=q,E.end+=q;else if(E.end>A)E.end+=q;this.updateHighlights()}adjustExtmarksAfterDeletion(A,q){let E=[];for(let g of this.extmarks.values()){if(g.end<=A)continue;if(g.start>=A+q)g.start-=q,g.end-=q;else if(g.start>=A&&g.end<=A+q)E.push(g.id);else if(g.start<A&&g.end>A+q)g.end-=q;else if(g.start<A&&g.end>A)g.end-=Math.min(g.end,A+q)-A;else if(g.start<A+q&&g.end>A+q){let j=A+q-g.start;g.start=A,g.end-=q}}for(let g of E)this.deleteExtmarkById(g);this.updateHighlights()}offsetToPosition(A){let q=this.editBuffer.offsetToPosition(A);if(!q)return{row:0,col:0};return q}positionToOffset(A,q){return this.editBuffer.positionToOffset(A,q)}getNextCursorOffset(A){this.originalMoveCursorRight();let q=this.editorView.getVisualCursor().offset;return this.originalSetCursorByOffset(A),q}updateHighlights(){this.editBuffer.clearAllHighlights();for(let A of this.extmarks.values())if(A.styleId!==void 0){let q=this.offsetExcludingNewlines(A.start),E=this.offsetExcludingNewlines(A.end);this.editBuffer.addHighlightByCharRange({start:q,end:E,styleId:A.styleId,priority:A.priority??0,hlRef:A.id})}}offsetExcludingNewlines(A){let q=this.editBuffer.getText(),E=0,g=0,j=0;while(j<q.length&&E<A)if(q[j]===`
78
+ `)E++,g++,j++;else{let a=j;while(a<q.length&&q[a]!==`
79
+ `)a++;let Z=q.substring(j,a),G=H_(Z);if(E+G<A)E+=G,j=a;else{for(let M=j;M<a&&E<A;M++){let Y=H_(q[M]);E+=Y}break}}return A-g}create(A){if(this.destroyed)throw Error("ExtmarksController is destroyed");let q=this.nextId++,E=A.typeId??0,g={id:q,start:A.start,end:A.end,virtual:A.virtual??!1,styleId:A.styleId,priority:A.priority,data:A.data,typeId:E};if(this.extmarks.set(q,g),!this.extmarksByTypeId.has(E))this.extmarksByTypeId.set(E,new Set);if(this.extmarksByTypeId.get(E).add(q),A.metadata!==void 0)this.metadata.set(q,A.metadata);return this.updateHighlights(),q}delete(A){if(this.destroyed)throw Error("ExtmarksController is destroyed");if(!this.extmarks.get(A))return!1;return this.deleteExtmarkById(A),this.updateHighlights(),!0}get(A){if(this.destroyed)return null;return this.extmarks.get(A)??null}getAll(){if(this.destroyed)return[];return Array.from(this.extmarks.values())}getVirtual(){if(this.destroyed)return[];return Array.from(this.extmarks.values()).filter((A)=>A.virtual)}getAtOffset(A){if(this.destroyed)return[];return Array.from(this.extmarks.values()).filter((q)=>A>=q.start&&A<q.end)}getAllForTypeId(A){if(this.destroyed)return[];let q=this.extmarksByTypeId.get(A);if(!q)return[];return Array.from(q).map((E)=>this.extmarks.get(E)).filter((E)=>E!==void 0)}clear(){if(this.destroyed)return;this.extmarks.clear(),this.extmarksByTypeId.clear(),this.metadata.clear(),this.updateHighlights()}saveSnapshot(){this.history.saveSnapshot(this.extmarks,this.nextId)}restoreSnapshot(A){this.extmarks=new Map(Array.from(A.extmarks.entries()).map(([q,E])=>[q,{...E}])),this.nextId=A.nextId,this.updateHighlights()}wrapUndoRedo(){this.editBuffer.undo=()=>{if(this.destroyed)return this.originalUndo();if(!this.history.canUndo())return this.originalUndo();let A={extmarks:new Map(Array.from(this.extmarks.entries()).map(([E,g])=>[E,{...g}])),nextId:this.nextId};this.history.pushRedo(A);let q=this.history.undo();return this.restoreSnapshot(q),this.originalUndo()},this.editBuffer.redo=()=>{if(this.destroyed)return this.originalRedo();if(!this.history.canRedo())return this.originalRedo();let A={extmarks:new Map(Array.from(this.extmarks.entries()).map(([E,g])=>[E,{...g}])),nextId:this.nextId};this.history.pushUndo(A);let q=this.history.redo();return this.restoreSnapshot(q),this.originalRedo()}}registerType(A){if(this.destroyed)throw Error("ExtmarksController is destroyed");let q=this.typeNameToId.get(A);if(q!==void 0)return q;let E=this.nextTypeId++;return this.typeNameToId.set(A,E),this.typeIdToName.set(E,A),E}getTypeId(A){if(this.destroyed)return null;return this.typeNameToId.get(A)??null}getTypeName(A){if(this.destroyed)return null;return this.typeIdToName.get(A)??null}getMetadataFor(A){if(this.destroyed)return;return this.metadata.get(A)}destroy(){if(this.destroyed)return;this.editBuffer.moveCursorLeft=this.originalMoveCursorLeft,this.editBuffer.moveCursorRight=this.originalMoveCursorRight,this.editBuffer.setCursorByOffset=this.originalSetCursorByOffset,this.editorView.moveUpVisual=this.originalMoveUpVisual,this.editorView.moveDownVisual=this.originalMoveDownVisual,this.editBuffer.deleteCharBackward=this.originalDeleteCharBackward,this.editBuffer.deleteChar=this.originalDeleteChar,this.editBuffer.insertText=this.originalInsertText,this.editBuffer.insertChar=this.originalInsertChar,this.editBuffer.deleteRange=this.originalDeleteRange,this.editBuffer.setText=this.originalSetText,this.editBuffer.replaceText=this.originalReplaceText,this.editBuffer.clear=this.originalClear,this.editBuffer.newLine=this.originalNewLine,this.editBuffer.deleteLine=this.originalDeleteLine,this.editorView.deleteSelectedText=this.originalEditorViewDeleteSelectedText,this.editBuffer.undo=this.originalUndo,this.editBuffer.redo=this.originalRedo,this.extmarks.clear(),this.extmarksByTypeId.clear(),this.metadata.clear(),this.typeNameToId.clear(),this.typeIdToName.clear(),this.history.clear(),this.destroyed=!0}}function $O(A,q){return new QO(A,q)}function NM(A){let q=parseInt(A,16),E=(1<<4*A.length)-1;return Math.round(q/E*255).toString(16).padStart(2,"0")}function UJ(A,q,E,g){if(g)return`#${g.toLowerCase()}`;if(A&&q&&E)return`#${NM(A)}${NM(q)}${NM(E)}`;return"#000000"}function RI(A){return`\x1BPtmux;${A.replace(/\x1b/g,"\x1B\x1B")}\x1B\\`}class HO{stdin;stdout;writeFn;activeQuerySessions=[];inLegacyTmux;inTmux;oscSource;clock;constructor(A){let{stdin:q,stdout:E,writeFn:g,isLegacyTmux:j,isTmux:a,oscSource:Z,clock:G}=A;this.stdin=q,this.stdout=E,this.writeFn=g||((M)=>E.write(M)),this.inLegacyTmux=j??!1,this.inTmux=a??this.inLegacyTmux,this.oscSource=Z,this.clock=G??VI}writeOsc(A,q=!1){let E=q&&this.inLegacyTmux?RI(A):A;return this.writeFn(E)}cleanup(){for(let A of[...this.activeQuerySessions])A();this.activeQuerySessions=[]}subscribeInput(A){if(this.oscSource)return this.oscSource.subscribeOsc((q)=>{A(q)});return this.stdin.on("data",A),()=>{this.stdin.removeListener("data",A)}}createQuerySession(){let A=new Set,q=new Set,E=!1,g=()=>{if(E)return;E=!0;for(let a of A)this.clock.clearTimeout(a);A.clear();for(let a of q)a();q.clear();let j=this.activeQuerySessions.indexOf(g);if(j!==-1)this.activeQuerySessions.splice(j,1)};return this.activeQuerySessions.push(g),{setTimer:(j,a)=>{let Z=this.clock.setTimeout(j,a);return A.add(Z),Z},resetTimer:(j,a,Z)=>{if(j)this.clock.clearTimeout(j),A.delete(j);let G=this.clock.setTimeout(a,Z);return A.add(G),G},subscribeInput:(j)=>{let a=this.subscribeInput(j);return q.add(a),()=>{if(!q.has(a))return;q.delete(a),a()}},cleanup:g}}async detectOSCSupport(A=300){if(!this.stdout.isTTY||!this.stdin.isTTY)return!1;return new Promise((E)=>{let g=this.createQuerySession(),j="",a=!1,Z=(M)=>{if(a)return;a=!0,g.cleanup(),E(M)},G=(M)=>{if(j+=M.toString(),WK.lastIndex=0,WK.test(j))Z(!0)};g.setTimer(()=>{Z(!1)},A),g.subscribeInput(G),this.writeOsc("\x1B]4;0;?\x07",!0)})}async queryPalette(A,q=1200,E=tA.OTUI_PALETTE_IDLE_TIMEOUT_MS){let g=this.stdout,j=new Map;if(A.forEach((a)=>j.set(a,null)),!g.isTTY||!this.stdin.isTTY)return j;return new Promise((a)=>{let Z=this.createQuerySession(),G="",M=null,Y=!1,Q=()=>{if(Y)return;Y=!0,Z.cleanup(),a(j)},H=(N)=>{G+=N.toString();let X;WK.lastIndex=0;while(X=WK.exec(G)){let J=parseInt(X[1],10);if(j.has(J))j.set(J,UJ(X[2],X[3],X[4],X[5]))}if(G.length>8192)G=G.slice(-4096);if([...j.values()].filter((J)=>J!==null).length===j.size){Q();return}M=Z.resetTimer(M,Q,E)};Z.setTimer(Q,q),Z.subscribeInput(H),this.writeOsc(A.map((N)=>`\x1B]4;${N};?\x07`).join(""),!0),M=Z.resetTimer(M,Q,E)})}async querySpecialColors(A=1200,q=tA.OTUI_PALETTE_IDLE_TIMEOUT_MS){let E=this.stdout,g={10:null,11:null,12:null,13:null,14:null,15:null,16:null,17:null,19:null},j=this.inTmux?[10,11,12]:[10,11,12,13,14,15,16,17,19];if(!E.isTTY||!this.stdin.isTTY)return g;return new Promise((a)=>{let Z=this.createQuerySession(),G="",M=null,Y=!1,Q=()=>{if(Y)return;Y=!0,Z.cleanup(),a(g)},H=(N)=>{G+=N.toString();let X=!1,T;ZJ.lastIndex=0;while(T=ZJ.exec(G)){let J=parseInt(T[1],10);if(J in g)g[J]=UJ(T[2],T[3],T[4],T[5]),X=!0}if(G.length>8192)G=G.slice(-4096);if(j.every((J)=>g[J]!==null)){Q();return}if(!X)return;M=Z.resetTimer(M,Q,q)};Z.setTimer(Q,A),Z.subscribeInput(H),this.writeOsc(j.map((N)=>`\x1B]${N};?\x07`).join("")),M=Z.resetTimer(M,Q,q)})}async detect(A){let{timeout:q=5000,size:E=16}=A||{};if(!await this.detectOSCSupport())return{palette:Array(E).fill(null),defaultForeground:null,defaultBackground:null,cursorColor:null,mouseForeground:null,mouseBackground:null,tekForeground:null,tekBackground:null,highlightBackground:null,highlightForeground:null};let j=[...Array(E).keys()],a=tA.OTUI_PALETTE_IDLE_TIMEOUT_MS,[Z,G]=await Promise.all([this.queryPalette(j,q,a),this.querySpecialColors(q,a)]);return{palette:[...Array(E).keys()].map((M)=>Z.get(M)??null),defaultForeground:G[10],defaultBackground:G[11],cursorColor:G[12],mouseForeground:G[13],mouseBackground:G[14],tekForeground:G[15],tekBackground:G[16],highlightBackground:G[17],highlightForeground:G[19]}}}function TO(A){return new HO(A)}function SI(){if(!VM)VM=Array.from({length:256},(A,q)=>{let[E,g,j]=AO(q);return MA.fromInts(E,g,j)});return VM}function aZ(A){let q=SI();return{palette:Array.from({length:256},(E,g)=>{let j=A?.palette[g];return j?MA.fromHex(j):MA.clone(q[g])}),defaultForeground:A?.defaultForeground?MA.fromHex(A.defaultForeground):MA.clone(II),defaultBackground:A?.defaultBackground?MA.fromHex(A.defaultBackground):MA.clone(hI)}}function KZ(A){let q=aZ(A);return[q.palette.map((g)=>g.toInts().join(",")).join(";"),q.defaultForeground.toInts().join(","),q.defaultBackground.toInts().join(",")].join("|")}function JO(A){return WI.decode(A)}function XO(A){return y0(A)}class ZZ{lib;rendererPtr;constructor(A,q){this.lib=A,this.rendererPtr=q}copyToClipboardOSC52(A,q=0){if(!this.isOsc52Supported())return!1;let E=this.lib.encoder.encode(A);return this.lib.copyToClipboardOSC52(this.rendererPtr,q,E)}clearClipboardOSC52(A=0){if(!this.isOsc52Supported())return!1;return this.lib.clearClipboardOSC52(this.rendererPtr,A)}isOsc52Supported(){return this.lib.getTerminalCapabilities(this.rendererPtr)?.osc52_support!=="unsupported"}}function LO(A){return A.replace(/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,"$1")}function y4(A,q){let{content:E,highlights:g}=q,j=BI.test(E);if(!j&&!g.some(([,,X])=>GJ.includes(X)))return A;let a=[],Z=[],G=new Map,M=new Map;for(let X=0;X<g.length;X++){let[T,J,V,I]=g[X];if(V==="conceal"&&I?.conceal===""&&/^[*_~]+$/.test(E.slice(T,J)))M.set(J,T);if(V==="markup.raw"||V.startsWith("markup.raw."))Z.push({start:T,end:J});if(V==="markup.link.label"){let C=G.get(J);if(!C||T<C.start)G.set(J,{start:T,end:J})}if(!GJ.includes(V))continue;let W=E.slice(T,J);if(!W)continue;a.push({start:T,end:J,url:W})}let Y=a.length;for(let X=0;X<Y;X++){let T=a[X],J=T.start;if(E[J-1]==="<")J--;while(J>0&&/\s/.test(E[J-1]))J--;if(E[J-1]!=="("||E[J-2]!=="]")continue;let V=G.get(J-2);if(!V)continue;T.url=LO(T.url),a.push({...V,url:T.url,label:!0})}if(j){Z.sort((J,V)=>J.start-V.start||V.end-J.end),a.sort((J,V)=>J.start-V.start||V.end-J.end);let X=0,T=0;for(let J of E.matchAll(xI)){let V=J.index,I=J[0],W=0,C=0;for(let D of I){if(D==="(")W++;if(D===")")C++}while(I.length>0){let D=M.get(V+I.length);if(D!==void 0&&D>=V){I=I.slice(0,D-V);continue}let v=I[I.length-1];if(v===")"&&C>W)C--;else if(!".,!?;:]}'".includes(v))break;I=I.slice(0,-1)}let c=V+I.length;if(!I)continue;while(X<Z.length&&Z[X].end<=V)X++;if(X<Z.length&&Z[X].start<c)continue;while(T<a.length&&a[T].end<=V)T++;if(T<a.length&&a[T].start<c)continue;a.push({start:V,end:c,url:I})}}if(a.length===0)return A;a.sort((X,T)=>X.start-T.start||T.end-X.end||Number(T.label??!1)-Number(X.label??!1));let Q=[],H=0,N=0;for(let X=0;X<A.length;X++){let T=A[X];if(!T.text||T.link){Q.push(T);continue}let J=q.sourceRanges?.[X],V=J?.start??E.indexOf(T.text,H);if(V<0){Q.push(T);continue}let I=J?.end??V+T.text.length;H=I;while(N<a.length&&a[N].end<=V)N++;if(E.slice(V,I)!==T.text){let C=a[N];if(C?.label&&C.start<I)T.link={url:C.url};Q.push(T);continue}let W=V;for(;N<a.length;N++){let C=a[N];if(C.end<=W)continue;if(C.start>=I)break;let c=Math.max(W,C.start),D=Math.min(I,C.end);if(c>W)Q.push({...T,text:T.text.slice(W-V,c-V)});if(c===V&&D===I)T.link={url:C.url},Q.push(T);else Q.push({...T,text:T.text.slice(c-V,D-V),link:{url:C.url}});if(W=D,W===I)break}if(W===V)Q.push(T);else if(W<I)Q.push({...T,text:T.text.slice(W-V)})}return Q}function ZE(A,q,E,g){if(!Number.isSafeInteger(A)||A<E||A>g)throw RangeError(`${q} must be an integer from ${E} to ${g}`)}function PI(A,q,E,g){let j=0;if(A===!0)j|=15;else if(Array.isArray(A)){if(A.includes("top"))j|=8;if(A.includes("right"))j|=4;if(A.includes("bottom"))j|=2;if(A.includes("left"))j|=1}if(q)j|=16;let a={left:0,center:1,right:2},Z=a[E],G=a[g];return j|=Z<<5,j|=G<<7,j}class g6{static fbIdCounter=0;id;lib;bufferPtr;_width;_height;_widthMethod;respectAlpha=!1;_rawBuffers=null;_destroyed=!1;get ptr(){return this.bufferPtr}guard(){if(this._destroyed)throw Error(`Buffer ${this.id} is destroyed`)}ensureRawBufferViews(){if(this._rawBuffers!==null)return;let A=this._width*this._height,q=this.lib.bufferGetCharPtr(this.bufferPtr),E=this.lib.bufferGetFgPtr(this.bufferPtr),g=this.lib.bufferGetBgPtr(this.bufferPtr),j=this.lib.bufferGetAttributesPtr(this.bufferPtr);this._rawBuffers={char:new Uint32Array(oq(q,0,A*4)),fg:new Uint16Array(oq(E,0,A*4*2)),bg:new Uint16Array(oq(g,0,A*4*2)),attributes:new Uint32Array(oq(j,0,A*4))}}get buffers(){return this.guard(),this.ensureRawBufferViews(),this._rawBuffers}constructor(A,q,E,g,j){this.id=j.id||`fb_${g6.fbIdCounter++}`,this.lib=A,this.respectAlpha=j.respectAlpha||!1,this._width=E,this._height=g,this._widthMethod=j.widthMethod||"unicode",this.bufferPtr=q}static create(A,q,E,g={}){let j=Gq(),a=g.respectAlpha||!1,Z=g.id&&g.id.trim()!==""?g.id:"unnamed buffer";return j.createOptimizedBuffer(A,q,E,a,Z)}get widthMethod(){return this._widthMethod}get width(){return this._width}get height(){return this._height}setRespectAlpha(A){this.guard(),this.lib.bufferSetRespectAlpha(this.bufferPtr,A),this.respectAlpha=A}getNativeId(){return this.guard(),this.lib.bufferGetId(this.bufferPtr)}getRealCharBytes(A=!1){this.guard();let q=this.lib.bufferGetRealCharSize(this.bufferPtr),E=new Uint8Array(q),g=this.lib.bufferWriteResolvedChars(this.bufferPtr,E,A);return E.slice(0,g)}getSpanLines(){this.guard();let{char:A,fg:q,bg:E,attributes:g}=this.buffers,j=[],a=-1073741824,Z=-1073741824,G=this.getRealCharBytes(!0),M=new TextDecoder().decode(G).split(`
80
+ `);for(let Y=0;Y<this._height;Y++){let Q=[],H=null,N=[...M[Y]||""],X=0;for(let T=0;T<this._width;T++){let J=Y*this._width+T,V=A[J],I=MA.fromArray(q.slice(J*4,J*4+4)),W=MA.fromArray(E.slice(J*4,J*4+4)),C=g[J]&255,D=(V&Z)===a?"":N[X++]??" ";if(H&&H.fg.equals(I)&&H.bg.equals(W)&&H.attributes===C)H.text+=D,H.width+=1;else{if(H)Q.push(H);H={text:D,fg:I,bg:W,attributes:C,width:1}}}if(H)Q.push(H);j.push({spans:Q})}return j}clear(A=MA.fromValues(0,0,0,1)){this.guard(),this.lib.bufferClear(this.bufferPtr,A)}setCell(A,q,E,g,j,a=0){this.guard(),this.lib.bufferSetCell(this.bufferPtr,A,q,E,g,j,a)}setCellWithAlphaBlending(A,q,E,g,j,a=0){this.guard(),this.lib.bufferSetCellWithAlphaBlending(this.bufferPtr,A,q,E,g,j,a)}drawText(A,q,E,g,j,a=0,Z){if(this.guard(),!Z){this.lib.bufferDrawText(this.bufferPtr,A,q,E,g,j,a);return}let{start:G,end:M}=Z,Y,Q;if(Z.bgColor)Y=Z.bgColor,Q=Z.fgColor||g;else{let H=j||MA.fromValues(0,0,0,0);Q=H.a>0?H:MA.fromValues(0,0,0,1),Y=g}if(G>0){let H=A.slice(0,G);this.lib.bufferDrawText(this.bufferPtr,H,q,E,g,j,a)}if(M>G){let H=A.slice(G,M);this.lib.bufferDrawText(this.bufferPtr,H,q+G,E,Q,Y,a)}if(M<A.length){let H=A.slice(M);this.lib.bufferDrawText(this.bufferPtr,H,q+M,E,g,j,a)}}fillRect(A,q,E,g,j){this.guard(),this.lib.bufferFillRect(this.bufferPtr,A,q,E,g,j)}colorMatrix(A,q,E=1,g=3){if(this.guard(),A.length!==16)throw RangeError(`colorMatrix matrix must have length 16, got ${A.length}`);let j=Math.floor(q.length/3);this.lib.bufferColorMatrix(this.bufferPtr,A,q,j,E,g)}colorMatrixUniform(A,q=1,E=3){if(this.guard(),A.length!==16)throw RangeError(`colorMatrixUniform matrix must have length 16, got ${A.length}`);if(q===0)return;this.lib.bufferColorMatrixUniform(this.bufferPtr,A,q,E)}drawFrameBuffer(A,q,E,g,j,a,Z){this.guard(),this.lib.drawFrameBuffer(this.bufferPtr,A,q,E.ptr,g,j,a,Z)}destroy(){if(this._destroyed)return;this._destroyed=!0,this._rawBuffers=null,this.lib.destroyOptimizedBuffer(this.bufferPtr)}drawTextBuffer(A,q,E){this.guard(),this.lib.bufferDrawTextBufferView(this.bufferPtr,A.ptr,q,E)}drawEditorView(A,q,E){this.guard(),this.lib.bufferDrawEditorView(this.bufferPtr,A.ptr,q,E)}drawSuperSampleBuffer(A,q,E,g,j,a){this.guard(),this.lib.bufferDrawSuperSampleBuffer(this.bufferPtr,A,q,typeof E==="number"||typeof E==="bigint"?bK(E):E,g,j,a)}drawImage(A,q,E,g,j,a=0,Z=0,G=0,M=0,Y=A.width,Q=A.height,H="auto"){if(this.guard(),ZE(q,"x",-2147483648,2147483647),ZE(E,"y",-2147483648,2147483647),ZE(g,"width",1,2147483647),ZE(j,"height",1,2147483647),ZE(a,"pixelWidth",0,2147483647),ZE(Z,"pixelHeight",0,2147483647),ZE(G,"sourceX",0,4294967295),ZE(M,"sourceY",0,4294967295),ZE(Y,"sourceWidth",1,4294967295),ZE(Q,"sourceHeight",1,4294967295),q+g>2147483647||E+j>2147483647)throw RangeError("image destination coordinates and dimensions exceed i32 bounds");return this.lib.bufferDrawImage(this.bufferPtr,A.ptr,q,E,g,j,a,Z,G,M,Y,Q,H)}drawPackedBuffer(A,q,E,g,j,a){this.guard(),this.lib.bufferDrawPackedBuffer(this.bufferPtr,typeof A==="number"||typeof A==="bigint"?bK(A):A,q,E,g,j,a)}drawGrayscaleBuffer(A,q,E,g,j,a=null,Z=null){this.guard(),this.lib.bufferDrawGrayscaleBuffer(this.bufferPtr,A,q,E,g,j,a,Z)}drawGrayscaleBufferSupersampled(A,q,E,g,j,a=null,Z=null){this.guard(),this.lib.bufferDrawGrayscaleBufferSupersampled(this.bufferPtr,A,q,E,g,j,a,Z)}resize(A,q){if(this.guard(),this._width===A&&this._height===q)return;this._width=A,this._height=q,this._rawBuffers=null,this.lib.bufferResize(this.bufferPtr,A,q)}drawBox(A){this.guard();let q=T_(A.borderStyle,"single"),E=A.customBorderChars??qO[q],g=PI(A.border,A.shouldFill??!1,A.titleAlignment||"left",A.bottomTitleAlignment||"left");this.lib.bufferDrawBox(this.bufferPtr,A.x,A.y,A.width,A.height,E,g,A.borderColor,A.backgroundColor,A.titleColor??A.borderColor,A.title??null,A.bottomTitle??null)}pushScissorRect(A,q,E,g){this.guard(),this.lib.bufferPushScissorRect(this.bufferPtr,A,q,E,g)}popScissorRect(){this.guard(),this.lib.bufferPopScissorRect(this.bufferPtr)}clearScissorRects(){this.guard(),this.lib.bufferClearScissorRects(this.bufferPtr)}pushOpacity(A){this.guard(),this.lib.bufferPushOpacity(this.bufferPtr,Math.max(0,Math.min(1,A)))}popOpacity(){this.guard(),this.lib.bufferPopOpacity(this.bufferPtr)}getCurrentOpacity(){return this.guard(),this.lib.bufferGetCurrentOpacity(this.bufferPtr)}clearOpacity(){this.guard(),this.lib.bufferClearOpacity(this.bufferPtr)}encodeUnicode(A){return this.guard(),this.lib.encodeUnicode(A,this._widthMethod)}freeUnicode(A){this.guard(),this.lib.freeUnicode(A)}drawGrid(A){this.guard();let q=Math.max(0,A.columnOffsets.length-1),E=Math.max(0,A.rowOffsets.length-1);this.lib.bufferDrawGrid(this.bufferPtr,A.borderChars,A.borderFg,A.borderBg,A.columnOffsets,q,A.rowOffsets,E,{drawInner:A.drawInner,drawOuter:A.drawOuter})}drawChar(A,q,E,g,j,a=0){this.guard(),this.lib.bufferDrawChar(this.bufferPtr,A,q,E,g,j,a)}}class Nj{lib;bufferPtr;_length=0;_byteSize=0;_destroyed=!1;_syntaxStyle;_textBytes;_memId;_appendedChunks=[];constructor(A,q){this.lib=A,this.bufferPtr=q}static create(A){return Gq().createTextBuffer(A)}guard(){if(this._destroyed)throw Error("TextBuffer is destroyed")}setText(A){if(this.guard(),this._textBytes=this.lib.encoder.encode(A),this._memId===void 0)this._memId=this.lib.textBufferRegisterMemBuffer(this.bufferPtr,this._textBytes,!1);else if(!this.lib.textBufferReplaceMemBuffer(this.bufferPtr,this._memId,this._textBytes,!1))this._memId=this.lib.textBufferRegisterMemBuffer(this.bufferPtr,this._textBytes,!1);this.lib.textBufferSetTextFromMem(this.bufferPtr,this._memId),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._appendedChunks=[]}append(A){this.guard();let q=this.lib.encoder.encode(A);this._appendedChunks.push(q),this.lib.textBufferAppend(this.bufferPtr,q),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr)}loadFile(A){if(this.guard(),!this.lib.textBufferLoadFile(this.bufferPtr,A))throw Error(`Failed to load file: ${A}`);this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._textBytes=void 0}setStyledText(A){this.guard(),this.lib.textBufferSetStyledText(this.bufferPtr,A.chunks),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr)}setDefaultFg(A){this.guard(),this.lib.textBufferSetDefaultFg(this.bufferPtr,A)}setDefaultBg(A){this.guard(),this.lib.textBufferSetDefaultBg(this.bufferPtr,A)}setDefaultAttributes(A){this.guard(),this.lib.textBufferSetDefaultAttributes(this.bufferPtr,A)}resetDefaults(){this.guard(),this.lib.textBufferResetDefaults(this.bufferPtr)}getLineCount(){return this.guard(),this.lib.textBufferGetLineCount(this.bufferPtr)}get length(){return this.guard(),this._length}get byteSize(){return this.guard(),this._byteSize}get ptr(){return this.guard(),this.bufferPtr}getPlainText(){if(this.guard(),this._byteSize===0)return"";let A=this.lib.getPlainTextBytes(this.bufferPtr,this._byteSize);if(!A)return"";return this.lib.decoder.decode(A)}getTextRange(A,q){if(this.guard(),A>=q)return"";if(this._byteSize===0)return"";let E=this.lib.textBufferGetTextRange(this.bufferPtr,A,q,this._byteSize);if(!E)return"";return this.lib.decoder.decode(E)}addHighlightByCharRange(A){this.guard(),this.lib.textBufferAddHighlightByCharRange(this.bufferPtr,A)}addHighlight(A,q){this.guard(),this.lib.textBufferAddHighlight(this.bufferPtr,A,q)}removeHighlightsByRef(A){this.guard(),this.lib.textBufferRemoveHighlightsByRef(this.bufferPtr,A)}clearLineHighlights(A){this.guard(),this.lib.textBufferClearLineHighlights(this.bufferPtr,A)}clearAllHighlights(){this.guard(),this.lib.textBufferClearAllHighlights(this.bufferPtr)}getLineHighlights(A){return this.guard(),this.lib.textBufferGetLineHighlights(this.bufferPtr,A)}getHighlightCount(){return this.guard(),this.lib.textBufferGetHighlightCount(this.bufferPtr)}setSyntaxStyle(A){if(this.guard(),this.lib.textBufferSetSyntaxStyle(this.bufferPtr,A?.ptr??null))this._syntaxStyle=A??void 0}getSyntaxStyle(){return this.guard(),this._syntaxStyle??null}setTabWidth(A){this.guard(),this.lib.textBufferSetTabWidth(this.bufferPtr,A),this._length=this.lib.textBufferGetLength(this.bufferPtr)}getTabWidth(){return this.guard(),this.lib.textBufferGetTabWidth(this.bufferPtr)}clear(){this.guard(),this.lib.textBufferClear(this.bufferPtr),this._length=0,this._byteSize=0,this._textBytes=void 0,this._appendedChunks=[]}reset(){this.guard(),this.lib.textBufferReset(this.bufferPtr),this._length=0,this._byteSize=0,this._textBytes=void 0,this._memId=void 0,this._appendedChunks=[]}destroy(){if(this._destroyed)return;this._destroyed=!0,this.lib.destroyTextBuffer(this.bufferPtr)}}function MJ(A){throw Error(zI,{cause:A instanceof Error?A:void 0})}function CI(A){return{ptr(){return MJ(A)},toArrayBuffer(){return MJ(A)}}}async function DI(){if(typeof process<"u"&&"bun"in process.versions)return yI(await OJ("bun:ffi"));try{return mI(await OJ("node:ffi"))}catch(A){return CI(A)}}function OJ(A){return import(A).then((q)=>q.default??q)}function yI(A){return{ptr:A.ptr,toArrayBuffer(q,E,g){return A.toArrayBuffer(vI(q),E,g)}}}function mI(A){return{ptr(q){if(ArrayBuffer.isView(q)){let E=A.getRawPointer(q.buffer);return q.byteOffset===0?E:E+BigInt(q.byteOffset)}if(q instanceof ArrayBuffer)return A.getRawPointer(q);throw TypeError("node:ffi ptr() only supports ArrayBuffer and ArrayBufferView values.")},toArrayBuffer(q,E,g){return A.toArrayBuffer(wI(q)+BigInt(E??0),g,!1)}}}function wI(A){return typeof A==="bigint"?A:BigInt(A)}function vI(A){return typeof A==="bigint"?Number(A):A}function cE(...A){let q=A.join(" ");throw console.error("FATAL ERROR:",q),Error(q)}function hF(A){return typeof A==="string"&&bI.includes(A)}function QJ(A){return typeof A==="object"&&A!==null&&A.__type==="objectPointer"}function cI(A,q){let E=new ArrayBuffer(A.size),g=new DataView(E),j={buffer:E,view:g};if(q?.lengths){let a={};for(let[Z,G]of Object.entries(q.lengths)){let M=A.arrayFields.get(Z);if(!M)throw Error(`Field '${Z}' is not an array field with a lengthOf field`);let Y=new ArrayBuffer(G*M.elementSize);a[Z]=Y;let Q=G>0?kE(Y):null;Nq(g,M.arrayOffset,Q),GE(E,Y),M.lengthPack(g,M.lengthOffset,G)}if(Object.keys(a).length>0)j.subBuffers=a}return j}function $J(A,q){return A+(q-1)&~(q-1)}function HJ(A){throw TypeError(`Invalid enum value: ${A}`)}function wF(A,q="u32"){let E=Object.fromEntries(Object.entries(A).map(([g,j])=>[j,g]));return{__type:"enum",type:q,to(g){return typeof g==="number"?g:A[g]??HJ(String(g))},from(g){return E[g]??HJ(String(g))},enum:A}}function TJ(A){return typeof A==="object"&&A.__type==="enum"}function fI(A){return A.optional===!0||A.unpackTransform!==void 0||A.packTransform!==void 0||A.lengthOf!==void 0||A.default!==void 0||A.validate!==void 0}function IM(A){return typeof A==="object"&&A.__type==="struct"}function lI(A,q,E,g,j){let a=A.options?.mapValue?A.options.mapValue(g):g;if(A.materializeArrayIterables)a=A.materializeArrayIterables(a);for(let Z of A.layout){let G=a[Z.name]??Z.default;if(!Z.optional&&G===void 0)cE(`Packing non-optional field '${Z.name}' but value is undefined (and no default provided)`);if(Z.validate)for(let M of Z.validate)M(G,Z.name,{hints:j?.validationHints,input:a});Z.pack(q,E+Z.offset,G,a,j)}}function uI(A,q,E){let g=A.options?.default?{...A.options.default}:{};for(let j of A.layout){if(!j.unpack)continue;try{g[j.name]=j.unpack(q,E+j.offset)}catch(a){throw console.error(`Error unpacking field '${j.name}' at offset ${j.offset}:`,a),a}}return A.options?.reduceValue?A.options.reduceValue(g):g}function xg(A){let q,E;switch(A){case"u8":q=(g,j,a)=>g.setUint8(j,a),E=(g,j)=>g.getUint8(j);break;case"bool_u8":q=(g,j,a)=>g.setUint8(j,a?1:0),E=(g,j)=>Boolean(g.getUint8(j));break;case"bool_u32":q=(g,j,a)=>g.setUint32(j,a?1:0,!0),E=(g,j)=>Boolean(g.getUint32(j,!0));break;case"u16":q=(g,j,a)=>g.setUint16(j,a,!0),E=(g,j)=>g.getUint16(j,!0);break;case"i16":q=(g,j,a)=>g.setInt16(j,a,!0),E=(g,j)=>g.getInt16(j,!0);break;case"u32":q=(g,j,a)=>g.setUint32(j,a,!0),E=(g,j)=>g.getUint32(j,!0);break;case"i32":q=(g,j,a)=>g.setInt32(j,a,!0),E=(g,j)=>g.getInt32(j,!0);break;case"i64":q=(g,j,a)=>g.setBigInt64(j,BigInt(a),!0),E=(g,j)=>g.getBigInt64(j,!0);break;case"u64":q=(g,j,a)=>g.setBigUint64(j,BigInt(a),!0),E=(g,j)=>g.getBigUint64(j,!0);break;case"f32":q=(g,j,a)=>g.setFloat32(j,a,!0),E=(g,j)=>g.getFloat32(j,!0);break;case"f64":q=(g,j,a)=>g.setFloat64(j,a,!0),E=(g,j)=>g.getFloat64(j,!0);break;case"pointer":if(Vq===8&&pK)q=(g,j,a)=>{if(!a)g.setUint32(j,0,!0),g.setUint32(j+4,0,!0);else if(typeof a==="number"&&Number.isInteger(a))g.setUint32(j,a,!0),g.setUint32(j+4,Math.floor(a/4294967296),!0);else g.setBigUint64(j,BigInt(a),!0)},E=(g,j)=>g.getUint32(j,!0)+g.getUint32(j+4,!0)*4294967296;else q=(g,j,a)=>{Vq===8?g.setBigUint64(j,a?BigInt(a):0n,!0):g.setUint32(j,a?Number(a):0,!0)},E=(g,j)=>{if(Vq===8){let a=g.getBigUint64(j,!0);return pK?Number(a):a}return g.getUint32(j,!0)};break;default:cE(`Unsupported primitive type: ${A}`)}return{pack:q,unpack:E}}function UZ(A,q,E){let g=`baseOffset + ${q}`;switch(A){case"u8":return`view.setUint8(${g}, ${E})`;case"bool_u8":return`view.setUint8(${g}, ${E} ? 1 : 0)`;case"bool_u32":return`view.setUint32(${g}, ${E} ? 1 : 0, true)`;case"u16":return`view.setUint16(${g}, ${E}, true)`;case"i16":return`view.setInt16(${g}, ${E}, true)`;case"u32":return`view.setUint32(${g}, ${E}, true)`;case"i32":return`view.setInt32(${g}, ${E}, true)`;case"i64":return`view.setBigInt64(${g}, BigInt(${E}), true)`;case"u64":return`view.setBigUint64(${g}, BigInt(${E}), true)`;case"f32":return`view.setFloat32(${g}, ${E}, true)`;case"f64":return`view.setFloat64(${g}, ${E}, true)`}}function GZ(A,q){let E=`baseOffset + ${q}`;switch(A){case"u8":return`view.getUint8(${E})`;case"bool_u8":return`Boolean(view.getUint8(${E}))`;case"bool_u32":return`Boolean(view.getUint32(${E}, true))`;case"u16":return`view.getUint16(${E}, true)`;case"i16":return`view.getInt16(${E}, true)`;case"u32":return`view.getUint32(${E}, true)`;case"i32":return`view.getInt32(${E}, true)`;case"i64":return`view.getBigInt64(${E}, true)`;case"u64":return`view.getBigUint64(${E}, true)`;case"f32":return`view.getFloat32(${E}, true)`;case"f64":return`view.getFloat64(${E}, true)`;case"pointer":if(Vq===8&&pK)return`view.getUint32(${E}, true) + view.getUint32(${E} + 4, true) * 0x100000000`;return Vq===8?`view.getBigUint64(${E}, true)`:`view.getUint32(${E}, true)`}}function pI(A,q){let E=A.map((g,j)=>{let a=`value${j}`,Z=`Packing non-optional field '${g.name}' at index `;return`
81
+ const ${a} = obj[${JSON.stringify(g.name)}] ?? undefined
82
+ if (${a} === undefined) fatalError(${JSON.stringify(Z)} + index + ${JSON.stringify(" but value is undefined (and no default provided)")})
83
+ ${UZ(g.type,g.offset,a)}
84
+ `}).join(`
85
+ `);return Function("fatalError",`return function packPlainPrimitiveList(objects) {
86
+ const buffer = new ArrayBuffer(${q} * objects.length)
87
+ const view = new DataView(buffer)
88
+ for (let index = 0, baseOffset = 0; index < objects.length; index++, baseOffset += ${q}) {
89
+ const obj = objects[index]
90
+ ${E}
91
+ }
92
+ return buffer
93
+ }`)(cE)}function dI(A,q){let E=A.map((g,j)=>{let a=`value${j}`;return`
94
+ const ${a} = obj[${JSON.stringify(g.name)}] ?? undefined
95
+ if (${a} === undefined) fatalError(${JSON.stringify(`Packing non-optional field '${g.name}' but value is undefined (and no default provided)`)})
96
+ ${UZ(g.type,g.offset,a)}
97
+ `}).join(`
98
+ `);return Function("fatalError",`return function packPlainPrimitive(obj) {
99
+ const buffer = new ArrayBuffer(${q})
100
+ const view = new DataView(buffer)
101
+ let baseOffset = 0
102
+ ${E}
103
+ return buffer
104
+ }`)(cE)}function tI(A){let q=A.map((E,g)=>{let j=`value${g}`;return`
105
+ const ${j} = obj[${JSON.stringify(E.name)}] ?? undefined
106
+ if (${j} === undefined) {
107
+ console.warn(${JSON.stringify(`packInto missing value for non-optional field '${E.name}' at offset `)} + (baseOffset + ${E.offset}) + ${JSON.stringify(". Writing default or zero.")})
108
+ }
109
+ ${UZ(E.type,E.offset,j)}
110
+ `}).join(`
111
+ `);return Function(`return function packPlainPrimitiveInto(obj, view, baseOffset) {
112
+ ${q}
113
+ }`)()}function sI(A,q){let E=A.map((g,j)=>{let a=`value${j}`;return`
114
+ const ${a} = obj[${JSON.stringify(g.name)}] ?? undefined
115
+ if (${a} === undefined) {
116
+ console.warn(${JSON.stringify(`packInto missing value for non-optional field '${g.name}' at offset `)} + (baseOffset + ${g.offset}) + ${JSON.stringify(". Writing default or zero.")})
117
+ }
118
+ ${UZ(g.type,g.offset,a)}
119
+ `}).join(`
120
+ `);return Function(`return function packPlainPrimitiveListInto(objects, view, initialOffset) {
121
+ for (let index = 0, baseOffset = initialOffset; index < objects.length; index++, baseOffset += ${q}) {
122
+ const obj = objects[index]
123
+ ${E}
124
+ }
125
+ }`)()}function iI(A,q){let E=A.map((j,a)=>`
126
+ let value${a}
127
+ try {
128
+ value${a} = ${GZ(j.type,j.offset)}
129
+ } catch (error) {
130
+ console.error(${JSON.stringify(`Error unpacking field '${j.name}' at index `)} + index + ${JSON.stringify(", offset ")} + (baseOffset + ${j.offset}) + ":", error)
131
+ throw error
132
+ }
133
+ `).join(`
134
+ `),g=A.map((j,a)=>`${JSON.stringify(j.name)}: value${a}`).join(",");return Function(`return function unpackPlainPrimitiveList(view, count) {
135
+ const preallocated = Number.isSafeInteger(count) && count >= ${xF} && count <= ${PF}
136
+ const results = preallocated ? new Array(count) : []
137
+ for (let index = 0, baseOffset = 0; index < count; index++, baseOffset += ${q}) {
138
+ ${E}
139
+ const value = { ${g} }
140
+ if (preallocated) results[index] = value
141
+ else results.push(value)
142
+ }
143
+ return results
144
+ }`)()}function nI(A,q,E){let g=A.map((a,Z)=>`
145
+ let value${Z}
146
+ try {
147
+ value${Z} = ${GZ(a.type,a.offset)}
148
+ } catch (error) {
149
+ console.error(${JSON.stringify(`Error unpacking field '${a.name}' at index `)} + index + ${JSON.stringify(", offset ")} + (baseOffset + ${a.offset}) + ":", error)
150
+ throw error
151
+ }
152
+ `).join(`
153
+ `),j=A.map((a,Z)=>`${JSON.stringify(a.name)}: value${Z}`).join(",");return Function("options",`return function unpackReducedPrimitiveList(view, count) {
154
+ const preallocated = Number.isSafeInteger(count) && count >= ${xF} && count <= ${PF}
155
+ const results = preallocated ? new Array(count) : []
156
+ for (let index = 0, baseOffset = 0; index < count; index++, baseOffset += ${q}) {
157
+ ${g}
158
+ const raw = { ${j} }
159
+ const value = options.reduceValue ? options.reduceValue(raw) : raw
160
+ if (preallocated) results[index] = value
161
+ else results.push(value)
162
+ }
163
+ return results
164
+ }`)(E)}function oI(A){let q=A.map((g,j)=>`
165
+ let value${j}
166
+ try {
167
+ value${j} = ${GZ(g.type,g.offset)}
168
+ } catch (error) {
169
+ console.error(${JSON.stringify(`Error unpacking field '${g.name}' at offset ${g.offset}:`)}, error)
170
+ throw error
171
+ }
172
+ `).join(`
173
+ `),E=A.map((g,j)=>`${JSON.stringify(g.name)}: value${j}`).join(",");return Function(`return function unpackPlainPrimitive(view) {
174
+ let baseOffset = 0
175
+ ${q}
176
+ return { ${E} }
177
+ }`)()}function rI(A){let q=A.map((E)=>`
178
+ try {
179
+ target[${JSON.stringify(E.name)}] = ${GZ(E.type,E.offset)}
180
+ } catch (error) {
181
+ console.error(${JSON.stringify(`Error unpacking field '${E.name}' at offset ${E.offset}:`)}, error)
182
+ throw error
183
+ }
184
+ `).join(`
185
+ `);return Function(`return function unpackPlainPrimitiveInto(view, target, baseOffset) {
186
+ ${q}
187
+ return target
188
+ }`)()}function GE(A,q){let E=lM.get(A);if(E)E.push(q);else lM.set(A,[q])}function eI(A,q){if(lM.has(q))GE(A,q)}function SF(A){return A==null||A===0||A===0n}function WM(A){return typeof A==="bigint"?Number(A):A}function A5(A){let q=new ArrayBuffer(A.length*Vq),E=new DataView(q);for(let g=0;g<A.length;g++){let a=A[g]?.ptr??null;Nq(E,g*Vq,a)}return E}function uA(A,q){let E=0,g=1,j=!1,a=!q?.default&&!q?.reduceValue,Z=q?.mapValue||q?.default||q?.reduceValue?null:[],G=q?.reduceValue&&!q.default?[]:null,M=[],Y={},Q=[],H={},N={};for(let[b,y,n={}]of A){if(n.condition&&!n.condition())continue;let r=0,gA=0,AA,FA,bA=!1,Fq=null,XA=null;if(hF(y)){if(r=Pg[y],gA=YJ[y],{pack:AA,unpack:FA}=xg(y),y==="pointer")AA=(t,e,o)=>{if(o instanceof ArrayBuffer||ArrayBuffer.isView(o)){if(o.byteLength===0){Nq(t,e,null);return}Nq(t,e,kE(o)),GE(t.buffer,o);return}Nq(t,e,o)};if(Z)if(y==="pointer"||fI(n))Z=null;else XA=y}else if(typeof y==="string"&&y==="cstring")Z=null,r=Vq,gA=Vq,AA=(t,e,o)=>{if(!o){Nq(t,e,null);return}let jA=JJ.encode(o+"\x00"),HA=kE(jA);Nq(t,e,HA),GE(t.buffer,jA)},FA=(t,e)=>{return CK(t,e)};else if(typeof y==="string"&&y==="char*")Z=null,r=Vq,gA=Vq,AA=(t,e,o)=>{if(!o){Nq(t,e,null);return}let jA=JJ.encode(o),HA=kE(jA);Nq(t,e,HA),GE(t.buffer,jA)},FA=(t,e)=>{return CK(t,e)},bA=!0;else if(TJ(y)){Z=null,a=!1;let t=y.type;r=Pg[t],gA=YJ[t];let{pack:e}=xg(t);AA=(o,jA,HA)=>{let _A=y.to(HA);e(o,jA,_A)},FA=(o,jA)=>{let HA=kI[t](o,jA);return y.from(HA)}}else if(IM(y))if(Z=null,n.asPointer===!0)a=!1,r=Vq,gA=Vq,AA=(t,e,o,jA,HA)=>{if(!o){Nq(t,e,null);return}let _A=y.pack(o,HA);Nq(t,e,kE(_A)),GE(t.buffer,_A)},FA=(t,e)=>{throw Error("Not implemented yet")};else{r=y.size,gA=y.align;let t=hM.get(y);a&&=!!t?.directInlineUnpackSafe,j||=!!t&&!n.optional,AA=(e,o,jA,HA,_A)=>{let yq=y.pack;if(t&&M_.has(e.buffer)&&yq===t.publicPack){lI(t,e,o,jA,_A);return}let mq=Reflect.apply(yq,y,[jA,_A]),wq=new Uint8Array(mq);new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(wq,o),eI(e.buffer,mq)},FA=(e,o)=>{let jA=Object.getOwnPropertyDescriptor(y,"unpack")?.value;if(t?.directInlineUnpackSafe&&jA===t.publicUnpack&&!(e.buffer instanceof SharedArrayBuffer))return uI(t,e,o);let HA=e.byteOffset+o,_A=e.buffer.slice(HA,HA+r);return y.unpack(_A)}}else if(QJ(y))Z=null,r=Vq,gA=Vq,AA=(t,e,o)=>{let jA=o?.ptr??null;if(jA===void 0)console.warn(`Field '${b}' expected object with '.ptr' property, but got undefined pointer value from:`,o),Nq(t,e,null);else Nq(t,e,jA)},FA=(t,e)=>{return CK(t,e)};else if(Array.isArray(y)&&y.length===1&&y[0]!==void 0){Z=null;let[t]=y;r=Vq,gA=Vq;let e;if(TJ(t)){a=!1,e=Pg[t.type];let{pack:o}=xg(t.type);AA=(jA,HA,_A,yq)=>{if(!_A||_A.length===0){Nq(jA,HA,null);return}let mq=new ArrayBuffer(_A.length*e),wq=new DataView(mq);for(let O6=0;O6<_A.length;O6++){let rq=t.to(_A[O6]);o(wq,O6*e,rq)}Nq(jA,HA,kE(mq)),GE(jA.buffer,mq)},FA=null,bA=!0,Fq=t}else if(IM(t)){a=!1,e=t.size;let o=hM.get(t);AA=(jA,HA,_A,yq,mq)=>{if(!_A||_A.length===0){Nq(jA,HA,null);return}let wq=new ArrayBuffer(_A.length*e),O6=new DataView(wq);if(o?.hasDirectInlinePack){M_.add(wq);try{for(let rq=0;rq<_A.length;rq++)t.packInto(_A[rq],O6,rq*e,mq)}finally{M_.delete(wq)}}else for(let rq=0;rq<_A.length;rq++)t.packInto(_A[rq],O6,rq*e,mq);Nq(jA,HA,kE(wq)),GE(jA.buffer,wq)},FA=(jA,HA)=>{throw Error("Not implemented yet")}}else if(hF(t)){e=Pg[t];let{pack:o}=xg(t);AA=(jA,HA,_A)=>{if(!_A||_A.length===0){Nq(jA,HA,null);return}let yq=new ArrayBuffer(_A.length*e),mq=new DataView(yq);for(let wq=0;wq<_A.length;wq++)o(mq,wq*e,_A[wq]);Nq(jA,HA,kE(yq)),GE(jA.buffer,yq)},FA=null,bA=!0,Fq=t}else if(QJ(t))a=!1,e=Vq,AA=(o,jA,HA)=>{if(!HA||HA.length===0){Nq(o,jA,null);return}let _A=A5(HA);Nq(o,jA,kE(_A.buffer)),GE(o.buffer,_A.buffer)},FA=()=>{throw Error("not implemented yet")};else throw Error(`Unsupported array element type for ${b}: ${JSON.stringify(t)}`);N[b]=e}else throw Error(`Unsupported field type for ${b}: ${JSON.stringify(y)}`);if(E=$J(E,gA),Z&&XA)Z.push({name:b,offset:E,type:XA});if(G)if(hF(y)&&!n.unpackTransform)G.push({name:b,offset:E,type:y});else G=null;if(n.unpackTransform){a=!1;let t=FA;FA=(e,o)=>n.unpackTransform(t(e,o))}if(n.packTransform){let t=AA;AA=(e,o,jA,HA,_A)=>t(e,o,n.packTransform(jA),HA,_A)}if(n.optional){let t=AA;if(IM(y)&&!n.asPointer)AA=(e,o,jA,HA,_A)=>{if(jA||n.mapOptionalInline)t(e,o,jA,HA,_A)};else AA=(e,o,jA,HA,_A)=>t(e,o,jA??0,HA,_A)}if(n.lengthOf){let t=AA;AA=(e,o,jA,HA,_A)=>{let yq=HA[n.lengthOf],mq=0;if(yq)if(typeof yq==="string")mq=Buffer.byteLength(yq);else mq=yq.length;return t(e,o,mq,HA,_A)}}let Oq;if(n.validate)Oq=Array.isArray(n.validate)?n.validate:[n.validate];let lq={name:b,offset:E,size:r,align:gA,validate:Oq,optional:!!n.optional||!!n.lengthOf||n.default!==void 0,default:n.default,pack:AA,unpack:FA,unpackTransform:n.unpackTransform,type:y,lengthOf:n.lengthOf};if(M.push(lq),n.lengthOf)Y[n.lengthOf]=lq;if(bA){let t=typeof y==="string"&&y==="char*"?"char*":Fq;if(!t)cE(`Internal error: needsLengthOf=true but def is null for ${b}`);Q.push({requester:lq,def:t})}E+=r,g=Math.max(g,gA)}for(let[b,y]of Object.entries(Y)){let n=M.find((AA)=>AA.name===b),r=N[b];if(!n||r===void 0||!hF(y.type))continue;let{pack:gA}=xg(y.type);H[b]={elementSize:r,arrayOffset:n.offset,lengthOffset:y.offset,lengthPack:gA}}for(let{requester:b,def:y}of Q){let n=Y[b.name];if(!n){if(y==="char*")continue;throw Error(`lengthOf field not found for array field ${b.name}`)}if(y==="char*"){let r=n.offset-b.offset;b.unpack=(gA,AA)=>{let FA=SM(gA,AA),bA=n.unpack(gA,AA+r);if(SF(FA))return null;let Fq=WM(bA);if(Fq===0)return"";let XA=RM(FA,0,Fq);return q5.decode(XA)}}else if(hF(y)){let r=Pg[y],{unpack:gA}=xg(y),AA=n.offset-b.offset;b.unpack=(FA,bA)=>{let Fq=n.unpack(FA,bA+AA),XA=WM(Fq),Oq=SM(FA,bA);if(SF(Oq)&&XA>0)throw Error(`Array field ${b.name} has null pointer but length ${Fq}.`);if(SF(Oq)||XA===0)return[];let lq=RM(Oq,0,XA*r),t=new DataView(lq);if(Number.isSafeInteger(XA)&&XA>=xF&&XA<=PF){let o=Array(XA);for(let jA=0;jA<XA;jA++)o[jA]=gA(t,jA*r);return o}let e=[];for(let o=0;o<XA;o++)e.push(gA(t,o*r));return e}}else{let r=Pg[y.type],{unpack:gA}=xg(y.type),AA=n.offset-b.offset;b.unpack=(FA,bA)=>{let Fq=n.unpack(FA,bA+AA),XA=WM(Fq),Oq=SM(FA,bA);if(SF(Oq)&&XA>0)throw Error(`Array field ${b.name} has null pointer but length ${Fq}.`);if(SF(Oq)||XA===0)return[];let lq=RM(Oq,0,XA*r),t=new DataView(lq);if(Number.isSafeInteger(XA)&&XA>=xF&&XA<=PF){let o=Array(XA);for(let jA=0;jA<XA;jA++)o[jA]=y.from(gA(t,jA*r));return o}let e=[];for(let o=0;o<XA;o++)e.push(y.from(gA(t,o*r)));return e}}if(b.unpackTransform){let r=b.unpack;b.unpack=(gA,AA)=>b.unpackTransform(r(gA,AA))}}let X=$J(E,g),T=M.map((b)=>({name:b.name,offset:b.offset,size:b.size,align:b.align,optional:b.optional,type:b.type,lengthOf:b.lengthOf})),J=new Map(T.map((b)=>[b.name,b])),V=new Map(Object.entries(H)),I=M.filter((b)=>Array.isArray(b.type));if(Z?.length!==M.length||Z.length===0)Z=null;let W=!!Z;if(G?.length!==M.length||G.length===0)G=null;let C,c,D,v,k,u,d,p,QA=0,GA=0,jq=0,iA=0,Dq=0,$A=0,SA=0,i=0,EA=(b)=>{try{return b()}catch(y){if(!(y instanceof EvalError))throw y;Z=null,G=null;return}},_q=(b,y)=>{if(!Number.isSafeInteger(y)||y<0)throw RangeError(`Decode offset must be a non-negative safe integer, got ${y}`);if(y>b.byteLength-X)throw RangeError(`DataView range (${b.byteLength} bytes) is too small for a struct at offset ${y}`)},nA=(b,y,n)=>{if(q?.default)Object.assign(b,q.default);for(let r of M){if(!r.unpack)continue;try{b[r.name]=r.unpack(y,n+r.offset)}catch(gA){throw console.error(`Error unpacking field '${r.name}' at offset ${r.offset}:`,gA),gA}}},eA=(b,y,n=0)=>{if(_q(b,n),Z&&(p||++i>=Ig)){if(p??=EA(()=>rI(Z)),p)return p(b,y,n)}return nA(y,b,n),y},Aq=I.length===0?null:(b)=>{let y=b;for(let n of I){let r=b[n.name];if(r==null||Array.isArray(r)||ArrayBuffer.isView(r))continue;if(typeof r[Symbol.iterator]!=="function")continue;if(y===b)y={...b};y[n.name]=Array.from(r)}return y},Tq={__type:"struct",size:X,align:g,hasMapValue:!!q?.mapValue,layoutByName:J,arrayFields:V,pack(b,y){if(Z&&(v||++Dq>=Ig)){if(v??=EA(()=>dI(Z,X)),v)return v(b)}let n=new ArrayBuffer(X),r=new DataView(n),gA=b;if(q?.mapValue)gA=q.mapValue(b);if(Aq)gA=Aq(gA);if(j)M_.add(n);try{for(let AA of M){let FA=gA[AA.name]??AA.default;if(!AA.optional&&FA===void 0)cE(`Packing non-optional field '${AA.name}' but value is undefined (and no default provided)`);if(AA.validate)for(let bA of AA.validate)bA(FA,AA.name,{hints:y?.validationHints,input:gA});AA.pack(r,AA.offset,FA,gA,y)}}finally{if(j)M_.delete(n)}return r.buffer},packInto(b,y,n,r){if(Z&&(k||++$A>=Ig)){if(k??=EA(()=>tI(Z)),k){k(b,y,n);return}}let gA=b;if(q?.mapValue)gA=q.mapValue(b);if(Aq)gA=Aq(gA);for(let AA of M){let FA=gA[AA.name]??AA.default;if(!AA.optional&&FA===void 0)console.warn(`packInto missing value for non-optional field '${AA.name}' at offset ${n+AA.offset}. Writing default or zero.`);if(AA.validate)for(let bA of AA.validate)bA(FA,AA.name,{hints:r?.validationHints,input:gA});AA.pack(y,n+AA.offset,FA,gA,r)}},unpack(b){if(b.byteLength<X)cE(`Buffer size (${b.byteLength}) is smaller than struct size (${X}) for unpacking.`);let y=new DataView(b);if(Z&&(d||++SA>=Ig)){if(d??=EA(()=>oI(Z)),d)return d(y)}let n=q?.default?{...q.default}:{};for(let r of M){if(!r.unpack)continue;try{n[r.name]=r.unpack(y,r.offset)}catch(gA){throw console.error(`Error unpacking field '${r.name}' at offset ${r.offset}:`,gA),gA}}if(q?.reduceValue)return q.reduceValue(n);return n},packList(b,y){if(b.length===0)return new ArrayBuffer(0);if(Z){if(QA+=b.length,C||b.length>1&&QA>=Ig){if(C??=EA(()=>pI(Z,X)),C)return C(b)}}let n=new ArrayBuffer(X*b.length),r=new DataView(n);if(j)M_.add(n);try{for(let gA=0;gA<b.length;gA++){let AA=b[gA];if(q?.mapValue)AA=q.mapValue(b[gA]);if(Aq)AA=Aq(AA);for(let FA of M){let bA=AA[FA.name]??FA.default;if(!FA.optional&&bA===void 0)cE(`Packing non-optional field '${FA.name}' at index ${gA} but value is undefined (and no default provided)`);if(FA.validate)for(let Fq of FA.validate)Fq(bA,FA.name,{hints:y?.validationHints,input:AA});FA.pack(r,gA*X+FA.offset,bA,AA,y)}}}finally{if(j)M_.delete(n)}return n},packListInto(b,y,n,r){if(b.length===0)return;if(!W)throw Error("packListInto only supports required primitive fields");if(Z){if(GA+=b.length,u||b.length>1&&GA>=Ig){if(u??=EA(()=>sI(Z,X)),u){u(b,y,n);return}}}for(let gA=0;gA<b.length;gA+=1)Tq.packInto(b[gA],y,n+gA*X,r)},unpackList(b,y){if(y===0)return[];let n=X*y;if(b.byteLength<n)cE(`Buffer size (${b.byteLength}) is smaller than expected size (${n}) for unpacking ${y} structs.`);let r=new DataView(b);if(Z&&Number.isSafeInteger(y)&&y>1){if(jq+=y,c||jq>=Ig){if(c??=EA(()=>iI(Z,X)),c)return c(r,y)}}if(!Z&&G&&Number.isSafeInteger(y)&&y>1){if(iA+=y,D||iA>=Ig){if(D??=EA(()=>nI(G,X,q)),D)return D(r,y)}}let gA=Number.isSafeInteger(y)&&y>=xF&&y<=PF,AA=gA?Array(y):[];for(let FA=0;FA<y;FA++){let bA=FA*X,Fq=q?.default?{...q.default}:{};for(let XA of M){if(!XA.unpack)continue;try{Fq[XA.name]=XA.unpack(r,bA+XA.offset)}catch(Oq){throw console.error(`Error unpacking field '${XA.name}' at index ${FA}, offset ${bA+XA.offset}:`,Oq),Oq}}if(q?.reduceValue){let XA=q.reduceValue(Fq);if(gA)AA[FA]=XA;else AA.push(XA)}else if(gA)AA[FA]=Fq;else AA.push(Fq)}return AA},describe(){return T}};if(!q?.reduceValue)Object.assign(Tq,{unpackInto:eA});return hM.set(Tq,{layout:M,options:q,publicPack:Tq.pack,publicUnpack:Tq.unpack,hasDirectInlinePack:j,directInlineUnpackSafe:a,materializeArrayIterables:Aq}),Tq}function hg(A){let q=cI(A);return{...q,ffiView:new Uint8Array(q.buffer)}}function Sg(A){return typeof A==="bigint"?Number(A):A}function Y5(A,q){if(typeof A!=="bigint")return A;if(A>BigInt(Number.MAX_SAFE_INTEGER))throw RangeError(`${q} exceeds JavaScript safe integer range`);return Number(A)}function rA(A,q){if(!Number.isSafeInteger(A)||A<0||A>p4)throw RangeError(`${q} exceeds native u32 length limit`);return A}function Oj(A){return Number.isInteger(A)&&A>=0&&A<=p4}function mA(A){return A.byteLength===0?null:A}function PM(A){if(A.byteLength===0)return null;return A.buffer,G0(A)}function nq(A,q){if(A>=0)return A;throw Error(`Embedded terminal ${q} failed: ${Q5[A]??`status ${A}`}`)}function Wg(A,q){if(!Number.isInteger(A)||A<1||A>65535)throw RangeError(`Embedded terminal ${q} must be an integer between 1 and 65535`);return A}function zM(A,q){if(!Number.isInteger(A)||A<-2147483648||A>2147483647)throw RangeError(`Embedded terminal ${q} must be a signed 32-bit integer`);return A}function vJ(A,q){if(!Number.isFinite(A)||Math.abs(A)>340282346638528860000000000000000000000)throw RangeError(`Embedded terminal ${q} must be a finite 32-bit float`);return A}function Lq(A){return A.buffer}function lA(A){return A?Lq(A):null}function dM(A){return A==="word"?1:A==="line"?2:0}function bJ(A,q,E){return wA(A)|wA(q)<<1|dM(E)<<2}function zK(A){return A==="wcwidth"?0:A==="unicode-wide"?3:1}function kJ(A){if(A===0)return"wcwidth";return A===3?"unicode-wide":"unicode"}function $5(A){let q=A||Q_;if(!q)throw u4??Error(`OpenTUI is not supported on the current platform: ${process.platform}-${process.arch}`);let E=U0(q,{setLogCallback:{args:["ptr"],returns:"void"},createEventSink:{args:["ptr"],returns:"u32"},destroyEventSink:{args:["u32"],returns:"void"},createNativeRenderable:{args:[],returns:"u32"},destroyNativeRenderable:{args:["u32"],returns:"void"},nativeRenderableAttachYogaNode:{args:["u32","ptr"],returns:"bool"},nativeRenderableSetMeasureTarget:{args:["u32","u32","u32"],returns:"bool"},createEmbeddedTerminal:{args:["u16","u16","u32","ptr"],returns:"i32"},destroyEmbeddedTerminal:{args:["u32"],returns:"void"},embeddedTerminalWrite:{args:["u32","ptr","u32"],returns:"i32"},embeddedTerminalResize:{args:["u32","u16","u16"],returns:"i32"},embeddedTerminalInvalidate:{args:["u32"],returns:"i32"},embeddedTerminalScroll:{args:["u32","i32"],returns:"i32"},embeddedTerminalSetSelection:{args:["u32","u16","u16","u16","u16"],returns:"i32"},embeddedTerminalClearSelection:{args:["u32"],returns:"i32"},embeddedTerminalGetSelectedText:{args:["u32","buffer","u32","buffer"],returns:"i32"},embeddedTerminalCompose:{args:["u32","u32","i32","i32"],returns:"i32"},embeddedTerminalCursor:{args:["u32","buffer"],returns:"i32"},embeddedTerminalEncodeKey:{args:["u32","buffer","ptr","u32","ptr","u32","ptr","u32","ptr"],returns:"i32"},embeddedTerminalEncodeMouse:{args:["u32","u8","i8","u16","f32","f32","u8","ptr","u32"],returns:"i32"},embeddedTerminalEncodePaste:{args:["u32","ptr","u32","ptr","u32"],returns:"i32"},embeddedTerminalEncodeFocus:{args:["u32","u8","ptr","u32"],returns:"i32"},embeddedTerminalDrainResponses:{args:["u32","ptr","u32"],returns:"i32"},createRenderer:{args:["u32","u32","u8","u8","ptr"],returns:"u32"},setTerminalEnvVar:{args:["u32","ptr","u32","ptr","u32"],returns:"bool"},destroyRenderer:{args:["u32","bool"],returns:"void"},setUseThread:{args:["u32","bool"],returns:"void"},setClearOnShutdown:{args:["u32","bool"],returns:"void"},setBackgroundColor:{args:["u32","buffer"],returns:"void"},setRenderOffset:{args:["u32","u32"],returns:"void"},resetSplitScrollback:{args:["u32","u32","u32"],returns:"u32"},syncSplitScrollback:{args:["u32","u32"],returns:"u32"},getSplitOutputOffset:{args:["u32","u32"],returns:"u32"},setPendingSplitFooterTransition:{args:["u32","u8","u32","u32","u32","u32","u32"],returns:"void"},clearPendingSplitFooterTransition:{args:["u32"],returns:"void"},updateStats:{args:["u32","f64","u32","f64"],returns:"void"},updateMemoryStats:{args:["u32","u32","u32","u32"],returns:"void"},getRenderStats:{args:["u32","ptr"],returns:"void"},render:{args:["u32","bool"],returns:"u8"},repaintSplitFooter:{args:["u32","u32","bool"],returns:"u64"},commitSplitFooterSnapshot:{args:["u32","u32","u32","u8","u32"],returns:"u64"},getNextBuffer:{args:["u32"],returns:"u32"},getCurrentBuffer:{args:["u32"],returns:"u32"},rendererSetPaletteState:{args:["u32","buffer","u32","buffer","buffer","u32"],returns:"void"},queryPixelResolution:{args:["u32"],returns:"void"},queryThemeColors:{args:["u32"],returns:"void"},createOptimizedBuffer:{args:["u32","u32","u8","u8","buffer","u32"],returns:"u32"},destroyOptimizedBuffer:{args:["u32"],returns:"void"},drawFrameBuffer:{args:["u32","i32","i32","u32","u32","u32","u32","u32"],returns:"void"},getBufferWidth:{args:["u32"],returns:"u32"},getBufferHeight:{args:["u32"],returns:"u32"},getBufferWidthMethod:{args:["u32"],returns:"u8"},bufferClear:{args:["u32","buffer"],returns:"void"},bufferGetCharPtr:{args:["u32"],returns:"ptr"},bufferGetFgPtr:{args:["u32"],returns:"ptr"},bufferGetBgPtr:{args:["u32"],returns:"ptr"},bufferGetAttributesPtr:{args:["u32"],returns:"ptr"},bufferGetRespectAlpha:{args:["u32"],returns:"bool"},bufferSetRespectAlpha:{args:["u32","bool"],returns:"void"},bufferGetId:{args:["u32","buffer","u32"],returns:"u32"},bufferGetRealCharSize:{args:["u32"],returns:"u32"},bufferWriteResolvedChars:{args:["u32","ptr","u32","bool"],returns:"u32"},bufferDrawText:{args:["u32","ptr","u32","u32","u32","buffer","ptr","u32"],returns:"void"},bufferSetCellWithAlphaBlending:{args:["u32","u32","u32","u32","buffer","buffer","u32"],returns:"void"},bufferSetCell:{args:["u32","u32","u32","u32","buffer","buffer","u32"],returns:"void"},bufferFillRect:{args:["u32","u32","u32","u32","u32","buffer"],returns:"void"},bufferColorMatrix:{args:["u32","ptr","ptr","u32","f32","u8"],returns:"void"},bufferColorMatrixUniform:{args:["u32","ptr","f32","u8"],returns:"void"},bufferResize:{args:["u32","u32","u32"],returns:"void"},linkAlloc:{args:["ptr","u32"],returns:"u32"},linkGetUrl:{args:["u32","ptr","u32"],returns:"u32"},attributesWithLink:{args:["u32","u32"],returns:"u32"},attributesGetLinkId:{args:["u32"],returns:"u32"},resizeRenderer:{args:["u32","u32","u32"],returns:"void"},setCursorPosition:{args:["u32","i32","i32","bool"],returns:"void"},setCursorColor:{args:["u32","buffer"],returns:"void"},getCursorState:{args:["u32","ptr"],returns:"void"},setCursorStyleOptions:{args:["u32","ptr"],returns:"void"},setDebugOverlay:{args:["u32","u8","u8"],returns:"void"},clearTerminal:{args:["u32"],returns:"void"},setTerminalTitle:{args:["u32","ptr","u32"],returns:"void"},copyToClipboardOSC52:{args:["u32","u8","ptr","u32"],returns:"bool"},clearClipboardOSC52:{args:["u32","u8"],returns:"bool"},clipboardServiceCreate:{args:["u32","u32","ptr","u32"],returns:"u32"},clipboardServiceBeginShutdown:{args:["u32"],returns:"u8"},clipboardServicePollShutdown:{args:["u32"],returns:"u8"},clipboardServiceDestroy:{args:["u32"],returns:"u8"},clipboardServiceDrain:{args:["u32"],returns:"u8"},clipboardReadOperationStart:{args:["u32","ptr","u32","u8","u32","u32","u32","u32","ptr"],returns:"u8"},clipboardWriteOperationStart:{args:["u32","ptr","u32","u8","u32","ptr"],returns:"u8"},clipboardClearOperationStart:{args:["u32","u8","u32","ptr"],returns:"u8"},clipboardOperationPoll:{args:["u32"],returns:"u8"},clipboardOperationCancel:{args:["u32"],returns:"u8"},clipboardOperationResultMimeLength:{args:["u32","ptr"],returns:"u8"},clipboardOperationResultMimeCopy:{args:["u32","ptr","u32"],returns:"u8"},clipboardOperationResultDataLength:{args:["u32","ptr"],returns:"u8"},clipboardOperationResultDataCopy:{args:["u32","ptr","u32"],returns:"u8"},clipboardOperationResultErrorCode:{args:["u32","ptr"],returns:"u8"},clipboardOperationResultDiagnosticLength:{args:["u32","ptr"],returns:"u8"},clipboardOperationResultDiagnosticCopy:{args:["u32","ptr","u32"],returns:"u8"},clipboardOperationDestroy:{args:["u32"],returns:"u8"},triggerNotification:{args:["u32","ptr","u32","ptr","u32"],returns:"bool"},bufferDrawSuperSampleBuffer:{args:["u32","u32","u32","ptr","u32","u8","u32"],returns:"void"},bufferDrawImage:{args:["u32","u32","buffer"],returns:"u8"},bufferDrawPackedBuffer:{args:["u32","ptr","u32","u32","u32","u32","u32"],returns:"void"},bufferDrawGrayscaleBuffer:{args:["u32","i32","i32","ptr","u32","u32","ptr","ptr"],returns:"void"},bufferDrawGrayscaleBufferSupersampled:{args:["u32","i32","i32","ptr","u32","u32","ptr","ptr"],returns:"void"},bufferDrawGrid:{args:["u32","buffer","buffer","buffer","buffer","u32","buffer","u32","buffer"],returns:"void"},bufferDrawBox:{args:["u32","i32","i32","u32","u32","buffer","u32","buffer","buffer","buffer","ptr","u32","ptr","u32"],returns:"void"},bufferPushScissorRect:{args:["u32","i32","i32","u32","u32"],returns:"void"},bufferPopScissorRect:{args:["u32"],returns:"void"},bufferClearScissorRects:{args:["u32"],returns:"void"},bufferPushOpacity:{args:["u32","f32"],returns:"void"},bufferPopOpacity:{args:["u32"],returns:"void"},bufferGetCurrentOpacity:{args:["u32"],returns:"f32"},bufferClearOpacity:{args:["u32"],returns:"void"},addToHitGrid:{args:["u32","i32","i32","u32","u32","u32"],returns:"void"},clearCurrentHitGrid:{args:["u32"],returns:"void"},hitGridPushScissorRect:{args:["u32","i32","i32","u32","u32"],returns:"void"},hitGridPopScissorRect:{args:["u32"],returns:"void"},hitGridClearScissorRects:{args:["u32"],returns:"void"},addToCurrentHitGridClipped:{args:["u32","i32","i32","u32","u32","u32"],returns:"void"},checkHit:{args:["u32","u32","u32"],returns:"u32"},getHitGridDirty:{args:["u32"],returns:"bool"},dumpHitGrid:{args:["u32"],returns:"void"},dumpBuffers:{args:["u32","i64"],returns:"void"},dumpOutputBuffer:{args:["u32","i64"],returns:"void"},restoreTerminalModes:{args:["u32"],returns:"void"},enableMouse:{args:["u32","bool"],returns:"void"},disableMouse:{args:["u32"],returns:"void"},enableKittyKeyboard:{args:["u32","u8"],returns:"void"},disableKittyKeyboard:{args:["u32"],returns:"void"},setKittyKeyboardFlags:{args:["u32","u8"],returns:"void"},getKittyKeyboardFlags:{args:["u32"],returns:"u8"},setupTerminal:{args:["u32","bool"],returns:"void"},suspendRenderer:{args:["u32"],returns:"void"},resumeRenderer:{args:["u32"],returns:"void"},writeOut:{args:["u32","ptr","u32"],returns:"void"},createTextBuffer:{args:["u8"],returns:"u32"},destroyTextBuffer:{args:["u32"],returns:"void"},textBufferGetLength:{args:["u32"],returns:"u32"},textBufferGetByteSize:{args:["u32"],returns:"u32"},textBufferReset:{args:["u32"],returns:"void"},textBufferClear:{args:["u32"],returns:"void"},textBufferSetDefaultFg:{args:["u32","ptr"],returns:"void"},textBufferSetDefaultBg:{args:["u32","ptr"],returns:"void"},textBufferSetDefaultAttributes:{args:["u32","ptr"],returns:"void"},textBufferResetDefaults:{args:["u32"],returns:"void"},textBufferGetTabWidth:{args:["u32"],returns:"u8"},textBufferSetTabWidth:{args:["u32","u8"],returns:"void"},textBufferRegisterMemBuffer:{args:["u32","ptr","u32","bool"],returns:"u16"},textBufferReplaceMemBuffer:{args:["u32","u8","ptr","u32","bool"],returns:"bool"},textBufferClearMemRegistry:{args:["u32"],returns:"void"},textBufferSetTextFromMem:{args:["u32","u8"],returns:"void"},textBufferAppend:{args:["u32","ptr","u32"],returns:"void"},textBufferAppendFromMemId:{args:["u32","u8"],returns:"void"},textBufferLoadFile:{args:["u32","ptr","u32"],returns:"bool"},textBufferSetStyledText:{args:["u32","ptr","u32"],returns:"void"},textBufferGetLineCount:{args:["u32"],returns:"u32"},textBufferGetPlainText:{args:["u32","ptr","u32"],returns:"u32"},textBufferAddHighlightByCharRange:{args:["u32","ptr"],returns:"void"},textBufferAddHighlight:{args:["u32","u32","ptr"],returns:"void"},textBufferRemoveHighlightsByRef:{args:["u32","u16"],returns:"void"},textBufferClearLineHighlights:{args:["u32","u32"],returns:"void"},textBufferClearAllHighlights:{args:["u32"],returns:"void"},textBufferSetSyntaxStyle:{args:["u32","u32"],returns:"bool"},textBufferGetLineHighlightsPtr:{args:["u32","u32","ptr"],returns:"ptr"},textBufferFreeLineHighlights:{args:["ptr","u32"],returns:"void"},textBufferGetHighlightCount:{args:["u32"],returns:"u32"},textBufferGetTextRange:{args:["u32","u32","u32","ptr","u32"],returns:"u32"},textBufferGetTextRangeByCoords:{args:["u32","u32","u32","u32","u32","ptr","u32"],returns:"u32"},createTextBufferView:{args:["u32"],returns:"u32"},destroyTextBufferView:{args:["u32"],returns:"void"},textBufferViewSetSelection:{args:["u32","u32","u32","ptr","ptr"],returns:"void"},textBufferViewResetSelection:{args:["u32"],returns:"void"},textBufferViewGetSelectionInfo:{args:["u32"],returns:"u64"},textBufferViewSetLocalSelection:{args:["u32","i32","i32","i32","i32","ptr","ptr","u8"],returns:"bool"},textBufferViewUpdateSelection:{args:["u32","u32","ptr","ptr"],returns:"void"},textBufferViewUpdateLocalSelection:{args:["u32","i32","i32","i32","i32","ptr","ptr","u8"],returns:"bool"},textBufferViewResetLocalSelection:{args:["u32"],returns:"void"},textBufferViewSetSelectionOccupancy:{args:["u32","u8"],returns:"void"},textBufferViewGetSelectionOccupancy:{args:["u32"],returns:"u8"},textBufferViewSetWrapWidth:{args:["u32","u32"],returns:"void"},textBufferViewSetWrapMode:{args:["u32","u8"],returns:"void"},textBufferViewSetFirstLineOffset:{args:["u32","u32"],returns:"void"},textBufferViewSetViewportSize:{args:["u32","u32","u32"],returns:"void"},textBufferViewSetViewport:{args:["u32","u32","u32","u32","u32"],returns:"void"},textBufferViewGetVirtualLineCount:{args:["u32"],returns:"u32"},textBufferViewGetLineInfoDirect:{args:["u32","ptr"],returns:"void"},textBufferViewGetLogicalLineInfoDirect:{args:["u32","ptr"],returns:"void"},textBufferViewGetSelectedText:{args:["u32","ptr","u32"],returns:"u32"},textBufferViewGetPlainText:{args:["u32","ptr","u32"],returns:"u32"},textBufferViewSetTabIndicator:{args:["u32","u32"],returns:"void"},textBufferViewSetTabIndicatorColor:{args:["u32","buffer"],returns:"void"},textBufferViewSetTruncate:{args:["u32","bool"],returns:"void"},textBufferViewMeasureForDimensions:{args:["u32","u32","u32","buffer"],returns:"bool"},bufferDrawTextBufferView:{args:["u32","u32","i32","i32"],returns:"void"},bufferDrawEditorView:{args:["u32","u32","i32","i32"],returns:"void"},createEditorView:{args:["u32","u32","u32"],returns:"u32"},destroyEditorView:{args:["u32"],returns:"void"},editorViewSetViewportSize:{args:["u32","u32","u32"],returns:"void"},editorViewSetViewport:{args:["u32","u32","u32","u32","u32","bool"],returns:"void"},editorViewGetViewport:{args:["u32","buffer","buffer","buffer","buffer"],returns:"bool"},editorViewSetScrollMargin:{args:["u32","f32"],returns:"void"},editorViewSetWrapMode:{args:["u32","u8"],returns:"void"},editorViewGetVirtualLineCount:{args:["u32"],returns:"u32"},editorViewGetTotalVirtualLineCount:{args:["u32"],returns:"u32"},editorViewGetTextBufferView:{args:["u32"],returns:"u32"},editorViewGetLineInfoDirect:{args:["u32","ptr"],returns:"void"},editorViewGetLogicalLineInfoDirect:{args:["u32","ptr"],returns:"void"},createEditBuffer:{args:["u8","u32"],returns:"u32"},destroyEditBuffer:{args:["u32"],returns:"void"},editBufferSetText:{args:["u32","ptr","u32"],returns:"void"},editBufferSetTextFromMem:{args:["u32","u8"],returns:"void"},editBufferReplaceText:{args:["u32","ptr","u32"],returns:"void"},editBufferReplaceTextFromMem:{args:["u32","u8"],returns:"void"},editBufferGetText:{args:["u32","ptr","u32"],returns:"u32"},editBufferInsertChar:{args:["u32","ptr","u32"],returns:"void"},editBufferInsertText:{args:["u32","ptr","u32"],returns:"void"},editBufferDeleteChar:{args:["u32"],returns:"void"},editBufferDeleteCharBackward:{args:["u32"],returns:"void"},editBufferDeleteRange:{args:["u32","u32","u32","u32","u32"],returns:"void"},editBufferNewLine:{args:["u32"],returns:"void"},editBufferDeleteLine:{args:["u32"],returns:"void"},editBufferMoveCursorLeft:{args:["u32"],returns:"void"},editBufferMoveCursorRight:{args:["u32"],returns:"void"},editBufferMoveCursorUp:{args:["u32"],returns:"void"},editBufferMoveCursorDown:{args:["u32"],returns:"void"},editBufferGotoLine:{args:["u32","u32"],returns:"void"},editBufferSetCursor:{args:["u32","u32","u32"],returns:"void"},editBufferSetCursorToLineCol:{args:["u32","u32","u32"],returns:"void"},editBufferSetCursorByOffset:{args:["u32","u32"],returns:"void"},editBufferGetCursorPosition:{args:["u32","buffer"],returns:"void"},editBufferGetId:{args:["u32"],returns:"u16"},editBufferGetTextBuffer:{args:["u32"],returns:"u32"},editBufferSetTabWidth:{args:["u32","u8"],returns:"void"},editBufferDebugLogRope:{args:["u32"],returns:"void"},editBufferUndo:{args:["u32","ptr","u32"],returns:"u32"},editBufferRedo:{args:["u32","ptr","u32"],returns:"u32"},editBufferCanUndo:{args:["u32"],returns:"bool"},editBufferCanRedo:{args:["u32"],returns:"bool"},editBufferClearHistory:{args:["u32"],returns:"void"},editBufferClear:{args:["u32"],returns:"void"},editBufferGetNextWordBoundary:{args:["u32","buffer"],returns:"void"},editBufferGetPrevWordBoundary:{args:["u32","buffer"],returns:"void"},editBufferGetEOL:{args:["u32","buffer"],returns:"void"},editBufferOffsetToPosition:{args:["u32","u32","buffer"],returns:"bool"},editBufferPositionToOffset:{args:["u32","u32","u32"],returns:"u32"},editBufferGetLineStartOffset:{args:["u32","u32"],returns:"u32"},editBufferGetTextRange:{args:["u32","u32","u32","ptr","u32"],returns:"u32"},editBufferGetTextRangeByCoords:{args:["u32","u32","u32","u32","u32","ptr","u32"],returns:"u32"},editorViewSetSelection:{args:["u32","u32","u32","ptr","ptr"],returns:"void"},editorViewResetSelection:{args:["u32"],returns:"void"},editorViewGetSelection:{args:["u32"],returns:"u64"},editorViewSetLocalSelection:{args:["u32","i32","i32","i32","i32","ptr","ptr","u8"],returns:"bool"},editorViewUpdateSelection:{args:["u32","u32","ptr","ptr"],returns:"void"},editorViewUpdateLocalSelection:{args:["u32","i32","i32","i32","i32","ptr","ptr","u8"],returns:"bool"},editorViewResetLocalSelection:{args:["u32"],returns:"void"},editorViewConvertSelectionToCell:{args:["u32"],returns:"bool"},editorViewSetSelectionOccupancy:{args:["u32","u8"],returns:"void"},editorViewSetSelectionInclusive:{args:["u32","u32","u32","ptr","ptr"],returns:"void"},editorViewSetSelectionColors:{args:["u32","ptr","ptr"],returns:"void"},editorViewGetSelectedTextBytes:{args:["u32","ptr","u32"],returns:"u32"},editorViewGetCursor:{args:["u32","buffer","buffer"],returns:"void"},editorViewGetText:{args:["u32","ptr","u32"],returns:"u32"},editorViewGetVisualCursor:{args:["u32","buffer"],returns:"void"},editorViewMoveUpVisual:{args:["u32"],returns:"void"},editorViewMoveDownVisual:{args:["u32"],returns:"void"},editorViewDeleteSelectedText:{args:["u32"],returns:"void"},editorViewSetCursorByOffset:{args:["u32","u32"],returns:"void"},editorViewGetNextWordBoundary:{args:["u32","buffer"],returns:"void"},editorViewGetPrevWordBoundary:{args:["u32","buffer"],returns:"void"},editorViewGetEOL:{args:["u32","buffer"],returns:"void"},editorViewGetVisualSOL:{args:["u32","buffer"],returns:"void"},editorViewGetVisualEOL:{args:["u32","buffer"],returns:"void"},editorViewGotoVisualLineEnd:{args:["u32"],returns:"void"},editorViewSetPlaceholderStyledText:{args:["u32","ptr","u32"],returns:"void"},editorViewSetTabIndicator:{args:["u32","u32"],returns:"void"},editorViewSetTabIndicatorColor:{args:["u32","buffer"],returns:"void"},getArenaAllocatedBytes:{args:[],returns:"u64"},getBuildOptions:{args:["ptr"],returns:"void"},getAllocatorStats:{args:["ptr"],returns:"void"},createSyntaxStyle:{args:[],returns:"u32"},destroySyntaxStyle:{args:["u32"],returns:"void"},syntaxStyleRegister:{args:["u32","ptr","u32","ptr","ptr","u32"],returns:"u32"},syntaxStyleResolveByName:{args:["u32","ptr","u32"],returns:"u32"},syntaxStyleGetStyleCount:{args:["u32"],returns:"u32"},imageInfo:{args:["ptr","u32","ptr"],returns:"u32"},imageRetainIccCache:{args:[],returns:"void"},imageReleaseIccCache:{args:[],returns:"void"},imageTestFailIccProfileCopyAllocationOnce:{args:[],returns:"void"},imageDecode:{args:["ptr","u32","buffer"],returns:"u32"},imageCreateFromRgba:{args:["ptr","u64","u32","u32","u32","buffer"],returns:"u32"},imageCreateFromPixels:{args:["buffer","u64","u32","u32","u32","u32","u32","buffer"],returns:"u32"},imageUpdatePixels:{args:["u32","buffer","u64","u32","u32","u32"],returns:"u32"},imageDestroy:{args:["u32"],returns:"void"},imageRetain:{args:["u32","buffer"],returns:"u32"},imageGetInfo:{args:["u32","ptr"],returns:"u32"},imageMaterialize:{args:["u32"],returns:"u32"},imageEnsureEncodedPng:{args:["u32"],returns:"u32"},imageGetPixelsPtr:{args:["u32"],returns:"ptr"},imageClone:{args:["u32","buffer"],returns:"u32"},imageCopyPixels:{args:["u32","ptr","u64","u32","u8"],returns:"u32"},imageResize:{args:["u32","u32","u32","u32","buffer"],returns:"u32"},imageExtract:{args:["u32","u32","u32","u32","u32","buffer"],returns:"u32"},imageExtend:{args:["u32","u32","u32","u32","u32","buffer","buffer"],returns:"u32"},imageTransform:{args:["u32","u32","buffer"],returns:"u32"},imageComposite:{args:["u32","u32","i32","i32","u32","u8","buffer"],returns:"u32"},getTerminalCapabilities:{args:["u32","ptr"],returns:"void"},processCapabilityResponse:{args:["u32","ptr","u32"],returns:"void"},setKittyImageTransport:{args:["u32","u32"],returns:"u32"},getKittyImageTransport:{args:["u32","buffer"],returns:"void"},pollKittyImageTransport:{args:["u32"],returns:"u32"},cancelKittyImageTransport:{args:["u32","u32"],returns:"void"},processKittyImageReply:{args:["u32","buffer","u32"],returns:"u32"},encodeUnicode:{args:["ptr","u32","ptr","ptr","u8"],returns:"bool"},freeUnicode:{args:["ptr","u32"],returns:"void"},bufferDrawChar:{args:["u32","u32","u32","u32","buffer","buffer","u32"],returns:"void"},yogaConfigCreate:{args:[],returns:"ptr"},yogaConfigFree:{args:["ptr"],returns:"void"},yogaConfigSetUseWebDefaults:{args:["ptr","bool"],returns:"void"},yogaConfigGetUseWebDefaults:{args:["ptr"],returns:"bool"},yogaConfigSetPointScaleFactor:{args:["ptr","f32"],returns:"void"},yogaConfigGetPointScaleFactor:{args:["ptr"],returns:"f32"},yogaConfigSetErrata:{args:["ptr","u32"],returns:"void"},yogaConfigGetErrata:{args:["ptr"],returns:"u32"},yogaConfigSetExperimentalFeatureEnabled:{args:["ptr","u32","bool"],returns:"void"},yogaConfigIsExperimentalFeatureEnabled:{args:["ptr","u32"],returns:"bool"},yogaNodeCreate:{args:[],returns:"ptr"},yogaNodeCreateForOpenTUI:{args:[],returns:"ptr"},yogaNodeCreateWithConfig:{args:["ptr"],returns:"ptr"},yogaNodeFree:{args:["ptr"],returns:"void"},yogaNodeFreeRecursive:{args:["ptr"],returns:"void"},yogaNodeReset:{args:["ptr"],returns:"void"},yogaNodeCopyStyle:{args:["ptr","ptr"],returns:"void"},yogaNodeInsertChild:{args:["ptr","ptr","u32"],returns:"void"},yogaNodeRemoveChild:{args:["ptr","ptr"],returns:"void"},yogaNodeRemoveAllChildren:{args:["ptr"],returns:"void"},yogaNodeGetChild:{args:["ptr","u32"],returns:"ptr"},yogaNodeGetChildCount:{args:["ptr"],returns:"u32"},yogaNodeGetParent:{args:["ptr"],returns:"ptr"},yogaNodeCalculateLayout:{args:["ptr","f32","f32","u32"],returns:"void"},yogaNodeIsDirty:{args:["ptr"],returns:"bool"},yogaNodeMarkDirty:{args:["ptr"],returns:"void"},yogaNodeGetHasNewLayout:{args:["ptr"],returns:"bool"},yogaNodeSetHasNewLayout:{args:["ptr","bool"],returns:"void"},yogaNodeSetIsReferenceBaseline:{args:["ptr","bool"],returns:"void"},yogaNodeIsReferenceBaseline:{args:["ptr"],returns:"bool"},yogaNodeSetAlwaysFormsContainingBlock:{args:["ptr","bool"],returns:"void"},yogaNodeGetAlwaysFormsContainingBlock:{args:["ptr"],returns:"bool"},yogaNodeGetComputedLayout:{args:["ptr","ptr"],returns:"void"},yogaNodeLayoutGetEdge:{args:["ptr","u32","u32"],returns:"f32"},yogaNodeStyleSetEnum:{args:["ptr","u32","u32"],returns:"void"},yogaNodeStyleGetEnum:{args:["ptr","u32"],returns:"u32"},yogaNodeStyleSetFloat:{args:["ptr","u32","f32"],returns:"void"},yogaNodeStyleGetFloat:{args:["ptr","u32"],returns:"f32"},yogaNodeStyleSetBorder:{args:["ptr","u32","f32"],returns:"void"},yogaNodeStyleGetBorder:{args:["ptr","u32"],returns:"f32"},yogaNodeStyleSetValue:{args:["ptr","u32","u32","u32","f32"],returns:"void"},yogaNodeStyleGetValue:{args:["ptr","u32","u32"],returns:"u64"},yogaNodeSetMeasureFunc:{args:["ptr","bool"],returns:"void"},yogaNodeUnsetMeasureFunc:{args:["ptr"],returns:"void"},yogaNodeHasMeasureFunc:{args:["ptr"],returns:"bool"},yogaNodeSetDirtiedFunc:{args:["ptr","bool"],returns:"void"},yogaNodeUnsetDirtiedFunc:{args:["ptr"],returns:"void"},yogaStoreMeasureResult:{args:["f32","f32"],returns:"void"},yogaSetMeasureCallback:{args:["ptr"],returns:"void"},yogaSetDirtiedCallback:{args:["ptr"],returns:"void"},createAudioEngine:{args:["ptr"],returns:"u32"},destroyAudioEngine:{args:["u32"],returns:"void"},audioRefreshPlaybackDevices:{args:["u32"],returns:"i32"},audioGetPlaybackDeviceCount:{args:["u32"],returns:"u32"},audioGetPlaybackDeviceName:{args:["u32","u32","buffer","u32"],returns:"u32"},audioIsPlaybackDeviceDefault:{args:["u32","u32"],returns:"bool"},audioSelectPlaybackDevice:{args:["u32","u32"],returns:"i32"},audioClearPlaybackDeviceSelection:{args:["u32"],returns:"void"},audioRefreshCaptureDevices:{args:["u32"],returns:"i32"},audioGetCaptureDeviceCount:{args:["u32"],returns:"u32"},audioGetCaptureDeviceName:{args:["u32","u32","buffer","u32"],returns:"u32"},audioIsCaptureDeviceDefault:{args:["u32","u32"],returns:"bool"},audioSelectCaptureDevice:{args:["u32","u32"],returns:"i32"},audioClearCaptureDeviceSelection:{args:["u32"],returns:"void"},audioStartCapture:{args:["u32","ptr","u32","u32"],returns:"i32"},audioStopCapture:{args:["u32"],returns:"i32"},audioIsCaptureRunning:{args:["u32"],returns:"bool"},audioReadCapture:{args:["u32","buffer","u32","u32","ptr"],returns:"i32"},audioGetCaptureStats:{args:["u32","ptr"],returns:"i32"},audioStart:{args:["u32","ptr"],returns:"i32"},audioStartMixer:{args:["u32"],returns:"i32"},audioStop:{args:["u32"],returns:"i32"},audioCreateStream:{args:["u32","buffer","buffer"],returns:"i32"},audioWriteStream:{args:["u32","u32","ptr","u32"],returns:"i32"},audioEndStream:{args:["u32","u32"],returns:"i32"},audioRestartStream:{args:["u32","u32"],returns:"i32"},audioSetStreamVolume:{args:["u32","u32","f32"],returns:"i32"},audioSetStreamPan:{args:["u32","u32","f32"],returns:"i32"},audioSetStreamGroup:{args:["u32","u32","u32"],returns:"i32"},audioGetStreamStats:{args:["u32","u32","buffer"],returns:"i32"},audioCloseStream:{args:["u32","u32","u32","buffer"],returns:"i32"},audioLoad:{args:["u32","buffer","u32","ptr"],returns:"i32"},audioUnload:{args:["u32","u32"],returns:"i32"},audioPlay:{args:["u32","u32","ptr","ptr"],returns:"i32"},audioStopVoice:{args:["u32","u32"],returns:"i32"},audioSetVoiceGroup:{args:["u32","u32","u32"],returns:"i32"},audioCreateGroup:{args:["u32","buffer","u32","ptr"],returns:"i32"},audioSetGroupVolume:{args:["u32","u32","f32"],returns:"i32"},audioSetMasterVolume:{args:["u32","f32"],returns:"i32"},audioMixToBuffer:{args:["u32","buffer","u32","u8"],returns:"i32"},audioEnableTap:{args:["u32","u8","u32"],returns:"i32"},audioReadTap:{args:["u32","buffer","u32","u8","ptr"],returns:"i32"},audioGetStats:{args:["u32","ptr"],returns:"i32"},createNativeSpanFeed:{args:["ptr"],returns:"ptr"},attachNativeSpanFeed:{args:["ptr"],returns:"i32"},destroyNativeSpanFeed:{args:["ptr"],returns:"void"},streamWrite:{args:["ptr","ptr","u32"],returns:"i32"},streamCommit:{args:["ptr"],returns:"i32"},streamDrainSpans:{args:["ptr","buffer","u32"],returns:"u32"},streamClose:{args:["ptr"],returns:"i32"},streamReserve:{args:["ptr","u32","ptr"],returns:"i32"},streamCommitReserved:{args:["ptr","u32"],returns:"i32"},streamSetOptions:{args:["ptr","ptr"],returns:"i32"},streamGetStats:{args:["ptr","ptr"],returns:"i32"},streamSetCallback:{args:["ptr","ptr"],returns:"void"}});if(tA.OTUI_DEBUG_FFI||tA.OTUI_TRACE_FFI)return{...E,symbols:H5(E.symbols)};return E}function H5(A){if(!Y_)Y_={};if(tA.OTUI_DEBUG_FFI&&!PK)PK=`ffi_otui_debug_${new Date().toISOString().replace(/[:.]/g,"-").replace(/T/,"_").split("Z")[0]}.log`;let q={},E=!1;if(Object.entries(A).forEach(([g,j])=>{q[g]=j}),tA.OTUI_DEBUG_FFI&&PK){let g=PK,j=(a)=>{f0(g,a+`
189
+ `,{flag:"a"})};Object.entries(A).forEach(([a,Z])=>{if(typeof Z==="function")q[a]=(...G)=>{j(`${a}(${G.map((Y)=>String(Y)).join(", ")})`);let M=Z(...G);return j(`${a} returned: ${String(M)}`),M}})}if(tA.OTUI_TRACE_FFI)E=!0,Object.entries(A).forEach(([g,j])=>{if(typeof j==="function"){if(!Y_[g])Y_[g]=[];let a=q[g];q[g]=(...Z)=>{let G=performance.now(),M=a(...Z),Y=performance.now();return Y_[g].push(Y-G),M}}});if((tA.OTUI_DEBUG_FFI||tA.OTUI_TRACE_FFI)&&!wJ)wJ=!0,process.on("exit",()=>{if(Y_){let g=[];for(let[Z,G]of Object.entries(Y_)){if(!Array.isArray(G)||G.length===0)continue;let M=[...G].sort((c,D)=>c-D),Y=M.length,Q=M.reduce((c,D)=>c+D,0),H=Q/Y,N=M[0],X=M[Y-1],T=Math.floor(Y/2),J=Math.floor(Y*0.9),V=Math.floor(Y*0.99),I=M[T],W=M[Math.min(J,Y-1)],C=M[Math.min(V,Y-1)];g.push({name:Z,count:Y,total:Q,average:H,min:N,max:X,median:I,p90:W,p99:C})}g.sort((Z,G)=>G.total-Z.total);let j=[];if(j.push(`
190
+ --- OpenTUI FFI Call Performance ---`),j.push("Sorted by total time spent (descending)"),j.push("-------------------------------------------------------------------------------------------------------------------------"),g.length===0)j.push("No trace data collected or all symbols had zero calls.");else{let J=Math.max(6,...g.map((u)=>u.name.length)),V=Math.max(5,...g.map((u)=>String(u.count).length)),I=Math.max(10,...g.map((u)=>u.total.toFixed(2).length)),W=Math.max(8,...g.map((u)=>u.average.toFixed(2).length)),C=Math.max(8,...g.map((u)=>u.min.toFixed(2).length)),c=Math.max(8,...g.map((u)=>u.max.toFixed(2).length)),D=Math.max(8,...g.map((u)=>u.median.toFixed(2).length)),v=Math.max(8,...g.map((u)=>u.p90.toFixed(2).length)),k=Math.max(8,...g.map((u)=>u.p99.toFixed(2).length));j.push(`${"Symbol".padEnd(J)} | ${"Calls".padStart(V)} | ${"Total (ms)".padStart(I)} | ${"Avg (ms)".padStart(W)} | ${"Min (ms)".padStart(C)} | ${"Max (ms)".padStart(c)} | ${"Med (ms)".padStart(D)} | ${"P90 (ms)".padStart(v)} | ${"P99 (ms)".padStart(k)}`),j.push(`${"-".repeat(J)}-+-${"-".repeat(V)}-+-${"-".repeat(I)}-+-${"-".repeat(W)}-+-${"-".repeat(C)}-+-${"-".repeat(c)}-+-${"-".repeat(D)}-+-${"-".repeat(v)}-+-${"-".repeat(k)}`),g.forEach((u)=>{j.push(`${u.name.padEnd(J)} | ${String(u.count).padStart(V)} | ${u.total.toFixed(2).padStart(I)} | ${u.average.toFixed(2).padStart(W)} | ${u.min.toFixed(2).padStart(C)} | ${u.max.toFixed(2).padStart(c)} | ${u.median.toFixed(2).padStart(D)} | ${u.p90.toFixed(2).padStart(v)} | ${u.p99.toFixed(2).padStart(k)}`)})}j.push("-------------------------------------------------------------------------------------------------------------------------");let a=j.join(`
191
+ `);console.log(a);try{let M=`ffi_otui_trace_${new Date().toISOString().replace(/[:.]/g,"-").replace(/T/,"_").split("Z")[0]}.log`;m0(M,a).catch((Y)=>{console.error("Failed to write FFI trace file:",Y)})}catch(Z){console.error("Failed to write FFI trace file:",Z)}}});return q}class VO{opentui;iccCacheClient=!1;yogaLayout=new Float32Array(6);ffiStructStorage={logicalCursor:{...hg(Mj),result:{row:0,col:0,offset:0}},visualCursor:{...hg(O_),result:{visualRow:0,visualCol:0,logicalRow:0,logicalCol:0,offset:0}},measureResult:{...hg(RJ),result:{lineCount:0,widthColsMax:0}},embeddedTerminalCursor:hg(hJ),embeddedTerminalKeyOptions:hg(SJ),audioStreamStats:{...hg(xM),result:{bytesReceived:0n,framesDecoded:0n,framesPlayed:0n,state:0,sampleRate:0,channels:0,bufferedFrames:0,capacityFrames:0,underruns:0,errorCode:0,readyGeneration:0}},imageDrawOptions:hg(VJ),gridDrawOptions:hg(WJ)};disposed=!1;clipboardServices=new Set;encoder=new TextEncoder;decoder=new TextDecoder;logCallbackWrapper=null;eventCallbackWrapper=null;eventSinkPtr=null;_nativeEvents=new l0;_anyEventHandlers=[];nativeSpanFeedCallbackWrapper=null;nativeSpanFeedHandlers=new Map;createNativeRenderable(){let A=this.opentui.symbols.createNativeRenderable();if(!A)throw Error("Failed to create native renderable");return A}destroyNativeRenderable(A){this.opentui.symbols.destroyNativeRenderable(A)}nativeRenderableAttachYogaNode(A,q){return Boolean(this.opentui.symbols.nativeRenderableAttachYogaNode(A,q))}nativeRenderableSetMeasureTarget(A,q,E){return Boolean(this.opentui.symbols.nativeRenderableSetMeasureTarget(A,q,E))}createEmbeddedTerminal(A){let q=Wg(A.cols,"columns"),E=Wg(A.rows,"rows"),g=rA(A.maxScrollback??1e4,"Embedded terminal maxScrollback"),j=new Uint32Array(1);if(nq(this.opentui.symbols.createEmbeddedTerminal(q,E,g,j),"creation"),!j[0])throw Error("Embedded terminal creation returned an invalid handle");return j[0]}destroyEmbeddedTerminal(A){this.opentui.symbols.destroyEmbeddedTerminal(A)}embeddedTerminalWrite(A,q){let E=typeof q==="string"?this.encoder.encode(q):q,g=rA(E.byteLength,"Embedded terminal write length");nq(this.opentui.symbols.embeddedTerminalWrite(A,g===0?null:E,g),"write")}embeddedTerminalResize(A,q,E){nq(this.opentui.symbols.embeddedTerminalResize(A,Wg(q,"columns"),Wg(E,"rows")),"resize")}embeddedTerminalInvalidate(A){nq(this.opentui.symbols.embeddedTerminalInvalidate(A),"invalidation")}embeddedTerminalScroll(A,q){nq(this.opentui.symbols.embeddedTerminalScroll(A,zM(q,"scroll delta")),"scroll")}embeddedTerminalSetSelection(A,q,E){nq(this.opentui.symbols.embeddedTerminalSetSelection(A,Wg(q.x+1,"selection start x")-1,Wg(q.y+1,"selection start y")-1,Wg(E.x+1,"selection end x")-1,Wg(E.y+1,"selection end y")-1),"selection update")}embeddedTerminalClearSelection(A){nq(this.opentui.symbols.embeddedTerminalClearSelection(A),"selection clear")}embeddedTerminalGetSelectedText(A){let q=new Uint32Array(1),E=(G)=>this.opentui.symbols.embeddedTerminalGetSelectedText(A,mA(G),G.byteLength,q),g=new Uint8Array(256),j=E(g);if(j>=0)return g.slice(0,j);if(j!==-4||q[0]<=g.byteLength)nq(j,"selection query");let a=new Uint8Array(q[0]),Z=nq(E(a),"selection query");return a.slice(0,Z)}embeddedTerminalCompose(A,q,E,g){nq(this.opentui.symbols.embeddedTerminalCompose(A,q,zM(E,"composition x"),zM(g,"composition y")),"compose")}embeddedTerminalCursor(A){let q=this.ffiStructStorage.embeddedTerminalCursor;nq(this.opentui.symbols.embeddedTerminalCursor(A,q.ffiView),"cursor query");let E=hJ.unpack(q.buffer);return{x:E.x,y:E.y,hasValue:E.hasValue,visible:E.visible,blinking:E.blinking,wideTail:E.wideTail,style:["bar","block","underline","block-hollow"][E.style]??"block",...E.colorHasValue?{color:{r:E.colorR,g:E.colorG,b:E.colorB}}:{}}}embeddedTerminalEncodeKey(A,q){let E=this.ffiStructStorage.embeddedTerminalKeyOptions;SJ.packInto({action:{release:0,press:1,repeat:2}[q.action??"press"],composing:q.composing?1:0,mods:q.mods??0,consumedMods:q.consumedMods??0,padding:0,unshiftedCodepoint:q.unshiftedCodepoint??0},E.view,0);let g=q.key?this.encoder.encode(q.key):new Uint8Array,j=rA(g.byteLength,"Embedded terminal physical key length"),a=q.text?this.encoder.encode(q.text):new Uint8Array,Z=rA(a.byteLength,"Embedded terminal key text length"),G=new Uint32Array(1),M=(X)=>this.opentui.symbols.embeddedTerminalEncodeKey(A,E.ffiView,j===0?null:g,j,Z===0?null:a,Z,X,X.byteLength,G),Y=new Uint8Array(Math.max(64,Z)),Q=M(Y);if(Q>=0)return Y.slice(0,Q);if(Q!==-4||G[0]<=Y.byteLength)nq(Q,"key encoding");let H=new Uint8Array(G[0]),N=nq(M(H),"key encoding");return H.slice(0,N)}embeddedTerminalEncodeMouse(A,q){let E=new Uint8Array(128),g=nq(this.opentui.symbols.embeddedTerminalEncodeMouse(A,{press:0,release:1,motion:2}[q.action],q.button?{unknown:0,left:1,right:2,middle:3,four:4,five:5,six:6,seven:7}[q.button]:-1,q.mods??0,vJ(q.x,"mouse x"),vJ(q.y,"mouse y"),q.anyButtonPressed?1:0,E,E.byteLength),"mouse encoding");return E.slice(0,g)}embeddedTerminalEncodePaste(A,q){let E=rA(q.byteLength,"Embedded terminal paste length"),g=rA(E+16,"Embedded terminal paste output length"),j=new Uint8Array(g),a=nq(this.opentui.symbols.embeddedTerminalEncodePaste(A,E===0?null:q,E,j,j.byteLength),"paste encoding");return j.slice(0,a)}embeddedTerminalEncodeFocus(A,q){let E=new Uint8Array(16),g=nq(this.opentui.symbols.embeddedTerminalEncodeFocus(A,q?1:0,E,E.byteLength),"focus encoding");return E.slice(0,g)}embeddedTerminalDrainResponses(A){let q=[];while(!0){let j=new Uint8Array(65536),a=this.opentui.symbols.embeddedTerminalDrainResponses(A,j,j.byteLength);if(a===-4)continue;let Z=nq(a,"response drain");if(Z>0)q.push(j.slice(0,Z));if(Z<j.byteLength)break}let E=new Uint8Array(q.reduce((j,a)=>j+a.byteLength,0)),g=0;for(let j of q)E.set(j,g),g+=j.byteLength;return E}constructor(A){this.opentui=$5(A),this.imageRetainIccCache(),this.iccCacheClient=!0;try{this.setupLogging(),this.setupEventBus()}catch(q){throw this.dispose(),q}}setupLogging(){if(this.logCallbackWrapper)return;let A=this.opentui.createCallback((q,E,g)=>{try{if(g===0||!E)return;let j=oq(E,0,g),a=new Uint8Array(j),Z=this.decoder.decode(a);switch(q){case 0:console.error(Z);break;case 1:console.warn(Z);break;case 2:console.info(Z);break;case 3:console.debug(Z);break;default:console.log(Z)}}catch(j){console.error("Error in Zig log callback:",j)}},{args:["u8","ptr","u32"],returns:"void"});if(this.logCallbackWrapper=A,!A.ptr)throw Error("Failed to create log callback");this.setLogCallback(A.ptr)}setLogCallback(A){this.opentui.symbols.setLogCallback(A)}dispose(){if(this.disposed)return;if(this.clipboardServices.size>0)throw Error("Cannot dispose OpenTUI native library while clipboard services are active");this.disposed=!0;try{if(this.eventSinkPtr)this.opentui.symbols.destroyEventSink(this.eventSinkPtr),this.eventSinkPtr=null;this.yogaSetMeasureCallback(null),this.yogaSetDirtiedCallback(null),this.setLogCallback(null)}finally{try{if(this.iccCacheClient)this.iccCacheClient=!1,this.imageReleaseIccCache()}finally{try{this.opentui.close()}finally{this.eventCallbackWrapper=null,this.logCallbackWrapper=null,this.nativeSpanFeedCallbackWrapper=null,this.nativeSpanFeedHandlers.clear()}}}}setupEventBus(){if(this.eventCallbackWrapper)return;let A=this.opentui.createCallback((q,E,g,j)=>{try{if(E===0||!q)return;let a=this.decoder.decode(oq(q,0,E)),Z=j>0&&g?oq(g,0,j).slice(0):new ArrayBuffer(0);queueMicrotask(()=>{this._nativeEvents.emit(a,Z);for(let G of this._anyEventHandlers)G(a,Z)})}catch(a){console.error("Error in native event callback:",a)}},{args:["ptr","u32","ptr","u32"],returns:"void"});if(this.eventCallbackWrapper=A,!A.ptr)throw Error("Failed to create event callback");if(this.eventSinkPtr=this.opentui.symbols.createEventSink(A.ptr),!this.eventSinkPtr)throw A.close(),this.eventCallbackWrapper=null,Error("Failed to create native event sink")}ensureNativeSpanFeedCallback(){if(this.nativeSpanFeedCallbackWrapper)return this.nativeSpanFeedCallbackWrapper;let A=this.opentui.createCallback((q,E,g,j)=>{let a=this.nativeSpanFeedHandlers.get(q);if(a)a(E,g,j)},{args:["ptr","u32","ptr","u64"],returns:"void"});if(this.nativeSpanFeedCallbackWrapper=A,!A.ptr)throw Error("Failed to create native span feed callback");return A}createRenderer(A,q,E={}){let g=E.bufferedOutput==="memory"?1:0,j=E.remote===void 0?0:E.remote?2:1,a=E.feedPtr??null,Z=this.opentui.symbols.createRenderer(A,q,g,j,a);return Z?Z:null}setTerminalEnvVar(A,q,E){let g=this.encoder.encode(q),j=this.encoder.encode(E);return this.opentui.symbols.setTerminalEnvVar(A,mA(g),g.byteLength,mA(j),j.byteLength)}destroyRenderer(A,q=!1){this.opentui.symbols.destroyRenderer(A,wA(q))}setUseThread(A,q){this.opentui.symbols.setUseThread(A,wA(q))}setClearOnShutdown(A,q){this.opentui.symbols.setClearOnShutdown(A,wA(q))}setBackgroundColor(A,q){this.opentui.symbols.setBackgroundColor(A,Lq(q))}setRenderOffset(A,q){this.opentui.symbols.setRenderOffset(A,q)}resetSplitScrollback(A,q,E){return this.opentui.symbols.resetSplitScrollback(A,q,E)}syncSplitScrollback(A,q){return this.opentui.symbols.syncSplitScrollback(A,q)}getSplitOutputOffset(A,q){return this.opentui.symbols.getSplitOutputOffset(A,q)}setPendingSplitFooterTransition(A,q,E,g,j,a,Z){this.opentui.symbols.setPendingSplitFooterTransition(A,q,E,g,j,a,Z)}clearPendingSplitFooterTransition(A){this.opentui.symbols.clearPendingSplitFooterTransition(A)}updateStats(A,q,E,g){this.opentui.symbols.updateStats(A,q,E,g)}updateMemoryStats(A,q,E,g){this.opentui.symbols.updateMemoryStats(A,q,E,g)}getRenderStats(A){let q=new ArrayBuffer(PJ.size);this.opentui.symbols.getRenderStats(A,q);let E=PJ.unpack(q);return{nativeLastFrameTime:E.lastFrameTime,nativeAverageFrameTime:E.averageFrameTime,nativeFrameCount:Sg(E.frameCount),cellsUpdated:E.cellsUpdated,averageCellsUpdated:E.averageCellsUpdated,nativeRenderTime:E.renderTimeValid?E.renderTime:void 0,nativeStdoutWriteTime:E.stdoutWriteTimeValid?E.stdoutWriteTime:void 0}}getNextBuffer(A){let q=this.opentui.symbols.getNextBuffer(A);if(!q)throw Error("Failed to get next buffer");let E=this.opentui.symbols.getBufferWidth(q),g=this.opentui.symbols.getBufferHeight(q),j=kJ(this.opentui.symbols.getBufferWidthMethod(q));return new g6(this,q,E,g,{id:"next buffer",widthMethod:j})}getCurrentBuffer(A){let q=this.opentui.symbols.getCurrentBuffer(A);if(!q)throw Error("Failed to get current buffer");let E=this.opentui.symbols.getBufferWidth(q),g=this.opentui.symbols.getBufferHeight(q),j=kJ(this.opentui.symbols.getBufferWidthMethod(q));return new g6(this,q,E,g,{id:"current buffer",widthMethod:j})}rendererSetPaletteState(A,q,E,g,j){let a=new Uint16Array(q.length*4);for(let Z=0;Z<q.length;Z++)a.set(q[Z].buffer,Z*4);this.opentui.symbols.rendererSetPaletteState(A,a,q.length,Lq(E),Lq(g),j>>>0)}bufferGetCharPtr(A){let q=this.opentui.symbols.bufferGetCharPtr(A);if(!q)throw Error("Failed to get char pointer");return q}bufferGetFgPtr(A){let q=this.opentui.symbols.bufferGetFgPtr(A);if(!q)throw Error("Failed to get fg pointer");return q}bufferGetBgPtr(A){let q=this.opentui.symbols.bufferGetBgPtr(A);if(!q)throw Error("Failed to get bg pointer");return q}bufferGetAttributesPtr(A){let q=this.opentui.symbols.bufferGetAttributesPtr(A);if(!q)throw Error("Failed to get attributes pointer");return q}bufferGetRespectAlpha(A){return this.opentui.symbols.bufferGetRespectAlpha(A)}bufferSetRespectAlpha(A,q){this.opentui.symbols.bufferSetRespectAlpha(A,wA(q))}bufferGetId(A){let E=new Uint8Array(256),g=this.opentui.symbols.bufferGetId(A,E,256);return this.decoder.decode(E.slice(0,g))}bufferGetRealCharSize(A){return this.opentui.symbols.bufferGetRealCharSize(A)}bufferWriteResolvedChars(A,q,E){return this.opentui.symbols.bufferWriteResolvedChars(A,mA(q),q.byteLength,wA(E))}getBufferWidth(A){return this.opentui.symbols.getBufferWidth(A)}getBufferHeight(A){return this.opentui.symbols.getBufferHeight(A)}bufferClear(A,q){this.opentui.symbols.bufferClear(A,Lq(q))}bufferDrawText(A,q,E,g,j,a,Z){let G=this.encoder.encode(q),M=lA(a),Y=Lq(j);this.opentui.symbols.bufferDrawText(A,mA(G),G.byteLength,E,g,Y,M,Z??0)}bufferSetCellWithAlphaBlending(A,q,E,g,j,a,Z){let G=g.codePointAt(0)??" ".codePointAt(0),M=Lq(a),Y=Lq(j);this.opentui.symbols.bufferSetCellWithAlphaBlending(A,q,E,G,Y,M,Z??0)}bufferSetCell(A,q,E,g,j,a,Z){let G=g.codePointAt(0)??" ".codePointAt(0),M=Lq(a),Y=Lq(j);this.opentui.symbols.bufferSetCell(A,q,E,G,Y,M,Z??0)}bufferFillRect(A,q,E,g,j,a){let Z=Lq(a);this.opentui.symbols.bufferFillRect(A,q,E,g,j,Z)}bufferColorMatrix(A,q,E,g,j,a){this.opentui.symbols.bufferColorMatrix(A,q,E,g,j,a)}bufferColorMatrixUniform(A,q,E,g){this.opentui.symbols.bufferColorMatrixUniform(A,q,E,g)}bufferDrawSuperSampleBuffer(A,q,E,g,j,a,Z){let G=a==="bgra8unorm"?0:1;this.opentui.symbols.bufferDrawSuperSampleBuffer(A,q,E,g,j,G,Z)}bufferDrawImage(A,q,E,g,j,a,Z,G,M,Y,Q,H,N){let X={auto:0,kitty:1,sixel:2,blocks:3}[N],T=this.ffiStructStorage.imageDrawOptions;return VJ.packInto({x:E,y:g,width:j,height:a,pixelWidth:Z,pixelHeight:G,sourceX:M,sourceY:Y,sourceWidth:Q,sourceHeight:H,protocol:X},T.view,0),Boolean(this.opentui.symbols.bufferDrawImage(A,q,T.ffiView))}bufferDrawPackedBuffer(A,q,E,g,j,a,Z){this.opentui.symbols.bufferDrawPackedBuffer(A,q,E,g,j,a,Z)}bufferDrawGrayscaleBuffer(A,q,E,g,j,a,Z,G){this.opentui.symbols.bufferDrawGrayscaleBuffer(A,q,E,g,j,a,lA(Z),lA(G))}bufferDrawGrayscaleBufferSupersampled(A,q,E,g,j,a,Z,G){this.opentui.symbols.bufferDrawGrayscaleBufferSupersampled(A,q,E,g,j,a,lA(Z),lA(G))}bufferDrawGrid(A,q,E,g,j,a,Z,G,M){WJ.packInto({drawInner:M.drawInner,drawOuter:M.drawOuter},this.ffiStructStorage.gridDrawOptions.view,0),this.opentui.symbols.bufferDrawGrid(A,q,Lq(E),Lq(g),j,a,Z,G,this.ffiStructStorage.gridDrawOptions.ffiView)}bufferDrawBox(A,q,E,g,j,a,Z,G,M,Y,Q,H){let N=Q?this.encoder.encode(Q):null,X=N?.byteLength??0,T=N?N:null,J=H?this.encoder.encode(H):null,V=J?.byteLength??0,I=J?J:null;this.opentui.symbols.bufferDrawBox(A,q,E,g,j,a,Z,Lq(G),Lq(M),Lq(Y),T,X,I,V)}bufferResize(A,q,E){this.opentui.symbols.bufferResize(A,q,E)}linkAlloc(A){let q=this.encoder.encode(A);return this.opentui.symbols.linkAlloc(mA(q),q.byteLength)}linkGetUrl(A,q=OZ){let E=new Uint8Array(q),g=this.opentui.symbols.linkGetUrl(A,mA(E),q);return this.decoder.decode(E.slice(0,g))}attributesWithLink(A,q){return this.opentui.symbols.attributesWithLink(A,q)}attributesGetLinkId(A){return this.opentui.symbols.attributesGetLinkId(A)}resizeRenderer(A,q,E){this.opentui.symbols.resizeRenderer(A,q,E)}setCursorPosition(A,q,E,g){this.opentui.symbols.setCursorPosition(A,q,E,wA(g))}setCursorColor(A,q){this.opentui.symbols.setCursorColor(A,Lq(q))}getCursorState(A){let q=new ArrayBuffer(IJ.size);this.opentui.symbols.getCursorState(A,q);let E=IJ.unpack(q);return{x:E.x,y:E.y,visible:E.visible,style:M5[E.style]??"block",blinking:E.blinking,color:MA.fromValues(E.r,E.g,E.b,E.a)}}setCursorStyleOptions(A,q){let E=q.style!=null?G5[q.style]:255,g=q.blinking!=null?q.blinking?1:0:255,j=q.cursor!=null?O5[q.cursor]:255,a=F5.pack({style:E,blinking:g,color:q.color,cursor:j});this.opentui.symbols.setCursorStyleOptions(A,a)}render(A,q){return this.opentui.symbols.render(A,wA(q))}unpackRenderOperationResult(A){let q=typeof A==="bigint"?A:BigInt(A);return{renderOffset:Number(q&0xffffffffn),status:Number(q>>32n&0xffn)}}repaintSplitFooter(A,q,E){return this.unpackRenderOperationResult(this.opentui.symbols.repaintSplitFooter(A,q,wA(E)))}commitSplitFooterSnapshot(A,q,E,g,j,a,Z,G=!0,M=!0,Y=!1){let Q=wA(g)|wA(j)<<1|wA(Z)<<2|wA(G)<<3|wA(M)<<4|wA(Y)<<5;return this.unpackRenderOperationResult(this.opentui.symbols.commitSplitFooterSnapshot(A,q.ptr,E,Q,a))}createOptimizedBuffer(A,q,E,g=!1,j){if(Number.isNaN(A)||Number.isNaN(q))console.error(Error(`Invalid dimensions for OptimizedBuffer: ${A}x${q}`).stack);let a=j||"unnamed buffer",Z=this.encoder.encode(a),G=this.opentui.symbols.createOptimizedBuffer(A,q,wA(g),zK(E),Z,Z.byteLength);if(!G)throw Error(`Failed to create optimized buffer: ${A}x${q}`);return new g6(this,G,A,q,{respectAlpha:g,id:j,widthMethod:E})}destroyOptimizedBuffer(A){this.opentui.symbols.destroyOptimizedBuffer(A)}drawFrameBuffer(A,q,E,g,j,a,Z,G){let M=j??0,Y=a??0,Q=Z??0,H=G??0;this.opentui.symbols.drawFrameBuffer(A,q,E,g,M,Y,Q,H)}setDebugOverlay(A,q,E){this.opentui.symbols.setDebugOverlay(A,wA(q),E)}clearTerminal(A){this.opentui.symbols.clearTerminal(A)}setTerminalTitle(A,q){let E=this.encoder.encode(q);this.opentui.symbols.setTerminalTitle(A,mA(E),E.byteLength)}copyToClipboardOSC52(A,q,E){if(E.byteLength>4294967295)return!1;return Boolean(this.opentui.symbols.copyToClipboardOSC52(A,q,mA(E),E.byteLength))}clearClipboardOSC52(A,q){return Boolean(this.opentui.symbols.clearClipboardOSC52(A,q))}clipboardServiceCreate(A,q,E){let g=E===void 0?null:this.encoder.encode(E),j=this.opentui.symbols.clipboardServiceCreate(rA(A,"clipboard operation limit"),rA(q,"clipboard provider transfer limit"),g,g?.byteLength??0);if(j===0)return null;let a=j;return this.clipboardServices.add(a),a}clipboardServiceBeginShutdown(A){if(!this.clipboardServices.has(A))return 2;return this.opentui.symbols.clipboardServiceBeginShutdown(A)}clipboardServicePollShutdown(A){if(!this.clipboardServices.has(A))return 2;return this.opentui.symbols.clipboardServicePollShutdown(A)}clipboardServiceDestroy(A){if(!this.clipboardServices.has(A))return 2;let q=this.opentui.symbols.clipboardServiceDestroy(A);if(q===0)this.clipboardServices.delete(A);return q}clipboardServiceDrain(A){if(!this.clipboardServices.has(A))return 2;return this.opentui.symbols.clipboardServiceDrain(A)}clipboardStartResult(A,q){return{status:A,operation:q[0]===0?null:q[0]}}clipboardReadOperationStart(A,q,E,g,j,a,Z){let G=new Uint32Array(1),M=this.opentui.symbols.clipboardReadOperationStart(A,q,rA(q.byteLength,"clipboard read request"),E,rA(g,"clipboard read byte limit"),rA(j,"clipboard image pixel limit"),rA(a,"clipboard conversion byte limit"),rA(Z,"clipboard read timeout"),G);return this.clipboardStartResult(M,G)}clipboardWriteOperationStart(A,q,E,g){let j=new Uint32Array(1),a=this.opentui.symbols.clipboardWriteOperationStart(A,q,rA(q.byteLength,"clipboard write text"),E,rA(g,"clipboard write timeout"),j);return this.clipboardStartResult(a,j)}clipboardClearOperationStart(A,q,E){let g=new Uint32Array(1),j=this.opentui.symbols.clipboardClearOperationStart(A,q,rA(E,"clipboard clear timeout"),g);return this.clipboardStartResult(j,g)}clipboardOperationPoll(A){return this.opentui.symbols.clipboardOperationPoll(A)}clipboardOperationCancel(A){return this.opentui.symbols.clipboardOperationCancel(A)}clipboardResultLength(A,q){let E=new Uint32Array(1);return{status:A(q,E),length:E[0]}}clipboardOperationResultMimeLength(A){return this.clipboardResultLength(this.opentui.symbols.clipboardOperationResultMimeLength,A)}clipboardOperationResultMimeCopy(A,q){return this.opentui.symbols.clipboardOperationResultMimeCopy(A,q.byteLength===0?null:q,rA(q.byteLength,"clipboard MIME output"))}clipboardOperationResultDataLength(A){return this.clipboardResultLength(this.opentui.symbols.clipboardOperationResultDataLength,A)}clipboardOperationResultDataCopy(A,q){return this.opentui.symbols.clipboardOperationResultDataCopy(A,q.byteLength===0?null:q,rA(q.byteLength,"clipboard data output"))}clipboardOperationResultErrorCode(A){let q=new Uint32Array(1);return{status:this.opentui.symbols.clipboardOperationResultErrorCode(A,q),errorCode:q[0]}}clipboardOperationResultDiagnosticLength(A){return this.clipboardResultLength(this.opentui.symbols.clipboardOperationResultDiagnosticLength,A)}clipboardOperationResultDiagnosticCopy(A,q){return this.opentui.symbols.clipboardOperationResultDiagnosticCopy(A,q.byteLength===0?null:q,rA(q.byteLength,"clipboard diagnostic output"))}clipboardOperationDestroy(A){return this.opentui.symbols.clipboardOperationDestroy(A)}triggerNotification(A,q,E){let g=this.encoder.encode(q),j=E===void 0?null:this.encoder.encode(E);return Boolean(this.opentui.symbols.triggerNotification(A,g,g.length,j,j?.length??0))}addToHitGrid(A,q,E,g,j,a){this.opentui.symbols.addToHitGrid(A,q,E,g,j,a)}clearCurrentHitGrid(A){this.opentui.symbols.clearCurrentHitGrid(A)}hitGridPushScissorRect(A,q,E,g,j){this.opentui.symbols.hitGridPushScissorRect(A,q,E,g,j)}hitGridPopScissorRect(A){this.opentui.symbols.hitGridPopScissorRect(A)}hitGridClearScissorRects(A){this.opentui.symbols.hitGridClearScissorRects(A)}addToCurrentHitGridClipped(A,q,E,g,j,a){this.opentui.symbols.addToCurrentHitGridClipped(A,q,E,g,j,a)}checkHit(A,q,E){return this.opentui.symbols.checkHit(A,q,E)}getHitGridDirty(A){return this.opentui.symbols.getHitGridDirty(A)}dumpHitGrid(A){this.opentui.symbols.dumpHitGrid(A)}dumpBuffers(A,q){let E=BigInt(q??Date.now());this.opentui.symbols.dumpBuffers(A,E)}dumpOutputBuffer(A,q){let E=BigInt(q??Date.now());this.opentui.symbols.dumpOutputBuffer(A,E)}restoreTerminalModes(A){this.opentui.symbols.restoreTerminalModes(A)}enableMouse(A,q){this.opentui.symbols.enableMouse(A,wA(q))}disableMouse(A){this.opentui.symbols.disableMouse(A)}enableKittyKeyboard(A,q){this.opentui.symbols.enableKittyKeyboard(A,q)}disableKittyKeyboard(A){this.opentui.symbols.disableKittyKeyboard(A)}setKittyKeyboardFlags(A,q){this.opentui.symbols.setKittyKeyboardFlags(A,q)}getKittyKeyboardFlags(A){return this.opentui.symbols.getKittyKeyboardFlags(A)}setupTerminal(A,q){this.opentui.symbols.setupTerminal(A,wA(q))}suspendRenderer(A){this.opentui.symbols.suspendRenderer(A)}resumeRenderer(A){this.opentui.symbols.resumeRenderer(A)}queryPixelResolution(A){this.opentui.symbols.queryPixelResolution(A)}queryThemeColors(A){this.opentui.symbols.queryThemeColors(A)}writeOut(A,q){let E=typeof q==="string"?new TextEncoder().encode(q):q;if(E.length===0)return;this.opentui.symbols.writeOut(A,mA(E),E.byteLength)}yogaConfigCreate(){let A=this.opentui.symbols.yogaConfigCreate();if(!A)throw Error("Failed to create Yoga config");return A}yogaConfigFree(A){this.opentui.symbols.yogaConfigFree(A)}yogaConfigSetUseWebDefaults(A,q){this.opentui.symbols.yogaConfigSetUseWebDefaults(A,wA(q))}yogaConfigGetUseWebDefaults(A){return this.opentui.symbols.yogaConfigGetUseWebDefaults(A)}yogaConfigSetPointScaleFactor(A,q){this.opentui.symbols.yogaConfigSetPointScaleFactor(A,q)}yogaConfigGetPointScaleFactor(A){return this.opentui.symbols.yogaConfigGetPointScaleFactor(A)}yogaConfigSetErrata(A,q){this.opentui.symbols.yogaConfigSetErrata(A,q)}yogaConfigGetErrata(A){return this.opentui.symbols.yogaConfigGetErrata(A)}yogaConfigSetExperimentalFeatureEnabled(A,q,E){this.opentui.symbols.yogaConfigSetExperimentalFeatureEnabled(A,q,wA(E))}yogaConfigIsExperimentalFeatureEnabled(A,q){return this.opentui.symbols.yogaConfigIsExperimentalFeatureEnabled(A,q)}yogaNodeCreate(){let A=this.opentui.symbols.yogaNodeCreate();if(!A)throw Error("Failed to create Yoga node");return A}yogaNodeCreateForOpenTUI(){let A=this.opentui.symbols.yogaNodeCreateForOpenTUI();if(!A)throw Error("Failed to create OpenTUI Yoga node");return A}yogaNodeCreateWithConfig(A){let q=this.opentui.symbols.yogaNodeCreateWithConfig(A);if(!q)throw Error("Failed to create Yoga node");return q}yogaNodeFree(A){this.opentui.symbols.yogaNodeFree(A)}yogaNodeFreeRecursive(A){this.opentui.symbols.yogaNodeFreeRecursive(A)}yogaNodeReset(A){this.opentui.symbols.yogaNodeReset(A)}yogaNodeCopyStyle(A,q){this.opentui.symbols.yogaNodeCopyStyle(A,q)}yogaNodeInsertChild(A,q,E){this.opentui.symbols.yogaNodeInsertChild(A,q,E)}yogaNodeRemoveChild(A,q){this.opentui.symbols.yogaNodeRemoveChild(A,q)}yogaNodeRemoveAllChildren(A){this.opentui.symbols.yogaNodeRemoveAllChildren(A)}yogaNodeGetChild(A,q){return this.opentui.symbols.yogaNodeGetChild(A,q)||null}yogaNodeGetChildCount(A){return this.opentui.symbols.yogaNodeGetChildCount(A)}yogaNodeGetParent(A){return this.opentui.symbols.yogaNodeGetParent(A)||null}yogaNodeCalculateLayout(A,q,E,g){this.opentui.symbols.yogaNodeCalculateLayout(A,q,E,g)}yogaNodeIsDirty(A){return this.opentui.symbols.yogaNodeIsDirty(A)}yogaNodeMarkDirty(A){this.opentui.symbols.yogaNodeMarkDirty(A)}yogaNodeGetHasNewLayout(A){return this.opentui.symbols.yogaNodeGetHasNewLayout(A)}yogaNodeSetHasNewLayout(A,q){this.opentui.symbols.yogaNodeSetHasNewLayout(A,wA(q))}yogaNodeSetIsReferenceBaseline(A,q){this.opentui.symbols.yogaNodeSetIsReferenceBaseline(A,wA(q))}yogaNodeIsReferenceBaseline(A){return this.opentui.symbols.yogaNodeIsReferenceBaseline(A)}yogaNodeSetAlwaysFormsContainingBlock(A,q){this.opentui.symbols.yogaNodeSetAlwaysFormsContainingBlock(A,wA(q))}yogaNodeGetAlwaysFormsContainingBlock(A){return this.opentui.symbols.yogaNodeGetAlwaysFormsContainingBlock(A)}yogaNodeGetComputedLayout(A){let q=this.yogaLayout;return this.opentui.symbols.yogaNodeGetComputedLayout(A,this.yogaLayout),{left:q[0],top:q[1],right:q[2],bottom:q[3],width:q[4],height:q[5]}}yogaNodeLayoutGetEdge(A,q,E){return this.opentui.symbols.yogaNodeLayoutGetEdge(A,q,E)}yogaNodeStyleSetEnum(A,q,E){this.opentui.symbols.yogaNodeStyleSetEnum(A,q,E)}yogaNodeStyleGetEnum(A,q){return this.opentui.symbols.yogaNodeStyleGetEnum(A,q)}yogaNodeStyleSetFloat(A,q,E){this.opentui.symbols.yogaNodeStyleSetFloat(A,q,E)}yogaNodeStyleGetFloat(A,q){return this.opentui.symbols.yogaNodeStyleGetFloat(A,q)}yogaNodeStyleSetBorder(A,q,E){this.opentui.symbols.yogaNodeStyleSetBorder(A,q,E)}yogaNodeStyleGetBorder(A,q){return this.opentui.symbols.yogaNodeStyleGetBorder(A,q)}yogaNodeStyleSetValue(A,q,E,g,j){this.opentui.symbols.yogaNodeStyleSetValue(A,q,E,g,j)}yogaNodeStyleGetValue(A,q,E){return this.opentui.symbols.yogaNodeStyleGetValue(A,q,E)}yogaNodeSetMeasureFunc(A,q){this.opentui.symbols.yogaNodeSetMeasureFunc(A,wA(q))}yogaNodeUnsetMeasureFunc(A){this.opentui.symbols.yogaNodeUnsetMeasureFunc(A)}yogaNodeHasMeasureFunc(A){return Boolean(this.opentui.symbols.yogaNodeHasMeasureFunc(A))}yogaNodeSetDirtiedFunc(A,q){this.opentui.symbols.yogaNodeSetDirtiedFunc(A,wA(q))}yogaNodeUnsetDirtiedFunc(A){this.opentui.symbols.yogaNodeUnsetDirtiedFunc(A)}yogaStoreMeasureResult(A,q){this.opentui.symbols.yogaStoreMeasureResult(A,q)}yogaSetMeasureCallback(A){this.opentui.symbols.yogaSetMeasureCallback(A)}yogaSetDirtiedCallback(A){this.opentui.symbols.yogaSetDirtiedCallback(A)}createYogaMeasureCallback(A){return this.opentui.createCallback(A,{args:["ptr","f32","u32","f32","u32"],returns:"void"})}createYogaDirtiedCallback(A){return this.opentui.createCallback(A,{args:["ptr"],returns:"void"})}createTextBuffer(A){let q=this.opentui.symbols.createTextBuffer(zK(A));if(!q)throw Error("Failed to create TextBuffer");return new Nj(this,q)}destroyTextBuffer(A){this.opentui.symbols.destroyTextBuffer(A)}textBufferGetLength(A){return this.opentui.symbols.textBufferGetLength(A)}textBufferGetByteSize(A){return this.opentui.symbols.textBufferGetByteSize(A)}textBufferReset(A){this.opentui.symbols.textBufferReset(A)}textBufferClear(A){this.opentui.symbols.textBufferClear(A)}textBufferSetDefaultFg(A,q){let E=lA(q);this.opentui.symbols.textBufferSetDefaultFg(A,E)}textBufferSetDefaultBg(A,q){let E=lA(q);this.opentui.symbols.textBufferSetDefaultBg(A,E)}textBufferSetDefaultAttributes(A,q){let E=q===null?null:new Uint32Array([q]);this.opentui.symbols.textBufferSetDefaultAttributes(A,E)}textBufferResetDefaults(A){this.opentui.symbols.textBufferResetDefaults(A)}textBufferGetTabWidth(A){return this.opentui.symbols.textBufferGetTabWidth(A)}textBufferSetTabWidth(A,q){this.opentui.symbols.textBufferSetTabWidth(A,q)}textBufferRegisterMemBuffer(A,q,E=!1){let g=this.opentui.symbols.textBufferRegisterMemBuffer(A,PM(q),q.byteLength,wA(E));if(g===65535)throw Error("Failed to register memory buffer");return g}textBufferReplaceMemBuffer(A,q,E,g=!1){return this.opentui.symbols.textBufferReplaceMemBuffer(A,q,PM(E),E.byteLength,wA(g))}textBufferClearMemRegistry(A){this.opentui.symbols.textBufferClearMemRegistry(A)}textBufferSetTextFromMem(A,q){this.opentui.symbols.textBufferSetTextFromMem(A,q)}textBufferAppend(A,q){this.opentui.symbols.textBufferAppend(A,PM(q),q.byteLength)}textBufferAppendFromMemId(A,q){this.opentui.symbols.textBufferAppendFromMemId(A,q)}textBufferLoadFile(A,q){let E=this.encoder.encode(q);return this.opentui.symbols.textBufferLoadFile(A,mA(E),E.byteLength)}textBufferSetStyledText(A,q){if(q.length===0){this.textBufferClear(A);return}let E=XJ.packList(q);this.opentui.symbols.textBufferSetStyledText(A,E,q.length)}textBufferGetLineCount(A){return this.opentui.symbols.textBufferGetLineCount(A)}textBufferGetPlainText(A,q,E){return this.opentui.symbols.textBufferGetPlainText(A,q,E)}getPlainTextBytes(A,q){let E=new Uint8Array(q),g=this.textBufferGetPlainText(A,mA(E),q);if(g===0)return null;return E.slice(0,g)}textBufferGetTextRange(A,q,E,g){let j=new Uint8Array(g),Z=this.opentui.symbols.textBufferGetTextRange(A,q,E,mA(j),g);if(Z===0)return null;return j.slice(0,Z)}textBufferGetTextRangeByCoords(A,q,E,g,j,a){let Z=new Uint8Array(a),M=this.opentui.symbols.textBufferGetTextRangeByCoords(A,q,E,g,j,mA(Z),a);if(M===0)return null;return mT?Z.slice(0,M):vT(Z,M)}createTextBufferView(A){let q=this.opentui.symbols.createTextBufferView(A);if(!q)throw Error("Failed to create TextBufferView");return q}destroyTextBufferView(A){this.opentui.symbols.destroyTextBufferView(A)}textBufferViewSetSelection(A,q,E,g,j){let a=lA(g),Z=lA(j);this.opentui.symbols.textBufferViewSetSelection(A,q,E,a,Z)}textBufferViewResetSelection(A){this.opentui.symbols.textBufferViewResetSelection(A)}textBufferViewGetSelection(A){let q=this.textBufferViewGetSelectionInfo(A);if(q===0xffffffffffffffffn)return null;let E=Number(q>>32n),g=Number(q&0xffffffffn);return{start:E,end:g}}textBufferViewGetSelectionInfo(A){return this.opentui.symbols.textBufferViewGetSelectionInfo(A)}textBufferViewSetLocalSelection(A,q,E,g,j,a,Z,G){let M=lA(a),Y=lA(Z);return Boolean(this.opentui.symbols.textBufferViewSetLocalSelection(A,q,E,g,j,M,Y,dM(G)))}textBufferViewUpdateSelection(A,q,E,g){let j=lA(E),a=lA(g);this.opentui.symbols.textBufferViewUpdateSelection(A,q,j,a)}textBufferViewUpdateLocalSelection(A,q,E,g,j,a,Z,G){let M=lA(a),Y=lA(Z);return Boolean(this.opentui.symbols.textBufferViewUpdateLocalSelection(A,q,E,g,j,M,Y,dM(G)))}textBufferViewResetLocalSelection(A){this.opentui.symbols.textBufferViewResetLocalSelection(A)}textBufferViewSetSelectionOccupancy(A,q){this.opentui.symbols.textBufferViewSetSelectionOccupancy(A,q==="boundary"?1:0)}textBufferViewGetSelectionOccupancy(A){return this.opentui.symbols.textBufferViewGetSelectionOccupancy(A)===1?"boundary":"cell"}textBufferViewSetWrapWidth(A,q){this.opentui.symbols.textBufferViewSetWrapWidth(A,q)}textBufferViewSetWrapMode(A,q){let E=q==="none"?0:q==="char"?1:2;this.opentui.symbols.textBufferViewSetWrapMode(A,E)}textBufferViewSetFirstLineOffset(A,q){this.opentui.symbols.textBufferViewSetFirstLineOffset(A,q)}textBufferViewSetViewportSize(A,q,E){this.opentui.symbols.textBufferViewSetViewportSize(A,q,E)}textBufferViewSetViewport(A,q,E,g,j){this.opentui.symbols.textBufferViewSetViewport(A,q,E,g,j)}textBufferViewGetLineInfo(A){let q=new ArrayBuffer(UE.size);this.textBufferViewGetLineInfoDirect(A,q);let E=UE.unpack(q),g=E.startCols,j=E.widthCols,a=E.widthColsMax;return{lineStartCols:g,lineWidthCols:j,lineWidthColsMax:a,lineSources:E.sources,lineWraps:E.wraps}}textBufferViewGetLogicalLineInfo(A){let q=new ArrayBuffer(UE.size);this.textBufferViewGetLogicalLineInfoDirect(A,q);let E=UE.unpack(q),g=E.startCols,j=E.widthCols,a=E.widthColsMax;return{lineStartCols:g,lineWidthCols:j,lineWidthColsMax:a,lineSources:E.sources,lineWraps:E.wraps}}textBufferViewGetVirtualLineCount(A){return this.opentui.symbols.textBufferViewGetVirtualLineCount(A)}textBufferViewGetLineSources(A,q,E){if(rA(q,"visual row start"),rA(E,"visual row count"),E===0)return[];let g=new ArrayBuffer(UE.size);this.textBufferViewGetLogicalLineInfoDirect(A,g);let j=new DataView(g),a=UE.arrayFields.get("sources"),Z=Math.max(0,Math.min(E,j.getUint32(a.lengthOffset,!0)-q));if(Z===0)return[];return Array.from(new Uint32Array(oq(bK(j.getBigUint64(a.arrayOffset,!0)),q*4,Z*4)))}textBufferViewGetLineInfoDirect(A,q){this.opentui.symbols.textBufferViewGetLineInfoDirect(A,q)}textBufferViewGetLogicalLineInfoDirect(A,q){this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect(A,q)}textBufferViewGetSelectedText(A,q,E){return this.opentui.symbols.textBufferViewGetSelectedText(A,q,E)}textBufferViewGetPlainText(A,q,E){return this.opentui.symbols.textBufferViewGetPlainText(A,q,E)}textBufferViewGetSelectedTextBytes(A,q){let E=new Uint8Array(q),g=this.textBufferViewGetSelectedText(A,mA(E),q);if(g===0)return null;return E.slice(0,g)}textBufferViewGetPlainTextBytes(A,q){let E=new Uint8Array(q),g=this.textBufferViewGetPlainText(A,mA(E),q);if(g===0)return null;return E.slice(0,g)}textBufferViewSetTabIndicator(A,q){this.opentui.symbols.textBufferViewSetTabIndicator(A,q)}textBufferViewSetTabIndicatorColor(A,q){this.opentui.symbols.textBufferViewSetTabIndicatorColor(A,Lq(q))}textBufferViewSetTruncate(A,q){this.opentui.symbols.textBufferViewSetTruncate(A,wA(q))}textBufferViewMeasureForDimensions(A,q,E){let g=this.ffiStructStorage.measureResult;if(!this.opentui.symbols.textBufferViewMeasureForDimensions(A,q,E,g.ffiView))return null;let a=RJ.unpackInto(g.view,g.result);return{lineCount:a.lineCount,widthColsMax:a.widthColsMax}}textBufferAddHighlightByCharRange(A,q){let E=BK.pack(q);this.opentui.symbols.textBufferAddHighlightByCharRange(A,E)}textBufferAddHighlight(A,q,E){let g=BK.pack(E);this.opentui.symbols.textBufferAddHighlight(A,q,g)}textBufferRemoveHighlightsByRef(A,q){this.opentui.symbols.textBufferRemoveHighlightsByRef(A,q)}textBufferClearLineHighlights(A,q){this.opentui.symbols.textBufferClearLineHighlights(A,q)}textBufferClearAllHighlights(A){this.opentui.symbols.textBufferClearAllHighlights(A)}textBufferSetSyntaxStyle(A,q){return this.opentui.symbols.textBufferSetSyntaxStyle(A,q??0)}textBufferGetLineHighlights(A,q){let E=new Uint32Array(1),g=this.opentui.symbols.textBufferGetLineHighlightsPtr(A,q,E);if(!g)return[];let j=E[0],a=j*BK.size,Z=oq(g,0,a),G=BK.unpackList(Z,j);return this.opentui.symbols.textBufferFreeLineHighlights(g,j),G}textBufferGetHighlightCount(A){return this.opentui.symbols.textBufferGetHighlightCount(A)}getArenaAllocatedBytes(){let A=this.opentui.symbols.getArenaAllocatedBytes();return Y5(A,"Arena allocated bytes")}getBuildOptions(){let A=new ArrayBuffer(BJ.size);this.opentui.symbols.getBuildOptions(A);let q=BJ.unpack(A);return{gpaSafeStats:!!q.gpaSafeStats,gpaMemoryLimitTracking:!!q.gpaMemoryLimitTracking}}getAllocatorStats(){let A=new ArrayBuffer(xJ.size);this.opentui.symbols.getAllocatorStats(A);let q=xJ.unpack(A);return{totalRequestedBytes:Sg(q.totalRequestedBytes),activeAllocations:Sg(q.activeAllocations),smallAllocations:Sg(q.smallAllocations),largeAllocations:Sg(q.largeAllocations),requestedBytesValid:!!q.requestedBytesValid}}bufferDrawTextBufferView(A,q,E,g){this.opentui.symbols.bufferDrawTextBufferView(A,q,E,g)}bufferDrawEditorView(A,q,E,g){this.opentui.symbols.bufferDrawEditorView(A,q,E,g)}createEditorView(A,q,E){let g=this.opentui.symbols.createEditorView(A,q,E);if(!g)throw Error("Failed to create EditorView");return g}destroyEditorView(A){this.opentui.symbols.destroyEditorView(A)}editorViewSetViewportSize(A,q,E){this.opentui.symbols.editorViewSetViewportSize(A,q,E)}editorViewSetViewport(A,q,E,g,j,a){this.opentui.symbols.editorViewSetViewport(A,q,E,g,j,wA(a))}editorViewGetViewport(A){let q=new Uint32Array(1),E=new Uint32Array(1),g=new Uint32Array(1),j=new Uint32Array(1);return this.opentui.symbols.editorViewGetViewport(A,q,E,g,j),{offsetX:q[0],offsetY:E[0],width:g[0],height:j[0]}}editorViewSetScrollMargin(A,q){this.opentui.symbols.editorViewSetScrollMargin(A,q)}editorViewSetWrapMode(A,q){let E=q==="none"?0:q==="char"?1:2;this.opentui.symbols.editorViewSetWrapMode(A,E)}editorViewGetVirtualLineCount(A){return this.opentui.symbols.editorViewGetVirtualLineCount(A)}editorViewGetTotalVirtualLineCount(A){return this.opentui.symbols.editorViewGetTotalVirtualLineCount(A)}editorViewGetTextBufferView(A){let q=this.opentui.symbols.editorViewGetTextBufferView(A);if(!q)throw Error("Failed to get TextBufferView from EditorView");return q}editorViewGetLineInfo(A){let q=new ArrayBuffer(UE.size);this.opentui.symbols.editorViewGetLineInfoDirect(A,q);let E=UE.unpack(q),g=E.startCols,j=E.widthCols,a=E.widthColsMax;return{lineStartCols:g,lineWidthCols:j,lineWidthColsMax:a,lineSources:E.sources,lineWraps:E.wraps}}editorViewGetLogicalLineInfo(A){let q=new ArrayBuffer(UE.size);this.opentui.symbols.editorViewGetLogicalLineInfoDirect(A,q);let E=UE.unpack(q),g=E.startCols,j=E.widthCols,a=E.widthColsMax;return{lineStartCols:g,lineWidthCols:j,lineWidthColsMax:a,lineSources:E.sources,lineWraps:E.wraps}}createEditBuffer(A){let q=this.opentui.symbols.createEditBuffer(zK(A),this.eventSinkPtr??0);if(!q)throw Error("Failed to create EditBuffer");return q}destroyEditBuffer(A){this.opentui.symbols.destroyEditBuffer(A)}editBufferSetText(A,q){this.opentui.symbols.editBufferSetText(A,mA(q),q.byteLength)}editBufferSetTextFromMem(A,q){this.opentui.symbols.editBufferSetTextFromMem(A,q)}editBufferReplaceText(A,q){this.opentui.symbols.editBufferReplaceText(A,mA(q),q.byteLength)}editBufferReplaceTextFromMem(A,q){this.opentui.symbols.editBufferReplaceTextFromMem(A,q)}editBufferGetText(A,q){let E=new Uint8Array(q),j=this.opentui.symbols.editBufferGetText(A,mA(E),q);if(j===0)return null;return E.slice(0,j)}editBufferInsertChar(A,q){let E=this.encoder.encode(q);this.opentui.symbols.editBufferInsertChar(A,mA(E),E.byteLength)}editBufferInsertText(A,q){let E=this.encoder.encode(q);this.opentui.symbols.editBufferInsertText(A,mA(E),E.byteLength)}editBufferDeleteChar(A){this.opentui.symbols.editBufferDeleteChar(A)}editBufferDeleteCharBackward(A){this.opentui.symbols.editBufferDeleteCharBackward(A)}editBufferDeleteRange(A,q,E,g,j){this.opentui.symbols.editBufferDeleteRange(A,q,E,g,j)}editBufferNewLine(A){this.opentui.symbols.editBufferNewLine(A)}editBufferDeleteLine(A){this.opentui.symbols.editBufferDeleteLine(A)}editBufferMoveCursorLeft(A){this.opentui.symbols.editBufferMoveCursorLeft(A)}editBufferMoveCursorRight(A){this.opentui.symbols.editBufferMoveCursorRight(A)}editBufferMoveCursorUp(A){this.opentui.symbols.editBufferMoveCursorUp(A)}editBufferMoveCursorDown(A){this.opentui.symbols.editBufferMoveCursorDown(A)}editBufferGotoLine(A,q){this.opentui.symbols.editBufferGotoLine(A,q)}editBufferSetCursor(A,q,E){this.opentui.symbols.editBufferSetCursor(A,q,E)}editBufferSetCursorToLineCol(A,q,E){this.opentui.symbols.editBufferSetCursorToLineCol(A,q,E)}editBufferSetCursorByOffset(A,q){this.opentui.symbols.editBufferSetCursorByOffset(A,q)}editBufferGetCursorPosition(A){let q=this.ffiStructStorage.logicalCursor;this.opentui.symbols.editBufferGetCursorPosition(A,q.ffiView);let E=Mj.unpackInto(q.view,q.result);return{row:E.row,col:E.col,offset:E.offset}}editBufferGetId(A){return this.opentui.symbols.editBufferGetId(A)}editBufferGetTextBuffer(A){let q=this.opentui.symbols.editBufferGetTextBuffer(A);if(!q)throw Error("Failed to get TextBuffer from EditBuffer");return q}editBufferSetTabWidth(A,q){this.opentui.symbols.editBufferSetTabWidth(A,q)}editBufferDebugLogRope(A){this.opentui.symbols.editBufferDebugLogRope(A)}editBufferUndo(A,q){let E=new Uint8Array(q),j=this.opentui.symbols.editBufferUndo(A,mA(E),q);if(j===0)return null;return E.slice(0,j)}editBufferRedo(A,q){let E=new Uint8Array(q),j=this.opentui.symbols.editBufferRedo(A,mA(E),q);if(j===0)return null;return E.slice(0,j)}editBufferCanUndo(A){return Boolean(this.opentui.symbols.editBufferCanUndo(A))}editBufferCanRedo(A){return Boolean(this.opentui.symbols.editBufferCanRedo(A))}editBufferClearHistory(A){this.opentui.symbols.editBufferClearHistory(A)}editBufferClear(A){this.opentui.symbols.editBufferClear(A)}editBufferGetNextWordBoundary(A){let q=this.ffiStructStorage.logicalCursor;this.opentui.symbols.editBufferGetNextWordBoundary(A,q.ffiView);let E=Mj.unpackInto(q.view,q.result);return{row:E.row,col:E.col,offset:E.offset}}editBufferGetPrevWordBoundary(A){let q=this.ffiStructStorage.logicalCursor;this.opentui.symbols.editBufferGetPrevWordBoundary(A,q.ffiView);let E=Mj.unpackInto(q.view,q.result);return{row:E.row,col:E.col,offset:E.offset}}editBufferGetEOL(A){let q=this.ffiStructStorage.logicalCursor;this.opentui.symbols.editBufferGetEOL(A,q.ffiView);let E=Mj.unpackInto(q.view,q.result);return{row:E.row,col:E.col,offset:E.offset}}editBufferOffsetToPosition(A,q){let E=this.ffiStructStorage.logicalCursor;if(!this.opentui.symbols.editBufferOffsetToPosition(A,q,E.ffiView))return null;let j=Mj.unpackInto(E.view,E.result);return{row:j.row,col:j.col,offset:j.offset}}editBufferPositionToOffset(A,q,E){return this.opentui.symbols.editBufferPositionToOffset(A,q,E)}editBufferGetLineStartOffset(A,q){return this.opentui.symbols.editBufferGetLineStartOffset(A,q)}editBufferGetTextRange(A,q,E,g){let j=new Uint8Array(g),Z=this.opentui.symbols.editBufferGetTextRange(A,q,E,mA(j),g);if(Z===0)return null;return j.slice(0,Z)}editBufferGetTextRangeByCoords(A,q,E,g,j,a){let Z=new Uint8Array(a),M=this.opentui.symbols.editBufferGetTextRangeByCoords(A,q,E,g,j,mA(Z),a);if(M===0)return null;return mT?Z.slice(0,M):vT(Z,M)}editorViewSetSelection(A,q,E,g,j){let a=lA(g),Z=lA(j);this.opentui.symbols.editorViewSetSelection(A,q,E,a,Z)}editorViewResetSelection(A){this.opentui.symbols.editorViewResetSelection(A)}editorViewGetSelection(A){let q=this.opentui.symbols.editorViewGetSelection(A);if(q===0xffffffffffffffffn)return null;let E=Number(q>>32n),g=Number(q&0xffffffffn);return{start:E,end:g}}editorViewSetLocalSelection(A,q,E,g,j,a,Z,G,M,Y){let Q=lA(a),H=lA(Z);return Boolean(this.opentui.symbols.editorViewSetLocalSelection(A,q,E,g,j,Q,H,bJ(G,M,Y)))}editorViewUpdateSelection(A,q,E,g){let j=lA(E),a=lA(g);this.opentui.symbols.editorViewUpdateSelection(A,q,j,a)}editorViewUpdateLocalSelection(A,q,E,g,j,a,Z,G,M,Y){let Q=lA(a),H=lA(Z);return Boolean(this.opentui.symbols.editorViewUpdateLocalSelection(A,q,E,g,j,Q,H,bJ(G,M,Y)))}editorViewResetLocalSelection(A){this.opentui.symbols.editorViewResetLocalSelection(A)}editorViewConvertSelectionToCell(A){return Boolean(this.opentui.symbols.editorViewConvertSelectionToCell(A))}editorViewSetSelectionOccupancy(A,q){this.opentui.symbols.editorViewSetSelectionOccupancy(A,q==="boundary"?1:0)}editorViewSetSelectionInclusive(A,q,E,g,j){let a=lA(g),Z=lA(j);this.opentui.symbols.editorViewSetSelectionInclusive(A,q,E,a,Z)}editorViewSetSelectionColors(A,q,E){let g=lA(q),j=lA(E);this.opentui.symbols.editorViewSetSelectionColors(A,g,j)}editorViewGetSelectedTextBytes(A,q){let E=new Uint8Array(q),j=this.opentui.symbols.editorViewGetSelectedTextBytes(A,mA(E),q);if(j===0)return null;return E.slice(0,j)}editorViewGetCursor(A){let q=new Uint32Array(1),E=new Uint32Array(1);return this.opentui.symbols.editorViewGetCursor(A,q,E),{row:q[0],col:E[0]}}editorViewGetText(A,q){let E=new Uint8Array(q),j=this.opentui.symbols.editorViewGetText(A,mA(E),q);if(j===0)return null;return E.slice(0,j)}editorViewGetVisualCursor(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetVisualCursor(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewMoveUpVisual(A){this.opentui.symbols.editorViewMoveUpVisual(A)}editorViewMoveDownVisual(A){this.opentui.symbols.editorViewMoveDownVisual(A)}editorViewDeleteSelectedText(A){this.opentui.symbols.editorViewDeleteSelectedText(A)}editorViewSetCursorByOffset(A,q){this.opentui.symbols.editorViewSetCursorByOffset(A,q)}editorViewGetNextWordBoundary(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetNextWordBoundary(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewGetPrevWordBoundary(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetPrevWordBoundary(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewGetEOL(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetEOL(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewGetVisualSOL(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetVisualSOL(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewGetVisualEOL(A){let q=this.ffiStructStorage.visualCursor;return this.opentui.symbols.editorViewGetVisualEOL(A,q.ffiView),{...O_.unpackInto(q.view,q.result)}}editorViewGotoVisualLineEnd(A){this.opentui.symbols.editorViewGotoVisualLineEnd(A)}bufferPushScissorRect(A,q,E,g,j){this.opentui.symbols.bufferPushScissorRect(A,q,E,g,j)}bufferPopScissorRect(A){this.opentui.symbols.bufferPopScissorRect(A)}bufferClearScissorRects(A){this.opentui.symbols.bufferClearScissorRects(A)}bufferPushOpacity(A,q){this.opentui.symbols.bufferPushOpacity(A,q)}bufferPopOpacity(A){this.opentui.symbols.bufferPopOpacity(A)}bufferGetCurrentOpacity(A){return this.opentui.symbols.bufferGetCurrentOpacity(A)}bufferClearOpacity(A){this.opentui.symbols.bufferClearOpacity(A)}getTerminalCapabilities(A){let q=new ArrayBuffer(LJ.size);this.opentui.symbols.getTerminalCapabilities(A,q);let E=LJ.unpack(q);return{kitty_keyboard:E.kitty_keyboard,kitty_graphics:E.kitty_graphics,rgb:E.rgb,ansi256:E.ansi256,unicode:E.unicode,sgr_pixels:E.sgr_pixels,color_scheme_updates:E.color_scheme_updates,explicit_width:E.explicit_width,scaled_text:E.scaled_text,sixel:E.sixel,focus_tracking:E.focus_tracking,sync:E.sync,bracketed_paste:E.bracketed_paste,hyperlinks:E.hyperlinks,osc52:E.osc52,osc52_support:E.osc52_support,notifications:E.notifications,explicit_cursor_positioning:E.explicit_cursor_positioning,remote:E.remote,multiplexer:E.multiplexer,image_protocol:E.image_protocol,terminal:{name:E.term_name??"",version:E.term_version??"",from_xtversion:E.term_from_xtversion}}}processCapabilityResponse(A,q){let E=this.encoder.encode(q);this.opentui.symbols.processCapabilityResponse(A,mA(E),E.byteLength)}setKittyImageTransport(A,q){return this.opentui.symbols.setKittyImageTransport(A,q)!==0}getKittyImageTransport(A){let q=new Uint32Array(6);return this.opentui.symbols.getKittyImageTransport(A,q),q}pollKittyImageTransport(A){return this.opentui.symbols.pollKittyImageTransport(A)!==0}cancelKittyImageTransport(A,q){this.opentui.symbols.cancelKittyImageTransport(A,q?1:0)}processKittyImageReply(A,q){let E=this.encoder.encode(q);return this.opentui.symbols.processKittyImageReply(A,E,E.byteLength)}encodeUnicode(A,q){let E=this.encoder.encode(A),g=new ArrayBuffer(8),j=new ArrayBuffer(8);if(!this.opentui.symbols.encodeUnicode(mA(E),E.byteLength,g,j,zK(q)))return null;let Z=new BigUint64Array(g),G=new BigUint64Array(j),M=Number(G[0]);if(M===0)return{ptr:0,data:[]};let Y=bK(Z[0]),Q=M*NJ.size,H=oq(Y,0,Q),N=NJ.unpackList(H,M);return{ptr:Y,data:N}}freeUnicode(A){this.opentui.symbols.freeUnicode(A.ptr,A.data.length)}bufferDrawChar(A,q,E,g,j,a,Z=0){this.opentui.symbols.bufferDrawChar(A,q,E,g,Lq(j),Lq(a),Z)}createAudioEngine(A){let q=A==null?null:K5.pack(A),E=this.opentui.symbols.createAudioEngine(q);return E?E:null}destroyAudioEngine(A){this.opentui.symbols.destroyAudioEngine(A)}audioRefreshPlaybackDevices(A){return this.opentui.symbols.audioRefreshPlaybackDevices(A)}audioGetPlaybackDeviceCount(A){return this.opentui.symbols.audioGetPlaybackDeviceCount(A)}audioGetPlaybackDeviceName(A,q){let E=new Uint8Array(512),g=Sg(this.opentui.symbols.audioGetPlaybackDeviceName(A,q,E,E.length)),j=Math.max(0,Math.min(E.length,g));return this.decoder.decode(E.subarray(0,j))}audioIsPlaybackDeviceDefault(A,q){return this.opentui.symbols.audioIsPlaybackDeviceDefault(A,q)}audioSelectPlaybackDevice(A,q){return this.opentui.symbols.audioSelectPlaybackDevice(A,q)}audioClearPlaybackDeviceSelection(A){this.opentui.symbols.audioClearPlaybackDeviceSelection(A)}audioRefreshCaptureDevices(A){return this.opentui.symbols.audioRefreshCaptureDevices(A)}audioGetCaptureDeviceCount(A){return this.opentui.symbols.audioGetCaptureDeviceCount(A)}audioGetCaptureDeviceName(A,q){let E=new Uint8Array(512),g=Sg(this.opentui.symbols.audioGetCaptureDeviceName(A,q,E,E.length)),j=Math.max(0,Math.min(E.length,g));return this.decoder.decode(E.subarray(0,j))}audioIsCaptureDeviceDefault(A,q){return Boolean(this.opentui.symbols.audioIsCaptureDeviceDefault(A,q))}audioSelectCaptureDevice(A,q){return this.opentui.symbols.audioSelectCaptureDevice(A,q)}audioClearCaptureDeviceSelection(A){this.opentui.symbols.audioClearCaptureDeviceSelection(A)}audioStartCapture(A,q,E,g){let j;try{let a=q?.noFixedSizedCallback;if(j=BM.pack(q??{}),a===void 0){let Z=BM.layoutByName.get("noFixedSizedCallback");if(!Z)return-1;new DataView(j).setUint8(Z.offset,1)}}catch{return-1}return this.opentui.symbols.audioStartCapture(A,j,E,g)}audioStopCapture(A){return this.opentui.symbols.audioStopCapture(A)}audioIsCaptureRunning(A){return Boolean(this.opentui.symbols.audioIsCaptureRunning(A))}audioReadCapture(A,q,E){let g=new ArrayBuffer(4),j=rA(q.length,"Audio capture output sample capacity"),a=this.opentui.symbols.audioReadCapture(A,q,j,E,g);if(a!==0)return{status:a,framesRead:0};return{status:a,framesRead:new Uint32Array(g)[0]??0}}audioGetCaptureStats(A){let q=new ArrayBuffer(yJ.size),E=this.opentui.symbols.audioGetCaptureStats(A,q);if(E!==0)return{status:E,stats:null};let g=yJ.unpack(q);return{status:E,stats:{framesReceived:typeof g.framesReceived==="bigint"?g.framesReceived:BigInt(g.framesReceived),framesRead:typeof g.framesRead==="bigint"?g.framesRead:BigInt(g.framesRead),framesDropped:typeof g.framesDropped==="bigint"?g.framesDropped:BigInt(g.framesDropped),sampleRate:g.sampleRate,channels:g.channels,bufferedFrames:g.bufferedFrames,capacityFrames:g.capacityFrames}}}audioStart(A,q){let E;try{E=q==null?null:BM.pack(q)}catch{return-1}return this.opentui.symbols.audioStart(A,E)}audioStartMixer(A){return this.opentui.symbols.audioStartMixer(A)}audioStop(A){return this.opentui.symbols.audioStop(A)}audioCreateStream(A,q){if(!Oj(q.groupId)||!Oj(q.sampleRate??0)||!Oj(q.channels??0)||!Object.values(w4).includes(q.format))return{status:-1,streamId:null};let E=new Uint8Array(U5.pack(q)),g=new Uint32Array(1),j=this.opentui.symbols.audioCreateStream(A,E,g);if(j!==0)return{status:j,streamId:null};return{status:j,streamId:g[0]??null}}audioWriteStream(A,q,E){let g=rA(E.byteLength,"Audio stream data length");return this.opentui.symbols.audioWriteStream(A,q,g===0?null:E,g)}audioEndStream(A,q){return this.opentui.symbols.audioEndStream(A,q)}audioRestartStream(A,q){return this.opentui.symbols.audioRestartStream(A,q)}audioSetStreamVolume(A,q,E){return this.opentui.symbols.audioSetStreamVolume(A,q,E)}audioSetStreamPan(A,q,E){return this.opentui.symbols.audioSetStreamPan(A,q,E)}audioSetStreamGroup(A,q,E){if(!Oj(E))return-1;return this.opentui.symbols.audioSetStreamGroup(A,q,E)}audioGetStreamStats(A,q){let E=this.ffiStructStorage.audioStreamStats;if(this.opentui.symbols.audioGetStreamStats(A,q,E.ffiView)!==0)return null;return{...xM.unpackInto(E.view,E.result)}}audioCloseStream(A,q,E){let g=this.ffiStructStorage.audioStreamStats,j=this.opentui.symbols.audioCloseStream(A,q,E,g.ffiView);if(j!==0)return{status:j,stats:null};let a=xM.unpackInto(g.view,g.result);return{status:j,stats:{...a}}}audioLoad(A,q){let E=new ArrayBuffer(4),g=rA(q.byteLength,"Audio data length"),j=this.opentui.symbols.audioLoad(A,q,g,E);if(j!==0)return{status:j,soundId:null};let a=new Uint32Array(E);return{status:j,soundId:a[0]}}audioUnload(A,q){return this.opentui.symbols.audioUnload(A,q)}audioPlay(A,q,E){if(E?.groupId!==void 0&&!Oj(E.groupId))return{status:-1,voiceId:null};let g=new ArrayBuffer(4),j=E?Z5.pack(E):null,a=this.opentui.symbols.audioPlay(A,q,j,g);if(a!==0)return{status:a,voiceId:null};let Z=new Uint32Array(g);return{status:a,voiceId:Z[0]}}audioStopVoice(A,q){return this.opentui.symbols.audioStopVoice(A,q)}audioSetVoiceGroup(A,q,E){if(!Oj(E))return-1;return this.opentui.symbols.audioSetVoiceGroup(A,q,E)}audioCreateGroup(A,q){let E=new ArrayBuffer(4),g=this.encoder.encode(q),j=rA(g.byteLength,"Audio group name length"),a=this.opentui.symbols.audioCreateGroup(A,g,j,E);if(a!==0)return{status:a,groupId:null};let Z=new Uint32Array(E);return{status:a,groupId:Z[0]}}audioSetGroupVolume(A,q,E){return this.opentui.symbols.audioSetGroupVolume(A,q,E)}audioSetMasterVolume(A,q){return this.opentui.symbols.audioSetMasterVolume(A,q)}audioMixToBuffer(A,q,E,g){return this.opentui.symbols.audioMixToBuffer(A,q,E,g)}audioEnableTap(A,q,E){return this.opentui.symbols.audioEnableTap(A,wA(q),E)}audioReadTap(A,q,E,g){let j=new ArrayBuffer(4),a=this.opentui.symbols.audioReadTap(A,q,E,g,j);if(a!==0)return{status:a,framesRead:0};let Z=new Uint32Array(j);return{status:a,framesRead:Z[0]??0}}audioGetStats(A){let q=new ArrayBuffer(mJ.size);if(this.opentui.symbols.audioGetStats(A,q)!==0)return null;let g=mJ.unpack(q);return{soundsLoaded:g.soundsLoaded,voicesActive:g.voicesActive,framesMixed:typeof g.framesMixed==="bigint"?g.framesMixed:BigInt(g.framesMixed),lockMisses:g.lockMisses,lastPeak:g.lastPeak,lastRms:g.lastRms}}registerNativeSpanFeedStream(A,q){let E=this.ensureNativeSpanFeedCallback();this.nativeSpanFeedHandlers.set(A,q),this.opentui.symbols.streamSetCallback(A,E.ptr)}unregisterNativeSpanFeedStream(A){this.opentui.symbols.streamSetCallback(A,null),this.nativeSpanFeedHandlers.delete(A)}createNativeSpanFeed(A){let q=A==null?null:zJ.pack(A),E=this.opentui.symbols.createNativeSpanFeed(q);if(!E)throw Error("Failed to create stream");return E}attachNativeSpanFeed(A){return this.opentui.symbols.attachNativeSpanFeed(A)}destroyNativeSpanFeed(A){this.opentui.symbols.destroyNativeSpanFeed(A),this.nativeSpanFeedHandlers.delete(A)}streamWrite(A,q){let E=typeof q==="string"?this.encoder.encode(q):q;return this.opentui.symbols.streamWrite(A,mA(E),E.byteLength)}streamCommit(A){return this.opentui.symbols.streamCommit(A)}streamDrainSpans(A,q,E){let g=this.opentui.symbols.streamDrainSpans(A,q,E);return Sg(g)}streamClose(A){return this.opentui.symbols.streamClose(A)}streamSetOptions(A,q){let E=zJ.pack(q);return this.opentui.symbols.streamSetOptions(A,E)}streamGetStats(A){let q=new ArrayBuffer(CJ.size);if(this.opentui.symbols.streamGetStats(A,q)!==0)return null;let g=CJ.unpack(q);return{bytesWritten:typeof g.bytesWritten==="bigint"?g.bytesWritten:BigInt(g.bytesWritten),spansCommitted:typeof g.spansCommitted==="bigint"?g.spansCommitted:BigInt(g.spansCommitted),chunks:g.chunks,pendingSpans:g.pendingSpans}}streamReserve(A,q){let E=new ArrayBuffer(DJ.size),g=this.opentui.symbols.streamReserve(A,q,E);if(g!==0)return{status:g,info:null};return{status:g,info:DJ.unpack(E)}}streamCommitReserved(A,q){return this.opentui.symbols.streamCommitReserved(A,q)}createSyntaxStyle(){let A=this.opentui.symbols.createSyntaxStyle();if(!A)throw Error("Failed to create SyntaxStyle");return A}destroySyntaxStyle(A){this.opentui.symbols.destroySyntaxStyle(A)}syntaxStyleRegister(A,q,E,g,j){let a=this.encoder.encode(q),Z=lA(E),G=lA(g);return this.opentui.symbols.syntaxStyleRegister(A,mA(a),a.byteLength,Z,G,j)}syntaxStyleResolveByName(A,q){let E=this.encoder.encode(q),g=this.opentui.symbols.syntaxStyleResolveByName(A,mA(E),E.byteLength);return g===0?null:g}syntaxStyleGetStyleCount(A){return this.opentui.symbols.syntaxStyleGetStyleCount(A)}imageHandleResult(A,q){return{status:A,handle:A===0&&q[0]!==0?q[0]:null}}imageInfo(A){let q=rA(A.byteLength,"image data"),E=new ArrayBuffer(xK.size);return{status:this.opentui.symbols.imageInfo(A.byteLength===0?null:A,q,E),info:xK.unpack(E)}}imageDecode(A){let q=rA(A.byteLength,"image data"),E=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageDecode(A.byteLength===0?null:A,q,E),E)}imageCreateFromRgba(A,q,E,g){let j=new Uint32Array(1),a=this.opentui.symbols.imageCreateFromRgba(A.byteLength===0?null:A,BigInt(A.byteLength),q,E,g,j);return this.imageHandleResult(a,j)}imageCreateFromPixels(A,q,E,g,j,a){let Z=new Uint32Array(1),G=this.opentui.symbols.imageCreateFromPixels(A,BigInt(A.byteLength),q,E,g,j,a,Z);return this.imageHandleResult(G,Z)}imageUpdatePixels(A,q,E,g,j){return this.opentui.symbols.imageUpdatePixels(A,q,BigInt(q.byteLength),E,g,j)}imageDestroy(A){this.opentui.symbols.imageDestroy(A)}imageRetain(A){let q=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageRetain(A,q),q)}imageRetainIccCache(){this.opentui.symbols.imageRetainIccCache()}imageReleaseIccCache(){this.opentui.symbols.imageReleaseIccCache()}imageTestFailIccProfileCopyAllocationOnce(){this.opentui.symbols.imageTestFailIccProfileCopyAllocationOnce()}imageGetInfo(A){let q=new ArrayBuffer(xK.size);return{status:this.opentui.symbols.imageGetInfo(A,q),info:xK.unpack(q)}}imageGetPixelsPtr(A){let q=this.opentui.symbols.imageGetPixelsPtr(A);return q===null||q===0||q===0n?null:q}imageMaterialize(A){return this.opentui.symbols.imageMaterialize(A)}imageEnsureEncodedPng(A){return this.opentui.symbols.imageEnsureEncodedPng(A)}imageClone(A){let q=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageClone(A,q),q)}imageCopyPixels(A,q,E,g){return this.opentui.symbols.imageCopyPixels(A,q.byteLength===0?null:q,BigInt(q.byteLength),E,g?1:0)}imageResize(A,q,E,g){let j=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageResize(A,q,E,g,j),j)}imageExtract(A,q,E,g,j){let a=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageExtract(A,q,E,g,j,a),a)}imageExtend(A,q,E,g,j,a){if(!(a instanceof Uint8Array)||a.byteLength!==4)return{status:7,handle:null};let Z=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageExtend(A,q,E,g,j,a,Z),Z)}imageTransform(A,q){let E=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageTransform(A,q,E),E)}imageComposite(A,q,E,g,j,a){let Z=new Uint32Array(1);return this.imageHandleResult(this.opentui.symbols.imageComposite(A,q,E,g,j,a,Z),Z)}editorViewSetPlaceholderStyledText(A,q){let E=q.filter((j)=>j.text.length>0);if(E.length===0){this.opentui.symbols.editorViewSetPlaceholderStyledText(A,null,0);return}let g=XJ.packList(E);this.opentui.symbols.editorViewSetPlaceholderStyledText(A,g,E.length)}editorViewSetTabIndicator(A,q){this.opentui.symbols.editorViewSetTabIndicator(A,q)}editorViewSetTabIndicatorColor(A,q){this.opentui.symbols.editorViewSetTabIndicatorColor(A,Lq(q))}onNativeEvent(A,q){this._nativeEvents.on(A,q)}onceNativeEvent(A,q){this._nativeEvents.once(A,q)}offNativeEvent(A,q){this._nativeEvents.off(A,q)}onAnyNativeEvent(A){this._anyEventHandlers.push(A)}}function Gq(){if(!DK)try{DK=new VO(t4)}catch(A){throw Error(`Failed to initialize OpenTUI render library: ${A instanceof Error?A.message:"Unknown error"}`)}return T5=!0,DK}function UA(){return Gq()}function J5(){let A=UA();if(Yj?.ptr&&cJ===A)return;let q=(E,g,j,a,Z)=>{let M=(E?yK.get(E):void 0)?.(g,j,a,Z);A.yogaStoreMeasureResult(M?.width??NaN,M?.height??NaN)};if(Yj=A.createYogaMeasureCallback(q),!Yj.ptr)throw Yj.close(),Yj=null,Error("Failed to create Yoga measure callback");A.yogaSetMeasureCallback(Yj.ptr),cJ=A}function X5(){let A=UA();if(Qj?.ptr&&fJ===A)return;let q=(E)=>{if(!E)return;let g=mK.get(E);if(g)g.callback(g.node)};if(Qj=A.createYogaDirtiedCallback(q),!Qj.ptr)throw Qj.close(),Qj=null,Error("Failed to create Yoga dirtied callback");A.yogaSetDirtiedCallback(Qj.ptr),fJ=A}function L5(A){return typeof A==="object"&&A!==null&&"unit"in A&&"value"in A}function N5(A){if(L5(A))return A;if(A===void 0)return MX;if(A==="auto")return{unit:3,value:NaN};if(typeof A==="string"){if(!A.endsWith("%"))throw Error(`Invalid Yoga value: ${A}`);let q=Number.parseFloat(A);if(Number.isNaN(q))throw Error(`Invalid Yoga percentage value: ${A}`);return{unit:2,value:q}}return{unit:1,value:A}}function V5(A){let q=typeof A==="bigint"?A:BigInt(A),E=Number(q&0xffffffffn),g=Number(q>>32n&0xffffffffn),j=new ArrayBuffer(4),a=new DataView(j);return a.setUint32(0,g,!0),{unit:E,value:a.getFloat32(0,!0)}}function lJ(A){return A===void 0||A==="auto"?NaN:A}class QZ{ptr;freed=!1;constructor(A){this.ptr=A}static create(){return new QZ(UA().yogaConfigCreate())}static destroy(A){A.free()}free(){if(this.freed)return;this.freed=!0,UA().yogaConfigFree(this.ptr)}setUseWebDefaults(A){if(this.freed)return;UA().yogaConfigSetUseWebDefaults(this.ptr,A)}useWebDefaults(){if(this.freed)return!1;return UA().yogaConfigGetUseWebDefaults(this.ptr)}setPointScaleFactor(A){if(this.freed)return;UA().yogaConfigSetPointScaleFactor(this.ptr,A)}getPointScaleFactor(){if(this.freed)return 0;return UA().yogaConfigGetPointScaleFactor(this.ptr)}setErrata(A){if(this.freed)return;UA().yogaConfigSetErrata(this.ptr,A)}getErrata(){if(this.freed)return 0;return UA().yogaConfigGetErrata(this.ptr)}setExperimentalFeatureEnabled(A,q){if(this.freed)return;UA().yogaConfigSetExperimentalFeatureEnabled(this.ptr,A,q)}isExperimentalFeatureEnabled(A){if(this.freed)return!1;return UA().yogaConfigIsExperimentalFeatureEnabled(this.ptr,A)}}class ME{ptr;freed=!1;constructor(A){this.ptr=A,DM.set(A,this)}static create(A){return ME.fromPointer(A?UA().yogaNodeCreateWithConfig(A.ptr):UA().yogaNodeCreate())}static createForOpenTUI(){return ME.fromPointer(UA().yogaNodeCreateForOpenTUI())}static createDefault(){return ME.create()}static createWithConfig(A){return ME.create(A)}static destroy(A){A.free()}static fromPointer(A){let q=DM.get(A);if(q)return q;return new ME(A)}isFreed(){return this.freed}free(){if(this.freed)return;this.unsetMeasureFunc(),this.unsetDirtiedFunc(),UA().yogaNodeFree(this.ptr),this.markFreed()}freeRecursive(){if(this.freed)return;let A=this.collectSubtree([]);for(let q of A)q.unregisterCallbacks();UA().yogaNodeFreeRecursive(this.ptr);for(let q of A)q.markFreed()}reset(){if(this.freed)return;this.unsetMeasureFunc(),this.unsetDirtiedFunc(),UA().yogaNodeReset(this.ptr)}copyStyle(A){if(this.freed)return;UA().yogaNodeCopyStyle(this.ptr,A.ptr)}insertChild(A,q){if(this.freed)return;UA().yogaNodeInsertChild(this.ptr,A.ptr,q)}removeChild(A){if(this.freed)return;UA().yogaNodeRemoveChild(this.ptr,A.ptr)}removeAllChildren(){if(this.freed)return;UA().yogaNodeRemoveAllChildren(this.ptr)}getChild(A){if(this.freed)return null;let q=UA().yogaNodeGetChild(this.ptr,A);return q?ME.fromPointer(q):null}getChildCount(){if(this.freed)return 0;return UA().yogaNodeGetChildCount(this.ptr)}getParent(){if(this.freed)return null;let A=UA().yogaNodeGetParent(this.ptr);return A?ME.fromPointer(A):null}calculateLayout(A,q,E=1){if(this.freed)return;UA().yogaNodeCalculateLayout(this.ptr,lJ(A),lJ(q),E)}hasNewLayout(){if(this.freed)return!1;return UA().yogaNodeGetHasNewLayout(this.ptr)}markLayoutSeen(){if(this.freed)return;UA().yogaNodeSetHasNewLayout(this.ptr,!1)}markDirty(){if(this.freed)return;UA().yogaNodeMarkDirty(this.ptr)}isDirty(){if(this.freed)return!0;return UA().yogaNodeIsDirty(this.ptr)}getComputedLayout(){if(this.freed)return{left:0,top:0,right:0,bottom:0,width:0,height:0};return UA().yogaNodeGetComputedLayout(this.ptr)}getComputedLeft(){return this.getComputedLayout().left}getComputedTop(){return this.getComputedLayout().top}getComputedRight(){return this.getComputedLayout().right}getComputedBottom(){return this.getComputedLayout().bottom}getComputedWidth(){return this.getComputedLayout().width}getComputedHeight(){return this.getComputedLayout().height}getComputedMargin(A){if(this.freed)return 0;return UA().yogaNodeLayoutGetEdge(this.ptr,CM.Margin,A)}getComputedPadding(A){if(this.freed)return 0;return UA().yogaNodeLayoutGetEdge(this.ptr,CM.Padding,A)}getComputedBorder(A){if(this.freed)return 0;return UA().yogaNodeLayoutGetEdge(this.ptr,CM.Border,A)}setDirection(A){this.setEnum($q.Direction,A)}getDirection(){return this.getEnum($q.Direction,0)}setFlexDirection(A){this.setEnum($q.FlexDirection,A)}getFlexDirection(){return this.getEnum($q.FlexDirection,0)}setJustifyContent(A){this.setEnum($q.JustifyContent,A)}getJustifyContent(){return this.getEnum($q.JustifyContent,0)}setAlignContent(A){this.setEnum($q.AlignContent,A)}getAlignContent(){return this.getEnum($q.AlignContent,1)}setAlignItems(A){this.setEnum($q.AlignItems,A)}getAlignItems(){return this.getEnum($q.AlignItems,4)}setAlignSelf(A){this.setEnum($q.AlignSelf,A)}getAlignSelf(){return this.getEnum($q.AlignSelf,0)}setPositionType(A){this.setEnum($q.PositionType,A)}getPositionType(){return this.getEnum($q.PositionType,1)}setFlexWrap(A){this.setEnum($q.FlexWrap,A)}getFlexWrap(){return this.getEnum($q.FlexWrap,0)}setOverflow(A){this.setEnum($q.Overflow,A)}getOverflow(){return this.getEnum($q.Overflow,0)}setDisplay(A){this.setEnum($q.Display,A)}getDisplay(){return this.getEnum($q.Display,0)}setBoxSizing(A){this.setEnum($q.BoxSizing,A)}getBoxSizing(){return this.getEnum($q.BoxSizing,0)}setFlex(A){this.setFloat(Bg.Flex,A)}getFlex(){return this.getFloat(Bg.Flex)}setFlexGrow(A){this.setFloat(Bg.FlexGrow,A)}getFlexGrow(){return this.getFloat(Bg.FlexGrow)}setFlexShrink(A){this.setFloat(Bg.FlexShrink,A)}getFlexShrink(){return this.getFloat(Bg.FlexShrink)}setAspectRatio(A){this.setFloat(Bg.AspectRatio,A)}getAspectRatio(){return this.getFloat(Bg.AspectRatio)}setFlexBasis(A){this.setValue(LA.FlexBasis,0,A)}setFlexBasisPercent(A){this.setValue(LA.FlexBasis,0,A===void 0?void 0:{unit:2,value:A})}setFlexBasisAuto(){this.setValue(LA.FlexBasis,0,"auto")}getFlexBasis(){return this.getValue(LA.FlexBasis,0)}setWidth(A){this.setValue(LA.Width,0,A)}setWidthPercent(A){this.setValue(LA.Width,0,A===void 0?void 0:{unit:2,value:A})}setWidthAuto(){this.setValue(LA.Width,0,"auto")}getWidth(){return this.getValue(LA.Width,0)}setHeight(A){this.setValue(LA.Height,0,A)}setHeightPercent(A){this.setValue(LA.Height,0,A===void 0?void 0:{unit:2,value:A})}setHeightAuto(){this.setValue(LA.Height,0,"auto")}getHeight(){return this.getValue(LA.Height,0)}setMinWidth(A){this.setValue(LA.MinWidth,0,A)}setMinWidthPercent(A){this.setValue(LA.MinWidth,0,A===void 0?void 0:{unit:2,value:A})}getMinWidth(){return this.getValue(LA.MinWidth,0)}setMinHeight(A){this.setValue(LA.MinHeight,0,A)}setMinHeightPercent(A){this.setValue(LA.MinHeight,0,A===void 0?void 0:{unit:2,value:A})}getMinHeight(){return this.getValue(LA.MinHeight,0)}setMaxWidth(A){this.setValue(LA.MaxWidth,0,A)}setMaxWidthPercent(A){this.setValue(LA.MaxWidth,0,A===void 0?void 0:{unit:2,value:A})}getMaxWidth(){return this.getValue(LA.MaxWidth,0)}setMaxHeight(A){this.setValue(LA.MaxHeight,0,A)}setMaxHeightPercent(A){this.setValue(LA.MaxHeight,0,A===void 0?void 0:{unit:2,value:A})}getMaxHeight(){return this.getValue(LA.MaxHeight,0)}setMargin(A,q){this.setValue(LA.Margin,A,q)}setMarginPercent(A,q){this.setValue(LA.Margin,A,q===void 0?void 0:{unit:2,value:q})}setMarginAuto(A){this.setValue(LA.Margin,A,"auto")}getMargin(A){return this.getValue(LA.Margin,A)}setPadding(A,q){this.setValue(LA.Padding,A,q)}setPaddingPercent(A,q){this.setValue(LA.Padding,A,q===void 0?void 0:{unit:2,value:q})}getPadding(A){return this.getValue(LA.Padding,A)}setPosition(A,q){this.setValue(LA.Position,A,q)}setPositionPercent(A,q){this.setValue(LA.Position,A,q===void 0?void 0:{unit:2,value:q})}setPositionAuto(A){this.setValue(LA.Position,A,"auto")}getPosition(A){return this.getValue(LA.Position,A)}setGap(A,q){this.setValue(LA.Gap,A,q)}setGapPercent(A,q){this.setValue(LA.Gap,A,q===void 0?void 0:{unit:2,value:q})}getGap(A){return this.getValue(LA.Gap,A)}setBorder(A,q){if(this.freed)return;UA().yogaNodeStyleSetBorder(this.ptr,A,q??NaN)}getBorder(A){if(this.freed)return NaN;return UA().yogaNodeStyleGetBorder(this.ptr,A)}setIsReferenceBaseline(A){if(this.freed)return;UA().yogaNodeSetIsReferenceBaseline(this.ptr,A)}isReferenceBaseline(){if(this.freed)return!1;return UA().yogaNodeIsReferenceBaseline(this.ptr)}setAlwaysFormsContainingBlock(A){if(this.freed)return;UA().yogaNodeSetAlwaysFormsContainingBlock(this.ptr,A)}getAlwaysFormsContainingBlock(){if(this.freed)return!1;return UA().yogaNodeGetAlwaysFormsContainingBlock(this.ptr)}setMeasureFunc(A){if(this.freed)return;if(this.unsetMeasureFunc(),!A)return;J5(),yK.set(this.ptr,A),UA().yogaNodeSetMeasureFunc(this.ptr,!0)}unsetMeasureFunc(){if(this.freed)return;UA().yogaNodeUnsetMeasureFunc(this.ptr),yK.delete(this.ptr)}hasMeasureFunc(){if(this.freed)return!1;return UA().yogaNodeHasMeasureFunc(this.ptr)}setDirtiedFunc(A){if(this.freed)return;if(this.unsetDirtiedFunc(),!A)return;X5(),mK.set(this.ptr,{node:this,callback:A}),UA().yogaNodeSetDirtiedFunc(this.ptr,!0)}unsetDirtiedFunc(){if(this.freed)return;UA().yogaNodeUnsetDirtiedFunc(this.ptr),mK.delete(this.ptr)}setEnum(A,q){if(this.freed)return;UA().yogaNodeStyleSetEnum(this.ptr,A,q)}getEnum(A,q){if(this.freed)return q;return UA().yogaNodeStyleGetEnum(this.ptr,A)}setFloat(A,q){if(this.freed)return;UA().yogaNodeStyleSetFloat(this.ptr,A,q??NaN)}getFloat(A){if(this.freed)return NaN;return UA().yogaNodeStyleGetFloat(this.ptr,A)}setValue(A,q,E){if(this.freed)return;let g=N5(E);UA().yogaNodeStyleSetValue(this.ptr,A,q,g.unit,g.value)}getValue(A,q){if(this.freed)return MX;return V5(UA().yogaNodeStyleGetValue(this.ptr,A,q))}collectSubtree(A){for(let q=0;q<this.getChildCount();q++)this.getChild(q)?.collectSubtree(A);return A.push(this),A}unregisterCallbacks(){yK.delete(this.ptr),mK.delete(this.ptr)}markFreed(){this.unregisterCallbacks(),this.freed=!0,DM.delete(this.ptr)}}var C2,D2=(A)=>A,m2=(A,q)=>{for(var E in q)C2(A,E,{get:q[E],enumerable:!0,configurable:!0,set:y2.bind(q,E)})},uJ,NA,b2="OpenTUI native FFI is not available for this runtime yet",k2="Bun FFI backend does not support dlopen(null)",pJ="Cannot create FFI callback after library.close() has been called",c2="Node FFI callbacks are same-thread only and do not support threadsafe callbacks",f2="Node FFI backend does not support Bun N-API FFI types",l2="Node FFI backend does not support FFIFunction.ptr overrides",u2="Node FFI pointer arguments must be a Pointer, ArrayBuffer, or ArrayBufferView",yM="node:ffi ptr() only supports ArrayBuffer and ArrayBufferView values backed by ArrayBuffer",p2="Node FFI backend does not normalize string return values (yet)",d2="Node FFI backend does not support usize yet",tM="Pointer must be non-negative",t2="Pointer offset must be non-negative",s2="Pointer offset must be a safe integer",dJ="Pointer exceeds safe integer range",yT,vK,mT,wT,dK,U0,G0,lz,oq,T0,R0=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g},I0,h0,iM,$_,hK,tA,D0,CF,F4,H_,y0,m0,oM,rM,cT=0,fT=1,QM=2,lT,$M,uT,a4,WF,qO,yF,mF,d0,t0,s0,i0,n0,o0,r0,Z4,HM,aA,G4,M4,A8=8,q8=16777215,O4,OE,Y4=(A)=>(q)=>E8(q,{fg:A}),bM,_8,j8,a8,K8,G8,M8,$4,H4,O8,Y8=(A)=>{return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(A)},Q8=(A)=>{return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(A)},pT=(A)=>{if(A===0)return"space";if(A>=1&&A<=26)return String.fromCharCode(A+97-1);if(A>=28&&A<=31)return String.fromCharCode(A+64);return},$8,H8,kM=(A="",q={})=>{let E;if(g8.isBuffer(A))if(A[0]>127&&A[1]===void 0)A[0]-=128,A="\x1B"+String(A);else A=String(A);else if(A!==void 0&&typeof A!=="string")A=String(A);else if(!A)A="";if(/^\x1b\[<\d+;\d+;\d+[Mm]$/.test(A))return null;if(/^\[<\d+;\d+;\d+[Mm]$/.test(A))return null;if(/^\x1b\[<[\d;]*$/.test(A))return null;if(/^\[<[\d;]*$/.test(A))return null;if(A.startsWith("\x1B[M")&&A.length>=6)return null;if(/^\x1b\[\d+;\d+;\d+t$/.test(A))return null;if(/^\x1b\[\d+;\d+R$/.test(A))return null;if(/^\x1b\[\?[\d;]+c$/.test(A))return null;if(/^\x1b\[\?[\d;]+\$y$/.test(A))return null;if(A==="\x1B[I"||A==="\x1B[O")return null;if(/^\x1b\][\d;].*(\x1b\\|\x07)$/.test(A))return null;if(A==="\x1B[200~"||A==="\x1B[201~")return null;let g={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:A,raw:A,eventType:"press",source:"raw"};g.sequence=g.sequence||A||g.name;let j=A.length===1?pT(A.charCodeAt(0)):void 0,a=A.length===2&&A[0]==="\x1B"?pT(A.charCodeAt(1)):void 0;if(q.useKittyKeyboard){let G=U8(A);if(G)return G}let Z=H8.exec(A);if(Z){let G=parseInt(Z[1],10)-1,M=parseInt(Z[2],10);if(g.ctrl=!!(G&4),g.meta=!!(G&2),g.shift=!!(G&1),g.option=!!(G&2),g.super=!!(G&8),g.hyper=!!(G&16),M===13)g.name="return";else if(M===27)g.name="escape";else if(M===9)g.name="tab";else if(M===32)g.name="space";else if(M===127||M===8)g.name="backspace";else{let Y=String.fromCharCode(M);if(g.name=Y,g.sequence=Y,M>=48&&M<=57)g.number=!0}return g}if(A==="\r"||A==="\x1B\r")g.name="return",g.meta=A.length===2;else if(A===`
192
+ `||A===`\x1B
193
+ `)g.name="linefeed",g.meta=A.length===2;else if(A==="\t")g.name="tab";else if(A==="\b"||A==="\x1B\b"||A==="\x7F"||A==="\x1B\x7F")g.name="backspace",g.meta=A.charAt(0)==="\x1B";else if(A==="\x1B"||A==="\x1B\x1B")g.name="escape",g.meta=A.length===2;else if(A===" "||A==="\x1B ")g.name="space",g.meta=A.length===2;else if(j)g.name=j,g.ctrl=!0;else if(A.length===1&&A>="0"&&A<="9")g.name=A,g.number=!0;else if(A.length===1&&A>="a"&&A<="z")g.name=A;else if(A.length===1&&A>="A"&&A<="Z")g.name=A.toLowerCase(),g.shift=!0;else if(A.length===1||A.length===2&&A.codePointAt(0)>65535)g.name=A;else if(E=G8.exec(A)){g.meta=!0;let G=E[1],M=/^[A-Z]$/.test(G);if(G==="F")g.name="right";else if(G==="B")g.name="left";else if(M)g.shift=!0,g.name=G;else g.name=G}else if(a)g.meta=!0,g.ctrl=!0,g.name=a;else if(E=M8.exec(A)){let G=[...A];if(G[0]==="\x1B"&&G[1]==="\x1B")g.option=!0,g.meta=!0;let M=[E[1],E[2],E[4],E[6]].filter(Boolean).join(""),Y=parseInt(E[3]||E[5]||"1",10)-1;g.ctrl=g.ctrl||!!(Y&4),g.meta=g.meta||!!(Y&2),g.shift=g.shift||!!(Y&1),g.option=g.option||!!(Y&2),g.super=!!(Y&8),g.hyper=!!(Y&16),g.code=M;let Q=$4[M];if(Q){g.name=Q,g.shift=Y8(M)||g.shift,g.ctrl=Q8(M)||g.ctrl;let H=$8[M];if(H!==void 0){if(g.sequence=H,g.name>="0"&&g.name<="9")g.number=!0}}else g.name="",g.code=void 0}else if(A==="\x1B[3~")g.name="delete",g.meta=!1,g.code="[3~";return g},zF,T8=20,J8=65536,lK=256,cq=27,X8=7,TM,JM,aO,L8,N8,V8,R8,$j,l8,AJ,t8="@opentui/core/",R4,qJ="web-tree-sitter/tree-sitter.wasm",s8,I4,gC,EJ,Hj="OpenTUI tree-sitter workers are not available for this runtime yet.",Jj,cM,aC,ZI,FJ,TI=(A)=>A.startsWith("http://")||A.startsWith("https://"),ZO,UO,B4,uK,Tj="tree-sitter-client",z4="tree-sitter-client-listener-state",VI,WK,ZJ,II,hI,VM=null,WI,D4,GJ,BI,xI,zI="bun-ffi-structs pointer operations require Bun or Node.js 26.1+ with node:ffi enabled (--experimental-ffi).",m4,kE,RM,Vq,pK,Pg,bI,YJ,kI,hM,M_,Nq,CK,SM,lM,xF=256,Ig=256,PF=4294967295,JJ,q5,uM=(A)=>A?.buffer??null,pM=(A)=>A?MA.fromArray(new Uint16Array(oq(A,0,8))):void 0,XJ,BK,Mj,O_,E5,g5,_5,j5,LJ,NJ,xK,VJ,UE,RJ,IJ,hJ,SJ,F5,WJ,BJ,xJ,PJ,a5,zJ,CJ,MZ,DJ,vF,Vj,NO,Rq,K5,BM,Z5,U5,xM,yJ,mJ,w4,OZ=512,v4,b4,k4,c4,f4,l4,Q_,u4,G5,M5,O5,p4=4294967295,Y_=null,PK=null,wJ=!1,Q5,d4,YZ,t4,DK,T5=!1,RO,IO,hO,SO,WO,BO,xO,PO,zO,CO,DO,yO,mO,wO,vO,bO,kO,cO,s4=0,i4=1,n4=2,o4=3,r4=4,e4=5,A1=6,q1=7,E1=8,g1=0,_1=1,j1=0,F1=1,a1=0,K1=1,Z1=2,U1=0,G1=1,M1=2,O1=0,Y1=1,Q1=2,$1=3,H1=4,T1=5,J1=6,X1=7,L1=8,N1=0,V1=1,R1=2,I1=4,h1=2147483647,S1=2147483646,W1=0,B1=0,x1=1,P1=2,z1=3,C1=0,D1=1,y1=2,m1=0,w1=1,v1=2,b1=3,k1=4,c1=5,f1=0,l1=1,u1=2,p1=3,d1=4,t1=5,s1=0,i1=1,n1=2,o1=0,r1=1,e1=0,AX=1,qX=2,EX=0,gX=1,_X=2,jX=0,FX=1,aX=2,KX=3,ZX=0,UX=1,GX=2,$q,Bg,LA,CM,MX,DM,yK,mK,Yj=null,cJ=null,Qj=null,fJ=null,R5,$Z;var fO=zA(async()=>{C2=Object.defineProperty;uJ={};m2(uJ,{ALIGN_AUTO:()=>s4,ALIGN_BASELINE:()=>e4,ALIGN_CENTER:()=>n4,ALIGN_FLEX_END:()=>o4,ALIGN_FLEX_START:()=>i4,ALIGN_SPACE_AROUND:()=>q1,ALIGN_SPACE_BETWEEN:()=>A1,ALIGN_SPACE_EVENLY:()=>E1,ALIGN_STRETCH:()=>r4,Align:()=>RO,BOX_SIZING_BORDER_BOX:()=>g1,BOX_SIZING_CONTENT_BOX:()=>_1,BoxSizing:()=>IO,Config:()=>QZ,DIMENSION_HEIGHT:()=>F1,DIMENSION_WIDTH:()=>j1,DIRECTION_INHERIT:()=>a1,DIRECTION_LTR:()=>K1,DIRECTION_RTL:()=>Z1,DISPLAY_CONTENTS:()=>M1,DISPLAY_FLEX:()=>U1,DISPLAY_NONE:()=>G1,Dimension:()=>hO,Direction:()=>SO,Display:()=>WO,EDGE_ALL:()=>L1,EDGE_BOTTOM:()=>$1,EDGE_END:()=>T1,EDGE_HORIZONTAL:()=>J1,EDGE_LEFT:()=>O1,EDGE_RIGHT:()=>Q1,EDGE_START:()=>H1,EDGE_TOP:()=>Y1,EDGE_VERTICAL:()=>X1,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:()=>I1,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:()=>R1,ERRATA_ALL:()=>h1,ERRATA_CLASSIC:()=>S1,ERRATA_NONE:()=>N1,ERRATA_STRETCH_FLEX_BASIS:()=>V1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:()=>W1,Edge:()=>BO,Errata:()=>xO,ExperimentalFeature:()=>PO,FLEX_DIRECTION_COLUMN:()=>B1,FLEX_DIRECTION_COLUMN_REVERSE:()=>x1,FLEX_DIRECTION_ROW:()=>P1,FLEX_DIRECTION_ROW_REVERSE:()=>z1,FlexDirection:()=>zO,GUTTER_ALL:()=>y1,GUTTER_COLUMN:()=>C1,GUTTER_ROW:()=>D1,Gutter:()=>CO,JUSTIFY_CENTER:()=>w1,JUSTIFY_FLEX_END:()=>v1,JUSTIFY_FLEX_START:()=>m1,JUSTIFY_SPACE_AROUND:()=>k1,JUSTIFY_SPACE_BETWEEN:()=>b1,JUSTIFY_SPACE_EVENLY:()=>c1,Justify:()=>DO,LOG_LEVEL_DEBUG:()=>p1,LOG_LEVEL_ERROR:()=>f1,LOG_LEVEL_FATAL:()=>t1,LOG_LEVEL_INFO:()=>u1,LOG_LEVEL_VERBOSE:()=>d1,LOG_LEVEL_WARN:()=>l1,LogLevel:()=>yO,MEASURE_MODE_AT_MOST:()=>n1,MEASURE_MODE_EXACTLY:()=>i1,MEASURE_MODE_UNDEFINED:()=>s1,MeasureMode:()=>mO,NODE_TYPE_DEFAULT:()=>o1,NODE_TYPE_TEXT:()=>r1,Node:()=>ME,NodeType:()=>wO,OVERFLOW_HIDDEN:()=>AX,OVERFLOW_SCROLL:()=>qX,OVERFLOW_VISIBLE:()=>e1,Overflow:()=>vO,POSITION_TYPE_ABSOLUTE:()=>_X,POSITION_TYPE_RELATIVE:()=>gX,POSITION_TYPE_STATIC:()=>EX,PositionType:()=>bO,UNIT_AUTO:()=>KX,UNIT_PERCENT:()=>aX,UNIT_POINT:()=>FX,UNIT_UNDEFINED:()=>jX,Unit:()=>kO,WRAP_NO_WRAP:()=>ZX,WRAP_WRAP:()=>UX,WRAP_WRAP_REVERSE:()=>GX,Wrap:()=>cO,default:()=>$Z});NA={char:"char",int8_t:"int8_t",i8:"i8",uint8_t:"uint8_t",u8:"u8",int16_t:"int16_t",i16:"i16",uint16_t:"uint16_t",u16:"u16",int32_t:"int32_t",i32:"i32",int:"int",uint32_t:"uint32_t",u32:"u32",int64_t:"int64_t",i64:"i64",uint64_t:"uint64_t",u64:"u64",double:"double",f64:"f64",float:"float",f32:"f32",bool:"bool",ptr:"ptr",pointer:"pointer",void:"void",cstring:"cstring",function:"function",usize:"usize",callback:"callback",napi_env:"napi_env",napi_value:"napi_value",buffer:"buffer"},yT=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength")?.get;vK=typeof process<"u"&&typeof process.versions==="object"&&process.versions!==null&&typeof process.versions.bun==="string",mT=vK,wT=w2(import.meta.url),dK=n2();U0=dK.dlopen,G0=dK.ptr,lz=dK.suffix,oq=dK.toArrayBuffer;T0=H0();I0=new Intl.Segmenter,h0=/^\p{Default_Ignorable_Code_Point}$/u;iM=Symbol.for("@opentui/core/singleton");$_=fE("env-registry",()=>({}));hK=fE("env-store",()=>new _4),tA=new Proxy({},{get(A,q){if(typeof q!=="string")return;return hK.get(q)},has(A,q){return hK.has(q)},ownKeys(){return Object.keys($_)},getOwnPropertyDescriptor(A,q){if(hK.has(q))return{enumerable:!0,configurable:!0,get:()=>hK.get(q)};return}});Eq({name:"OTUI_ASSET_ROOT",description:"Absolute directory containing relocatable OpenTUI runtime assets",type:"string",default:""});D0=new TextEncoder,CF=globalThis.Bun,F4=CF?.sleep??b0,H_=CF?.stringWidth??S0,y0=CF?.stripANSI??q4,m0=CF?.write??k0;oM=[255,255,255],rM=[0,0,0],lT=[[0,0,0],[128,0,0],[0,128,0],[128,128,0],[0,0,128],[128,0,128],[0,128,128],[192,192,192],[128,128,128],[255,0,0],[0,255,0],[255,255,0],[0,0,255],[255,0,255],[0,255,255],[255,255,255]],$M=[0,95,135,175,215,255];uT={black:"#000000",white:"#FFFFFF",red:"#FF0000",green:"#008000",blue:"#0000FF",yellow:"#FFFF00",cyan:"#00FFFF",magenta:"#FF00FF",silver:"#C0C0C0",gray:"#808080",grey:"#808080",maroon:"#800000",olive:"#808000",lime:"#00FF00",aqua:"#00FFFF",teal:"#008080",navy:"#000080",fuchsia:"#FF00FF",purple:"#800080",orange:"#FFA500",brightblack:"#666666",brightred:"#FF6666",brightgreen:"#66FF66",brightblue:"#6666FF",brightyellow:"#FFFF66",brightcyan:"#66FFFF",brightmagenta:"#FF66FF",brightwhite:"#FFFFFF"};a4=["single","double","rounded","heavy"];WF={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",topT:"\u252C",bottomT:"\u2534",leftT:"\u251C",rightT:"\u2524",cross:"\u253C"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",topT:"\u2566",bottomT:"\u2569",leftT:"\u2560",rightT:"\u2563",cross:"\u256C"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",topT:"\u252C",bottomT:"\u2534",leftT:"\u251C",rightT:"\u2524",cross:"\u253C"},heavy:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",topT:"\u2533",bottomT:"\u253B",leftT:"\u2523",rightT:"\u252B",cross:"\u254B"}};qO={single:zg(WF.single),double:zg(WF.double),rounded:zg(WF.rounded),heavy:zg(WF.heavy)};yF=class yF extends p0{processParsedKey(A){try{switch(A.eventType){case"press":this.emit("keypress",new BF(A));break;case"release":this.emit("keyrelease",new BF(A));break;default:this.emit("keypress",new BF(A));break}}catch(q){return console.error("[KeyHandler] Error processing parsed key:",q),!0}return!0}processPaste(A,q){try{this.emit("paste",new EO(A,q))}catch(E){console.error("[KeyHandler] Error processing paste:",E)}}};mF=class mF extends yF{renderableHandlers=new Map;emit(A,...q){return this.emitWithPriority(A,...q)}emitWithPriority(A,...q){let E=!1,g=this.listeners(A);if(g.length>0){E=!0;for(let G of g){try{G(...q)}catch(M){console.error(`[KeyHandler] Error in global ${A} handler:`,M)}if(A==="keypress"||A==="keyrelease"||A==="paste"){if(q[0].propagationStopped)return E}}}let j=this.renderableHandlers.get(A),a=j&&j.size>0?[...j]:[],Z=!1;if(j&&j.size>0){if(Z=!0,A==="keypress"||A==="keyrelease"||A==="paste"){let G=q[0];if(G.defaultPrevented)return E||Z;if(G.propagationStopped)return E||Z}for(let G of a){try{G(...q)}catch(M){console.error(`[KeyHandler] Error in renderable ${A} handler:`,M)}if(A==="keypress"||A==="keyrelease"||A==="paste"){if(q[0].propagationStopped)return E||Z}}}return E||Z}onInternal(A,q){if(!this.renderableHandlers.has(A))this.renderableHandlers.set(A,new Set);this.renderableHandlers.get(A).add(q)}offInternal(A,q){let E=this.renderableHandlers.get(A);if(E)E.delete(q)}};d0={name:"block",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:[" "," "," "," "," "," "],letterspace_size:1,chars:{A:[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2> ","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],B:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],C:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],D:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],E:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],F:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u255D </c2>"],G:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],H:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],I:["<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D</c2>"],J:["<c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588 \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],K:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],L:["<c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],M:["<c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551 \u255A\u2550\u255D</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],N:["<c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551 \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D</c2>"],O:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],P:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u255D </c2>"],Q:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2584\u2584 \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550</c2><c1>\u2580\u2580</c1><c2>\u2550\u255D </c2>"],R:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],S:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],T:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],U:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],V:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2> \u255A\u2550\u2550\u2550\u255D </c2>"],W:["<c1>\u2588\u2588</c1><c2>\u2557 </c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u255D\u255A\u2550\u2550\u255D </c2>"],X:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],Y:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2> \u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],Z:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"0":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"1":[" <c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u255D</c2>"],"2":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"3":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"4":["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u255D</c2>"],"5":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"6":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"7":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],"8":[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],"9":[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],"!":["<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"],"?":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2584\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2580\u2580</c1><c2>\u2550\u2550\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c2> \u255A\u2550\u255D </c2>"],".":[" "," "," "," ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"],"+":[" ","<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u255D</c2>","<c2> \u255A\u2550\u255D </c2>"," "],"-":[" "," ","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u255D</c2>"," "," "],_:[" "," "," "," ","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"=":[" ","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>"," "],"@":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u255D\u255A\u2550\u2550\u2550\u255D </c2>"],"#":[" <c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u255D \u255A\u2550\u255D </c2>"],$:["<c1>\u2584\u2584\u2588\u2588\u2588\u2584\u2584</c1><c2>\xB7</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550</c2><c1>\u2580\u2580\u2580</c1><c2>\u2550\u2550\u255D</c2>"],"%":["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],"&":["<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"(":[" <c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2551 ","<c1>\u2588\u2588</c1><c2>\u2551 ","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A\u2550\u255D</c2>"],")":["<c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u255D </c2>"],"/":["<c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2>\u255A\u2550\u255D </c2>"],":":[" ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"," "],";":[" "," ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2584\u2588</c1><c2>\u2557</c2>","<c1>\u2580</c1><c2>\u2550\u255D</c2>"],",":[" "," "," "," ","<c1>\u2584\u2588</c1><c2>\u2557</c2>","<c1>\u2580</c1><c2>\u2550\u255D</c2>"],"'":["<c1>\u2588</c1><c2>\u2557</c2> ","<c2>\u255A\u255D</c2> "," "," "," "," "],'"':["<c1>\u2588</c1><c2>\u2557</c2><c1>\u2588</c1><c2>\u2557</c2> ","<c2>\u255A\u255D\u255A\u255D</c2> "," "," "," "," "]," ":[" "," "," "," "," "," "]}},t0={name:"shade",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:8,buffer:["","","","","","","",""],letterspace:["<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>"],letterspace_size:1,chars:{A:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],B:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],C:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],D:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],E:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],F:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],G:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],H:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],I:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591</c2>"],J:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],K:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],L:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],M:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],N:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588 \u2588\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],O:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],P:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],Q:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],R:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],S:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> "," <c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],T:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591</c2>"],U:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],V:["<c2>\u2591\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2> <c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591</c2>"],W:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],X:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],Y:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591</c2>"],Z:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"0":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"1":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588</c1><c2>\u2591\u2591</c2>"," <c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"2":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2590\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"3":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588\u2588</c1>","<c2>\u2591\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"4":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],"5":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"6":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"7":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c1>\u2588</c1> <c2>\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"8":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"9":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"!":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"?":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2590\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],".":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"+":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> <c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"-":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],_:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," "],"=":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"@":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> "," <c1>\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"#":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u258C\u2590</c1> ","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u258C\u2590</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],$:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u258C</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1> "," <c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>"],"%":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> "," <c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1> <c2>\u2591</c2> "," <c2>\u2591\u2591\u2591</c2>"],"&":["<c2>\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1> ","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c2> </c2> ","<c2>\u2591\u2591\u2591\u2591\u2591</c2>"],"(":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>"],")":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2> <c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>"],"/":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>"],":":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],";":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>"],",":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>"],"'":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],'"':["<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>"]," ":["<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>"]}},s0={name:"slick",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>"],letterspace_size:1,chars:{A:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>"],B:["<c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u256F\u2570\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],C:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],D:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u256E\u256D\u256E\u2503</c1>","<c2>\u2571</c2><c1>\u2503\u2503\u2503\u2503</c1>","<c2>\u2571</c2><c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u256D\u256F\u2570\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],E:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],F:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u256F</c1><c2>\u2571\u2571\u2571</c2>"],G:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>","<c1>\u2503\u2503\u256D\u2501\u256E</c1>","<c1>\u2503\u2570\u253B\u2501\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],H:["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>"],I:["<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u252B\u2523\u256F</c1>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u256D\u252B\u2523\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],J:["<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u256D\u256E\u2503\u2503</c1>","<c1>\u2503\u2570\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],K:["<c1>\u256D\u256E\u256D\u2501\u256E</c1>","<c1>\u2503\u2503\u2503\u256D\u256F</c1>","<c1>\u2503\u2570\u256F\u256F</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],L:["<c1>\u256D\u256E</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],M:["<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>","<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1>","<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2570\u256F\u2570\u256F\u2570\u256F</c1>"],N:["<c1>\u256D\u2501\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503\u2570\u256E\u2503\u2503</c1>","<c1>\u2503\u256D\u256E\u2570\u256F\u2503</c1>","<c1>\u2503\u2503\u2570\u256E\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u2501\u256F</c1>"],O:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],P:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u256F</c1><c2>\u2571\u2571\u2571</c2>"],Q:["<c1>\u256D\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u2501\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u2501\u256F\u2503\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"],R:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u256E\u256D\u256F</c1>","<c1>\u2503\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],S:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],T:["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>","<c1>\u2570\u256F\u2503\u2503\u2570\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],U:["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],V:["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>","<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2503\u2570\u256F\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],W:["<c1>\u256D\u256E\u256D\u256E\u256D\u256E</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2570\u256F\u2570\u256F\u2503</c1>","<c1>\u2570\u256E\u256D\u256E\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F\u2570\u256F</c1><c2>\u2571</c2>"],X:["<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>","<c1>\u2570\u2501\u256F\u2570\u2501\u256F</c1>"],Y:["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],Z:["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2501\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2501\u2570\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"],"0":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"1":["<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2503</c1><c2>\u2571</c2>","<c1>\u2570\u256E\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2570\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],"2":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c1>\u256D\u2501\u256F\u256D\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"3":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c1>\u256D\u256E\u2570\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"4":["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u2570\u256F</c1>"],"5":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u256D\u2501\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"6":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"7":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],"8":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"9":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u256D\u2501\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"!":["<c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>"],"?":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],".":["<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>"],"+":["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2570\u256E</c1>","<c1>\u2570\u256E\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],"-":["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>","<c2>\u2571\u2571\u2571\u2571</c2>"],_:["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],"=":["<c2>\u2571\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>","<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"@":["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u2501\u2501\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u256D\u2501\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u2501\u2501\u256F\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u2501\u256F</c1>"],"#":["<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>","<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>","<c1>\u256D\u256F\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u2501\u2501\u256F</c1><c2>\u2571</c2>"],$:["<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u2501\u256F\u2570\u256E</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u2570\u256E\u256D\u2501\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],"%":["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2><c1>\u2570\u256F</c1>"],"&":["<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1>","<c2>\u2571</c2><c1>\u2503\u256D\u2501\u256F</c1>","<c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u256F\u2503\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"(":["<c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>","<c2>\u2571\u2571</c2><c1>\u2570\u2501\u256F</c1>"],")":["<c1>\u256D\u2501\u256E</c1><c2>\u2571\u2571</c2>","<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2>"],"/":["<c2>\u2571\u2571\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571\u2571\u2571</c2>"],":":["<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c2>\u2571\u2571</c2>"],";":["<c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u252B</c1>","<c2>\u2571</c2><c1>\u256F</c1>"],",":["<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u252B</c1>","<c2>\u2571</c2><c1>\u256F</c1>"],"'":["<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>"],'"':["<c1>\u256D\u256E\u256D\u256E</c1>","<c1>\u2570\u256F\u2570\u256F</c1>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>"]," ":["<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>"]}},i0={name:"tiny",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:1,lines:2,buffer:["",""],letterspace:[" "," "],letterspace_size:1,chars:{A:["\u2584\u2580\u2588","\u2588\u2580\u2588"],B:["\u2588\u2584\u2584","\u2588\u2584\u2588"],C:["\u2588\u2580\u2580","\u2588\u2584\u2584"],D:["\u2588\u2580\u2584","\u2588\u2584\u2580"],E:["\u2588\u2580\u2580","\u2588\u2588\u2584"],F:["\u2588\u2580\u2580","\u2588\u2580 "],G:["\u2588\u2580\u2580","\u2588\u2584\u2588"],H:["\u2588 \u2588","\u2588\u2580\u2588"],I:["\u2588","\u2588"],J:[" \u2588","\u2588\u2584\u2588"],K:["\u2588\u2584\u2580","\u2588 \u2588"],L:["\u2588 ","\u2588\u2584\u2584"],M:["\u2588\u2580\u2584\u2580\u2588","\u2588 \u2580 \u2588"],N:["\u2588\u2584 \u2588","\u2588 \u2580\u2588"],O:["\u2588\u2580\u2588","\u2588\u2584\u2588"],P:["\u2588\u2580\u2588","\u2588\u2580\u2580"],Q:["\u2588\u2580\u2588","\u2580\u2580\u2588"],R:["\u2588\u2580\u2588","\u2588\u2580\u2584"],S:["\u2588\u2580\u2580","\u2584\u2584\u2588"],T:["\u2580\u2588\u2580"," \u2588 "],U:["\u2588 \u2588","\u2588\u2584\u2588"],V:["\u2588 \u2588","\u2580\u2584\u2580"],W:["\u2588 \u2588 \u2588","\u2580\u2584\u2580\u2584\u2580"],X:["\u2580\u2584\u2580","\u2588 \u2588"],Y:["\u2588\u2584\u2588"," \u2588 "],Z:["\u2580\u2588","\u2588\u2584"],"0":["\u259E\u2588\u259A","\u259A\u2588\u259E"],"1":["\u2584\u2588"," \u2588"],"2":["\u2580\u2588","\u2588\u2584"],"3":["\u2580\u2580\u2588","\u2584\u2588\u2588"],"4":["\u2588 \u2588","\u2580\u2580\u2588"],"5":["\u2588\u2580","\u2584\u2588"],"6":["\u2588\u2584\u2584","\u2588\u2584\u2588"],"7":["\u2580\u2580\u2588"," \u2588"],"8":["\u2588\u2588\u2588","\u2588\u2584\u2588"],"9":["\u2588\u2580\u2588","\u2580\u2580\u2588"],"!":["\u2588","\u2584"],"?":["\u2580\u2588"," \u2584"],".":[" ","\u2584"],"+":["\u2584\u2588\u2584"," \u2580 "],"-":["\u2584\u2584"," "],_:[" ","\u2584\u2584"],"=":["\u2580\u2580","\u2580\u2580"],"@":["\u259B\u2588\u259C","\u2599\u259F\u2583"],"#":["\u259F\u2584\u2599","\u259C\u2580\u259B"],$:["\u2596\u2588\u2597","\u2598\u2588\u259D"],"%":["\u2580 \u2584\u2580","\u2584\u2580 \u2584"],"&":["\u2584\u2584\u2588","\u2588\u2584\u2588"],"(":["\u2584\u2580","\u2580\u2584"],")":["\u2580\u2584","\u2584\u2580"],"/":[" \u2584\u2580","\u2584\u2580 "],":":["\u2580","\u2584"],";":[" ","\u2584\u2580"],",":[" ","\u2588"],"'":["\u2580"," "],'"':["\u259B \u259C"," "]," ":[" "," "]}},n0={name:"huge",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:11,buffer:["","","","","","","","","","",""],letterspace:[" "," "," "," "," "," "," "," "," "," "," "],letterspace_size:1,chars:{A:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],B:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],C:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],D:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],E:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],F:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],G:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],H:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],I:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],J:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],K:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],L:[" <c1>\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],M:[" <c1>\u2584\u2584 \u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],N:[" <c1>\u2584\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580\u2580</c1> "],O:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],P:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],Q:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],R:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],S:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],T:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],U:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],V:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],W:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580 \u2580\u2580</c1> "],X:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],Y:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],Z:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"0":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"1":[" <c1>\u2584\u2584\u2584\u2584</c1> "," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580 \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"2":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"3":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"4":[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580</c1> "],"5":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"6":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"7":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],"8":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"9":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"!":[" <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "],"?":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580 \u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "," <c1>\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "],".":[" "," "," "," "," "," "," "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "],"+":[" "," "," <c1>\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "," "," "],"-":[" "," "," "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," "," "," "],_:[" "," "," "," "," "," "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "],"=":[" "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," "],"@":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u2588 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2584\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"#":[" <c1>\u2584 \u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580 \u2580</c1> "],$:[" <c1>\u2584</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2580</c1> "],"%":[" <c1>\u2584</c1> "," <c1>\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580</c1> "," <c1>\u2580</c1> "],"&":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580 \u2580</c1> "],"(":[" <c1>\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "],")":[" <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "],"/":[" <c1>\u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],":":[" "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," "],";":[" "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u258C</c1> "," <c1>\u2580</c1> "," "],",":[" "," "," "," "," "," "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u258C</c1> "," <c1>\u2580</c1> "],"'":[" <c1>\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>"," <c1>\u2580</c1> "," "," "," "," "," "," "," "],'"':[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>"," <c1>\u2580 \u2580</c1> "," "," "," "," "," "," "," "]," ":[" "," "," "," "," "," "," "," "," "," "," "]}},o0={name:"grid",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>"],letterspace_size:1,chars:{A:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],B:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],C:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],D:["<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u250F\u2501\u251B\u2503</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],E:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u2503\u2501\u252B</c1>","<c1>\u2503\u2503\u2501\u252B</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],F:["<c2>\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],G:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],H:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],I:["<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>"],J:["<c2>\u254B</c2><c1>\u250F\u2513</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1>","<c2>\u254B</c2><c1>\u250F\u2513</c1>","<c2>\u254B</c2><c1>\u2503\u2503</c1>","<c1>\u250F\u251B\u2503</c1>","<c1>\u2517\u2501\u251B</c1>"],K:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2503\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u251B</c1>","<c1>\u2503\u250F\u2513\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],L:["<c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2517\u2513</c1>","<c1>\u2517\u2501\u251B</c1>","<c2>\u254B\u254B\u254B</c2>"],M:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u253B\u253B\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],N:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u250F\u2513\u2513</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],O:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],P:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2503\u250F\u2501\u251B</c1>","<c1>\u2517\u251B</c1><c2>\u254B\u254B</c2>"],Q:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"],R:["<c2>\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2513</c1>","<c1>\u2503\u250F\u251B</c1>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B</c2>"],S:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u2501\u2501\u252B</c1>","<c1>\u2523\u2501\u2501\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],T:["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2503\u2517\u2513</c1>","<c2>\u254B</c2><c1>\u2517\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],U:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],V:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],W:["<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2517\u251B\u2503</c1>","<c1>\u2517\u2513\u250F\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>"],X:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2517\u254B\u254B\u251B</c1>","<c1>\u250F\u254B\u254B\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],Y:["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u250F\u251B</c1>","<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],Z:["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2523\u2501\u2501\u2503\u2503</c1>","<c1>\u2503\u2503\u2501\u2501\u252B</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],"0":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"1":["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u2513\u2503</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],"2":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c1>\u250F\u2501\u251B\u250F\u251B</c1>","<c1>\u2503\u2517\u2501\u253B\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"3":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c1>\u250F\u2513\u2517\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"4":["<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1><c2>\u254B</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u2503\u2503</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u2517\u251B</c1>"],"5":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c1>\u250F\u2501\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"6":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"7":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],"8":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"9":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c1>\u250F\u2501\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"!":["<c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>"],"?":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],".":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>"],"+":["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],"-":["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],_:["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],"=":["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],"@":["<c1>\u250F\u2501\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u250F\u2501\u2501\u2513\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503\u250F\u2501\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503\u2517\u251B\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2517\u2501\u2501\u251B\u2517\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u2501\u2501\u251B</c1>"],"#":["<c2>\u254B</c2><c1>\u250F\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u250F\u2501\u2513\u2517\u2513</c1>","<c1>\u2517\u2513\u2503\u2503\u2503\u250F\u251B</c1>","<c1>\u250F\u251B\u2503\u2503\u2503\u2517\u2513</c1>","<c1>\u2517\u2513\u2517\u2501\u251B\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u2501\u2501\u2501\u251B</c1><c2>\u254B</c2>"],$:["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2503\u2501\u2501\u252B</c1>","<c1>\u2523\u2501\u2501\u2503</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],"%":["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c1>\u2517\u251B</c1><c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"],"&":["<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u250F\u2501\u251B\u2517\u2513</c1>","<c1>\u2503\u250F\u2513\u250F\u251B</c1>","<c1>\u2503\u2517\u251B\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>"],"(":["<c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>","<c2>\u254B\u254B</c2><c1>\u2517\u2501\u251B</c1>"],")":["<c1>\u250F\u2501\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2>"],"/":["<c2>\u254B\u254B\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B\u254B</c2>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B\u254B\u254B</c2>"],":":["<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>"],";":["<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u252B</c1>"],",":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u252B</c1>"],"'":["<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>"],'"':["<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"]," ":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>"]}},r0={name:"pallet",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>"],letterspace_size:1,chars:{A:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"],B:["<c1>\u2554\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u255D\u255A\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],C:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],D:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2557\u2554\u2557\u2551</c1>","<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>","<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>","<c1>\u2554\u255D\u255A\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],E:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],F:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"],G:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>","<c1>\u2551\u2551\u2554\u2550\u2557</c1>","<c1>\u2551\u255A\u2569\u2550\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],H:["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"],I:["<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2563\u2560\u255D</c1>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u2563\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],J:["<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2554\u2557\u2551\u2551</c1>","<c1>\u2551\u255A\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],K:["<c1>\u2554\u2557\u2554\u2550\u2557</c1>","<c1>\u2551\u2551\u2551\u2554\u255D</c1>","<c1>\u2551\u255A\u255D\u255D</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u2551\u255A\u2557</c1>","<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],L:["<c1>\u2554\u2557</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],M:["<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>","<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1>","<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u255A\u255D\u255A\u255D\u255A\u255D</c1>"],N:["<c1>\u2554\u2550\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>","<c1>\u2551\u2554\u2557\u255A\u255D\u2551</c1>","<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u2550\u255D</c1>"],O:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],P:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"],Q:["<c1>\u2554\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2550\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u2550\u255D\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"],R:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2557\u2554\u255D</c1>","<c1>\u2551\u2551\u2551\u255A\u2557</c1>","<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],S:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],T:["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>","<c1>\u255A\u255D\u2551\u2551\u255A\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],U:["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],V:["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>","<c1>\u255A\u2557\u2551\u2551\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],W:["<c1>\u2554\u2557\u2554\u2557\u2554\u2557</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u255A\u255D\u255A\u255D\u2551</c1>","<c1>\u255A\u2557\u2554\u2557\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u255D\u255A\u255D</c1><c2>\u2500</c2>"],X:["<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>","<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u255A\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2554\u2557\u255A\u2557</c1>","<c1>\u255A\u2550\u255D\u255A\u2550\u255D</c1>"],Y:["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>","<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],Z:["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2550\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2550\u255A\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"],"0":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"1":["<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2551</c1><c2>\u2500</c2>","<c1>\u255A\u2557\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u255A\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],"2":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c1>\u2554\u2550\u255D\u2554\u255D</c1>","<c1>\u2551\u2551\u255A\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"3":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c1>\u2554\u2557\u255A\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"4":["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u255A\u255D</c1>"],"5":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2554\u2550\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"6":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"7":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],"8":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"9":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2554\u2550\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"!":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>"],"?":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],".":["<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>"],"+":["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u255A\u2557</c1>","<c1>\u255A\u2557\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],"-":["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>"],_:["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],"=":["<c2>\u2500\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>","<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>","<c2>\u2500\u2500\u2500\u2500\u2500</c2>"],"@":["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2550\u2550\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u2554\u2550\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u2550\u2550\u255D\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c1>"],"#":["<c2>\u2500</c2><c1>\u2554\u2569\u2569\u2569\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2554\u2550\u2557\u255A\u2557</c1>","<c1>\u255A\u2557\u2560\u2550\u2563\u2554\u255D</c1>","<c1>\u2554\u255D\u2560\u2550\u2563\u255A\u2557</c1>","<c1>\u255A\u2557\u255A\u2550\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2566\u2566\u2566\u255D</c1><c2>\u2500</c2>"],$:["<c1>\u2554\u255D\u2569\u255A\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2557\u2566\u2554\u255D</c1>"],"%":["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2><c1>\u255A\u255D</c1>"],"&":["<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u2550\u255D\u255A\u2557</c1>","<c1>\u2551\u2554\u2557\u2554\u255D</c1>","<c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>","<c1>\u255A\u2550\u2550\u255D</c1><c2>\u2500</c2>"],"(":["<c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>","<c2>\u2500\u2500</c2><c1>\u255A\u2550\u255D</c1>"],")":["<c1>\u2554\u2550\u2557</c1><c2>\u2500\u2500</c2>","<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2>"],"/":["<c2>\u2500\u2500\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500\u2500\u2500</c2>"],":":["<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>","<c2>\u2500\u2500</c2>"],";":["<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u2563</c1>","<c2>\u2500</c2><c1>\u255D</c1>"],",":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u2563</c1>","<c2>\u2500</c2><c1>\u255D</c1>"],"'":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>"],'"':["<c1>\u2554\u2557\u2554\u2557</c1>","<c1>\u2551\u2551\u2551\u2551</c1>","<c1>\u255A\u255D\u255A\u255D</c1>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>"]," ":["<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>"]}},Z4={tiny:i0,block:d0,shade:t0,slick:s0,huge:n0,grid:o0,pallet:r0},HM={};aA={NONE:0,BOLD:1,DIM:2,ITALIC:4,UNDERLINE:8,BLINK:16,INVERSE:32,HIDDEN:64,STRIKETHROUGH:128};((A)=>{A[A.topLeft=0]="topLeft",A[A.topRight=1]="topRight",A[A.bottomLeft=2]="bottomLeft",A[A.bottomRight=3]="bottomRight"})(G4||={});((A)=>{A[A.FG=1]="FG",A[A.BG=2]="BG",A[A.Both=3]="Both"})(M4||={});O4=Symbol.for("@opentui/core/StyledText");OE=class OE{[O4]=!0;chunks;constructor(A){this.chunks=A}};bM={27:"escape",9:"tab",13:"return",127:"backspace",57344:"escape",57345:"return",57346:"tab",57347:"backspace",57348:"insert",57349:"delete",57350:"left",57351:"right",57352:"up",57353:"down",57354:"pageup",57355:"pagedown",57356:"home",57357:"end",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57364:"f1",57365:"f2",57366:"f3",57367:"f4",57368:"f5",57369:"f6",57370:"f7",57371:"f8",57372:"f9",57373:"f10",57374:"f11",57375:"f12",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24",57388:"f25",57389:"f26",57390:"f27",57391:"f28",57392:"f29",57393:"f30",57394:"f31",57395:"f32",57396:"f33",57397:"f34",57398:"f35",57399:"kp0",57400:"kp1",57401:"kp2",57402:"kp3",57403:"kp4",57404:"kp5",57405:"kp6",57406:"kp7",57407:"kp8",57408:"kp9",57409:"kpdecimal",57410:"kpdivide",57411:"kpmultiply",57412:"kpminus",57413:"kpplus",57414:"kpenter",57415:"kpequal",57416:"kpseparator",57417:"kpleft",57418:"kpright",57419:"kpup",57420:"kpdown",57421:"kppageup",57422:"kppagedown",57423:"kphome",57424:"kpend",57425:"kpinsert",57426:"kpdelete",57427:"clear",57428:"mediaplay",57429:"mediapause",57430:"mediaplaypause",57431:"mediareverse",57432:"mediastop",57433:"mediafastforward",57434:"mediarewind",57435:"medianext",57436:"mediaprev",57437:"mediarecord",57438:"volumedown",57439:"volumeup",57440:"mute",57441:"leftshift",57442:"leftctrl",57443:"leftalt",57444:"leftsuper",57445:"lefthyper",57446:"leftmeta",57447:"rightshift",57448:"rightctrl",57449:"rightalt",57450:"rightsuper",57451:"righthyper",57452:"rightmeta",57453:"iso_level3_shift",57454:"iso_level5_shift"},_8=[...new Set(Object.values(bM))],j8={kp0:"0",kp1:"1",kp2:"2",kp3:"3",kp4:"4",kp5:"5",kp6:"6",kp7:"7",kp8:"8",kp9:"9",kpdecimal:".",kpdivide:"/",kpmultiply:"*",kpminus:"-",kpplus:"+",kpequal:"=",kpseparator:","};a8={A:"up",B:"down",C:"right",D:"left",H:"home",F:"end",E:"clear",P:"f1",Q:"f2",S:"f4"},K8={"1":"home","2":"insert","3":"delete","4":"end","5":"pageup","6":"pagedown","7":"home","8":"end","11":"f1","12":"f2","13":"f3","14":"f4","15":"f5","17":"f6","18":"f7","19":"f8","20":"f9","21":"f10","23":"f11","24":"f12","29":"menu","57427":"clear"};G8=/^(?:\x1b)([a-zA-Z0-9])$/,M8=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,$4={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[29~":"menu","[57427~":"clear","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home","[P":"f1","[Q":"f2","[S":"f4",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home",OM:"return",Oj:"*",Ok:"+",Ol:",",Om:"-",On:".",Oo:"/",Op:"0",Oq:"1",Or:"2",Os:"3",Ot:"4",Ou:"5",Ov:"6",Ow:"7",Ox:"8",Oy:"9",OX:"=","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear",f:"right",b:"left",p:"up",n:"down","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},H4=[...Object.values($4),"backspace"],O8=[...new Set(["return","linefeed","tab","escape","space",...H4,..._8])],$8={Op:"0",Oq:"1",Or:"2",Os:"3",Ot:"4",Ou:"5",Ov:"6",Ow:"7",Ox:"8",Oy:"9",Oj:"*",Ok:"+",Ol:",",Om:"-",On:".",Oo:"/",OX:"="},H8=/^\x1b\[27;(\d+);(\d+)~$/;zF=class zF{mouseButtonsPressed=new Set;static SCROLL_DIRECTIONS={0:"up",1:"down",2:"left",3:"right"};reset(){this.mouseButtonsPressed.clear()}decodeInput(A){return(Buffer.isBuffer(A)?A:Buffer.from(A.buffer,A.byteOffset,A.byteLength)).toString("latin1")}parseMouseEvent(A){let q=this.decodeInput(A);return this.parseMouseSequenceAt(q,0)?.event??null}parseAllMouseEvents(A){let q=this.decodeInput(A),E=[],g=0;while(g<q.length){let j=this.parseMouseSequenceAt(q,g);if(!j)break;E.push(j.event),g+=j.consumed}return E}parseMouseSequenceAt(A,q){if(!A.startsWith("\x1B[",q))return null;let E=A[q+2];if(E==="<")return this.parseSgrSequence(A,q);if(E==="M")return this.parseBasicSequence(A,q);return null}parseSgrSequence(A,q){let E=q+3,g=[0,0,0],j=0,a=!1;while(E<A.length){let Z=A[E],G=A.charCodeAt(E);if(G>=48&&G<=57){a=!0,g[j]=g[j]*10+(G-48),E++;continue}switch(Z){case";":{if(!a||j>=2)return null;j++,a=!1,E++;break}case"M":case"m":{if(!a||j!==2)return null;return{event:this.decodeSgrEvent(g[0],g[1],g[2],Z),consumed:E-q+1}}default:return null}}return null}parseBasicSequence(A,q){if(q+6>A.length)return null;let E=A.charCodeAt(q+3)-32,g=A.charCodeAt(q+4)-33,j=A.charCodeAt(q+5)-33;return{event:this.decodeBasicEvent(E,g,j),consumed:6}}decodeSgrEvent(A,q,E,g){let j=A&3,a=(A&64)!==0,Z=!a?void 0:zF.SCROLL_DIRECTIONS[j],G=(A&32)!==0,M={shift:(A&4)!==0,alt:(A&8)!==0,ctrl:(A&16)!==0},Y,Q;if(G){let H=this.mouseButtonsPressed.size>0;if(j===3)Y="move";else if(H)Y="drag";else Y="move"}else if(a&&g==="M")Y="scroll",Q={direction:Z,delta:1};else if(Y=g==="M"?"down":"up",Y==="down"&&j!==3)this.mouseButtonsPressed.add(j);else if(Y==="up")this.mouseButtonsPressed.delete(j);return{type:Y,button:j===3?0:j,x:q-1,y:E-1,modifiers:M,scroll:Q}}decodeBasicEvent(A,q,E){let g=A&3,j=(A&64)!==0,a=(A&32)!==0,Z=!j?void 0:zF.SCROLL_DIRECTIONS[g],G={shift:(A&4)!==0,alt:(A&8)!==0,ctrl:(A&16)!==0},M,Y,Q;if(a)M="move",Y=g===3?-1:g;else if(j)M="scroll",Y=0,Q={direction:Z,delta:1};else M=g===3?"up":"down",Y=g===3?0:g;return{type:M,button:Y,x:q,y:E,modifiers:G,scroll:Q}}};TM=jZ.from("\x1B[200~"),JM=jZ.from("\x1B[201~"),aO=new Uint8Array(0),L8=new TextDecoder,N8={kittyKeyboardEnabled:!1,privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},V8=/^\x1b\[\d+\$$/,R8=new X_;Eq({name:"OTUI_TS_STYLE_WARN",default:!1,description:"Enable warnings for missing syntax styles"});$j=new Map;l8={"assets/javascript/highlights.scm":()=>Promise.resolve().then(() => PA(NT(),1)),"assets/javascript/tree-sitter-javascript.wasm":()=>Promise.resolve().then(() => PA(VT(),1)),"assets/typescript/highlights.scm":()=>Promise.resolve().then(() => PA(RT(),1)),"assets/typescript/tree-sitter-typescript.wasm":()=>Promise.resolve().then(() => PA(IT(),1)),"assets/markdown/highlights.scm":()=>Promise.resolve().then(() => PA(hT(),1)),"assets/markdown/tree-sitter-markdown.wasm":()=>Promise.resolve().then(() => PA(ST(),1)),"assets/markdown/injections.scm":()=>Promise.resolve().then(() => PA(WT(),1)),"assets/markdown_inline/highlights.scm":()=>Promise.resolve().then(() => PA(BT(),1)),"assets/markdown_inline/tree-sitter-markdown_inline.wasm":()=>Promise.resolve().then(() => PA(xT(),1)),"assets/zig/highlights.scm":()=>Promise.resolve().then(() => PA(PT(),1)),"assets/zig/tree-sitter-zig.wasm":()=>Promise.resolve().then(() => PA(zT(),1))};AJ={darwin:"libopentui.dylib",linux:"libopentui.so",win32:"opentui.dll"};R4=`${t8}parser.worker.js`,s8=await tK(R4,()=>Promise.resolve().then(() => PA(CT(),1)),new URL("../lib/tree-sitter/parser.worker.js",import.meta.url),import.meta.url,{useAssetRoot:!1});I4=[{filetype:"javascript",aliases:["javascriptreact"],queries:{highlights:["assets/javascript/highlights.scm"]},wasm:"assets/javascript/tree-sitter-javascript.wasm"},{filetype:"typescript",aliases:["typescriptreact"],queries:{highlights:["assets/typescript/highlights.scm"]},wasm:"assets/typescript/tree-sitter-typescript.wasm"},{filetype:"markdown",queries:{highlights:["assets/markdown/highlights.scm"],injections:["assets/markdown/injections.scm"]},wasm:"assets/markdown/tree-sitter-markdown.wasm",injectionMapping:{nodeTypes:{inline:"markdown_inline",pipe_table_cell:"markdown_inline"},infoStringMap:{javascript:"javascript",js:"javascript",jsx:"javascriptreact",javascriptreact:"javascriptreact",typescript:"typescript",ts:"typescript",tsx:"typescriptreact",typescriptreact:"typescriptreact",markdown:"markdown",md:"markdown"}}},{filetype:"markdown_inline",queries:{highlights:["assets/markdown_inline/highlights.scm"]},wasm:"assets/markdown_inline/tree-sitter-markdown_inline.wasm"},{filetype:"zig",queries:{highlights:["assets/zig/highlights.scm"]},wasm:"assets/zig/tree-sitter-zig.wasm"}],gC=[...new Set(I4.flatMap((A)=>[...A.queries.highlights,A.wasm,...A.queries.injections??[]]))];Jj=globalThis,cM=fM("node:worker_threads"),aC=QI(cM);ZI=UI();Eq({name:"OTUI_TREE_SITTER_WORKER_PATH",description:"Path to the TreeSitter worker entry script",type:"string",default:""});FJ=[];ZO=class ZO extends k8{initialized=!1;worker;buffers=new Map;initializePromise;initializeResolvers;messageCallbacks=new Map;messageIdCounter=0;editQueues=new Map;debouncer;options;destroyCallbacks=new Set;lifecycleGeneration=0;rejectInitialization;destroyPromise;workerTerminationFailed=!1;constructor(A,q={}){super();if(this.options=A,this.debouncer=c8("tree-sitter-client"),q.autoStartWorker??!0)this.startWorker()}onDestroy(A){return this.destroyCallbacks.add(A),()=>{this.destroyCallbacks.delete(A)}}emitError(A,q){if(this.listenerCount("error")>0)this.emit("error",A,q)}emitWarning(A,q){if(this.listenerCount("warning")>0)this.emit("warning",A,q)}startWorker(){if(this.worker)return;let A=this.resolveWorkerPath(),q=new ZI(A);this.worker=q,q.onmessage=(E)=>{if(this.worker!==q)return;this.handleWorkerMessage(E)},q.onerror=(E)=>{if(this.worker!==q)return;console.error("TreeSitter worker error:",E.message);let g=Error(`Worker error: ${E.message}`,{cause:E.error});this.handleWorkerFailure(q,g),this.emitError(`Worker error: ${E.message}`)}}sendWorkerMessage(A){if(!this.worker)throw Error("TreeSitter worker is not available");this.worker.postMessage(A)}rejectPendingRequests(A){let q=Array.from(this.messageCallbacks.values());this.messageCallbacks.clear();for(let E of q)E.reject(A)}rejectActiveInitialization(A){if(this.initializeResolvers)clearTimeout(this.initializeResolvers.timeoutId),this.initializeResolvers.reject(A),this.initializeResolvers=void 0;this.rejectInitialization?.(A),this.rejectInitialization=void 0}handleWorkerFailure(A,q){if(this.worker!==A)return;A.onmessage=null,A.onerror=null,this.worker=void 0,this.lifecycleGeneration++,this.initialized=!1,this.initializePromise=void 0,this.rejectActiveInitialization(q),this.rejectPendingRequests(q),this.editQueues.clear(),this.buffers.clear(),this.debouncer.clear();try{Promise.resolve(A.terminate()).catch(()=>{})}catch{}}resolveWorkerPath(){if(this.options.workerPath)return this.options.workerPath;if(tA.OTUI_TREE_SITTER_WORKER_PATH)return tA.OTUI_TREE_SITTER_WORKER_PATH;if(typeof OTUI_TREE_SITTER_WORKER_PATH<"u")return OTUI_TREE_SITTER_WORKER_PATH;let A=n8(new URL("./parser.worker.js",import.meta.url));if(!process.env.OTUI_ASSET_ROOT&&!_I(A))A=new URL("./parser.worker.ts",import.meta.url).href;return A}async stopWorker(){let A=this.worker;if(!A)return;let{onmessage:q,onerror:E}=A;A.onmessage=null,A.onerror=null,this.worker=void 0;try{let g=A.terminate();if(g&&typeof g.then==="function")await g}catch(g){if(!this.worker)A.onmessage=q,A.onerror=E,this.worker=A;throw g}}async handleReset(){return this.buffers.clear(),await this.stopWorker(),this.startWorker(),this.initialized=!1,this.initializePromise=void 0,this.initializeResolvers=void 0,this.initialize()}async initialize(){if(this.destroyPromise)throw Error("Cannot initialize while client is being destroyed");if(this.workerTerminationFailed)throw Error("Cannot initialize after worker termination failed; retry destroy()");if(this.initializePromise)return this.initializePromise;if(!this.worker)this.startWorker();let A=this.worker,q=this.lifecycleGeneration,E,g=new Promise((a,Z)=>{E=Z}),j=Promise.race([this.initializeClient(q,A),g]);return this.rejectInitialization=E,this.initializePromise=j,j.then(()=>{if(this.initializePromise===j)this.rejectInitialization=void 0},()=>{if(this.initializePromise===j)this.rejectInitialization=void 0}),this.initializePromise}assertCurrentInitialization(A,q){if(this.lifecycleGeneration!==A||this.worker!==q||this.destroyPromise)throw Error("TreeSitter initialization was invalidated")}async initializeClient(A,q){let E=await o8();this.assertCurrentInitialization(A,q),await new Promise((g,j)=>{let a=this.options.initTimeout??1e4,Z=setTimeout(()=>{let G=Error("Worker initialization timed out");console.error("TreeSitter client:",G.message),this.initializeResolvers=void 0,j(G)},a);this.initializeResolvers={resolve:g,reject:j,timeoutId:Z},this.sendWorkerMessage({type:"INIT",dataPath:this.options.dataPath,treeSitterWasmPath:E})}),this.assertCurrentInitialization(A,q),await this.registerDefaultParsers(A,q),this.assertCurrentInitialization(A,q),this.initialized=!0}async registerDefaultParsers(A=this.lifecycleGeneration,q=this.worker){let E=await e8();this.assertCurrentInitialization(A,q);let g=new Set(FJ.map((j)=>j.filetype));for(let j of[...E.filter((a)=>!g.has(a.filetype)),...FJ])q.postMessage({type:"ADD_FILETYPE_PARSER",filetypeParser:this.resolveFiletypeParser(j)})}resolvePath(A){if(TI(A))return A;if(h4(A))return KI(gI(A).base);if(!EI(A))return qI(A);return A}addFiletypeParser(A){this.sendWorkerMessage({type:"ADD_FILETYPE_PARSER",filetypeParser:this.resolveFiletypeParser(A)})}resolveFiletypeParser(A){return{...A,aliases:A.aliases?[...new Set(A.aliases.filter((q)=>q!==A.filetype))]:void 0,wasm:this.resolvePath(A.wasm),queries:{highlights:A.queries.highlights.map((q)=>this.resolvePath(q)),injections:A.queries.injections?.map((q)=>this.resolvePath(q))}}}async getPerformance(){let A=`performance_${this.messageIdCounter++}`;return new Promise((q,E)=>{this.messageCallbacks.set(A,{resolve:q,reject:E});try{this.sendWorkerMessage({type:"GET_PERFORMANCE",messageId:A})}catch(g){this.messageCallbacks.delete(A),E(g instanceof Error?g:Error(String(g)))}})}async highlightOnce(A,q){if(!this.initialized)try{await this.initialize()}catch(g){return{error:"Could not highlight because of initialization error"}}let E=`oneshot_${this.messageIdCounter++}`;return new Promise((g,j)=>{this.messageCallbacks.set(E,{resolve:g,reject:j});try{this.sendWorkerMessage({type:"ONESHOT_HIGHLIGHT",content:A,filetype:q,messageId:E})}catch(a){this.messageCallbacks.delete(E),j(a instanceof Error?a:Error(String(a)))}})}handleWorkerMessage(A){let q=A.data;switch(q.type){case"HIGHLIGHT_RESPONSE":{let E=this.buffers.get(q.bufferId);if(!E||!E.hasParser)return;if(E.version!==q.version){this.resetBuffer(q.bufferId,E.version,E.content);return}this.emit("highlights:response",q.bufferId,q.version,q.highlights);return}case"INIT_RESPONSE":{if(!this.initializeResolvers)return;if(clearTimeout(this.initializeResolvers.timeoutId),q.error)console.error("TreeSitter client initialization failed:",q.error),this.initializeResolvers.reject(Error(q.error));else this.initializeResolvers.resolve();this.initializeResolvers=void 0;return}case"PARSER_INIT_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve({hasParser:q.hasParser,warning:q.warning,error:q.error});return}case"PRELOAD_PARSER_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve({hasParser:q.hasParser});return}case"BUFFER_DISPOSED":{let E=this.messageCallbacks.get(`dispose_${q.bufferId}`);if(E)this.messageCallbacks.delete(`dispose_${q.bufferId}`),E.resolve(!0);this.emit("buffer:disposed",q.bufferId);return}case"PERFORMANCE_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve(q.performance);return}case"ONESHOT_HIGHLIGHT_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve({highlights:q.highlights,warning:q.warning,error:q.error});return}case"UPDATE_DATA_PATH_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve({error:q.error});return}case"CLEAR_CACHE_RESPONSE":{let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.resolve({error:q.error});return}case"WARNING":{this.emitWarning(q.warning,q.bufferId);return}case"ERROR":{if(q.messageId){let E=this.messageCallbacks.get(q.messageId);if(E)this.messageCallbacks.delete(q.messageId),E.reject(Error(q.error))}this.emitError(q.error,q.bufferId);return}case"WORKER_LOG":{this.emit("worker:log",q.logType,q.data.join(" "));return}}}async preloadParser(A){let q=`has_parser_${this.messageIdCounter++}`;return(await new Promise((g,j)=>{this.messageCallbacks.set(q,{resolve:g,reject:j});try{this.sendWorkerMessage({type:"PRELOAD_PARSER",filetype:A,messageId:q})}catch(a){this.messageCallbacks.delete(q),j(a instanceof Error?a:Error(String(a)))}})).hasParser}async createBuffer(A,q,E,g=1,j=!0){if(!this.initialized){if(!j)return this.emitError("Could not create buffer because client is not initialized"),!1;try{await this.initialize()}catch(M){return this.emitError("Could not create buffer because of initialization error"),!1}}if(this.buffers.has(A))throw Error(`Buffer with id ${A} already exists`);this.buffers.set(A,{id:A,content:q,filetype:E,version:g,hasParser:!1});let a=`init_${this.messageIdCounter++}`,Z=await new Promise((M,Y)=>{this.messageCallbacks.set(a,{resolve:M,reject:Y});try{this.sendWorkerMessage({type:"INITIALIZE_PARSER",bufferId:A,version:g,content:q,filetype:E,messageId:a})}catch(Q){this.messageCallbacks.delete(a),Y(Q instanceof Error?Q:Error(String(Q)))}});if(!Z.hasParser){if(this.emit("buffer:initialized",A,!1),E!=="plaintext")this.emitWarning(Z.warning||Z.error||"Buffer has no parser",A);return!1}let G={id:A,content:q,filetype:E,version:g,hasParser:!0};return this.buffers.set(A,G),this.emit("buffer:initialized",A,!0),!0}async updateBuffer(A,q,E,g){if(!this.initialized)return;let j=this.buffers.get(A);if(!j||!j.hasParser)return;if(this.buffers.set(A,{...j,content:E,version:g}),!this.editQueues.has(A))this.editQueues.set(A,new V4((Z)=>this.processEdit(A,Z.edits,Z.newContent,Z.version,Z.isReset)));this.editQueues.get(A).enqueue({edits:q,newContent:E,version:g})}async processEdit(A,q,E,g,j=!1){this.sendWorkerMessage({type:j?"RESET_BUFFER":"HANDLE_EDITS",bufferId:A,version:g,content:E,edits:q})}async removeBuffer(A){if(!this.initialized)return;if(this.buffers.delete(A),this.editQueues.has(A))this.editQueues.get(A)?.clear(),this.editQueues.delete(A);if(this.worker)await new Promise((q,E)=>{let g=`dispose_${A}`;this.messageCallbacks.set(g,{resolve:q,reject:E});try{this.sendWorkerMessage({type:"DISPOSE_BUFFER",bufferId:A})}catch(j){console.error("Error disposing buffer",j),this.messageCallbacks.delete(g),q(!1)}setTimeout(()=>{if(this.messageCallbacks.has(g))this.messageCallbacks.delete(g),console.warn({bufferId:A},"Timed out waiting for buffer to be disposed"),q(!1)},3000)});this.debouncer.clearDebounce(`reset-${A}`)}destroy(){if(this.destroyPromise)return this.destroyPromise;let A,q,E=new Promise((j,a)=>{A=j,q=a});this.destroyPromise=E;let g=Error("Client destroyed during initialization");this.lifecycleGeneration++,this.initialized=!1,this.initializePromise=void 0,this.rejectActiveInitialization(g),this.rejectPendingRequests(Error("TreeSitter client destroyed"));for(let j of this.destroyCallbacks)try{j()}catch(a){console.error("TreeSitter client destroy callback failed:",a)}return this.destroyCallbacks.clear(),f8("tree-sitter-client"),this.debouncer.clear(),this.editQueues.clear(),this.buffers.clear(),this.stopWorker().then(()=>{if(this.workerTerminationFailed=!1,this.destroyPromise===E)this.destroyPromise=void 0;A()},(j)=>{if(this.workerTerminationFailed=!0,this.destroyPromise===E)this.destroyPromise=void 0;q(j)}),E}async resetBuffer(A,q,E){if(!this.initialized)return;let g=this.buffers.get(A);if(!g||!g.hasParser){this.emitError("Cannot reset buffer with no parser",A);return}this.buffers.set(A,{...g,content:E,version:q}),this.debouncer.debounce(`reset-${A}`,10,()=>this.processEdit(A,[],E,q,!0))}getBuffer(A){return this.buffers.get(A)}getAllBuffers(){return Array.from(this.buffers.values())}isInitialized(){return this.initialized}async setDataPath(A){if(this.options.dataPath===A)return;if(this.options.dataPath=A,this.initialized&&this.worker){let q=`update_datapath_${this.messageIdCounter++}`;return new Promise((E,g)=>{this.messageCallbacks.set(q,{resolve:(j)=>{if(j.error)g(Error(j.error));else E()},reject:g});try{this.sendWorkerMessage({type:"UPDATE_DATA_PATH",dataPath:A,messageId:q})}catch(j){this.messageCallbacks.delete(q),g(j instanceof Error?j:Error(String(j)))}})}}async clearCache(){if(!this.initialized||!this.worker)throw Error("Cannot clear cache: client is not initialized");let A=`clear_cache_${this.messageIdCounter++}`;return new Promise((q,E)=>{this.messageCallbacks.set(A,{resolve:(g)=>{if(g.error)E(Error(g.error));else q()},reject:E});try{this.sendWorkerMessage({type:"CLEAR_CACHE",messageId:A})}catch(g){this.messageCallbacks.delete(A),E(g instanceof Error?g:Error(String(g)))}})}};Eq({name:"XDG_CONFIG_HOME",description:"Base directory for user-specific configuration files",type:"string",default:""});Eq({name:"XDG_DATA_HOME",description:"Base directory for user-specific data files",type:"string",default:""});UO=class UO extends JI{_appName;_globalConfigPath;_globalConfigFile;_localConfigFile;_globalDataPath;constructor(){super();this._appName="opentui"}get appName(){return this._appName}set appName(A){if(!XI(A))throw Error(`Invalid app name "${A}": must be a valid directory name`);if(this._appName!==A)this._appName=A,this._globalConfigPath=void 0,this._globalConfigFile=void 0,this._localConfigFile=void 0,this._globalDataPath=void 0,this.emit("paths:changed",this.toObject())}get globalConfigPath(){if(this._globalConfigPath===void 0){let A=aJ.homedir(),E=tA.XDG_CONFIG_HOME||Rg.join(A,".config");this._globalConfigPath=Rg.join(E,this._appName)}return this._globalConfigPath}get globalConfigFile(){if(this._globalConfigFile===void 0)this._globalConfigFile=Rg.join(this.globalConfigPath,"init.ts");return this._globalConfigFile}get localConfigFile(){if(this._localConfigFile===void 0)this._localConfigFile=Rg.join(process.cwd(),`.${this._appName}.ts`);return this._localConfigFile}get globalDataPath(){if(this._globalDataPath===void 0){let A=aJ.homedir(),E=tA.XDG_DATA_HOME||Rg.join(A,".local/share");this._globalDataPath=Rg.join(E,this._appName)}return this._globalDataPath}toObject(){return{globalConfigPath:this.globalConfigPath,globalConfigFile:this.globalConfigFile,localConfigFile:this.localConfigFile,globalDataPath:this.globalDataPath}}};B4=new Map([["astro","astro"],["bash","bash"],["c","c"],["cc","cpp"],["cjs","javascript"],["clj","clojure"],["cljs","clojure"],["cljc","clojure"],["cpp","cpp"],["cxx","cpp"],["cs","csharp"],["cts","typescript"],["ctsx","typescriptreact"],["dart","dart"],["diff","diff"],["edn","clojure"],["go","go"],["gemspec","ruby"],["groovy","groovy"],["h","c"],["handlebars","handlebars"],["hbs","handlebars"],["hpp","cpp"],["hxx","cpp"],["h++","cpp"],["hh","cpp"],["hrl","erlang"],["hs","haskell"],["htm","html"],["html","html"],["ini","ini"],["js","javascript"],["jsx","javascriptreact"],["jl","julia"],["json","json"],["ksh","bash"],["kt","kotlin"],["kts","kotlin"],["latex","latex"],["less","less"],["lua","lua"],["markdown","markdown"],["md","markdown"],["mdown","markdown"],["mkd","markdown"],["mjs","javascript"],["ml","ocaml"],["mli","ocaml"],["mts","typescript"],["mtsx","typescriptreact"],["patch","diff"],["php","php"],["pl","perl"],["pm","perl"],["ps1","powershell"],["psm1","powershell"],["py","python"],["pyi","python"],["r","r"],["rb","ruby"],["rake","ruby"],["rs","rust"],["ru","ruby"],["sass","sass"],["sc","scala"],["scala","scala"],["scss","scss"],["sh","bash"],["sql","sql"],["svelte","svelte"],["swift","swift"],["ts","typescript"],["tsx","typescriptreact"],["tex","latex"],["toml","toml"],["vue","vue"],["vim","vim"],["xml","xml"],["xsl","xsl"],["yaml","yaml"],["yml","yaml"],["zig","zig"],["zon","zig"],["zsh","bash"],["c++","cpp"],["erl","erlang"],["exs","elixir"],["ex","elixir"],["elm","elm"],["fsharp","fsharp"],["fs","fsharp"],["fsx","fsharp"],["fsscript","fsharp"],["fsi","fsharp"],["java","java"],["css","css"]]),uK=new Map([[".bash_aliases","bash"],[".bash_logout","bash"],[".bash_profile","bash"],[".bashrc","bash"],[".kshrc","bash"],[".profile","bash"],[".vimrc","vim"],[".zlogin","bash"],[".zlogout","bash"],[".zprofile","bash"],[".zshenv","bash"],[".zshrc","bash"],["appfile","ruby"],["berksfile","ruby"],["brewfile","ruby"],["cheffile","ruby"],["containerfile","dockerfile"],["dockerfile","dockerfile"],["fastfile","ruby"],["gemfile","ruby"],["gnumakefile","make"],["gvimrc","vim"],["guardfile","ruby"],["makefile","make"],["podfile","ruby"],["rakefile","ruby"],["thorfile","ruby"],["vagrantfile","ruby"]]);VI=new X_;Eq({name:"OTUI_PALETTE_IDLE_TIMEOUT_MS",description:"Milliseconds of silence after palette queries before using fallback colors.",type:"number",default:300});WK=/\x1b]4;(\d+);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g,ZJ=/\x1b](\d+);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g;II=MA.fromInts(...oM),hI=MA.fromInts(...rM);WI=new TextDecoder;((A)=>{A[A.Clipboard=0]="Clipboard",A[A.Primary=1]="Primary",A[A.Select=2]="Select",A[A.Secondary=3]="Secondary"})(D4||={});GJ=["markup.link.url","string.special.url"],BI=/https?:\/\//i,xI=/https?:\/\/[^\s<>"`]+/gi;m4=await DI();kE=m4.ptr,RM=m4.toArrayBuffer;Vq=process.arch==="x64"||process.arch==="arm64"?8:4,pK=typeof process<"u"&&"bun"in process.versions,Pg={u8:1,bool_u8:1,bool_u32:4,u16:2,i16:2,u32:4,u64:8,f32:4,f64:8,pointer:Vq,i32:4,i64:8},bI=Object.keys(Pg);YJ={...Pg},kI={u8:(A,q)=>A.getUint8(q),bool_u8:(A,q)=>Boolean(A.getUint8(q)),bool_u32:(A,q)=>Boolean(A.getUint32(q,!0)),u16:(A,q)=>A.getUint16(q,!0),i16:(A,q)=>A.getInt16(q,!0),u32:(A,q)=>A.getUint32(q,!0),u64:(A,q)=>A.getBigUint64(q,!0),f32:(A,q)=>A.getFloat32(q,!0),f64:(A,q)=>A.getFloat64(q,!0),i32:(A,q)=>A.getInt32(q,!0),i64:(A,q)=>A.getBigInt64(q,!0),pointer:(A,q)=>Vq===8?A.getBigUint64(q,!0):BigInt(A.getUint32(q,!0))};hM=new WeakMap,M_=new WeakSet;({pack:Nq,unpack:CK}=xg("pointer")),SM=Vq===8&&pK?(A,q)=>Number(A.getBigUint64(q,!0)):CK,lM=new WeakMap;JJ=new TextEncoder,q5=new TextDecoder;XJ=uA([["text","char*"],["text_len","u64",{lengthOf:"text"}],["fg","pointer",{optional:!0,packTransform:uM,unpackTransform:pM}],["bg","pointer",{optional:!0,packTransform:uM,unpackTransform:pM}],["attributes","u32",{default:0}],["link","char*",{default:""}],["link_len","u64",{lengthOf:"link"}]],{mapValue:(A)=>{let q=vM(A.fg??null),E=vM(A.bg??null);if(!A.link||typeof A.link==="string")return{...A,fg:q?.rgba??null,bg:E?.rgba??null};return{...A,fg:q?.rgba??null,bg:E?.rgba??null,link:A.link.url}}}),BK=uA([["start","u32"],["end","u32"],["styleId","u32"],["priority","u8",{default:0}],["hlRef","u16",{default:0}]]),Mj=uA([["row","u32"],["col","u32"],["offset","u32"]]),O_=uA([["visualRow","u32"],["visualCol","u32"],["logicalRow","u32"],["logicalCol","u32"],["offset","u32"]]),E5=wF({wcwidth:0,unicode:1,"unicode-wide":3},"u8"),g5=wF({none:0,tmux:1,zellij:2,screen:3,unknown:4},"u8"),_5=wF({unknown:0,supported:1,unsupported:2},"u8"),j5=wF({auto:0,kitty:1,sixel:2,blocks:3},"u8"),LJ=uA([["kitty_keyboard","bool_u8"],["kitty_graphics","bool_u8"],["rgb","bool_u8"],["ansi256","bool_u8"],["unicode",E5],["sgr_pixels","bool_u8"],["color_scheme_updates","bool_u8"],["explicit_width","bool_u8"],["scaled_text","bool_u8"],["sixel","bool_u8"],["focus_tracking","bool_u8"],["sync","bool_u8"],["bracketed_paste","bool_u8"],["hyperlinks","bool_u8"],["osc52","bool_u8"],["notifications","bool_u8"],["explicit_cursor_positioning","bool_u8"],["remote","bool_u8"],["multiplexer",g5],["image_protocol",j5],["term_name","char*"],["term_name_len","u64",{lengthOf:"term_name"}],["term_version","char*"],["term_version_len","u64",{lengthOf:"term_version"}],["term_from_xtversion","bool_u8"],["osc52_support",_5]]),NJ=uA([["width","u8"],["char","u32"]]),xK=uA([["width","u32"],["height","u32"],["sourceWidth","u32"],["sourceHeight","u32"],["format","u32"],["colorStatus","u32"],["orientation","u32"],["hasAlpha","u32"]]),VJ=uA([["x","i32"],["y","i32"],["width","u32"],["height","u32"],["pixelWidth","u32"],["pixelHeight","u32"],["sourceX","u32"],["sourceY","u32"],["sourceWidth","u32"],["sourceHeight","u32"],["protocol","u32"]]),UE=uA([["startCols",["u32"]],["startColsLen","u32",{lengthOf:"startCols"}],["widthCols",["u32"]],["widthColsLen","u32",{lengthOf:"widthCols"}],["sources",["u32"]],["sourcesLen","u32",{lengthOf:"sources"}],["wraps",["u32"]],["wrapsLen","u32",{lengthOf:"wraps"}],["widthColsMax","u32"]]),RJ=uA([["lineCount","u32"],["widthColsMax","u32"]]),IJ=uA([["x","u32"],["y","u32"],["visible","bool_u8"],["style","u8"],["blinking","bool_u8"],["r","f32"],["g","f32"],["b","f32"],["a","f32"]]),hJ=uA([["x","u16"],["y","u16"],["hasValue","bool_u8"],["visible","bool_u8"],["blinking","bool_u8"],["wideTail","bool_u8"],["style","u8"],["colorHasValue","bool_u8"],["colorR","u8"],["colorG","u8"],["colorB","u8"],["padding","u8"]]),SJ=uA([["action","u8"],["composing","u8"],["mods","u16"],["consumedMods","u16"],["padding","u16"],["unshiftedCodepoint","u32"]]),F5=uA([["style","u8",{default:255}],["blinking","u8",{default:255}],["color","pointer",{optional:!0,packTransform:uM,unpackTransform:pM}],["cursor","u8",{default:255}]]),WJ=uA([["drawInner","bool_u8",{default:!0}],["drawOuter","bool_u8",{default:!0}]]),BJ=uA([["gpaSafeStats","bool_u8"],["gpaMemoryLimitTracking","bool_u8"]]),xJ=uA([["totalRequestedBytes","u64"],["activeAllocations","u64"],["smallAllocations","u64"],["largeAllocations","u64"],["requestedBytesValid","bool_u8"]]),PJ=uA([["lastFrameTime","f64"],["averageFrameTime","f64"],["renderTime","f64"],["stdoutWriteTime","f64"],["frameCount","u64"],["cellsUpdated","u32"],["averageCellsUpdated","u32"],["renderTimeValid","bool_u8"],["stdoutWriteTimeValid","bool_u8"]]),a5=wF({grow:0,block:1},"u8"),zJ=uA([["chunkSize","u32",{default:65536}],["initialChunks","u32",{default:2}],["maxBytes","u64",{default:0n}],["growthPolicy",a5,{default:"grow"}],["autoCommitOnFull","bool_u8",{default:!0}],["spanQueueCapacity","u32",{default:0}]]),CJ=uA([["bytesWritten","u64"],["spansCommitted","u64"],["chunks","u32"],["pendingSpans","u32"]]),MZ=uA([["chunkPtr","pointer"],["offset","u32"],["len","u32"],["chunkIndex","u32"],["reserved","u32",{default:0}]],{reduceValue:(A)=>({chunkPtr:A.chunkPtr,offset:A.offset,len:A.len,chunkIndex:A.chunkIndex})}),DJ=uA([["ptr","pointer"],["len","u32"],["reserved","u32",{default:0}]],{reduceValue:(A)=>({ptr:A.ptr,len:A.len})}),vF={Mp3:1,Flac:2,Pcm:3},Vj={Initializing:0,Buffering:1,Playing:2,Ended:3,Failed:4,Cancelled:5,Reconnecting:6},NO=["initializing","buffering","playing","ended","errored","disposed","reconnecting"],Rq={PreserveNativeTerminal:0,TransportError:1,Disposed:2},K5=uA([["sampleRate","u32",{default:48000}],["playbackChannels","u32",{default:2}]]),BM=uA([["periodSizeInFrames","u32",{default:0}],["periodSizeInMilliseconds","u32",{default:0}],["periods","u32",{default:0}],["performanceProfile","u8",{default:0}],["shareMode","u8",{default:0}],["noPreSilencedOutputBuffer","bool_u8",{default:!1}],["noClip","bool_u8",{default:!1}],["noDisableDenormals","bool_u8",{default:!1}],["noFixedSizedCallback","bool_u8",{default:!1}],["wasapiNoAutoConvertSrc","bool_u8",{default:!1}],["wasapiNoDefaultQualitySrc","bool_u8",{default:!1}],["alsaNoMMap","bool_u8",{default:!1}],["alsaNoAutoFormat","bool_u8",{default:!1}],["alsaNoAutoChannels","bool_u8",{default:!1}],["alsaNoAutoResample","bool_u8",{default:!1}]]),Z5=uA([["volume","f32",{default:1}],["pan","f32",{default:0}],["loop","bool_u8",{default:!1}],["groupId","u32",{default:0}]]),U5=uA([["capacityMs","u32"],["startupMs","u32"],["resumeMs","u32"],["volume","f32"],["pan","f32"],["groupId","u32"],["maxProbeBytes","u32"],["format","u32"],["sampleRate","u32",{default:0}],["channels","u32",{default:0}]]),xM=uA([["bytesReceived","u64"],["framesDecoded","u64"],["framesPlayed","u64"],["state","u32"],["sampleRate","u32"],["channels","u32"],["bufferedFrames","u32"],["capacityFrames","u32"],["underruns","u32"],["errorCode","i32"],["readyGeneration","u32"]]),yJ=uA([["framesReceived","u64"],["framesRead","u64"],["framesDropped","u64"],["sampleRate","u32"],["channels","u32"],["bufferedFrames","u32"],["capacityFrames","u32"]]),mJ=uA([["soundsLoaded","u32"],["voicesActive","u32"],["framesMixed","u64"],["lockMisses","u32"],["lastPeak","f32"],["lastRms","f32"]]),w4=vF;Eq({name:"OPENTUI_LIBC",description:"Select Linux native libc package. Supported values: glibc, musl.",type:"string",default:""});((A)=>{A[A.Pending=0]="Pending",A[A.Read=1]="Read",A[A.Empty=2]="Empty",A[A.Written=3]="Written",A[A.Cleared=4]="Cleared",A[A.Unsupported=5]="Unsupported",A[A.Cancelled=6]="Cancelled",A[A.TimedOut=7]="TimedOut",A[A.LimitExceeded=8]="LimitExceeded",A[A.Failed=9]="Failed",A[A.InvalidHandle=10]="InvalidHandle"})(v4||={});((A)=>{A[A.Ok=0]="Ok",A[A.InvalidService=1]="InvalidService",A[A.ShuttingDown=2]="ShuttingDown",A[A.LimitExceeded=3]="LimitExceeded",A[A.InvalidArgument=4]="InvalidArgument",A[A.OutOfMemory=5]="OutOfMemory"})(b4||={});((A)=>{A[A.Requested=0]="Requested",A[A.AlreadyTerminal=1]="AlreadyTerminal",A[A.InvalidHandle=2]="InvalidHandle"})(k4||={});((A)=>{A[A.Ok=0]="Ok",A[A.BufferTooSmall=1]="BufferTooSmall",A[A.InvalidHandle=2]="InvalidHandle",A[A.InvalidState=3]="InvalidState",A[A.InvalidArgument=4]="InvalidArgument"})(c4||={});((A)=>{A[A.Destroyed=0]="Destroyed",A[A.NotReady=1]="NotReady",A[A.InvalidHandle=2]="InvalidHandle"})(f4||={});((A)=>{A[A.Pending=0]="Pending",A[A.Ready=1]="Ready",A[A.InvalidHandle=2]="InvalidHandle"})(l4||={});try{if(Q_=await r8(),h4(Q_))Q_=Q_.replace("../","");if(!c0(Q_))throw Error(`OpenTUI native library does not exist at ${JSON.stringify(Q_)}`)}catch(A){u4=A instanceof Error?A:Error(String(A))}Eq({name:"OTUI_DEBUG_FFI",description:"Enable debug logging for the FFI bindings.",type:"boolean",default:!1});Eq({name:"OTUI_TRACE_FFI",description:"Enable tracing for the FFI bindings.",type:"boolean",default:!1});Eq({name:"OPENTUI_FORCE_WCWIDTH",description:"Use wcwidth for character width calculations when the variable is present",type:"string",required:!1});Eq({name:"OPENTUI_FORCE_UNICODE",description:"Force Mode 2026 Unicode support when the variable is present",type:"string",required:!1});Eq({name:"OPENTUI_GRAPHICS",description:"Control Kitty and Sixel graphics detection with the exact value true, 1, false, or 0",type:"string",required:!1});Eq({name:"OPENTUI_IMAGE_PROTOCOL",description:"Override image rendering protocol: auto, kitty, sixel, or blocks",type:"string",default:"auto"});Eq({name:"OPENTUI_FORCE_NOZWJ",description:"Use no_zwj width mode when the variable is present",type:"string",required:!1});G5={block:0,line:1,underline:2,default:3},M5=["block","line","underline","default"],O5={default:0,pointer:1,text:2,crosshair:3,move:4,"not-allowed":5};Q5={[-1]:"invalid value or handle",[-2]:"out of memory",[-3]:"embedded terminal support is unavailable",[-4]:"output buffer is too small",[-5]:"processing failed"};((A)=>{A[A.Error=0]="Error",A[A.Warn=1]="Warn",A[A.Info=2]="Info",A[A.Debug=3]="Debug"})(d4||={});YZ={None:0,TextBufferView:1,EditorView:2};try{DK=new VO(t4)}catch(A){}((A)=>{A[A.Auto=0]="Auto",A[A.FlexStart=1]="FlexStart",A[A.Center=2]="Center",A[A.FlexEnd=3]="FlexEnd",A[A.Stretch=4]="Stretch",A[A.Baseline=5]="Baseline",A[A.SpaceBetween=6]="SpaceBetween",A[A.SpaceAround=7]="SpaceAround",A[A.SpaceEvenly=8]="SpaceEvenly"})(RO||={});((A)=>{A[A.BorderBox=0]="BorderBox",A[A.ContentBox=1]="ContentBox"})(IO||={});((A)=>{A[A.Width=0]="Width",A[A.Height=1]="Height"})(hO||={});((A)=>{A[A.Inherit=0]="Inherit",A[A.LTR=1]="LTR",A[A.RTL=2]="RTL"})(SO||={});((A)=>{A[A.Flex=0]="Flex",A[A.None=1]="None",A[A.Contents=2]="Contents"})(WO||={});((A)=>{A[A.Left=0]="Left",A[A.Top=1]="Top",A[A.Right=2]="Right",A[A.Bottom=3]="Bottom",A[A.Start=4]="Start",A[A.End=5]="End",A[A.Horizontal=6]="Horizontal",A[A.Vertical=7]="Vertical",A[A.All=8]="All"})(BO||={});((A)=>{A[A.None=0]="None",A[A.StretchFlexBasis=1]="StretchFlexBasis",A[A.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",A[A.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",A[A.All=2147483647]="All",A[A.Classic=2147483646]="Classic"})(xO||={});((A)=>{A[A.WebFlexBasis=0]="WebFlexBasis"})(PO||={});((A)=>{A[A.Column=0]="Column",A[A.ColumnReverse=1]="ColumnReverse",A[A.Row=2]="Row",A[A.RowReverse=3]="RowReverse"})(zO||={});((A)=>{A[A.Column=0]="Column",A[A.Row=1]="Row",A[A.All=2]="All"})(CO||={});((A)=>{A[A.FlexStart=0]="FlexStart",A[A.Center=1]="Center",A[A.FlexEnd=2]="FlexEnd",A[A.SpaceBetween=3]="SpaceBetween",A[A.SpaceAround=4]="SpaceAround",A[A.SpaceEvenly=5]="SpaceEvenly"})(DO||={});((A)=>{A[A.Error=0]="Error",A[A.Warn=1]="Warn",A[A.Info=2]="Info",A[A.Debug=3]="Debug",A[A.Verbose=4]="Verbose",A[A.Fatal=5]="Fatal"})(yO||={});((A)=>{A[A.Undefined=0]="Undefined",A[A.Exactly=1]="Exactly",A[A.AtMost=2]="AtMost"})(mO||={});((A)=>{A[A.Default=0]="Default",A[A.Text=1]="Text"})(wO||={});((A)=>{A[A.Visible=0]="Visible",A[A.Hidden=1]="Hidden",A[A.Scroll=2]="Scroll"})(vO||={});((A)=>{A[A.Static=0]="Static",A[A.Relative=1]="Relative",A[A.Absolute=2]="Absolute"})(bO||={});((A)=>{A[A.Undefined=0]="Undefined",A[A.Point=1]="Point",A[A.Percent=2]="Percent",A[A.Auto=3]="Auto"})(kO||={});((A)=>{A[A.NoWrap=0]="NoWrap",A[A.Wrap=1]="Wrap",A[A.WrapReverse=2]="WrapReverse"})(cO||={});$q={Direction:0,FlexDirection:1,JustifyContent:2,AlignContent:3,AlignItems:4,AlignSelf:5,PositionType:6,FlexWrap:7,Overflow:8,Display:9,BoxSizing:10},Bg={Flex:0,FlexGrow:1,FlexShrink:2,AspectRatio:3},LA={Width:0,Height:1,MinWidth:2,MinHeight:3,MaxWidth:4,MaxHeight:5,FlexBasis:6,Margin:7,Padding:8,Position:9,Gap:10},CM={Margin:0,Padding:1,Border:2},MX={unit:0,value:NaN},DM=new Map,yK=new Map,mK=new Map;R5={Config:QZ,Node:ME,Align:RO,BoxSizing:IO,Dimension:hO,Direction:SO,Display:WO,Edge:BO,Errata:xO,ExperimentalFeature:PO,FlexDirection:zO,Gutter:CO,Justify:DO,LogLevel:yO,MeasureMode:mO,NodeType:wO,Overflow:vO,PositionType:bO,Unit:kO,Wrap:cO,ALIGN_AUTO:s4,ALIGN_FLEX_START:i4,ALIGN_CENTER:n4,ALIGN_FLEX_END:o4,ALIGN_STRETCH:r4,ALIGN_BASELINE:e4,ALIGN_SPACE_BETWEEN:A1,ALIGN_SPACE_AROUND:q1,ALIGN_SPACE_EVENLY:E1,BOX_SIZING_BORDER_BOX:g1,BOX_SIZING_CONTENT_BOX:_1,DIMENSION_WIDTH:j1,DIMENSION_HEIGHT:F1,DIRECTION_INHERIT:a1,DIRECTION_LTR:K1,DIRECTION_RTL:Z1,DISPLAY_FLEX:U1,DISPLAY_NONE:G1,DISPLAY_CONTENTS:M1,EDGE_LEFT:O1,EDGE_TOP:Y1,EDGE_RIGHT:Q1,EDGE_BOTTOM:$1,EDGE_START:H1,EDGE_END:T1,EDGE_HORIZONTAL:J1,EDGE_VERTICAL:X1,EDGE_ALL:L1,ERRATA_NONE:N1,ERRATA_STRETCH_FLEX_BASIS:V1,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:R1,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:I1,ERRATA_ALL:h1,ERRATA_CLASSIC:S1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:W1,FLEX_DIRECTION_COLUMN:B1,FLEX_DIRECTION_COLUMN_REVERSE:x1,FLEX_DIRECTION_ROW:P1,FLEX_DIRECTION_ROW_REVERSE:z1,GUTTER_COLUMN:C1,GUTTER_ROW:D1,GUTTER_ALL:y1,JUSTIFY_FLEX_START:m1,JUSTIFY_CENTER:w1,JUSTIFY_FLEX_END:v1,JUSTIFY_SPACE_BETWEEN:b1,JUSTIFY_SPACE_AROUND:k1,JUSTIFY_SPACE_EVENLY:c1,LOG_LEVEL_ERROR:f1,LOG_LEVEL_WARN:l1,LOG_LEVEL_INFO:u1,LOG_LEVEL_DEBUG:p1,LOG_LEVEL_VERBOSE:d1,LOG_LEVEL_FATAL:t1,MEASURE_MODE_UNDEFINED:s1,MEASURE_MODE_EXACTLY:i1,MEASURE_MODE_AT_MOST:n1,NODE_TYPE_DEFAULT:o1,NODE_TYPE_TEXT:r1,OVERFLOW_VISIBLE:e1,OVERFLOW_HIDDEN:AX,OVERFLOW_SCROLL:qX,POSITION_TYPE_STATIC:EX,POSITION_TYPE_RELATIVE:gX,POSITION_TYPE_ABSOLUTE:_X,UNIT_UNDEFINED:jX,UNIT_POINT:FX,UNIT_PERCENT:aX,UNIT_AUTO:KX,WRAP_NO_WRAP:ZX,WRAP_WRAP:UX,WRAP_WRAP_REVERSE:GX},$Z=R5});import{EventEmitter as I5}from"events";import B5 from"util";import{EventEmitter as z5}from"events";import{EventEmitter as SX}from"events";import{Console as D5}from"console";import y5 from"fs";import m5 from"path";import $X from"util";import{Writable as w5}from"stream";import{EventEmitter as v5}from"events";import{appendFileSync as d5,writeFileSync as t5}from"fs";import{EventEmitter as DX}from"events";function JX(A){let q={};for(let E of A){let g={};if(E.style.foreground)g.fg=S(E.style.foreground);if(E.style.background)g.bg=S(E.style.background);if(E.style.bold!==void 0)g.bold=E.style.bold;if(E.style.italic!==void 0)g.italic=E.style.italic;if(E.style.underline!==void 0)g.underline=E.style.underline;if(E.style.dim!==void 0)g.dim=E.style.dim;for(let j of E.scope)q[j]=g}return q}class pE{lib;stylePtr;_destroyed=!1;nameCache=new Map;styleDefs=new Map;mergedCache=new Map;constructor(A,q){this.lib=A,this.stylePtr=q}static create(){let A=Gq(),q=A.createSyntaxStyle();return new pE(A,q)}static fromTheme(A){let q=pE.create(),E=JX(A);for(let[g,j]of Object.entries(E))q.registerStyle(g,j);return q}static fromStyles(A){let q=pE.create();for(let[E,g]of Object.entries(A))q.registerStyle(E,g);return q}guard(){if(this._destroyed)throw Error("NativeSyntaxStyle is destroyed")}registerStyle(A,q){this.guard();let E=f6({bold:q.bold,italic:q.italic,underline:q.underline,dim:q.dim}),g=q.fg?S(q.fg):null,j=q.bg?S(q.bg):null,a=this.lib.syntaxStyleRegister(this.stylePtr,A,g,j,E);return this.nameCache.set(A,a),this.styleDefs.set(A,{...q,fg:g??void 0,bg:j??void 0}),a}resolveStyleId(A){this.guard();let q=this.nameCache.get(A);if(q!==void 0)return q;let E=this.lib.syntaxStyleResolveByName(this.stylePtr,A);if(E!==null)this.nameCache.set(A,E);return E}getStyleId(A){this.guard();let q=this.resolveStyleId(A);if(q!==null)return q;if(A.includes(".")){let E=A.split(".")[0];return this.resolveStyleId(E)}return null}get ptr(){return this.guard(),this.stylePtr}getStyleCount(){return this.guard(),this.lib.syntaxStyleGetStyleCount(this.stylePtr)}clearNameCache(){this.nameCache.clear()}getStyle(A){if(this.guard(),Object.prototype.hasOwnProperty.call(this.styleDefs,A))return;let q=this.styleDefs.get(A);if(q)return q;if(A.includes(".")){let E=A.split(".")[0];if(Object.prototype.hasOwnProperty.call(this.styleDefs,E))return;return this.styleDefs.get(E)}return}mergeStyles(...A){this.guard();let q=A.join(":"),E=this.mergedCache.get(q);if(E)return E;let g={};for(let Z of A){let G=this.getStyle(Z);if(!G)continue;if(G.fg)g.fg=G.fg;if(G.bg)g.bg=G.bg;if(G.bold!==void 0)g.bold=G.bold;if(G.italic!==void 0)g.italic=G.italic;if(G.underline!==void 0)g.underline=G.underline;if(G.dim!==void 0)g.dim=G.dim}let j=f6({bold:g.bold,italic:g.italic,underline:g.underline,dim:g.dim}),a={fg:g.fg,bg:g.bg,attributes:j};return this.mergedCache.set(q,a),a}clearCache(){this.guard(),this.mergedCache.clear()}getCacheSize(){return this.guard(),this.mergedCache.size}getAllStyles(){return this.guard(),new Map(this.styleDefs)}getRegisteredNames(){return this.guard(),Array.from(this.styleDefs.keys())}destroy(){if(this._destroyed)return;this._destroyed=!0,this.nameCache.clear(),this.styleDefs.clear(),this.mergedCache.clear(),this.lib.destroySyntaxStyle(this.stylePtr)}}function h5(A,q){if(typeof q.width==="number"){if(q.width<0)throw TypeError(`Invalid width for Renderable ${A}: ${q.width}`)}if(typeof q.height==="number"){if(q.height<0)throw TypeError(`Invalid height for Renderable ${A}: ${q.height}`)}}function kF(A){if(typeof A==="string"&&A.endsWith("%")){let q=A.slice(0,-1),E=parseFloat(q);return!Number.isNaN(E)}return!1}function T6(A){if(typeof A==="number"&&!Number.isNaN(A))return!0;if(A==="auto")return!0;return kF(A)}function J6(A){if(typeof A==="number"&&!Number.isNaN(A))return!0;return kF(A)}function uE(A){if(typeof A==="number"&&!Number.isNaN(A))return!0;if(A==="auto")return!0;return kF(A)}function S5(A){return A==="relative"||A==="absolute"}function W5(A){return A==="visible"||A==="hidden"||A==="scroll"}function HZ(A){return uE(A)}function OX(A){if(A===void 0||A==="auto")return!0;if(typeof A==="number"&&!Number.isNaN(A))return!0;return!1}function Cg(A){if(A===void 0)return!0;if(typeof A==="number"&&!Number.isNaN(A))return!0;return kF(A)}function yg(A){return!!A?.[XX]}function VX(A){return A.__otuiLayoutGeneration??0}function YX(A){let q=VX(A)+1,E=A;return E.__otuiLayoutGeneration=q,q}function iO(A){return A.__otuiRenderListRevision??0}function lE(A){let q=A;q.__otuiRenderListRevision=iO(A)+1}function P5(A){return typeof A==="function"&&A.prototype&&pA.prototype.isPrototypeOf(A.prototype)}function RX(A){let q=[];for(let E of A)if(Array.isArray(E))q.push(...RX(E));else if(E!==null&&E!==void 0&&E!==!1)q.push(E);return q}function IX(A){return A&&A[x5]}function nO(A,q){if(yg(q))return q;if(IX(q))return XZ(A,q);return console.warn("maybeMakeRenderable received an invalid node",B5.inspect(q,{depth:2})),null}function oO(A,q){if(!q||Object.keys(q).length===0)return A;let E=(j)=>{return A.findDescendantById(j)};return new Proxy(A,{get(j,a,Z){if(typeof a==="string"&&q[a]){let G=E(q[a]);if(G){let M=G[a];if(typeof M==="function")return M.bind(G);return M}}return Reflect.get(j,a,Z)},set(j,a,Z,G){if(typeof a==="string"&&q[a]){let M=E(q[a]);if(M)return Reflect.set(M,a,Z)}return Reflect.set(j,a,Z,G)}})}function XZ(A,q){if(yg(q))return q;if(!q||typeof q!=="object")throw TypeError("mount() received an invalid vnode");let E=q,{type:g,props:j}=E,a=RX(E.children||[]),Z=E.__delegateMap;if(P5(g)){let Y=new g(A,j||{});for(let N of a)if(yg(N))Y.add(N);else{let X=XZ(A,N);Y.add(X)}let Q=oO(Y,Z),H=E.__pendingCalls;if(H)for(let N of H)if(N.isProperty)Q[N.method]=N.args[0];else Q[N.method].apply(Q,N.args);return Q}let G=g(j||{},a),M=XZ(A,G);return oO(M,Z)}class cF{lib;viewPtr;textBuffer;_destroyed=!1;constructor(A,q,E){this.lib=A,this.viewPtr=q,this.textBuffer=E}static create(A){let q=Gq(),E=q.createTextBufferView(A.ptr);return new cF(q,E,A)}guard(){if(this._destroyed)throw Error("TextBufferView is destroyed")}get ptr(){return this.guard(),this.viewPtr}setSelection(A,q,E,g){this.guard(),this.lib.textBufferViewSetSelection(this.viewPtr,A,q,E||null,g||null)}updateSelection(A,q,E){this.guard(),this.lib.textBufferViewUpdateSelection(this.viewPtr,A,q||null,E||null)}resetSelection(){this.guard(),this.lib.textBufferViewResetSelection(this.viewPtr)}getSelection(){return this.guard(),this.lib.textBufferViewGetSelection(this.viewPtr)}hasSelection(){return this.guard(),this.getSelection()!==null}setLocalSelection(A,q,E,g,j,a,Z="cell"){return this.guard(),this.lib.textBufferViewSetLocalSelection(this.viewPtr,A,q,E,g,j||null,a||null,Z)}updateLocalSelection(A,q,E,g,j,a,Z="cell"){return this.guard(),this.lib.textBufferViewUpdateLocalSelection(this.viewPtr,A,q,E,g,j||null,a||null,Z)}resetLocalSelection(){this.guard(),this.lib.textBufferViewResetLocalSelection(this.viewPtr)}setSelectionOccupancy(A){this.guard(),this.lib.textBufferViewSetSelectionOccupancy(this.viewPtr,A)}getSelectionOccupancy(){return this.guard(),this.lib.textBufferViewGetSelectionOccupancy(this.viewPtr)}setWrapWidth(A){this.guard(),this.lib.textBufferViewSetWrapWidth(this.viewPtr,A??0)}setWrapMode(A){this.guard(),this.lib.textBufferViewSetWrapMode(this.viewPtr,A)}setFirstLineOffset(A){this.guard(),this.lib.textBufferViewSetFirstLineOffset(this.viewPtr,A)}setViewportSize(A,q){this.guard(),this.lib.textBufferViewSetViewportSize(this.viewPtr,A,q)}setViewport(A,q,E,g){this.guard(),this.lib.textBufferViewSetViewport(this.viewPtr,A,q,E,g)}get lineInfo(){return this.guard(),this.lib.textBufferViewGetLineInfo(this.viewPtr)}get logicalLineInfo(){return this.guard(),this.lib.textBufferViewGetLogicalLineInfo(this.viewPtr)}getLineSources(A,q){return this.guard(),this.lib.textBufferViewGetLineSources(this.viewPtr,A,q)}getSelectedText(){this.guard();let A=this.textBuffer.byteSize;if(A===0)return"";let q=this.lib.textBufferViewGetSelectedTextBytes(this.viewPtr,A);if(!q)return"";return this.lib.decoder.decode(q)}getPlainText(){this.guard();let A=this.textBuffer.byteSize;if(A===0)return"";let q=this.lib.textBufferViewGetPlainTextBytes(this.viewPtr,A);if(!q)return"";return this.lib.decoder.decode(q)}setTabIndicator(A){this.guard();let q=typeof A==="string"?A.codePointAt(0)??0:A;this.lib.textBufferViewSetTabIndicator(this.viewPtr,q)}setTabIndicatorColor(A){this.guard(),this.lib.textBufferViewSetTabIndicatorColor(this.viewPtr,A)}setTruncate(A){this.guard(),this.lib.textBufferViewSetTruncate(this.viewPtr,A)}measureForDimensions(A,q){return this.guard(),this.lib.textBufferViewMeasureForDimensions(this.viewPtr,A,q)}getVirtualLineCount(){return this.guard(),this.lib.textBufferViewGetVirtualLineCount(this.viewPtr)}destroy(){if(this._destroyed)return;this._destroyed=!0,this.lib.destroyTextBufferView(this.viewPtr)}}class NZ{lib;viewPtr;editBuffer;_destroyed=!1;_extmarksController;_textBufferViewPtr;constructor(A,q,E){this.lib=A,this.viewPtr=q,this.editBuffer=E}static create(A,q,E){let g=Gq(),j=g.createEditorView(A.ptr,q,E);return new NZ(g,j,A)}guard(){if(this._destroyed)throw Error("EditorView is destroyed")}get ptr(){return this.guard(),this.viewPtr}setViewportSize(A,q){this.guard(),this.lib.editorViewSetViewportSize(this.viewPtr,A,q)}setViewport(A,q,E,g,j=!0){this.guard(),this.lib.editorViewSetViewport(this.viewPtr,A,q,E,g,j)}getViewport(){return this.guard(),this.lib.editorViewGetViewport(this.viewPtr)}setScrollMargin(A){this.guard(),this.lib.editorViewSetScrollMargin(this.viewPtr,A)}setWrapMode(A){this.guard(),this.lib.editorViewSetWrapMode(this.viewPtr,A)}getVirtualLineCount(){return this.guard(),this.lib.editorViewGetVirtualLineCount(this.viewPtr)}getTotalVirtualLineCount(){return this.guard(),this.lib.editorViewGetTotalVirtualLineCount(this.viewPtr)}setSelection(A,q,E,g){this.guard(),this.lib.editorViewSetSelection(this.viewPtr,A,q,E||null,g||null)}updateSelection(A,q,E){this.guard(),this.lib.editorViewUpdateSelection(this.viewPtr,A,q||null,E||null)}resetSelection(){this.guard(),this.lib.editorViewResetSelection(this.viewPtr)}getSelection(){return this.guard(),this.lib.editorViewGetSelection(this.viewPtr)}hasSelection(){return this.guard(),this.getSelection()!==null}setLocalSelection(A,q,E,g,j,a,Z,G,M="cell"){return this.guard(),this.lib.editorViewSetLocalSelection(this.viewPtr,A,q,E,g,j||null,a||null,Z??!1,G??!1,M)}updateLocalSelection(A,q,E,g,j,a,Z,G,M="cell"){return this.guard(),this.lib.editorViewUpdateLocalSelection(this.viewPtr,A,q,E,g,j||null,a||null,Z??!1,G??!1,M)}resetLocalSelection(){this.guard(),this.lib.editorViewResetLocalSelection(this.viewPtr)}convertSelectionToCell(){return this.guard(),this.lib.editorViewConvertSelectionToCell(this.viewPtr)}setSelectionOccupancy(A){this.guard(),this.lib.editorViewSetSelectionOccupancy(this.viewPtr,A)}getSelectionOccupancy(){return this.guard(),this._textBufferViewPtr??=this.lib.editorViewGetTextBufferView(this.viewPtr),this.lib.textBufferViewGetSelectionOccupancy(this._textBufferViewPtr)}setSelectionInclusive(A,q,E,g){this.guard(),this.lib.editorViewSetSelectionInclusive(this.viewPtr,A,q,E||null,g||null)}setSelectionColors(A,q){this.guard(),this.lib.editorViewSetSelectionColors(this.viewPtr,A||null,q||null)}getSelectedText(){this.guard();let A=1048576,q=this.lib.editorViewGetSelectedTextBytes(this.viewPtr,A);if(!q)return"";return this.lib.decoder.decode(q)}getCursor(){return this.guard(),this.lib.editorViewGetCursor(this.viewPtr)}getText(){this.guard();let A=1048576,q=this.lib.editorViewGetText(this.viewPtr,A);if(!q)return"";return this.lib.decoder.decode(q)}getVisualCursor(){return this.guard(),this.lib.editorViewGetVisualCursor(this.viewPtr)}moveUpVisual(){this.guard(),this.lib.editorViewMoveUpVisual(this.viewPtr)}moveDownVisual(){this.guard(),this.lib.editorViewMoveDownVisual(this.viewPtr)}deleteSelectedText(){this.guard(),this.lib.editorViewDeleteSelectedText(this.viewPtr)}setCursorByOffset(A){this.guard(),this.lib.editorViewSetCursorByOffset(this.viewPtr,A)}getNextWordBoundary(){return this.guard(),this.lib.editorViewGetNextWordBoundary(this.viewPtr)}getPrevWordBoundary(){return this.guard(),this.lib.editorViewGetPrevWordBoundary(this.viewPtr)}getEOL(){return this.guard(),this.lib.editorViewGetEOL(this.viewPtr)}getVisualSOL(){return this.guard(),this.lib.editorViewGetVisualSOL(this.viewPtr)}getVisualEOL(){return this.guard(),this.lib.editorViewGetVisualEOL(this.viewPtr)}gotoVisualLineEnd(){this.guard(),this.lib.editorViewGotoVisualLineEnd(this.viewPtr)}getLineInfo(){return this.guard(),this.lib.editorViewGetLineInfo(this.viewPtr)}getLogicalLineInfo(){return this.guard(),this.lib.editorViewGetLogicalLineInfo(this.viewPtr)}get extmarks(){if(!this._extmarksController)this._extmarksController=$O(this.editBuffer,this);return this._extmarksController}setPlaceholderStyledText(A){this.guard(),this.lib.editorViewSetPlaceholderStyledText(this.viewPtr,A)}setTabIndicator(A){this.guard();let q=typeof A==="string"?A.codePointAt(0)??0:A;this.lib.editorViewSetTabIndicator(this.viewPtr,q)}setTabIndicatorColor(A){this.guard(),this.lib.editorViewSetTabIndicatorColor(this.viewPtr,A)}measureForDimensions(A,q){return this.guard(),this._textBufferViewPtr??=this.lib.editorViewGetTextBufferView(this.viewPtr),this.lib.textBufferViewMeasureForDimensions(this._textBufferViewPtr,A,q)}destroy(){if(this._destroyed)return;if(this._extmarksController)this._extmarksController.destroy(),this._extmarksController=void 0;this._destroyed=!0,this.lib.destroyEditorView(this.viewPtr)}}function Rj(A){if(A===void 0)return!0;if(typeof A==="number"&&!Number.isNaN(A))return!0;return kF(A)}function AE(A){return!!A?.[hX]}function QX(A){return A.chunks.map((q)=>{let E=new QE({fg:q.fg,bg:q.bg,attributes:q.attributes,link:q.link});return E.add(q.text),E})}function lO(A){return typeof A==="bigint"?Number(A):A}class bF{static create(A){let q=Gq(),E=q.createNativeSpanFeed(A),g=new bF(E);q.registerNativeSpanFeedStream(E,g.eventHandler);let j=q.attachNativeSpanFeed(E);if(j!==0)throw q.unregisterNativeSpanFeedStream(E),q.destroyNativeSpanFeed(E),Error(`Failed to attach stream: ${j}`);return g}static attach(A,q){let E=Gq(),g=new bF(A);E.registerNativeSpanFeedStream(A,g.eventHandler);let j=E.attachNativeSpanFeed(A);if(j!==0)throw E.unregisterNativeSpanFeedStream(A),Error(`Failed to attach stream: ${j}`);return g}streamPtr;lib=Gq();eventHandler;chunkMap=new Map;chunkSizes=new Map;dataHandlers=new Set;errorHandlers=new Set;drainBuffer=null;stateBuffer=null;closed=!1;destroyed=!1;draining=!1;pendingDataAvailable=!1;pendingClose=!1;closing=!1;pendingAsyncHandlers=0;inCallback=!1;closeQueued=!1;idleResolvers=[];pendingHandlerError=null;pendingHandlerErrorQueued=!1;constructor(A){this.streamPtr=A,this.eventHandler=(q,E,g)=>{this.handleEvent(q,E,g)},this.ensureDrainBuffer()}ensureDrainBuffer(){if(this.drainBuffer)return;let A=256;this.drainBuffer=new Uint8Array(A*MZ.size)}onData(A){if(this.dataHandlers.add(A),this.pendingDataAvailable)this.pendingDataAvailable=!1,this.drainAll();return()=>this.dataHandlers.delete(A)}onError(A){return this.errorHandlers.add(A),()=>this.errorHandlers.delete(A)}hasPinnedChunks(){if(!this.stateBuffer)return!1;for(let A of this.stateBuffer)if(A>0)return!0;return!1}isBackpressured(){return this.pendingAsyncHandlers>0||this.pendingDataAvailable||this.hasPinnedChunks()}close(){if(this.destroyed)return;if(this.inCallback||this.draining||this.pendingAsyncHandlers>0){if(this.pendingClose=!0,!this.closeQueued)this.closeQueued=!0,queueMicrotask(()=>{this.closeQueued=!1,this.processPendingClose()});return}this.performClose()}processPendingClose(){if(!this.pendingClose||this.destroyed)return;if(this.inCallback||this.draining||this.pendingAsyncHandlers>0)return;this.pendingClose=!1,this.performClose(),this.resolveIdleIfNeeded()}performClose(){if(this.closing)return;if(this.closing=!0,!this.closed){if(this.lib.streamClose(this.streamPtr)!==0){this.closing=!1;return}this.closed=!0}this.finalizeDestroy()}finalizeDestroy(){if(this.destroyed)return;this.lib.unregisterNativeSpanFeedStream(this.streamPtr),this.lib.destroyNativeSpanFeed(this.streamPtr),this.destroyed=!0,this.chunkMap.clear(),this.chunkSizes.clear(),this.stateBuffer=null,this.drainBuffer=null,this.dataHandlers.clear(),this.errorHandlers.clear(),this.pendingDataAvailable=!1,this.resolveIdleIfNeeded()}isIdle(){return!this.inCallback&&!this.draining&&this.pendingAsyncHandlers===0&&!this.pendingDataAvailable&&!this.hasPinnedChunks()}resolveIdleIfNeeded(){if(!this.isIdle())return;let A=this.idleResolvers.splice(0);for(let q of A)q()}idle(){if(this.isIdle())return Promise.resolve();return new Promise((A)=>{this.idleResolvers.push(A)})}handleEvent(A,q,E){this.inCallback=!0;try{switch(A){case 8:{let g=lO(E);if(g>0&&q){let j=oq(q,0,g);this.stateBuffer=new Uint8Array(j)}break}case 7:{if(this.closing)break;if(this.dataHandlers.size===0){this.pendingDataAvailable=!0;break}this.drainAll();break}case 2:{let g=lO(E);if(g>0&&q){if(!this.chunkMap.has(q)){let j=oq(q,0,g);this.chunkMap.set(q,j)}this.chunkSizes.set(q,g)}break}case 6:{let g=lO(q);for(let j of this.errorHandlers)j(g);break}case 5:{this.closed=!0;break}default:break}}finally{this.inCallback=!1,this.resolveIdleIfNeeded()}}decrementRefcount(A){if(this.stateBuffer&&A<this.stateBuffer.length){let q=this.stateBuffer[A];this.stateBuffer[A]=q>0?q-1:0}}queuePendingHandlerError(A){if(this.pendingHandlerError??=A,this.pendingHandlerErrorQueued)return;this.pendingHandlerErrorQueued=!0,queueMicrotask(()=>{if(this.pendingHandlerErrorQueued=!1,this.pendingHandlerError===null)return;let q=this.pendingHandlerError;throw this.pendingHandlerError=null,q})}throwPendingHandlerError(){if(this.pendingHandlerError===null)return;let A=this.pendingHandlerError;throw this.pendingHandlerError=null,A}drainOnce(){if(!this.drainBuffer||this.draining||this.pendingClose)return 0;let A=Math.floor(this.drainBuffer.byteLength/MZ.size);if(A===0)return 0;let q=this.lib.streamDrainSpans(this.streamPtr,this.drainBuffer,A);if(q===0)return 0;this.draining=!0;let E=MZ.unpackList(this.drainBuffer.buffer,q),g=null;try{for(let j of E){if(j.len===0)continue;let a=this.chunkMap.get(j.chunkPtr);if(!a){let Y=this.chunkSizes.get(j.chunkPtr);if(!Y)continue;a=oq(j.chunkPtr,0,Y),this.chunkMap.set(j.chunkPtr,a)}if(j.offset+j.len>a.byteLength)continue;let Z=new Uint8Array(a,j.offset,j.len),G=null;for(let Y of this.dataHandlers)try{let Q=Y(Z);if(Q&&typeof Q.then==="function")G??=[],G.push(Q)}catch(Q){g??=Q}let M=this.pendingClose;if(G){let Y=j.chunkIndex;this.pendingAsyncHandlers+=1,Promise.allSettled(G).then(()=>{this.decrementRefcount(Y),this.pendingAsyncHandlers-=1,this.processPendingClose(),this.resolveIdleIfNeeded()})}else this.decrementRefcount(j.chunkIndex);if(M)break}}finally{this.draining=!1,this.resolveIdleIfNeeded()}if(g){if(!this.inCallback||C5)throw g;this.queuePendingHandlerError(g)}return q}drainAll(){let A=this.drainOnce();while(A>0)A=this.drainOnce();if(!this.inCallback)this.throwPendingHandlerError()}}function tE(A,q){return{...A,...q}}function P6(A,q){let E=new Map;for(let g of A){let j=Wj(g);E.set(j,g)}for(let g of q){let j=Wj(g);E.set(j,g)}return Array.from(E.values())}function Wj(A){return`${A.name}:${A.ctrl?1:0}:${A.shift?1:0}:${A.meta?1:0}:${A.super?1:0}`}function b5(A){if(A===void 0||A<32||A===127)return;try{let q=String.fromCodePoint(A);if(q.length===1&&q>="A"&&q<="Z")return q.toLowerCase();return q}catch{return}}function BX(A){let q=new Set([A.name]),E=b5(A.baseCode);if(E)q.add(E);return[...q].map((g)=>Wj({...A,name:g}))}function lF(A,q){for(let E of BX(q)){let g=A.get(E);if(g!==void 0)return g}return}function k5(A,q){let E=Wj(q);return BX(A).includes(E)}function z6(A,q){let E=new Map,g=q||{};for(let j of A){let a=Wj(j);E.set(a,j.action)}for(let j of A){let a=g[j.name]||j.name;if(a!==j.name){let Z=Wj({...j,name:a});E.set(Z,j.action)}}return E}function c5(A){let q=[];if(A.ctrl)q.push("ctrl");if(A.shift)q.push("shift");if(A.meta)q.push("meta");if(A.super)q.push("super");return q.push(A.name),q.join("+")}function f5(){let q=Error().stack?.split(`
194
+ `).slice(5)||[];if(!q.length)return null;let E=q[0].trim(),g=/at\s+(?:([\w$.<>]+)\s+\()?((?:\/|[A-Za-z]:\\)[^:]+):(\d+):(\d+)\)?/,j=E.match(g);if(!j)return null;let a=j[1]||"<anonymous>",Z=j[2],G=Z.split(/[\\/]/).pop()||"<unknown>",M=parseInt(j[3],10)||0,Y=parseInt(j[4],10)||0;return{functionName:a,fullPath:Z,fileName:G,lineNumber:M,columnNumber:Y}}function u5(A,q){if(A===q)return!0;if(!A||!q)return!A&&!q;if(A.length!==q.length)return!1;return A.every((E,g)=>E===q[g])}function p5(A,q){return A.suspend===q.suspend&&A.status===q.status&&u5(A.capture,q.capture)}function qY(A){return!!(A&&typeof A==="object"&&(zX in A))}function gY(A,q,E="column",g=10,j=16){if(A.width<=0||A.height<=0)return[];if(q.length===0)return[];if(q.length<j)return q;let a=A.y-g,Z=A.y+A.height+g,G=A.x-g,M=A.x+A.width+g,Y=E==="row",Q=q,H=Q.length;if(H===0)return[];let N=Y?G:a,X=Y?M:Z,T=0,J=H-1,V=-1;while(T<=J){let v=T+J>>1,k=Q[v],u=Y?k.screenX:k.screenY;if((Y?k.screenX+k.width:k.screenY+k.height)<N)T=v+1;else if(u>X)J=v-1;else{V=v;break}}let I=[];if(V===-1)V=T>0?T-1:0;let W=50,C=V,c=0;while(C-1>=0){let v=Q[C-1];if((Y?v.screenX+v.width:v.screenY+v.height)<=N){if(c++,c>=W)break}else c=0;C--}let D=V+1;while(D<H){let v=Q[D];if((Y?v.screenX:v.screenY)>=X)break;D++}for(let v=C;v<D;v++){let k=Q[v],u=Y?k.screenX:k.screenY;if((Y?k.screenX+k.width:k.screenY+k.height)<=N)continue;if(u>=X)break;if(Y){if(k.screenY+k.height<a)continue;if(k.screenY>Z)continue}else{if(k.screenX+k.width<G)continue;if(k.screenX>M)continue}I.push(k)}if(I.length>1)I.sort((v,k)=>v.zIndex>k.zIndex?1:v.zIndex<k.zIndex?-1:0);return I}function TZ(A,q,E,g){let j=Math.max(q,0),a=Math.max(E,0);if(A!=="split-footer")return{effectiveFooterHeight:0,renderOffset:0,renderWidth:j,renderHeight:a};let Z=Math.min(g,a);return{effectiveFooterHeight:Z,renderOffset:a-Z,renderWidth:j,renderHeight:Z}}function s5(A){if(/\x1b\[\?\d+(?:;\d+)*\$y/.test(A))return!0;if(/\x1b\[1;(?!1R)\d+R/.test(A))return!0;if(/\x1bP>\|[\s\S]*?\x1b\\/.test(A))return!0;if(/\x1bP(?:1\+r4d73(?:=[^\x1b]*)?|0\+r(?:4d73)?)\x1b\\/i.test(A))return!0;if(/\x1b_G[\s\S]*?\x1b\\/.test(A))return!0;if(/\x1b\[\?\d+(?:;\d+)?u/.test(A))return!0;if(/\x1b\[\?[0-9;]*c/.test(A))return!0;if(/\x1b\]99;[^\x07\x1b]*i=opentui-notifications[^\x07\x1b]*p=\?[\s\S]*?(?:\x07|\x1b\\)/.test(A))return!0;if(/\x1b\]1337;Capabilities=[\s\S]*?(?:\x07|\x1b\\)/.test(A))return!0;return!1}function HX(A){return/\x1b\[4;\d+;\d+t/.test(A)}function i5(A){let q=A.match(/\x1b\[4;(\d+);(\d+)t/);if(q){let E=Number(q[2]),g=Number(q[1]);if(!Number.isSafeInteger(E)||!Number.isSafeInteger(g)||E>2147483647||g>2147483647)return null;return{width:E,height:g}}return null}function pO(A){let q=parseInt(A,16),E=(1<<4*A.length)-1;return Math.round(q/E*255).toString(16).padStart(2,"0")}function n5(A,q,E,g){if(g)return`#${g.toLowerCase()}`;if(A&&q&&E)return`#${pO(A)}${pO(q)}${pO(E)}`;return"#000000"}function o5(A){let[q,E,g]=S(A).toInts();return(q*299+E*587+g*114)/1000>128?"light":"dark"}class _Y{host;clock;static QUERY_TIMEOUT_MS=250;_themeMode=null;themeQueryPending=!0;themeOscForeground=null;themeOscBackground=null;themeRefreshTimeoutId=null;waiters=new Set;constructor(A,q){this.host=A,this.clock=q}get themeMode(){return this._themeMode}waitForThemeMode(A,q){if(this._themeMode!==null||q||A===0)return Promise.resolve(this._themeMode);return new Promise((E)=>{let g={resolve:E,timeoutHandle:null};if(A>0)g.timeoutHandle=this.clock.setTimeout(()=>{this.waiters.delete(g),g.timeoutHandle=null,E(this._themeMode)},A);this.waiters.add(g)})}cancelRefresh(){if(this.themeRefreshTimeoutId===null)return;this.clock.clearTimeout(this.themeRefreshTimeoutId),this.themeRefreshTimeoutId=null,this.themeQueryPending=!1}dispose(){this.cancelRefresh();for(let A of this.waiters){if(A.timeoutHandle!==null)this.clock.clearTimeout(A.timeoutHandle);A.resolve(this._themeMode)}this.waiters.clear()}handleSequence(A){if(A==="\x1B[?997;1n"||A==="\x1B[?997;2n")return this.requestThemeOscColors(),{handled:!0,changedMode:null};let q=!1,E;TX.lastIndex=0;while(E=TX.exec(A)){q=!0;let a=n5(E[2],E[3],E[4],E[5]);if(E[1]==="10")this.themeOscForeground=a;else this.themeOscBackground=a}if(!q)return{handled:!1,changedMode:null};if(!this.themeQueryPending)return{handled:!0,changedMode:null};if(!this.themeOscForeground||!this.themeOscBackground)return{handled:!0,changedMode:null};let g=o5(this.themeOscBackground),j=this.applyThemeMode(g);return this.completeThemeQuery(),{handled:!0,changedMode:j}}clearThemeRefreshTimeout(){if(this.themeRefreshTimeoutId===null)return;this.clock.clearTimeout(this.themeRefreshTimeoutId),this.themeRefreshTimeoutId=null}completeThemeQuery(){this.clearThemeRefreshTimeout(),this.themeQueryPending=!1}requestThemeOscColors(){if(this.themeRefreshTimeoutId!==null)return;this.themeQueryPending=!0,this.themeOscForeground=null,this.themeOscBackground=null,this.host.queryThemeColors(),this.clearThemeRefreshTimeout(),this.themeRefreshTimeoutId=this.clock.setTimeout(()=>{this.completeThemeQuery()},_Y.QUERY_TIMEOUT_MS)}applyThemeMode(A){let q=this._themeMode!==A;if(this._themeMode=A,!q)return null;for(let E of this.waiters){if(E.timeoutHandle!==null)this.clock.clearTimeout(E.timeoutHandle);E.resolve(A)}return this.waiters.clear(),A}}function yX(A){if(A===void 0)return jY;if(!Number.isFinite(A))throw Error("footerHeight must be a finite number");let q=Math.trunc(A);if(q<=0)throw Error("footerHeight must be greater than 0");return q}function qh(A){let q=A.screenMode??"alternate-screen";if(process.env.OTUI_USE_ALTERNATE_SCREEN!==void 0)q=tA.OTUI_USE_ALTERNATE_SCREEN?"alternate-screen":"main-screen";let E=q==="split-footer"?yX(A.footerHeight):jY,g=A.externalOutputMode??(q==="split-footer"?"capture-stdout":"passthrough");if(process.env.OTUI_OVERRIDE_STDOUT!==void 0)g=tA.OTUI_OVERRIDE_STDOUT&&q==="split-footer"?"capture-stdout":"passthrough";if(g==="capture-stdout"&&q!=="split-footer")throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"');return{screenMode:q,footerHeight:E,externalOutputMode:g}}class mX{commits=[];get size(){return this.commits.length}writeSnapshot(A){this.commits.push(A)}peek(A=Number.POSITIVE_INFINITY){let q=Number.isFinite(A)?Math.max(1,Math.trunc(A)):this.commits.length;return this.commits.slice(0,q)}claim(A=Number.POSITIVE_INFINITY){if(this.commits.length===0)return[];let q=Number.isFinite(A)?Math.max(1,Math.trunc(A)):this.commits.length;if(q>=this.commits.length){let g=this.commits;return this.commits=[],g}let E=this.commits.slice(0,q);return this.commits=this.commits.slice(q),E}drop(A){for(let q of this.commits.splice(0,A))q.snapshot.destroy()}clear(){this.drop(this.commits.length)}}function bX(A){if(!A)return 0;let q=0;if(A.disambiguate!==!1)q|=wX;if(A.alternateKeys!==!1)q|=vX;if(A.events===!0)q|=jh;if(A.allKeysAsEscapes===!0)q|=Fh;if(A.reportText===!0)q|=ah;return q}class U6{type;button;x;y;source;modifiers;scroll;target;currentTarget=null;isDragging;_propagationStopped=!1;_defaultPrevented=!1;get propagationStopped(){return this._propagationStopped}get defaultPrevented(){return this._defaultPrevented}constructor(A,q){this.target=A,this.type=q.type,this.button=q.button,this.x=q.x,this.y=q.y,this.modifiers=q.modifiers,this.scroll=q.scroll,this.source=q.source,this.isDragging=q.isDragging}stopPropagation(){this._propagationStopped=!0}preventDefault(){this._defaultPrevented=!0}}async function FY(A={}){if(process.argv.includes("--delay-start"))await new Promise((Z)=>setTimeout(Z,5000));let q=A.stdin??process.stdin,E=A.stdout??process.stdout,g=E.columns||A.width||80,j=E.rows||A.height||24,a=new RZ(q,E,g,j,A);try{return await a.setupTerminal(),a}catch(Z){try{a.destroy()}catch(G){console.error("Error destroying partially-set-up renderer:",G)}throw Z}}var XX,LX,NX,Sj,pA,hj,x5,YE,Hq,fF,Mq,hX,QE,eO,mg,C5,WX,rO,dE,LZ,xX,X6,PX,uO,l5,Dg=2,AY,zX,CX,EY,Z6,TX,dO,jY=12,r5=4,e5,Ah=0,Eh=3221225472,gh=3221225472,JZ,_h,Ij=1,tO=2,wX=1,jh=2,vX=4,Fh=8,ah=16,Kh=67108864,sO=16,kX,e6,VZ,cX,Zh=500,RZ;var fX=zA(async()=>{await fO();XX=Symbol.for("@opentui/core/Renderable");((A)=>{A.LAYOUT_CHANGED="layout-changed",A.RESIZED="resized"})(LX||={});((A)=>{A.FOCUSED="focused",A.BLURRED="blurred",A.DESTROYED="destroyed"})(NX||={});Sj=class Sj extends I5{[XX]=!0;static renderableNumber=1;_id;num;_dirty=!1;parent=null;_visible=!0;constructor(A){super();this.num=Sj.renderableNumber++,this._id=A.id??`renderable-${this.num}`}get id(){return this._id}set id(A){this._id=A}get isDirty(){return this._dirty}markClean(){this._dirty=!1}markDirty(){this._dirty=!0}destroy(){}destroyRecursively(){}get visible(){return this._visible}set visible(A){this._visible=A}};pA=class pA extends Sj{static renderablesByNumber=new Map;_isDestroyed=!1;_ctx;_translateX=0;_translateY=0;_x=0;_y=0;_screenX=0;_screenY=0;_width;_height;_widthValue=0;_heightValue=0;_zIndex;selectable=!1;buffered;frameBuffer=null;_focusable=!1;_focused=!1;_hasFocusedDescendant=!1;keypressHandler=null;pasteHandler=null;_live=!1;_liveCount=0;_sizeChangeListener=void 0;_mouseListener=null;_mouseListeners={};_pasteListener=void 0;_keyListeners={};yogaNode;_positionType="relative";_overflow="visible";_position={};_opacity=1;_flexShrink=1;_childrenInLayoutOrder=[];_childrenInZIndexOrder=[];needsZIndexSort=!1;parent=null;childrenPrimarySortDirty=!0;childrenSortedByPrimaryAxis=[];_shouldUpdateBefore=new Set;_lastLayoutFrame=-1;onLifecyclePass=null;renderBefore;renderAfter;constructor(A,q){super(q);if(this._ctx=A,pA.renderablesByNumber.set(this.num,this),h5(this.id,q),this.renderBefore=q.renderBefore,this.renderAfter=q.renderAfter,this._width=q.width??"auto",this._height=q.height??"auto",typeof this._width==="number")this._widthValue=this._width;if(typeof this._height==="number")this._heightValue=this._height;if(this._zIndex=q.zIndex??0,this._visible=q.visible!==!1,this.buffered=q.buffered??!1,this._live=q.live??!1,this._liveCount=this._live&&this._visible?1:0,this._opacity=q.opacity!==void 0?Math.max(0,Math.min(1,q.opacity)):1,this.yogaNode=$Z.Node.createForOpenTUI(),this.yogaNode.setDisplay(this._visible?0:1),this.setupYogaProperties(q),this.applyEventOptions(q),this.buffered)this.createFrameBuffer()}get focusable(){return this._focusable}set focusable(A){this._focusable=A}get ctx(){return this._ctx}get visible(){return this._visible}get primaryAxis(){let A=this.yogaNode.getFlexDirection();return A===2||A===3?"row":"column"}set visible(A){if(this._visible===A)return;let q=this._visible;if(this._visible=A,this.yogaNode.setDisplay(A?0:1),lE(this._ctx),this._live){if(!q&&A)this.propagateLiveCount(1);else if(q&&!A)this.propagateLiveCount(-1)}if(this._focused)this.blur();this.requestRender()}get opacity(){return this._opacity}set opacity(A){let q=Math.max(0,Math.min(1,A));if(this._opacity!==q)this._opacity=q,lE(this._ctx),this.requestRender()}hasSelection(){return!1}onSelectionChanged(A){return!1}getSelectedText(){return""}shouldStartSelection(A,q){return!1}focus(){if(this._isDestroyed||this._focused||!this._focusable)return;this._focused=!0,this._ctx.focusRenderable(this),this.requestRender(),this.keypressHandler=(A)=>{if(this._isDestroyed)return;if(this._keyListeners.down?.(A),this._isDestroyed)return;if(!A.defaultPrevented&&this.handleKeyPress)this.handleKeyPress(A)},this.pasteHandler=(A)=>{if(this._isDestroyed)return;if(this._pasteListener?.call(this,A),this._isDestroyed)return;if(!A.defaultPrevented&&this.handlePaste)this.handlePaste(A)},this.ctx._internalKeyInput.onInternal("keypress",this.keypressHandler),this.ctx._internalKeyInput.onInternal("paste",this.pasteHandler),this.propagateFocusChange(!0),this.emit("focused")}propagateFocusChange(A){let q=this.parent;while(q){if(q._hasFocusedDescendant!==A)q._hasFocusedDescendant=A,q.markDirty();q=q.parent}this.requestRender()}blur(){if(!this._focused||!this._focusable)return;if(this._ctx.blurRenderable(this),this._focused=!1,this.requestRender(),this.keypressHandler)this.ctx._internalKeyInput.offInternal("keypress",this.keypressHandler),this.keypressHandler=null;if(this.pasteHandler)this.ctx._internalKeyInput.offInternal("paste",this.pasteHandler),this.pasteHandler=null;this.propagateFocusChange(!1),this.emit("blurred")}get focused(){return this._focused}get hasFocusedDescendant(){return this._hasFocusedDescendant}get live(){return this._live}get liveCount(){return this._liveCount}set live(A){if(this._live===A)return;if(this._live=A,this._visible){let q=A?1:-1;this.propagateLiveCount(q)}}propagateLiveCount(A){this._liveCount+=A,this.parent?.propagateLiveCount(A)}findDescendantById(A){for(let q of this._childrenInLayoutOrder){if(q.id===A)return q;if(yg(q)){let E=q.findDescendantById(A);if(E)return E}}return}requestRender(){this.markDirty(),this._ctx.requestRender()}get translateX(){return this._translateX}set translateX(A){if(this._translateX===A)return;this._translateX=A;let q=this.parent?this.parent._screenX:0;if(this._screenX=q+this._x+this._translateX,this.parent)this.parent.childrenPrimarySortDirty=!0;lE(this._ctx),this.requestRender()}get translateY(){return this._translateY}set translateY(A){if(this._translateY===A)return;this._translateY=A;let q=this.parent?this.parent._screenY:0;if(this._screenY=q+this._y+this._translateY,this.parent)this.parent.childrenPrimarySortDirty=!0;lE(this._ctx),this.requestRender()}get screenX(){return(this.parent?this.parent._screenX:0)+this._x+this._translateX}get screenY(){return(this.parent?this.parent._screenY:0)+this._y+this._translateY}get x(){if(this.parent)return this.parent.x+this._x+this._translateX;return this._x+this._translateX}set x(A){this.left=A}get top(){return this._position.top}set top(A){if(uE(A)||A===void 0)this.setPosition({top:A})}get right(){return this._position.right}set right(A){if(uE(A)||A===void 0)this.setPosition({right:A})}get bottom(){return this._position.bottom}set bottom(A){if(uE(A)||A===void 0)this.setPosition({bottom:A})}get left(){return this._position.left}set left(A){if(uE(A)||A===void 0)this.setPosition({left:A})}get y(){if(this.parent)return this.parent.y+this._y+this._translateY;return this._y+this._translateY}set y(A){this.top=A}get width(){return this._widthValue}set width(A){if(!HZ(A)||this._width===A)return;if(this._width=A,this.yogaNode.setWidth(A),typeof A==="number"&&this._flexShrink===1)this._flexShrink=0,this.yogaNode.setFlexShrink(0);this.requestRender()}get height(){return this._heightValue}set height(A){if(!HZ(A)||this._height===A)return;if(this._height=A,this.yogaNode.setHeight(A),typeof A==="number"&&this._flexShrink===1)this._flexShrink=0,this.yogaNode.setFlexShrink(0);this.requestRender()}get zIndex(){return this._zIndex}set zIndex(A){if(this._zIndex!==A)this._zIndex=A,this.parent?.requestZIndexSort(),lE(this._ctx),this.requestRender()}requestZIndexSort(){this.needsZIndexSort=!0}ensureZIndexSorted(){if(this.needsZIndexSort)this._childrenInZIndexOrder.sort((A,q)=>A.zIndex>q.zIndex?1:A.zIndex<q.zIndex?-1:0),this.needsZIndexSort=!1}getChildrenSortedByPrimaryAxis(){if(!this.childrenPrimarySortDirty&&this.childrenSortedByPrimaryAxis.length===this._childrenInLayoutOrder.length)return this.childrenSortedByPrimaryAxis;let A=this.yogaNode.getFlexDirection(),q=A===2||A===3?"x":"y",E=[...this._childrenInLayoutOrder];return E.sort((g,j)=>{let a=q==="y"?g.screenY:g.screenX,Z=q==="y"?j.screenY:j.screenX;return a-Z}),this.childrenSortedByPrimaryAxis=E,this.childrenPrimarySortDirty=!1,this.childrenSortedByPrimaryAxis}setupYogaProperties(A){let q=this.yogaNode;if(OX(A.flexBasis))q.setFlexBasis(A.flexBasis);if(Cg(A.minWidth))q.setMinWidth(A.minWidth);if(Cg(A.minHeight))q.setMinHeight(A.minHeight);if(A.flexGrow!==void 0)q.setFlexGrow(A.flexGrow);else q.setFlexGrow(0);if(A.flexShrink!==void 0)this._flexShrink=A.flexShrink,q.setFlexShrink(A.flexShrink);else{let g=typeof A.width==="number",j=typeof A.height==="number";this._flexShrink=g||j?0:1,q.setFlexShrink(this._flexShrink)}if(q.setFlexDirection(eK(A.flexDirection)),q.setFlexWrap(gZ(A.flexWrap)),q.setAlignItems(rK(A.alignItems)),q.setJustifyContent(AZ(A.justifyContent)),q.setAlignSelf(oK(A.alignSelf)),HZ(A.width))this._width=A.width,this.yogaNode.setWidth(A.width);if(HZ(A.height))this._height=A.height,this.yogaNode.setHeight(A.height);if(this._positionType=A.position==="absolute"?"absolute":"relative",this._positionType!=="relative")q.setPositionType(EZ(this._positionType));if(this._overflow=A.overflow==="hidden"?"hidden":A.overflow==="scroll"?"scroll":"visible",this._overflow!=="visible")q.setOverflow(qZ(this._overflow));if(A.top!==void 0||A.right!==void 0||A.bottom!==void 0||A.left!==void 0)this._position={top:A.top,right:A.right,bottom:A.bottom,left:A.left},this.updateYogaPosition(this._position);if(Cg(A.maxWidth))q.setMaxWidth(A.maxWidth);if(Cg(A.maxHeight))q.setMaxHeight(A.maxHeight);this.setupMarginAndPadding(A)}setupMarginAndPadding(A){let q=this.yogaNode;if(T6(A.margin))q.setMargin(8,A.margin);if(T6(A.marginX))q.setMargin(6,A.marginX);if(T6(A.marginY))q.setMargin(7,A.marginY);if(T6(A.marginTop))q.setMargin(1,A.marginTop);if(T6(A.marginRight))q.setMargin(2,A.marginRight);if(T6(A.marginBottom))q.setMargin(3,A.marginBottom);if(T6(A.marginLeft))q.setMargin(0,A.marginLeft);if(J6(A.padding))q.setPadding(8,A.padding);if(J6(A.paddingX))q.setPadding(6,A.paddingX);if(J6(A.paddingY))q.setPadding(7,A.paddingY);if(J6(A.paddingTop))q.setPadding(1,A.paddingTop);if(J6(A.paddingRight))q.setPadding(2,A.paddingRight);if(J6(A.paddingBottom))q.setPadding(3,A.paddingBottom);if(J6(A.paddingLeft))q.setPadding(0,A.paddingLeft)}set position(A){if(!S5(A)||this._positionType===A)return;this._positionType=A,this.yogaNode.setPositionType(EZ(A)),this.requestRender()}get overflow(){return this._overflow}set overflow(A){if(!W5(A)||this._overflow===A)return;this._overflow=A,this.yogaNode.setOverflow(qZ(A)),lE(this._ctx),this.requestRender()}setPosition(A){this._position={...this._position,...A},this.updateYogaPosition(A)}updateYogaPosition(A){let q=this.yogaNode,{top:E,right:g,bottom:j,left:a}=A;if(uE(E))if(E==="auto")q.setPositionAuto(1);else q.setPosition(1,E);if(uE(g))if(g==="auto")q.setPositionAuto(2);else q.setPosition(2,g);if(uE(j))if(j==="auto")q.setPositionAuto(3);else q.setPosition(3,j);if(uE(a))if(a==="auto")q.setPositionAuto(0);else q.setPosition(0,a);this.requestRender()}set flexGrow(A){if(A==null)this.yogaNode.setFlexGrow(0);else this.yogaNode.setFlexGrow(A);this.requestRender()}set flexShrink(A){let q=A==null?1:A;this._flexShrink=q,this.yogaNode.setFlexShrink(q),this.requestRender()}set flexDirection(A){this.yogaNode.setFlexDirection(eK(A)),this.requestRender()}set flexWrap(A){this.yogaNode.setFlexWrap(gZ(A)),this.requestRender()}set alignItems(A){this.yogaNode.setAlignItems(rK(A)),this.requestRender()}set justifyContent(A){this.yogaNode.setJustifyContent(AZ(A)),this.requestRender()}set alignSelf(A){this.yogaNode.setAlignSelf(oK(A)),this.requestRender()}set flexBasis(A){if(OX(A))this.yogaNode.setFlexBasis(A),this.requestRender()}set minWidth(A){if(Cg(A))this.yogaNode.setMinWidth(A),this.requestRender()}set maxWidth(A){if(Cg(A))this.yogaNode.setMaxWidth(A),this.requestRender()}set minHeight(A){if(Cg(A))this.yogaNode.setMinHeight(A),this.requestRender()}set maxHeight(A){if(Cg(A))this.yogaNode.setMaxHeight(A),this.requestRender()}set margin(A){if(T6(A))this.yogaNode.setMargin(8,A),this.requestRender()}set marginX(A){if(T6(A))this.yogaNode.setMargin(6,A),this.requestRender()}set marginY(A){if(T6(A))this.yogaNode.setMargin(7,A),this.requestRender()}set marginTop(A){if(T6(A))this.yogaNode.setMargin(1,A),this.requestRender()}get marginTop(){let A=this.yogaNode.getMargin(1);if(typeof A==="number")return A;if(typeof A==="object"&&A&&"value"in A&&typeof A.value==="number")return A.value;return 0}set marginRight(A){if(T6(A))this.yogaNode.setMargin(2,A),this.requestRender()}set marginBottom(A){if(T6(A))this.yogaNode.setMargin(3,A),this.requestRender()}set marginLeft(A){if(T6(A))this.yogaNode.setMargin(0,A),this.requestRender()}set padding(A){if(J6(A))this.yogaNode.setPadding(8,A),this.requestRender()}set paddingX(A){if(J6(A))this.yogaNode.setPadding(6,A),this.requestRender()}set paddingY(A){if(J6(A))this.yogaNode.setPadding(7,A),this.requestRender()}set paddingTop(A){if(J6(A))this.yogaNode.setPadding(1,A),this.requestRender()}set paddingRight(A){if(J6(A))this.yogaNode.setPadding(2,A),this.requestRender()}set paddingBottom(A){if(J6(A))this.yogaNode.setPadding(3,A),this.requestRender()}set paddingLeft(A){if(J6(A))this.yogaNode.setPadding(0,A),this.requestRender()}getLayoutNode(){return this.yogaNode}updateFromLayout(){let A=this._ctx.frameId;if(this._lastLayoutFrame===A)return;this._lastLayoutFrame=A;let q=this.yogaNode.getComputedLayout(),E=this._x,g=this._y,j=this._widthValue,a=this._heightValue;this._x=q.left,this._y=q.top;let Z=this.parent?this.parent._screenX:0,G=this.parent?this.parent._screenY:0;this._screenX=Z+this._x+this._translateX,this._screenY=G+this._y+this._translateY;let M=Math.max(q.width,1),Y=Math.max(q.height,1),Q=j!==M||a!==Y;if(this._widthValue=M,this._heightValue=Y,Q)this.onLayoutResize(M,Y);if(E!==this._x||g!==this._y){if(this.parent)this.parent.childrenPrimarySortDirty=!0}}onLayoutResize(A,q){if(this._visible)this.handleFrameBufferResize(A,q),this.onResize(A,q),this.requestRender()}handleFrameBufferResize(A,q){if(!this.buffered)return;if(A<=0||q<=0)return;if(this.frameBuffer)this.frameBuffer.resize(A,q);else this.createFrameBuffer()}createFrameBuffer(){let A=this.width,q=this.height;if(A<=0||q<=0)return;try{let E=this._ctx.widthMethod;this.frameBuffer=g6.create(A,q,E,{respectAlpha:!0,id:`framebuffer-${this.id}`})}catch(E){console.error(`Failed to create frame buffer for ${this.id}:`,E),this.frameBuffer=null}}onResize(A,q){this.onSizeChange?.(),this.emit("resize")}replaceParent(A){if(A.parent)A.parent.remove(A);A.parent=this}add(A,q){if(!A)return-1;let E=nO(this._ctx,A);if(!E)return-1;if(E.isDestroyed)return console.warn(`Renderable with id ${E.id} was already destroyed, skipping add`),-1;let g=q!==void 0?this._childrenInLayoutOrder[q]:void 0;if(g)return this.insertBefore(E,g);if(E.parent===this)this.yogaNode.removeChild(E.getLayoutNode()),this._childrenInLayoutOrder.splice(this._childrenInLayoutOrder.indexOf(E),1);else{if(this.replaceParent(E),this.needsZIndexSort=!0,this._childrenInZIndexOrder.push(E),typeof E.onLifecyclePass==="function")this._ctx.registerLifecyclePass(E);if(E._liveCount>0)this.propagateLiveCount(E._liveCount)}let j=E.getLayoutNode(),a=this._childrenInLayoutOrder.length;return this._childrenInLayoutOrder.push(E),this.yogaNode.insertChild(j,a),this.childrenPrimarySortDirty=!0,this._shouldUpdateBefore.add(E),lE(this._ctx),this.requestRender(),a}insertBefore(A,q){if(!q)return this.add(A);if(!A)return-1;let E=nO(this._ctx,A);if(!E)return-1;if(E.isDestroyed)return console.warn(`Renderable with id ${E.id} was already destroyed, skipping insertBefore`),-1;if(!yg(q))throw Error("Anchor must be a Renderable");if(q.isDestroyed)return console.warn(`Anchor with id ${q.id} was already destroyed, skipping insertBefore`),-1;if(this._childrenInLayoutOrder.indexOf(q)===-1)return console.warn(`Anchor with id ${q.id} does not exist within the parent ${this.id}, skipping insertBefore`),-1;if(E===q)return console.warn(`Anchor is the same as the node ${E.id} being inserted, skipping insertBefore`),-1;if(E.parent===this)this.yogaNode.removeChild(E.getLayoutNode()),this._childrenInLayoutOrder.splice(this._childrenInLayoutOrder.indexOf(E),1);else{if(this.replaceParent(E),this.needsZIndexSort=!0,this._childrenInZIndexOrder.push(E),typeof E.onLifecyclePass==="function")this._ctx.registerLifecyclePass(E);if(E._liveCount>0)this.propagateLiveCount(E._liveCount)}this.childrenPrimarySortDirty=!0;let g=this._childrenInLayoutOrder.indexOf(q),j=Math.max(0,Math.min(g,this._childrenInLayoutOrder.length));return this._childrenInLayoutOrder.splice(j,0,E),this.yogaNode.insertChild(E.getLayoutNode(),j),this._shouldUpdateBefore.add(E),lE(this._ctx),this.requestRender(),j}getRenderable(A){return this._childrenInLayoutOrder.find((q)=>q.id===A)}remove(A){if(!(A instanceof Sj))throw Error("remove expects a renderable child object");let q=this._childrenInLayoutOrder.indexOf(A);if(q===-1){console.warn(`Renderable with id ${A.id} is not a child of ${this.id}, skipping remove`);return}let E=this._childrenInLayoutOrder[q];if(E._liveCount>0)this.propagateLiveCount(-E._liveCount);this.yogaNode.removeChild(E.getLayoutNode()),this._childrenInLayoutOrder.splice(q,1);let g=this._childrenInZIndexOrder.indexOf(E);if(g!==-1)this._childrenInZIndexOrder.splice(g,1);this._shouldUpdateBefore.delete(E),this.requestRender(),E.onRemove(),E.parent=null,this._ctx.unregisterLifecyclePass(E),this.childrenPrimarySortDirty=!0,lE(this._ctx)}onRemove(){}getChildren(){return[...this._childrenInLayoutOrder]}getChildrenCount(){return this._childrenInLayoutOrder.length}updateLayout(A,q=[]){if(!this.visible)return;if(this.onUpdate(A),this._isDestroyed)return;if(this.updateFromLayout(),this._shouldUpdateBefore.size>0){for(let j of this._shouldUpdateBefore)if(!j.isDestroyed)j.updateFromLayout();this._shouldUpdateBefore.clear()}if(this._isDestroyed)return;let E=this._opacity<1;if(E)q.push({action:"pushOpacity",opacity:this._opacity});q.push({action:"render",renderable:this}),this.ensureZIndexSorted();let g=this._overflow!=="visible"&&this.width>0&&this.height>0;if(g){let j=this.getScissorRect();q.push({action:"pushScissorRect",x:j.x,y:j.y,width:j.width,height:j.height,screenX:this.buffered?this._screenX:j.x,screenY:this.buffered?this._screenY:j.y})}if(!this._hasVisibleChildFilter())for(let j of this._childrenInZIndexOrder)j.updateLayout(A,q);else{for(let Z of this._childrenInZIndexOrder){if(Z.isDestroyed)continue;Z.updateFromLayout()}let j=this._getVisibleChildren(),a=new Set(j);for(let Z of this._childrenInZIndexOrder){if(!a.has(Z.num))continue;Z.updateLayout(A,q)}}if(g)q.push({action:"popScissorRect"});if(E)q.push({action:"popOpacity"})}render(A,q){let E=A;if(this.buffered&&this.frameBuffer)E=this.frameBuffer;if(this.renderBefore)this.renderBefore.call(this,E,q);if(this.renderSelf(E,q),this.renderAfter)this.renderAfter.call(this,E,q);let g=this._screenX,j=this._screenY;if(this.markClean(),this._ctx.addToHitGrid(g,j,this.width,this.height,this.num),this.buffered&&this.frameBuffer)A.drawFrameBuffer(g,j,this.frameBuffer)}_hasVisibleChildFilter(){return this._getVisibleChildren!==pA.prototype._getVisibleChildren}_getVisibleChildren(){return this._childrenInZIndexOrder.map((A)=>A.num)}canReuseRenderCommandList(){return this.onUpdate===pA.prototype.onUpdate&&(this._overflow==="visible"||this.getScissorRect===pA.prototype.getScissorRect)&&!this._hasVisibleChildFilter()}onUpdate(A){}getScissorRect(){return{x:this.buffered?0:this._screenX,y:this.buffered?0:this._screenY,width:this.width,height:this.height}}renderSelf(A,q){}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)return;if(this._isDestroyed=!0,this.emit("destroyed"),this.parent)this.parent.remove(this);if(this.frameBuffer)this.frameBuffer.destroy(),this.frameBuffer=null;for(let A of[...this._childrenInLayoutOrder])this.remove(A);this._childrenInLayoutOrder=[],this._childrenInZIndexOrder=[],this._shouldUpdateBefore.clear(),pA.renderablesByNumber.delete(this.num),this.blur(),this.removeAllListeners(),this.destroySelf();try{this.yogaNode.free()}catch(A){}}destroyRecursively(){let A=[...this._childrenInLayoutOrder];for(let q of A)q.destroyRecursively();this.destroy()}destroySelf(){}processMouseEvent(A){if(A.currentTarget=this,this._mouseListener?.call(this,A),this._mouseListeners[A.type]?.call(this,A),this.onMouseEvent(A),this.parent&&!A.propagationStopped)this.parent.processMouseEvent(A)}onMouseEvent(A){}set onMouse(A){if(A)this._mouseListener=A;else this._mouseListener=null}set onMouseDown(A){if(A)this._mouseListeners.down=A;else delete this._mouseListeners.down}set onMouseUp(A){if(A)this._mouseListeners.up=A;else delete this._mouseListeners.up}set onMouseMove(A){if(A)this._mouseListeners.move=A;else delete this._mouseListeners.move}set onMouseDrag(A){if(A)this._mouseListeners.drag=A;else delete this._mouseListeners.drag}set onMouseDragEnd(A){if(A)this._mouseListeners["drag-end"]=A;else delete this._mouseListeners["drag-end"]}set onMouseDrop(A){if(A)this._mouseListeners.drop=A;else delete this._mouseListeners.drop}set onMouseOver(A){if(A)this._mouseListeners.over=A;else delete this._mouseListeners.over}set onMouseOut(A){if(A)this._mouseListeners.out=A;else delete this._mouseListeners.out}set onMouseScroll(A){if(A)this._mouseListeners.scroll=A;else delete this._mouseListeners.scroll}set onPaste(A){this._pasteListener=A}get onPaste(){return this._pasteListener}set onKeyDown(A){if(A)this._keyListeners.down=A;else delete this._keyListeners.down}get onKeyDown(){return this._keyListeners.down}set onSizeChange(A){this._sizeChangeListener=A}get onSizeChange(){return this._sizeChangeListener}applyEventOptions(A){this.onMouse=A.onMouse,this.onMouseDown=A.onMouseDown,this.onMouseUp=A.onMouseUp,this.onMouseMove=A.onMouseMove,this.onMouseDrag=A.onMouseDrag,this.onMouseDragEnd=A.onMouseDragEnd,this.onMouseDrop=A.onMouseDrop,this.onMouseOver=A.onMouseOver,this.onMouseOut=A.onMouseOut,this.onMouseScroll=A.onMouseScroll,this.onPaste=A.onPaste,this.onKeyDown=A.onKeyDown,this.onSizeChange=A.onSizeChange}};hj=class hj extends pA{renderList=[];_currentRenderable;appliedLayoutGeneration=-1;appliedRenderListRevision=-1;renderListReusable=!1;constructor(A){super(A,{id:"__root__",zIndex:0,visible:!0,width:A.width,height:A.height,enableLayout:!0});if(this.yogaNode)this.yogaNode.free();this.yogaNode=$Z.Node.createForOpenTUI(),this.yogaNode.setWidth(A.width),this.yogaNode.setHeight(A.height),this.yogaNode.setFlexDirection(0),this.calculateLayout()}get currentRenderable(){return this._currentRenderable}takeCurrentRenderable(){let A=this._currentRenderable;return this._currentRenderable=void 0,A}render(A,q){if(this._currentRenderable=void 0,!this.visible)return;for(let a of this._ctx.getLifecyclePasses())if(!a.isDestroyed)a.onLifecyclePass?.call(a);if(this.yogaNode.isDirty())this.calculateLayout();else this.syncExternalLayoutGeneration();let E=VX(this._ctx),g=iO(this._ctx);if(!(this.renderListReusable&&this.appliedLayoutGeneration===E&&this.appliedRenderListRevision===g))this.renderList.length=0,super.updateLayout(q,this.renderList),this.appliedLayoutGeneration=E,this.appliedRenderListRevision=iO(this._ctx),this.renderListReusable=this.canReuseCurrentRenderList();this._ctx.clearHitGridScissorRects();for(let a=1;a<this.renderList.length;a++){let Z=this.renderList[a];switch(Z.action){case"render":if(!Z.renderable.isDestroyed)this._currentRenderable=Z.renderable,Z.renderable.render(A,q),this._currentRenderable=void 0;break;case"pushScissorRect":A.pushScissorRect(Z.x,Z.y,Z.width,Z.height),this._ctx.pushHitGridScissorRect(Z.screenX,Z.screenY,Z.width,Z.height);break;case"popScissorRect":A.popScissorRect(),this._ctx.popHitGridScissorRect();break;case"pushOpacity":A.pushOpacity(Z.opacity);break;case"popOpacity":A.popOpacity();break}}}propagateLiveCount(A){let q=this._liveCount;if(this._liveCount+=A,q===0&&this._liveCount>0)this._ctx.requestLive();else if(q>0&&this._liveCount===0)this._ctx.dropLive()}calculateLayout(){this.yogaNode.calculateLayout(this.width,this.height,1),YX(this._ctx),this.yogaNode.markLayoutSeen(),this.emit("layout-changed")}syncExternalLayoutGeneration(){if(!this.yogaNode.hasNewLayout())return;YX(this._ctx),this.yogaNode.markLayoutSeen()}canReuseCurrentRenderList(){if(this._liveCount>0)return!1;for(let A of this.renderList){if(A.action!=="render")continue;if(!A.renderable.canReuseRenderCommandList())return!1}return!0}resize(A,q){this.width=A,this.height=q,this.emit("resized",{width:A,height:q})}};x5=Symbol.for("@opentui/core/VNode");YE=class YE extends z5{static registry=new Map;static nativeEventsSubscribed=!1;lib;bufferPtr;textBufferPtr;id;_destroyed=!1;_textBytes=[];_singleTextBytes=null;_singleTextMemId=null;_syntaxStyle;constructor(A,q){super();this.lib=A,this.bufferPtr=q,this.textBufferPtr=A.editBufferGetTextBuffer(q),this.id=A.editBufferGetId(q),YE.registry.set(this.id,this),YE.subscribeToNativeEvents(A)}static create(A){let q=Gq(),E=q.createEditBuffer(A);return new YE(q,E)}static subscribeToNativeEvents(A){if(YE.nativeEventsSubscribed)return;YE.nativeEventsSubscribed=!0,A.onAnyNativeEvent((q,E)=>{let g=new Uint16Array(E);if(q.startsWith("eb_")&&g.length>=1){let j=g[0],a=YE.registry.get(j);if(a){let Z=q.slice(3),G=E.slice(2);a.emit(Z,G)}}})}guard(){if(this._destroyed)throw Error("EditBuffer is destroyed")}get ptr(){return this.guard(),this.bufferPtr}setText(A){this.guard();let q=this.lib.encoder.encode(A);if(this._singleTextMemId!==null)this.lib.textBufferReplaceMemBuffer(this.textBufferPtr,this._singleTextMemId,q,!1);else this._singleTextMemId=this.lib.textBufferRegisterMemBuffer(this.textBufferPtr,q,!1);this._singleTextBytes=q,this.lib.editBufferSetTextFromMem(this.bufferPtr,this._singleTextMemId)}setTextOwned(A){this.guard();let q=this.lib.encoder.encode(A);this.lib.editBufferSetText(this.bufferPtr,q)}replaceText(A){this.guard();let q=this.lib.encoder.encode(A);this._textBytes.push(q);let E=this.lib.textBufferRegisterMemBuffer(this.textBufferPtr,q,!1);this.lib.editBufferReplaceTextFromMem(this.bufferPtr,E)}replaceTextOwned(A){this.guard();let q=this.lib.encoder.encode(A);this.lib.editBufferReplaceText(this.bufferPtr,q)}getLineCount(){return this.guard(),this.lib.textBufferGetLineCount(this.textBufferPtr)}setTabWidth(A){this.guard(),this.lib.editBufferSetTabWidth(this.bufferPtr,A)}getTabWidth(){return this.guard(),this.lib.textBufferGetTabWidth(this.textBufferPtr)}getText(){this.guard();let A=1048576,q=this.lib.editBufferGetText(this.bufferPtr,A);if(!q)return"";return this.lib.decoder.decode(q)}insertChar(A){this.guard(),this.lib.editBufferInsertChar(this.bufferPtr,A)}insertText(A){this.guard(),this.lib.editBufferInsertText(this.bufferPtr,A)}deleteChar(){this.guard(),this.lib.editBufferDeleteChar(this.bufferPtr)}deleteCharBackward(){this.guard(),this.lib.editBufferDeleteCharBackward(this.bufferPtr)}deleteRange(A,q,E,g){this.guard(),this.lib.editBufferDeleteRange(this.bufferPtr,A,q,E,g)}newLine(){this.guard(),this.lib.editBufferNewLine(this.bufferPtr)}deleteLine(){this.guard(),this.lib.editBufferDeleteLine(this.bufferPtr)}moveCursorLeft(){this.guard(),this.lib.editBufferMoveCursorLeft(this.bufferPtr)}moveCursorRight(){this.guard(),this.lib.editBufferMoveCursorRight(this.bufferPtr)}moveCursorUp(){this.guard(),this.lib.editBufferMoveCursorUp(this.bufferPtr)}moveCursorDown(){this.guard(),this.lib.editBufferMoveCursorDown(this.bufferPtr)}gotoLine(A){this.guard(),this.lib.editBufferGotoLine(this.bufferPtr,A)}setCursor(A,q){this.guard(),this.lib.editBufferSetCursor(this.bufferPtr,A,q)}setCursorToLineCol(A,q){this.guard(),this.lib.editBufferSetCursorToLineCol(this.bufferPtr,A,q)}setCursorByOffset(A){this.guard(),this.lib.editBufferSetCursorByOffset(this.bufferPtr,A)}getCursorPosition(){return this.guard(),this.lib.editBufferGetCursorPosition(this.bufferPtr)}getNextWordBoundary(){this.guard();let A=this.lib.editBufferGetNextWordBoundary(this.bufferPtr);return{row:A.row,col:A.col,offset:A.offset}}getPrevWordBoundary(){this.guard();let A=this.lib.editBufferGetPrevWordBoundary(this.bufferPtr);return{row:A.row,col:A.col,offset:A.offset}}getEOL(){this.guard();let A=this.lib.editBufferGetEOL(this.bufferPtr);return{row:A.row,col:A.col,offset:A.offset}}offsetToPosition(A){this.guard();let q=this.lib.editBufferOffsetToPosition(this.bufferPtr,A);if(!q)return null;return{row:q.row,col:q.col}}positionToOffset(A,q){return this.guard(),this.lib.editBufferPositionToOffset(this.bufferPtr,A,q)}getLineStartOffset(A){return this.guard(),this.lib.editBufferGetLineStartOffset(this.bufferPtr,A)}getTextRange(A,q){if(this.guard(),A>=q)return"";let E=1048576,g=this.lib.editBufferGetTextRange(this.bufferPtr,A,q,E);if(!g)return"";return this.lib.decoder.decode(g)}getTextRangeByCoords(A,q,E,g){this.guard();let j=1048576,a=this.lib.editBufferGetTextRangeByCoords(this.bufferPtr,A,q,E,g,j);if(!a)return"";return this.lib.decoder.decode(a)}debugLogRope(){this.guard(),this.lib.editBufferDebugLogRope(this.bufferPtr)}undo(){this.guard();let A=256,q=this.lib.editBufferUndo(this.bufferPtr,A);if(!q)return null;return this.lib.decoder.decode(q)}redo(){this.guard();let A=256,q=this.lib.editBufferRedo(this.bufferPtr,A);if(!q)return null;return this.lib.decoder.decode(q)}canUndo(){return this.guard(),this.lib.editBufferCanUndo(this.bufferPtr)}canRedo(){return this.guard(),this.lib.editBufferCanRedo(this.bufferPtr)}clearHistory(){this.guard(),this.lib.editBufferClearHistory(this.bufferPtr)}setDefaultFg(A){this.guard(),this.lib.textBufferSetDefaultFg(this.textBufferPtr,A)}setDefaultBg(A){this.guard(),this.lib.textBufferSetDefaultBg(this.textBufferPtr,A)}setDefaultAttributes(A){this.guard(),this.lib.textBufferSetDefaultAttributes(this.textBufferPtr,A)}resetDefaults(){this.guard(),this.lib.textBufferResetDefaults(this.textBufferPtr)}setSyntaxStyle(A){if(this.guard(),this.lib.textBufferSetSyntaxStyle(this.textBufferPtr,A?.ptr??null))this._syntaxStyle=A??void 0}getSyntaxStyle(){return this.guard(),this._syntaxStyle??null}addHighlight(A,q){this.guard(),this.lib.textBufferAddHighlight(this.textBufferPtr,A,q)}addHighlightByCharRange(A){this.guard(),this.lib.textBufferAddHighlightByCharRange(this.textBufferPtr,A)}removeHighlightsByRef(A){this.guard(),this.lib.textBufferRemoveHighlightsByRef(this.textBufferPtr,A)}clearLineHighlights(A){this.guard(),this.lib.textBufferClearLineHighlights(this.textBufferPtr,A)}clearAllHighlights(){this.guard(),this.lib.textBufferClearAllHighlights(this.textBufferPtr)}getLineHighlights(A){return this.guard(),this.lib.textBufferGetLineHighlights(this.textBufferPtr,A)}clear(){this.guard(),this.lib.editBufferClear(this.bufferPtr)}destroy(){if(this._destroyed)return;this._destroyed=!0,YE.registry.delete(this.id),this.lib.destroyEditBuffer(this.bufferPtr)}};Hq=class Hq extends pA{_backgroundColor;_border;_borderStyle;_borderColor;_focusedBorderColor;_customBorderCharsObj;_customBorderChars;borderSides;shouldFill;_title;_titleColor;_titleAlignment;_bottomTitle;_bottomTitleAlignment;_defaultOptions={backgroundColor:"transparent",borderStyle:"single",border:!1,borderColor:"#FFFFFF",shouldFill:!0,titleAlignment:"left",bottomTitleAlignment:"left",focusedBorderColor:"#00AAFF"};constructor(A,q){super(A,q);if(q.focusable===!0)this._focusable=!0;if(this._backgroundColor=S(q.backgroundColor||this._defaultOptions.backgroundColor),this._border=q.border??this._defaultOptions.border,!q.border&&(q.borderStyle||q.borderColor||q.focusedBorderColor||q.customBorderChars))this._border=!0;if(this._borderStyle=T_(q.borderStyle,this._defaultOptions.borderStyle),this._borderColor=S(q.borderColor||this._defaultOptions.borderColor),this._focusedBorderColor=S(q.focusedBorderColor||this._defaultOptions.focusedBorderColor),this._customBorderCharsObj=q.customBorderChars,this._customBorderChars=this._customBorderCharsObj?zg(this._customBorderCharsObj):void 0,this.borderSides=DF(this._border),this.shouldFill=q.shouldFill??this._defaultOptions.shouldFill,this._title=q.title,this._titleColor=q.titleColor?S(q.titleColor):void 0,this._titleAlignment=q.titleAlignment||this._defaultOptions.titleAlignment,this._bottomTitle=q.bottomTitle,this._bottomTitleAlignment=q.bottomTitleAlignment||this._defaultOptions.bottomTitleAlignment,this.applyYogaBorders(),q.gap!==void 0||q.rowGap!==void 0||q.columnGap!==void 0)this.applyYogaGap(q)}initializeBorder(){if(this._border===!1)this._border=!0,this.borderSides=DF(this._border),this.applyYogaBorders()}get customBorderChars(){return this._customBorderCharsObj}set customBorderChars(A){this._customBorderCharsObj=A,this._customBorderChars=A?zg(A):void 0,this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){let q=S(A??this._defaultOptions.backgroundColor);if(this._backgroundColor!==q)this._backgroundColor=q,this.requestRender()}get border(){return this._border}set border(A){if(this._border!==A)this._border=A,this.borderSides=DF(A),this.applyYogaBorders(),this.requestRender()}get borderStyle(){return this._borderStyle}set borderStyle(A){let q=T_(A,this._defaultOptions.borderStyle);if(this._borderStyle!==q||!this._border)this._borderStyle=q,this._customBorderChars=void 0,this.initializeBorder(),this.requestRender()}get borderColor(){return this._borderColor}set borderColor(A){let q=S(A??this._defaultOptions.borderColor);if(this._borderColor!==q)this._borderColor=q,this.initializeBorder(),this.requestRender()}get focusedBorderColor(){return this._focusedBorderColor}set focusedBorderColor(A){let q=S(A??this._defaultOptions.focusedBorderColor);if(this._focusedBorderColor!==q){if(this._focusedBorderColor=q,this.initializeBorder(),this._focused)this.requestRender()}}get title(){return this._title}set title(A){if(this._title!==A)this._title=A,this.requestRender()}get titleColor(){return this._titleColor}set titleColor(A){let q=A?S(A):void 0;if(this._titleColor!==q)this._titleColor=q,this.requestRender()}get titleAlignment(){return this._titleAlignment}set titleAlignment(A){if(this._titleAlignment!==A)this._titleAlignment=A,this.requestRender()}get bottomTitle(){return this._bottomTitle}set bottomTitle(A){if(this._bottomTitle!==A)this._bottomTitle=A,this.requestRender()}get bottomTitleAlignment(){return this._bottomTitleAlignment}set bottomTitleAlignment(A){if(this._bottomTitleAlignment!==A)this._bottomTitleAlignment=A,this.requestRender()}renderSelf(A){let q=this.borderSides.top||this.borderSides.right||this.borderSides.bottom||this.borderSides.left,E=this.shouldFill&&this._backgroundColor.a>0;if(!q&&!E)return;let j=this._focusable&&(this._focused||this._hasFocusedDescendant)?this._focusedBorderColor:this._borderColor,a=this._screenX,Z=this._screenY;A.drawBox({x:a,y:Z,width:this.width,height:this.height,borderStyle:this._borderStyle,customBorderChars:this._customBorderChars,border:this._border,borderColor:j,backgroundColor:this._backgroundColor,shouldFill:this.shouldFill,title:this._title,titleColor:this._titleColor??j,titleAlignment:this._titleAlignment,bottomTitle:this._bottomTitle,bottomTitleAlignment:this._bottomTitleAlignment})}getScissorRect(){let A=super.getScissorRect();if(!this.borderSides.top&&!this.borderSides.right&&!this.borderSides.bottom&&!this.borderSides.left)return A;let q=this.borderSides.left?1:0,E=this.borderSides.right?1:0,g=this.borderSides.top?1:0,j=this.borderSides.bottom?1:0;return{x:A.x+q,y:A.y+g,width:Math.max(0,A.width-q-E),height:Math.max(0,A.height-g-j)}}applyYogaBorders(){let A=this.yogaNode;A.setBorder(0,this.borderSides.left?1:0),A.setBorder(2,this.borderSides.right?1:0),A.setBorder(1,this.borderSides.top?1:0),A.setBorder(3,this.borderSides.bottom?1:0),this.requestRender()}applyYogaGap(A){let q=this.yogaNode;if(Rj(A.gap))q.setGap(2,A.gap);if(Rj(A.rowGap))q.setGap(1,A.rowGap);if(Rj(A.columnGap))q.setGap(0,A.columnGap)}set gap(A){if(Rj(A))this.yogaNode.setGap(2,A),this.requestRender()}set rowGap(A){if(Rj(A))this.yogaNode.setGap(1,A),this.requestRender()}set columnGap(A){if(Rj(A))this.yogaNode.setGap(0,A),this.requestRender()}};fF=class fF extends pA{selectable=!0;_defaultFg;_defaultBg;_defaultAttributes;_selectionBg;_selectionFg;_wrapMode="word";lastLocalSelection=null;_tabIndicator;_tabIndicatorColor;_scrollX=0;_scrollY=0;_truncate=!1;_firstLineOffset=0;textBuffer;textBufferView;_textBufferSyntaxStyle;nativeRenderable=null;_defaultOptions={fg:MA.fromValues(1,1,1,1),bg:MA.fromValues(0,0,0,0),selectionBg:void 0,selectionFg:void 0,selectable:!0,attributes:0,wrapMode:"word",tabIndicator:void 0,tabIndicatorColor:void 0,truncate:!1};constructor(A,q){super(A,q);if(this._defaultFg=S(q.fg??this._defaultOptions.fg),this._defaultBg=S(q.bg??this._defaultOptions.bg),this._defaultAttributes=q.attributes??this._defaultOptions.attributes,this._selectionBg=q.selectionBg?S(q.selectionBg):this._defaultOptions.selectionBg,this._selectionFg=q.selectionFg?S(q.selectionFg):this._defaultOptions.selectionFg,this.selectable=q.selectable??this._defaultOptions.selectable,this._wrapMode=q.wrapMode??this._defaultOptions.wrapMode,this._tabIndicator=q.tabIndicator??this._defaultOptions.tabIndicator,this._tabIndicatorColor=q.tabIndicatorColor?S(q.tabIndicatorColor):this._defaultOptions.tabIndicatorColor,this._truncate=q.truncate??this._defaultOptions.truncate,this.textBuffer=Nj.create(this._ctx.widthMethod),this.textBufferView=cF.create(this.textBuffer),this._firstLineOffset=A.claimFirstLineOffset?.(this)??0,this._textBufferSyntaxStyle=pE.create(),this.textBuffer.setSyntaxStyle(this._textBufferSyntaxStyle),this.textBufferView.setWrapMode(this._wrapMode),this.textBufferView.setFirstLineOffset(this._firstLineOffset),this.setupNativeRenderable(),this.textBuffer.setDefaultFg(this._defaultFg),this.textBuffer.setDefaultBg(this._defaultBg),this.textBuffer.setDefaultAttributes(this._defaultAttributes),this._tabIndicator!==void 0)this.textBufferView.setTabIndicator(this._tabIndicator);if(this._tabIndicatorColor!==void 0)this.textBufferView.setTabIndicatorColor(this._tabIndicatorColor);if(this._wrapMode!=="none"&&this.width>0)this.textBufferView.setWrapWidth(this.width);if(this.width>0&&this.height>0)this.textBufferView.setViewport(this._scrollX,this._scrollY,this.width,this.height);this.textBufferView.setTruncate(this._truncate),this.updateTextInfo()}onMouseEvent(A){if(A.type==="scroll")this.handleScroll(A)}handleScroll(A){if(!A.scroll)return;let{direction:q,delta:E}=A.scroll;if(q==="up")this.scrollY-=E;else if(q==="down")this.scrollY+=E;if(this._wrapMode==="none"){if(q==="left")this.scrollX-=E;else if(q==="right")this.scrollX+=E}}get lineInfo(){return this.textBufferView.logicalLineInfo}getLineSources(A,q){if(this.needsLineInfoFallback(fF.prototype))return this.lineInfo.lineSources.slice(A,A+q);return this.textBufferView.getLineSources(A,q)}needsLineInfoFallback(A){let q=this;while(q&&q!==A){if(Object.hasOwn(q,"getLineSources"))return!1;if(Object.hasOwn(q,"lineInfo"))return!0;q=Object.getPrototypeOf(q)}return!1}get lineCount(){return this.textBuffer.getLineCount()}get virtualLineCount(){return this.textBufferView.getVirtualLineCount()}get scrollY(){return this._scrollY}set scrollY(A){let q=Math.max(0,this.scrollHeight-this.height),E=Math.max(0,Math.min(A,q));if(this._scrollY!==E)this._scrollY=E,this.updateViewportOffset(),this.requestRender()}get scrollX(){return this._scrollX}set scrollX(A){let q=Math.max(0,this.scrollWidth-this.width),E=Math.max(0,Math.min(A,q));if(this._scrollX!==E)this._scrollX=E,this.updateViewportOffset(),this.requestRender()}get scrollWidth(){return this.lineInfo.lineWidthColsMax}get scrollHeight(){return this.virtualLineCount}get maxScrollY(){return Math.max(0,this.scrollHeight-this.height)}get maxScrollX(){return Math.max(0,this.scrollWidth-this.width)}updateViewportOffset(){if(this.width>0&&this.height>0)this.textBufferView.setViewport(this._scrollX,this._scrollY,this.width,this.height)}get plainText(){return this.textBuffer.getPlainText()}get textLength(){return this.textBuffer.length}get fg(){return this._defaultFg}set fg(A){let q=S(A??this._defaultOptions.fg);if(this._defaultFg!==q)this._defaultFg=q,this.textBuffer.setDefaultFg(this._defaultFg),this.onFgChanged(q),this.requestRender()}get selectionBg(){return this._selectionBg}set selectionBg(A){let q=A?S(A):this._defaultOptions.selectionBg;if(this._selectionBg!==q){if(this._selectionBg=q,this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.requestRender()}}get selectionFg(){return this._selectionFg}set selectionFg(A){let q=A?S(A):this._defaultOptions.selectionFg;if(this._selectionFg!==q){if(this._selectionFg=q,this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.requestRender()}}get bg(){return this._defaultBg}set bg(A){let q=S(A??this._defaultOptions.bg);if(this._defaultBg!==q)this._defaultBg=q,this.textBuffer.setDefaultBg(this._defaultBg),this.onBgChanged(q),this.requestRender()}get attributes(){return this._defaultAttributes}set attributes(A){if(this._defaultAttributes!==A)this._defaultAttributes=A,this.textBuffer.setDefaultAttributes(this._defaultAttributes),this.onAttributesChanged(A),this.requestRender()}get wrapMode(){return this._wrapMode}set wrapMode(A){if(this._wrapMode!==A){if(this._wrapMode=A,this.textBufferView.setWrapMode(this._wrapMode),A!=="none"&&this.width>0)this.textBufferView.setWrapWidth(this.width);this.yogaNode.markDirty(),this.requestRender()}}get tabIndicator(){return this._tabIndicator}set tabIndicator(A){if(this._tabIndicator!==A){if(this._tabIndicator=A,A!==void 0)this.textBufferView.setTabIndicator(A);this.requestRender()}}get tabIndicatorColor(){return this._tabIndicatorColor}set tabIndicatorColor(A){let q=A?S(A):void 0;if(this._tabIndicatorColor!==q){if(this._tabIndicatorColor=q,q!==void 0)this.textBufferView.setTabIndicatorColor(q);this.requestRender()}}get truncate(){return this._truncate}set truncate(A){if(this._truncate!==A)this._truncate=A,this.textBufferView.setTruncate(A),this.requestRender()}onResize(A,q){this.textBufferView.setViewport(this._scrollX,this._scrollY,A,q),this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change")}refreshLocalSelection(){if(this.lastLocalSelection)return this.updateLocalSelection(this.lastLocalSelection);return!1}updateLocalSelection(A){if(!A?.isActive)return this.textBufferView.resetLocalSelection(),!0;return this.textBufferView.setLocalSelection(A.anchorX,A.anchorY,A.focusX,A.focusY,this._selectionBg,this._selectionFg,A.behavior)}updateTextInfo(){if(this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change")}setupNativeRenderable(){let A=Gq(),q=A.createNativeRenderable();if(!A.nativeRenderableAttachYogaNode(q,this.yogaNode.ptr))throw A.destroyNativeRenderable(q),Error("Failed to attach native renderable Yoga node");if(!A.nativeRenderableSetMeasureTarget(q,YZ.TextBufferView,this.textBufferView.ptr))throw A.destroyNativeRenderable(q),Error("Failed to attach text buffer native measure target");this.nativeRenderable=q}shouldStartSelection(A,q){if(!this.selectable)return!1;let E=A-this.x,g=q-this.y;return E>=0&&E<this.width&&g>=0&&g<this.height}onSelectionChanged(A){let q=Lj(A,this.x,this.y);this.lastLocalSelection=q;let E;if(!q?.isActive)this.textBufferView.resetLocalSelection(),E=!0;else if(A?.isStart)E=this.textBufferView.setLocalSelection(q.anchorX,q.anchorY,q.focusX,q.focusY,this._selectionBg,this._selectionFg,q.behavior);else E=this.textBufferView.updateLocalSelection(q.anchorX,q.anchorY,q.focusX,q.focusY,this._selectionBg,this._selectionFg,q.behavior);if(E)this.requestRender();return this.hasSelection()}getSelectedText(){return this.textBufferView.getSelectedText()}hasSelection(){return this.textBufferView.hasSelection()}getSelection(){return this.textBufferView.getSelection()}render(A,q){if(!this.visible)return;let E=this._screenX,g=this._screenY;if(this.markClean(),this._ctx.addToHitGrid(E,g,this.width,this.height,this.num),this.renderSelf(A),this.buffered&&this.frameBuffer)A.drawFrameBuffer(E,g,this.frameBuffer)}renderSelf(A){if(this.textBuffer.ptr)A.drawTextBuffer(this.textBufferView,this._screenX,this._screenY)}destroy(){if(this.isDestroyed)return;if(this.nativeRenderable)Gq().destroyNativeRenderable(this.nativeRenderable),this.nativeRenderable=null;this.textBuffer.setSyntaxStyle(null),this._textBufferSyntaxStyle.destroy(),this.textBufferView.destroy(),this.textBuffer.destroy(),super.destroy()}onFgChanged(A){}onBgChanged(A){}onAttributesChanged(A){}};Mq=class Mq extends fF{_content;_filetype;_syntaxStyle;_isHighlighting=!1;_treeSitterClient;_highlightsDirty=!1;_highlightSnapshotId=0;_highlightLoopActive=!1;_highlightPromise;_highlightRerun=!1;_conceal;_drawUnstyledText;_shouldRenderTextBuffer=!0;_streaming;_initialStyledText;_hadInitialContent=!1;_lastHighlights=[];_baseHighlight;_onHighlight;_onChunks;_highlightingPromise=Promise.resolve();_renderedLineSources;_mappedLineInfo;_contentDefaultOptions={content:"",conceal:!0,drawUnstyledText:!0,streaming:!1};constructor(A,q){super(A,q);if(this._content=q.content??this._contentDefaultOptions.content,this._filetype=q.filetype,this._syntaxStyle=q.syntaxStyle,this._treeSitterClient=q.treeSitterClient??OO(),this._conceal=q.conceal??this._contentDefaultOptions.conceal,this._drawUnstyledText=q.drawUnstyledText??this._contentDefaultOptions.drawUnstyledText,this._streaming=q.streaming??this._contentDefaultOptions.streaming,this._initialStyledText=q.initialStyledText,this._baseHighlight=q.baseHighlight,this._onHighlight=q.onHighlight,this._onChunks=q.onChunks,this._content.length>0){if(this._initialStyledText&&this._drawUnstyledText)this.textBuffer.setStyledText(this._initialStyledText);else this.textBuffer.setText(this._content);this.updateTextInfo(),this._shouldRenderTextBuffer=this._drawUnstyledText||!this._filetype}this._highlightsDirty=this._content.length>0}get content(){return this._content}invalidateHighlights(){this._highlightsDirty=!0,this._highlightSnapshotId++}set content(A){if(this._content!==A){if(this._content=A,this.invalidateHighlights(),this._streaming&&this._filetype&&!this._drawUnstyledText){this.requestRender();return}if(A&&this._initialStyledText&&this._drawUnstyledText)this.textBuffer.setStyledText(this._initialStyledText);else this.textBuffer.setText(A);this.setRenderedLineSources(void 0),this.updateTextInfo()}}updateStreamingPreview(A,q){this._content=A,this._initialStyledText=q,this.invalidateHighlights(),this.textBuffer.setStyledText(q),this.setRenderedLineSources(void 0),this.updateTextInfo()}get lineInfo(){if(!this._renderedLineSources)return super.lineInfo;if(this._mappedLineInfo)return this._mappedLineInfo;let A=super.lineInfo,q=this._renderedLineSources;return this._mappedLineInfo={...A,lineSources:A.lineSources.map((E)=>q[E]??E)},this._mappedLineInfo}getLineSources(A,q){if(this.needsLineInfoFallback(Mq.prototype))return this.lineInfo.lineSources.slice(A,A+q);let E=this.textBufferView.getLineSources(A,q),g=this._renderedLineSources;return g?E.map((j)=>g[j]??j):E}get wrapMode(){return super.wrapMode}set wrapMode(A){if(super.wrapMode!==A)this._mappedLineInfo=void 0,super.wrapMode=A}onResize(A,q){this._mappedLineInfo=void 0,super.onResize(A,q)}updateTextInfo(){this._mappedLineInfo=void 0,super.updateTextInfo()}get filetype(){return this._filetype}set filetype(A){if(this._filetype!==A)this._filetype=A,this.invalidateHighlights()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle(A){if(this._syntaxStyle!==A)this._syntaxStyle=A,this.invalidateHighlights()}get conceal(){return this._conceal}set conceal(A){if(this._conceal!==A)this._conceal=A,this.invalidateHighlights()}get drawUnstyledText(){return this._drawUnstyledText}set drawUnstyledText(A){if(this._drawUnstyledText!==A)this._drawUnstyledText=A,this.invalidateHighlights()}get streaming(){return this._streaming}set initialStyledText(A){if(this._initialStyledText!==A){if(A&&this._streaming&&this._drawUnstyledText&&this._isHighlighting){this.updateStreamingPreview(this._content,A);return}this._initialStyledText=A,this.invalidateHighlights()}}set streaming(A){if(this._streaming!==A)this._streaming=A,this._hadInitialContent=!1,this._lastHighlights=[],this.invalidateHighlights()}get treeSitterClient(){return this._treeSitterClient}set treeSitterClient(A){if(this._treeSitterClient!==A)this._treeSitterClient=A,this.invalidateHighlights()}get onHighlight(){return this._onHighlight}get baseHighlight(){return this._baseHighlight}set baseHighlight(A){if(this._baseHighlight!==A)this._baseHighlight=A,this.invalidateHighlights()}set onHighlight(A){if(this._onHighlight!==A)this._onHighlight=A,this.invalidateHighlights()}get onChunks(){return this._onChunks}set onChunks(A){if(this._onChunks!==A)this._onChunks=A,this.invalidateHighlights()}get isHighlighting(){return this._isHighlighting||this._highlightRerun}get highlightingDone(){return this._highlightingPromise}async transformChunks(A,q){if(!this._onChunks)return A;return await this._onChunks(A,q)??A}ensureVisibleTextBeforeHighlight(){if(this.isDestroyed)return;let A=this._content;if(!this._filetype){this._shouldRenderTextBuffer=!0;return}let q=this._streaming&&!this._hadInitialContent,E=this._streaming?q&&this._drawUnstyledText:this._drawUnstyledText;if(this._streaming&&!q)this._shouldRenderTextBuffer=!0;else if(E){if(this._initialStyledText)this.textBuffer.setStyledText(this._initialStyledText);else this.textBuffer.setText(A);this.setRenderedLineSources(void 0),this._shouldRenderTextBuffer=!0}else this._shouldRenderTextBuffer=!1}async startHighlight(){let A=this._content,q=this._filetype,E=++this._highlightSnapshotId;if(!q)return;if(this._streaming&&!this._hadInitialContent)this._hadInitialContent=!0;this._isHighlighting=!0;try{let j=await this._treeSitterClient.highlightOnce(A,q);if(E!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;let a=j.highlights??[];if(this._onHighlight&&a.length>=0){let Z={content:A,filetype:q,syntaxStyle:this._syntaxStyle},G=await this._onHighlight(a,Z);if(G!==void 0)a=G}if(E!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;if(a.length>0){if(this._streaming)this._lastHighlights=a}if(a.length>0||this._onChunks||this._baseHighlight){let Z=this._onChunks?[]:void 0,G={content:A,filetype:q,syntaxStyle:this._syntaxStyle,highlights:a,sourceRanges:Z},M=KO(A,a,this._syntaxStyle,{enabled:this._conceal,baseHighlight:this._baseHighlight,ranges:Z}),Y=this._onChunks?void 0:this.getConcealLinesSourceMap(A,a);if(M=await this.transformChunks(M,G),E!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;let Q=new OE(M);this.textBuffer.setStyledText(Q),this.setRenderedLineSources(Y)}else this.textBuffer.setText(A),this.setRenderedLineSources(void 0);this._shouldRenderTextBuffer=!0,this._isHighlighting=!1,this._highlightsDirty=!1,this.updateTextInfo(),this.requestRender()}catch(j){if(E!==this._highlightSnapshotId){this.requestRender();return}if(console.warn("Code highlighting failed, falling back to plain text:",j),this.isDestroyed)return;this.textBuffer.setText(A),this.setRenderedLineSources(void 0),this._shouldRenderTextBuffer=!0,this._isHighlighting=!1,this._highlightsDirty=!1,this.updateTextInfo(),this.requestRender()}}async runHighlights(){try{do this._highlightRerun=!1,await this.startHighlight();while(this._highlightRerun&&!this.isDestroyed&&this._content.length>0&&this._filetype)}finally{this._highlightLoopActive=!1,this._highlightRerun=!1}}clearPendingHighlight(){this._highlightSnapshotId++,this._isHighlighting=!1,this._highlightRerun=!1,this._highlightingPromise=Promise.resolve()}setRenderedLineSources(A){this._renderedLineSources=A,this._mappedLineInfo=void 0}static isIdentityLineSources(A){for(let q=0;q<A.length;q++)if(A[q]!==q)return!1;return!0}static getMergedConcealLineRanges(A){let q=[];for(let g of A){let j=g[3];if(j?.concealLines===void 0)continue;let a=g[2];if(j.conceal===""||j.conceal===void 0&&(a==="conceal"||a.startsWith("conceal.")))q.push([g[0],g[1]])}if(q.length<=1)return q;q.sort((g,j)=>g[0]-j[0]);let E=0;for(let g=1;g<q.length;g++){let j=q[E],a=q[g];if(a[0]<=j[1])j[1]=Math.max(j[1],a[1]);else E++,q[E]=a}return q.length=E+1,q}getConcealLinesSourceMap(A,q){if(!this._conceal||A.length===0)return;let E=Mq.getMergedConcealLineRanges(q);if(E.length===0)return;let g=[],j=0,a=0,Z=0,G=!1,M=(Y,Q)=>{if(g.length===0)g.push(Y);else if(!G)g[g.length-1]=Y;if(Q)G=!0};while(a<=A.length){let Y=A.indexOf(`
195
+ `,a),Q=Y===-1?A.length:Y;while(Z<E.length&&E[Z][1]<=a)Z++;let H=E[Z],N=!!H&&Q>a&&H[0]<=a&&H[1]>=Q,X=Y!==-1&&!!H&&H[0]<=Y&&H[1]>=Y;if(!N||!X){let T=Q>a&&!N;if(T||Y!==-1||!N)M(j,T);if(Y!==-1&&!X)g.push(j+1),G=!1}if(j++,Y===-1)break;a=Y+1}if(g.length===0||Mq.isIdentityLineSources(g))return;return g}getLineHighlights(A){return this.textBuffer.getLineHighlights(A)}renderSelf(A){if(this._highlightsDirty){if(this.isDestroyed)return;let q=this._content.length>0;if(!q||!this._filetype){if(this._shouldRenderTextBuffer=q,this._highlightsDirty=!1,this.clearPendingHighlight(),q)this.textBuffer.setText(this._content),this.setRenderedLineSources(void 0),this.updateTextInfo()}else if(this.ensureVisibleTextBeforeHighlight(),this._highlightsDirty=!1,this._highlightLoopActive)this._isHighlighting=!0,this._highlightRerun=!0,this._highlightingPromise=this._highlightPromise;else{let{promise:E,resolve:g,reject:j}=Promise.withResolvers();this._highlightLoopActive=!0,this._highlightPromise=E,this._highlightingPromise=E;let a=()=>{if(this._highlightPromise===E)this._highlightPromise=void 0};this.runHighlights().then(()=>{a(),g()},(Z)=>{a(),j(Z)})}}if(!this._shouldRenderTextBuffer)return;super.renderSelf(A)}destroy(){if(this.isDestroyed)return;this.clearPendingHighlight(),super.destroy()}};hX=Symbol.for("@opentui/core/TextNodeRenderable");QE=class QE extends Sj{[hX]=!0;_fg;_bg;_attributes;_link;_children=[];parent=null;constructor(A){super(A);this._fg=A.fg?S(A.fg):void 0,this._bg=A.bg?S(A.bg):void 0,this._attributes=A.attributes??0,this._link=A.link}get children(){return this._children}set children(A){for(let q of this._children)if(AE(q)&&q.parent===this)q.parent=null;for(let q of A)if(AE(q)){if(q.parent&&q.parent!==this)q.parent.remove(q);q.parent=this}this._children=A,this.requestRender()}requestRender(){this.markDirty(),this.parent?.requestRender()}add(A,q){if(typeof A==="string"){if(q!==void 0)return this._children.splice(q,0,A),this.requestRender(),q;let E=this._children.length;return this._children.push(A),this.requestRender(),E}if(AE(A)){let E=this.prepareChildInsert(A,q);return this._children.splice(E,0,A),A.parent=this,this.requestRender(),E}if(nK(A)){let E=QX(A);if(q!==void 0)return this._children.splice(q,0,...E),E.forEach((j)=>j.parent=this),this.requestRender(),q;let g=this._children.length;return this._children.push(...E),E.forEach((j)=>j.parent=this),this.requestRender(),g}throw Error("TextNodeRenderable only accepts strings, TextNodeRenderable instances, or StyledText instances")}prepareChildInsert(A,q){let E=q??this._children.length;if(A.parent&&A.parent!==this)A.parent.remove(A);else if(A.parent===this){let g=this._children.indexOf(A);if(g!==-1){if(this._children.splice(g,1),g<E)E-=1}}return Math.max(0,Math.min(E,this._children.length))}replace(A,q){let E=this._children[q];if(AE(E)&&E.parent===this)E.parent=null;if(AE(A)){if(A.parent&&A.parent!==this)A.parent.remove(A);else if(A.parent===this){let g=this._children.indexOf(A);if(g!==-1&&g!==q){if(this._children.splice(g,1),g<q)q-=1}}A.parent=this}this._children[q]=A,this.requestRender()}insertBefore(A,q){if(!q||!AE(q))throw Error("Anchor must be a TextNodeRenderable");let E=this._children.indexOf(q);if(E===-1)throw Error("Anchor node not found in children");if(A===q)return this;if(AE(A))return this.add(A,E),this;if(typeof A==="string")this._children.splice(E,0,A);else if(nK(A)){let g=QX(A);this._children.splice(E,0,...g),g.forEach((j)=>j.parent=this)}else throw Error("Child must be a string, TextNodeRenderable, or StyledText instance");return this.requestRender(),this}remove(A){if(!AE(A))throw Error("remove expects a TextNodeRenderable child object");let q=this._children.indexOf(A);if(q===-1){console.warn(`TextNodeRenderable with id ${A.id} is not a child of ${this.id}, skipping remove`);return}this._children.splice(q,1),A.parent=null,this.requestRender()}clear(){for(let A of this._children)if(AE(A)&&A.parent===this)A.parent=null;this._children=[],this.requestRender()}mergeStyles(A){return{fg:this._fg??A.fg,bg:this._bg??A.bg,attributes:this._attributes|A.attributes,link:this._link??A.link}}gatherWithInheritedStyle(A={fg:void 0,bg:void 0,attributes:0}){let q=this.mergeStyles(A),E=[];for(let g of this._children)if(typeof g==="string")E.push({__isChunk:!0,text:g,fg:q.fg,bg:q.bg,attributes:q.attributes,link:q.link});else{let j=g.gatherWithInheritedStyle(q);E.push(...j)}return this.markClean(),E}static fromString(A,q={}){let E=new QE(q);return E.add(A),E}static fromNodes(A,q={}){let E=new QE(q);for(let g of A)E.add(g);return E}toChunks(A={fg:void 0,bg:void 0,attributes:0}){return this.gatherWithInheritedStyle(A)}getChildren(){return this._children.filter((A)=>typeof A!=="string")}getChildrenCount(){return this._children.length}getRenderable(A){return this._children.find((q)=>typeof q!=="string"&&q.id===A)}getRenderableIndex(A){return this._children.findIndex((q)=>AE(q)&&q.id===A)}get fg(){return this._fg}set fg(A){if(!A){this._fg=void 0,this.requestRender();return}this._fg=S(A),this.requestRender()}set bg(A){if(!A){this._bg=void 0,this.requestRender();return}this._bg=S(A),this.requestRender()}get bg(){return this._bg}set attributes(A){this._attributes=A,this.requestRender()}get attributes(){return this._attributes}set link(A){this._link=A,this.requestRender()}get link(){return this._link}findDescendantById(A){return}};eO=class eO extends QE{ctx;textParent;constructor(A,q,E){super(q);this.ctx=A,this.textParent=E}requestRender(){this.markDirty(),this.ctx.requestRender()}};mg=class mg extends fF{_text;_hasManualStyledText=!1;rootTextNode;_contentDefaultOptions={content:""};constructor(A,q){super(A,q);let E=q.content??this._contentDefaultOptions.content,g=typeof E==="string"?J_(E):E;this._text=g,this._hasManualStyledText=q.content!==void 0&&E!=="",this.rootTextNode=new eO(A,{id:`${this.id}-root`,fg:this._defaultFg,bg:this._defaultBg,attributes:this._defaultAttributes},this),this.updateTextBuffer(g)}updateTextBuffer(A){this.textBuffer.setStyledText(A),this.clearChunks(A)}clearChunks(A){}get content(){return this._text}get chunks(){return this._text.chunks}get textNode(){return this.rootTextNode}set content(A){this._hasManualStyledText=!0;let q=typeof A==="string"?J_(A):A;if(this._text!==q)this._text=q,this.updateTextBuffer(q),this.updateTextInfo()}updateTextFromNodes(){if(this.rootTextNode.isDirty&&!this._hasManualStyledText){let A=this.rootTextNode.gatherWithInheritedStyle({fg:this._defaultFg,bg:this._defaultBg,attributes:this._defaultAttributes,link:void 0});this.textBuffer.setStyledText(new OE(A)),this.refreshLocalSelection(),this.yogaNode.markDirty()}}add(A,q){return this.rootTextNode.add(A,q)}remove(A){this.rootTextNode.remove(A)}insertBefore(A,q){return this.rootTextNode.insertBefore(A,q),this.rootTextNode.children.indexOf(A)}getTextChildren(){return this.rootTextNode.getChildren()}clear(){this.rootTextNode.clear();let A=J_("");this._text=A,this.updateTextBuffer(A),this.updateTextInfo(),this.requestRender()}onLifecyclePass=()=>{this.updateTextFromNodes()};onFgChanged(A){this.rootTextNode.fg=A}onBgChanged(A){this.rootTextNode.bg=A}onAttributesChanged(A){this.rootTextNode.attributes=A}destroy(){this.rootTextNode.children.length=0,super.destroy()}};C5=typeof process<"u"&&typeof process.versions==="object"&&process.versions!==null&&typeof process.versions.bun==="string";WX=class WX extends v5{output=[];constructor(){super()}get size(){return this.output.length}write(A,q){this.output.push({stream:A,output:q}),this.emit("write",A,q)}claimOutput(){let A=this.output.map((q)=>q.output).join("");return this.clear(),A}clear(){this.output=[]}};rO=class rO extends w5{stream;capture;isTTY=!0;columns=process.stdout.columns||80;rows=process.stdout.rows||24;constructor(A,q){super();this.stream=A,this.capture=q}_write(A,q,E){let g=A.toString();this.capture.write(this.stream,g),E()}getColorDepth(){return process.stdout.getColorDepth?.()||8}};dE={enter:"return",esc:"escape",kp0:"0",kp1:"1",kp2:"2",kp3:"3",kp4:"4",kp5:"5",kp6:"6",kp7:"7",kp8:"8",kp9:"9",kpdecimal:".",kpdivide:"/",kpmultiply:"*",kpminus:"-",kpplus:"+",kpenter:"enter",kpequal:"=",kpseparator:",",kpleft:"left",kpright:"right",kpup:"up",kpdown:"down",kppageup:"pageup",kppagedown:"pagedown",kphome:"home",kpend:"end",kpinsert:"insert",kpdelete:"delete"};LZ=fE("ConsoleCapture",()=>new WX);Eq({name:"OTUI_USE_CONSOLE",description:"Whether to use the console. Will not capture console output if set to false.",type:"boolean",default:!0});Eq({name:"SHOW_CONSOLE",description:"Show the console at startup if set to true.",type:"boolean",default:!1});xX=class xX extends SX{_cachedLogs=[];MAX_CACHE_SIZE=1000;_collectCallerInfo=!1;_cachingEnabled=!0;_originalConsole=null;get cachedLogs(){return this._cachedLogs}constructor(){super()}activate(){if(!tA.OTUI_USE_CONSOLE)return;if(!this._originalConsole)this._originalConsole=global.console;this.setupConsoleCapture(),this.overrideConsoleMethods()}setupConsoleCapture(){if(!tA.OTUI_USE_CONSOLE)return;let A=new rO("stdout",LZ),q=new rO("stderr",LZ);global.console=new D5({stdout:A,stderr:q,colorMode:!0,inspectOptions:{compact:!1,breakLength:80,depth:2}})}overrideConsoleMethods(){if(console.log=(...A)=>{this.appendToConsole("LOG",...A)},console.info=(...A)=>{this.appendToConsole("INFO",...A)},console.warn=(...A)=>{this.appendToConsole("WARN",...A)},console.error=(...A)=>{this.appendToConsole("ERROR",...A)},console.debug=(...A)=>{this.appendToConsole("DEBUG",...A)},typeof console.timeStamp!=="function")console.timeStamp=()=>{}}setCollectCallerInfo(A){this._collectCallerInfo=A}clearConsole(){this._cachedLogs=[]}setCachingEnabled(A){this._cachingEnabled=A}deactivate(){this.restoreOriginalConsole()}restoreOriginalConsole(){if(this._originalConsole)global.console=this._originalConsole}addLogEntry(A,...q){let E=this._collectCallerInfo?f5():null,g=[new Date,A,q,E];if(this._cachingEnabled){if(this._cachedLogs.length>=this.MAX_CACHE_SIZE)this._cachedLogs.shift();this._cachedLogs.push(g)}return g}appendToConsole(A,...q){if(this._cachedLogs.length>=this.MAX_CACHE_SIZE)this._cachedLogs.shift();let E=this.addLogEntry(A,...q);this.emit("entry",E)}destroy(){this.deactivate()}};X6=fE("TerminalConsoleCache",()=>{let A=new xX;return process.on("exit",()=>{A.destroy()}),A});((A)=>{A.TOP="top",A.BOTTOM="bottom",A.LEFT="left",A.RIGHT="right"})(PX||={});uO=[{name:"up",action:"scroll-up"},{name:"down",action:"scroll-down"},{name:"up",shift:!0,action:"scroll-to-top"},{name:"down",shift:!0,action:"scroll-to-bottom"},{name:"p",ctrl:!0,action:"position-previous"},{name:"o",ctrl:!0,action:"position-next"},{name:"+",action:"size-increase"},{name:"=",shift:!0,action:"size-increase"},{name:"-",action:"size-decrease"},{name:"s",ctrl:!0,action:"save-logs"},{name:"c",ctrl:!0,shift:!0,action:"copy-selection"}],l5={position:"bottom",sizePercent:30,zIndex:1/0,colorInfo:"#00FFFF",colorWarn:"#FFFF00",colorError:"#FF0000",colorDebug:"#808080",colorDefault:"#FFFFFF",backgroundColor:MA.fromValues(0.1,0.1,0.1,0.7),startInDebugMode:!1,title:"Console",titleBarColor:MA.fromValues(0.05,0.05,0.05,0.7),titleBarTextColor:"#FFFFFF",cursorColor:"#00A0FF",maxStoredLogs:2000,maxDisplayLines:3000,onCopySelection:void 0,keyBindings:void 0,keyAliasMap:void 0,selectionColor:MA.fromValues(0.3,0.5,0.8,0.5),copyButtonColor:"#00A0FF"};AY=class AY extends SX{isVisible=!1;isFocused=!1;renderer;keyHandler;options;_debugModeEnabled=!1;frameBuffer=null;consoleX=0;consoleY=0;consoleWidth=0;consoleHeight=0;scrollTopIndex=0;isScrolledToBottom=!0;currentLineIndex=0;_displayLines=[];_allLogEntries=[];_needsFrameBufferUpdate=!1;_entryListener;_selectionStart=null;_selectionEnd=null;_isDragging=!1;_copyButtonBounds={x:0,y:0,width:0,height:0};_autoScrollInterval=null;clock;_keyBindingsMap;_keyAliasMap;_keyBindings;_mergedKeyBindings;_actionHandlers;markNeedsRerender(){this._needsFrameBufferUpdate=!0,this.renderer.requestRender()}getCopyButtonLabel(){let A=this._mergedKeyBindings.filter((E)=>E.action==="copy-selection"),q=A[A.length-1];if(q)return`[Copy (${c5(q)})]`;return"[Copy]"}_rgbaInfo;_rgbaWarn;_rgbaError;_rgbaDebug;_rgbaDefault;backgroundColor;_rgbaTitleBar;_rgbaTitleBarText;_title;_rgbaCursor;_rgbaSelection;_rgbaCopyButton;_positions=["top","right","bottom","left"];constructor(A,q={}){super();if(this.renderer=A,this.clock=q.clock??new X_,this.options={...l5,...q},this.keyHandler=this.handleKeyPress.bind(this),this._debugModeEnabled=this.options.startInDebugMode,X6.setCollectCallerInfo(this._debugModeEnabled),this._rgbaInfo=S(this.options.colorInfo),this._rgbaWarn=S(this.options.colorWarn),this._rgbaError=S(this.options.colorError),this._rgbaDebug=S(this.options.colorDebug),this._rgbaDefault=S(this.options.colorDefault),this.backgroundColor=S(this.options.backgroundColor),this._rgbaTitleBar=S(this.options.titleBarColor),this._rgbaTitleBarText=S(this.options.titleBarTextColor||this.options.colorDefault),this._title=this.options.title,this._rgbaCursor=S(this.options.cursorColor),this._rgbaSelection=S(this.options.selectionColor),this._rgbaCopyButton=S(this.options.copyButtonColor),this._keyAliasMap=tE(dE,q.keyAliasMap||{}),this._keyBindings=q.keyBindings||[],this._mergedKeyBindings=P6(uO,this._keyBindings),this._keyBindingsMap=z6(this._mergedKeyBindings,this._keyAliasMap),this._actionHandlers=this.buildActionHandlers(),this._updateConsoleDimensions(),this._scrollToBottom(!0),this._entryListener=(E)=>{this._handleNewLog(E)},X6.on("entry",this._entryListener),tA.SHOW_CONSOLE)this.show()}buildActionHandlers(){return new Map([["scroll-up",()=>this.scrollUp()],["scroll-down",()=>this.scrollDown()],["scroll-to-top",()=>this.scrollToTop()],["scroll-to-bottom",()=>this.scrollToBottomAction()],["position-previous",()=>this.positionPrevious()],["position-next",()=>this.positionNext()],["size-increase",()=>this.sizeIncrease()],["size-decrease",()=>this.sizeDecrease()],["save-logs",()=>this.saveLogsAction()],["copy-selection",()=>this.triggerCopyAction()]])}activate(){X6.activate()}deactivate(){X6.deactivate()}_handleNewLog(A){if(!this.isVisible)return;if(this._allLogEntries.push(A),this._allLogEntries.length>this.options.maxStoredLogs)this._allLogEntries.splice(0,this._allLogEntries.length-this.options.maxStoredLogs);let q=this._processLogEntry(A);if(this._displayLines.push(...q),this._displayLines.length>this.options.maxDisplayLines){this._displayLines.splice(0,this._displayLines.length-this.options.maxDisplayLines);let E=this._displayLines.length-this.options.maxDisplayLines;this.scrollTopIndex=Math.max(0,this.scrollTopIndex-E)}if(this.isScrolledToBottom)this._scrollToBottom();this.markNeedsRerender()}_updateConsoleDimensions(A,q){let E=A??this.renderer.width,g=q??this.renderer.height,j=this.options.sizePercent/100;switch(this.options.position){case"top":this.consoleX=0,this.consoleY=0,this.consoleWidth=E,this.consoleHeight=Math.max(1,Math.floor(g*j));break;case"bottom":this.consoleHeight=Math.max(1,Math.floor(g*j)),this.consoleWidth=E,this.consoleX=0,this.consoleY=g-this.consoleHeight;break;case"left":this.consoleWidth=Math.max(1,Math.floor(E*j)),this.consoleHeight=g,this.consoleX=0,this.consoleY=0;break;case"right":this.consoleWidth=Math.max(1,Math.floor(E*j)),this.consoleHeight=g,this.consoleY=0,this.consoleX=E-this.consoleWidth;break}this.currentLineIndex=Math.max(0,Math.min(this.currentLineIndex,this.consoleHeight-1))}handleKeyPress(A){if(A.name==="escape"){this.blur();return}let q=lF(this._keyBindingsMap,A);if(q){let E=this._actionHandlers.get(q);if(E){E();return}}}scrollUp(){let A=Math.max(1,this.consoleHeight-1);if(this.currentLineIndex>0)this.currentLineIndex--,this.markNeedsRerender();else if(this.scrollTopIndex>0)this.scrollTopIndex--,this.isScrolledToBottom=!1,this.markNeedsRerender();return!0}scrollDown(){let A=this._displayLines.length,q=Math.max(1,this.consoleHeight-1),E=Math.max(0,A-q);if(this.currentLineIndex<q-1&&this.scrollTopIndex+this.currentLineIndex<A-1)this.currentLineIndex++,this.markNeedsRerender();else if(this.scrollTopIndex<E)this.scrollTopIndex++,this.isScrolledToBottom=this.scrollTopIndex===E,this.markNeedsRerender();return!0}scrollToTop(){if(this.scrollTopIndex>0||this.currentLineIndex>0)this.scrollTopIndex=0,this.currentLineIndex=0,this.isScrolledToBottom=this._displayLines.length<=Math.max(1,this.consoleHeight-1),this.markNeedsRerender();return!0}scrollToBottomAction(){let A=Math.max(1,this.consoleHeight-1),q=Math.max(0,this._displayLines.length-A);if(this.scrollTopIndex<q||!this.isScrolledToBottom)this._scrollToBottom(!0),this.markNeedsRerender();return!0}positionPrevious(){let q=(this._positions.indexOf(this.options.position)-1+this._positions.length)%this._positions.length;return this.options.position=this._positions[q],this.resize(this.renderer.width,this.renderer.height),!0}positionNext(){let q=(this._positions.indexOf(this.options.position)+1)%this._positions.length;return this.options.position=this._positions[q],this.resize(this.renderer.width,this.renderer.height),!0}sizeIncrease(){return this.options.sizePercent=Math.min(100,this.options.sizePercent+5),this.resize(this.renderer.width,this.renderer.height),!0}sizeDecrease(){return this.options.sizePercent=Math.max(10,this.options.sizePercent-5),this.resize(this.renderer.width,this.renderer.height),!0}saveLogsAction(){return this.saveLogsToFile(),!0}triggerCopyAction(){return this.triggerCopy(),!0}attachStdin(){if(this.isFocused)return;this.renderer.keyInput.on("keypress",this.keyHandler),this.isFocused=!0}detachStdin(){if(!this.isFocused)return;this.renderer.keyInput.off("keypress",this.keyHandler),this.isFocused=!1}formatTimestamp(A){return new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(A)}formatArguments(A){return A.map((q)=>{if(q instanceof Error){let E=q;return`Error: ${E.message}
196
+ `+(E.stack?`${E.stack}
197
+ `:"")}if(typeof q==="object"&&q!==null)try{return $X.inspect(q,{depth:2})}catch(E){return String(q)}try{return $X.inspect(q,{depth:2})}catch(E){return String(q)}}).join(" ")}resize(A,q){if(this._updateConsoleDimensions(A,q),this.frameBuffer){this.frameBuffer.resize(this.consoleWidth,this.consoleHeight);let E=this._displayLines.length,g=Math.max(1,this.consoleHeight-1),j=Math.max(0,E-g);this.scrollTopIndex=Math.min(this.scrollTopIndex,j),this.isScrolledToBottom=this.scrollTopIndex===j;let a=Math.min(g,E-this.scrollTopIndex);if(this.currentLineIndex=Math.max(0,Math.min(this.currentLineIndex,a-1)),this.isVisible)this.markNeedsRerender()}}clear(){X6.clearConsole(),this._allLogEntries=[],this._displayLines=[],this.markNeedsRerender()}toggle(){if(this.isVisible)if(this.isFocused)this.hide();else this.focus();else this.show();if(!this.renderer.isRunning)this.renderer.requestRender()}focus(){this.attachStdin(),this._scrollToBottom(!0),this.markNeedsRerender()}blur(){this.detachStdin(),this.markNeedsRerender()}show(){if(!this.isVisible){if(this.isVisible=!0,this._processCachedLogs(),X6.setCachingEnabled(!1),!this.frameBuffer)this.frameBuffer=g6.create(this.consoleWidth,this.consoleHeight,this.renderer.widthMethod,{respectAlpha:this.backgroundColor.a<1,id:"console framebuffer"});let A=X6.cachedLogs.length,q=Math.min(this.consoleHeight,A);this.currentLineIndex=Math.max(0,q-1),this.scrollTopIndex=0,this._scrollToBottom(!0),this.focus(),this.markNeedsRerender()}}hide(){if(this.isVisible)this.stopAutoScroll(),this.isVisible=!1,this.blur(),X6.setCachingEnabled(!0)}destroy(){this.stopAutoScroll(),this.hide(),this.deactivate(),X6.off("entry",this._entryListener)}getCachedLogs(){return X6.cachedLogs.map((A)=>A[0].toISOString()+" "+A.slice(1).join(" ")).join(`
198
+ `)}updateFrameBuffer(){if(!this.frameBuffer)return;this.frameBuffer.clear(this.backgroundColor);let A=this._displayLines,q=A.length,E=Math.max(1,this.consoleHeight-1);this.frameBuffer.fillRect(0,0,this.consoleWidth,1,this._rgbaTitleBar);let g=`${this._title}${this.isFocused?" (Focused)":""}`,j=Math.max(0,Math.floor((this.consoleWidth-g.length)/2));this.frameBuffer.drawText(g,j,0,this._rgbaTitleBarText,this._rgbaTitleBar);let a=this.getCopyButtonLabel(),Z=this.consoleWidth-a.length-1;if(Z>=0){let H=this.hasSelection(),N=MA.fromInts(100,100,100,255),X=H?this._rgbaCopyButton:N;this.frameBuffer.drawText(a,Z,0,X,this._rgbaTitleBar),this._copyButtonBounds={x:Z,y:0,width:a.length,height:1}}else this._copyButtonBounds={x:-1,y:-1,width:0,height:0};let G=this.scrollTopIndex,M=Math.min(G+E,q),Y=A.slice(G,M),Q=1;for(let H=0;H<Y.length;H++){if(Q>=this.consoleHeight)break;let N=Y[H],X=G+H,T=this._rgbaDefault;switch(N.level){case"INFO":T=this._rgbaInfo;break;case"WARN":T=this._rgbaWarn;break;case"ERROR":T=this._rgbaError;break;case"DEBUG":T=this._rgbaDebug;break}let J=N.indent?" ".repeat(Dg):"",V=N.text,I=this.consoleWidth-1-(N.indent?Dg:0);if(this.isFocused&&Q-1===this.currentLineIndex)this.frameBuffer.drawText(">",0,Q,this._rgbaCursor,this.backgroundColor);else this.frameBuffer.drawText(" ",0,Q,this._rgbaDefault,this.backgroundColor);let C=`${J}${V.substring(0,I)}`,c=this.getLineSelectionRange(X);if(c){let D=Math.max(0,c.start),v=Math.min(C.length,c.end);if(D>0)this.frameBuffer.drawText(C.substring(0,D),1,Q,T);if(D<v)this.frameBuffer.fillRect(1+D,Q,v-D,1,this._rgbaSelection),this.frameBuffer.drawText(C.substring(D,v),1+D,Q,T,this._rgbaSelection);if(v<C.length)this.frameBuffer.drawText(C.substring(v),1+v,Q,T)}else this.frameBuffer.drawText(C,1,Q,T);Q++}}renderToBuffer(A){if(!this.isVisible||!this.frameBuffer)return;if(this._needsFrameBufferUpdate)this.updateFrameBuffer(),this._needsFrameBufferUpdate=!1;A.drawFrameBuffer(this.consoleX,this.consoleY,this.frameBuffer)}setDebugMode(A){if(this._debugModeEnabled=A,X6.setCollectCallerInfo(A),this.isVisible)this.markNeedsRerender()}toggleDebugMode(){this.setDebugMode(!this._debugModeEnabled)}set keyBindings(A){this._keyBindings=A,this._mergedKeyBindings=P6(uO,A),this._keyBindingsMap=z6(this._mergedKeyBindings,this._keyAliasMap),this.markNeedsRerender()}set keyAliasMap(A){this._keyAliasMap=tE(dE,A),this._mergedKeyBindings=P6(uO,this._keyBindings),this._keyBindingsMap=z6(this._mergedKeyBindings,this._keyAliasMap),this.markNeedsRerender()}set onCopySelection(A){this.options.onCopySelection=A}get onCopySelection(){return this.options.onCopySelection}_scrollToBottom(A=!1){let q=this._displayLines.length,E=Math.max(1,this.consoleHeight-1),g=Math.max(0,q-E);this.scrollTopIndex=g,this.isScrolledToBottom=!0;let j=Math.min(E,q-this.scrollTopIndex);if(A||this.currentLineIndex>=j)this.currentLineIndex=Math.max(0,j-1)}_processLogEntry(A){let[q,E,g,j]=A,a=[],Z=this.formatTimestamp(q),G=j?`${j.fileName}:${j.lineNumber}`:"unknown",M=`[${Z}] [${E}]`+(this._debugModeEnabled?` [${G}]`:"")+" ",Q=this.formatArguments(g).split(`
199
+ `);for(let H=0;H<Q.length;H++){let N=Q[H],X=H===0,T=this.consoleWidth-1-(X?0:Dg),J=X?M:" ".repeat(Dg),V=X?J+N:N,I=0;while(I<V.length||X&&I===0&&V.length===0){let W=V.substring(I,I+T),C=I===0;if(a.push({text:C&&!X?J+W:W,level:E,indent:!X||!C}),I+=T,X&&I===0&&V.length===0)break}}return a}_processCachedLogs(){let A=[...X6.cachedLogs];if(X6.clearConsole(),this._allLogEntries.push(...A),this._allLogEntries.length>this.options.maxStoredLogs)this._allLogEntries.splice(0,this._allLogEntries.length-this.options.maxStoredLogs);for(let q of A){let E=this._processLogEntry(q);this._displayLines.push(...E)}if(this._displayLines.length>this.options.maxDisplayLines)this._displayLines.splice(0,this._displayLines.length-this.options.maxDisplayLines)}hasSelection(){if(this._selectionStart===null||this._selectionEnd===null)return!1;return this._selectionStart.line!==this._selectionEnd.line||this._selectionStart.col!==this._selectionEnd.col}normalizeSelection(){if(!this._selectionStart||!this._selectionEnd)return null;let A=this._selectionStart,q=this._selectionEnd;if(A.line<q.line||A.line===q.line&&A.col<=q.col)return{startLine:A.line,startCol:A.col,endLine:q.line,endCol:q.col};else return{startLine:q.line,startCol:q.col,endLine:A.line,endCol:A.col}}getSelectedText(){let A=this.normalizeSelection();if(!A)return"";let q=[];for(let E=A.startLine;E<=A.endLine;E++){if(E<0||E>=this._displayLines.length)continue;let g=this._displayLines[E],j=g.indent?" ".repeat(Dg):"",a=this.consoleWidth-1-(g.indent?Dg:0),Z=j+g.text.substring(0,a),G=Z;if(E===A.startLine&&E===A.endLine)G=Z.substring(A.startCol,A.endCol);else if(E===A.startLine)G=Z.substring(A.startCol);else if(E===A.endLine)G=Z.substring(0,A.endCol);q.push(G)}return q.join(`
200
+ `)}clearSelection(){this._selectionStart=null,this._selectionEnd=null,this._isDragging=!1,this.stopAutoScroll()}stopAutoScroll(){if(this._autoScrollInterval!==null)this.clock.clearInterval(this._autoScrollInterval),this._autoScrollInterval=null}startAutoScroll(A){this.stopAutoScroll(),this._autoScrollInterval=this.clock.setInterval(()=>{if(A==="up")if(this.scrollTopIndex>0){if(this.scrollTopIndex--,this.isScrolledToBottom=!1,this._selectionEnd)this._selectionEnd={line:this.scrollTopIndex,col:this._selectionEnd.col};this.markNeedsRerender()}else this.stopAutoScroll();else{let q=this._displayLines.length,E=Math.max(1,this.consoleHeight-1),g=Math.max(0,q-E);if(this.scrollTopIndex<g){if(this.scrollTopIndex++,this.isScrolledToBottom=this.scrollTopIndex===g,this._selectionEnd){let j=this.scrollTopIndex+E-1;this._selectionEnd={line:Math.min(j,q-1),col:this._selectionEnd.col}}this.markNeedsRerender()}else this.stopAutoScroll()}},50)}triggerCopy(){if(!this.hasSelection())return;let A=this.getSelectedText();if(A&&this.options.onCopySelection){try{this.options.onCopySelection(A)}catch{}this.clearSelection(),this.markNeedsRerender()}}getLineSelectionRange(A){let q=this.normalizeSelection();if(!q)return null;if(A<q.startLine||A>q.endLine)return null;let E=this._displayLines[A];if(!E)return null;let g=E.indent?" ".repeat(Dg):"",j=this.consoleWidth-1-(E.indent?Dg:0),a=g.length+Math.min(E.text.length,j),Z=0,G=a;if(A===q.startLine)Z=Math.max(0,q.startCol);if(A===q.endLine)G=Math.min(a,q.endCol);if(Z>=G)return null;return{start:Z,end:G}}handleMouse(A){if(!this.isVisible)return!1;let q=A.x-this.consoleX,E=A.y-this.consoleY;if(q<0||q>=this.consoleWidth||E<0||E>=this.consoleHeight)return!1;if(A.type==="scroll"&&A.scroll){if(A.scroll.direction==="up")this.scrollUp();else if(A.scroll.direction==="down")this.scrollDown();return!0}if(E===0){if(A.type==="down"&&A.button===0&&q>=this._copyButtonBounds.x&&q<this._copyButtonBounds.x+this._copyButtonBounds.width)return this.triggerCopy(),!0;return!0}let g=this.scrollTopIndex+(E-1),j=Math.max(0,q-1);if(A.type==="down"&&A.button===0)return this.clearSelection(),this._selectionStart={line:g,col:j},this._selectionEnd={line:g,col:j},this._isDragging=!0,this.markNeedsRerender(),!0;if(A.type==="drag"&&this._isDragging){this._selectionEnd={line:g,col:j};let a=Math.max(1,this.consoleHeight-1),Z=E-1;if(Z<=0)this.startAutoScroll("up");else if(Z>=a-1)this.startAutoScroll("down");else this.stopAutoScroll();return this.markNeedsRerender(),!0}if(A.type==="up"){if(this._isDragging)this._selectionEnd={line:g,col:j},this._isDragging=!1,this.stopAutoScroll(),this.markNeedsRerender();return!0}return!0}get visible(){return this.isVisible}get bounds(){return{x:this.consoleX,y:this.consoleY,width:this.consoleWidth,height:this.consoleHeight}}saveLogsToFile(){try{let q=`_console_${Date.now()}.log`,E=m5.join(process.cwd(),q),g=[...this._allLogEntries,...X6.cachedLogs],j=[];for(let[Z,G,M,Y]of g){let Q=this.formatTimestamp(Z),H=Y?`${Y.fileName}:${Y.lineNumber}`:"unknown",N=`[${Q}] [${G}]`+(this._debugModeEnabled?` [${H}]`:"")+" ",X=this.formatArguments(M);j.push(N+X)}let a=j.join(`
201
+ `);y5.writeFileSync(E,a,"utf8"),console.info(`Console logs saved to: ${q}`)}catch(A){console.error("Failed to save console logs:",A)}}};zX=Symbol.for("@opentui/core/EditBufferRenderable");((A)=>{A.TRAITS_CHANGED="traits-changed"})(CX||={});EY=class EY extends pA{[zX]=!0;_focusable=!0;selectable=!0;_traits={};_textColor;_backgroundColor;_defaultAttributes;_selectionBg;_selectionFg;_wrapMode="word";_scrollMargin=0.2;_showCursor=!0;_cursorColor;_cursorStyle;lastLocalSelection=null;_tabIndicator;_tabIndicatorColor;_cursorChangeListener=void 0;_contentChangeListener=void 0;_autoScrollVelocity=0;_autoScrollAccumulator=0;_scrollSpeed=16;_keyboardSelectionActive=!1;editBuffer;editorView;nativeRenderable=null;_defaultOptions={textColor:MA.fromValues(1,1,1,1),backgroundColor:"transparent",selectionBg:void 0,selectionFg:void 0,selectable:!0,attributes:0,wrapMode:"word",scrollMargin:0.2,scrollSpeed:16,showCursor:!0,cursorColor:MA.fromValues(1,1,1,1),cursorStyle:{style:"block",blinking:!0},tabIndicator:void 0,tabIndicatorColor:void 0};constructor(A,q){super(A,q);if(this._textColor=S(q.textColor??this._defaultOptions.textColor),this._backgroundColor=S(q.backgroundColor??this._defaultOptions.backgroundColor),this._defaultAttributes=q.attributes??this._defaultOptions.attributes,this._selectionBg=q.selectionBg?S(q.selectionBg):this._defaultOptions.selectionBg,this._selectionFg=q.selectionFg?S(q.selectionFg):this._defaultOptions.selectionFg,this.selectable=q.selectable??this._defaultOptions.selectable,this._wrapMode=q.wrapMode??this._defaultOptions.wrapMode,this._scrollMargin=q.scrollMargin??this._defaultOptions.scrollMargin,this._scrollSpeed=q.scrollSpeed??this._defaultOptions.scrollSpeed,this._showCursor=q.showCursor??this._defaultOptions.showCursor,this._cursorColor=S(q.cursorColor??this._defaultOptions.cursorColor),this._cursorStyle=q.cursorStyle??this._defaultOptions.cursorStyle,this._tabIndicator=q.tabIndicator??this._defaultOptions.tabIndicator,this._tabIndicatorColor=q.tabIndicatorColor?S(q.tabIndicatorColor):this._defaultOptions.tabIndicatorColor,this.editBuffer=YE.create(this._ctx.widthMethod),this.editorView=NZ.create(this.editBuffer,this.width||80,this.height||24),this.editorView.setWrapMode(this._wrapMode),this.editorView.setScrollMargin(this._scrollMargin),q.selectionOccupancy==="boundary")this.editorView.setSelectionOccupancy("boundary");if(this.editBuffer.setDefaultFg(this._textColor),this.editBuffer.setDefaultBg(this._backgroundColor),this.editBuffer.setDefaultAttributes(this._defaultAttributes),q.syntaxStyle)this.editBuffer.setSyntaxStyle(q.syntaxStyle);if(this._tabIndicator!==void 0)this.editorView.setTabIndicator(this._tabIndicator);if(this._tabIndicatorColor!==void 0)this.editorView.setTabIndicatorColor(this._tabIndicatorColor);this.setupNativeRenderable(),this.setupEventListeners(q)}get lineInfo(){return this.editorView.getLogicalLineInfo()}setupEventListeners(A){this._cursorChangeListener=A.onCursorChange,this._contentChangeListener=A.onContentChange,this.editBuffer.on("cursor-changed",()=>{if(this._cursorChangeListener){let q=this.editBuffer.getCursorPosition();this._cursorChangeListener({line:q.row,visualColumn:q.col})}}),this.editBuffer.on("content-changed",()=>{if(this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change"),this._contentChangeListener)this._contentChangeListener({})})}get lineCount(){return this.editBuffer.getLineCount()}get virtualLineCount(){return this.editorView.getVirtualLineCount()}get scrollY(){return this.editorView.getViewport().offsetY}get plainText(){return this.editBuffer.getText()}get logicalCursor(){return this.editBuffer.getCursorPosition()}get visualCursor(){return this.editorView.getVisualCursor()}get cursorOffset(){return this.editorView.getVisualCursor().offset}set cursorOffset(A){this.clearSelection(),this.editorView.setCursorByOffset(A),this.requestRender()}get cursorCharacterOffset(){let A=this.plainText.length;if(A<=0)return;let q=this.logicalCursor,E=this.cursorOffset;if(E>=A){if(q.col>0)return A-1;return 0}if(this.plainText[E]===`
202
+ `&&q.col>0)return E-1;return E}get textColor(){return this._textColor}set textColor(A){let q=S(A??this._defaultOptions.textColor);if(this._textColor!==q)this._textColor=q,this.editBuffer.setDefaultFg(q),this.requestRender()}get selectionBg(){return this._selectionBg}get traits(){return this._traits}set traits(A){if(p5(this._traits,A))return;let q=this._traits;this._traits=A,this.emit("traits-changed",A,q)}set selectionBg(A){let q=A?S(A):this._defaultOptions.selectionBg;if(this._selectionBg!==q)this._selectionBg=q,this.refreshSelectionStyle(),this.requestRender()}get selectionFg(){return this._selectionFg}set selectionFg(A){let q=A?S(A):this._defaultOptions.selectionFg;if(this._selectionFg!==q)this._selectionFg=q,this.refreshSelectionStyle(),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){let q=S(A??this._defaultOptions.backgroundColor);if(this._backgroundColor!==q)this._backgroundColor=q,this.editBuffer.setDefaultBg(q),this.requestRender()}get attributes(){return this._defaultAttributes}set attributes(A){if(this._defaultAttributes!==A)this._defaultAttributes=A,this.editBuffer.setDefaultAttributes(A),this.requestRender()}get wrapMode(){return this._wrapMode}set wrapMode(A){if(this._wrapMode!==A)this._wrapMode=A,this.editorView.setWrapMode(A),this.yogaNode.markDirty(),this.requestRender()}get showCursor(){return this._showCursor}set showCursor(A){if(this._showCursor!==A){if(this._showCursor=A,!A&&this._focused)this._ctx.setCursorPosition(0,0,!1);this.requestRender()}}get cursorColor(){return this._cursorColor}set cursorColor(A){let q=S(A);if(this._cursorColor!==q){if(this._cursorColor=q,this._focused)this.requestRender()}}get cursorStyle(){return this._cursorStyle}set cursorStyle(A){let q=A;if(this.cursorStyle.style!==q.style||this.cursorStyle.blinking!==q.blinking){if(this._cursorStyle=q,this._focused)this.requestRender()}}get selectionOccupancy(){return this.editorView.getSelectionOccupancy()}set selectionOccupancy(A){let q=A??"cell";if(this.selectionOccupancy===q)return;this.editorView.setSelectionOccupancy(q),this.requestRender()}get tabIndicator(){return this._tabIndicator}set tabIndicator(A){if(this._tabIndicator!==A){if(this._tabIndicator=A,A!==void 0)this.editorView.setTabIndicator(A);this.requestRender()}}get tabIndicatorColor(){return this._tabIndicatorColor}set tabIndicatorColor(A){let q=A?S(A):void 0;if(this._tabIndicatorColor!==q){if(this._tabIndicatorColor=q,q!==void 0)this.editorView.setTabIndicatorColor(q);this.requestRender()}}get scrollSpeed(){return this._scrollSpeed}set scrollSpeed(A){this._scrollSpeed=Math.max(0,A)}onMouseEvent(A){if(A.type==="scroll")this.handleScroll(A)}handleScroll(A){if(!A.scroll)return;let{direction:q,delta:E}=A.scroll,g=this.editorView.getViewport();if(q==="up"){let j=Math.max(0,g.offsetY-E);this.editorView.setViewport(g.offsetX,j,g.width,g.height,!0),this.requestRender()}else if(q==="down"){let j=this.editorView.getTotalVirtualLineCount(),a=Math.max(0,j-g.height),Z=Math.min(g.offsetY+E,a);this.editorView.setViewport(g.offsetX,Z,g.width,g.height,!0),this.requestRender()}if(this._wrapMode==="none"){if(q==="left"){let j=Math.max(0,g.offsetX-E);this.editorView.setViewport(j,g.offsetY,g.width,g.height,!0),this.requestRender()}else if(q==="right"){let j=g.offsetX+E;this.editorView.setViewport(j,g.offsetY,g.width,g.height,!0),this.requestRender()}}}onResize(A,q){this.editorView.setViewportSize(A,q)}refreshLocalSelection(){if(this.lastLocalSelection)return this.updateLocalSelection(this.lastLocalSelection);return!1}updateLocalSelection(A){if(!A?.isActive)return this.editorView.resetLocalSelection(),!0;return this.editorView.setLocalSelection(A.anchorX,A.anchorY,A.focusX,A.focusY,this._selectionBg,this._selectionFg,!1,!1,A.behavior)}shouldStartSelection(A,q){if(!this.selectable)return!1;let E=A-this.x,g=q-this.y;return E>=0&&E<this.width&&g>=0&&g<this.height}onSelectionChanged(A){let q=Lj(A,this.x,this.y);this.lastLocalSelection=q;let E=!0,g=this._keyboardSelectionActive,j;if(!q?.isActive)this._keyboardSelectionActive=!1,this.editorView.resetLocalSelection(),j=!0;else if(A?.isStart)j=this.editorView.setLocalSelection(q.anchorX,q.anchorY,q.focusX,q.focusY,this._selectionBg,this._selectionFg,E,g,q.behavior);else j=this.editorView.updateLocalSelection(q.anchorX,q.anchorY,q.focusX,q.focusY,this._selectionBg,this._selectionFg,E,g,q.behavior);if(j&&q?.isActive&&A?.isDragging){let a=this.editorView.getViewport(),Z=q.focusY,G=Math.max(1,Math.floor(a.height*this._scrollMargin));if(Z<G)this._autoScrollVelocity=-this._scrollSpeed;else if(Z>=a.height-G)this._autoScrollVelocity=this._scrollSpeed;else this._autoScrollVelocity=0}else this._keyboardSelectionActive=!1,this._autoScrollVelocity=0,this._autoScrollAccumulator=0;if(j)this.requestRender();return this.hasSelection()}onUpdate(A){if(super.onUpdate(A),this._autoScrollVelocity!==0&&this.hasSelection()){let q=A/1000;this._autoScrollAccumulator+=this._autoScrollVelocity*q;let E=Math.floor(Math.abs(this._autoScrollAccumulator));if(E>0){let g=this._autoScrollVelocity>0?1:-1,j=this.editorView.getViewport(),a=this.editorView.getTotalVirtualLineCount(),Z=Math.max(0,a-j.height),G=Math.max(0,Math.min(j.offsetY+g*E,Z));if(G!==j.offsetY)this.editorView.setViewport(j.offsetX,G,j.width,j.height,!1),this._ctx.requestSelectionUpdate();this._autoScrollAccumulator-=g*E}}}getSelectedText(){return this.editorView.getSelectedText()}hasSelection(){return this.editorView.hasSelection()}getSelection(){return this.editorView.getSelection()}refreshSelectionStyle(){this.editorView.setSelectionColors(this._selectionBg,this._selectionFg)}deleteSelectedText(){this.editorView.deleteSelectedText(),this._ctx.clearSelection(),this.requestRender()}setSelection(A,q){this.lastLocalSelection=null,this.editorView.resetLocalSelection(),this._ctx.clearSelection(),this.editorView.setSelection(A,q,this._selectionBg,this._selectionFg),this.requestRender()}setSelectionInclusive(A,q){this.lastLocalSelection=null,this.editorView.resetLocalSelection(),this._ctx.clearSelection(),this.editorView.setSelectionInclusive(A,q,this._selectionBg,this._selectionFg),this.requestRender()}clearSelection(){let A=this.hasSelection();if(this.lastLocalSelection=null,this.editorView.resetLocalSelection(),this._ctx.clearSelection(),A)this.requestRender();return A}deleteSelection(){if(!this.hasSelection())return!1;return this.lastLocalSelection=null,this.deleteSelectedText(),!0}setCursor(A,q){this.clearSelection(),this.editBuffer.setCursor(A,q),this.requestRender()}insertChar(A){if(this.hasSelection())this.deleteSelectedText();this.editBuffer.insertChar(A),this.requestRender()}insertText(A){if(this.hasSelection())this.deleteSelectedText();this.editBuffer.insertText(A),this.requestRender()}deleteChar(){if(this.hasSelection())return this.deleteSelectedText(),!0;return this._ctx.clearSelection(),this.editBuffer.deleteChar(),this.requestRender(),!0}deleteCharBackward(){if(this.hasSelection())return this.deleteSelectedText(),!0;return this._ctx.clearSelection(),this.editBuffer.deleteCharBackward(),this.requestRender(),!0}newLine(){return this._ctx.clearSelection(),this.editBuffer.newLine(),this.requestRender(),!0}deleteLine(){return this._ctx.clearSelection(),this.editBuffer.deleteLine(),this.requestRender(),!0}collapseSelectionToEdge(A){let q=this.getSelection();if(!q)return!1;return this.editBuffer.setCursorByOffset(A==="start"?q.start:q.end),this.clearSelection(),!0}moveCursorLeft(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("start"))return!0;return this.updateSelectionForMovement(q,!0),this.editBuffer.moveCursorLeft(),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}moveCursorRight(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("end"))return!0;return this.updateSelectionForMovement(q,!0),this.editBuffer.moveCursorRight(),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}moveCursorUp(A){let q=A?.select??!1;return this.updateSelectionForMovement(q,!0),this.editorView.moveUpVisual(),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}moveCursorDown(A){let q=A?.select??!1;return this.updateSelectionForMovement(q,!0),this.editorView.moveDownVisual(),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoLine(A){this.clearSelection(),this.editBuffer.gotoLine(A),this.requestRender()}gotoLineStart(){this.setCursor(this.logicalCursor.row,0)}gotoLineTextEnd(){let A=this.editBuffer.getEOL();this.setCursor(A.row,A.col)}gotoLineHome(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("start"))return!0;this.updateSelectionForMovement(q,!0);let E=this.editorView.getCursor();if(E.col===0&&E.row>0){this.editBuffer.setCursor(E.row-1,0);let g=this.editBuffer.getEOL();this.editBuffer.setCursor(g.row,g.col)}else this.editBuffer.setCursor(E.row,0);return this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoLineEnd(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("end"))return!0;this.updateSelectionForMovement(q,!0);let E=this.editorView.getCursor(),g=this.editBuffer.getEOL(),j=this.editBuffer.getLineCount();if(E.col===g.col&&E.row<j-1)this.editBuffer.setCursor(E.row+1,0);else this.editBuffer.setCursor(g.row,g.col);return this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoVisualLineHome(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("start"))return!0;this.updateSelectionForMovement(q,!0);let E=this.editorView.getVisualSOL();return this.editBuffer.setCursor(E.logicalRow,E.logicalCol),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoVisualLineEnd(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("end"))return!0;return this.updateSelectionForMovement(q,!0),this.editorView.gotoVisualLineEnd(),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoBufferHome(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("start"))return!0;return this.updateSelectionForMovement(q,!0),this.editBuffer.setCursor(0,0),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}gotoBufferEnd(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("end"))return!0;return this.updateSelectionForMovement(q,!0),this.editBuffer.gotoLine(999999),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}selectAll(){return this.updateSelectionForMovement(!1,!0),this.editBuffer.setCursor(0,0),this.gotoBufferEnd({select:!0})}deleteToLineEnd(){let A=this.editorView.getCursor(),q=this.editBuffer.getEOL();if(q.col>A.col)this.editBuffer.deleteRange(A.row,A.col,q.row,q.col);return this.requestRender(),!0}deleteToLineStart(){let A=this.editorView.getCursor();if(A.col>0)this.editBuffer.deleteRange(A.row,0,A.row,A.col);else if(A.row>0)this.editBuffer.deleteCharBackward();return this.requestRender(),!0}undo(){return this._ctx.clearSelection(),this.editBuffer.undo(),this.requestRender(),!0}redo(){return this._ctx.clearSelection(),this.editBuffer.redo(),this.requestRender(),!0}moveWordForward(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("end"))return!0;this.updateSelectionForMovement(q,!0);let E=this.editBuffer.getNextWordBoundary();return this.editBuffer.setCursorByOffset(E.offset),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}moveWordBackward(A){let q=A?.select??!1;if(!q&&this.collapseSelectionToEdge("start"))return!0;this.updateSelectionForMovement(q,!0);let E=this.editBuffer.getPrevWordBoundary();return this.editBuffer.setCursorByOffset(E.offset),this.updateSelectionForMovement(q,!1),this.requestRender(),!0}deleteWordForward(){if(this.hasSelection())return this.deleteSelectedText(),!0;let A=this.editBuffer.getCursorPosition(),q=this.editBuffer.getNextWordBoundary();if(q.offset>A.offset)this.editBuffer.deleteRange(A.row,A.col,q.row,q.col);return this._ctx.clearSelection(),this.requestRender(),!0}deleteWordBackward(){if(this.hasSelection())return this.deleteSelectedText(),!0;let A=this.editBuffer.getCursorPosition(),q=this.editBuffer.getPrevWordBoundary();if(q.offset<A.offset)this.editBuffer.deleteRange(q.row,q.col,A.row,A.col);return this._ctx.clearSelection(),this.requestRender(),!0}setupNativeRenderable(){let A=Gq(),q=A.createNativeRenderable();if(!A.nativeRenderableAttachYogaNode(q,this.yogaNode.ptr))throw A.destroyNativeRenderable(q),Error("Failed to attach native renderable Yoga node");if(!A.nativeRenderableSetMeasureTarget(q,YZ.EditorView,this.editorView.ptr))throw A.destroyNativeRenderable(q),Error("Failed to attach editor native measure target");this.nativeRenderable=q}render(A,q){if(!this.visible)return;if(this.isDestroyed)return;let E=this._screenX,g=this._screenY;this.markClean(),this._ctx.addToHitGrid(E,g,this.width,this.height,this.num),this.renderSelf(A),this.renderCursor(A)}renderSelf(A){A.drawEditorView(this.editorView,this._screenX,this._screenY)}renderCursor(A){if(!this._showCursor||!this._focused)return;let q=this.editorView.getVisualCursor(),E=this._screenX,g=this._screenY,j=E+q.visualCol+1,a=g+q.visualRow+1;this._ctx.setCursorPosition(j,a,!0),this._ctx.setCursorStyle({...this._cursorStyle,color:this._cursorColor})}focus(){super.focus(),this._ctx.setCursorStyle({...this._cursorStyle,color:this._cursorColor}),this.requestRender()}blur(){super.blur(),this._ctx.setCursorPosition(0,0,!1),this.requestRender()}onRemove(){if(this._focused)this._ctx.setCursorPosition(0,0,!1)}destroy(){if(this.isDestroyed)return;if(this.traits={},this._focused)this._ctx.setCursorPosition(0,0,!1),this.blur();if(this.nativeRenderable)Gq().destroyNativeRenderable(this.nativeRenderable),this.nativeRenderable=null;this.editorView.destroy(),this.editBuffer.destroy(),super.destroy()}set onCursorChange(A){this._cursorChangeListener=A}get onCursorChange(){return this._cursorChangeListener}set onContentChange(A){this._contentChangeListener=A}get onContentChange(){return this._contentChangeListener}get syntaxStyle(){return this.editBuffer.getSyntaxStyle()}set syntaxStyle(A){this.editBuffer.setSyntaxStyle(A),this.requestRender()}addHighlight(A,q){this.editBuffer.addHighlight(A,q),this.requestRender()}addHighlightByCharRange(A){this.editBuffer.addHighlightByCharRange(A),this.requestRender()}removeHighlightsByRef(A){this.editBuffer.removeHighlightsByRef(A),this.requestRender()}clearLineHighlights(A){this.editBuffer.clearLineHighlights(A),this.requestRender()}clearAllHighlights(){this.editBuffer.clearAllHighlights(),this.requestRender()}getLineHighlights(A){return this.editBuffer.getLineHighlights(A)}setText(A){this.editBuffer.setText(A),this.yogaNode.markDirty(),this.requestRender()}replaceText(A){this.editBuffer.replaceText(A),this.yogaNode.markDirty(),this.requestRender()}clear(){this.editBuffer.clear(),this.editBuffer.clearAllHighlights(),this.yogaNode.markDirty(),this.requestRender()}deleteRange(A,q,E,g){this.editBuffer.deleteRange(A,q,E,g),this.yogaNode.markDirty(),this.requestRender()}getTextRange(A,q){return this.editBuffer.getTextRange(A,q)}getTextRangeByCoords(A,q,E,g){return this.editBuffer.getTextRangeByCoords(A,q,E,g)}updateSelectionForMovement(A,q){if(!A){this._keyboardSelectionActive=!1,this.clearSelection();return}if(!this.selectable)return;this._keyboardSelectionActive=!0;let E=this.editorView.getVisualCursor(),g=this.x+E.visualCol,j=this.y+E.visualRow;if(q){if(!this._ctx.hasSelection||!this.hasSelection())this._ctx.startSelection(this,g,j);else if(this._ctx.getSelection()?.behavior!=="cell"){if(this.editorView.convertSelectionToCell()){let a=this._ctx.getSelection();if(a)a.behavior="cell"}}return}this._ctx.updateSelection(this,g,j,{finishDragging:!0})}};Z6={switchToAlternateScreen:"\x1B[?1049h",switchToMainScreen:"\x1B[?1049l",reset:"\x1B[0m",resetScrollRegion:"\x1B[r",home:"\x1B[H",clearScreen:"\x1B[2J",clearSavedLines:"\x1B[3J",scrollDown:(A)=>`\x1B[${A}T`,scrollUp:(A)=>`\x1B[${A}S`,moveCursor:(A,q)=>`\x1B[${A};${q}H`,moveCursorAndClear:(A,q)=>`\x1B[${A};${q}H\x1B[J`,setRgbBackground:(A,q,E)=>`\x1B[48;2;${A};${q};${E}m`,resetBackground:"\x1B[49m",bracketedPasteStart:"\x1B[200~",bracketedPasteEnd:"\x1B[201~"};TX=/\x1b](10|11);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g;Eq({name:"OTUI_DUMP_CAPTURES",description:"Dump captured stdout and console caches when the renderer exit handler runs.",type:"boolean",default:!1});Eq({name:"OTUI_NO_NATIVE_RENDER",description:"Skip the Zig/native frame renderer. Useful for debugging the render loop; split-footer stdout flushing may still write ANSI.",type:"boolean",default:!1});Eq({name:"OTUI_USE_ALTERNATE_SCREEN",description:"When explicitly set, force screen mode selection: true=alternate-screen, false=main-screen.",type:"boolean",default:!0});Eq({name:"OTUI_OVERRIDE_STDOUT",description:"When explicitly set, force stdout routing: false=passthrough, true=capture in split-footer mode.",type:"boolean",default:!0});Eq({name:"OTUI_DEBUG",description:"Enable debug mode to capture all raw input for debugging purposes.",type:"boolean",default:!1});Eq({name:"OTUI_STDIN_LOG",description:"Write the raw stdin byte stream to this file for debugging.",type:"string",default:""});Eq({name:"OTUI_SHOW_STATS",description:"Show the debug overlay at startup.",type:"boolean",default:!1});dO=["raw","zlib","file"],e5=MA.fromValues(0,0,0,0);JZ=class JZ extends DX{width;height;terminalWidth;terminalHeight;resolution;frameId=0;widthMethod;capabilities;hasSelection=!1;currentFocusedRenderable=null;keyInput;_internalKeyInput;lifecyclePasses=new Set;constructor(A,q,E,g=A,j=q,a=null,Z=null){super();this.width=A,this.height=q,this.terminalWidth=g,this.terminalHeight=j,this.resolution=a,this.capabilities=Z,this.widthMethod=E,this.keyInput=new yF,this._internalKeyInput=new mF}addToHitGrid(A,q,E,g,j){}pushHitGridScissorRect(A,q,E,g){}popHitGridScissorRect(){}clearHitGridScissorRects(){}requestRender(){}setCursorPosition(A,q,E){}setCursorStyle(A){}setCursorColor(A){}setMousePointer(A){}requestLive(){}dropLive(){}getSelection(){return null}get currentFocusedEditor(){if(!this.currentFocusedRenderable)return null;if(!qY(this.currentFocusedRenderable))return null;return this.currentFocusedRenderable}requestSelectionUpdate(){}focusRenderable(A){this.currentFocusedRenderable=A}blurRenderable(A){if(this.currentFocusedRenderable===A)this.currentFocusedRenderable=null}registerLifecyclePass(A){this.lifecyclePasses.add(A)}unregisterLifecyclePass(A){this.lifecyclePasses.delete(A)}getLifecyclePasses(){return this.lifecyclePasses}clearSelection(){}startSelection(A,q,E,g){}updateSelection(A,q,E,g){}};_h=["TMPDIR","SSH_CONNECTION","SSH_CLIENT","SSH_TTY","MOSH_CONNECTION","TMUX","ZELLIJ","ZELLIJ_SESSION_NAME","ZELLIJ_PANE_ID","TERM","OPENTUI_GRAPHICS","OPENTUI_IMAGE_PROTOCOL","TERM_PROGRAM","TERM_PROGRAM_VERSION","TERM_FEATURES","ALACRITTY_SOCKET","ALACRITTY_LOG","COLORTERM","TERMUX_VERSION","VHS_RECORD","OPENTUI_FORCE_WCWIDTH","OPENTUI_FORCE_UNICODE","OPENTUI_FORCE_NOZWJ","OPENTUI_FORCE_EXPLICIT_WIDTH","OPENTUI_NOTIFICATION_PROTOCOL","OPENTUI_NOTIFICATIONS","WT_SESSION","STY","WSL_DISTRO_NAME","WSL_INTEROP"];((A)=>{A[A.LEFT=0]="LEFT",A[A.MIDDLE=1]="MIDDLE",A[A.RIGHT=2]="RIGHT",A[A.WHEEL_UP=4]="WHEEL_UP",A[A.WHEEL_DOWN=5]="WHEEL_DOWN"})(kX||={});e6=fE("RendererTracker",()=>({renderers:new Set,streamOwners:new WeakMap}));((A)=>{A.RESIZE="resize",A.FRAME="frame",A.RENDER_ERROR="render:error",A.HANDLER_ERROR="handler:error",A.EXTERNAL_OUTPUT="external_output",A.FOCUS="focus",A.BLUR="blur",A.FOCUSED_RENDERABLE="focused_renderable",A.FOCUSED_EDITOR="focused_editor",A.THEME_MODE="theme_mode",A.PALETTE="palette",A.CAPABILITIES="capabilities",A.SELECTION="selection",A.DEBUG_OVERLAY_TOGGLE="debugOverlay:toggle",A.DESTROY="destroy",A.MEMORY_SNAPSHOT="memory:snapshot"})(VZ||={});((A)=>{A.IDLE="idle",A.AUTO_STARTED="auto_started",A.EXPLICIT_STARTED="explicit_started",A.EXPLICIT_PAUSED="explicit_paused",A.EXPLICIT_SUSPENDED="explicit_suspended",A.EXPLICIT_STOPPED="explicit_stopped"})(cX||={});RZ=class RZ extends DX{static animationFrameId=0;lib;rendererPtr;stdin;stdout;exitOnCtrlC;exitSignals;_exitListenersAdded=!1;_isDestroyed=!1;_destroyPending=!1;_destroyFinalized=!1;_destroyCleanupPrepared=!1;_streamLeaseAcquired=!1;nextRenderBuffer;currentRenderBuffer;_isRunning=!1;_targetFps=30;_maxFps=60;automaticMemorySnapshot=!1;memorySnapshotInterval;memorySnapshotTimer=null;lastMemorySnapshot={heapUsed:0,heapTotal:0,arrayBuffers:0};root;width;height;_useThread=!1;gatherStats=!1;frameTimes=[];maxStatSamples=300;postProcessFns=[];backgroundColor=MA.fromInts(0,0,0,0);waitingForPixelResolution=!1;pixelResolutionRequeryPending=!1;clock;rendering=!1;renderingNative=!1;renderTimeout=null;lastTime=0;frameCount=0;_frameId=0;lastFpsTime=0;currentFps=0;targetFrameTime=1000/this._targetFps;minTargetFrameTime=1000/this._maxFps;immediateRerenderRequested=!1;updateScheduled=!1;updateGeneration=0;liveRequestCounter=0;_controlState="idle";frameCallbacks=[];renderStats={frameCount:0,fps:0,renderTime:0,frameCallbackTime:0};debugOverlay={enabled:tA.OTUI_SHOW_STATS,corner:3};_console;_resolution=null;_keyHandler;stdinParser=null;oscSubscribers=new Set;hasLoggedStdinParserError=!1;animationRequest=new Map;resizeTimeoutId=null;capabilityTimeoutId=null;kittyTransportTimer=null;kittyTransportMode;terminalKeepAliveTimer=null;xtVersionWaiters=new Set;splitStartupSeedTimeoutId=null;pendingSplitStartupCursorSeed=!1;resizeDebounceDelay=100;enableMouseMovement=!1;_useMouse=!0;autoFocus=!0;_screenMode="alternate-screen";_footerHeight=jY;_externalOutputMode="passthrough";clearOnShutdown=!0;_suspendedMouseEnabled=!1;_previousControlState="idle";pendingSuspendedTerminalSetup=!1;suspendedNonAltSurfacePreserved=!1;capturedRenderable;lastOverRenderableNum=0;lastOverRenderable;currentSelection=null;selectionContainers=[];lastClick=null;clipboard;_splitHeight=0;renderOffset=0;splitTailColumn=0;pendingSplitFooterTransition=null;forceFullRepaintRequested=!1;maxSplitCommitsPerFrame=8;_terminalWidth=0;_terminalHeight=0;_terminalIsSetup=!1;externalOutputQueue=new mX;pendingExternalOutputMode=null;realStdoutWrite;_useConsole=!0;sigwinchHandler=(()=>{let A=this.stdout.columns,q=this.stdout.rows;if(A>0&&q>0)this.handleResize(A,q)}).bind(this);_capabilities=null;_latestPointer={x:0,y:0};_hasPointer=!1;_lastPointerModifiers={shift:!1,alt:!1,ctrl:!1};_currentMousePointerStyle=void 0;_currentFocusedRenderable=null;lifecyclePasses=new Set;_openConsoleOnError=!0;_paletteDetector=null;_paletteCache=new Map;_paletteDetectionPromise=null;_paletteDetectionSize=0;_paletteEpoch=0;_nativePaletteSignature=null;_emittedPaletteSignature=null;_palettePublishGeneration=0;_onDestroy;themeModeState;_terminalFocusState=null;sequenceHandlers=[];prependedInputHandlers=[];shouldRestoreModesOnNextFocus=!1;themeModeHandler;idleResolvers=[];_debugInputs=[];_debugModeEnabled=tA.OTUI_DEBUG;stdinLogPath=tA.OTUI_STDIN_LOG;handleError=((A)=>{if(console.error(A),this._openConsoleOnError)this.console.show()}).bind(this);dumpOutputCache(A=""){let q=this.console.getCachedLogs(),E=LZ.claimOutput(),g=this.externalOutputQueue.claim(),j="";for(let a of g)j+=`[snapshot ${a.snapshot.width}x${a.snapshot.height}]
203
+ `,a.snapshot.destroy();if(E.length>0||j.length>0||q.length>0)this.realStdoutWrite.call(this.stdout,A);if(q.length>0)this.realStdoutWrite.call(this.stdout,`Console cache:
204
+ `),this.realStdoutWrite.call(this.stdout,q);if(E.length>0)this.realStdoutWrite.call(this.stdout,`
205
+ Captured console output:
206
+ `),this.realStdoutWrite.call(this.stdout,E+`
207
+ `);if(j.length>0)this.realStdoutWrite.call(this.stdout,`
208
+ Captured external output:
209
+ `),this.realStdoutWrite.call(this.stdout,j+`
210
+ `);this.realStdoutWrite.call(this.stdout,Z6.reset)}exitHandler=(()=>{if(this.destroy(),tA.OTUI_DUMP_CAPTURES)F4(100).then(()=>{this.dumpOutputCache(`=== CAPTURED OUTPUT ===
211
+ `)})}).bind(this);warningHandler=((A)=>{console.warn(JSON.stringify(A.message,null,2))}).bind(this);_usesProcessStdout;_feed=null;_detachFeed=null;_detachFeedError=null;feedIdleRenderScheduled=!1;feedIdleWaitPending=!1;get controlState(){return this._controlState}constructor(A,q,E,g,j={}){super();this.stdin=A,this.stdout=q,this._usesProcessStdout=q===process.stdout,this.realStdoutWrite=q.write;let a=Gq(),Z=j.bufferedOutput==="memory",G=!this._usesProcessStdout&&!Z,{screenMode:M,footerHeight:Y,externalOutputMode:Q}=qh(j),H=TZ(M,E,g,Y),N=j.remote??(G?!0:void 0);this.kittyTransportMode=j.kittyImageTransport??"raw";let X=dO.indexOf(this.kittyTransportMode);if(X<0)throw TypeError("Invalid kittyImageTransport");if(e6.streamOwners.get(A))throw Error("Cannot create CliRenderer: stdin is already used by another CliRenderer");if(e6.streamOwners.get(q))throw Error("Cannot create CliRenderer: stdout is already used by another CliRenderer");let T=null;if(G)try{T=bF.create()}catch(v){throw Error(`Failed to allocate NativeSpanFeed for custom stdout: ${v instanceof Error?v.message:String(v)}`)}let J;try{J=a.createRenderer(H.renderWidth,H.renderHeight,{remote:N,feedPtr:T?.streamPtr??null,bufferedOutput:j.bufferedOutput})}catch(v){throw T?.close(),v}if(!J)throw T?.close(),Error("Failed to create renderer");if(a.setKittyImageTransport(J,X),j.useThread===void 0)j.useThread=!0;if(process.platform==="linux")j.useThread=!1;a.setUseThread(J,j.useThread);let V=j.useKittyKeyboard??{},I=bX(V);if(a.setKittyKeyboardFlags(J,I),this._feed=T,T)this._detachFeed=T.onData((v)=>{return new Promise((k)=>{this.realStdoutWrite.call(this.stdout,v,()=>k())})}),this._detachFeedError=T.onError((v)=>{if(this.kittyTransportTimer!==null)this.kittyOutputErrorHandler();console.error(`[CliRenderer] NativeSpanFeed error: code=${v}`)});this.lib=a,this._terminalWidth=E,this._terminalHeight=g,this._useThread=j.useThread,this._externalOutputMode=Q,this.width=H.renderWidth,this.height=H.renderHeight,this._splitHeight=H.effectiveFooterHeight,this.renderOffset=M==="split-footer"?0:H.renderOffset,this._footerHeight=Y,this.rendererPtr=J,this.clearOnShutdown=j.clearOnShutdown??!0,this.lib.setClearOnShutdown(this.rendererPtr,this.clearOnShutdown);let W=j.forwardEnvKeys??(N===!0?[]:[..._h]);for(let v of W){let k=process.env[v];if(k===void 0)continue;this.lib.setTerminalEnvVar(this.rendererPtr,v,k)}if(this.exitOnCtrlC=j.exitOnCtrlC===void 0?!0:j.exitOnCtrlC,this.exitSignals=j.exitSignals||["SIGINT","SIGTERM","SIGQUIT","SIGABRT","SIGHUP","SIGPIPE","SIGBREAK","SIGBUS"],this.clipboard=new ZZ(this.lib,this.rendererPtr),this.resizeDebounceDelay=j.debounceDelay||100,this.targetFps=j.targetFps||30,this.maxFps=j.maxFps||60,this.clock=j.clock??new X_,this.themeModeState=new _Y({queryThemeColors:()=>{this.lib.queryThemeColors(this.rendererPtr)}},this.clock),this.themeModeHandler=(v)=>{let k=this.themeModeState.handleSequence(v);if(k.changedMode){if(this.clearPaletteCache(),this.shouldSyncNativePaletteState()||this.listenerCount("palette")>0)this.refreshPalette();this.emit("theme_mode",k.changedMode)}return k.handled},this.memorySnapshotInterval=j.memorySnapshotInterval??0,this.gatherStats=j.gatherStats||!1,this.maxStatSamples=j.maxStatSamples||300,this.enableMouseMovement=j.enableMouseMovement??!0,this._useMouse=j.useMouse??!0,this.autoFocus=j.autoFocus??!0,this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this.postProcessFns=j.postProcessFns||[],this.prependedInputHandlers=j.prependInputHandlers||[],this.root=new hj(this),this.memorySnapshotInterval>0)this.startMemorySnapshotTimer();if(this._usesProcessStdout)process.on("SIGWINCH",this.sigwinchHandler);process.on("warning",this.warningHandler),process.on("uncaughtException",this.handleError),process.on("unhandledRejection",this.handleError);let C=V!==null;this._keyHandler=new mF,this._keyHandler.on("keypress",(v)=>{if(this.exitOnCtrlC&&k5(v,{name:"c",ctrl:!0})){process.nextTick(()=>{this.destroy()});return}}),this.addExitListeners();let c=j.stdinParserMaxBufferBytes??Kh;if(this.stdinParser=new FZ({timeoutMs:20,maxPendingBytes:c,armTimeouts:!0,onTimeoutFlush:()=>{this.drainStdinParser()},useKittyKeyboard:C,protocolContext:{kittyKeyboardEnabled:C,privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},clock:this.clock}),this._console=new AY(this,{...j.consoleOptions??{},clock:this.clock}),this.consoleMode=j.consoleMode??"console-overlay",this.applyScreenMode(M,!1,!1),e6.streamOwners.set(A,this),e6.streamOwners.set(q,this),this._streamLeaseAcquired=!0,e6.renderers.add(this),this.stdout.write=Q==="capture-stdout"?this.interceptStdoutWrite:this.realStdoutWrite,this._openConsoleOnError=j.openConsoleOnError??!0,this._onDestroy=j.onDestroy,global.requestAnimationFrame=(v)=>{let k=RZ.animationFrameId++;return this.animationRequest.set(k,v),this.requestLive(),k},global.cancelAnimationFrame=(v)=>{if(this.animationRequest.delete(v))this.dropLive()},!global.window)global.window={};if(global.window.requestAnimationFrame=requestAnimationFrame,tA.OTUI_NO_NATIVE_RENDER)this.renderNative=()=>{if(this._splitHeight>0)this.flushStdoutCache(this._splitHeight);return"rendered"};try{this.setupInput()}catch(v){try{this.destroy()}catch(k){console.error("Error destroying renderer after input setup failure:",k)}throw v}}addExitListeners(){if(this._exitListenersAdded||this.exitSignals.length===0)return;this.exitSignals.forEach((A)=>{process.addListener(A,this.exitHandler)}),this._exitListenersAdded=!0}startTerminalKeepAlive(){if(this.stdin!==process.stdin||this.terminalKeepAliveTimer!==null)return;this.terminalKeepAliveTimer=setInterval(()=>{},60000)}stopTerminalKeepAlive(){if(this.terminalKeepAliveTimer===null)return;clearInterval(this.terminalKeepAliveTimer),this.terminalKeepAliveTimer=null}removeExitListeners(){if(!this._exitListenersAdded||this.exitSignals.length===0)return;let A=process;this.exitSignals.forEach((q)=>{A.removeListener(q,this.exitHandler)}),this._exitListenersAdded=!1}get isDestroyed(){return this._isDestroyed}registerLifecyclePass(A){this.lifecyclePasses.add(A)}unregisterLifecyclePass(A){this.lifecyclePasses.delete(A)}getLifecyclePasses(){return this.lifecyclePasses}get currentFocusedRenderable(){return this._currentFocusedRenderable}get currentFocusedEditor(){if(!this._currentFocusedRenderable)return null;if(!qY(this._currentFocusedRenderable))return null;return this._currentFocusedRenderable}normalizeClockTime(A,q){if(Number.isFinite(A))return A;return Number.isFinite(q)?q:0}getElapsedMs(A,q){if(!Number.isFinite(A)||!Number.isFinite(q))return 0;return Math.max(A-q,0)}focusRenderable(A){if(this._currentFocusedRenderable===A)return;let q=this._currentFocusedRenderable,E=this.currentFocusedEditor;this._currentFocusedRenderable=A,q?.blur();let g=this.currentFocusedEditor;if(E!==g)this.emit("focused_editor",g,E);this.emit("focused_renderable",A,q)}blurRenderable(A){if(this._currentFocusedRenderable!==A)return;let q=this.currentFocusedEditor;if(this._currentFocusedRenderable=null,q!==null)this.emit("focused_editor",null,q);this.emit("focused_renderable",null,A)}setCapturedRenderable(A){if(this.capturedRenderable===A)return;this.capturedRenderable=A}addToHitGrid(A,q,E,g,j){if(!this._useMouse)return;if(j!==this.capturedRenderable?.num)this.lib.addToHitGrid(this.rendererPtr,A,q,E,g,j)}pushHitGridScissorRect(A,q,E,g){this.lib.hitGridPushScissorRect(this.rendererPtr,A,q,E,g)}popHitGridScissorRect(){this.lib.hitGridPopScissorRect(this.rendererPtr)}clearHitGridScissorRects(){this.lib.hitGridClearScissorRects(this.rendererPtr)}get widthMethod(){return this.capabilities?.unicode??this.nextRenderBuffer.widthMethod}get frameId(){return this._frameId}writeOut(A,q,E){if(this.rendererPtr&&(this._useThread||this._feed!==null)){let g=typeof A==="string"?A:A?.toString()??"";if(this.lib.writeOut(this.rendererPtr,g),typeof E==="function")process.nextTick(E);return!0}return this.realStdoutWrite.call(this.stdout,A,q,E)}scheduleRenderAfterFeedIdle(){let A=this._feed;if(!A||this._isDestroyed||this._controlState==="explicit_suspended")return;if(this.feedIdleRenderScheduled=!0,this.feedIdleWaitPending)return;this.feedIdleWaitPending=!0,A.idle().then(()=>{if(this.feedIdleWaitPending=!1,!this.feedIdleRenderScheduled)return;if(A.isBackpressured()){this.scheduleRenderAfterFeedIdle();return}this.feedIdleRenderScheduled=!1,this.scheduleRenderTimer(),this.resolveIdleIfNeeded()})}cancelRenderAfterFeedIdle(){if(!this.feedIdleRenderScheduled)return;this.feedIdleRenderScheduled=!1,this.immediateRerenderRequested=!1}handleNativeRenderRejection(A){if(A===Ij&&this._feed)return this.scheduleRenderAfterFeedIdle(),"retryable-skip";if(A===Ij){if(this._useThread&&this._usesProcessStdout)return"backpressured";return console.error("[CliRenderer] Native frame render unexpectedly skipped without a feed"),"failed"}return this.reportNativeRenderFailure()}reportNativeRenderFailure(){return console.error("[CliRenderer] Native frame render failed; waiting for the next render request to force repaint"),"failed"}scheduleRenderTimer(){if(this.renderTimeout||this._isDestroyed||this._controlState==="explicit_suspended")return;let A=this.normalizeClockTime(this.clock.now(),this.lastTime),q=this.getElapsedMs(A,this.lastTime),E=Math.max(this.minTargetFrameTime-q,0);this.renderTimeout=this.clock.setTimeout(()=>{this.renderTimeout=null,this.loop()},E)}scheduleRenderAfterBackpressure(){if(this._feed){this.scheduleRenderAfterFeedIdle();return}this.scheduleRenderTimer()}requestRender(){if(this._controlState==="explicit_suspended")return;if(this.feedIdleRenderScheduled)return;if(this._isRunning){if(!this.rendering&&!this.renderTimeout)this.scheduleRenderTimer();return}if(this.rendering){this.immediateRerenderRequested=!0;return}if(!this.updateScheduled&&!this.renderTimeout){this.updateScheduled=!0;let A=++this.updateGeneration,q=this.normalizeClockTime(this.clock.now(),this.lastTime),E=this.getElapsedMs(q,this.lastTime),g=Math.max(this.minTargetFrameTime-E,0);if(g===0){process.nextTick(()=>this.activateFrame(A));return}this.clock.setTimeout(()=>this.activateFrame(A),g)}}async activateFrame(A){if(A!==this.updateGeneration||!this.updateScheduled){this.resolveIdleIfNeeded();return}try{await this.loop()}finally{if(A===this.updateGeneration)this.updateScheduled=!1;this.resolveIdleIfNeeded()}}get consoleMode(){return this._useConsole?"console-overlay":"disabled"}set consoleMode(A){if(this._useConsole=A==="console-overlay",this._useConsole)this.console.activate();else this.console.deactivate()}get isRunning(){return this._isRunning}isIdleNow(){if(this._isDestroyed)return!0;return!this._isRunning&&!this.rendering&&!this.renderTimeout&&!this.updateScheduled&&!this.feedIdleRenderScheduled&&!this.immediateRerenderRequested}resolveIdleIfNeeded(){if(!this.isIdleNow())return;let A=this.idleResolvers.splice(0);for(let q of A)q()}idle(){if(this._isDestroyed)return Promise.resolve();if(this.isIdleNow())return Promise.resolve();return new Promise((A)=>{this.idleResolvers.push(A)})}getSchedulerState(){return{isRunning:this._isRunning,isRendering:this.rendering,hasScheduledRender:Boolean(this.renderTimeout||this.updateScheduled||this.immediateRerenderRequested)}}get resolution(){return this._resolution}get console(){return this._console}get keyInput(){return this._keyHandler}get _internalKeyInput(){return this._keyHandler}get terminalWidth(){return this._terminalWidth}get terminalHeight(){return this._terminalHeight}get useThread(){return this._useThread}get targetFps(){return this._targetFps}set targetFps(A){this._targetFps=A,this.targetFrameTime=1000/this._targetFps}get maxFps(){return this._maxFps}set maxFps(A){this._maxFps=A,this.minTargetFrameTime=1000/this._maxFps}get useMouse(){return this._useMouse}set useMouse(A){if(this._useMouse===A)return;if(this._useMouse=A,A)this.enableMouse(),this.requestRender();else this.disableMouse()}get screenMode(){return this._screenMode}set screenMode(A){if(this.externalOutputMode==="capture-stdout"&&A!=="split-footer"){if(this.pendingExternalOutputMode==="passthrough")this.flushPendingSplitOutputBeforeLeavingSplitFooter();if(this.externalOutputMode!=="capture-stdout"){this.applyScreenMode(A);return}throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"')}this.applyScreenMode(A)}get footerHeight(){return this._footerHeight}set footerHeight(A){let q=yX(A);if(q===this._footerHeight)return;if(this._footerHeight=q,this.screenMode==="split-footer")this.applyScreenMode("split-footer")}get externalOutputMode(){return this._externalOutputMode}set externalOutputMode(A){if(A==="capture-stdout"&&this.screenMode!=="split-footer")throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"');let q=this._externalOutputMode;if(q===A){if(this.pendingExternalOutputMode!==null&&this.pendingExternalOutputMode!==A)this.pendingExternalOutputMode=null;return}let E=this.canFlushSplitOutputBeforeTransition(),g=q==="capture-stdout"&&A==="passthrough"&&this._screenMode==="split-footer"&&this._splitHeight>0;if(g&&this.externalOutputQueue.size>0&&!E){this.pendingExternalOutputMode="passthrough";return}if(g&&E)this.flushPendingSplitOutputBeforeTransition();this.pendingExternalOutputMode=null,this.applyExternalOutputMode(A),this.afterExternalOutputModeChanged(q,A)}applyExternalOutputMode(A){this._externalOutputMode=A,this.stdout.write=A==="capture-stdout"?this.interceptStdoutWrite:this.realStdoutWrite}afterExternalOutputModeChanged(A,q){if(this._screenMode==="split-footer"&&this._splitHeight>0&&q==="capture-stdout"){let E=this.renderOffset+1,g=this._splitHeight;if(this.clearPendingSplitFooterTransition(),this.resetSplitScrollback(this.getSplitCursorSeedRows()),A==="passthrough"&&this._terminalIsSetup){let j=this.renderOffset+1;if(E!==j)this.setPendingSplitFooterTransition({mode:"clear-stale-rows",sourceTopLine:E,sourceHeight:g,targetTopLine:j,targetHeight:this._splitHeight,scrollLines:0}),this.forceFullRepaintRequested=!0}this.requestRender();return}if(this._screenMode==="split-footer"&&this._splitHeight>0&&A==="capture-stdout"&&q==="passthrough"){this.clearPendingSplitFooterTransition();return}this.syncSplitFooterState()}applyPendingExternalOutputModeIfReady(){let A=this.pendingExternalOutputMode;if(A===null||this.externalOutputQueue.size>0)return;let q=this._externalOutputMode;if(this.pendingExternalOutputMode=null,q===A)return;this.applyExternalOutputMode(A),this.afterExternalOutputModeChanged(q,A)}flushPendingSplitOutputBeforeLeavingSplitFooter(){if(this.pendingExternalOutputMode!=="passthrough")return;if(this.isSplitCursorSeedFrameBlocked()&&this._controlState!=="explicit_suspended")this.abortSplitStartupCursorSeed();if(this.flushPendingSplitOutputBeforeTransition(),this.pendingExternalOutputMode!==null)throw Error("Cannot leave split-footer while captured output is pending")}get liveRequestCount(){return this.liveRequestCounter}get currentControlState(){return this._controlState}get capabilities(){return this._capabilities}get kittyImageTransport(){return this.kittyTransportMode}set kittyImageTransport(A){let q=dO.indexOf(A);if(q<0)throw TypeError("Invalid kittyImageTransport");if(this._isDestroyed||A===this.kittyTransportMode)return;this.kittyTransportMode=A,this.startKittyTransportPolling(),this.lib.setKittyImageTransport(this.rendererPtr,q),this.requestRender()}startKittyTransportPolling(){if(!this._terminalIsSetup||this.kittyTransportMode!=="file"||this.kittyTransportTimer!==null)return;this.stdout.on("error",this.kittyOutputErrorHandler),this.kittyTransportTimer=this.clock.setInterval(()=>{if(!this._isDestroyed&&this.lib.pollKittyImageTransport(this.rendererPtr))this.requestRender()},1000)}get kittyImageTransportStatus(){let[A,q,E,g,j,a]=this.lib.getKittyImageTransport(this.rendererPtr);return{requested:dO[A],effective:["raw","zlib","png","file"][q],fileState:["disabled","probing","ready","unsupported","timeout","io-error","cancelled"][E],fallback:["none","not-ready","unavailable","budget","busy","preparation","compression"][g],pendingFiles:j,pendingBytes:a}}cancelKittyImageTransport(){if(this._isDestroyed)return;this.lib.cancelKittyImageTransport(this.rendererPtr,!1),this.requestRender()}kittyOutputErrorHandler=()=>{if(!this._isDestroyed)this.lib.cancelKittyImageTransport(this.rendererPtr,!0)};triggerNotification(A,q){if(this._isDestroyed)return!1;return this.lib.triggerNotification(this.rendererPtr,A,q)}get themeMode(){return this.themeModeState.themeMode}waitForThemeMode(A=1000){if(!Number.isFinite(A)||A<0)throw Error("timeoutMs must be a non-negative finite number");return this.themeModeState.waitForThemeMode(A,this._isDestroyed)}getDebugInputs(){return[...this._debugInputs]}get useKittyKeyboard(){return this.lib.getKittyKeyboardFlags(this.rendererPtr)>0}set useKittyKeyboard(A){let q=A?wX|vX:0;this.lib.setKittyKeyboardFlags(this.rendererPtr,q)}createScrollbackSurface(A={}){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('createScrollbackSurface requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let q=this,E=Ah++,g=A.startOnNewLine??!0,j=q.getPendingSplitTailColumn(),a=!g&&j>0&&j<q.width?j:0,Z=new JZ(q.width,1,q.widthMethod,q._terminalWidth,q._terminalHeight,q.resolution,q.capabilities),G=null,M=Object.create(Z);Object.defineProperty(M,"claimFirstLineOffset",{value:(i)=>{if(G?.isDestroyed)G=null;if(G)return 0;return G=i??null,a},enumerable:!0,configurable:!0});let Y=new hj(M),Q=new Hq(M,{id:`scrollback-surface-root-${E}`,position:"absolute",left:0,top:0,width:q.width,height:"auto",border:!1,backgroundColor:"transparent",shouldFill:!1,flexDirection:"column"});Y.add(Q);let H=q.width,N=1,X=q.widthMethod,T=q._terminalWidth,J=q._terminalHeight,V=q.resolution?.width??null,I=q.resolution?.height??null,W=!1,C=!1,c=g,D=g6.create(H,N,X,{id:`scrollback-surface-buffer-${E}`}),v=()=>{SA()},k=(i)=>{Z.capabilities=i,M.emit("capabilities",i)},u=()=>{if(W)throw Error("ScrollbackSurface is destroyed")},d=()=>{if(!C)throw Error("ScrollbackSurface.commitRows requires render() before commitRows()")},p=()=>{if(q.width!==H||q.widthMethod!==X||q._terminalWidth!==T||q._terminalHeight!==J||(q.resolution?.width??null)!==V||(q.resolution?.height??null)!==I)throw Error("ScrollbackSurface.commitRows requires render() after renderer geometry changes")},QA=(i,EA)=>{if(!Number.isInteger(i)||!Number.isInteger(EA))throw Error("ScrollbackSurface.commitRows requires finite integer row bounds");if(i<0)throw Error("ScrollbackSurface.commitRows requires startRow >= 0");if(EA<i)throw Error("ScrollbackSurface.commitRows requires endRowExclusive >= startRow");if(EA>N)throw Error("ScrollbackSurface.commitRows row range exceeds rendered surface height")},GA=(i)=>{let EA=[];if(i instanceof Mq&&i.isHighlighting)EA.push(i);for(let _q of i.getChildren())EA.push(...GA(_q));return EA},jq=async(i,EA)=>{await new Promise((_q,nA)=>{let eA=!1,Aq=q.clock.setTimeout(()=>{if(eA)return;eA=!0,nA(Error("ScrollbackSurface.settle timed out waiting for CodeRenderable highlighting"))},EA);Promise.all(i.map((Tq)=>Tq.highlightingDone)).then(()=>{if(eA)return;eA=!0,q.clock.clearTimeout(Aq),_q()},(Tq)=>{if(eA)return;eA=!0,q.clock.clearTimeout(Aq),nA(Tq)})})},iA=()=>{u();let{width:i,widthMethod:EA}=q;Z.width=i,Z.widthMethod=EA,Z.terminalWidth=q._terminalWidth,Z.terminalHeight=q._terminalHeight,Z.resolution=q.resolution,Z.capabilities=q.capabilities,Q.width=i;let _q=(eA)=>{Z.height=eA,Y.resize(i,eA),D.resize(i,eA),D.clear(e5),Z.frameId+=1,Y.render(D,0)},nA=Math.max(1,N);if(X!==EA)D.destroy(),D=g6.create(i,nA,EA,{id:`scrollback-surface-buffer-${E}`});else D.resize(i,nA);for(let eA=0;eA<r5;eA+=1){_q(nA);let Aq=Math.max(1,Q.height);if(Aq===nA){H=i,N=Aq,X=EA,T=q._terminalWidth,J=q._terminalHeight,V=q.resolution?.width??null,I=q.resolution?.height??null,C=!0;return}nA=Aq}_q(nA),H=i,N=nA,X=EA,T=q._terminalWidth,J=q._terminalHeight,V=q.resolution?.width??null,I=q.resolution?.height??null,C=!0},Dq=async(i=2000)=>{u();let EA=q.clock.now();iA();while(!0){u();let _q=GA(Q);if(_q.length===0)return;let nA=i-(q.clock.now()-EA);if(nA<=0)throw Error("ScrollbackSurface.settle timed out waiting for CodeRenderable highlighting");await jq(_q,nA),u(),iA()}},$A=(i,EA,_q={})=>{if(u(),d(),p(),QA(i,EA),i===EA)return;let nA=EA-i,eA=g6.create(H,nA,X,{id:`scrollback-surface-commit-${E}`});try{eA.drawFrameBuffer(0,0,D,0,i,H,nA),q.enqueueRenderedScrollbackCommit({snapshot:eA,rowColumns:_q.rowColumns,startOnNewLine:c,trailingNewline:_q.trailingNewline??!0}),c=!1}catch(Aq){throw eA.destroy(),Aq}},SA=()=>{if(W)return;W=!0,q.off("destroy",v),q.off("capabilities",k);let i=null;try{Y.destroyRecursively()}catch(EA){i=EA}try{D.destroy()}catch(EA){if(i===null)i=EA}if(M.removeAllListeners(),Z.removeAllListeners(),i!==null)throw i};return q.on("destroy",v),q.on("capabilities",k),{get renderContext(){return M},get root(){return Q},get width(){return H},get height(){return N},get isDestroyed(){return W},render:iA,settle:Dq,commitRows:$A,destroy:SA}}writeToScrollback(A){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('writeToScrollback requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let q=new JZ(this.width,this.height,this.widthMethod,this._terminalWidth,this._terminalHeight,this.resolution,this.capabilities),E=A({width:this.width,widthMethod:this.widthMethod,tailColumn:this.getPendingSplitTailColumn(),renderContext:q});if(!E||!E.root)throw Error("writeToScrollback must return a snapshot root renderable");let g=!1,j=null,a=null;try{let Z=E.root,G=this.getSnapshotWidth(E.width,Z.width),M=this.getSnapshotHeight(E.height,Z.height);q.width=G,q.height=M,q.widthMethod=this.widthMethod,j=new hj(q),a=g6.create(G,M,this.widthMethod,{id:"scrollback-snapshot-commit"}),j.add(Z),j.render(a,0),this.enqueueRenderedScrollbackCommit({snapshot:a,rowColumns:E.rowColumns,startOnNewLine:E.startOnNewLine,trailingNewline:E.trailingNewline})}catch(Z){throw g=!0,a?.destroy(),Z}finally{let Z=null;try{if(j)j.destroyRecursively();else E.root.destroyRecursively()}catch(G){Z=G}try{E.teardown?.()}catch(G){if(Z===null)Z=G}if(!g&&Z)throw Z}}resetSplitFooterForReplay(A={}){if(this._isDestroyed)return;if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('resetSplitFooterForReplay requires screenMode "split-footer" and externalOutputMode "capture-stdout"');if(!this._terminalIsSetup||this._controlState==="explicit_suspended")throw Error("resetSplitFooterForReplay requires an active terminal");this.flushPendingSplitOutputBeforeTransition(!0),this.externalOutputQueue.clear(),this.abortSplitStartupCursorSeed(),this.clearPendingSplitFooterTransition(),this.resetSplitScrollback(),this.currentRenderBuffer.clear(this.backgroundColor),this.nextRenderBuffer.clear(this.backgroundColor),this.forceFullRepaintRequested=!0,this.writeOut(Z6.resetScrollRegion+Z6.reset+Z6.home+Z6.clearScreen+(A.clearSavedLines?Z6.clearSavedLines:"")+Z6.home),this.requestRender()}getSnapshotWidth(A,q){let E=A??q;if(!Number.isFinite(E))throw Error("writeToScrollback produced a non-finite width");return Math.min(Math.max(Math.trunc(E),1),Math.max(this.width,1))}getSnapshotHeight(A,q){let E=A??q;if(!Number.isFinite(E))throw Error("writeToScrollback produced a non-finite height");return Math.max(Math.trunc(E),1)}getSnapshotRowWidths(A,q){let E=[],g=Math.min(Math.max(Math.trunc(q),0),A.width),j=A.buffers.char;for(let a=0;a<A.height;a+=1){let Z=g;while(Z>0){let G=j[a*A.width+Z-1];if(G===0||(G&gh)===Eh){Z-=1;continue}break}E.push(Z)}return E}advanceSplitTailColumn(A,q,E){if(q<=0)return A;let g=A,j=q;while(j>0){if(g>=E)g=0;let a=Math.min(j,E-g);if(g+=a,j-=a,j>0&&g>=E)g=0}return g}getSplitTailColumnAfterCommit(A,q,E){let g=q;if(A.startOnNewLine&&g>0)g=0;let j=this.getSnapshotRowWidths(A.snapshot,A.rowColumns);for(let[a,Z]of j.entries())if(g=this.advanceSplitTailColumn(g,Z,E),a<j.length-1||A.trailingNewline)g=0;return g}recordSplitCommit(A){this.splitTailColumn=this.getSplitTailColumnAfterCommit(A,this.splitTailColumn,Math.max(this.width,1))}getPendingSplitTailColumn(){let A=Math.max(this.width,1),q=this.splitTailColumn;for(let E of this.externalOutputQueue.peek())q=this.getSplitTailColumnAfterCommit(E,q,A);return q}enqueueRenderedScrollbackCommit(A){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('scrollback commit requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let q=Math.min(Math.max(Math.trunc(A.rowColumns??A.snapshot.width),0),A.snapshot.width);this.enqueueSplitCommit({snapshot:A.snapshot,rowColumns:q,startOnNewLine:A.startOnNewLine??!0,trailingNewline:A.trailingNewline??!0}),this.requestRender()}enqueueSplitCommit(A){if(this.externalOutputQueue.writeSnapshot(A),this.listenerCount("external_output")>0)this.emit("external_output",A)}createStdoutSnapshotCommit(A,q){let E=new JZ(this.width,1,this.widthMethod,this._terminalWidth,this._terminalHeight,this.resolution,this.capabilities),g=Math.max(1,this.width),j=[...A],a=Math.min(j.length,g),Z=j.slice(0,g).join(""),G=new hj(E),M=new mg(E,{id:"captured-stdout-snapshot",position:"absolute",left:0,top:0,width:Math.max(1,a),height:1,content:Z}),Y=g6.create(Math.max(1,a),1,this.widthMethod,{id:"captured-stdout-snapshot"});try{return G.add(M),G.render(Y,0),{snapshot:Y,rowColumns:a,startOnNewLine:!1,trailingNewline:q}}catch(Q){throw Y.destroy(),Q}finally{G.destroyRecursively()}}splitStdoutRows(A){let q=[],E="";for(let g of A){if(g==="\r"){E="";continue}if(g===`
212
+ `){q.push({line:E,trailingNewline:!0}),E="";continue}E+=g}if(E.length>0)q.push({line:E,trailingNewline:!1});return q}createStdoutSnapshotCommits(A){if(A.length===0)return[];let q=[],E=Math.max(1,this.width);for(let g of this.splitStdoutRows(A)){let j=[...g.line];if(j.length===0){q.push(this.createStdoutSnapshotCommit("",g.trailingNewline));continue}let a=0;while(a<j.length){let Z=j.slice(a,a+E).join("");a+=E;let G=a>=j.length;q.push(this.createStdoutSnapshotCommit(Z,G?g.trailingNewline:!1))}}return q}flushPendingSplitCommits(A=!1,q=!1){let E=this.externalOutputQueue.peek(q?Number.POSITIVE_INFINITY:this.maxSplitCommitsPerFrame),g=!1,j=E.length-1,a=0,Z=!1,G=!1,M=this.renderOffset;for(let[Y,Q]of E.entries()){let H=A&&Y===j,N=Y===0,X=Y===j,T=this.lib.commitSplitFooterSnapshot(this.rendererPtr,Q.snapshot,Q.rowColumns,Q.startOnNewLine,Q.trailingNewline,this.getSplitPinnedRenderOffset(),H,N,X,q);if(T.status===Ij){Z=!0;break}if(T.status===tO){G=!0;break}M=T.renderOffset,g=!0,a++}if(G)return this.reportNativeRenderFailure();if(Z)return this.scheduleRenderAfterFeedIdle(),"backpressured";if(a>0){this.renderOffset=M;for(let Y of E.slice(0,a))this.recordSplitCommit(Y);this.externalOutputQueue.drop(a)}if(!g){let Y=this.lib.repaintSplitFooter(this.rendererPtr,this.getSplitPinnedRenderOffset(),A);if(Y.status===Ij)return this.scheduleRenderAfterFeedIdle(),"backpressured";if(Y.status===tO)return this.reportNativeRenderFailure();this.renderOffset=Y.renderOffset}if(this.pendingSplitFooterTransition=null,this.externalOutputQueue.size>0)this.requestRender();else this.applyPendingExternalOutputModeIfReady();return"rendered"}interceptStdoutWrite=(A,q,E)=>{let g=typeof q==="function"?q:E,j=typeof q==="string"?q:void 0,a=typeof A==="string"?A:A?.toString(j)??"";if(this._externalOutputMode==="capture-stdout"&&this._screenMode==="split-footer"&&this._splitHeight>0){let Z=this.createStdoutSnapshotCommits(a);for(let G of Z)this.enqueueSplitCommit(G);if(Z.length>0)this.requestRender()}if(typeof g==="function")process.nextTick(g);return!0};getSplitPinnedRenderOffset(){return this._screenMode==="split-footer"?Math.max(this._terminalHeight-this._splitHeight,0):0}getSplitCursorSeedRows(){let A=this.lib.getCursorState(this.rendererPtr),q=Number.isFinite(A.y)?Math.max(Math.trunc(A.y),1):1;return Math.min(q,Math.max(this._terminalHeight,1))}isSplitCursorSeedFrameBlocked(){return this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"&&this._splitHeight>0&&this.pendingSplitStartupCursorSeed&&this.splitStartupSeedTimeoutId!==null}canFlushSplitOutputBeforeTransition(A=!1,q=!1){return(this._terminalIsSetup||q)&&(A||this._controlState!=="explicit_suspended")&&!this.isSplitCursorSeedFrameBlocked()}clearSplitStartupCursorSeed(){if(this.pendingSplitStartupCursorSeed=!1,this.splitStartupSeedTimeoutId!==null)this.clock.clearTimeout(this.splitStartupSeedTimeoutId),this.splitStartupSeedTimeoutId=null}abortSplitStartupCursorSeed(){this.clearSplitStartupCursorSeed(),this.stdinParser?.abortPendingStartupCursorCpr(),this.updateStdinParserProtocolContext({startupCursorCprActive:!1})}flushPendingSplitOutputBeforeTransition(A=!1,q={}){let E=this.externalOutputQueue.size>0||this.pendingExternalOutputMode!==null;if(this._screenMode!=="split-footer"||this._splitHeight<=0||this._externalOutputMode!=="capture-stdout"&&!(q.allowPassthrough&&E))return;if(!this.canFlushSplitOutputBeforeTransition(q.allowSuspended??!1,q.allowUnsetup??!1))return;if(this.externalOutputQueue.size===0&&!A){this.applyPendingExternalOutputModeIfReady();return}this.flushPendingSplitCommits(this._externalOutputMode==="capture-stdout"?A:!1,!0)}resetSplitScrollback(A=0){this.splitTailColumn=0,this.renderOffset=this.lib.resetSplitScrollback(this.rendererPtr,A,this.getSplitPinnedRenderOffset())}syncSplitScrollback(){this.renderOffset=this.lib.syncSplitScrollback(this.rendererPtr,this.getSplitPinnedRenderOffset())}getSplitOutputOffset(A=this.renderOffset){return this.lib.getSplitOutputOffset(this.rendererPtr,A)}clearPendingSplitFooterTransition(){if(this.pendingSplitFooterTransition===null)return;this.pendingSplitFooterTransition=null,this.lib.clearPendingSplitFooterTransition(this.rendererPtr)}setPendingSplitFooterTransition(A){this.pendingSplitFooterTransition=A,this.lib.setPendingSplitFooterTransition(this.rendererPtr,A.mode==="viewport-scroll"?1:2,A.sourceTopLine,A.sourceHeight,A.targetTopLine,A.targetHeight,A.scrollLines??0)}syncSplitFooterState(){if(!(this._screenMode==="split-footer"&&this._splitHeight>0)){this.clearPendingSplitFooterTransition(),this.splitTailColumn=0,this.lib.resetSplitScrollback(this.rendererPtr,0,0),this.renderOffset=0,this.lib.setRenderOffset(this.rendererPtr,this.renderOffset);return}if(this._externalOutputMode==="capture-stdout")this.syncSplitScrollback();else this.clearPendingSplitFooterTransition(),this.splitTailColumn=0,this.lib.resetSplitScrollback(this.rendererPtr,0,0),this.renderOffset=this.getSplitPinnedRenderOffset(),this.lib.setRenderOffset(this.rendererPtr,this.renderOffset)}clearStaleSplitSurfaceRows(A,q,E,g){if(!this._terminalIsSetup||q<=0||this._terminalHeight<=0)return;let j=this._terminalHeight,a=Math.max(1,A),Z=Math.min(j,A+q-1);if(Z<a)return;let G=Math.max(1,E),M=Math.min(j,E+Math.max(g,0)-1),Y="";for(let Q=a;Q<=Z;Q+=1){if(Q>=G&&Q<=M)continue;Y+=`${Z6.moveCursor(Q,1)}\x1B[2K`}if(Y.length>0)this.writeOut(Y)}applyScreenMode(A,q=!0,E=!0){let g=this._screenMode,j=this._splitHeight,a=TZ(A,this._terminalWidth,this._terminalHeight,this._footerHeight),Z=a.effectiveFooterHeight;if(g===A&&j===Z)return;let G=this._terminalIsSetup&&this._controlState!=="explicit_suspended",M=g==="alternate-screen",Y=A==="alternate-screen",Q=this._terminalIsSetup&&M!==Y,H=j>0&&Z===0;if(G&&j>0)this.flushPendingSplitOutputBeforeTransition();let N=this.renderOffset+1,X=this._terminalIsSetup&&g==="split-footer"&&A==="split-footer"&&this._externalOutputMode==="capture-stdout"&&j>0&&Z>0&&!Q,T=this.pendingSplitStartupCursorSeed&&this.splitStartupSeedTimeoutId!==null,J=this.pendingSplitFooterTransition?.sourceTopLine??N,V=this.pendingSplitFooterTransition?.sourceHeight??j,I=Math.max(J-1,0),W=g==="split-footer"&&j>0&&this._externalOutputMode==="capture-stdout"?this.getSplitOutputOffset(I):I,C=a.renderOffset,c=A==="split-footer"&&Z>0&&this._externalOutputMode==="capture-stdout"?this.getSplitOutputOffset(C):C,D=this.pendingSplitFooterTransition,v=D!==null&&Z===V,k=v&&D.mode==="viewport-scroll"&&(D.scrollLines??0)>0,u=Z>0&&Z<V,d=Z>V&&V>0,p=A!=="split-footer"||Z===0?0:k?D.targetTopLine-1:v?I:u&&I>0?I:u?c:d?Math.max(c,Math.min(I,C)):C,QA=p+1,GA=k?D.scrollLines??0:Z>0&&!v?Math.max(W-c,0):0,jq=(!u||k)&&GA>0?"viewport-scroll":"clear-stale-rows",Dq=p>I||u,$A=G&&!Q&&!X&&Dq&&Z>0;if(G&&H)this.clearPendingSplitFooterTransition(),this.renderOffset=0,this.lib.setRenderOffset(this.rendererPtr,0);if(G&&!Q&&!X){if(j===0&&Z>0){let SA=this._terminalHeight-Z,i=Z6.scrollDown(SA);this.writeOut(i)}else if(GA>0){let SA=GA,i=Z6.scrollUp(SA);this.writeOut(i)}}if(this._screenMode=A,this._splitHeight=Z,this.width=a.renderWidth,this.height=a.renderHeight,this.lib.resizeRenderer(this.rendererPtr,this.width,this.height),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(g!=="split-footer")this.resetSplitScrollback(this.getSplitCursorSeedRows());else this.renderOffset=p,this.lib.setRenderOffset(this.rendererPtr,this.renderOffset);if(X){if(T)this.clearPendingSplitFooterTransition();else this.setPendingSplitFooterTransition({mode:jq,sourceTopLine:J,sourceHeight:V,targetTopLine:QA,targetHeight:Z,scrollLines:GA});this.forceFullRepaintRequested=!0}else if($A)this.clearPendingSplitFooterTransition(),this.clearStaleSplitSurfaceRows(J,V,QA,Z);else this.clearPendingSplitFooterTransition()}else if(this.syncSplitFooterState(),$A)this.clearStaleSplitSurfaceRows(J,V,this.renderOffset+1,Z);if(this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this._console.resize(this.width,this.height),this.root.resize(this.width,this.height),Q){if(G)this.lib.suspendRenderer(this.rendererPtr),this.lib.setupTerminal(this.rendererPtr,Y),this.pendingSuspendedTerminalSetup=!1;else this.pendingSuspendedTerminalSetup=!0;if(G&&this._useMouse)this.enableMouse()}if(q)this.emit("resize",this.width,this.height);if(E)this.requestRender()}flushStdoutCache(A,q=!1){if(this.externalOutputQueue.size===0&&!q)return!1;let E=this.externalOutputQueue.claim(),g="";for(let Y of E)g+=`[snapshot ${Y.snapshot.width}x${Y.snapshot.height}]
213
+ `,Y.snapshot.destroy();let j=this.renderOffset+1,a=Z6.moveCursorAndClear(j,1),Z=this.renderOffset+1,G=Z6.moveCursor(Z,1),M="";if(A>0){let Y=this.backgroundColor.toInts(),Q=" ".repeat(this.width)+`
214
+ `.repeat(A);if(Y[3]===0)M=Q;else M=Z6.setRgbBackground(Y[0],Y[1],Y[2])+Q+Z6.resetBackground}return this.writeOut(a+G+g+M),!0}enableMouse(){this._useMouse=!0,this.lib.enableMouse(this.rendererPtr,this.enableMouseMovement)}disableMouse(){this._useMouse=!1,this.setCapturedRenderable(void 0),this.stdinParser?.resetMouseState(),this.lib.disableMouse(this.rendererPtr)}enableKittyKeyboard(A=3){this.lib.enableKittyKeyboard(this.rendererPtr,A),this.updateStdinParserProtocolContext({kittyKeyboardEnabled:!0})}disableKittyKeyboard(){this.lib.disableKittyKeyboard(this.rendererPtr),this.updateStdinParserProtocolContext({kittyKeyboardEnabled:!1},!0)}set useThread(A){this._useThread=A,this.lib.setUseThread(this.rendererPtr,A)}async setupTerminal(){if(this._terminalIsSetup)return;this._terminalIsSetup=!0;let A=this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout";if(this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!0,explicitWidthCprActive:!0,startupCursorCprActive:A}),this.startKittyTransportPolling(),this.lib.setupTerminal(this.rendererPtr,this._screenMode==="alternate-screen"),this._capabilities=this.lib.getTerminalCapabilities(this.rendererPtr),this.debugOverlay.enabled){if(this.lib.setDebugOverlay(this.rendererPtr,!0,this.debugOverlay.corner),!this.memorySnapshotInterval)this.memorySnapshotInterval=3000,this.startMemorySnapshotTimer(),this.automaticMemorySnapshot=!0}if(this.capabilityTimeoutId=this.clock.setTimeout(()=>{if(this.capabilityTimeoutId=null,this.clearSplitStartupCursorSeed(),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.requestRender();this.removeInputHandler(this.capabilityHandler),this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},!0),this.resolveXtVersionWaiters()},5000),this._useMouse)this.enableMouse();if(this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(this.pendingSplitStartupCursorSeed=!0,this.splitStartupSeedTimeoutId!==null)this.clock.clearTimeout(this.splitStartupSeedTimeoutId);this.splitStartupSeedTimeoutId=this.clock.setTimeout(()=>{if(this.splitStartupSeedTimeoutId=null,!this.pendingSplitStartupCursorSeed)return;if(this.updateStdinParserProtocolContext({startupCursorCprActive:!1}),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.requestRender();this.flushPendingSplitOutputBeforeTransition(!1,{allowPassthrough:!0})},120)}if(this.queryPixelResolution(),this.shouldSyncNativePaletteState())this.refreshPalette();if(this._feed?.isBackpressured())await this._feed.idle()}stdinListener=((A)=>{let q=Buffer.isBuffer(A)?A:Buffer.from(A);if(!this.stdinParser)return;if(this.stdinLogPath)d5(this.stdinLogPath,q);try{this.stdinParser.push(q),this.drainStdinParser()}catch(E){this.handleStdinParserFailure(E)}}).bind(this);addInputHandler(A){this.sequenceHandlers.push(A)}prependInputHandler(A){this.sequenceHandlers.unshift(A)}removeInputHandler(A){this.sequenceHandlers=this.sequenceHandlers.filter((q)=>q!==A)}updateStdinParserProtocolContext(A,q=!1){if(!this.stdinParser)return;if(this.stdinParser.updateProtocolContext(A),q)this.drainStdinParser()}subscribeOsc(A){return this.oscSubscribers.add(A),()=>{this.oscSubscribers.delete(A)}}processCapabilitySequence(A,q){let E=s5(A);if(!(E||q&&this.capabilityTimeoutId!==null))return!1;if(this.lib.processCapabilityResponse(this.rendererPtr,A),this._capabilities=this.lib.getTerminalCapabilities(this.rendererPtr),this._capabilities?.terminal?.from_xtversion)this.resolveXtVersionWaiters();if(E)this.forceFullRepaintRequested=!0,this.requestRender();this.emit("capabilities",this._capabilities);let j=this.pendingSplitStartupCursorSeed;if(j&&q&&this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(this.resetSplitScrollback(this.getSplitCursorSeedRows()),this.clearPendingSplitFooterTransition(),this.clearSplitStartupCursorSeed(),this.updateStdinParserProtocolContext({startupCursorCprActive:!1}),this.requestRender(),this.pendingExternalOutputMode==="passthrough")this.flushPendingSplitOutputBeforeTransition()}let a=j&&q&&this.splitStartupSeedTimeoutId!==null;return E||a}capabilityHandler=((A)=>{return this.processCapabilitySequence(A,!1)}).bind(this);focusHandler=((A)=>{if(A==="\x1B[I"){if(this.shouldRestoreModesOnNextFocus)this.lib.restoreTerminalModes(this.rendererPtr),this.shouldRestoreModesOnNextFocus=!1;if(this._terminalFocusState!==!0)this._terminalFocusState=!0,this.emit("focus");return!0}if(A==="\x1B[O"){if(this.shouldRestoreModesOnNextFocus=!0,this._terminalFocusState!==!1)this._terminalFocusState=!1,this.emit("blur");return!0}return!1}).bind(this);dispatchSequenceHandlers(A){if(this._debugModeEnabled)this._debugInputs.push({timestamp:new Date().toISOString(),sequence:A});for(let q of this.sequenceHandlers)if(q(A))return!0;return!1}drainStdinParser(){if(!this.stdinParser)return;this.stdinParser.drain((A)=>{this.handleStdinEvent(A)})}handleStdinEvent(A){if(A.type==="response"&&A.sequence.startsWith("\x1B_G")){let q=this.lib.processKittyImageReply(this.rendererPtr,A.sequence);if(q!==0){if(q===2)this.requestRender();return}}if(this._controlState==="explicit_suspended"){if(A.type==="response"&&HX(A.sequence))this.dispatchSequenceHandlers(A.sequence);return}switch(A.type){case"key":if(this.dispatchSequenceHandlers(A.raw))return;this._keyHandler.processParsedKey(A.key);return;case"mouse":if(this._useMouse&&this.processSingleMouseEvent(A.event))return;this.dispatchSequenceHandlers(A.raw);return;case"paste":this._keyHandler.processPaste(A.bytes,A.metadata);return;case"response":if(A.protocol==="osc")for(let q of this.oscSubscribers)q(A.sequence);if(A.protocol==="cpr"&&this.processCapabilitySequence(A.sequence,!0))return;this.dispatchSequenceHandlers(A.sequence);return}}handleStdinParserFailure(A){if(!this.hasLoggedStdinParserError)this.hasLoggedStdinParserError=!0,console.error("[stdin-parser-error] parser failure, resetting parser",A);try{this.stdinParser?.reset()}catch(q){console.error("stdin parser reset failed after parser error",q)}}setupInput(){if(this.stdinLogPath)t5(this.stdinLogPath,Buffer.alloc(0),{mode:384});for(let A of this.prependedInputHandlers)this.addInputHandler(A);if(this.addInputHandler((A)=>{if(HX(A)&&this.waitingForPixelResolution){if(this.waitingForPixelResolution=!1,this.pixelResolutionRequeryPending)return this.updateStdinParserProtocolContext({pixelResolutionQueryActive:!1}),this.queryPixelResolution(),!0;let q=i5(A);if(q)this._resolution=q,this.requestRender();return this.updateStdinParserProtocolContext({pixelResolutionQueryActive:!1},!0),!0}return!1}),this.addInputHandler(this.capabilityHandler),this.addInputHandler(this.focusHandler),this.addInputHandler(this.themeModeHandler),this.stdin.setRawMode)this.stdin.setRawMode(!0);this.stdin.on("data",this.stdinListener),this.stdin.resume(),this.startTerminalKeepAlive()}dispatchMouseEvent(A,q){let E=new U6(A,q);if(this.sendMouseEvent(A,E),this.autoFocus&&E.type==="down"&&E.button===0&&!E.defaultPrevented){let g=A;while(g){if(g.focusable){g.focus();break}g=g.parent}}return E}sendMouseEvent(A,q){try{A.processMouseEvent(q)}catch(E){if(!this.emit("handler:error",{error:E,event:q}))console.error("Error in mouse handler:",E)}}processSingleMouseEvent(A){if(this._splitHeight>0){if(A.y<this.renderOffset)return!1;A.y-=this.renderOffset}if(this._latestPointer.x=A.x,this._latestPointer.y=A.y,this._hasPointer=!0,this._lastPointerModifiers=A.modifiers,this._console.visible){let a=this._console.bounds;if(A.x>=a.x&&A.x<a.x+a.width&&A.y>=a.y&&A.y<a.y+a.height){let Z=new U6(null,A);if(this._console.handleMouse(Z))return!0}}if(A.type==="scroll"){let a=this.hitTest(A.x,A.y),Z=pA.renderablesByNumber.get(a),G=this._currentFocusedRenderable&&!this._currentFocusedRenderable.isDestroyed&&this._currentFocusedRenderable.focused?this._currentFocusedRenderable:null,M=Z??G;if(M){let Y=new U6(M,A);this.sendMouseEvent(M,Y)}return!0}let q=this.hitTest(A.x,A.y),E=q===this.lastOverRenderableNum;this.lastOverRenderableNum=q;let g=pA.renderablesByNumber.get(q);if(A.type==="down"&&A.button===0&&!this.currentSelection?.isDragging&&!A.modifiers.ctrl){if(Boolean(g&&g.selectable&&!g.isDestroyed&&g.shouldStartSelection(A.x,A.y))&&g)return this.startSelection(g,A.x,A.y,this.nextClickBehavior(g,A.x,A.y)),this.dispatchMouseEvent(g,A),!0}if(A.type==="drag"&&this.currentSelection?.isDragging){if(this.updateSelection(g,A.x,A.y),g){let a=new U6(g,{...A,isDragging:!0});this.sendMouseEvent(g,a)}return!0}if(A.type==="up"&&A.button===0&&this.currentSelection?.isDragging){if(g){let a=new U6(g,{...A,isDragging:!0});this.sendMouseEvent(g,a)}return this.finishSelection(),!0}if(A.type==="down"&&A.button===0&&this.currentSelection){if(A.modifiers.ctrl)return this.currentSelection.isDragging=!0,this.updateSelection(g,A.x,A.y),!0}if(!E&&(A.type==="drag"||A.type==="move")){if(this.lastOverRenderable&&this.lastOverRenderable!==this.capturedRenderable&&!this.lastOverRenderable.isDestroyed){let a=new U6(this.lastOverRenderable,{...A,type:"out"});this.sendMouseEvent(this.lastOverRenderable,a)}if(this.lastOverRenderable=g,g){let a=new U6(g,{...A,type:"over",source:this.capturedRenderable});this.sendMouseEvent(g,a)}}if(this.capturedRenderable&&A.type!=="up"){let a=new U6(this.capturedRenderable,A);return this.sendMouseEvent(this.capturedRenderable,a),!0}if(this.capturedRenderable&&A.type==="up"){let a=new U6(this.capturedRenderable,{...A,type:"drag-end"});if(this.sendMouseEvent(this.capturedRenderable,a),this.sendMouseEvent(this.capturedRenderable,new U6(this.capturedRenderable,A)),g){let Z=new U6(g,{...A,type:"drop",source:this.capturedRenderable});this.sendMouseEvent(g,Z)}this.lastOverRenderable=this.capturedRenderable,this.lastOverRenderableNum=this.capturedRenderable.num,this.setCapturedRenderable(void 0),this.requestRender()}let j;if(g){if(A.type==="drag"&&A.button===0)this.setCapturedRenderable(g);else this.setCapturedRenderable(void 0);j=this.dispatchMouseEvent(g,A)}else this.setCapturedRenderable(void 0),this.lastOverRenderable=void 0;if(!j?.defaultPrevented&&A.type==="down"&&A.button===0&&this.currentSelection)this.clearSelection();return!0}recheckHoverState(){if(this._isDestroyed||!this._hasPointer)return;if(this.capturedRenderable)return;let A=this.hitTest(this._latestPointer.x,this._latestPointer.y),q=pA.renderablesByNumber.get(A),E=this.lastOverRenderable;if(E?.num===A){this.lastOverRenderableNum=A;return}let g={type:"move",button:0,x:this._latestPointer.x,y:this._latestPointer.y,modifiers:this._lastPointerModifiers};if(E&&!E.isDestroyed){let j=new U6(E,{...g,type:"out"});this.sendMouseEvent(E,j)}if(this.lastOverRenderable=q,this.lastOverRenderableNum=A,q){let j=new U6(q,{...g,type:"over"});this.sendMouseEvent(q,j)}}setMousePointer(A){this._currentMousePointerStyle=A,this.lib.setCursorStyleOptions(this.rendererPtr,{cursor:A})}hitTest(A,q){return this.lib.checkHit(this.rendererPtr,A,q)}getLinkIdAt(A,q){if(this._isDestroyed||!Number.isInteger(A)||!Number.isInteger(q))return 0;let E=this.currentRenderBuffer;if(A<0||q<0||A>=E.width||q>=E.height)return 0;return _O(E.buffers.attributes[q*E.width+A])}getLinkAt(A,q){let E=this.getLinkIdAt(A,q);return E===0?null:this.currentRenderBuffer.lib.linkGetUrl(E)||null}takeMemorySnapshot(){if(this._isDestroyed)return;let A=process.memoryUsage();this.lastMemorySnapshot={heapUsed:A.heapUsed,heapTotal:A.heapTotal,arrayBuffers:A.arrayBuffers},this.lib.updateMemoryStats(this.rendererPtr,this.lastMemorySnapshot.heapUsed,this.lastMemorySnapshot.heapTotal,this.lastMemorySnapshot.arrayBuffers),this.emit("memory:snapshot",this.lastMemorySnapshot)}startMemorySnapshotTimer(){this.stopMemorySnapshotTimer(),this.memorySnapshotTimer=this.clock.setInterval(()=>{this.takeMemorySnapshot()},this.memorySnapshotInterval)}stopMemorySnapshotTimer(){if(this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null}setMemorySnapshotInterval(A){if(this.memorySnapshotInterval=A,this._isRunning&&A>0)this.startMemorySnapshotTimer();else if(A<=0&&this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null}handleResize(A,q){if(this._isDestroyed)return;if(this._splitHeight>0){this.processResize(A,q);return}if(this.resizeTimeoutId!==null)this.clock.clearTimeout(this.resizeTimeoutId),this.resizeTimeoutId=null;this.resizeTimeoutId=this.clock.setTimeout(()=>{this.resizeTimeoutId=null,this.processResize(A,q)},this.resizeDebounceDelay)}queryPixelResolution(){if(this.pixelResolutionRequeryPending=!0,this._controlState==="explicit_suspended"||this.waitingForPixelResolution)return;this.pixelResolutionRequeryPending=!1,this.waitingForPixelResolution=!0,this.updateStdinParserProtocolContext({pixelResolutionQueryActive:!0}),this.lib.queryPixelResolution(this.rendererPtr)}processResize(A,q){if(A===this._terminalWidth&&q===this._terminalHeight)return;if(this._terminalIsSetup&&this._controlState!=="explicit_suspended"&&!this.isSplitCursorSeedFrameBlocked())this.flushPendingSplitOutputBeforeTransition();let E=this.pendingSplitFooterTransition,g=TZ(this._screenMode,this._terminalWidth,this._terminalHeight,this._footerHeight),j=this._terminalWidth,a=this._terminalHeight,Z=E?.sourceHeight??g.effectiveFooterHeight;this._terminalWidth=A,this._terminalHeight=q,this._resolution=null,this.queryPixelResolution(),this.setCapturedRenderable(void 0),this.stdinParser?.resetMouseState();let G=TZ(this._screenMode,this._terminalWidth,this._terminalHeight,this._footerHeight);if(this._screenMode==="split-footer"){let Y=null;if(A<j&&Z>0)Y=Math.max(a-Z*2,1);if(E!==null)Y=Y===null?E.sourceTopLine:Math.min(Y,E.sourceTopLine);if(Y!==null){let Q=Z6.moveCursorAndClear(Y,1);this.writeOut(Q)}this.currentRenderBuffer.clear(this.backgroundColor)}if(this.clearPendingSplitFooterTransition(),this._splitHeight=G.effectiveFooterHeight,this.width=G.renderWidth,this.height=G.renderHeight,this.lib.resizeRenderer(this.rendererPtr,this.width,this.height),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.syncSplitScrollback();else this.syncSplitFooterState();this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this._console.resize(this.width,this.height),this.root.resize(this.width,this.height),this.emit("resize",this.width,this.height),this.requestRender()}resize(A,q){if(this._isDestroyed)return;this.processResize(A,q)}setBackgroundColor(A){let q=S(A);this.lib.setBackgroundColor(this.rendererPtr,q),this.backgroundColor=q,this.nextRenderBuffer.clear(q),this.requestRender()}toggleDebugOverlay(){let A=!this.debugOverlay.enabled;if(A&&!this.memorySnapshotInterval)this.memorySnapshotInterval=3000,this.startMemorySnapshotTimer(),this.automaticMemorySnapshot=!0;else if(!A&&this.automaticMemorySnapshot)this.stopMemorySnapshotTimer(),this.memorySnapshotInterval=0,this.automaticMemorySnapshot=!1;this.debugOverlay.enabled=!this.debugOverlay.enabled,this.lib.setDebugOverlay(this.rendererPtr,this.debugOverlay.enabled,this.debugOverlay.corner),this.emit("debugOverlay:toggle",this.debugOverlay.enabled),this.requestRender()}configureDebugOverlay(A){this.debugOverlay.enabled=A.enabled??this.debugOverlay.enabled,this.debugOverlay.corner=A.corner??this.debugOverlay.corner,this.lib.setDebugOverlay(this.rendererPtr,this.debugOverlay.enabled,this.debugOverlay.corner),this.requestRender()}setTerminalTitle(A){this.lib.setTerminalTitle(this.rendererPtr,A)}resetTerminalBgColor(){this.writeOut("\x1B]111\x07")}copyToClipboardOSC52(A,q){return this.clipboard.copyToClipboardOSC52(A,q)}clearClipboardOSC52(A){return this.clipboard.clearClipboardOSC52(A)}isOsc52Supported(){return this._capabilities?this._capabilities.osc52_support!=="unsupported":this.clipboard.isOsc52Supported()}dumpHitGrid(){this.lib.dumpHitGrid(this.rendererPtr)}dumpBuffers(A){this.lib.dumpBuffers(this.rendererPtr,A)}dumpOutputBuffer(A){this.lib.dumpOutputBuffer(this.rendererPtr,A)}static setCursorPosition(A,q,E,g=!0){Gq().setCursorPosition(A.rendererPtr,q,E,g)}static setCursorStyle(A,q){if(Gq().setCursorStyleOptions(A.rendererPtr,q),q.cursor!==void 0)A._currentMousePointerStyle=q.cursor}static setCursorColor(A,q){Gq().setCursorColor(A.rendererPtr,q)}setCursorPosition(A,q,E=!0){this.lib.setCursorPosition(this.rendererPtr,A,q,E)}setCursorStyle(A){if(this.lib.setCursorStyleOptions(this.rendererPtr,A),A.cursor!==void 0)this._currentMousePointerStyle=A.cursor}setCursorColor(A){this.lib.setCursorColor(this.rendererPtr,A)}getCursorState(){return this.lib.getCursorState(this.rendererPtr)}addPostProcessFn(A){this.postProcessFns.push(A)}removePostProcessFn(A){this.postProcessFns=this.postProcessFns.filter((q)=>q!==A)}clearPostProcessFns(){this.postProcessFns=[]}setFrameCallback(A){this.frameCallbacks.push(A)}removeFrameCallback(A){this.frameCallbacks=this.frameCallbacks.filter((q)=>q!==A)}clearFrameCallbacks(){this.frameCallbacks=[]}requestLive(){if(this.liveRequestCounter++,this._controlState==="idle"&&this.liveRequestCounter>0)this._controlState="auto_started",this.internalStart();else if(this._controlState==="explicit_suspended"&&this._previousControlState==="idle")this._previousControlState="auto_started"}dropLive(){if(this.liveRequestCounter===0)return;if(this.liveRequestCounter--,this.liveRequestCounter===0&&this._controlState==="explicit_suspended"&&this._previousControlState==="auto_started")this._previousControlState="idle";if(this._controlState==="auto_started"&&this.liveRequestCounter===0)this._controlState="idle",this._isRunning=!1,this.resolveIdleIfNeeded()}start(){this._controlState="explicit_started",this.internalStart()}auto(){this._controlState=this._isRunning?"auto_started":"idle"}internalStart(){if(!this._isRunning&&!this._isDestroyed){if(this._isRunning=!0,this.updateScheduled=!1,this.updateGeneration++,this.memorySnapshotInterval>0)this.startMemorySnapshotTimer();this.startRenderLoop()}}pause(){this._controlState="explicit_paused",this.internalPause()}suspend(){if(this._previousControlState=this._controlState,this._controlState="explicit_suspended",this.updateScheduled=!1,this.updateGeneration++,this.internalPause(),this._terminalIsSetup)this.clearSplitStartupCursorSeed(),this.flushPendingSplitOutputBeforeTransition(!0,{allowSuspended:!0}),this.suspendedNonAltSurfacePreserved=this._screenMode!=="alternate-screen"&&this.renderOffset>0;else this.suspendedNonAltSurfacePreserved=!1;if(this._suspendedMouseEnabled=this._useMouse,this.disableMouse(),this.removeExitListeners(),this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:this.waitingForPixelResolution,explicitWidthCprActive:!1,startupCursorCprActive:!1}),this.stdinParser?.hasPendingPixelResolutionResponse())this.stdinParser.pausePendingTimeout();else this.stdinParser?.reset();if(this.stdin.removeListener("data",this.stdinListener),this.stopTerminalKeepAlive(),this.themeModeState.cancelRefresh(),this.lib.suspendRenderer(this.rendererPtr),this.stdin.setRawMode)this.stdin.setRawMode(!1);this.stdin.pause()}resume(){if(this.stdin.setRawMode)this.stdin.setRawMode(!0);let A;while((A=this.stdin.read())!==null)this.stdinListener(A);if(this.stdinParser?.hasPendingPixelResolutionResponse())this.stdinParser.pausePendingTimeout();else this.stdinParser?.reset();this.stdin.on("data",this.stdinListener),this.stdin.resume(),this.startTerminalKeepAlive(),this.addExitListeners();let q=this.pendingSuspendedTerminalSetup&&this._screenMode!=="alternate-screen"&&this.suspendedNonAltSurfacePreserved&&this.renderOffset>0;if(this.pendingSuspendedTerminalSetup)if(this.pendingSuspendedTerminalSetup=!1,q)this.lib.resumeRenderer(this.rendererPtr);else this.lib.setupTerminal(this.rendererPtr,this._screenMode==="alternate-screen");else this.lib.resumeRenderer(this.rendererPtr);if(this.suspendedNonAltSurfacePreserved=!1,this.flushPendingSplitOutputBeforeTransition(!1,{allowSuspended:!0,allowPassthrough:!0}),this._screenMode==="split-footer"&&this._splitHeight>0)this.syncSplitFooterState();if(this._suspendedMouseEnabled)this.enableMouse();if(this.forceFullRepaintRequested=!0,this._controlState=this._previousControlState,this.pixelResolutionRequeryPending)this.queryPixelResolution();if(this.stdinParser?.resumePendingTimeout(),this._previousControlState==="auto_started"||this._previousControlState==="explicit_started")this.internalStart();else this.requestRender()}internalPause(){if(this._isRunning=!1,this.cancelRenderAfterFeedIdle(),this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;if(!this.rendering)this.resolveIdleIfNeeded()}stop(){this._controlState="explicit_stopped",this.internalStop()}internalStop(){if(this.updateScheduled=!1,this.updateGeneration++,this.immediateRerenderRequested=!1,this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null;this.internalPause()}destroy(){if(this._isDestroyed)return;if(this._isDestroyed=!0,this._destroyPending=!0,this._palettePublishGeneration++,this.rendering){this.prepareDestroyDuringRender();return}this.finalizeDestroy()}cleanupBeforeDestroy(){if(this._destroyCleanupPrepared)return;if(this._destroyCleanupPrepared=!0,this.cancelRenderAfterFeedIdle(),this.kittyTransportTimer!==null)this.clock.clearInterval(this.kittyTransportTimer),this.kittyTransportTimer=null,this.stdout.off("error",this.kittyOutputErrorHandler),this.lib.cancelKittyImageTransport(this.rendererPtr,!1);let A=process;if(this._usesProcessStdout)A.removeListener("SIGWINCH",this.sigwinchHandler);if(A.removeListener("uncaughtException",this.handleError),A.removeListener("unhandledRejection",this.handleError),A.removeListener("warning",this.warningHandler),this.removeExitListeners(),this.resizeTimeoutId!==null)this.clock.clearTimeout(this.resizeTimeoutId),this.resizeTimeoutId=null;if(this.capabilityTimeoutId!==null)this.clock.clearTimeout(this.capabilityTimeoutId),this.capabilityTimeoutId=null;if(this.clearSplitStartupCursorSeed(),this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null;if(this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;if(this.themeModeState.cancelRefresh(),this._isRunning=!1,this.waitingForPixelResolution=!1,this.pixelResolutionRequeryPending=!1,this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},!0),this.stdin===process.stdin&&this._usesProcessStdout)this.disableMouse();if(this._useMouse=!1,this.setCapturedRenderable(void 0),this.stdin.removeListener("data",this.stdinListener),this.stopTerminalKeepAlive(),this.stdin.setRawMode)try{this.stdin.setRawMode(!1)}catch(q){console.error("Error disabling raw mode during destroy:",q)}try{this.stdin.pause()}catch(q){console.error("Error pausing stdin during destroy:",q)}if(this._feed!==null&&this._splitHeight>0&&!this._terminalIsSetup)this.flushPendingSplitOutputBeforeTransition(!1,{allowSuspended:!0,allowUnsetup:!0});if(this.externalOutputMode="passthrough",this._splitHeight>0)this.flushStdoutCache(this._splitHeight,!0)}prepareDestroyDuringRender(){this.cleanupBeforeDestroy(),this.lib.suspendRenderer(this.rendererPtr)}finalizeDestroy(){if(this._destroyFinalized)return;if(this._destroyFinalized=!0,this._destroyPending=!1,this.cleanupBeforeDestroy(),this._paletteDetector)this._paletteDetector.cleanup(),this._paletteDetector=null;this._paletteCache.clear(),this._paletteDetectionPromise=null,this._paletteDetectionSize=0,this._nativePaletteSignature=null,this._emittedPaletteSignature=null,this._paletteEpoch=0,this.resolveXtVersionWaiters(),this.themeModeState.dispose(),this.emit("destroy");try{this.root.destroyRecursively()}catch(q){console.error("Error destroying root renderable:",q instanceof Error?q.stack:String(q))}if(this.stdinParser?.destroy(),this.stdinParser=null,this.oscSubscribers.clear(),this._console.destroy(),this._splitHeight>0&&this._terminalIsSetup&&this._controlState!=="explicit_suspended"){if(this.flushPendingSplitOutputBeforeTransition(!0),this.renderOffset=0,this.clearOnShutdown)this.lib.setRenderOffset(this.rendererPtr,0)}if(this._externalOutputMode="passthrough",this.pendingExternalOutputMode=null,this.stdout.write=this.realStdoutWrite,this.externalOutputQueue.clear(),this._feed)try{this._feed.drainAll()}catch(q){console.error("Error draining NativeSpanFeed during destroy:",q)}let A=this._terminalIsSetup&&this._controlState!=="explicit_suspended";try{this.lib.destroyRenderer(this.rendererPtr,A&&this.stdin===process.stdin)}catch(q){console.error("Error in lib.destroyRenderer during destroy:",q)}if(A){let q=this.stdin.readableLength;if(q>0)this.stdin.read(q)}if(e6.renderers.delete(this),e6.renderers.size===0)YO().catch((q)=>{console.error("Failed to destroy tree-sitter client:",q)});if(this._feed){try{this._feed.drainAll()}catch(q){console.error("Error draining NativeSpanFeed shutdown frames:",q)}this._detachFeed?.(),this._detachFeed=null,this._detachFeedError?.(),this._detachFeedError=null,this._feed.close(),this._feed=null}if(this._streamLeaseAcquired){if(e6.streamOwners.get(this.stdin)===this)e6.streamOwners.delete(this.stdin);if(e6.streamOwners.get(this.stdout)===this)e6.streamOwners.delete(this.stdout);this._streamLeaseAcquired=!1}if(this._onDestroy)try{this._onDestroy()}catch(q){console.error("Error in onDestroy callback:",q instanceof Error?q.stack:String(q))}this.resolveIdleIfNeeded()}startRenderLoop(){if(!this._isRunning)return;if(this.lastTime=this.normalizeClockTime(this.clock.now(),0),this.frameCount=0,this.lastFpsTime=this.lastTime,this.currentFps=0,this.renderStats.fps=0,this.feedIdleRenderScheduled)return;this.loop()}async loop(){if(this.rendering||this._isDestroyed)return;let A=this._isRunning;if(this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;this.rendering=!0;let q=!1;try{if(this._feed?.isBackpressured()){this.handleNativeRenderRejection(Ij),this.immediateRerenderRequested=!1;return}this._frameId++;let E=this.normalizeClockTime(this.clock.now(),this.lastTime),j=this.getElapsedMs(E,this.lastTime);this.lastTime=E,this.renderStats.frameCount++;let a=performance.now(),Z=Array.from(this.animationRequest.values());this.animationRequest.clear();let G=performance.now();for(let N of Z)N(j),this.dropLive();let Y=performance.now()-G,Q=performance.now();for(let N of this.frameCallbacks)try{await N(j)}catch(X){console.error("Error in frame callback:",X)}let H=performance.now();this.renderStats.frameCallbackTime=H-Q,this.root.render(this.nextRenderBuffer,j);for(let N of this.postProcessFns)N(this.nextRenderBuffer,j);if(this._console.renderToBuffer(this.nextRenderBuffer),!this._isDestroyed){let N=this.renderNative()??"rendered";if(N==="rendered")this.frameCount++;if(this.getElapsedMs(E,this.lastFpsTime)>=1000)this.currentFps=this.frameCount,this.frameCount=0,this.lastFpsTime=E;if(this.renderStats.fps=this.currentFps,N==="rendered"){if(this._useMouse&&this.lib.getHitGridDirty(this.rendererPtr))this.recheckHoverState();let X=performance.now()-a;if(this.lib.updateStats(this.rendererPtr,X,this.renderStats.fps,this.renderStats.frameCallbackTime),this.listenerCount("frame")>0)this.emit("frame",{frameId:this.frameId});if(this.gatherStats)this.collectStatSample(X);if(this._isRunning||this.immediateRerenderRequested){let T=this.immediateRerenderRequested?this.minTargetFrameTime:this.targetFrameTime,J=Math.max(1,T-Math.floor(X));this.immediateRerenderRequested=!1,this.renderTimeout=this.clock.setTimeout(()=>{this.renderTimeout=null,this.loop()},J)}else this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null}else if(N==="blocked"){let X=performance.now()-a;if(this._isRunning||this.immediateRerenderRequested){let T=this.immediateRerenderRequested?this.minTargetFrameTime:this.targetFrameTime,J=Math.max(1,T-Math.floor(X));this.immediateRerenderRequested=!1,this.renderTimeout=this.clock.setTimeout(()=>{this.renderTimeout=null,this.loop()},J)}else this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null}else if(N==="backpressured"){if(!A||this._isRunning||this.immediateRerenderRequested||this._controlState==="idle")this.scheduleRenderAfterBackpressure()}else if(N==="retryable-skip")this.immediateRerenderRequested=!1,this.renderTimeout=null;else if(N==="failed")this.immediateRerenderRequested=!1,this.renderTimeout=null}}catch(E){q=!0;let g=E instanceof Error?E:Error(String(E)),j={error:g,renderable:this.root.takeCurrentRenderable()};if(!this.emit("render:error",j))this.handleError(g)}finally{if(this.rendering=!1,this._destroyPending)this.finalizeDestroy();if(q&&(this._isRunning||this.immediateRerenderRequested)&&!this._isDestroyed)this.immediateRerenderRequested=!1,this.scheduleRenderTimer();this.resolveIdleIfNeeded()}}intermediateRender(){this.immediateRerenderRequested=!0,this.loop()}renderNative(){if(this.renderingNative)throw console.error("Rendering called concurrently"),Error("Rendering called concurrently");this.renderingNative=!0;try{if(this.isSplitCursorSeedFrameBlocked())return"blocked";if(this._splitHeight>0&&this._externalOutputMode==="capture-stdout"){let E=this.forceFullRepaintRequested,g=this.flushPendingSplitCommits(E,this.pendingExternalOutputMode==="passthrough");if(g==="backpressured")return"backpressured";if(g==="failed")return"failed";return this.forceFullRepaintRequested=!1,this.pendingSplitFooterTransition=null,"rendered"}let A=this.forceFullRepaintRequested,q=this.lib.render(this.rendererPtr,A);if(q===Ij||q===tO)return this.handleNativeRenderRejection(q);return this.forceFullRepaintRequested=!1,this.pendingSplitFooterTransition=null,"rendered"}finally{this.renderingNative=!1}}collectStatSample(A){if(this.frameTimes.push(A),this.frameTimes.length>this.maxStatSamples)this.frameTimes.shift()}getNativeStats(){return this.lib.getRenderStats(this.rendererPtr)}getStats(){let A=this.getNativeStats(),q=[...this.frameTimes],E=q.reduce((Z,G)=>Z+G,0),g=q.length?E/q.length:0,j=q.length?Math.min(...q):0,a=q.length?Math.max(...q):0;return{...A,fps:this.renderStats.fps,frameCount:this.renderStats.frameCount,frameTimes:q,averageFrameTime:g,minFrameTime:j,maxFrameTime:a,frameCallbackTime:this.renderStats.frameCallbackTime}}resetStats(){this.frameTimes=[],this.renderStats.frameCount=0}setGatherStats(A){if(this.gatherStats=A,!A)this.frameTimes=[]}getSelection(){return this.currentSelection}get hasSelection(){return!!this.currentSelection}getSelectionContainer(){return this.selectionContainers.length>0?this.selectionContainers[this.selectionContainers.length-1]:null}clearSelection(){this.clearSelectionState(),this.lastClick=null}clearSelectionState(){if(this.currentSelection){for(let A of this.currentSelection.touchedRenderables)if(A.selectable&&!A.isDestroyed)A.onSelectionChanged(null);this.currentSelection=null}this.selectionContainers=[]}startSelection(A,q,E,g="cell"){if(!A.selectable)return;this.clearSelectionState(),this.selectionContainers.push(A.parent||this.root),this.currentSelection=new _Z(A,{x:q,y:E},{x:q,y:E},g),this.currentSelection.isStart=!0,this.notifySelectablesOfSelectionChange()}nextClickBehavior(A,q,E){let g=this.clock.now(),j=this.lastClick,Z=j!==null&&A.num===j.renderableId&&g-j.time<=Zh&&Math.max(Math.abs(q-j.x),Math.abs(E-j.y))<=1?Math.min(j.count+1,3):1;return this.lastClick={count:Z,time:g,x:q,y:E,renderableId:A.num},Z===1?"cell":Z===2?"word":"line"}updateSelection(A,q,E,g){if(this.currentSelection){if(this.currentSelection.isStart=!1,this.currentSelection.focus={x:q,y:E},g?.finishDragging)this.currentSelection.isDragging=!1;if(this.selectionContainers.length>0){let j=this.selectionContainers[this.selectionContainers.length-1];if(!A||!this.isWithinContainer(A,j)){let a=j.parent||this.root;this.selectionContainers.push(a)}else if(A&&this.selectionContainers.length>1){let a=this.selectionContainers.indexOf(A);if(a===-1){let Z=A.parent||this.root;a=this.selectionContainers.indexOf(Z)}if(a!==-1&&a<this.selectionContainers.length-1)this.selectionContainers=this.selectionContainers.slice(0,a+1)}}this.notifySelectablesOfSelectionChange()}}requestSelectionUpdate(){if(this.currentSelection?.isDragging){let A=this._latestPointer,q=this.hitTest(A.x,A.y),E=pA.renderablesByNumber.get(q);this.updateSelection(E,A.x,A.y)}}isWithinContainer(A,q){let E=A;while(E){if(E===q)return!0;E=E.parent}return!1}finishSelection(){if(this.currentSelection)this.currentSelection.isDragging=!1,this.emit("selection",this.currentSelection),this.notifySelectablesOfSelectionChange()}notifySelectablesOfSelectionChange(){let A=[],q=[],E=this.selectionContainers.length>0?this.selectionContainers[this.selectionContainers.length-1]:this.root;if(this.currentSelection){this.walkSelectableRenderables(E,this.currentSelection.bounds,A,q);for(let g of this.currentSelection.touchedRenderables)if(!q.includes(g)&&!g.isDestroyed)g.onSelectionChanged(null);this.currentSelection.updateSelectedRenderables(A),this.currentSelection.updateTouchedRenderables(q)}}walkSelectableRenderables(A,q,E,g){let j=gY(q,A.getChildrenSortedByPrimaryAxis(),A.primaryAxis,0,0);for(let a of j){if(a.selectable){if(a.onSelectionChanged(this.currentSelection))E.push(a);g.push(a)}if(a.getChildrenCount()>0)this.walkSelectableRenderables(a,q,E,g)}}get paletteDetectionStatus(){if(this._paletteDetectionPromise)return"detecting";if(this._paletteCache.size>0)return"cached";return"idle"}getCachedPaletteBySize(A){let q=this._paletteCache.get(A);if(q)return q;let E=[...this._paletteCache.keys()].sort((a,Z)=>a-Z).find((a)=>a>=A);if(E===void 0)return null;let g=this._paletteCache.get(E);if(!g)return null;let j={...g,palette:g.palette.slice(0,A)};return this._paletteCache.set(A,j),j}ensurePaletteDetector(){if(!this._paletteDetector){let A=Boolean(this.capabilities?.multiplexer==="tmux"||this.capabilities?.terminal?.name?.toLowerCase()?.includes("tmux")),q=this.capabilities?.terminal?.name?.toLowerCase()?.includes("tmux")&&this.capabilities?.terminal?.version?.localeCompare("3.6")<0;this._paletteDetector=TO({stdin:this.stdin,stdout:this.stdout,writeFn:(E)=>this._isDestroyed?!1:this.writeOut(E),isLegacyTmux:q,isTmux:A,oscSource:{subscribeOsc:this.subscribeOsc.bind(this)},clock:this.clock})}return this._paletteDetector}syncNativePaletteState(A){let q=KZ(A);if(this._nativePaletteSignature!==q)this._paletteEpoch=this._paletteEpoch+1>>>0;this._nativePaletteSignature=q;let E=aZ(A);this.lib.rendererSetPaletteState(this.rendererPtr,E.palette,E.defaultForeground,E.defaultBackground,this._paletteEpoch)}emitPaletteChange(A){if(this.listenerCount("palette")===0)return;let q=KZ(A);if(this._emittedPaletteSignature===q)return;this._emittedPaletteSignature=q,this.emit("palette",A)}resolveXtVersionWaiters(){if(this.xtVersionWaiters.size===0)return;let A=[...this.xtVersionWaiters];this.xtVersionWaiters.clear();for(let q of A)q()}waitForXtVersion(){if(this.capabilityTimeoutId===null||this._capabilities?.terminal?.from_xtversion)return Promise.resolve();return new Promise((A)=>{this.xtVersionWaiters.add(A)})}shouldSyncNativePaletteState(){return Boolean(this._terminalIsSetup&&!this._isDestroyed&&this._capabilities?.ansi256&&!this._capabilities?.rgb)}refreshPalette(){let A=this._palettePublishGeneration;this.getPalette({size:sO}).then(()=>{if(this._isDestroyed)return;if(this._palettePublishGeneration===A)this.requestRender()}).catch(()=>{})}clearPaletteCache(){this._palettePublishGeneration++,this._paletteCache.clear()}async getPalette(A){if(this._controlState==="explicit_suspended")throw Error("Cannot detect palette while renderer is suspended");let q=A?.size??16,E=A?.timeout,g=this.getCachedPaletteBySize(q);if(g)return g;let j=this._capabilities?.terminal,a=j?.name?.toLowerCase()==="tmux"&&Boolean(j.version);if(this._capabilities?.multiplexer==="tmux"&&!a){await this.waitForXtVersion();let Q=this.getCachedPaletteBySize(q);if(Q)return Q}if(this._paletteDetectionPromise){if(this._paletteDetectionSize>=q)return this._paletteDetectionPromise.then((H)=>{let N=this.getCachedPaletteBySize(q);if(N)return N;let X={...H,palette:H.palette.slice(0,q)};return this._paletteCache.set(q,X),X});await this._paletteDetectionPromise;let Q=this.getCachedPaletteBySize(q);if(Q)return Q}let Z=this.ensurePaletteDetector(),G=this._palettePublishGeneration;this._paletteDetectionSize=q,this._paletteDetectionPromise=Z.detect({...A,timeout:E}).then((Q)=>{if(this._paletteCache.set(Q.palette.length,Q),this._paletteDetectionPromise=null,this._paletteDetectionSize=0,!this._isDestroyed&&this._palettePublishGeneration===G){if(this.emitPaletteChange(Q),this.shouldSyncNativePaletteState()&&Q.palette.length>=sO)this.syncNativePaletteState(Q);else if(this.shouldSyncNativePaletteState()&&!this._paletteCache.has(sO))this.refreshPalette()}return Q}).catch((Q)=>{throw this._paletteDetectionPromise=null,this._paletteDetectionSize=0,Q});let M=await this._paletteDetectionPromise;return this.getCachedPaletteBySize(q)??M}}});import{EventEmitter as kg}from"events";import{randomBytes as Uh}from"crypto";import{open as Gh,readFile as _y,rename as Mh,unlink as Oh}from"fs/promises";import{basename as Yh,dirname as Qh,join as $h}from"path";import{open as yh,stat as mh}from"fs/promises";function lX(A){return A>>>30>=2}class O9{timelines=new Set;renderer=null;frameCallback=null;isLive=!1;defaults={frameRate:60};attach(A){if(this.renderer)this.detach();this.renderer=A,this.frameCallback=async(q)=>{this.update(q)},A.setFrameCallback(this.frameCallback)}detach(){if(this.renderer&&this.frameCallback){if(this.renderer.removeFrameCallback(this.frameCallback),this.isLive)this.renderer.dropLive(),this.isLive=!1}this.renderer=null,this.frameCallback=null}updateLiveState(){if(!this.renderer)return;let A=Array.from(this.timelines).some((q)=>!q.synced&&q.isPlaying&&!q.isComplete);if(A&&!this.isLive)this.renderer.requestLive(),this.isLive=!0;else if(!A&&this.isLive)this.renderer.dropLive(),this.isLive=!1}onTimelineStateChange=(A)=>{this.updateLiveState()};register(A){if(!this.timelines.has(A))this.timelines.add(A),A.addStateChangeListener(this.onTimelineStateChange),this.updateLiveState()}unregister(A){if(this.timelines.has(A))this.timelines.delete(A),A.removeStateChangeListener(this.onTimelineStateChange),this.updateLiveState()}clear(){for(let A of this.timelines)A.removeStateChangeListener(this.onTimelineStateChange);this.timelines.clear(),this.updateLiveState()}update(A){for(let q of this.timelines)if(!q.synced)q.update(A)}}function $E(){return new DOMException("The operation was aborted","AbortError")}function IZ(A,q,E){let g=A??q;if(!Number.isFinite(g)||!Number.isInteger(g)||g<=0)throw TypeError(`${E} must be a finite positive integer`);if(g>JY)throw RangeError(`${E} exceeds the supported limit`);return g}function Nh(A){let q=A.maxRetries??Number.POSITIVE_INFINITY,E=A.initialDelayMs??1000,g=A.maxDelayMs??15000,j=A.backoffFactor??2,a=A.retryOnEnd??!1,Z=A.retry;if(q!==Number.POSITIVE_INFINITY&&(!Number.isInteger(q)||q<0))throw TypeError("reconnect.maxRetries must be a non-negative integer or Infinity");if(!Number.isFinite(E)||!Number.isInteger(E)||E<0)throw TypeError("reconnect.initialDelayMs must be a finite non-negative integer");if(!Number.isFinite(g)||!Number.isInteger(g)||g<0)throw TypeError("reconnect.maxDelayMs must be a finite non-negative integer");if(!Number.isFinite(j)||j<1)throw TypeError("reconnect.backoffFactor must be a finite number greater than or equal to 1");if(typeof a!=="boolean")throw TypeError("reconnect.retryOnEnd must be a boolean");if(Z!==void 0&&typeof Z!=="function")throw TypeError("reconnect.retry must be a function");return{maxRetries:q,initialDelayMs:E,maxDelayMs:g,backoffFactor:j,retryOnEnd:a,retry:Z==null?void 0:(G,M)=>Z.call(A,G,M)}}function Vh(A){let q=Ih(A.format),E=A.sampleRate,g=A.channels;if(q==="pcm"){if(A.sampleFormat!=="f32le")throw TypeError("PCM sampleFormat must be 'f32le'");if(typeof E!=="number"||!Number.isInteger(E)||E<8000||E>192000)throw RangeError("PCM sampleRate must be an integer from 8000 to 192000 Hz");if(g!==1&&g!==2)throw RangeError("PCM channels must be 1 or 2");if(A.reconnect!==void 0)throw TypeError("PCM reconnect is not supported")}else if(E!==void 0||g!==void 0||A.sampleFormat!==void 0)throw TypeError("sampleFormat, sampleRate, and channels are only supported for PCM streams");let j=IZ(A.buffer?.capacityMs,2000,"buffer.capacityMs"),a=IZ(A.buffer?.startupMs,1000,"buffer.startupMs"),Z=IZ(A.buffer?.resumeMs,1000,"buffer.resumeMs"),G=IZ(A.maxProbeBytes,Hh,"maxProbeBytes");if(a>j)throw RangeError("buffer.startupMs must not exceed buffer.capacityMs");if(Z>j)throw RangeError("buffer.resumeMs must not exceed buffer.capacityMs");return{format:q,native:{format:hh(q),sampleRate:E,channels:g,capacityMs:j,startupMs:a,resumeMs:Z,volume:A.volume??1,pan:A.pan??0,groupId:A.groupId??0,maxProbeBytes:G},signal:A.signal,reconnect:A.reconnect===void 0?void 0:Nh(A.reconnect)}}function Rh(A,q=50){let E;try{E=Promise.resolve(A()).catch(()=>{return})}catch{return Promise.resolve()}return new Promise((g)=>{let j=setTimeout(g,q);E.then(()=>{clearTimeout(j),g()})})}function sF(A,q){if(q.aborted)return Promise.reject($E());return new Promise((E,g)=>{let j=A,a,Z=()=>{let M=Math.min(j,Th);a=setTimeout(()=>{if(j-=M,j>0)Z();else q.removeEventListener("abort",G),E()},M)},G=()=>{clearTimeout(a),g($E())};q.addEventListener("abort",G,{once:!0}),Z()})}function SZ(A){return sF(cg,A).then(()=>!0).catch(()=>!1)}function Ih(A){let q=A??"mp3";if(q!=="mp3"&&q!=="flac"&&q!=="pcm")throw TypeError(`Unsupported audio stream format: ${q}`);return q}function hh(A){switch(A){case"mp3":return vF.Mp3;case"flac":return vF.Flac;case"pcm":return vF.Pcm}}function aY(A){try{return typeof A?.getReader==="function"}catch{return!1}}function pX(A){try{return typeof A?.[Symbol.asyncIterator]==="function"}catch{return!1}}function dX(A){return ArrayBuffer.isView(A)&&Object.prototype.toString.call(A)==="[object Uint8Array]"}function Dh(A,q,E){let g=new Uint8Array(OY),j=new DataView(g.buffer);return g.set([82,73,70,70],0),j.setUint32(4,E+36,!0),g.set([87,65,86,69],8),g.set([102,109,116,32],12),j.setUint32(16,16,!0),j.setUint16(20,1,!0),j.setUint16(22,q,!0),j.setUint32(24,A,!0),j.setUint32(28,A*q*2,!0),j.setUint16(32,q*2,!0),j.setUint16(34,16,!0),g.set([100,97,116,97],36),j.setUint32(40,E,!0),g}class $9{data;width;height;stride;lib;handle;format="rgba8";colorSpace="srgb";alpha="straight";constructor(A,q,E,g,j,a){this.data=A,this.width=q,this.height=E,this.stride=g,this.lib=j,this.handle=a}dispose(){if(!this.handle)return;this.lib.imageDestroy(this.handle),this.handle=null}}function qE(A){return new PZ(A)}function wg(A){if(A!==0)throw qE(A)}function Bj(A,q,E){if(!Object.prototype.hasOwnProperty.call(A,q))throw TypeError(`Unsupported ${E}: ${String(q)}`);return A[q]}function Cq(A,q,E=!1){if(!Number.isSafeInteger(A)||A<(E?0:1)||A>4294967295)throw RangeError(`${q} must be ${E?"a non-negative":"a positive"} u32 integer`);return A}function lh(A,q){let E=Cq(q.stride??A*4,"stride"),g=Bj(YY,q.format??"rgba8","pixel format"),j=Bj(fh,q.alpha??"straight","pixel alpha");if(q.colorSpace!==void 0&&q.colorSpace!=="srgb")throw TypeError(`Unsupported pixel color space: ${String(q.colorSpace)}`);return{stride:E,format:Number(g),alpha:j}}function tX(A,q){if(!Number.isSafeInteger(A)||A<-2147483648||A>2147483647)throw RangeError(`${q} must be an i32 integer`);return A}function uh(A,q){if(!Number.isInteger(A)||A<0||A>255)throw RangeError(`${q} must be an integer from 0 to 255`);return A}function ph(A){let q=["unknown","png","raw-rgba","jpeg","webp","gif"][A.format];if(!q||q==="unknown")throw Error(`Unknown native image format ${A.format}`);return{width:A.width,height:A.height,sourceWidth:A.sourceWidth,sourceHeight:A.sourceHeight,format:q,colorStatus:A.colorStatus===1?"explicit-srgb":"assumed-srgb",orientation:A.orientation,hasAlpha:A.hasAlpha!==0}}function dh(A){if(A instanceof Uint8Array)return A;if(A instanceof ArrayBuffer)return new Uint8Array(A);throw TypeError("image data must be a Uint8Array or ArrayBuffer")}async function th(A,q){let E=A.headers.get("content-length");if(E!==null){let G=Number(E);if(Number.isFinite(G)&&G>V_)throw A.body?.cancel().catch(()=>{}),qE(6)}if(!A.body)return new Uint8Array;let g=A.body.getReader(),j=()=>void g.cancel(q?.reason).catch(()=>{});q?.addEventListener("abort",j,{once:!0});let a=new Uint8Array,Z=0;try{while(!0){q?.throwIfAborted();let{done:G,value:M}=await g.read();if(G)break;if(M.byteLength>V_-Z)throw qE(6);if(M.byteLength===0)continue;let Y=Z+M.byteLength;if(Y>a.byteLength){let Q=Math.min(V_,Math.max(Y,a.byteLength*2)),H=new Uint8Array(Q);H.set(a.subarray(0,Z)),a=H}a.set(M,Z),Z=Y}}catch(G){throw g.cancel().catch(()=>{}),G}finally{q?.removeEventListener("abort",j),g.releaseLock()}return a.byteLength===Z?a:a.slice(0,Z)}async function sh(A,q){if(q?.throwIfAborted(),(await mh(A)).size>V_)throw qE(6);let E=await yh(A,"r"),g=[],j=0;try{while(!0){q?.throwIfAborted();let G=new Uint8Array(Math.min(65536,V_-j+1)),{bytesRead:M}=await E.read(G,0,G.byteLength,null);if(M===0)break;if(j+=M,j>V_)throw qE(6);g.push(G.subarray(0,M))}}finally{await E.close()}let a=new Uint8Array(j),Z=0;for(let G of g)a.set(G,Z),Z+=G.byteLength;return a}async function KY(A,q,E){try{E?.throwIfAborted()}catch(g){throw A.body?.cancel().catch(()=>{}),g}if(!A.ok)throw A.body?.cancel().catch(()=>{}),new xj("http-status",q,`Failed to fetch image: HTTP ${A.status}`,{status:A.status});try{let g=await th(A,E);return E?.throwIfAborted(),g}catch(g){if(E?.aborted)throw E.reason;if(g instanceof PZ)throw g;throw new xj("network",q,`Failed to read image response: ${q}`,{cause:g})}}class _6{lib;handle;imageInfo;constructor(A,q,E){this.lib=A,this.handle=q,this.imageInfo=E}static decode(A){let q=dh(A);if(q.byteLength===0)throw TypeError("image data must not be empty");let E=Gq(),g=E.imageDecode(q);if(wg(g.status),!g.handle)throw qE(10);return _6.fromHandle(E,g.handle)}static async load(A,q={}){if(A instanceof Response)return _6.decode(await KY(A,A.url||"Response",q.signal));if(q.signal?.throwIfAborted(),A instanceof Uint8Array||A instanceof ArrayBuffer)return _6.decode(A);if(A instanceof Blob){if(A.size>V_)throw qE(6);return _6.decode(await KY(new Response(A),"Blob",q.signal))}let E=A instanceof URL?A:(/^(?:https?|file|blob|data):/i.test(A)||/^[a-z][a-z0-9+.-]*:\/\//i.test(A))&&!/^[a-z]:[\\/]/i.test(A)?new URL(A):null;if(!E||E.protocol==="file:"){let j=E??A,a;try{a=await sh(j,q.signal)}catch(Z){if(q.signal?.aborted)throw q.signal.reason;if(Z instanceof PZ)throw Z;throw new xj("file-read",String(A),`Failed to read image: ${String(A)}`,{cause:Z})}return q.signal?.throwIfAborted(),_6.decode(a)}if(E.protocol!=="http:"&&E.protocol!=="https:"&&E.protocol!=="blob:"&&E.protocol!=="data:")throw new xj("unsupported-url-scheme",E.href,`Unsupported image URL scheme: ${E.protocol}`);let g;try{g=await(q.fetch??globalThis.fetch)(E,{signal:q.signal})}catch(j){if(q.signal?.aborted)throw q.signal.reason;throw new xj("network",E.href,`Failed to fetch image: ${E.href}`,{cause:j})}return _6.decode(await KY(g,E.href,q.signal))}static fromRgba(A,q,E,g=q*4){if(!(A instanceof Uint8Array))throw TypeError("pixels must be a Uint8Array");Cq(q,"width"),Cq(E,"height"),Cq(g,"stride");let j=Gq(),a=j.imageCreateFromRgba(A,q,E,g);if(wg(a.status),!a.handle)throw qE(10);return _6.fromHandle(j,a.handle)}static fromPixels(A,q,E,g={}){if(!(A instanceof Uint8Array))throw TypeError("pixels must be a Uint8Array");Cq(q,"width"),Cq(E,"height");let{stride:j,format:a,alpha:Z}=lh(q,g),G=Gq(),M=G.imageCreateFromPixels(A,q,E,j,a,Z);if(wg(M.status),!M.handle)throw qE(10);return _6.fromHandle(G,M.handle)}static fromHandle(A,q){let E=A.imageGetInfo(q);if(E.status!==0)throw A.imageDestroy(q),qE(E.status);return new _6(A,q,ph(E.info))}guard(){if(!this.handle)throw Error("NativeImage is disposed");return this.handle}get ptr(){return this.guard()}wrap(A){if(wg(A.status),!A.handle)throw qE(10);return _6.fromHandle(this.lib,A.handle)}info(){return this.guard(),{...this.imageInfo}}get width(){return this.guard(),this.imageInfo.width}get height(){return this.guard(),this.imageInfo.height}clone(){return this.wrap(this.lib.imageClone(this.guard()))}retain(){return this.wrap(this.lib.imageRetain(this.guard()))}resize(A){if(!A||A.width===void 0&&A.height===void 0)throw TypeError("resize requires width, height, or both");let{width:q,height:E}=A;if(q!==void 0)Cq(q,"width");if(E!==void 0)Cq(E,"height");if(q===void 0)q=Math.max(1,Math.round(this.width*E/this.height));if(E===void 0)E=Math.max(1,Math.round(this.height*q/this.width));Cq(q,"width"),Cq(E,"height");let g=Bj(kh,A.kernel??"area","resize kernel");return this.wrap(this.lib.imageResize(this.guard(),q,E,g))}extract(A){return this.wrap(this.lib.imageExtract(this.guard(),Cq(A.left,"left",!0),Cq(A.top,"top",!0),Cq(A.width,"width"),Cq(A.height,"height")))}extend(A={}){let q=A.background??[0,0,0,0];if(q.length!==4)throw TypeError("background must contain four RGBA channels");let E=Uint8Array.from(q.map((g,j)=>uh(g,`background[${j}]`)));return this.wrap(this.lib.imageExtend(this.guard(),Cq(A.top??0,"top",!0),Cq(A.right??0,"right",!0),Cq(A.bottom??0,"bottom",!0),Cq(A.left??0,"left",!0),E))}rotate(A){let q=A===90?0:A===180?1:A===270?2:-1;if(q<0)throw RangeError("angle must be 90, 180, or 270");return this.wrap(this.lib.imageTransform(this.guard(),q))}flip(){return this.wrap(this.lib.imageTransform(this.guard(),3))}flop(){return this.wrap(this.lib.imageTransform(this.guard(),4))}composite(A,q={}){if(!(A instanceof _6))throw TypeError("overlay must be a NativeImage");let E=q.opacity??1;if(!Number.isFinite(E)||E<0||E>1)throw RangeError("opacity must be between 0 and 1");return this.wrap(this.lib.imageComposite(this.guard(),A.guard(),tX(q.left??0,"left"),tX(q.top??0,"top"),Bj(ch,q.blend??"source-over","blend mode"),Math.round(E*255)))}ensureEncodedPng(){wg(this.lib.imageEnsureEncodedPng(this.guard()))}raw(A="rgba8"){let q=this.width*4,E=new Uint8Array(q*this.height);return wg(this.lib.imageCopyPixels(this.guard(),E,q,Bj(YY,A,"pixel format"))),{data:E,width:this.width,height:this.height,stride:q,format:A,colorSpace:"srgb",alpha:"straight"}}takeRaw(){let A=this.guard(),q=this.lib.imageMaterialize(A);if(q===bh)throw Error("Cannot transfer image pixels while native buffers retain the image");wg(q);let E=this.lib.imageGetPixelsPtr(A);if(!E)throw Error("Cannot transfer image pixels while native buffers retain the image");let g=this.imageInfo.width,j=this.imageInfo.height,a=g*4,Z=new Uint8Array(oq(E,0,a*j)),G=new $9(Z,g,j,a,this.lib,A);return this.handle=null,G}copyTo(A,q={}){if(!(A instanceof Uint8Array))throw TypeError("destination must be a Uint8Array");let E=q.stride??this.width*4;Cq(E,"stride");let g=Bj(YY,q.format??"rgba8","pixel format");wg(this.lib.imageCopyPixels(this.guard(),A,E,g))}dispose(){if(!this.handle)return;this.lib.imageDestroy(this.handle),this.handle=null}}function J9(A,q,E){return A.getLineSources?A.getLineSources(q,E):A.lineInfo.lineSources.slice(q,q+E)}function nX(A){return MA.fromValues(A.r*0.8,A.g*0.8,A.b*0.8,A.a)}function ih(A){let q=A.split(/\n/),E=[],g=0;function j(T){return/^diff --git /.test(T)}function a(T){return j(T)||/^Index:\s/.test(T)||/^diff(?: -r \w+)+\s/.test(T)}function Z(T){return/^(---|\+\+\+)\s/.test(T)}function G(T){return/^@@\s/.test(T)}function M(){var T;let J={};J.hunks=[],E.push(J);let V=!1;while(g<q.length){let I=q[g];if(Z(I)||G(I))break;if(j(I)){if(V)return;V=!0,J.isGit=!0;let W=Y(I);if(W)J.oldFileName=W.oldFileName,J.newFileName=W.newFileName;g++;while(g<q.length){let C=q[g];if(Z(C)||G(C)||a(C))break;let c=/^rename from (.*)/.exec(C);if(c)J.oldFileName="a/"+Q(c[1]),J.isRename=!0;let D=/^rename to (.*)/.exec(C);if(D)J.newFileName="b/"+Q(D[1]),J.isRename=!0;let v=/^copy from (.*)/.exec(C);if(v)J.oldFileName="a/"+Q(v[1]),J.isCopy=!0;let k=/^copy to (.*)/.exec(C);if(k)J.newFileName="b/"+Q(k[1]),J.isCopy=!0;let u=/^new file mode (\d+)/.exec(C);if(u)J.isCreate=!0,J.newMode=u[1];let d=/^deleted file mode (\d+)/.exec(C);if(d)J.isDelete=!0,J.oldMode=d[1];let p=/^old mode (\d+)/.exec(C);if(p)J.oldMode=p[1];let QA=/^new mode (\d+)/.exec(C);if(QA)J.newMode=QA[1];if(/^Binary files /.test(C))J.isBinary=!0;g++}continue}else if(a(I)){if(V)return;V=!0;let W=/^(?:Index:|diff(?: -r \w+)+)\s+/.exec(I);if(W)J.index=I.substring(W[0].length).trim()}g++}if(N(J),N(J),J.oldFileName===void 0!==(J.newFileName===void 0))throw Error("Missing "+(J.oldFileName!==void 0?'"+++ ..."':'"--- ..."')+" file header for "+((T=J.oldFileName)!==null&&T!==void 0?T:J.newFileName));while(g<q.length){let I=q[g];if(a(I)||Z(I)||/^===================================================================/.test(I))break;else if(G(I))J.hunks.push(X());else g++}}function Y(T){let J=T.substring(11);if(J.startsWith('"')){let I=H(J);if(I===null)return null;let W=J.substring(I.rawLength+1),C;if(W.startsWith('"')){let c=H(W);if(c===null)return null;C=c.fileName}else C=W;return{oldFileName:I.fileName,newFileName:C}}let V=J.indexOf('"');if(V>0){let I=J.substring(0,V-1),W=H(J.substring(V));if(W===null)return null;return{oldFileName:I,newFileName:W.fileName}}if(J.startsWith("a/")){let I=[],W=0;while(!0){if(W=J.indexOf(" b/",W+1),W===-1)break;I.push(W)}if(I.length>0){let C=I[Math.floor(I.length/2)];return{oldFileName:J.substring(0,C),newFileName:J.substring(C+1)}}}return null}function Q(T){if(T.startsWith('"')){let J=H(T);if(J)return J.fileName}return T}function H(T){if(!T.startsWith('"'))return null;let J="",V=1;while(V<T.length){if(T[V]==='"')return{fileName:J,rawLength:V+1};if(T[V]==="\\"&&V+1<T.length)switch(V++,T[V]){case"a":J+="\x07";break;case"b":J+="\b";break;case"f":J+="\f";break;case"n":J+=`
215
+ `;break;case"r":J+="\r";break;case"t":J+="\t";break;case"v":J+="\v";break;case"\\":J+="\\";break;case'"':J+='"';break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{if(V+2>=T.length||T[V+1]<"0"||T[V+1]>"7"||T[V+2]<"0"||T[V+2]>"7")return null;let I=[parseInt(T.substring(V,V+3),8)];V+=3;while(T[V]==="\\"&&T[V+1]>="0"&&T[V+1]<="7"){if(V+3>=T.length||T[V+2]<"0"||T[V+2]>"7"||T[V+3]<"0"||T[V+3]>"7")return null;I.push(parseInt(T.substring(V+1,V+4),8)),V+=4}J+=new TextDecoder("utf-8").decode(new Uint8Array(I));continue}default:return null}else J+=T[V];V++}return null}function N(T){let J=/^(---|\+\+\+)\s+/.exec(q[g]);if(J){let V=J[1],I=q[g].substring(3).trim().split("\t",2),W=(I[1]||"").trim(),C=I[0];if(C.startsWith('"'))C=Q(C);else C=C.replace(/\\\\/g,"\\");if(V==="---")T.oldFileName=C,T.oldHeader=W;else T.newFileName=C,T.newHeader=W;g++}}function X(){var T;let J=g,V=q[g++],I=V.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),W={oldStart:+I[1],oldLines:typeof I[2]>"u"?1:+I[2],newStart:+I[3],newLines:typeof I[4]>"u"?1:+I[4],lines:[]};if(W.oldLines===0)W.oldStart+=1;if(W.newLines===0)W.newStart+=1;let C=0,c=0;for(;g<q.length&&(c<W.oldLines||C<W.newLines||((T=q[g])===null||T===void 0?void 0:T.startsWith("\\")));g++){let D=q[g].length==0&&g!=q.length-1?" ":q[g][0];if(D==="+"||D==="-"||D===" "||D==="\\"){if(W.lines.push(q[g]),D==="+")C++;else if(D==="-")c++;else if(D===" ")C++,c++}else throw Error(`Hunk at line ${J+1} contained invalid line ${q[g]}`)}if(!C&&W.newLines===1)W.newLines=0;if(!c&&W.oldLines===1)W.oldLines=0;if(C!==W.newLines)throw Error("Added line count did not match for hunk at line "+(J+1));if(c!==W.oldLines)throw Error("Removed line count did not match for hunk at line "+(J+1));if(g<q.length&&q[g]&&/^[+ -]/.test(q[g])&&!Z(q[g]))throw Error("Hunk at line "+(J+1)+" has more lines than expected (expected "+W.oldLines+" old lines and "+W.newLines+" new lines)");return W}while(g<q.length)M();return E}function oh(A,q,E){if(A!=="auto")return A==="sixel"&&!E?"blocks":A;let g=q?.image_protocol??"auto";if(g!=="auto")return g==="sixel"&&!E?"blocks":g;if(!q||q.multiplexer==="tmux")return"blocks";if(q.kitty_graphics)return"kitty";if(q.sixel&&E)return"sixel";return"blocks"}function UY(A){let q=A.terminalWidth??0,E=A.terminalHeight??0,g=q>0&&E>0?A.resolution:null;return g&&g.width>0&&g.height>0?g:null}function LY(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function X9(A){I_=A}function vA(A,q=""){let E=typeof A=="string"?A:A.source,g={replace:(j,a)=>{let Z=typeof a=="string"?a:a.source;return Z=Z.replace(M6.caret,"$1"),E=E.replace(j,Z),g},getRegex:()=>new RegExp(E,q)};return g}function sE(A,q){if(q){if(M6.escapeTest.test(A))return A.replace(M6.escapeReplace,eX)}else if(M6.escapeTestNoEncode.test(A))return A.replace(M6.escapeReplaceNoEncode,eX);return A}function A9(A){try{A=encodeURI(A).replace(M6.percentDecode,"%")}catch{return null}return A}function q9(A,q){let E=A.replace(M6.findPipe,(a,Z,G)=>{let M=!1,Y=Z;for(;--Y>=0&&G[Y]==="\\";)M=!M;return M?"|":" |"}),g=E.split(M6.splitPipe),j=0;if(g[0].trim()||g.shift(),g.length>0&&!g.at(-1)?.trim()&&g.pop(),q)if(g.length>q)g.splice(q);else for(;g.length<q;)g.push("");for(;j<g.length;j++)g[j]=g[j].trim().replace(M6.slashPipe,"|");return g}function pF(A,q,E){let g=A.length;if(g===0)return"";let j=0;for(;j<g;){let a=A.charAt(g-j-1);if(a===q&&!E)j++;else if(a!==q&&E)j++;else break}return A.slice(0,g-j)}function zS(A,q){if(A.indexOf(q[1])===-1)return-1;let E=0;for(let g=0;g<A.length;g++)if(A[g]==="\\")g++;else if(A[g]===q[0])E++;else if(A[g]===q[1]&&(E--,E<0))return g;return E>0?-2:-1}function E9(A,q,E,g,j){let a=q.href,Z=q.title||null,G=A[1].replace(j.other.outputLinkReplace,"$1");g.state.inLink=!0;let M={type:A[0].charAt(0)==="!"?"image":"link",raw:E,href:a,title:Z,text:G,tokens:g.inlineTokens(G)};return g.state.inLink=!1,M}function CS(A,q,E){let g=A.match(E.other.indentCodeCompensation);if(g===null)return q;let j=g[1];return q.split(`
216
+ `).map((a)=>{let Z=a.match(E.other.beginningSpace);if(Z===null)return a;let[G]=Z;return G.length>=j.length?a.slice(j.length):a}).join(`
217
+ `)}function sA(A,q){return R_.parse(A,q)}function g9(A,q,E,g){let j=A*A*g,a=E*E*q;if(Number.isSafeInteger(j)&&Number.isSafeInteger(a))return j<a?-1:j>a?1:0;let Z=BigInt(A)*BigInt(A)*BigInt(g),G=BigInt(E)*BigInt(E)*BigInt(q);return Z<G?-1:Z>G?1:0}function yS(A,q,E){let g=A.map((T)=>Math.max(E,Math.floor(T))),j=g.reduce((T,J)=>T+J,0),a=g.map((T)=>T-E),Z=Array(g.length).fill(0),G=Math.min(Math.max(0,q-E*g.length),j-E*g.length);if(G===0)return Z.map(()=>E);if(G===a.reduce((T,J)=>T+J,0))return g;let M=a.map(Math.sqrt),Y=a.map((T,J)=>({idx:J,width:T,weight:M[J]})).filter((T)=>T.width>0).sort((T,J)=>T.weight-J.weight);if(Y.length===a.length&&a.every((T)=>T===a[0])){let T=Math.floor(G/a.length),J=G%a.length;return Z.map((V,I)=>E+T+(I<J?1:0))}let Q=G,H=Y.reduce((T,J)=>T+J.weight,0);for(let T of Y){if(Q/H<=T.weight)break;Z[T.idx]=T.width,Q-=T.width,H-=T.weight}let N=Q/H;for(let T of Y){if(Z[T.idx]===T.width)continue;Z[T.idx]=Math.min(T.width,Math.floor(N*T.weight))}let X=Z.reduce((T,J)=>T+J,0);while(X>G){let T=-1;for(let J=0;J<g.length;J++){if(Z[J]===0)continue;let V=T===-1?1:g9(Z[J],a[J],Z[T],a[T]);if(V>0||V===0&&J>T)T=J}if(T===-1)break;Z[T]-=1,X-=1}while(X<G){let T=-1;for(let J=0;J<g.length;J++){if(Z[J]>=a[J])continue;if((T===-1?-1:g9(Z[J]+1,a[J],Z[T]+1,a[T]))<0)T=J}if(T===-1)break;Z[T]+=1,X+=1}return Z.map((T)=>T+E)}function mS(A,q,E=2){if(!q||q.tokens.length===0)try{let G=G6.lex(A,{gfm:!0});return{content:A,tokens:G,stableTokenCount:Math.max(0,G.length-E)}}catch{return{content:A,tokens:[],stableTokenCount:0}}let g=0,j=0;for(let G of q.tokens){let M=G.raw.length;if(g+M<=A.length&&A.startsWith(G.raw,g))j++,g+=M;else break}j=Math.max(0,j-E),g=0;for(let G=0;G<j;G++)g+=q.tokens[G].raw.length;let a=q.tokens.slice(0,j),Z=A.slice(g);if(!Z)return{content:A,tokens:a,stableTokenCount:a.length};try{let G=G6.lex(Z,{gfm:!0});return{content:A,tokens:[...a,...G],stableTokenCount:E===0?a.length+G.length:a.length}}catch{try{let G=G6.lex(A,{gfm:!0});return{content:A,tokens:G,stableTokenCount:0}}catch{return{content:A,tokens:[],stableTokenCount:0}}}}function a9(A){if(A.length>OZ)return!1;return wS.encode(A).byteLength<=OZ}function K9(A,q){if(!A||!q)return A===q;return A.equals(q)}function Z9(A){if(!A)return{};let q={};for(let E of C9){let g=A[E];if(g!==void 0)q[E]=g}return q}function U9(A){let q={...A};for(let E of C9)delete q[E];return q}function G9(A,q){let E=1;if(A)E+=1;if(q)E+=1;return E}function cS(A,q){let E=A.encodeUnicode(q);if(!E)return 0;try{return E.data.reduce((g,j)=>g+j.width,0)}finally{A.freeUnicode(E)}}function fS(A,q,E){let g="",j=0;for(let{segment:a}of kS.segment(q)){let Z=cS(A,a);if(j+Z>E)break;g+=a,j+=Z}return{text:g,width:j}}var M9,cD,fD,lD,uD,pD,dD,tD,sD,iD,nD,oD,rD,eD,Ay,TY,Fy,bg,cA,Hh=1048576,cg=5,Th=2147483647,JY=4294967295,Jh=32,OY=44,Xh,uX="Audio stream chunks must be Uint8Array instances",xA,L_,Lh=(A)=>Number.isInteger(A)&&A>=0&&A<=JY,Sh,Wh,Y9,Bh,xh,Ph,Q9,zh,Ch,dF,xj,wh,vh,bh=7,PZ,kh,ch,YY,fh,V_=67108864,H9,zZ,sX="#888888",iX="transparent",T9,CZ,XY,ZY,l6,nF,fg,nh,oF,I_,iF,rh,M6,eh,AS,qS,rF,ES,NY,L9,N9,gS,VY,_S,RY,jS,FS,DZ="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",IY,aS,V9,KS,hY,oX,ZS,US,GS,MS,R9,OS,yZ,SY,I9,YS,h9,QS,$S,HS,S9,TS,JS,W9="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",XS,LS,NS,VS,RS,IS,hS,WZ,SS,B9,x9,WS,rX,WY,BS,QY,xS,hZ,uF,PS,eX=(A)=>PS[A],BZ=class{options;rules;lexer;constructor(A){this.options=A||I_}space(A){let q=this.rules.block.newline.exec(A);if(q&&q[0].length>0)return{type:"space",raw:q[0]}}code(A){let q=this.rules.block.code.exec(A);if(q){let E=q[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:q[0],codeBlockStyle:"indented",text:this.options.pedantic?E:pF(E,`
218
+ `)}}}fences(A){let q=this.rules.block.fences.exec(A);if(q){let E=q[0],g=CS(E,q[3]||"",this.rules);return{type:"code",raw:E,lang:q[2]?q[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):q[2],text:g}}}heading(A){let q=this.rules.block.heading.exec(A);if(q){let E=q[2].trim();if(this.rules.other.endingHash.test(E)){let g=pF(E,"#");(this.options.pedantic||!g||this.rules.other.endingSpaceChar.test(g))&&(E=g.trim())}return{type:"heading",raw:q[0],depth:q[1].length,text:E,tokens:this.lexer.inline(E)}}}hr(A){let q=this.rules.block.hr.exec(A);if(q)return{type:"hr",raw:pF(q[0],`
219
+ `)}}blockquote(A){let q=this.rules.block.blockquote.exec(A);if(q){let E=pF(q[0],`
220
+ `).split(`
221
+ `),g="",j="",a=[];for(;E.length>0;){let Z=!1,G=[],M;for(M=0;M<E.length;M++)if(this.rules.other.blockquoteStart.test(E[M]))G.push(E[M]),Z=!0;else if(!Z)G.push(E[M]);else break;E=E.slice(M);let Y=G.join(`
222
+ `),Q=Y.replace(this.rules.other.blockquoteSetextReplace,`
223
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");g=g?`${g}
224
+ ${Y}`:Y,j=j?`${j}
225
+ ${Q}`:Q;let H=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(Q,a,!0),this.lexer.state.top=H,E.length===0)break;let N=a.at(-1);if(N?.type==="code")break;if(N?.type==="blockquote"){let X=N,T=X.raw+`
226
+ `+E.join(`
227
+ `),J=this.blockquote(T);a[a.length-1]=J,g=g.substring(0,g.length-X.raw.length)+J.raw,j=j.substring(0,j.length-X.text.length)+J.text;break}else if(N?.type==="list"){let X=N,T=X.raw+`
228
+ `+E.join(`
229
+ `),J=this.list(T);a[a.length-1]=J,g=g.substring(0,g.length-N.raw.length)+J.raw,j=j.substring(0,j.length-X.raw.length)+J.raw,E=T.substring(a.at(-1).raw.length).split(`
230
+ `);continue}}return{type:"blockquote",raw:g,tokens:a,text:j}}}list(A){let q=this.rules.block.list.exec(A);if(q){let E=q[1].trim(),g=E.length>1,j={type:"list",raw:"",ordered:g,start:g?+E.slice(0,-1):"",loose:!1,items:[]};E=g?`\\d{1,9}\\${E.slice(-1)}`:`\\${E}`,this.options.pedantic&&(E=g?E:"[*+-]");let a=this.rules.other.listItemRegex(E),Z=!1;for(;A;){let M=!1,Y="",Q="";if(!(q=a.exec(A))||this.rules.block.hr.test(A))break;Y=q[0],A=A.substring(Y.length);let H=q[2].split(`
231
+ `,1)[0].replace(this.rules.other.listReplaceTabs,(J)=>" ".repeat(3*J.length)),N=A.split(`
232
+ `,1)[0],X=!H.trim(),T=0;if(this.options.pedantic?(T=2,Q=H.trimStart()):X?T=q[1].length+1:(T=q[2].search(this.rules.other.nonSpaceChar),T=T>4?1:T,Q=H.slice(T),T+=q[1].length),X&&this.rules.other.blankLine.test(N)&&(Y+=N+`
233
+ `,A=A.substring(N.length+1),M=!0),!M){let J=this.rules.other.nextBulletRegex(T),V=this.rules.other.hrRegex(T),I=this.rules.other.fencesBeginRegex(T),W=this.rules.other.headingBeginRegex(T),C=this.rules.other.htmlBeginRegex(T);for(;A;){let c=A.split(`
234
+ `,1)[0],D;if(N=c,this.options.pedantic?(N=N.replace(this.rules.other.listReplaceNesting," "),D=N):D=N.replace(this.rules.other.tabCharGlobal," "),I.test(N)||W.test(N)||C.test(N)||J.test(N)||V.test(N))break;if(D.search(this.rules.other.nonSpaceChar)>=T||!N.trim())Q+=`
235
+ `+D.slice(T);else{if(X||H.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||I.test(H)||W.test(H)||V.test(H))break;Q+=`
236
+ `+N}!X&&!N.trim()&&(X=!0),Y+=c+`
237
+ `,A=A.substring(c.length+1),H=D.slice(T)}}j.loose||(Z?j.loose=!0:this.rules.other.doubleBlankLine.test(Y)&&(Z=!0)),j.items.push({type:"list_item",raw:Y,task:!!this.options.gfm&&this.rules.other.listIsTask.test(Q),loose:!1,text:Q,tokens:[]}),j.raw+=Y}let G=j.items.at(-1);if(G)G.raw=G.raw.trimEnd(),G.text=G.text.trimEnd();else return;j.raw=j.raw.trimEnd();for(let M of j.items){if(this.lexer.state.top=!1,M.tokens=this.lexer.blockTokens(M.text,[]),M.task){if(M.text=M.text.replace(this.rules.other.listReplaceTask,""),M.tokens[0]?.type==="text"||M.tokens[0]?.type==="paragraph"){M.tokens[0].raw=M.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),M.tokens[0].text=M.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let Q=this.lexer.inlineQueue.length-1;Q>=0;Q--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[Q].src)){this.lexer.inlineQueue[Q].src=this.lexer.inlineQueue[Q].src.replace(this.rules.other.listReplaceTask,"");break}}let Y=this.rules.other.listTaskCheckbox.exec(M.raw);if(Y){let Q={type:"checkbox",raw:Y[0]+" ",checked:Y[0]!=="[ ]"};M.checked=Q.checked,j.loose?M.tokens[0]&&["paragraph","text"].includes(M.tokens[0].type)&&"tokens"in M.tokens[0]&&M.tokens[0].tokens?(M.tokens[0].raw=Q.raw+M.tokens[0].raw,M.tokens[0].text=Q.raw+M.tokens[0].text,M.tokens[0].tokens.unshift(Q)):M.tokens.unshift({type:"paragraph",raw:Q.raw,text:Q.raw,tokens:[Q]}):M.tokens.unshift(Q)}}if(!j.loose){let Y=M.tokens.filter((H)=>H.type==="space"),Q=Y.length>0&&Y.some((H)=>this.rules.other.anyLine.test(H.raw));j.loose=Q}}if(j.loose)for(let M of j.items){M.loose=!0;for(let Y of M.tokens)Y.type==="text"&&(Y.type="paragraph")}return j}}html(A){let q=this.rules.block.html.exec(A);if(q)return{type:"html",block:!0,raw:q[0],pre:q[1]==="pre"||q[1]==="script"||q[1]==="style",text:q[0]}}def(A){let q=this.rules.block.def.exec(A);if(q){let E=q[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),g=q[2]?q[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",j=q[3]?q[3].substring(1,q[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):q[3];return{type:"def",tag:E,raw:q[0],href:g,title:j}}}table(A){let q=this.rules.block.table.exec(A);if(!q||!this.rules.other.tableDelimiter.test(q[2]))return;let E=q9(q[1]),g=q[2].replace(this.rules.other.tableAlignChars,"").split("|"),j=q[3]?.trim()?q[3].replace(this.rules.other.tableRowBlankLine,"").split(`
238
+ `):[],a={type:"table",raw:q[0],header:[],align:[],rows:[]};if(E.length===g.length){for(let Z of g)this.rules.other.tableAlignRight.test(Z)?a.align.push("right"):this.rules.other.tableAlignCenter.test(Z)?a.align.push("center"):this.rules.other.tableAlignLeft.test(Z)?a.align.push("left"):a.align.push(null);for(let Z=0;Z<E.length;Z++)a.header.push({text:E[Z],tokens:this.lexer.inline(E[Z]),header:!0,align:a.align[Z]});for(let Z of j)a.rows.push(q9(Z,a.header.length).map((G,M)=>({text:G,tokens:this.lexer.inline(G),header:!1,align:a.align[M]})));return a}}lheading(A){let q=this.rules.block.lheading.exec(A);if(q)return{type:"heading",raw:q[0],depth:q[2].charAt(0)==="="?1:2,text:q[1],tokens:this.lexer.inline(q[1])}}paragraph(A){let q=this.rules.block.paragraph.exec(A);if(q){let E=q[1].charAt(q[1].length-1)===`
239
+ `?q[1].slice(0,-1):q[1];return{type:"paragraph",raw:q[0],text:E,tokens:this.lexer.inline(E)}}}text(A){let q=this.rules.block.text.exec(A);if(q)return{type:"text",raw:q[0],text:q[0],tokens:this.lexer.inline(q[0])}}escape(A){let q=this.rules.inline.escape.exec(A);if(q)return{type:"escape",raw:q[0],text:q[1]}}tag(A){let q=this.rules.inline.tag.exec(A);if(q)return!this.lexer.state.inLink&&this.rules.other.startATag.test(q[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(q[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(q[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(q[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:q[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:q[0]}}link(A){let q=this.rules.inline.link.exec(A);if(q){let E=q[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(E)){if(!this.rules.other.endAngleBracket.test(E))return;let a=pF(E.slice(0,-1),"\\");if((E.length-a.length)%2===0)return}else{let a=zS(q[2],"()");if(a===-2)return;if(a>-1){let Z=(q[0].indexOf("!")===0?5:4)+q[1].length+a;q[2]=q[2].substring(0,a),q[0]=q[0].substring(0,Z).trim(),q[3]=""}}let g=q[2],j="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(g);a&&(g=a[1],j=a[3])}else j=q[3]?q[3].slice(1,-1):"";return g=g.trim(),this.rules.other.startAngleBracket.test(g)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(E)?g=g.slice(1):g=g.slice(1,-1)),E9(q,{href:g&&g.replace(this.rules.inline.anyPunctuation,"$1"),title:j&&j.replace(this.rules.inline.anyPunctuation,"$1")},q[0],this.lexer,this.rules)}}reflink(A,q){let E;if((E=this.rules.inline.reflink.exec(A))||(E=this.rules.inline.nolink.exec(A))){let g=(E[2]||E[1]).replace(this.rules.other.multipleSpaceGlobal," "),j=q[g.toLowerCase()];if(!j){let a=E[0].charAt(0);return{type:"text",raw:a,text:a}}return E9(E,j,E[0],this.lexer,this.rules)}}emStrong(A,q,E=""){let g=this.rules.inline.emStrongLDelim.exec(A);if(!g||g[3]&&E.match(this.rules.other.unicodeAlphaNumeric))return;if(!(g[1]||g[2])||!E||this.rules.inline.punctuation.exec(E)){let j=[...g[0]].length-1,a,Z,G=j,M=0,Y=g[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(Y.lastIndex=0,q=q.slice(-1*A.length+j);(g=Y.exec(q))!=null;){if(a=g[1]||g[2]||g[3]||g[4]||g[5]||g[6],!a)continue;if(Z=[...a].length,g[3]||g[4]){G+=Z;continue}else if((g[5]||g[6])&&j%3&&!((j+Z)%3)){M+=Z;continue}if(G-=Z,G>0)continue;Z=Math.min(Z,Z+G+M);let Q=[...g[0]][0].length,H=A.slice(0,j+g.index+Q+Z);if(Math.min(j,Z)%2){let X=H.slice(1,-1);return{type:"em",raw:H,text:X,tokens:this.lexer.inlineTokens(X)}}let N=H.slice(2,-2);return{type:"strong",raw:H,text:N,tokens:this.lexer.inlineTokens(N)}}}}codespan(A){let q=this.rules.inline.code.exec(A);if(q){let E=q[2].replace(this.rules.other.newLineCharGlobal," "),g=this.rules.other.nonSpaceChar.test(E),j=this.rules.other.startingSpaceChar.test(E)&&this.rules.other.endingSpaceChar.test(E);return g&&j&&(E=E.substring(1,E.length-1)),{type:"codespan",raw:q[0],text:E}}}br(A){let q=this.rules.inline.br.exec(A);if(q)return{type:"br",raw:q[0]}}del(A){let q=this.rules.inline.del.exec(A);if(q)return{type:"del",raw:q[0],text:q[2],tokens:this.lexer.inlineTokens(q[2])}}autolink(A){let q=this.rules.inline.autolink.exec(A);if(q){let E,g;return q[2]==="@"?(E=q[1],g="mailto:"+E):(E=q[1],g=E),{type:"link",raw:q[0],text:E,href:g,tokens:[{type:"text",raw:E,text:E}]}}}url(A){let q;if(q=this.rules.inline.url.exec(A)){let E,g;if(q[2]==="@")E=q[0],g="mailto:"+E;else{let j;do j=q[0],q[0]=this.rules.inline._backpedal.exec(q[0])?.[0]??"";while(j!==q[0]);E=q[0],q[1]==="www."?g="http://"+q[0]:g=q[0]}return{type:"link",raw:q[0],text:E,href:g,tokens:[{type:"text",raw:E,text:E}]}}}inlineText(A){let q=this.rules.inline.text.exec(A);if(q){let E=this.lexer.state.inRawBlock;return{type:"text",raw:q[0],text:q[0],escaped:E}}}},G6=class A{tokens;options;state;inlineQueue;tokenizer;constructor(q){this.tokens=[],this.tokens.links=Object.create(null),this.options=q||I_,this.options.tokenizer=this.options.tokenizer||new BZ,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let E={other:M6,block:hZ.normal,inline:uF.normal};this.options.pedantic?(E.block=hZ.pedantic,E.inline=uF.pedantic):this.options.gfm&&(E.block=hZ.gfm,this.options.breaks?E.inline=uF.breaks:E.inline=uF.gfm),this.tokenizer.rules=E}static get rules(){return{block:hZ,inline:uF}}static lex(q,E){return new A(E).lex(q)}static lexInline(q,E){return new A(E).inlineTokens(q)}lex(q){q=q.replace(M6.carriageReturn,`
240
+ `),this.blockTokens(q,this.tokens);for(let E=0;E<this.inlineQueue.length;E++){let g=this.inlineQueue[E];this.inlineTokens(g.src,g.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(q,E=[],g=!1){for(this.options.pedantic&&(q=q.replace(M6.tabCharGlobal," ").replace(M6.spaceLine,""));q;){let j;if(this.options.extensions?.block?.some((Z)=>(j=Z.call({lexer:this},q,E))?(q=q.substring(j.raw.length),E.push(j),!0):!1))continue;if(j=this.tokenizer.space(q)){q=q.substring(j.raw.length);let Z=E.at(-1);j.raw.length===1&&Z!==void 0?Z.raw+=`
241
+ `:E.push(j);continue}if(j=this.tokenizer.code(q)){q=q.substring(j.raw.length);let Z=E.at(-1);Z?.type==="paragraph"||Z?.type==="text"?(Z.raw+=(Z.raw.endsWith(`
242
+ `)?"":`
243
+ `)+j.raw,Z.text+=`
244
+ `+j.text,this.inlineQueue.at(-1).src=Z.text):E.push(j);continue}if(j=this.tokenizer.fences(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.heading(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.hr(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.blockquote(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.list(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.html(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.def(q)){q=q.substring(j.raw.length);let Z=E.at(-1);Z?.type==="paragraph"||Z?.type==="text"?(Z.raw+=(Z.raw.endsWith(`
245
+ `)?"":`
246
+ `)+j.raw,Z.text+=`
247
+ `+j.raw,this.inlineQueue.at(-1).src=Z.text):this.tokens.links[j.tag]||(this.tokens.links[j.tag]={href:j.href,title:j.title},E.push(j));continue}if(j=this.tokenizer.table(q)){q=q.substring(j.raw.length),E.push(j);continue}if(j=this.tokenizer.lheading(q)){q=q.substring(j.raw.length),E.push(j);continue}let a=q;if(this.options.extensions?.startBlock){let Z=1/0,G=q.slice(1),M;this.options.extensions.startBlock.forEach((Y)=>{M=Y.call({lexer:this},G),typeof M=="number"&&M>=0&&(Z=Math.min(Z,M))}),Z<1/0&&Z>=0&&(a=q.substring(0,Z+1))}if(this.state.top&&(j=this.tokenizer.paragraph(a))){let Z=E.at(-1);g&&Z?.type==="paragraph"?(Z.raw+=(Z.raw.endsWith(`
248
+ `)?"":`
249
+ `)+j.raw,Z.text+=`
250
+ `+j.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=Z.text):E.push(j),g=a.length!==q.length,q=q.substring(j.raw.length);continue}if(j=this.tokenizer.text(q)){q=q.substring(j.raw.length);let Z=E.at(-1);Z?.type==="text"?(Z.raw+=(Z.raw.endsWith(`
251
+ `)?"":`
252
+ `)+j.raw,Z.text+=`
253
+ `+j.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=Z.text):E.push(j);continue}if(q){let Z="Infinite loop on byte: "+q.charCodeAt(0);if(this.options.silent){console.error(Z);break}else throw Error(Z)}}return this.state.top=!0,E}inline(q,E=[]){return this.inlineQueue.push({src:q,tokens:E}),E}inlineTokens(q,E=[]){let g=q,j=null;if(this.tokens.links){let M=Object.keys(this.tokens.links);if(M.length>0)for(;(j=this.tokenizer.rules.inline.reflinkSearch.exec(g))!=null;)M.includes(j[0].slice(j[0].lastIndexOf("[")+1,-1))&&(g=g.slice(0,j.index)+"["+"a".repeat(j[0].length-2)+"]"+g.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(j=this.tokenizer.rules.inline.anyPunctuation.exec(g))!=null;)g=g.slice(0,j.index)+"++"+g.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(j=this.tokenizer.rules.inline.blockSkip.exec(g))!=null;)a=j[2]?j[2].length:0,g=g.slice(0,j.index+a)+"["+"a".repeat(j[0].length-a-2)+"]"+g.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);g=this.options.hooks?.emStrongMask?.call({lexer:this},g)??g;let Z=!1,G="";for(;q;){Z||(G=""),Z=!1;let M;if(this.options.extensions?.inline?.some((Q)=>(M=Q.call({lexer:this},q,E))?(q=q.substring(M.raw.length),E.push(M),!0):!1))continue;if(M=this.tokenizer.escape(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.tag(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.link(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.reflink(q,this.tokens.links)){q=q.substring(M.raw.length);let Q=E.at(-1);M.type==="text"&&Q?.type==="text"?(Q.raw+=M.raw,Q.text+=M.text):E.push(M);continue}if(M=this.tokenizer.emStrong(q,g,G)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.codespan(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.br(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.del(q)){q=q.substring(M.raw.length),E.push(M);continue}if(M=this.tokenizer.autolink(q)){q=q.substring(M.raw.length),E.push(M);continue}if(!this.state.inLink&&(M=this.tokenizer.url(q))){q=q.substring(M.raw.length),E.push(M);continue}let Y=q;if(this.options.extensions?.startInline){let Q=1/0,H=q.slice(1),N;this.options.extensions.startInline.forEach((X)=>{N=X.call({lexer:this},H),typeof N=="number"&&N>=0&&(Q=Math.min(Q,N))}),Q<1/0&&Q>=0&&(Y=q.substring(0,Q+1))}if(M=this.tokenizer.inlineText(Y)){q=q.substring(M.raw.length),M.raw.slice(-1)!=="_"&&(G=M.raw.slice(-1)),Z=!0;let Q=E.at(-1);Q?.type==="text"?(Q.raw+=M.raw,Q.text+=M.text):E.push(M);continue}if(q){let Q="Infinite loop on byte: "+q.charCodeAt(0);if(this.options.silent){console.error(Q);break}else throw Error(Q)}}return E}},xZ=class{options;parser;constructor(A){this.options=A||I_}space(A){return""}code({text:A,lang:q,escaped:E}){let g=(q||"").match(M6.notSpaceStart)?.[0],j=A.replace(M6.endingNewline,"")+`
254
+ `;return g?'<pre><code class="language-'+sE(g)+'">'+(E?j:sE(j,!0))+`</code></pre>
255
+ `:"<pre><code>"+(E?j:sE(j,!0))+`</code></pre>
256
+ `}blockquote({tokens:A}){return`<blockquote>
257
+ ${this.parser.parse(A)}</blockquote>
258
+ `}html({text:A}){return A}def(A){return""}heading({tokens:A,depth:q}){return`<h${q}>${this.parser.parseInline(A)}</h${q}>
259
+ `}hr(A){return`<hr>
260
+ `}list(A){let{ordered:q,start:E}=A,g="";for(let Z=0;Z<A.items.length;Z++){let G=A.items[Z];g+=this.listitem(G)}let j=q?"ol":"ul",a=q&&E!==1?' start="'+E+'"':"";return"<"+j+a+`>
261
+ `+g+"</"+j+`>
262
+ `}listitem(A){return`<li>${this.parser.parse(A.tokens)}</li>
263
+ `}checkbox({checked:A}){return"<input "+(A?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:A}){return`<p>${this.parser.parseInline(A)}</p>
264
+ `}table(A){let q="",E="";for(let j=0;j<A.header.length;j++)E+=this.tablecell(A.header[j]);q+=this.tablerow({text:E});let g="";for(let j=0;j<A.rows.length;j++){let a=A.rows[j];E="";for(let Z=0;Z<a.length;Z++)E+=this.tablecell(a[Z]);g+=this.tablerow({text:E})}return g&&(g=`<tbody>${g}</tbody>`),`<table>
265
+ <thead>
266
+ `+q+`</thead>
267
+ `+g+`</table>
268
+ `}tablerow({text:A}){return`<tr>
269
+ ${A}</tr>
270
+ `}tablecell(A){let q=this.parser.parseInline(A.tokens),E=A.header?"th":"td";return(A.align?`<${E} align="${A.align}">`:`<${E}>`)+q+`</${E}>
271
+ `}strong({tokens:A}){return`<strong>${this.parser.parseInline(A)}</strong>`}em({tokens:A}){return`<em>${this.parser.parseInline(A)}</em>`}codespan({text:A}){return`<code>${sE(A,!0)}</code>`}br(A){return"<br>"}del({tokens:A}){return`<del>${this.parser.parseInline(A)}</del>`}link({href:A,title:q,tokens:E}){let g=this.parser.parseInline(E),j=A9(A);if(j===null)return g;A=j;let a='<a href="'+A+'"';return q&&(a+=' title="'+sE(q)+'"'),a+=">"+g+"</a>",a}image({href:A,title:q,text:E,tokens:g}){g&&(E=this.parser.parseInline(g,this.parser.textRenderer));let j=A9(A);if(j===null)return sE(E);A=j;let a=`<img src="${A}" alt="${E}"`;return q&&(a+=` title="${sE(q)}"`),a+=">",a}text(A){return"tokens"in A&&A.tokens?this.parser.parseInline(A.tokens):("escaped"in A)&&A.escaped?A.text:sE(A.text)}},BY=class{strong({text:A}){return A}em({text:A}){return A}codespan({text:A}){return A}del({text:A}){return A}html({text:A}){return A}text({text:A}){return A}link({text:A}){return""+A}image({text:A}){return""+A}br(){return""}checkbox({raw:A}){return A}},EE=class A{options;renderer;textRenderer;constructor(q){this.options=q||I_,this.options.renderer=this.options.renderer||new xZ,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new BY}static parse(q,E){return new A(E).parse(q)}static parseInline(q,E){return new A(E).parseInline(q)}parse(q){let E="";for(let g=0;g<q.length;g++){let j=q[g];if(this.options.extensions?.renderers?.[j.type]){let Z=j,G=this.options.extensions.renderers[Z.type].call({parser:this},Z);if(G!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(Z.type)){E+=G||"";continue}}let a=j;switch(a.type){case"space":{E+=this.renderer.space(a);break}case"hr":{E+=this.renderer.hr(a);break}case"heading":{E+=this.renderer.heading(a);break}case"code":{E+=this.renderer.code(a);break}case"table":{E+=this.renderer.table(a);break}case"blockquote":{E+=this.renderer.blockquote(a);break}case"list":{E+=this.renderer.list(a);break}case"checkbox":{E+=this.renderer.checkbox(a);break}case"html":{E+=this.renderer.html(a);break}case"def":{E+=this.renderer.def(a);break}case"paragraph":{E+=this.renderer.paragraph(a);break}case"text":{E+=this.renderer.text(a);break}default:{let Z='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(Z),"";throw Error(Z)}}}return E}parseInline(q,E=this.renderer){let g="";for(let j=0;j<q.length;j++){let a=q[j];if(this.options.extensions?.renderers?.[a.type]){let G=this.options.extensions.renderers[a.type].call({parser:this},a);if(G!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){g+=G||"";continue}}let Z=a;switch(Z.type){case"escape":{g+=E.text(Z);break}case"html":{g+=E.html(Z);break}case"link":{g+=E.link(Z);break}case"image":{g+=E.image(Z);break}case"checkbox":{g+=E.checkbox(Z);break}case"strong":{g+=E.strong(Z);break}case"em":{g+=E.em(Z);break}case"codespan":{g+=E.codespan(Z);break}case"br":{g+=E.br(Z);break}case"del":{g+=E.del(Z);break}case"text":{g+=E.text(Z);break}default:{let G='Token with "'+Z.type+'" type was not found.';if(this.options.silent)return console.error(G),"";throw Error(G)}}}return g}},tF,DS=class{defaults=LY();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=EE;Renderer=xZ;TextRenderer=BY;Lexer=G6;Tokenizer=BZ;Hooks=tF;constructor(...A){this.use(...A)}walkTokens(A,q){let E=[];for(let g of A)switch(E=E.concat(q.call(this,g)),g.type){case"table":{let j=g;for(let a of j.header)E=E.concat(this.walkTokens(a.tokens,q));for(let a of j.rows)for(let Z of a)E=E.concat(this.walkTokens(Z.tokens,q));break}case"list":{let j=g;E=E.concat(this.walkTokens(j.items,q));break}default:{let j=g;this.defaults.extensions?.childTokens?.[j.type]?this.defaults.extensions.childTokens[j.type].forEach((a)=>{let Z=j[a].flat(1/0);E=E.concat(this.walkTokens(Z,q))}):j.tokens&&(E=E.concat(this.walkTokens(j.tokens,q)))}}return E}use(...A){let q=this.defaults.extensions||{renderers:{},childTokens:{}};return A.forEach((E)=>{let g={...E};if(g.async=this.defaults.async||g.async||!1,E.extensions&&(E.extensions.forEach((j)=>{if(!j.name)throw Error("extension name required");if("renderer"in j){let a=q.renderers[j.name];a?q.renderers[j.name]=function(...Z){let G=j.renderer.apply(this,Z);return G===!1&&(G=a.apply(this,Z)),G}:q.renderers[j.name]=j.renderer}if("tokenizer"in j){if(!j.level||j.level!=="block"&&j.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let a=q[j.level];a?a.unshift(j.tokenizer):q[j.level]=[j.tokenizer],j.start&&(j.level==="block"?q.startBlock?q.startBlock.push(j.start):q.startBlock=[j.start]:j.level==="inline"&&(q.startInline?q.startInline.push(j.start):q.startInline=[j.start]))}"childTokens"in j&&j.childTokens&&(q.childTokens[j.name]=j.childTokens)}),g.extensions=q),E.renderer){let j=this.defaults.renderer||new xZ(this.defaults);for(let a in E.renderer){if(!(a in j))throw Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let Z=a,G=E.renderer[Z],M=j[Z];j[Z]=(...Y)=>{let Q=G.apply(j,Y);return Q===!1&&(Q=M.apply(j,Y)),Q||""}}g.renderer=j}if(E.tokenizer){let j=this.defaults.tokenizer||new BZ(this.defaults);for(let a in E.tokenizer){if(!(a in j))throw Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let Z=a,G=E.tokenizer[Z],M=j[Z];j[Z]=(...Y)=>{let Q=G.apply(j,Y);return Q===!1&&(Q=M.apply(j,Y)),Q}}g.tokenizer=j}if(E.hooks){let j=this.defaults.hooks||new tF;for(let a in E.hooks){if(!(a in j))throw Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let Z=a,G=E.hooks[Z],M=j[Z];tF.passThroughHooks.has(a)?j[Z]=(Y)=>{if(this.defaults.async&&tF.passThroughHooksRespectAsync.has(a))return(async()=>{let H=await G.call(j,Y);return M.call(j,H)})();let Q=G.call(j,Y);return M.call(j,Q)}:j[Z]=(...Y)=>{if(this.defaults.async)return(async()=>{let H=await G.apply(j,Y);return H===!1&&(H=await M.apply(j,Y)),H})();let Q=G.apply(j,Y);return Q===!1&&(Q=M.apply(j,Y)),Q}}g.hooks=j}if(E.walkTokens){let j=this.defaults.walkTokens,a=E.walkTokens;g.walkTokens=function(Z){let G=[];return G.push(a.call(this,Z)),j&&(G=G.concat(j.call(this,Z))),G}}this.defaults={...this.defaults,...g}}),this}setOptions(A){return this.defaults={...this.defaults,...A},this}lexer(A,q){return G6.lex(A,q??this.defaults)}parser(A,q){return EE.parse(A,q??this.defaults)}parseMarkdown(A){return(q,E)=>{let g={...E},j={...this.defaults,...g},a=this.onError(!!j.silent,!!j.async);if(this.defaults.async===!0&&g.async===!1)return a(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof q>"u"||q===null)return a(Error("marked(): input parameter is undefined or null"));if(typeof q!="string")return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(q)+", string expected"));if(j.hooks&&(j.hooks.options=j,j.hooks.block=A),j.async)return(async()=>{let Z=j.hooks?await j.hooks.preprocess(q):q,G=await(j.hooks?await j.hooks.provideLexer():A?G6.lex:G6.lexInline)(Z,j),M=j.hooks?await j.hooks.processAllTokens(G):G;j.walkTokens&&await Promise.all(this.walkTokens(M,j.walkTokens));let Y=await(j.hooks?await j.hooks.provideParser():A?EE.parse:EE.parseInline)(M,j);return j.hooks?await j.hooks.postprocess(Y):Y})().catch(a);try{j.hooks&&(q=j.hooks.preprocess(q));let Z=(j.hooks?j.hooks.provideLexer():A?G6.lex:G6.lexInline)(q,j);j.hooks&&(Z=j.hooks.processAllTokens(Z)),j.walkTokens&&this.walkTokens(Z,j.walkTokens);let G=(j.hooks?j.hooks.provideParser():A?EE.parse:EE.parseInline)(Z,j);return j.hooks&&(G=j.hooks.postprocess(G)),G}catch(Z){return a(Z)}}}onError(A,q){return(E)=>{if(E.message+=`
272
+ Please report this to https://github.com/markedjs/marked.`,A){let g="<p>An error occurred:</p><pre>"+sE(E.message+"",!0)+"</pre>";return q?Promise.resolve(g):g}if(q)return Promise.reject(E);throw E}}},R_,Ky,Zy,Uy,Gy,My,Oy,Yy,_9=1e4,vg,j9,F9,wS,N_,vS,bS,P9,$Y,HY,z9,C9,mZ,GY,wZ,Pj,MY,vZ,zj,kS,xY;var fq=zA(async()=>{await DE([fO(),fX()]);M9=class M9{_strength;precomputedAttenuationCellMask=null;precomputedAttenuation=null;cachedWidth=-1;cachedHeight=-1;static zeroMatrix=new Float32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);constructor(A=0.5){this._strength=A}set strength(A){this._strength=Math.max(0,A),this.cachedWidth=-1,this.cachedHeight=-1,this.precomputedAttenuationCellMask=null,this.precomputedAttenuation=null}get strength(){return this._strength}_computeFactors(A,q){this.precomputedAttenuationCellMask=new Float32Array(A*q*3),this.precomputedAttenuation=new Float32Array(A*q);let E=A/2,g=q/2,j=E*E+g*g,a=j===0?1:j,Z=this._strength,G=0;for(let M=0;M<q;M++){let Y=M-g,Q=Y*Y;for(let H=0;H<A;H++){let N=H-E,X=N*N+Q,J=Math.min(1,X/a)*Z;this.precomputedAttenuationCellMask[G++]=H,this.precomputedAttenuationCellMask[G++]=M,this.precomputedAttenuationCellMask[G++]=J,this.precomputedAttenuation[M*A+H]=J}}this.cachedWidth=A,this.cachedHeight=q}_preserveGraphemeRuns(A){let q=this.precomputedAttenuation,E=this.precomputedAttenuationCellMask,g=A.buffers.char,j=A.width;for(let a=0;a<A.height;a++){let Z=0;while(Z<j){let G=a*j+Z;if(!lX(g[G])){E[G*3+2]=q[G],Z++;continue}let M=Z;while(Z<j&&lX(g[a*j+Z]))Z++;let Y=q[a*j+M+Math.floor((Z-M)/2)];for(let Q=M;Q<Z;Q++)E[(a*j+Q)*3+2]=Y}}}apply(A){let{width:q,height:E}=A;if(q!==this.cachedWidth||E!==this.cachedHeight||!this.precomputedAttenuationCellMask)this._computeFactors(q,E);this._preserveGraphemeRuns(A),A.colorMatrix(M9.zeroMatrix,this.precomputedAttenuationCellMask,1,3)}};cD=new Float32Array([0.393,0.769,0.189,0,0.349,0.686,0.168,0,0.272,0.534,0.131,0,0,0,0,1]),fD=new Float32Array([0.567,0.433,0,0,0.558,0.442,0,0,0,0.242,0.758,0,0,0,0,1]),lD=new Float32Array([0.625,0.375,0,0,0.7,0.3,0,0,0,0.3,0.7,0,0,0,0,1]),uD=new Float32Array([0.95,0.05,0,0,0,0.433,0.567,0,0,0.475,0.525,0,0,0,0,1]),pD=new Float32Array([0.299,0.587,0.114,0,0.299,0.587,0.114,0,0.299,0.587,0.114,0,0,0,0,1]),dD=new Float32Array([1,0.2,0,0,0,0.9,0.1,0,0,0.1,0.9,0,0,0,0,1]),tD=new Float32Array([0.9,0.1,0,0,0.2,0.8,0,0,0,0,1,0,0,0,0,1]),sD=new Float32Array([1,0,0,0,0,0.9,0.1,0,0.1,0,0.9,0,0,0,0,1]),iD=new Float32Array([1.5,-0.2,-0.3,0,-0.3,1.4,-0.1,0,-0.2,-0.2,1.4,0,0,0,0,1]),nD=new Float32Array([-0.5,0.5,0.5,0,0.5,-0.5,0.5,0,0.5,0.5,-0.5,0,0,0,0,1]),oD=new Float32Array([1,0,0.25,0,0.1,0.1,0.1,0,0.25,0,1,0,0,0,0,1]),rD=new Float32Array([0,0,0,0,0.299,0.587,0.114,0,0,0,0,0,0,0,0,1]),eD=new Float32Array([0.299,0.587,0.114,0,0.299,0.587,0.114,0,0.299,0.587,0.114,0,0,0,0,1]),Ay=new Float32Array([-1,0,0,1,0,-1,0,1,0,0,-1,1,0,0,0,1]);TY=new O9,Fy=Object.freeze(Object.create(null));bg=class bg extends Error{context;constructor(A,q,E){super(A);if(this.name="AudioCaptureStreamError",this.context=q,E!==void 0)this.cause=E}};cA=class cA extends Error{context;constructor(A,q,E){super(A);if(this.name="AudioRecorderError",this.context=q,E!==void 0)this.cause=E}};Xh=BigInt(JY-36);xA=class xA extends Error{context;constructor(A,q,E){super(A);if(this.name="AudioStreamError",this.context=q,E!==void 0)this.cause=E}};L_=class L_ extends xA{retryable;retryAfterMs;constructor(A,q,E,g,j){super(A,q,j);this.retryable=E,this.retryAfterMs=g}};Y9=class Y9 extends kg{closed;format;lib;engine;connector;demuxerFactory;readAction;options;removeFromOwner;lifecycleController=new AbortController;nativeStreamId=null;nativeStats=null;readyGeneration=0;activeAttempt=null;pendingCleanup=null;reconnectAttempts=0;consecutiveReconnectAttempts=0;disposed=!1;exposed=!1;terminalError=null;metadata=null;pendingMetadataEvent=!1;metadataEventScheduled=!1;terminalEventScheduled=!1;setupResolve;setupReject;closedResolve;setupPromise;overallAbortListener=()=>this.dispose();static{Sh=(A)=>new Y9(A),Wh=(A)=>A.open()}constructor(A){super();this.lib=A.lib,this.engine=A.engine,this.connector=A.connector,this.demuxerFactory=A.demuxer,this.readAction=A.readAction,this.options=Vh(A.options),this.format=this.options.format,this.removeFromOwner=A.removeFromOwner,this.setupPromise=new Promise((q,E)=>(this.setupResolve=q,this.setupReject=E)),this.closed=new Promise((q)=>this.closedResolve=q),this.options.signal?.addEventListener("abort",this.overallAbortListener,{once:!0})}get state(){if(this.disposed)return"disposed";if(this.terminalError!=null)return"errored";return this.nativeStats==null?"initializing":NO[this.nativeStats.state]??"errored"}async open(){if(this.options.signal?.aborted)this.dispose();else this.runLifecycle();if(await this.setupPromise,this.lifecycleController.signal.aborted&&this.state!=="ended")throw this.terminalError??$E();if(this.exposed=!0,this.pendingMetadataEvent&&this.metadata!=null)this.emitMetadata();if(this.pendingMetadataEvent=!1,this.state==="ended")this.emitTerminal("ended")}getStats(){let A=this.readNativeStats();if(!this.lifecycleController.signal.aborted&&this.nativeStreamId!=null){let q=this.snapshotError(A),E=A?.state===Vj.Ended&&!this.options.reconnect?.retryOnEnd;if(q!=null||E)queueMicrotask(()=>{if(this.lifecycleController.signal.aborted)return;let g=q==null||q.context.action==="decoder"?Rq.PreserveNativeTerminal:Rq.TransportError;this.finish(g,q??void 0)})}return this.toPublicStats()}getMetadata(){return this.metadata}setVolume(A){return this.control("setVolume",(q)=>this.lib.audioSetStreamVolume(this.engine,q,A))}setPan(A){return this.control("setPan",(q)=>this.lib.audioSetStreamPan(this.engine,q,A))}setGroup(A){if(!Lh(A)){let q={action:"setGroup"};if(this.exposed)this.emitAsync("error",new xA("Invalid audio stream group",q),q);return!1}return this.control("setGroup",(q)=>this.lib.audioSetStreamGroup(this.engine,q,A))}control(A,q){let E=this.nativeStreamId;if(this.disposed||this.lifecycleController.signal.aborted||E==null)return!1;let g=q(E);if(g!==0){let j={action:A,status:g};if(this.exposed)this.emitAsync("error",new xA(`Audio stream ${A} failed: ${g}`,j),j);return!1}return!0}dispose(){let A=this.exposed;if(!this.disposed)this.disposed=!0,this.lifecycleController.abort(),this.setupReject($E());let q=this.stopSource(),E=this.closeNativeStream(Rq.Disposed);if(E!==0)throw new xA(`Audio stream destroy failed: ${E}`,{action:"destroy",status:E});this.removeOwner(),q.finally(()=>{if(A&&!this.terminalEventScheduled)this.emitTerminal("disposed");else if(!this.terminalEventScheduled)this.closedResolve()})}async runLifecycle(){while(!this.lifecycleController.signal.aborted){let A={controller:new AbortController,writeBatches:0,body:null,closeConnection:null,reader:null,iterator:null,demuxer:null,demuxerFinished:!1,sourceReleased:!1,sourceAcquisitionAttempted:!1,connectionClosed:!1,demuxerAborted:!1,resourceAcquisition:null,cleanupPromise:null};this.activeAttempt=A;let q;try{let G,M=this.beginResourceAcquisition(A);try{G=await this.connector.connect({signal:A.controller.signal,attempt:this.consecutiveReconnectAttempts})}finally{M()}q=this.resolveConnection(G,A)}catch(G){let M=this.isAttemptActive(A);if(await this.stopSource(A),!M)return;let Y={action:this.readAction,attempt:this.consecutiveReconnectAttempts},Q=G instanceof xA?G:new xA(G instanceof Error?G.message:"Audio stream connection failed",Y,G);if(await this.retry(Q,A,"connect"))continue;return}if(!this.isAttemptActive(A)){await this.stopSource(A);return}if(!aY(q.body)&&!pX(q.body)){await this.stopSource(A);let G={action:"source"};await this.finish(Rq.TransportError,new xA("Audio stream connection body must be a ReadableStream or AsyncIterable",G));return}if(!this.isAttemptActive(A)){await this.stopSource(A);return}let E=null,g=!1,j,a=this.beginResourceAcquisition(A);try{A.demuxer=this.demuxerFactory?.(q.info)??null,E=A.demuxer?.initialMetadata??null}catch(G){g=!0,j=G}finally{a()}if(g){await this.stopSource(A);let G=j instanceof xA?j:new xA(j instanceof Error?j.message:"Audio stream demuxer creation failed",{action:"demuxer"},j);await this.finish(Rq.TransportError,G);return}if(!this.isAttemptActive(A)){await this.stopSource(A);return}this.publishMetadata(E,A);try{this.createNativeStream()}catch(G){await this.stopSource(A);let M=G instanceof xA?G:new xA("Audio stream create failed",{action:"create"},G);await this.finish(Rq.TransportError,M);return}try{if(!await this.consumeSource(q,A))return}catch(G){if(this.lifecycleController.signal.aborted)return;let M=G instanceof xA?G:G instanceof TypeError&&G.message===uX?G:new xA("Audio stream source failed",{action:"source"},G);if(M instanceof L_){if(await this.retry(M,A,"read"))continue;return}let Y=M instanceof xA?M.context:{action:"source"};await this.finish(Rq.TransportError,M,Y);return}if(!this.options.reconnect?.retryOnEnd){await this.finish(Rq.PreserveNativeTerminal);return}let Z=new xA("Audio stream source ended",{action:"source"});if(await this.retry(Z,A,void 0,!0))continue;return}}createNativeStream(){if(this.nativeStreamId!=null)return;let A=this.lib.audioCreateStream(this.engine,this.options.native);if(A.status!==0||A.streamId==null){let q={action:"create",status:A.status};throw new xA(`Audio stream create failed: ${A.status}`,q)}this.nativeStreamId=A.streamId}async consumeSource(A,q){let E=this.readyGeneration;if(await this.pollNativeSnapshot(q)==null||!this.isAttemptActive(q))return!1;let g=this.awaitReady(q,E);try{await this.pumpSource(A,q)}catch(a){if(this.observeReady(this.readNativeStats(),E),await this.stopSource(q),await g,!this.lifecycleController.signal.aborted)throw a;return!1}if(this.lifecycleController.signal.aborted)return!1;let j=this.lib.audioEndStream(this.engine,this.nativeStreamId);if(j!==0){let a=this.snapshotError(this.readNativeStats());if(a?.context.action==="decoder")throw a;let Z={action:"end",status:j};throw new xA(`Audio stream end failed: ${j}`,Z)}if(!await g||this.lifecycleController.signal.aborted)return!1;if(!await this.awaitEnded(q))return!1;return await this.stopSource(q),!this.lifecycleController.signal.aborted}async pumpSource(A,q){let E=A.body;if(!this.isAttemptActive(q)){await this.runBoundedAttemptCleanup(q);return}let g=()=>{if(q.sourceReleased)return;if(q.reader==null){q.sourceReleased=!0;return}try{q.reader.releaseLock(),q.sourceReleased=!0}catch{}},j=()=>q.reader==null?q.iterator.next():q.reader.read();q.sourceAcquisitionAttempted=!0;let a=this.beginResourceAcquisition(q);try{q.reader=aY(E)?E.getReader():null,q.iterator=q.reader==null?E[Symbol.asyncIterator]():null}catch(Z){let G={action:this.readAction};throw new L_("Audio stream source failed",G,!0,void 0,Z)}finally{a()}if(!this.isAttemptActive(q)){await this.runBoundedAttemptCleanup(q);return}while(this.isAttemptActive(q)){let Z;try{Z=await j()}catch(M){let Y={action:this.readAction};throw new L_("Audio stream source failed",Y,!0,void 0,M)}if(!this.isAttemptActive(q))return;if(Z.done){if(g(),q.demuxer!=null)try{await this.processDemuxOutput(q.demuxer.flush(),q)}catch(M){if(M instanceof xA)throw M;let Y={action:this.readAction};throw new L_(M instanceof Error?M.message:"Audio stream demuxer flush failed",Y,!0,void 0,M)}q.demuxerFinished=!0,await this.runBoundedAttemptCleanup(q);return}let G=Z.value;if(!dX(G))throw TypeError(uX);if(G.byteLength===0){await sF(0,q.controller.signal);continue}if(q.demuxer==null){await this.writeStreamChunk(G,q);continue}try{await this.processDemuxOutput(q.demuxer.push(G),q)}catch(M){if(M instanceof xA)throw M;throw new xA(M instanceof Error?M.message:"Audio stream demuxer failed",{action:"demuxer"},M)}}}async processDemuxOutput(A,q){for(let E of A){if(!this.isAttemptActive(q))return;if(E.type==="audio"){if(!dX(E.data))throw new xA("Audio stream demuxer audio output must be a Uint8Array",{action:"demuxer"});await this.writeStreamChunk(E.data,q)}else if(E.type==="metadata")this.publishMetadata(E.metadata,q);else throw new xA("Audio stream demuxer returned an invalid output",{action:"demuxer"})}}async writeStreamChunk(A,q){if(Object.prototype.toString.call(A.buffer)==="[object SharedArrayBuffer]")throw new xA("Audio stream chunks must have non-shared backing memory",{action:"write"});let E=0;while(E<A.byteLength&&this.isAttemptActive(q)){let g=this.nativeStreamId;if(g==null)return;let j;try{j=this.lib.audioWriteStream(this.engine,g,A.subarray(E))}catch(a){throw new xA("Audio stream write failed",{action:"write"},a)}if(j<0){let a={action:"write",status:j};throw new xA(`Audio stream write failed: ${j}`,a)}if(E+=j,j===0||++q.writeBatches>=32){if(q.writeBatches=0,await this.pollNativeSnapshot(q)==null)return;await sF(j===0?cg:0,q.controller.signal)}}}resolveConnection(A,q){let E=this.beginResourceAcquisition(q);try{let g=A.close;if(g!==void 0&&typeof g!=="function")throw TypeError("Audio stream connection close must be a function");q.closeConnection=g==null?null:()=>g.call(A);let{info:j,body:a}=A;return q.body=a,{body:a,info:j}}finally{E()}}beginResourceAcquisition(A){let q,E=new Promise((g)=>{q=g});return A.resourceAcquisition=E,()=>{if(A.resourceAcquisition===E)A.resourceAcquisition=null;q()}}cleanupAttempt(A){if(A.cleanupPromise!=null)return A.cleanupPromise;let q,E,g=new Promise((a,Z)=>{q=a,E=Z});A.cleanupPromise=g,this.performAttemptCleanup(A).then(q,E);let j=()=>{if(A.cleanupPromise===g)A.cleanupPromise=null};return g.then(j,j),g}async performAttemptCleanup(A){if(A.resourceAcquisition!=null)await A.resourceAcquisition;let q=[],E=$E();if(!A.demuxerFinished&&!A.demuxerAborted&&A.demuxer!=null){A.demuxerAborted=!0;try{A.demuxer.abort?.(E)}catch{}}if(!A.sourceReleased){if(A.reader!=null){A.sourceReleased=!0;try{let g=A.reader.cancel(E);try{A.reader.releaseLock()}catch{}q.push(g)}catch{}}else if(A.iterator!=null){A.sourceReleased=!0;try{q.push(Promise.resolve(A.iterator.return?.()))}catch{}}else if(A.body!=null&&!A.sourceAcquisitionAttempted){A.sourceReleased=!0;try{if(aY(A.body))q.push(A.body.cancel(E));else if(pX(A.body))A.iterator=A.body[Symbol.asyncIterator](),q.push(Promise.resolve(A.iterator.return?.()))}catch{}}}if(!A.connectionClosed&&A.closeConnection!=null){A.connectionClosed=!0;try{q.push(Promise.resolve(A.closeConnection()))}catch{}}await Promise.allSettled(q)}runBoundedAttemptCleanup(A){if(this.pendingCleanup!=null)return this.pendingCleanup;let q,E,g=new Promise((Z,G)=>{q=Z,E=G});this.pendingCleanup=g,Rh(()=>this.cleanupAttempt(A)).then(q,E);let a=()=>{if(this.pendingCleanup===g)this.pendingCleanup=null};return g.then(a,a),g}async retry(A,q,E,g=!1){if(this.lifecycleController.signal.aborted)return!1;let j=this.options.reconnect,a=E==null||!(A instanceof L_)||A.retryable;if(j==null||this.consecutiveReconnectAttempts>=j.maxRetries){if(g)await this.finish(Rq.PreserveNativeTerminal);else await this.finish(Rq.TransportError,A);return!1}let Z=A instanceof L_?A.retryAfterMs:void 0;if(E!=null&&j.retry!=null){let M;try{if(M=j.retry(A,{attempt:this.consecutiveReconnectAttempts+1,maxRetries:j.maxRetries,phase:E}),M!==!1&&(M==null||typeof M!=="object"))throw TypeError("Audio stream retry policy must return false or a retry decision")}catch(Q){return await this.finish(Rq.TransportError,new xA("Audio stream retry policy failed",{action:"source"},Q)),!1}if(M===!1)return await this.finish(Rq.TransportError,A),!1;if(this.lifecycleController.signal.aborted)return!1;let Y;try{Y=M.delayMs}catch(Q){return await this.finish(Rq.TransportError,new xA("Audio stream retry policy failed",{action:"source"},Q)),!1}if(Y!==void 0&&(!Number.isFinite(Y)||!Number.isInteger(Y)||Y<0))return await this.finish(Rq.TransportError,new xA("Audio stream retry delay must be a finite non-negative integer",{action:"source"})),!1;if(Y!==void 0)Z=Math.min(j.maxDelayMs,Y)}else if(!a)return await this.finish(Rq.TransportError,A),!1;if(Z!==void 0)Z=Math.min(j.maxDelayMs,Z);if(await this.cleanupAttempt(q),this.lifecycleController.signal.aborted)return!1;if(this.nativeStreamId!=null){let M=this.readNativeStats(),Y=this.snapshotError(M);if(Y!=null){let H=Y.context.action==="decoder"?Rq.PreserveNativeTerminal:Rq.TransportError;return await this.finish(H,Y),!1}if(M!=null)this.readyGeneration=M.readyGeneration;let Q=this.lib.audioRestartStream(this.engine,this.nativeStreamId);if(Q!==0){let H={action:"restart",status:Q};return await this.finish(Rq.TransportError,new xA("Audio stream restart failed during reconnect",H)),!1}this.readNativeStats()}this.reconnectAttempts+=1,this.consecutiveReconnectAttempts+=1;let G=Z??Math.min(j.maxDelayMs,j.initialDelayMs*j.backoffFactor**(this.consecutiveReconnectAttempts-1));if(this.exposed)this.emitAsync("reconnecting",{attempt:this.consecutiveReconnectAttempts,delayMs:G,maxRetries:j.maxRetries,error:A});return sF(G,this.lifecycleController.signal).then(()=>!0).catch(()=>!1)}async awaitReady(A,q){while(this.isAttemptActive(A)){let E=await this.pollNativeSnapshot(A);if(E==null)return!1;if(this.observeReady(E,q))return!0;if(!await SZ(A.controller.signal))return!1}return!1}observeReady(A,q){if(A==null||A.readyGeneration===q)return!1;return this.readyGeneration=A.readyGeneration,this.consecutiveReconnectAttempts=0,this.setupResolve(),!0}async awaitEnded(A){while(this.isAttemptActive(A)){let q=await this.pollNativeSnapshot(A);if(q==null)return!1;if(q.state===Vj.Ended)return!0;if(!await SZ(A.controller.signal))return!1}return!1}async pollNativeSnapshot(A){if(!this.isAttemptActive(A))return null;let q=this.readNativeStats(),E=this.snapshotError(q);if(E!=null){let g=E.context.action==="decoder"?Rq.PreserveNativeTerminal:Rq.TransportError;return await this.finish(g,E),null}return q}snapshotError(A){if(A==null)return new xA("Audio stream stats failed",{action:"stats"});if(NO[A.state]==null)return new xA(`Unknown native audio stream state: ${A.state}`,{action:"stats"});if(A.state!==Vj.Failed&&A.state!==Vj.Cancelled)return null;let q={action:"decoder",errorCode:A.errorCode};return new xA(A.state===Vj.Failed?`Audio stream decoder failed: ${A.errorCode}`:"Audio stream was cancelled by the decoder",q)}async finish(A,q,E){if(this.lifecycleController.signal.aborted)return;if(q instanceof xA)E=q.context;this.lifecycleController.abort(),this.terminalError=q??null;let g=this.stopSource(),j=this.closeNativeStream(A);if(q==null&&j!==0)E={action:"destroy",status:j},q=new xA("Audio stream destroy failed after end",E),this.terminalError=q;if(await g,q!=null)this.setupReject(q);else this.setupResolve();if(j===0)this.removeOwner();if(!this.disposed&&this.exposed)if(q!=null)this.emitTerminal("error",q,E);else this.emitTerminal("ended");else if(q!=null&&!this.disposed)this.closedResolve()}publishMetadata(A,q){if(!this.isAttemptActive(q)||Object.is(this.metadata,A))return;if(this.metadata=A,!this.exposed){this.pendingMetadataEvent=!0;return}this.emitMetadata()}emitMetadata(){if(this.metadataEventScheduled)return;this.metadataEventScheduled=!0,setTimeout(()=>{if(this.metadataEventScheduled=!1,!this.disposed)kg.prototype.emit.call(this,"metadata",this.metadata)},0)}emitAsync(A,...q){setTimeout(()=>kg.prototype.emit.call(this,A,...q),0)}emitTerminal(A,...q){if(this.terminalEventScheduled)return;this.terminalEventScheduled=!0,setTimeout(()=>{try{kg.prototype.emit.call(this,A,...q)}finally{this.closedResolve()}},0)}isAttemptActive(A){return!this.lifecycleController.signal.aborted&&this.activeAttempt===A}stopSource(A=this.activeAttempt){if(A==null)return this.pendingCleanup??Promise.resolve();if(this.activeAttempt===A)this.activeAttempt=null;return A.controller.abort(),this.runBoundedAttemptCleanup(A)}closeNativeStream(A){let q=this.nativeStreamId;if(q==null)return 0;let E=this.lib.audioCloseStream(this.engine,q,A);if(E.status!==0||E.stats==null)return E.status===0?-1:E.status;return this.nativeStats=E.stats,this.nativeStreamId=null,0}readNativeStats(){if(this.nativeStreamId==null)return this.nativeStats;let A=this.lib.audioGetStreamStats(this.engine,this.nativeStreamId);if(A!=null)this.nativeStats=A;return A}toPublicStats(){let A=this.nativeStats,q=A?.sampleRate??0,E=A?.bufferedFrames??0;return{state:this.state,sampleRate:q,channels:A?.channels??0,bufferedFrames:E,capacityFrames:A?.capacityFrames??0,bufferedDurationMs:q===0?0:E*1000/q,bytesReceived:A?.bytesReceived??0n,framesDecoded:A?.framesDecoded??0n,framesPlayed:A?.framesPlayed??0n,underruns:A?.underruns??0,reconnectAttempts:this.reconnectAttempts}}removeOwner(){this.options.signal?.removeEventListener("abort",this.overallAbortListener),this.removeFromOwner()}};Q9=class Q9 extends kg{readable;sampleRate;channels;chunkFrames;closed;init;lifecycleController=new AbortController;streamController=null;nativeStats;currentState="initializing";pendingFrames=0;pendingSamples;producerStopAttempted=!1;producerStopped=!1;producerMayBeRunning=!1;ownerRemoved=!1;exposed=!1;terminal=!1;discardRequested=!1;discardDecisionScheduled=!1;pumpPromise=null;producerCleanupPromise=null;lastCleanupFailure=null;terminalCompletionPromise=null;closedResolve;signalAbortListener=()=>this.dispose();static{Bh=(A)=>new Q9(A),xh=(A)=>A.open(),Ph=(A)=>A.refreshFinalStats()}constructor(A){super();this.init=A,this.sampleRate=A.options.sampleRate,this.channels=A.options.channels,this.chunkFrames=A.options.chunkFrames,this.pendingSamples=new Float32Array(this.chunkFrames*this.channels),this.nativeStats={sampleRate:this.sampleRate,channels:this.channels,capacityFrames:A.options.capacityFrames,bufferedFrames:0,framesReceived:0n,framesRead:0n,framesDropped:0n},this.closed=new Promise((q)=>this.closedResolve=q),this.readable=new ReadableStream({start:(q)=>{this.streamController=q},pull:()=>this.pull(),cancel:()=>this.disposeInternal(!0)},{highWaterMark:0}),this.init.options.signal?.addEventListener("abort",this.signalAbortListener,{once:!0})}get state(){return this.currentState}async open(){if(this.init.options.signal?.aborted)throw await this.disposeInternal(!1),$E();let A;this.producerMayBeRunning=!0;try{A=this.init.start()}catch(E){throw this.currentState="errored",await this.cleanupProducer(),this.closedResolve(),new bg("Audio capture stream start failed",{action:"start"},E)}if(A.status!==0)throw this.producerMayBeRunning=!1,this.currentState="errored",this.removeOwner(),this.closedResolve(),this.operationError("start",A);if(this.terminal||this.init.options.signal?.aborted)throw await(this.terminalCompletionPromise??this.disposeInternal(!1)),$E();let q;try{q=this.init.stats()}catch(E){q={status:-1,stats:null,cause:E}}if(q.status!==0||q.stats==null)throw this.currentState="errored",await this.cleanupProducer(),this.closedResolve(),this.operationError("stats",q);if(this.nativeStats=q.stats,this.terminal||this.init.options.signal?.aborted)throw await(this.terminalCompletionPromise??this.disposeInternal(!1)),$E();this.currentState="capturing",this.exposed=!0}getStats(){if(!this.terminal){if(this.refreshStats()!=null&&!this.observeProducer())this.scheduleDiscardIfIdle()}return this.publicStats()}stop(){if(this.terminal||this.currentState==="stopping")return;this.currentState="stopping";let A=this.stopProducer();if(A!=null&&A.status!==0)this.fail(this.operationError("stop",A));else this.scheduleDiscardIfIdle()}dispose(){this.disposeInternal(!1)}disposeInternal(A){if(this.terminal){if(this.ownerRemoved)return this.terminalCompletionPromise??Promise.resolve();return this.retryTerminalCleanup()}this.terminal=!0,this.currentState="disposed",this.refreshFinalStats(),this.lifecycleController.abort();let q=!this.producerMayBeRunning||this.producerStopped?{status:0}:this.producerStopAttempted?null:this.stopProducer();if(q?.status===0)this.refreshFinalStats();return this.terminalCompletionPromise=(async()=>{let E=q?.status===0?q:await this.cleanupProducer();if(this.refreshFinalStats(),E.status===0){if(this.removeOwner(),!A)try{this.streamController?.close()}catch{}if(this.exposed)this.emitTerminal("disposed");else this.closedResolve();return}this.currentState="errored";let g=this.operationError("destroy",E);try{this.streamController?.error(g)}catch{}if(this.exposed)this.emitTerminal("error",g,g.context);else this.closedResolve()})(),this.terminalCompletionPromise}pull(){return this.pump()}pump(){if(this.pumpPromise!=null)return this.pumpPromise;let A=Promise.resolve().then(async()=>{do await this.pumpSource();while(this.discardRequested&&!this.terminal)});this.pumpPromise=A;let q=()=>{if(this.pumpPromise===A)this.pumpPromise=null};return A.then(q,q),A}async pumpSource(){if(this.discardRequested){await this.discardNativeRing();return}let A=this.streamController;while(!this.terminal){if(this.discardRequested){await this.discardNativeRing();return}let q=this.refreshStats();if(q==null||this.terminal)return;let E=this.observeProducer();if(this.terminal)return;let g=this.chunkFrames-this.pendingFrames,j=E?q.bufferedFrames>=g?g:0:Math.min(g,q.bufferedFrames),a=0;if(j>0){let Z;try{Z=this.init.read(j)}catch(G){this.fail(new bg("Audio capture stream read failed",{action:"read"},G));return}if(Z.status!==0){this.fail(this.operationError("read",Z));return}if(a=Math.min(j,Z.framesRead),a>0){let G=a*this.channels;if(this.pendingSamples.set(Z.frames.subarray(0,G),this.pendingFrames*this.channels),this.pendingFrames+=a,this.pendingFrames===this.chunkFrames){if(A.enqueue(this.pendingSamples.slice()),this.pendingFrames=0,!E&&q.bufferedFrames<=a)this.finishStopped();return}}}if(!E&&q.bufferedFrames<=a){if(this.pendingFrames>0)A.enqueue(this.pendingSamples.slice(0,this.pendingFrames*this.channels)),this.pendingFrames=0;this.finishStopped();return}if(!await SZ(this.lifecycleController.signal))return}}async discardNativeRing(){this.pendingFrames=0;let A=0;while(!this.terminal){let q=this.refreshStats();if(q==null||this.terminal)return;if(q.bufferedFrames===0){this.finishStopped();return}let E=Math.min(this.chunkFrames,q.bufferedFrames),g;try{g=this.init.read(E)}catch(j){this.fail(new bg("Audio capture stream read failed",{action:"read"},j));return}if(g.status!==0){this.fail(this.operationError("read",g));return}if(A+=1,g.framesRead===0){if(!await SZ(this.lifecycleController.signal))return}else if(A>=Jh)A=0,await sF(0,this.lifecycleController.signal).catch(()=>{return})}}requestDiscardDrain(){if(this.terminal||this.discardRequested)return;this.discardRequested=!0,this.pump()}scheduleDiscardIfIdle(){if(this.terminal||this.discardRequested||this.discardDecisionScheduled)return;this.discardDecisionScheduled=!0,setTimeout(()=>{if(this.discardDecisionScheduled=!1,this.terminal)return;if(this.readable.locked)this.scheduleDiscardIfIdle();else this.requestDiscardDrain()},cg)}refreshStats(){let A;try{A=this.init.stats()}catch(q){return this.fail(new bg("Audio capture stream stats failed",{action:"stats"},q)),null}if(A.status!==0||A.stats==null)return this.fail(this.operationError("stats",A)),null;return this.nativeStats=A.stats,A.stats}observeProducer(){if(this.producerStopAttempted)return!1;let A;try{A=this.init.isRunning()}catch(E){return this.fail(new bg("Audio capture stream stats failed",{action:"stats"},E)),!1}if(this.terminal)return!1;if(A)return!0;this.currentState="stopping";let q=this.stopProducer();if(q!=null&&q.status!==0)this.fail(this.operationError("stop",q));return!1}stopProducer(){if(this.producerStopAttempted)return null;this.producerStopAttempted=!0;try{let A=this.init.stop();if(A.status===0)this.producerStopped=!0,this.producerMayBeRunning=!1;return A}catch(A){return{status:-1,cause:A}}}finishStopped(){if(this.terminal)return;if(this.refreshStats()==null||this.terminal)return;this.terminal=!0,this.currentState="stopped",this.lifecycleController.abort(),this.removeOwner(),this.streamController?.close(),this.emitTerminal("stopped")}fail(A){if(this.terminal)return;this.terminal=!0,this.currentState="errored",this.lifecycleController.abort();try{this.streamController?.error(A)}catch{}this.terminalCompletionPromise=(async()=>{if((await this.cleanupProducer()).status===0)this.removeOwner();if(this.refreshFinalStats(),this.exposed)this.emitTerminal("error",A,A.context);else this.closedResolve()})()}operationError(A,q){let E={action:A};if(q.status!==0)E.status=q.status;return new bg(`Audio capture stream ${A} failed${q.status?`: ${q.status}`:""}`,E,q.cause)}cleanupProducer(){if(!this.producerMayBeRunning||this.producerStopped)return Promise.resolve({status:0});if(this.producerCleanupPromise!=null)return this.producerCleanupPromise;let A=(async()=>{let q=this.lastCleanupFailure??{status:-1};for(let E=0;E<3;E+=1){this.producerStopAttempted=!1;let g=this.stopProducer();if(g?.status===0)return this.lastCleanupFailure=null,g;if(g!=null)q=g,this.lastCleanupFailure=g;if(E<2)await new Promise((j)=>setTimeout(j,cg))}return q})();return this.producerCleanupPromise=A,A.finally(()=>{if(this.producerCleanupPromise===A)this.producerCleanupPromise=null}),A}retryTerminalCleanup(){return this.cleanupProducer().then((A)=>{if(A.status===0)this.removeOwner()})}publicStats(){return{...this.nativeStats,state:this.currentState,bufferedDurationMs:this.nativeStats.sampleRate===0?0:this.nativeStats.bufferedFrames*1000/this.nativeStats.sampleRate}}refreshFinalStats(){try{let A=this.init.stats();if(A.status===0&&A.stats!=null)this.nativeStats=A.stats}catch{}}removeOwner(){if(this.ownerRemoved)return;this.ownerRemoved=!0,this.init.options.signal?.removeEventListener("abort",this.signalAbortListener),this.init.removeFromOwner()}emitTerminal(A,...q){setTimeout(()=>{try{kg.prototype.emit.call(this,A,...q)}finally{this.closedResolve()}},0)}};dF=class dF extends kg{static fileSystem={open:Gh,rename:Mh,unlink:Oh};filePath;format="wav";sampleRate;channels;closed;init;currentState="initializing";capture=null;reader=null;fileHandle=null;tempPath=null;captureStats;framesWritten=0n;dataBytesWritten=0n;stopRequested=!1;terminal=null;terminationRequest=null;publicationStarted=!1;exposed=!1;ownerRemoved=!1;cleanupPromise=null;resourceCleanupPromise=null;retainedCleanupScheduled=!1;lifecyclePromise=null;closedResolve;signalAbortListener=()=>this.dispose();captureErrorListener=(A)=>{this.fail(this.fromCaptureError(A))};static{zh=(A)=>new dF(A),Ch=(A)=>A.open()}constructor(A){super();this.init=A,this.filePath=A.filePath,this.sampleRate=A.captureOptions.sampleRate,this.channels=A.captureOptions.channels,this.captureStats={state:"initializing",sampleRate:this.sampleRate,channels:this.channels,capacityFrames:A.captureOptions.capacityFrames,bufferedFrames:0,bufferedDurationMs:0,framesReceived:0n,framesRead:0n,framesDropped:0n},this.closed=new Promise((q)=>this.closedResolve=q),this.init.signal?.addEventListener("abort",this.signalAbortListener,{once:!0})}get state(){return this.currentState}async open(){try{this.fileHandle=await this.openTemporaryFile(),this.ensureOpening(),await this.writeFully(new Uint8Array(OY),0,"write"),this.ensureOpening();try{this.capture=await this.init.openCapture({channels:this.init.captureOptions.channels,capacityFrames:this.init.captureOptions.capacityFrames,chunkFrames:this.init.captureOptions.chunkFrames,startOptions:this.init.captureOptions.startOptions}),this.capture.on("error",this.captureErrorListener)}catch(q){if(q instanceof DOMException&&q.name==="AbortError")throw q;throw new cA("Audio recorder capture start failed",{action:"start"},q)}if(this.ensureOpening(),this.captureStats=this.capture.getStats(),this.captureStats.framesDropped>0n)throw new cA("Audio recorder capture dropped frames",{action:"stats"});this.currentState="recording",this.exposed=!0,this.reader=this.capture.readable.getReader();let A=this.consume();this.lifecyclePromise=A,A.finally(()=>{if(this.lifecyclePromise===A)this.lifecyclePromise=null;let q=this.terminationRequest;if(q!=null)this.finishCleanup(q.kind,q.error)})}catch(A){if(this.terminationRequest==null)if(A instanceof DOMException&&A.name==="AbortError")this.requestTermination("disposed");else{let g=A instanceof cA?A:new cA("Audio recorder open failed",{action:"open"},A);this.requestTermination("error",g)}let q=this.terminationRequest,E=await this.finishCleanup(q.kind,q.error);if(E!=null)throw new cA("Audio recorder setup cleanup failed",{action:"destroy"},AggregateError([A,E],"Audio recorder setup and cleanup failed"));if(q.kind==="disposed")throw $E();if(A instanceof cA)throw A;throw new cA("Audio recorder open failed",{action:"open"},A)}}getStats(){if(this.capture!=null&&this.terminal==null&&this.terminationRequest==null){if(this.captureStats=this.capture.getStats(),this.captureStats.framesDropped>0n)this.fail(new cA("Audio recorder capture dropped frames",{action:"stats"}))}return{sampleRate:this.captureStats.sampleRate,channels:this.captureStats.channels,capacityFrames:this.captureStats.capacityFrames,bufferedFrames:this.captureStats.bufferedFrames,bufferedDurationMs:this.captureStats.bufferedDurationMs,framesReceived:this.captureStats.framesReceived,framesRead:this.captureStats.framesRead,framesDropped:this.captureStats.framesDropped,state:this.currentState,framesWritten:this.framesWritten,dataBytesWritten:this.dataBytesWritten,durationMs:this.sampleRate===0?0:Number(this.framesWritten)*1000/this.sampleRate}}stop(){if(this.terminal!=null||this.terminationRequest!=null||this.stopRequested)return;this.stopRequested=!0,this.currentState="stopping";try{this.capture?.stop()}catch(A){this.fail(new cA("Audio recorder capture stop failed",{action:"stop"},A))}}dispose(){if(this.terminal!=null){this.retryRetainedCleanup();return}if(this.publicationStarted)return;this.requestTermination("disposed")}async consume(){let A=this.reader,q=this.readWithStats(A);try{while(this.terminal==null&&this.terminationRequest==null){let E=await q;if(q=null,this.terminal!=null||this.terminationRequest!=null)return;if(E.done){if(!this.stopRequested)this.fail(new cA("Audio capture stopped unexpectedly",{action:"stop"}));else await this.complete();return}if(q=this.readWithStats(A),this.captureStats=this.capture.getStats(),this.captureStats.framesDropped>0n){this.fail(new cA("Audio recorder capture dropped frames",{action:"stats"}));return}await this.writeSamples(E.value)}}catch(E){if(this.terminal==null&&this.terminationRequest==null){let g=E instanceof cA?E:E instanceof bg?this.fromCaptureError(E):new cA("Audio recorder read failed",{action:"read"},E);this.fail(g)}}finally{if(q!=null)q.catch(()=>{return});try{A.releaseLock()}catch{}}}async writeSamples(A){if(A.length%this.channels!==0)throw new cA("Audio recorder received a partial frame",{action:"read"});let q=new Uint8Array(A.length*2),E=new DataView(q.buffer);for(let j=0;j<A.length;j+=1){let a=Math.max(-1,Math.min(1,A[j]));E.setInt16(j*2,Math.round(a*32767),!0)}let g=this.dataBytesWritten+BigInt(q.byteLength);if(g>Xh)throw new cA("Audio recorder exceeded the classic RIFF size limit",{action:"write"});await this.writeFully(q,OY+Number(this.dataBytesWritten),"write"),this.dataBytesWritten=g,this.framesWritten+=BigInt(A.length/this.channels)}readWithStats(A){return new Promise((q,E)=>{let g=!1,j,a=(G)=>{if(g)return;if(g=!0,j!==void 0)clearTimeout(j);G()},Z=()=>{if(g)return;if(this.terminal!=null||this.terminationRequest!=null){a(()=>q({done:!0,value:void 0}));return}if(this.captureStats=this.capture.getStats(),this.captureStats.framesDropped>0n){a(()=>E(new cA("Audio recorder capture dropped frames",{action:"stats"})));return}j=setTimeout(Z,cg)};A.read().then((G)=>a(()=>q(G)),(G)=>a(()=>E(G))),j=setTimeout(Z,cg)})}async complete(){if(this.terminal!=null||this.terminationRequest!=null)return;if(this.captureStats=this.capture.getStats(),this.captureStats.framesDropped>0n){this.fail(new cA("Audio recorder capture dropped frames",{action:"stats"}));return}try{if(await this.writeFully(Dh(this.sampleRate,this.channels,Number(this.dataBytesWritten)),0,"finalize"),this.terminationRequest!=null)return;if(await this.fileHandle.sync(),this.terminationRequest!=null)return;await this.fileHandle.close(),this.fileHandle=null}catch(A){if(this.terminationRequest==null)this.fail(A instanceof cA?A:new cA("Audio recorder finalize failed",{action:"finalize"},A));return}if(this.terminationRequest!=null)return;this.publicationStarted=!0;try{await this.publish()}catch(A){let q=new cA("Audio recorder publish failed",{action:"publish"},A);this.terminal="error",this.currentState="errored",await this.finishCleanup("error",q);return}if(this.terminal="stopped",this.currentState="stopped",this.init.signal?.removeEventListener("abort",this.signalAbortListener),this.capture?.removeListener("error",this.captureErrorListener),this.hasRetainedResources())this.scheduleRetainedCleanup();else this.removeOwner();this.emitTerminal("stopped")}async publish(){let A=this.tempPath;await dF.fileSystem.rename(A,this.filePath),this.tempPath=null}fail(A){if(this.terminal!=null||this.publicationStarted)return;this.requestTermination("error",A)}requestTermination(A,q){if(this.terminal!=null||this.publicationStarted||this.terminationRequest!=null)return;if(this.terminationRequest={kind:A,error:q},this.currentState=A==="disposed"?"disposed":"errored",this.capture?.dispose(),this.exposed&&this.lifecyclePromise==null)this.finishCleanup(A,q)}finishCleanup(A,q){if(this.cleanupPromise!=null)return this.cleanupPromise;return this.cleanupPromise=(async()=>{this.init.signal?.removeEventListener("abort",this.signalAbortListener);let E=this.capture;if(E?.dispose(),E!=null)await E.closed,this.captureStats=E.getStats();E?.removeListener("error",this.captureErrorListener);let g=await this.cleanupOwnedResources(),j=E?.state==="errored"?new cA("Audio recorder capture cleanup failed",{action:"destroy"}):null,a=g==null&&j==null?A:"error",Z=g??q??j;if(this.terminal=a,this.currentState=a==="disposed"?"disposed":"errored",this.hasRetainedResources())this.scheduleRetainedCleanup();else this.removeOwner();if(!this.exposed)this.closedResolve();else if(a==="error")this.emitTerminal("error",Z,Z.context);else this.emitTerminal("disposed");return g??j})(),this.cleanupPromise}cleanupOwnedResources(){if(!this.hasRetainedResources())return Promise.resolve(null);if(this.resourceCleanupPromise!=null)return this.resourceCleanupPromise;let A=(async()=>{let E=null;for(let g=0;g<3;g+=1){let j=this.fileHandle;if(j!=null)try{if(await j.close(),this.fileHandle===j)this.fileHandle=null}catch(a){E=new cA("Audio recorder file close failed",{action:"destroy"},a)}if(this.fileHandle==null){let a=this.tempPath;if(a!=null)try{if(await dF.fileSystem.unlink(a),this.tempPath===a)this.tempPath=null}catch(Z){E=new cA("Audio recorder temp file cleanup failed",{action:"destroy"},Z)}}if(!this.hasRetainedResources())return null;if(g<2)await new Promise((a)=>setTimeout(a,cg))}return E??new cA("Audio recorder resource cleanup failed",{action:"destroy"})})();this.resourceCleanupPromise=A;let q=()=>{if(this.resourceCleanupPromise===A)this.resourceCleanupPromise=null};return A.then(q,q),A}retryRetainedCleanup(){if(this.capture?.dispose(),!this.hasRetainedResources())return this.removeOwner(),Promise.resolve();return this.cleanupOwnedResources().then(()=>{if(!this.hasRetainedResources())this.removeOwner()})}scheduleRetainedCleanup(){if(this.retainedCleanupScheduled||!this.hasRetainedResources())return;this.retainedCleanupScheduled=!0,setTimeout(()=>{this.retainedCleanupScheduled=!1,this.retryRetainedCleanup()},cg)}hasRetainedResources(){return this.fileHandle!=null||this.tempPath!=null}async openTemporaryFile(){let A=Qh(this.filePath),q=Yh(this.filePath),E=Math.max(1,Math.min(24,q.length)),g="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";for(let j=0;j<64;j+=1){let a=E===1?"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"[j]:Uh(16).toString("hex").slice(0,E);if(a===q)continue;let Z=$h(A,a);try{let G=await dF.fileSystem.open(Z,"wx");return this.tempPath=Z,G}catch(G){if(G.code!=="EEXIST")throw new cA("Audio recorder temp file open failed",{action:"open"},G)}}throw new cA("Audio recorder could not allocate a temporary file",{action:"open"})}async writeFully(A,q,E){let g=0;while(g<A.byteLength){let j;try{({bytesWritten:j}=await this.fileHandle.write(A,g,A.byteLength-g,q+g))}catch(a){throw new cA(`Audio recorder ${E} write failed`,{action:E},a)}if(j<=0)throw new cA(`Audio recorder ${E} write made no progress`,{action:E});g+=Math.min(j,A.byteLength-g)}}ensureOpening(){if(this.terminationRequest?.kind==="disposed"||this.init.signal?.aborted)throw $E();if(this.terminationRequest?.kind==="error")throw this.terminationRequest.error}fromCaptureError(A){let q=A.context.action==="stop"?"stop":A.context.action==="stats"?"stats":A.context.action==="destroy"?"destroy":"read",E={action:q};if(A.context.status!==void 0)E.status=A.context.status;return new cA(`Audio recorder capture ${q} failed`,E,A)}removeOwner(){if(this.ownerRemoved)return;this.ownerRemoved=!0,this.init.removeFromOwner()}emitTerminal(A,...q){setTimeout(()=>{try{kg.prototype.emit.call(this,A,...q)}finally{this.closedResolve()}},0)}};xj=class xj extends Error{code;source;status;constructor(A,q,E,g){super(E,{cause:g?.cause});this.name="ImageLoadError",this.code=A,this.source=q,this.status=g?.status}};wh=["ok","invalid image handle","unsupported image format","unsupported image color space","malformed image data","image dimensions exceed limits","image memory limit exceeded","invalid image argument","out of memory","image output buffer is too small","internal image error","unsupported image feature","image is retained"],vh=["internal-error","invalid-handle","unsupported-format","unsupported-color-space","malformed-data","dimension-limit","memory-limit","invalid-argument","out-of-memory","output-too-small","internal-error","unsupported-feature","busy"];PZ=class PZ extends Error{code;status;constructor(A){super(`Native image operation failed: ${wh[A]??`unknown status ${A}`}`);this.name="ImageError",this.status=A,this.code=vh[A]??"internal-error"}};kh={default:0,area:1,triangle:2,"cubic-bspline":3,"catmull-rom":4,mitchell:5,nearest:6},ch={"source-over":0,source:1,"destination-over":2},YY={rgba8:!1,bgra8:!0},fh={straight:0,opaque:1};H9=class H9 extends pA{frameBuffer;respectAlpha;constructor(A,q){super(A,q);this.respectAlpha=q.respectAlpha||!1,this.frameBuffer=g6.create(q.width,q.height,this._ctx.widthMethod,{respectAlpha:this.respectAlpha,id:q.id||`framebufferrenderable-${this.id}`})}onResize(A,q){if(A<=0||q<=0)throw Error(`Invalid resize dimensions for FrameBufferRenderable ${this.id}: ${A}x${q}`);this.frameBuffer.resize(A,q),super.onResize(A,q),this.requestRender()}renderSelf(A){if(!this.visible||this.isDestroyed)return;A.drawFrameBuffer(this.x,this.y,this.frameBuffer)}destroySelf(){this.frameBuffer?.destroy(),super.destroySelf()}};zZ=class zZ extends H9{selectable=!0;static _defaultOptions={text:"",font:"tiny",color:"#FFFFFF",backgroundColor:"transparent",selectionBg:void 0,selectionFg:void 0,selectable:!0};_text;_font;_color;_backgroundColor;_selectionBg;_selectionFg;lastLocalSelection=null;selectionHelper;constructor(A,q){let E=zZ._defaultOptions,g=q.font||E.font,j=q.text||E.text,a=Xj({text:j,font:g});super(A,{flexShrink:0,...q,width:a.width||1,height:a.height||1,respectAlpha:!0});this._text=j,this._font=g,this._color=q.color||E.color,this._backgroundColor=q.backgroundColor||E.backgroundColor,this._selectionBg=q.selectionBg?S(q.selectionBg):void 0,this._selectionFg=q.selectionFg?S(q.selectionFg):void 0,this.selectable=q.selectable??!0,this.selectionHelper=new FO(()=>this._text,()=>this._font),this.renderFontToBuffer()}get text(){return this._text}set text(A){if(this._text=A,this.updateDimensions(),this.lastLocalSelection)this.selectionHelper.onLocalSelectionChanged(this.lastLocalSelection,this.width,this.height);this.renderFontToBuffer(),this.requestRender()}get font(){return this._font}set font(A){if(this._font=A,this.updateDimensions(),this.lastLocalSelection)this.selectionHelper.onLocalSelectionChanged(this.lastLocalSelection,this.width,this.height);this.renderFontToBuffer(),this.requestRender()}get color(){return this._color}set color(A){this._color=A,this.renderFontToBuffer(),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){this._backgroundColor=A,this.renderFontToBuffer(),this.requestRender()}updateDimensions(){let A=Xj({text:this._text,font:this._font});this.width=A.width,this.height=A.height}shouldStartSelection(A,q){let E=A-this.x,g=q-this.y;return this.selectionHelper.shouldStartSelection(E,g,this.width,this.height)}onSelectionChanged(A){let q=Lj(A,this.x,this.y);if(this.lastLocalSelection=q,this.selectionHelper.onLocalSelectionChanged(q,this.width,this.height))this.renderFontToBuffer(),this.requestRender();return this.selectionHelper.hasSelection()}getSelectedText(){let A=this.selectionHelper.getSelection();if(!A)return"";return this._text.slice(A.start,A.end)}hasSelection(){return this.selectionHelper.hasSelection()}onResize(A,q){super.onResize(A,q),this.renderFontToBuffer()}renderFontToBuffer(){if(this.isDestroyed)return;this.frameBuffer.clear(S(this._backgroundColor)),iK(this.frameBuffer,{text:this._text,x:0,y:0,color:this.color,backgroundColor:this._backgroundColor,font:this._font});let A=this.selectionHelper.getSelection();if(A&&(this._selectionBg||this._selectionFg))this.renderSelectionHighlight(A)}renderSelectionHighlight(A){if(!this._selectionBg&&!this._selectionFg)return;let q=this._text.slice(A.start,A.end);if(!q)return;let E=sK(this._text,this._font),g=E[A.start]||0,j=A.end<E.length?E[A.end]:Xj({text:this._text,font:this._font}).width;if(this._selectionBg)this.frameBuffer.fillRect(g,0,j-g,this.height,S(this._selectionBg));if(this._selectionFg||this._selectionBg)iK(this.frameBuffer,{text:q,x:g,y:0,color:this._selectionFg?this._selectionFg:this._color,backgroundColor:this._selectionBg?this._selectionBg:this._backgroundColor,font:this._font})}};T9=class T9 extends pA{target;_fg;_bg;_minWidth;_paddingRight;_lineColorsGutter;_lineColorsContent;_lineSigns;_lineNumberOffset;_hideLineNumbers;_lineNumbers;_maxBeforeWidth=0;_maxAfterWidth=0;_lastKnownLineCount=0;_paintedSources;_paintedSourceOffset=0;constructor(A,q,E){super(A,{id:E.id,width:"auto",height:"auto",flexGrow:0,flexShrink:0,buffered:!0});this.target=q,this._fg=E.fg,this._bg=E.bg,this._minWidth=E.minWidth,this._paddingRight=E.paddingRight,this._lineColorsGutter=E.lineColorsGutter,this._lineColorsContent=E.lineColorsContent,this._lineSigns=E.lineSigns,this._lineNumberOffset=E.lineNumberOffset,this._hideLineNumbers=E.hideLineNumbers,this._lineNumbers=E.lineNumbers??new Map,this._lastKnownLineCount=this.target.virtualLineCount,this.calculateSignWidths(),this.setupMeasureFunc(),this.onLifecyclePass=()=>{let g=this.target.virtualLineCount;if(g!==this._lastKnownLineCount)this._lastKnownLineCount=g,this.yogaNode.markDirty(),this.requestRender()}}setupMeasureFunc(){let A=(q,E,g,j)=>{let a=this.calculateWidth(),Z=this.target.virtualLineCount;return{width:a,height:Z}};this.yogaNode.setMeasureFunc(A)}remeasure(){this.yogaNode.markDirty()}setLineNumberOffset(A){if(this._lineNumberOffset!==A)this._lineNumberOffset=A,this.yogaNode.markDirty(),this.requestRender()}setHideLineNumbers(A){this._hideLineNumbers=A,this.yogaNode.markDirty(),this.requestRender()}setLineNumbers(A){this._lineNumbers=A,this.yogaNode.markDirty(),this.requestRender()}calculateSignWidths(){this._maxBeforeWidth=0,this._maxAfterWidth=0;for(let A of this._lineSigns.values()){if(A.before){let q=H_(A.before);this._maxBeforeWidth=Math.max(this._maxBeforeWidth,q)}if(A.after){let q=H_(A.after);this._maxAfterWidth=Math.max(this._maxAfterWidth,q)}}}calculateWidth(){let q=this.target.virtualLineCount+this._lineNumberOffset;if(this._lineNumbers.size>0)for(let j of this._lineNumbers.values())q=Math.max(q,j);let E=q>0?Math.floor(Math.log10(q))+1:1;return Math.max(this._minWidth,E+this._paddingRight+1)+this._maxBeforeWidth+this._maxAfterWidth}setLineColors(A,q){this._lineColorsGutter=A,this._lineColorsContent=q,this.requestRender()}get fg(){return this._fg}setFg(A){if(this._fg!==A)this._fg=A,this.requestRender()}get bg(){return this._bg}setBg(A){if(this._bg!==A)this._bg=A,this.requestRender()}getLineColors(){return{gutter:this._lineColorsGutter,content:this._lineColorsContent}}setLineSigns(A){let q=this._maxBeforeWidth,E=this._maxAfterWidth;if(this._lineSigns=A,this.calculateSignWidths(),this._maxBeforeWidth!==q||this._maxAfterWidth!==E)this.yogaNode.markDirty();this.requestRender()}getLineSigns(){return this._lineSigns}createFrameBuffer(){}handleFrameBufferResize(){}render(A,q){let E=this._screenX,g=Math.trunc(this._screenY),j=Math.max(0,-g),a=Math.min(this.height,A.height-g);if(a<=j||E>=A.width||E+this.width<=0)return;if(!this.frameBuffer)this.frameBuffer=g6.create(this.width,a-j,this._ctx.widthMethod,{respectAlpha:!0,id:`framebuffer-${this.id}`});else if(this.frameBuffer.width!==this.width||this.frameBuffer.height!==a-j)this.frameBuffer.resize(this.width,a-j),this._paintedSources=void 0;this.refreshFrameBuffer(this.frameBuffer,Math.trunc(this.target.scrollY)+j),this.markClean(),this._ctx.addToHitGrid(E,this._screenY,this.width,this.height,this.num),A.drawFrameBuffer(E,g+j,this.frameBuffer)}refreshFrameBuffer(A,q){let E=Math.max(0,q-1),g=q-E,j=J9(this.target,E,A.height+g),a=this._paintedSources;if(!this.isDirty&&g===this._paintedSourceOffset&&a&&j.length===a.length&&j.every((G,M)=>G===a[M]))return;A.clear(this._bg);let Z=g>0?j[0]:-1;for(let G=0;G<A.height;G++){let M=g+G;if(M>=j.length)break;let Y=j[M],Q=this._lineColorsGutter.get(Y)??this._bg;if(Q!==this._bg)A.fillRect(0,G,this.width,1,Q);if(Y===Z);else{let H=0,N=this._lineSigns.get(Y);if(N?.before){let X=H_(N.before),T=this._maxBeforeWidth-X;H+=T;let J=N.beforeColor?S(N.beforeColor):this._fg;A.drawText(N.before,H,G,J,Q),H+=X}else if(this._maxBeforeWidth>0)H+=this._maxBeforeWidth;if(!this._hideLineNumbers.has(Y)){let X=this._lineNumbers.get(Y),J=(X!==void 0?X:Y+1+this._lineNumberOffset).toString(),V=J.length,I=this.width-this._maxBeforeWidth-this._maxAfterWidth-this._paddingRight,W=this._maxBeforeWidth+1+I-V-1;if(W>=this._maxBeforeWidth+1)A.drawText(J,W,G,this._fg,Q)}if(N?.after){let X=this.width-this._paddingRight-this._maxAfterWidth,T=N.afterColor?S(N.afterColor):this._fg;A.drawText(N.after,X,G,T,Q)}}Z=Y}this._paintedSources=j.slice(),this._paintedSourceOffset=g}};CZ=class CZ extends pA{gutter=null;target=null;_lineColorsGutter;_lineColorsContent;_lineSigns;_fg;_bg;_minWidth;_paddingRight;_lineNumberOffset;_hideLineNumbers;_lineNumbers;_isDestroying=!1;handleLineInfoChange=()=>{this.gutter?.remeasure(),this.requestRender()};parseLineColor(A,q){if(typeof q==="object"&&"gutter"in q){let E=q;if(E.gutter)this._lineColorsGutter.set(A,S(E.gutter));if(E.content)this._lineColorsContent.set(A,S(E.content));else if(E.gutter)this._lineColorsContent.set(A,nX(S(E.gutter)))}else{let E=S(q);this._lineColorsGutter.set(A,E),this._lineColorsContent.set(A,nX(E))}}constructor(A,q){super(A,{...q,flexDirection:"row",height:"auto"});if(this._fg=S(q.fg??sX),this._bg=S(q.bg??iX),this._minWidth=q.minWidth??3,this._paddingRight=q.paddingRight??1,this._lineNumberOffset=q.lineNumberOffset??0,this._hideLineNumbers=q.hideLineNumbers??new Set,this._lineNumbers=q.lineNumbers??new Map,this._lineColorsGutter=new Map,this._lineColorsContent=new Map,q.lineColors)for(let[E,g]of q.lineColors)this.parseLineColor(E,g);if(this._lineSigns=new Map,q.lineSigns)for(let[E,g]of q.lineSigns)this._lineSigns.set(E,g);if(q.target)this.setTarget(q.target)}setTarget(A){if(this.target===A)return;if(this.target)this.target.off("line-info-change",this.handleLineInfoChange),super.remove(this.target);if(this.gutter)super.remove(this.gutter),this.gutter=null;this.target=A,this.target.on("line-info-change",this.handleLineInfoChange),this.gutter=new T9(this.ctx,this.target,{fg:this._fg,bg:this._bg,minWidth:this._minWidth,paddingRight:this._paddingRight,lineColorsGutter:this._lineColorsGutter,lineColorsContent:this._lineColorsContent,lineSigns:this._lineSigns,lineNumberOffset:this._lineNumberOffset,hideLineNumbers:this._hideLineNumbers,lineNumbers:this._lineNumbers,id:this.id?`${this.id}-gutter`:void 0}),super.add(this.gutter),super.add(this.target)}add(A){if(!this.target&&"lineInfo"in A&&"lineCount"in A&&"virtualLineCount"in A&&"scrollY"in A)return this.setTarget(A),this.getChildrenCount()-1;return-1}remove(A){if(this._isDestroying){super.remove(A);return}if(this.gutter&&A===this.gutter)throw Error("LineNumberRenderable: Cannot remove gutter directly.");if(this.target&&A===this.target)throw Error("LineNumberRenderable: Cannot remove target directly. Use clearTarget() instead.");super.remove(A)}destroyRecursively(){if(this._isDestroying=!0,this.target)this.target.off("line-info-change",this.handleLineInfoChange);super.destroyRecursively(),this.gutter=null,this.target=null}clearTarget(){if(this.target)this.target.off("line-info-change",this.handleLineInfoChange),super.remove(this.target),this.target=null;if(this.gutter)super.remove(this.gutter),this.gutter=null}renderSelf(A){if(!this.target||!this.gutter||this._lineColorsContent.size===0)return;let q=Math.trunc(this.y),E=Math.max(0,-q),g=Math.min(this.height,A.height-q);if(g<=E||this.x>=A.width||this.x+this.width<=0)return;let j=J9(this.target,Math.trunc(this.target.scrollY)+E,g-E),a=this.gutter.visible?this.gutter.width:0,Z=this.width-a;for(let G=0;G<j.length;G++){let M=j[G],Y=this._lineColorsContent.get(M);if(Y)A.fillRect(this.x+a,q+E+G,Z,1,Y)}}set showLineNumbers(A){if(this.gutter)this.gutter.visible=A}get showLineNumbers(){return this.gutter?.visible??!1}get fg(){return this._fg}set fg(A){let q=S(A??sX);if(this._fg!==q)this._fg=q,this.gutter?.setFg(q)}get bg(){return this._bg}set bg(A){let q=S(A??iX);if(this._bg!==q)this._bg=q,this.gutter?.setBg(q)}setLineColor(A,q){if(this.parseLineColor(A,q),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearLineColor(A){if(this._lineColorsGutter.delete(A),this._lineColorsContent.delete(A),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearAllLineColors(){if(this._lineColorsGutter.clear(),this._lineColorsContent.clear(),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}setLineColors(A){this._lineColorsGutter.clear(),this._lineColorsContent.clear();for(let[q,E]of A)this.parseLineColor(q,E);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}getLineColors(){return{gutter:this._lineColorsGutter,content:this._lineColorsContent}}setLineSign(A,q){if(this._lineSigns.set(A,q),this.gutter)this.gutter.setLineSigns(this._lineSigns)}clearLineSign(A){if(this._lineSigns.delete(A),this.gutter)this.gutter.setLineSigns(this._lineSigns)}clearAllLineSigns(){if(this._lineSigns.clear(),this.gutter)this.gutter.setLineSigns(this._lineSigns)}setLineSigns(A){this._lineSigns.clear();for(let[q,E]of A)this._lineSigns.set(q,E);if(this.gutter)this.gutter.setLineSigns(this._lineSigns)}getLineSigns(){return this._lineSigns}set lineNumberOffset(A){if(this._lineNumberOffset!==A){if(this._lineNumberOffset=A,this.gutter)this.gutter.setLineNumberOffset(A)}}get lineNumberOffset(){return this._lineNumberOffset}setHideLineNumbers(A){if(this._hideLineNumbers=A,this.gutter)this.gutter.setHideLineNumbers(A)}getHideLineNumbers(){return this._hideLineNumbers}setLineNumbers(A){if(this._lineNumbers=A,this.gutter)this.gutter.setLineNumbers(A)}getLineNumbers(){return this._lineNumbers}highlightLines(A,q,E){for(let g=A;g<=q;g++)this.parseLineColor(g,E);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearHighlightLines(A,q){for(let E=A;E<=q;E++)this._lineColorsGutter.delete(E),this._lineColorsContent.delete(E);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}};XY=class XY extends pA{_diff;_syncScroll=!1;_view;_parsedDiff=null;_parseError=null;_hunkStartLines=[];_hunkRowOffsets=null;_fg;_filetype;_syntaxStyle;_wrapMode;_conceal;_selectionBg;_selectionFg;_treeSitterClient;_showLineNumbers;_lineNumberFg;_lineNumberBg;_addedBg;_removedBg;_contextBg;_addedContentBg;_removedContentBg;_contextContentBg;_addedSignColor;_removedSignColor;_addedLineNumberBg;_removedLineNumberBg;leftSide=null;rightSide=null;leftSideAdded=!1;rightSideAdded=!1;leftCodeRenderable=null;rightCodeRenderable=null;pendingRebuild=!1;_lastCodeWidths=[0,0];errorTextRenderable=null;errorCodeRenderable=null;_waitingForHighlight=!1;_lineInfoChangeHandler=null;constructor(A,q){super(A,{...q,flexDirection:q.view==="split"?"row":"column"});if(this._diff=q.diff??"",this._syncScroll=q.syncScroll??!1,this._view=q.view??"unified",this._fg=q.fg?S(q.fg):void 0,this._filetype=q.filetype,this._syntaxStyle=q.syntaxStyle,this._wrapMode=q.wrapMode,this._conceal=q.conceal??!1,this._selectionBg=q.selectionBg?S(q.selectionBg):void 0,this._selectionFg=q.selectionFg?S(q.selectionFg):void 0,this._treeSitterClient=q.treeSitterClient,this._showLineNumbers=q.showLineNumbers??!0,this._lineNumberFg=S(q.lineNumberFg??"#888888"),this._lineNumberBg=S(q.lineNumberBg??"transparent"),this._addedBg=S(q.addedBg??"#1a4d1a"),this._removedBg=S(q.removedBg??"#4d1a1a"),this._contextBg=S(q.contextBg??"transparent"),this._addedContentBg=q.addedContentBg?S(q.addedContentBg):null,this._removedContentBg=q.removedContentBg?S(q.removedContentBg):null,this._contextContentBg=q.contextContentBg?S(q.contextContentBg):null,this._addedSignColor=S(q.addedSignColor??"#22c55e"),this._removedSignColor=S(q.removedSignColor??"#ef4444"),this._addedLineNumberBg=S(q.addedLineNumberBg??"transparent"),this._removedLineNumberBg=S(q.removedLineNumberBg??"transparent"),this._diff)this.parseDiff(),this.buildView()}parseDiff(){if(!this._diff){this._parsedDiff=null,this._parseError=null;return}try{let A=ih(this._diff);if(A.length===0){this._parsedDiff=null,this._parseError=null;return}this._parsedDiff=A[0],this._parseError=null}catch(A){this._parsedDiff=null,this._parseError=A instanceof Error?A:Error(String(A))}}buildView(){if(this._hunkStartLines=[],this.invalidateHunkRowOffsets(),this._parseError){this.buildErrorView();return}if(!this._parsedDiff||this._parsedDiff.hunks.length===0)return;if(this._view==="unified")this.buildUnifiedView();else this.buildSplitView()}onMouseEvent(A){if(A.type!=="scroll"||this._view!=="split"||!this._syncScroll)return;if(!this.leftCodeRenderable||!this.rightCodeRenderable)return;if(!A.target)return;if(this.isInsideSide(A.target,"left"))this.rightCodeRenderable.scrollY=this.leftCodeRenderable.scrollY,this.rightCodeRenderable.scrollX=this.leftCodeRenderable.scrollX;else if(this.isInsideSide(A.target,"right"))this.leftCodeRenderable.scrollY=this.rightCodeRenderable.scrollY,this.leftCodeRenderable.scrollX=this.rightCodeRenderable.scrollX}isInsideSide(A,q){let E=q==="left"?this.leftCodeRenderable:this.rightCodeRenderable,g=A;while(g){if(g===E)return!0;g=g.parent}return!1}requestRebuild(){if(this.pendingRebuild)return;this.pendingRebuild=!0,queueMicrotask(()=>{if(!this.isDestroyed&&this.pendingRebuild)this.pendingRebuild=!1,this.buildView(),this.requestRender()})}invalidateHunkRowOffsets(){this._hunkRowOffsets=null}rebuildView(){if(this._view==="split")this.requestRebuild();else this.buildView()}handleLineInfoChange=()=>{if(this.invalidateHunkRowOffsets(),!this.leftCodeRenderable||!this.rightCodeRenderable)return;if(this._view==="split"&&(this._wrapMode==="word"||this._wrapMode==="char")&&(this.leftCodeRenderable.width!==this._lastCodeWidths[0]||this.rightCodeRenderable.width!==this._lastCodeWidths[1]))this.requestRebuild();if(!this._waitingForHighlight)return;let A=this.leftCodeRenderable.isHighlighting,q=this.rightCodeRenderable.isHighlighting;if(!A&&!q)this._waitingForHighlight=!1,this.requestRebuild()};attachLineInfoListeners(){if(!this.leftCodeRenderable&&!this.rightCodeRenderable)return;if(this._lineInfoChangeHandler??=this.handleLineInfoChange,this.leftCodeRenderable)this.leftCodeRenderable.off("line-info-change",this._lineInfoChangeHandler),this.leftCodeRenderable.on("line-info-change",this._lineInfoChangeHandler);if(this.rightCodeRenderable)this.rightCodeRenderable.off("line-info-change",this._lineInfoChangeHandler),this.rightCodeRenderable.on("line-info-change",this._lineInfoChangeHandler)}detachLineInfoListeners(){if(!this._lineInfoChangeHandler)return;if(this.leftCodeRenderable)this.leftCodeRenderable.off("line-info-change",this._lineInfoChangeHandler);if(this.rightCodeRenderable)this.rightCodeRenderable.off("line-info-change",this._lineInfoChangeHandler);this._lineInfoChangeHandler=null}destroyRecursively(){this.detachLineInfoListeners(),this.pendingRebuild=!1,this.leftSideAdded=!1,this.rightSideAdded=!1,super.destroyRecursively()}buildErrorView(){if(this.flexDirection="column",this.leftSide&&this.leftSideAdded)super.remove(this.leftSide),this.leftSideAdded=!1;if(this.rightSide&&this.rightSideAdded)super.remove(this.rightSide),this.rightSideAdded=!1;let A=`Error parsing diff: ${this._parseError?.message||"Unknown error"}
273
+ `;if(!this.errorTextRenderable)this.errorTextRenderable=new mg(this.ctx,{id:this.id?`${this.id}-error-text`:void 0,content:A,fg:"#ef4444",width:"100%",flexShrink:0}),super.add(this.errorTextRenderable);else if(this.errorTextRenderable.content=A,this.getChildren().indexOf(this.errorTextRenderable)===-1)super.add(this.errorTextRenderable);if(!this.errorCodeRenderable)this.errorCodeRenderable=new Mq(this.ctx,{id:this.id?`${this.id}-error-code`:void 0,content:this._diff,filetype:"diff",syntaxStyle:this._syntaxStyle??pE.create(),wrapMode:this._wrapMode,conceal:this._conceal,width:"100%",flexGrow:1,flexShrink:1,...this._treeSitterClient!==void 0&&{treeSitterClient:this._treeSitterClient}}),super.add(this.errorCodeRenderable);else{if(this.errorCodeRenderable.content=this._diff,this.errorCodeRenderable.wrapMode=this._wrapMode??"none",this._syntaxStyle)this.errorCodeRenderable.syntaxStyle=this._syntaxStyle;if(this.getChildren().indexOf(this.errorCodeRenderable)===-1)super.add(this.errorCodeRenderable)}}createOrUpdateCodeRenderable(A,q,E,g){let j=A==="left"?this.leftCodeRenderable:this.rightCodeRenderable;if(!j){let a={id:this.id?`${this.id}-${A}-code`:void 0,content:q,filetype:this._filetype,wrapMode:E,conceal:this._conceal,syntaxStyle:this._syntaxStyle??pE.create(),width:"100%",height:"100%",...this._fg!==void 0&&{fg:this._fg},...g!==void 0&&{drawUnstyledText:g},...this._selectionBg!==void 0&&{selectionBg:this._selectionBg},...this._selectionFg!==void 0&&{selectionFg:this._selectionFg},...this._treeSitterClient!==void 0&&{treeSitterClient:this._treeSitterClient}},Z=new Mq(this.ctx,a);if(A==="left")this.leftCodeRenderable=Z;else this.rightCodeRenderable=Z;return Z}else{if(j.content=q,j.wrapMode=E??"none",j.conceal=this._conceal,g!==void 0)j.drawUnstyledText=g;if(this._filetype!==void 0)j.filetype=this._filetype;if(this._syntaxStyle!==void 0)j.syntaxStyle=this._syntaxStyle;if(this._selectionBg!==void 0)j.selectionBg=this._selectionBg;if(this._selectionFg!==void 0)j.selectionFg=this._selectionFg;if(this._fg!==void 0)j.fg=this._fg;return j}}createOrUpdateSide(A,q,E,g,j,a,Z){let G=A==="left"?this.leftSide:this.rightSide,M=A==="left"?this.leftSideAdded:this.rightSideAdded;if(!G){let Y=new CZ(this.ctx,{id:this.id?`${this.id}-${A}`:void 0,target:q,fg:this._lineNumberFg,bg:this._lineNumberBg,lineColors:E,lineSigns:g,lineNumbers:j,lineNumberOffset:0,hideLineNumbers:a,width:Z,height:"100%"});if(Y.showLineNumbers=this._showLineNumbers,super.add(Y),A==="left")this.leftSide=Y,this.leftSideAdded=!0;else this.rightSide=Y,this.rightSideAdded=!0}else{G.width=Z,G.fg=this._lineNumberFg,G.bg=this._lineNumberBg,G.setLineColors(E);let Y=G.getLineSigns().get(-1);if(Y)g.set(-1,Y);if(G.setLineSigns(g),G.setLineNumbers(j),G.setHideLineNumbers(a),!M)if(super.add(G),A==="left")this.leftSideAdded=!0;else this.rightSideAdded=!0}}buildUnifiedView(){if(!this._parsedDiff)return;if(this.flexDirection="column",this.errorTextRenderable){if(this.getChildren().indexOf(this.errorTextRenderable)!==-1)super.remove(this.errorTextRenderable)}if(this.errorCodeRenderable){if(this.getChildren().indexOf(this.errorCodeRenderable)!==-1)super.remove(this.errorCodeRenderable)}let A=[],q=new Map,E=new Map,g=new Map,j=0;for(let G of this._parsedDiff.hunks){this._hunkStartLines.push(j);let{oldStart:M,newStart:Y}=G;for(let Q of G.lines){let H=Q[0],N=Q.slice(1);if(H==="+"){A.push(N);let X={gutter:this._addedLineNumberBg};if(this._addedContentBg)X.content=this._addedContentBg;else X.content=this._addedBg;q.set(j,X),E.set(j,{after:" +",afterColor:this._addedSignColor}),g.set(j,Y),Y++,j++}else if(H==="-"){A.push(N);let X={gutter:this._removedLineNumberBg};if(this._removedContentBg)X.content=this._removedContentBg;else X.content=this._removedBg;q.set(j,X),E.set(j,{after:" -",afterColor:this._removedSignColor}),g.set(j,M),M++,j++}else if(H===" "){A.push(N);let X={gutter:this._lineNumberBg};if(this._contextContentBg)X.content=this._contextContentBg;else X.content=this._contextBg;q.set(j,X),g.set(j,Y),M++,Y++,j++}}}let a=A.join(`
274
+ `),Z=this.createOrUpdateCodeRenderable("left",a,this._wrapMode);if(this.attachLineInfoListeners(),this.createOrUpdateSide("left",Z,q,E,g,new Set,"100%"),this.rightSide&&this.rightSideAdded)super.remove(this.rightSide),this.rightSideAdded=!1}buildSplitView(){if(!this._parsedDiff)return;if(this.flexDirection="row",this.errorTextRenderable){if(this.getChildren().indexOf(this.errorTextRenderable)!==-1)super.remove(this.errorTextRenderable)}if(this.errorCodeRenderable){if(this.getChildren().indexOf(this.errorCodeRenderable)!==-1)super.remove(this.errorCodeRenderable)}let A=[],q=[],E=[];for(let p of this._parsedDiff.hunks){E.push(A.length);let{oldStart:QA,newStart:GA}=p,jq=0;while(jq<p.lines.length){let iA=p.lines[jq],Dq=iA[0];if(Dq===" "){let $A=iA.slice(1);A.push({content:$A,lineNum:QA,color:this._contextBg,type:"context"}),q.push({content:$A,lineNum:GA,color:this._contextBg,type:"context"}),QA++,GA++,jq++}else if(Dq==="\\")jq++;else{let $A=[],SA=[];while(jq<p.lines.length){let EA=p.lines[jq],_q=EA[0];if(_q===" "||_q==="\\")break;let nA=EA.slice(1);if(_q==="-")$A.push({content:nA,lineNum:QA}),QA++;else if(_q==="+")SA.push({content:nA,lineNum:GA}),GA++;jq++}let i=Math.max($A.length,SA.length);for(let EA=0;EA<i;EA++){if(EA<$A.length)A.push({content:$A[EA].content,lineNum:$A[EA].lineNum,color:this._removedBg,sign:{after:" -",afterColor:this._removedSignColor},type:"remove"});else A.push({content:"",hideLineNumber:!0,type:"empty"});if(EA<SA.length)q.push({content:SA[EA].content,lineNum:SA[EA].lineNum,color:this._addedBg,sign:{after:" +",afterColor:this._addedSignColor},type:"add"});else q.push({content:"",hideLineNumber:!0,type:"empty"})}}}}for(let p of E){let QA=A[p];if(QA)QA.hunkStart=!0}let g=this.width>0&&(this._wrapMode==="word"||this._wrapMode==="char"),j=A.map((p)=>p.content).join(`
275
+ `),a=q.map((p)=>p.content).join(`
276
+ `);this._lastCodeWidths=[this.leftCodeRenderable?.width??0,this.rightCodeRenderable?.width??0];let Z=(this._wrapMode==="word"||this._wrapMode==="char")&&this._conceal&&this._filetype,G=!Z,M=this.createOrUpdateCodeRenderable("left",j,this._wrapMode,G),Y=this.createOrUpdateCodeRenderable("right",a,this._wrapMode,G);this.attachLineInfoListeners();let Q,H,N=M.isHighlighting,X=Y.isHighlighting,T=Z&&(N||X);if(T)this._waitingForHighlight=!0,this.attachLineInfoListeners();if(g&&!T){let p=M.lineInfo,QA=Y.lineInfo,GA=p.lineSources||[],jq=QA.lineSources||[],iA=new Map,Dq=new Map;for(let i of GA)iA.set(i,(iA.get(i)||0)+1);for(let i of jq)Dq.set(i,(Dq.get(i)||0)+1);Q=[],H=[];let $A=0,SA=0;for(let i=0;i<A.length;i++){let EA=A[i],_q=q[i],nA=iA.get(i)??0,eA=Dq.get(i)??0;if($A<SA){let Aq=SA-$A;for(let Tq=0;Tq<Aq;Tq++)Q.push({content:"",hideLineNumber:!0,type:"empty"});$A+=Aq}else if(SA<$A){let Aq=$A-SA;for(let Tq=0;Tq<Aq;Tq++)H.push({content:"",hideLineNumber:!0,type:"empty"});SA+=Aq}Q.push(EA),H.push(_q),$A+=nA,SA+=eA}if($A<SA){let i=SA-$A;for(let EA=0;EA<i;EA++)Q.push({content:"",hideLineNumber:!0,type:"empty"})}else if(SA<$A){let i=$A-SA;for(let EA=0;EA<i;EA++)H.push({content:"",hideLineNumber:!0,type:"empty"})}}else Q=A,H=q;let V=new Map,I=new Map,W=new Map,C=new Map,c=new Set,D=new Set,v=new Map,k=new Map;Q.forEach((p,QA)=>{if(p.hunkStart)this._hunkStartLines.push(QA);if(p.lineNum!==void 0)v.set(QA,p.lineNum);if(p.hideLineNumber)c.add(QA);if(p.type==="remove"){let GA={gutter:this._removedLineNumberBg};if(this._removedContentBg)GA.content=this._removedContentBg;else GA.content=this._removedBg;V.set(QA,GA)}else if(p.type==="context"){let GA={gutter:this._lineNumberBg};if(this._contextContentBg)GA.content=this._contextContentBg;else GA.content=this._contextBg;V.set(QA,GA)}if(p.sign)W.set(QA,p.sign)}),H.forEach((p,QA)=>{if(p.lineNum!==void 0)k.set(QA,p.lineNum);if(p.hideLineNumber)D.add(QA);if(p.type==="add"){let GA={gutter:this._addedLineNumberBg};if(this._addedContentBg)GA.content=this._addedContentBg;else GA.content=this._addedBg;I.set(QA,GA)}else if(p.type==="context"){let GA={gutter:this._lineNumberBg};if(this._contextContentBg)GA.content=this._contextContentBg;else GA.content=this._contextBg;I.set(QA,GA)}if(p.sign)C.set(QA,p.sign)});let u=Q.map((p)=>p.content).join(`
277
+ `),d=H.map((p)=>p.content).join(`
278
+ `);M.content=u,Y.content=d,this.createOrUpdateSide("left",M,V,W,v,c,"50%"),this.createOrUpdateSide("right",Y,I,C,k,D,"50%")}get diff(){return this._diff}set diff(A){if(this._diff!==A)this._diff=A,this._waitingForHighlight=!1,this.parseDiff(),this.rebuildView()}get syncScroll(){return this._syncScroll}set syncScroll(A){if(this._syncScroll!==A)this._syncScroll=A}get view(){return this._view}set view(A){if(this._view!==A)this._view=A,this.flexDirection=A==="split"?"row":"column",this.buildView()}get filetype(){return this._filetype}set filetype(A){if(this._filetype!==A)this._filetype=A,this.rebuildView()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle(A){if(this._syntaxStyle!==A)this._syntaxStyle=A,this.rebuildView()}get wrapMode(){return this._wrapMode}set wrapMode(A){if(this._wrapMode!==A){if(this._wrapMode=A,this.invalidateHunkRowOffsets(),this._view==="unified"&&this.leftCodeRenderable)this.leftCodeRenderable.wrapMode=A??"none";else if(this._view==="split")this.requestRebuild()}}get showLineNumbers(){return this._showLineNumbers}set showLineNumbers(A){if(this._showLineNumbers!==A){if(this._showLineNumbers=A,this.leftSide)this.leftSide.showLineNumbers=A;if(this.rightSide)this.rightSide.showLineNumbers=A}}get addedBg(){return this._addedBg}set addedBg(A){let q=S(A);if(this._addedBg!==q)this._addedBg=q,this.rebuildView()}get removedBg(){return this._removedBg}set removedBg(A){let q=S(A);if(this._removedBg!==q)this._removedBg=q,this.rebuildView()}get contextBg(){return this._contextBg}set contextBg(A){let q=S(A);if(this._contextBg!==q)this._contextBg=q,this.rebuildView()}get addedSignColor(){return this._addedSignColor}set addedSignColor(A){let q=S(A);if(this._addedSignColor!==q)this._addedSignColor=q,this.rebuildView()}get removedSignColor(){return this._removedSignColor}set removedSignColor(A){let q=S(A);if(this._removedSignColor!==q)this._removedSignColor=q,this.rebuildView()}get addedLineNumberBg(){return this._addedLineNumberBg}set addedLineNumberBg(A){let q=S(A);if(this._addedLineNumberBg!==q)this._addedLineNumberBg=q,this.rebuildView()}get removedLineNumberBg(){return this._removedLineNumberBg}set removedLineNumberBg(A){let q=S(A);if(this._removedLineNumberBg!==q)this._removedLineNumberBg=q,this.rebuildView()}get lineNumberFg(){return this._lineNumberFg}set lineNumberFg(A){let q=S(A);if(this._lineNumberFg!==q)this._lineNumberFg=q,this.rebuildView()}get lineNumberBg(){return this._lineNumberBg}set lineNumberBg(A){let q=S(A);if(this._lineNumberBg!==q)this._lineNumberBg=q,this.rebuildView()}get addedContentBg(){return this._addedContentBg}set addedContentBg(A){let q=A?S(A):null;if(this._addedContentBg!==q)this._addedContentBg=q,this.rebuildView()}get removedContentBg(){return this._removedContentBg}set removedContentBg(A){let q=A?S(A):null;if(this._removedContentBg!==q)this._removedContentBg=q,this.rebuildView()}get contextContentBg(){return this._contextContentBg}set contextContentBg(A){let q=A?S(A):null;if(this._contextContentBg!==q)this._contextContentBg=q,this.rebuildView()}get selectionBg(){return this._selectionBg}set selectionBg(A){let q=A?S(A):void 0;if(this._selectionBg!==q){if(this._selectionBg=q,this.leftCodeRenderable)this.leftCodeRenderable.selectionBg=q;if(this.rightCodeRenderable)this.rightCodeRenderable.selectionBg=q}}get selectionFg(){return this._selectionFg}set selectionFg(A){let q=A?S(A):void 0;if(this._selectionFg!==q){if(this._selectionFg=q,this.leftCodeRenderable)this.leftCodeRenderable.selectionFg=q;if(this.rightCodeRenderable)this.rightCodeRenderable.selectionFg=q}}get conceal(){return this._conceal}set conceal(A){if(this._conceal!==A)this._conceal=A,this.rebuildView()}get fg(){return this._fg}set fg(A){let q=A?S(A):void 0;if(this._fg!==q){if(this._fg=q,this.leftCodeRenderable)this.leftCodeRenderable.fg=q;if(this.rightCodeRenderable)this.rightCodeRenderable.fg=q}}setLineColor(A,q){this.leftSide?.setLineColor(A,q),this.rightSide?.setLineColor(A,q)}clearLineColor(A){this.leftSide?.clearLineColor(A),this.rightSide?.clearLineColor(A)}setLineColors(A){this.leftSide?.setLineColors(A),this.rightSide?.setLineColors(A)}clearAllLineColors(){this.leftSide?.clearAllLineColors(),this.rightSide?.clearAllLineColors()}highlightLines(A,q,E){this.leftSide?.highlightLines(A,q,E),this.rightSide?.highlightLines(A,q,E)}clearHighlightLines(A,q){this.leftSide?.clearHighlightLines(A,q),this.rightSide?.clearHighlightLines(A,q)}getHunkRowOffsets(){if(this._hunkRowOffsets)return[...this._hunkRowOffsets];return this._hunkRowOffsets=this.computeHunkRowOffsets(),[...this._hunkRowOffsets]}computeHunkRowOffsets(){if(this._hunkStartLines.length===0)return[];let A=this.leftCodeRenderable?.lineInfo.lineSources;if(!A||A.length===0)return[...this._hunkStartLines];let q=[],E=0;for(let g of this._hunkStartLines){while(E<A.length&&A[E]<g)E++;q.push(E<A.length?E:g)}return q}};ZY=[{name:"left",action:"move-left"},{name:"right",action:"move-right"},{name:"up",action:"move-up"},{name:"down",action:"move-down"},{name:"left",shift:!0,action:"select-left"},{name:"right",shift:!0,action:"select-right"},{name:"up",shift:!0,action:"select-up"},{name:"down",shift:!0,action:"select-down"},{name:"home",action:"buffer-home"},{name:"end",action:"buffer-end"},{name:"home",shift:!0,action:"select-buffer-home"},{name:"end",shift:!0,action:"select-buffer-end"},{name:"a",ctrl:!0,action:"line-home"},{name:"e",ctrl:!0,action:"line-end"},{name:"a",ctrl:!0,shift:!0,action:"select-line-home"},{name:"e",ctrl:!0,shift:!0,action:"select-line-end"},{name:"a",meta:!0,action:"visual-line-home"},{name:"e",meta:!0,action:"visual-line-end"},{name:"a",meta:!0,shift:!0,action:"select-visual-line-home"},{name:"e",meta:!0,shift:!0,action:"select-visual-line-end"},{name:"f",ctrl:!0,action:"move-right"},{name:"b",ctrl:!0,action:"move-left"},{name:"w",ctrl:!0,action:"delete-word-backward"},{name:"backspace",ctrl:!0,action:"delete-word-backward"},{name:"d",meta:!0,action:"delete-word-forward"},{name:"delete",meta:!0,action:"delete-word-forward"},{name:"delete",ctrl:!0,action:"delete-word-forward"},{name:"d",ctrl:!0,shift:!0,action:"delete-line"},{name:"k",ctrl:!0,action:"delete-to-line-end"},{name:"u",ctrl:!0,action:"delete-to-line-start"},{name:"backspace",action:"backspace"},{name:"backspace",shift:!0,action:"backspace"},{name:"d",ctrl:!0,action:"delete"},{name:"delete",action:"delete"},{name:"delete",shift:!0,action:"delete"},{name:"return",action:"newline"},{name:"kpenter",action:"newline"},{name:"linefeed",action:"newline"},{name:"return",meta:!0,action:"submit"},{name:"kpenter",meta:!0,action:"submit"},{name:"-",ctrl:!0,action:"undo"},{name:".",ctrl:!0,action:"redo"},{name:"z",super:!0,action:"undo"},{name:"z",super:!0,shift:!0,action:"redo"},{name:"f",meta:!0,action:"word-forward"},{name:"b",meta:!0,action:"word-backward"},{name:"right",meta:!0,action:"word-forward"},{name:"left",meta:!0,action:"word-backward"},{name:"right",ctrl:!0,action:"word-forward"},{name:"left",ctrl:!0,action:"word-backward"},{name:"f",meta:!0,shift:!0,action:"select-word-forward"},{name:"b",meta:!0,shift:!0,action:"select-word-backward"},{name:"right",meta:!0,shift:!0,action:"select-word-forward"},{name:"left",meta:!0,shift:!0,action:"select-word-backward"},{name:"backspace",meta:!0,action:"delete-word-backward"},{name:"left",super:!0,action:"visual-line-home"},{name:"right",super:!0,action:"visual-line-end"},{name:"up",super:!0,action:"buffer-home"},{name:"down",super:!0,action:"buffer-end"},{name:"left",super:!0,shift:!0,action:"select-visual-line-home"},{name:"right",super:!0,shift:!0,action:"select-visual-line-end"},{name:"up",super:!0,shift:!0,action:"select-buffer-home"},{name:"down",super:!0,shift:!0,action:"select-buffer-end"},{name:"a",super:!0,action:"select-all"}];l6=class l6 extends EY{_placeholder;_placeholderColor;_unfocusedBackgroundColor;_unfocusedTextColor;_focusedBackgroundColor;_focusedTextColor;_keyBindingsMap;_keyAliasMap;_keyBindings;_actionHandlers;_initialValueSet=!1;_submitListener=void 0;static defaults={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"transparent",focusedTextColor:"#FFFFFF",placeholder:null,placeholderColor:"#666666"};constructor(A,q){let E=l6.defaults,g={...q,backgroundColor:q.backgroundColor||E.backgroundColor,textColor:q.textColor||E.textColor};super(A,g);this._unfocusedBackgroundColor=S(q.backgroundColor||E.backgroundColor),this._unfocusedTextColor=S(q.textColor||E.textColor),this._focusedBackgroundColor=S(q.focusedBackgroundColor||q.backgroundColor||E.focusedBackgroundColor),this._focusedTextColor=S(q.focusedTextColor||q.textColor||E.focusedTextColor),this._placeholder=q.placeholder??E.placeholder,this._placeholderColor=S(q.placeholderColor??E.placeholderColor),this._keyAliasMap=tE(dE,q.keyAliasMap||{}),this._keyBindings=q.keyBindings||[];let j=P6(ZY,this._keyBindings);if(this._keyBindingsMap=z6(j,this._keyAliasMap),this._actionHandlers=this.buildActionHandlers(),this._submitListener=q.onSubmit,q.initialValue)this.setText(q.initialValue),this._initialValueSet=!0;this.updateColors(),this.applyPlaceholder(this._placeholder)}applyPlaceholder(A){if(A===null){this.editorView.setPlaceholderStyledText([]);return}if(typeof A==="string"){let E=[Y4(this._placeholderColor)(A)];this.editorView.setPlaceholderStyledText(E)}else this.editorView.setPlaceholderStyledText(A.chunks)}buildActionHandlers(){return new Map([["move-left",()=>this.moveCursorLeft()],["move-right",()=>this.moveCursorRight()],["move-up",()=>this.moveCursorUp()],["move-down",()=>this.moveCursorDown()],["select-left",()=>this.moveCursorLeft({select:!0})],["select-right",()=>this.moveCursorRight({select:!0})],["select-up",()=>this.moveCursorUp({select:!0})],["select-down",()=>this.moveCursorDown({select:!0})],["line-home",()=>this.gotoLineHome()],["line-end",()=>this.gotoLineEnd()],["select-line-home",()=>this.gotoLineHome({select:!0})],["select-line-end",()=>this.gotoLineEnd({select:!0})],["visual-line-home",()=>this.gotoVisualLineHome()],["visual-line-end",()=>this.gotoVisualLineEnd()],["select-visual-line-home",()=>this.gotoVisualLineHome({select:!0})],["select-visual-line-end",()=>this.gotoVisualLineEnd({select:!0})],["select-buffer-home",()=>this.gotoBufferHome({select:!0})],["select-buffer-end",()=>this.gotoBufferEnd({select:!0})],["buffer-home",()=>this.gotoBufferHome()],["buffer-end",()=>this.gotoBufferEnd()],["delete-line",()=>this.deleteLine()],["delete-to-line-end",()=>this.deleteToLineEnd()],["delete-to-line-start",()=>this.deleteToLineStart()],["backspace",()=>this.deleteCharBackward()],["delete",()=>this.deleteChar()],["newline",()=>this.newLine()],["undo",()=>this.undo()],["redo",()=>this.redo()],["word-forward",()=>this.moveWordForward()],["word-backward",()=>this.moveWordBackward()],["select-word-forward",()=>this.moveWordForward({select:!0})],["select-word-backward",()=>this.moveWordBackward({select:!0})],["delete-word-forward",()=>this.deleteWordForward()],["delete-word-backward",()=>this.deleteWordBackward()],["select-all",()=>this.selectAll()],["submit",()=>this.submit()]])}handlePaste(A){this.insertText(XO(JO(A.bytes)))}handleKeyPress(A){if(this.traits.suspend!==!0){let q=lF(this._keyBindingsMap,A);if(q){let E=this._actionHandlers.get(q);if(E)return E()}}if(!A.ctrl&&!A.meta&&!A.super&&!A.hyper){if(A.name==="space")return this.insertText(" "),!0;if(A.sequence){let q=A.sequence.charCodeAt(0);if(q<32)return!1;if(q===127)return!1;return this.insertText(A.sequence),!0}}return!1}updateColors(){let A=this._focused?this._focusedBackgroundColor:this._unfocusedBackgroundColor,q=this._focused?this._focusedTextColor:this._unfocusedTextColor;super.backgroundColor=A,super.textColor=q}focus(){super.focus(),this.updateColors()}blur(){if(super.blur(),!this.isDestroyed)this.updateColors()}get placeholder(){return this._placeholder}set placeholder(A){let q=A??null;if(this._placeholder!==q)this._placeholder=q,this.applyPlaceholder(q),this.requestRender()}get placeholderColor(){return this._placeholderColor}set placeholderColor(A){let q=S(A??l6.defaults.placeholderColor);if(this._placeholderColor!==q)this._placeholderColor=q,this.applyPlaceholder(this._placeholder),this.requestRender()}get backgroundColor(){return this._unfocusedBackgroundColor}set backgroundColor(A){let q=S(A??l6.defaults.backgroundColor);if(this._unfocusedBackgroundColor!==q)this._unfocusedBackgroundColor=q,this.updateColors()}get textColor(){return this._unfocusedTextColor}set textColor(A){let q=S(A??l6.defaults.textColor);if(this._unfocusedTextColor!==q)this._unfocusedTextColor=q,this.updateColors()}set focusedBackgroundColor(A){let q=S(A??l6.defaults.focusedBackgroundColor);if(this._focusedBackgroundColor!==q)this._focusedBackgroundColor=q,this.updateColors()}set focusedTextColor(A){let q=S(A??l6.defaults.focusedTextColor);if(this._focusedTextColor!==q)this._focusedTextColor=q,this.updateColors()}set initialValue(A){if(!this._initialValueSet)this.setText(A),this._initialValueSet=!0}submit(){if(this._submitListener)this._submitListener({});return!0}set onSubmit(A){this._submitListener=A}get onSubmit(){return this._submitListener}set keyBindings(A){this._keyBindings=A;let q=P6(ZY,A);this._keyBindingsMap=z6(q,this._keyAliasMap)}set keyAliasMap(A){this._keyAliasMap=tE(dE,A);let q=P6(ZY,this._keyBindings);this._keyBindingsMap=z6(q,this._keyAliasMap)}get extmarks(){return this.editorView.extmarks}};((A)=>{A.INPUT="input",A.CHANGE="change",A.ENTER="enter"})(nF||={});fg=class fg extends l6{_maxLength;_minLength;_lastCommittedValue="";static defaultOptions={placeholder:"",maxLength:1000,minLength:0,value:""};constructor(A,q){let E=fg.defaultOptions,g=q.maxLength??E.maxLength,j=q.minLength??E.minLength,Z=(q.value??E.value).replace(/[\n\r]/g,"").substring(0,g);if(j>g)throw Error(`InputRenderable: minLength (${j}) cannot be greater than maxLength (${g})`);super(A,{...q,placeholder:q.placeholder??E.placeholder,initialValue:Z,height:1,wrapMode:"none",keyBindings:[{name:"return",action:"submit"},{name:"kpenter",action:"submit"},{name:"linefeed",action:"submit"},...q.keyBindings||[]]});if(this._maxLength=g,this._minLength=j,this._lastCommittedValue=this.plainText,Z)this.cursorOffset=Z.length}newLine(){return!1}handlePaste(A){let q=XO(JO(A.bytes)).replace(/[\n\r]/g,"");if(q)this.insertText(q)}insertText(A){let q=A.replace(/[\n\r]/g,"");if(!q)return;let E=this.plainText.length,g=this._maxLength-E;if(g<=0)return;let j=q.substring(0,g);super.insertText(j),this.emit("input",this.plainText)}get value(){return this.plainText}set value(A){let q=A.substring(0,this._maxLength).replace(/[\n\r]/g,"");if(this.plainText!==q)this.setText(q),this.cursorOffset=q.length,this.emit("input",q)}focus(){super.focus(),this._lastCommittedValue=this.plainText}blur(){if(!this.isDestroyed){let A=this.plainText;if(A!==this._lastCommittedValue)this._lastCommittedValue=A,this.emit("change",A)}super.blur()}submit(){let A=this.plainText;if(A.length<this._minLength)return!1;if(A!==this._lastCommittedValue)this._lastCommittedValue=A,this.emit("change",A);return this.emit("enter",A),!0}deleteCharBackward(){let A=super.deleteCharBackward();return this.emit("input",this.plainText),A}deleteChar(){let A=super.deleteChar();return this.emit("input",this.plainText),A}deleteLine(){let A=super.deleteLine();return this.emit("input",this.plainText),A}deleteWordBackward(){let A=super.deleteWordBackward();return this.emit("input",this.plainText),A}deleteWordForward(){let A=super.deleteWordForward();return this.emit("input",this.plainText),A}deleteToLineStart(){let A=super.deleteToLineStart();return this.emit("input",this.plainText),A}deleteToLineEnd(){let A=super.deleteToLineEnd();return this.emit("input",this.plainText),A}undo(){let A=super.undo();return this.emit("input",this.plainText),A}redo(){let A=super.redo();return this.emit("input",this.plainText),A}deleteCharacter(A){if(A==="backward")this.deleteCharBackward();else this.deleteChar()}set maxLength(A){this._maxLength=A;let q=this.plainText;if(q.length>A)this.setText(q.substring(0,A))}get maxLength(){return this._maxLength}set minLength(A){if(A>this._maxLength)throw Error(`InputRenderable: minLength (${A}) cannot be greater than maxLength (${this._maxLength})`);this._minLength=A}get minLength(){return this._minLength}set placeholder(A){super.placeholder=A}get placeholder(){let A=super.placeholder;return typeof A==="string"?A:""}set initialValue(A){}};nh=MA.fromValues(0,0,0,0);oF=class oF extends pA{_source;_image=null;_pendingImage=null;_loadError=null;_loadController=null;onLoad;onError;_fit;_protocol;loadPromise=null;constructor(A,q){super(A,q);if(this._fit=q.fit??"fit",this._protocol=q.protocol??"auto",this.onLoad=q.onLoad,this.onError=q.onError,q.source!==void 0)this.source=q.source}get source(){return this._source}set source(A){if(A??=void 0,A===this._source)return;if(this._source=A,this._loadController?.abort(),this._loadController=null,this._pendingImage?.dispose(),this._pendingImage=null,A===void 0){this._loadError=null,this._image?.dispose(),this._image=null,this.loadPromise=null,this.requestRender();return}let q=new AbortController;this._loadController=q,this._loadError=null;let E;if(A instanceof _6)try{let g=A.retain();this._pendingImage=g,E=Promise.resolve(g)}catch(g){E=Promise.reject(g)}else E=_6.load(A,{signal:q.signal});this.loadPromise=this.load(E,q)}get image(){return this._image}get fit(){return this._fit}set fit(A){let q=A??"fit";if(this._fit===q)return;this._fit=q,this.requestRender()}get protocol(){return this._protocol}set protocol(A){let q=A??"auto";if(this._protocol===q)return;this._protocol=q,this.requestRender()}get effectiveProtocol(){return oh(this._protocol,this._ctx.capabilities,UY(this._ctx)!==null)}get cellAspectRatio(){let A=UY(this._ctx);if(!A)return 2;let q=A.width/this._ctx.terminalWidth,E=A.height/this._ctx.terminalHeight;return q>0&&E>0?E/q:2}getFittedSize(A,q,E=this.cellAspectRatio,g=this._image?.width??0,j=this._image?.height??0){if(g<=0||j<=0||A<=0||q<=0)return{width:0,height:0};if(this._fit==="fill")return{width:A,height:q};let a=g/j*E,Z=this._fit==="fit"?Math.min(A/a,q):Math.max(A/a,q);return{width:Math.max(1,Math.round(a*Z)),height:Math.max(1,Math.round(Z))}}get loading(){return this._loadController!==null}get loadError(){return this._loadError}render(A,q){if(this.buffered)this.frameBuffer?.clear(nh);super.render(A,q)}renderSelf(A){if(!this._image||this.width<=0||this.height<=0)return;let q=this._fit==="cover"?{width:this.width,height:this.height}:this.getFittedSize(this.width,this.height);if(q.width<=0||q.height<=0)return;let E=this.buffered?0:this._screenX,g=this.buffered?0:this._screenY,j=E+Math.floor((this.width-q.width)/2),a=g+Math.floor((this.height-q.height)/2),Z=UY(this._ctx),G=Z?Math.max(1,Math.round(q.width*Z.width/this._ctx.terminalWidth)):0,M=Z?Math.max(1,Math.round(q.height*Z.height/this._ctx.terminalHeight)):0,Y=0,Q=0,H=this._image.width,N=this._image.height;if(this._fit==="cover"){let X=this.width/(this.height*this.cellAspectRatio);if(H/N>X)H=Math.max(1,Math.round(N*X)),Y=Math.floor((this._image.width-H)/2);else N=Math.max(1,Math.round(H/X)),Q=Math.floor((this._image.height-N)/2)}A.drawImage(this._image,j,a,q.width,q.height,G,M,Y,Q,H,N,this._protocol)}async load(A,q){let E;try{E=await A}catch(j){if(q.signal.aborted||this.isDestroyed||this._loadController!==q)return;this._loadController=null,this._loadError=j,this.onError?.(j);return}if(this.isDestroyed||this._loadController!==q){E.dispose();return}if(this._pendingImage===E)this._pendingImage=null;let g=this._image;this._image=E,this._loadController=null,g?.dispose(),this.requestRender(),this.onLoad?.(E)}destroySelf(){this._loadController?.abort(),this._loadController=null,this._pendingImage?.dispose(),this._pendingImage=null,this._image?.dispose(),this._image=null,super.destroySelf()}};I_=LY();iF={exec:()=>null};rh=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),M6={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:(A)=>new RegExp(`^( {0,3}${A})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:(A)=>new RegExp(`^ {0,${Math.min(3,A-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:(A)=>new RegExp(`^ {0,${Math.min(3,A-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:(A)=>new RegExp(`^ {0,${Math.min(3,A-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:(A)=>new RegExp(`^ {0,${Math.min(3,A-1)}}#`),htmlBeginRegex:(A)=>new RegExp(`^ {0,${Math.min(3,A-1)}}<(?:[a-z].*>|!--)`,"i")},eh=/^(?:[ \t]*(?:\n|$))+/,AS=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,qS=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,rF=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ES=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,NY=/(?:[*+-]|\d{1,9}[.)])/,L9=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,N9=vA(L9).replace(/bull/g,NY).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),gS=vA(L9).replace(/bull/g,NY).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),VY=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,_S=/^[^\n]+/,RY=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,jS=vA(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",RY).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),FS=vA(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,NY).getRegex(),IY=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,aS=vA("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",IY).replace("tag",DZ).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V9=vA(VY).replace("hr",rF).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",DZ).getRegex(),KS=vA(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",V9).getRegex(),hY={blockquote:KS,code:AS,def:jS,fences:qS,heading:ES,hr:rF,html:aS,lheading:N9,list:FS,newline:eh,paragraph:V9,table:iF,text:_S},oX=vA("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",rF).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",DZ).getRegex(),ZS={...hY,lheading:gS,table:oX,paragraph:vA(VY).replace("hr",rF).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",oX).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",DZ).getRegex()},US={...hY,html:vA(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",IY).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:iF,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:vA(VY).replace("hr",rF).replace("heading",` *#{1,6} *[^
279
+ ]`).replace("lheading",N9).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},GS=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,MS=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,R9=/^( {2,}|\\)\n(?!\s*$)/,OS=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,yZ=/[\p{P}\p{S}]/u,SY=/[\s\p{P}\p{S}]/u,I9=/[^\s\p{P}\p{S}]/u,YS=vA(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,SY).getRegex(),h9=/(?!~)[\p{P}\p{S}]/u,QS=/(?!~)[\s\p{P}\p{S}]/u,$S=/(?:[^\s\p{P}\p{S}]|~)/u,HS=vA(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",rh?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),S9=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,TS=vA(S9,"u").replace(/punct/g,yZ).getRegex(),JS=vA(S9,"u").replace(/punct/g,h9).getRegex(),XS=vA(W9,"gu").replace(/notPunctSpace/g,I9).replace(/punctSpace/g,SY).replace(/punct/g,yZ).getRegex(),LS=vA(W9,"gu").replace(/notPunctSpace/g,$S).replace(/punctSpace/g,QS).replace(/punct/g,h9).getRegex(),NS=vA("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,I9).replace(/punctSpace/g,SY).replace(/punct/g,yZ).getRegex(),VS=vA(/\\(punct)/,"gu").replace(/punct/g,yZ).getRegex(),RS=vA(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),IS=vA(IY).replace("(?:-->|$)","-->").getRegex(),hS=vA("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",IS).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),WZ=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,SS=vA(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",WZ).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),B9=vA(/^!?\[(label)\]\[(ref)\]/).replace("label",WZ).replace("ref",RY).getRegex(),x9=vA(/^!?\[(ref)\](?:\[\])?/).replace("ref",RY).getRegex(),WS=vA("reflink|nolink(?!\\()","g").replace("reflink",B9).replace("nolink",x9).getRegex(),rX=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,WY={_backpedal:iF,anyPunctuation:VS,autolink:RS,blockSkip:HS,br:R9,code:MS,del:iF,emStrongLDelim:TS,emStrongRDelimAst:XS,emStrongRDelimUnd:NS,escape:GS,link:SS,nolink:x9,punctuation:YS,reflink:B9,reflinkSearch:WS,tag:hS,text:OS,url:iF},BS={...WY,link:vA(/^!?\[(label)\]\((.*?)\)/).replace("label",WZ).getRegex(),reflink:vA(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",WZ).getRegex()},QY={...WY,emStrongRDelimAst:LS,emStrongLDelim:JS,url:vA(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",rX).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:vA(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",rX).getRegex()},xS={...QY,br:vA(R9).replace("{2,}","*").getRegex(),text:vA(QY.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},hZ={normal:hY,gfm:ZS,pedantic:US},uF={normal:WY,gfm:QY,breaks:xS,pedantic:BS},PS={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};tF=class{options;block;constructor(A){this.options=A||I_}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(A){return A}postprocess(A){return A}processAllTokens(A){return A}emStrongMask(A){return A}provideLexer(){return this.block?G6.lex:G6.lexInline}provideParser(){return this.block?EE.parse:EE.parseInline}},R_=new DS;sA.options=sA.setOptions=function(A){return R_.setOptions(A),sA.defaults=R_.defaults,X9(sA.defaults),sA};sA.getDefaults=LY;sA.defaults=I_;sA.use=function(...A){return R_.use(...A),sA.defaults=R_.defaults,X9(sA.defaults),sA};sA.walkTokens=function(A,q){return R_.walkTokens(A,q)};sA.parseInline=R_.parseInline;sA.Parser=EE;sA.parser=EE.parse;sA.Renderer=xZ;sA.TextRenderer=BY;sA.Lexer=G6;sA.lexer=G6.lex;sA.Tokenizer=BZ;sA.Hooks=tF;sA.parse=sA;Ky=sA.options,Zy=sA.setOptions,Uy=sA.use,Gy=sA.walkTokens,My=sA.parseInline,Oy=EE.parse,Yy=G6.lex;vg=class vg extends pA{_content;_wrapMode;_columnWidthMode;_columnFitter;_cellPaddingX;_cellPaddingY;_columnGap;_showBorders;_border;_outerBorder;_hasExplicitOuterBorder;_borderStyle;_borderColor;_borderBackgroundColor;_backgroundColor;_defaultFg;_defaultBg;_defaultAttributes;_selectionBg;_selectionFg;_lastLocalSelection=null;_lastSelectionMode=null;_cells=[];_prevCellContent=[];_rowCount=0;_columnCount=0;_layout=this.createEmptyLayout();_layoutDirty=!0;_rasterDirty=!0;_cachedMeasureLayout=null;_cachedMeasureWidth=void 0;_defaultOptions={content:[],wrapMode:"word",columnWidthMode:"full",columnFitter:"proportional",cellPadding:0,cellPaddingX:void 0,cellPaddingY:void 0,columnGap:0,showBorders:!0,border:!0,outerBorder:!0,selectable:!0,selectionBg:void 0,selectionFg:void 0,borderStyle:"single",borderColor:"#FFFFFF",borderBackgroundColor:"transparent",backgroundColor:"transparent",fg:"#FFFFFF",bg:"transparent",attributes:0};constructor(A,q={}){super(A,{...q,flexShrink:q.flexShrink??0,buffered:!0});this._content=q.content??this._defaultOptions.content,this._wrapMode=q.wrapMode??this._defaultOptions.wrapMode,this._columnWidthMode=q.columnWidthMode??this._defaultOptions.columnWidthMode,this._columnFitter=this.resolveColumnFitter(q.columnFitter),this._cellPaddingX=this.resolveCellPadding(q.cellPaddingX??q.cellPadding),this._cellPaddingY=this.resolveCellPadding(q.cellPaddingY??q.cellPadding),this._columnGap=this.resolveColumnGap(q.columnGap),this._showBorders=q.showBorders??this._defaultOptions.showBorders,this._border=q.border??this._defaultOptions.border,this._hasExplicitOuterBorder=q.outerBorder!==void 0,this._outerBorder=q.outerBorder??this._border,this.selectable=q.selectable??this._defaultOptions.selectable,this._selectionBg=q.selectionBg?S(q.selectionBg):void 0,this._selectionFg=q.selectionFg?S(q.selectionFg):void 0,this._borderStyle=T_(q.borderStyle,this._defaultOptions.borderStyle),this._borderColor=S(q.borderColor??this._defaultOptions.borderColor),this._borderBackgroundColor=S(q.borderBackgroundColor??this._defaultOptions.borderBackgroundColor),this._backgroundColor=S(q.backgroundColor??this._defaultOptions.backgroundColor),this._defaultFg=S(q.fg??this._defaultOptions.fg),this._defaultBg=S(q.bg??this._defaultOptions.bg),this._defaultAttributes=q.attributes??this._defaultOptions.attributes,this.setupMeasureFunc(),this.rebuildCells()}get content(){return this._content}set content(A){this._content=A??[],this.rebuildCells()}get wrapMode(){return this._wrapMode}set wrapMode(A){if(this._wrapMode===A)return;this._wrapMode=A;for(let q of this._cells)for(let E of q)E.textBufferView.setWrapMode(A);this.invalidateLayoutAndRaster()}get columnWidthMode(){return this._columnWidthMode}set columnWidthMode(A){if(this._columnWidthMode===A)return;this._columnWidthMode=A,this.invalidateLayoutAndRaster()}get columnFitter(){return this._columnFitter}set columnFitter(A){let q=this.resolveColumnFitter(A);if(this._columnFitter===q)return;this._columnFitter=q,this.invalidateLayoutAndRaster()}get cellPadding(){return this._cellPaddingX===this._cellPaddingY?this._cellPaddingX:0}set cellPadding(A){let q=this.resolveCellPadding(A);if(this._cellPaddingX===q&&this._cellPaddingY===q)return;this._cellPaddingX=q,this._cellPaddingY=q,this.invalidateLayoutAndRaster()}get cellPaddingX(){return this._cellPaddingX}set cellPaddingX(A){let q=this.resolveCellPadding(A);if(this._cellPaddingX===q)return;this._cellPaddingX=q,this.invalidateLayoutAndRaster()}get cellPaddingY(){return this._cellPaddingY}set cellPaddingY(A){let q=this.resolveCellPadding(A);if(this._cellPaddingY===q)return;this._cellPaddingY=q,this.invalidateLayoutAndRaster()}get columnGap(){return this._columnGap}set columnGap(A){let q=this.resolveColumnGap(A);if(this._columnGap===q)return;this._columnGap=q,this.invalidateLayoutAndRaster()}get showBorders(){return this._showBorders}set showBorders(A){if(this._showBorders===A)return;this._showBorders=A,this.invalidateRasterOnly()}get outerBorder(){return this._outerBorder}set outerBorder(A){if(this._outerBorder===A)return;this._hasExplicitOuterBorder=!0,this._outerBorder=A,this.invalidateLayoutAndRaster()}get border(){return this._border}set border(A){if(this._border===A)return;if(this._border=A,!this._hasExplicitOuterBorder)this._outerBorder=A;this.invalidateLayoutAndRaster()}get borderStyle(){return this._borderStyle}set borderStyle(A){let q=T_(A,this._defaultOptions.borderStyle);if(this._borderStyle===q)return;this._borderStyle=q,this.invalidateRasterOnly()}get borderColor(){return this._borderColor}set borderColor(A){let q=S(A);if(this._borderColor===q)return;this._borderColor=q,this.invalidateRasterOnly()}shouldStartSelection(A,q){if(!this.selectable)return!1;this.ensureLayoutReady();let E=A-this.x,g=q-this.y;return this.getCellAtLocalPosition(E,g)!==null}onSelectionChanged(A){this.ensureLayoutReady();let q=this._lastLocalSelection,E=Lj(A,this.x,this.y);this._lastLocalSelection=E;let g=this.getDirtySelectionRowRange(q,E);if(!E?.isActive)this.resetCellSelections(),this._lastSelectionMode=null;else this.applySelectionToCells(E,A?.isStart??!1);if(g!==null)this.redrawSelectionRows(g.firstRow,g.lastRow);return this.hasSelection()}hasSelection(){for(let A of this._cells)for(let q of A)if(q.textBufferView.hasSelection())return!0;return!1}getSelection(){for(let A of this._cells)for(let q of A){let E=q.textBufferView.getSelection();if(E)return E}return null}getSelectedText(){let A=[];for(let q=0;q<this._rowCount;q++){let E=[];for(let g=0;g<this._columnCount;g++){let j=this._cells[q]?.[g];if(!j||!j.textBufferView.hasSelection())continue;let a=j.textBufferView.getSelectedText();if(a.length>0)E.push(a)}if(E.length>0)A.push(E.join("\t"))}return A.join(`
280
+ `)}onResize(A,q){this.invalidateLayoutAndRaster(!1),super.onResize(A,q)}renderSelf(A){if(!this.visible||this.isDestroyed)return;if(this._layoutDirty)this.rebuildLayoutForCurrentWidth();if(!this._rasterDirty)return;if(A.clear(this._backgroundColor),this._rowCount===0||this._columnCount===0){this._rasterDirty=!1;return}this.drawBorders(A),this.drawCells(A),this._rasterDirty=!1}destroySelf(){this.destroyCells(),super.destroySelf()}setupMeasureFunc(){let A=(q,E,g,j)=>{let Z=E!==0&&Number.isFinite(q)?Math.max(1,Math.floor(q)):void 0,G=this.resolveLayoutWidthConstraint(Z),M=this.computeLayout(G);this._cachedMeasureLayout=M,this._cachedMeasureWidth=G;let Y=M.tableWidth>0?M.tableWidth:1,Q=M.tableHeight>0?M.tableHeight:1;if(E===2&&Z!==void 0&&this._positionType!=="absolute")Y=Math.min(Z,Y);return{width:Y,height:Q}};this.yogaNode.setMeasureFunc(A)}rebuildCells(){let A=this._content.length,q=this._content.reduce((E,g)=>Math.max(E,g.length),0);if(this._cells.length===0){this._rowCount=A,this._columnCount=q,this._cells=[],this._prevCellContent=[];for(let E=0;E<A;E++){let g=this._content[E]??[],j=[],a=[];for(let Z=0;Z<q;Z++){let G=g[Z];j.push(this.createCell(G)),a.push(G)}this._cells.push(j),this._prevCellContent.push(a)}this.invalidateLayoutAndRaster();return}this.updateCellsDiff(A,q),this.invalidateLayoutAndRaster()}updateCellsDiff(A,q){let E=this._rowCount,g=this._columnCount,j=Math.min(E,A),a=Math.min(g,q);for(let Z=0;Z<j;Z++){let G=this._content[Z]??[],M=this._cells[Z],Y=this._prevCellContent[Z];for(let Q=0;Q<a;Q++){let H=G[Q];if(H===Y[Q])continue;let N=M[Q];N.textBufferView.destroy(),N.textBuffer.destroy(),N.syntaxStyle.destroy(),M[Q]=this.createCell(H),Y[Q]=H}if(q>g)for(let Q=g;Q<q;Q++){let H=G[Q];M.push(this.createCell(H)),Y.push(H)}else if(q<g){for(let Q=q;Q<g;Q++){let H=M[Q];H.textBufferView.destroy(),H.textBuffer.destroy(),H.syntaxStyle.destroy()}M.length=q,Y.length=q}}if(A>E)for(let Z=E;Z<A;Z++){let G=this._content[Z]??[],M=[],Y=[];for(let Q=0;Q<q;Q++){let H=G[Q];M.push(this.createCell(H)),Y.push(H)}this._cells.push(M),this._prevCellContent.push(Y)}else if(A<E){for(let Z=A;Z<E;Z++){let G=this._cells[Z];for(let M of G)M.textBufferView.destroy(),M.textBuffer.destroy(),M.syntaxStyle.destroy()}this._cells.length=A,this._prevCellContent.length=A}this._rowCount=A,this._columnCount=q}createCell(A){let q=this.toStyledText(A),E=Nj.create(this._ctx.widthMethod),g=pE.create();E.setDefaultFg(this._defaultFg),E.setDefaultBg(this._defaultBg),E.setDefaultAttributes(this._defaultAttributes),E.setSyntaxStyle(g),E.setStyledText(q);let j=cF.create(E);return j.setWrapMode(this._wrapMode),{textBuffer:E,textBufferView:j,syntaxStyle:g}}toStyledText(A){if(Array.isArray(A))return new OE(A);if(A===null||A===void 0)return J_("");return J_(String(A))}destroyCells(){for(let A of this._cells)for(let q of A)q.textBufferView.destroy(),q.textBuffer.destroy(),q.syntaxStyle.destroy();this._cells=[],this._prevCellContent=[],this._rowCount=0,this._columnCount=0,this._layout=this.createEmptyLayout()}rebuildLayoutForCurrentWidth(){let A=this.resolveLayoutWidthConstraint(this.width),q;if(this._cachedMeasureLayout!==null&&this._cachedMeasureWidth===A)q=this._cachedMeasureLayout;else q=this.computeLayout(A);if(this._cachedMeasureLayout=null,this._cachedMeasureWidth=void 0,this._layout=q,this.applyLayoutToViews(q),this._layoutDirty=!1,this._lastLocalSelection?.isActive)this.applySelectionToCells(this._lastLocalSelection,!0)}computeLayout(A){if(this._rowCount===0||this._columnCount===0)return this.createEmptyLayout();let q=this.resolveBorderLayout(),E=this.computeColumnWidths(A,q),g=this.computeRowHeights(E),j=this.computeOffsets(E,q.left,q.right,q.innerVertical,this.getInterColumnGap(q)),a=this.computeOffsets(g,q.top,q.bottom,q.innerHorizontal);return{columnWidths:E,rowHeights:g,columnOffsets:j,rowOffsets:a,columnOffsetsI32:new Int32Array(j),rowOffsetsI32:new Int32Array(a),tableWidth:(j[j.length-1]??0)+1,tableHeight:(a[a.length-1]??0)+1}}isFullWidthMode(){return this._columnWidthMode==="full"}computeColumnWidths(A,q){let E=this.getHorizontalCellPadding(),g=Array(this._columnCount).fill(1+E);for(let Z=0;Z<this._rowCount;Z++)for(let G=0;G<this._columnCount;G++){let M=this._cells[Z]?.[G];if(!M)continue;let Y=M.textBufferView.measureForDimensions(0,_9),Q=Math.max(1,Y?.widthColsMax??0)+E;g[G]=Math.max(g[G],Q)}if(A===void 0||!Number.isFinite(A)||A<=0)return g;let j=Math.max(1,Math.floor(A)-this.getVerticalBorderCount(q)-this.getTotalInterColumnGap(q)),a=g.reduce((Z,G)=>Z+G,0);if(a===j)return g;if(a<j){if(this.isFullWidthMode())return this.expandColumnWidths(g,j);return g}if(this._wrapMode==="none")return g;return this.fitColumnWidths(g,j)}expandColumnWidths(A,q){let E=A.map((Y)=>Math.max(1,Math.floor(Y))),g=E.reduce((Y,Q)=>Y+Q,0);if(g>=q)return E;let j=[...E],a=j.length,Z=q-g,G=Math.floor(Z/a),M=Z%a;for(let Y=0;Y<a;Y++)if(j[Y]+=G,Y<M)j[Y]+=1;return j}fitColumnWidths(A,q){if(this._columnFitter==="balanced")return this.fitColumnWidthsBalanced(A,q);return this.fitColumnWidthsProportional(A,q)}fitColumnWidthsProportional(A,q){let E=1+this.getHorizontalCellPadding();return yS(A,q,E)}fitColumnWidthsBalanced(A,q){let E=1+this.getHorizontalCellPadding(),g=Array(A.length).fill(E),j=A.map((I)=>Math.max(1,Math.floor(I))),a=j.reduce((I,W)=>I+W,0),Z=j.length;if(Z===0||a<=q)return j;let G=Math.max(E,Math.floor(q/Z)),M=j.map((I)=>Math.min(I,G)),Q=M.reduce((I,W)=>I+W,0)<=q?M:g,H=Q.reduce((I,W)=>I+W,0),N=Math.max(H,q);if(a<=N)return j;let X=j.map((I,W)=>I-Q[W]);if(X.reduce((I,W)=>I+W,0)<=0)return[...Q];let J=a-N,V=this.allocateShrinkByWeight(X,J,"sqrt");return j.map((I,W)=>Math.max(Q[W],I-V[W]))}allocateShrinkByWeight(A,q,E){let g=Array(A.length).fill(0);if(q<=0)return g;let j=A.map((Y)=>{if(Y<=0)return 0;return E==="sqrt"?Math.sqrt(Y):Y}),a=j.reduce((Y,Q)=>Y+Q,0);if(a<=0)return g;let Z=Array(A.length).fill(0),G=0;for(let Y=0;Y<A.length;Y++){if(A[Y]<=0||j[Y]<=0)continue;let Q=j[Y]/a*q,H=Math.min(A[Y],Math.floor(Q));g[Y]=H,Z[Y]=Q-H,G+=H}let M=q-G;while(M>0){let Y=-1,Q=-1;for(let H=0;H<A.length;H++){if(A[H]-g[H]<=0)continue;if(Y===-1||Z[H]>Q||Z[H]===Q&&A[H]>A[Y])Y=H,Q=Z[H]}if(Y===-1)break;g[Y]+=1,Z[Y]=0,M-=1}return g}computeRowHeights(A){let q=this.getHorizontalCellPadding(),E=this.getVerticalCellPadding(),g=Array(this._rowCount).fill(1+E);for(let j=0;j<this._rowCount;j++)for(let a=0;a<this._columnCount;a++){let Z=this._cells[j]?.[a];if(!Z)continue;let G=Math.max(1,(A[a]??1)-q),M=Z.textBufferView.measureForDimensions(G,_9),Y=Math.max(1,M?.lineCount??1);g[j]=Math.max(g[j],Y+E)}return g}computeOffsets(A,q,E,g,j=0){let a=[q?0:-1],Z=a[0]??0;for(let G=0;G<A.length;G++){let M=A[G]??1,Y=G<A.length-1?g?1:j:E?1:0;Z+=M+Y,a.push(Z)}return a}getInterColumnGap(A){if(A.innerVertical)return 0;return this._columnGap}getTotalInterColumnGap(A){return Math.max(0,this._columnCount-1)*this.getInterColumnGap(A)}applyLayoutToViews(A){let q=this.getHorizontalCellPadding(),E=this.getVerticalCellPadding();for(let g=0;g<this._rowCount;g++)for(let j=0;j<this._columnCount;j++){let a=this._cells[g]?.[j];if(!a)continue;let Z=A.columnWidths[j]??1,G=A.rowHeights[g]??1,M=Math.max(1,Z-q),Y=Math.max(1,G-E);if(this._wrapMode==="none")a.textBufferView.setWrapWidth(null);else a.textBufferView.setWrapWidth(M);a.textBufferView.setViewport(0,0,M,Y)}}resolveBorderLayout(){return{left:this._outerBorder,right:this._outerBorder,top:this._outerBorder,bottom:this._outerBorder,innerVertical:this._border&&this._columnCount>1,innerHorizontal:this._border&&this._rowCount>1}}getVerticalBorderCount(A){return(A.left?1:0)+(A.right?1:0)+(A.innerVertical?Math.max(0,this._columnCount-1):0)}getHorizontalBorderCount(A){return(A.top?1:0)+(A.bottom?1:0)+(A.innerHorizontal?Math.max(0,this._rowCount-1):0)}drawBorders(A){if(!this._showBorders)return;let q=this.resolveBorderLayout();if(this.getVerticalBorderCount(q)===0&&this.getHorizontalBorderCount(q)===0)return;A.drawGrid({borderChars:qO[this._borderStyle],borderFg:this._borderColor,borderBg:this._borderBackgroundColor,columnOffsets:this._layout.columnOffsetsI32,rowOffsets:this._layout.rowOffsetsI32,drawInner:this._border,drawOuter:this._outerBorder})}drawCells(A){this.drawCellRange(A,0,this._rowCount-1)}drawCellRange(A,q,E){let g=this._layout.columnOffsets,j=this._layout.rowOffsets,a=this._cellPaddingX,Z=this._cellPaddingY;for(let G=q;G<=E;G++){let M=(j[G]??0)+1+Z;for(let Y=0;Y<this._columnCount;Y++){let Q=this._cells[G]?.[Y];if(!Q)continue;A.drawTextBuffer(Q.textBufferView,(g[Y]??0)+1+a,M)}}}redrawSelectionRows(A,q){if(A>q)return;if(this._backgroundColor.a<1){this.invalidateRasterOnly();return}let E=this.frameBuffer;if(!E)return;this.clearCellRange(E,A,q),this.drawCellRange(E,A,q),this.requestRender()}clearCellRange(A,q,E){let g=this._layout.columnWidths,j=this._layout.rowHeights,a=this._layout.columnOffsets,Z=this._layout.rowOffsets;for(let G=q;G<=E;G++){let M=(Z[G]??0)+1,Y=j[G]??1;for(let Q=0;Q<this._columnCount;Q++){let H=(a[Q]??0)+1,N=g[Q]??1;if(this._backgroundColor.a<1)for(let X=M;X<M+Y;X++)for(let T=H;T<H+N;T++)A.setCell(T,X," ",this._defaultFg,this._backgroundColor,this._defaultAttributes);else A.fillRect(H,M,N,Y,this._backgroundColor)}}}ensureLayoutReady(){if(!this._layoutDirty)return;this.rebuildLayoutForCurrentWidth()}getCellAtLocalPosition(A,q){if(this._rowCount===0||this._columnCount===0)return null;if(A<0||q<0||A>=this._layout.tableWidth||q>=this._layout.tableHeight)return null;let E=-1;for(let j=0;j<this._rowCount;j++){let a=(this._layout.rowOffsets[j]??0)+1,Z=a+(this._layout.rowHeights[j]??1)-1;if(q>=a&&q<=Z){E=j;break}}if(E<0)return null;let g=-1;for(let j=0;j<this._columnCount;j++){let a=(this._layout.columnOffsets[j]??0)+1,Z=a+(this._layout.columnWidths[j]??1)-1;if(A>=a&&A<=Z){g=j;break}}if(g<0)return null;return{rowIdx:E,colIdx:g}}applySelectionToCells(A,q){if(A.anchorX===A.focusX&&A.anchorY===A.focusY){this.resetCellSelections(),this._lastSelectionMode=null;return}let E=Math.min(A.anchorY,A.focusY),g=Math.max(A.anchorY,A.focusY),j=this.findRowForLocalY(E),a=this.findRowForLocalY(g),Z=this.resolveSelectionResolution(A),G=this._lastSelectionMode!==Z.mode;this._lastSelectionMode=Z.mode;let M=Z.mode==="column-locked"&&Z.anchorColumn!==null;for(let Y=0;Y<this._rowCount;Y++){if(Y<j||Y>a){this.resetRowSelection(Y);continue}let Q=(this._layout.rowOffsets[Y]??0)+1+this._cellPaddingY;for(let H=0;H<this._columnCount;H++){let N=this._cells[Y]?.[H];if(!N)continue;if(M&&H!==Z.anchorColumn){N.textBufferView.resetLocalSelection();continue}let X=(this._layout.columnOffsets[H]??0)+1+this._cellPaddingX,T={anchorX:A.anchorX-X,anchorY:A.anchorY-Q,focusX:A.focusX-X,focusY:A.focusY-Q},J=Z.anchorCell!==null&&Z.anchorCell.rowIdx===Y&&Z.anchorCell.colIdx===H;if(Z.mode==="single-cell"&&!J){N.textBufferView.resetLocalSelection();continue}let V=J&&Z.mode!=="single-cell";if(V)T=this.getFullCellSelectionCoords(Y,H);if(q||G||V)N.textBufferView.setLocalSelection(T.anchorX,T.anchorY,T.focusX,T.focusY,this._selectionBg,this._selectionFg);else N.textBufferView.updateLocalSelection(T.anchorX,T.anchorY,T.focusX,T.focusY,this._selectionBg,this._selectionFg)}}}resolveSelectionResolution(A){let q=this.getCellAtLocalPosition(A.anchorX,A.anchorY),E=this.getCellAtLocalPosition(A.focusX,A.focusY),g=q?.colIdx??this.getColumnAtLocalX(A.anchorX);if(q!==null&&E!==null&&q.rowIdx===E.rowIdx&&q.colIdx===E.colIdx)return{mode:"single-cell",anchorCell:q,anchorColumn:g};let j=this.getColumnAtLocalX(A.focusX);if(g!==null&&j===g)return{mode:"column-locked",anchorCell:q,anchorColumn:g};return{mode:"grid",anchorCell:q,anchorColumn:g}}getColumnAtLocalX(A){if(this._columnCount===0)return null;if(A<0||A>=this._layout.tableWidth)return null;for(let q=0;q<this._columnCount;q++){let E=(this._layout.columnOffsets[q]??0)+1,g=E+(this._layout.columnWidths[q]??1)-1;if(A>=E&&A<=g)return q}return null}getFullCellSelectionCoords(A,q){let E=this._layout.columnWidths[q]??1,g=this._layout.rowHeights[A]??1,j=Math.max(1,E-this.getHorizontalCellPadding()),a=Math.max(1,g-this.getVerticalCellPadding());return{anchorX:-1,anchorY:0,focusX:j,focusY:a}}findRowForLocalY(A){if(this._rowCount===0)return 0;if(A<0)return 0;for(let q=0;q<this._rowCount;q++){let g=(this._layout.rowOffsets[q]??0)+1+(this._layout.rowHeights[q]??1)-1;if(A<=g)return q}return this._rowCount-1}getSelectionRowRange(A){if(!A?.isActive||this._rowCount===0)return null;let q=Math.min(A.anchorY,A.focusY),E=Math.max(A.anchorY,A.focusY);return{firstRow:this.findRowForLocalY(q),lastRow:this.findRowForLocalY(E)}}getDirtySelectionRowRange(A,q){let E=this.getSelectionRowRange(A),g=this.getSelectionRowRange(q);if(E===null)return g;if(g===null)return E;return{firstRow:Math.min(E.firstRow,g.firstRow),lastRow:Math.max(E.lastRow,g.lastRow)}}resetRowSelection(A){let q=this._cells[A];if(!q)return;for(let E of q)E.textBufferView.resetLocalSelection()}resetCellSelections(){for(let A=0;A<this._rowCount;A++)this.resetRowSelection(A)}createEmptyLayout(){return{columnWidths:[],rowHeights:[],columnOffsets:[0],rowOffsets:[0],columnOffsetsI32:new Int32Array([0]),rowOffsetsI32:new Int32Array([0]),tableWidth:0,tableHeight:0}}resolveLayoutWidthConstraint(A){if(A===void 0||!Number.isFinite(A)||A<=0)return;if(this._wrapMode!=="none"||this.isFullWidthMode())return Math.max(1,Math.floor(A));return}getHorizontalCellPadding(){return this._cellPaddingX*2}getVerticalCellPadding(){return this._cellPaddingY*2}resolveColumnFitter(A){if(A===void 0)return this._defaultOptions.columnFitter;return A==="balanced"?"balanced":"proportional"}resolveCellPadding(A){if(A===void 0||!Number.isFinite(A))return this._defaultOptions.cellPadding;return Math.max(0,Math.floor(A))}resolveColumnGap(A){if(A===void 0||!Number.isFinite(A))return this._defaultOptions.columnGap;return Math.max(0,Math.floor(A))}invalidateLayoutAndRaster(A=!0){if(this._layoutDirty=!0,this._rasterDirty=!0,this._cachedMeasureLayout=null,this._cachedMeasureWidth=void 0,A)this.yogaNode.markDirty();this.requestRender()}invalidateRasterOnly(){this._rasterDirty=!0,this.requestRender()}};j9=/(?:\r?\n){2,}$/,F9=/(?:\r?\n)+$/,wS=new TextEncoder;N_=class N_ extends pA{static _capabilitySubscriptions=new WeakMap;_content="";_syntaxStyle;_fg;_bg;_conceal;_concealCode;_treeSitterClient;_tableOptions;_renderNode;_internalBlockMode;_parseState=null;_streaming=!1;_blockStates=[];_stableBlockCount=0;_styleDirty=!1;_highlightMarkdownLinks=(A,q)=>this.addMarkdownLinkHighlights(A,q.content);_linkifyMarkdownChunks=y4;_ownedStructuredRenderables=new WeakSet;handleCapabilities(){if(!this._renderNode&&!this._content.includes("]"))return;let A=this._highlightMarkdownLinks;this._highlightMarkdownLinks=(q,E)=>this.addMarkdownLinkHighlights(q,E.content);for(let q of this._blockStates){let E=[[q.renderable,q.token]];while(E.length>0){let[g,j]=E.pop();if(g instanceof vg&&j?.type==="table"&&this._ownedStructuredRenderables.has(g)){let{cache:a}=this.buildTableContentCache(j,g===q.renderable?q.tableContentCache:void 0,!0);if(a){if(g.content=a.content,g===q.renderable)q.tableContentCache=a}continue}if(g instanceof Mq&&g.filetype==="markdown"&&g.onChunks===this._linkifyMarkdownChunks&&g.onHighlight===A){if(this._streaming&&j)g.initialStyledText=this.createInitialStyledText(j);g.onHighlight=this._highlightMarkdownLinks}if(j?.type==="list"&&this._ownedStructuredRenderables.has(g)){let a=j.items,Z=g.getChildren();for(let G=0;G<a.length;G++){let M=Z[G]?.getChildren()[1]?.getChildren()??[],Y=this.getRenderableListItemTokens(a[G]);for(let Q=0;Q<M.length;Q++)E.push([M[Q],Y[Q]])}continue}for(let a of g.getChildren())E.push([a,j])}}this.requestRender()}_contentDefaultOptions={content:"",conceal:!0,concealCode:!1,streaming:!1,internalBlockMode:"coalesced"};constructor(A,q){super(A,{...q,flexDirection:"column",flexShrink:q.flexShrink??0});this._syntaxStyle=q.syntaxStyle,this._fg=q.fg?S(q.fg):void 0,this._bg=q.bg?S(q.bg):void 0,this._conceal=q.conceal??this._contentDefaultOptions.conceal,this._concealCode=q.concealCode??this._contentDefaultOptions.concealCode,this._content=q.content??this._contentDefaultOptions.content,this._treeSitterClient=q.treeSitterClient,this._tableOptions=q.tableOptions,this._renderNode=q.renderNode,this._streaming=q.streaming??this._contentDefaultOptions.streaming,this._internalBlockMode=q.internalBlockMode??this._contentDefaultOptions.internalBlockMode,this.updateBlocks();let E=N_._capabilitySubscriptions.get(A);if(!E){let g=new Set,j=A.capabilities?.hyperlinks===!0;E={renderables:g,listener:(a)=>{if(j===(a.hyperlinks===!0))return;j=a.hyperlinks===!0;for(let Z of g)Z.handleCapabilities()}},A.on("capabilities",E.listener),N_._capabilitySubscriptions.set(A,E)}E.renderables.add(this)}get content(){return this._content}set content(A){if(this.isDestroyed)return;if(this._content!==A)this._content=A,this.updateBlocks(),this.requestRender()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle(A){if(this._syntaxStyle!==A)this._syntaxStyle=A,this._styleDirty=!0}get fg(){return this._fg}set fg(A){let q=A?S(A):void 0;if(!K9(this._fg,q))this._fg=q,this._styleDirty=!0}get bg(){return this._bg}set bg(A){let q=A?S(A):void 0;if(!K9(this._bg,q))this._bg=q,this._styleDirty=!0}get conceal(){return this._conceal}set conceal(A){if(this._conceal!==A)this._conceal=A,this._styleDirty=!0}get concealCode(){return this._concealCode}set concealCode(A){if(this._concealCode!==A)this._concealCode=A,this._styleDirty=!0}get streaming(){return this._streaming}set streaming(A){if(this.isDestroyed)return;if(this._streaming!==A)this._streaming=A,this.updateBlocks(!0)}get tableOptions(){return this._tableOptions}set tableOptions(A){this._tableOptions=A,this.applyTableOptionsToBlocks()}get renderNode(){return this._renderNode}set renderNode(A){if(this._renderNode===A)return;this._renderNode=A,this.clearBlockStates(),this._parseState=null,this.updateBlocks(!0),this.requestRender()}get internalBlockMode(){return this._internalBlockMode}set internalBlockMode(A){if(this._internalBlockMode===A)return;this._internalBlockMode=A,this.updateBlocks(!0),this.requestRender()}getStyle(A){if(!this._syntaxStyle)return;let q=this._syntaxStyle.getStyle(A);if(!q&&A.includes(".")){let E=A.split(".")[0];q=this._syntaxStyle.getStyle(E)}return q}createChunk(A,q,E){let g=this.getStyle(q)||this.getStyle("default");return{__isChunk:!0,text:A,fg:g?.fg,bg:g?.bg,attributes:g?f6({bold:g.bold,italic:g.italic,underline:g.underline,dim:g.dim}):0,link:E}}createDefaultChunk(A,q){return this.createChunk(A,"default",q)}createInitialStyledText(A){if(!this._streaming)return;let q=[];if("tokens"in A&&Array.isArray(A.tokens))this.renderInlineContent(A.tokens,q);if(q.length===0&&"text"in A&&typeof A.text==="string")this.renderInlineContent(G6.lexInline(A.text),q);return q.length>0?new OE(q):void 0}renderInlineContent(A,q,E){for(let g of A)this.renderInlineToken(g,q,E)}renderInlineToken(A,q,E){switch(A.type){case"text":q.push(this.createDefaultChunk(A.text,E));break;case"escape":q.push(this.createDefaultChunk(A.text,E));break;case"codespan":if(this._conceal)q.push(this.createChunk(A.text,"markup.raw"));else q.push(this.createChunk("`","markup.raw")),q.push(this.createChunk(A.text,"markup.raw")),q.push(this.createChunk("`","markup.raw"));break;case"strong":if(!this._conceal)q.push(this.createChunk("**","markup.strong",E));for(let g of A.tokens)this.renderInlineTokenWithStyle(g,q,"markup.strong",E);if(!this._conceal)q.push(this.createChunk("**","markup.strong",E));break;case"em":if(!this._conceal)q.push(this.createChunk("*","markup.italic",E));for(let g of A.tokens)this.renderInlineTokenWithStyle(g,q,"markup.italic",E);if(!this._conceal)q.push(this.createChunk("*","markup.italic",E));break;case"del":if(!this._conceal)q.push(this.createChunk("~~","markup.strikethrough",E));for(let g of A.tokens)this.renderInlineTokenWithStyle(g,q,"markup.strikethrough",E);if(!this._conceal)q.push(this.createChunk("~~","markup.strikethrough",E));break;case"link":{let g={url:A.href};if(this._conceal){for(let j of A.tokens)this.renderInlineTokenWithStyle(j,q,"markup.link.label",g);if((this.ctx.capabilities?.hyperlinks!==!0||!a9(A.href))&&A.text!==A.href&&A.raw!==A.text&&A.raw!==`<${A.text}>`)q.push(this.createChunk(" (","markup.link",g)),q.push(this.createChunk(A.href,"markup.link.url",g)),q.push(this.createChunk(")","markup.link",g))}else if(A.raw===A.text||A.raw===`<${A.text}>`){if(A.raw.startsWith("<"))q.push(this.createChunk("<","markup.link",g));for(let j of A.tokens)this.renderInlineTokenWithStyle(j,q,"markup.link.label",g);if(A.raw.startsWith("<"))q.push(this.createChunk(">","markup.link",g))}else{q.push(this.createChunk("[","markup.link",g));for(let j of A.tokens)this.renderInlineTokenWithStyle(j,q,"markup.link.label",g);q.push(this.createChunk("](","markup.link",g)),q.push(this.createChunk(A.href,"markup.link.url",g)),q.push(this.createChunk(")","markup.link",g))}break}case"image":{let g=E??{url:A.href};if(this._conceal)q.push(this.createChunk(A.text||"image","markup.link.label",g));else q.push(this.createChunk("![","markup.link",g)),q.push(this.createChunk(A.text||"","markup.link.label",g)),q.push(this.createChunk("](","markup.link",g)),q.push(this.createChunk(A.href,"markup.link.url",g)),q.push(this.createChunk(")","markup.link",g));break}case"br":q.push(this.createDefaultChunk(`
281
+ `,E));break;default:if("tokens"in A&&Array.isArray(A.tokens))this.renderInlineContent(A.tokens,q,E);else if("text"in A&&typeof A.text==="string")q.push(this.createDefaultChunk(A.text,E));break}}renderInlineTokenWithStyle(A,q,E,g){switch(A.type){case"text":q.push(this.createChunk(A.text,E,g));break;case"escape":q.push(this.createChunk(A.text,E,g));break;case"codespan":if(this._conceal)q.push(this.createChunk(A.text,"markup.raw",g));else q.push(this.createChunk("`","markup.raw",g)),q.push(this.createChunk(A.text,"markup.raw",g)),q.push(this.createChunk("`","markup.raw",g));break;default:this.renderInlineToken(A,q,g);break}}addMarkdownLinkHighlights(A,q){if(!A.some(([,,G])=>G==="markup.link.url"||G==="string.special.url"))return A;let E=[...A],g=new Map,j=new Map,a=[];for(let G=0;G<A.length;G++){let M=A[G],[Y,Q,H,N]=M;if(H==="markup.link.label"&&Y<Q&&!g.has(Q))g.set(Q,M);if(Q===Y+1&&N?.conceal===" "&&!j.has(Y))j.set(Y,G);if(H==="markup.link"&&q.slice(Y,Q)===")")a.push(M)}let Z=0;for(let G=0;G<A.length;G++){let[M,Y,Q,H]=A[G];if(Q!=="markup.link.url"&&Q!=="string.special.url")continue;let N=M,X=Y;if(q[M]==="<"&&q[Y-1]===">"){if(N++,X--,E[G]=[N,X,Q,H],this._conceal)E.push([M,M+1,"conceal",{conceal:"",isInjection:!0}]),E.push([Y-1,Y,"conceal",{conceal:"",isInjection:!0}])}let T=M;while(T>0&&/\s/.test(q[T-1]))T--;if(!this._conceal||q[T-1]!=="("||q[T-2]!=="]")continue;let J=g.get(T-2);if(!J)continue;let V=q.slice(N,X),I=Q==="markup.link.url"?LO(V):V;if((this.ctx.capabilities?.hyperlinks!==!0||!a9(I))&&q.slice(J[0],J[1])!==I)continue;while(Z<a.length&&a[Z][0]<Y)Z++;let W=a[Z];if(!W)continue;let C=j.get(T-2);if(C!==void 0){let[c,D,v,k]=E[C];E[C]=[c,D,v,{...k,conceal:""}]}E.push([T-1,W[1],"conceal",{conceal:"",isInjection:!0}])}return E}applyMargins(A,q,E){A.marginTop=q,A.marginBottom=E}createMarkdownCodeRenderable(A,q,E=0,g=this._linkifyMarkdownChunks,j,a){return new Mq(this.ctx,{id:q,content:A,filetype:"markdown",syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._conceal,drawUnstyledText:a!==void 0,streaming:!0,initialStyledText:a,baseHighlight:j,onHighlight:this._highlightMarkdownLinks,onChunks:g,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom:E})}getBlockquoteContent(A){return"text"in A&&typeof A.text==="string"&&A.text?A.text:" "}getBlockquoteBorderColor(){return this.getStyle("conceal")?.fg??this.getStyle("default")?.fg??this._fg??"#FFFFFF"}createBlockquoteRenderable(A,q,E=0){let g=new Hq(this.ctx,{id:q,width:"100%",border:["left"],borderColor:this.getBlockquoteBorderColor(),paddingLeft:1,flexShrink:0,marginBottom:E});return g.add(this.createMarkdownCodeRenderable(this.getBlockquoteContent(A),`${q}-content`,0,this._linkifyMarkdownChunks,"markup.quote")),g}createListRenderable(A,q,E=0){let g=new Hq(this.ctx,{id:q,width:"100%",flexDirection:"column",flexShrink:0,marginBottom:E});this._ownedStructuredRenderables.add(g);for(let j of this.getListItemInputs(A,q))g.add(this.createListItemRenderable(j));return g}getListItemInputs(A,q){let E=A.items??[],g=A.start===""||A.start===void 0||A.start===null?1:Number(A.start),j=Math.max(1,...E.map((a,Z)=>(A.ordered?`${g+Z}.`:"-").length));return E.map((a,Z)=>({item:a,marker:A.ordered?`${g+Z}.`:"-",markerWidth:j,id:`${q}-item-${Z}`}))}applyListRenderable(A,q,E,g,j=0){if(!(A instanceof Hq))return!1;A.marginBottom=j;let a=this.getListItemInputs(q,g),Z=E?.items??[],G=A.getChildren();for(let M=0;M<a.length;M+=1){let Y=a[M],Q=G[M];if(Q instanceof Hq&&this.applyListItemRenderable(Q,Y,Z[M]))continue;Q?.destroyRecursively(),A.add(this.createListItemRenderable(Y),M)}for(let M=G.length-1;M>=a.length;M-=1)G[M]?.destroyRecursively();return!0}createListItemRenderable(A){let q=new Hq(this.ctx,{id:A.id,width:"100%",flexDirection:"row",flexShrink:0,marginBottom:/\n[ \t]*\n$/.test(A.item.raw)?1:0});q.add(new mg(this.ctx,{id:`${A.id}-marker`,content:new OE([this.createChunk(A.marker.padStart(A.markerWidth)+" ","markup.list")]),width:A.markerWidth+1,flexShrink:0}));let E=new Hq(this.ctx,{id:`${A.id}-content`,flexDirection:"column",flexGrow:1,flexShrink:1});q.add(E);let g=0;for(let j=0;j<A.item.tokens.length;j+=1){let a=A.item.tokens[j];if(!a)continue;if(a.type==="checkbox")continue;if(a.type==="space"){g=Math.max(g,1);continue}let Z=this.createListChildRenderable(a,`${A.id}-child-${j}`);if(!Z)continue;Z.marginTop=a.type==="list"?0:g,g=0,E.add(Z)}return q}applyListItemRenderable(A,q,E){this.applyListItemMarker(A,q);let g=A.getChildren()[1];if(!(g instanceof Hq))return!1;if(E&&E.raw===q.item.raw)return!0;return this.applyListItemChildren(g,q.item,E,q.id)}applyListItemChildren(A,q,E,g){let j=E?this.getRenderableListItemTokens(E):[],a=A.getChildren(),Z=0,G=0;for(let M=0;M<q.tokens.length;M+=1){let Y=q.tokens[M];if(!Y)continue;if(Y.type==="checkbox")continue;if(Y.type==="space"){G=Math.max(G,1);continue}let Q=a[Z],H=`${g}-child-${M}`,N=Y.type==="list"?0:G;if(G=0,!Q){let X=this.createListChildRenderable(Y,H);if(!X)return!1;X.marginTop=N,A.add(X,Z),Z+=1;continue}if(!this.applyListChildRenderable(Q,Y,j[Z],H))return!1;Q.marginTop=N,Z+=1}return this.destroyListItemChildrenAfter(A,Z),!0}getRenderableListItemTokens(A){let q=[];for(let E of A.tokens){if(E.type==="checkbox"||E.type==="space")continue;q.push(E)}return q}applyListChildRenderable(A,q,E,g){if((q.type==="text"||q.type==="paragraph")&&A instanceof Mq)return this.applyMarkdownCodeRenderable(A,this.normalizeScrollbackMarkdownBlockRaw(q.raw),0),!0;if(q.type==="list"&&A instanceof Hq)return this.applyListRenderable(A,q,E,g);if(q.type==="code"&&A instanceof Mq)return this.applyCodeBlockRenderable(A,q,0),!0;return E?.raw===q.raw}destroyListItemChildrenAfter(A,q){let E=A.getChildren();for(let g=E.length-1;g>=q;g-=1)E[g]?.destroyRecursively()}applyListItemMarker(A,q){let E=A.getChildren()[0];if(!(E instanceof mg))return;let g=/\n[ \t]*\n$/.test(q.item.raw)?1:0,j=q.markerWidth+1,a=q.marker.padStart(q.markerWidth)+" ";if(A.marginBottom!==g)A.marginBottom=g;if(E.width!==j)E.width=j;if(E.chunks[0]?.text!==a)E.content=new OE([this.createChunk(a,"markup.list")])}createListChildRenderable(A,q){if(A.type==="text"||A.type==="paragraph")return this.createMarkdownCodeRenderable(this.normalizeScrollbackMarkdownBlockRaw(A.raw),q,0,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(A));if(A.type==="list")return this.createListRenderable(A,q);if(A.type==="code")return this.createCodeRenderable(A,q);if(A.type==="blockquote")return this.createBlockquoteRenderable(A,q);if(A.type==="hr")return this.createHorizontalRuleRenderable(q);if(A.type==="table")return this.createTableBlock(A,q).renderable;return A.raw?this.createMarkdownCodeRenderable(A.raw,q,0,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(A)):null}createHorizontalRuleRenderable(A,q=0){return new Hq(this.ctx,{id:A,width:"100%",height:1,border:["top"],borderColor:this.getStyle("conceal")?.fg??this._fg??"#888888",flexShrink:0,marginBottom:q})}createCodeRenderable(A,q,E=0){return new Mq(this.ctx,{id:q,content:A.text,filetype:MO(A.lang??""),syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._concealCode,drawUnstyledText:!this._streaming,streaming:this._streaming,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom:E})}applyMarkdownCodeRenderable(A,q,E,g,j){if(j&&A.streaming&&A.drawUnstyledText&&A.isHighlighting)A.updateStreamingPreview(q,j);else A.initialStyledText=j;A.filetype="markdown",A.syntaxStyle=this._syntaxStyle,A.fg=this._fg,A.bg=this._bg,A.conceal=this._conceal,A.drawUnstyledText=j!==void 0,A.streaming=!0,A.baseHighlight=g,A.onHighlight=this._highlightMarkdownLinks,A.content=q,A.marginBottom=E}applyBlockquoteRenderable(A,q,E){if(!(A instanceof Hq))return;A.borderColor=this.getBlockquoteBorderColor(),A.marginBottom=E;let g=A.getChildren()[0];if(g instanceof Mq){this.applyMarkdownCodeRenderable(g,this.getBlockquoteContent(q),0,"markup.quote");return}for(let j of A.getChildren())j.destroyRecursively();A.add(this.createMarkdownCodeRenderable(this.getBlockquoteContent(q),`${A.id}-content`,0,this._linkifyMarkdownChunks,"markup.quote"))}applyCodeBlockRenderable(A,q,E){if(!(A instanceof Mq))return;A.filetype=MO(q.lang??""),A.syntaxStyle=this._syntaxStyle,A.fg=this._fg,A.bg=this._bg,A.conceal=this._concealCode,A.drawUnstyledText=!this._streaming,A.streaming=this._streaming,A.content=q.text,A.marginBottom=E}shouldRenderSeparately(A){return A.type==="code"||A.type==="table"||A.type==="blockquote"||A.type==="hr"}getInterBlockMargin(A,q){if(!q)return 0;if(this.shouldRenderSeparately(A))return 1;if(!this.shouldRenderSeparately(q))return 0;return F9.test(A.raw)?0:1}applyInterBlockMargin(A,q,E){if(A.tracksInterBlockMargin===!1)return;A.renderable.marginBottom=this.getInterBlockMargin(q,E)}createMarkdownBlockToken(A){return{type:"paragraph",raw:A,text:A,tokens:[]}}normalizeMarkdownBlockRaw(A){return A.replace(j9,`
282
+ `)}normalizeScrollbackMarkdownBlockRaw(A){return A.replace(F9,"")}isCodeBlockOnlyRenderer(){return this._renderNode?.codeBlockOnly===!0}buildRenderableTokens(A){if(this._renderNode&&!this.isCodeBlockOnlyRenderer())return A.filter((j)=>j.type!=="space");let q=[],E="",g=()=>{if(E.length===0)return;let j=this.normalizeMarkdownBlockRaw(E);if(j.length>0)q.push(this.createMarkdownBlockToken(j));E=""};for(let j=0;j<A.length;j+=1){let a=A[j];if(a.type==="space"){if(E.length===0)continue;let Z=j+1;while(Z<A.length&&A[Z].type==="space")Z+=1;let G=A[Z];if(G&&!this.shouldRenderSeparately(G))E+=a.raw;continue}if(this.shouldRenderSeparately(a)){g(),q.push(a);continue}E+=a.raw}return g(),q}buildTopLevelRenderBlocks(A){let q=[],E="";for(let g=0;g<A.length;g+=1){let j=A[g];if(j.type==="space"){E+=j.raw;continue}let a=q[q.length-1],Z=a&&this.shouldAddTopLevelMargin(a.token,j,E)?1:0;q.push({token:j,sourceTokenEnd:g+1,marginTop:Z}),E=""}return q}shouldAddTopLevelMargin(A,q,E){if(this.isSeparatedTopLevelBlock(A)||this.isSeparatedTopLevelBlock(q))return!0;if(A.type!=="paragraph"||q.type!=="paragraph")return!1;return j9.test(A.raw+E)}isSeparatedTopLevelBlock(A){return A.type==="heading"||A.type==="list"||this.shouldRenderSeparately(A)}getTableRowsToRender(A){return A.rows}hashString(A,q){let E=q>>>0;for(let g=0;g<A.length;g+=1)E^=A.charCodeAt(g),E=Math.imul(E,16777619);return E>>>0}hashTableToken(A,q,E=0){let g=this.hashString(A.type,q);if("raw"in A&&typeof A.raw==="string")return this.hashString(A.raw,g);if("text"in A&&typeof A.text==="string")g=this.hashString(A.text,g);if(E<2&&"tokens"in A&&Array.isArray(A.tokens))for(let j of A.tokens)g=this.hashTableToken(j,g,E+1);return g>>>0}getTableCellKey(A,q){let E=q?2902232141:1371922141;if(!A)return E;if(typeof A.text==="string")return this.hashString(A.text,E);if(Array.isArray(A.tokens)&&A.tokens.length>0){let g=E^A.tokens.length;for(let j of A.tokens)g=this.hashTableToken(j,g);return g>>>0}return(E^2654435769)>>>0}createTableDataCellChunks(A){let q=[];if(A)this.renderInlineContent(A.tokens,q);return q.length>0?q:[this.createDefaultChunk(" ")]}createTableHeaderCellChunks(A){let q=[];this.renderInlineContent(A.tokens,q);let E=q.length>0?q:[this.createDefaultChunk(" ")],g=this.getStyle("markup.heading")||this.getStyle("default");if(!g)return E;let j=f6({bold:g.bold,italic:g.italic,underline:g.underline,dim:g.dim});return E.map((a)=>({...a,fg:g.fg??a.fg,bg:g.bg??a.bg,attributes:j}))}buildTableContentCache(A,q,E=!1){let g=A.header.length,j=this.getTableRowsToRender(A);if(g===0||j.length===0)return{cache:null,changed:q!==void 0};let a=[],Z=[],G=j.length+1,M=E||!q;for(let Y=0;Y<G;Y+=1){let Q=[],H=new Uint32Array(g);for(let N=0;N<g;N+=1){let X=Y===0,T=X?A.header[N]:j[Y-1]?.[N],J=this.getTableCellKey(T,X);H[N]=J;let V=q?.cellKeys[Y]?.[N],I=q?.content[Y]?.[N];if(!E&&V===J&&Array.isArray(I)){Q.push(I);continue}M=!0,Q.push(X?this.createTableHeaderCellChunks(A.header[N]):this.createTableDataCellChunks(T))}a.push(Q),Z.push(H)}if(q&&!M){if(q.content.length!==a.length)M=!0;else for(let Y=0;Y<a.length;Y+=1)if((q.content[Y]?.length??0)!==a[Y].length){M=!0;break}}return{cache:{content:a,cellKeys:Z},changed:M}}resolveTableStyle(A=this._tableOptions){if(A?.style==="columns")return"columns";if(A?.style==="grid")return"grid";return this._internalBlockMode==="top-level"?"columns":"grid"}usesBorderlessColumnSpacing(A=this._tableOptions){let q=this.resolveTableStyle(A),E=A?.borders??q==="grid";return q==="columns"&&!E}resolveTableRenderableOptions(){let A=this.resolveTableStyle(),q=this._tableOptions?.borders??A==="grid";return{columnWidthMode:this._tableOptions?.widthMode??(A==="columns"?"content":"full"),columnFitter:this._tableOptions?.columnFitter??"proportional",wrapMode:this._tableOptions?.wrapMode??"word",cellPadding:this._tableOptions?.cellPadding??0,cellPaddingX:this._tableOptions?.cellPaddingX??this._tableOptions?.cellPadding??0,cellPaddingY:this._tableOptions?.cellPaddingY??this._tableOptions?.cellPadding??0,columnGap:this.usesBorderlessColumnSpacing()?2:0,border:q,outerBorder:this._tableOptions?.outerBorder??q,showBorders:q,borderStyle:this._tableOptions?.borderStyle??"single",borderColor:this._tableOptions?.borderColor??this.getStyle("conceal")?.fg??"#888888",selectable:this._tableOptions?.selectable??!0}}applyTableRenderableOptions(A,q){A.columnWidthMode=q.columnWidthMode,A.columnFitter=q.columnFitter,A.wrapMode=q.wrapMode,A.cellPaddingX=q.cellPaddingX,A.cellPaddingY=q.cellPaddingY,A.columnGap=q.columnGap,A.border=q.border,A.outerBorder=q.outerBorder,A.showBorders=q.showBorders,A.borderStyle=q.borderStyle,A.borderColor=q.borderColor,A.selectable=q.selectable}applyTableOptionsToBlocks(){let A=this.resolveTableRenderableOptions(),q=!1;for(let E of this._blockStates)if(E.renderable instanceof vg)this.applyTableRenderableOptions(E.renderable,A),q=!0;if(q)this.requestRender()}createTextTableRenderable(A,q,E=0){let g=this.resolveTableRenderableOptions(),j=new vg(this.ctx,{id:q,content:A,width:"100%",marginBottom:E,columnWidthMode:g.columnWidthMode,columnFitter:g.columnFitter,wrapMode:g.wrapMode,cellPadding:g.cellPadding,cellPaddingX:g.cellPaddingX,cellPaddingY:g.cellPaddingY,columnGap:g.columnGap,border:g.border,outerBorder:g.outerBorder,showBorders:g.showBorders,borderStyle:g.borderStyle,borderColor:g.borderColor,selectable:g.selectable});return this._ownedStructuredRenderables.add(j),j}createTableBlock(A,q,E=0,g,j=!1){let{cache:a}=this.buildTableContentCache(A,g,j);if(!a)return{renderable:this.createMarkdownCodeRenderable(A.raw,q,E)};return{renderable:this.createTextTableRenderable(a.content,q,E),tableContentCache:a}}getStableBlockCount(A,q){if(this._internalBlockMode!=="top-level")return 0;let E=0;for(let g of A){if(g.sourceTokenEnd<=q){E+=1;continue}break}return E}syncTopLevelBlockState(A,q,E=A.tableContentCache){A.token=q.token,A.tokenRaw=q.token.raw,A.marginTop=q.marginTop,A.tableContentCache=E}getTopLevelBlockRaw(A){if(!A.raw)return;return this.shouldRenderSeparately(A)?A.raw:this.normalizeScrollbackMarkdownBlockRaw(A.raw)}createTopLevelDefaultRenderable(A,q){let{token:E,marginTop:g}=A,j=`${this.id}-block-${q}`;if(E.type==="code"){let G=this.createCodeRenderable(E,j);return G.marginTop=g,{renderable:G,canUpdateInPlace:!0}}if(E.type==="table"){let G=this.createTableBlock(E,j);return G.renderable.marginTop=g,{...G,canUpdateInPlace:!0}}if(E.type==="blockquote"){let G=this.createBlockquoteRenderable(E,j);return G.marginTop=g,{renderable:G,canUpdateInPlace:!0}}if(E.type==="list"){let G=this.createListRenderable(E,j);return G.marginTop=g,{renderable:G,canUpdateInPlace:!0}}if(E.type==="hr"){let G=this.createHorizontalRuleRenderable(j);return G.marginTop=g,{renderable:G,canUpdateInPlace:!0}}let a=this.getTopLevelBlockRaw(E);if(!a)return{renderable:void 0,canUpdateInPlace:!0};let Z=this.createMarkdownCodeRenderable(a,j,0,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(E));return Z.marginTop=g,{renderable:Z,canUpdateInPlace:!0}}createTopLevelRenderable(A,q){if(!this._renderNode)return this.createTopLevelDefaultRenderable(A,q);let E=this.createTopLevelCustomRenderable(A,q);if(!E.renderable)return this.createTopLevelDefaultRenderable(A,q);let g=typeof E.renderable.marginTop==="number"?Math.max(E.renderable.marginTop,A.marginTop):A.marginTop;return this.applyMargins(E.renderable,g,0),{renderable:E.renderable,tableContentCache:E.tableContentCache,canUpdateInPlace:E.canUpdateInPlace}}createDefaultRenderable(A,q,E){let g=`${this.id}-block-${q}`,j=this.getInterBlockMargin(A,E);if(A.type==="code")return this.createCodeRenderable(A,g,j);if(A.type==="blockquote")return this.createBlockquoteRenderable(A,g,j);if(A.type==="list")return this.createListRenderable(A,g,j);if(A.type==="hr")return this.createHorizontalRuleRenderable(g,j);if(A.type==="table")return this.createTableBlock(A,g,j).renderable;if(A.type==="space")return null;if(!A.raw)return null;return this.createMarkdownCodeRenderable(A.raw,g,j,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(A))}createCustomRenderable(A,q,E){let g=this.renderCustomNode(A,()=>{return{renderable:this.createDefaultRenderable(A,q,E)}});if(!g.renderable)return{tracksInterBlockMargin:!0,canUpdateInPlace:!0};let j=g.renderable===g.defaultResult?.renderable;return{renderable:g.renderable,tracksInterBlockMargin:j,canUpdateInPlace:j}}createTopLevelCustomRenderable(A,q){let E=this.renderCustomNode(A.token,()=>{return this.createTopLevelDefaultRenderable(A,q)});if(!E.renderable)return{tracksInterBlockMargin:!0,canUpdateInPlace:!0};let g=E.renderable===E.defaultResult?.renderable;return{renderable:E.renderable,tableContentCache:g?E.defaultResult?.tableContentCache:void 0,tracksInterBlockMargin:g,canUpdateInPlace:g}}renderCustomNode(A,q){if(!this._renderNode)return{};let E,g=this._renderNode(A,{syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>{return E=q(),E.renderable??null}});return this.destroyUnusedDefaultRenderable(E?.renderable,g??void 0),g?{renderable:g,defaultResult:E}:{}}destroyUnusedDefaultRenderable(A,q){if(!A||A===q||A.parent)return;A.destroyRecursively()}updateBlockRenderable(A,q,E,g,j=!1){let a=this.getInterBlockMargin(q,g);if(q.type==="code"){this.applyCodeBlockRenderable(A.renderable,q,a);return}if(q.type==="blockquote"){this.applyBlockquoteRenderable(A.renderable,q,a);return}if(q.type==="list"){if(!this.applyListRenderable(A.renderable,q,j?void 0:A.token,`${this.id}-block-${E}`,a))A.renderable.destroyRecursively(),A.renderable=this.createListRenderable(q,`${this.id}-block-${E}`,a),this.add(A.renderable,E);return}if(q.type==="hr"){A.renderable.marginBottom=a;return}if(q.type==="table"){let G=q,{cache:M,changed:Y}=this.buildTableContentCache(G,A.tableContentCache);if(!M){if(A.renderable instanceof Mq){this.applyMarkdownCodeRenderable(A.renderable,G.raw,a),A.tableContentCache=void 0;return}A.renderable.destroyRecursively();let H=this.createMarkdownCodeRenderable(G.raw,`${this.id}-block-${E}`,a);this.add(H,E),A.renderable=H,A.tableContentCache=void 0;return}if(A.renderable instanceof vg){if(Y)A.renderable.content=M.content;this.applyTableRenderableOptions(A.renderable,this.resolveTableRenderableOptions()),A.renderable.marginBottom=a,A.tableContentCache=M;return}A.renderable.destroyRecursively();let Q=this.createTextTableRenderable(M.content,`${this.id}-block-${E}`,a);this.add(Q,E),A.renderable=Q,A.tableContentCache=M;return}if(A.renderable instanceof Mq){this.applyMarkdownCodeRenderable(A.renderable,this.getTopLevelBlockRaw(q)??q.raw,a,void 0,this.createInitialStyledText(q));return}A.renderable.destroyRecursively();let Z=this.createMarkdownCodeRenderable(this.getTopLevelBlockRaw(q)??q.raw,`${this.id}-block-${E}`,a,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(q));this.add(Z,E),A.renderable=Z}updateTopLevelBlocks(A,q){let E=this.buildTopLevelRenderBlocks(A);this._stableBlockCount=this.getStableBlockCount(E,this._parseState?.stableTokenCount??0);let g=0;for(let j=0;j<E.length;j+=1){let a=E[j],Z=this._blockStates[g];if(Z&&Z.token===a.token&&!q){if(Z.marginTop!==a.marginTop)this.applyMargins(Z.renderable,a.marginTop,0);this.syncTopLevelBlockState(Z,a),g++;continue}if(Z&&Z.tokenRaw===a.token.raw&&Z.token.type===a.token.type&&!q){if(Z.marginTop!==a.marginTop)this.applyMargins(Z.renderable,a.marginTop,0);this.syncTopLevelBlockState(Z,a),g++;continue}if(Z&&Z.canUpdateInPlace&&Z.token.type===a.token.type&&this.canUpdateBlockRenderable(Z.renderable,a.token)){if(this._renderNode){let M=this.createTopLevelCustomRenderable(a,g);if(M.renderable&&!M.canUpdateInPlace){let Y=typeof M.renderable.marginTop==="number"?Math.max(M.renderable.marginTop,a.marginTop):a.marginTop;if(this.applyMargins(M.renderable,Y,0),M.renderable!==Z.renderable)Z.renderable.destroyRecursively(),this.add(M.renderable,g);this._blockStates[g]={token:a.token,tokenRaw:a.token.raw,marginTop:a.marginTop,renderable:M.renderable,tableContentCache:M.tableContentCache,canUpdateInPlace:M.canUpdateInPlace},g++;continue}this.destroyUnusedDefaultRenderable(M.renderable)}if(this.updateBlockRenderable(Z,a.token,g,E[j+1]?.token),Z.renderable.marginBottom=0,Z.marginTop!==a.marginTop)this.applyMargins(Z.renderable,a.marginTop,0);this.syncTopLevelBlockState(Z,a),g++;continue}if(Z)Z.renderable.destroyRecursively();let G=this.createTopLevelRenderable(a,g);if(G.renderable)this.add(G.renderable,g),this._blockStates[g]={token:a.token,tokenRaw:a.token.raw,marginTop:a.marginTop,renderable:G.renderable,tableContentCache:G.tableContentCache,canUpdateInPlace:G.canUpdateInPlace};g++}while(this._blockStates.length>g)this._blockStates.pop().renderable.destroyRecursively()}canUpdateBlockRenderable(A,q){if(q.type==="code")return A instanceof Mq;if(q.type==="table")return A instanceof vg;if(q.type==="blockquote")return A instanceof Hq;if(q.type==="list")return A instanceof Hq;if(q.type==="hr")return A instanceof Hq;return A instanceof Mq}updateBlocks(A=!1){if(this.isDestroyed)return;if(!this._content){this.clearBlockStates(),this._parseState=null,this._stableBlockCount=0;return}let q=this._streaming?2:0;this._parseState=mS(this._content,this._parseState,q);let E=this._parseState.tokens;if(E.length===0&&this._content.length>0){this.clearBlockStates(),this._stableBlockCount=0;let a=this.createMarkdownCodeRenderable(this._content,`${this.id}-fallback`);this.add(a),this._blockStates=[{token:{type:"text",raw:this._content,text:this._content},tokenRaw:this._content,marginTop:0,renderable:a,tracksInterBlockMargin:!0,canUpdateInPlace:!0}];return}if(this._internalBlockMode==="top-level"){this.updateTopLevelBlocks(E,A);return}this._stableBlockCount=0;let g=this.buildRenderableTokens(E),j=0;for(let a=0;a<g.length;a++){let Z=g[a],G=g[a+1],M=this._blockStates[j],Y=A;if(M&&M.token===Z){if(Y)this.updateBlockRenderable(M,Z,j,G),M.tokenRaw=Z.raw;else this.applyInterBlockMargin(M,Z,G);j++;continue}if(M&&M.tokenRaw===Z.raw&&M.token.type===Z.type){if(M.token=Z,Y)this.updateBlockRenderable(M,Z,j,G),M.tokenRaw=Z.raw;else this.applyInterBlockMargin(M,Z,G);j++;continue}if(M&&M.canUpdateInPlace&&M.token.type===Z.type){let J=this.createCustomRenderable(Z,j,G);if(J.renderable&&!J.canUpdateInPlace){if(J.renderable!==M.renderable)M.renderable.destroyRecursively(),this.add(J.renderable,j);this._blockStates[j]={token:Z,tokenRaw:Z.raw,renderable:J.renderable,tracksInterBlockMargin:J.tracksInterBlockMargin,canUpdateInPlace:J.canUpdateInPlace},j++;continue}this.destroyUnusedDefaultRenderable(J.renderable),this.updateBlockRenderable(M,Z,j,G),M.token=Z,M.tokenRaw=Z.raw,M.tracksInterBlockMargin=!0,j++;continue}if(M)M.renderable.destroyRecursively();let Q,H,N=!0,X=!0,T=this.createCustomRenderable(Z,j,G);if(T.renderable)Q=T.renderable,N=T.tracksInterBlockMargin,X=T.canUpdateInPlace;if(!Q)if(Z.type==="table"){let J=this.createTableBlock(Z,`${this.id}-block-${j}`,this.getInterBlockMargin(Z,G));Q=J.renderable,H=J.tableContentCache}else Q=this.createDefaultRenderable(Z,j,G)??void 0;if(Z.type==="table"&&!H&&Q instanceof vg){let{cache:J}=this.buildTableContentCache(Z);H=J??void 0}if(Q)this.add(Q,j),this._blockStates[j]={token:Z,tokenRaw:Z.raw,renderable:Q,tableContentCache:H,tracksInterBlockMargin:N,canUpdateInPlace:X};j++}while(this._blockStates.length>j)this._blockStates.pop().renderable.destroyRecursively()}clearBlockStates(){for(let A of this._blockStates)A.renderable.destroyRecursively();this._blockStates=[],this._stableBlockCount=0}rerenderBlocks(){if(this._internalBlockMode==="top-level"){this.updateBlocks(!0);return}for(let A=0;A<this._blockStates.length;A++){let q=this._blockStates[A],E=this.getInterBlockMargin(q.token,this._blockStates[A+1]?.token);if(q.token.type==="code"){this.applyCodeBlockRenderable(q.renderable,q.token,E);continue}if(q.token.type==="blockquote"){this.applyBlockquoteRenderable(q.renderable,q.token,E);continue}if(q.token.type==="list"){this.updateBlockRenderable(q,q.token,A,this._blockStates[A+1]?.token,!0);continue}if(q.token.type==="hr"){q.renderable.marginBottom=E;continue}if(q.token.type==="table"){let j=q.token,{cache:a}=this.buildTableContentCache(j,q.tableContentCache,!0);if(!a){if(q.renderable instanceof Mq)this.applyMarkdownCodeRenderable(q.renderable,j.raw,E);else{q.renderable.destroyRecursively();let G=this.createMarkdownCodeRenderable(j.raw,`${this.id}-block-${A}`,E);this.add(G,A),q.renderable=G}q.tableContentCache=void 0;continue}if(q.renderable instanceof vg){q.renderable.content=a.content,this.applyTableRenderableOptions(q.renderable,this.resolveTableRenderableOptions()),q.renderable.marginBottom=E,q.tableContentCache=a;continue}q.renderable.destroyRecursively();let Z=this.createTextTableRenderable(a.content,`${this.id}-block-${A}`,E);this.add(Z,A),q.renderable=Z,q.tableContentCache=a;continue}if(q.renderable instanceof Mq){this.applyMarkdownCodeRenderable(q.renderable,this.getTopLevelBlockRaw(q.token)??q.token.raw,E,void 0,this.createInitialStyledText(q.token));continue}q.renderable.destroyRecursively();let g=this.createMarkdownCodeRenderable(this.getTopLevelBlockRaw(q.token)??q.token.raw,`${this.id}-block-${A}`,E,this._linkifyMarkdownChunks,void 0,this.createInitialStyledText(q.token));this.add(g,A),q.renderable=g}}clearCache(){this._parseState=null,this.clearBlockStates(),this.updateBlocks(),this.requestRender()}refreshStyles(){this._styleDirty=!1,this.rerenderBlocks(),this.requestRender()}renderSelf(A,q){if(this._styleDirty)this._styleDirty=!1,this.rerenderBlocks();super.renderSelf(A,q)}destroySelf(){let A=N_._capabilitySubscriptions.get(this.ctx);if(A){if(A.renderables.delete(this),A.renderables.size===0)this.ctx.off("capabilities",A.listener),N_._capabilitySubscriptions.delete(this.ctx)}super.destroySelf()}};vS=MA.fromHex("#9a9ea3"),bS=MA.fromHex("#252527");P9=class P9 extends pA{orientation;_value;_min;_max;_viewPortSize;_backgroundColor;_foregroundColor;_onChange;constructor(A,q){super(A,{flexShrink:0,...q});this.orientation=q.orientation,this._min=q.min??0,this._max=q.max??100,this._value=q.value??this._min,this._viewPortSize=q.viewPortSize??Math.max(1,(this._max-this._min)*0.1),this._onChange=q.onChange,this._backgroundColor=q.backgroundColor?S(q.backgroundColor):bS,this._foregroundColor=q.foregroundColor?S(q.foregroundColor):vS,this.setupMouseHandling()}get value(){return this._value}set value(A){let q=Math.max(this._min,Math.min(this._max,A));if(q!==this._value)this._value=q,this._onChange?.(q),this.emit("change",{value:q}),this.requestRender()}get min(){return this._min}set min(A){if(A!==this._min){if(this._min=A,this._value<A)this.value=A;this.requestRender()}}get max(){return this._max}set max(A){if(A!==this._max){if(this._max=A,this._value>A)this.value=A;this.requestRender()}}set viewPortSize(A){let q=Math.max(0.01,Math.min(A,this._max-this._min));if(q!==this._viewPortSize)this._viewPortSize=q,this.requestRender()}get viewPortSize(){return this._viewPortSize}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){this._backgroundColor=S(A),this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(A){this._foregroundColor=S(A),this.requestRender()}calculateDragOffsetVirtual(A){let q=this.orientation==="vertical"?this.y:this.x,E=(this.orientation==="vertical"?A.y:A.x)-q,g=Math.max(0,Math.min((this.orientation==="vertical"?this.height:this.width)*2,E*2)),j=this.getVirtualThumbStart(),a=this.getVirtualThumbSize();return Math.max(0,Math.min(a,g-j))}setupMouseHandling(){let A=!1,q=0;this.onMouseDown=(E)=>{E.stopPropagation(),E.preventDefault();let g=this.getThumbRect();if(E.x>=g.x&&E.x<g.x+g.width&&E.y>=g.y&&E.y<g.y+g.height)A=!0,q=this.calculateDragOffsetVirtual(E);else this.updateValueFromMouseDirect(E),A=!0,q=this.calculateDragOffsetVirtual(E)},this.onMouseDrag=(E)=>{if(!A)return;E.stopPropagation(),this.updateValueFromMouseWithOffset(E,q)},this.onMouseUp=(E)=>{if(A)this.updateValueFromMouseWithOffset(E,q);A=!1}}updateValueFromMouseDirect(A){let q=this.orientation==="vertical"?this.y:this.x,E=this.orientation==="vertical"?this.height:this.width,j=(this.orientation==="vertical"?A.y:A.x)-q,a=Math.max(0,Math.min(E,j)),Z=E===0?0:a/E,G=this._max-this._min,M=this._min+Z*G;this.value=M}updateValueFromMouseWithOffset(A,q){let E=this.orientation==="vertical"?this.y:this.x,g=this.orientation==="vertical"?this.height:this.width,j=this.orientation==="vertical"?A.y:A.x,a=g*2,Z=j-E,M=Math.max(0,Math.min(g,Z))*2,Y=this.getVirtualThumbSize(),Q=Math.max(0,a-Y),H=M-q;H=Math.max(0,Math.min(Q,H));let N=Q===0?0:H/Q,X=this._max-this._min,T=this._min+N*X;this.value=T}getThumbRect(){let A=this.getVirtualThumbSize(),q=this.getVirtualThumbStart(),E=Math.floor(q/2),g=Math.ceil((q+A)/2)-E;if(this.orientation==="vertical")return{x:this.x,y:this.y+E,width:this.width,height:Math.max(1,g)};else return{x:this.x+E,y:this.y,width:Math.max(1,g),height:this.height}}renderSelf(A){if(this.orientation==="horizontal")this.renderHorizontal(A);else this.renderVertical(A)}renderHorizontal(A){let q=this.getVirtualThumbSize(),E=this.getVirtualThumbStart(),g=E+q;A.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let j=Math.floor(E/2),a=Math.ceil(g/2)-1,Z=Math.max(0,j),G=Math.min(this.width-1,a);for(let M=Z;M<=G;M++){let Y=M*2,Q=Y+2,H=Math.max(E,Y),X=Math.min(g,Q)-H,T=" ";if(X>=2)T="\u2588";else if(H===Y)T="\u258C";else T="\u2590";for(let J=0;J<this.height;J++)A.setCellWithAlphaBlending(this.x+M,this.y+J,T,this._foregroundColor,this._backgroundColor)}}renderVertical(A){let q=this.getVirtualThumbSize(),E=this.getVirtualThumbStart(),g=E+q;A.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let j=Math.floor(E/2),a=Math.ceil(g/2)-1,Z=Math.max(0,j),G=Math.min(this.height-1,a);for(let M=Z;M<=G;M++){let Y=M*2,Q=Y+2,H=Math.max(E,Y),X=Math.min(g,Q)-H,T=" ";if(X>=2)T="\u2588";else if(X>0)if(H-Y===0)T="\u2580";else T="\u2584";for(let J=0;J<this.width;J++)A.setCellWithAlphaBlending(this.x+J,this.y+M,T,this._foregroundColor,this._backgroundColor)}}getVirtualThumbSize(){let A=this.orientation==="vertical"?this.height*2:this.width*2,q=this._max-this._min;if(q===0)return A;let E=Math.max(1,this._viewPortSize),g=q+E;if(g<=E)return A;let j=E/g,a=Math.floor(A*j);return Math.max(1,Math.min(a,A))}getVirtualThumbStart(){let A=this.orientation==="vertical"?this.height*2:this.width*2,q=this._max-this._min;if(q===0)return 0;let E=(this._value-this._min)/q,g=this.getVirtualThumbSize();return Math.round(E*(A-g))}};$Y=class $Y extends pA{slider;startArrow;endArrow;orientation;_focusable=!0;_scrollSize=0;_scrollPosition=0;_viewportSize=0;_showArrows=!1;_manualVisibility=!1;_onChange;scrollStep=null;get visible(){return super.visible}set visible(A){this._manualVisibility=!0,super.visible=A}resetVisibilityControl(){this._manualVisibility=!1,this.recalculateVisibility()}get scrollSize(){return this._scrollSize}get scrollPosition(){return this._scrollPosition}get viewportSize(){return this._viewportSize}set scrollSize(A){if(A===this.scrollSize)return;this._scrollSize=A,this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}set scrollPosition(A){let q=Math.round(Math.min(Math.max(0,A),this.scrollSize-this.viewportSize));if(q!==this._scrollPosition)this._scrollPosition=q,this.updateSliderFromScrollState()}set viewportSize(A){if(A===this.viewportSize)return;this._viewportSize=A,this.slider.viewPortSize=Math.max(1,this._viewportSize),this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}get showArrows(){return this._showArrows}set showArrows(A){if(A===this._showArrows)return;this._showArrows=A,this.startArrow.visible=A,this.endArrow.visible=A}constructor(A,{trackOptions:q,arrowOptions:E,orientation:g,showArrows:j=!1,...a}){super(A,{flexDirection:g==="vertical"?"column":"row",alignSelf:"stretch",alignItems:"stretch",...a});this._onChange=a.onChange,this.orientation=g,this._showArrows=j;let Z=Math.max(0,this._scrollSize-this._viewportSize),G=Math.max(1,this._viewportSize),M=q?.viewPortSize??G;this.slider=new P9(A,{orientation:g,min:0,max:Z,value:this._scrollPosition,viewPortSize:M,onChange:(N)=>{this._scrollPosition=Math.round(N),this._onChange?.(this._scrollPosition),this.emit("change",{position:this._scrollPosition})},...g==="vertical"?{width:Math.max(1,Math.min(2,this.width)),height:"100%",marginLeft:"auto"}:{width:"100%",height:1,marginTop:"auto"},flexGrow:1,flexShrink:1,...q}),this.updateSliderFromScrollState();let Y=E?{foregroundColor:E.backgroundColor,backgroundColor:E.backgroundColor,attributes:E.attributes,...E}:{};this.startArrow=new HY(A,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"up":"left",height:this.orientation==="vertical"?1:1,...Y}),this.endArrow=new HY(A,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"down":"right",height:this.orientation==="vertical"?1:1,...Y}),this.add(this.startArrow),this.add(this.slider),this.add(this.endArrow);let Q=void 0,H=void 0;this.startArrow.onMouseDown=(N)=>{N.stopPropagation(),N.preventDefault(),this.scrollBy(-0.5,"viewport"),Q=setTimeout(()=>{this.scrollBy(-0.5,"viewport"),Q=setInterval(()=>{this.scrollBy(-0.2,"viewport")},200)},500)},this.startArrow.onMouseUp=(N)=>{N.stopPropagation(),clearInterval(Q)},this.endArrow.onMouseDown=(N)=>{N.stopPropagation(),N.preventDefault(),this.scrollBy(0.5,"viewport"),H=setTimeout(()=>{this.scrollBy(0.5,"viewport"),H=setInterval(()=>{this.scrollBy(0.2,"viewport")},200)},500)},this.endArrow.onMouseUp=(N)=>{N.stopPropagation(),clearInterval(H)}}set arrowOptions(A){Object.assign(this.startArrow,A),Object.assign(this.endArrow,A),this.requestRender()}set trackOptions(A){Object.assign(this.slider,A),this.requestRender()}updateSliderFromScrollState(){let A=Math.max(0,this._scrollSize-this._viewportSize);this.slider.min=0,this.slider.max=A,this.slider.value=Math.min(this._scrollPosition,A)}scrollBy(A,q="absolute"){let g=(q==="viewport"?this.viewportSize:q==="content"?this.scrollSize:q==="step"?this.scrollStep??1:1)*A;this.scrollPosition+=g}recalculateVisibility(){if(!this._manualVisibility){let A=this.scrollSize<=this.viewportSize?1:this.viewportSize/this.scrollSize;super.visible=A<1}}handleKeyPress(A){switch(A.name){case"left":case"h":if(this.orientation!=="horizontal")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"right":case"l":if(this.orientation!=="horizontal")return!1;return this.scrollBy(0.2,"viewport"),!0;case"up":case"k":if(this.orientation!=="vertical")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"down":case"j":if(this.orientation!=="vertical")return!1;return this.scrollBy(0.2,"viewport"),!0;case"pageup":return this.scrollBy(-0.5,"viewport"),!0;case"pagedown":return this.scrollBy(0.5,"viewport"),!0;case"home":return this.scrollBy(-1,"content"),!0;case"end":return this.scrollBy(1,"content"),!0}return!1}};HY=class HY extends pA{_direction;_foregroundColor;_backgroundColor;_attributes;_arrowChars;constructor(A,q){super(A,q);if(this._direction=q.direction,this._foregroundColor=q.foregroundColor?S(q.foregroundColor):MA.fromValues(1,1,1,1),this._backgroundColor=q.backgroundColor?S(q.backgroundColor):MA.fromValues(0,0,0,0),this._attributes=q.attributes??0,this._arrowChars={up:"\u25B2",down:"\u25BC",left:"\u25C0",right:"\u25B6",...q.arrowChars},!q.width)this.width=H_(this.getArrowChar())}get direction(){return this._direction}set direction(A){if(this._direction!==A)this._direction=A,this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(A){if(this._foregroundColor!==A)this._foregroundColor=S(A),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){if(this._backgroundColor!==A)this._backgroundColor=S(A),this.requestRender()}get attributes(){return this._attributes}set attributes(A){if(this._attributes!==A)this._attributes=A,this.requestRender()}set arrowChars(A){this._arrowChars={...this._arrowChars,...A},this.requestRender()}renderSelf(A){let q=this.getArrowChar();A.drawText(q,this.x,this.y,this._foregroundColor,this._backgroundColor,this._attributes)}getArrowChar(){switch(this._direction){case"up":return this._arrowChars.up;case"down":return this._arrowChars.down;case"left":return this._arrowChars.left;case"right":return this._arrowChars.right;default:return"?"}}};z9=class z9 extends Hq{viewport;_viewportCulling;constructor(A,q,E,g){super(A,g);this.viewport=q,this._viewportCulling=E}get viewportCulling(){return this._viewportCulling}set viewportCulling(A){this._viewportCulling=A}_hasVisibleChildFilter(){return this._viewportCulling}_getVisibleChildren(){if(this._viewportCulling)return gY({x:this.viewport.screenX,y:this.viewport.screenY,width:this.viewport.width,height:this.viewport.height},this.getChildrenSortedByPrimaryAxis(),this.primaryAxis,0).map((A)=>A.num);return super._getVisibleChildren()}};C9=["padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft"];mZ=class mZ extends Hq{static idCounter=0;internalId=0;wrapper;viewport;content;horizontalScrollBar;verticalScrollBar;_focusable=!0;selectionListener;autoScrollMouseX=0;autoScrollMouseY=0;autoScrollThresholdVertical=3;autoScrollThresholdHorizontal=3;autoScrollSpeedSlow=6;autoScrollSpeedMedium=36;autoScrollSpeedFast=72;isAutoScrolling=!1;cachedAutoScrollSpeed=3;autoScrollAccumulatorX=0;autoScrollAccumulatorY=0;scrollAccumulatorX=0;scrollAccumulatorY=0;_stickyScroll;_stickyScrollTop=!1;_stickyScrollBottom=!1;_stickyScrollLeft=!1;_stickyScrollRight=!1;_stickyStart;_hasManualScroll=!1;_isApplyingStickyScroll=!1;scrollAccel;get stickyScroll(){return this._stickyScroll}set stickyScroll(A){this._stickyScroll=A,this.updateStickyState()}get stickyStart(){return this._stickyStart}set stickyStart(A){this._stickyStart=A,this.updateStickyState()}get scrollTop(){return this.verticalScrollBar.scrollPosition}set scrollTop(A){this.verticalScrollBar.scrollPosition=A,this.updateStickyState()}get scrollLeft(){return this.horizontalScrollBar.scrollPosition}set scrollLeft(A){this.horizontalScrollBar.scrollPosition=A,this.updateStickyState()}get scrollWidth(){return this.horizontalScrollBar.scrollSize}get scrollHeight(){return this.verticalScrollBar.scrollSize}updateStickyState(){if(!this._stickyScroll){this.syncManualScrollState();return}let A=Math.max(0,this.scrollHeight-this.viewport.height),q=Math.max(0,this.scrollWidth-this.viewport.width);if(this.scrollTop<=0)this._stickyScrollTop=!0,this._stickyScrollBottom=!1;else if(this.scrollTop>=A)this._stickyScrollTop=!1,this._stickyScrollBottom=!0;else this._stickyScrollTop=!1,this._stickyScrollBottom=!1;if(this.scrollLeft<=0)this._stickyScrollLeft=!0,this._stickyScrollRight=!1;else if(this.scrollLeft>=q)this._stickyScrollLeft=!1,this._stickyScrollRight=!0;else this._stickyScrollLeft=!1,this._stickyScrollRight=!1;this.syncManualScrollState()}syncManualScrollState(){if(!this._stickyScroll){this._hasManualScroll=!1;return}let A=Math.max(0,this.scrollHeight-this.viewport.height),q=Math.max(0,this.scrollWidth-this.viewport.width),E=A>1||q>1;if(this._isApplyingStickyScroll){if(this._hasManualScroll&&E&&this.isAtStickyPosition())this._hasManualScroll=!1;return}this._hasManualScroll=E&&!this.isAtStickyPosition()}applyStickyStart(A){let q=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{switch(A){case"top":this._stickyScrollTop=!0,this._stickyScrollBottom=!1,this.verticalScrollBar.scrollPosition=0;break;case"bottom":this._stickyScrollTop=!1,this._stickyScrollBottom=!0,this.verticalScrollBar.scrollPosition=Math.max(0,this.scrollHeight-this.viewport.height);break;case"left":this._stickyScrollLeft=!0,this._stickyScrollRight=!1,this.horizontalScrollBar.scrollPosition=0;break;case"right":this._stickyScrollLeft=!1,this._stickyScrollRight=!0,this.horizontalScrollBar.scrollPosition=Math.max(0,this.scrollWidth-this.viewport.width);break}}finally{this._isApplyingStickyScroll=q}}constructor(A,q){let{wrapperOptions:E,viewportOptions:g,contentOptions:j,rootOptions:a,scrollbarOptions:Z,verticalScrollbarOptions:G,horizontalScrollbarOptions:M,stickyScroll:Y=!1,stickyStart:Q,scrollX:H=!1,scrollY:N=!0,scrollAcceleration:X,viewportCulling:T=!0,...J}=q,V={...Z9(J),...Z9(a)},I=U9(J),W=a?U9(a):void 0,C={...V,...j};super(A,{flexDirection:"row",alignItems:"stretch",...I,...W});if(this.internalId=mZ.idCounter++,this._stickyScroll=Y,this._stickyStart=Q,this.scrollAccel=X??new jO,this.wrapper=new Hq(A,{flexDirection:"column",flexGrow:1,...E,id:`scroll-box-wrapper-${this.internalId}`}),super.add(this.wrapper),this.viewport=new Hq(A,{flexDirection:"column",flexGrow:1,overflow:"hidden",onSizeChange:()=>{this.recalculateBarProps()},...g,id:`scroll-box-viewport-${this.internalId}`}),this.wrapper.add(this.viewport),this.content=new z9(A,this.viewport,T,{alignSelf:"flex-start",flexShrink:0,...H?{minWidth:"100%"}:{minWidth:"100%",maxWidth:"100%"},...N?{minHeight:"100%"}:{minHeight:"100%",maxHeight:"100%"},onSizeChange:()=>{this.recalculateBarProps()},...C,id:`scroll-box-content-${this.internalId}`}),this.viewport.add(this.content),this.verticalScrollBar=new $Y(A,{...Z,...G,arrowOptions:{...Z?.arrowOptions,...G?.arrowOptions},id:`scroll-box-vertical-scrollbar-${this.internalId}`,orientation:"vertical",onChange:(c)=>{this.content.translateY=-c,this.updateStickyState()}}),super.add(this.verticalScrollBar),this.horizontalScrollBar=new $Y(A,{...Z,...M,arrowOptions:{...Z?.arrowOptions,...M?.arrowOptions},id:`scroll-box-horizontal-scrollbar-${this.internalId}`,orientation:"horizontal",onChange:(c)=>{this.content.translateX=-c,this.updateStickyState()}}),this.wrapper.add(this.horizontalScrollBar),this.recalculateBarProps(),Q&&Y)this.applyStickyStart(Q);this.selectionListener=()=>{let c=this._ctx.getSelection();if(!c||!c.isDragging)this.stopAutoScroll()},this._ctx.on("selection",this.selectionListener)}onUpdate(A){this.handleAutoScroll(A)}scrollBy(A,q="absolute"){if(typeof A==="number")this.verticalScrollBar.scrollBy(A,q);else this.verticalScrollBar.scrollBy(A.y,q),this.horizontalScrollBar.scrollBy(A.x,q)}scrollChildIntoView(A){let q=this.content.findDescendantById(A);if(!q)return;let E=(X,T,J,V)=>{let I=T-X,W=V-J,C=X<J,c=T>V;if(C&&c)return 0;if(C&&I<W||c&&I>W)return X-J;if(C&&I>W||c&&I<W)return T-V;return 0},g=q.y,j=q.y+q.height,a=this.viewport.y,Z=this.viewport.y+this.viewport.height,G=E(g,j,a,Z),M=q.x,Y=q.x+q.width,Q=this.viewport.x,H=this.viewport.x+this.viewport.width,N=E(M,Y,Q,H);if(N!==0||G!==0)this.scrollBy({x:N,y:G})}scrollTo(A){if(typeof A==="number")this.scrollTop=A;else this.scrollTop=A.y,this.scrollLeft=A.x}isAtStickyPosition(){if(!this._stickyScroll||!this._stickyStart)return!1;let A=Math.max(0,this.scrollHeight-this.viewport.height),q=Math.max(0,this.scrollWidth-this.viewport.width);switch(this._stickyStart){case"top":return this.scrollTop===0;case"bottom":return this.scrollTop>=A;case"left":return this.scrollLeft===0;case"right":return this.scrollLeft>=q;default:return!1}}isAtStickyReengagePoint(A,q,E){switch(A){case"top":return q>0&&this.scrollTop<=0;case"bottom":return q>0&&this.scrollTop>=q-1;case"left":return E>0&&this.scrollLeft<=0;case"right":return E>0&&this.scrollLeft>=E-1}}add(A,q){return this.content.add(A,q)}insertBefore(A,q){return this.content.insertBefore(A,q)}remove(A){if(A.parent===this){super.remove(A);return}this.content.remove(A)}getChildren(){return this.content.getChildren()}getRenderable(A){return this.content.getRenderable(A)}onMouseEvent(A){if(A.type==="scroll"){let q=A.scroll?.direction;if(A.modifiers.shift)q=q==="up"?"left":q==="down"?"right":q==="right"?"down":"up";let E=A.scroll?.delta??0,g=Date.now(),j=this.scrollAccel.tick(g),a=E*j;if(q==="up"){this.scrollAccumulatorY-=a;let Z=Math.trunc(this.scrollAccumulatorY);if(Z!==0)this.scrollTop+=Z,this.scrollAccumulatorY-=Z}else if(q==="down"){this.scrollAccumulatorY+=a;let Z=Math.trunc(this.scrollAccumulatorY);if(Z!==0)this.scrollTop+=Z,this.scrollAccumulatorY-=Z}else if(q==="left"){this.scrollAccumulatorX-=a;let Z=Math.trunc(this.scrollAccumulatorX);if(Z!==0)this.scrollLeft+=Z,this.scrollAccumulatorX-=Z}else if(q==="right"){this.scrollAccumulatorX+=a;let Z=Math.trunc(this.scrollAccumulatorX);if(Z!==0)this.scrollLeft+=Z,this.scrollAccumulatorX-=Z}this.syncManualScrollState()}if(A.type==="drag"&&A.isDragging)this.updateAutoScroll(A.x,A.y);else if(A.type==="up")this.stopAutoScroll()}handleKeyPress(A){if(this.verticalScrollBar.handleKeyPress(A))return this.scrollAccel.reset(),this.resetScrollAccumulators(),this.syncManualScrollState(),!0;if(this.horizontalScrollBar.handleKeyPress(A))return this.scrollAccel.reset(),this.resetScrollAccumulators(),this.syncManualScrollState(),!0;return!1}resetScrollAccumulators(){this.scrollAccumulatorX=0,this.scrollAccumulatorY=0}startAutoScroll(A,q){if(this.stopAutoScroll(),this.autoScrollMouseX=A,this.autoScrollMouseY=q,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(A,q),this.isAutoScrolling=!0,!this.live)this.live=!0}updateAutoScroll(A,q){this.autoScrollMouseX=A,this.autoScrollMouseY=q,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(A,q);let E=this.getAutoScrollDirectionX(A),g=this.getAutoScrollDirectionY(q);if(E===0&&g===0)this.stopAutoScroll();else if(!this.isAutoScrolling)this.startAutoScroll(A,q)}stopAutoScroll(){let A=this.isAutoScrolling;if(this.isAutoScrolling=!1,this.autoScrollAccumulatorX=0,this.autoScrollAccumulatorY=0,A&&!this.hasOtherLiveReasons())this.live=!1}hasOtherLiveReasons(){return!1}handleAutoScroll(A){if(!this.isAutoScrolling)return;let q=this.getAutoScrollDirectionX(this.autoScrollMouseX),E=this.getAutoScrollDirectionY(this.autoScrollMouseY),g=this.cachedAutoScrollSpeed*(A/1000),j=!1;if(q!==0){this.autoScrollAccumulatorX+=q*g;let a=Math.trunc(this.autoScrollAccumulatorX);if(a!==0)this.scrollLeft+=a,this.autoScrollAccumulatorX-=a,j=!0}if(E!==0){this.autoScrollAccumulatorY+=E*g;let a=Math.trunc(this.autoScrollAccumulatorY);if(a!==0)this.scrollTop+=a,this.autoScrollAccumulatorY-=a,j=!0}if(j)this._ctx.requestSelectionUpdate();if(q===0&&E===0)this.stopAutoScroll()}getAutoScrollDirectionX(A){let q=A-this.x,E=q,g=this.width-q;if(E<=this.autoScrollThresholdHorizontal)return this.scrollLeft>0?-1:0;else if(g<=this.autoScrollThresholdHorizontal){let j=this.scrollWidth-this.viewport.width;return this.scrollLeft<j?1:0}return 0}getAutoScrollDirectionY(A){let q=A-this.y,E=q,g=this.height-q;if(E<=this.autoScrollThresholdVertical)return this.scrollTop>0?-1:0;else if(g<=this.autoScrollThresholdVertical){let j=this.scrollHeight-this.viewport.height;return this.scrollTop<j?1:0}return 0}getAutoScrollSpeed(A,q){let E=A-this.x,g=q-this.y,j=E,a=this.width-E,Z=g,G=this.height-g,M=Math.min(j,a,Z,G);if(M<=1)return this.autoScrollSpeedFast;else if(M<=2)return this.autoScrollSpeedMedium;else return this.autoScrollSpeedSlow}recalculateBarProps(){let A=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{if(this.verticalScrollBar.scrollSize=this.content.height,this.verticalScrollBar.viewportSize=this.viewport.height,this.horizontalScrollBar.scrollSize=this.content.width,this.horizontalScrollBar.viewportSize=this.viewport.width,this._stickyScroll){let q=Math.max(0,this.scrollHeight-this.viewport.height),E=Math.max(0,this.scrollWidth-this.viewport.width),g=this._stickyStart;if(g&&!this._hasManualScroll)this.applyStickyStart(g);else if(g&&this._hasManualScroll&&this.isAtStickyReengagePoint(g,q,E))this._hasManualScroll=!1,this.applyStickyStart(g);else if(!this._hasManualScroll){if(this._stickyScrollTop)this.scrollTop=0;else if(this._stickyScrollBottom&&q>0)this.scrollTop=q;if(this._stickyScrollLeft)this.scrollLeft=0;else if(this._stickyScrollRight&&E>0)this.scrollLeft=E}}}finally{this._isApplyingStickyScroll=A}process.nextTick(()=>{this.requestRender()})}set padding(A){this.content.padding=A,this.requestRender()}set paddingX(A){this.content.paddingX=A,this.requestRender()}set paddingY(A){this.content.paddingY=A,this.requestRender()}set paddingTop(A){this.content.paddingTop=A,this.requestRender()}set paddingRight(A){this.content.paddingRight=A,this.requestRender()}set paddingBottom(A){this.content.paddingBottom=A,this.requestRender()}set paddingLeft(A){this.content.paddingLeft=A,this.requestRender()}set rootOptions(A){Object.assign(this,A),this.requestRender()}set wrapperOptions(A){Object.assign(this.wrapper,A),this.requestRender()}set viewportOptions(A){Object.assign(this.viewport,A),this.requestRender()}set contentOptions(A){Object.assign(this.content,A),this.requestRender()}set scrollbarOptions(A){Object.assign(this.verticalScrollBar,A),Object.assign(this.horizontalScrollBar,A),this.requestRender()}set verticalScrollbarOptions(A){Object.assign(this.verticalScrollBar,A),this.requestRender()}set horizontalScrollbarOptions(A){Object.assign(this.horizontalScrollBar,A),this.requestRender()}get scrollAcceleration(){return this.scrollAccel}set scrollAcceleration(A){this.scrollAccel=A}get viewportCulling(){return this.content.viewportCulling}set viewportCulling(A){this.content.viewportCulling=A,this.requestRender()}destroySelf(){if(this.selectionListener)this._ctx.off("selection",this.selectionListener),this.selectionListener=void 0;super.destroySelf()}};GY=[{name:"up",action:"move-up"},{name:"k",action:"move-up"},{name:"down",action:"move-down"},{name:"j",action:"move-down"},{name:"up",shift:!0,action:"move-up-fast"},{name:"down",shift:!0,action:"move-down-fast"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}];((A)=>{A.SELECTION_CHANGED="selectionChanged",A.ITEM_SELECTED="itemSelected"})(wZ||={});Pj=class Pj extends pA{_focusable=!0;_options=[];_selectedIndex=0;scrollOffset=0;maxVisibleItems;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_descriptionColor;_selectedDescriptionColor;_showScrollIndicator;_wrapSelection;_showDescription;_showSelectionIndicator;_font;_itemSpacing;linesPerItem;fontHeight;_fastScrollStep;_keyBindingsMap;_keyAliasMap;_keyBindings;_defaultOptions={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"#1a1a1a",focusedTextColor:"#FFFFFF",selectedBackgroundColor:"#334455",selectedTextColor:"#FFFF00",selectedIndex:0,descriptionColor:"#888888",selectedDescriptionColor:"#CCCCCC",showScrollIndicator:!1,wrapSelection:!1,showDescription:!0,showSelectionIndicator:!0,itemSpacing:0,fastScrollStep:5};constructor(A,q){super(A,{...q,buffered:!0});this._options=q.options||[];let E=q.selectedIndex??this._defaultOptions.selectedIndex;this._selectedIndex=this._options.length>0?Math.min(E,this._options.length-1):0,this._backgroundColor=S(q.backgroundColor||this._defaultOptions.backgroundColor),this._textColor=S(q.textColor||this._defaultOptions.textColor),this._focusedBackgroundColor=S(q.focusedBackgroundColor||this._defaultOptions.focusedBackgroundColor),this._focusedTextColor=S(q.focusedTextColor||this._defaultOptions.focusedTextColor),this._showScrollIndicator=q.showScrollIndicator??this._defaultOptions.showScrollIndicator,this._wrapSelection=q.wrapSelection??this._defaultOptions.wrapSelection,this._showDescription=q.showDescription??this._defaultOptions.showDescription,this._showSelectionIndicator=q.showSelectionIndicator??this._defaultOptions.showSelectionIndicator,this._font=q.font,this._itemSpacing=q.itemSpacing||this._defaultOptions.itemSpacing,this.fontHeight=this._font?Xj({text:"A",font:this._font}).height:1,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this._selectedBackgroundColor=S(q.selectedBackgroundColor||this._defaultOptions.selectedBackgroundColor),this._selectedTextColor=S(q.selectedTextColor||this._defaultOptions.selectedTextColor),this._descriptionColor=S(q.descriptionColor||this._defaultOptions.descriptionColor),this._selectedDescriptionColor=S(q.selectedDescriptionColor||this._defaultOptions.selectedDescriptionColor),this._fastScrollStep=q.fastScrollStep||this._defaultOptions.fastScrollStep,this._keyAliasMap=tE(dE,q.keyAliasMap||{}),this._keyBindings=q.keyBindings||[];let g=P6(GY,this._keyBindings);this._keyBindingsMap=z6(g,this._keyAliasMap),this.updateScrollOffset(),this.requestRender()}renderSelf(A,q){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let A=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(A),this._options.length===0)return;let q=0,E=0,g=this.width,j=this.height,a=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleItems);for(let Z=0;Z<a.length;Z++){let G=this.scrollOffset+Z,M=a[Z],Y=G===this._selectedIndex,Q=E+Z*this.linesPerItem;if(Q+this.linesPerItem-1>=E+j)break;if(Y){let I=this.linesPerItem-this._itemSpacing;this.frameBuffer.fillRect(q,Q,g,I,this._selectedBackgroundColor)}let H=this._showSelectionIndicator?Y?"\u25B6 ":" ":"",N=this._showSelectionIndicator?2:0,X=`${H}${M.name}`,T=this._focused?this._focusedTextColor:this._textColor,J=Y?this._selectedTextColor:T,V=q+1+N;if(this._font){if(H)this.frameBuffer.drawText(H,q+1,Q,J);iK(this.frameBuffer,{text:M.name,x:V,y:Q,color:J,backgroundColor:Y?this._selectedBackgroundColor:A,font:this._font})}else this.frameBuffer.drawText(X,q+1,Q,J);if(this._showDescription&&Q+this.fontHeight<E+j){let I=Y?this._selectedDescriptionColor:this._descriptionColor;this.frameBuffer.drawText(M.description,V,Q+this.fontHeight,I)}}if(this._showScrollIndicator&&this._options.length>this.maxVisibleItems)this.renderScrollIndicatorToFrameBuffer(q,E,g,j)}renderScrollIndicatorToFrameBuffer(A,q,E,g){if(!this.frameBuffer)return;let j=this._options.length-this.maxVisibleItems,a=this.scrollOffset/j,Z=Math.max(1,g-2),G=q+1+Math.floor(a*Z),M=A+E-1;this.frameBuffer.drawText("\u2588",M,G,S("#666666"))}get options(){return this._options}set options(A){this._options=A,this._selectedIndex=Math.min(this._selectedIndex,Math.max(0,A.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this._selectedIndex]||null}getSelectedIndex(){return this._selectedIndex}moveUp(A=1){let q=this._selectedIndex-A;if(q>=0)this._selectedIndex=q;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=this._options.length-1;else this._selectedIndex=0;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}moveDown(A=1){let q=this._selectedIndex+A;if(q<this._options.length)this._selectedIndex=q;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=0;else this._selectedIndex=this._options.length-1;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}selectCurrent(){let A=this.getSelectedOption();if(A)this.emit("itemSelected",this._selectedIndex,A)}setSelectedIndex(A){if(A>=0&&A<this._options.length)this._selectedIndex=A,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}updateScrollOffset(){if(!this._options)return;let A=Math.floor(this.maxVisibleItems/2),q=Math.max(0,Math.min(this._selectedIndex-A,this._options.length-this.maxVisibleItems));if(q!==this.scrollOffset)this.scrollOffset=q,this.requestRender()}onResize(A,q){this.maxVisibleItems=Math.max(1,Math.floor(q/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}handleKeyPress(A){let q=lF(this._keyBindingsMap,A);if(q)switch(q){case"move-up":return this.moveUp(1),!0;case"move-down":return this.moveDown(1),!0;case"move-up-fast":return this.moveUp(this._fastScrollStep),!0;case"move-down-fast":return this.moveDown(this._fastScrollStep),!0;case"select-current":return this.selectCurrent(),!0}return!1}get showScrollIndicator(){return this._showScrollIndicator}set showScrollIndicator(A){this._showScrollIndicator=A,this.requestRender()}get showDescription(){return this._showDescription}set showDescription(A){if(this._showDescription!==A)this._showDescription=A,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}get showSelectionIndicator(){return this._showSelectionIndicator}set showSelectionIndicator(A){let q=A??this._defaultOptions.showSelectionIndicator;if(this._showSelectionIndicator!==q)this._showSelectionIndicator=q,this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(A){this._wrapSelection=A}set backgroundColor(A){let q=S(A??this._defaultOptions.backgroundColor);if(this._backgroundColor!==q)this._backgroundColor=q,this.requestRender()}set textColor(A){let q=S(A??this._defaultOptions.textColor);if(this._textColor!==q)this._textColor=q,this.requestRender()}set focusedBackgroundColor(A){let q=S(A??this._defaultOptions.focusedBackgroundColor);if(this._focusedBackgroundColor!==q)this._focusedBackgroundColor=q,this.requestRender()}set focusedTextColor(A){let q=S(A??this._defaultOptions.focusedTextColor);if(this._focusedTextColor!==q)this._focusedTextColor=q,this.requestRender()}set selectedBackgroundColor(A){let q=S(A??this._defaultOptions.selectedBackgroundColor);if(this._selectedBackgroundColor!==q)this._selectedBackgroundColor=q,this.requestRender()}set selectedTextColor(A){let q=S(A??this._defaultOptions.selectedTextColor);if(this._selectedTextColor!==q)this._selectedTextColor=q,this.requestRender()}set descriptionColor(A){let q=S(A??this._defaultOptions.descriptionColor);if(this._descriptionColor!==q)this._descriptionColor=q,this.requestRender()}set selectedDescriptionColor(A){let q=S(A??this._defaultOptions.selectedDescriptionColor);if(this._selectedDescriptionColor!==q)this._selectedDescriptionColor=q,this.requestRender()}set font(A){this._font=A,this.fontHeight=Xj({text:"A",font:this._font}).height,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set itemSpacing(A){this._itemSpacing=A,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set fastScrollStep(A){this._fastScrollStep=A}set keyBindings(A){this._keyBindings=A;let q=P6(GY,A);this._keyBindingsMap=z6(q,this._keyAliasMap)}set keyAliasMap(A){this._keyAliasMap=tE(dE,A);let q=P6(GY,this._keyBindings);this._keyBindingsMap=z6(q,this._keyAliasMap)}set selectedIndex(A){let q=A??this._defaultOptions.selectedIndex,E=this._options.length>0?Math.min(Math.max(0,q),this._options.length-1):0;if(this._selectedIndex!==E)this._selectedIndex=E,this.updateScrollOffset(),this.requestRender()}};MY=[{name:"left",action:"move-left"},{name:"[",action:"move-left"},{name:"right",action:"move-right"},{name:"]",action:"move-right"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}];((A)=>{A.SELECTION_CHANGED="selectionChanged",A.ITEM_SELECTED="itemSelected"})(vZ||={});zj=class zj extends pA{_focusable=!0;_options=[];selectedIndex=0;scrollOffset=0;_tabWidth;maxVisibleTabs;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_selectedDescriptionColor;_showScrollArrows;_showDescription;_showUnderline;_wrapSelection;_keyBindingsMap;_keyAliasMap;_keyBindings;constructor(A,q){let E=G9(q.showUnderline??!0,q.showDescription??!0);super(A,{...q,height:E,buffered:!0});this._backgroundColor=S(q.backgroundColor||"transparent"),this._textColor=S(q.textColor||"#FFFFFF"),this._focusedBackgroundColor=S(q.focusedBackgroundColor||q.backgroundColor||"#1a1a1a"),this._focusedTextColor=S(q.focusedTextColor||q.textColor||"#FFFFFF"),this._options=q.options||[],this._tabWidth=q.tabWidth||20,this._showDescription=q.showDescription??!0,this._showUnderline=q.showUnderline??!0,this._showScrollArrows=q.showScrollArrows??!0,this._wrapSelection=q.wrapSelection??!1,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this._selectedBackgroundColor=S(q.selectedBackgroundColor||"#334455"),this._selectedTextColor=S(q.selectedTextColor||"#FFFF00"),this._selectedDescriptionColor=S(q.selectedDescriptionColor||"#CCCCCC"),this._keyAliasMap=tE(dE,q.keyAliasMap||{}),this._keyBindings=q.keyBindings||[];let g=P6(MY,this._keyBindings);this._keyBindingsMap=z6(g,this._keyAliasMap)}calculateDynamicHeight(){return G9(this._showUnderline,this._showDescription)}renderSelf(A,q){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let A=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(A),this._options.length===0)return;let q=0,E=0,g=this.width,j=this.height,a=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleTabs);for(let Z=0;Z<a.length;Z++){let G=this.scrollOffset+Z,M=a[Z],Y=G===this.selectedIndex,Q=q+Z*this._tabWidth;if(Q>=q+g)break;let H=Math.min(this._tabWidth,g-Z*this._tabWidth);if(Y)this.frameBuffer.fillRect(Q,E,H,1,this._selectedBackgroundColor);let N=this._focused?this._focusedTextColor:this._textColor,X=Y?this._selectedTextColor:N,T=this.truncateText(M.name,H-2);if(this.frameBuffer.drawText(T,Q+1,E,X),Y&&this._showUnderline&&j>=2){let J=E+1,V=Y?this._selectedBackgroundColor:A;this.frameBuffer.drawText("\u25AC".repeat(H),Q,J,X,V)}}if(this._showDescription&&j>=(this._showUnderline?3:2)){let Z=this.getSelectedOption();if(Z){let G=E+(this._showUnderline?2:1),M=this._selectedDescriptionColor,Y=this.truncateText(Z.description,g-2);this.frameBuffer.drawText(Y,q+1,G,M)}}if(this._showScrollArrows&&this._options.length>this.maxVisibleTabs)this.renderScrollArrowsToFrameBuffer(q,E,g,j)}truncateText(A,q){if(A.length<=q)return A;return A.substring(0,Math.max(0,q-1))+"\u2026"}renderScrollArrowsToFrameBuffer(A,q,E,g){if(!this.frameBuffer)return;let j=this.scrollOffset>0,a=this.scrollOffset+this.maxVisibleTabs<this._options.length;if(j)this.frameBuffer.drawText("\u2039",A,q,S("#AAAAAA"));if(a)this.frameBuffer.drawText("\u203A",A+E-1,q,S("#AAAAAA"))}setOptions(A){this._options=A,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,A.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this.selectedIndex]||null}getSelectedIndex(){return this.selectedIndex}moveLeft(){if(this.selectedIndex>0)this.selectedIndex--;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=this._options.length-1;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}moveRight(){if(this.selectedIndex<this._options.length-1)this.selectedIndex++;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=0;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}selectCurrent(){let A=this.getSelectedOption();if(A)this.emit("itemSelected",this.selectedIndex,A)}setSelectedIndex(A){if(A>=0&&A<this._options.length)this.selectedIndex=A,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}updateScrollOffset(){let A=Math.floor(this.maxVisibleTabs/2),q=Math.max(0,Math.min(this.selectedIndex-A,this._options.length-this.maxVisibleTabs));if(q!==this.scrollOffset)this.scrollOffset=q,this.requestRender()}onResize(A,q){this.maxVisibleTabs=Math.max(1,Math.floor(A/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}setTabWidth(A){if(this._tabWidth===A)return;this._tabWidth=A,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}getTabWidth(){return this._tabWidth}handleKeyPress(A){let q=lF(this._keyBindingsMap,A);if(q)switch(q){case"move-left":return this.moveLeft(),!0;case"move-right":return this.moveRight(),!0;case"select-current":return this.selectCurrent(),!0}return!1}get options(){return this._options}set options(A){this._options=A,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,A.length-1)),this.updateScrollOffset(),this.requestRender()}set backgroundColor(A){this._backgroundColor=S(A),this.requestRender()}set textColor(A){this._textColor=S(A),this.requestRender()}set focusedBackgroundColor(A){this._focusedBackgroundColor=S(A),this.requestRender()}set focusedTextColor(A){this._focusedTextColor=S(A),this.requestRender()}set selectedBackgroundColor(A){this._selectedBackgroundColor=S(A),this.requestRender()}set selectedTextColor(A){this._selectedTextColor=S(A),this.requestRender()}set selectedDescriptionColor(A){this._selectedDescriptionColor=S(A),this.requestRender()}get showDescription(){return this._showDescription}set showDescription(A){if(this._showDescription!==A){this._showDescription=A;let q=this.calculateDynamicHeight();this.height=q,this.requestRender()}}get showUnderline(){return this._showUnderline}set showUnderline(A){if(this._showUnderline!==A){this._showUnderline=A;let q=this.calculateDynamicHeight();this.height=q,this.requestRender()}}get showScrollArrows(){return this._showScrollArrows}set showScrollArrows(A){if(this._showScrollArrows!==A)this._showScrollArrows=A,this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(A){this._wrapSelection=A}get tabWidth(){return this._tabWidth}set tabWidth(A){if(this._tabWidth===A)return;this._tabWidth=A,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}set keyBindings(A){this._keyBindings=A;let q=P6(MY,A);this._keyBindingsMap=z6(q,this._keyAliasMap)}set keyAliasMap(A){this._keyAliasMap=tE(dE,A);let q=P6(MY,this._keyBindings);this._keyBindingsMap=z6(q,this._keyAliasMap)}};kS=new Intl.Segmenter(void 0,{granularity:"grapheme"});xY=class xY extends pA{_runtimeMs=null;textColor;label;precision;constructor(A,q={}){super(A,{width:"100%",height:1,flexShrink:0,alignSelf:"center",...q});this.textColor=S(q.fg??"#AAAAAA"),this.label=q.label??"Time to first draw",this.precision=this.normalizePrecision(q.precision??2)}get runtimeMs(){return this._runtimeMs}set fg(A){this.textColor=S(A),this.requestRender()}set color(A){this.fg=A}set textLabel(A){if(A===this.label)return;this.label=A,this.requestRender()}set decimals(A){let q=this.normalizePrecision(A);if(q===this.precision)return;this.precision=q,this.requestRender()}reset(){this._runtimeMs=null,this.requestRender()}renderSelf(A){if(this._runtimeMs===null)this._runtimeMs=performance.now();let q=`${this.label}: ${this._runtimeMs.toFixed(this.precision)}ms`,E=Math.max(this.width,1),g=fS(A,q,E),j=this.x+Math.max(0,Math.floor((E-g.width)/2));A.drawText(g.text,j,this.y,this.textColor)}normalizePrecision(A){if(!Number.isFinite(A))return 2;return Math.max(0,Math.floor(A))}}});var Iq=a6((jW)=>{var CY=Symbol.for("react.transitional.element"),lS=Symbol.for("react.portal"),uS=Symbol.for("react.fragment"),pS=Symbol.for("react.strict_mode"),dS=Symbol.for("react.profiler"),tS=Symbol.for("react.consumer"),sS=Symbol.for("react.context"),iS=Symbol.for("react.forward_ref"),nS=Symbol.for("react.suspense"),oS=Symbol.for("react.memo"),v9=Symbol.for("react.lazy"),rS=Symbol.for("react.activity"),D9=Symbol.iterator;function eS(A){if(A===null||typeof A!=="object")return null;return A=D9&&A[D9]||A["@@iterator"],typeof A==="function"?A:null}var b9={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k9=Object.assign,c9={};function Dj(A,q,E){this.props=A,this.context=q,this.refs=c9,this.updater=E||b9}Dj.prototype.isReactComponent={};Dj.prototype.setState=function(A,q){if(typeof A!=="object"&&typeof A!=="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,q,"setState")};Dj.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function f9(){}f9.prototype=Dj.prototype;function DY(A,q,E){this.props=A,this.context=q,this.refs=c9,this.updater=E||b9}var yY=DY.prototype=new f9;yY.constructor=DY;k9(yY,Dj.prototype);yY.isPureReactComponent=!0;var y9=Array.isArray;function zY(){}var gq={H:null,A:null,T:null,S:null},l9=Object.prototype.hasOwnProperty;function mY(A,q,E){var g=E.ref;return{$$typeof:CY,type:A,key:q,ref:g!==void 0?g:null,props:E}}function AW(A,q){return mY(A.type,q,A.props)}function wY(A){return typeof A==="object"&&A!==null&&A.$$typeof===CY}function qW(A){var q={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(E){return q[E]})}var m9=/\/+/g;function PY(A,q){return typeof A==="object"&&A!==null&&A.key!=null?qW(""+A.key):q.toString(36)}function EW(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status==="string"?A.then(zY,zY):(A.status="pending",A.then(function(q){A.status==="pending"&&(A.status="fulfilled",A.value=q)},function(q){A.status==="pending"&&(A.status="rejected",A.reason=q)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function Cj(A,q,E,g,j){var a=typeof A;if(a==="undefined"||a==="boolean")A=null;var Z=!1;if(A===null)Z=!0;else switch(a){case"bigint":case"string":case"number":Z=!0;break;case"object":switch(A.$$typeof){case CY:case lS:Z=!0;break;case v9:return Z=A._init,Cj(Z(A._payload),q,E,g,j)}}if(Z)return j=j(A),Z=g===""?"."+PY(A,0):g,y9(j)?(E="",Z!=null&&(E=Z.replace(m9,"$&/")+"/"),Cj(j,q,E,"",function(Y){return Y})):j!=null&&(wY(j)&&(j=AW(j,E+(j.key==null||A&&A.key===j.key?"":(""+j.key).replace(m9,"$&/")+"/")+Z)),q.push(j)),1;Z=0;var G=g===""?".":g+":";if(y9(A))for(var M=0;M<A.length;M++)g=A[M],a=G+PY(g,M),Z+=Cj(g,q,E,a,j);else if(M=eS(A),typeof M==="function")for(A=M.call(A),M=0;!(g=A.next()).done;)g=g.value,a=G+PY(g,M++),Z+=Cj(g,q,E,a,j);else if(a==="object"){if(typeof A.then==="function")return Cj(EW(A),q,E,g,j);throw q=String(A),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return Z}function bZ(A,q,E){if(A==null)return A;var g=[],j=0;return Cj(A,g,"","",function(a){return q.call(E,a,j++)}),g}function gW(A){if(A._status===-1){var q=A._result;q=q(),q.then(function(E){if(A._status===0||A._status===-1)A._status=1,A._result=E},function(E){if(A._status===0||A._status===-1)A._status=2,A._result=E}),A._status===-1&&(A._status=0,A._result=q)}if(A._status===1)return A._result.default;throw A._result}var w9=typeof reportError==="function"?reportError:function(A){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A==="object"&&A!==null&&typeof A.message==="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(q))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",A);return}console.error(A)},_W={map:bZ,forEach:function(A,q,E){bZ(A,function(){q.apply(this,arguments)},E)},count:function(A){var q=0;return bZ(A,function(){q++}),q},toArray:function(A){return bZ(A,function(q){return q})||[]},only:function(A){if(!wY(A))throw Error("React.Children.only expected to receive a single React element child.");return A}};jW.Activity=rS;jW.Children=_W;jW.Component=Dj;jW.Fragment=uS;jW.Profiler=dS;jW.PureComponent=DY;jW.StrictMode=pS;jW.Suspense=nS;jW.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=gq;jW.__COMPILER_RUNTIME={__proto__:null,c:function(A){return gq.H.useMemoCache(A)}};jW.cache=function(A){return function(){return A.apply(null,arguments)}};jW.cacheSignal=function(){return null};jW.cloneElement=function(A,q,E){if(A===null||A===void 0)throw Error("The argument must be a React element, but you passed "+A+".");var g=k9({},A.props),j=A.key;if(q!=null)for(a in q.key!==void 0&&(j=""+q.key),q)!l9.call(q,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&q.ref===void 0||(g[a]=q[a]);var a=arguments.length-2;if(a===1)g.children=E;else if(1<a){for(var Z=Array(a),G=0;G<a;G++)Z[G]=arguments[G+2];g.children=Z}return mY(A.type,j,g)};jW.createContext=function(A){return A={$$typeof:sS,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:tS,_context:A},A};jW.createElement=function(A,q,E){var g,j={},a=null;if(q!=null)for(g in q.key!==void 0&&(a=""+q.key),q)l9.call(q,g)&&g!=="key"&&g!=="__self"&&g!=="__source"&&(j[g]=q[g]);var Z=arguments.length-2;if(Z===1)j.children=E;else if(1<Z){for(var G=Array(Z),M=0;M<Z;M++)G[M]=arguments[M+2];j.children=G}if(A&&A.defaultProps)for(g in Z=A.defaultProps,Z)j[g]===void 0&&(j[g]=Z[g]);return mY(A,a,j)};jW.createRef=function(){return{current:null}};jW.forwardRef=function(A){return{$$typeof:iS,render:A}};jW.isValidElement=wY;jW.lazy=function(A){return{$$typeof:v9,_payload:{_status:-1,_result:A},_init:gW}};jW.memo=function(A,q){return{$$typeof:oS,type:A,compare:q===void 0?null:q}};jW.startTransition=function(A){var q=gq.T,E={};gq.T=E;try{var g=A(),j=gq.S;j!==null&&j(E,g),typeof g==="object"&&g!==null&&typeof g.then==="function"&&g.then(zY,w9)}catch(a){w9(a)}finally{q!==null&&E.types!==null&&(q.types=E.types),gq.T=q}};jW.unstable_useCacheRefresh=function(){return gq.H.useCacheRefresh()};jW.use=function(A){return gq.H.use(A)};jW.useActionState=function(A,q,E){return gq.H.useActionState(A,q,E)};jW.useCallback=function(A,q){return gq.H.useCallback(A,q)};jW.useContext=function(A){return gq.H.useContext(A)};jW.useDebugValue=function(){};jW.useDeferredValue=function(A,q){return gq.H.useDeferredValue(A,q)};jW.useEffect=function(A,q){return gq.H.useEffect(A,q)};jW.useEffectEvent=function(A){return gq.H.useEffectEvent(A)};jW.useId=function(){return gq.H.useId()};jW.useImperativeHandle=function(A,q,E){return gq.H.useImperativeHandle(A,q,E)};jW.useInsertionEffect=function(A,q){return gq.H.useInsertionEffect(A,q)};jW.useLayoutEffect=function(A,q){return gq.H.useLayoutEffect(A,q)};jW.useMemo=function(A,q){return gq.H.useMemo(A,q)};jW.useOptimistic=function(A,q){return gq.H.useOptimistic(A,q)};jW.useReducer=function(A,q,E){return gq.H.useReducer(A,q,E)};jW.useRef=function(A){return gq.H.useRef(A)};jW.useState=function(A){return gq.H.useState(A)};jW.useSyncExternalStore=function(A,q,E){return gq.H.useSyncExternalStore(A,q,E)};jW.useTransition=function(){return gq.H.useTransition()};jW.version="19.2.7"});var eF=void 0;var u9=()=>{};function kY(A,q){var E=A.length;A.push(q);A:for(;0<E;){var g=E-1>>>1,j=A[g];if(0<kZ(j,q))A[g]=q,A[E]=j,E=g;else break A}}function HE(A){return A.length===0?null:A[0]}function uZ(A){if(A.length===0)return null;var q=A[0],E=A.pop();if(E!==q){A[0]=E;A:for(var g=0,j=A.length,a=j>>>1;g<a;){var Z=2*(g+1)-1,G=A[Z],M=Z+1,Y=A[M];if(0>kZ(G,E))M<j&&0>kZ(Y,G)?(A[g]=Y,A[M]=E,g=M):(A[g]=G,A[Z]=E,g=Z);else if(M<j&&0>kZ(Y,E))A[g]=Y,A[M]=E,g=M;else break A}}return q}function kZ(A,q){var E=A.sortIndex-q.sortIndex;return E!==0?E:A.id-q.id}function fZ(A){for(var q=HE(lg);q!==null;){if(q.callback===null)uZ(lg);else if(q.startTime<=A)uZ(lg),q.sortIndex=q.expirationTime,kY(iE,q);else break;q=HE(lg)}}function dY(A){if(qa=!1,fZ(A),!Aa)if(HE(iE)!==null)Aa=!0,mj||(mj=!0,yj());else{var q=HE(lg);q!==null&&tY(dY,q.startTime-A)}}function i9(){return pY?!0:TE()-s9<iW?!1:!0}function bY(){if(pY=!1,mj){var A=TE();s9=A;var q=!0;try{A:{Aa=!1,qa&&(qa=!1,t9(Ea),Ea=-1),lY=!0;var E=vY;try{q:{fZ(A);for(u6=HE(iE);u6!==null&&!(u6.expirationTime>A&&i9());){var g=u6.callback;if(typeof g==="function"){u6.callback=null,vY=u6.priorityLevel;var j=g(u6.expirationTime<=A);if(A=TE(),typeof j==="function"){u6.callback=j,fZ(A),q=!0;break q}u6===HE(iE)&&uZ(iE),fZ(A)}else uZ(iE);u6=HE(iE)}if(u6!==null)q=!0;else{var a=HE(lg);a!==null&&tY(dY,a.startTime-A),q=!1}}break A}finally{u6=null,vY=E,lY=!1}q=void 0}}finally{q?yj():mj=!1}}}function tY(A,q){Ea=d9(function(){A(TE())},q)}var TE=void 0,cY,cZ,fY,iE,lg,sW=1,u6=null,vY=3,lY=!1,Aa=!1,qa=!1,pY=!1,d9,t9,p9,mj=!1,Ea=-1,iW=5,s9=-1,yj,lZ,uY,sY=5,iY=1,pZ=3,nY=2,oY=function(A){A.callback=null},rY=function(){pY=!0},dZ=function(A,q,E){var g=TE();switch(typeof E==="object"&&E!==null?(E=E.delay,E=typeof E==="number"&&0<E?g+E:g):E=g,A){case 1:var j=-1;break;case 2:j=250;break;case 5:j=1073741823;break;case 4:j=1e4;break;default:j=5000}return j=E+j,A={id:sW++,callback:q,priorityLevel:A,startTime:E,expirationTime:j,sortIndex:-1},E>g?(A.sortIndex=E,kY(lg,A),HE(iE)===null&&A===HE(lg)&&(qa?(t9(Ea),Ea=-1):qa=!0,tY(dY,E-g))):(A.sortIndex=j,kY(iE,A),Aa||lY||(Aa=!0,mj||(mj=!0,yj()))),A},eY;var o9=zA(()=>{if(typeof performance==="object"&&typeof performance.now==="function")cY=performance,TE=function(){return cY.now()};else cZ=Date,fY=cZ.now(),TE=function(){return cZ.now()-fY};iE=[],lg=[],d9=typeof setTimeout==="function"?setTimeout:null,t9=typeof clearTimeout==="function"?clearTimeout:null,p9=typeof setImmediate<"u"?setImmediate:null;if(typeof p9==="function")yj=function(){p9(bY)};else if(typeof MessageChannel<"u")lZ=new MessageChannel,uY=lZ.port2,lZ.port1.onmessage=bY,yj=function(){uY.postMessage(null)};else yj=function(){d9(bY,0)};eY=i9});var r9=a6((Vy,ga)=>{o9();var AQ=PA(Iq());ga.exports=function(A){function q(_,F,K,U){return new uN(_,F,K,U)}function E(){}function g(_){var F="https://react.dev/errors/"+_;if(1<arguments.length){F+="?args[]="+encodeURIComponent(arguments[1]);for(var K=2;K<arguments.length;K++)F+="&args[]="+encodeURIComponent(arguments[K])}return"Minified React error #"+_+"; visit "+F+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function j(_){var F=_,K=_;if(_.alternate)for(;F.return;)F=F.return;else{_=F;do F=_,(F.flags&4098)!==0&&(K=F.return),_=F.return;while(_)}return F.tag===3?K:null}function a(_){if(j(_)!==_)throw Error(g(188))}function Z(_){var F=_.alternate;if(!F){if(F=j(_),F===null)throw Error(g(188));return F!==_?null:_}for(var K=_,U=F;;){var O=K.return;if(O===null)break;var $=O.alternate;if($===null){if(U=O.return,U!==null){K=U;continue}break}if(O.child===$.child){for($=O.child;$;){if($===K)return a(O),_;if($===U)return a(O),F;$=$.sibling}throw Error(g(188))}if(K.return!==U.return)K=O,U=$;else{for(var L=!1,R=O.child;R;){if(R===K){L=!0,K=O,U=$;break}if(R===U){L=!0,U=O,K=$;break}R=R.sibling}if(!L){for(R=$.child;R;){if(R===K){L=!0,K=$,U=O;break}if(R===U){L=!0,U=$,K=O;break}R=R.sibling}if(!L)throw Error(g(189))}}if(K.alternate!==U)throw Error(g(190))}if(K.tag!==3)throw Error(g(188));return K.stateNode.current===K?_:F}function G(_){var F=_.tag;if(F===5||F===26||F===27||F===6)return _;for(_=_.child;_!==null;){if(F=G(_),F!==null)return F;_=_.sibling}return null}function M(_){var F=_.tag;if(F===5||F===26||F===27||F===6)return _;for(_=_.child;_!==null;){if(_.tag!==4&&(F=M(_),F!==null))return F;_=_.sibling}return null}function Y(_){if(_===null||typeof _!=="object")return null;return _=bH&&_[bH]||_["@@iterator"],typeof _==="function"?_:null}function Q(_){if(_==null)return null;if(typeof _==="function")return _.$$typeof===sN?null:_.displayName||_.name||null;if(typeof _==="string")return _;switch(_){case w_:return"Fragment";case jG:return"Profiler";case wH:return"StrictMode";case aG:return"Suspense";case KG:return"SuspenseList";case UG:return"Activity"}if(typeof _==="object")switch(_.$$typeof){case m_:return"Portal";case jg:return _.displayName||"Context";case vH:return(_._context.displayName||"Context")+".Consumer";case FG:var F=_.render;return _=_.displayName,_||(_=F.displayName||F.name||"",_=_!==""?"ForwardRef("+_+")":"ForwardRef"),_;case ZG:return F=_.displayName||null,F!==null?F:Q(_.type)||"Memo";case Fg:F=_._payload,_=_._init;try{return Q(_(F))}catch(K){}}return null}function H(_){return{current:_}}function N(_){0>k_||(_.current=$G[k_],$G[k_]=null,k_--)}function X(_,F){k_++,$G[k_]=_.current,_.current=F}function T(_){return _>>>=0,_===0?32:31-(NR(_)/VR|0)|0}function J(_){var F=_&42;if(F!==0)return F;switch(_&-_){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return _&261888;case 262144:case 524288:case 1048576:case 2097152:return _&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return _&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return _}}function V(_,F,K){var U=_.pendingLanes;if(U===0)return 0;var O=0,$=_.suspendedLanes,L=_.pingedLanes;_=_.warmLanes;var R=U&134217727;return R!==0?(U=R&~$,U!==0?O=J(U):(L&=R,L!==0?O=J(L):K||(K=R&~_,K!==0&&(O=J(K))))):(R=U&~$,R!==0?O=J(R):L!==0?O=J(L):K||(K=U&~_,K!==0&&(O=J(K)))),O===0?0:F!==0&&F!==O&&(F&$)===0&&($=O&-O,K=F&-F,$>=K||$===32&&(K&4194048)!==0)?F:O}function I(_,F){return(_.pendingLanes&~(_.suspendedLanes&~_.pingedLanes)&F)===0}function W(_,F){switch(_){case 1:case 2:case 4:case 8:case 64:return F+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return F+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function C(){var _=la;return la<<=1,(la&62914560)===0&&(la=4194304),_}function c(_){for(var F=[],K=0;31>K;K++)F.push(_);return F}function D(_,F){_.pendingLanes|=F,F!==268435456&&(_.suspendedLanes=0,_.pingedLanes=0,_.warmLanes=0)}function v(_,F,K,U,O,$){var L=_.pendingLanes;_.pendingLanes=K,_.suspendedLanes=0,_.pingedLanes=0,_.warmLanes=0,_.expiredLanes&=K,_.entangledLanes&=K,_.errorRecoveryDisabledLanes&=K,_.shellSuspendCounter=0;var{entanglements:R,expirationTimes:z,hiddenUpdates:w}=_;for(K=L&~K;0<K;){var s=31-V6(K),f=1<<s;R[s]=0,z[s]=-1;var qA=w[s];if(qA!==null)for(w[s]=null,s=0;s<qA.length;s++){var TA=qA[s];TA!==null&&(TA.lane&=-536870913)}K&=~f}U!==0&&k(_,U,0),$!==0&&O===0&&_.tag!==0&&(_.suspendedLanes|=$&~(L&~F))}function k(_,F,K){_.pendingLanes|=F,_.suspendedLanes&=~F;var U=31-V6(F);_.entangledLanes|=F,_.entanglements[U]=_.entanglements[U]|1073741824|K&261930}function u(_,F){var K=_.entangledLanes|=F;for(_=_.entanglements;K;){var U=31-V6(K),O=1<<U;O&F|_[U]&F&&(_[U]|=F),K&=~O}}function d(_,F){var K=F&-F;return K=(K&42)!==0?1:p(K),(K&(_.suspendedLanes|F))!==0?0:K}function p(_){switch(_){case 2:_=1;break;case 8:_=4;break;case 32:_=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:_=128;break;case 268435456:_=134217728;break;default:_=0}return _}function QA(_){return _&=-_,2<_?8<_?(_&134217727)!==0?32:268435456:8:2}function GA(_){if(typeof WR==="function"&&BR(_),R6&&typeof R6.setStrictMode==="function")try{R6.setStrictMode(_F,_)}catch(F){}}function jq(_,F){return _===F&&(_!==0||1/_===1/F)||_!==_&&F!==F}function iA(_){if(JG===void 0)try{throw Error()}catch(K){var F=K.stack.trim().match(/\n( *(at )?)/);JG=F&&F[1]||"",G7=-1<K.stack.indexOf(`
283
+ at`)?" (<anonymous>)":-1<K.stack.indexOf("@")?"@unknown:0:0":""}return`
284
+ `+JG+_+G7}function Dq(_,F){if(!_||XG)return"";XG=!0;var K=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var U={DetermineComponentFrameRoot:function(){try{if(F){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(TA){var qA=TA}Reflect.construct(_,[],f)}else{try{f.call()}catch(TA){qA=TA}_.call(f.prototype)}}else{try{throw Error()}catch(TA){qA=TA}(f=_())&&typeof f.catch==="function"&&f.catch(function(){})}}catch(TA){if(TA&&qA&&typeof TA.stack==="string")return[TA.stack,qA.stack]}return[null,null]}};U.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var O=Object.getOwnPropertyDescriptor(U.DetermineComponentFrameRoot,"name");O&&O.configurable&&Object.defineProperty(U.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var $=U.DetermineComponentFrameRoot(),L=$[0],R=$[1];if(L&&R){var z=L.split(`
285
+ `),w=R.split(`
286
+ `);for(O=U=0;U<z.length&&!z[U].includes("DetermineComponentFrameRoot");)U++;for(;O<w.length&&!w[O].includes("DetermineComponentFrameRoot");)O++;if(U===z.length||O===w.length)for(U=z.length-1,O=w.length-1;1<=U&&0<=O&&z[U]!==w[O];)O--;for(;1<=U&&0<=O;U--,O--)if(z[U]!==w[O]){if(U!==1||O!==1)do if(U--,O--,0>O||z[U]!==w[O]){var s=`
287
+ `+z[U].replace(" at new "," at ");return _.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",_.displayName)),s}while(1<=U&&0<=O);break}}}finally{XG=!1,Error.prepareStackTrace=K}return(K=_?_.displayName||_.name:"")?iA(K):""}function $A(_,F){switch(_.tag){case 26:case 27:case 5:return iA(_.type);case 16:return iA("Lazy");case 13:return _.child!==F&&F!==null?iA("Suspense Fallback"):iA("Suspense");case 19:return iA("SuspenseList");case 0:case 15:return Dq(_.type,!1);case 11:return Dq(_.type.render,!1);case 1:return Dq(_.type,!0);case 31:return iA("Activity");default:return""}}function SA(_){try{var F="",K=null;do F+=$A(_,K),K=_,_=_.return;while(_);return F}catch(U){return`
288
+ Error generating stack: `+U.message+`
289
+ `+U.stack}}function i(_,F){if(typeof _==="object"&&_!==null){var K=M7.get(_);if(K!==void 0)return K;return F={value:_,source:F,stack:SA(F)},M7.set(_,F),F}return{value:_,source:F,stack:SA(F)}}function EA(_,F){f_[l_++]=jF,f_[l_++]=pa,pa=_,jF=F}function _q(_,F,K){y6[m6++]=FE,y6[m6++]=aE,y6[m6++]=ag,ag=_;var U=FE;_=aE;var O=32-V6(U)-1;U&=~(1<<O),K+=1;var $=32-V6(F)+O;if(30<$){var L=O-O%5;$=(U&(1<<L)-1).toString(32),U>>=L,O-=L,FE=1<<32-V6(F)+O|K<<O|U,aE=$+_}else FE=1<<$|K<<O|U,aE=_}function nA(_){_.return!==null&&(EA(_,1),_q(_,1,0))}function eA(_){for(;_===pa;)pa=f_[--l_],f_[l_]=null,jF=f_[--l_],f_[l_]=null;for(;_===ag;)ag=y6[--m6],y6[m6]=null,aE=y6[--m6],y6[m6]=null,FE=y6[--m6],y6[m6]=null}function Aq(_,F){y6[m6++]=FE,y6[m6++]=aE,y6[m6++]=ag,FE=F.id,aE=F.overflow,ag=_}function Tq(_,F){X(Kg,F),X(FF,_),X(pq,null),_=oN(F),N(pq),X(pq,_)}function b(){N(pq),N(FF),N(Kg)}function y(_){_.memoizedState!==null&&X(da,_);var F=pq.current,K=rN(F,_.type);F!==K&&(X(FF,_),X(pq,K))}function n(_){FF.current===_&&(N(pq),N(FF)),da.current===_&&(N(da),SE?og._currentValue=v_:og._currentValue2=v_)}function r(_){var F=Error(g(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw XA(i(F,_)),LG}function gA(_,F){if(!q6)throw Error(g(175));rV(_.stateNode,_.type,_.memoizedProps,F,_)||r(_,!0)}function AA(_){for(dq=_.return;dq;)switch(dq.tag){case 5:case 31:case 13:w6=!1;return;case 27:case 3:w6=!0;return;default:dq=dq.return}}function FA(_){if(!q6||_!==dq)return!1;if(!WA)return AA(_),WA=!0,!1;var F=_.tag;if(Pq?F!==3&&F!==27&&(F!==5||rH(_.type)&&!ka(_.type,_.memoizedProps))&&aq&&r(_):F!==3&&(F!==5||rH(_.type)&&!ka(_.type,_.memoizedProps))&&aq&&r(_),AA(_),F===13){if(!q6)throw Error(g(316));if(_=_.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(g(317));aq=gR(_)}else if(F===31){if(_=_.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(g(317));aq=ER(_)}else aq=Pq&&F===27?fV(_.type,aq):dq?oH(_.stateNode):null;return!0}function bA(){q6&&(aq=dq=null,WA=!1)}function Fq(){var _=Zg;return _!==null&&(H6===null?H6=_:H6.push.apply(H6,_),Zg=null),_}function XA(_){Zg===null?Zg=[_]:Zg.push(_)}function Oq(_,F,K){SE?(X(ta,F._currentValue),F._currentValue=K):(X(ta,F._currentValue2),F._currentValue2=K)}function lq(_){var F=ta.current;SE?_._currentValue=F:_._currentValue2=F,N(ta)}function t(_,F,K){for(;_!==null;){var U=_.alternate;if((_.childLanes&F)!==F?(_.childLanes|=F,U!==null&&(U.childLanes|=F)):U!==null&&(U.childLanes&F)!==F&&(U.childLanes|=F),_===K)break;_=_.return}}function e(_,F,K,U){var O=_.child;O!==null&&(O.return=_);for(;O!==null;){var $=O.dependencies;if($!==null){var L=O.child;$=$.firstContext;A:for(;$!==null;){var R=$;$=O;for(var z=0;z<F.length;z++)if(R.context===F[z]){$.lanes|=K,R=$.alternate,R!==null&&(R.lanes|=K),t($.return,K,_),U||(L=null);break A}$=R.next}}else if(O.tag===18){if(L=O.return,L===null)throw Error(g(341));L.lanes|=K,$=L.alternate,$!==null&&($.lanes|=K),t(L,K,_),L=null}else L=O.child;if(L!==null)L.return=O;else for(L=O;L!==null;){if(L===_){L=null;break}if(O=L.sibling,O!==null){O.return=L.return,L=O;break}L=L.return}O=L}}function o(_,F,K,U){_=null;for(var O=F,$=!1;O!==null;){if(!$){if((O.flags&524288)!==0)$=!0;else if((O.flags&262144)!==0)break}if(O.tag===10){var L=O.alternate;if(L===null)throw Error(g(387));if(L=L.memoizedProps,L!==null){var R=O.type;I6(O.pendingProps.value,L.value)||(_!==null?_.push(R):_=[R])}}else if(O===da.current){if(L=O.alternate,L===null)throw Error(g(387));L.memoizedState.memoizedState!==O.memoizedState.memoizedState&&(_!==null?_.push(og):_=[og])}O=O.return}_!==null&&e(F,_,K,U),F.flags|=262144}function jA(_){for(_=_.firstContext;_!==null;){var F=_.context;if(!I6(SE?F._currentValue:F._currentValue2,_.memoizedValue))return!0;_=_.next}return!1}function HA(_){rg=_,BE=null,_=_.dependencies,_!==null&&(_.firstContext=null)}function _A(_){return mq(rg,_)}function yq(_,F){return rg===null&&HA(_),mq(_,F)}function mq(_,F){var K=SE?F._currentValue:F._currentValue2;if(F={context:F,memoizedValue:K,next:null},BE===null){if(_===null)throw Error(g(308));BE=F,_.dependencies={lanes:0,firstContext:F},_.flags|=524288}else BE=BE.next=F;return K}function wq(){return{controller:new PR,data:new Map,refCount:0}}function O6(_){_.refCount--,_.refCount===0&&zR(CR,function(){_.controller.abort()})}function rq(){}function gE(_){_!==u_&&_.next===null&&(u_===null?sa=u_=_:u_=u_.next=_),ia=!0,NG||(NG=!0,XN())}function P_(_,F){if(!VG&&ia){VG=!0;do{var K=!1;for(var U=sa;U!==null;){if(!F)if(_!==0){var O=U.pendingLanes;if(O===0)var $=0;else{var{suspendedLanes:L,pingedLanes:R}=U;$=(1<<31-V6(42|_)+1)-1,$&=O&~(L&~R),$=$&201326741?$&201326741|1:$?$|2:0}$!==0&&(K=!0,xQ(U,$))}else $=hA,$=V(U,U===oA?$:0,U.cancelPendingCommit!==null||U.timeoutHandle!==ng),($&3)===0||I(U,$)||(K=!0,xQ(U,$));U=U.next}}while(K);VG=!1}}function hQ(){SQ()}function SQ(){ia=NG=!1;var _=0;eg!==0&&aV()&&(_=eg);for(var F=Q6(),K=null,U=sa;U!==null;){var O=U.next,$=WQ(U,F);if($===0)U.next=null,K===null?sa=O:K.next=O,O===null&&(u_=K);else if(K=U,_!==0||($&3)!==0)ia=!0;U=O}zq!==0&&zq!==5||P_(_,!1),eg!==0&&(eg=0)}function WQ(_,F){for(var{suspendedLanes:K,pingedLanes:U,expirationTimes:O}=_,$=_.pendingLanes&-62914561;0<$;){var L=31-V6($),R=1<<L,z=O[L];if(z===-1){if((R&K)===0||(R&U)!==0)O[L]=W(R,F)}else z<=F&&(_.expiredLanes|=R);$&=~R}if(F=oA,K=hA,K=V(_,_===F?K:0,_.cancelPendingCommit!==null||_.timeoutHandle!==ng),U=_.callbackNode,K===0||_===F&&(fA===2||fA===9)||_.cancelPendingCommit!==null)return U!==null&&U!==null&&HG(U),_.callbackNode=null,_.callbackPriority=0;if((K&3)===0||I(_,K)){if(F=K&-K,F===_.callbackPriority)return F;switch(U!==null&&HG(U),QA(K)){case 2:case 8:K=hR;break;case 32:K=TG;break;case 268435456:K=SR;break;default:K=TG}return U=BQ.bind(null,_),K=ua(K,U),_.callbackPriority=F,_.callbackNode=K,F}return U!==null&&U!==null&&HG(U),_.callbackPriority=2,_.callbackNode=null,2}function BQ(_,F){if(zq!==0&&zq!==5)return _.callbackNode=null,_.callbackPriority=0,null;var K=_.callbackNode;if(AF()&&_.callbackNode!==K)return null;var U=hA;if(U=V(_,_===oA?U:0,_.cancelPendingCommit!==null||_.timeoutHandle!==ng),U===0)return null;return MH(_,U,F),WQ(_,Q6()),_.callbackNode!=null&&_.callbackNode===K?BQ.bind(null,_):null}function xQ(_,F){if(AF())return null;MH(_,F,!0)}function XN(){YV?QV(function(){(RA&6)!==0?ua(Z7,hQ):SQ()}):ua(Z7,hQ)}function jU(){if(eg===0){var _=p_;_===0&&(_=ca,ca<<=1,(ca&261888)===0&&(ca=256)),eg=_}return eg}function LN(_,F){if(aF===null){var K=aF=[];RG=0,p_=jU(),d_={status:"pending",value:void 0,then:function(U){K.push(U)}}}return RG++,F.then(PQ,PQ),F}function PQ(){if(--RG===0&&aF!==null){d_!==null&&(d_.status="fulfilled");var _=aF;aF=null,p_=0,d_=null;for(var F=0;F<_.length;F++)(0,_[F])()}}function NN(_,F){var K=[],U={status:"pending",value:null,reason:null,then:function(O){K.push(O)}};return _.then(function(){U.status="fulfilled",U.value=F;for(var O=0;O<K.length;O++)(0,K[O])(F)},function(O){U.status="rejected",U.reason=O;for(O=0;O<K.length;O++)(0,K[O])(void 0)}),U}function FU(){var _=A_.current;return _!==null?_:oA.pooledCache}function Ma(_,F){F===null?X(A_,A_.current):X(A_,F.pool)}function zQ(){var _=FU();return _===null?null:{parent:SE?Kq._currentValue:Kq._currentValue2,pool:_}}function Oa(_,F){if(I6(_,F))return!0;if(typeof _!=="object"||_===null||typeof F!=="object"||F===null)return!1;var K=Object.keys(_),U=Object.keys(F);if(K.length!==U.length)return!1;for(U=0;U<K.length;U++){var O=K[U];if(!xR.call(F,O)||!I6(_[O],F[O]))return!1}return!0}function CQ(_){return _=_.status,_==="fulfilled"||_==="rejected"}function DQ(_,F,K){switch(K=_[K],K===void 0?_.push(F):K!==F&&(F.then(rq,rq),F=K),F.status){case"fulfilled":return F.value;case"rejected":throw _=F.reason,mQ(_),_;default:if(typeof F.status==="string")F.then(rq,rq);else{if(_=oA,_!==null&&100<_.shellSuspendCounter)throw Error(g(482));_=F,_.status="pending",_.then(function(U){if(F.status==="pending"){var O=F;O.status="fulfilled",O.value=U}},function(U){if(F.status==="pending"){var O=F;O.status="rejected",O.reason=U}})}switch(F.status){case"fulfilled":return F.value;case"rejected":throw _=F.reason,mQ(_),_}throw q_=F,t_}}function ug(_){try{var F=_._init;return F(_._payload)}catch(K){if(K!==null&&typeof K==="object"&&typeof K.then==="function")throw q_=K,t_;throw K}}function yQ(){if(q_===null)throw Error(g(459));var _=q_;return q_=null,_}function mQ(_){if(_===t_||_===na)throw Error(g(483))}function Ya(_){var F=KF;return KF+=1,s_===null&&(s_=[]),DQ(s_,_,F)}function fj(_,F){F=F.props.ref,_.ref=F!==void 0?F:null}function Qa(_,F){if(F.$$typeof===dN)throw Error(g(525));throw _=Object.prototype.toString.call(F),Error(g(31,_==="[object Object]"?"object with keys {"+Object.keys(F).join(", ")+"}":_))}function wQ(_){function F(x,h){if(_){var P=x.deletions;P===null?(x.deletions=[h],x.flags|=16):P.push(h)}}function K(x,h){if(!_)return null;for(;h!==null;)F(x,h),h=h.sibling;return null}function U(x){for(var h=new Map;x!==null;)x.key!==null?h.set(x.key,x):h.set(x.index,x),x=x.sibling;return h}function O(x,h){return x=hE(x,h),x.index=0,x.sibling=null,x}function $(x,h,P){if(x.index=P,!_)return x.flags|=1048576,h;if(P=x.alternate,P!==null)return P=P.index,P<h?(x.flags|=67108866,h):P;return x.flags|=67108866,h}function L(x){return _&&x.alternate===null&&(x.flags|=67108866),x}function R(x,h,P,l){if(h===null||h.tag!==6)return h=qG(P,x.mode,l),h.return=x,h;return h=O(h,P),h.return=x,h}function z(x,h,P,l){var ZA=P.type;if(ZA===w_)return s(x,h,P.props.children,l,P.key);if(h!==null&&(h.elementType===ZA||typeof ZA==="object"&&ZA!==null&&ZA.$$typeof===Fg&&ug(ZA)===h.type))return h=O(h,P.props),fj(h,P),h.return=x,h;return h=wa(P.type,P.key,P.props,null,x.mode,l),fj(h,P),h.return=x,h}function w(x,h,P,l){if(h===null||h.tag!==4||h.stateNode.containerInfo!==P.containerInfo||h.stateNode.implementation!==P.implementation)return h=EG(P,x.mode,l),h.return=x,h;return h=O(h,P.children||[]),h.return=x,h}function s(x,h,P,l,ZA){if(h===null||h.tag!==7)return h=ig(P,x.mode,l,ZA),h.return=x,h;return h=O(h,P),h.return=x,h}function f(x,h,P){if(typeof h==="string"&&h!==""||typeof h==="number"||typeof h==="bigint")return h=qG(""+h,x.mode,P),h.return=x,h;if(typeof h==="object"&&h!==null){switch(h.$$typeof){case va:return P=wa(h.type,h.key,h.props,null,x.mode,P),fj(P,h),P.return=x,P;case m_:return h=EG(h,x.mode,P),h.return=x,h;case Fg:return h=ug(h),f(x,h,P)}if(ba(h)||Y(h))return h=ig(h,x.mode,P,null),h.return=x,h;if(typeof h.then==="function")return f(x,Ya(h),P);if(h.$$typeof===jg)return f(x,yq(x,h),P);Qa(x,h)}return null}function qA(x,h,P,l){var ZA=h!==null?h.key:null;if(typeof P==="string"&&P!==""||typeof P==="number"||typeof P==="bigint")return ZA!==null?null:R(x,h,""+P,l);if(typeof P==="object"&&P!==null){switch(P.$$typeof){case va:return P.key===ZA?z(x,h,P,l):null;case m_:return P.key===ZA?w(x,h,P,l):null;case Fg:return P=ug(P),qA(x,h,P,l)}if(ba(P)||Y(P))return ZA!==null?null:s(x,h,P,l,null);if(typeof P.then==="function")return qA(x,h,Ya(P),l);if(P.$$typeof===jg)return qA(x,h,yq(x,P),l);Qa(x,P)}return null}function TA(x,h,P,l,ZA){if(typeof l==="string"&&l!==""||typeof l==="number"||typeof l==="bigint")return x=x.get(P)||null,R(h,x,""+l,ZA);if(typeof l==="object"&&l!==null){switch(l.$$typeof){case va:return x=x.get(l.key===null?P:l.key)||null,z(h,x,l,ZA);case m_:return x=x.get(l.key===null?P:l.key)||null,w(h,x,l,ZA);case Fg:return l=ug(l),TA(x,h,P,l,ZA)}if(ba(l)||Y(l))return x=x.get(P)||null,s(h,x,l,ZA,null);if(typeof l.then==="function")return TA(x,h,P,Ya(l),ZA);if(l.$$typeof===jg)return TA(x,h,P,yq(h,l),ZA);Qa(h,l)}return null}function tq(x,h,P,l){for(var ZA=null,Zq=null,YA=h,DA=h=0,kq=null;YA!==null&&DA<P.length;DA++){YA.index>DA?(kq=YA,YA=null):kq=YA.sibling;var yA=qA(x,YA,P[DA],l);if(yA===null){YA===null&&(YA=kq);break}_&&YA&&yA.alternate===null&&F(x,YA),h=$(yA,h,DA),Zq===null?ZA=yA:Zq.sibling=yA,Zq=yA,YA=kq}if(DA===P.length)return K(x,YA),WA&&EA(x,DA),ZA;if(YA===null){for(;DA<P.length;DA++)YA=f(x,P[DA],l),YA!==null&&(h=$(YA,h,DA),Zq===null?ZA=YA:Zq.sibling=YA,Zq=YA);return WA&&EA(x,DA),ZA}for(YA=U(YA);DA<P.length;DA++)kq=TA(YA,x,DA,P[DA],l),kq!==null&&(_&&kq.alternate!==null&&YA.delete(kq.key===null?DA:kq.key),h=$(kq,h,DA),Zq===null?ZA=kq:Zq.sibling=kq,Zq=kq);return _&&YA.forEach(function(Qg){return F(x,Qg)}),WA&&EA(x,DA),ZA}function QF(x,h,P,l){if(P==null)throw Error(g(151));for(var ZA=null,Zq=null,YA=h,DA=h=0,kq=null,yA=P.next();YA!==null&&!yA.done;DA++,yA=P.next()){YA.index>DA?(kq=YA,YA=null):kq=YA.sibling;var Qg=qA(x,YA,yA.value,l);if(Qg===null){YA===null&&(YA=kq);break}_&&YA&&Qg.alternate===null&&F(x,YA),h=$(Qg,h,DA),Zq===null?ZA=Qg:Zq.sibling=Qg,Zq=Qg,YA=kq}if(yA.done)return K(x,YA),WA&&EA(x,DA),ZA;if(YA===null){for(;!yA.done;DA++,yA=P.next())yA=f(x,yA.value,l),yA!==null&&(h=$(yA,h,DA),Zq===null?ZA=yA:Zq.sibling=yA,Zq=yA);return WA&&EA(x,DA),ZA}for(YA=U(YA);!yA.done;DA++,yA=P.next())yA=TA(YA,x,DA,yA.value,l),yA!==null&&(_&&yA.alternate!==null&&YA.delete(yA.key===null?DA:yA.key),h=$(yA,h,DA),Zq===null?ZA=yA:Zq.sibling=yA,Zq=yA);return _&&YA.forEach(function(wR){return F(x,wR)}),WA&&EA(x,DA),ZA}function j_(x,h,P,l){if(typeof P==="object"&&P!==null&&P.type===w_&&P.key===null&&(P=P.props.children),typeof P==="object"&&P!==null){switch(P.$$typeof){case va:A:{for(var ZA=P.key;h!==null;){if(h.key===ZA){if(ZA=P.type,ZA===w_){if(h.tag===7){K(x,h.sibling),l=O(h,P.props.children),l.return=x,x=l;break A}}else if(h.elementType===ZA||typeof ZA==="object"&&ZA!==null&&ZA.$$typeof===Fg&&ug(ZA)===h.type){K(x,h.sibling),l=O(h,P.props),fj(l,P),l.return=x,x=l;break A}K(x,h);break}else F(x,h);h=h.sibling}P.type===w_?(l=ig(P.props.children,x.mode,l,P.key),l.return=x,x=l):(l=wa(P.type,P.key,P.props,null,x.mode,l),fj(l,P),l.return=x,x=l)}return L(x);case m_:A:{for(ZA=P.key;h!==null;){if(h.key===ZA)if(h.tag===4&&h.stateNode.containerInfo===P.containerInfo&&h.stateNode.implementation===P.implementation){K(x,h.sibling),l=O(h,P.children||[]),l.return=x,x=l;break A}else{K(x,h);break}else F(x,h);h=h.sibling}l=EG(P,x.mode,l),l.return=x,x=l}return L(x);case Fg:return P=ug(P),j_(x,h,P,l)}if(ba(P))return tq(x,h,P,l);if(Y(P)){if(ZA=Y(P),typeof ZA!=="function")throw Error(g(150));return P=ZA.call(P),QF(x,h,P,l)}if(typeof P.then==="function")return j_(x,h,Ya(P),l);if(P.$$typeof===jg)return j_(x,h,yq(x,P),l);Qa(x,P)}return typeof P==="string"&&P!==""||typeof P==="number"||typeof P==="bigint"?(P=""+P,h!==null&&h.tag===6?(K(x,h.sibling),l=O(h,P),l.return=x,x=l):(K(x,h),l=qG(P,x.mode,l),l.return=x,x=l),L(x)):K(x,h)}return function(x,h,P,l){try{KF=0;var ZA=j_(x,h,P,l);return s_=null,ZA}catch(YA){if(YA===t_||YA===na)throw YA;var Zq=q(29,YA,null,x.mode);return Zq.lanes=l,Zq.return=x,Zq}finally{}}}function $a(){for(var _=i_,F=hG=i_=0;F<_;){var K=v6[F];v6[F++]=null;var U=v6[F];v6[F++]=null;var O=v6[F];v6[F++]=null;var $=v6[F];if(v6[F++]=null,U!==null&&O!==null){var L=U.pending;L===null?O.next=O:(O.next=L.next,L.next=O),U.pending=O}$!==0&&vQ(K,O,$)}}function Ha(_,F,K,U){v6[i_++]=_,v6[i_++]=F,v6[i_++]=K,v6[i_++]=U,hG|=U,_.lanes|=U,_=_.alternate,_!==null&&(_.lanes|=U)}function aU(_,F,K,U){return Ha(_,F,K,U),Ta(_)}function pg(_,F){return Ha(_,null,null,F),Ta(_)}function vQ(_,F,K){_.lanes|=K;var U=_.alternate;U!==null&&(U.lanes|=K);for(var O=!1,$=_.return;$!==null;)$.childLanes|=K,U=$.alternate,U!==null&&(U.childLanes|=K),$.tag===22&&(_=$.stateNode,_===null||_._visibility&1||(O=!0)),_=$,$=$.return;return _.tag===3?($=_.stateNode,O&&F!==null&&(O=31-V6(K),_=$.hiddenUpdates,U=_[O],U===null?_[O]=[F]:U.push(F),F.lane=K|536870912),$):null}function Ta(_){if(50<YF)throw YF=0,vG=null,Error(g(185));for(var F=_.return;F!==null;)_=F,F=_.return;return _.tag===3?_.stateNode:null}function KU(_){_.updateQueue={baseState:_.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ZU(_,F){_=_.updateQueue,F.updateQueue===_&&(F.updateQueue={baseState:_.baseState,firstBaseUpdate:_.firstBaseUpdate,lastBaseUpdate:_.lastBaseUpdate,shared:_.shared,callbacks:null})}function eE(_){return{lane:_,tag:0,payload:null,callback:null,next:null}}function Ag(_,F,K){var U=_.updateQueue;if(U===null)return null;if(U=U.shared,(RA&2)!==0){var O=U.pending;return O===null?F.next=F:(F.next=O.next,O.next=F),U.pending=F,F=Ta(_),vQ(_,null,K),F}return Ha(_,U,F,K),Ta(_)}function lj(_,F,K){if(F=F.updateQueue,F!==null&&(F=F.shared,(K&4194048)!==0)){var U=F.lanes;U&=_.pendingLanes,K|=U,F.lanes=K,u(_,K)}}function UU(_,F){var{updateQueue:K,alternate:U}=_;if(U!==null&&(U=U.updateQueue,K===U)){var O=null,$=null;if(K=K.firstBaseUpdate,K!==null){do{var L={lane:K.lane,tag:K.tag,payload:K.payload,callback:null,next:null};$===null?O=$=L:$=$.next=L,K=K.next}while(K!==null);$===null?O=$=F:$=$.next=F}else O=$=F;K={baseState:U.baseState,firstBaseUpdate:O,lastBaseUpdate:$,shared:U.shared,callbacks:U.callbacks},_.updateQueue=K;return}_=K.lastBaseUpdate,_===null?K.firstBaseUpdate=F:_.next=F,K.lastBaseUpdate=F}function uj(){if(SG){var _=d_;if(_!==null)throw _}}function pj(_,F,K,U){SG=!1;var O=_.updateQueue;Ug=!1;var{firstBaseUpdate:$,lastBaseUpdate:L}=O,R=O.shared.pending;if(R!==null){O.shared.pending=null;var z=R,w=z.next;z.next=null,L===null?$=w:L.next=w,L=z;var s=_.alternate;s!==null&&(s=s.updateQueue,R=s.lastBaseUpdate,R!==L&&(R===null?s.firstBaseUpdate=w:R.next=w,s.lastBaseUpdate=z))}if($!==null){var f=O.baseState;L=0,s=w=z=null,R=$;do{var qA=R.lane&-536870913,TA=qA!==R.lane;if(TA?(hA&qA)===qA:(U&qA)===qA){qA!==0&&qA===p_&&(SG=!0),s!==null&&(s=s.next={lane:0,tag:R.tag,payload:R.payload,callback:null,next:null});A:{var tq=_,QF=R;qA=F;var j_=K;switch(QF.tag){case 1:if(tq=QF.payload,typeof tq==="function"){f=tq.call(j_,f,qA);break A}f=tq;break A;case 3:tq.flags=tq.flags&-65537|128;case 0:if(tq=QF.payload,qA=typeof tq==="function"?tq.call(j_,f,qA):tq,qA===null||qA===void 0)break A;f=_G({},f,qA);break A;case 2:Ug=!0}}qA=R.callback,qA!==null&&(_.flags|=64,TA&&(_.flags|=8192),TA=O.callbacks,TA===null?O.callbacks=[qA]:TA.push(qA))}else TA={lane:qA,tag:R.tag,payload:R.payload,callback:R.callback,next:null},s===null?(w=s=TA,z=f):s=s.next=TA,L|=qA;if(R=R.next,R===null)if(R=O.shared.pending,R===null)break;else TA=R,R=TA.next,TA.next=null,O.lastBaseUpdate=TA,O.shared.pending=null}while(1);s===null&&(z=f),O.baseState=z,O.firstBaseUpdate=w,O.lastBaseUpdate=s,$===null&&(O.shared.lanes=0),Mg|=L,_.lanes=L,_.memoizedState=f}}function bQ(_,F){if(typeof _!=="function")throw Error(g(191,_));_.call(F)}function kQ(_,F){var K=_.callbacks;if(K!==null)for(_.callbacks=null,_=0;_<K.length;_++)bQ(K[_],F)}function cQ(_,F){_=zE,X(ra,_),X(n_,F),zE=_|F.baseLanes}function GU(){X(ra,zE),X(n_,n_.current)}function MU(){zE=ra.current,N(n_),N(ra)}function qg(_){var F=_.alternate;X(Xq,Xq.current&1),X(h6,_),b6===null&&(F===null||n_.current!==null?b6=_:F.memoizedState!==null&&(b6=_))}function OU(_){X(Xq,Xq.current),X(h6,_),b6===null&&(b6=_)}function fQ(_){_.tag===22?(X(Xq,Xq.current),X(h6,_),b6===null&&(b6=_)):Eg(_)}function Eg(){X(Xq,Xq.current),X(h6,h6.current)}function L6(_){N(h6),b6===_&&(b6=null),N(Xq)}function Ja(_){for(var F=_;F!==null;){if(F.tag===13){var K=F.memoizedState;if(K!==null&&(K=K.dehydrated,K===null||OG(K)||YG(K)))return F}else if(F.tag===19&&(F.memoizedProps.revealOrder==="forwards"||F.memoizedProps.revealOrder==="backwards"||F.memoizedProps.revealOrder==="unstable_legacy-backwards"||F.memoizedProps.revealOrder==="together")){if((F.flags&128)!==0)return F}else if(F.child!==null){F.child.return=F,F=F.child;continue}if(F===_)break;for(;F.sibling===null;){if(F.return===null||F.return===_)return null;F=F.return}F.sibling.return=F.return,F=F.sibling}return null}function Yq(){throw Error(g(321))}function YU(_,F){if(F===null)return!1;for(var K=0;K<F.length&&K<_.length;K++)if(!I6(_[K],F[K]))return!1;return!0}function QU(_,F,K,U,O,$){return xE=$,JA=F,F.memoizedState=null,F.updateQueue=null,F.lanes=0,KA.H=_===null||_.memoizedState===null?Q7:WG,g_=!1,$=K(U,O),g_=!1,o_&&($=uQ(F,K,U,O)),lQ(_),$}function lQ(_){KA.H=UF;var F=dA!==null&&dA.next!==null;if(xE=0,Sq=dA=JA=null,ea=!1,ZF=0,r_=null,F)throw Error(g(300));_===null||Wq||(_=_.dependencies,_!==null&&jA(_)&&(Wq=!0))}function uQ(_,F,K,U){JA=_;var O=0;do{if(o_&&(r_=null),ZF=0,o_=!1,25<=O)throw Error(g(301));if(O+=1,Sq=dA=null,_.updateQueue!=null){var $=_.updateQueue;$.lastEffect=null,$.events=null,$.stores=null,$.memoCache!=null&&($.memoCache.index=0)}KA.H=$7,$=F(K,U)}while(o_);return $}function VN(){var _=KA.H,F=_.useState()[0];return F=typeof F.then==="function"?dj(F):F,_=_.useState()[0],(dA!==null?dA.memoizedState:null)!==_&&(JA.flags|=1024),F}function $U(){var _=AK!==0;return AK=0,_}function HU(_,F,K){F.updateQueue=_.updateQueue,F.flags&=-2053,_.lanes&=~K}function TU(_){if(ea){for(_=_.memoizedState;_!==null;){var F=_.queue;F!==null&&(F.pending=null),_=_.next}ea=!1}xE=0,Sq=dA=JA=null,o_=!1,ZF=AK=0,r_=null}function j6(){var _={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Sq===null?JA.memoizedState=Sq=_:Sq=Sq.next=_,Sq}function Jq(){if(dA===null){var _=JA.alternate;_=_!==null?_.memoizedState:null}else _=dA.next;var F=Sq===null?JA.memoizedState:Sq.next;if(F!==null)Sq=F,dA=_;else{if(_===null){if(JA.alternate===null)throw Error(g(467));throw Error(g(310))}dA=_,_={memoizedState:dA.memoizedState,baseState:dA.baseState,baseQueue:dA.baseQueue,queue:dA.queue,next:null},Sq===null?JA.memoizedState=Sq=_:Sq=Sq.next=_}return Sq}function Xa(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function dj(_){var F=ZF;return ZF+=1,r_===null&&(r_=[]),_=DQ(r_,_,F),F=JA,(Sq===null?F.memoizedState:Sq.next)===null&&(F=F.alternate,KA.H=F===null||F.memoizedState===null?Q7:WG),_}function La(_){if(_!==null&&typeof _==="object"){if(typeof _.then==="function")return dj(_);if(_.$$typeof===jg)return _A(_)}throw Error(g(438,String(_)))}function JU(_){var F=null,K=JA.updateQueue;if(K!==null&&(F=K.memoCache),F==null){var U=JA.alternate;U!==null&&(U=U.updateQueue,U!==null&&(U=U.memoCache,U!=null&&(F={data:U.data.map(function(O){return O.slice()}),index:0})))}if(F==null&&(F={data:[],index:0}),K===null&&(K=Xa(),JA.updateQueue=K),K.memoCache=F,K=F.data[F.index],K===void 0)for(K=F.data[F.index]=Array(_),U=0;U<_;U++)K[U]=tN;return F.index++,K}function NE(_,F){return typeof F==="function"?F(_):F}function Na(_){var F=Jq();return XU(F,dA,_)}function XU(_,F,K){var U=_.queue;if(U===null)throw Error(g(311));U.lastRenderedReducer=K;var O=_.baseQueue,$=U.pending;if($!==null){if(O!==null){var L=O.next;O.next=$.next,$.next=L}F.baseQueue=O=$,U.pending=null}if($=_.baseState,O===null)_.memoizedState=$;else{F=O.next;var R=L=null,z=null,w=F,s=!1;do{var f=w.lane&-536870913;if(f!==w.lane?(hA&f)===f:(xE&f)===f){var qA=w.revertLane;if(qA===0)z!==null&&(z=z.next={lane:0,revertLane:0,gesture:null,action:w.action,hasEagerState:w.hasEagerState,eagerState:w.eagerState,next:null}),f===p_&&(s=!0);else if((xE&qA)===qA){w=w.next,qA===p_&&(s=!0);continue}else f={lane:0,revertLane:w.revertLane,gesture:null,action:w.action,hasEagerState:w.hasEagerState,eagerState:w.eagerState,next:null},z===null?(R=z=f,L=$):z=z.next=f,JA.lanes|=qA,Mg|=qA;f=w.action,g_&&K($,f),$=w.hasEagerState?w.eagerState:K($,f)}else qA={lane:f,revertLane:w.revertLane,gesture:w.gesture,action:w.action,hasEagerState:w.hasEagerState,eagerState:w.eagerState,next:null},z===null?(R=z=qA,L=$):z=z.next=qA,JA.lanes|=f,Mg|=f;w=w.next}while(w!==null&&w!==F);if(z===null?L=$:z.next=R,!I6($,_.memoizedState)&&(Wq=!0,s&&(K=d_,K!==null)))throw K;_.memoizedState=$,_.baseState=L,_.baseQueue=z,U.lastRenderedState=$}return O===null&&(U.lanes=0),[_.memoizedState,U.dispatch]}function LU(_){var F=Jq(),K=F.queue;if(K===null)throw Error(g(311));K.lastRenderedReducer=_;var{dispatch:U,pending:O}=K,$=F.memoizedState;if(O!==null){K.pending=null;var L=O=O.next;do $=_($,L.action),L=L.next;while(L!==O);I6($,F.memoizedState)||(Wq=!0),F.memoizedState=$,F.baseQueue===null&&(F.baseState=$),K.lastRenderedState=$}return[$,U]}function pQ(_,F,K){var U=JA,O=Jq(),$=WA;if($){if(K===void 0)throw Error(g(407));K=K()}else K=F();var L=!I6((dA||O).memoizedState,K);if(L&&(O.memoizedState=K,Wq=!0),O=O.queue,RU(sQ.bind(null,U,O,_),[_]),O.getSnapshot!==F||L||Sq!==null&&Sq.memoizedState.tag&1){if(U.flags|=2048,z_(9,{destroy:void 0},tQ.bind(null,U,O,K,F),null),oA===null)throw Error(g(349));$||(xE&127)!==0||dQ(U,F,K)}return K}function dQ(_,F,K){_.flags|=16384,_={getSnapshot:F,value:K},F=JA.updateQueue,F===null?(F=Xa(),JA.updateQueue=F,F.stores=[_]):(K=F.stores,K===null?F.stores=[_]:K.push(_))}function tQ(_,F,K,U){F.value=K,F.getSnapshot=U,iQ(F)&&nQ(_)}function sQ(_,F,K){return K(function(){iQ(F)&&nQ(_)})}function iQ(_){var F=_.getSnapshot;_=_.value;try{var K=F();return!I6(_,K)}catch(U){return!0}}function nQ(_){var F=pg(_,2);F!==null&&Y6(F,_,2)}function NU(_){var F=j6();if(typeof _==="function"){var K=_;if(_=K(),g_){GA(!0);try{K()}finally{GA(!1)}}}return F.memoizedState=F.baseState=_,F.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:NE,lastRenderedState:_},F}function oQ(_,F,K,U){return _.baseState=K,XU(_,dA,typeof U==="function"?U:NE)}function RN(_,F,K,U,O){if(Ia(_))throw Error(g(485));if(_=F.action,_!==null){var $={payload:O,action:_,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(L){$.listeners.push(L)}};KA.T!==null?K(!0):$.isTransition=!1,U($),K=F.pending,K===null?($.next=F.pending=$,rQ(F,$)):($.next=K.next,F.pending=K.next=$)}}function rQ(_,F){var{action:K,payload:U}=F,O=_.state;if(F.isTransition){var $=KA.T,L={};KA.T=L;try{var R=K(O,U),z=KA.S;z!==null&&z(L,R),eQ(_,F,R)}catch(w){VU(_,F,w)}finally{$!==null&&L.types!==null&&($.types=L.types),KA.T=$}}else try{$=K(O,U),eQ(_,F,$)}catch(w){VU(_,F,w)}}function eQ(_,F,K){K!==null&&typeof K==="object"&&typeof K.then==="function"?K.then(function(U){A$(_,F,U)},function(U){return VU(_,F,U)}):A$(_,F,K)}function A$(_,F,K){F.status="fulfilled",F.value=K,q$(F),_.state=K,F=_.pending,F!==null&&(K=F.next,K===F?_.pending=null:(K=K.next,F.next=K,rQ(_,K)))}function VU(_,F,K){var U=_.pending;if(_.pending=null,U!==null){U=U.next;do F.status="rejected",F.reason=K,q$(F),F=F.next;while(F!==U)}_.action=null}function q$(_){_=_.listeners;for(var F=0;F<_.length;F++)(0,_[F])()}function E$(_,F){return F}function g$(_,F){if(WA){var K=oA.formState;if(K!==null){A:{var U=JA;if(WA){if(aq){var O=kV(aq,w6);if(O){aq=oH(O),U=cV(O);break A}}r(U)}U=!1}U&&(F=K[0])}}K=j6(),K.memoizedState=K.baseState=F,U={pending:null,lanes:0,dispatch:null,lastRenderedReducer:E$,lastRenderedState:F},K.queue=U,K=L$.bind(null,JA,U),U.dispatch=K,U=NU(!1);var $=WU.bind(null,JA,!1,U.queue);return U=j6(),O={state:F,dispatch:null,action:_,pending:null},U.queue=O,K=RN.bind(null,JA,O,$,K),O.dispatch=K,U.memoizedState=_,[F,K,!1]}function _$(_){var F=Jq();return j$(F,dA,_)}function j$(_,F,K){if(F=XU(_,F,E$)[0],_=Na(NE)[0],typeof F==="object"&&F!==null&&typeof F.then==="function")try{var U=dj(F)}catch(L){if(L===t_)throw na;throw L}else U=F;F=Jq();var O=F.queue,$=O.dispatch;return K!==F.memoizedState&&(JA.flags|=2048,z_(9,{destroy:void 0},IN.bind(null,O,K),null)),[U,$,_]}function IN(_,F){_.action=F}function F$(_){var F=Jq(),K=dA;if(K!==null)return j$(F,K,_);Jq(),F=F.memoizedState,K=Jq();var U=K.queue.dispatch;return K.memoizedState=_,[F,U,!1]}function z_(_,F,K,U){return _={tag:_,create:K,deps:U,inst:F,next:null},F=JA.updateQueue,F===null&&(F=Xa(),JA.updateQueue=F),K=F.lastEffect,K===null?F.lastEffect=_.next=_:(U=K.next,K.next=_,_.next=U,F.lastEffect=_),_}function a$(){return Jq().memoizedState}function Va(_,F,K,U){var O=j6();JA.flags|=_,O.memoizedState=z_(1|F,{destroy:void 0},K,U===void 0?null:U)}function Ra(_,F,K,U){var O=Jq();U=U===void 0?null:U;var $=O.memoizedState.inst;dA!==null&&U!==null&&YU(U,dA.memoizedState.deps)?O.memoizedState=z_(F,$,K,U):(JA.flags|=_,O.memoizedState=z_(1|F,$,K,U))}function K$(_,F){Va(8390656,8,_,F)}function RU(_,F){Ra(2048,8,_,F)}function hN(_){JA.flags|=4;var F=JA.updateQueue;if(F===null)F=Xa(),JA.updateQueue=F,F.events=[_];else{var K=F.events;K===null?F.events=[_]:K.push(_)}}function Z$(_){var F=Jq().memoizedState;return hN({ref:F,nextImpl:_}),function(){if((RA&2)!==0)throw Error(g(440));return F.impl.apply(void 0,arguments)}}function U$(_,F){return Ra(4,2,_,F)}function G$(_,F){return Ra(4,4,_,F)}function M$(_,F){if(typeof F==="function"){_=_();var K=F(_);return function(){typeof K==="function"?K():F(null)}}if(F!==null&&F!==void 0)return _=_(),F.current=_,function(){F.current=null}}function O$(_,F,K){K=K!==null&&K!==void 0?K.concat([_]):null,Ra(4,4,M$.bind(null,F,_),K)}function IU(){}function Y$(_,F){var K=Jq();F=F===void 0?null:F;var U=K.memoizedState;if(F!==null&&YU(F,U[1]))return U[0];return K.memoizedState=[_,F],_}function Q$(_,F){var K=Jq();F=F===void 0?null:F;var U=K.memoizedState;if(F!==null&&YU(F,U[1]))return U[0];if(U=_(),g_){GA(!0);try{_()}finally{GA(!1)}}return K.memoizedState=[U,F],U}function hU(_,F,K){if(K===void 0||(xE&1073741824)!==0&&(hA&261930)===0)return _.memoizedState=F;return _.memoizedState=K,_=GH(),JA.lanes|=_,Mg|=_,K}function $$(_,F,K,U){if(I6(K,F))return K;if(n_.current!==null)return _=hU(_,K,U),I6(_,F)||(Wq=!0),_;if((xE&42)===0||(xE&1073741824)!==0&&(hA&261930)===0)return Wq=!0,_.memoizedState=K;return _=GH(),JA.lanes|=_,Mg|=_,F}function H$(_,F,K,U,O){var $=WE();vq($!==0&&8>$?$:8);var L=KA.T,R={};KA.T=R,WU(_,!1,F,K);try{var z=O(),w=KA.S;if(w!==null&&w(R,z),z!==null&&typeof z==="object"&&typeof z.then==="function"){var s=NN(z,U);tj(_,F,s,N6(_))}else tj(_,F,U,N6(_))}catch(f){tj(_,F,{then:function(){},status:"rejected",reason:f},N6())}finally{vq($),L!==null&&R.types!==null&&(L.types=R.types),KA.T=L}}function T$(_){var F=_.memoizedState;if(F!==null)return F;F={memoizedState:v_,baseState:v_,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:NE,lastRenderedState:v_},next:null};var K={};return F.next={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:NE,lastRenderedState:K},next:null},_.memoizedState=F,_=_.alternate,_!==null&&(_.memoizedState=F),F}function SU(){return _A(og)}function J$(){return Jq().memoizedState}function X$(){return Jq().memoizedState}function SN(_){for(var F=_.return;F!==null;){switch(F.tag){case 24:case 3:var K=N6();_=eE(K);var U=Ag(F,_,K);U!==null&&(Y6(U,F,K),lj(U,F,K)),F={cache:wq()},_.payload=F;return}F=F.return}}function WN(_,F,K){var U=N6();K={lane:U,revertLane:0,gesture:null,action:K,hasEagerState:!1,eagerState:null,next:null},Ia(_)?N$(F,K):(K=aU(_,F,K,U),K!==null&&(Y6(K,_,U),V$(K,F,U)))}function L$(_,F,K){var U=N6();tj(_,F,K,U)}function tj(_,F,K,U){var O={lane:U,revertLane:0,gesture:null,action:K,hasEagerState:!1,eagerState:null,next:null};if(Ia(_))N$(F,O);else{var $=_.alternate;if(_.lanes===0&&($===null||$.lanes===0)&&($=F.lastRenderedReducer,$!==null))try{var L=F.lastRenderedState,R=$(L,K);if(O.hasEagerState=!0,O.eagerState=R,I6(R,L))return Ha(_,F,O,0),oA===null&&$a(),!1}catch(z){}finally{}if(K=aU(_,F,O,U),K!==null)return Y6(K,_,U),V$(K,F,U),!0}return!1}function WU(_,F,K,U){if(U={lane:2,revertLane:jU(),gesture:null,action:U,hasEagerState:!1,eagerState:null,next:null},Ia(_)){if(F)throw Error(g(479))}else F=aU(_,K,U,2),F!==null&&Y6(F,_,2)}function Ia(_){var F=_.alternate;return _===JA||F!==null&&F===JA}function N$(_,F){o_=ea=!0;var K=_.pending;K===null?F.next=F:(F.next=K.next,K.next=F),_.pending=F}function V$(_,F,K){if((K&4194048)!==0){var U=F.lanes;U&=_.pendingLanes,K|=U,F.lanes=K,u(_,K)}}function BU(_,F,K,U){F=_.memoizedState,K=K(U,F),K=K===null||K===void 0?F:_G({},F,K),_.memoizedState=K,_.lanes===0&&(_.updateQueue.baseState=K)}function R$(_,F,K,U,O,$,L){return _=_.stateNode,typeof _.shouldComponentUpdate==="function"?_.shouldComponentUpdate(U,$,L):F.prototype&&F.prototype.isPureReactComponent?!Oa(K,U)||!Oa(O,$):!0}function I$(_,F,K,U){_=F.state,typeof F.componentWillReceiveProps==="function"&&F.componentWillReceiveProps(K,U),typeof F.UNSAFE_componentWillReceiveProps==="function"&&F.UNSAFE_componentWillReceiveProps(K,U),F.state!==_&&BG.enqueueReplaceState(F,F.state,null)}function dg(_,F){var K=F;if("ref"in F){K={};for(var U in F)U!=="ref"&&(K[U]=F[U])}if(_=_.defaultProps){K===F&&(K=_G({},K));for(var O in _)K[O]===void 0&&(K[O]=_[O])}return K}function ha(_,F){try{var K=_.onUncaughtError;K(F.value,{componentStack:F.stack})}catch(U){setTimeout(function(){throw U})}}function h$(_,F,K){try{var U=_.onCaughtError;U(K.value,{componentStack:K.stack,errorBoundary:F.tag===1?F.stateNode:null})}catch(O){setTimeout(function(){throw O})}}function xU(_,F,K){return K=eE(K),K.tag=3,K.payload={element:null},K.callback=function(){ha(_,F)},K}function S$(_){return _=eE(_),_.tag=3,_}function W$(_,F,K,U){var O=K.type.getDerivedStateFromError;if(typeof O==="function"){var $=U.value;_.payload=function(){return O($)},_.callback=function(){h$(F,K,U)}}var L=K.stateNode;L!==null&&typeof L.componentDidCatch==="function"&&(_.callback=function(){h$(F,K,U),typeof O!=="function"&&(Og===null?Og=new Set([this]):Og.add(this));var R=U.stack;this.componentDidCatch(U.value,{componentStack:R!==null?R:""})})}function BN(_,F,K,U,O){if(K.flags|=32768,U!==null&&typeof U==="object"&&typeof U.then==="function"){if(F=K.alternate,F!==null&&o(F,K,O,!0),K=h6.current,K!==null){switch(K.tag){case 31:case 13:return b6===null?ya():K.alternate===null&&Qq===0&&(Qq=3),K.flags&=-257,K.flags|=65536,K.lanes=O,U===oa?K.flags|=16384:(F=K.updateQueue,F===null?K.updateQueue=new Set([U]):F.add(U),eU(_,U,O)),!1;case 22:return K.flags|=65536,U===oa?K.flags|=16384:(F=K.updateQueue,F===null?(F={transitions:null,markerInstances:null,retryQueue:new Set([U])},K.updateQueue=F):(K=F.retryQueue,K===null?F.retryQueue=new Set([U]):K.add(U)),eU(_,U,O)),!1}throw Error(g(435,K.tag))}return eU(_,U,O),ya(),!1}if(WA)return F=h6.current,F!==null?((F.flags&65536)===0&&(F.flags|=256),F.flags|=65536,F.lanes=O,U!==LG&&(_=Error(g(422),{cause:U}),XA(i(_,K)))):(U!==LG&&(F=Error(g(423),{cause:U}),XA(i(F,K))),_=_.current.alternate,_.flags|=65536,O&=-O,_.lanes|=O,U=i(U,K),O=xU(_.stateNode,U,O),UU(_,O),Qq!==4&&(Qq=2)),!1;var $=Error(g(520),{cause:U});if($=i($,K),MF===null?MF=[$]:MF.push($),Qq!==4&&(Qq=2),F===null)return!0;U=i(U,K),K=F;do{switch(K.tag){case 3:return K.flags|=65536,_=O&-O,K.lanes|=_,_=xU(K.stateNode,U,_),UU(K,_),!1;case 1:if(F=K.type,$=K.stateNode,(K.flags&128)===0&&(typeof F.getDerivedStateFromError==="function"||$!==null&&typeof $.componentDidCatch==="function"&&(Og===null||!Og.has($))))return K.flags|=65536,O&=-O,K.lanes|=O,O=S$(O),W$(O,_,K,U),UU(K,O),!1}K=K.return}while(K!==null);return!1}function uq(_,F,K,U){F.child=_===null?Y7(F,null,K,U):E_(F,_.child,K,U)}function B$(_,F,K,U,O){K=K.render;var $=F.ref;if("ref"in U){var L={};for(var R in U)R!=="ref"&&(L[R]=U[R])}else L=U;if(HA(F),U=QU(_,F,K,L,$,O),R=$U(),_!==null&&!Wq)return HU(_,F,O),VE(_,F,O);return WA&&R&&nA(F),F.flags|=1,uq(_,F,U,O),F.child}function x$(_,F,K,U,O){if(_===null){var $=K.type;if(typeof $==="function"&&!AG($)&&$.defaultProps===void 0&&K.compare===null)return F.tag=15,F.type=$,P$(_,F,$,U,O);return _=wa(K.type,null,U,F,F.mode,O),_.ref=F.ref,_.return=F,F.child=_}if($=_.child,!wU(_,O)){var L=$.memoizedProps;if(K=K.compare,K=K!==null?K:Oa,K(L,U)&&_.ref===F.ref)return VE(_,F,O)}return F.flags|=1,_=hE($,U),_.ref=F.ref,_.return=F,F.child=_}function P$(_,F,K,U,O){if(_!==null){var $=_.memoizedProps;if(Oa($,U)&&_.ref===F.ref)if(Wq=!1,F.pendingProps=U=$,wU(_,O))(_.flags&131072)!==0&&(Wq=!0);else return F.lanes=_.lanes,VE(_,F,O)}return PU(_,F,K,U,O)}function z$(_,F,K,U){var O=U.children,$=_!==null?_.memoizedState:null;if(_===null&&F.stateNode===null&&(F.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),U.mode==="hidden"){if((F.flags&128)!==0){if($=$!==null?$.baseLanes|K:K,_!==null){U=F.child=_.child;for(O=0;U!==null;)O=O|U.lanes|U.childLanes,U=U.sibling;U=O&~$}else U=0,F.child=null;return C$(_,F,$,K,U)}if((K&536870912)!==0)F.memoizedState={baseLanes:0,cachePool:null},_!==null&&Ma(F,$!==null?$.cachePool:null),$!==null?cQ(F,$):GU(),fQ(F);else return U=F.lanes=536870912,C$(_,F,$!==null?$.baseLanes|K:K,K,U)}else $!==null?(Ma(F,$.cachePool),cQ(F,$),Eg(F),F.memoizedState=null):(_!==null&&Ma(F,null),GU(),Eg(F));return uq(_,F,O,K),F.child}function sj(_,F){return _!==null&&_.tag===22||F.stateNode!==null||(F.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),F.sibling}function C$(_,F,K,U,O){var $=FU();return $=$===null?null:{parent:SE?Kq._currentValue:Kq._currentValue2,pool:$},F.memoizedState={baseLanes:K,cachePool:$},_!==null&&Ma(F,null),GU(),fQ(F),_!==null&&o(_,F,U,!0),F.childLanes=O,null}function Sa(_,F){return F=Ba({mode:F.mode,children:F.children},_.mode),F.ref=_.ref,_.child=F,F.return=_,F}function D$(_,F,K){return E_(F,_.child,null,K),_=Sa(F,F.pendingProps),_.flags|=2,L6(F),F.memoizedState=null,_}function xN(_,F,K){var U=F.pendingProps,O=(F.flags&128)!==0;if(F.flags&=-129,_===null){if(WA){if(U.mode==="hidden")return _=Sa(F,U),F.lanes=536870912,sj(null,_);if(OU(F),(_=aq)?(_=nV(_,w6),_!==null&&(F.memoizedState={dehydrated:_,treeContext:ag!==null?{id:FE,overflow:aE}:null,retryLane:536870912,hydrationErrors:null},K=PH(_),K.return=F,F.child=K,dq=F,aq=null)):_=null,_===null)throw r(F);return F.lanes=536870912,null}return Sa(F,U)}var $=_.memoizedState;if($!==null){var L=$.dehydrated;if(OU(F),O)if(F.flags&256)F.flags&=-257,F=D$(_,F,K);else if(F.memoizedState!==null)F.child=_.child,F.flags|=128,F=null;else throw Error(g(558));else if(Wq||o(_,F,K,!1),O=(K&_.childLanes)!==0,Wq||O){if(U=oA,U!==null&&(L=d(U,K),L!==0&&L!==$.retryLane))throw $.retryLane=L,pg(_,L),Y6(U,_,L),xG;ya(),F=D$(_,F,K)}else _=$.treeContext,q6&&(aq=pV(L),dq=F,WA=!0,Zg=null,w6=!1,_!==null&&Aq(F,_)),F=Sa(F,U),F.flags|=4096;return F}return _=hE(_.child,{mode:U.mode,children:U.children}),_.ref=F.ref,F.child=_,_.return=F,_}function Wa(_,F){var K=F.ref;if(K===null)_!==null&&_.ref!==null&&(F.flags|=4194816);else{if(typeof K!=="function"&&typeof K!=="object")throw Error(g(284));if(_===null||_.ref!==K)F.flags|=4194816}}function PU(_,F,K,U,O){if(HA(F),K=QU(_,F,K,U,void 0,O),U=$U(),_!==null&&!Wq)return HU(_,F,O),VE(_,F,O);return WA&&U&&nA(F),F.flags|=1,uq(_,F,K,O),F.child}function y$(_,F,K,U,O,$){if(HA(F),F.updateQueue=null,K=uQ(F,U,K,O),lQ(_),U=$U(),_!==null&&!Wq)return HU(_,F,$),VE(_,F,$);return WA&&U&&nA(F),F.flags|=1,uq(_,F,K,$),F.child}function m$(_,F,K,U,O){if(HA(F),F.stateNode===null){var $=c_,L=K.contextType;typeof L==="object"&&L!==null&&($=_A(L)),$=new K(U,$),F.memoizedState=$.state!==null&&$.state!==void 0?$.state:null,$.updater=BG,F.stateNode=$,$._reactInternals=F,$=F.stateNode,$.props=U,$.state=F.memoizedState,$.refs={},KU(F),L=K.contextType,$.context=typeof L==="object"&&L!==null?_A(L):c_,$.state=F.memoizedState,L=K.getDerivedStateFromProps,typeof L==="function"&&(BU(F,K,L,U),$.state=F.memoizedState),typeof K.getDerivedStateFromProps==="function"||typeof $.getSnapshotBeforeUpdate==="function"||typeof $.UNSAFE_componentWillMount!=="function"&&typeof $.componentWillMount!=="function"||(L=$.state,typeof $.componentWillMount==="function"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount==="function"&&$.UNSAFE_componentWillMount(),L!==$.state&&BG.enqueueReplaceState($,$.state,null),pj(F,U,$,O),uj(),$.state=F.memoizedState),typeof $.componentDidMount==="function"&&(F.flags|=4194308),U=!0}else if(_===null){$=F.stateNode;var R=F.memoizedProps,z=dg(K,R);$.props=z;var w=$.context,s=K.contextType;L=c_,typeof s==="object"&&s!==null&&(L=_A(s));var f=K.getDerivedStateFromProps;s=typeof f==="function"||typeof $.getSnapshotBeforeUpdate==="function",R=F.pendingProps!==R,s||typeof $.UNSAFE_componentWillReceiveProps!=="function"&&typeof $.componentWillReceiveProps!=="function"||(R||w!==L)&&I$(F,$,U,L),Ug=!1;var qA=F.memoizedState;$.state=qA,pj(F,U,$,O),uj(),w=F.memoizedState,R||qA!==w||Ug?(typeof f==="function"&&(BU(F,K,f,U),w=F.memoizedState),(z=Ug||R$(F,K,z,U,qA,w,L))?(s||typeof $.UNSAFE_componentWillMount!=="function"&&typeof $.componentWillMount!=="function"||(typeof $.componentWillMount==="function"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount==="function"&&$.UNSAFE_componentWillMount()),typeof $.componentDidMount==="function"&&(F.flags|=4194308)):(typeof $.componentDidMount==="function"&&(F.flags|=4194308),F.memoizedProps=U,F.memoizedState=w),$.props=U,$.state=w,$.context=L,U=z):(typeof $.componentDidMount==="function"&&(F.flags|=4194308),U=!1)}else{$=F.stateNode,ZU(_,F),L=F.memoizedProps,s=dg(K,L),$.props=s,f=F.pendingProps,qA=$.context,w=K.contextType,z=c_,typeof w==="object"&&w!==null&&(z=_A(w)),R=K.getDerivedStateFromProps,(w=typeof R==="function"||typeof $.getSnapshotBeforeUpdate==="function")||typeof $.UNSAFE_componentWillReceiveProps!=="function"&&typeof $.componentWillReceiveProps!=="function"||(L!==f||qA!==z)&&I$(F,$,U,z),Ug=!1,qA=F.memoizedState,$.state=qA,pj(F,U,$,O),uj();var TA=F.memoizedState;L!==f||qA!==TA||Ug||_!==null&&_.dependencies!==null&&jA(_.dependencies)?(typeof R==="function"&&(BU(F,K,R,U),TA=F.memoizedState),(s=Ug||R$(F,K,s,U,qA,TA,z)||_!==null&&_.dependencies!==null&&jA(_.dependencies))?(w||typeof $.UNSAFE_componentWillUpdate!=="function"&&typeof $.componentWillUpdate!=="function"||(typeof $.componentWillUpdate==="function"&&$.componentWillUpdate(U,TA,z),typeof $.UNSAFE_componentWillUpdate==="function"&&$.UNSAFE_componentWillUpdate(U,TA,z)),typeof $.componentDidUpdate==="function"&&(F.flags|=4),typeof $.getSnapshotBeforeUpdate==="function"&&(F.flags|=1024)):(typeof $.componentDidUpdate!=="function"||L===_.memoizedProps&&qA===_.memoizedState||(F.flags|=4),typeof $.getSnapshotBeforeUpdate!=="function"||L===_.memoizedProps&&qA===_.memoizedState||(F.flags|=1024),F.memoizedProps=U,F.memoizedState=TA),$.props=U,$.state=TA,$.context=z,U=s):(typeof $.componentDidUpdate!=="function"||L===_.memoizedProps&&qA===_.memoizedState||(F.flags|=4),typeof $.getSnapshotBeforeUpdate!=="function"||L===_.memoizedProps&&qA===_.memoizedState||(F.flags|=1024),U=!1)}return $=U,Wa(_,F),U=(F.flags&128)!==0,$||U?($=F.stateNode,K=U&&typeof K.getDerivedStateFromError!=="function"?null:$.render(),F.flags|=1,_!==null&&U?(F.child=E_(F,_.child,null,O),F.child=E_(F,null,K,O)):uq(_,F,K,O),F.memoizedState=$.state,_=F.child):_=VE(_,F,O),_}function w$(_,F,K,U){return bA(),F.flags|=256,uq(_,F,K,U),F.child}function zU(_){return{baseLanes:_,cachePool:zQ()}}function CU(_,F,K){return _=_!==null?_.childLanes&~K:0,F&&(_|=W6),_}function v$(_,F,K){var U=F.pendingProps,O=!1,$=(F.flags&128)!==0,L;if((L=$)||(L=_!==null&&_.memoizedState===null?!1:(Xq.current&2)!==0),L&&(O=!0,F.flags&=-129),L=(F.flags&32)!==0,F.flags&=-33,_===null){if(WA){if(O?qg(F):Eg(F),(_=aq)?(_=oV(_,w6),_!==null&&(F.memoizedState={dehydrated:_,treeContext:ag!==null?{id:FE,overflow:aE}:null,retryLane:536870912,hydrationErrors:null},K=PH(_),K.return=F,F.child=K,dq=F,aq=null)):_=null,_===null)throw r(F);return YG(_)?F.lanes=32:F.lanes=536870912,null}var R=U.children;if(U=U.fallback,O)return Eg(F),O=F.mode,R=Ba({mode:"hidden",children:R},O),U=ig(U,O,K,null),R.return=F,U.return=F,R.sibling=U,F.child=R,U=F.child,U.memoizedState=zU(K),U.childLanes=CU(_,L,K),F.memoizedState=PG,sj(null,U);return qg(F),DU(F,R)}var z=_.memoizedState;if(z!==null&&(R=z.dehydrated,R!==null)){if($)F.flags&256?(qg(F),F.flags&=-257,F=yU(_,F,K)):F.memoizedState!==null?(Eg(F),F.child=_.child,F.flags|=128,F=null):(Eg(F),R=U.fallback,O=F.mode,U=Ba({mode:"visible",children:U.children},O),R=ig(R,O,K,null),R.flags|=2,U.return=F,R.return=F,U.sibling=R,F.child=U,E_(F,_.child,null,K),U=F.child,U.memoizedState=zU(K),U.childLanes=CU(_,L,K),F.memoizedState=PG,F=sj(null,U));else if(qg(F),YG(R))L=vV(R).digest,U=Error(g(419)),U.stack="",U.digest=L,XA({value:U,source:null,stack:null}),F=yU(_,F,K);else if(Wq||o(_,F,K,!1),L=(K&_.childLanes)!==0,Wq||L){if(L=oA,L!==null&&(U=d(L,K),U!==0&&U!==z.retryLane))throw z.retryLane=U,pg(_,U),Y6(L,_,U),xG;OG(R)||ya(),F=yU(_,F,K)}else OG(R)?(F.flags|=192,F.child=_.child,F=null):(_=z.treeContext,q6&&(aq=dV(R),dq=F,WA=!0,Zg=null,w6=!1,_!==null&&Aq(F,_)),F=DU(F,U.children),F.flags|=4096);return F}if(O)return Eg(F),R=U.fallback,O=F.mode,z=_.child,$=z.sibling,U=hE(z,{mode:"hidden",children:U.children}),U.subtreeFlags=z.subtreeFlags&65011712,$!==null?R=hE($,R):(R=ig(R,O,K,null),R.flags|=2),R.return=F,U.return=F,U.sibling=R,F.child=U,sj(null,U),U=F.child,R=_.child.memoizedState,R===null?R=zU(K):(O=R.cachePool,O!==null?(z=SE?Kq._currentValue:Kq._currentValue2,O=O.parent!==z?{parent:z,pool:z}:O):O=zQ(),R={baseLanes:R.baseLanes|K,cachePool:O}),U.memoizedState=R,U.childLanes=CU(_,L,K),F.memoizedState=PG,sj(_.child,U);return qg(F),K=_.child,_=K.sibling,K=hE(K,{mode:"visible",children:U.children}),K.return=F,K.sibling=null,_!==null&&(L=F.deletions,L===null?(F.deletions=[_],F.flags|=16):L.push(_)),F.child=K,F.memoizedState=null,K}function DU(_,F){return F=Ba({mode:"visible",children:F},_.mode),F.return=_,_.child=F}function Ba(_,F){return _=q(22,_,null,F),_.lanes=0,_}function yU(_,F,K){return E_(F,_.child,null,K),_=DU(F,F.pendingProps.children),_.flags|=2,F.memoizedState=null,_}function b$(_,F,K){_.lanes|=F;var U=_.alternate;U!==null&&(U.lanes|=F),t(_.return,F,K)}function mU(_,F,K,U,O,$){var L=_.memoizedState;L===null?_.memoizedState={isBackwards:F,rendering:null,renderingStartTime:0,last:U,tail:K,tailMode:O,treeForkCount:$}:(L.isBackwards=F,L.rendering=null,L.renderingStartTime=0,L.last=U,L.tail=K,L.tailMode=O,L.treeForkCount=$)}function k$(_,F,K){var U=F.pendingProps,O=U.revealOrder,$=U.tail;U=U.children;var L=Xq.current,R=(L&2)!==0;if(R?(L=L&1|2,F.flags|=128):L&=1,X(Xq,L),uq(_,F,U,K),U=WA?jF:0,!R&&_!==null&&(_.flags&128)!==0)A:for(_=F.child;_!==null;){if(_.tag===13)_.memoizedState!==null&&b$(_,K,F);else if(_.tag===19)b$(_,K,F);else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===F)break A;for(;_.sibling===null;){if(_.return===null||_.return===F)break A;_=_.return}_.sibling.return=_.return,_=_.sibling}switch(O){case"forwards":K=F.child;for(O=null;K!==null;)_=K.alternate,_!==null&&Ja(_)===null&&(O=K),K=K.sibling;K=O,K===null?(O=F.child,F.child=null):(O=K.sibling,K.sibling=null),mU(F,!1,O,K,$,U);break;case"backwards":case"unstable_legacy-backwards":K=null,O=F.child;for(F.child=null;O!==null;){if(_=O.alternate,_!==null&&Ja(_)===null){F.child=O;break}_=O.sibling,O.sibling=K,K=O,O=_}mU(F,!0,K,null,$,U);break;case"together":mU(F,!1,null,null,void 0,U);break;default:F.memoizedState=null}return F.child}function VE(_,F,K){if(_!==null&&(F.dependencies=_.dependencies),Mg|=F.lanes,(K&F.childLanes)===0)if(_!==null){if(o(_,F,K,!1),(K&F.childLanes)===0)return null}else return null;if(_!==null&&F.child!==_.child)throw Error(g(153));if(F.child!==null){_=F.child,K=hE(_,_.pendingProps),F.child=K;for(K.return=F;_.sibling!==null;)_=_.sibling,K=K.sibling=hE(_,_.pendingProps),K.return=F;K.sibling=null}return F.child}function wU(_,F){if((_.lanes&F)!==0)return!0;return _=_.dependencies,_!==null&&jA(_)?!0:!1}function PN(_,F,K){switch(F.tag){case 3:Tq(F,F.stateNode.containerInfo),Oq(F,Kq,_.memoizedState.cache),bA();break;case 27:case 5:y(F);break;case 4:Tq(F,F.stateNode.containerInfo);break;case 10:Oq(F,F.type,F.memoizedProps.value);break;case 31:if(F.memoizedState!==null)return F.flags|=128,OU(F),null;break;case 13:var U=F.memoizedState;if(U!==null){if(U.dehydrated!==null)return qg(F),F.flags|=128,null;if((K&F.child.childLanes)!==0)return v$(_,F,K);return qg(F),_=VE(_,F,K),_!==null?_.sibling:null}qg(F);break;case 19:var O=(_.flags&128)!==0;if(U=(K&F.childLanes)!==0,U||(o(_,F,K,!1),U=(K&F.childLanes)!==0),O){if(U)return k$(_,F,K);F.flags|=128}if(O=F.memoizedState,O!==null&&(O.rendering=null,O.tail=null,O.lastEffect=null),X(Xq,Xq.current),U)break;else return null;case 22:return F.lanes=0,z$(_,F,K,F.pendingProps);case 24:Oq(F,Kq,_.memoizedState.cache)}return VE(_,F,K)}function c$(_,F,K){if(_!==null)if(_.memoizedProps!==F.pendingProps)Wq=!0;else{if(!wU(_,K)&&(F.flags&128)===0)return Wq=!1,PN(_,F,K);Wq=(_.flags&131072)!==0?!0:!1}else Wq=!1,WA&&(F.flags&1048576)!==0&&_q(F,jF,F.index);switch(F.lanes=0,F.tag){case 16:A:{var U=F.pendingProps;if(_=ug(F.elementType),F.type=_,typeof _==="function")AG(_)?(U=dg(_,U),F.tag=1,F=m$(null,F,_,U,K)):(F.tag=0,F=PU(null,F,_,U,K));else{if(_!==void 0&&_!==null){var O=_.$$typeof;if(O===FG){F.tag=11,F=B$(null,F,_,U,K);break A}else if(O===ZG){F.tag=14,F=x$(null,F,_,U,K);break A}}throw F=Q(_)||_,Error(g(306,F,""))}}return F;case 0:return PU(_,F,F.type,F.pendingProps,K);case 1:return U=F.type,O=dg(U,F.pendingProps),m$(_,F,U,O,K);case 3:A:{if(Tq(F,F.stateNode.containerInfo),_===null)throw Error(g(387));var $=F.pendingProps;O=F.memoizedState,U=O.element,ZU(_,F),pj(F,$,null,K);var L=F.memoizedState;if($=L.cache,Oq(F,Kq,$),$!==O.cache&&e(F,[Kq],K,!0),uj(),$=L.element,q6&&O.isDehydrated)if(O={element:$,isDehydrated:!1,cache:L.cache},F.updateQueue.baseState=O,F.memoizedState=O,F.flags&256){F=w$(_,F,$,K);break A}else if($!==U){U=i(Error(g(424)),F),XA(U),F=w$(_,F,$,K);break A}else for(q6&&(aq=uV(F.stateNode.containerInfo),dq=F,WA=!0,Zg=null,w6=!0),K=Y7(F,null,$,K),F.child=K;K;)K.flags=K.flags&-3|4096,K=K.sibling;else{if(bA(),$===U){F=VE(_,F,K);break A}uq(_,F,$,K)}F=F.child}return F;case 26:if(n6)return Wa(_,F),_===null?(K=A7(F.type,null,F.pendingProps,null))?F.memoizedState=K:WA||(F.stateNode=HR(F.type,F.pendingProps,Kg.current,F)):F.memoizedState=A7(F.type,_.memoizedProps,F.pendingProps,_.memoizedState),null;case 27:if(Pq)return y(F),_===null&&Pq&&WA&&(U=F.stateNode=F7(F.type,F.pendingProps,Kg.current,pq.current,!1),dq=F,w6=!0,aq=tV(F.type,U,aq)),uq(_,F,F.pendingProps.children,K),Wa(_,F),_===null&&(F.flags|=4194304),F.child;case 5:if(_===null&&WA){if(YR(F.type,F.pendingProps,pq.current),O=U=aq)U=sV(U,F.type,F.pendingProps,w6),U!==null?(F.stateNode=U,dq=F,aq=lV(U),w6=!1,O=!0):O=!1;O||r(F)}return y(F),O=F.type,$=F.pendingProps,L=_!==null?_.memoizedProps:null,U=$.children,ka(O,$)?U=null:L!==null&&ka(O,L)&&(F.flags|=32),F.memoizedState!==null&&(O=QU(_,F,VN,null,null,K),SE?og._currentValue=O:og._currentValue2=O),Wa(_,F),uq(_,F,U,K),F.child;case 6:if(_===null&&WA){if(QR(F.pendingProps,pq.current),_=K=aq)K=iV(K,F.pendingProps,w6),K!==null?(F.stateNode=K,dq=F,aq=null,_=!0):_=!1;_||r(F)}return null;case 13:return v$(_,F,K);case 4:return Tq(F,F.stateNode.containerInfo),U=F.pendingProps,_===null?F.child=E_(F,null,U,K):uq(_,F,U,K),F.child;case 11:return B$(_,F,F.type,F.pendingProps,K);case 7:return uq(_,F,F.pendingProps,K),F.child;case 8:return uq(_,F,F.pendingProps.children,K),F.child;case 12:return uq(_,F,F.pendingProps.children,K),F.child;case 10:return U=F.pendingProps,Oq(F,F.type,U.value),uq(_,F,U.children,K),F.child;case 9:return O=F.type._context,U=F.pendingProps.children,HA(F),O=_A(O),U=U(O),F.flags|=1,uq(_,F,U,K),F.child;case 14:return x$(_,F,F.type,F.pendingProps,K);case 15:return P$(_,F,F.type,F.pendingProps,K);case 19:return k$(_,F,K);case 31:return xN(_,F,K);case 22:return z$(_,F,K,F.pendingProps);case 24:return HA(F),U=_A(Kq),_===null?(O=FU(),O===null&&(O=oA,$=wq(),O.pooledCache=$,$.refCount++,$!==null&&(O.pooledCacheLanes|=K),O=$),F.memoizedState={parent:U,cache:O},KU(F),Oq(F,Kq,O)):((_.lanes&K)!==0&&(ZU(_,F),pj(F,null,null,K),uj()),O=_.memoizedState,$=F.memoizedState,O.parent!==U?(O={parent:U,cache:U},F.memoizedState=O,F.lanes===0&&(F.memoizedState=F.updateQueue.baseState=O),Oq(F,Kq,U)):(U=$.cache,Oq(F,Kq,U),U!==O.cache&&e(F,[Kq],K,!0))),uq(_,F,F.pendingProps.children,K),F.child;case 29:throw F.pendingProps}throw Error(g(156,F.tag))}function t6(_){_.flags|=4}function xa(_){jE&&(_.flags|=8)}function f$(_,F){if(_!==null&&_.child===F.child)return!1;if((F.flags&16)!==0)return!0;for(_=F.child;_!==null;){if((_.flags&8218)!==0||(_.subtreeFlags&8218)!==0)return!0;_=_.sibling}return!1}function vU(_,F,K,U){if(A6)for(K=F.child;K!==null;){if(K.tag===5||K.tag===6)GG(_,K.stateNode);else if(!(K.tag===4||Pq&&K.tag===27)&&K.child!==null){K.child.return=K,K=K.child;continue}if(K===F)break;for(;K.sibling===null;){if(K.return===null||K.return===F)return;K=K.return}K.sibling.return=K.return,K=K.sibling}else if(jE)for(var O=F.child;O!==null;){if(O.tag===5){var $=O.stateNode;K&&U&&($=iH($,O.type,O.memoizedProps)),GG(_,$)}else if(O.tag===6)$=O.stateNode,K&&U&&($=nH($,O.memoizedProps)),GG(_,$);else if(O.tag!==4){if(O.tag===22&&O.memoizedState!==null)$=O.child,$!==null&&($.return=O),vU(_,O,!0,!0);else if(O.child!==null){O.child.return=O,O=O.child;continue}}if(O===F)break;for(;O.sibling===null;){if(O.return===null||O.return===F)return;O=O.return}O.sibling.return=O.return,O=O.sibling}}function l$(_,F,K,U){var O=!1;if(jE)for(var $=F.child;$!==null;){if($.tag===5){var L=$.stateNode;K&&U&&(L=iH(L,$.type,$.memoizedProps)),tH(_,L)}else if($.tag===6)L=$.stateNode,K&&U&&(L=nH(L,$.memoizedProps)),tH(_,L);else if($.tag!==4){if($.tag===22&&$.memoizedState!==null)O=$.child,O!==null&&(O.return=$),l$(_,$,!0,!0),O=!0;else if($.child!==null){$.child.return=$,$=$.child;continue}}if($===F)break;for(;$.sibling===null;){if($.return===null||$.return===F)return O;$=$.return}$.sibling.return=$.return,$=$.sibling}return O}function u$(_,F){if(jE&&f$(_,F)){_=F.stateNode;var K=_.containerInfo,U=dH();l$(U,F,!1,!1),_.pendingChildren=U,t6(F),wV(K,U)}}function bU(_,F,K,U){if(A6)_.memoizedProps!==U&&t6(F);else if(jE){var{stateNode:O,memoizedProps:$}=_;if((_=f$(_,F))||$!==U){var L=pq.current;$=mV(O,K,$,U,!_,null),$===O?F.stateNode=O:(xa(F),cH($,K,U,L)&&t6(F),F.stateNode=$,_&&vU($,F,!1,!1))}else F.stateNode=O}}function kU(_,F,K,U,O){if((_.mode&32)!==0&&(K===null?ZV(F,U):UV(F,K,U))){if(_.flags|=16777216,(O&335544128)===O||MG(F,U))if(lH(_.stateNode,F,U))_.flags|=8192;else if($H())_.flags|=8192;else throw q_=oa,IG}else _.flags&=-16777217}function p$(_,F){if(JR(F)){if(_.flags|=16777216,!j7(F))if($H())_.flags|=8192;else throw q_=oa,IG}else _.flags&=-16777217}function Pa(_,F){F!==null&&(_.flags|=4),_.flags&16384&&(F=_.tag!==22?C():536870912,_.lanes|=F,qj|=F)}function ij(_,F){if(!WA)switch(_.tailMode){case"hidden":F=_.tail;for(var K=null;F!==null;)F.alternate!==null&&(K=F),F=F.sibling;K===null?_.tail=null:K.sibling=null;break;case"collapsed":K=_.tail;for(var U=null;K!==null;)K.alternate!==null&&(U=K),K=K.sibling;U===null?F||_.tail===null?_.tail=null:_.tail.sibling=null:U.sibling=null}}function qq(_){var F=_.alternate!==null&&_.alternate.child===_.child,K=0,U=0;if(F)for(var O=_.child;O!==null;)K|=O.lanes|O.childLanes,U|=O.subtreeFlags&65011712,U|=O.flags&65011712,O.return=_,O=O.sibling;else for(O=_.child;O!==null;)K|=O.lanes|O.childLanes,U|=O.subtreeFlags,U|=O.flags,O.return=_,O=O.sibling;return _.subtreeFlags|=U,_.childLanes=K,F}function zN(_,F,K){var U=F.pendingProps;switch(eA(F),F.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qq(F),null;case 1:return qq(F),null;case 3:if(K=F.stateNode,U=null,_!==null&&(U=_.memoizedState.cache),F.memoizedState.cache!==U&&(F.flags|=2048),lq(Kq),b(),K.pendingContext&&(K.context=K.pendingContext,K.pendingContext=null),_===null||_.child===null)FA(F)?t6(F):_===null||_.memoizedState.isDehydrated&&(F.flags&256)===0||(F.flags|=1024,Fq());return u$(_,F),qq(F),null;case 26:if(n6){var{type:O,memoizedState:$}=F;return _===null?(t6(F),$!==null?(qq(F),p$(F,$)):(qq(F),kU(F,O,null,U,K))):$?$!==_.memoizedState?(t6(F),qq(F),p$(F,$)):(qq(F),F.flags&=-16777217):($=_.memoizedProps,A6?$!==U&&t6(F):bU(_,F,O,U),qq(F),kU(F,O,$,U,K)),null}case 27:if(Pq){if(n(F),K=Kg.current,O=F.type,_!==null&&F.stateNode!=null)A6?_.memoizedProps!==U&&t6(F):bU(_,F,O,U);else{if(!U){if(F.stateNode===null)throw Error(g(166));return qq(F),null}_=pq.current,FA(F)?gA(F,_):(_=F7(O,U,K,_,!0),F.stateNode=_,t6(F))}return qq(F),null}case 5:if(n(F),O=F.type,_!==null&&F.stateNode!=null)bU(_,F,O,U);else{if(!U){if(F.stateNode===null)throw Error(g(166));return qq(F),null}if($=pq.current,FA(F))gA(F,$),KR(F.stateNode,O,U,$)&&(F.flags|=64);else{var L=qV(O,U,Kg.current,$,F);xa(F),vU(L,F,!1,!1),F.stateNode=L,cH(L,O,U,$)&&t6(F)}}return qq(F),kU(F,F.type,_===null?null:_.memoizedProps,F.pendingProps,K),null;case 6:if(_&&F.stateNode!=null)K=_.memoizedProps,A6?K!==U&&t6(F):jE&&(K!==U?(_=Kg.current,K=pq.current,xa(F),F.stateNode=fH(U,_,K,F)):F.stateNode=_.stateNode);else{if(typeof U!=="string"&&F.stateNode===null)throw Error(g(166));if(_=Kg.current,K=pq.current,FA(F)){if(!q6)throw Error(g(176));if(_=F.stateNode,K=F.memoizedProps,U=null,O=dq,O!==null)switch(O.tag){case 27:case 5:U=O.memoizedProps}eV(_,K,F,U)||r(F,!0)}else xa(F),F.stateNode=fH(U,_,K,F)}return qq(F),null;case 31:if(K=F.memoizedState,_===null||_.memoizedState!==null){if(U=FA(F),K!==null){if(_===null){if(!U)throw Error(g(318));if(!q6)throw Error(g(556));if(_=F.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(g(557));AR(_,F)}else bA(),(F.flags&128)===0&&(F.memoizedState=null),F.flags|=4;qq(F),_=!1}else K=Fq(),_!==null&&_.memoizedState!==null&&(_.memoizedState.hydrationErrors=K),_=!0;if(!_){if(F.flags&256)return L6(F),F;return L6(F),null}if((F.flags&128)!==0)throw Error(g(558))}return qq(F),null;case 13:if(U=F.memoizedState,_===null||_.memoizedState!==null&&_.memoizedState.dehydrated!==null){if(O=FA(F),U!==null&&U.dehydrated!==null){if(_===null){if(!O)throw Error(g(318));if(!q6)throw Error(g(344));if(O=F.memoizedState,O=O!==null?O.dehydrated:null,!O)throw Error(g(317));qR(O,F)}else bA(),(F.flags&128)===0&&(F.memoizedState=null),F.flags|=4;qq(F),O=!1}else O=Fq(),_!==null&&_.memoizedState!==null&&(_.memoizedState.hydrationErrors=O),O=!0;if(!O){if(F.flags&256)return L6(F),F;return L6(F),null}}if(L6(F),(F.flags&128)!==0)return F.lanes=K,F;return K=U!==null,_=_!==null&&_.memoizedState!==null,K&&(U=F.child,O=null,U.alternate!==null&&U.alternate.memoizedState!==null&&U.alternate.memoizedState.cachePool!==null&&(O=U.alternate.memoizedState.cachePool.pool),$=null,U.memoizedState!==null&&U.memoizedState.cachePool!==null&&($=U.memoizedState.cachePool.pool),$!==O&&(U.flags|=2048)),K!==_&&K&&(F.child.flags|=8192),Pa(F,F.updateQueue),qq(F),null;case 4:return b(),u$(_,F),_===null&&jV(F.stateNode.containerInfo),qq(F),null;case 10:return lq(F.type),qq(F),null;case 19:if(N(Xq),U=F.memoizedState,U===null)return qq(F),null;if(O=(F.flags&128)!==0,$=U.rendering,$===null)if(O)ij(U,!1);else{if(Qq!==0||_!==null&&(_.flags&128)!==0)for(_=F.child;_!==null;){if($=Ja(_),$!==null){F.flags|=128,ij(U,!1),_=$.updateQueue,F.updateQueue=_,Pa(F,_),F.subtreeFlags=0,_=K;for(K=F.child;K!==null;)xH(K,_),K=K.sibling;return X(Xq,Xq.current&1|2),WA&&EA(F,U.treeForkCount),F.child}_=_.sibling}U.tail!==null&&Q6()>OF&&(F.flags|=128,O=!0,ij(U,!1),F.lanes=4194304)}else{if(!O)if(_=Ja($),_!==null){if(F.flags|=128,O=!0,_=_.updateQueue,F.updateQueue=_,Pa(F,_),ij(U,!0),U.tail===null&&U.tailMode==="hidden"&&!$.alternate&&!WA)return qq(F),null}else 2*Q6()-U.renderingStartTime>OF&&K!==536870912&&(F.flags|=128,O=!0,ij(U,!1),F.lanes=4194304);U.isBackwards?($.sibling=F.child,F.child=$):(_=U.last,_!==null?_.sibling=$:F.child=$,U.last=$)}if(U.tail!==null)return _=U.tail,U.rendering=_,U.tail=_.sibling,U.renderingStartTime=Q6(),_.sibling=null,K=Xq.current,X(Xq,O?K&1|2:K&1),WA&&EA(F,U.treeForkCount),_;return qq(F),null;case 22:case 23:return L6(F),MU(),U=F.memoizedState!==null,_!==null?_.memoizedState!==null!==U&&(F.flags|=8192):U&&(F.flags|=8192),U?(K&536870912)!==0&&(F.flags&128)===0&&(qq(F),F.subtreeFlags&6&&(F.flags|=8192)):qq(F),K=F.updateQueue,K!==null&&Pa(F,K.retryQueue),K=null,_!==null&&_.memoizedState!==null&&_.memoizedState.cachePool!==null&&(K=_.memoizedState.cachePool.pool),U=null,F.memoizedState!==null&&F.memoizedState.cachePool!==null&&(U=F.memoizedState.cachePool.pool),U!==K&&(F.flags|=2048),_!==null&&N(A_),null;case 24:return K=null,_!==null&&(K=_.memoizedState.cache),F.memoizedState.cache!==K&&(F.flags|=2048),lq(Kq),qq(F),null;case 25:return null;case 30:return null}throw Error(g(156,F.tag))}function CN(_,F){switch(eA(F),F.tag){case 1:return _=F.flags,_&65536?(F.flags=_&-65537|128,F):null;case 3:return lq(Kq),b(),_=F.flags,(_&65536)!==0&&(_&128)===0?(F.flags=_&-65537|128,F):null;case 26:case 27:case 5:return n(F),null;case 31:if(F.memoizedState!==null){if(L6(F),F.alternate===null)throw Error(g(340));bA()}return _=F.flags,_&65536?(F.flags=_&-65537|128,F):null;case 13:if(L6(F),_=F.memoizedState,_!==null&&_.dehydrated!==null){if(F.alternate===null)throw Error(g(340));bA()}return _=F.flags,_&65536?(F.flags=_&-65537|128,F):null;case 19:return N(Xq),null;case 4:return b(),null;case 10:return lq(F.type),null;case 22:case 23:return L6(F),MU(),_!==null&&N(A_),_=F.flags,_&65536?(F.flags=_&-65537|128,F):null;case 24:return lq(Kq),null;case 25:return null;default:return null}}function d$(_,F){switch(eA(F),F.tag){case 3:lq(Kq),b();break;case 26:case 27:case 5:n(F);break;case 4:b();break;case 31:F.memoizedState!==null&&L6(F);break;case 13:L6(F);break;case 19:N(Xq);break;case 10:lq(F.type);break;case 22:case 23:L6(F),MU(),_!==null&&N(A_);break;case 24:lq(Kq)}}function nj(_,F){try{var K=F.updateQueue,U=K!==null?K.lastEffect:null;if(U!==null){var O=U.next;K=O;do{if((K.tag&_)===_){U=void 0;var{create:$,inst:L}=K;U=$(),L.destroy=U}K=K.next}while(K!==O)}}catch(R){CA(F,F.return,R)}}function gg(_,F,K){try{var U=F.updateQueue,O=U!==null?U.lastEffect:null;if(O!==null){var $=O.next;U=$;do{if((U.tag&_)===_){var L=U.inst,R=L.destroy;if(R!==void 0){L.destroy=void 0,O=F;var z=K,w=R;try{w()}catch(s){CA(O,z,s)}}}U=U.next}while(U!==$)}}catch(s){CA(F,F.return,s)}}function t$(_){var F=_.updateQueue;if(F!==null){var K=_.stateNode;try{kQ(F,K)}catch(U){CA(_,_.return,U)}}}function s$(_,F,K){K.props=dg(_.type,_.memoizedProps),K.state=_.memoizedState;try{K.componentWillUnmount()}catch(U){CA(_,F,U)}}function oj(_,F){try{var K=_.ref;if(K!==null){switch(_.tag){case 26:case 27:case 5:var U=qF(_.stateNode);break;case 30:U=_.stateNode;break;default:U=_.stateNode}typeof K==="function"?_.refCleanup=K(U):K.current=U}}catch(O){CA(_,F,O)}}function _E(_,F){var{ref:K,refCleanup:U}=_;if(K!==null)if(typeof U==="function")try{U()}catch(O){CA(_,F,O)}finally{_.refCleanup=null,_=_.alternate,_!=null&&(_.refCleanup=null)}else if(typeof K==="function")try{K(null)}catch(O){CA(_,F,O)}else K.current=null}function i$(_){var{type:F,memoizedProps:K,stateNode:U}=_;try{IV(U,F,K,_)}catch(O){CA(_,_.return,O)}}function cU(_,F,K){try{hV(_.stateNode,_.type,K,F,_)}catch(U){CA(_,_.return,U)}}function n$(_){return _.tag===5||_.tag===3||(n6?_.tag===26:!1)||(Pq?_.tag===27&&b_(_.type):!1)||_.tag===4}function fU(_){A:for(;;){for(;_.sibling===null;){if(_.return===null||n$(_.return))return null;_=_.return}_.sibling.return=_.return;for(_=_.sibling;_.tag!==5&&_.tag!==6&&_.tag!==18;){if(Pq&&_.tag===27&&b_(_.type))continue A;if(_.flags&2)continue A;if(_.child===null||_.tag===4)continue A;else _.child.return=_,_=_.child}if(!(_.flags&2))return _.stateNode}}function lU(_,F,K){var U=_.tag;if(U===5||U===6)_=_.stateNode,F?WV(K,_,F):VV(K,_);else if(U!==4&&(Pq&&U===27&&b_(_.type)&&(K=_.stateNode,F=null),_=_.child,_!==null))for(lU(_,F,K),_=_.sibling;_!==null;)lU(_,F,K),_=_.sibling}function za(_,F,K){var U=_.tag;if(U===5||U===6)_=_.stateNode,F?SV(K,_,F):NV(K,_);else if(U!==4&&(Pq&&U===27&&b_(_.type)&&(K=_.stateNode),_=_.child,_!==null))for(za(_,F,K),_=_.sibling;_!==null;)za(_,F,K),_=_.sibling}function o$(_,F,K){_=_.containerInfo;try{sH(_,K)}catch(U){CA(F,F.return,U)}}function r$(_){var{stateNode:F,memoizedProps:K}=_;try{LR(_.type,K,F,_)}catch(U){CA(_,_.return,U)}}function DN(_,F){eN(_.containerInfo);for(bq=F;bq!==null;)if(_=bq,F=_.child,(_.subtreeFlags&1028)!==0&&F!==null)F.return=_,bq=F;else for(;bq!==null;){_=bq;var K=_.alternate;switch(F=_.flags,_.tag){case 0:if((F&4)!==0&&(F=_.updateQueue,F=F!==null?F.events:null,F!==null))for(var U=0;U<F.length;U++){var O=F[U];O.ref.impl=O.nextImpl}break;case 11:case 15:break;case 1:if((F&1024)!==0&&K!==null){F=void 0,U=_,O=K.memoizedProps,K=K.memoizedState;var $=U.stateNode;try{var L=dg(U.type,O);F=$.getSnapshotBeforeUpdate(L,K),$.__reactInternalSnapshotBeforeUpdate=F}catch(R){CA(U,U.return,R)}}break;case 3:(F&1024)!==0&&A6&&yV(_.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((F&1024)!==0)throw Error(g(163))}if(F=_.sibling,F!==null){F.return=_.return,bq=F;break}bq=_.return}}function e$(_,F,K){var U=K.flags;switch(K.tag){case 0:case 11:case 15:RE(_,K),U&4&&nj(5,K);break;case 1:if(RE(_,K),U&4)if(_=K.stateNode,F===null)try{_.componentDidMount()}catch(L){CA(K,K.return,L)}else{var O=dg(K.type,F.memoizedProps);F=F.memoizedState;try{_.componentDidUpdate(O,F,_.__reactInternalSnapshotBeforeUpdate)}catch(L){CA(K,K.return,L)}}U&64&&t$(K),U&512&&oj(K,K.return);break;case 3:if(RE(_,K),U&64&&(U=K.updateQueue,U!==null)){if(_=null,K.child!==null)switch(K.child.tag){case 27:case 5:_=qF(K.child.stateNode);break;case 1:_=K.child.stateNode}try{kQ(U,_)}catch(L){CA(K,K.return,L)}}break;case 27:Pq&&F===null&&U&4&&r$(K);case 26:case 5:if(RE(_,K),F===null){if(U&4)i$(K);else if(U&64){_=K.type,F=K.memoizedProps,O=K.stateNode;try{_R(O,_,F,K)}catch(L){CA(K,K.return,L)}}}U&512&&oj(K,K.return);break;case 12:RE(_,K);break;case 31:RE(_,K),U&4&&qH(_,K);break;case 13:RE(_,K),U&4&&EH(_,K),U&64&&(U=K.memoizedState,U!==null&&(U=U.dehydrated,U!==null&&(K=cN.bind(null,K),bV(U,K))));break;case 22:if(U=K.memoizedState!==null||PE,!U){F=F!==null&&F.memoizedState!==null||Bq,O=PE;var $=Bq;PE=U,(Bq=F)&&!$?IE(_,K,(K.subtreeFlags&8772)!==0):RE(_,K),PE=O,Bq=$}break;case 30:break;default:RE(_,K)}}function AH(_){var F=_.alternate;F!==null&&(_.alternate=null,AH(F)),_.child=null,_.deletions=null,_.sibling=null,_.tag===5&&(F=_.stateNode,F!==null&&KV(F)),_.stateNode=null,_.return=null,_.dependencies=null,_.memoizedProps=null,_.memoizedState=null,_.pendingProps=null,_.stateNode=null,_.updateQueue=null}function s6(_,F,K){for(K=K.child;K!==null;)uU(_,F,K),K=K.sibling}function uU(_,F,K){if(R6&&typeof R6.onCommitFiberUnmount==="function")try{R6.onCommitFiberUnmount(_F,K)}catch($){}switch(K.tag){case 26:if(n6){Bq||_E(K,F),s6(_,F,K),K.memoizedState?E7(K.memoizedState):K.stateNode&&_7(K.stateNode);break}case 27:if(Pq){Bq||_E(K,F);var U=xq,O=$6;b_(K.type)&&(xq=K.stateNode,$6=!1),s6(_,F,K),a7(K.stateNode),xq=U,$6=O;break}case 5:Bq||_E(K,F);case 6:if(A6){if(U=xq,O=$6,xq=null,s6(_,F,K),xq=U,$6=O,xq!==null)if($6)try{xV(xq,K.stateNode)}catch($){CA(K,F,$)}else try{BV(xq,K.stateNode)}catch($){CA(K,F,$)}}else s6(_,F,K);break;case 18:A6&&xq!==null&&($6?GR(xq,K.stateNode):UR(xq,K.stateNode));break;case 4:A6?(U=xq,O=$6,xq=K.stateNode.containerInfo,$6=!0,s6(_,F,K),xq=U,$6=O):(jE&&o$(K.stateNode,K,dH()),s6(_,F,K));break;case 0:case 11:case 14:case 15:gg(2,K,F),Bq||gg(4,K,F),s6(_,F,K);break;case 1:Bq||(_E(K,F),U=K.stateNode,typeof U.componentWillUnmount==="function"&&s$(K,F,U)),s6(_,F,K);break;case 21:s6(_,F,K);break;case 22:Bq=(U=Bq)||K.memoizedState!==null,s6(_,F,K),Bq=U;break;default:s6(_,F,K)}}function qH(_,F){if(q6&&F.memoizedState===null&&(_=F.alternate,_!==null&&(_=_.memoizedState,_!==null))){_=_.dehydrated;try{FR(_)}catch(K){CA(F,F.return,K)}}}function EH(_,F){if(q6&&F.memoizedState===null&&(_=F.alternate,_!==null&&(_=_.memoizedState,_!==null&&(_=_.dehydrated,_!==null))))try{aR(_)}catch(K){CA(F,F.return,K)}}function yN(_){switch(_.tag){case 31:case 13:case 19:var F=_.stateNode;return F===null&&(F=_.stateNode=new H7),F;case 22:return _=_.stateNode,F=_._retryCache,F===null&&(F=_._retryCache=new H7),F;default:throw Error(g(435,_.tag))}}function Ca(_,F){var K=yN(_);F.forEach(function(U){if(!K.has(U)){K.add(U);var O=fN.bind(null,_,U);U.then(O,O)}})}function eq(_,F){var K=F.deletions;if(K!==null)for(var U=0;U<K.length;U++){var O=K[U],$=_,L=F;if(A6){var R=L;A:for(;R!==null;){switch(R.tag){case 27:if(Pq){if(b_(R.type)){xq=R.stateNode,$6=!1;break A}break}case 5:xq=R.stateNode,$6=!1;break A;case 3:case 4:xq=R.stateNode.containerInfo,$6=!0;break A}R=R.return}if(xq===null)throw Error(g(160));uU($,L,O),xq=null,$6=!1}else uU($,L,O);$=O.alternate,$!==null&&($.return=null),O.return=null}if(F.subtreeFlags&13886)for(F=F.child;F!==null;)gH(F,_),F=F.sibling}function gH(_,F){var{alternate:K,flags:U}=_;switch(_.tag){case 0:case 11:case 14:case 15:eq(F,_),F6(_),U&4&&(gg(3,_,_.return),nj(3,_),gg(5,_,_.return));break;case 1:eq(F,_),F6(_),U&512&&(Bq||K===null||_E(K,K.return)),U&64&&PE&&(_=_.updateQueue,_!==null&&(U=_.callbacks,U!==null&&(K=_.shared.hiddenCallbacks,_.shared.hiddenCallbacks=K===null?U:K.concat(U))));break;case 26:if(n6){var O=o6;if(eq(F,_),F6(_),U&512&&(Bq||K===null||_E(K,K.return)),U&4){U=K!==null?K.memoizedState:null;var $=_.memoizedState;K===null?$===null?_.stateNode===null?_.stateNode=$R(O,_.type,_.memoizedProps,_):g7(O,_.type,_.stateNode):_.stateNode=q7(O,$,_.memoizedProps):U!==$?(U===null?K.stateNode!==null&&_7(K.stateNode):E7(U),$===null?g7(O,_.type,_.stateNode):q7(O,$,_.memoizedProps)):$===null&&_.stateNode!==null&&cU(_,_.memoizedProps,K.memoizedProps)}break}case 27:if(Pq){eq(F,_),F6(_),U&512&&(Bq||K===null||_E(K,K.return)),K!==null&&U&4&&cU(_,_.memoizedProps,K.memoizedProps);break}case 5:if(eq(F,_),F6(_),U&512&&(Bq||K===null||_E(K,K.return)),A6){if(_.flags&32){O=_.stateNode;try{pH(O)}catch(f){CA(_,_.return,f)}}U&4&&_.stateNode!=null&&(O=_.memoizedProps,cU(_,O,K!==null?K.memoizedProps:O)),U&1024&&(zG=!0)}else jE&&_.alternate!==null&&(_.alternate.stateNode=_.stateNode);break;case 6:if(eq(F,_),F6(_),U&4&&A6){if(_.stateNode===null)throw Error(g(162));U=_.memoizedProps,K=K!==null?K.memoizedProps:U,O=_.stateNode;try{RV(O,K,U)}catch(f){CA(_,_.return,f)}}break;case 3:if(n6?(TR(),O=o6,o6=QG(F.containerInfo),eq(F,_),o6=O):eq(F,_),F6(_),U&4){if(A6&&q6&&K!==null&&K.memoizedState.isDehydrated)try{jR(F.containerInfo)}catch(f){CA(_,_.return,f)}if(jE){U=F.containerInfo,K=F.pendingChildren;try{sH(U,K)}catch(f){CA(_,_.return,f)}}}zG&&(zG=!1,_H(_));break;case 4:n6?(K=o6,o6=QG(_.stateNode.containerInfo),eq(F,_),F6(_),o6=K):(eq(F,_),F6(_)),U&4&&jE&&o$(_.stateNode,_,_.stateNode.pendingChildren);break;case 12:eq(F,_),F6(_);break;case 31:eq(F,_),F6(_),U&4&&(U=_.updateQueue,U!==null&&(_.updateQueue=null,Ca(_,U)));break;case 13:eq(F,_),F6(_),_.child.flags&8192&&_.memoizedState!==null!==(K!==null&&K.memoizedState!==null)&&(FK=Q6()),U&4&&(U=_.updateQueue,U!==null&&(_.updateQueue=null,Ca(_,U)));break;case 22:O=_.memoizedState!==null;var L=K!==null&&K.memoizedState!==null,R=PE,z=Bq;if(PE=R||O,Bq=z||L,eq(F,_),Bq=z,PE=R,F6(_),U&8192&&(F=_.stateNode,F._visibility=O?F._visibility&-2:F._visibility|1,O&&(K===null||L||PE||Bq||tg(_)),A6)){A:if(K=null,A6)for(F=_;;){if(F.tag===5||n6&&F.tag===26){if(K===null){L=K=F;try{$=L.stateNode,O?PV($):CV(L.stateNode,L.memoizedProps)}catch(f){CA(L,L.return,f)}}}else if(F.tag===6){if(K===null){L=F;try{var w=L.stateNode;O?zV(w):DV(w,L.memoizedProps)}catch(f){CA(L,L.return,f)}}}else if(F.tag===18){if(K===null){L=F;try{var s=L.stateNode;O?MR(s):OR(L.stateNode)}catch(f){CA(L,L.return,f)}}}else if((F.tag!==22&&F.tag!==23||F.memoizedState===null||F===_)&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===_)break A;for(;F.sibling===null;){if(F.return===null||F.return===_)break A;K===F&&(K=null),F=F.return}K===F&&(K=null),F.sibling.return=F.return,F=F.sibling}}U&4&&(U=_.updateQueue,U!==null&&(K=U.retryQueue,K!==null&&(U.retryQueue=null,Ca(_,K))));break;case 19:eq(F,_),F6(_),U&4&&(U=_.updateQueue,U!==null&&(_.updateQueue=null,Ca(_,U)));break;case 30:break;case 21:break;default:eq(F,_),F6(_)}}function F6(_){var F=_.flags;if(F&2){try{for(var K,U=_.return;U!==null;){if(n$(U)){K=U;break}U=U.return}if(A6){if(K==null)throw Error(g(160));switch(K.tag){case 27:if(Pq){var O=K.stateNode,$=fU(_);za(_,$,O);break}case 5:var L=K.stateNode;K.flags&32&&(pH(L),K.flags&=-33);var R=fU(_);za(_,R,L);break;case 3:case 4:var z=K.stateNode.containerInfo,w=fU(_);lU(_,w,z);break;default:throw Error(g(161))}}}catch(s){CA(_,_.return,s)}_.flags&=-3}F&4096&&(_.flags&=-4097)}function _H(_){if(_.subtreeFlags&1024)for(_=_.child;_!==null;){var F=_;_H(F),F.tag===5&&F.flags&1024&&OV(F.stateNode),_=_.sibling}}function RE(_,F){if(F.subtreeFlags&8772)for(F=F.child;F!==null;)e$(_,F.alternate,F),F=F.sibling}function tg(_){for(_=_.child;_!==null;){var F=_;switch(F.tag){case 0:case 11:case 14:case 15:gg(4,F,F.return),tg(F);break;case 1:_E(F,F.return);var K=F.stateNode;typeof K.componentWillUnmount==="function"&&s$(F,F.return,K),tg(F);break;case 27:Pq&&a7(F.stateNode);case 26:case 5:_E(F,F.return),tg(F);break;case 22:F.memoizedState===null&&tg(F);break;case 30:tg(F);break;default:tg(F)}_=_.sibling}}function IE(_,F,K){K=K&&(F.subtreeFlags&8772)!==0;for(F=F.child;F!==null;){var U=F.alternate,O=_,$=F,L=$.flags;switch($.tag){case 0:case 11:case 15:IE(O,$,K),nj(4,$);break;case 1:if(IE(O,$,K),U=$,O=U.stateNode,typeof O.componentDidMount==="function")try{O.componentDidMount()}catch(w){CA(U,U.return,w)}if(U=$,O=U.updateQueue,O!==null){var R=U.stateNode;try{var z=O.shared.hiddenCallbacks;if(z!==null)for(O.shared.hiddenCallbacks=null,O=0;O<z.length;O++)bQ(z[O],R)}catch(w){CA(U,U.return,w)}}K&&L&64&&t$($),oj($,$.return);break;case 27:Pq&&r$($);case 26:case 5:IE(O,$,K),K&&U===null&&L&4&&i$($),oj($,$.return);break;case 12:IE(O,$,K);break;case 31:IE(O,$,K),K&&L&4&&qH(O,$);break;case 13:IE(O,$,K),K&&L&4&&EH(O,$);break;case 22:$.memoizedState===null&&IE(O,$,K),oj($,$.return);break;case 30:break;default:IE(O,$,K)}F=F.sibling}}function pU(_,F){var K=null;_!==null&&_.memoizedState!==null&&_.memoizedState.cachePool!==null&&(K=_.memoizedState.cachePool.pool),_=null,F.memoizedState!==null&&F.memoizedState.cachePool!==null&&(_=F.memoizedState.cachePool.pool),_!==K&&(_!=null&&_.refCount++,K!=null&&O6(K))}function dU(_,F){_=null,F.alternate!==null&&(_=F.alternate.memoizedState.cache),F=F.memoizedState.cache,F!==_&&(F.refCount++,_!=null&&O6(_))}function i6(_,F,K,U){if(F.subtreeFlags&10256)for(F=F.child;F!==null;)jH(_,F,K,U),F=F.sibling}function jH(_,F,K,U){var O=F.flags;switch(F.tag){case 0:case 11:case 15:i6(_,F,K,U),O&2048&&nj(9,F);break;case 1:i6(_,F,K,U);break;case 3:i6(_,F,K,U),O&2048&&(_=null,F.alternate!==null&&(_=F.alternate.memoizedState.cache),F=F.memoizedState.cache,F!==_&&(F.refCount++,_!=null&&O6(_)));break;case 12:if(O&2048){i6(_,F,K,U),_=F.stateNode;try{var $=F.memoizedProps,L=$.id,R=$.onPostCommit;typeof R==="function"&&R(L,F.alternate===null?"mount":"update",_.passiveEffectDuration,-0)}catch(z){CA(F,F.return,z)}}else i6(_,F,K,U);break;case 31:i6(_,F,K,U);break;case 13:i6(_,F,K,U);break;case 23:break;case 22:$=F.stateNode,L=F.alternate,F.memoizedState!==null?$._visibility&2?i6(_,F,K,U):rj(_,F):$._visibility&2?i6(_,F,K,U):($._visibility|=2,C_(_,F,K,U,(F.subtreeFlags&10256)!==0||!1)),O&2048&&pU(L,F);break;case 24:i6(_,F,K,U),O&2048&&dU(F.alternate,F);break;default:i6(_,F,K,U)}}function C_(_,F,K,U,O){O=O&&((F.subtreeFlags&10256)!==0||!1);for(F=F.child;F!==null;){var $=_,L=F,R=K,z=U,w=L.flags;switch(L.tag){case 0:case 11:case 15:C_($,L,R,z,O),nj(8,L);break;case 23:break;case 22:var s=L.stateNode;L.memoizedState!==null?s._visibility&2?C_($,L,R,z,O):rj($,L):(s._visibility|=2,C_($,L,R,z,O)),O&&w&2048&&pU(L.alternate,L);break;case 24:C_($,L,R,z,O),O&&w&2048&&dU(L.alternate,L);break;default:C_($,L,R,z,O)}F=F.sibling}}function rj(_,F){if(F.subtreeFlags&10256)for(F=F.child;F!==null;){var K=_,U=F,O=U.flags;switch(U.tag){case 22:rj(K,U),O&2048&&pU(U.alternate,U);break;case 24:rj(K,U),O&2048&&dU(U.alternate,U);break;default:rj(K,U)}F=F.sibling}}function sg(_,F,K){if(_.subtreeFlags&e_)for(_=_.child;_!==null;)FH(_,F,K),_=_.sibling}function FH(_,F,K){switch(_.tag){case 26:if(sg(_,F,K),_.flags&e_)if(_.memoizedState!==null)XR(K,o6,_.memoizedState,_.memoizedProps);else{var{stateNode:U,type:O}=_;_=_.memoizedProps,((F&335544128)===F||MG(O,_))&&uH(K,U,O,_)}break;case 5:sg(_,F,K),_.flags&e_&&(U=_.stateNode,O=_.type,_=_.memoizedProps,((F&335544128)===F||MG(O,_))&&uH(K,U,O,_));break;case 3:case 4:n6?(U=o6,o6=QG(_.stateNode.containerInfo),sg(_,F,K),o6=U):sg(_,F,K);break;case 22:_.memoizedState===null&&(U=_.alternate,U!==null&&U.memoizedState!==null?(U=e_,e_=16777216,sg(_,F,K),e_=U):sg(_,F,K));break;default:sg(_,F,K)}}function aH(_){var F=_.alternate;if(F!==null&&(_=F.child,_!==null)){F.child=null;do F=_.sibling,_.sibling=null,_=F;while(_!==null)}}function ej(_){var F=_.deletions;if((_.flags&16)!==0){if(F!==null)for(var K=0;K<F.length;K++){var U=F[K];bq=U,ZH(U,_)}aH(_)}if(_.subtreeFlags&10256)for(_=_.child;_!==null;)KH(_),_=_.sibling}function KH(_){switch(_.tag){case 0:case 11:case 15:ej(_),_.flags&2048&&gg(9,_,_.return);break;case 3:ej(_);break;case 12:ej(_);break;case 22:var F=_.stateNode;_.memoizedState!==null&&F._visibility&2&&(_.return===null||_.return.tag!==13)?(F._visibility&=-3,Da(_)):ej(_);break;default:ej(_)}}function Da(_){var F=_.deletions;if((_.flags&16)!==0){if(F!==null)for(var K=0;K<F.length;K++){var U=F[K];bq=U,ZH(U,_)}aH(_)}for(_=_.child;_!==null;){switch(F=_,F.tag){case 0:case 11:case 15:gg(8,F,F.return),Da(F);break;case 22:K=F.stateNode,K._visibility&2&&(K._visibility&=-3,Da(F));break;default:Da(F)}_=_.sibling}}function ZH(_,F){for(;bq!==null;){var K=bq;switch(K.tag){case 0:case 11:case 15:gg(8,K,F);break;case 23:case 22:if(K.memoizedState!==null&&K.memoizedState.cachePool!==null){var U=K.memoizedState.cachePool.pool;U!=null&&U.refCount++}break;case 24:O6(K.memoizedState.cache)}if(U=K.child,U!==null)U.return=K,bq=U;else A:for(K=_;bq!==null;){U=bq;var{sibling:O,return:$}=U;if(AH(U),U===K){bq=null;break A}if(O!==null){O.return=$,bq=O;break A}bq=$}}}function tU(_){var F=_V(_);if(F!=null){if(typeof F.memoizedProps["data-testname"]!=="string")throw Error(g(364));return F}if(_=$V(_),_===null)throw Error(g(362));return _.stateNode.current}function sU(_,F){var K=_.tag;switch(F.$$typeof){case qK:if(_.type===F.value)return!0;break;case EK:A:{F=F.value,_=[_,0];for(K=0;K<_.length;){var U=_[K++],O=U.tag,$=_[K++],L=F[$];if(O!==5&&O!==26&&O!==27||!gF(U)){for(;L!=null&&sU(U,L);)$++,L=F[$];if($===F.length){F=!0;break A}else for(U=U.child;U!==null;)_.push(U,$),U=U.sibling}}F=!1}return F;case gK:if((K===5||K===26||K===27)&&JV(_.stateNode,F.value))return!0;break;case jK:if(K===5||K===6||K===26||K===27){if(_=TV(_),_!==null&&0<=_.indexOf(F.value))return!0}break;case _K:if(K===5||K===26||K===27){if(_=_.memoizedProps["data-testname"],typeof _==="string"&&_.toLowerCase()===F.value.toLowerCase())return!0}break;default:throw Error(g(365))}return!1}function iU(_){switch(_.$$typeof){case qK:return"<"+(Q(_.value)||"Unknown")+">";case EK:return":has("+(iU(_)||"")+")";case gK:return'[role="'+_.value+'"]';case jK:return'"'+_.value+'"';case _K:return'[data-testname="'+_.value+'"]';default:throw Error(g(365))}}function UH(_,F){var K=[];_=[_,0];for(var U=0;U<_.length;){var O=_[U++],$=O.tag,L=_[U++],R=F[L];if($!==5&&$!==26&&$!==27||!gF(O)){for(;R!=null&&sU(O,R);)L++,R=F[L];if(L===F.length)K.push(O);else for(O=O.child;O!==null;)_.push(O,L),O=O.sibling}}return K}function nU(_,F){if(!EF)throw Error(g(363));_=tU(_),_=UH(_,F),F=[],_=Array.from(_);for(var K=0;K<_.length;){var U=_[K++],O=U.tag;if(O===5||O===26||O===27)gF(U)||F.push(U.stateNode);else for(U=U.child;U!==null;)_.push(U),U=U.sibling}return F}function N6(){return(RA&2)!==0&&hA!==0?hA&-hA:KA.T!==null?jU():FV()}function GH(){if(W6===0)if((hA&536870912)===0||WA){var _=fa;fa<<=1,(fa&3932160)===0&&(fa=262144),W6=_}else W6=536870912;return _=h6.current,_!==null&&(_.flags|=32),W6}function Y6(_,F,K){if(_===oA&&(fA===2||fA===9)||_.cancelPendingCommit!==null)D_(_,0),_g(_,hA,W6,!1);if(D(_,K),(RA&2)===0||_!==oA)_===oA&&((RA&2)===0&&(__|=K),Qq===4&&_g(_,hA,W6,!1)),gE(_)}function MH(_,F,K){if((RA&6)!==0)throw Error(g(327));var U=!K&&(F&127)===0&&(F&_.expiredLanes)===0||I(_,F),O=U?vN(_,F):rU(_,F,!0),$=U;do{if(O===0){Aj&&!U&&_g(_,F,0,!1);break}else{if(K=_.current.alternate,$&&!mN(K)){O=rU(_,F,!1),$=!1;continue}if(O===2){if($=F,_.errorRecoveryDisabledLanes&$)var L=0;else L=_.pendingLanes&-536870913,L=L!==0?L:L&536870912?536870912:0;if(L!==0){F=L;A:{var R=_;O=MF;var z=q6&&R.current.memoizedState.isDehydrated;if(z&&(D_(R,L).flags|=256),L=rU(R,L,!1),L!==2){if(CG&&!z){R.errorRecoveryDisabledLanes|=$,__|=$,O=4;break A}$=H6,H6=O,$!==null&&(H6===null?H6=$:H6.push.apply(H6,$))}O=L}if($=!1,O!==2)continue}}if(O===1){D_(_,0),_g(_,F,0,!0);break}A:{switch(U=_,$=O,$){case 0:case 1:throw Error(g(345));case 4:if((F&4194048)!==F)break;case 6:_g(U,F,W6,!Gg);break A;case 2:H6=null;break;case 3:case 5:break;default:throw Error(g(329))}if((F&62914560)===F&&(O=FK+300-Q6(),10<O)){if(_g(U,F,W6,!Gg),V(U,0,!0)!==0)break A;CE=F,U.timeoutHandle=EV(OH.bind(null,U,K,H6,aK,yG,F,W6,__,qj,Gg,$,"Throttled",-0,0),O);break A}OH(U,K,H6,aK,yG,F,W6,__,qj,Gg,$,null,-0,0)}}break}while(1);gE(_)}function OH(_,F,K,U,O,$,L,R,z,w,s,f,qA,TA){if(_.timeoutHandle=ng,f=F.subtreeFlags,f&8192||(f&16785408)===16785408){f=GV(),FH(F,$,f);var tq=($&62914560)===$?FK-Q6():($&4194048)===$?T7-Q6():0;if(tq=MV(f,tq),tq!==null){CE=$,_.cancelPendingCommit=tq(NH.bind(null,_,F,$,K,U,O,L,R,z,s,f,null,qA,TA)),_g(_,$,L,!w);return}}NH(_,F,$,K,U,O,L,R,z)}function mN(_){for(var F=_;;){var K=F.tag;if((K===0||K===11||K===15)&&F.flags&16384&&(K=F.updateQueue,K!==null&&(K=K.stores,K!==null)))for(var U=0;U<K.length;U++){var O=K[U],$=O.getSnapshot;O=O.value;try{if(!I6($(),O))return!1}catch(L){return!1}}if(K=F.child,F.subtreeFlags&16384&&K!==null)K.return=F,F=K;else{if(F===_)break;for(;F.sibling===null;){if(F.return===null||F.return===_)return!0;F=F.return}F.sibling.return=F.return,F=F.sibling}}return!0}function _g(_,F,K,U){F&=~DG,F&=~__,_.suspendedLanes|=F,_.pingedLanes&=~F,U&&(_.warmLanes|=F),U=_.expirationTimes;for(var O=F;0<O;){var $=31-V6(O),L=1<<$;U[$]=-1,O&=~L}K!==0&&k(_,K,F)}function YH(){return(RA&6)===0?(P_(0,!1),!1):!0}function oU(){if(IA!==null){if(fA===0)var _=IA.return;else _=IA,BE=rg=null,TU(_),s_=null,KF=0,_=IA;for(;_!==null;)d$(_.alternate,_),_=_.return;IA=null}}function D_(_,F){var K=_.timeoutHandle;K!==ng&&(_.timeoutHandle=ng,gV(K)),K=_.cancelPendingCommit,K!==null&&(_.cancelPendingCommit=null,K()),CE=0,oU(),oA=_,IA=K=hE(_.current,null),hA=F,fA=0,S6=null,Gg=!1,Aj=I(_,F),CG=!1,qj=W6=DG=__=Mg=Qq=0,H6=MF=null,yG=!1,(F&8)!==0&&(F|=F&32);var U=_.entangledLanes;if(U!==0)for(_=_.entanglements,U&=F;0<U;){var O=31-V6(U),$=1<<O;F|=_[O],U&=~$}return zE=F,$a(),K}function QH(_,F){JA=null,KA.H=UF,F===t_||F===na?(F=yQ(),fA=3):F===IG?(F=yQ(),fA=4):fA=F===xG?8:F!==null&&typeof F==="object"&&typeof F.then==="function"?6:1,S6=F,IA===null&&(Qq=1,ha(_,i(F,_.current)))}function $H(){var _=h6.current;return _===null?!0:(hA&4194048)===hA?b6===null?!0:!1:(hA&62914560)===hA||(hA&536870912)!==0?_===b6:!1}function HH(){var _=KA.H;return KA.H=UF,_===null?UF:_}function TH(){var _=KA.A;return KA.A=yR,_}function ya(){Qq=4,Gg||(hA&4194048)!==hA&&h6.current!==null||(Aj=!0),(Mg&134217727)===0&&(__&134217727)===0||oA===null||_g(oA,hA,W6,!1)}function rU(_,F,K){var U=RA;RA|=2;var O=HH(),$=TH();if(oA!==_||hA!==F)aK=null,D_(_,F);F=!1;var L=Qq;A:do try{if(fA!==0&&IA!==null){var R=IA,z=S6;switch(fA){case 8:oU(),L=6;break A;case 3:case 2:case 9:case 6:h6.current===null&&(F=!0);var w=fA;if(fA=0,S6=null,y_(_,R,z,w),K&&Aj){L=0;break A}break;default:w=fA,fA=0,S6=null,y_(_,R,z,w)}}wN(),L=Qq;break}catch(s){QH(_,s)}while(1);return F&&_.shellSuspendCounter++,BE=rg=null,RA=U,KA.H=O,KA.A=$,IA===null&&(oA=null,hA=0,$a()),L}function wN(){for(;IA!==null;)JH(IA)}function vN(_,F){var K=RA;RA|=2;var U=HH(),O=TH();oA!==_||hA!==F?(aK=null,OF=Q6()+500,D_(_,F)):Aj=I(_,F);A:do try{if(fA!==0&&IA!==null){F=IA;var $=S6;q:switch(fA){case 1:fA=0,S6=null,y_(_,F,$,1);break;case 2:case 9:if(CQ($)){fA=0,S6=null,XH(F);break}F=function(){fA!==2&&fA!==9||oA!==_||(fA=7),gE(_)},$.then(F,F);break A;case 3:fA=7;break A;case 4:fA=5;break A;case 7:CQ($)?(fA=0,S6=null,XH(F)):(fA=0,S6=null,y_(_,F,$,7));break;case 5:var L=null;switch(IA.tag){case 26:L=IA.memoizedState;case 5:case 27:var R=IA,z=R.type,w=R.pendingProps;if(L?j7(L):lH(R.stateNode,z,w)){fA=0,S6=null;var s=R.sibling;if(s!==null)IA=s;else{var f=R.return;f!==null?(IA=f,ma(f)):IA=null}break q}}fA=0,S6=null,y_(_,F,$,5);break;case 6:fA=0,S6=null,y_(_,F,$,6);break;case 8:oU(),Qq=6;break A;default:throw Error(g(462))}}bN();break}catch(qA){QH(_,qA)}while(1);if(BE=rg=null,KA.H=U,KA.A=O,RA=K,IA!==null)return 0;return oA=null,hA=0,$a(),Qq}function bN(){for(;IA!==null&&!RR();)JH(IA)}function JH(_){var F=c$(_.alternate,_,zE);_.memoizedProps=_.pendingProps,F===null?ma(_):IA=F}function XH(_){var F=_,K=F.alternate;switch(F.tag){case 15:case 0:F=y$(K,F,F.pendingProps,F.type,void 0,hA);break;case 11:F=y$(K,F,F.pendingProps,F.type.render,F.ref,hA);break;case 5:TU(F);default:d$(K,F),F=IA=xH(F,zE),F=c$(K,F,zE)}_.memoizedProps=_.pendingProps,F===null?ma(_):IA=F}function y_(_,F,K,U){BE=rg=null,TU(F),s_=null,KF=0;var O=F.return;try{if(BN(_,O,F,K,hA)){Qq=1,ha(_,i(K,_.current)),IA=null;return}}catch($){if(O!==null)throw IA=O,$;Qq=1,ha(_,i(K,_.current)),IA=null;return}if(F.flags&32768){if(WA||U===1)_=!0;else if(Aj||(hA&536870912)!==0)_=!1;else if(Gg=_=!0,U===2||U===9||U===3||U===6)U=h6.current,U!==null&&U.tag===13&&(U.flags|=16384);LH(F,_)}else ma(F)}function ma(_){var F=_;do{if((F.flags&32768)!==0){LH(F,Gg);return}_=F.return;var K=zN(F.alternate,F,zE);if(K!==null){IA=K;return}if(F=F.sibling,F!==null){IA=F;return}IA=F=_}while(F!==null);Qq===0&&(Qq=5)}function LH(_,F){do{var K=CN(_.alternate,_);if(K!==null){K.flags&=32767,IA=K;return}if(K=_.return,K!==null&&(K.flags|=32768,K.subtreeFlags=0,K.deletions=null),!F&&(_=_.sibling,_!==null)){IA=_;return}IA=_=K}while(_!==null);Qq=6,IA=null}function NH(_,F,K,U,O,$,L,R,z){_.cancelPendingCommit=null;do AF();while(zq!==0);if((RA&6)!==0)throw Error(g(327));if(F!==null){if(F===_.current)throw Error(g(177));if($=F.lanes|F.childLanes,$|=hG,v(_,K,$,L,R,z),_===oA&&(IA=oA=null,hA=0),Ej=F,Yg=_,CE=K,mG=$,wG=O,J7=U,(F.subtreeFlags&10256)!==0||(F.flags&10256)!==0?(_.callbackNode=null,_.callbackPriority=0,lN(TG,function(){return SH(),null})):(_.callbackNode=null,_.callbackPriority=0),U=(F.flags&13878)!==0,(F.subtreeFlags&13878)!==0||U){U=KA.T,KA.T=null,O=WE(),vq(2),L=RA,RA|=4;try{DN(_,F,K)}finally{RA=L,vq(O),KA.T=U}}zq=1,VH(),RH(),IH()}}function VH(){if(zq===1){zq=0;var _=Yg,F=Ej,K=(F.flags&13878)!==0;if((F.subtreeFlags&13878)!==0||K){K=KA.T,KA.T=null;var U=WE();vq(2);var O=RA;RA|=4;try{gH(F,_),AV(_.containerInfo)}finally{RA=O,vq(U),KA.T=K}}_.current=F,zq=2}}function RH(){if(zq===2){zq=0;var _=Yg,F=Ej,K=(F.flags&8772)!==0;if((F.subtreeFlags&8772)!==0||K){K=KA.T,KA.T=null;var U=WE();vq(2);var O=RA;RA|=4;try{e$(_,F.alternate,F)}finally{RA=O,vq(U),KA.T=K}}zq=3}}function IH(){if(zq===4||zq===3){zq=0,IR();var _=Yg,F=Ej,K=CE,U=J7;(F.subtreeFlags&10256)!==0||(F.flags&10256)!==0?zq=5:(zq=0,Ej=Yg=null,hH(_,_.pendingLanes));var O=_.pendingLanes;if(O===0&&(Og=null),QA(K),F=F.stateNode,R6&&typeof R6.onCommitFiberRoot==="function")try{R6.onCommitFiberRoot(_F,F,void 0,(F.current.flags&128)===128)}catch(z){}if(U!==null){F=KA.T,O=WE(),vq(2),KA.T=null;try{for(var $=_.onRecoverableError,L=0;L<U.length;L++){var R=U[L];$(R.value,{componentStack:R.stack})}}finally{KA.T=F,vq(O)}}(CE&3)!==0&&AF(),gE(_),O=_.pendingLanes,(K&261930)!==0&&(O&42)!==0?_===vG?YF++:(YF=0,vG=_):YF=0,q6&&ZR(),P_(0,!1)}}function hH(_,F){(_.pooledCacheLanes&=F)===0&&(F=_.pooledCache,F!=null&&(_.pooledCache=null,O6(F)))}function AF(){return VH(),RH(),IH(),SH()}function SH(){if(zq!==5)return!1;var _=Yg,F=mG;mG=0;var K=QA(CE),U=32>K?32:K;K=KA.T;var O=WE();try{vq(U),KA.T=null,U=wG,wG=null;var $=Yg,L=CE;if(zq=0,Ej=Yg=null,CE=0,(RA&6)!==0)throw Error(g(331));var R=RA;if(RA|=4,KH($.current),jH($,$.current,L,U),RA=R,P_(0,!1),R6&&typeof R6.onPostCommitFiberRoot==="function")try{R6.onPostCommitFiberRoot(_F,$)}catch(z){}return!0}finally{vq(O),KA.T=K,hH(_,F)}}function WH(_,F,K){F=i(K,F),F=xU(_.stateNode,F,2),_=Ag(_,F,2),_!==null&&(D(_,2),gE(_))}function CA(_,F,K){if(_.tag===3)WH(_,_,K);else for(;F!==null;){if(F.tag===3){WH(F,_,K);break}else if(F.tag===1){var U=F.stateNode;if(typeof F.type.getDerivedStateFromError==="function"||typeof U.componentDidCatch==="function"&&(Og===null||!Og.has(U))){_=i(K,_),K=S$(2),U=Ag(F,K,2),U!==null&&(W$(K,U,F,_),D(U,2),gE(U));break}}F=F.return}}function eU(_,F,K){var U=_.pingCache;if(U===null){U=_.pingCache=new mR;var O=new Set;U.set(F,O)}else O=U.get(F),O===void 0&&(O=new Set,U.set(F,O));O.has(K)||(CG=!0,O.add(K),_=kN.bind(null,_,F,K),F.then(_,_))}function kN(_,F,K){var U=_.pingCache;U!==null&&U.delete(F),_.pingedLanes|=_.suspendedLanes&K,_.warmLanes&=~K,oA===_&&(hA&K)===K&&(Qq===4||Qq===3&&(hA&62914560)===hA&&300>Q6()-FK?(RA&2)===0&&D_(_,0):DG|=K,qj===hA&&(qj=0)),gE(_)}function BH(_,F){F===0&&(F=C()),_=pg(_,F),_!==null&&(D(_,F),gE(_))}function cN(_){var F=_.memoizedState,K=0;F!==null&&(K=F.retryLane),BH(_,K)}function fN(_,F){var K=0;switch(_.tag){case 31:case 13:var{stateNode:U,memoizedState:O}=_;O!==null&&(K=O.retryLane);break;case 19:U=_.stateNode;break;case 22:U=_.stateNode._retryCache;break;default:throw Error(g(314))}U!==null&&U.delete(F),BH(_,K)}function lN(_,F){return ua(_,F)}function uN(_,F,K,U){this.tag=_,this.key=K,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=F,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=U,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function AG(_){return _=_.prototype,!(!_||!_.isReactComponent)}function hE(_,F){var K=_.alternate;return K===null?(K=q(_.tag,F,_.key,_.mode),K.elementType=_.elementType,K.type=_.type,K.stateNode=_.stateNode,K.alternate=_,_.alternate=K):(K.pendingProps=F,K.type=_.type,K.flags=0,K.subtreeFlags=0,K.deletions=null),K.flags=_.flags&65011712,K.childLanes=_.childLanes,K.lanes=_.lanes,K.child=_.child,K.memoizedProps=_.memoizedProps,K.memoizedState=_.memoizedState,K.updateQueue=_.updateQueue,F=_.dependencies,K.dependencies=F===null?null:{lanes:F.lanes,firstContext:F.firstContext},K.sibling=_.sibling,K.index=_.index,K.ref=_.ref,K.refCleanup=_.refCleanup,K}function xH(_,F){_.flags&=65011714;var K=_.alternate;return K===null?(_.childLanes=0,_.lanes=F,_.child=null,_.subtreeFlags=0,_.memoizedProps=null,_.memoizedState=null,_.updateQueue=null,_.dependencies=null,_.stateNode=null):(_.childLanes=K.childLanes,_.lanes=K.lanes,_.child=K.child,_.subtreeFlags=0,_.deletions=null,_.memoizedProps=K.memoizedProps,_.memoizedState=K.memoizedState,_.updateQueue=K.updateQueue,_.type=K.type,F=K.dependencies,_.dependencies=F===null?null:{lanes:F.lanes,firstContext:F.firstContext}),_}function wa(_,F,K,U,O,$){var L=0;if(U=_,typeof _==="function")AG(_)&&(L=1);else if(typeof _==="string")L=n6&&Pq?eH(_,K,pq.current)?26:K7(_)?27:5:n6?eH(_,K,pq.current)?26:5:Pq?K7(_)?27:5:5;else A:switch(_){case UG:return _=q(31,K,F,O),_.elementType=UG,_.lanes=$,_;case w_:return ig(K.children,O,$,F);case wH:L=8,O|=24;break;case jG:return _=q(12,K,F,O|2),_.elementType=jG,_.lanes=$,_;case aG:return _=q(13,K,F,O),_.elementType=aG,_.lanes=$,_;case KG:return _=q(19,K,F,O),_.elementType=KG,_.lanes=$,_;default:if(typeof _==="object"&&_!==null)switch(_.$$typeof){case jg:L=10;break A;case vH:L=9;break A;case FG:L=11;break A;case ZG:L=14;break A;case Fg:L=16,U=null;break A}L=29,K=Error(g(130,_===null?"null":typeof _,"")),U=null}return F=q(L,K,F,O),F.elementType=_,F.type=U,F.lanes=$,F}function ig(_,F,K,U){return _=q(7,_,U,F),_.lanes=K,_}function qG(_,F,K){return _=q(6,_,null,F),_.lanes=K,_}function PH(_){var F=q(18,null,null,0);return F.stateNode=_,F}function EG(_,F,K){return F=q(4,_.children!==null?_.children:[],_.key,F),F.lanes=K,F.stateNode={containerInfo:_.containerInfo,pendingChildren:null,implementation:_.implementation},F}function pN(_,F,K,U,O,$,L,R,z){this.tag=1,this.containerInfo=_,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ng,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=c(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=c(0),this.hiddenUpdates=c(null),this.identifierPrefix=U,this.onUncaughtError=O,this.onCaughtError=$,this.onRecoverableError=L,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=z,this.incompleteTransitions=new Map}function zH(_,F,K,U,O,$,L,R,z,w,s,f){return _=new pN(_,F,K,L,z,w,s,f,R),F=1,$===!0&&(F|=24),$=q(3,null,null,F),_.current=$,$.stateNode=_,F=wq(),F.refCount++,_.pooledCache=F,F.refCount++,$.memoizedState={element:U,isDehydrated:K,cache:F},KU($),_}function CH(_){if(!_)return c_;return _=c_,_}function DH(_){var F=_._reactInternals;if(F===void 0){if(typeof _.render==="function")throw Error(g(188));throw _=Object.keys(_).join(","),Error(g(268,_))}return _=Z(F),_=_!==null?G(_):null,_===null?null:qF(_.stateNode)}function yH(_,F,K,U,O,$){O=CH(O),U.context===null?U.context=O:U.pendingContext=O,U=eE(F),U.payload={element:K},$=$===void 0?null:$,$!==null&&(U.callback=$),K=Ag(_,U,F),K!==null&&(Y6(K,_,F),lj(K,_,F))}function mH(_,F){if(_=_.memoizedState,_!==null&&_.dehydrated!==null){var K=_.retryLane;_.retryLane=K!==0&&K<F?K:F}}function gG(_,F){mH(_,F),(_=_.alternate)&&mH(_,F)}var VA={},_G=Object.assign,dN=Symbol.for("react.element"),va=Symbol.for("react.transitional.element"),m_=Symbol.for("react.portal"),w_=Symbol.for("react.fragment"),wH=Symbol.for("react.strict_mode"),jG=Symbol.for("react.profiler"),vH=Symbol.for("react.consumer"),jg=Symbol.for("react.context"),FG=Symbol.for("react.forward_ref"),aG=Symbol.for("react.suspense"),KG=Symbol.for("react.suspense_list"),ZG=Symbol.for("react.memo"),Fg=Symbol.for("react.lazy"),UG=Symbol.for("react.activity"),tN=Symbol.for("react.memo_cache_sentinel"),bH=Symbol.iterator,sN=Symbol.for("react.client.reference"),ba=Array.isArray,KA=AQ.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,iN=A.rendererVersion,nN=A.rendererPackageName,kH=A.extraDevToolsConfig,qF=A.getPublicInstance,oN=A.getRootHostContext,rN=A.getChildHostContext,eN=A.prepareForCommit,AV=A.resetAfterCommit,qV=A.createInstance;A.cloneMutableInstance;var{appendInitialChild:GG,finalizeInitialChildren:cH,shouldSetTextContent:ka,createTextInstance:fH}=A;A.cloneMutableTextInstance;var{scheduleTimeout:EV,cancelTimeout:gV,noTimeout:ng,isPrimaryRenderer:SE}=A;A.warnsIfNotActing;var{supportsMutation:A6,supportsPersistence:jE,supportsHydration:q6,getInstanceFromNode:_V}=A;A.beforeActiveInstanceBlur;var jV=A.preparePortalMount;A.prepareScopeUpdate,A.getInstanceFromScope;var{setCurrentUpdatePriority:vq,getCurrentUpdatePriority:WE,resolveUpdatePriority:FV}=A;A.trackSchedulerEvent,A.resolveEventType,A.resolveEventTimeStamp;var{shouldAttemptEagerTransition:aV,detachDeletedInstance:KV}=A;A.requestPostPaintCallback;var{maySuspendCommit:ZV,maySuspendCommitOnUpdate:UV,maySuspendCommitInSyncRender:MG,preloadInstance:lH,startSuspendingCommit:GV,suspendInstance:uH}=A;A.suspendOnActiveViewTransition;var MV=A.waitForCommitToBeReady;A.getSuspendedCommitReason;var{NotPendingTransition:v_,HostTransitionContext:og,resetFormInstance:OV}=A;A.bindToConsole;var{supportsMicrotasks:YV,scheduleMicrotask:QV,supportsTestSelectors:EF,findFiberRoot:$V,getBoundingRect:HV,getTextContent:TV,isHiddenSubtree:gF,matchAccessibilityRole:JV,setFocusIfFocusable:XV,setupIntersectionObserver:LV,appendChild:NV,appendChildToContainer:VV,commitTextUpdate:RV,commitMount:IV,commitUpdate:hV,insertBefore:SV,insertInContainerBefore:WV,removeChild:BV,removeChildFromContainer:xV,resetTextContent:pH,hideInstance:PV,hideTextInstance:zV,unhideInstance:CV,unhideTextInstance:DV}=A;A.cancelViewTransitionName,A.cancelRootViewTransitionName,A.restoreRootViewTransitionName,A.cloneRootViewTransitionContainer,A.removeRootViewTransitionClone,A.measureClonedInstance,A.hasInstanceChanged,A.hasInstanceAffectedParent,A.startViewTransition,A.startGestureTransition,A.stopViewTransition,A.getCurrentGestureOffset,A.createViewTransitionInstance;var yV=A.clearContainer;A.createFragmentInstance,A.updateFragmentInstanceFiber,A.commitNewChildToFragmentInstance,A.deleteChildFromFragmentInstance;var{cloneInstance:mV,createContainerChildSet:dH,appendChildToContainerChildSet:tH,finalizeContainerChildren:wV,replaceContainerChildren:sH,cloneHiddenInstance:iH,cloneHiddenTextInstance:nH,isSuspenseInstancePending:OG,isSuspenseInstanceFallback:YG,getSuspenseInstanceFallbackErrorDetails:vV,registerSuspenseInstanceRetry:bV,canHydrateFormStateMarker:kV,isFormStateMarkerMatching:cV,getNextHydratableSibling:oH,getNextHydratableSiblingAfterSingleton:fV,getFirstHydratableChild:lV,getFirstHydratableChildWithinContainer:uV,getFirstHydratableChildWithinActivityInstance:pV,getFirstHydratableChildWithinSuspenseInstance:dV,getFirstHydratableChildWithinSingleton:tV,canHydrateInstance:sV,canHydrateTextInstance:iV,canHydrateActivityInstance:nV,canHydrateSuspenseInstance:oV,hydrateInstance:rV,hydrateTextInstance:eV,hydrateActivityInstance:AR,hydrateSuspenseInstance:qR,getNextHydratableInstanceAfterActivityInstance:ER,getNextHydratableInstanceAfterSuspenseInstance:gR,commitHydratedInstance:_R,commitHydratedContainer:jR,commitHydratedActivityInstance:FR,commitHydratedSuspenseInstance:aR,finalizeHydratedChildren:KR,flushHydrationEvents:ZR}=A;A.clearActivityBoundary;var UR=A.clearSuspenseBoundary;A.clearActivityBoundaryFromContainer;var{clearSuspenseBoundaryFromContainer:GR,hideDehydratedBoundary:MR,unhideDehydratedBoundary:OR,shouldDeleteUnhydratedTailInstances:rH}=A;A.diffHydratedPropsForDevWarnings,A.diffHydratedTextForDevWarnings,A.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance:YR,validateHydratableTextInstance:QR,supportsResources:n6,isHostHoistableType:eH,getHoistableRoot:QG,getResource:A7,acquireResource:q7,releaseResource:E7,hydrateHoistable:$R,mountHoistable:g7,unmountHoistable:_7,createHoistableInstance:HR,prepareToCommitHoistables:TR,mayResourceSuspendCommit:JR,preloadResource:j7,suspendResource:XR,supportsSingletons:Pq,resolveSingletonInstance:F7,acquireSingletonInstance:LR,releaseSingletonInstance:a7,isHostSingletonType:K7,isSingletonScope:b_}=A,$G=[],k_=-1,c_={},V6=Math.clz32?Math.clz32:T,NR=Math.log,VR=Math.LN2,ca=256,fa=262144,la=4194304,ua=dZ,HG=oY,RR=eY,IR=rY,Q6=TE,Z7=iY,hR=nY,TG=pZ,SR=sY,WR=void 0,BR=void 0,_F=null,R6=null,I6=typeof Object.is==="function"?Object.is:jq,U7=typeof reportError==="function"?reportError:function(_){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var F=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _==="object"&&_!==null&&typeof _.message==="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(F))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",_);return}console.error(_)},xR=Object.prototype.hasOwnProperty,JG,G7,XG=!1,M7=new WeakMap,f_=[],l_=0,pa=null,jF=0,y6=[],m6=0,ag=null,FE=1,aE="",pq=H(null),FF=H(null),Kg=H(null),da=H(null),dq=null,aq=null,WA=!1,Zg=null,w6=!1,LG=Error(g(519)),ta=H(null),rg=null,BE=null,PR=typeof AbortController<"u"?AbortController:function(){var _=[],F=this.signal={aborted:!1,addEventListener:function(K,U){_.push(U)}};this.abort=function(){F.aborted=!0,_.forEach(function(K){return K()})}},zR=dZ,CR=pZ,Kq={$$typeof:jg,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},sa=null,u_=null,NG=!1,ia=!1,VG=!1,eg=0,aF=null,RG=0,p_=0,d_=null,O7=KA.S;KA.S=function(_,F){T7=Q6(),typeof F==="object"&&F!==null&&typeof F.then==="function"&&LN(_,F),O7!==null&&O7(_,F)};var A_=H(null),t_=Error(g(460)),IG=Error(g(474)),na=Error(g(542)),oa={then:function(){}},q_=null,s_=null,KF=0,E_=wQ(!0),Y7=wQ(!1),v6=[],i_=0,hG=0,Ug=!1,SG=!1,n_=H(null),ra=H(0),h6=H(null),b6=null,Xq=H(0),xE=0,JA=null,dA=null,Sq=null,ea=!1,o_=!1,g_=!1,AK=0,ZF=0,r_=null,DR=0,UF={readContext:_A,use:La,useCallback:Yq,useContext:Yq,useEffect:Yq,useImperativeHandle:Yq,useLayoutEffect:Yq,useInsertionEffect:Yq,useMemo:Yq,useReducer:Yq,useRef:Yq,useState:Yq,useDebugValue:Yq,useDeferredValue:Yq,useTransition:Yq,useSyncExternalStore:Yq,useId:Yq,useHostTransitionStatus:Yq,useFormState:Yq,useActionState:Yq,useOptimistic:Yq,useMemoCache:Yq,useCacheRefresh:Yq};UF.useEffectEvent=Yq;var Q7={readContext:_A,use:La,useCallback:function(_,F){return j6().memoizedState=[_,F===void 0?null:F],_},useContext:_A,useEffect:K$,useImperativeHandle:function(_,F,K){K=K!==null&&K!==void 0?K.concat([_]):null,Va(4194308,4,M$.bind(null,F,_),K)},useLayoutEffect:function(_,F){return Va(4194308,4,_,F)},useInsertionEffect:function(_,F){Va(4,2,_,F)},useMemo:function(_,F){var K=j6();F=F===void 0?null:F;var U=_();if(g_){GA(!0);try{_()}finally{GA(!1)}}return K.memoizedState=[U,F],U},useReducer:function(_,F,K){var U=j6();if(K!==void 0){var O=K(F);if(g_){GA(!0);try{K(F)}finally{GA(!1)}}}else O=F;return U.memoizedState=U.baseState=O,_={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_,lastRenderedState:O},U.queue=_,_=_.dispatch=WN.bind(null,JA,_),[U.memoizedState,_]},useRef:function(_){var F=j6();return _={current:_},F.memoizedState=_},useState:function(_){_=NU(_);var F=_.queue,K=L$.bind(null,JA,F);return F.dispatch=K,[_.memoizedState,K]},useDebugValue:IU,useDeferredValue:function(_,F){var K=j6();return hU(K,_,F)},useTransition:function(){var _=NU(!1);return _=H$.bind(null,JA,_.queue,!0,!1),j6().memoizedState=_,[!1,_]},useSyncExternalStore:function(_,F,K){var U=JA,O=j6();if(WA){if(K===void 0)throw Error(g(407));K=K()}else{if(K=F(),oA===null)throw Error(g(349));(hA&127)!==0||dQ(U,F,K)}O.memoizedState=K;var $={value:K,getSnapshot:F};return O.queue=$,K$(sQ.bind(null,U,$,_),[_]),U.flags|=2048,z_(9,{destroy:void 0},tQ.bind(null,U,$,K,F),null),K},useId:function(){var _=j6(),F=oA.identifierPrefix;if(WA){var K=aE,U=FE;K=(U&~(1<<32-V6(U)-1)).toString(32)+K,F="_"+F+"R_"+K,K=AK++,0<K&&(F+="H"+K.toString(32)),F+="_"}else K=DR++,F="_"+F+"r_"+K.toString(32)+"_";return _.memoizedState=F},useHostTransitionStatus:SU,useFormState:g$,useActionState:g$,useOptimistic:function(_){var F=j6();F.memoizedState=F.baseState=_;var K={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return F.queue=K,F=WU.bind(null,JA,!0,K),K.dispatch=F,[_,F]},useMemoCache:JU,useCacheRefresh:function(){return j6().memoizedState=SN.bind(null,JA)},useEffectEvent:function(_){var F=j6(),K={impl:_};return F.memoizedState=K,function(){if((RA&2)!==0)throw Error(g(440));return K.impl.apply(void 0,arguments)}}},WG={readContext:_A,use:La,useCallback:Y$,useContext:_A,useEffect:RU,useImperativeHandle:O$,useInsertionEffect:U$,useLayoutEffect:G$,useMemo:Q$,useReducer:Na,useRef:a$,useState:function(){return Na(NE)},useDebugValue:IU,useDeferredValue:function(_,F){var K=Jq();return $$(K,dA.memoizedState,_,F)},useTransition:function(){var _=Na(NE)[0],F=Jq().memoizedState;return[typeof _==="boolean"?_:dj(_),F]},useSyncExternalStore:pQ,useId:J$,useHostTransitionStatus:SU,useFormState:_$,useActionState:_$,useOptimistic:function(_,F){var K=Jq();return oQ(K,dA,_,F)},useMemoCache:JU,useCacheRefresh:X$};WG.useEffectEvent=Z$;var $7={readContext:_A,use:La,useCallback:Y$,useContext:_A,useEffect:RU,useImperativeHandle:O$,useInsertionEffect:U$,useLayoutEffect:G$,useMemo:Q$,useReducer:LU,useRef:a$,useState:function(){return LU(NE)},useDebugValue:IU,useDeferredValue:function(_,F){var K=Jq();return dA===null?hU(K,_,F):$$(K,dA.memoizedState,_,F)},useTransition:function(){var _=LU(NE)[0],F=Jq().memoizedState;return[typeof _==="boolean"?_:dj(_),F]},useSyncExternalStore:pQ,useId:J$,useHostTransitionStatus:SU,useFormState:F$,useActionState:F$,useOptimistic:function(_,F){var K=Jq();if(dA!==null)return oQ(K,dA,_,F);return K.baseState=_,[_,K.queue.dispatch]},useMemoCache:JU,useCacheRefresh:X$};$7.useEffectEvent=Z$;var BG={enqueueSetState:function(_,F,K){_=_._reactInternals;var U=N6(),O=eE(U);O.payload=F,K!==void 0&&K!==null&&(O.callback=K),F=Ag(_,O,U),F!==null&&(Y6(F,_,U),lj(F,_,U))},enqueueReplaceState:function(_,F,K){_=_._reactInternals;var U=N6(),O=eE(U);O.tag=1,O.payload=F,K!==void 0&&K!==null&&(O.callback=K),F=Ag(_,O,U),F!==null&&(Y6(F,_,U),lj(F,_,U))},enqueueForceUpdate:function(_,F){_=_._reactInternals;var K=N6(),U=eE(K);U.tag=2,F!==void 0&&F!==null&&(U.callback=F),F=Ag(_,U,K),F!==null&&(Y6(F,_,K),lj(F,_,K))}},xG=Error(g(461)),Wq=!1,PG={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},PE=!1,Bq=!1,zG=!1,H7=typeof WeakSet==="function"?WeakSet:Set,bq=null,xq=null,$6=!1,o6=null,e_=8192,yR={getCacheForType:function(_){var F=_A(Kq),K=F.data.get(_);return K===void 0&&(K=_(),F.data.set(_,K)),K},cacheSignal:function(){return _A(Kq).controller.signal}},qK=0,EK=1,gK=2,_K=3,jK=4;if(typeof Symbol==="function"&&Symbol.for){var GF=Symbol.for;qK=GF("selector.component"),EK=GF("selector.has_pseudo_class"),gK=GF("selector.role"),_K=GF("selector.test_id"),jK=GF("selector.text")}var mR=typeof WeakMap==="function"?WeakMap:Map,RA=0,oA=null,IA=null,hA=0,fA=0,S6=null,Gg=!1,Aj=!1,CG=!1,zE=0,Qq=0,Mg=0,__=0,DG=0,W6=0,qj=0,MF=null,H6=null,yG=!1,FK=0,T7=0,OF=1/0,aK=null,Og=null,zq=0,Yg=null,Ej=null,CE=0,mG=0,wG=null,J7=null,YF=0,vG=null;return VA.attemptContinuousHydration=function(_){if(_.tag===13||_.tag===31){var F=pg(_,67108864);F!==null&&Y6(F,_,67108864),gG(_,67108864)}},VA.attemptHydrationAtCurrentPriority=function(_){if(_.tag===13||_.tag===31){var F=N6();F=p(F);var K=pg(_,F);K!==null&&Y6(K,_,F),gG(_,F)}},VA.attemptSynchronousHydration=function(_){switch(_.tag){case 3:if(_=_.stateNode,_.current.memoizedState.isDehydrated){var F=J(_.pendingLanes);if(F!==0){_.pendingLanes|=2;for(_.entangledLanes|=2;F;){var K=1<<31-V6(F);_.entanglements[1]|=K,F&=~K}gE(_),(RA&6)===0&&(OF=Q6()+500,P_(0,!1))}}break;case 31:case 13:F=pg(_,2),F!==null&&Y6(F,_,2),YH(),gG(_,2)}},VA.batchedUpdates=function(_,F){return _(F)},VA.createComponentSelector=function(_){return{$$typeof:qK,value:_}},VA.createContainer=function(_,F,K,U,O,$,L,R,z,w){return zH(_,F,!1,null,K,U,$,null,L,R,z,w)},VA.createHasPseudoClassSelector=function(_){return{$$typeof:EK,value:_}},VA.createHydrationContainer=function(_,F,K,U,O,$,L,R,z,w,s,f,qA,TA){return _=zH(K,U,!0,_,O,$,R,TA,z,w,s,f),_.context=CH(null),K=_.current,U=N6(),U=p(U),O=eE(U),O.callback=F!==void 0&&F!==null?F:null,Ag(K,O,U),F=U,_.current.lanes=F,D(_,F),gE(_),_},VA.createPortal=function(_,F,K){var U=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:m_,key:U==null?null:""+U,children:_,containerInfo:F,implementation:K}},VA.createRoleSelector=function(_){return{$$typeof:gK,value:_}},VA.createTestNameSelector=function(_){return{$$typeof:_K,value:_}},VA.createTextSelector=function(_){return{$$typeof:jK,value:_}},VA.defaultOnCaughtError=function(_){console.error(_)},VA.defaultOnRecoverableError=function(_){U7(_)},VA.defaultOnUncaughtError=function(_){U7(_)},VA.deferredUpdates=function(_){var F=KA.T,K=WE();try{return vq(32),KA.T=null,_()}finally{vq(K),KA.T=F}},VA.discreteUpdates=function(_,F,K,U,O){var $=KA.T,L=WE();try{return vq(2),KA.T=null,_(F,K,U,O)}finally{vq(L),KA.T=$,RA===0&&(OF=Q6()+500)}},VA.findAllNodes=nU,VA.findBoundingRects=function(_,F){if(!EF)throw Error(g(363));F=nU(_,F),_=[];for(var K=0;K<F.length;K++)_.push(HV(F[K]));for(F=_.length-1;0<F;F--){K=_[F];for(var U=K.x,O=U+K.width,$=K.y,L=$+K.height,R=F-1;0<=R;R--)if(F!==R){var z=_[R],w=z.x,s=w+z.width,f=z.y,qA=f+z.height;if(U>=w&&$>=f&&O<=s&&L<=qA){_.splice(F,1);break}else if(!(U!==w||K.width!==z.width||qA<$||f>L)){f>$&&(z.height+=f-$,z.y=$),qA<L&&(z.height=L-f),_.splice(F,1);break}else if(!($!==f||K.height!==z.height||s<U||w>O)){w>U&&(z.width+=w-U,z.x=U),s<O&&(z.width=O-w),_.splice(F,1);break}}}return _},VA.findHostInstance=DH,VA.findHostInstanceWithNoPortals=function(_){return _=Z(_),_=_!==null?M(_):null,_===null?null:qF(_.stateNode)},VA.findHostInstanceWithWarning=function(_){return DH(_)},VA.flushPassiveEffects=AF,VA.flushSyncFromReconciler=function(_){var F=RA;RA|=1;var K=KA.T,U=WE();try{if(vq(2),KA.T=null,_)return _()}finally{vq(U),KA.T=K,RA=F,(RA&6)===0&&P_(0,!1)}},VA.flushSyncWork=YH,VA.focusWithin=function(_,F){if(!EF)throw Error(g(363));_=tU(_),F=UH(_,F),F=Array.from(F);for(_=0;_<F.length;){var K=F[_++],U=K.tag;if(!gF(K)){if((U===5||U===26||U===27)&&XV(K.stateNode))return!0;for(K=K.child;K!==null;)F.push(K),K=K.sibling}}return!1},VA.getFindAllNodesFailureDescription=function(_,F){if(!EF)throw Error(g(363));var K=0,U=[];_=[tU(_),0];for(var O=0;O<_.length;){var $=_[O++],L=$.tag,R=_[O++],z=F[R];if(L!==5&&L!==26&&L!==27||!gF($)){if(sU($,z)&&(U.push(iU(z)),R++,R>K&&(K=R)),R<F.length)for($=$.child;$!==null;)_.push($,R),$=$.sibling}}if(K<F.length){for(_=[];K<F.length;K++)_.push(iU(F[K]));return`findAllNodes was able to match part of the selector:
290
+ `+(U.join(" > ")+`
291
+
292
+ No matching component was found for:
293
+ `)+_.join(" > ")}return null},VA.getPublicRootInstance=function(_){if(_=_.current,!_.child)return null;switch(_.child.tag){case 27:case 5:return qF(_.child.stateNode);default:return _.child.stateNode}},VA.injectIntoDevTools=function(){var _={bundleType:0,version:iN,rendererPackageName:nN,currentDispatcherRef:KA,reconcilerVersion:"19.2.0"};if(kH!==null&&(_.rendererConfig=kH),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")_=!1;else{var F=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(F.isDisabled||!F.supportsFiber)_=!0;else{try{_F=F.inject(_),R6=F}catch(K){}_=F.checkDCE?!0:!1}}return _},VA.isAlreadyRendering=function(){return(RA&6)!==0},VA.observeVisibleRects=function(_,F,K,U){if(!EF)throw Error(g(363));_=nU(_,F);var O=LV(_,K,U).disconnect;return{disconnect:function(){O()}}},VA.shouldError=function(){return null},VA.shouldSuspend=function(){return!1},VA.startHostTransition=function(_,F,K,U){if(_.tag!==5)throw Error(g(476));var O=T$(_).queue;H$(_,O,F,v_,K===null?E:function(){var $=T$(_);return $.next===null&&($=_.alternate.memoizedState),tj(_,$.next.queue,{},N6()),K(U)})},VA.updateContainer=function(_,F,K,U){var O=F.current,$=N6();return yH(O,$,_,F,K,U),$},VA.updateContainerSync=function(_,F,K,U){return yH(F.current,2,_,F,K,U),2},VA};ga.exports.default=ga.exports;Object.defineProperty(ga.exports,"__esModule",{value:!0})});var qQ=1,EQ=32,tZ=0;var gQ=()=>{};function FL(A){Object.assign(KQ,A)}function aL(){return KQ}function AB(A){if(!sZ.has(A))sZ.set(A,0);let q=sZ.get(A)+1;return sZ.set(A,q),`${A}-${q}`}function h_(A,q,E,g){if(g)A.off(q,g);if(E)A.on(q,E)}function qB(A,q,E){if(E!=null&&typeof E==="object"){for(let g in E)if(E.hasOwnProperty(g)){if(q==null||!q.hasOwnProperty(g))A[g]=null}}if(q!=null&&typeof q==="object"){for(let g in q)if(q.hasOwnProperty(g)){let j=q[g],a=E?.[g];if(j!==a)A[g]=j}}}function aQ(A,q,E,g,j){switch(E){case"onChange":if(A instanceof fg)h_(A,nF.CHANGE,g,j);else if(A instanceof Pj)h_(A,wZ.SELECTION_CHANGED,g,j);else if(A instanceof zj)h_(A,vZ.SELECTION_CHANGED,g,j);break;case"onInput":if(A instanceof fg)h_(A,nF.INPUT,g,j);break;case"onSubmit":if(A instanceof fg)h_(A,nF.ENTER,g,j);else if(A instanceof l6)A.onSubmit=g;break;case"onSelect":if(A instanceof Pj)h_(A,wZ.ITEM_SELECTED,g,j);else if(A instanceof zj)h_(A,vZ.ITEM_SELECTED,g,j);break;case"focused":if(yg(A))if(g)A.focus();else A.blur();break;case"style":qB(A,g,j);break;case"children":break;default:A[E]=g}}function EB(A,q,E){for(let g in E){if(!E.hasOwnProperty(g))continue;let j=E[g];if(j==null)continue;aQ(A,q,g,j)}}function gB(A,q,E,g){for(let j in E){let a=E[j];if(E.hasOwnProperty(j)&&a!=null&&!g.hasOwnProperty(j))aQ(A,q,j,null,a)}for(let j in g){let a=g[j],Z=E[j];if(g.hasOwnProperty(j)&&a!==Z&&(a!=null||Z!=null))aQ(A,q,j,a,Z)}}function AL(A,q){if(A!=="image"||q.source===void 0)return q;return{...q,source:void 0}}function jB(A,q){let E=wj.createContainer(q,qQ,null,!1,null,"",console.error,console.error,console.error,()=>{});return wj.updateContainer(A,E,null,()=>{}),E}function GQ(A){let q=null,E=()=>{if(q)wj.updateContainer(null,q,null,()=>{}),wj.flushSyncWork(),q=null};return A.once(VZ.DESTROY,E),{render:(g)=>{TY.attach(A),q=jB(FQ.default.createElement(ZQ.Provider,{value:{keyHandler:A.keyInput,renderer:A}},FQ.default.createElement(ZL,null,g)),A.root)},unmount:E}}var oZ,FQ,KL,UL,GL,e9,_a,nZ,_Q,jQ,EL,gL,_L,jL,KQ,ZQ,UQ=()=>{return oZ.useContext(ZQ)},ZL,eW,sZ,iZ,_B,wj,qL,FB;var ML=zA(async()=>{u9();gQ();gQ();await DE([fq(),fq(),fq(),fq(),fq()]);oZ=PA(Iq(),1),FQ=PA(Iq(),1),KL=PA(Iq(),1),UL=PA(r9(),1),GL=PA(Iq(),1),e9=["span","b","strong","i","em","u","br","a"];_a=class _a extends QE{ctx;constructor(A,q){super(q);this.ctx=A}};nZ=class nZ extends _a{constructor(A,q){super(null,A);if(q==="b"||q==="strong")this.attributes=(this.attributes||0)|aA.BOLD;else if(q==="i"||q==="em")this.attributes=(this.attributes||0)|aA.ITALIC;else if(q==="u")this.attributes=(this.attributes||0)|aA.UNDERLINE}};_Q=class _Q extends nZ{constructor(A,q){super(q,"b")}};jQ=class jQ extends nZ{constructor(A,q){super(q,"i")}};EL=class EL extends nZ{constructor(A,q){super(q,"u")}};gL=class gL extends _a{constructor(A,q){super(null,q);this.add()}add(){return super.add(`
294
+ `)}};_L=class _L extends _a{constructor(A,q){let E={...q,link:{url:q.href}};super(null,E)}};jL={box:Hq,text:mg,code:Mq,diff:XY,markdown:N_,input:fg,select:Pj,textarea:l6,scrollbox:mZ,"ascii-font":zZ,"tab-select":zj,"line-number":CZ,image:oF,span:_a,br:gL,b:_Q,strong:_Q,i:jQ,em:jQ,u:EL,a:_L},KQ={...jL};ZQ=oZ.createContext({keyHandler:null,renderer:null});ZL=class ZL extends KL.default.Component{constructor(A){super(A);this.state={hasError:!1,error:null}}static getDerivedStateFromError(A){return{hasError:!0,error:A}}render(){if(this.state.hasError&&this.state.error)return eF("box",{style:{flexDirection:"column",padding:2},children:eF("text",{fg:"red",children:this.state.error.stack||this.state.error.message},void 0,!1,void 0,this)},void 0,!1,void 0,this);return this.props.children}};eW={name:"@opentui/react",version:"0.5.11",description:"React renderer for building terminal user interfaces using OpenTUI core",license:"MIT",repository:{type:"git",url:"https://github.com/anomalyco/opentui",directory:"packages/react"},module:"src/index.ts",type:"module",private:!0,main:"src/index.ts",exports:{".":{import:"./src/index.ts",types:"./src/index.ts"},"./test-utils":{import:"./src/test-utils.ts",types:"./src/test-utils.d.ts"},"./runtime-plugin-support":{import:"./scripts/runtime-plugin-support.ts",types:"./scripts/runtime-plugin-support.ts"},"./runtime-plugin-support/configure":{import:"./scripts/runtime-plugin-support-configure.ts",types:"./scripts/runtime-plugin-support-configure.ts"},"./jsx-runtime":{import:"./jsx-runtime.js",types:"./jsx-runtime.d.ts"},"./jsx-dev-runtime":{import:"./jsx-dev-runtime.js",types:"./jsx-dev-runtime.d.ts"}},scripts:{build:"bun run scripts/build.ts","build:examples":"bun examples/build.ts","build:dev":"bun run scripts/build.ts --dev",publish:"bun run scripts/publish.ts",test:"bun test"},devDependencies:{"@opentui/keymap":"workspace:*","@types/bun":"1.4.1","@types/node":"^24.0.0","@types/react":"^19.2.0","@types/react-reconciler":"^0.33.0","@types/ws":"^8.18.1",react:">=19.2.0","react-devtools-core":"^7.0.1",typescript:"^5",ws:"^8.18.0"},peerDependencies:{react:">=19.2.0","react-devtools-core":"^7.0.1",ws:"^8.18.0"},peerDependenciesMeta:{"react-devtools-core":{optional:!0},ws:{optional:!0}},dependencies:{"@opentui/core":"workspace:*","react-reconciler":"^0.33.0"}},sZ=new Map;iZ=tZ;_B={supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,createInstance(A,q,E,g){if(e9.includes(A)&&!g.isInsideText)throw Error(`Component of type "${A}" must be created inside of a text node`);let j=AB(A),a=aL();if(!a[A])throw Error(`Unknown component type: ${A}`);return new a[A](E.ctx,{id:j,...AL(A,q)})},appendChild(A,q){A.add(q)},removeChild(A,q){if(!q.parent)return;A.remove(q)},insertBefore(A,q,E){A.insertBefore(q,E)},insertInContainerBefore(A,q,E){A.insertBefore(q,E)},removeChildFromContainer(A,q){if(!q.parent)return;A.remove(q)},prepareForCommit(A){return null},resetAfterCommit(A){A.requestRender()},getRootHostContext(A){return{isInsideText:!1}},getChildHostContext(A,q,E){let g=["text",...e9].includes(q);return{...A,isInsideText:g}},shouldSetTextContent(A,q){return!1},createTextInstance(A,q,E){if(!E.isInsideText)throw Error("Text must be created inside of a text node");return QE.fromString(A)},scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,shouldAttemptEagerTransition(){return!0},finalizeInitialChildren(A,q,E,g,j){return EB(A,q,AL(q,E)),q==="image"&&E.source!==void 0},commitMount(A,q,E,g){if(A instanceof oF)A.source=E.source},commitUpdate(A,q,E,g,j){gB(A,q,E,g)},commitTextUpdate(A,q,E){A.children=[E]},appendChildToContainer(A,q){A.add(q)},appendInitialChild(A,q){A.add(q)},hideInstance(A){A.visible=!1},unhideInstance(A,q){A.visible=!0},hideTextInstance(A){A.visible=!1},unhideTextInstance(A,q){A.visible=!0},clearContainer(A){A.getChildren().forEach((E)=>A.remove(E))},setCurrentUpdatePriority(A){iZ=A},getCurrentUpdatePriority:()=>iZ,resolveUpdatePriority(){if(iZ!==tZ)return iZ;return EQ},maySuspendCommit(){return!1},maySuspendCommitOnUpdate(){return!1},maySuspendCommitInSyncRender(){return!1},NotPendingTransition:null,HostTransitionContext:GL.createContext(null),resetFormInstance(){},requestPostPaintCallback(){},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},detachDeletedInstance(A){if(!A.parent)A.destroyRecursively()},getPublicInstance(A){return A},preparePortalMount(A){},isPrimaryRenderer:!0,getInstanceFromNode(){return null},beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},prepareScopeUpdate(){},getInstanceFromScope(){return null},rendererPackageName:"@opentui/react",rendererVersion:eW.version},wj=UL.default(_B);wj.injectIntoDevTools();qL=wj,FB=qL.flushSyncFromReconciler??qL.flushSync});function OL(A){let q=vj.useRef(A);return vj.useLayoutEffect(()=>{q.current=A}),vj.useCallback((...E)=>{let g=q.current;return g(...E)},[])}function MB(A,q,E,g,j){if(!q)return null;try{return q(E)}catch(a){return A.reportPluginError({pluginId:g,slot:j,phase:"error_placeholder",source:"react",error:a}),null}}var aB,vj,KB,QL,ZB,HL,GB,TL,XL,S_,YB,QB,YL=()=>{let{renderer:A}=UQ();if(!A)throw Error("Renderer not found.");return A},$L=(A,q={release:!1})=>{let{keyHandler:E}=UQ(),g=OL(A);QL.useEffect(()=>{if(E?.on("keypress",g),q?.release)E?.on("keyrelease",g);return()=>{if(E?.off("keypress",g),q?.release)E?.off("keyrelease",g)}},[E,q.release])},UB=(A)=>{let q=YL(),E=OL(A);return HL.useEffect(()=>{return q.on("resize",E),()=>{q.off("resize",E)}},[q]),q},JL=()=>{let A=YL(),[q,E]=TL.useState({width:A.width,height:A.height});return UB((j,a)=>{E({width:j,height:a})}),q},OB;var MQ=zA(async()=>{await DE([ML(),fq(),fq(),fq()]);aB=PA(Iq(),1),vj=PA(Iq(),1),KB=PA(Iq(),1),QL=PA(Iq(),1),ZB=PA(Iq(),1),HL=PA(Iq(),1),GB=PA(Iq(),1),TL=PA(Iq(),1),XL=PA(Iq(),1),S_=PA(Iq(),1),YB=PA(Iq(),1),QB=PA(Iq(),1);OB=class OB extends S_.default.Component{constructor(A){super(A);this.state={failure:null}}componentDidCatch(A){let q=this.props.registry.reportPluginError({pluginId:this.props.pluginId,slot:this.props.slotName,phase:"render",source:"react",error:A});this.setState({failure:q})}componentDidUpdate(A){if(A.resetToken!==this.props.resetToken&&this.state.failure)this.setState({failure:null})}render(){if(this.state.failure){let A=MB(this.props.registry,this.props.pluginFailurePlaceholder,this.state.failure,this.props.pluginId,this.props.slotName);if(A===null||A===void 0||A===!1)return this.props.fallbackOnFailure??null;return A}return this.props.children}};FL({"time-to-first-draw":xY})});var m,LL,NL;var JE=zA(()=>{m={primary:"#5CCCCC",accentBlue:"#A1E6FF",violet:"#CFA6FF",grey:"#A0A0A0",bgDark:"#1A1A1A",surface:"#11151c",danger:"#f05252",warning:"#f5a524",border:"#495365",selection:"#263244",fallback:"#d8dee9",stateWorking:"#E8BC5D",stateIdle:"#6BD9A4",usageHigh:"#E28686"},LL={claude:{name:"Claude",short:"CL",brandColor:"#d97757",borderColor:"#d97757",terminalAsset:new URL("./assets/providers/claude-terminal.png",import.meta.url),graphicsAsset:new URL("./assets/providers/claude.png",import.meta.url)},codex:{name:"Codex",short:"CX",brandColor:"#539af8",borderColor:"#539af8",terminalAsset:new URL("./assets/providers/openai-terminal.png",import.meta.url),graphicsAsset:new URL("./assets/providers/openai.png",import.meta.url)},"opencode-go":{name:"OpenCode Go",short:"OC",brandColor:"#111111",onDarkColor:"#c8cdd8",borderColor:m.grey,tileColor:"#f3f3f3",terminalAsset:new URL("./assets/providers/opencode-terminal.png",import.meta.url),graphicsAsset:new URL("./assets/providers/opencode.png",import.meta.url)},copilot:{name:"Copilot",short:"CP",brandColor:"#c8cdd8",borderColor:m.grey,graphicsAsset:new URL("./assets/providers/copilot.png",import.meta.url)},shell:{name:"Shell",short:"SH",brandColor:"#c8cdd8",borderColor:m.grey,graphicsAsset:new URL("./assets/providers/shell.png",import.meta.url)},unknown:{name:"Unknown",short:"?",brandColor:m.grey,borderColor:m.grey,graphicsAsset:new URL("./assets/providers/unknown.png",import.meta.url)}},NL={art:[{fg:m.accentBlue,content:" \u2597\u2584\u2584\u2584\u2584\u2584\u2584\u2596"},{fg:m.primary,content:" \u2590\u2593\u2592\u2591\u2591\u2591\u2591\u2592\u2593\u258C"},{fg:m.primary,content:" \u2591 \u25C9\u25C8\u25C9 \u203A_ \u2591"},{fg:m.violet,content:" \u259C\u2593\u2592\u2591\u2591\u2591\u2591\u2592\u2593\u259B"},{fg:m.violet,content:" \u2590\u2588\u257F\u2588\u2588\u2575\u2588\u258C"}]}});function RL(A,q,E){let g=q.query.toLowerCase(),j=E>0?Date.now()-E*3600000:0;return A.filter((a)=>{if(a.parentSessionId){if(a.state!=="working"&&a.state!=="waiting-input")return!1}else if(j>0&&a.source==="standalone"&&a.lastActivity<j)return!1;if(q.actionableOnly&&!(a.hasAttention??a.state==="waiting-input"))return!1;if(q.tool!=="all"&&a.tool!==q.tool)return!1;if(q.state!=="all"&&a.state!==q.state)return!1;if(!g)return!0;return[a.id,a.tool,a.state,a.summary,a.project?.displayName,a.project?.compactLabel,a.project?.branch,a.displayName,a.tmux?.session,a.herdr?.workspace,a.herdr?.name,a.herdr?.tab,a.herdr?.agent,a.currentPath].filter(Boolean).join(" ").toLowerCase().includes(g)})}function IL(A){let q=OQ[(OQ.indexOf(A.tool)+1)%OQ.length]??"all";if(q!=="all")return{...A,tool:q,state:"all"};let E=YQ[(YQ.indexOf(A.state)+1)%YQ.length]??"all";return{...A,tool:"all",state:E}}function ja(A){let q=A.state==="working"?0:A.state==="waiting-input"?20:60,E=A.tool==="unknown"?30:A.tool==="shell"?20:0;return q+E}function VL(A){let q=Math.min(...A.sessions.map(ja));return A.sessions.every((E)=>!E.project)?1000+q:q}function hL(A,q=!1){let E=A.filter((M)=>!M.parentSessionId),g=new Map;for(let M of A){if(!M.parentSessionId)continue;let Y=g.get(M.parentSessionId)??[];Y.push(M),g.set(M.parentSessionId,Y)}let j=new Map;for(let M of E){let Y=$B(M),Q=j.get(Y);if(Q)Q.sessions.push(M);else j.set(Y,{projectName:M.project?.displayName??(M.source==="standalone"?M.tool!=="unknown"?M.tool:"standalone":M.source==="herdr"?M.herdr?.workspace??"herdr":M.tmux?.session??Y),sessions:[M]})}let a=(M)=>Math.max(...M.sessions.map((Y)=>Y.lastActivity)),Z=[...j.entries()].sort(([,M],[,Y])=>VL(M)-VL(Y)||a(Y)-a(M)),G=Z.length>0?[{kind:"gap",projectKey:"__initial-gap__"}]:[];return Z.forEach(([M,Y],Q)=>{if(Q>0)G.push({kind:"gap",projectKey:M});Y.sessions.sort((H,N)=>ja(H)-ja(N)||N.lastActivity-H.lastActivity),G.push({kind:"project-header",projectKey:M,projectName:Y.projectName});for(let H of Y.sessions)if(G.push({kind:"session",projectKey:M,session:H}),!q){let N=(g.get(H.id)??[]).sort((X,T)=>ja(X)-ja(T)||T.lastActivity-X.lastActivity);for(let X of N)G.push({kind:"session",projectKey:M,session:X})}}),G}function $B(A){return A.project?.repositoryIdentityPath??A.project?.gitRootPath??A.project?.sourcePath??A.project?.displayName??(A.source==="standalone"?`standalone:${A.tool}`:A.source==="herdr"?`herdr:${A.herdr?.workspaceId??A.herdr?.workspace??A.herdr?.paneId??A.id}`:A.tmux?.session??A.id)}function rZ(A,q,E){if(A.length===0)return q;if(!q)return(E>0?A:[...A].reverse()).find((a)=>a.kind==="session")?.session.id;let g=A.findIndex((j)=>j.kind==="session"&&j.session.id===q);if(g<0)return;for(let j=g+E;j>=0&&j<A.length;j+=E){let a=A[j];if(a?.kind==="session")return a.session.id}return q}function SL(A,q,E){if(A.length<=E)return A;let g=A.findIndex((a)=>a.kind==="session"&&a.session.id===q),j=Math.max(0,Math.min(g-Math.floor(E/2),A.length-E));return A.slice(j,j+E)}function Fa(A,q=0){if(A==="working")return QQ[q%QQ.length]??QQ[0];if(A==="idle")return"\u25CB";if(A==="waiting-input")return"?";if(A==="shell")return">";if(A==="error")return"\u2717";return"?"}function HB(A){if(!A.project?.isGitRepository)return"";return A.project.branch||"detached"}function WL(A,q=!1){let E;if(A.parentSessionId)E=` \u21B3 ${K6(A.summary||A.id,q?22:26)}`;else if(A.tmux)E=` \u25B8 ${A.displayName?.trim()||A.tmux.session?.trim()||A.id}`;else if(A.herdr)E=` \u25B9 ${A.displayName?.trim()||A.herdr.tab?.trim()||A.herdr.agent?.trim()||A.herdr.paneId}`;else E=` \u25C7 ${A.activeTool?`[${A.activeTool}]`:A.id.includes(":")?A.id.split(":")[1].slice(0,8):A.id.slice(0,8)}`;let g=HB(A);return g?`${E}@${g}`:E}function BL(A,q="text",E=0){let g=A<110,j=Math.max(36,A-9);if(g){let M=q!=="text",Y=11;if(A<100){let N=Math.max(36,A-6),X=Math.max(5,(E||(q==="text"?10:7))+1);return{session:Math.max(14,N-11-X),state:11,tool:X,summary:0}}let Q=q==="text"?Math.min(12,Math.max(9,Math.floor(j*0.18))):q==="icons"?7:8,H=Math.min(M?32:28,Math.max(14,Math.floor(j*(M?0.4:0.34))));return{session:H,state:11,tool:Q,summary:Math.max(8,j-H-11-Q)}}let a=11,Z=q==="text"?13:q==="icons"?3:5;if(q!=="text"){let M=j-a-Z,Y=Math.min(72,Math.max(30,Math.floor(M*0.55)));return{session:Y,state:a,tool:Z,summary:Math.max(8,j-Y-a-Z)}}let G=Math.min(40,Math.max(30,j-a-Z-39));return{session:G,state:a,tool:Z,summary:Math.max(8,j-G-a-Z)}}function xL(A,q){return`${Fa(A.state,q)} (${XK(A.stableForMs??0)})`}function PL(A){let q=new Map;for(let E of A){if(!E.parentSessionId||E.state!=="working"&&E.state!=="waiting-input")continue;q.set(E.parentSessionId,(q.get(E.parentSessionId)??0)+1)}return q}function zL(A,q){if(A.source==="tmux"&&A.tmux)return q?["tmux","switch-client","-t",A.tmux.session]:["tmux","attach-session","-t",A.tmux.session];if(A.source==="herdr"&&A.herdr?.terminalId)return["herdr","terminal","attach",A.herdr.terminalId];return null}var OQ,YQ,QQ,C6;var bj=zA(()=>{K_();JE();OQ=["all","opencode","claude","codex","copilotcli","shell","unknown"],YQ=["all","working","waiting-input","idle","shell","unknown"],QQ=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],C6={working:m.stateWorking,idle:m.stateIdle,"waiting-input":m.violet,shell:m.accentBlue,error:m.danger,unknown:m.grey}});function DL(A,q){switch(q.type){case"sessions-loaded":{let E=q.sessions.some((g)=>g.id===A.selectedSessionId)?A.selectedSessionId:void 0;return{...A,sessions:q.sessions,counts:q.counts,selectedSessionId:E,daemonConnected:!0}}case"usage-loaded":return{...A,usage:q.usage};case"connection":return{...A,daemonConnected:q.connected};case"select":return{...A,selectedSessionId:q.id};case"view":return{...A,view:q.view,mode:"list",detail:void 0,message:void 0};case"search":return{...A,mode:"search"};case"query":return{...A,filters:{...A.filters,query:q.query}};case"toggle-actionable":return{...A,filters:{...A.filters,actionableOnly:!A.filters.actionableOnly}};case"cycle-filters":return{...A,filters:IL(A.filters)};case"detail":return{...A,mode:"detail",detail:q.session,message:void 0};case"message":return{...A,mode:"message",message:q.message,detail:void 0};case"bindings":return{...A,mode:"bindings",detail:void 0,message:void 0};case"close-overlay":return{...A,mode:"list",detail:void 0,message:void 0}}}var CL;var yL=zA(()=>{bj();CL={view:"sessions",mode:"list",sessions:[],counts:null,usage:{providers:[],lastRefreshedAt:0},daemonConnected:!0,filters:{query:"",actionableOnly:!1,tool:"all",state:"all"}}});function mL(A,q,E){var g=null;if(E!==void 0&&(g=""+E),q.key!==void 0&&(g=""+q.key),"key"in q){E={};for(var j in q)j!=="key"&&(E[j]=q[j])}else E=q;return q=E.ref,{$$typeof:TB,type:A,key:g,ref:q!==void 0?q:null,props:E}}var TB,JB,kj,B,OA;var wL=zA(()=>{TB=Symbol.for("react.transitional.element"),JB=Symbol.for("react.fragment");kj=JB,B=mL,OA=mL});var hq=zA(()=>{wL()});function XB(A){if(A==="blocks")return"blocks";if(A==="kitty"||A==="sixel")return A;return"auto"}function D6(A){return LB[A]??{name:A,short:"AI",brandColor:m.grey,borderColor:m.grey}}function XE(A){return D6(A).onDarkColor??D6(A).brandColor}function W_(A){return Math.max(0,Math.min(100,Number.isFinite(A)?A:0))}function cj(A,q){let E=W_(A);if(E>=90)return m.usageHigh;if(E>=70)return m.stateWorking;if(q)return XE(q);return m.stateIdle}function qU(A,q){let E=Math.max(4,q),g=Math.round(W_(A)/100*E);return`${"\u2588".repeat(g)}${"\u2591".repeat(E-g)}`}function $Q(A,q){if(q&&Math.abs(A)>=1000)return`${(A/1000).toFixed(A>=1e4?0:1).replace(/\.0$/,"")}k`;return A.toLocaleString("en-US",{maximumFractionDigits:2})}function aa(A,q,E=!1){let g=$Q(A,E),j=q.trim().toUpperCase();if(j==="USD")return`$${g}`;if(j==="EUR")return`\u20AC${g}`;if(j==="GBP")return`\xA3${g}`;if(j==="CREDITS")return E?`${g}cr`:`${g} credits`;return E?`${g} ${q}`:`${q} ${g}`}function vL(A){if(!A)return null;if(A.limit>0)return aa(A.used,A.currency,!0);if(A.balance!==void 0)return`${aa(A.balance,A.currency,!0)} left`;return null}function NB(A){if(A.currency.trim().toUpperCase()==="CREDITS")return`${$Q(A.used,!1)} / ${$Q(A.limit,!1)} credits`;return`${aa(A.used,A.currency)} / ${aa(A.limit,A.currency)}`}function VB(A){let q=Math.floor(A/86400),E=Math.floor(A%86400/3600),g=Math.floor(A%3600/60);if(A<=0)return"now";if(q>0)return`${q}d ${E}h`;if(E>0)return`${E}h ${g}m`;return`${g}m`}function RB(A){return new Date(A).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).replace(":00 "," ").replace(" AM","am").replace(" PM","pm")}function IB(A,q=Date.now()){let E=A.resetsAt?Date.parse(A.resetsAt):void 0,g=E!==void 0?Math.max(0,Math.round((E-q)/1000)):Math.max(0,A.resetInSec??0);if(E===void 0&&A.resetInSec===void 0)return"reset unknown";let j=E??q+g*1000;return`${RB(j)} (${VB(g)})`}function nE({provider:A,mode:q,size:E}){let g=D6(A),j=E??AU[q],[a,Z]=eZ.useState(null);if(eZ.useEffect(()=>{let G=q==="blocks"?g.terminalAsset:g.graphicsAsset;if(q==="text"||!G)return;let M=!0,Y=null;return _6.load(G).then((Q)=>{if(Y=Q,M)Z(Q);else Q.dispose()}).catch(()=>Z(null)),()=>{M=!1,Y?.dispose()}},[q,A]),a)return B("image",{source:a,protocol:XB(q),fit:"fit",...j});return B("box",{...j,backgroundColor:g.tileColor,alignItems:"center",justifyContent:"center",children:B("text",{fg:g.brandColor,attributes:aA.BOLD,content:g.short})})}function hB({provider:A,window:q,width:E}){let g=W_(q.usedPercent);return OA("box",{flexDirection:"column",children:[OA("box",{flexDirection:"row",justifyContent:"space-between",children:[B("text",{content:q.title}),B("text",{fg:cj(g,A),attributes:aA.BOLD,content:`${Math.round(g)}%`})]}),B("text",{fg:cj(g,A),content:qU(g,E)}),B("text",{fg:m.grey,content:IB(q)})]})}function SB({provider:A,width:q,iconMode:E}){let g=D6(A.provider),j=A.windows??[],a=A.metadata?.subscriptionType??A.metadata?.workspaceName??A.metadata?.accountEmail??A.status;return OA("box",{title:g.name,border:!0,borderColor:g.borderColor,width:q,flexShrink:0,flexDirection:"column",paddingX:1,paddingBottom:1,paddingTop:1,children:[OA("box",{height:AU.blocks.height,flexDirection:"row",gap:1,children:[B(nE,{provider:A.provider,mode:E}),OA("box",{flexDirection:"column",justifyContent:"center",children:[B("text",{attributes:aA.BOLD,content:g.name}),B("text",{fg:m.grey,content:a??A.status})]})]}),B("box",{height:1}),A.status!=="ok"&&B("text",{fg:A.status==="error"?m.danger:m.warning,content:A.errors?.[0]??(A.status==="pending"?"Waiting for first refresh":"Credentials not available"),wrapMode:"word"}),A.status==="ok"&&j.map((Z)=>B(hB,{provider:A.provider,window:Z,width:q-4},Z.id)),A.cost&&OA("box",{flexDirection:"column",children:[A.cost.limit>0&&B("text",{fg:m.grey,content:`${A.cost.period}: ${NB(A.cost)}`}),A.cost.balance!==void 0&&B("text",{fg:m.grey,content:`Balance: ${aa(A.cost.balance,A.cost.currency)}`})]})]})}function WB(A,q){let E=[];for(let g=0;g<A.length;g+=q)E.push(A.slice(g,g+q));return E}function bL({usage:A,width:q,iconMode:E,hidden:g=!1}){let j=q>=110,a=j?Math.min(3,Math.max(1,A.providers.length)):1,Z=j&&a>1,G=q-5,M=q-4,Y;if(Z){let Q=G-(a-1)-1;Y=Math.max(32,Math.floor(Q/a))}else Y=Math.max(20,G-1);return B("box",{border:!0,borderColor:m.border,flexDirection:"column",flexGrow:1,paddingX:1,children:A.providers.length===0?B("box",{flexGrow:1,alignItems:"center",justifyContent:"center",children:B("text",{fg:m.grey,content:"No usage providers configured"})}):B("scrollbox",{focused:!g,scrollX:!1,scrollY:!0,flexGrow:1,contentOptions:{flexDirection:"column",flexWrap:"no-wrap",gap:1},children:WB(A.providers,Z?a:1).map((Q,H)=>{let N=Q.length,X=Z?M-(N-1)-N*Y:M-Y,T=X/2|0,J=X-T,V=[];if(T>0)V.push(B("box",{width:T,flexShrink:0},`usage-row-${H}-left`));if(Q.forEach((I,W)=>{if(W>0)V.push(B("box",{width:1,flexShrink:0},`usage-row-${H}-gap-${W}`));V.push(B(SB,{provider:I,width:Y,iconMode:E},I.provider))}),J>0)V.push(B("box",{width:J,flexShrink:0},`usage-row-${H}-right`));return B("box",{width:"100%",flexShrink:0,flexDirection:"row",children:V},`usage-row-${Q[0]?.provider??H}`)})})})}var eZ,AU,LB;var B_=zA(async()=>{JE();hq();await fq();eZ=PA(Iq(),1),AU={blocks:{width:8,height:4},graphics:{width:6,height:3},kitty:{width:6,height:3},sixel:{width:6,height:3},text:{width:4,height:3},mini:{width:2,height:1}};LB=LL});function x_(A){return BB[A]??null}function oE(A){return A==="graphics"||A==="kitty"||A==="sixel"}var BB,p6;var Ka=zA(async()=>{await B_();BB={claude:"claude",codex:"codex",opencode:"opencode-go",copilotcli:"copilot",shell:"shell",unknown:"unknown"};p6=AU.mini});function xB(A){let q=`${A.id} ${A.title}`.toLowerCase();if(/\bsession\b/.test(q))return"S";if(/week/.test(q))return"W";if(/month/.test(q))return"M";if(/\bday\b|\bdaily\b/.test(q))return"D";if(/hour/.test(q))return"H";let E=A.title.trim()[0]??A.id.trim()[0];return E?E.toUpperCase():"?"}function PB(A){let q=(A.windows??[]).filter((g)=>Number.isFinite(g.usedPercent)).reduce((g,j)=>!g||W_(j.usedPercent)>W_(g.usedPercent)?j:g,null),E=D6(A.provider);return{provider:A.provider,short:E.short,name:E.name,percent:W_(q?.usedPercent??0),windowLabel:q?xB(q):null,costLabel:vL(A.cost),color:cj(q?.usedPercent??0,A.provider),hasWindows:Boolean(q),status:A.status}}function mB(A,q){if(q>=zB)return A;return[...A].sort((E,g)=>g.percent-E.percent)}function Za(A){return`${Math.round(A.percent)}%`}function EU(A){return A.status.slice(0,DB)}function wB(A){if(!A||A.length<=kL)return A??null;return`${A.slice(0,kL-1)}\u2026`}function fL(A,q,E){let g=[{content:A.short.slice(0,2),width:2},{content:qU(A.percent,E),width:E}];if(A.windowLabel)g.push({content:` ${A.windowLabel}`,width:A.windowLabel.length+1});let j=Za(A);if(g.push({content:j,width:j.length}),q)g.push({content:q,width:q.length});return g}function vB(A){return A.reduce((E,g)=>E+g.width,0)+(A.length-1)*LE}function cL(A,q){return lL({...A,costLabel:q},0)}function lL(A,q){if(!A.hasWindows||A.status!=="ok")return 2+LE+EU(A).length;return vB(fL(A,A.costLabel,q))}function bB(A,q){let E=mB(A,q),g=Math.max(0,q-CB);if(E.length===0)return{mode:"bar",barWidth:HQ,visible:[],hiddenCount:0};let j=E.map((Q)=>({...Q,costLabel:wB(Q.costLabel)})),a=null;{let Q=Math.floor((g-j.reduce((H,N)=>H+cL(N,N.costLabel),0)-(j.length-1)*TQ)/j.length);if(Q>=HQ)a={mode:"bar",barWidth:Q,visible:j,hiddenCount:0};else for(let H=j.length-1;H>=1;H--){let N=j.slice(0,H),X=(H-1)*TQ,T=Math.floor((g-N.reduce((J,V)=>J+cL(V,V.costLabel),0)-X)/H);if(T>=HQ){a={mode:"bar",barWidth:T,visible:N,hiddenCount:j.length-H};break}}}let Z=E.map(kB),G=1,M=Z[0];for(let Q=1;Q<Z.length;Q++){let H=M+yB+Z[Q];if(H>g)break;M=H,G++}let Y={mode:"compact",barWidth:0,visible:E.slice(0,G),hiddenCount:E.length-G};if(!a)return Y;return a.visible.length>=Y.visible.length?a:Y}function kB(A){if(!A.hasWindows&&A.status!=="ok")return 2+LE+EU(A).length;return 2+LE+Za(A).length}function cB({summary:A,width:q,barWidth:E,iconMode:g}){let j=oE(g)?B(nE,{provider:A.provider,mode:g,size:p6}):B("text",{width:2,fg:XE(A.provider),attributes:aA.BOLD,content:A.short.slice(0,2)});if(!A.hasWindows||A.status!=="ok")return OA("box",{width:q,height:1,flexDirection:"row",gap:LE,children:[j,B("text",{fg:m.grey,content:EU(A)})]});let a=fL(A,A.costLabel,E),Z=XE(A.provider);return OA("box",{width:q,height:1,flexDirection:"row",gap:LE,children:[j,B("text",{width:E,fg:Z,content:qU(A.percent,E)}),A.windowLabel&&B("text",{width:A.windowLabel.length+1,fg:m.grey,attributes:aA.BOLD,content:` ${A.windowLabel}`}),B("text",{width:Za(A).length,fg:cj(A.percent,A.provider),attributes:aA.BOLD,content:Za(A)}),A.costLabel&&B("text",{width:A.costLabel.length,fg:m.grey,content:A.costLabel})]})}function fB({summary:A,leadingSeparator:q}){let E=B("text",{width:2,fg:XE(A.provider),attributes:aA.BOLD,content:A.short.slice(0,2)}),g=A.hasWindows&&A.status==="ok"?cj(A.percent,A.provider):m.grey,j=!A.hasWindows&&A.status!=="ok"?EU(A):Za(A);return OA("box",{height:1,flexDirection:"row",gap:LE,children:[q&&B("text",{fg:m.border,content:"\u2502"}),E,B("text",{fg:g,attributes:aA.BOLD,content:j})]})}function uL({usage:A,width:q,iconMode:E}){let g=A.providers.filter((a)=>a.available).map((a)=>PB(a)),j=bB(g,q);return OA("box",{height:3,border:!0,borderColor:m.border,titleColor:m.grey,title:"Usage",paddingX:1,flexDirection:"row",gap:j.mode==="bar"?TQ:LE,children:[g.length===0?B("text",{fg:m.grey,content:"no usage data"}):j.mode==="bar"?j.visible.map((a)=>B(cB,{summary:a,width:lL(a,j.barWidth),barWidth:j.barWidth,iconMode:E},a.provider)):j.visible.map((a,Z)=>B(fB,{summary:a,leadingSeparator:Z>0},a.provider)),j.mode==="bar"&&j.hiddenCount>0&&B("text",{fg:m.grey,content:`+${j.hiddenCount}`})]})}var zB=110,CB=4,TQ=2,LE=1,HQ=4,kL=6,DB=6,yB;var pL=zA(async()=>{JE();hq();await DE([fq(),B_(),Ka()]);yB=LE+1+LE});function lB(A,q=Date.now()){let E=Math.max(1,Math.round((q-A)/1000));if(E>86400)return`${Math.floor(E/86400)}d ago`;if(E>3600)return`${Math.floor(E/3600)}h ago`;if(E>60)return`${Math.floor(E/60)}m ago`;return"just now"}function uB(A){let q=[];if(q.push({label:"id",value:A.id}),q.push({label:"state",value:`${A.state} (${XK(A.stableForMs??0)})`,color:C6[A.state]??m.fallback}),q.push({label:"tool",value:A.tool}),q.push({label:"source",value:`${A.source}${A.detectionSource?` / ${A.detectionSource}`:""}`}),A.project?.displayName)q.push({label:"project",value:A.project.displayName});if(A.project?.isGitRepository&&A.project?.branch)q.push({label:"git",value:A.project.branch,color:m.accentBlue});if(A.currentPath)q.push({label:"path",value:A.currentPath});if(A.summary)q.push({label:"summary",value:A.summary});if(q.push({label:"activity",value:lB(A.lastActivity)}),A.processChain?.length)q.push({label:"command",value:A.processChain.join(" \u2192 "),color:m.grey});if(A.tmux){if(q.push({label:"tmux",value:`${A.tmux.session}:${A.tmux.window}.${A.tmux.pane}`,color:m.accentBlue}),A.tmux.windowName)q.push({label:"window",value:A.tmux.windowName})}if(A.herdr){let E=A.herdr;if(E.workspace)q.push({label:"workspace",value:E.workspace,color:m.accentBlue});if(E.tab)q.push({label:"tab",value:E.tab});if(E.name)q.push({label:"pane",value:E.name});if(E.agent)q.push({label:"agent",value:E.agent+(E.agentStatus?` (${E.agentStatus})`:""),color:m.accentBlue})}if(A.opencode)q.push({label:"instance",value:A.opencode.instanceUrl,color:m.grey});if(A.claude?.permissionMode)q.push({label:"perm mode",value:A.claude.permissionMode});if(A.codex?.model)q.push({label:"model",value:A.codex.model});if(A.codex?.permissionMode)q.push({label:"perm mode",value:A.codex.permissionMode});if(A.parentSessionId)q.push({label:"parent",value:A.parentSessionId});if(A.childSessionIds?.length)q.push({label:"children",value:String(A.childSessionIds.length)});return q}function dL(A){let{detail:q}=A,E=oE(A.iconMode)?"icons":A.iconMode==="text"?"text":"monogram",g=x_(q.tool),j=C6[q.state]??m.fallback,a=Math.max(40,Math.floor(A.width*0.9)),Z=Math.max(20,a-4),G=Math.max(10,Z-12),M=uB(q),Y=[...(q.toolReasons??[]).map((X)=>({kind:"tool",value:`${X.label} \u2014 ${X.detail}`})),...(q.stateReasons??[]).map((X)=>({kind:"state",value:`${X.label} \u2014 ${X.detail}`}))],Q=Math.max(0,...M.map((X)=>X.value.length),...Y.map((X)=>X.value.length)),H=Math.max(Z,Ua+2+Q),N=`${"\u2500".repeat(Ua)}\u253C${"\u2500".repeat(H-Ua-1)}`;return OA("box",{position:"absolute",top:"5%",left:"5%",width:"90%",height:"90%",title:"Session detail",border:!0,borderColor:m.primary,backgroundColor:m.surface,flexDirection:"column",padding:1,zIndex:10,children:[B("box",{flexGrow:1,overflow:"hidden",flexDirection:"column",children:B("scrollbox",{flexGrow:1,height:"100%",scrollY:!0,scrollX:!0,focused:!0,children:OA("box",{flexDirection:"column",children:[OA("box",{flexDirection:"row",height:1,children:[E==="icons"&&g?OA(kj,{children:[B(nE,{provider:g,mode:A.iconMode,size:p6}),B("text",{width:1,content:" "}),B("text",{fg:XE(g),attributes:aA.BOLD,content:D6(g).short})]}):B("text",{fg:g?XE(g):m.fallback,attributes:aA.BOLD,content:g?D6(g).short:K6(q.tool,8)}),B("text",{width:1,content:" "}),B("text",{fg:m.fallback,attributes:aA.BOLD,content:K6(q.project?.displayName??q.id,G),truncate:!0}),B("text",{fg:m.grey,content:" \xB7 "}),B("text",{fg:j,attributes:aA.BOLD,content:q.state})]}),B("box",{height:1,flexDirection:"row",children:B("text",{fg:m.border,content:N})}),M.map((X,T)=>OA("box",{flexDirection:"column",children:[OA("box",{flexDirection:"row",height:1,children:[B("text",{width:Ua,fg:m.grey,content:X.label}),B("text",{width:1,fg:m.border,content:"\u2502"}),B("text",{width:1,content:" "}),B("text",{width:X.value.length,fg:X.color??m.fallback,content:X.value})]}),B("box",{height:1,flexDirection:"row",children:B("text",{fg:m.border,content:N})}),T===M.length-1&&Y.length>0&&B("text",{content:"",height:1})]},X.label)),Y.length>0&&B("text",{fg:m.grey,attributes:aA.BOLD,content:"Classification"}),Y.map((X,T)=>OA("box",{flexDirection:"column",children:[OA("box",{flexDirection:"row",height:1,children:[B("text",{width:Ua,fg:m.grey,content:X.kind}),B("text",{width:1,fg:m.border,content:"\u2502"}),B("text",{width:1,content:" "}),B("text",{width:X.value.length,fg:m.fallback,content:X.value})]}),B("box",{height:1,flexDirection:"row",children:B("text",{fg:m.border,content:N})})]},`${X.kind}:${X.value}:${T}`))]})})}),B("text",{height:1,flexShrink:0,fg:m.grey,content:"\u2190\u2192 scroll \xB7 q/Esc close \xB7 t attach"})]})}var Ua=12;var tL=zA(async()=>{K_();JE();bj();hq();await DE([fq(),B_(),Ka()])});function iL(A){let{width:q}=A,E=q<110,g=oE(A.iconMode)?"icons":A.iconMode==="text"?"text":"monogram",j=PL(A.sessions),a=0;if(E&&q<100)for(let H of A.rows){if(H.kind!=="session")continue;let N=j.get(H.session.id)??0,X=N>0?`[+${N}]`:"",T;if(g==="monogram"){let J=x_(H.session.tool);T=(J?D6(J).short.length:H.session.tool.length)+(X?X.length+1:0)}else if(g==="icons")T=p6.width+(X?X.length+1:0);else T=H.session.tool.length+(X?X.length+1:0);a=Math.max(a,T)}let Z=BL(q,g,a),G=Math.max(20,q-4),M=sL.useRef(void 0),Y=A.interactive&&A.onSelectSession?(H)=>(N)=>{if(N.button!==0)return;let X=Date.now(),T=M.current;if(T&&T.id===H.id&&X-T.time<500){M.current=void 0,A.onOpenSessionDetail?.(H);return}M.current={id:H.id,time:X},A.onSelectSession(H.id)}:void 0,Q=A.interactive&&A.onScrollSelection?(H)=>{A.onScrollSelection(H.scroll?.direction==="down"?1:-1)}:void 0;return OA("box",{position:"relative",flexDirection:"column",flexGrow:1,children:[A.mode==="search"&&B("box",{height:3,border:!0,borderColor:m.primary,title:"Search",paddingX:1,children:B("input",{focused:!0,value:A.filters.query,placeholder:"session, project, tool...",onInput:A.onQueryChange,onSubmit:A.onSearchSubmit})}),OA("box",{border:!0,borderColor:m.border,flexDirection:"column",flexGrow:1,paddingX:1,onMouseScroll:Q,children:[OA("box",{flexDirection:"row",height:1,children:[B("text",{width:2,content:""}),B("text",{width:Z.session,attributes:aA.BOLD,content:"Session"}),B("text",{width:Z.state,attributes:aA.BOLD,content:"St"}),B("text",{width:Z.tool,attributes:aA.BOLD,content:oE(A.iconMode)?"":"Tool",truncate:!0}),Z.summary>0&&B("text",{width:Z.summary,attributes:aA.BOLD,content:"Summary"})]}),A.rows.length===0&&B("text",{fg:m.grey,content:"No sessions detected"}),A.rows.map((H)=>{if(H.kind==="gap")return B("text",{content:""},H.projectKey);if(H.kind==="project-header"){let W=K6(H.projectName,Math.max(8,Z.session-6));return B("text",{fg:m.grey,attributes:aA.BOLD,content:` == ${W.padEnd(Math.max(8,Z.session-6))} ==`},`header:${H.projectKey}`)}let N=H.session.id===A.selectedSessionId,X=xL(H.session,A.spinnerFrame),T=E?j.get(H.session.id)??0:0,J=T>0?`[+${T}]`:"",V=x_(H.session.tool),I=J?`${H.session.tool.slice(0,Math.max(1,Z.tool-J.length-1))} ${J}`:H.session.tool;return OA("box",{backgroundColor:N?m.selection:void 0,flexDirection:"row",height:1,onMouseUp:Y?.(H.session),children:[B("text",{width:2,attributes:N?aA.BOLD:aA.NONE,content:N?"> ":" "}),B("text",{width:Z.session,fg:C6[H.session.state]??m.fallback,content:K6(WL(H.session,E),Z.session),truncate:!0}),B("text",{width:Z.state,fg:C6[H.session.state]??m.fallback,attributes:aA.BOLD,content:K6(X,Z.state),truncate:!0}),g==="icons"&&V?OA(kj,{children:[B(nE,{provider:V,mode:A.iconMode,size:p6}),B("text",{width:Z.tool-p6.width,fg:C6[H.session.state]??m.fallback,content:K6(J,Z.tool-p6.width),truncate:!0})]}):g==="monogram"&&V?B("text",{width:Z.tool,fg:XE(V),attributes:aA.BOLD,content:K6(J?`${D6(V).short} ${J}`:D6(V).short,Z.tool),truncate:!0}):B("text",{width:Z.tool,fg:C6[H.session.state]??m.fallback,content:K6(I,Z.tool),truncate:!0}),Z.summary>0&&B("text",{width:Z.summary,fg:C6[H.session.state]??m.fallback,content:K6(H.session.summary||"-",Z.summary),truncate:!0})]},H.session.id)})]}),A.usage&&B(uL,{usage:A.usage,width:q,iconMode:A.iconMode}),A.mode==="detail"&&A.detail&&B(dL,{detail:A.detail,iconMode:A.iconMode,width:q}),A.mode==="message"&&A.message&&B("box",{position:"absolute",top:"35%",left:"15%",width:"70%",height:7,title:"scrylog",border:!0,borderColor:m.warning,backgroundColor:m.surface,padding:1,alignItems:"center",justifyContent:"center",zIndex:10,children:B("text",{fg:m.warning,content:A.message,wrapMode:"word"})})]})}var sL;var nL=zA(async()=>{K_();JE();bj();hq();await DE([fq(),pL(),B_(),tL(),Ka()]);sL=PA(Iq(),1)});function oL({view:A,onSelect:q}){return B("box",{height:1,flexDirection:"row",children:sB.map((E)=>{let g=E.view===A;return B("box",{backgroundColor:g?pB:void 0,flexDirection:"row",height:1,onMouseUp:q?(j)=>{if(j.button!==0)return;if(!g)q(E.view)}:void 0,children:B("text",{fg:g?dB:tB,attributes:g?aA.BOLD:aA.NONE,content:E.label})},E.view)})})}var pB,dB,tB,sB;var rL=zA(async()=>{JE();hq();await fq();pB=m.primary,dB=m.bgDark,tB=m.grey,sB=[{view:"sessions",label:" Sessions "},{view:"usage",label:" Usage "}]});function JQ(A){return eL.filter((q)=>q.scope==="global"||q.scope===A)}function AN(A){return JQ(A).filter((q)=>q.essential)}function qN(){return["global","sessions","usage"].map((q)=>({scope:q,bindings:eL.filter((E)=>E.scope===q)})).filter((q)=>q.bindings.length>0)}var eL;var XQ=zA(()=>{eL=[{key:"Tab",description:"Switch tab",scope:"global",essential:!0},{key:"q",description:"Quit",scope:"global",essential:!0},{key:"r",description:"Refresh",scope:"global"},{key:"s",description:"Open the sessions tab",scope:"global",essential:!0,footer:!1},{key:"u",description:"Open the usage tab",scope:"global",essential:!0,footer:!1},{key:"?",description:"Keybindings",scope:"global",essential:!0},{key:"j / Down",description:"Next session",scope:"sessions"},{key:"k / Up",description:"Prev session",scope:"sessions"},{key:"Enter",description:"Detail",scope:"sessions"},{key:"t",description:"Attach",scope:"sessions"},{key:"/",description:"Search",scope:"sessions"},{key:"a",description:"Actionable filter",scope:"sessions"},{key:"f",description:"Cycle filters",scope:"sessions"},{key:"Esc",description:"Clear selection or close overlay",scope:"sessions"},{key:"Click",description:"Select a session",scope:"sessions",footer:!1},{key:"2x Click",description:"Open session detail",scope:"sessions",footer:!1},{key:"Scroll",description:"Select next or previous session",scope:"sessions",footer:!1},{key:"Click tab",description:"Switch tabs",scope:"global",footer:!1}]});function nB({binding:A,separator:q}){return OA("box",{flexDirection:"row",height:1,flexShrink:0,gap:1,children:[B("text",{fg:iB,attributes:aA.BOLD,content:A.key}),B("text",{fg:gU,content:A.description}),q&&B("text",{fg:gU,content:q})]})}function EN({view:A,width:q,context:E}){let g=JQ(A).filter((J)=>J.footer!==!1),j=AN(A).filter((J)=>J.footer!==!1),a=q<110,Z=a?j:g,G=E?`${Ga}${E}`:"",M=Math.max(0,g.length-j.length),Y=a&&M>0?Ga.length+`+${M} more (?)`.length:0,Q=Math.max(0,q-2-G.length-Y),H=[],N=0;for(let J of Z){let V=J.key.length+1+J.description.length+(H.length>0?Ga.length:0);if(H.length>0&&N+V>Q)break;H.push(J),N+=V}let X=g.length-H.length,T=X>0?`+${X} more (?)`:null;return OA("box",{height:1,flexDirection:"row",width:Math.max(1,q-1),paddingX:1,flexShrink:0,children:[H.map((J,V)=>B(nB,{binding:J,separator:V<H.length-1?Ga:void 0},J.key)),T&&B("text",{fg:gU,content:`${Ga}${T}`}),E&&B("text",{flexGrow:1,fg:gU,content:K6(G,Math.max(1,q-2-N)),truncate:!0})]})}var iB,gU,Ga=" \xB7 ";var gN=zA(async()=>{K_();XQ();JE();hq();await fq();iB=m.primary,gU=m.grey});function _N({width:A,iconMode:q}){let E=qN(),g=oE(q);return OA("box",{position:"absolute",top:"8%",left:"10%",width:"80%",height:"70%",title:"Keybindings",border:!0,borderColor:m.primary,backgroundColor:m.surface,flexDirection:"column",padding:1,zIndex:20,children:[B("box",{flexGrow:1,overflow:"hidden",flexDirection:"column",children:OA("scrollbox",{flexGrow:1,height:"100%",scrollY:!0,focused:!0,children:[E.map((j)=>OA("box",{flexDirection:"column",children:[B("text",{fg:m.grey,attributes:aA.BOLD,content:`\u2500\u2500 ${j.scope==="global"?"Global":j.scope==="sessions"?"Sessions tab":"Usage tab"} \u2500\u2500`}),j.bindings.map((a)=>OA("box",{flexDirection:"row",height:1,children:[B("text",{width:Math.min(14,Math.max(10,Math.floor(A*0.2))),fg:m.primary,attributes:aA.BOLD,content:a.key}),B("text",{fg:m.grey,content:a.description})]},`${j.scope}:${a.key}`)),B("text",{height:1,content:""})]},j.scope)),g&&OA("box",{flexDirection:"column",children:[B("text",{fg:m.grey,attributes:aA.BOLD,content:"\u2500\u2500 Tool icons \u2500\u2500"}),oB.map((j)=>{let a=x_(j.tool),Z=Math.min(14,Math.max(10,Math.floor(A*0.2)));return OA("box",{flexDirection:"row",height:1,children:[a?B(nE,{provider:a,mode:q,size:p6}):B("box",{width:p6.width}),B("text",{fg:m.grey,content:` ${j.label}`})]},j.tool)}),B("text",{height:1,content:""})]})]})}),B("text",{height:1,flexShrink:0,fg:m.grey,content:"Press q or Esc to close."})]})}var oB;var jN=zA(async()=>{XQ();JE();hq();await DE([fq(),B_(),Ka()]);oB=[{tool:"claude",label:"Claude"},{tool:"codex",label:"Codex"},{tool:"opencode",label:"OpenCode"},{tool:"copilotcli",label:"Copilot CLI"},{tool:"shell",label:"Shell"},{tool:"unknown",label:"Unknown"}]});function _U(A){return 6}function aN(A){let q={working:0,idle:0,"waiting-input":0,error:0,shell:0,unknown:0};for(let E of A)if(E.state in q)q[E.state]+=1;else q.unknown+=1;return q}function _x({sessions:A,spinnerFrame:q,showSeparator:E,narrow:g,usable:j,allowIdle:a,stretch:Z}){let G=aN(A),M=[{state:"working",label:"working",count:G.working??0,spinnerFrame:q},{state:"waiting-input",label:"input",count:(G["waiting-input"]??0)+(G.error??0),spinnerFrame:q},{state:"idle",label:"idle",count:G.idle??0,spinnerFrame:q}];if(g)M=M.filter((H)=>{if(H.state==="working")return!0;if(H.state==="waiting-input")return j>=eB;return a&&H.count>0});if(M.length===0)return null;let Y=Z?j:M.length*LQ+(M.length-1),Q=Z?Math.floor((j-1)/2):LQ;return OA("box",{flexDirection:"column",height:E?5:4,children:[B("box",{flexDirection:"row",height:4,gap:1,children:M.map((H)=>B(jx,{...H,tileWidth:Q},H.state))}),E&&B(Fx,{width:Y})]})}function jx({state:A,label:q,count:E,spinnerFrame:g,tileWidth:j=LQ}){let a=E>0,Z=a?C6[A]:void 0,G=a?m.bgDark:C6[A],M=a?Fa(A,g):Fa(A);return OA("box",{width:j,height:4,backgroundColor:Z,flexDirection:"column",justifyContent:"center",alignItems:"center",children:[B("text",{attributes:aA.BOLD,fg:G,content:`${E}`,maxWidth:j}),B("text",{fg:G,content:`${M} ${q}`,maxWidth:j})]})}function Fx({width:A}){return B("box",{height:1,children:B("text",{fg:m.border,content:"\u2500".repeat(A)})})}function FN({state:A,count:q,spinnerFrame:E,width:g}){let j=A==="waiting-input"?"input":A;return B("text",{width:g,fg:C6[A]??m.grey,content:`${Fa(A,E)} (${j}): ${q}`})}function ax({sessions:A,spinnerFrame:q,narrow:E,usable:g}){let j=aN(A),a=g-1,Z=(Q)=>{if(!E)return!0;if(a<Q)return!1;return a-=Q,!0},G=Z(15),M=Z(14),Y=Z(10);return OA("box",{flexDirection:"row",height:1,paddingLeft:1,children:[G&&B(FN,{state:"shell",count:j.shell??0,spinnerFrame:q,width:15}),M&&B(FN,{state:"unknown",count:j.unknown??0,spinnerFrame:q,width:14}),Y&&B("text",{width:12,content:` total: ${A.length}`})]})}function Kx(){return B("box",{flexDirection:"column",height:5,children:NL.art.map((A,q)=>B("text",{fg:A.fg,content:A.content},q))})}function Gx({width:A}){if(A<72)return OA("box",{flexDirection:"row",children:[B("text",{attributes:aA.BOLD,fg:m.primary,content:" SCRY"}),B("text",{attributes:aA.BOLD,content:"LOG"})]});return OA("box",{flexDirection:"row",children:[B("text",{height:2,fg:m.primary,content:Zx}),B("text",{height:2,fg:m.grey,content:Ux})]})}function Mx({connected:A,mismatch:q,narrow:E,width:g}){if(!A)return B("box",{height:1,children:B("text",{fg:m.danger,content:" \u25CF daemon disconnected"})});if(!q)return null;let j=g<26?" restart daemon":E?" scrylog daemon restart":q.daemonVersion?` daemon ${q.daemonVersion} != CLI ${q.cliVersion} \xB7 scrylog daemon restart`:" old daemon \xB7 scrylog daemon restart";return B("box",{height:1,children:B("text",{fg:m.warning,content:j})})}function KN(A){let q=A.width<110,E=Math.floor(Math.max(20,A.width-2)/2),g=!q||A.width>=qx,j=!q||A.width>=gx,a=g?Ex:Ax,Z=q?Math.max(0,A.width-(j?a+1:0)-2):A.width,G=j&&Z>=rB,M=!A.connected||Boolean(A.versionMismatch),Y=`${q?"n":"w"}-${g?"m":"-"}-${j?"l":"-"}`;return B("box",{height:_U(A.width),flexDirection:"column",children:OA("box",{flexDirection:"row",height:6,children:[j&&OA("box",{width:q?a:E,flexShrink:0,flexDirection:"row",gap:1,paddingLeft:1,children:[B(Kx,{}),g&&B("box",{flexDirection:"column",justifyContent:"center",children:B(Gx,{width:A.width})})]}),OA("box",{...q?{width:Math.max(0,A.width-(j?a:0))}:{flexGrow:1},flexDirection:"column",justifyContent:"flex-start",alignItems:"flex-end",paddingRight:2,children:[B(Mx,{connected:A.connected,mismatch:A.versionMismatch,narrow:q,width:A.width}),B(_x,{sessions:A.sessions,spinnerFrame:A.spinnerFrame,showSeparator:!M,narrow:q,usable:Z,allowIdle:G,stretch:q&&!j}),B(ax,{sessions:A.sessions,spinnerFrame:A.spinnerFrame,narrow:q,usable:Z})]})]},Y)})}var LQ=13,rB=42,eB=27,Ax=16,qx=85,Ex=39,gx=46,Zx=` \u2588\u2580 \u2588\u2580\u2580 \u2588\u2580\u2588 \u2588\u2584\u2588
295
+ \u2584\u2588 \u2588\u2584\u2584 \u2588\u2580\u2584 \u2591\u2588\u2591`,Ux=` \u2588\u2591 \u2588\u2580\u2588 \u2588\u2580\u2580
296
+ \u2588\u2584 \u2588\u2584\u2588 \u2588\u2584\u2588`;var ZN=zA(async()=>{JE();bj();hq();await fq()});function UN({client:A,options:q,config:E,versionMismatch:g,onExit:j,onAttach:a}){let{width:Z,height:G}=JL(),M=Math.max(1,G-_U(Z)-2),[Y,Q]=d6.useReducer(DL,CL),[H,N]=d6.useState(0),X=d6.useRef(Y),T=d6.useRef([]),J=d6.useRef(null),V=d6.useRef(new Map);X.current=Y,d6.useEffect(()=>{let d=!0,p=async()=>{let[$A,SA]=await Promise.all([A.getStatusSummary(q.includeUnknown),A.getSessions(q.includeUnknown)]);if(!d)return;if(!$A||!SA){Q({type:"connection",connected:!1});return}V.current=new Map(SA.sessions.map((i)=>[i.id,i.state])),Q({type:"sessions-loaded",sessions:SA.sessions,counts:$A.counts})},QA=async()=>{let $A=await A.getUsage();if(d&&$A)Q({type:"usage-loaded",usage:$A});await p()},GA=($A)=>{if(J.current)clearTimeout(J.current);if($A||E.tui.pushDebounceMs<=0){J.current=null,p();return}J.current=setTimeout(()=>{J.current=null,p()},E.tui.pushDebounceMs)},jq=($A)=>{if($A.type==="connected")Q({type:"connection",connected:!0}),QA();else if($A.type==="disconnected")Q({type:"connection",connected:!1});else if($A.type==="usage:updated")Q({type:"usage-loaded",usage:$A.usage});else if($A.type==="session:added"||$A.type==="session:removed")GA(!0);else if($A.type==="session:updated"){let SA=V.current.get($A.session.id);GA(SA===void 0||SA!==$A.session.state)}};QA();let iA=setInterval(()=>void QA(),q.refreshMs),Dq=E.tui.usePushUpdates?A.subscribeEvents(jq):void 0;return()=>{if(d=!1,clearInterval(iA),Dq?.(),J.current)clearTimeout(J.current);J.current=null}},[A,E.tui.pushDebounceMs,E.tui.usePushUpdates,q.includeUnknown,q.refreshMs]),d6.useEffect(()=>{if(Y.view!=="sessions")return;let d=setInterval(()=>N((p)=>(p+1)%10),180);return()=>clearInterval(d)},[Y.view]);let I=RL(Y.sessions,Y.filters,E.tui.standaloneMaxAgeHours),W=hL(I,Z<110);T.current=W;let C=Y.view==="sessions"&&Y.usage?3:0,c=SL(W,Y.selectedSessionId,Math.max(4,G-_U(Z)-C-(Y.mode==="search"?8:5))),D=async(d)=>{if(!d)return;let p=await A.getSessionDetail(d.id)??{...d};Q({type:"detail",session:p})},v=(d)=>{if(!d)return;let p=zL(d,c7());if(!p){Q({type:"message",message:d.source==="herdr"?"Herdr attach is unavailable because this pane has no terminal ID.":"Attach is only available for sessions running inside tmux or herdr."});return}a(p,d.id)};$L((d)=>{let p=X.current,QA=p.sessions.find((GA)=>GA.id===p.selectedSessionId);if(d.ctrl&&d.name==="c"||d.name==="q"&&p.mode==="list")return j();if(p.mode==="search"){if(d.name==="escape"||d.name==="return"||d.name==="enter")Q({type:"close-overlay"});return}if(p.mode==="detail"||p.mode==="message"||p.mode==="bindings"){if(d.name==="escape"||d.name==="q")Q({type:"close-overlay"});if(d.name==="t"&&p.detail)v(p.detail);return}if(d.name==="tab"){Q({type:"view",view:d.shift?"sessions":p.view==="sessions"?"usage":"sessions"});return}if(d.name==="u")return Q({type:"view",view:"usage"});if(d.name==="s")return Q({type:"view",view:"sessions"});if(d.name==="r"){Promise.all([A.getStatusSummary(q.includeUnknown),A.getSessions(q.includeUnknown),A.getUsage()]).then(([GA,jq,iA])=>{if(GA&&jq)Q({type:"sessions-loaded",sessions:jq.sessions,counts:GA.counts});if(iA)Q({type:"usage-loaded",usage:iA})});return}if(d.name==="?")return Q({type:"bindings"});if(p.view!=="sessions")return;if(d.name==="up"||d.name==="k")return Q({type:"select",id:rZ(T.current,p.selectedSessionId,-1)});if(d.name==="down"||d.name==="j")return Q({type:"select",id:rZ(T.current,p.selectedSessionId,1)});if(d.name==="escape")return Q({type:"select",id:void 0});if(d.name==="return"||d.name==="enter")return void D(QA);if(d.name==="t")return v(QA);if(d.name==="/")return Q({type:"search"});if(d.name==="a")return Q({type:"toggle-actionable"});if(d.name==="f")return Q({type:"cycle-filters"})});let k=[Y.filters.query?`q=${Y.filters.query}`:null,Y.filters.actionableOnly?"actionable":null,Y.filters.tool!=="all"?`tool=${Y.filters.tool}`:null,Y.filters.state!=="all"?`state=${Y.filters.state}`:null].filter(Boolean).join(" "),u=Y.sessions.find((d)=>d.id===Y.selectedSessionId);return OA("box",{width:"100%",height:"100%",flexDirection:"column",children:[B(KN,{sessions:Y.sessions,connected:Y.daemonConnected,spinnerFrame:H,width:Z,versionMismatch:g}),B(oL,{view:Y.view,onSelect:(d)=>Q({type:"view",view:d})}),B("box",{position:Y.view==="sessions"?"relative":"absolute",top:Y.view==="sessions"?0:G+2,width:"100%",height:M,children:B(iL,{rows:c,sessions:Y.sessions,selectedSessionId:Y.selectedSessionId,filters:Y.filters,mode:Y.mode,detail:Y.detail,message:Y.message,usage:Y.usage,iconMode:E.tui.providerIcons,spinnerFrame:H,width:Z,interactive:Y.mode==="list"&&Y.view==="sessions",onQueryChange:(d)=>Q({type:"query",query:d}),onSearchSubmit:()=>Q({type:"close-overlay"}),onSelectSession:(d)=>Q({type:"select",id:d}),onOpenSessionDetail:(d)=>void D(d),onScrollSelection:(d)=>Q({type:"select",id:rZ(T.current,X.current.selectedSessionId,d)})})}),B("box",{position:Y.view==="usage"?"relative":"absolute",top:Y.view==="usage"?0:G+2,width:"100%",height:M,children:B(bL,{usage:Y.usage,width:Z,iconMode:E.tui.providerIcons,hidden:Y.view!=="usage"})}),B(EN,{view:Y.view,width:Z,context:Y.view==="sessions"?`${u?`${u.tool} ${u.state} ${u.project?.compactLabel??u.id}`:"no selection"}${k?` ${k}`:""}`:void 0}),Y.mode==="bindings"&&B(_N,{width:Z,iconMode:E.tui.providerIcons})]})}var d6;var GN=zA(async()=>{bj();yL();K_();hq();await DE([MQ(),nL(),B_(),rL(),gN(),jN(),ZN()]);d6=PA(Iq(),1)});function Yx(){return{working:0,idle:0,"waiting-input":0,error:0,shell:0,unknown:0}}function Qx(){return{opencode:0,claude:0,codex:0,copilotcli:0,shell:0,unknown:0}}function Hx(A,q){return A.tool==="codex"&&A.source==="standalone"&&A.detectionSource==="codex-hook"&&A.state==="idle"&&A.currentPath==="/"&&!A.codex?.transcriptPath&&!A.parentSessionId&&(A.childSessionIds?.length??0)===0&&q-A.lastActivity>$x}function NQ(A,q,E,g){if(A.tool==="unknown"&&!g.includeUnknown)return!1;if(A.parentSessionId)return A.state==="working"||A.state==="waiting-input";if(Hx(A,E))return!1;let j=q.tui.standaloneMaxAgeHours>0?E-q.tui.standaloneMaxAgeHours*3600000:0;if(j>0&&A.source==="standalone"&&A.lastActivity<j)return!1;return!0}function Tx(A){if(!A)return;return{displayName:A.displayName,compactLabel:A.compactLabel,branch:A.branch,isGitRepository:A.isGitRepository,sourcePath:A.sourcePath,gitRootPath:A.gitRootPath,repositoryIdentityPath:A.repositoryIdentityPath}}function Xx(A){if(A.tmux)return A.paneTitle?.trim()||A.tmux.windowName?.trim()||A.tmux.session?.trim()||void 0;if(A.herdr)return A.herdr.name?.trim()||A.herdr.tab?.trim()||A.herdr.agent?.trim()||A.herdr.paneId||void 0;return}function Lx(A,q,E){if(A.state==="idle"&&!A.parentSessionId){if(q>0)return"working";if(A.lastChildActiveAt&&E-A.lastChildActiveAt<Jx)return"working"}return A.state}function Nx(A,q,E){if(q==="working"&&A.lastWorkingChangedAt)return Math.max(0,E-A.lastWorkingChangedAt);if(A.stateChangedAt)return Math.max(0,E-A.stateChangedAt);return A.stableForMs??Math.max(0,E-A.lastActivity)}function MN(A,q,E,g){let j=Lx(A,E,g);return{id:A.id,source:A.source,tool:A.tool,state:j,summary:A.summary,lastActivity:A.lastActivity,stableForMs:Nx(A,j,g),hasAttention:A.hasAttention,detectionSource:A.detectionSource,parentSessionId:A.parentSessionId,displayName:Xx(A),project:Tx(A.project),tmux:A.tmux?{...A.tmux}:void 0,herdr:A.herdr?{paneId:A.herdr.paneId,terminalId:A.herdr.terminalId,workspaceId:A.herdr.workspaceId,workspace:A.herdr.workspace,tabId:A.herdr.tabId,tab:A.herdr.tab,name:A.herdr.name,agent:A.herdr.agent}:void 0,currentPath:A.currentPath,activeTool:A.activeTool,childCount:q,activeChildCount:E}}function VQ(A){let q=[];for(let E of A){let{children:g,...j}=E;q.push(j),q.push(...E.children)}return q}function Uw(A,q,E=Date.now(),g={}){let j=new Map(A.map((X)=>[X.id,X])),a=new Map,Z=new Map,G=new Map;for(let X of A){if(X.parentSessionId){let T=a.get(X.parentSessionId)??[];if(T.push(X),a.set(X.parentSessionId,T),NQ(X,q,E,g)){let J=Z.get(X.parentSessionId)??[];J.push(X),Z.set(X.parentSessionId,J);let V=j.get(X.parentSessionId);if(V&&NQ(V,q,E,g))G.set(V.id,V)}continue}if(NQ(X,q,E,g))G.set(X.id,X)}let Y=[...G.values()].sort((X,T)=>T.lastActivity-X.lastActivity).map((X)=>{let T=(Z.get(X.id)??[]).sort((V,I)=>I.lastActivity-V.lastActivity),J=a.get(X.id)??[];return{...MN(X,J.length,T.length,E),children:T.map((V)=>MN(V,0,0,E))}}),Q=VQ(Y),H=Yx(),N=Qx();for(let X of Q)H[X.state]+=1,N[X.tool]+=1;return{counts:{total:A.length,visible:Q.length,rootsVisible:Y.length,childrenVisible:Q.filter((X)=>Boolean(X.parentSessionId)).length,byState:H,byTool:N},sessions:Y}}var $x=30000,Jx=1500;class RQ{fetch;constructor(A,q){this.fetch=LK({host:A.api.host,port:A.api.port,socketPath:q??(k6?void 0:Gj(A.daemon.socketPath)),bearerToken:A.api.bearerToken})}async getStatusSummary(A=!1){try{let q=await this.fetch(A?"/api/status?includeUnknown=true":"/api/status");if(!q.ok)return null;return await q.json()}catch{return null}}async getHealth(){try{let A=await this.fetch("/api/health");if(!A.ok)return null;let q=await A.json();if(q.ok!==!0)return null;return q}catch{return null}}async getSessions(A=!1){try{let q=await this.fetch(A?"/api/sessions?includeUnknown=true":"/api/sessions");if(!q.ok)return null;let E=await q.json();return{sessions:VQ(E.sessions),counts:E.counts,generatedAt:E.generatedAt}}catch{return null}}async getSessionDetail(A){try{let q=await this.fetch(`/api/sessions/${encodeURIComponent(A)}`);if(!q.ok)return null;return(await q.json()).session}catch{return null}}async getUsage(){try{let A=await this.fetch("/api/usage");if(!A.ok)return null;return await A.json()}catch{return null}}subscribeEvents(A){let q=!1,E=new AbortController,g=null,j=1000,a=async()=>{if(q)return;try{let G=await this.fetch("/api/events",{signal:E.signal,headers:{Accept:"text/event-stream"}});if(!G.ok||!G.body){if(!q)A({type:"disconnected"});return}A({type:"connected"}),j=1000;let M=G.body.getReader(),Y=new TextDecoder,Q="";while(!q){let{value:H,done:N}=await M.read();if(N)break;Q+=Y.decode(H,{stream:!0});let X=Q.split(`
297
+ `);Q=X.pop()??"";for(let T of X)if(T.startsWith("data: "))try{let J=JSON.parse(T.slice(6));A(J)}catch{}}}catch(G){if(!q)A({type:"disconnected"})}},Z=()=>{if(q||g)return;g=setTimeout(()=>{g=null,a().then(()=>{if(!q)Z()})},j),j=Math.min(j*1.5,5000)};return a().then(()=>{if(!q)Z()}),()=>{if(q=!0,E.abort(),g)clearTimeout(g),g=null}}}var ON=zA(()=>{qM();aj()});var HN={};uR(HN,{printDaemonVersionMismatch:()=>YN,printDaemonNotRunning:()=>$N,mountDashboard:()=>QN,launchTui:()=>Vx});async function Vx(A,q=!1){let E=a_(A),g=new RQ(E),j=await g.getHealth();if(!j){$N(E,Uj().platform),process.exitCode=1;return}let a=uG(Hg(),j.version);if(a)YN(a);let Z=await FY({exitOnCtrlC:!1});await QN(Z,(G)=>{let M=(Y,Q)=>{if(G(),Bun.spawnSync(Y,{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exitCode!==0)process.stderr.write(`Could not enter session ${Q}
298
+ `),process.exitCode=1};return B(UN,{client:g,options:{refreshMs:E.tui.refreshMs,includeUnknown:q},config:E,versionMismatch:a,onExit:G,onAttach:M})})}function YN(A){if(A.daemonVersion){process.stderr.write(`scrylog: daemon version mismatch (CLI ${A.cliVersion}, daemon ${A.daemonVersion}).
299
+ Restart it to activate the installed version: scrylog daemon restart
300
+ For a foreground or unsupported service, stop it and run: scrylogd
301
+ Release notes: https://github.com/scrylog/scrylog/releases/tag/v${A.cliVersion}
302
+
303
+ `);return}process.stderr.write(`scrylog: the running daemon is from an older version.
304
+ Restart it to activate the installed version: scrylog daemon restart
305
+ For a foreground or unsupported service, stop it and run: scrylogd
306
+ If integrations misbehave after updating, run: scrylog setup
307
+
308
+ `)}async function QN(A,q){let E=GQ(A);await new Promise((g)=>{let j=!1,a=()=>{if(j)return;j=!0,E.unmount(),A.destroy(),g()};E.render(q(a))})}function $N(A,q){let E=A.daemon.logFilePath,g=q==="macos"||q==="linux";if(process.stderr.write(`scrylog: daemon is not running.
309
+
310
+ `),process.stderr.write(`Verify:
311
+ scrylog daemon status
312
+ scrylog doctor
313
+
314
+ `),process.stderr.write(`Start it (pick one):
315
+ `),g)process.stderr.write(` scrylog daemon start # user service
316
+ `),process.stderr.write(` scrylog daemon install # if the service is not installed yet
317
+ `);if(process.stderr.write(` scrylogd # foreground
318
+
319
+ Logs:
320
+ scrylog logs
321
+ ${E}
322
+ `),!g){let j=q==="wsl"?"Service management is unavailable (WSL without systemd). Run scrylogd directly or enable systemd in /etc/wsl.conf.":q==="linux-no-systemd"?"Service management is unavailable (no systemd user session). Run scrylogd directly.":"Service management is unavailable on this platform. Run scrylogd directly or use Task Scheduler.";process.stderr.write(`
323
+ ${j}
324
+ `)}}var TN=zA(async()=>{TK();AM();MK();ON();hq();await DE([fq(),MQ(),GN()])});class yE extends Error{constructor(A,q,E){super(E);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=q,this.exitCode=A,this.nestedError=void 0}}class gj extends yE{constructor(A){super(1,"commander.invalidArgument",A);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}class KK{constructor(A,q){switch(this.description=q||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,A[0]){case"<":this.required=!0,this._name=A.slice(1,-1);break;case"[":this.required=!1,this._name=A.slice(1,-1);break;default:this.required=!0,this._name=A;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(A,q){if(q===this.defaultValue||!Array.isArray(q))return[A];return q.push(A),q}default(A,q){return this.defaultValue=A,this.defaultValueDescription=q,this}argParser(A){return this.parseArg=A,this}choices(A){return this.argChoices=A.slice(),this.parseArg=(q,E)=>{if(!this.argChoices.includes(q))throw new gj(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(q,E);return q},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function ZK(A){let q=A.name()+(A.variadic===!0?"...":"");return A.required?"<"+q+">":"["+q+"]"}import{EventEmitter as sR}from"events";import lG from"child_process";import mE from"path";import GK from"fs";import kA from"process";import{stripVTControlCharacters as iR}from"util";import{stripVTControlCharacters as pR}from"util";class UK{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(A){this.helpWidth=this.helpWidth??A.helpWidth??80}visibleCommands(A){let q=A.commands.filter((g)=>!g._hidden),E=A._getHelpCommand();if(E&&!E._hidden)q.push(E);if(this.sortSubcommands)q.sort((g,j)=>{return g.name().localeCompare(j.name())});return q}compareOptions(A,q){let E=(g)=>{return g.short?g.short.replace(/^-/,""):g.long.replace(/^--/,"")};return E(A).localeCompare(E(q))}visibleOptions(A){let q=A.options.filter((g)=>!g.hidden),E=A._getHelpOption();if(E&&!E.hidden){let g=E.short&&A._findOption(E.short),j=E.long&&A._findOption(E.long);if(!g&&!j)q.push(E);else if(E.long&&!j)q.push(A.createOption(E.long,E.description));else if(E.short&&!g)q.push(A.createOption(E.short,E.description))}if(this.sortOptions)q.sort(this.compareOptions);return q}visibleGlobalOptions(A){if(!this.showGlobalOptions)return[];let q=[];for(let E=A.parent;E;E=E.parent){let g=E.options.filter((j)=>!j.hidden);q.push(...g)}if(this.sortOptions)q.sort(this.compareOptions);return q}visibleArguments(A){if(A._argsDescription)A.registeredArguments.forEach((q)=>{q.description=q.description||A._argsDescription[q.name()]||""});if(A.registeredArguments.find((q)=>q.description))return A.registeredArguments;return[]}subcommandTerm(A){let q=A.registeredArguments.map((E)=>ZK(E)).join(" ");return A._name+(A._aliases[0]?"|"+A._aliases[0]:"")+(A.options.length?" [options]":"")+(q?" "+q:"")}optionTerm(A){return A.flags}argumentTerm(A){return A.name()}longestSubcommandTermLength(A,q){return q.visibleCommands(A).reduce((E,g)=>{return Math.max(E,this.displayWidth(q.styleSubcommandTerm(q.subcommandTerm(g))))},0)}longestOptionTermLength(A,q){return q.visibleOptions(A).reduce((E,g)=>{return Math.max(E,this.displayWidth(q.styleOptionTerm(q.optionTerm(g))))},0)}longestGlobalOptionTermLength(A,q){return q.visibleGlobalOptions(A).reduce((E,g)=>{return Math.max(E,this.displayWidth(q.styleOptionTerm(q.optionTerm(g))))},0)}longestArgumentTermLength(A,q){return q.visibleArguments(A).reduce((E,g)=>{return Math.max(E,this.displayWidth(q.styleArgumentTerm(q.argumentTerm(g))))},0)}commandUsage(A){let q=A._name;if(A._aliases[0])q=q+"|"+A._aliases[0];let E="";for(let g=A.parent;g;g=g.parent)E=g.name()+" "+E;return E+q+" "+A.usage()}commandDescription(A){return A.description()}subcommandDescription(A){return A.summary()||A.description()}optionDescription(A){let q=[];if(A.argChoices)q.push(`choices: ${A.argChoices.map((E)=>JSON.stringify(E)).join(", ")}`);if(A.defaultValue!==void 0){if(A.required||A.optional||A.isBoolean()&&typeof A.defaultValue==="boolean")q.push(`default: ${A.defaultValueDescription||JSON.stringify(A.defaultValue)}`)}if(A.presetArg!==void 0&&A.optional)q.push(`preset: ${JSON.stringify(A.presetArg)}`);if(A.envVar!==void 0)q.push(`env: ${A.envVar}`);if(q.length>0){let E=`(${q.join(", ")})`;if(A.description)return`${A.description} ${E}`;return E}return A.description}argumentDescription(A){let q=[];if(A.argChoices)q.push(`choices: ${A.argChoices.map((E)=>JSON.stringify(E)).join(", ")}`);if(A.defaultValue!==void 0)q.push(`default: ${A.defaultValueDescription||JSON.stringify(A.defaultValue)}`);if(q.length>0){let E=`(${q.join(", ")})`;if(A.description)return`${A.description} ${E}`;return E}return A.description}formatItemList(A,q,E){if(q.length===0)return[];return[E.styleTitle(A),...q,""]}groupItems(A,q,E){let g=new Map;return A.forEach((j)=>{let a=E(j);if(!g.has(a))g.set(a,[])}),q.forEach((j)=>{let a=E(j);if(!g.has(a))g.set(a,[]);g.get(a).push(j)}),g}formatHelp(A,q){let E=q.padWidth(A,q),g=q.helpWidth??80;function j(Q,H){return q.formatItem(Q,E,H,q)}let a=[`${q.styleTitle("Usage:")} ${q.styleUsage(q.commandUsage(A))}`,""],Z=q.commandDescription(A);if(Z.length>0)a=a.concat([q.boxWrap(q.styleCommandDescription(Z),g),""]);let G=q.visibleArguments(A).map((Q)=>{return j(q.styleArgumentTerm(q.argumentTerm(Q)),q.styleArgumentDescription(q.argumentDescription(Q)))});if(a=a.concat(this.formatItemList("Arguments:",G,q)),this.groupItems(A.options,q.visibleOptions(A),(Q)=>Q.helpGroupHeading??"Options:").forEach((Q,H)=>{let N=Q.map((X)=>{return j(q.styleOptionTerm(q.optionTerm(X)),q.styleOptionDescription(q.optionDescription(X)))});a=a.concat(this.formatItemList(H,N,q))}),q.showGlobalOptions){let Q=q.visibleGlobalOptions(A).map((H)=>{return j(q.styleOptionTerm(q.optionTerm(H)),q.styleOptionDescription(q.optionDescription(H)))});a=a.concat(this.formatItemList("Global Options:",Q,q))}return this.groupItems(A.commands,q.visibleCommands(A),(Q)=>Q.helpGroup()||"Commands:").forEach((Q,H)=>{let N=Q.map((X)=>{return j(q.styleSubcommandTerm(q.subcommandTerm(X)),q.styleSubcommandDescription(q.subcommandDescription(X)))});a=a.concat(this.formatItemList(H,N,q))}),a.join(`
325
+ `)}displayWidth(A){return pR(A).length}styleTitle(A){return A}styleUsage(A){return A.split(" ").map((q)=>{if(q==="[options]")return this.styleOptionText(q);if(q==="[command]")return this.styleSubcommandText(q);if(q[0]==="["||q[0]==="<")return this.styleArgumentText(q);return this.styleCommandText(q)}).join(" ")}styleCommandDescription(A){return this.styleDescriptionText(A)}styleOptionDescription(A){return this.styleDescriptionText(A)}styleSubcommandDescription(A){return this.styleDescriptionText(A)}styleArgumentDescription(A){return this.styleDescriptionText(A)}styleDescriptionText(A){return A}styleOptionTerm(A){return this.styleOptionText(A)}styleSubcommandTerm(A){return A.split(" ").map((q)=>{if(q==="[options]")return this.styleOptionText(q);if(q[0]==="["||q[0]==="<")return this.styleArgumentText(q);return this.styleSubcommandText(q)}).join(" ")}styleArgumentTerm(A){return this.styleArgumentText(A)}styleOptionText(A){return A}styleArgumentText(A){return A}styleSubcommandText(A){return A}styleCommandText(A){return A}padWidth(A,q){return Math.max(q.longestOptionTermLength(A,q),q.longestGlobalOptionTermLength(A,q),q.longestSubcommandTermLength(A,q),q.longestArgumentTermLength(A,q))}preformatted(A){return/\n[^\S\r\n]/.test(A)}formatItem(A,q,E,g){let a=" ".repeat(2);if(!E)return a+A;let Z=A.padEnd(q+A.length-g.displayWidth(A)),G=2,Y=(this.helpWidth??80)-q-G-2,Q;if(Y<this.minWidthToWrap||g.preformatted(E))Q=E;else Q=g.boxWrap(E,Y).replace(/\n/g,`
326
+ `+" ".repeat(q+G));return a+Z+" ".repeat(G)+Q.replace(/\n/g,`
327
+ ${a}`)}boxWrap(A,q){if(q<this.minWidthToWrap)return A;let E=A.split(/\r\n|\n/),g=/[\s]*[^\s]+/g,j=[];return E.forEach((a)=>{let Z=a.match(g);if(Z===null){j.push("");return}let G=[Z.shift()],M=this.displayWidth(G[0]);Z.forEach((Y)=>{let Q=this.displayWidth(Y);if(M+Q<=q){G.push(Y),M+=Q;return}j.push(G.join(""));let H=Y.trimStart();G=[H],M=this.displayWidth(H)}),j.push(G.join(""))}),j.join(`
328
+ `)}}class HF{constructor(A,q){this.flags=A,this.description=q||"",this.required=A.includes("<"),this.optional=A.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(A),this.mandatory=!1;let E=dR(A);if(this.short=E.shortFlag,this.long=E.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(A,q){return this.defaultValue=A,this.defaultValueDescription=q,this}preset(A){return this.presetArg=A,this}conflicts(A){return this.conflictsWith=this.conflictsWith.concat(A),this}implies(A){let q=A;if(typeof A==="string")q={[A]:!0};return this.implied=Object.assign(this.implied||{},q),this}env(A){return this.envVar=A,this}argParser(A){return this.parseArg=A,this}makeOptionMandatory(A=!0){return this.mandatory=!!A,this}hideHelp(A=!0){return this.hidden=!!A,this}_collectValue(A,q){if(q===this.defaultValue||!Array.isArray(q))return[A];return q.push(A),q}choices(A){return this.argChoices=A.slice(),this.parseArg=(q,E)=>{if(!this.argChoices.includes(q))throw new gj(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(q,E);return q},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return L7(this.name().replace(/^no-/,""));return L7(this.name())}helpGroup(A){return this.helpGroupHeading=A,this}is(A){return this.short===A||this.long===A}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class cG{constructor(A){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,A.forEach((q)=>{if(q.negate)this.negativeOptions.set(q.attributeName(),q);else this.positiveOptions.set(q.attributeName(),q)}),this.negativeOptions.forEach((q,E)=>{if(this.positiveOptions.has(E))this.dualOptions.add(E)})}valueFromOption(A,q){let E=q.attributeName();if(!this.dualOptions.has(E))return!0;let g=this.negativeOptions.get(E).presetArg,j=g!==void 0?g:!1;return q.negate===(j===A)}}function L7(A){return A.split("-").reduce((q,E)=>{return q+E[0].toUpperCase()+E.slice(1)})}function dR(A){let q,E,g=/^-[^-]$/,j=/^--[^-]/,a=A.split(/[ |,]+/).concat("guard");if(g.test(a[0]))q=a.shift();if(j.test(a[0]))E=a.shift();if(!q&&g.test(a[0]))q=a.shift();if(!q&&j.test(a[0]))q=E,E=a.shift();if(a[0].startsWith("-")){let Z=a[0],G=`option creation failed due to '${Z}' in option flags '${A}'`;if(/^-[^-][^-]/.test(Z))throw Error(`${G}
329
+ - a short flag is a single dash and a single character
330
+ - either use a single dash and a single character (for a short flag)
331
+ - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(g.test(Z))throw Error(`${G}
332
+ - too many short flags`);if(j.test(Z))throw Error(`${G}
333
+ - too many long flags`);throw Error(`${G}
334
+ - unrecognised flag format`)}if(q===void 0&&E===void 0)throw Error(`option creation failed due to no flags found in '${A}'.`);return{shortFlag:q,longFlag:E}}function tR(A,q){if(Math.abs(A.length-q.length)>3)return Math.max(A.length,q.length);let E=[];for(let g=0;g<=A.length;g++)E[g]=[g];for(let g=0;g<=q.length;g++)E[0][g]=g;for(let g=1;g<=q.length;g++)for(let j=1;j<=A.length;j++){let a;if(A[j-1]===q[g-1])a=0;else a=1;if(E[j][g]=Math.min(E[j-1][g]+1,E[j][g-1]+1,E[j-1][g-1]+a),j>1&&g>1&&A[j-1]===q[g-2]&&A[j-2]===q[g-1])E[j][g]=Math.min(E[j][g],E[j-2][g-2]+1)}return E[A.length][q.length]}function fG(A,q){if(!q||q.length===0)return"";q=Array.from(new Set(q));let E=A.startsWith("--");if(E)A=A.slice(2),q=q.map((Z)=>Z.slice(2));let g=[],j=3,a=0.4;if(q.forEach((Z)=>{if(Z.length<=1)return;let G=tR(A,Z),M=Math.max(A.length,Z.length);if((M-G)/M>a){if(G<j)j=G,g=[Z];else if(G===j)g.push(Z)}}),g.sort((Z,G)=>Z.localeCompare(G)),E)g=g.map((Z)=>`--${Z}`);if(g.length>1)return`
335
+ (Did you mean one of ${g.join(", ")}?)`;if(g.length===1)return`
336
+ (Did you mean ${g[0]}?)`;return""}class _j extends sR{constructor(A){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=A||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(q)=>kA.stdout.write(q),writeErr:(q)=>kA.stderr.write(q),outputError:(q,E)=>E(q),getOutHelpWidth:()=>kA.stdout.isTTY?kA.stdout.columns:void 0,getErrHelpWidth:()=>kA.stderr.isTTY?kA.stderr.columns:void 0,getOutHasColors:()=>V7()??(kA.stdout.isTTY&&kA.stdout.hasColors?.()),getErrHasColors:()=>V7()??(kA.stderr.isTTY&&kA.stderr.hasColors?.()),stripColor:(q)=>iR(q)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(A){return this._outputConfiguration=A._outputConfiguration,this._helpOption=A._helpOption,this._helpCommand=A._helpCommand,this._helpConfiguration=A._helpConfiguration,this._exitCallback=A._exitCallback,this._storeOptionsAsProperties=A._storeOptionsAsProperties,this._combineFlagAndOptionalValue=A._combineFlagAndOptionalValue,this._allowExcessArguments=A._allowExcessArguments,this._enablePositionalOptions=A._enablePositionalOptions,this._showHelpAfterError=A._showHelpAfterError,this._showSuggestionAfterError=A._showSuggestionAfterError,this}_getCommandAndAncestors(){let A=[];for(let q=this;q;q=q.parent)A.push(q);return A}command(A,q,E){let g=q,j=E;if(typeof g==="object"&&g!==null)j=g,g=null;j=j||{};let[,a,Z]=A.match(/([^ ]+) *(.*)/),G=this.createCommand(a);if(g)G.description(g),G._executableHandler=!0;if(j.isDefault)this._defaultCommandName=G._name;if(G._hidden=!!(j.noHelp||j.hidden),G._executableFile=j.executableFile||null,Z)G.arguments(Z);if(this._registerCommand(G),G.parent=this,G.copyInheritedSettings(this),g)return this;return G}createCommand(A){return new _j(A)}createHelp(){return Object.assign(new UK,this.configureHelp())}configureHelp(A){if(A===void 0)return this._helpConfiguration;return this._helpConfiguration=A,this}configureOutput(A){if(A===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...A},this}showHelpAfterError(A=!0){if(typeof A!=="string")A=!!A;return this._showHelpAfterError=A,this}showSuggestionAfterError(A=!0){return this._showSuggestionAfterError=!!A,this}addCommand(A,q){if(!A._name)throw Error(`Command passed to .addCommand() must have a name
337
+ - specify the name in Command constructor or using .name()`);if(q=q||{},q.isDefault)this._defaultCommandName=A._name;if(q.noHelp||q.hidden)A._hidden=!0;return this._registerCommand(A),A.parent=this,A._checkForBrokenPassThrough(),this}createArgument(A,q){return new KK(A,q)}argument(A,q,E,g){let j=this.createArgument(A,q);if(typeof E==="function")j.default(g).argParser(E);else j.default(E);return this.addArgument(j),this}arguments(A){return A.trim().split(/ +/).forEach((q)=>{this.argument(q)}),this}addArgument(A){let q=this.registeredArguments.slice(-1)[0];if(q?.variadic)throw Error(`only the last argument can be variadic '${q.name()}'`);if(A.required&&A.defaultValue!==void 0&&A.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${A.name()}'`);return this.registeredArguments.push(A),this}helpCommand(A,q){if(typeof A==="boolean"){if(this._addImplicitHelpCommand=A,A&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let E=A??"help [command]",[,g,j]=E.match(/([^ ]+) *(.*)/),a=q??"display help for command",Z=this.createCommand(g);if(Z.helpOption(!1),j)Z.arguments(j);if(a)Z.description(a);if(this._addImplicitHelpCommand=!0,this._helpCommand=Z,A||q)this._initCommandGroup(Z);return this}addHelpCommand(A,q){if(typeof A!=="object")return this.helpCommand(A,q),this;return this._addImplicitHelpCommand=!0,this._helpCommand=A,this._initCommandGroup(A),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(A,q){let E=["preSubcommand","preAction","postAction"];if(!E.includes(A))throw Error(`Unexpected value for event passed to hook : '${A}'.
338
+ Expecting one of '${E.join("', '")}'`);if(this._lifeCycleHooks[A])this._lifeCycleHooks[A].push(q);else this._lifeCycleHooks[A]=[q];return this}exitOverride(A){if(A)this._exitCallback=A;else this._exitCallback=(q)=>{if(q.code!=="commander.executeSubCommandAsync")throw q};return this}_exit(A,q,E){if(this._exitCallback)this._exitCallback(new yE(A,q,E));kA.exit(A)}action(A){let q=(E)=>{let g=this.registeredArguments.length,j=E.slice(0,g);if(this._storeOptionsAsProperties)j[g]=this;else j[g]=this.opts();return j.push(this),A.apply(this,j)};return this._actionHandler=q,this}createOption(A,q){return new HF(A,q)}_callParseArg(A,q,E,g){try{return A.parseArg(q,E)}catch(j){if(j.code==="commander.invalidArgument"){let a=`${g} ${j.message}`;this.error(a,{exitCode:j.exitCode,code:j.code})}throw j}}_registerOption(A){let q=A.short&&this._findOption(A.short)||A.long&&this._findOption(A.long);if(q){let E=A.long&&this._findOption(A.long)?A.long:A.short;throw Error(`Cannot add option '${A.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${E}'
339
+ - already used by option '${q.flags}'`)}this._initOptionGroup(A),this.options.push(A)}_registerCommand(A){let q=(g)=>{return[g.name()].concat(g.aliases())},E=q(A).find((g)=>this._findCommand(g));if(E){let g=q(this._findCommand(E)).join("|"),j=q(A).join("|");throw Error(`cannot add command '${j}' as already have command '${g}'`)}this._initCommandGroup(A),this.commands.push(A)}addOption(A){this._registerOption(A);let q=A.name(),E=A.attributeName();if(A.defaultValue!==void 0)this.setOptionValueWithSource(E,A.defaultValue,"default");let g=(j,a,Z)=>{if(j==null&&A.presetArg!==void 0)j=A.presetArg;let G=this.getOptionValue(E);if(j!==null&&A.parseArg)j=this._callParseArg(A,j,G,a);else if(j!==null&&A.variadic)j=A._collectValue(j,G);if(j==null)if(A.negate)j=!1;else if(A.isBoolean()||A.optional)j=!0;else j="";this.setOptionValueWithSource(E,j,Z)};if(this.on("option:"+q,(j)=>{let a=`error: option '${A.flags}' argument '${j}' is invalid.`;g(j,a,"cli")}),A.envVar)this.on("optionEnv:"+q,(j)=>{let a=`error: option '${A.flags}' value '${j}' from env '${A.envVar}' is invalid.`;g(j,a,"env")});return this}_optionEx(A,q,E,g,j){if(typeof q==="object"&&q instanceof HF)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let a=this.createOption(q,E);if(a.makeOptionMandatory(!!A.mandatory),typeof g==="function")a.default(j).argParser(g);else if(g instanceof RegExp){let Z=g;g=(G,M)=>{let Y=Z.exec(G);return Y?Y[0]:M},a.default(j).argParser(g)}else a.default(g);return this.addOption(a)}option(A,q,E,g){return this._optionEx({},A,q,E,g)}requiredOption(A,q,E,g){return this._optionEx({mandatory:!0},A,q,E,g)}combineFlagAndOptionalValue(A=!0){return this._combineFlagAndOptionalValue=!!A,this}allowUnknownOption(A=!0){return this._allowUnknownOption=!!A,this}allowExcessArguments(A=!0){return this._allowExcessArguments=!!A,this}enablePositionalOptions(A=!0){return this._enablePositionalOptions=!!A,this}passThroughOptions(A=!0){return this._passThroughOptions=!!A,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(A=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!A,this}getOptionValue(A){if(this._storeOptionsAsProperties)return this[A];return this._optionValues[A]}setOptionValue(A,q){return this.setOptionValueWithSource(A,q,void 0)}setOptionValueWithSource(A,q,E){if(this._storeOptionsAsProperties)this[A]=q;else this._optionValues[A]=q;return this._optionValueSources[A]=E,this}getOptionValueSource(A){return this._optionValueSources[A]}getOptionValueSourceWithGlobals(A){let q;return this._getCommandAndAncestors().forEach((E)=>{if(E.getOptionValueSource(A)!==void 0)q=E.getOptionValueSource(A)}),q}_prepareUserArgs(A,q){if(A!==void 0&&!Array.isArray(A))throw Error("first parameter to parse must be array or undefined");if(q=q||{},A===void 0&&q.from===void 0){if(kA.versions?.electron)q.from="electron";let g=kA.execArgv??[];if(g.includes("-e")||g.includes("--eval")||g.includes("-p")||g.includes("--print"))q.from="eval"}if(A===void 0)A=kA.argv;this.rawArgs=A.slice();let E;switch(q.from){case void 0:case"node":this._scriptPath=A[1],E=A.slice(2);break;case"electron":if(kA.defaultApp)this._scriptPath=A[1],E=A.slice(2);else E=A.slice(1);break;case"user":E=A.slice(0);break;case"eval":E=A.slice(1);break;default:throw Error(`unexpected parse option { from: '${q.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",E}parse(A,q){this._prepareForParse();let E=this._prepareUserArgs(A,q);return this._parseCommand([],E),this}async parseAsync(A,q){this._prepareForParse();let E=this._prepareUserArgs(A,q);return await this._parseCommand([],E),this}_prepareForParse(){if(this._savedState===null)this.options.filter((A)=>A.negate&&A.defaultValue===void 0&&this.getOptionValue(A.attributeName())===void 0).forEach((A)=>{let q=A.long.replace(/^--no-/,"--");if(!this._findOption(q))this.setOptionValueWithSource(A.attributeName(),!0,"default")}),this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
340
+ - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(A,q,E){if(GK.existsSync(A))return;let g=q?`searched for local subcommand relative to directory '${q}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",j=`'${A}' does not exist
341
+ - if '${E}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
342
+ - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
343
+ - ${g}`;throw Error(j)}_executeSubCommand(A,q){q=q.slice();let E=[".js",".ts",".tsx",".mjs",".cjs"];function g(Y,Q){let H=mE.resolve(Y,Q);if(GK.existsSync(H))return H;if(E.includes(mE.extname(Q)))return;let N=E.find((X)=>GK.existsSync(`${H}${X}`));if(N)return`${H}${N}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=A._executableFile||`${this._name}-${A._name}`,a=this._executableDir||"";if(this._scriptPath){let Y;try{Y=GK.realpathSync(this._scriptPath)}catch{Y=this._scriptPath}a=mE.resolve(mE.dirname(Y),a)}if(a){let Y=g(a,j);if(!Y&&!A._executableFile&&this._scriptPath){let Q=mE.basename(this._scriptPath,mE.extname(this._scriptPath));if(Q!==this._name)Y=g(a,`${Q}-${A._name}`)}j=Y||j}let Z=E.includes(mE.extname(j)),G;if(kA.platform!=="win32")if(Z)q.unshift(j),q=N7(kA.execArgv).concat(q),G=lG.spawn(kA.argv[0],q,{stdio:"inherit"});else G=lG.spawn(j,q,{stdio:"inherit"});else this._checkForMissingExecutable(j,a,A._name),q.unshift(j),q=N7(kA.execArgv).concat(q),G=lG.spawn(kA.execPath,q,{stdio:"inherit"});if(!G.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((Q)=>{kA.on(Q,()=>{if(G.killed===!1&&G.exitCode===null)G.kill(Q)})});let M=this._exitCallback;G.on("close",(Y)=>{if(Y=Y??1,!M)kA.exit(Y);else M(new yE(Y,"commander.executeSubCommandAsync","(close)"))}),G.on("error",(Y)=>{if(Y.code==="ENOENT")this._checkForMissingExecutable(j,a,A._name);else if(Y.code==="EACCES")throw Error(`'${j}' not executable`);if(!M)kA.exit(1);else{let Q=new yE(1,"commander.executeSubCommandAsync","(error)");Q.nestedError=Y,M(Q)}}),this.runningCommand=G}_dispatchSubcommand(A,q,E){let g=this._findCommand(A);if(!g)this.help({error:!0});g._prepareForParse();let j;return j=this._chainOrCallSubCommandHook(j,g,"preSubcommand"),j=this._chainOrCall(j,()=>{if(g._executableHandler)this._executeSubCommand(g,q.concat(E));else return g._parseCommand(q,E)}),j}_dispatchHelpCommand(A){if(!A)this.help();let q=this._findCommand(A);if(q&&!q._executableHandler)q.help();return this._dispatchSubcommand(A,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((A,q)=>{if(A.required&&this.args[q]==null)this.missingArgument(A.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let A=(E,g,j)=>{let a=g;if(g!==null&&E.parseArg){let Z=`error: command-argument value '${g}' is invalid for argument '${E.name()}'.`;a=this._callParseArg(E,g,j,Z)}return a};this._checkNumberOfArguments();let q=[];this.registeredArguments.forEach((E,g)=>{let j=E.defaultValue;if(E.variadic){if(g<this.args.length){if(j=this.args.slice(g),E.parseArg)j=j.reduce((a,Z)=>{return A(E,Z,a)},E.defaultValue)}else if(j===void 0)j=[]}else if(g<this.args.length){if(j=this.args[g],E.parseArg)j=A(E,j,E.defaultValue)}q[g]=j}),this.processedArgs=q}_chainOrCall(A,q){if(A?.then&&typeof A.then==="function")return A.then(()=>q());return q()}_chainOrCallHooks(A,q){let E=A,g=[];if(this._getCommandAndAncestors().reverse().filter((j)=>j._lifeCycleHooks[q]!==void 0).forEach((j)=>{j._lifeCycleHooks[q].forEach((a)=>{g.push({hookedCommand:j,callback:a})})}),q==="postAction")g.reverse();return g.forEach((j)=>{E=this._chainOrCall(E,()=>{return j.callback(j.hookedCommand,this)})}),E}_chainOrCallSubCommandHook(A,q,E){let g=A;if(this._lifeCycleHooks[E]!==void 0)this._lifeCycleHooks[E].forEach((j)=>{g=this._chainOrCall(g,()=>{return j(this,q)})});return g}_parseCommand(A,q){let E=this.parseOptions(q);if(this._parseOptionsEnv(),this._parseOptionsImplied(),A=A.concat(E.operands),q=E.unknown,this.args=A.concat(q),A&&this._findCommand(A[0]))return this._dispatchSubcommand(A[0],A.slice(1),q);if(this._getHelpCommand()&&A[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(A[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(q),this._dispatchSubcommand(this._defaultCommandName,A,q);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(E.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let g=()=>{if(E.unknown.length>0)this.unknownOption(E.unknown[0])},j=`command:${this.name()}`;if(this._actionHandler){g(),this._processArguments();let a;if(a=this._chainOrCallHooks(a,"preAction"),a=this._chainOrCall(a,()=>this._actionHandler(this.processedArgs)),this.parent)a=this._chainOrCall(a,()=>{this.parent.emit(j,A,q)});return a=this._chainOrCallHooks(a,"postAction"),a}if(this.parent?.listenerCount(j))g(),this._processArguments(),this.parent.emit(j,A,q);else if(A.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",A,q);if(this.listenerCount("command:*"))this.emit("command:*",A,q);else if(this.commands.length)this.unknownCommand();else g(),this._processArguments()}else if(this.commands.length)g(),this.help({error:!0});else g(),this._processArguments()}_findCommand(A){if(!A)return;return this.commands.find((q)=>q._name===A||q._aliases.includes(A))}_findOption(A){return this.options.find((q)=>q.is(A))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((A)=>{A.options.forEach((q)=>{if(q.mandatory&&A.getOptionValue(q.attributeName())===void 0)A.missingMandatoryOptionValue(q)})})}_checkForConflictingLocalOptions(){let A=this.options.filter((E)=>{let g=E.attributeName();if(this.getOptionValue(g)===void 0)return!1;return this.getOptionValueSource(g)!=="default"});A.filter((E)=>E.conflictsWith.length>0).forEach((E)=>{let g=A.find((j)=>E.conflictsWith.includes(j.attributeName()));if(g)this._conflictingOption(E,g)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((A)=>{A._checkForConflictingLocalOptions()})}parseOptions(A){let q=[],E=[],g=q;function j(Y){return Y.length>1&&Y[0]==="-"}let a=(Y)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(Y))return!1;return!this._getCommandAndAncestors().some((Q)=>Q.options.map((H)=>H.short).some((H)=>/^-\d$/.test(H)))},Z=null,G=null,M=0;while(M<A.length||G){let Y=G??A[M++];if(G=null,Y==="--"){if(g===E)g.push(Y);g.push(...A.slice(M));break}if(Z&&(!j(Y)||a(Y))){this.emit(`option:${Z.name()}`,Y);continue}if(Z=null,j(Y)){let Q=this._findOption(Y);if(Q){if(Q.required){let H=A[M++];if(H===void 0)this.optionMissingArgument(Q);this.emit(`option:${Q.name()}`,H)}else if(Q.optional){let H=null;if(M<A.length&&(!j(A[M])||a(A[M])))H=A[M++];this.emit(`option:${Q.name()}`,H)}else this.emit(`option:${Q.name()}`);Z=Q.variadic?Q:null;continue}}if(Y.length>2&&Y[0]==="-"&&Y[1]!=="-"){let Q=this._findOption(`-${Y[1]}`);if(Q){if(Q.required||Q.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Q.name()}`,Y.slice(2));else this.emit(`option:${Q.name()}`),G=`-${Y.slice(2)}`;continue}}if(/^--[^=]+=/.test(Y)){let Q=Y.indexOf("="),H=this._findOption(Y.slice(0,Q));if(H&&(H.required||H.optional)){this.emit(`option:${H.name()}`,Y.slice(Q+1));continue}}if(g===q&&j(Y)&&!(this.commands.length===0&&a(Y)))g=E;if((this._enablePositionalOptions||this._passThroughOptions)&&q.length===0&&E.length===0){if(this._findCommand(Y)){q.push(Y),E.push(...A.slice(M));break}else if(this._getHelpCommand()&&Y===this._getHelpCommand().name()){q.push(Y,...A.slice(M));break}else if(this._defaultCommandName){E.push(Y,...A.slice(M));break}}if(this._passThroughOptions){g.push(Y,...A.slice(M));break}g.push(Y)}return{operands:q,unknown:E}}opts(){if(this._storeOptionsAsProperties){let A={},q=this.options.length;for(let E=0;E<q;E++){let g=this.options[E].attributeName();A[g]=g===this._versionOptionName?this._version:this[g]}return A}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((A,q)=>Object.assign(A,q.opts()),{})}error(A,q){if(this._outputConfiguration.outputError(`${A}
344
+ `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
345
+ `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
346
+ `),this.outputHelp({error:!0});let E=q||{},g=E.exitCode||1,j=E.code||"commander.error";this._exit(g,j,A)}_parseOptionsEnv(){this.options.forEach((A)=>{if(A.envVar&&A.envVar in kA.env){let q=A.attributeName();if(this.getOptionValue(q)===void 0||["default","config","env"].includes(this.getOptionValueSource(q)))if(A.required||A.optional)this.emit(`optionEnv:${A.name()}`,kA.env[A.envVar]);else this.emit(`optionEnv:${A.name()}`)}})}_parseOptionsImplied(){let A=new cG(this.options),q=(E)=>{return this.getOptionValue(E)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(E))};this.options.filter((E)=>E.implied!==void 0&&q(E.attributeName())&&A.valueFromOption(this.getOptionValue(E.attributeName()),E)).forEach((E)=>{Object.keys(E.implied).filter((g)=>!q(g)).forEach((g)=>{this.setOptionValueWithSource(g,E.implied[g],"implied")})})}missingArgument(A){let q=`error: missing required argument '${A}'`;this.error(q,{code:"commander.missingArgument"})}optionMissingArgument(A){let q=`error: option '${A.flags}' argument missing`;this.error(q,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(A){let q=`error: required option '${A.flags}' not specified`;this.error(q,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(A,q){let E=(a)=>{let Z=a.attributeName(),G=this.getOptionValue(Z),M=this.options.find((Q)=>Q.negate&&Z===Q.attributeName()),Y=this.options.find((Q)=>!Q.negate&&Z===Q.attributeName());if(M&&(M.presetArg===void 0&&G===!1||M.presetArg!==void 0&&G===M.presetArg))return M;return Y||a},g=(a)=>{let Z=E(a),G=Z.attributeName();if(this.getOptionValueSource(G)==="env")return`environment variable '${Z.envVar}'`;return`option '${Z.flags}'`},j=`error: ${g(A)} cannot be used with ${g(q)}`;this.error(j,{code:"commander.conflictingOption"})}unknownOption(A){if(this._allowUnknownOption)return;let q="";if(A.startsWith("--")&&this._showSuggestionAfterError){let g=[],j=this;do{let a=j.createHelp().visibleOptions(j).filter((Z)=>Z.long).map((Z)=>Z.long);g=g.concat(a),j=j.parent}while(j&&!j._enablePositionalOptions);q=fG(A,g)}let E=`error: unknown option '${A}'${q}`;this.error(E,{code:"commander.unknownOption"})}_excessArguments(A){if(this._allowExcessArguments)return;let q=this.registeredArguments.length,E=q===1?"":"s",g=A.length,j=this.parent?` for '${this.name()}'`:"",a=A.join(", "),Z=`error: too many arguments${j}. Expected ${q} argument${E} but got ${g}: ${a}.`;this.error(Z,{code:"commander.excessArguments"})}unknownCommand(){let A=this.args[0],q="";if(this._showSuggestionAfterError){let g=[];this.createHelp().visibleCommands(this).forEach((j)=>{if(g.push(j.name()),j.alias())g.push(j.alias())}),q=fG(A,g)}let E=`error: unknown command '${A}'${q}`;this.error(E,{code:"commander.unknownCommand"})}version(A,q,E){if(A===void 0)return this._version;this._version=A,q=q||"-V, --version",E=E||"output the version number";let g=this.createOption(q,E);return this._versionOptionName=g.attributeName(),this._registerOption(g),this.on("option:"+g.name(),()=>{this._outputConfiguration.writeOut(`${A}
347
+ `),this._exit(0,"commander.version",A)}),this}description(A,q){if(A===void 0&&q===void 0)return this._description;if(this._description=A,q)this._argsDescription=q;return this}summary(A){if(A===void 0)return this._summary;return this._summary=A,this}alias(A){if(A===void 0)return this._aliases[0];let q=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)q=this.commands[this.commands.length-1];if(A===q._name)throw Error("Command alias can't be the same as its name");let E=this.parent?._findCommand(A);if(E){let g=[E.name()].concat(E.aliases()).join("|");throw Error(`cannot add alias '${A}' to command '${this.name()}' as already have command '${g}'`)}return q._aliases.push(A),this}aliases(A){if(A===void 0)return this._aliases;return A.forEach((q)=>this.alias(q)),this}usage(A){if(A===void 0){if(this._usage)return this._usage;let q=this.registeredArguments.map((E)=>{return ZK(E)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?q:[]).join(" ")}return this._usage=A,this}name(A){if(A===void 0)return this._name;return this._name=A,this}helpGroup(A){if(A===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=A,this}commandsGroup(A){if(A===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=A,this}optionsGroup(A){if(A===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=A,this}_initOptionGroup(A){if(this._defaultOptionGroup&&!A.helpGroupHeading)A.helpGroup(this._defaultOptionGroup)}_initCommandGroup(A){if(this._defaultCommandGroup&&!A.helpGroup())A.helpGroup(this._defaultCommandGroup)}nameFromFilename(A){return this._name=mE.basename(A,mE.extname(A)),this}executableDir(A){if(A===void 0)return this._executableDir;return this._executableDir=A,this}helpInformation(A){let q=this.createHelp(),E=this._getOutputContext(A);q.prepareContext({error:E.error,helpWidth:E.helpWidth,outputHasColors:E.hasColors});let g=q.formatHelp(this,q);if(E.hasColors)return g;return this._outputConfiguration.stripColor(g)}_getOutputContext(A){A=A||{};let q=!!A.error,E,g,j;if(q)E=(Z)=>this._outputConfiguration.writeErr(Z),g=this._outputConfiguration.getErrHasColors(),j=this._outputConfiguration.getErrHelpWidth();else E=(Z)=>this._outputConfiguration.writeOut(Z),g=this._outputConfiguration.getOutHasColors(),j=this._outputConfiguration.getOutHelpWidth();return{error:q,write:(Z)=>{if(!g)Z=this._outputConfiguration.stripColor(Z);return E(Z)},hasColors:g,helpWidth:j}}outputHelp(A){let q;if(typeof A==="function")q=A,A=void 0;let E=this._getOutputContext(A),g={error:E.error,write:E.write,command:this};this._getCommandAndAncestors().reverse().forEach((a)=>a.emit("beforeAllHelp",g)),this.emit("beforeHelp",g);let j=this.helpInformation({error:E.error});if(q){if(j=q(j),typeof j!=="string"&&!Buffer.isBuffer(j))throw Error("outputHelp callback must return a string or a Buffer")}if(E.write(j),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",g),this._getCommandAndAncestors().forEach((a)=>a.emit("afterAllHelp",g))}helpOption(A,q){if(typeof A==="boolean"){if(A){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(A??"-h, --help",q??"display help for command"),A||q)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(A){return this._helpOption=A,this._initOptionGroup(A),this}help(A){this.outputHelp(A);let q=Number(kA.exitCode??0);if(q===0&&A&&typeof A!=="function"&&A.error)q=1;this._exit(q,"commander.help","(outputHelp)")}addHelpText(A,q){let E=["beforeAll","before","after","afterAll"];if(!E.includes(A))throw Error(`Unexpected value for position to addHelpText.
348
+ Expecting one of '${E.join("', '")}'`);let g=`${A}Help`;return this.on(g,(j)=>{let a;if(typeof q==="function")a=q({error:j.error,command:j.command});else a=q;if(a)j.write(`${a}
349
+ `)}),this}_outputHelpIfRequested(A){let q=this._getHelpOption();if(q&&A.find((g)=>q.is(g)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function N7(A){return A.map((q)=>{if(!q.startsWith("--inspect"))return q;let E,g="127.0.0.1",j="9229",a;if((a=q.match(/^(--inspect(-brk)?)$/))!==null)E=a[1];else if((a=q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(E=a[1],/^\d+$/.test(a[3]))j=a[3];else g=a[3];else if((a=q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)E=a[1],g=a[3],j=a[4];if(E&&j!=="0")return`${E}=${g}:${parseInt(j)+1}`;return q})}function V7(){if(kA.env.NO_COLOR||kA.env.FORCE_COLOR==="0"||kA.env.FORCE_COLOR==="false")return!1;if(kA.env.FORCE_COLOR||kA.env.CLICOLOR_FORCE!==void 0)return!0;return}var gP=new _j;MK();TK();QK();import{existsSync as B6,mkdirSync as FM,readFileSync as G_,renameSync as aM,writeFileSync as KM,copyFileSync as Y2}from"fs";import{randomBytes as Q2}from"crypto";import{readFile as $2}from"fs/promises";import{homedir as bE}from"os";import{join as x6}from"path";import{createInterface as X3}from"readline/promises";import{stdin as L3,stdout as oG}from"process";function y7(){let A=X3({input:L3,output:oG});return{async text(q,E){let g=E!==void 0?` [${E}]`:"";return(await A.question(`${q}${g}: `)).trim()||E||""},async yesNo(q,E=!0){let g=E?"Y/n":"y/N",j=(await A.question(`${q} [${g}]: `)).trim().toLowerCase();if(!j)return E;return j==="y"||j==="yes"},async choose(q,E,g=0){oG.write(`${q}
350
+ `);for(let[j,a]of E.entries())oG.write(` ${j+1}. ${a}
351
+ `);while(!0){let a=(await A.question(`Select [${g+1}]: `)).trim()||String(g+1),Z=Number.parseInt(a,10)-1;if(!Number.isNaN(Z)&&Z>=0&&Z<E.length)return E[Z]}},close(){A.close()}}}AM();qM();import{stdin as Z_,stdout as w3}from"process";var v3=300,b3="\x1BP>0q\x1B\\",k3="\x1B[c",c3="\x1B_Gi=31,s=1,v=1,a=q,t=d,f=24;AAAA\x1B\\",f3="\x1B[14t",l3=/\x1b\[\?(\d+(?:;\d+)*)c/g,u3=/\x1bP>[|]([^\x1b]+)\x1b\\/,p3=/\x1b_Gi=31;([^\x1b]*)\x1b\\/,d3=/\x1b\[4;(\d+);(\d+)t/;function t3(){if(process.env.TMUX)return"tmux";if(process.env.ZELLIJ)return"zellij";return"none"}function s3(A){let q={},E=A.match(u3)?.[1];if(E)q.terminalName=E.trim();for(let a of A.matchAll(l3))if(a[1].split(";").includes("4"))q.sixel=!0;let g=A.match(p3);if(g)q.kittyGraphics=!(g[1]??"").startsWith("E:");let j=A.match(d3);if(j)q.pixelResolution={width:Number(j[2]),height:Number(j[1])};return q}function o7(){let A={terminalName:null,multiplexer:t3(),kittyGraphics:!1,sixel:!1,pixelResolution:null,probeFailed:!0,probeFailedReason:null,term:process.env.TERM??null};if(!Z_.isTTY||typeof Z_.setRawMode!=="function")return Promise.resolve({...A,probeFailedReason:"not-a-tty"});return new Promise((q)=>{let E=Z_.isRaw===!0,g=()=>{try{Z_.setRawMode(E)}catch{}},j="",a=null,Z=!1,G=()=>{if(Z)return;Z=!0,clearTimeout(a),Z_.removeListener("data",Y),g()},M=()=>{G();let Q=s3(j),H=Object.keys(Q).length===0;q({...A,...Q,probeFailed:H,probeFailedReason:H?"no-answer":null})},Y=(Q)=>{j+=typeof Q==="string"?Q:Q.toString("latin1"),clearTimeout(a),a=setTimeout(M,80)};try{Z_.setRawMode(!0)}catch{q({...A,probeFailedReason:"raw-unavailable"});return}Z_.on("data",Y),a=setTimeout(M,v3),w3.write(b3+k3+c3+f3)})}function r7(A){if(A.multiplexer==="tmux"||A.multiplexer==="zellij")return"blocks";if(A.kittyGraphics)return"graphics";if(A.sixel&&A.pixelResolution)return"graphics";if(A.sixel)return"sixel";return"blocks"}aj();MK();import{homedir as AT}from"os";import{join as qT}from"path";import i3 from"net";var Xg=async(A,q)=>{if(q?.stdio==="inherit"){let j=Bun.spawn(A,{env:{...process.env,...q.env},stdin:"inherit",stderr:"inherit",stdout:"inherit"}),a=q.timeoutMs?setTimeout(()=>{j.kill()},q.timeoutMs):void 0;try{let Z=await j.exited;return{command:A,exitCode:Z,stdout:"",stderr:""}}finally{if(a)clearTimeout(a)}}let E=Bun.spawn(A,{env:{...process.env,...q?.env},stderr:"pipe",stdout:"pipe"}),g=q?.timeoutMs?setTimeout(()=>{E.kill()},q.timeoutMs):void 0;try{let[j,a,Z]=await Promise.all([new Response(E.stdout).text(),new Response(E.stderr).text(),E.exited]);return{command:A,exitCode:Z,stdout:j,stderr:a}}finally{if(g)clearTimeout(g)}},Lg=(A)=>{let q=A.stderr.trim()||A.stdout.trim()||`exit ${A.exitCode}`;return Error(`${A.command.join(" ")}: ${q}`)},e7=(A)=>{let q=A.trim();if(!q)return;return JSON.parse(q)};var n3=["workspace.list","tab.list","pane.list","agent.list"],_T=(A)=>{if(A?.herdrSocketPath)return A.herdrSocketPath;if(A?.env?.HERDR_SOCKET_PATH)return A.env.HERDR_SOCKET_PATH;let q=A?.herdrSession??A?.env?.HERDR_SESSION;if(q&&q!=="default")return qT(AT(),".config","herdr","sessions",q,"herdr.sock");return qT(AT(),".config","herdr","herdr.sock")},jT=async(A,q,E=800)=>await new Promise((g,j)=>{let a=`prtl_${Date.now()}_${Math.random().toString(16).slice(2)}`,Z=i3.createConnection(A),G="",M=setTimeout(()=>{Z.destroy(),j(Error(`Herdr socket request timed out for ${q}`))},E);Z.on("connect",()=>{Z.write(`${JSON.stringify({id:a,method:q,params:{}})}
352
+ `)}),Z.on("data",(Y)=>{G+=Y.toString("utf8");let Q=G.indexOf(`
353
+ `);if(Q===-1)return;let H=G.slice(0,Q).trim();clearTimeout(M),Z.end();try{let N=JSON.parse(H);if(N.id!==a)throw Error(`Unexpected Herdr response id for ${q}`);if(N.error)throw Error(N.error.message??`Herdr ${q} failed`);g(N.result)}catch(N){j(N)}}),Z.on("error",(Y)=>{clearTimeout(M),j(Y)})}),o3=async(A,q)=>{let E={socketPath:A};for(let g of n3)E[g]=await jT(A,g,q?.timeoutMs??800);return E},r3=(A)=>A instanceof Error&&/method not found|unknown method|unsupported method/i.test(A.message),e3=async(A)=>{let q=_T(A);try{return{socketPath:q,"session.snapshot":await jT(q,"session.snapshot",A?.timeoutMs??800)}}catch(E){if(!r3(E))throw E;return await o3(q,A)}},A2=(A)=>{if(!A||typeof A!=="object"||Array.isArray(A))return A;let E=A.result;if(!E||typeof E!=="object")return A;return E},FT=async(A,q)=>{let g=await(q?.exec??Xg)(["herdr",...A],{env:q?.env,timeoutMs:q?.timeoutMs});if(g.exitCode!==0)throw Lg(g);try{return{result:g,parsed:A2(e7(g.stdout))}}catch{return{result:g}}},q2={sessionList:["session","list","--json"],workspaceList:["workspace","list"],tabList:["tab","list"],paneList:["pane","list"],agentList:["agent","list"]},E2=async(A)=>{let q={cliSource:"lists"};for(let[E,g]of Object.entries(q2))q[E]=await FT(g,A);return q},g2=async(A)=>{try{let q=await FT(["api","snapshot"],A),E=q.parsed;if(!E||typeof E!=="object")throw Error("unparseable snapshot output");return{cliSource:"snapshot","session.snapshot":E,sessionList:q}}catch(q){let E=await E2(A);return E.cliSnapshotError=q instanceof Error?q.message:String(q),E}},NK=(A)=>{if(Array.isArray(A))return A;if(A&&typeof A==="object"){let q=A;for(let E of["panes","items","workspaces","tabs","agents","sessions"])if(Array.isArray(q[E]))return q[E]}return[]},VK=(A,q)=>{let E=A[q];if(E&&typeof E==="object"&&"parsed"in E)return E.parsed;return E},EM=(A,q,E)=>{if(!E)return;return A.find((g)=>{if(!g||typeof g!=="object")return!1;let j=g;return q.some((a)=>j[a]===E)})},BA=(A)=>typeof A==="string"||typeof A==="number"?String(A):void 0,Ng=(A)=>A&&typeof A==="object"?A:void 0,ET=(A)=>A.filter((q)=>Boolean(q)&&typeof q==="object"),NF=(A)=>typeof A==="number"&&Number.isFinite(A)?A:void 0,gM=(A)=>{let q=Ng(A);if(!q)return;let E=Object.entries(q).filter((g)=>typeof g[1]==="string");return E.length>0?Object.fromEntries(E):void 0},_2=(A)=>({id:BA(A.workspace_id??A.id)??"unknown",label:BA(A.label??A.name),index:NF(A.number),focused:typeof A.focused==="boolean"?A.focused:void 0,activeTabId:BA(A.active_tab_id??A.activeTabId),paneCount:NF(A.pane_count),tabCount:NF(A.tab_count),agentStatus:BA(A.agent_status),worktree:A.worktree,tokens:gM(A.tokens)}),j2=(A)=>({id:BA(A.tab_id??A.id)??"unknown",workspaceId:BA(A.workspace_id??A.workspaceId),label:BA(A.label??A.name),index:NF(A.number),focused:typeof A.focused==="boolean"?A.focused:void 0,paneCount:NF(A.pane_count),agentStatus:BA(A.agent_status)}),aT=(A)=>{let q=Ng(A["session.snapshot"]);return Ng(q?.snapshot)??q},F2=(A)=>A.cliSource==="snapshot",gT=(A)=>{let q=aT(A),E=q?.protocol;return{version:BA(q?.version),protocol:typeof E==="number"?E:void 0}},a2=(A)=>{if(A.terminalId)return A.terminalId;let q=Ng(A.metadata.raw),E=Ng(q?.pane),g=Ng(q?.agent);return BA(E?.terminal_id??E?.terminalId??g?.terminal_id??g?.terminalId)},_M=(A,q,E)=>{let j=q==="socket"||F2(A)?aT(A):void 0,a=j?.panes??(q==="socket"?A["pane.list"]:VK(A,"paneList")),Z=j?.tabs??(q==="socket"?A["tab.list"]:VK(A,"tabList")),G=j?.workspaces??(q==="socket"?A["workspace.list"]:VK(A,"workspaceList")),M=j?.agents??(q==="socket"?A["agent.list"]:VK(A,"agentList")),Y=NK(a),Q=ET(NK(Z)),H=ET(NK(G)),N=NK(M),X={source:q,collectedAt:E,focus:j?{workspaceId:BA(j.focused_workspace_id),tabId:BA(j.focused_tab_id),paneId:BA(j.focused_pane_id)}:void 0,workspaces:H.map(_2),tabs:Q.map(j2),raw:A};return{items:Y.filter((J)=>Boolean(J)&&typeof J==="object").map((J)=>{let V=BA(J.pane_id??J.id??J.target)??"unknown",I=J.tab_id??J.tabId,W=J.workspace_id??J.workspaceId,C=EM(Q,["tab_id","id"],I),c=EM(H,["workspace_id","id"],W),D=EM(N,["pane_id","target","id"],V),v=Ng(J.agent_session)??Ng(D?.agent_session),k=BA(J.agent??D?.agent??D?.name??v?.agent),u=v?{source:BA(v.source),agent:BA(v.agent),kind:BA(v.kind),value:BA(v.value)}:void 0;return{provider:"herdr",id:V,terminalId:BA(J.terminal_id??J.terminalId??D?.terminal_id??D?.terminalId),name:BA(J.title??J.label??J.name??D?.name??D?.agent),workspace:BA(c?.label??c?.name??W),tab:BA(C?.label??C?.name??I),workspaceId:BA(W),tabId:BA(I),cwd:BA(J.cwd??J.foreground_cwd??c?.cwd),foregroundCwd:BA(J.foreground_cwd??J.foregroundCwd),command:BA(J.command??J.argv),focused:typeof J.focused==="boolean"?J.focused:void 0,title:BA(J.title),displayAgent:BA(J.display_agent??J.displayAgent),customStatus:BA(J.custom_status??J.customStatus),terminalTitle:BA(J.terminal_title??J.terminalTitle),terminalTitleStripped:BA(J.terminal_title_stripped??J.terminalTitleStripped),stateLabels:gM(J.state_labels),tokens:gM(J.tokens),worktree:c?.worktree,agent:k?{name:k,status:BA(J.agent_status??D?.agent_status??D?.status??D?.state),sessionId:BA(v?.value??D?.agent_session_id),...u?{session:u}:{}}:void 0,metadata:{provider:"herdr",source:q,collectedAt:E,raw:{pane:J,tab:C,workspace:c,agent:D}}}}),metadata:X}};class RK{provider="herdr";async list(A){let q=new Date().toISOString(),E=[];try{let g=await e3(A),j=_M(g,"socket",q);return{provider:this.provider,items:j.items,status:{available:!0,source:"socket",...gT(g)},collection:j.metadata}}catch(g){E.push({source:"socket",message:g instanceof Error?g.message:String(g)})}try{let g=await g2(A),j=_M(g,"cli",q);return{provider:this.provider,items:j.items,status:{available:!0,source:"cli",errors:E,...gT(g)},collection:j.metadata}}catch(g){return E.push({source:"cli",message:g instanceof Error?g.message:String(g)}),{provider:this.provider,items:[],status:{available:!1,reason:"herdr_unavailable",errors:E}}}}async open(A,q){let E=q?.exec??Xg,g=a2(A);if(!g)throw Error(`Herdr target ${A.id} cannot be attached because terminal_id is missing`);return await E(["herdr","terminal","attach",g],{env:q?.env,stdio:"inherit",timeoutMs:q?.timeoutMs})}async delete(A,q){return await(q?.exec??Xg)(["herdr","pane","close",A.id],{env:q?.env,timeoutMs:q?.timeoutMs})}}var KT="\x1F",ZT=["#{session_id}","#{session_name}","#{window_id}","#{window_index}","#{window_name}","#{pane_id}","#{pane_index}","#{pane_title}","#{pane_current_path}","#{pane_current_command}","#{pane_active}","#{window_active}"].join(KT),UT=(A)=>A.split(`
354
+ `).map((q)=>q.trimEnd()).filter(Boolean).map((q)=>{let E=q.split(KT);return{sessionId:E[0]??"",sessionName:E[1]??"",windowId:E[2]??"",windowIndex:E[3]??"",windowName:E[4]??"",paneId:E[5]??"",paneIndex:E[6]??"",paneTitle:E[7]??"",cwd:E[8]??"",command:E[9]??"",paneActive:E[10]??"",windowActive:E[11]??""}}),GT=(A,q)=>A.map((E)=>({provider:"tmux",id:E.paneId,sessionId:E.sessionId||void 0,windowId:E.windowId||void 0,windowIndex:E.windowIndex||void 0,paneIndex:E.paneIndex||void 0,name:E.paneTitle||E.windowName||E.paneId,session:E.sessionName,tab:E.windowName||E.windowIndex,cwd:E.cwd||void 0,command:E.command||void 0,focused:E.paneActive==="1"&&E.windowActive==="1",metadata:{provider:"tmux",source:"cli",collectedAt:q,raw:{pane:E}}}));class IK{provider="tmux";async list(A){let q=A?.exec??Xg,E=new Date().toISOString();try{let g=await q(["tmux","list-sessions","-F","#{session_name}"],{env:A?.env,timeoutMs:A?.timeoutMs});if(g.exitCode!==0)throw Lg(g);let j=await q(["tmux","list-panes","-a","-F",ZT],{env:A?.env,timeoutMs:A?.timeoutMs});if(j.exitCode!==0)throw Lg(j);let a=UT(j.stdout),Z={sessions:g,panes:j,parsedPanes:a};return{provider:this.provider,items:GT(a,E),status:{available:!0,source:"cli"},collection:{source:"cli",collectedAt:E,raw:Z}}}catch(g){return{provider:this.provider,items:[],status:{available:!1,reason:"tmux_unavailable",errors:[{source:"cli",message:g instanceof Error?g.message:String(g)}]}}}}async open(A,q){let E=q?.exec??Xg,g=A.session??A.id,j=A.windowId??(A.windowIndex&&A.session?`${A.session}:${A.windowIndex}`:void 0),a=j?[["tmux","select-window","-t",j],["tmux","select-pane","-t",A.id],["tmux","attach-session","-t",g]]:[["tmux","attach-session","-t",g]],Z;for(let G of a)if(Z=await E(G,{env:q?.env,stdio:G[1]==="attach-session"?"inherit":"pipe",timeoutMs:q?.timeoutMs}),G[1]!=="attach-session"&&Z.exitCode!==0)throw Lg(Z);return{...Z,exitCode:0}}async delete(A,q){let E=q?.exec??Xg,g=A.id.startsWith("%")?["tmux","kill-pane","-t",A.id]:["tmux","kill-session","-t",A.session??A.id],j=await E(g,{env:q?.env,timeoutMs:q?.timeoutMs});if(j.exitCode!==0)throw Lg(j);return j}}import{readFileSync as Z2}from"fs";import{fileURLToPath as U2}from"url";var G2=()=>{try{return JSON.parse(Z2(U2(new URL("../package.json",import.meta.url)),"utf8")).version??"0.0.0"}catch{return"0.0.0"}},M2=G2(),O2=()=>({herdr:new RK,tmux:new IK}),MT=async(A)=>{let q=O2(),E=A?.provider?[q[A.provider]]:Object.values(q),g=await Promise.all(E.map((a)=>a.list(A))),j=Object.fromEntries(g.flatMap((a)=>a.collection?[[a.provider,a.collection]]:[]));return{version:M2,generatedAt:new Date().toISOString(),items:g.flatMap((a)=>a.items),metadata:{providers:Object.fromEntries(g.map((a)=>[a.provider,a.status])),collections:j}}};async function H2(A,q=MT){try{return(await q({provider:"herdr",timeoutMs:A})).metadata.providers.herdr?.available===!0}catch{return!1}}async function QT(A,q){let E=Uj();if(A==="install"){E.install(q.configPath),process.stdout.write(`Installed daemon user service.
355
+ `);return}if(A==="uninstall"){E.uninstall(),process.stdout.write(`Uninstalled daemon user service.
356
+ `);return}if(A==="start"){E.start(),process.stdout.write(`Started daemon user service.
357
+ `);return}if(A==="stop"){E.stop(),process.stdout.write(`Stopped daemon user service.
358
+ `);return}if(A==="restart"){E.restart(),process.stdout.write(`Restarted daemon user service.
359
+ `);return}if(A==="status"){let g=E.status();process.stdout.write(`Platform: ${g.platform}
360
+ Installed: ${g.installed}
361
+ Running: ${g.running}
362
+ ${g.detail}
363
+ `);return}throw Error(`Unknown daemon action: ${A}`)}function $T(A,q){if(A==="path"){process.stdout.write(`${Jg(q.configPath)}
364
+ `);return}if(A==="show"){process.stdout.write(`${JSON.stringify(a_(q.configPath),null,2)}
365
+ `);return}throw Error(`Unknown config action: ${A}`)}function HT(A,q,E){if(q==="clear"){Kj((g)=>{let j={...g,mcp:{...g.mcp},api:{...g.api}};if(A==="mcp"||A==="both")j.mcp.bearerToken=void 0;if(A==="api"||A==="both")j.api.bearerToken=void 0;return j},E.configPath),process.stdout.write(`Cleared ${A==="both"?"API and MCP":A.toUpperCase()} bearer token.
366
+ `);return}if(q==="generate"||q==="rotate"){let g=jM();Kj((j)=>{let a={...j,mcp:{...j.mcp},api:{...j.api}};if(A==="mcp"||A==="both")a.mcp.bearerToken=g;if(A==="api"||A==="both")a.api.bearerToken=g;return a},E.configPath),process.stdout.write(`${g}
367
+ `);return}throw Error(`Unknown token action: ${q}`)}async function TT(A){let q=OK();if(process.stdout.write(`Log path: ${q}
368
+ `),!B6(q)){process.stdout.write(`No daemon log file found.
369
+ `);return}let g=(await $2(q,"utf8")).trim().split(/\r?\n/),j=g.slice(Math.max(0,g.length-40));process.stdout.write(`${j.join(`
370
+ `)}
371
+ `)}async function T2(A){try{let E=(await A("/api/usage")).providers?.find((g)=>g.provider==="claude");if(!E)return null;if(E.status==="ok")return{state:"valid"};if(E.status==="unavailable")return{state:(E.errors??[]).some((j)=>j.includes("expired")||j.includes("re-login"))?"expired":"missing"};return null}catch{return null}}async function ZM(A){let q=Jg(A.configPath),E=a_(A.configPath),g=LK({host:E.api.host,port:E.api.port,socketPath:k6?void 0:Gj(E.daemon.socketPath)});if(process.stdout.write(`Config path: ${q}
372
+ `),process.stdout.write(`Config exists: ${B6(q)}
373
+ `),process.stdout.write(`Socket path: ${k6?"n/a":Gj(E.daemon.socketPath)}
374
+ `),process.stdout.write(`Log path: ${E.daemon.logFilePath}
375
+ `),process.stdout.write(`Log file enabled: ${E.daemon.logFileEnabled}
376
+ `),process.stdout.write(`Command timeout ms: ${E.daemon.commandTimeoutMs}
377
+ `),process.stdout.write(`Network timeout ms: ${E.daemon.networkTimeoutMs}
378
+ `),process.stdout.write(`Retention max sessions: ${E.retention.maxSessions}
379
+ `),process.stdout.write(`Retention standalone max age hours: ${E.retention.standaloneMaxAgeHours}
380
+ `),process.stdout.write(`Usage enabled: ${E.usage.enabled}
381
+ `),$K&&E.usage.enabled){process.stdout.write(`Keychain prompts allowed: ${E.usage.auth.allowKeychainPrompts}
382
+ `),process.stdout.write(`Keychain items the daemon may read: claude-api-oauth, Claude Code-credentials, Claude Safe Storage, per-browser Safe Storage (Chrome, Brave, Edge, Arc, Vivaldi, Chromium)
383
+ `),process.stdout.write(`Keychain note: macOS authorization is granted per item \u2014 you have about 90 seconds to answer each dialog; click "Always Allow" once per item. Successful reads are memoized for the daemon's lifetime, so each item prompts at most once per daemon run, and an unanswered dialog retries after 10 minutes. Set usage.auth.allowKeychainPrompts to false to suppress all keychain prompts.
384
+ `);let G=await T2(g);if(G?.state==="valid")process.stdout.write(`Claude credential: valid (OAuth session active)
385
+ `);else if(G?.state==="expired")process.stdout.write(`Claude credential: expired \u2014 run "claude" and log in to refresh, then restart the daemon
386
+ `);else if(G?.state==="missing")process.stdout.write(`Claude credential: not found \u2014 run "claude" and log in to enable the Claude OAuth usage source
387
+ `)}try{let G=await g("/api/health");if(process.stdout.write(`Local daemon reachable: ${G.ok}
388
+ `),G.ok){let M=await G.json().catch(()=>({}));process.stdout.write(R7(Hg(),M.version))}else process.stdout.write(`CLI version: ${Hg()}
389
+ `)}catch{process.stdout.write(`Local daemon reachable: false
390
+ `),process.stdout.write(`CLI version: ${Hg()}
391
+ `)}if(process.stdout.write(`TCP API enabled: ${E.api.tcpEnabled}
392
+ `),process.stdout.write(`API bearer token configured: ${Boolean(E.api.bearerToken)}
393
+ `),E.api.tcpEnabled){try{let G=await fetch(`http://${E.api.host}:${E.api.port}/api/health`);process.stdout.write(`TCP API reachable: ${G.ok}
394
+ `)}catch{process.stdout.write(`TCP API reachable: false
395
+ `)}if(E.api.bearerToken)try{let G=await fetch(`http://${E.api.host}:${E.api.port}/api/status`,{headers:{Authorization:`Bearer ${E.api.bearerToken}`}});process.stdout.write(`TCP API auth test: ${G.ok}
396
+ `)}catch{process.stdout.write(`TCP API auth test: false
397
+ `)}}if(process.stdout.write(`CORS enabled: ${E.cors.enabled}
398
+ `),E.cors.enabled)process.stdout.write(`CORS origins: ${E.cors.origins.join(", ")}
399
+ `);let j=await o7(),a=r7(j);if(process.stdout.write(`
400
+ Terminal graphics:
401
+ `),j.probeFailed){let G=j.probeFailedReason==="raw-unavailable"?"raw mode is unavailable in this stdin (try the interactive scrylog binary)":j.probeFailedReason==="no-answer"?"the terminal did not answer any probe (graphics detection is unknown)":"stdin is not an interactive TTY \u2014 attach one to test";process.stdout.write(` Probe: unavailable (${G})
402
+ `)}else process.stdout.write(` Terminal: ${j.terminalName??"(no XTVERSION response)"}
403
+ `),process.stdout.write(` TERM: ${j.term??"(unset)"}
404
+ `),process.stdout.write(` Multiplexer: ${j.multiplexer}
405
+ `),process.stdout.write(` Kitty graphics: ${j.kittyGraphics}
406
+ `),process.stdout.write(` Sixel: ${j.sixel}
407
+ `),process.stdout.write(` Window pixel resolution: ${j.pixelResolution?`${j.pixelResolution.width}x${j.pixelResolution.height}`:"(not reported)"}
408
+ `);if(process.stdout.write(` providerIcons config: ${E.tui.providerIcons}
409
+ `),process.stdout.write(` Recommended providerIcons: ${j.probeFailed?`run again from an interactive terminal (${a} is the safe default)`:a}
410
+ `),process.stdout.write(`MCP HTTP enabled: ${E.mcp.httpEnabled}
411
+ `),E.mcp.httpEnabled)try{let G=await fetch(`http://${E.mcp.host}:${E.mcp.port}`,{method:"POST",headers:{Accept:"application/json, text/event-stream","Content-Type":"application/json",...E.mcp.bearerToken?{Authorization:`Bearer ${E.mcp.bearerToken}`}:{}},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"ping",params:{}})});process.stdout.write(`MCP HTTP reachable: ${G.status>=200&&G.status<500}
412
+ `),process.stdout.write(`MCP bearer token configured: ${Boolean(E.mcp.bearerToken)}
413
+ `)}catch{process.stdout.write(`MCP HTTP reachable: false
414
+ `)}try{let M=Uj().status();process.stdout.write(`Service platform: ${M.platform}
415
+ Installed: ${M.installed}
416
+ Running: ${M.running}
417
+ `)}catch(G){process.stdout.write(`Service manager: ${G instanceof Error?G.message:String(G)}
418
+ `)}let Z=Bun.spawnSync(["tmux","-V"],{stdout:"pipe",stderr:"pipe"});if(process.stdout.write(`tmux available: ${Z.exitCode===0}
419
+ `),process.stdout.write(`herdr available: ${await H2(E.daemon.commandTimeoutMs)}
420
+ `),E.opencode.mode==="hooks"){process.stdout.write(`OpenCode mode: hooks
421
+ `);let G=x6(bE(),".config","opencode","opencode.json");process.stdout.write(`OpenCode plugin config present: ${B6(G)}
422
+ `);let M=!1;if(B6(G))try{M=(JSON.parse(G_(G,"utf8")).plugin??[]).some((Q)=>typeof Q==="string"&&Q.includes(VF))}catch{}process.stdout.write(`OpenCode plugin registered: ${M}
423
+ `)}else process.stdout.write(`OpenCode mode: sse
424
+ OpenCode auto-discover: ${E.opencode.autoDiscover}
425
+ Configured instances: ${E.opencode.instances.length}
426
+ `);if(process.stdout.write(`Claude hooks enabled: ${E.claude.hooksEnabled}
427
+ `),E.claude.hooksEnabled){let G=x6(bE(),".claude","settings.json");process.stdout.write(`Claude settings config present: ${B6(G)}
428
+ `)}if(process.stdout.write(`Codex hooks enabled: ${E.codex.hooksEnabled}
429
+ `),E.codex.hooksEnabled){let G=x6(bE(),".codex","hooks.json");process.stdout.write(`Codex hooks config present: ${B6(G)}
430
+ `)}}async function JT(A){let q=y7();try{let E=Jg(A.configPath),g=a_(A.configPath);process.stdout.write(`Config path: ${E}
431
+ `);let j=await q.yesNo("Configure OpenCode now?",!1),a={...g,api:{...g.api},mcp:{...g.mcp},opencode:{...g.opencode},daemon:{...g.daemon},cors:{...g.cors},retention:{...g.retention},usage:{...g.usage}};if(j){let Q=await q.choose("Select OpenCode mode",["hooks","sse"],g.opencode.mode==="hooks"?0:1);if(a.opencode.mode=Q,Q==="sse"){a.opencode.autoDiscover=await q.yesNo("Enable OpenCode auto-discovery?",g.opencode.autoDiscover);let H=await q.text("Comma-separated OpenCode instance URLs",g.opencode.instances.join(","));a.opencode.instances=H.split(",").map((N)=>N.trim()).filter(Boolean)}else if(process.stdout.write(`Hooks mode requires the @scrylog/opencode-plugin plugin in your OpenCode config.
432
+ `),await q.yesNo("Run scrylog opencode hooks install now?",!1))await OM(A)}if(XT())process.stdout.write(`Claude hooks already installed.
433
+ `);else if(await q.yesNo("Install Claude hooks now?",!1))await GM(A);if(LT())process.stdout.write(`Codex hooks already installed.
434
+ `);else if(await q.yesNo("Install Codex hooks now?",!1))await MM(A);let Z=await q.text("Daemon poll interval (ms)",String(g.daemon.pollIntervalMs)),G=await q.choose("Daemon log level",["debug","info","warn","error"],["debug","info","warn","error"].indexOf(g.daemon.logLevel));a.daemon.pollIntervalMs=U_(Z,g.daemon.pollIntervalMs),a.daemon.logLevel=G,a.daemon.commandTimeoutMs=U_(await q.text("Command timeout (ms)",String(g.daemon.commandTimeoutMs)),g.daemon.commandTimeoutMs),a.daemon.networkTimeoutMs=U_(await q.text("Network timeout (ms)",String(g.daemon.networkTimeoutMs)),g.daemon.networkTimeoutMs);let M=await q.text("Unix socket path (blank = default)",g.daemon.socketPath??"");if(a.daemon.socketPath=M.trim()||void 0,a.retention.maxSessions=U_(await q.text("Retention max sessions",String(g.retention.maxSessions)),g.retention.maxSessions),a.retention.standaloneMaxAgeHours=U_(await q.text("Retention standalone max age (hours, 0 = disabled)",String(g.retention.standaloneMaxAgeHours)),g.retention.standaloneMaxAgeHours),a.usage.enabled=await q.yesNo("Enable usage collection?",g.usage.enabled),a.api.tcpEnabled=await q.yesNo("Enable TCP API listener?",g.api.tcpEnabled),a.api.tcpEnabled){a.api.host=await q.text("TCP API host",g.api.host),a.api.port=U_(await q.text("TCP API port",String(g.api.port)),g.api.port);let Q=await q.choose("API bearer token",["generate","keep current","clear"],g.api.bearerToken?1:0);if(Q==="generate")a.api.bearerToken=jM(),process.stdout.write(`Generated API token: ${a.api.bearerToken}
435
+ `);else if(Q==="clear")a.api.bearerToken=void 0}if(a.cors.enabled=await q.yesNo("Enable CORS for browser access?",g.cors.enabled),a.cors.enabled){let Q=await q.text("Allowed origins (comma-separated, or * for all)",g.cors.origins.join(",")||"*");a.cors.origins=Q==="*"?["*"]:Q.split(",").map((H)=>H.trim()).filter(Boolean),a.cors.credentials=await q.yesNo("Allow credentials in CORS requests?",g.cors.credentials)}if(a.mcp.httpEnabled=await q.yesNo("Enable MCP HTTP listener?",g.mcp.httpEnabled),a.mcp.httpEnabled){a.mcp.host=await q.text("MCP HTTP host",g.mcp.host),a.mcp.port=U_(await q.text("MCP HTTP port",String(g.mcp.port)),g.mcp.port);let Q=await q.choose("MCP token",["generate","keep current","clear"],g.mcp.bearerToken?1:0);if(Q==="generate")a.mcp.bearerToken=jM(),process.stdout.write(`Generated MCP token: ${a.mcp.bearerToken}
436
+ `);else if(Q==="clear")a.mcp.bearerToken=void 0}if(Kj(()=>a,A.configPath),process.stdout.write(`Wrote config to ${E}
437
+ `),await q.yesNo("Install daemon as a user service?",!0)){let Q=Uj();if(Q.install(A.configPath),process.stdout.write(`Installed daemon service.
438
+ `),await q.yesNo("Start or restart the service now?",!0))Q.restart(),process.stdout.write(`Service restarted.
439
+ `)}await ZM(A)}finally{q.close()}}function jM(){return Q2(24).toString("base64url")}function U_(A,q){let E=Number.parseInt(A,10);return Number.isNaN(E)?q:E}var VF="@scrylog/opencode-plugin";function XT(A=bE()){let q=x6(A,".claude","settings.json");if(!B6(q))return!1;try{let g=JSON.parse(G_(q,"utf8")).hooks??{};return Object.values(g).some((j)=>j.some((a)=>a.hooks.some((Z)=>typeof Z.command==="string"&&Z.command.includes("scrylog-claude-hook"))))}catch{return!1}}function LT(A=bE()){let q=process.env.CODEX_HOME?process.env.CODEX_HOME:x6(A,".codex"),E=x6(q,"hooks.json");if(!B6(E))return!1;try{let j=JSON.parse(G_(E,"utf8")).hooks??{};return Object.values(j).some((a)=>a.some((Z)=>Z.hooks.some((G)=>typeof G.command==="string"&&G.command.includes("scrylog-codex-hook"))))}catch{return!1}}function J2(A=bE()){let q=x6(A,".config","opencode","opencode.json");if(!B6(q))return!1;try{return(JSON.parse(G_(q,"utf8")).plugin??[]).some((g)=>typeof g==="string"&&g.includes(VF))}catch{return!1}}function UM(A){if(!B6(A))return;let q=`${A}.bak`;Y2(A,q)}var OT=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PermissionRequest","PermissionDenied","PostToolUse","PostToolUseFailure","PostToolBatch","Stop","StopFailure","SubagentStart","SubagentStop","CwdChanged"];async function GM(A){let q=x6(bE(),".claude"),E=x6(q,"settings.json"),g=XF("scrylog-claude-hook")??"scrylog-claude-hook";if(g==="scrylog-claude-hook")process.stderr.write(`Warning: scrylog-claude-hook not found in PATH. Make sure it is installed before Claude Code runs hooks.
440
+ `);let a={};if(B6(E))try{a=JSON.parse(G_(E,"utf8"))}catch{process.stderr.write(`Warning: could not parse ${E} \u2014 starting with empty settings.
441
+ `)}else FM(q,{recursive:!0});if(XT()){process.stdout.write(`Claude hooks are already installed.
442
+ `);return}let G={...a.hooks??{}};for(let Q of OT){let H=G[Q]??[];G[Q]=[...H,{matcher:"",hooks:[{type:"command",command:g}]}]}a.hooks=G,UM(E);let M=`${E}.tmp`;KM(M,`${JSON.stringify(a,null,2)}
443
+ `,"utf8"),aM(M,E),process.stdout.write(`Wrote Claude hooks to ${E}
444
+ `),process.stdout.write(`Hooks installed: ${OT.join(", ")}
445
+ `),process.stdout.write(`Hook command: ${g}
446
+ `);let{path:Y}=Kj((Q)=>({...Q,claude:{...Q.claude,hooksEnabled:!0}}),A.configPath);process.stdout.write(`Enabled claude.hooksEnabled in scrylog config: ${Y}
447
+ `),process.stdout.write(`Done. Restart the scrylog daemon to apply changes.
448
+ `)}var YT=["SessionStart","PreToolUse","PermissionRequest","PostToolUse","UserPromptSubmit","SubagentStart","SubagentStop","Stop"];async function MM(A){let q=process.env.CODEX_HOME?process.env.CODEX_HOME:x6(bE(),".codex"),E=x6(q,"hooks.json"),g=XF("scrylog-codex-hook")??"scrylog-codex-hook";if(g==="scrylog-codex-hook")process.stderr.write(`Warning: scrylog-codex-hook not found in PATH. Make sure it is installed before Codex CLI runs hooks.
449
+ `);let a={};if(B6(E))try{a=JSON.parse(G_(E,"utf8"))}catch{process.stderr.write(`Warning: could not parse ${E} \u2014 starting with empty config.
450
+ `)}else FM(q,{recursive:!0});if(LT()){process.stdout.write(`Codex hooks are already installed.
451
+ `);return}let G={...a.hooks??{}};for(let Q of YT){let H=G[Q]??[],N={matcher:Q==="UserPromptSubmit"||Q==="Stop"?void 0:"",hooks:[{type:"command",command:g,...Q==="Stop"?{timeout:30}:{}}]};G[Q]=[...H,N]}a.hooks=G,UM(E);let M=`${E}.tmp`;KM(M,`${JSON.stringify(a,null,2)}
452
+ `,"utf8"),aM(M,E),process.stdout.write(`Wrote Codex hooks to ${E}
453
+ `),process.stdout.write(`Hooks installed: ${YT.join(", ")}
454
+ `),process.stdout.write(`Hook command: ${g}
455
+ `);let{path:Y}=Kj((Q)=>({...Q,codex:{...Q.codex,hooksEnabled:!0}}),A.configPath);process.stdout.write(`Enabled codex.hooksEnabled in scrylog config: ${Y}
456
+ `),process.stdout.write(`Done. Restart the scrylog daemon to apply changes.
457
+ `)}async function OM(A){let q=x6(bE(),".config","opencode"),E=x6(q,"opencode.json"),g={};if(B6(E))try{g=JSON.parse(G_(E,"utf8"))}catch{process.stderr.write(`Warning: could not parse ${E} \u2014 starting with empty settings.
458
+ `)}else FM(q,{recursive:!0});let j=g.plugin??[];if(!J2()){g.plugin=[...j,VF],UM(E);let Z=`${E}.tmp`;KM(Z,`${JSON.stringify(g,null,2)}
459
+ `,"utf8"),aM(Z,E),process.stdout.write(`Registered ${VF} in ${E}
460
+ `)}else process.stdout.write(`${VF} is already registered in ${E}
461
+ `);process.stdout.write(`Done. Make sure the plugin is installed globally and restart OpenCode.
462
+ `)}var Rx=`scrylog
463
+
464
+ Usage:
465
+ scrylog [--config <path>] [--include-unknown]
466
+ scrylog setup [--config <path>]
467
+ scrylog doctor [--config <path>]
468
+ scrylog daemon <install|uninstall|start|stop|restart|status> [--config <path>]
469
+ scrylog config <show|path> [--config <path>]
470
+ scrylog token <mcp|api|both> <generate|rotate|clear> [--config <path>]
471
+ scrylog claude hooks install [--config <path>]
472
+ scrylog codex hooks install [--config <path>]
473
+ scrylog opencode hooks install [--config <path>]
474
+ scrylog logs [--config <path>]
475
+
476
+ Options:
477
+ --config <path> Load config from an explicit path
478
+ --include-unknown Include sessions whose tool is unidentified
479
+ -h, --help Show this help text
480
+ -V, --version Show the installed scrylog version
481
+
482
+ See also:
483
+ scrylogd Background daemon (collects sessions and serves API/MCP)
484
+ scrylog-mcp stdio MCP server that proxies daemon data to AI agents
485
+ scrylog-claude-hook Claude Code lifecycle hook binary
486
+ scrylog-codex-hook Codex CLI lifecycle hook binary
487
+
488
+ Notes:
489
+ Running scrylog with no subcommand launches the TUI dashboard.
490
+ 'scrylog claude hooks install' configures Claude Code to emit lifecycle
491
+ hooks that scrylog uses for real-time session state tracking.
492
+ 'scrylog codex hooks install' configures Codex CLI to emit lifecycle
493
+ hooks that scrylog uses for real-time session state tracking.
494
+ 'scrylog opencode hooks install' registers the scrylog plugin in
495
+ OpenCode configuration for real-time session state tracking.
496
+ `,IQ="Usage: scrylog token <mcp|api|both> <generate|rotate|clear>";function Ix(A){let[q,E]=A;if(!q)throw Error(`Missing token target (mcp, api, or both). ${IQ}`);if(!E)throw Error(`Missing token action (generate, rotate, or clear). ${IQ}`);if(q!=="mcp"&&q!=="api"&&q!=="both")throw Error(`Invalid token target: ${q}. Must be mcp, api, or both. ${IQ}`);return{target:q,action:E}}function hx(){return{writeOut:(A)=>process.stdout.write(A),writeErr:(A)=>process.stderr.write(A)}}async function Sx(A,q=!1){await(await TN().then(() => HN)).launchTui(A,q)}function rE(A){return{configPath:A.optsWithGlobals().config}}function JN(A={}){let q=A.io??hx(),E=A.launchTui??Sx,g={setup:JT,doctor:ZM,daemon:QT,config:$T,token:HT,logs:TT,claudeHooksInstall:GM,codexHooksInstall:MM,openCodeHooksInstall:OM,...A.handlers},j=new _j;j.name("scrylog").option("--config <path>","Load config from an explicit path").option("--include-unknown","Include sessions whose tool is unidentified").version(`scrylog ${Hg()}`,"-V, --version","Show the installed scrylog version").helpOption("-h, --help","Show this help text").configureOutput({writeOut:q.writeOut,writeErr:q.writeErr}).configureHelp({formatHelp:()=>Rx}).showHelpAfterError("(see --help for usage)").exitOverride().argument("[command]").action(async(T)=>{if(T)j.error(`error: unknown command '${T}'`,{code:"commander.unknownCommand"});let J=j.opts();await E(J.config??process.env.SCRYLOG_CONFIG,J.includeUnknown??!1)});let a=j.command("setup").action(()=>g.setup(rE(a))),Z=j.command("doctor").action(()=>g.doctor(rE(Z))),G=j.command("daemon").argument("<action>","install, uninstall, start, stop, restart, or status").action((T)=>g.daemon(T,rE(G))),M=j.command("config").argument("<action>","show or path").action((T)=>g.config(T,rE(M))),Y=j.command("token").argument("[target]","mcp, api, or both").argument("[action]","generate, rotate, or clear").action((T,J)=>{let V=Ix([T,J]);return g.token(V.target,V.action,rE(Y))}),Q=j.command("logs").action(()=>g.logs(rE(Q))),H=j.command("claude").command("hooks").command("install");H.action(()=>g.claudeHooksInstall(rE(H)));let N=j.command("codex").command("hooks").command("install");N.action(()=>g.codexHooksInstall(rE(N)));let X=j.command("opencode").command("hooks").command("install");return X.action(()=>g.openCodeHooksInstall(rE(X))),j}async function Wx(A=process.argv){await JN().parseAsync(A)}if(import.meta.main)Wx().catch((A)=>{if(A instanceof yE){process.exitCode=A.exitCode;return}process.stderr.write(`scrylog: fatal: ${A instanceof Error?A.message:String(A)}
497
+ `),process.exitCode=1});export{Wx as main};
498
+
499
+ //# debugId=B1E0EE4B863FFEAB64756E2164756E21