take4-console 0.25.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +253 -0
- package/README.md +3 -2
- package/dist/Screen/ErrorHolder.d.mts +10 -0
- package/dist/Screen/ErrorHolder.d.mts.map +1 -0
- package/dist/Screen/ErrorHolder.mjs +14 -0
- package/dist/Screen/ErrorHolder.mjs.map +1 -0
- package/dist/Screen/InterfaceBuilder.d.mts.map +1 -1
- package/dist/Screen/InterfaceBuilder.mjs +7 -0
- package/dist/Screen/InterfaceBuilder.mjs.map +1 -1
- package/dist/Screen/Screen.d.mts +90 -1
- package/dist/Screen/Screen.d.mts.map +1 -1
- package/dist/Screen/Screen.mjs +300 -1
- package/dist/Screen/Screen.mjs.map +1 -1
- package/dist/Screen/StyleRegistry.d.mts.map +1 -1
- package/dist/Screen/StyleRegistry.mjs +3 -1
- package/dist/Screen/StyleRegistry.mjs.map +1 -1
- package/dist/Screen/VirtualCursor.d.mts +57 -0
- package/dist/Screen/VirtualCursor.d.mts.map +1 -0
- package/dist/Screen/VirtualCursor.mjs +148 -0
- package/dist/Screen/VirtualCursor.mjs.map +1 -0
- package/dist/Screen/Window.d.mts +116 -6
- package/dist/Screen/Window.d.mts.map +1 -1
- package/dist/Screen/Window.mjs +359 -34
- package/dist/Screen/Window.mjs.map +1 -1
- package/dist/Screen/WindowManager.d.mts +78 -2
- package/dist/Screen/WindowManager.d.mts.map +1 -1
- package/dist/Screen/WindowManager.mjs +197 -3
- package/dist/Screen/WindowManager.mjs.map +1 -1
- package/dist/Screen/controls/BarChart.d.mts.map +1 -1
- package/dist/Screen/controls/BarChart.mjs +3 -0
- package/dist/Screen/controls/BarChart.mjs.map +1 -1
- package/dist/Screen/controls/Checkbox.d.mts.map +1 -1
- package/dist/Screen/controls/Checkbox.mjs +4 -0
- package/dist/Screen/controls/Checkbox.mjs.map +1 -1
- package/dist/Screen/controls/LineChart.d.mts.map +1 -1
- package/dist/Screen/controls/LineChart.mjs +3 -0
- package/dist/Screen/controls/LineChart.mjs.map +1 -1
- package/dist/Screen/controls/ListBox.d.mts.map +1 -1
- package/dist/Screen/controls/ListBox.mjs +9 -0
- package/dist/Screen/controls/ListBox.mjs.map +1 -1
- package/dist/Screen/controls/ProgressBar.d.mts.map +1 -1
- package/dist/Screen/controls/ProgressBar.mjs +2 -0
- package/dist/Screen/controls/ProgressBar.mjs.map +1 -1
- package/dist/Screen/controls/ProgressBarV.d.mts.map +1 -1
- package/dist/Screen/controls/ProgressBarV.mjs +2 -0
- package/dist/Screen/controls/ProgressBarV.mjs.map +1 -1
- package/dist/Screen/controls/Radio.d.mts.map +1 -1
- package/dist/Screen/controls/Radio.mjs +7 -1
- package/dist/Screen/controls/Radio.mjs.map +1 -1
- package/dist/Screen/controls/Sparkline.d.mts.map +1 -1
- package/dist/Screen/controls/Sparkline.mjs +3 -0
- package/dist/Screen/controls/Sparkline.mjs.map +1 -1
- package/dist/Screen/controls/Spinner.d.mts.map +1 -1
- package/dist/Screen/controls/Spinner.mjs +8 -0
- package/dist/Screen/controls/Spinner.mjs.map +1 -1
- package/dist/Screen/controls/StatusLED.d.mts.map +1 -1
- package/dist/Screen/controls/StatusLED.mjs +3 -0
- package/dist/Screen/controls/StatusLED.mjs.map +1 -1
- package/dist/Screen/controls/Tabs.d.mts.map +1 -1
- package/dist/Screen/controls/Tabs.mjs +2 -0
- package/dist/Screen/controls/Tabs.mjs.map +1 -1
- package/dist/Screen/controls/TextArea.d.mts +68 -2
- package/dist/Screen/controls/TextArea.d.mts.map +1 -1
- package/dist/Screen/controls/TextArea.mjs +291 -46
- package/dist/Screen/controls/TextArea.mjs.map +1 -1
- package/dist/Screen/controls/TextBox.d.mts +52 -5
- package/dist/Screen/controls/TextBox.d.mts.map +1 -1
- package/dist/Screen/controls/TextBox.mjs +192 -10
- package/dist/Screen/controls/TextBox.mjs.map +1 -1
- package/dist/Screen/controls/Toast.d.mts +72 -0
- package/dist/Screen/controls/Toast.d.mts.map +1 -0
- package/dist/Screen/controls/Toast.mjs +112 -0
- package/dist/Screen/controls/Toast.mjs.map +1 -0
- package/dist/Screen/types.d.mts +169 -0
- package/dist/Screen/types.d.mts.map +1 -1
- package/dist/Screen/types.mjs +8 -0
- package/dist/Screen/types.mjs.map +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Screen/ErrorHolder.mts +22 -0
- package/src/Screen/InterfaceBuilder.mts +12 -5
- package/src/Screen/Screen.mts +313 -2
- package/src/Screen/StyleRegistry.mts +4 -0
- package/src/Screen/VirtualCursor.mts +175 -0
- package/src/Screen/Window.mts +352 -34
- package/src/Screen/WindowManager.mts +203 -3
- package/src/Screen/controls/BarChart.mts +3 -0
- package/src/Screen/controls/Checkbox.mts +3 -0
- package/src/Screen/controls/LineChart.mts +3 -0
- package/src/Screen/controls/ListBox.mts +8 -0
- package/src/Screen/controls/ProgressBar.mts +2 -0
- package/src/Screen/controls/ProgressBarV.mts +2 -0
- package/src/Screen/controls/Radio.mts +6 -1
- package/src/Screen/controls/Sparkline.mts +3 -0
- package/src/Screen/controls/Spinner.mts +6 -0
- package/src/Screen/controls/StatusLED.mts +2 -0
- package/src/Screen/controls/Tabs.mts +2 -0
- package/src/Screen/controls/TextArea.mts +290 -41
- package/src/Screen/controls/TextBox.mts +193 -10
- package/src/Screen/controls/Toast.mts +138 -0
- package/src/Screen/types.mts +167 -0
- package/src/demo.mts +131 -0
- package/src/index.mts +13 -0
- package/src/layout.yaml +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.mjs","sourceRoot":"","sources":["../../src/Screen/Window.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Window.mjs","sourceRoot":"","sources":["../../src/Screen/Window.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACzJ,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;4EAC4E;AAC5E,MAAM,YAAY,GAAgE;IACjF,MAAM,EAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACzG,MAAM,EAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACzG,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACzG,KAAK,EAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACzG,MAAM,EAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACzG,KAAK,EAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9F,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;CACzG,CAAC;AAEF,wFAAwF;AACxF,MAAM,aAAa,GAAG,CAAC,MAA0C,EAAwB,EAAE;IAC1F,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAWF;;;;;;;8EAO8E;AAC9E,SAAS,gBAAgB,CAAC,IAAa,EAAE,MAAc,EAAE,WAAmB;IAC3E,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,KAAK,CAAC,CAAK,OAAO,IAAI,CAAC,KAAK,CAAC;QAClC,KAAK,KAAK,CAAC,CAAK,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7D,KAAK,SAAS,CAAC,CAAC,OAAO,WAAW,CAAC;QACnC,KAAK,MAAM;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK;gBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IACtB,CAAC;AACF,CAAC;AAED,6EAA6E;AAC7E,MAAM,cAAc,GAAG,CAAC,IAA6B,EAAW,EAAE;IACjE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,OAAO;QACN,GAAG,EAAK,IAAI,CAAC,GAAG,IAAO,CAAC;QACxB,KAAK,EAAG,IAAI,CAAC,KAAK,IAAK,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,IAAI,EAAI,IAAI,CAAC,IAAI,IAAM,CAAC;KACxB,CAAC;AACH,CAAC,CAAC;AAEF;2EAC2E;AAC3E,MAAM,aAAa,GAAG,CAAC,IAA4B,EAAU,EAAE;IAC9D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,OAAO;QACN,GAAG,EAAK,IAAI,CAAC,GAAG,IAAO,CAAC;QACxB,KAAK,EAAG,IAAI,CAAC,KAAK,IAAK,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,IAAI,EAAI,IAAI,CAAC,IAAI,IAAM,CAAC;KACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,MAAM;IACX,CAAC,CAAS;IACV,CAAC,CAAS;IACjB,qFAAqF;IAC3E,MAAM,CAAS;IACzB,gEAAgE;IACtD,QAAQ,CAAgB;IACxB,QAAQ,CAAW;IAC7B,wDAAwD;IAC9C,OAAO,GAAY,KAAK,CAAC;IACnC,sEAAsE;IAC5D,QAAQ,GAAY,KAAK,CAAC;IACpC,oDAAoD;IAC1C,KAAK,GAAW,EAAE,CAAC;IAC7B,wFAAwF;IAC9E,aAAa,CAAW;IAClC,wFAAwF;IAC9E,cAAc,CAAW;IACnC,0FAA0F;IAChF,eAAe,CAAW;IAEpC,uDAAuD;IAC/C,OAAO,CAAS;IAChB,UAAU,CAAU;IACpB,MAAM,CAAuB;IACrC,2FAA2F;IACnF,mBAAmB,GAAY,KAAK,CAAC;IACrC,MAAM,CAAU;IAChB,OAAO,CAAM;IACb,QAAQ,CAAO;IACvB;;;mCAG+B;IACvB,OAAO,GAAY,IAAI,CAAC;IAChC;yEACqE;IAC7D,UAAU,CAAa;IAC/B,4EAA4E;IACpE,GAAG,CAAS;IACpB;4DACwD;IAChD,OAAO,CAAU;IACzB;;8CAE0C;IAClC,MAAM,CAAS;IACvB,8CAA8C;IACtC,WAAW,CAAS;IAC5B,mDAAmD;IAC3C,UAAU,CAAa;IAC/B,oFAAoF;IAC5E,cAAc,CAAiB;IACvC;+DAC2D;IACnD,EAAE,CAAqB;IAC/B,2EAA2E;IACnE,MAAM,CAAS;IACvB,8DAA8D;IACtD,cAAc,CAA2B;IACjD,8DAA8D;IACtD,aAAa,CAA2B;IAChD;;wDAEoD;IAC1C,MAAM,GAAkB,IAAI,CAAC;IACvC;;;;;gFAK4E;IAClE,SAAS,GAA6B,KAAK,CAAC;IACtD;;;;;;0DAMsD;IAC5C,MAAM,CAAC,cAAc,GAAW,CAAC,CAAC;IAE5C;;uEAEmE;IACnE,YAAmB,EAAoB;QACtC,MAAM,GAAG,GAAI,EAAE,CAAC,GAAG,CAAC;QACpB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAI,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAE,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAE,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAE,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAI,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,GAAK,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAM,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAK,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpF,IAAI,CAAC,UAAU,GAAO,EAAE,CAAC,MAAM,IAAY,UAAU,CAAC;QACtD,IAAI,CAAC,GAAG,GAAc,EAAE,CAAC,GAAG,IAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAU,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAW,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAM,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAO,EAAE,CAAC,UAAU,IAAQ,SAAS,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,IAAI,OAAO,CAAC;QACnD,IAAI,CAAC,EAAE,GAAe,EAAE,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAW,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,aAAa,GAAI,EAAE,CAAC,MAAM,CAAC;QAEhC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,MAAM,GAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACF,CAAC;IAED,sDAAsD;IAC/C,OAAO;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,2EAA2E;IAE3E;;;;;;gEAM4D;IACrD,SAAS,CAAC,IAAgB;QAChC,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;YAAE,OAAO;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO;QACvC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IACjE,CAAC;IAED;;;0CAGsC;IAC/B,UAAU;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;;;;;2EAKuE;IAC7D,oBAAoB;QAC7B,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED;;;;yEAIqE;IAC3D,iBAAiB,CAAC,OAAe,EAAE,OAAe,EAAE,GAAgB;QAC7E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC;gBACR,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACnB,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IAED;;yBAEqB;IACX,mBAAmB;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAChE,CAAC;IAED;8EAC0E;IACnE,SAAS;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED;gFAC4E;IACpE,WAAW;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9E,OAAO;YACN,GAAG,EAAK,CAAC,CAAC,CAAC,GAAG,IAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,EAAG,CAAC,CAAC,CAAC,KAAK,IAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,EAAI,CAAC,CAAC,CAAC,IAAI,IAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC,CAAC;IACH,CAAC;IAED;yEACqE;IAC7D,UAAU;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO;YACN,GAAG,EAAK,CAAC,CAAC,GAAG,GAAM,IAAI,CAAC,OAAO,CAAC,GAAG;YACnC,KAAK,EAAG,CAAC,CAAC,KAAK,GAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YACrC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YACtC,IAAI,EAAI,CAAC,CAAC,IAAI,GAAK,IAAI,CAAC,OAAO,CAAC,IAAI;SACpC,CAAC;IACH,CAAC;IAED;4DACwD;IACjD,cAAc;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;gDAC4C;IACrC,YAAY;QAClB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO;YACN,KAAK,EAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAI,IAAI,GAAG,KAAK,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,GAAI,MAAM,CAAC;SAC3C,CAAC;IACH,CAAC;IAED,wFAAwF;IACjF,SAAS,CAAC,MAAe;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;;uFAEmF;IAC5E,UAAU,CAAC,OAAgB;QACjC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,OAAO;YAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;;YACxB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACrC,CAAC;IAED;6EACyE;IAClE,UAAU,CAAC,OAAiC;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;6EACyE;IAClE,SAAS,CAAC,OAAiC;QACjD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,mEAAmE;IAC5D,KAAK;QACX,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IAED;4DACwD;IACjD,KAAK,CAAC,EAAsB;QAClC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAED;iDAC6C;IACtC,SAAS;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;6BAGyB;IAClB,SAAS,CAAC,MAAc;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,iEAAiE;QACjE,qEAAqE;QACrE,yCAAyC;QACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;;2EAEuE;IAChE,WAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,gEAAgE;IACzD,SAAS;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,wEAAwE;IACjE,WAAW,CAAC,QAAiB;QACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,yDAAyD;IAClD,UAAU;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;;uDAImD;IAC5C,UAAU,CAAC,OAAgB;QACjC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,uEAAuE;QACvE,oEAAoE;QACpE,6DAA6D;QAC7D,uCAAuC;QACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,uEAAuE;IAChE,SAAS;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,oDAAoD;IAC7C,QAAQ,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,sCAAsC;IAC/B,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;iGAC6F;IACnF,YAAY,CAAC,MAA0C;QAChE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;;oGAEgG;IACxF,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,GAAG,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,OAAO;gBACb,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;iEAK6D;IACtD,QAAQ,CAAC,KAAa;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,oEAAoE;QACpE,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED;;;wDAGoD;IAC7C,OAAO,CAAC,CAAS,EAAE,CAAS;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,GAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,4GAA4G;IACrG,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,qFAAqF;IAC9E,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY,EAAE,UAAmB,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;8CAC0C;IACnC,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,OAAgB;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,YAAY,GAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAG,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAG,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,0DAA0D;IACnD,KAAK;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,8DAA8D;IACvD,IAAI,CAAC,IAAY,EAAE,UAAmB,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;2FAmBuF;IAChF,SAAS,CAAC,KAAqB,EAAE,OAA0B;QACjE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,CACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAClB,CAAC;QACF,MAAM,QAAQ,GAAuB,OAAO,KAAK,KAAK,QAAQ;YAC7D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC;QAET,IAAI,EAAE,GAAG,MAAM,CAAC;QAChB,IAAI,EAAE,GAAG,MAAM,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAY,SAAS,CAAC;YAC/B,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBACjB,EAAE,GAAG,MAAM,CAAC;oBACZ,EAAE,EAAE,CAAC;oBACL,SAAS;gBACV,CAAC;gBACD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACtB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACb,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;wBACpC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACvC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACF,CAAC;gBACD,EAAE,IAAI,CAAC,CAAC;YACT,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;;;;wCASoC;IAC7B,WAAW,CAAC,QAAgB,EAAE,OAA0B;QAC9D,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAS,EAAE;YACxB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7E,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,GAAG,IAAI,GAAG,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,GAAG,IAAI,GAAG,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBAAC,GAAG,IAAI,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,KAAK,EAAE,CAAC;gBACR,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBACD,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACd,SAAS;YACV,CAAC;YACD,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;QACL,CAAC;QACD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;;mCAG+B;IACxB,YAAY,CAAC,IAAY;QAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACI,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,SAAS;gBAC7B,IAAI,CAAC;oBACJ,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;oBAClC,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;wBACpB,MAAM,GAAG,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,MAAM,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACF,CAAC;IAED;;;8EAG0E;IAClE,UAAU;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;mEAG+D;IACvD,qBAAqB,CAAC,KAAa,EAAE,GAAY;QACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC;YACJ,KAAK,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,2DAA2D;QAC5D,CAAC;IACF,CAAC;IAED;oDACgD;IACxC,eAAe;QACtB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,sGAAsG;IAC9F,WAAW;QAClB,MAAM,YAAY,GAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;IAED;;uEAEmE;IAC3D,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;QAClC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,GAA0B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAExF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,KAAK,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS,CAAC;QAEb,MAAM,cAAc,GAAyC,EAAE,CAAC;QAChE,IAAI,CAAC,CAAC,KAAK,KAAQ,SAAS;YAAE,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;QAClE,IAAI,OAAO,KAAQ,SAAS;YAAE,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAc,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAM,CAAC,CAAC,GAAG,IAAO,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QACjC,MAAM,IAAI,GAAK,CAAC,CAAC,IAAI,IAAM,KAAK,CAAC;QACjC,MAAM,KAAK,GAAI,CAAC,CAAC,KAAK,IAAK,KAAK,CAAC;QAEjC,UAAU;QACV,IAAI,GAAG,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;gBAChC,IAAI,EAAU,CAAC;gBACf,IAAI,MAAM,IAAK,IAAI;oBAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;qBACpC,IAAI,OAAO,IAAI,KAAK;oBAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;;oBAC1C,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,aAAa;QACb,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;gBAChC,IAAI,EAAU,CAAC;gBACf,IAAI,MAAM,IAAK,IAAI;oBAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;qBACvC,IAAI,OAAO,IAAI,KAAK;oBAAE,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;;oBAC7C,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,GAAG,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;QAED,4CAA4C;QAC5C,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,GAAG,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;kFAI8E;IACtE,SAAS,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAW,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEzD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;gBACvB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;oBACtD,MAAM,CAAC,GAAU,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;oBACtC,MAAM,KAAK,GAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,gFAAgF;IACzE,WAAW,CAAC,KAAa;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,8DAA8D;YAC9D,gEAAgE;YAChE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAED;sGACkG;IACxF,aAAa,CAAC,CAAS,EAAE,CAAS;QAC3C,IAAI,CAAC,MAAM,GAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,mEAAmE;QACnE,gEAAgE;QAChE,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED;;;;;0EAKsE;IAC/D,OAAO,CAAC,KAAa,EAAE,MAAc;QAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;kFAG8E;IACtE,cAAc;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED;gFAC4E;IACpE,SAAS;QAChB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAY,IAAI,CAAC,cAAc,EAAE,CAAC;QACxD,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,KAAK,UAAU;gBAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC7D,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC1E,KAAK,MAAM;gBAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,OAAO;QAC1D,CAAC;IACF,CAAC;IAED;;;;0DAIsD;IAC9C,cAAc,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACpE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;gBAClC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QACrC,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;8EAgB0E;IAClE,UAAU,CAAC,IAAsB,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACxF,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,oEAAoE;QACpE,sCAAsC;QACtC,MAAM,UAAU,GAAI,CAAC,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACrH,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAEpH,wEAAwE;QACxE,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAY,EAAE;YACzC,MAAM,QAAQ,GAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAClF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjF,OAAO;gBACN,KAAK,EAAM,CAAC;gBACZ,QAAQ;gBACR,SAAS;gBACT,QAAQ,EAAG,gBAAgB,CAAC,QAAQ,EAAG,UAAU,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;gBACpG,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;aACnG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,sEAAsE;QACtE,sCAAsC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;oBAAE,SAAS;gBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;gBACrE,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC;gBACrB,WAAW,IAAI,KAAK,CAAC;YACtB,CAAC;YACD,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;YACzC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAAC,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACnF,CAAC;YACF,CAAC;YACD,SAAS,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;wBAAE,SAAS;oBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;oBACjF,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC7D,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;YAC5D,CAAC;QACF,CAAC;QAED,uEAAuE;QACvE,qEAAqE;QACrE,eAAe;QACf,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvE,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QAED,0EAA0E;QAC1E,IAAI,SAAS,GAAK,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,GAAG,CAAC;QACtB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7B,KAAK,QAAQ;oBAAU,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBAAC,MAAM;gBACpE,KAAK,KAAK;oBAAa,SAAS,GAAG,SAAS,CAAC;oBAAC,MAAM;gBACpD,KAAK,eAAe;oBACnB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrF,MAAM;gBACP,KAAK,cAAc;oBAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACvD,SAAS,GAAK,GAAG,CAAC;wBAClB,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC7B,CAAC;oBACD,MAAM;YACR,CAAC;QACF,CAAC;QAED,kEAAkE;QAClE,kEAAkE;QAClE,sEAAsE;QACtE,+BAA+B;QAC/B,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1C,IAAI,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC7E,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,MAAM,QAAQ,GAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC;gBACvD,IAAS,IAAI,CAAC,UAAU,KAAK,QAAQ;oBAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;qBAClE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;oBAAK,QAAQ,GAAG,IAAI,CAAC;YACxD,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACX,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC;gBACpC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;gBACvC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC;YACrC,CAAC;YACD,MAAM,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;QACzD,CAAC;IACF,CAAC;IAED;;;;;gCAK4B;IACpB,UAAU,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,GAAI,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC3E,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1C,CAAC;IACF,CAAC;IAED;iFAC6E;IACrE,sBAAsB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;YACxC,GAAG;SACH,CAAC,CAAC,CAAC;QACJ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,gFAAgF;IACxE,SAAS,CAAC,CAAS,EAAE,CAAS;QACrC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5C,CAAC"}
|
|
@@ -18,6 +18,15 @@ export declare class WindowManager {
|
|
|
18
18
|
private onKey?;
|
|
19
19
|
private onMouse?;
|
|
20
20
|
private mouseEnabled;
|
|
21
|
+
/** Optional sink for render-time exceptions thrown by descendant windows.
|
|
22
|
+
* Installed into the global ErrorHolder on construction (cleared on
|
|
23
|
+
* stop). When unset, `Window.render()` rethrows instead of swallowing. */
|
|
24
|
+
private onError?;
|
|
25
|
+
/** When non-null, focus navigation (`focusNext/Prev/First/Last`, Tab cycle)
|
|
26
|
+
* is constrained to focusable controls whose absolute position falls
|
|
27
|
+
* inside a descendant of this window. Set by `trapFocus`; cleared by the
|
|
28
|
+
* release callback it returns. */
|
|
29
|
+
private focusTrap;
|
|
21
30
|
/** Registered bindings mapped by raw key string.
|
|
22
31
|
* Multiple handlers for the same key fire in insertion order; the first
|
|
23
32
|
* one that returns `true` marks the event as consumed. */
|
|
@@ -45,6 +54,12 @@ export declare class WindowManager {
|
|
|
45
54
|
/** Set by pause() when it showed a previously-hidden cursor — instructs
|
|
46
55
|
* resume() to hide it again. Cleared after resume() or stop() uses it. */
|
|
47
56
|
private pauseRestoreCursorHidden;
|
|
57
|
+
/** Active setInterval handle for cursor blink ticks, or null when
|
|
58
|
+
* cursor blinking is disabled (the default). */
|
|
59
|
+
private blinkTimer;
|
|
60
|
+
/** Interval (ms) requested by the last `enableCursorBlink()` call.
|
|
61
|
+
* Kept so resume() can reinstall the timer with the same cadence. */
|
|
62
|
+
private blinkIntervalMs;
|
|
48
63
|
/** Creates a WindowManager for the given Screen.
|
|
49
64
|
* Does not start the input loop; call run() to begin. */
|
|
50
65
|
constructor(screen: Screen, options?: WindowManagerOptions);
|
|
@@ -58,8 +73,38 @@ export declare class WindowManager {
|
|
|
58
73
|
/** Returns the currently focused control, or null if no control has focus. */
|
|
59
74
|
getFocused(): (Focusable & Window) | null;
|
|
60
75
|
/** Moves focus to the given control if it belongs to the active context and is
|
|
61
|
-
* eligible (not disabled, not hidden via setVisible(false)).
|
|
76
|
+
* eligible (not disabled, not hidden via setVisible(false)). When a focus
|
|
77
|
+
* trap is installed, the candidate must also be a descendant of the trap
|
|
78
|
+
* — otherwise the call is a no-op. */
|
|
62
79
|
setFocus(control: Focusable & Window): void;
|
|
80
|
+
/** Moves focus to the next eligible control (forward cycle), skipping
|
|
81
|
+
* disabled, hidden, and out-of-trap entries. Equivalent to the Tab key. */
|
|
82
|
+
focusNext(): void;
|
|
83
|
+
/** Moves focus to the previous eligible control (reverse cycle), skipping
|
|
84
|
+
* disabled, hidden, and out-of-trap entries. Equivalent to Shift-Tab. */
|
|
85
|
+
focusPrev(): void;
|
|
86
|
+
/** Focuses the first eligible control in the active context. No-op when
|
|
87
|
+
* no control is eligible. */
|
|
88
|
+
focusFirst(): void;
|
|
89
|
+
/** Focuses the last eligible control in the active context. */
|
|
90
|
+
focusLast(): void;
|
|
91
|
+
/** Focuses the control registered with the given `id` (copied from
|
|
92
|
+
* `WindowProperties.id` / YAML `id:`). Searches the active focus context
|
|
93
|
+
* only; returns `true` on success, `false` when no matching control is
|
|
94
|
+
* registered or the match is ineligible. */
|
|
95
|
+
focusById(id: string): boolean;
|
|
96
|
+
/** Constrains focus navigation to descendants of `within`. While active,
|
|
97
|
+
* `focusNext / focusPrev / focusFirst / focusLast / setFocus / focusById`
|
|
98
|
+
* skip any control that is not a descendant of `within`; Tab / Shift-Tab
|
|
99
|
+
* cycle within the trapped subtree only. Nested calls stack in LIFO
|
|
100
|
+
* order via the returned release function — calling the release restores
|
|
101
|
+
* the previous trap (or clears it when this was the outermost). The
|
|
102
|
+
* helper is independent of the modal dialog stack, so it can be used
|
|
103
|
+
* for composite controls that live inside the main context. */
|
|
104
|
+
trapFocus(within: Window): () => void;
|
|
105
|
+
/** Returns the Window that currently defines the focus trap, or null when
|
|
106
|
+
* no trap is active. Exposed primarily for tests and diagnostics. */
|
|
107
|
+
getFocusTrap(): Window | null;
|
|
63
108
|
/** Registers a global shortcut handler.
|
|
64
109
|
*
|
|
65
110
|
* The handler fires **before** the focused control receives the key; if it
|
|
@@ -134,6 +179,25 @@ export declare class WindowManager {
|
|
|
134
179
|
* called. A paused manager still has its `run()` context (focus
|
|
135
180
|
* registrations, dialog stack, exit keys) intact. */
|
|
136
181
|
isPaused(): boolean;
|
|
182
|
+
/** Starts a timer that periodically triggers a re-render so timed-blink
|
|
183
|
+
* `VirtualCursor` instances (used by focused `TextBox` / `TextArea`)
|
|
184
|
+
* actually animate in the terminal. Call once after `run()`; the timer
|
|
185
|
+
* automatically pauses during `pause()` and re-arms on `resume()`.
|
|
186
|
+
*
|
|
187
|
+
* The `intervalMs` parameter sets how often the timer fires — smaller
|
|
188
|
+
* values are smoother but render more frames per second. Default:
|
|
189
|
+
* `80` ms (≈12 Hz), enough to capture the `fast` preset (250/250) and
|
|
190
|
+
* the short phases of `irregular` without flooding stdout.
|
|
191
|
+
*
|
|
192
|
+
* Idempotent: calling again with a new interval replaces the existing
|
|
193
|
+
* timer. */
|
|
194
|
+
enableCursorBlink(intervalMs?: number): void;
|
|
195
|
+
/** Stops the blink timer installed by `enableCursorBlink()`. Idempotent. */
|
|
196
|
+
disableCursorBlink(): void;
|
|
197
|
+
/** (Re)creates the blink interval using the cached `blinkIntervalMs`. */
|
|
198
|
+
private installBlinkTimer;
|
|
199
|
+
/** Clears the active blink interval, if any. */
|
|
200
|
+
private uninstallBlinkTimer;
|
|
137
201
|
/** Processes a raw stdin Buffer. Exposed as public so tests can drive it directly
|
|
138
202
|
* without needing a real TTY. Tab / Shift-Tab navigation works even before run()
|
|
139
203
|
* because moveFocus() handles the "no current focus" case. Dispatching to a
|
|
@@ -151,8 +215,20 @@ export declare class WindowManager {
|
|
|
151
215
|
/** Removes focus from the currently focused control without moving it elsewhere. */
|
|
152
216
|
private blurCurrent;
|
|
153
217
|
/** Returns true when the control is eligible to receive focus in the current
|
|
154
|
-
* context — neither disabled nor hidden via `Window.setVisible(false)
|
|
218
|
+
* context — neither disabled nor hidden via `Window.setVisible(false)`,
|
|
219
|
+
* and inside the active focus trap (if any). */
|
|
155
220
|
private isFocusable;
|
|
221
|
+
/** Depth-first check: is `control` the trap window itself or one of its
|
|
222
|
+
* descendants? Used when `focusTrap` is installed to filter focus
|
|
223
|
+
* candidates. Cheaper than storing parent pointers because the subtree
|
|
224
|
+
* is usually small (the trap is a dialog or composite control). */
|
|
225
|
+
private isWithinTrap;
|
|
226
|
+
/** Returns true when `node` is `root` or is reachable by walking
|
|
227
|
+
* `root.getChildren()` recursively. */
|
|
228
|
+
private isDescendant;
|
|
229
|
+
/** Moves focus to the first or last eligible control in the active
|
|
230
|
+
* context. Shared implementation for `focusFirst` / `focusLast`. */
|
|
231
|
+
private focusAtEdge;
|
|
156
232
|
/** Finds the first already-focused (or first eligible) control and focuses it. */
|
|
157
233
|
private initializeFocus;
|
|
158
234
|
/** Moves focus by delta (+1 for Tab, -1 for Shift-Tab), skipping disabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.d.mts","sourceRoot":"","sources":["../../src/Screen/WindowManager.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,oBAAoB,EAGpB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"WindowManager.d.mts","sourceRoot":"","sources":["../../src/Screen/WindowManager.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,oBAAoB,EAGpB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAgKtC;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAmD;IACjE,OAAO,CAAC,OAAO,CAAC,CAAsC;IACtD,OAAO,CAAC,YAAY,CAAU;IAC9B;;+EAE2E;IAC3E,OAAO,CAAC,OAAO,CAAC,CAA0C;IAC1D;;;uCAGmC;IACnC,OAAO,CAAC,SAAS,CAAuB;IAExC;;+DAE2D;IAC3D,OAAO,CAAC,WAAW,CAA4C;IAE/D,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB;;;oDAGgD;IAChD,OAAO,CAAC,MAAM,CAAkB;IAEhC,oEAAoE;IACpE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,gDAAgD;IAChD,OAAO,CAAC,YAAY,CAAa;IACjC,qFAAqF;IACrF,OAAO,CAAC,aAAa,CAAkB;IACvC,+EAA+E;IAC/E,OAAO,CAAC,UAAU,CAAkB;IACpC;0EACsE;IACtE,OAAO,CAAC,qBAAqB,CAAkB;IAC/C;+EAC2E;IAC3E,OAAO,CAAC,wBAAwB,CAAkB;IAClD;qDACiD;IACjD,OAAO,CAAC,UAAU,CAA+C;IACjE;0EACsE;IACtE,OAAO,CAAC,eAAe,CAAuB;IAE9C;8DAC0D;gBACvC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAwBjE;;;qEAGiE;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxE,wEAAwE;IACjE,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAUpD,8EAA8E;IACvE,UAAU,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,IAAI;IAMhD;;;2CAGuC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAYlD;gFAC4E;IACrE,SAAS,IAAI,IAAI;IAIxB;8EAC0E;IACnE,SAAS,IAAI,IAAI;IAIxB;kCAC8B;IACvB,UAAU,IAAI,IAAI;IAIzB,+DAA+D;IACxD,SAAS,IAAI,IAAI;IAIxB;;;iDAG6C;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAcrC;;;;;;;oEAOgE;IACzD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI;IAU5C;0EACsE;IAC/D,YAAY,IAAI,MAAM,GAAG,IAAI;IAMpC;;;;;;;;;;;;;kFAa8E;IACvE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IASpE;;iDAE6C;IACtC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAmBpE;;;;;;wFAMoF;IAC7E,UAAU,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAC1E,IAAI;IAeP;sCACkC;IAC3B,WAAW,IAAI,IAAI;IAwB1B;;oCAEgC;IACzB,GAAG,IAAI,IAAI;IAkClB;;;;;qBAKiB;IACV,IAAI,IAAI,IAAI;IAuCnB;;;;;;;;;;;;;;0BAcsB;IACf,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA8B1D;;;;+CAI2C;IACpC,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAoCrD;;0DAEsD;IAC/C,QAAQ,IAAI,OAAO;IAM1B;;;;;;;;;;;iBAWa;IACN,iBAAiB,CAAC,UAAU,GAAE,MAAW,GAAG,IAAI;IAKvD,4EAA4E;IACrE,kBAAkB,IAAI,IAAI;IAKjC,yEAAyE;IACzE,OAAO,CAAC,iBAAiB;IAuBzB,gDAAgD;IAChD,OAAO,CAAC,mBAAmB;IAS3B;;;0FAGsF;IAC/E,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmEtC;yEACqE;IACrE,OAAO,CAAC,iBAAiB;IAiBzB,oFAAoF;IACpF,OAAO,CAAC,aAAa;IAOrB,sDAAsD;IACtD,OAAO,CAAC,mBAAmB;IAO3B,mDAAmD;IACnD,OAAO,CAAC,mBAAmB;IAQ3B,oFAAoF;IACpF,OAAO,CAAC,WAAW;IAQnB;;qDAEiD;IACjD,OAAO,CAAC,WAAW;IAMnB;;;wEAGoE;IACpE,OAAO,CAAC,YAAY;IAKpB;4CACwC;IACxC,OAAO,CAAC,YAAY;IAQpB;yEACqE;IACrE,OAAO,CAAC,WAAW;IAenB,kFAAkF;IAClF,OAAO,CAAC,eAAe;IAsBvB;+BAC2B;IAC3B,OAAO,CAAC,SAAS;IAyBjB,mFAAmF;IACnF,OAAO,CAAC,gBAAgB;IAqBxB,qCAAqC;IACrC,OAAO,CAAC,WAAW;CAGnB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { setErrorHandler } from './ErrorHolder.mjs';
|
|
1
2
|
// ── Key parsing ───────────────────────────────────────────────────────────────
|
|
2
3
|
/**
|
|
3
4
|
* Parses a raw stdin Buffer into an array of key strings.
|
|
@@ -147,6 +148,15 @@ export class WindowManager {
|
|
|
147
148
|
onKey;
|
|
148
149
|
onMouse;
|
|
149
150
|
mouseEnabled;
|
|
151
|
+
/** Optional sink for render-time exceptions thrown by descendant windows.
|
|
152
|
+
* Installed into the global ErrorHolder on construction (cleared on
|
|
153
|
+
* stop). When unset, `Window.render()` rethrows instead of swallowing. */
|
|
154
|
+
onError;
|
|
155
|
+
/** When non-null, focus navigation (`focusNext/Prev/First/Last`, Tab cycle)
|
|
156
|
+
* is constrained to focusable controls whose absolute position falls
|
|
157
|
+
* inside a descendant of this window. Set by `trapFocus`; cleared by the
|
|
158
|
+
* release callback it returns. */
|
|
159
|
+
focusTrap = null;
|
|
150
160
|
/** Registered bindings mapped by raw key string.
|
|
151
161
|
* Multiple handlers for the same key fire in insertion order; the first
|
|
152
162
|
* one that returns `true` marks the event as consumed. */
|
|
@@ -174,6 +184,12 @@ export class WindowManager {
|
|
|
174
184
|
/** Set by pause() when it showed a previously-hidden cursor — instructs
|
|
175
185
|
* resume() to hide it again. Cleared after resume() or stop() uses it. */
|
|
176
186
|
pauseRestoreCursorHidden = false;
|
|
187
|
+
/** Active setInterval handle for cursor blink ticks, or null when
|
|
188
|
+
* cursor blinking is disabled (the default). */
|
|
189
|
+
blinkTimer = null;
|
|
190
|
+
/** Interval (ms) requested by the last `enableCursorBlink()` call.
|
|
191
|
+
* Kept so resume() can reinstall the timer with the same cadence. */
|
|
192
|
+
blinkIntervalMs = null;
|
|
177
193
|
/** Creates a WindowManager for the given Screen.
|
|
178
194
|
* Does not start the input loop; call run() to begin. */
|
|
179
195
|
constructor(screen, options) {
|
|
@@ -183,6 +199,10 @@ export class WindowManager {
|
|
|
183
199
|
this.onKey = options?.onKey;
|
|
184
200
|
this.onMouse = options?.onMouse;
|
|
185
201
|
this.mouseEnabled = options?.mouse ?? false;
|
|
202
|
+
this.onError = options?.onError;
|
|
203
|
+
if (this.onError) {
|
|
204
|
+
setErrorHandler((err, control) => this.onError?.(err, control));
|
|
205
|
+
}
|
|
186
206
|
this.mainEntries = [];
|
|
187
207
|
this.mainFocusIndex = -1;
|
|
188
208
|
this.dialogStack = [];
|
|
@@ -217,7 +237,9 @@ export class WindowManager {
|
|
|
217
237
|
return idx >= 0 ? entries[idx].control : null;
|
|
218
238
|
}
|
|
219
239
|
/** Moves focus to the given control if it belongs to the active context and is
|
|
220
|
-
* eligible (not disabled, not hidden via setVisible(false)).
|
|
240
|
+
* eligible (not disabled, not hidden via setVisible(false)). When a focus
|
|
241
|
+
* trap is installed, the candidate must also be a descendant of the trap
|
|
242
|
+
* — otherwise the call is a no-op. */
|
|
221
243
|
setFocus(control) {
|
|
222
244
|
const entries = this.activeEntries();
|
|
223
245
|
const idx = entries.findIndex(e => e.control === control);
|
|
@@ -226,10 +248,73 @@ export class WindowManager {
|
|
|
226
248
|
const candidate = entries[idx].control;
|
|
227
249
|
if (candidate.isDisabled() || !candidate.isVisible())
|
|
228
250
|
return;
|
|
251
|
+
if (this.focusTrap && !this.isWithinTrap(candidate))
|
|
252
|
+
return;
|
|
229
253
|
this.blurCurrent();
|
|
230
254
|
this.setActiveFocusIndex(idx);
|
|
231
255
|
control.setFocused(true);
|
|
232
256
|
}
|
|
257
|
+
/** Moves focus to the next eligible control (forward cycle), skipping
|
|
258
|
+
* disabled, hidden, and out-of-trap entries. Equivalent to the Tab key. */
|
|
259
|
+
focusNext() {
|
|
260
|
+
this.moveFocus(1);
|
|
261
|
+
}
|
|
262
|
+
/** Moves focus to the previous eligible control (reverse cycle), skipping
|
|
263
|
+
* disabled, hidden, and out-of-trap entries. Equivalent to Shift-Tab. */
|
|
264
|
+
focusPrev() {
|
|
265
|
+
this.moveFocus(-1);
|
|
266
|
+
}
|
|
267
|
+
/** Focuses the first eligible control in the active context. No-op when
|
|
268
|
+
* no control is eligible. */
|
|
269
|
+
focusFirst() {
|
|
270
|
+
this.focusAtEdge('first');
|
|
271
|
+
}
|
|
272
|
+
/** Focuses the last eligible control in the active context. */
|
|
273
|
+
focusLast() {
|
|
274
|
+
this.focusAtEdge('last');
|
|
275
|
+
}
|
|
276
|
+
/** Focuses the control registered with the given `id` (copied from
|
|
277
|
+
* `WindowProperties.id` / YAML `id:`). Searches the active focus context
|
|
278
|
+
* only; returns `true` on success, `false` when no matching control is
|
|
279
|
+
* registered or the match is ineligible. */
|
|
280
|
+
focusById(id) {
|
|
281
|
+
const entries = this.activeEntries();
|
|
282
|
+
for (const entry of entries) {
|
|
283
|
+
if (entry.control.getId() !== id)
|
|
284
|
+
continue;
|
|
285
|
+
if (!this.isFocusable(entry.control))
|
|
286
|
+
return false;
|
|
287
|
+
if (this.focusTrap && !this.isWithinTrap(entry.control))
|
|
288
|
+
return false;
|
|
289
|
+
this.blurCurrent();
|
|
290
|
+
this.setActiveFocusIndex(entries.indexOf(entry));
|
|
291
|
+
entry.control.setFocused(true);
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
return false;
|
|
295
|
+
}
|
|
296
|
+
/** Constrains focus navigation to descendants of `within`. While active,
|
|
297
|
+
* `focusNext / focusPrev / focusFirst / focusLast / setFocus / focusById`
|
|
298
|
+
* skip any control that is not a descendant of `within`; Tab / Shift-Tab
|
|
299
|
+
* cycle within the trapped subtree only. Nested calls stack in LIFO
|
|
300
|
+
* order via the returned release function — calling the release restores
|
|
301
|
+
* the previous trap (or clears it when this was the outermost). The
|
|
302
|
+
* helper is independent of the modal dialog stack, so it can be used
|
|
303
|
+
* for composite controls that live inside the main context. */
|
|
304
|
+
trapFocus(within) {
|
|
305
|
+
const previous = this.focusTrap;
|
|
306
|
+
this.focusTrap = within;
|
|
307
|
+
return () => {
|
|
308
|
+
if (this.focusTrap === within) {
|
|
309
|
+
this.focusTrap = previous;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
/** Returns the Window that currently defines the focus trap, or null when
|
|
314
|
+
* no trap is active. Exposed primarily for tests and diagnostics. */
|
|
315
|
+
getFocusTrap() {
|
|
316
|
+
return this.focusTrap;
|
|
317
|
+
}
|
|
233
318
|
// ── Global key bindings (P0-4) ─────────────────────────────────────────────
|
|
234
319
|
/** Registers a global shortcut handler.
|
|
235
320
|
*
|
|
@@ -360,6 +445,7 @@ export class WindowManager {
|
|
|
360
445
|
const wasPaused = this.paused;
|
|
361
446
|
this.running = false;
|
|
362
447
|
this.paused = false;
|
|
448
|
+
this.uninstallBlinkTimer();
|
|
363
449
|
if (wasRunning) {
|
|
364
450
|
if (!wasPaused) {
|
|
365
451
|
process.stdin.off('data', this.boundHandleInput);
|
|
@@ -384,6 +470,8 @@ export class WindowManager {
|
|
|
384
470
|
this.pauseRestoreAltScreen = false;
|
|
385
471
|
this.pauseRestoreCursorHidden = false;
|
|
386
472
|
}
|
|
473
|
+
if (this.onError)
|
|
474
|
+
setErrorHandler(undefined);
|
|
387
475
|
this.onExit?.();
|
|
388
476
|
}
|
|
389
477
|
/** Suspends the input loop without tearing down the focus tree. Releases the
|
|
@@ -417,6 +505,9 @@ export class WindowManager {
|
|
|
417
505
|
if (this.pauseRestoreCursorHidden) {
|
|
418
506
|
this.screen.showHardwareCursor();
|
|
419
507
|
}
|
|
508
|
+
// Stop the blink timer so a spawned sub-process doesn't get its
|
|
509
|
+
// screen overwritten mid-frame. resume() reinstalls it.
|
|
510
|
+
this.uninstallBlinkTimer();
|
|
420
511
|
this.pauseRestoreAltScreen = false;
|
|
421
512
|
if (options?.leaveAltScreen && this.screen.isAltScreenActive()) {
|
|
422
513
|
this.screen.exitAltScreen();
|
|
@@ -448,7 +539,13 @@ export class WindowManager {
|
|
|
448
539
|
}
|
|
449
540
|
process.stdin.resume();
|
|
450
541
|
process.stdin.on('data', this.boundHandleInput);
|
|
542
|
+
// Restore the blink timer with its previously configured cadence.
|
|
543
|
+
this.installBlinkTimer();
|
|
451
544
|
if (options?.rerender !== false) {
|
|
545
|
+
// The paused interval may have reflowed via external writes
|
|
546
|
+
// (e.g. another process scribbled onto stdout), so schedule a
|
|
547
|
+
// full repaint instead of relying on cached dirty rects.
|
|
548
|
+
this.screen.invalidate();
|
|
452
549
|
this.renderFrame();
|
|
453
550
|
}
|
|
454
551
|
}
|
|
@@ -458,6 +555,60 @@ export class WindowManager {
|
|
|
458
555
|
isPaused() {
|
|
459
556
|
return this.paused;
|
|
460
557
|
}
|
|
558
|
+
// ── Cursor blink ───────────────────────────────────────────────────────────
|
|
559
|
+
/** Starts a timer that periodically triggers a re-render so timed-blink
|
|
560
|
+
* `VirtualCursor` instances (used by focused `TextBox` / `TextArea`)
|
|
561
|
+
* actually animate in the terminal. Call once after `run()`; the timer
|
|
562
|
+
* automatically pauses during `pause()` and re-arms on `resume()`.
|
|
563
|
+
*
|
|
564
|
+
* The `intervalMs` parameter sets how often the timer fires — smaller
|
|
565
|
+
* values are smoother but render more frames per second. Default:
|
|
566
|
+
* `80` ms (≈12 Hz), enough to capture the `fast` preset (250/250) and
|
|
567
|
+
* the short phases of `irregular` without flooding stdout.
|
|
568
|
+
*
|
|
569
|
+
* Idempotent: calling again with a new interval replaces the existing
|
|
570
|
+
* timer. */
|
|
571
|
+
enableCursorBlink(intervalMs = 80) {
|
|
572
|
+
this.blinkIntervalMs = Math.max(16, intervalMs);
|
|
573
|
+
this.installBlinkTimer();
|
|
574
|
+
}
|
|
575
|
+
/** Stops the blink timer installed by `enableCursorBlink()`. Idempotent. */
|
|
576
|
+
disableCursorBlink() {
|
|
577
|
+
this.blinkIntervalMs = null;
|
|
578
|
+
this.uninstallBlinkTimer();
|
|
579
|
+
}
|
|
580
|
+
/** (Re)creates the blink interval using the cached `blinkIntervalMs`. */
|
|
581
|
+
installBlinkTimer() {
|
|
582
|
+
this.uninstallBlinkTimer();
|
|
583
|
+
if (this.blinkIntervalMs === null)
|
|
584
|
+
return;
|
|
585
|
+
this.blinkTimer = setInterval(() => {
|
|
586
|
+
// Avoid drawing while paused — the stdin listener is detached
|
|
587
|
+
// and the terminal might be owned by a sub-process.
|
|
588
|
+
if (this.paused)
|
|
589
|
+
return;
|
|
590
|
+
// A blink tick is a pure time-driven change: no user input
|
|
591
|
+
// modified any state, so damage tracking would otherwise skip
|
|
592
|
+
// the frame entirely and the cursor would never visually blink.
|
|
593
|
+
// Flag the focused control dirty (if any) so its render() path
|
|
594
|
+
// re-emits the TextBox / TextArea row with the new cursor
|
|
595
|
+
// phase; when nothing is focused the frame is still skipped.
|
|
596
|
+
this.getFocused()?.markDirty();
|
|
597
|
+
this.renderFrame();
|
|
598
|
+
}, this.blinkIntervalMs);
|
|
599
|
+
// Don't keep the Node event loop alive just for cursor blinks.
|
|
600
|
+
if (typeof this.blinkTimer === 'object' && this.blinkTimer !== null
|
|
601
|
+
&& 'unref' in this.blinkTimer && typeof this.blinkTimer.unref === 'function') {
|
|
602
|
+
this.blinkTimer.unref();
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
/** Clears the active blink interval, if any. */
|
|
606
|
+
uninstallBlinkTimer() {
|
|
607
|
+
if (this.blinkTimer !== null) {
|
|
608
|
+
clearInterval(this.blinkTimer);
|
|
609
|
+
this.blinkTimer = null;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
461
612
|
// ── Input handling ─────────────────────────────────────────────────────────
|
|
462
613
|
/** Processes a raw stdin Buffer. Exposed as public so tests can drive it directly
|
|
463
614
|
* without needing a real TTY. Tab / Shift-Tab navigation works even before run()
|
|
@@ -576,9 +727,52 @@ export class WindowManager {
|
|
|
576
727
|
}
|
|
577
728
|
}
|
|
578
729
|
/** Returns true when the control is eligible to receive focus in the current
|
|
579
|
-
* context — neither disabled nor hidden via `Window.setVisible(false)
|
|
730
|
+
* context — neither disabled nor hidden via `Window.setVisible(false)`,
|
|
731
|
+
* and inside the active focus trap (if any). */
|
|
580
732
|
isFocusable(control) {
|
|
581
|
-
|
|
733
|
+
if (control.isDisabled() || !control.isVisible())
|
|
734
|
+
return false;
|
|
735
|
+
if (this.focusTrap && !this.isWithinTrap(control))
|
|
736
|
+
return false;
|
|
737
|
+
return true;
|
|
738
|
+
}
|
|
739
|
+
/** Depth-first check: is `control` the trap window itself or one of its
|
|
740
|
+
* descendants? Used when `focusTrap` is installed to filter focus
|
|
741
|
+
* candidates. Cheaper than storing parent pointers because the subtree
|
|
742
|
+
* is usually small (the trap is a dialog or composite control). */
|
|
743
|
+
isWithinTrap(control) {
|
|
744
|
+
if (!this.focusTrap)
|
|
745
|
+
return true;
|
|
746
|
+
return this.isDescendant(control, this.focusTrap);
|
|
747
|
+
}
|
|
748
|
+
/** Returns true when `node` is `root` or is reachable by walking
|
|
749
|
+
* `root.getChildren()` recursively. */
|
|
750
|
+
isDescendant(node, root) {
|
|
751
|
+
if (node === root)
|
|
752
|
+
return true;
|
|
753
|
+
for (const child of root.getChildren()) {
|
|
754
|
+
if (this.isDescendant(node, child))
|
|
755
|
+
return true;
|
|
756
|
+
}
|
|
757
|
+
return false;
|
|
758
|
+
}
|
|
759
|
+
/** Moves focus to the first or last eligible control in the active
|
|
760
|
+
* context. Shared implementation for `focusFirst` / `focusLast`. */
|
|
761
|
+
focusAtEdge(edge) {
|
|
762
|
+
const entries = this.activeEntries();
|
|
763
|
+
if (entries.length === 0)
|
|
764
|
+
return;
|
|
765
|
+
const order = edge === 'first'
|
|
766
|
+
? entries.map((_, i) => i)
|
|
767
|
+
: entries.map((_, i) => entries.length - 1 - i);
|
|
768
|
+
for (const idx of order) {
|
|
769
|
+
if (!this.isFocusable(entries[idx].control))
|
|
770
|
+
continue;
|
|
771
|
+
this.blurCurrent();
|
|
772
|
+
this.setActiveFocusIndex(idx);
|
|
773
|
+
entries[idx].control.setFocused(true);
|
|
774
|
+
return;
|
|
775
|
+
}
|
|
582
776
|
}
|
|
583
777
|
/** Finds the first already-focused (or first eligible) control and focuses it. */
|
|
584
778
|
initializeFocus() {
|