@floegence/floeterm-terminal-web 0.5.7 → 0.5.9

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.
@@ -1,4 +1,4 @@
1
- import type { Logger, TerminalCopySelectionResult, TerminalCopySelectionSource } from '../types';
1
+ import type { Logger, TerminalCopySelectionResult, TerminalCopySelectionSource, TerminalFocusOptions } from '../types';
2
2
  export declare const resolveTerminalInputElement: (container: HTMLElement) => HTMLTextAreaElement | null;
3
3
  export declare class TerminalInputBridge {
4
4
  private readonly container;
@@ -12,6 +12,8 @@ export declare class TerminalInputBridge {
12
12
  private ignoreNextInput;
13
13
  private suppressionToken;
14
14
  private ephemeralStateResetTimer;
15
+ private patchedTerminalFocusHost;
16
+ private restoreTerminalFocusHost;
15
17
  private readonly unregisterDocumentShortcutBridge;
16
18
  private readonly keydownListener;
17
19
  private readonly beforeInputListener;
@@ -23,7 +25,7 @@ export declare class TerminalInputBridge {
23
25
  private readonly containerPointerDownListener;
24
26
  private inputFocusClaimTimer;
25
27
  constructor(container: HTMLElement, input: HTMLTextAreaElement, onData: (data: string) => void, logger?: Logger, hasSelection?: () => boolean, copySelection?: (source: TerminalCopySelectionSource, clipboardData?: DataTransfer | null) => Promise<TerminalCopySelectionResult> | TerminalCopySelectionResult, syncInputGeometry?: () => void);
26
- focus(): void;
28
+ focus(options?: TerminalFocusOptions): void;
27
29
  dispose(): void;
28
30
  private attach;
29
31
  private handleContainerFocusIn;
@@ -38,6 +40,7 @@ export declare class TerminalInputBridge {
38
40
  tryHandleDocumentCopyEvent(event: ClipboardEvent): boolean;
39
41
  private shouldBypassClipboardInterception;
40
42
  private isTerminalOwnedEditableTarget;
43
+ private patchTerminalFocusHost;
41
44
  private requestSelectionCopy;
42
45
  private clearInputValue;
43
46
  private emitData;
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalInputBridge.d.ts","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAiHlB,eAAO,MAAM,2BAA2B,GAAI,WAAW,WAAW,KAAG,mBAAmB,GAAG,IAQ1F,CAAC;AAEF,qBAAa,mBAAmB;IA0C5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAQ9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAtDpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,wBAAwB,CAA8C;IAC9E,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAa;IAE9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;IAEF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;IAEF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEF,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAE3C;IAEF,OAAO,CAAC,oBAAoB,CAA8C;gBAGvD,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,GAAE,MAAmB,EAC3B,YAAY,GAAE,MAAM,OAAqB,EACzC,aAAa,GAAE,CAC9B,MAAM,EAAE,2BAA2B,EACnC,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,KAChC,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAI1C,EACe,iBAAiB,GAAE,MAAM,IAAe;IAQ3D,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;IAc5B,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIrC,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAuB5D,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAmB1D,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,yBAAyB;CAQlC"}
1
+ {"version":3,"file":"TerminalInputBridge.d.ts","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAkLlB,eAAO,MAAM,2BAA2B,GAAI,WAAW,WAAW,KAAG,mBAAmB,GAAG,IAQ1F,CAAC;AAEF,qBAAa,mBAAmB;IA4C5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAQ9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAxDpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,wBAAwB,CAA8C;IAC9E,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,wBAAwB,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAa;IAE9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;IAEF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;IAEF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEF,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAE3C;IAEF,OAAO,CAAC,oBAAoB,CAA8C;gBAGvD,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,GAAE,MAAmB,EAC3B,YAAY,GAAE,MAAM,OAAqB,EACzC,aAAa,GAAE,CAC9B,MAAM,EAAE,2BAA2B,EACnC,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,KAChC,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAI1C,EACe,iBAAiB,GAAE,MAAM,IAAe;IAQ3D,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAK3C,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;IAc5B,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIrC,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAuB5D,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAmB1D,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,yBAAyB;CAQlC"}
@@ -41,6 +41,57 @@ const mapKeydownToTerminalData = (event) => {
41
41
  return '\x7f';
42
42
  return null;
43
43
  };
44
+ const normalizeTerminalFocusOptions = (options) => ({
45
+ ...options,
46
+ preventScroll: options?.preventScroll ?? true,
47
+ });
48
+ const focusTerminalElement = (element, options) => {
49
+ element.focus(normalizeTerminalFocusOptions(options));
50
+ };
51
+ const terminalFocusHostPatches = new WeakMap();
52
+ const retainTerminalFocusHostPatch = (host) => {
53
+ const existingPatch = terminalFocusHostPatches.get(host);
54
+ if (existingPatch) {
55
+ existingPatch.references += 1;
56
+ return () => {
57
+ releaseTerminalFocusHostPatch(host, existingPatch);
58
+ };
59
+ }
60
+ const originalDescriptor = Object.getOwnPropertyDescriptor(host, 'focus');
61
+ const originalFocus = host.focus;
62
+ const patch = {
63
+ originalFocus,
64
+ originalDescriptor,
65
+ wrappedFocus: ((options) => {
66
+ originalFocus.call(host, normalizeTerminalFocusOptions(options));
67
+ }),
68
+ references: 1,
69
+ };
70
+ terminalFocusHostPatches.set(host, patch);
71
+ host.focus = patch.wrappedFocus;
72
+ return () => {
73
+ releaseTerminalFocusHostPatch(host, patch);
74
+ };
75
+ };
76
+ const releaseTerminalFocusHostPatch = (host, patch) => {
77
+ const currentPatch = terminalFocusHostPatches.get(host);
78
+ if (currentPatch !== patch) {
79
+ return;
80
+ }
81
+ patch.references -= 1;
82
+ if (patch.references > 0) {
83
+ return;
84
+ }
85
+ terminalFocusHostPatches.delete(host);
86
+ if (host.focus === patch.wrappedFocus) {
87
+ if (patch.originalDescriptor) {
88
+ Object.defineProperty(host, 'focus', patch.originalDescriptor);
89
+ }
90
+ else {
91
+ delete host.focus;
92
+ }
93
+ }
94
+ };
44
95
  const matchesBeforeInputSuppression = (token, event) => {
45
96
  if (token.kind === 'linebreak') {
46
97
  return event.inputType === 'insertLineBreak' || event.inputType === 'insertParagraph';
@@ -108,6 +159,8 @@ export class TerminalInputBridge {
108
159
  this.ignoreNextInput = false;
109
160
  this.suppressionToken = null;
110
161
  this.ephemeralStateResetTimer = null;
162
+ this.patchedTerminalFocusHost = null;
163
+ this.restoreTerminalFocusHost = null;
111
164
  this.keydownListener = (event) => {
112
165
  this.handleKeydown(event);
113
166
  };
@@ -138,13 +191,16 @@ export class TerminalInputBridge {
138
191
  this.unregisterDocumentShortcutBridge = registerDocumentShortcutBridge(this.container.ownerDocument, this);
139
192
  this.attach();
140
193
  }
141
- focus() {
194
+ focus(options) {
142
195
  this.syncInputGeometry();
143
- this.input.focus();
196
+ focusTerminalElement(this.input, options);
144
197
  }
145
198
  dispose() {
146
199
  this.clearEphemeralStateResetTimer();
147
200
  this.clearInputFocusClaimTimer();
201
+ this.restoreTerminalFocusHost?.();
202
+ this.restoreTerminalFocusHost = null;
203
+ this.patchedTerminalFocusHost = null;
148
204
  this.unregisterDocumentShortcutBridge();
149
205
  this.input.removeEventListener('keydown', this.keydownListener);
150
206
  this.input.removeEventListener('beforeinput', this.beforeInputListener);
@@ -156,6 +212,7 @@ export class TerminalInputBridge {
156
212
  this.container.removeEventListener('pointerdown', this.containerPointerDownListener, true);
157
213
  }
158
214
  attach() {
215
+ this.patchTerminalFocusHost();
159
216
  this.input.addEventListener('keydown', this.keydownListener);
160
217
  this.input.addEventListener('beforeinput', this.beforeInputListener);
161
218
  this.input.addEventListener('input', this.inputListener);
@@ -330,6 +387,17 @@ export class TerminalInputBridge {
330
387
  // user inputs inside overlays still keep their native clipboard behavior.
331
388
  return target.matches(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR);
332
389
  }
390
+ patchTerminalFocusHost() {
391
+ const host = this.container.matches(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR)
392
+ ? this.container
393
+ : this.container.querySelector(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR);
394
+ if (!(host instanceof HTMLElement) || this.patchedTerminalFocusHost === host) {
395
+ return;
396
+ }
397
+ this.restoreTerminalFocusHost?.();
398
+ this.patchedTerminalFocusHost = host;
399
+ this.restoreTerminalFocusHost = retainTerminalFocusHostPatch(host);
400
+ }
333
401
  requestSelectionCopy(source, clipboardData = null) {
334
402
  Promise.resolve(this.copySelection(source, clipboardData)).catch(error => {
335
403
  this.logger.warn('[TerminalInputBridge] Selection copy failed', { error, source });
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalInputBridge.js","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,MAAM,uBAAuB,GAAG,uCAAuC,CAAC;AACxE,MAAM,uCAAuC,GAAG,uDAAuD,CAAC;AAExG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,KAAK;IACL,UAAU;IACV,UAAU;IACV,SAAS;IACT,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC9D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,mBAAmB,GACvB,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,mBAAmB,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,KAAoB,EAAkC,EAAE;IACjG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,KAAoB,EAAiB,EAAE;IACvE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,KAA8B,EAAE,KAAiB,EAAW,EAAE;IACnG,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,SAAS,KAAK,iBAAiB,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAA8B,EAAE,KAAa,EAAW,EAAE;IACzF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACxE,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,iBAAiB,CAAC;QACvB,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC;QACd,KAAK,uBAAuB;YAC1B,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAoB,EAAqB,EAAE,CAAC,CAAC;IAC3E,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAyB,EAAE;IAC7E,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;AAChG,CAAC,CAAC;AAWF,MAAM,4BAA4B,GAAG,IAAI,OAAO,EAAoD,CAAC;AAErG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAsB,EAA8B,EAAE;IAChG,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,MAAM,YAAY,mBAAmB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACrD,OAAO,QAAQ,YAAY,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,OAAO,mBAAmB;IAyC9B,YACmB,SAAsB,EACtB,KAA0B,EAC1B,MAA8B,EAC9B,SAAiB,UAAU,EAC3B,eAA8B,GAAG,EAAE,CAAC,KAAK,EACzC,gBAGyD,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,iBAAiB;QACzB,MAAM;KACP,CAAC,EACe,oBAAgC,GAAG,EAAE,GAAE,CAAC;QAbxC,cAAS,GAAT,SAAS,CAAa;QACtB,UAAK,GAAL,KAAK,CAAqB;QAC1B,WAAM,GAAN,MAAM,CAAwB;QAC9B,WAAM,GAAN,MAAM,CAAqB;QAC3B,iBAAY,GAAZ,YAAY,CAA6B;QACzC,kBAAa,GAAb,aAAa,CAO5B;QACe,sBAAiB,GAAjB,iBAAiB,CAAuB;QAtDnD,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAmC,IAAI,CAAC;QACxD,6BAAwB,GAAyC,IAAI,CAAC;QAG7D,oBAAe,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEe,wBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;YAC/C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,CAAC;QAEe,2BAAsB,GAAG,CAAC,KAAuB,EAAE,EAAE;YACpE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAChE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;YACnD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QAEM,yBAAoB,GAAyC,IAAI,CAAC;QAkBxE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,gCAAgC,GAAG,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC7F,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IAEO,sBAAsB,CAAC,KAAiB;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC;YAC1D,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAiB;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAAC,KAAuB;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAAY;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,6BAA6B,CAAC,KAAoB;QAChD,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CAAC,KAAqB;QAC9C,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iCAAiC,CAAC,MAA0B;QAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAEO,6BAA6B,CAAC,MAAmB;QACvD,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,OAAO,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC;IAEO,oBAAoB,CAAC,MAAmC,EAAE,gBAAqC,IAAI;QACzG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,6BAA6B;QACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,sBAAsB,GAAG,CAC7B,OAAiC,EACjC,MAA0B,EACE,EAAE;IAC9B,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,QAAkB,EAA0C,EAAE;IACpG,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAA2C;QAC1D,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI,GAAG,EAAuB;QACvC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,WAAW,CAAC,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,WAAW,CAAC,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC;YACrG,MAAM,EAAE,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC;YACrG,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAElE,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,8BAA8B,CAAC,QAAkB,EAAE,MAA2B;IACrF,MAAM,WAAW,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC7D,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC/E,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjE,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TerminalInputBridge.js","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ export type TerminalOutputPipelineCatchUpReason = 'sequence-gap' | 'inactive-buffer-overflow';
2
+ export interface TerminalOutputPipelineChunk {
3
+ data: Uint8Array;
4
+ sequence?: number;
5
+ timestampMs?: number;
6
+ }
7
+ export interface TerminalOutputPipelinePolicy {
8
+ maxLiveBatchChunks: number;
9
+ maxLiveBatchBytes: number;
10
+ maxInactiveChunks: number;
11
+ maxInactiveBytes: number;
12
+ }
13
+ export interface TerminalOutputPipelineCatchUpRequest {
14
+ reason: TerminalOutputPipelineCatchUpReason;
15
+ startSequence: number;
16
+ expectedSequence?: number;
17
+ observedSequence?: number;
18
+ firstBufferedSequence?: number;
19
+ droppedChunks: number;
20
+ droppedBytes: number;
21
+ }
22
+ export interface TerminalOutputPipelineStats {
23
+ enqueuedChunks: number;
24
+ enqueuedBytes: number;
25
+ flushedChunks: number;
26
+ flushedBytes: number;
27
+ droppedChunks: number;
28
+ droppedBytes: number;
29
+ duplicateChunks: number;
30
+ sequenceGaps: number;
31
+ catchUpRequests: number;
32
+ inactiveOverflows: number;
33
+ pendingChunks: number;
34
+ pendingBytes: number;
35
+ inactiveChunks: number;
36
+ inactiveBytes: number;
37
+ lastObservedSequence: number;
38
+ lastAppliedSequence: number;
39
+ catchUpPending: boolean;
40
+ disposed: boolean;
41
+ }
42
+ export interface TerminalOutputPipelineScheduler {
43
+ requestFrame?: (callback: FrameRequestCallback) => number;
44
+ cancelFrame?: (handle: number) => void;
45
+ now?: () => number;
46
+ }
47
+ export interface TerminalOutputPipelineOptions {
48
+ write: (data: Uint8Array, chunks: readonly TerminalOutputPipelineChunk[]) => void;
49
+ isInteractive?: () => boolean;
50
+ requestCatchUp?: (request: TerminalOutputPipelineCatchUpRequest) => void;
51
+ onDrain?: () => void;
52
+ policy?: Partial<TerminalOutputPipelinePolicy>;
53
+ scheduler?: TerminalOutputPipelineScheduler;
54
+ startSequence?: number;
55
+ }
56
+ export interface TerminalOutputPipelineResetOptions {
57
+ startSequence?: number;
58
+ resetStats?: boolean;
59
+ }
60
+ export interface TerminalOutputPipelineHandle {
61
+ enqueue(chunk: TerminalOutputPipelineChunk): void;
62
+ flush(): void;
63
+ reset(options?: TerminalOutputPipelineResetOptions): void;
64
+ dispose(): void;
65
+ getStats(): TerminalOutputPipelineStats;
66
+ }
67
+ export declare const createTerminalOutputPipeline: (options: TerminalOutputPipelineOptions) => TerminalOutputPipelineHandle;
68
+ //# sourceMappingURL=TerminalOutputPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalOutputPipeline.d.ts","sourceRoot":"","sources":["../../src/core/TerminalOutputPipeline.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mCAAmC,GAC3C,cAAc,GACd,0BAA0B,CAAC;AAE/B,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oCAAoC;IACnD,MAAM,EAAE,mCAAmC,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,2BAA2B,EAAE,KAAK,IAAI,CAAC;IAClF,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oCAAoC,KAAK,IAAI,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,+BAA+B,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAClD,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,CAAC,OAAO,CAAC,EAAE,kCAAkC,GAAG,IAAI,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,IAAI,2BAA2B,CAAC;CACzC;AAqeD,eAAO,MAAM,4BAA4B,GACvC,SAAS,6BAA6B,KACrC,4BAEF,CAAC"}