@react-x11/components 0.14.1 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/code-editor/node.d.ts +13 -0
  2. package/dist/code-editor/node.d.ts.map +1 -1
  3. package/dist/code-editor/node.js +23 -5
  4. package/dist/code-editor/node.js.map +1 -1
  5. package/dist/html/css/cascade.d.ts +171 -26
  6. package/dist/html/css/cascade.d.ts.map +1 -1
  7. package/dist/html/css/cascade.js +616 -216
  8. package/dist/html/css/cascade.js.map +1 -1
  9. package/dist/html/css/color.d.ts +25 -0
  10. package/dist/html/css/color.d.ts.map +1 -1
  11. package/dist/html/css/color.js +307 -19
  12. package/dist/html/css/color.js.map +1 -1
  13. package/dist/html/css/content.d.ts +11 -6
  14. package/dist/html/css/content.d.ts.map +1 -1
  15. package/dist/html/css/content.js +171 -12
  16. package/dist/html/css/content.js.map +1 -1
  17. package/dist/html/css/parse.d.ts.map +1 -1
  18. package/dist/html/css/parse.js +62 -9
  19. package/dist/html/css/parse.js.map +1 -1
  20. package/dist/html/css/shapes.d.ts +18 -0
  21. package/dist/html/css/shapes.d.ts.map +1 -1
  22. package/dist/html/css/shapes.js +21 -1
  23. package/dist/html/css/shapes.js.map +1 -1
  24. package/dist/html/css/style.d.ts +42 -5
  25. package/dist/html/css/style.d.ts.map +1 -1
  26. package/dist/html/css/style.js +74 -12
  27. package/dist/html/css/style.js.map +1 -1
  28. package/dist/html/css/ua.js +27 -8
  29. package/dist/html/css/ua.js.map +1 -1
  30. package/dist/html/css/values.d.ts +5 -0
  31. package/dist/html/css/values.d.ts.map +1 -1
  32. package/dist/html/css/values.js +18 -9
  33. package/dist/html/css/values.js.map +1 -1
  34. package/dist/html/index.d.ts.map +1 -1
  35. package/dist/html/index.js +7 -0
  36. package/dist/html/index.js.map +1 -1
  37. package/dist/html/layout/block.d.ts +29 -9
  38. package/dist/html/layout/block.d.ts.map +1 -1
  39. package/dist/html/layout/block.js +141 -52
  40. package/dist/html/layout/block.js.map +1 -1
  41. package/dist/html/layout/boxes.d.ts +29 -2
  42. package/dist/html/layout/boxes.d.ts.map +1 -1
  43. package/dist/html/layout/boxes.js +172 -23
  44. package/dist/html/layout/boxes.js.map +1 -1
  45. package/dist/html/layout/css-grid.d.ts.map +1 -1
  46. package/dist/html/layout/css-grid.js +11 -9
  47. package/dist/html/layout/css-grid.js.map +1 -1
  48. package/dist/html/layout/flex.d.ts.map +1 -1
  49. package/dist/html/layout/flex.js +1759 -238
  50. package/dist/html/layout/flex.js.map +1 -1
  51. package/dist/html/layout/inline.d.ts +15 -3
  52. package/dist/html/layout/inline.d.ts.map +1 -1
  53. package/dist/html/layout/inline.js +64 -19
  54. package/dist/html/layout/inline.js.map +1 -1
  55. package/dist/html/layout/table.d.ts +27 -1
  56. package/dist/html/layout/table.d.ts.map +1 -1
  57. package/dist/html/layout/table.js +886 -324
  58. package/dist/html/layout/table.js.map +1 -1
  59. package/dist/html/node.d.ts +35 -4
  60. package/dist/html/node.d.ts.map +1 -1
  61. package/dist/html/node.js +122 -26
  62. package/dist/html/node.js.map +1 -1
  63. package/dist/html/paint.d.ts.map +1 -1
  64. package/dist/html/paint.js +558 -178
  65. package/dist/html/paint.js.map +1 -1
  66. package/dist/html/resources.js +14 -1
  67. package/dist/html/resources.js.map +1 -1
  68. package/dist/html/svg.d.ts +23 -7
  69. package/dist/html/svg.d.ts.map +1 -1
  70. package/dist/html/svg.js +264 -59
  71. package/dist/html/svg.js.map +1 -1
  72. package/dist/html/widgets.d.ts.map +1 -1
  73. package/dist/html/widgets.js +57 -4
  74. package/dist/html/widgets.js.map +1 -1
  75. package/package.json +3 -3
  76. package/src/code-editor/node.ts +24 -5
  77. package/src/html/css/cascade.ts +697 -221
  78. package/src/html/css/color.ts +345 -18
  79. package/src/html/css/content.ts +173 -15
  80. package/src/html/css/parse.ts +60 -8
  81. package/src/html/css/shapes.ts +35 -1
  82. package/src/html/css/style.ts +122 -17
  83. package/src/html/css/ua.ts +27 -8
  84. package/src/html/css/values.ts +23 -9
  85. package/src/html/index.ts +7 -0
  86. package/src/html/layout/block.ts +149 -58
  87. package/src/html/layout/boxes.ts +211 -27
  88. package/src/html/layout/css-grid.ts +12 -9
  89. package/src/html/layout/flex.ts +1975 -231
  90. package/src/html/layout/inline.ts +70 -16
  91. package/src/html/layout/table.ts +961 -332
  92. package/src/html/node.ts +155 -27
  93. package/src/html/paint.ts +692 -234
  94. package/src/html/resources.ts +13 -1
  95. package/src/html/svg.ts +299 -56
  96. package/src/html/widgets.ts +61 -4
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/html/layout/table.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,qEAAqE;AACrE,0EAA0E;AAC1E,EAAE;AACF,qEAAqE;AACrE,4EAA4E;AAC5E,4EAA4E;AAC5E,wEAAwE;AACxE,yEAAyE;AACzE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,MAAM,EACN,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CACzB,KAAU,EACV,GAAkB,EAClB,YAAoB;IAEpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GACrE,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IACxB,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,GAAG,GACP,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvE,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,sEAAsE;QACtE,mEAAmE;QACnE,sEAAsE;QACtE,wCAAwC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM;gBACzB,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe;gBACvD,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,KAAK,EACL,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY;oBACpC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,eAAe;oBAC7B,CAAC,CAAC,GAAG,CACR,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;QAC3D,CAAC;QACD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,6DAA6D;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,KAAK,UAAU,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;IAEnD,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,qEAAqE;IACrE,sCAAsC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEpD,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC;IACpD,wEAAwE;IACxE,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK;QAClB,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC,WAAW,CACT,KAAK,EACL,GAAG,EACH,WAAW,EACX,SAAS,EACT,GAAG,EACH,YAAY,EACZ,CAAC,IAAI,EACL,OAAO,CACR,CAAC;IAEN,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QACtE,CAAC;QACD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,KAAK,GACT,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;YACvE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC;oBACP,GAAG,GAAG,CAAC;wBACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;wBAClC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,mEAAmE;IACnE,2BAA2B;IAC3B,MAAM,OAAO,GAAa,IAAI,KAAK,CAAS,WAAW,CAAC,CAAC;IACzD,MAAM,IAAI,GAAc,IAAI,KAAK,CAAU,WAAW,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;;YACvB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAChC,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4DAA4D;IAC5D,EAAE;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,iBAAiB,GAAG,YAAY,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,iBAAiB,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC;QAC1C,iBAAiB,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;IAC7C,CAAC;IACD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAErC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;IAC9C,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,MAAM,MAAM,GAAa,IAAI,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAa,IAAI,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,IAAI,UAAU,CAAC;IAEhB,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,mDAAmD;IACnD,EAAE;IACF,mEAAmE;IACnE,wEAAwE;IACxE,oEAAoE;IACpE,sEAAsE;IACtE,iEAAiE;IACjE,qEAAqE;IACrE,sDAAsD;IACtD,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,WAAW,IAAI,MAAM;QAAE,QAAQ,IAAI,WAAW,CAAC;IAC1D,MAAM,OAAO,GAAa,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3D,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,qBAAqB;QACrB,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EACf,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,sEAAsE;IACtE,kEAAkE;IAClE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;YAAE,SAAS;QAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,uCAAuC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IAC9C,CAAC;IAED,kEAAkE;IAClE,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,oEAAoE;IACpE,wEAAwE;IACxE,mEAAmE;IACnE,yDAAyD;IACzD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;IACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,GAAG,GACP,MAAM,KAAK,IAAI;YACb,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,KAAK,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,CAAC;YAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,qBAAqB;IACrB,MAAM,OAAO,GAAc,IAAI,KAAK,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC;QACrD,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;YAC5B,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;IACtC,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,qEAAqE;YACrE,0BAA0B;YAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,mCAAmC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,WAAW,GAAG,CAAC,EACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAC/B,CAAC;YACF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,KAAK,GAAG,CAAC;wBAAE,KAAK,GAAG,CAAC,CAAC;oBACzB,GAAG,GAAG,CAAC,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,GAAG,CAAC;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,KAAK,GAAG,CAAC;gBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxC,IAAI,IAAI,EAAE,CAAC;gBACd,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;gBACvB,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9B,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,EAAE,KAAK,QAAQ;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3D,IAAI,EAAE,KAAK,QAAQ;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC;QAC7B,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,sEAAsE;IACtE,wEAAwE;IACxE,8CAA8C;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACd,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QACtB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAAE,SAAS;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,SAAS;QAChC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QAChB,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,KAAK,CAAC,MAAM;YACV,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;gBACtC,KAAK,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,CAAC;AACjB,CAAC;AAED;kEACkE;AAClE,SAAS,eAAe,CAAC,MAAkB,EAAE,KAAiB;IAC5D,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAe,EAAE,GAAkB,EAAE,KAAU;IACrE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,qEAAqE;QACrE,2BAA2B;QAC3B,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QACzE,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,IAAI,MAAM,CAAC;QACZ,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;+DAC+D;AAC/D,SAAS,cAAc,CAAC,QAAe,EAAE,GAAkB;IACzD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,4CAA4C;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY;oBACtC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC9B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;qDACqD;AACrD,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO;IACtD,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAC/C,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,SAAS;QACrD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,MAAgB,EAAE,IAAU,EAAE,OAAe;IACjE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CACnB,KAAa,EACb,YAA+B,EAC/B,WAAmB,EACnB,SAAiB,EACjB,OAAe;IAEf,MAAM,MAAM,GAAa,IAAI,KAAK,CAAS,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAc,IAAI,KAAK,CAAU,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;YAAE,MAAM;QACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY;YAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;;gBAC1B,IAAI,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YACrB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;;YACzB,KAAK,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC;gBACP,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,WAAW,CAClB,KAAa,EACb,YAA+B,EAC/B,WAAmB,EACnB,SAAiB,EACjB,GAAkB,EAClB,eAAuB,EACvB,IAAa,EACb,OAAe;IAEf,MAAM,GAAG,GAAa,IAAI,KAAK,CAAS,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAa,IAAI,KAAK,CAAS,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAsB,IAAI,KAAK,CAC3C,WAAW,CACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,QAAQ,GAAW,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,4BAA4B;QAC5B,EAAE;QACF,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,qBAAqB,CAClD,IAAI,CAAC,GAAG,EACR,GAAG,EACH,QAAQ,CACT,CAAC;YACF,iEAAiE;YACjE,IAAI,CAAC,GAAG,CAAC,mBAAmB;gBAC1B,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnD,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,IAAI;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IACxE,oEAAoE;IACpE,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,IAAc,EAAE,IAAY,EAAE,IAAU,EAAQ,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO;QAC3B,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC3C,IAAI,CAAC,CAAC,CAAC;gBACL,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAEF,qEAAqE;IACrE,oEAAoE;IACpE,wCAAwC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAW,CAAC,CAAC;YACjD,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,wEAAwE;IACxE,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,uEAAuE;QACvE,iEAAiE;QACjE,wEAAwE;QACxE,wEAAwE;QACxE,sDAAsD;QACtD,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ;YAAE,OAAO,GAAG,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;QACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtB,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;YAC1B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,mEAAmE;QACnE,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,UAAU,IAAI,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,GAAG,UAAU,CAAC;QACnC,OAAO,GAAG,CAAC,GAAG,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,WAA2B,EAC3B,YAA4B,EAC5B,IAAY;IAEZ,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACxC,CAAC;IACF,IAAI,KAAK,GAAe,IAAI,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACnE,0DAA0D;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK;gBAAE,KAAK,IAAI,CAAC,CAAC;YAClE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;oBAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBAC1C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;sCAEsC;AACtC,SAAS,SAAS,CAAC,GAAQ,EAAE,IAAY;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,IAAI;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;qEAaqE;AACrE,SAAS,SAAS,CAAC,IAAU,EAAE,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,IAAI;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;AACxC,CAAC;AAED;;;;0CAI0C;AAC1C,SAAS,QAAQ,CAAC,KAAoB,EAAE,IAAY;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;uDAEuD;AACvD,SAAS,UAAU,CAAC,GAAQ,EAAE,IAAY;IACxC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,GAAQ,EAAE,IAAY;IAC3C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CACpB,KAAa,EACb,QAAgB,EAChB,OAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ;YAAE,GAAG,GAAG,IAAI,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;QACnC,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ;YAAE,SAAS;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,SAAS;QAChD,GAAG,CAAC,CAAC,CAAC;YACJ,KAAK,KAAK,IAAI;gBACZ,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,SAAS,SAAS,CAAC,GAAQ;IACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO;YAAE,SAAS;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,SAAS,SAAS,CAAC,IAAW,EAAE,KAAa;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAa,EAAE;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO;YACL,WAAW,EAAE,OAAO,MAAM,KAAK,QAAQ;YACvC,OAAO,EAAE,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;SAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;aAClD,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,OAAiB,EACjB,MAAmB,EACnB,KAAa,EACb,IAAY;IAEZ,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;QAChE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,GAAG;gBAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC,CAAC;;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACxE,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAAE,OAAO;IAC3B,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,IAAa,EAAE,EAAE;QAC9C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,CAAC;gBACR,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM;QAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;SAClD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;;QAAM,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/html/layout/table.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,8 @@ export declare class HtmlViewNode extends Node {
98
98
  * the text carries surrogate pairs. null until checked. */
99
99
  private _pointsAreUnits;
100
100
  private _hovered;
101
+ /** Which element's widget holds the focus (`setFocus`). */
102
+ private _focus;
101
103
  /** Where the pointer last moved to, in logical window pixels, while it
102
104
  * is over the element (`defaultMouseMove`). */
103
105
  private _pointerAt;
@@ -333,18 +335,41 @@ export declare class HtmlViewNode extends Node {
333
335
  * with the styles of every element the move did not reach kept.
334
336
  */
335
337
  private _restyleHover;
338
+ /** The element whose widget holds the focus, or null (`setFocus`). */
339
+ get focusedElement(): Element | null;
340
+ /**
341
+ * The focus moved: `element`'s widget took it, or, given null, no widget
342
+ * of this document holds it now — it went to something else in the
343
+ * window, or nowhere. `visible` is whether it shows, `:focus-visible`,
344
+ * which it always does in a text field. Restyles what `:focus` and its
345
+ * kin reach as a hover does (`_restyleHover`), and returns whether the
346
+ * cascade's answer could have changed.
347
+ *
348
+ * No element of a document takes the focus: a control's widget, mounted
349
+ * beside it, does, and says so here. Only a text field's does, so far —
350
+ * the widgets core draws as components keep their own focus to
351
+ * themselves.
352
+ */
353
+ setFocus(element: Element | null, visible?: boolean): boolean;
336
354
  /**
337
355
  * The elements whose styles a move of the hovered chain can change, or
338
356
  * null where that cannot be said (`Cascade.hoverLocal`).
357
+ */
358
+ private _hoverReach;
359
+ /**
360
+ * The elements whose styles a move of the hovered chain can change, or
361
+ * of the focus's chain.
339
362
  *
340
363
  * Only an element whose hover state flipped and that a compound testing
341
364
  * the pointer could match can change (`Cascade.hoverTouches`), with its
342
365
  * subtree, and its later siblings' where a sibling combinator is in play;
343
366
  * and the elements a `:has()` testing the pointer may flip, which are
344
367
  * around the ones that changed. A move between two paragraphs under
345
- * `a:hover` reaches nothing.
368
+ * `a:hover` reaches nothing. The focus's the same way, its chain the
369
+ * focused element and every element around it, and `also` one whose
370
+ * state flipped though it is in both — the ring coming or going.
346
371
  */
347
- private _hoverReach;
372
+ private _stateReach;
348
373
  /**
349
374
  * A pointer move restyled where it happened, when all it changed is ink.
350
375
  *
@@ -364,8 +389,10 @@ export declare class HtmlViewNode extends Node {
364
389
  * - The boxes take their new styles: an element's own, the text in it,
365
390
  * the anonymous boxes the fix-up made around what is in it, and its
366
391
  * `::before` and `::after`, styled again by their own rules. A box
367
- * whose style is derived some other way — a marker, a first letter, a
368
- * control — is not one to restyle here.
392
+ * whose style is derived some other way — a marker, a first letter —
393
+ * is not one to restyle here. A control's is, and its widget is told
394
+ * (`_reportControls`), unless the page took to drawing the field or
395
+ * stopped.
369
396
  * - Each layout of their text is made again from the runs it was made
370
397
  * from (`TextLayoutCache.inputsOf`) with the new ink (`runFor`), where
371
398
  * its geometry comes out the same.
@@ -375,6 +402,10 @@ export declare class HtmlViewNode extends Node {
375
402
  * costs what it changed, in a document of any length. True where it was
376
403
  * restyled here, or had nothing to restyle; false where the boxes have to
377
404
  * be built again.
405
+ *
406
+ * A focus change is answered the same way (`setFocus`): `before` and
407
+ * `beforeFocus` are the states the change was from, and `pseudoRules`
408
+ * which pseudo-elements' rules test the state that changed.
378
409
  */
379
410
  private _hoverInPlace;
380
411
  /** An element's first box in document order, for the tree it was asked
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/html/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/html/node.ts"],"names":[],"mappings":"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"}
package/dist/html/node.js CHANGED
@@ -40,7 +40,7 @@ import { registerElement, registeredElements } from 'react-x11/host';
40
40
  import { Node } from 'react-x11/node';
41
41
  import { codePointAtOffset, codeUnitOffsets } from '../internal/text.js';
42
42
  import { attr, HtmlSource, imageUrlOf, isElement, tagOf } from './dom.js';
43
- import { Cascade, HOVER_FOLLOWED, HOVER_PSEUDO_NONE, HOVER_PSEUDO_OTHER, HOVER_UNTOUCHED, } from './css/cascade.js';
43
+ import { Cascade, HOVER_FOLLOWED, HOVER_PSEUDO_NONE, HOVER_PSEUDO_OTHER, HOVER_UNTOUCHED, NO_FOCUS, } from './css/cascade.js';
44
44
  import { mediaMatches, parseStylesheet } from './css/parse.js';
45
45
  import { uaStylesheet } from './css/ua.js';
46
46
  import { BOX_RAISES, buildBoxes, CONTENT_IMAGES, CLEARED_FROM, COLUMN_LINES, COLUMN_PIECES, COLUMN_ROWS, CUT_BLOCKS, GENERATED_FROM, INLINE_OFFSETS, LINE_BOX_RAISES, SHAPE_STYLES, SHIFTED_LINES, TEXT_SHIFTS, columned, } from './layout/boxes.js';
@@ -56,7 +56,7 @@ import { faceExtentOf, inlineDecoration, runFor } from './layout/inline.js';
56
56
  import { documentOffsetOf, layoutOffsetOf, layoutOffsets as layoutOffsetsOf, } from './layout/inline.js';
57
57
  import { lineBands as bandsFor } from '../richtext/runs.js';
58
58
  import { clipsOverflow, computePaintBounds, containingBlockOf, FIXED_BOXES, fixedToViewport, forgetDecoratedAncestors, hasRect, hoistNegative, holds, holdsAbsolute, inClip, inClipPath, onLine, ownBounds, paintDocument, pathClips, queryChildIndex, selectionRows, stackLayers, stacksLayers, } from './paint.js';
59
- import { controlRectsOf, measureControl } from './controls.js';
59
+ import { controlRectsOf, measureControl, styledField } from './controls.js';
60
60
  import { ResourceStore } from './resources.js';
61
61
  import { WebFonts } from './fonts.js';
62
62
  import { resolveUrl, UrlResolver } from './url.js';
@@ -156,6 +156,8 @@ export class HtmlViewNode extends Node {
156
156
  * the text carries surrogate pairs. null until checked. */
157
157
  _pointsAreUnits = null;
158
158
  _hovered = [];
159
+ /** Which element's widget holds the focus (`setFocus`). */
160
+ _focus = NO_FOCUS;
159
161
  /** Where the pointer last moved to, in logical window pixels, while it
160
162
  * is over the element (`defaultMouseMove`). */
161
163
  _pointerAt = null;
@@ -249,6 +251,12 @@ export class HtmlViewNode extends Node {
249
251
  controlBorder: look.controlBorder * s,
250
252
  controlRadius: look.controlRadius * s,
251
253
  controlFontSize: (look.controlFontSize ?? look.fontSize) * s,
254
+ ...(look.focusRingWidth !== undefined && {
255
+ focusRingWidth: look.focusRingWidth * s,
256
+ }),
257
+ ...(look.focusRingOffset !== undefined && {
258
+ focusRingOffset: look.focusRingOffset * s,
259
+ }),
252
260
  };
253
261
  this._deviceLookFor = look;
254
262
  this._deviceLookAt = s;
@@ -538,6 +546,7 @@ export class HtmlViewNode extends Node {
538
546
  hovered: new Set(this._hovered),
539
547
  active: EMPTY_SET,
540
548
  });
549
+ this._cascade.setFocus(this._focus);
541
550
  this._mediaBand = this._cascade.mediaBand(width);
542
551
  }
543
552
  /**
@@ -828,6 +837,14 @@ export class HtmlViewNode extends Node {
828
837
  scale: this._scale,
829
838
  imageSize: (el) => this._resources.imageSize(imageUrlOf(el) ?? ''),
830
839
  urlSize: (url) => this._resources.imageSize(url),
840
+ faceAscent: (style) => {
841
+ const fonts = this._fonts();
842
+ return fonts ? faceExtentOf(fonts, style).ascent : undefined;
843
+ },
844
+ faceExtent: (style) => {
845
+ const fonts = this._fonts();
846
+ return fonts ? faceExtentOf(fonts, style) : undefined;
847
+ },
831
848
  controlSize: (el, kind, style) => measureControl(el, kind, style, this._fonts(), look),
832
849
  });
833
850
  this._tree = build();
@@ -1309,37 +1326,97 @@ export class HtmlViewNode extends Node {
1309
1326
  * with the styles of every element the move did not reach kept.
1310
1327
  */
1311
1328
  _restyleHover(was, now) {
1329
+ const cascade = this._cascade;
1312
1330
  const reach = this._hoverReach(was, now);
1313
- if (reach !== null) {
1331
+ if (reach !== null && cascade) {
1314
1332
  if (!reach.size)
1315
1333
  return;
1316
- if (this._hoverInPlace(reach, was))
1334
+ const before = { hovered: new Set(was), active: EMPTY_SET };
1335
+ if (this._hoverInPlace(reach, before, this._focus, cascade.hoverPseudo)) {
1317
1336
  return;
1337
+ }
1338
+ }
1339
+ this._invalidate(Stale.Boxes, reach);
1340
+ }
1341
+ /** The element whose widget holds the focus, or null (`setFocus`). */
1342
+ get focusedElement() {
1343
+ return this._focus.element;
1344
+ }
1345
+ /**
1346
+ * The focus moved: `element`'s widget took it, or, given null, no widget
1347
+ * of this document holds it now — it went to something else in the
1348
+ * window, or nowhere. `visible` is whether it shows, `:focus-visible`,
1349
+ * which it always does in a text field. Restyles what `:focus` and its
1350
+ * kin reach as a hover does (`_restyleHover`), and returns whether the
1351
+ * cascade's answer could have changed.
1352
+ *
1353
+ * No element of a document takes the focus: a control's widget, mounted
1354
+ * beside it, does, and says so here. Only a text field's does, so far —
1355
+ * the widgets core draws as components keep their own focus to
1356
+ * themselves.
1357
+ */
1358
+ setFocus(element, visible = true) {
1359
+ const was = this._focus;
1360
+ if (was.element === element && (!element || was.visible === visible)) {
1361
+ return false;
1362
+ }
1363
+ const within = new Set();
1364
+ for (let at = element; at; at = isElement(at.parent) ? at.parent : null) {
1365
+ within.add(at);
1366
+ }
1367
+ const now = element ? { element, visible, within } : NO_FOCUS;
1368
+ this._focus = now;
1369
+ const cascade = this._cascade;
1370
+ cascade?.setFocus(now);
1371
+ if (!cascade || !cascade.focusSensitive)
1372
+ return false;
1373
+ const reach = cascade.focusLocal
1374
+ ? this._stateReach([...was.within], [...now.within],
1375
+ // one element, whose ring came or went
1376
+ was.element === element ? element : null, (el) => cascade.focusTouches(el), (el, into) => cascade.focusAnchors(el, into))
1377
+ : null;
1378
+ if (reach !== null) {
1379
+ if (!reach.size)
1380
+ return true;
1381
+ const pointer = { hovered: new Set(this._hovered), active: EMPTY_SET };
1382
+ if (this._hoverInPlace(reach, pointer, was, cascade.focusPseudo)) {
1383
+ return true;
1384
+ }
1318
1385
  }
1319
1386
  this._invalidate(Stale.Boxes, reach);
1387
+ return true;
1320
1388
  }
1321
1389
  /**
1322
1390
  * The elements whose styles a move of the hovered chain can change, or
1323
1391
  * null where that cannot be said (`Cascade.hoverLocal`).
1392
+ */
1393
+ _hoverReach(was, now) {
1394
+ const cascade = this._cascade;
1395
+ if (!cascade || !cascade.hoverLocal)
1396
+ return null;
1397
+ return this._stateReach(was, now, null, (el) => cascade.hoverTouches(el), (el, into) => cascade.hoverAnchors(el, into));
1398
+ }
1399
+ /**
1400
+ * The elements whose styles a move of the hovered chain can change, or
1401
+ * of the focus's chain.
1324
1402
  *
1325
1403
  * Only an element whose hover state flipped and that a compound testing
1326
1404
  * the pointer could match can change (`Cascade.hoverTouches`), with its
1327
1405
  * subtree, and its later siblings' where a sibling combinator is in play;
1328
1406
  * and the elements a `:has()` testing the pointer may flip, which are
1329
1407
  * around the ones that changed. A move between two paragraphs under
1330
- * `a:hover` reaches nothing.
1408
+ * `a:hover` reaches nothing. The focus's the same way, its chain the
1409
+ * focused element and every element around it, and `also` one whose
1410
+ * state flipped though it is in both — the ring coming or going.
1331
1411
  */
1332
- _hoverReach(was, now) {
1333
- const cascade = this._cascade;
1334
- if (!cascade || !cascade.hoverLocal)
1335
- return null;
1412
+ _stateReach(was, now, also, touches, anchors) {
1336
1413
  const before = new Set(was);
1337
1414
  const after = new Set(now);
1338
1415
  const roots = new Map();
1339
1416
  const flipped = (el, other) => {
1340
- if (other.has(el))
1417
+ if (other?.has(el))
1341
1418
  return;
1342
- const touch = cascade.hoverTouches(el);
1419
+ const touch = touches(el);
1343
1420
  if (touch > (roots.get(el) ?? HOVER_UNTOUCHED))
1344
1421
  roots.set(el, touch);
1345
1422
  };
@@ -1352,10 +1429,14 @@ export class HtmlViewNode extends Node {
1352
1429
  const deepest = (chain, other) => {
1353
1430
  const el = chain[0];
1354
1431
  if (el && !other.has(el))
1355
- cascade.hoverAnchors(el, roots);
1432
+ anchors(el, roots);
1356
1433
  };
1357
1434
  deepest(was, after);
1358
1435
  deepest(now, before);
1436
+ if (also) {
1437
+ flipped(also, null);
1438
+ anchors(also, roots);
1439
+ }
1359
1440
  // the roots' subtrees, which inherit from them and a descendant
1360
1441
  // combinator reaches, and their later siblings' too where a sibling
1361
1442
  // combinator follows the compound that tests the pointer
@@ -1402,8 +1483,10 @@ export class HtmlViewNode extends Node {
1402
1483
  * - The boxes take their new styles: an element's own, the text in it,
1403
1484
  * the anonymous boxes the fix-up made around what is in it, and its
1404
1485
  * `::before` and `::after`, styled again by their own rules. A box
1405
- * whose style is derived some other way — a marker, a first letter, a
1406
- * control — is not one to restyle here.
1486
+ * whose style is derived some other way — a marker, a first letter —
1487
+ * is not one to restyle here. A control's is, and its widget is told
1488
+ * (`_reportControls`), unless the page took to drawing the field or
1489
+ * stopped.
1407
1490
  * - Each layout of their text is made again from the runs it was made
1408
1491
  * from (`TextLayoutCache.inputsOf`) with the new ink (`runFor`), where
1409
1492
  * its geometry comes out the same.
@@ -1413,8 +1496,12 @@ export class HtmlViewNode extends Node {
1413
1496
  * costs what it changed, in a document of any length. True where it was
1414
1497
  * restyled here, or had nothing to restyle; false where the boxes have to
1415
1498
  * be built again.
1499
+ *
1500
+ * A focus change is answered the same way (`setFocus`): `before` and
1501
+ * `beforeFocus` are the states the change was from, and `pseudoRules`
1502
+ * which pseudo-elements' rules test the state that changed.
1416
1503
  */
1417
- _hoverInPlace(reach, was) {
1504
+ _hoverInPlace(reach, before, beforeFocus, pseudoRules) {
1418
1505
  const cascade = this._cascade;
1419
1506
  const tree = this._tree;
1420
1507
  const layouts = this._layouts;
@@ -1425,17 +1512,15 @@ export class HtmlViewNode extends Node {
1425
1512
  if (reach.size > HOVER_RESTYLE_LIMIT)
1426
1513
  return false;
1427
1514
  // a first line's, a first letter's and a marker's styles are layout's
1428
- const pseudoRules = cascade.hoverPseudo;
1429
1515
  if (pseudoRules === HOVER_PSEUDO_OTHER)
1430
1516
  return false;
1431
- // whether the rules that test the pointer answer differently for an
1432
- // element than they did before the move
1433
- const before = { hovered: new Set(was), active: EMPTY_SET };
1517
+ // whether the rules that test the pointer or the focus answer
1518
+ // differently for an element than they did before the change
1434
1519
  const flips = new Map();
1435
1520
  const flipped = (el) => {
1436
1521
  let flip = flips.get(el);
1437
1522
  if (flip === undefined) {
1438
- flip = cascade.pointerChanged(el, before);
1523
+ flip = cascade.pointerChanged(el, before, beforeFocus);
1439
1524
  flips.set(el, flip);
1440
1525
  }
1441
1526
  return flip;
@@ -1452,6 +1537,8 @@ export class HtmlViewNode extends Node {
1452
1537
  let reaches = false;
1453
1538
  let reorders = false;
1454
1539
  const moving = new Set();
1540
+ /** Whether a control's box was restyled: its widget is told. */
1541
+ let widgets = false;
1455
1542
  const styleOf = (el) => {
1456
1543
  const kept = tree.styles.get(el);
1457
1544
  if (!kept)
@@ -1517,7 +1604,7 @@ export class HtmlViewNode extends Node {
1517
1604
  const was = box && SHAPE_STYLES.get(box);
1518
1605
  if (!box || was === undefined)
1519
1606
  continue;
1520
- const shapes = cascade.shapeStyles(el, style);
1607
+ const shapes = cascade.shapeStyles(el, style, tree.shapeCopies);
1521
1608
  if (shapes?.key !== was?.key)
1522
1609
  redrawn.push([box, shapes]);
1523
1610
  }
@@ -1622,13 +1709,22 @@ export class HtmlViewNode extends Node {
1622
1709
  continue;
1623
1710
  const kept = tree.styles.get(el).style;
1624
1711
  // a style derived from the element's, or drawn from it somewhere
1625
- // else — a widget mounted beside the document takes its look from
1626
- // it. An image, a drawing or a rule is drawn here, from its box,
1627
- // like any.
1712
+ // else. A widget mounted beside the document takes its look from
1713
+ // it, and is told again once it is restyled — unless the page took
1714
+ // to drawing the field, or stopped, which is another size of box.
1715
+ // An image, a drawing or a rule is drawn here, from its box, like
1716
+ // any.
1628
1717
  if (box.style !== kept)
1629
1718
  return false;
1630
- if (box.marker || WIDGETS.has(box.replaced))
1719
+ if (box.marker)
1631
1720
  return false;
1721
+ if (WIDGETS.has(box.replaced)) {
1722
+ const kind = box.replaced;
1723
+ if (styledField(kind, kept) !== styledField(kind, style)) {
1724
+ return false;
1725
+ }
1726
+ widgets = true;
1727
+ }
1632
1728
  if (moving.has(el) && !movable(box, kept, style))
1633
1729
  return false;
1634
1730
  ink = !quiet.has(el);
@@ -1768,7 +1864,7 @@ export class HtmlViewNode extends Node {
1768
1864
  relayout = true;
1769
1865
  }
1770
1866
  }
1771
- if (moved.length)
1867
+ if (moved.length || widgets)
1772
1868
  this._reportControls();
1773
1869
  if (relayout) {
1774
1870
  this._invalidate(Stale.Layout);