@univerjs/sheets-ui 0.17.0 → 0.18.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.
Files changed (278) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +288 -20
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/en-US.js +1 -1
  5. package/lib/cjs/locale/es-ES.js +1 -1
  6. package/lib/cjs/locale/fa-IR.js +1 -1
  7. package/lib/cjs/locale/fr-FR.js +1 -1
  8. package/lib/cjs/locale/ja-JP.js +1 -1
  9. package/lib/cjs/locale/ko-KR.js +1 -1
  10. package/lib/cjs/locale/ru-RU.js +1 -1
  11. package/lib/cjs/locale/sk-SK.js +1 -1
  12. package/lib/cjs/locale/vi-VN.js +1 -1
  13. package/lib/cjs/locale/zh-CN.js +1 -1
  14. package/lib/cjs/locale/zh-TW.js +1 -1
  15. package/lib/es/facade.js +1 -1276
  16. package/lib/es/index.js +288 -25637
  17. package/lib/es/locale/ca-ES.js +1 -463
  18. package/lib/es/locale/en-US.js +1 -465
  19. package/lib/es/locale/es-ES.js +1 -463
  20. package/lib/es/locale/fa-IR.js +1 -465
  21. package/lib/es/locale/fr-FR.js +1 -465
  22. package/lib/es/locale/ja-JP.js +1 -463
  23. package/lib/es/locale/ko-KR.js +1 -463
  24. package/lib/es/locale/ru-RU.js +1 -463
  25. package/lib/es/locale/sk-SK.js +1 -463
  26. package/lib/es/locale/vi-VN.js +1 -463
  27. package/lib/es/locale/zh-CN.js +1 -464
  28. package/lib/es/locale/zh-TW.js +1 -464
  29. package/lib/facade.js +1 -1276
  30. package/lib/index.css +1215 -1
  31. package/lib/index.js +288 -25637
  32. package/lib/locale/ca-ES.js +1 -463
  33. package/lib/locale/en-US.js +1 -465
  34. package/lib/locale/es-ES.js +1 -463
  35. package/lib/locale/fa-IR.js +1 -465
  36. package/lib/locale/fr-FR.js +1 -465
  37. package/lib/locale/ja-JP.js +1 -463
  38. package/lib/locale/ko-KR.js +1 -463
  39. package/lib/locale/ru-RU.js +1 -463
  40. package/lib/locale/sk-SK.js +1 -463
  41. package/lib/locale/vi-VN.js +1 -463
  42. package/lib/locale/zh-CN.js +1 -464
  43. package/lib/locale/zh-TW.js +1 -464
  44. package/lib/types/basics/editor/get-editor-object.d.ts +17 -2
  45. package/lib/types/basics/editor/range.d.ts +17 -2
  46. package/lib/types/commands/commands/clipboard.command.d.ts +16 -1
  47. package/lib/types/commands/commands/delete-range-move-left-confirm.command.d.ts +16 -1
  48. package/lib/types/commands/commands/delete-range-move-up-confirm.command.d.ts +16 -1
  49. package/lib/types/commands/commands/headersize-changed.command.d.ts +16 -1
  50. package/lib/types/commands/commands/hide-row-col-confirm.command.d.ts +16 -1
  51. package/lib/types/commands/commands/inline-format.command.d.ts +16 -1
  52. package/lib/types/commands/commands/insert-range-move-down-confirm.command.d.ts +16 -1
  53. package/lib/types/commands/commands/insert-range-move-right-confirm.command.d.ts +16 -1
  54. package/lib/types/commands/commands/range-protection.command.d.ts +17 -2
  55. package/lib/types/commands/commands/remove-row-col-confirm.command.d.ts +16 -1
  56. package/lib/types/commands/commands/remove-sheet-confirm.command.d.ts +16 -1
  57. package/lib/types/commands/commands/set-format-painter.command.d.ts +16 -1
  58. package/lib/types/commands/commands/set-frozen.command.d.ts +16 -1
  59. package/lib/types/commands/commands/set-scroll.command.d.ts +16 -1
  60. package/lib/types/commands/commands/set-selection.command.d.ts +17 -1
  61. package/lib/types/commands/commands/set-worksheet-auto-col-width.command.d.ts +16 -1
  62. package/lib/types/commands/commands/set-zoom-ratio.command.d.ts +16 -1
  63. package/lib/types/commands/commands/unhide.command.d.ts +16 -1
  64. package/lib/types/commands/commands/utils/selection-utils.d.ts +17 -1
  65. package/lib/types/commands/commands/worksheet-protection.command.d.ts +16 -1
  66. package/lib/types/commands/operations/activate-cell-edit.operation.d.ts +17 -2
  67. package/lib/types/commands/operations/cell-edit.operation.d.ts +17 -2
  68. package/lib/types/commands/operations/rename-sheet.operation.d.ts +16 -1
  69. package/lib/types/commands/operations/scroll-to-range.operation.d.ts +17 -2
  70. package/lib/types/commands/operations/scroll.operation.d.ts +17 -2
  71. package/lib/types/commands/operations/set-format-painter.operation.d.ts +17 -2
  72. package/lib/types/commands/operations/set-zoom-ratio.operation.d.ts +16 -1
  73. package/lib/types/commands/operations/sheet-permission-open-dialog.operation.d.ts +16 -1
  74. package/lib/types/commands/operations/sheet-permission-open-panel.operation.d.ts +17 -2
  75. package/lib/types/commands/operations/sidebar-defined-name.operation.d.ts +16 -1
  76. package/lib/types/common/utils.d.ts +22 -7
  77. package/lib/types/components/border-panel/BorderPanel.d.ts +16 -1
  78. package/lib/types/components/border-panel/border-line/BorderLine.d.ts +15 -0
  79. package/lib/types/components/border-panel/interface.d.ts +17 -2
  80. package/lib/types/components/hook.d.ts +17 -2
  81. package/lib/types/components/menu-item-frozen/MenuItemFrozen.d.ts +16 -1
  82. package/lib/types/components/menu-item-frozen/interface.d.ts +16 -1
  83. package/lib/types/components/menu-item-input/MenuItemInput.d.ts +16 -1
  84. package/lib/types/components/menu-item-input/interface.d.ts +17 -2
  85. package/lib/types/config/config.d.ts +19 -4
  86. package/lib/types/consts/mobile-context.d.ts +5 -0
  87. package/lib/types/consts/permission.d.ts +15 -0
  88. package/lib/types/controllers/auto-fill-ui.controller.d.ts +15 -0
  89. package/lib/types/controllers/auto-height.controller.d.ts +18 -2
  90. package/lib/types/controllers/auto-width.controller.d.ts +20 -4
  91. package/lib/types/controllers/cell-alert.controller.d.ts +18 -2
  92. package/lib/types/controllers/cell-custom-render.controller.d.ts +18 -2
  93. package/lib/types/controllers/cell-popup-editor.controller.d.ts +18 -2
  94. package/lib/types/controllers/checkbox.controller.d.ts +15 -0
  95. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +16 -1
  96. package/lib/types/controllers/clipboard/utils.d.ts +19 -3
  97. package/lib/types/controllers/defined-name/defined-name.controller.d.ts +15 -0
  98. package/lib/types/controllers/drag-render.controller.d.ts +19 -2
  99. package/lib/types/controllers/editor/data-sync.controller.d.ts +15 -0
  100. package/lib/types/controllers/editor/editing.render-controller.d.ts +17 -1
  101. package/lib/types/controllers/editor/formula-editor.controller.d.ts +15 -0
  102. package/lib/types/controllers/force-string-alert-render.controller.d.ts +18 -2
  103. package/lib/types/controllers/force-string-render.controller.d.ts +18 -2
  104. package/lib/types/controllers/format-painter/format-painter.controller.d.ts +15 -0
  105. package/lib/types/controllers/hover-render.controller.d.ts +18 -2
  106. package/lib/types/controllers/mark-selection.controller.d.ts +18 -2
  107. package/lib/types/controllers/mobile/mobile-sheet-ui.controller.d.ts +15 -0
  108. package/lib/types/controllers/move-range.controller.d.ts +18 -2
  109. package/lib/types/controllers/permission/sheet-permission-check-ui.controller.d.ts +15 -0
  110. package/lib/types/controllers/permission/sheet-permission-init-ui.controller.d.ts +15 -0
  111. package/lib/types/controllers/permission/sheet-permission-interceptor-canvas-render.controller.d.ts +18 -2
  112. package/lib/types/controllers/permission/sheet-permission-interceptor-clipboard.controller.d.ts +15 -0
  113. package/lib/types/controllers/permission/sheet-permission-interceptor-formula-render.controller.d.ts +18 -2
  114. package/lib/types/controllers/permission/sheet-permission-render.controller.d.ts +19 -2
  115. package/lib/types/controllers/render-controllers/clipboard.render-controller.d.ts +18 -2
  116. package/lib/types/controllers/render-controllers/contextmenu.render-controller.d.ts +18 -2
  117. package/lib/types/controllers/render-controllers/editor-bridge.render-controller.d.ts +19 -2
  118. package/lib/types/controllers/render-controllers/format-painter.render-controller.d.ts +18 -2
  119. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +20 -4
  120. package/lib/types/controllers/render-controllers/header-menu.render-controller.d.ts +18 -2
  121. package/lib/types/controllers/render-controllers/header-move.render-controller.d.ts +20 -4
  122. package/lib/types/controllers/render-controllers/header-resize.render-controller.d.ts +20 -4
  123. package/lib/types/controllers/render-controllers/header-unhide.render-controller.d.ts +18 -2
  124. package/lib/types/controllers/render-controllers/mobile/mobile-contextmenu.render-controller.d.ts +43 -6
  125. package/lib/types/controllers/render-controllers/mobile/mobile-header-resize.render-controller.d.ts +18 -2
  126. package/lib/types/controllers/render-controllers/mobile/mobile-scroll.render-controller.d.ts +19 -2
  127. package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +19 -2
  128. package/lib/types/controllers/render-controllers/sheet.render-controller.d.ts +19 -3
  129. package/lib/types/controllers/render-controllers/skeleton.render-controller.d.ts +19 -2
  130. package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +18 -2
  131. package/lib/types/controllers/sheet-ui.controller.d.ts +15 -0
  132. package/lib/types/controllers/shortcuts/copy-fill.shortcut.d.ts +18 -0
  133. package/lib/types/controllers/shortcuts/editor.shortcut.d.ts +17 -1
  134. package/lib/types/controllers/shortcuts/operation.shortcut.d.ts +16 -1
  135. package/lib/types/controllers/shortcuts/selection.shortcut.d.ts +17 -2
  136. package/lib/types/controllers/shortcuts/style.shortcut.d.ts +16 -1
  137. package/lib/types/controllers/shortcuts/utils.d.ts +16 -1
  138. package/lib/types/controllers/shortcuts/value.shortcut.d.ts +16 -1
  139. package/lib/types/controllers/shortcuts/view.shortcut.d.ts +16 -1
  140. package/lib/types/controllers/status-bar.controller.d.ts +21 -4
  141. package/lib/types/controllers/utils/char-tools.d.ts +16 -1
  142. package/lib/types/controllers/utils/component-tools.d.ts +18 -2
  143. package/lib/types/controllers/utils/range-tools.d.ts +17 -2
  144. package/lib/types/controllers/utils/selections-tools.d.ts +19 -3
  145. package/lib/types/facade/f-enum.d.ts +15 -0
  146. package/lib/types/facade/f-event.d.ts +22 -7
  147. package/lib/types/facade/f-permission.d.ts +15 -0
  148. package/lib/types/facade/f-range.d.ts +21 -4
  149. package/lib/types/facade/f-sheet-hooks.d.ts +18 -2
  150. package/lib/types/facade/f-univer.d.ts +18 -3
  151. package/lib/types/facade/f-workbook.d.ts +20 -5
  152. package/lib/types/facade/f-worksheet.d.ts +22 -5
  153. package/lib/types/hooks/use-highlight-range.d.ts +16 -1
  154. package/lib/types/index.d.ts +1 -0
  155. package/lib/types/locale/ca-ES.d.ts +16 -1
  156. package/lib/types/locale/es-ES.d.ts +16 -1
  157. package/lib/types/locale/fa-IR.d.ts +16 -1
  158. package/lib/types/locale/fr-FR.d.ts +16 -1
  159. package/lib/types/locale/ja-JP.d.ts +16 -1
  160. package/lib/types/locale/ko-KR.d.ts +16 -1
  161. package/lib/types/locale/ru-RU.d.ts +16 -1
  162. package/lib/types/locale/sk-SK.d.ts +16 -1
  163. package/lib/types/locale/vi-VN.d.ts +16 -1
  164. package/lib/types/locale/zh-CN.d.ts +16 -1
  165. package/lib/types/locale/zh-TW.d.ts +16 -1
  166. package/lib/types/menu/border.menu.d.ts +18 -3
  167. package/lib/types/menu/clear.menu.d.ts +17 -2
  168. package/lib/types/menu/delete.menu.d.ts +17 -2
  169. package/lib/types/menu/font.menu.d.ts +18 -2
  170. package/lib/types/menu/frozen.menu.d.ts +17 -2
  171. package/lib/types/menu/gridlines.menu.d.ts +17 -2
  172. package/lib/types/menu/header-menu-shape.d.ts +17 -1
  173. package/lib/types/menu/insert.menu.d.ts +17 -2
  174. package/lib/types/menu/menu-util.d.ts +18 -2
  175. package/lib/types/menu/menu.d.ts +18 -2
  176. package/lib/types/menu/merge.menu.d.ts +17 -2
  177. package/lib/types/menu/mobile-menu.d.ts +16 -2
  178. package/lib/types/menu/permission-menu-util.d.ts +25 -10
  179. package/lib/types/menu/permission.menu.d.ts +17 -2
  180. package/lib/types/menu/schema.d.ts +16 -1
  181. package/lib/types/menu/sheet.menu.d.ts +17 -2
  182. package/lib/types/menu/text-to-number.menu.d.ts +17 -2
  183. package/lib/types/menu/utils.d.ts +17 -2
  184. package/lib/types/mobile-plugin.d.ts +16 -1
  185. package/lib/types/plugin.d.ts +16 -1
  186. package/lib/types/services/auto-height.service.d.ts +19 -3
  187. package/lib/types/services/canvas-pop-manager.service.d.ts +23 -4
  188. package/lib/types/services/cell-alert-manager.service.d.ts +19 -3
  189. package/lib/types/services/cell-dropdown-manager.service.d.ts +20 -4
  190. package/lib/types/services/cell-popup-manager.service.d.ts +21 -4
  191. package/lib/types/services/clipboard/clipboard.service.d.ts +22 -5
  192. package/lib/types/services/clipboard/clone.d.ts +17 -2
  193. package/lib/types/services/clipboard/copy-content-cache.d.ts +19 -4
  194. package/lib/types/services/clipboard/html-to-usm/converter.d.ts +19 -4
  195. package/lib/types/services/clipboard/html-to-usm/parse-node-style.d.ts +16 -1
  196. package/lib/types/services/clipboard/html-to-usm/paste-plugins/plugin-lark.d.ts +16 -1
  197. package/lib/types/services/clipboard/html-to-usm/paste-plugins/plugin-univer.d.ts +16 -1
  198. package/lib/types/services/clipboard/html-to-usm/paste-plugins/plugin-word.d.ts +16 -1
  199. package/lib/types/services/clipboard/html-to-usm/paste-plugins/type.d.ts +16 -1
  200. package/lib/types/services/clipboard/html-to-usm/utils.d.ts +22 -7
  201. package/lib/types/services/clipboard/type.d.ts +25 -3
  202. package/lib/types/services/clipboard/usm-to-html/convertor.d.ts +18 -3
  203. package/lib/types/services/clipboard/utils.d.ts +17 -2
  204. package/lib/types/services/drag-manager.service.d.ts +22 -5
  205. package/lib/types/services/editor/cell-editor-manager.service.d.ts +18 -3
  206. package/lib/types/services/editor/cell-editor-resize.service.d.ts +15 -0
  207. package/lib/types/services/editor/formula-editor-manager.service.d.ts +18 -3
  208. package/lib/types/services/editor-bridge.service.d.ts +23 -5
  209. package/lib/types/services/format-painter/format-painter.service.d.ts +19 -3
  210. package/lib/types/services/hover-manager.service.d.ts +39 -22
  211. package/lib/types/services/mark-selection/mark-selection.service.d.ts +17 -2
  212. package/lib/types/services/permission/sheet-permission-panel.model.d.ts +17 -2
  213. package/lib/types/services/permission/sheet-permission-render-manager.service.d.ts +16 -1
  214. package/lib/types/services/permission/sheet-permission-user-list.service.d.ts +18 -3
  215. package/lib/types/services/print-interceptor.service.d.ts +21 -5
  216. package/lib/types/services/scroll-manager.service.d.ts +18 -3
  217. package/lib/types/services/select-all/select-all.service.d.ts +17 -1
  218. package/lib/types/services/selection/base-selection-render.service.d.ts +26 -8
  219. package/lib/types/services/selection/const.d.ts +20 -5
  220. package/lib/types/services/selection/mobile-selection-render.service.d.ts +22 -3
  221. package/lib/types/services/selection/mobile-selection-shape.d.ts +20 -3
  222. package/lib/types/services/selection/selection-control.d.ts +24 -6
  223. package/lib/types/services/selection/selection-layer.d.ts +17 -1
  224. package/lib/types/services/selection/selection-render-model.d.ts +18 -2
  225. package/lib/types/services/selection/selection-render.service.d.ts +19 -2
  226. package/lib/types/services/selection/selection-shape-extension.d.ts +18 -3
  227. package/lib/types/services/selection/util.d.ts +18 -3
  228. package/lib/types/services/sheet-bar/sheet-bar.service.d.ts +20 -4
  229. package/lib/types/services/sheet-skeleton-manager.service.d.ts +21 -4
  230. package/lib/types/services/sheets-render.service.d.ts +17 -1
  231. package/lib/types/services/shortcut-experience.service.d.ts +18 -2
  232. package/lib/types/services/status-bar.service.d.ts +19 -4
  233. package/lib/types/services/utils/doc-skeleton-util.d.ts +18 -3
  234. package/lib/types/services/utils/drawing-position-util.d.ts +18 -3
  235. package/lib/types/services/utils/selection-util.d.ts +17 -2
  236. package/lib/types/views/auto-fill-popup-menu/AutoFillPopupMenu.d.ts +15 -0
  237. package/lib/types/views/cell-alert/CellAlertPopup.d.ts +16 -1
  238. package/lib/types/views/cell-popup/index.d.ts +17 -2
  239. package/lib/types/views/defined-name/DefinedNameInput.d.ts +16 -1
  240. package/lib/types/views/dropdown/cascader-dropdown/index.d.ts +18 -3
  241. package/lib/types/views/dropdown/color-dropdown/index.d.ts +17 -2
  242. package/lib/types/views/dropdown/date-dropdown/index.d.ts +17 -2
  243. package/lib/types/views/dropdown/index.d.ts +23 -4
  244. package/lib/types/views/dropdown/list-dropdown/index.d.ts +17 -2
  245. package/lib/types/views/dropdown/type.d.ts +16 -1
  246. package/lib/types/views/editor-container/hooks.d.ts +16 -1
  247. package/lib/types/views/header-resize-shape.d.ts +17 -1
  248. package/lib/types/views/header-unhide-shape.d.ts +17 -1
  249. package/lib/types/views/permission/extensions/range-protection.render.d.ts +19 -3
  250. package/lib/types/views/permission/extensions/worksheet-permission.render.d.ts +18 -2
  251. package/lib/types/views/permission/panel/index.d.ts +16 -1
  252. package/lib/types/views/permission/panel-detail/PermissionDetailFooterPart.d.ts +17 -2
  253. package/lib/types/views/permission/panel-detail/PermissionDetailMainPart.d.ts +16 -1
  254. package/lib/types/views/permission/panel-detail/PermissionDetailPanel.d.ts +16 -1
  255. package/lib/types/views/permission/panel-detail/PermissionDetailUserPart.d.ts +15 -0
  256. package/lib/types/views/permission/spin/index.d.ts +16 -1
  257. package/lib/types/views/permission/util.d.ts +17 -2
  258. package/lib/types/views/sheet-bar/sheet-bar-button/SheetBarButton.d.ts +16 -1
  259. package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +16 -1
  260. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +17 -2
  261. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarTabsContextMenu.d.ts +17 -2
  262. package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/slide-tab-bar.d.ts +15 -0
  263. package/lib/types/views/status-bar/CopyableStatisticItem.d.ts +17 -2
  264. package/lib/umd/facade.js +1 -1
  265. package/lib/umd/index.js +288 -20
  266. package/lib/umd/locale/ca-ES.js +1 -1
  267. package/lib/umd/locale/en-US.js +1 -1
  268. package/lib/umd/locale/es-ES.js +1 -1
  269. package/lib/umd/locale/fa-IR.js +1 -1
  270. package/lib/umd/locale/fr-FR.js +1 -1
  271. package/lib/umd/locale/ja-JP.js +1 -1
  272. package/lib/umd/locale/ko-KR.js +1 -1
  273. package/lib/umd/locale/ru-RU.js +1 -1
  274. package/lib/umd/locale/sk-SK.js +1 -1
  275. package/lib/umd/locale/vi-VN.js +1 -1
  276. package/lib/umd/locale/zh-CN.js +1 -1
  277. package/lib/umd/locale/zh-TW.js +1 -1
  278. package/package.json +16 -15
package/lib/umd/index.js CHANGED
@@ -1,28 +1,267 @@
1
- (function(T,$){typeof exports=="object"&&typeof module<"u"?$(exports,require("@univerjs/docs-ui"),require("@univerjs/core"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/docs"),require("react"),require("@univerjs/engine-formula"),require("@univerjs/telemetry"),require("react/jsx-runtime"),require("@univerjs/design"),require("rxjs/operators")):typeof define=="function"&&define.amd?define(["exports","@univerjs/docs-ui","@univerjs/core","@univerjs/ui","@univerjs/engine-render","@univerjs/sheets","rxjs","@univerjs/docs","react","@univerjs/engine-formula","@univerjs/telemetry","react/jsx-runtime","@univerjs/design","rxjs/operators"],$):(T=typeof globalThis<"u"?globalThis:T||self,$(T.UniverSheetsUi={},T.UniverDocsUi,T.UniverCore,T.UniverUi,T.UniverEngineRender,T.UniverSheets,T.rxjs,T.UniverDocs,T.React,T.UniverEngineFormula,T.UniverTelemetry,T.React,T.UniverDesign,T.rxjs.operators))})(this,(function(T,$,a,_,y,m,O,Te,x,J,ad,I,F,ve){"use strict";var op=Object.defineProperty;var rp=(T,$,a)=>$ in T?op(T,$,{enumerable:!0,configurable:!0,writable:!0,value:a}):T[$]=a;var w=(T,$,a)=>rp(T,typeof $!="symbol"?$+"":$,a);function Ui(n,o){if(n==null)return;const e=o.getRenderById(n);if(e==null)return;const{mainComponent:t,scene:i,engine:r,components:s}=e,l=t,c=s.get($.DOCS_VIEW_KEY.BACKGROUND);return{document:l,docBackground:c,scene:i,engine:r}}function jo(n){return n.getContextValue(a.FOCUSING_SHEET)}function me(n){return n.getContextValue(a.FOCUSING_SHEET)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!n.getContextValue(a.EDITOR_ACTIVATED)&&!n.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}function ks(n){return n.getContextValue(a.FOCUSING_SHEET)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!n.getContextValue(a.EDITOR_ACTIVATED)&&!n.getContextValue(a.FOCUSING_FX_BAR_EDITOR)&&!n.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}function ld(n){return n.getContextValue(a.FOCUSING_SHEET)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(a.EDITOR_ACTIVATED)}function Zo(n){return n.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(a.EDITOR_ACTIVATED)}function Bi(n){return n.getContextValue(a.FOCUSING_FX_BAR_EDITOR)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)}function cd(n){return n.getContextValue(a.FOCUSING_SHEET)&&n.getContextValue(a.EDITOR_ACTIVATED)&&n.getContextValue(a.FOCUSING_EDITOR_INPUT_FORMULA)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)}function rn(n){return n.getContextValue(a.FOCUSING_SHEET)&&n.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(a.EDITOR_ACTIVATED)&&!n.getContextValue(a.FOCUSING_EDITOR_INPUT_FORMULA)&&!n.getContextValue(a.FOCUSING_EDITOR_STANDALONE)}function vt(n){let o=[],e=[];const t=[];return n.forEach(i=>{o=o.concat(i.rows),e=e.concat(i.cols)}),o=Array.from(new Set(o)).sort((i,r)=>i-r),e=Array.from(new Set(e)).sort((i,r)=>i-r),n.forEach(i=>{t.push({startRow:o.findIndex(r=>r===i.rows[0]),endRow:o.findIndex(r=>r===i.rows[i.rows.length-1]),startColumn:e.findIndex(r=>r===i.cols[0]),endColumn:e.findIndex(r=>r===i.cols[i.cols.length-1])})}),{ranges:t,mapFunc:(i,r)=>({row:o[i],col:e[r]})}}const Go=a.createInterceptorKey("rangeMovePermissionCheck"),Ko=a.createInterceptorKey("rangeFillPermissionCheck");var qo=(n=>(n[n.FORMULA_EDITOR_SHOW=100]="FORMULA_EDITOR_SHOW",n[n.MARK_SELECTION=1e4]="MARK_SELECTION",n))(qo||{});function st(n){const o=n.getColorFromTheme("primary.600"),e=n.getColorFromTheme("white"),t=new a.ColorKit(o).setAlpha(.07).toRgbString();return{strokeWidth:1,stroke:o,fill:t,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e,autofillSize:6,autofillStrokeWidth:1,autofillStroke:e,rowHeaderFill:t,rowHeaderStroke:o,rowHeaderStrokeWidth:1,columnHeaderFill:t,columnHeaderStroke:o,columnHeaderStrokeWidth:1,expandCornerSize:40}}const Qo=[10,400],Jo="RANGE_SELECTOR_COMPONENT_KEY",Fi="EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY";var _e=(n=>(n.MAIN="__SpreadsheetRender__",n.ROW="__SpreadsheetRowHeader__",n.COLUMN="__SpreadsheetColumnHeader__",n.LEFT_TOP="__SpreadsheetLeftTopPlaceholder__",n))(_e||{});const Ns=0,zi=1,je=10,dd=11,Hs=12;class ud{constructor(){w(this,"_startColumn",-1);w(this,"_startRow",-1);w(this,"_endColumn",-1);w(this,"_endRow",-1);w(this,"_startX",0);w(this,"_startY",0);w(this,"_endX",0);w(this,"_endY",0);w(this,"_primary");w(this,"_rangeType",a.RANGE_TYPE.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._primary}get rangeType(){return this._rangeType}isEqual(o){const{startColumn:e,startRow:t,endColumn:i,endRow:r}=this,{startColumn:s,startRow:l,endColumn:c,endRow:d}=o;return e===s&&t===l&&i===c&&r===d}highlightToSelection(){if(this._primary)return a.convertCellToRange(this._primary)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._primary}getRangeType(){return this._rangeType}setRangeType(o){this._rangeType=o}getValue(){return{rangeWithCoord:this.getRange(),primaryWithCoord:this._primary}}setValue(o,e){const{startColumn:t,startRow:i,endColumn:r,endRow:s,startX:l,startY:c,endX:d,endY:u,rangeType:h}=o;this._startColumn=t,this._startRow=i,this._endColumn=r,this._endRow=s,this._startX=l,this._startY=c,this._endX=d,this._endY=u,h!==void 0&&(this._rangeType=h),e!==void 0&&this.setCurrentCell(e)}setCurrentCell(o){this._primary=o}clearCurrentCell(){this._primary=null}}const Kn={id:"sheet.command.set-row-header-width",type:a.CommandType.COMMAND,handler:async(n,o)=>{if(!o)return!1;const e=n.get(y.IRenderManagerService);if(!e)return!1;const{unitId:t,subUnitId:i,size:r}=o,s=e.getRenderById(t);if(s){e.getRenderById(t).with(T.SheetSkeletonManagerService).setRowHeaderSize(s,i,r);const{components:c}=s,d=c.get(_e.ROW);d&&d.setCustomHeader({headerStyle:{size:r}},i)}return!0}},qn={id:"sheet.command.set-col-header-height",type:a.CommandType.COMMAND,handler:async(n,o)=>{if(!o)return!1;const e=n.get(y.IRenderManagerService);if(!e)return!1;const{unitId:t,subUnitId:i,size:r}=o,s=e.getRenderById(t);if(s){e.getRenderById(t).with(T.SheetSkeletonManagerService).setColumnHeaderSize(s,i,r);const{components:c}=s,d=c.get(_e.COLUMN);d&&d.setCustomHeader({headerStyle:{size:r}},i)}return!0}};class hd extends y.Layer{render(o,e=!1){const t=a.Tools.now();return super.render(o,e),this._afterRender(t),this}_afterRender(o){this.scene.getEngine().renderFrameTimeMetric$.next(["selectionLayer",a.Tools.now()-o])}}function sn(n,o){const{startRow:e,startColumn:t,endRow:i,endColumn:r,rangeType:s}=o,l=i<e?i:e,c=i<e?e:i,d=r<t?r:t,u=r<t?t:r,h=n.getNoMergeCellWithCoordByIndex(l,d),g=n.getNoMergeCellWithCoordByIndex(c,u);return{startRow:e,startColumn:t,endRow:i,endColumn:r,rangeType:s,startY:(h==null?void 0:h.startY)||0,endY:(g==null?void 0:g.endY)||0,startX:(h==null?void 0:h.startX)||0,endX:(g==null?void 0:g.endX)||0}}function Oe(n,o){const{range:e,primary:t,style:i}=n,r=sn(o,e),s=t&&Qn(o,t);return{rangeWithCoord:r,primaryWithCoord:s,style:i}}function Qn(n,o){const{actualRow:e,actualColumn:t,isMerged:i,isMergedMainCell:r,startRow:s,startColumn:l,endRow:c,endColumn:d}=o,u=n.getNoMergeCellWithCoordByIndex(e,t),h=n.getNoMergeCellWithCoordByIndex(s,l),g=n.getNoMergeCellWithCoordByIndex(c,d);return{actualRow:e,actualColumn:t,isMerged:i,isMergedMainCell:r,startX:u.startX,startY:u.startY,endX:u.endX,endY:u.endY,mergeInfo:{startRow:s,startColumn:l,endRow:c,endColumn:d,startY:(h==null?void 0:h.startY)||0,endY:(g==null?void 0:g.endY)||0,startX:(h==null?void 0:h.startX)||0,endX:(g==null?void 0:g.endX)||0}}}const ye=a.createIdentifier("univer.sheet.selection-render-service");class $o extends a.Disposable{constructor(e,t,i,r,s){super();w(this,"_downObserver");w(this,"_scenePointerMoveSub");w(this,"_scenePointerUpSub");w(this,"_controlFillConfig$",new O.BehaviorSubject(null));w(this,"controlFillConfig$",this._controlFillConfig$.asObservable());w(this,"_selectionControls",[]);w(this,"_startRangeWhenPointerDown",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});w(this,"_activeControlIndex",-1);w(this,"_startViewportPosX",0);w(this,"_startViewportPosY",0);w(this,"_scrollTimer");w(this,"_cancelDownSubscription");w(this,"_cancelUpSubscription");w(this,"_skeleton");w(this,"_scene");w(this,"_highlightHeader",!0);w(this,"_rangeType",a.RANGE_TYPE.NORMAL);w(this,"_selectionStyle");w(this,"_remainLastEnabled",!1);w(this,"_skipLastEnabled",!1);w(this,"_singleSelectionEnabled",!1);w(this,"_selectionMoveEnd$",new O.BehaviorSubject([]));w(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());w(this,"_selectionMoving$",new O.Subject);w(this,"selectionMoving$",this._selectionMoving$.asObservable());w(this,"_selectionMoveStart$",new O.Subject);w(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());w(this,"_selectionMoving",!1);w(this,"_selectionTheme");w(this,"_activeViewport");w(this,"interceptor",new a.InterceptorManager({RANGE_MOVE_PERMISSION_CHECK:Go,RANGE_FILL_PERMISSION_CHECK:Ko}));w(this,"_escapeShortcutDisposable",null);this._injector=e,this._themeService=t,this._shortcutService=i,this._sheetSkeletonManagerService=r,this.contextService=s,this._initSelectionThemeFromThemeService(),this._initMoving()}get selectionMoving(){return this._selectionMoving}get _shouldDetectMergedCells(){return this._rangeType===a.RANGE_TYPE.NORMAL}_initMoving(){this.disposeWithMe(this._selectionMoving$.subscribe(()=>{this._selectionMoving=!0})),this.disposeWithMe(this._selectionMoveEnd$.subscribe(()=>{this._selectionMoving=!1}))}_setSelectionStyle(e){this._selectionStyle=e}getViewPort(){return this._activeViewport}setSingleSelectionEnabled(e=!1){this._singleSelectionEnabled=e}newSelectionControl(e,t,i){const r=this.getSelectionControls().length,{rowHeaderWidth:s,columnHeaderHeight:l}=t,c=new Jn(e,r,this._selectionTheme,{highlightHeader:this._highlightHeader,rowHeaderWidth:s,columnHeaderHeight:l});this._selectionControls.push(c);const d=Oe(i,t);return c.updateRangeBySelectionWithCoord(d,t),c.setControlExtension({skeleton:t,scene:e,themeService:this._selectionTheme,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),c}resetSelectionsByModelData(e){const t=this.getSelectionControls(),i=this._skeleton;if(!(!t||!i)){for(let r=0,s=e.length;r<s;r++){const l=e[r],c=Oe(l,this._skeleton),d=t[r];d?d.updateRangeBySelectionWithCoord(c,i):this.isSelectionEnabled()&&this.newSelectionControl(this._scene,i,l)}e.length<t.length&&t.splice(e.length).forEach(s=>s.dispose())}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}refreshSelectionMoveEnd(){this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}_initSelectionThemeFromThemeService(){const e=this._themeService.getCurrentTheme();this._selectionTheme=new a.ThemeService,this._selectionTheme.setTheme(e)}setSelectionTheme(e){this._selectionTheme.setTheme(e)}_changeRuntime(e,t,i){this._skeleton=e,this._scene=t,this._activeViewport=i||(t==null?void 0:t.getViewports()[0]),t.findLayerByZIndex(zi)||t.addLayer(new hd(t,[],zi))}getSkeleton(){return this._skeleton}getSelectionDataWithStyle(){const e=this._selectionControls;if(this._skeleton.worksheet){const[t,i]=this._skeleton.getLocation();return e.map(r=>{const s=r.getValue();return s.rangeWithCoord.sheetId=i,s.rangeWithCoord.unitId=t,s})}return[]}getSelectionControls(){return this._selectionControls}_addSelectionControlByModelData(e){var l;const t=this._skeleton,i=(l=e.style)!=null?l:st(this._selectionTheme),r=this._scene;return e.style=i,this.newSelectionControl(r,t,e)}_clearAllSelectionControls(){const e=this._selectionControls;for(const t of e)t.dispose();this._selectionControls.length=0}_getFreeze(){var t;return(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton.getWorksheetConfig().freeze}_getViewportByCell(e,t){if(e===void 0||t===void 0)return null;const i=this._getFreeze();if(!i||i.startRow<=0&&i.startColumn<=0)return this._scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(e>i.startRow&&t>i.startColumn)return this._scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(e<=i.startRow&&t<=i.startColumn)return this._scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP);if(e<=i.startRow&&t>i.startColumn)return this._scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(e>i.startRow&&t<=i.startColumn)return this._scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}getActiveRange(){const e=this.getSelectionControls(),t=e&&e[e.length-1].model;return t&&{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}setActiveSelectionIndex(e){this._activeControlIndex=e}resetActiveSelectionIndex(){this._activeControlIndex=-1}getActiveSelectionControl(){const e=this.getSelectionControls();if(e)return this._activeControlIndex<0?e[e.length-1]:e[this._activeControlIndex]}endSelection(){var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null}_reset(){var e;this._clearAllSelectionControls(),(e=this._downObserver)==null||e.unsubscribe(),this._downObserver=null}_setupPointerMoveListener(e,t,i,r=y.ScrollTimerType.ALL,s,l){var f,v;let c=0,d=0,u=s,h=l;this._scrollTimer=y.ScrollTimer.create(this._scene,r),this._scrollTimer.startScroll((f=e==null?void 0:e.left)!=null?f:0,(v=e==null?void 0:e.top)!=null?v:0,e);const g=this._scene,S=g.getActiveViewportByCoord(y.Vector2.FromArray([s,l]));this._scenePointerMoveSub=g.onPointerMove$.subscribeEvent(p=>{var V,L,W,U,B,X,z,Y,G;const{offsetX:C,offsetY:b}=p,{x:E,y:R}=g.getCoordRelativeToViewport(y.Vector2.FromArray([C,b]));this._movingHandler(E,R,t,i);let P=E,M=R;const A=this.getActiveSelectionControl(),D=this._getFreeze(),k=A==null?void 0:A.model,N=(V=g.getActiveViewportByCoord(y.Vector2.FromArray([C,b])))!=null?V:this._getViewportByCell(k==null?void 0:k.endRow,k==null?void 0:k.endColumn);if((()=>{if(!S||!N||!e)return!1;const K=[y.SHEET_VIEWPORT_KEY.VIEW_MAIN,y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT];return K.includes(S.viewportKey)&&K.includes(N.viewportKey)})()){if(!S||!N||!e)return!1;const K=u<e.left&&E>e.left||u>e.left&&E<e.left,ee=h<e.top&&R>e.top||h>e.top&&R<e.top;K&&(c+=1),ee&&(d+=1);const ne=S.viewportKey,Se=N.viewportKey;if(ne===y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP)b<e.top&&((L=k==null?void 0:k.endRow)!=null?L:0)<((W=D==null?void 0:D.startRow)!=null?W:0)?M=e.top:ee&&d%2===1&&e.scrollToViewportPos({viewportScrollY:0});else if(ne===y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT)C<e.left&&((U=k==null?void 0:k.endColumn)!=null?U:0)<((B=D==null?void 0:D.startColumn)!=null?B:0)?P=e.left:K&&c%2===1&&e.scrollToViewportPos({viewportScrollX:0});else if(ne===Se){let ue=!1,ce=!1;ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP?(ue=!0,ce=!0):ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP?ce=!0:ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT&&(ue=!0),((X=k==null?void 0:k.endRow)!=null?X:0)>((z=D==null?void 0:D.startRow)!=null?z:0)&&(ce=!1),((Y=k==null?void 0:k.endColumn)!=null?Y:0)>((G=D==null?void 0:D.startColumn)!=null?G:0)&&(ue=!1),ue&&(P=e.left),ce&&(M=e.top)}else{const ue={x:S.scrollX,y:S.scrollY},ce={x:N.scrollX,y:N.scrollY},Z=ue.x!==ce.x&&K&&c%2===1,q=ue.y!==ce.y&&ee&&d%2===1;(Z||q)&&(e.scrollToBarPos({x:Z?ue.x:void 0,y:q?ue.y:void 0}),Z||(P=e.left),q||(M=e.top)),(ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&Se===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||Se===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)&&(P=e.left),(ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&Se===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||Se===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&ne===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP)&&(M=e.top)}u=E,h=R}this._scrollTimer.scrolling(P,M,()=>{this._movingHandler(E,R,t,i)})})}attachSelectionWithCoord(e){return Oe(e,this._skeleton)}attachPrimaryWithCoord(e){return Qn(this._skeleton,e)}getSelectionCellByPosition(e,t){return this.getCellWithCoordByOffset(e,t)}getCellWithCoordByOffset(e,t,i){const r=this._scene,s=i!=null?i:this._skeleton,l=r.getViewportScrollXY(r.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN)),{scaleX:c,scaleY:d}=r.getAncestorScale();return s.getCellWithCoordByOffset(e-l.x,t-l.y,c,d,l)}_movingHandler(e,t,i,r){var P,M,A,D,k;const s=this._skeleton,l=this._scene,[c,d]=s.getLocation(),u={startRow:(P=i==null?void 0:i.model.startRow)!=null?P:-1,endRow:(M=i==null?void 0:i.model.endRow)!=null?M:-1,startColumn:(A=i==null?void 0:i.model.startColumn)!=null?A:-1,endColumn:(D=i==null?void 0:i.model.endColumn)!=null?D:-1},h=l.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),g=(k=this._getViewportByCell(u.endRow,u.endColumn))!=null?k:h,S=l.getScrollXYInfoByViewport(y.Vector2.FromArray([this._startViewportPosX,this._startViewportPosY]),g),{scaleX:f,scaleY:v}=l.getAncestorScale();r===a.RANGE_TYPE.ROW?e=Number.POSITIVE_INFINITY:r===a.RANGE_TYPE.COLUMN&&(t=Number.POSITIVE_INFINITY);const p=this._skeleton.getCellByOffset(e,t,f,v,S);if(!p)return;let C={startRow:Math.min(p.startRow,this._startRangeWhenPointerDown.startRow),startColumn:Math.min(p.startColumn,this._startRangeWhenPointerDown.startColumn),endRow:Math.max(p.endRow,this._startRangeWhenPointerDown.endRow),endColumn:Math.max(p.endColumn,this._startRangeWhenPointerDown.endColumn)};this._shouldDetectMergedCells&&(C=s.expandRangeByMerge(C,this.inRefSelectionMode()));const E=Oe({range:C,primary:void 0,style:null},s);E.rangeWithCoord.unitId=c,E.rangeWithCoord.sheetId=d,E.rangeWithCoord.rangeType=r;const R=u.startRow!==C.startRow||u.startColumn!==C.startColumn||u.endRow!==C.endRow||u.endColumn!==C.endColumn;i!=null&&R&&(i.updateRangeBySelectionWithCoord(E),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_clearUpdatingListeners(){var t,i,r,s,l;this._scene.enableObjectsEvent(),(t=this._scenePointerMoveSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,(i=this._scenePointerUpSub)==null||i.unsubscribe(),this._scenePointerUpSub=null,(r=this._cancelDownSubscription)==null||r.unsubscribe(),this._cancelDownSubscription=null,(s=this._cancelUpSubscription)==null||s.unsubscribe(),this._cancelUpSubscription=null,(l=this._scrollTimer)==null||l.dispose()}_addEndingListeners(){var i,r,s;const e=this._scene,t=(i=e.getEngine())==null?void 0:i.activeScene;!t||t===e||((r=this._cancelDownSubscription)==null||r.unsubscribe(),this._cancelDownSubscription=null,(s=this._cancelUpSubscription)==null||s.unsubscribe(),this._cancelUpSubscription=null,this._cancelDownSubscription=t.onPointerDown$.subscribeEvent(()=>this._clearUpdatingListeners()),this._cancelUpSubscription=t.onPointerUp$.subscribeEvent(()=>this._clearUpdatingListeners()))}_getSelectionWithCoordByOffset(e,t,i,r,s){const l=this._skeleton;if(l==null)return null;if(this._shouldDetectMergedCells){const C=l==null?void 0:l.getCellWithCoordByOffset(e,t,i,r,s,{firstMatch:!0});if(!C)return;const b=a.convertCellToRange(C);return{primaryWithCoord:C,rangeWithCoord:b}}const{row:c,column:d}=l.getCellIndexByOffset(e,t,i,r,s),u=l.getNoMergeCellWithCoordByIndex(c,d),{startX:h,startY:g,endX:S,endY:f}=u,v={startY:g,endY:f,startX:h,endX:S,startRow:c,endRow:c,startColumn:d,endColumn:d};return{primaryWithCoord:{mergeInfo:v,actualRow:c,actualColumn:d,isMerged:!1,isMergedMainCell:!1,startY:g,endY:f,startX:h,endX:S},rangeWithCoord:v}}_checkClearPreviousControls(e){this.getSelectionControls().length!==0&&(!e.ctrlKey&&!e.shiftKey&&!this._remainLastEnabled||this._singleSelectionEnabled&&!e.shiftKey)&&this._clearAllSelectionControls()}_makeSelectionByTwoCells(e,t,i,r,s){const{actualRow:l,actualColumn:c,mergeInfo:d}=e;this._startRangeWhenPointerDown={...e.mergeInfo};const u=Math.min(l,t.startRow,d.startRow),h=Math.max(l,t.endRow,d.endRow),g=Math.min(c,t.startColumn,d.startColumn),S=Math.max(c,t.endColumn,d.endColumn),v={range:i.expandRangeByMerge({startRow:u,startColumn:g,endRow:h,endColumn:S}),primary:m.convertPrimaryWithCoordToPrimary(e),style:null},p=Oe(v,i);s.updateRangeBySelectionWithCoord(p)}isSelectionEnabled(){return this.contextService.getContextValue(m.SELECTIONS_ENABLED)}isSelectionDisabled(){return this.contextService.getContextValue(m.SELECTIONS_ENABLED)===!1}inRefSelectionMode(){return this.contextService.getContextValue(m.REF_SELECTIONS_ENABLED)}}function er(n){return{range:{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:a.RANGE_TYPE.ALL},primary:Xi(n).primary,style:null}}function Xi(n){return Vs(n,{startRow:0,startColumn:0,endRow:0,endColumn:0})}function Vs(n,o){const e=n.worksheet.getCellInfoInMergeData(o.startRow,o.startColumn),t=n.worksheet.getCellInfoInMergeData(o.endRow,o.endColumn);return{range:{startRow:e.startRow,startColumn:e.startColumn,endRow:t.endRow,endColumn:t.endColumn,rangeType:a.RANGE_TYPE.NORMAL},primary:{actualRow:e.startRow,actualColumn:e.startColumn,startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,isMerged:e.isMerged,isMergedMainCell:e.isMergedMainCell},style:null}}var md=Object.getOwnPropertyDescriptor,gd=(n,o,e,t)=>{for(var i=t>1?void 0:t?md(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ws=(n,o)=>(e,t)=>o(e,t,n);T.SheetSkeletonManagerService=class extends a.Disposable{constructor(e,t,i){super();w(this,"_sheetId","");w(this,"_sheetSkeletonParamStore",new Map);w(this,"_currentSkeleton$",new O.BehaviorSubject(null));w(this,"currentSkeleton$",this._currentSkeleton$.asObservable());w(this,"_currentSkeletonBefore$",new O.BehaviorSubject(null));w(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable());this._context=e,this._injector=t,this._sheetSkService=i,this.disposeWithMe(()=>{this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParamStore.forEach(r=>this.disposeSkeleton(r.sheetId)),this._sheetSkeletonParamStore.clear()}),this._initRemoveSheet()}_initRemoveSheet(){this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this.disposeSkeleton(e.getSheetId())}))}getCurrentSkeleton(){var e;return(e=this.getCurrentParam())==null?void 0:e.skeleton}getCurrent(){return this.getCurrentParam()}getCurrentParam(){return this._getSkeletonParam(this._sheetId)}getSkeleton(e){return this._getSkeleton(e)}getSkeletonParam(e){return this._getSkeletonParam(e)}getWorksheetSkeleton(e){return this.getSkeletonParam(e)}getUnitSkeleton(e,t){const i=this._getSkeletonParam(t);return i!=null&&(i.unitId=e),i}setCurrent(e){this._setCurrent(e.sheetId)}setSkeletonParam(e,t){this._sheetSkService.setSkeleton(t.unitId,e,t.skeleton),this._sheetSkeletonParamStore.set(e,t)}_setCurrent(e){this._sheetId=e;const t=this._getSkeletonParam(e),i=this._context.unitId;if(t!=null)this.reCalculate(t);else{const l=this._context.unit.getSheetBySheetId(e);if(l==null)return;const c=this._context.scene,d=this._buildSkeleton(l,c);this.setSkeletonParam(e,{unitId:i,sheetId:e,skeleton:d,dirty:!1})}const r=this._getSkeletonParam(e);this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r)}reCalculate(e){e||(e=this.getCurrentParam()),e!=null&&(e.dirty&&(e.skeleton.makeDirty(!0),e.dirty=!1),e.skeleton.calculate())}makeDirty(e,t=!0){const i=this._getSkeletonParam(e.sheetId);i!=null&&(i.dirty=t)}getOrCreateSkeleton(e){return this.ensureSkeleton(e.sheetId)}ensureSkeleton(e){const t=this._getSkeletonParam(e);if(t)return t.skeleton;const r=this._context.unit.getSheetBySheetId(e);if(!r)return;const s=this._buildSkeleton(r);return this.setSkeletonParam(e,{unitId:this._context.unitId,sheetId:e,skeleton:s,dirty:!1}),s}disposeSkeleton(e){const t=this.getSkeletonParam(e);t&&(t.skeleton.dispose(),this._sheetSkeletonParamStore.delete(e),this._sheetSkService.deleteSkeleton(t.unitId,e))}attachRangeWithCoord(e){const t=this.getCurrentSkeleton();return t?sn(t,e):null}_getSkeletonParam(e){return this._sheetSkeletonParamStore.get(e)}_getSkeleton(e){const t=this._getSkeletonParam(e);return t?t.skeleton:null}_buildSkeleton(e,t){return this._injector.createInstance(y.SpreadsheetSkeleton,e,this._context.unit.getStyles())}setColumnHeaderSize(e,t,i){var u;if(!e)return;const r=(u=this.getWorksheetSkeleton(t))==null?void 0:u.skeleton;if(!r)return;r.columnHeaderHeight=i,e.scene.getViewports()[0].top=i,e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).setViewportSize({height:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT).setViewportSize({height:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM).setViewportSize({top:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP).setViewportSize({top:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).setViewportSize({height:i});const s=e==null?void 0:e.with(m.SheetsSelectionsService),l=e==null?void 0:e.with(ye),c=s.getCurrentSelections();l.resetSelectionsByModelData(c);const d=this.getUnitSkeleton(e.unitId,t);d&&(d.commandId=qn.id,this._currentSkeleton$.next(d))}setRowHeaderSize(e,t,i){var f;const r=(f=this.getWorksheetSkeleton(t))==null?void 0:f.skeleton;if(!e||!r)return;r.rowHeaderWidth=i;const s=e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).width||46,l=i-s,c=e.scene.getViewports()[0].left;e.scene.getViewports()[0].left=c+l,e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM).setViewportSize({width:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP).setViewportSize({width:i}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT).setViewportSize({left:i});const d=e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).left||0;e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).setViewportSize({left:d+l}),e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).setViewportSize({width:i});const u=e==null?void 0:e.with(m.SheetsSelectionsService),h=e==null?void 0:e.with(ye),g=u.getCurrentSelections();h.resetSelectionsByModelData(g);const S=this.getCurrent();S&&(S.commandId=Kn.id,this._currentSkeleton$.next(S))}},T.SheetSkeletonManagerService=gd([Ws(1,a.Inject(a.Injector)),Ws(2,a.Inject(m.SheetSkeletonService))],T.SheetSkeletonManagerService);const Ls="__SpreadsheetHelperSelectionTempRect",Sd=35;class xs{constructor(o,e){w(this,"_startOffsetX",0);w(this,"_startOffsetY",0);w(this,"_relativeSelectionPositionRow",0);w(this,"_relativeSelectionPositionColumn",0);w(this,"_relativeSelectionRowLength",0);w(this,"_relativeSelectionColumnLength",0);w(this,"_scenePointerMoveSub");w(this,"_scenePointerUpSub");w(this,"_disabled",!1);w(this,"_helperSelection");w(this,"_scrollTimer");w(this,"_activeViewport");w(this,"_targetSelection",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});w(this,"_isInMergeState",!1);w(this,"_fillControlColors",[]);w(this,"_skeleton");w(this,"_scene");w(this,"_themeService");w(this,"_injector");w(this,"_selectionHooks");this._control=o,this._skeleton=e.skeleton,this._scene=e.scene,this._themeService=e.themeService,this._injector=e.injector,this._selectionHooks=e.selectionHooks,this._initialControl(),this._initialWidget(),this._initialAutoFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var o,e;(o=this._scrollTimer)==null||o.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(e=this._helperSelection)==null||e.dispose()}setDisabled(o){this._disabled=o}_getFreeze(){var e,t;return(t=(e=y.withCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,T.SheetSkeletonManagerService,this._injector.get(a.IUniverInstanceService),this._injector.get(y.IRenderManagerService)))==null?void 0:e.getCurrentParam())==null?void 0:t.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(o,e){const t=this._getFreeze()||{startRow:-1,startColumn:-1};switch(e.viewportKey){case y.SHEET_VIEWPORT_KEY.VIEW_MAIN:return o.endRow>=t.startRow&&o.endColumn>=t.startColumn;case y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP:case y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT:return o.endColumn>=t.startColumn&&o.startRow<t.startRow;case y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT:case y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM:return o.endRow>=t.startRow&&o.startColumn<t.startColumn;case y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP:case y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT:case y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP:case y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP:return o.startRow<t.startRow&&o.startColumn<t.startColumn}}_clearObserverEvent(){var o,e;(o=this._scenePointerMoveSub)==null||o.unsubscribe(),(e=this._scenePointerUpSub)==null||e.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}_initialControl(){const{leftControl:o,rightControl:e,topControl:t,bottomControl:i}=this._control;[o,e,t,i].forEach(r=>{r.onPointerEnter$.subscribeEvent(()=>{var l;((l=this._injector.get(ye,a.Quantity.OPTIONAL))==null?void 0:l.interceptor.fetchThroughInterceptors(Go)(!1,null))!==!1&&r.setCursor(y.CURSOR_TYPE.MOVE)}),r.onPointerLeave$.subscribeEvent(()=>{r.resetCursor()}),r.onPointerDown$.subscribeEvent(this._controlPointerDownHandler.bind(this))})}_controlMoving(o,e){var k;const t=this._scene,i=t.getScrollXYInfoByViewport(y.Vector2.FromArray([o,e])),{scaleX:r,scaleY:s}=t.getAncestorScale(),l=this._skeleton.getCellIndexByOffset(o,e,r,s,i),{row:c,column:d}=l,u=this._skeleton.getRowCount()-1,h=this._skeleton.getColumnCount()-1;let g=Math.max(0,c+this._relativeSelectionPositionRow),S=g+this._relativeSelectionRowLength;S>u&&(S=u,S-g<this._relativeSelectionRowLength&&(g=S-this._relativeSelectionRowLength));let f=Math.max(0,d+this._relativeSelectionPositionColumn),v=f+this._relativeSelectionColumnLength;v>h&&(v=h,v-f<this._relativeSelectionColumnLength&&(f=v-this._relativeSelectionColumnLength));const p=this._skeleton.worksheet.getCellInfoInMergeData(g,f),b=Oe({range:{startRow:g,endRow:S,startColumn:f,endColumn:v},primary:p,style:null},this._skeleton),E=this._skeleton.getNoMergeCellWithCoordByIndex(g,f),R=this._skeleton.getNoMergeCellWithCoordByIndex(S,v),P=(E==null?void 0:E.startY)||0,M=(R==null?void 0:R.endY)||0,A=(E==null?void 0:E.startX)||0,D=(R==null?void 0:R.endX)||0;(k=this._helperSelection)==null||k.transformByState({left:A,top:P,width:D-A,height:M-P}),this._targetSelection={...b.rangeWithCoord},this._control.selectionMoving$.next(b.rangeWithCoord)}_controlPointerDownHandler(o){const{offsetX:e,offsetY:t}=o,i=this._scene,r=i.getCoordRelativeToViewport(y.Vector2.FromArray([e,t])),{x:s,y:l}=r,c=i.getScrollXYInfoByViewport(r),{scaleX:d,scaleY:u}=i.getAncestorScale(),h=this._skeleton.getCellIndexByOffset(s,l,d,u,c);this._startOffsetX=s,this._startOffsetY=l;const{row:g,column:S}=h,{startRow:f,startColumn:v,endRow:p,endColumn:C}=this._control.model;let b=0,E=0;g<f?b-=1:g>p&&(b+=1),S<v?E-=1:S>C&&(E+=1),this._relativeSelectionPositionRow=f-g+b,this._relativeSelectionPositionColumn=v-S+E,this._relativeSelectionRowLength=p-f,this._relativeSelectionColumnLength=C-v;const R=this._control.currentStyle,P=this._getScale();this.isHelperSelection&&(this._helperSelection=new y.Rect(Ls,{stroke:R.stroke,strokeWidth:R.strokeWidth/P}),i.addObject(this._helperSelection));const M=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),A=y.ScrollTimer.create(i);this._scrollTimer=A,A.startScroll(s,l,M),i.disableObjectsEvent(),this._scenePointerMoveSub=i.onPointerMove$.subscribeEvent(D=>{var W;if(this._disabled)return;const{offsetX:k,offsetY:N}=D;if(((W=this._injector.get(ye,a.Quantity.OPTIONAL))==null?void 0:W.interceptor.fetchThroughInterceptors(Go)(!1,null))===!1)return;const{x:V,y:L}=i.getCoordRelativeToViewport(y.Vector2.FromArray([k,N]));this._controlMoving(V,L),i.setCursor(y.CURSOR_TYPE.MOVE),A.scrolling(V,L,()=>{this._controlMoving(V,L)})}),this._scenePointerUpSub=i.onPointerUp$.subscribeEvent(()=>{var k,N,H,V;(k=this._helperSelection)==null||k.dispose();const D=this._scene;D.resetCursor(),this._clearObserverEvent(),D.enableObjectsEvent(),(N=this._scrollTimer)==null||N.dispose(),this._control.selectionMoveEnd$.next(this._targetSelection),(V=(H=this._selectionHooks).selectionMoveEnd)==null||V.call(H)})}_initialWidget(){const{topLeftWidget:o,topCenterWidget:e,topRightWidget:t,middleLeftWidget:i,middleRightWidget:r,bottomLeftWidget:s,bottomCenterWidget:l,bottomRightWidget:c}=this._control,d=[y.CURSOR_TYPE.NORTH_WEST_RESIZE,y.CURSOR_TYPE.NORTH_RESIZE,y.CURSOR_TYPE.NORTH_EAST_RESIZE,y.CURSOR_TYPE.WEST_RESIZE,y.CURSOR_TYPE.EAST_RESIZE,y.CURSOR_TYPE.SOUTH_WEST_RESIZE,y.CURSOR_TYPE.SOUTH_RESIZE,y.CURSOR_TYPE.SOUTH_EAST_RESIZE];[o,e,t,i,r,s,l,c].forEach((u,h)=>{u.onPointerEnter$.subscribeEvent(()=>{u.setCursor(d[h])}),u.onPointerLeave$.subscribeEvent(()=>{u.resetCursor()}),u.onPointerDown$.subscribeEvent(g=>{this._widgetPointerDownEvent(g,d[h])})})}_widgetPointerDownEvent(o,e){const t=this._scene,{offsetX:i,offsetY:r}=o,s=t.getCoordRelativeToViewport(y.Vector2.FromArray([i,r])),{x:l,y:c}=s;this._startOffsetX=i,this._startOffsetY=r;const{startRow:d,startColumn:u,endRow:h,endColumn:g}=this._control.model,S=Math.min(d,h),f=Math.min(u,g),v=Math.max(d,h),p=Math.max(u,g);this._relativeSelectionPositionRow=S,this._relativeSelectionPositionColumn=f,this._relativeSelectionRowLength=v-S,this._relativeSelectionColumnLength=p-f,e===y.CURSOR_TYPE.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=v,this._relativeSelectionPositionColumn=p):e===y.CURSOR_TYPE.NORTH_RESIZE?this._relativeSelectionPositionRow=v:e===y.CURSOR_TYPE.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=v:e===y.CURSOR_TYPE.WEST_RESIZE?this._relativeSelectionPositionColumn=p:e===y.CURSOR_TYPE.SOUTH_WEST_RESIZE?this._relativeSelectionPositionColumn=p:e===y.CURSOR_TYPE.SOUTH_RESIZE&&(this._relativeSelectionPositionRow=S);const C=y.ScrollTimer.create(t),b=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);C.startScroll(l,c,b),this._scrollTimer=C,t.disableObjectsEvent(),this._scenePointerMoveSub=t.onPointerMove$.subscribeEvent(E=>{const{offsetX:R,offsetY:P}=E,{x:M,y:A}=t.getCoordRelativeToViewport(y.Vector2.FromArray([R,P]));this._widgetMoving(M,A,e),t.setCursor(e),C.scrolling(M,A,()=>{this._widgetMoving(M,A,e)})}),this._scenePointerUpSub=t.onPointerUp$.subscribeEvent(()=>{var R,P,M;const E=this._scene;E.resetCursor(),this._clearObserverEvent(),E.enableObjectsEvent(),(R=this._scrollTimer)==null||R.dispose(),this._control.selectionScaled$.next(this._targetSelection),(M=(P=this._selectionHooks).selectionMoveEnd)==null||M.call(P)})}_widgetMoving(o,e,t){const i=this._scene,r=i.getScrollXYInfoByViewport(y.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:s,scaleY:l}=i.getAncestorScale(),c=this._skeleton.getCellIndexByOffset(o,e,s,l,r),{row:d,column:u}=c;let h=this._relativeSelectionPositionRow,g=this._relativeSelectionPositionColumn,S=d,f=u;t===y.CURSOR_TYPE.NORTH_WEST_RESIZE?(h=d,g=u,S=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn):t===y.CURSOR_TYPE.NORTH_RESIZE?(h=d,g=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):t===y.CURSOR_TYPE.NORTH_EAST_RESIZE?(h=d,g=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,f=u):t===y.CURSOR_TYPE.WEST_RESIZE?(h=this._relativeSelectionPositionRow,g=u,S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,f=this._relativeSelectionPositionColumn):t===y.CURSOR_TYPE.EAST_RESIZE?S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:t===y.CURSOR_TYPE.SOUTH_WEST_RESIZE?(h=this._relativeSelectionPositionRow,g=u,S=d,f=this._relativeSelectionPositionColumn):t===y.CURSOR_TYPE.SOUTH_RESIZE&&(h=this._relativeSelectionPositionRow,g=this._relativeSelectionPositionColumn,S=d,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);const v=this._swapPositions(h,g,S,f),p=this._skeleton.getCellWithMergeInfoByIndex(h,g),b=Oe({range:v,primary:p,style:null},this._skeleton);this._targetSelection={...b.rangeWithCoord},this._control.updateRangeBySelectionWithCoord(b),this._control.selectionScaling$.next(this._targetSelection)}_initialAutoFill(){const{fillControl:o}=this._control;o.onPointerEnter$.subscribeEvent(e=>{this._injector.get(ye).interceptor.fetchThroughInterceptors(Ko)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton,scene:this._scene})&&o.setCursor(y.CURSOR_TYPE.CROSSHAIR)}),o.onPointerLeave$.subscribeEvent(()=>{o.resetCursor()}),o.onPointerDown$.subscribeEvent(this._autoFillForPointerdown.bind(this))}_autoFillMoving(o,e){var N,H,V;const t=this._scene,i=t.getViewportScrollXY(this._activeViewport),{scaleX:r,scaleY:s}=t.getAncestorScale(),l=this._skeleton.getCellIndexByOffset(o,e,r,s,i),{row:c,column:d}=l,u=t.getCoordRelativeToViewport(y.Vector2.FromArray([o,e])),h=this._skeleton.getRowCount()-1,g=this._skeleton.getColumnCount()-1;let S=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,v=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,C=!1,b=!0;if((d<f||d>p)&&c>=S&&c<=v){const L=this._fillRuler(d,f,p,this._relativeSelectionColumnLength,g);f=L.startRowOrColumn,p=L.endRowOrColumn,C=L.isLighten,b=!1}else if((c<S||c>v)&&d>=f&&d<=p){const L=this._fillRuler(c,S,v,this._relativeSelectionRowLength,h);S=L.startRowOrColumn,v=L.endRowOrColumn,C=L.isLighten}else if(Math.abs(this._startOffsetX-u.x-i.x)/2>Math.abs(this._startOffsetY-u.y-i.y)){const L=this._fillRuler(d,f,p,this._relativeSelectionColumnLength,g);f=L.startRowOrColumn,p=L.endRowOrColumn,C=L.isLighten,b=!1}else{const L=this._fillRuler(c,S,v,this._relativeSelectionRowLength,h);S=L.startRowOrColumn,v=L.endRowOrColumn,C=L.isLighten}const E=this._skeleton.getNoMergeCellWithCoordByIndex(S,f),R=this._skeleton.getNoMergeCellWithCoordByIndex(v,p),P=(E==null?void 0:E.startY)||0,M=(R==null?void 0:R.endY)||0,A=(E==null?void 0:E.startX)||0,D=(R==null?void 0:R.endX)||0;C?this._controlHandler((L,W)=>{const U=new a.ColorKit(this._fillControlColors[W]).lighten(Sd).toRgbString();L.setProps({fill:U})}):this._controlHandler((L,W)=>{L.setProps({fill:this._fillControlColors[W]})});const k=m.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/this._getScale();S===v&&b===!0||f===p&&b===!1?(N=this._helperSelection)==null||N.hide():((H=this._helperSelection)==null||H.transformByState({left:A-k/2,top:P-k/2,width:D-A,height:M-P}),(V=this._helperSelection)==null||V.show()),this._targetSelection={startY:P,endY:M,startX:A,endX:D,startRow:S,endRow:v,startColumn:f,endColumn:p},this._control.selectionFilling$.next(this._targetSelection)}_autoFillForPointerdown(o){const{offsetX:e,offsetY:t}=o,i=this._scene,r=i.getCoordRelativeToViewport(y.Vector2.FromArray([e,t])),{x:s,y:l}=r;this._startOffsetX=s,this._startOffsetY=l;const{startRow:c,startColumn:d,endRow:u,endColumn:h}=this._control.model;this._isInMergeState=this._hasMergeInRange(c,d,u,h),this._relativeSelectionPositionRow=c,this._relativeSelectionPositionColumn=d,this._relativeSelectionRowLength=u-c,this._relativeSelectionColumnLength=h-d;const g=this._control.currentStyle;let S=g==null?void 0:g.stroke,f=g==null?void 0:g.strokeWidth;const v=st(this._themeService);S==null&&(S=v.stroke),f==null&&(f=v.strokeWidth);const p=this._getScale();f/=p;const C=m.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/p,b=new a.ColorKit(S).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new y.Rect(Ls,{stroke:b,strokeWidth:f+C/2}),i.addObject(this._helperSelection)),this._activeViewport=i.getActiveViewportByCoord(y.Vector2.FromArray([e,t]));const E=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),R=y.ScrollTimer.create(i,this._activeViewport.viewportKey===y.SHEET_VIEWPORT_KEY.VIEW_MAIN?y.ScrollTimerType.ALL:y.ScrollTimerType.NONE);R.startScroll(s,l,E),this._scrollTimer=R,i.disableObjectsEvent(),this._controlHandler(P=>{this._fillControlColors.push(P.fill)}),this._scenePointerMoveSub=i.onPointerMove$.subscribeEvent(P=>{var L;const{offsetX:M,offsetY:A}=P,D=i.getActiveViewportByCoord(y.Vector2.FromArray([M,A]));if(!this._injector.get(ye).interceptor.fetchThroughInterceptors(Ko)(!1,{x:o.offsetX,y:o.offsetY,skeleton:this._skeleton,scene:this._scene}))return;const{x:N,y:H}=i.getCoordRelativeToViewport(y.Vector2.FromArray([M,A]));this._autoFillMoving(N,H),i.setCursor(y.CURSOR_TYPE.CROSSHAIR);const V=this._targetSelection;if(E&&D&&((L=this._activeViewport)==null?void 0:L.viewportKey)!==(D==null?void 0:D.viewportKey)){let W;V.startRow!==c?(R.scrollTimerType=y.ScrollTimerType.Y,W={...V,endRow:V.startRow}):V.endRow!==u?(R.scrollTimerType=y.ScrollTimerType.Y,W={...V,startRow:V.endRow}):V.startColumn!==d?(R.scrollTimerType=y.ScrollTimerType.X,W={...V,endColumn:V.startColumn}):(R.scrollTimerType=y.ScrollTimerType.X,W={...V,startColumn:V.endColumn}),this._isSelectionInViewport(W,D)&&(this._viewportMainScrollBarNeedResetPosition(R.scrollTimerType,this._activeViewport.viewportKey,D.viewportKey)&&E.scrollToBarPos({x:R.scrollTimerType===y.ScrollTimerType.X?0:void 0,y:R.scrollTimerType===y.ScrollTimerType.Y?0:void 0}),this._activeViewport=D)}R.scrolling(N,H,()=>{this._autoFillMoving(N,H)})}),this._scenePointerUpSub=i.onPointerUp$.subscribeEvent(()=>{var M,A;(M=this._helperSelection)==null||M.dispose();const P=this._scene;P.resetCursor(),this._clearObserverEvent(),P.enableObjectsEvent(),(A=this._scrollTimer)==null||A.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((D,k)=>{D.setProps({fill:this._fillControlColors[k]})}),this._fillControlColors=[]})}_viewportMainScrollBarNeedResetPosition(o,e,t){return o===y.ScrollTimerType.X&&(e===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||e===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP)&&(t===y.SHEET_VIEWPORT_KEY.VIEW_MAIN||t===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP)||o===y.ScrollTimerType.Y&&(e===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||e===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP)&&(t===y.SHEET_VIEWPORT_KEY.VIEW_MAIN||t===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}_hasMergeInRange(o,e,t,i){return this._skeleton.worksheet.getMergedCellRange(o,e,t,i).length>0}_swapPositions(o,e,t,i){const r=Math.min(o,t),s=Math.min(e,i),l=Math.max(o,t),c=Math.max(e,i);return{startRow:r,startColumn:s,endRow:l,endColumn:c}}_controlHandler(o){const{leftControl:e,rightControl:t,topControl:i,bottomControl:r,backgroundControlTop:s,backgroundControlMiddleLeft:l,backgroundControlMiddleRight:c,backgroundControlBottom:d,fillControl:u}=this._control,h=[e,t,i,r,s,l,c,d,u];for(let g=0,S=h.length;g<S;g++){const f=h[g];o(f,g)}}_fillRuler(o,e,t,i,r){let s=!1;if(o<e)if(this._isInMergeState&&o<e){const l=e-o,c=i+1,d=Math.ceil(l/c);let u=e-d*c;u<0&&(u=e-(d-1)*c),e=u}else e=o;else if(o>=e&&o<=t)s=!0,this._isInMergeState||(t=o);else if(this._isInMergeState&&o>t){const l=o-t,c=i+1,d=Math.ceil(l/c);let u=t+d*c;u>r&&(u=t+(d-1)*c),t=u}else t=o;return{rowOrColumn:o,startRowOrColumn:e,endRowOrColumn:t,isLighten:s}}_getScale(){const{scaleX:o,scaleY:e}=this._scene.getAncestorScale();return Math.max(o,e)}}var tr=(n=>(n.Selection="__SpreadsheetSelectionShape__",n.top="__SpreadsheetSelectionTopControl__",n.bottom="__SpreadsheetSelectionBottomControl__",n.left="__SpreadsheetSelectionShapeLeftControl__",n.right="__SpreadsheetSelectionShapeRightControl__",n.backgroundTop="__SpreadsheetSelectionBackgroundControlTop__",n.backgroundMiddleLeft="__SpreadsheetSelectionBackgroundControlMiddleLeft__",n.backgroundMiddleRight="__SpreadsheetSelectionBackgroundControlMiddleRight__",n.backgroundBottom="__SpreadsheetSelectionBackgroundControlBottom__",n.fill="__SpreadsheetSelectionFillControl__",n.fillTopLeft="__SpreadsheetSelectionFillControlTopLeft__",n.fillBottomRight="__SpreadsheetSelectionFillControlBottomRight__",n.fillTopLeftInner="__SpreadsheetSelectionFillControlTopLeftInner__",n.fillBottomRightInner="__SpreadsheetSelectionFillControlBottomRightInner__",n.lineMain="__SpreadsheetDragLineMainControl__",n.lineContent="__SpreadsheetDragLineContentControl__",n.line="__SpreadsheetDragLineControl__",n.dash="__SpreadsheetDragDashControl__",n.rowHeaderBackground="__SpreadSheetSelectionRowHeaderBackground__",n.rowHeaderBorder="__SpreadSheetSelectionRowHeaderBorder__",n.rowHeaderGroup="__SpreadSheetSelectionRowHeaderGroup__",n.columnHeaderBackground="__SpreadSheetSelectionColumnHeaderBackground__",n.columnHeaderBorder="__SpreadSheetSelectionColumnHeaderBorder__",n.columnHeaderGroup="__SpreadSheetSelectionColumnHeaderGroup__",n.topLeftWidget="__SpreadSheetSelectionTopLeftWidget__",n.topCenterWidget="__SpreadSheetSelectionTopCenterWidget__",n.topRightWidget="__SpreadSheetSelectionTopRightWidget__",n.middleLeftWidget="__SpreadSheetSelectionMiddleLeftWidget__",n.middleRightWidget="__SpreadSheetSelectionMiddleRightWidget__",n.bottomLeftWidget="__SpreadSheetSelectionBottomLeftWidget__",n.bottomCenterWidget="__SpreadSheetSelectionBottomCenterWidget__",n.bottomRightWidget="__SpreadSheetSelectionBottomRightWidget__",n))(tr||{});const Us=.3;class Jn extends a.Disposable{constructor(e,t,i,r){var s,l,c,d;super();w(this,"_isHelperSelection",!0);w(this,"_enableAutoFill",!0);w(this,"_showAutoFill",!1);w(this,"_highlightHeader",!0);w(this,"_selectionRenderModel");w(this,"_leftBorder");w(this,"_rightBorder");w(this,"_topBorder");w(this,"_bottomBorder");w(this,"_backgroundControlTop");w(this,"_backgroundControlBottom");w(this,"_backgroundControlMiddleLeft");w(this,"_backgroundControlMiddleRight");w(this,"_autoFillControl");w(this,"_selectionShapeGroup");w(this,"_rowHeaderBackground");w(this,"_rowHeaderBorder");w(this,"_rowHeaderGroup");w(this,"_columnHeaderBackground");w(this,"_columnHeaderBorder");w(this,"_columnHeaderGroup");w(this,"_dashedRect");w(this,"_topLeftWidget");w(this,"_topCenterWidget");w(this,"_topRightWidget");w(this,"_middleLeftWidget");w(this,"_middleRightWidget");w(this,"_bottomLeftWidget");w(this,"_bottomCenterWidget");w(this,"_bottomRightWidget");w(this,"_defaultStyle");w(this,"_currentStyle");w(this,"_rowHeaderWidth",0);w(this,"_columnHeaderHeight",0);w(this,"_widgetRects",[]);w(this,"_controlExtension");w(this,"_dispose$",new O.BehaviorSubject(this));w(this,"dispose$",this._dispose$.asObservable());w(this,"selectionMoving$",new O.Subject);w(this,"selectionMoveEnd$",new O.Subject);w(this,"selectionScaling$",new O.Subject);w(this,"selectionScaled$",new O.Subject);w(this,"selectionFilling$",new O.Subject);w(this,"_selectionFilled$",new O.Subject);w(this,"selectionFilled$",this._selectionFilled$.asObservable());w(this,"_antLineOffset",0);w(this,"_antRequestNewFrame",-1);this._scene=e,this._zIndex=t,this._themeService=i,this._enableAutoFill=(s=r==null?void 0:r.enableAutoFill)!=null?s:!0,this._highlightHeader=(l=r==null?void 0:r.highlightHeader)!=null?l:!0,this._rowHeaderWidth=(c=r==null?void 0:r.rowHeaderWidth)!=null?c:0,this._columnHeaderHeight=(d=r==null?void 0:r.columnHeaderHeight)!=null?d:0,this._initializeSheetBody(),this._initialHeader()}_initializeSheetBody(){this._defaultStyle=st(this._themeService),this._currentStyle=st(this._themeService),this._selectionRenderModel=new ud;const e=this._zIndex;this._leftBorder=new y.Rect("__SpreadsheetSelectionShapeLeftControl__"+e,{zIndex:e}),this._rightBorder=new y.Rect("__SpreadsheetSelectionShapeRightControl__"+e,{zIndex:e}),this._topBorder=new y.Rect("__SpreadsheetSelectionTopControl__"+e,{zIndex:e}),this._bottomBorder=new y.Rect("__SpreadsheetSelectionBottomControl__"+e,{zIndex:e}),this._backgroundControlTop=new y.Rect("__SpreadsheetSelectionBackgroundControlTop__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new y.Rect("__SpreadsheetSelectionBackgroundControlBottom__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new y.Rect("__SpreadsheetSelectionBackgroundControlMiddleLeft__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new y.Rect("__SpreadsheetSelectionBackgroundControlMiddleRight__"+e,{zIndex:e-1,evented:!1}),this._autoFillControl=new y.Rect("__SpreadsheetSelectionFillControl__"+e,{zIndex:e+1}),this._autoFillControl.hide(),this._dashedRect=new y.DashedRect("__SpreadsheetDragDashControl__"+e,{zIndex:e+2,evented:!1,stroke:"#fff"});const t=[this._autoFillControl,this._leftBorder,this._rightBorder,this._topBorder,this._bottomBorder,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashedRect];this._widgetRects=this._initialWidget(),this._selectionShapeGroup=new y.Group("__SpreadsheetSelectionShape__"+e,...t,...this._widgetRects),this._selectionShapeGroup.hide(),this._selectionShapeGroup.evented=!1,this._selectionShapeGroup.zIndex=e;const i=this.getScene();i.addObject(this._selectionShapeGroup,zi),this.disposeWithMe(a.toDisposable(i.onTransformChange$.subscribeEvent(r=>{r.type===y.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&(this._updateLayoutOfSelectionControl(this._currentStyle),this._updateControlCoord())})))}_initialHeader(){const e=this._zIndex;this._rowHeaderBackground=new y.Rect("__SpreadSheetSelectionRowHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new y.Rect("__SpreadSheetSelectionRowHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new y.Group("__SpreadSheetSelectionRowHeaderGroup__"+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new y.Rect("__SpreadSheetSelectionColumnHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new y.Rect("__SpreadSheetSelectionColumnHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new y.Group("__SpreadSheetSelectionColumnHeaderGroup__"+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],dd)}_initialWidget(){const e=this._zIndex;return this._topLeftWidget=new y.Rect("__SpreadSheetSelectionTopLeftWidget__"+e,{zIndex:e+1}),this._topCenterWidget=new y.Rect("__SpreadSheetSelectionTopCenterWidget__"+e,{zIndex:e+1}),this._topRightWidget=new y.Rect("__SpreadSheetSelectionTopRightWidget__"+e,{zIndex:e+1}),this._middleLeftWidget=new y.Rect("__SpreadSheetSelectionMiddleLeftWidget__"+e,{zIndex:e+1}),this._middleRightWidget=new y.Rect("__SpreadSheetSelectionMiddleRightWidget__"+e,{zIndex:e+1}),this._bottomLeftWidget=new y.Rect("__SpreadSheetSelectionBottomLeftWidget__"+e,{zIndex:e+1}),this._bottomCenterWidget=new y.Rect("__SpreadSheetSelectionBottomCenterWidget__"+e,{zIndex:e+1}),this._bottomRightWidget=new y.Rect("__SpreadSheetSelectionBottomRightWidget__"+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}get zIndex(){return this._zIndex}get leftControl(){return this._leftBorder}get rightControl(){return this._rightBorder}get topControl(){return this._topBorder}get bottomControl(){return this._bottomBorder}get fillControl(){return this._autoFillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShapeGroup}get columnHeaderGroup(){return this._columnHeaderGroup}get rowHeaderGroup(){return this._rowHeaderGroup}get selectionShapeGroup(){return this._selectionShapeGroup}get model(){return this._selectionRenderModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get themeService(){return this._themeService}get selectionModel(){return this._selectionRenderModel}set selectionModel(e){this._selectionRenderModel=e}get currentStyle(){return this._currentStyle}set currentStyle(e){this._currentStyle=e}get dashedRect(){return this._dashedRect}get isHelperSelection(){return this._isHelperSelection}get rowHeaderWidth(){return this._rowHeaderWidth}set rowHeaderWidth(e){this._rowHeaderWidth=e}get columnHeaderHeight(){return this._columnHeaderHeight}set columnHeaderHeight(e){this._columnHeaderHeight=e}setControlExtension(e){this._controlExtension=new xs(this,e)}setControlExtensionDisable(e){this._controlExtension&&this._controlExtension.setDisabled(e)}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}refreshSelectionFilled(e){this._selectionFilled$.next(e)}_updateLayoutOfSelectionControl(e){e&&(this.currentStyle=Object.assign({},this._defaultStyle,e));const t=this.currentStyle,{stroke:i,widgets:r,autofillStroke:s,strokeDash:l,isAnimationDash:c}=t;let d=t.autofillSize,u=t.strokeWidth,h=t.autofillStrokeWidth;const g=this._getScale(),S=(u+m.SELECTION_CONTROL_BORDER_BUFFER_WIDTH)/2/g;u/=g,d/=g,h/=g<1?1:g;const f=m.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/g,v=y.FIX_ONE_PIXEL_BLUR_OFFSET/g,{startX:p,startY:C,endX:b,endY:E}=this._selectionRenderModel;if(this.leftControl.transformByState({height:E-C,left:-S+v,width:u,strokeWidth:f,top:-f/2+v}),this.leftControl.setProps({fill:i,stroke:m.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.rightControl.transformByState({height:E-C,left:b-p-S+v,width:u,strokeWidth:f,top:-f/2+v}),this.rightControl.setProps({fill:i,stroke:m.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.topControl.transformByState({width:b-p+u,top:-S+v,left:-S+v,height:u,strokeWidth:f}),this.topControl.setProps({fill:i,stroke:m.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.bottomControl.transformByState({width:b-p+u,top:E-C-S+v,height:u,left:-S+v,strokeWidth:f}),this.bottomControl.setProps({fill:i,stroke:m.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),l==null)this.dashedRect.hide(),this._stopAntLineAnimation();else{const R=t.strokeWidth*2/g;this.dashedRect.transformByState({height:E-C,width:b-p,strokeWidth:R,left:-R/2+v,top:-R/2+v}),this.dashedRect.setProps({strokeDashArray:[0,l/g]}),this._stopAntLineAnimation(),c!==!1&&this._startAntLineAnimation(),this.dashedRect.show()}if(this._showAutoFill=this._showAutoFill&&this._enableAutoFill,this._showAutoFill&&!this._hasWidgets(r)){const R={fill:i,stroke:s,strokeScaleEnabled:!1},P={width:d-h,height:d-h,left:b-p-d/2+h/2-v,top:E-C-d/2+h/2-v,strokeWidth:h};this._autoFillControl.setProps(R),this._autoFillControl.transformByState(P),this._autoFillControl.show()}else this._autoFillControl.hide();this._updateBackgroundControl(t),this._updateHeaderBackground(t),this._updateWidgets(t)}_updateControlCoord(){const{startX:e,startY:t}=this._selectionRenderModel;this.selectionShapeGroup.show(),this.selectionShapeGroup.translate(e,t),this.selectionShapeGroup.makeDirtyNoDebounce(!0)}updateStyle(e){this._updateLayoutOfSelectionControl(e),this._updateControlCoord()}updateRange(e,t){this._selectionRenderModel.setValue(e,t),this._showAutoFill=t!==null,this._updateLayoutOfSelectionControl(),this._updateControlCoord()}updateRangeBySelectionWithCoord(e,t){t&&(this._rowHeaderWidth=t.rowHeaderWidth,this._columnHeaderHeight=t.columnHeaderHeight),this._selectionRenderModel.setValue(e.rangeWithCoord,e.primaryWithCoord),this._showAutoFill=e.primaryWithCoord!==null,this._updateLayoutOfSelectionControl(e.style),this._updateControlCoord()}update(e,t=0,i=0,r,s){this._rowHeaderWidth=t,this._columnHeaderHeight=i,this.updateRangeBySelectionWithCoord({rangeWithCoord:e,primaryWithCoord:s,style:r}),r&&this.updateStyle(r)}updateCurrCell(e){this._showAutoFill=e!==null,this._selectionRenderModel.setCurrentCell(e)}clearHighlight(){this._showAutoFill=!1,this._selectionRenderModel.clearCurrentCell(),this._updateLayoutOfSelectionControl(this._currentStyle)}getScene(){return this._scene}dispose(){var e,t,i,r,s,l,c,d,u,h,g,S,f,v,p,C,b,E,R,P,M,A,D,k,N;(e=this._leftBorder)==null||e.dispose(),(t=this._rightBorder)==null||t.dispose(),(i=this._topBorder)==null||i.dispose(),(r=this._bottomBorder)==null||r.dispose(),(s=this._backgroundControlTop)==null||s.dispose(),(l=this._backgroundControlMiddleLeft)==null||l.dispose(),(c=this._backgroundControlMiddleRight)==null||c.dispose(),(d=this._backgroundControlBottom)==null||d.dispose(),this._autoFillControl.dispose(),(u=this._selectionShapeGroup)==null||u.dispose(),(h=this._rowHeaderBackground)==null||h.dispose(),(g=this._rowHeaderBorder)==null||g.dispose(),(S=this._rowHeaderGroup)==null||S.dispose(),(f=this._rowHeaderBackground)==null||f.dispose(),(v=this._columnHeaderBackground)==null||v.dispose(),(p=this._columnHeaderBorder)==null||p.dispose(),(C=this._columnHeaderGroup)==null||C.dispose(),(b=this._topLeftWidget)==null||b.dispose(),(E=this._topCenterWidget)==null||E.dispose(),(R=this._topRightWidget)==null||R.dispose(),(P=this._middleLeftWidget)==null||P.dispose(),(M=this._middleRightWidget)==null||M.dispose(),(A=this._bottomLeftWidget)==null||A.dispose(),(D=this._bottomCenterWidget)==null||D.dispose(),(k=this._bottomRightWidget)==null||k.dispose(),(N=this._controlExtension)==null||N.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){const e=this.model.currentCell;if(e){let t;if(e.isMerged){const i=e.mergeInfo;t={startRow:i.startRow,endRow:i.endRow,startColumn:i.startColumn,endColumn:i.endColumn,startX:i.startX,endX:i.endX,startY:i.startY,endY:i.endY}}else{const{actualRow:i,actualColumn:r,startX:s,endX:l,startY:c,endY:d}=e;t={startRow:i,endRow:i,startColumn:r,endColumn:r,startX:s,endX:l,startY:c,endY:d}}return t}}getValue(){return{...this._selectionRenderModel.getValue(),style:this._currentStyle}}getRange(){return this._selectionRenderModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}_updateHeaderBackground(e){const{startX:t,startY:i,endX:r,endY:s,rangeType:l}=this._selectionRenderModel,c=this._currentStyle,d=this._getScale(),{stroke:u,rowHeaderFill:h=c.rowHeaderFill,rowHeaderStroke:g=c.rowHeaderStroke,columnHeaderFill:S=c.columnHeaderFill,columnHeaderStroke:f=c.columnHeaderStroke}=e;let{rowHeaderStrokeWidth:v=c.rowHeaderStrokeWidth,columnHeaderStrokeWidth:p=c.columnHeaderStrokeWidth}=e;v/=d,p/=d;const C=this._rowHeaderWidth,b=this._columnHeaderHeight;if(this._highlightHeader&&b>0){let E=S;l===a.RANGE_TYPE.COLUMN&&(E=new a.ColorKit(u).setAlpha(Us).toString()),this._columnHeaderBackground.setProps({fill:E}),this._columnHeaderBackground.resize(r-t,b),this._columnHeaderBorder.setProps({fill:f}),this._columnHeaderBorder.transformByState({width:r-t,height:p,top:b-p+1/d}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(t,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),this._highlightHeader&&C>0){let E=h;l===a.RANGE_TYPE.ROW&&(E=new a.ColorKit(u).setAlpha(Us).toString()),this._rowHeaderBackground.setProps({fill:E}),this._rowHeaderBackground.resize(C,s-i),this._rowHeaderBorder.setProps({fill:g}),this._rowHeaderBorder.transformByState({width:v,height:s-i,left:C-v+1/d}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,i)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){const{startX:t,startY:i,endX:r,endY:s}=this._selectionRenderModel,l=this._getScale(),{fill:c=e.fill}=e;let{strokeWidth:d}=e;d/=l;const u=this._selectionRenderModel.highlightToSelection();if(!u){this._backgroundControlTop.resize(r-t,s-i),this._backgroundControlTop.setProps({fill:c}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}const{startX:h,startY:g,endX:S,endY:f}=u,v=d/2,p={left:-v,top:-v,width:r-t+v*2,height:g-i+v};p.height<0&&(p.width=0,p.height=0),this._backgroundControlTop.transformByState(p);const C={left:-v,top:g-i,width:h-t+v,height:f-g};C.width<0&&(C.width=0,C.height=0),this._backgroundControlMiddleLeft.transformByState(C);const b={left:S-t-v,top:g-i,width:r-S+v*2,height:f-g};b.width<0&&(b.width=0,b.height=0),this._backgroundControlMiddleRight.transformByState(b);const E={left:-v,top:f-i,width:r-t+v*2,height:s-f+v};E.height<0&&(E.width=0,E.height=0),this._backgroundControlBottom.transformByState(E),this._backgroundControlTop.setProps({fill:c}),this._backgroundControlMiddleLeft.setProps({fill:c}),this._backgroundControlMiddleRight.setProps({fill:c}),this._backgroundControlBottom.setProps({fill:c})}_updateWidgets(e){const{startX:t,startY:i,endX:r,endY:s}=this._selectionRenderModel,{stroke:l=e.stroke,widgets:c=e.widgets,widgetStroke:d=e.widgetStroke}=e,u=this._getScale();let{widgetSize:h,widgetStrokeWidth:g}=e;h/=u,g/=u;const S={left:-h/2+g/2,center:(r-t)/2-h/2+g/2,right:r-t-h/2+g/2,top:-h/2,middle:(s-i)/2-h/2,bottom:s-i-h/2+g/2},f=h-g;this._widgetRects.forEach(v=>{v.setProps({fill:l,stroke:d})}),c.tl===!0?(this._topLeftWidget.transformByState({height:f,width:f,left:S.left,top:S.top,strokeWidth:g}),this._topLeftWidget.show()):this._topLeftWidget.hide(),c.tc===!0?(this._topCenterWidget.transformByState({height:f,width:f,left:S.center,top:S.top,strokeWidth:g}),this._topCenterWidget.show()):this._topCenterWidget.hide(),c.tr===!0?(this._topRightWidget.transformByState({height:f,width:f,left:S.right,top:S.top,strokeWidth:g}),this._topRightWidget.show()):this._topRightWidget.hide(),c.ml===!0?(this._middleLeftWidget.transformByState({height:f,width:f,left:S.left,top:S.middle,strokeWidth:g}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),c.mr===!0?(this._middleRightWidget.transformByState({height:f,width:f,left:S.right,top:S.middle,strokeWidth:g}),this._middleRightWidget.show()):this._middleRightWidget.hide(),c.bl===!0?(this._bottomLeftWidget.transformByState({height:f,width:f,left:S.left,top:S.bottom,strokeWidth:g}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),c.bc===!0?(this._bottomCenterWidget.transformByState({height:f,width:f,left:S.center,top:S.bottom,strokeWidth:g}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),c.br===!0?(this._bottomRightWidget.transformByState({height:f,width:f,left:S.right,top:S.bottom,strokeWidth:g}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;const t=Object.keys(e);if(t.length===0)return!1;for(const i of t)if(e[i]===!0)return!0;return!1}_getScale(){const{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,y.cancelRequestFrame(this._antRequestNewFrame)}_startAntLineAnimation(){const e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>160/e&&(this._antLineOffset=0),this.dashedRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=y.requestNewFrame(()=>{this._startAntLineAnimation()})}}var fd=Object.getOwnPropertyDescriptor,vd=(n,o,e,t)=>{for(var i=t>1?void 0:t?fd(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},nr=(n,o)=>(e,t)=>o(e,t,n);const Bs=qo.MARK_SELECTION,Ot=a.createIdentifier("univer.mark-selection-service");T.MarkSelectionService=class extends a.Disposable{constructor(e,t,i){super();w(this,"_shapeMap",new Map);this._currentService=e,this._renderManagerService=t,this._themeService=i}addShape(e,t=[],i=Bs){var d;const r=this._currentService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=(d=r.getActiveSheet())==null?void 0:d.getSheetId();if(!s)return null;const l=a.generateRandomId(),c={selection:e,subUnitId:s,unitId:r.getUnitId(),zIndex:i,control:null,exits:t};return this._shapeMap.set(l,c),this.refreshShapes(),l}addShapeWithNoFresh(e,t=[],i=Bs){var c;const r=this._currentService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=(c=r.getActiveSheet())==null?void 0:c.getSheetId();if(!s)return null;const l=a.generateRandomId();return this._shapeMap.set(l,{selection:e,subUnitId:s,unitId:r.getUnitId(),zIndex:i,control:null,exits:t}),l}refreshShapes(){var r;const e=this._currentService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!e)return;const t=e.getUnitId(),i=(r=e.getActiveSheet())==null?void 0:r.getSheetId();this._shapeMap.forEach(s=>{const{unitId:l,subUnitId:c,selection:d,control:u,zIndex:h}=s;if(u==null||u.dispose(),l!==t||c!==i)return;const g=this._renderManagerService.getRenderById(l);if(!g)return;const S=g.with(T.SheetSkeletonManagerService).getCurrentSkeleton();if(!S)return;const{scene:f}=g,{rowHeaderWidth:v,columnHeaderHeight:p}=S,C=new Jn(f,h,this._themeService,{enableAutoFill:!1,highlightHeader:!1,rowHeaderWidth:v,columnHeaderHeight:p}),b=Oe(d,S);C.updateRangeBySelectionWithCoord(b),s.control=C})}getShapeMap(){return this._shapeMap}removeShape(e){const t=this._shapeMap.get(e);if(!t)return;const{control:i}=t;i==null||i.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(const e of this._shapeMap.values()){const{control:t}=e;t==null||t.dispose()}this._shapeMap.clear()}},T.MarkSelectionService=vd([nr(0,a.IUniverInstanceService),nr(1,y.IRenderManagerService),nr(2,a.Inject(a.ThemeService))],T.MarkSelectionService);function Fs(n){return{strokeWidth:1.5,stroke:n.getColorFromTheme("primary.600"),fill:"rgba(178, 178, 178, 0.10)",widgets:{},strokeDash:8}}function pd(n){if(n==null)return n;const o={};return n.p!==void 0&&(o.p=n.p===null?null:a.cloneValue(n.p)),n.s!==void 0&&(n.s===null||typeof n.s=="string"?o.s=n.s:o.s=a.cloneValue(n.s)),n.v!==void 0&&(o.v=n.v),n.t!==void 0&&(o.t=n.t),n.f!==void 0&&(o.f=n.f),n.ref!==void 0&&(o.ref=n.ref),n.xf!==void 0&&(o.xf=n.xf),n.si!==void 0&&(o.si=n.si),n.custom!==void 0&&(o.custom=n.custom===null?null:a.cloneValue(n.custom)),n.rowSpan!==void 0&&(o.rowSpan=n.rowSpan),n.colSpan!==void 0&&(o.colSpan=n.colSpan),n.plain!==void 0&&(o.plain=n.plain),o}const Cd=10,_d=6;function Id(){return a.generateRandomId(_d)}function bd(n){const o=n.match(/data-copy-id="([^\s]+)"/);return o&&o[1]?o[1]:null}class Ed{constructor(){w(this,"_cache",new a.LRUMap(Cd));w(this,"_lastCopyId$",new O.BehaviorSubject(null));w(this,"lastCopyId$",this._lastCopyId$.asObservable())}set(o,e){this._cache.set(o,e),this._lastCopyId$.next(o)}get(o){return this._cache.get(o)}del(o){this._cache.delete(o),this._lastCopyId$.getValue()===o&&this._lastCopyId$.next(null)}clear(){this._cache.clear(),this._lastCopyId$.next(null)}clearWithUnitId(o){this._cache.forEach((e,t)=>{e.unitId===o&&this._cache.delete(t)})}getLastCopyId(){return this._lastCopyId$.getValue()}}function Yi(n,o){const e=o!=null?o:n.style,t={},i=n.tagName.toLowerCase();switch(i){case"b":case"em":case"strong":{t.bl=a.BooleanNumber.TRUE;break}case"s":{t.st={s:a.BooleanNumber.TRUE};break}case"u":{t.ul={s:a.BooleanNumber.TRUE};break}case"i":{t.it=a.BooleanNumber.TRUE;break}case"sub":case"sup":{t.va=i==="sup"?a.BaselineOffset.SUPERSCRIPT:a.BaselineOffset.SUBSCRIPT;break}}return wd(e,t),t}function wd(n,o){if(n instanceof CSSStyleDeclaration)for(let e=0;e<n.length;e++){const t=n[e],i=n.getPropertyValue(t);zs(t,i,o)}else for(const e in n){const t=n[e];zs(e,t,o)}}function zs(n,o,e){switch(n){case"font-family":e.ff=o;break;case"font-size":{const t=Number.parseInt(o);Number.isNaN(t)||(o.endsWith("pt")?e.fs=t:o.endsWith("px")&&(e.fs=t*.75));break}case"font-style":o==="italic"&&(e.it=a.BooleanNumber.TRUE);break;case"font-weight":{(Number(o)>400||o==="bold")&&(e.bl=a.BooleanNumber.TRUE);break}case"text-decoration":{/underline/.test(o)?e.ul={s:a.BooleanNumber.TRUE}:/overline/.test(o)?e.ol={s:a.BooleanNumber.TRUE}:/line-through/.test(o)&&(e.st={s:a.BooleanNumber.TRUE});break}case"color":{try{const t=new a.ColorKit(o);t.isValid&&(e.cl={rgb:t.toRgbString()})}catch{}break}case"background-color":{const t=new a.ColorKit(o);t.isValid&&(e.bg={rgb:t.toRgbString()});break}}}function Xs(n){if(n.nodeType===Node.TEXT_NODE){n.textContent=(n.textContent||"").replace(/\r?\n[\t ]*/g," ");return}n.childNodes.forEach(Xs)}function Td(n){const o=document.createElement("body");return o.innerHTML=n,Xs(o),o}function Ys(n){const o=n.style,e={};for(let t=0;t<o.length;t++){const i=o[t],r=o.getPropertyValue(i);switch(i){case"margin-top":{const s=Number.parseInt(r);e.spaceAbove={v:/pt/.test(r)?y.ptToPixel(s):s};break}case"margin-bottom":{const s=Number.parseInt(r);e.spaceBelow={v:/pt/.test(r)?y.ptToPixel(s):s};break}case"line-height":{const s=Number.parseFloat(r);e.lineSpacing=s;break}}}return Object.getOwnPropertyNames(e).length?e:null}function ir(n,o){const e=[];for(let t=0,i=n.length;t<i;t++)n[t]===a.DataStreamTreeTokenType.PARAGRAPH&&e.push({startIndex:t});return e}function js(n,o,e){var s,l,c;const t=o.length,r=((s=e==null?void 0:e.length)!=null?s:0)===1&&e[0].st===0&&e[0].ed===t;return n.p?r&&((c=(l=n.p.body)==null?void 0:l.textRuns)!=null&&c.length)?(n.p.body.textRuns=[],{...n,s:e[0].ts}):n:r?{...n,s:e[0].ts}:n}const Zs=["color","background","font-size","text-align","vertical-align","font-weight","font-style","font-family","text-decoration","white-space","word-wrap","border-left","border-right","border-top","border-bottom","--data-rotate"];function Gs(n,o){const e=n.tagName.toLowerCase();return typeof o=="string"?e===o:Array.isArray(o)?o.some(t=>t===e):o(n)}const Yo=class Yo{constructor(o){w(this,"_styleMap",new Map);w(this,"_styleCache",new Map);w(this,"_styleRules",[]);w(this,"_afterProcessRules",[]);w(this,"_dom",null);w(this,"_getCurrentSkeleton");this._getCurrentSkeleton=o.getCurrentSkeleton}static use(o){if(this._pluginList.includes(o))throw new Error(`Univer paste plugin ${o.name} already added`);this._pluginList.push(o)}convert(o){const e=Yo._pluginList.find(v=>v.checkPasteType(o));e&&(this._styleRules=[...e.stylesRules],this._afterProcessRules=[...e.afterProcessRules]);const t=new a.ObjectMatrix;this._dom=Td(o);const i=this._dom.querySelector("style");if(i){const v=document.createElement("div"),p=v.attachShadow({mode:"open"});document.body.appendChild(v),p.appendChild(i);for(const C of i.sheet.cssRules){const b=C,E=b.selectorText,R=b.style;this._styleMap.set(E,R)}i.remove(),v.remove()}const r={dataStream:"",textRuns:[]},s=[],l=[],c=o.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi),d=[];this.process(null,this._dom.childNodes,r,d);const{paragraphs:u,dataStream:h,textRuns:g,payloads:S,customRanges:f}=r;if(u){const v=u.map(p=>p.startIndex+1);v.unshift(0);for(let p=0;p<v.length;p++){let C;if(p===v.length-1){if(C=`${h.substring(v[p])}\r
2
- `,C===`\r
3
- `)continue}else C=`${h.substring(v[p],v[p+1]-1)}\r
4
- `;const b=[];g==null||g.forEach(M=>{M.st>=v[p]&&M.ed<=v[p+1]&&b.push({st:M.st-v[p],ed:M.ed-v[p],ts:M.ts})});const E=[];f==null||f.forEach(M=>{M.startIndex>=v[p]&&M.endIndex<=v[p+1]&&E.push({...M,startIndex:M.startIndex-v[p],endIndex:M.endIndex-v[p]})});const R=this._generateDocumentDataModelSnapshot({body:{dataStream:C,textRuns:b,paragraphs:ir(C),customRanges:E}}),P=Object.keys(t.getMatrix()).length===0;t.setValue(P?0:t.getLength(),0,{v:C,p:R}),s.push({})}}else if(h){const v=`${h}\r
5
- `,p={dataStream:v,textRuns:g,paragraphs:ir(v),payloads:S,customRanges:f};if(!(f!=null&&f.length))t.setValue(0,0,js({v:h},h,g));else{const C=this._generateDocumentDataModelSnapshot({body:p});t.setValue(0,0,js({v:h,p:C},h,g))}s.push({})}return c&&c.forEach((v,p)=>{const C=t.getDataRange().endRow+1,{cellMatrix:b,rowProperties:E,colProperties:R}=this._parseTable(v,p);b&&b.forValue((P,M,A)=>{t.setValue(C+P,M,A)}),R&&l.push(...R),s.push(...E)}),this.dispose(),{rowProperties:s,colProperties:l,cellMatrix:t}}_getStyleBySelectorText(o,e){var i;const t=(i=this._styleMap.get(o))==null?void 0:i.getPropertyValue(e);return t||""}_getStyle(o,e){const t=Ks(e),i=o.style;let r="";for(let s=0;s<Zs.length;s++){const l=Zs[s];if(l==="background"){let d="";o.classList.forEach(h=>{d=this._getStyleBySelectorText(`.${h}`,"background-color")||this._getStyleBySelectorText(`.${h}`,l)});const u=i.getPropertyValue("background-color")||d||this._getStyleBySelectorText(`#${o.id}`,"background-color")||this._getStyleBySelectorText(`#${o.id}`,l)||this._getStyleBySelectorText(o.nodeName.toLowerCase(),l)||this._getStyleBySelectorText(o.nodeName,"background-color")||t["background-color"]||"";u&&(r+=`background:${u};`);continue}if(l==="text-decoration"){let d="";o.classList.forEach(h=>{d=this._getStyleBySelectorText(`.${h}`,"text-decoration-line")||this._getStyleBySelectorText(`.${h}`,l)});const u=i.getPropertyValue("text-decoration-line")||i.getPropertyValue("text-decoration")||d||this._getStyleBySelectorText(`#${o.id}`,"text-decoration-line")||this._getStyleBySelectorText(`#${o.id}`,l)||this._getStyleBySelectorText(o.nodeName.toLowerCase(),l)||this._getStyleBySelectorText(o.nodeName,"text-decoration-line")||t["text-decoration-line"]||"";u&&(r+=`text-decoration:${u};`);continue}let c="";o.classList.forEach(d=>{c=this._getStyleBySelectorText(`.${d}`,l)}),c=i.getPropertyValue(l)||this._getStyleBySelectorText(`#${o.id}`,l)||c||this._getStyleBySelectorText(o.nodeName.toLowerCase(),l)||t[l]||"",c&&(r+=`${l}:${c};`)}return r}_parseTable(o,e){var l,c;const t=new a.ObjectMatrix,i=(l=Rd(o))!=null?l:[],{rowProperties:r=[]}=yd(o),s=this._parseTableByHtml(this._dom,e,(c=this._getCurrentSkeleton())==null?void 0:c.skeleton);return s&&s.forValue((d,u,h)=>{var f,v,p,C,b,E,R,P,M,A,D,k,N,H,V,L,W,U,B,X,z,Y,G,K;let g=_.handleStringToStyle(void 0,h.style);if((C=(p=(v=(f=h==null?void 0:h.richTextParma)==null?void 0:f.p)==null?void 0:v.body)==null?void 0:p.textRuns)!=null&&C.length){const ee=(E=(b=h==null?void 0:h.richTextParma)==null?void 0:b.v)==null?void 0:E.length;for(let ne=0;ne<((A=(M=(P=(R=h==null?void 0:h.richTextParma)==null?void 0:R.p)==null?void 0:P.body)==null?void 0:M.textRuns)==null?void 0:A.length);ne++){const Se=(N=(k=(D=h==null?void 0:h.richTextParma)==null?void 0:D.p)==null?void 0:k.body)==null?void 0:N.textRuns[ne];Se.st===0&&Se.ed===ee&&(g={...Se.ts,...g},(L=(V=(H=h==null?void 0:h.richTextParma)==null?void 0:H.p)==null?void 0:V.body)==null||L.textRuns.splice(ne,1),ne--)}((X=(B=(U=(W=h==null?void 0:h.richTextParma)==null?void 0:W.p)==null?void 0:U.body)==null?void 0:B.textRuns)==null?void 0:X.length)===0&&(h.content=(z=h==null?void 0:h.richTextParma)==null?void 0:z.v,delete h.richTextParma)}const S=(K=(G=(Y=h==null?void 0:h.richTextParma)==null?void 0:Y.p)==null?void 0:G.body)!=null&&K.textRuns?{v:h.richTextParma.v,p:h.richTextParma.p,s:g,rowSpan:h.rowSpan,colSpan:h.colSpan}:{v:h.content,s:g,rowSpan:h.rowSpan,colSpan:h.colSpan};t.setValue(d,u,S)}),{rowProperties:r,colProperties:i,cellMatrix:t}}_parseTableByHtml(o,e,t){var c,d;const i=new a.ObjectMatrix,r=o.querySelectorAll("table")[e];if(!r)return i;const s=this._getStyle(r,""),l=r==null?void 0:r.querySelectorAll("tr");for(let u=0;u<l.length;u++){const h=l[u],g=this._getStyle(h,s),S=h.querySelectorAll("td, th");let f=0;for(let v=0;v<S.length;){const p=S[v];let C="";const b=Number(p.getAttribute("rowSpan"))||1,E=Number(p.getAttribute("colSpan"))||1;if(C=this._getStyle(p,g),u>0){const A=i.getValue(u-1,f);if((c=A==null?void 0:A.style)!=null&&c.includes("border-bottom")&&C.includes("border-top")){const D=Qs(A.style,"border-bottom");D&&_.textTrim(D.substr(D.indexOf(":")+1))!=="none"&&(C=C.replace(/border-top:[^;]+;/,""))}}if(v>0){const A=i.getValue(u,f-1);if((d=A==null?void 0:A.style)!=null&&d.includes("border-right")&&C.includes("border-left")){const D=Qs(A.style,"border-right");D&&_.textTrim(D.substr(D.indexOf(":")+1))!=="none"&&(C=C.replace(/border-left:[^;]+;/,""))}}const{cellText:R,cellRichStyle:P}=this._getCellTextAndRichText(p,C,t),M={rowSpan:b,colSpan:E,content:R,style:C,richTextParma:{p:P,v:R}};if(i.getValue(u,f)){f+=1;continue}else b>1||E>1?Pd(i,C,M,{colSpan:E,rowSpan:b,rowIndex:u,colSetValueIndex:f}):i.setValue(u,f,M),f+=E,v++}}return i}_parseCellHtml(o,e,t,i=new Map,r){var s;for(const l of e)if(l.nodeType===Node.TEXT_NODE){const c=(s=l.nodeValue)==null?void 0:s.replace(/[\r\n]/g,"");let d;o&&i.has(o)&&(d=i.get(o)),t.dataStream+=c,d&&Object.getOwnPropertyNames(d).length&&t.textRuns.push({st:t.dataStream.length-c.length,ed:t.dataStream.length,ts:d})}else{if(l.nodeType===Node.COMMENT_NODE||l.nodeName==="STYLE")continue;if(l.nodeName.toLowerCase()==="br")t.paragraphs||(t.paragraphs=[]),t.paragraphs.push({startIndex:t.dataStream.length}),t.dataStream+="\r";else if(l.nodeType===Node.ELEMENT_NODE){const c=this._getStyle(l,r),d=o?i.get(o):{},u=Ks(c),h=Yi(l,u);i.set(l,{...d,...h});const{childNodes:g}=l;this._parseCellHtml(l,g,t,i,c)}}}_getCellTextAndRichText(o,e,t){var l;if(o.innerHTML.includes("mso-spacerun:yes")){const c=o.innerHTML.replace(/<span[^>]*mso-spacerun:yes[^>]*>[\s\S]*?<\/span>/gi,"").replace(/\s/g,""),d=a.getNumfmtParseValueFilter(c);if(d&&d.z&&a.isRealNum(d.v))return{cellText:c,cellRichStyle:void 0}}let i="",r;if(/<[^>]+>/.test(o.innerHTML)&&t){const c={dataStream:"",textRuns:[]};this._parseCellHtml(null,o.childNodes,c,void 0,e);const d=(l=t.getBlankCellDocumentModel())==null?void 0:l.documentModel,u=d==null?void 0:d.getSnapshot(),h=`${c.dataStream}\r
6
- `,g={...u,body:{dataStream:h,textRuns:c.textRuns,paragraphs:ir(h)}};d==null||d.reset(g),r=d==null?void 0:d.getSnapshot(),i=c.dataStream}else i=Md(o.innerHTML.replace(/[\r\n]/g,""));return{cellText:i,cellRichStyle:r}}_generateDocumentDataModelSnapshot(o){var l;const e=this._getCurrentSkeleton();if(e==null)return null;const{skeleton:t}=e,i=(l=t.getBlankCellDocumentModel())==null?void 0:l.documentModel,s={...i==null?void 0:i.getSnapshot(),...o};return i==null||i.reset(s),i==null?void 0:i.getSnapshot()}process(o,e,t,i){var r,s,l;for(const c of e)if(c.nodeName.toLowerCase()==="table")i.push({index:((r=t==null?void 0:t.paragraphs)==null?void 0:r.length)||0});else if(c.nodeType===Node.TEXT_NODE){if(((s=c.nodeValue)==null?void 0:s.trim())==="")continue;const d=(l=c.nodeValue)==null?void 0:l.replace(/[\r\n]/g,"");let u;o&&this._styleCache.has(o)&&(u=this._styleCache.get(o));const h={dataStream:"",textRuns:[]};t.dataStream+=d,h.dataStream+=d,u&&Object.getOwnPropertyNames(u).length&&(t.textRuns.push({st:t.dataStream.length-d.length,ed:t.dataStream.length,ts:u}),h.textRuns.push({st:t.dataStream.length-d.length,ed:t.dataStream.length,ts:u}))}else{if(a.skipParseTagNames.includes(c.nodeName.toLowerCase()))continue;if(c.nodeName.toLowerCase()==="br")t.paragraphs||(t.paragraphs=[]),t.paragraphs.push({startIndex:t.dataStream.length}),t.dataStream+="\r";else if(c.nodeType===Node.ELEMENT_NODE){if(c.nodeName==="STYLE")continue;const d=c,u=this._processBeforeLink(d,{body:t}),h=o?this._styleCache.get(o):{},g=this._styleRules.find(({filter:p})=>Gs(c,p)),S=g?g.getStyle(c):Yi(c);this._styleCache.set(c,{...h,...S});const{childNodes:f}=c;this.process(c,f,t,i);const v=this._afterProcessRules.find(({filter:p})=>Gs(c,p));v&&v.handler(t,c),this._processAfterLink(d,{body:t},u)}}}_processBeforeLink(o,e){return e.body.dataStream.length}_processAfterLink(o,e,t){var s,l;const i=e.body,r=o;r.tagName.toUpperCase()==="A"&&(i.customRanges=(s=i.customRanges)!=null?s:[],i.customRanges.push({startIndex:t,endIndex:i.dataStream.length-1,rangeId:(l=r.dataset.rangeid)!=null?l:a.generateRandomId(),rangeType:a.CustomRangeType.HYPERLINK,properties:{url:r.href}}))}dispose(){this._dom=null,this._styleCache.clear(),this._styleMap.clear()}};w(Yo,"_pluginList",[]);let an=Yo;function yd(n){const o=/<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi,e=n.matchAll(o);if(!e)return{rowProperties:[],rowCount:0};const i=Array.from(e).map(r=>qs(r[1])).map(r=>{if(!r.height){const s=r.style,l=s&&s.match(/height\s*:\s*(\d+(\.\d+)?)px/);r.height=`${l?Number.parseInt(l[1],10):a.DEFAULT_WORKSHEET_ROW_HEIGHT}`}return r});return{rowProperties:i,rowCount:i.length}}function Ks(n){const o={};return n.split(";").forEach(t=>{const[i,r]=t.split(":");o[i]=r}),o}function qs(n){if(!n)return{};const o={},e=/([\w-]+)\s*=\s*(?:(['"])([^'"]*)\2|(\S+))/g;let t;for(;(t=e.exec(n))!==null;){const[,i,,r,s]=t,l=r!==void 0?r:s;o[i]=l}return o}function Rd(n){const o=/<colgroup([\s\S]*?)>(.*?)<\/colgroup>/,e=n.match(o),t=/<col([\s\S]*?)>/g;let i;if(e!=null&&e[2]?i=e[2].matchAll(t):i=n.matchAll(t),!i)return null;const r=Array.from(i).map(l=>qs(l[1])),s=[];return r.forEach(l=>{const c=Number(l.span);if(c)for(let d=0;d<c;d++){const u={...l};delete u.span,s.push(u)}else s.push(l)}),s}function Md(n){const o={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&#39;":"'","&nbsp;":" "};return n.replace(/&lt;|&gt;|&amp;|&quot;|&#39;|&nbsp;|<br>/g,e=>o[e])}function Qs(n,o){if(!n||!o)return null;const e=new RegExp(`(${o}\\s*:\\s*[^;]+);`,"i"),t=n.match(e);return t?t[1]:null}function Pd(n,o,e,t){const{rowSpan:i,colSpan:r,rowIndex:s,colSetValueIndex:l}=t;for(let c=s;c<s+i;c++)for(let d=l;d<l+r;d++)c===s&&d===l?n.setValue(c,d,{...e,style:o}):n.setValue(c,d,{style:o})}const Od={name:"univer-doc-paste-plugin-lark",checkPasteType(n){return/lark-record-clipboard/i.test(n)},stylesRules:[{filter:["s"],getStyle(n){const o=Yi(n);return{st:{s:a.BooleanNumber.TRUE},...o}}}],afterProcessRules:[{filter(n){return n.tagName==="DIV"&&/ace-line/i.test(n.className)},handler(n){n.paragraphs==null&&(n.paragraphs=[]),n.paragraphs.push({startIndex:n.dataStream.length}),n.dataStream+="\r"}}]},Ad={name:"univer-doc-paste-plugin-univer",checkPasteType(n){return/UniverNormal/i.test(n)},stylesRules:[],afterProcessRules:[{filter(n){return n.tagName==="P"&&/UniverNormal/i.test(n.className)},handler(n,o){n.paragraphs==null&&(n.paragraphs=[]);const e={startIndex:n.dataStream.length},t=Ys(o);t&&(e.paragraphStyle=t),n.paragraphs.push(e),n.dataStream+="\r"}}]},Dd={name:"univer-doc-paste-plugin-word",checkPasteType(n){return/word|mso/i.test(n)},stylesRules:[{filter:["b"],getStyle(n){const o=Yi(n);return{bl:a.BooleanNumber.TRUE,...o}}}],afterProcessRules:[{filter(n){return n.tagName==="P"&&/mso/i.test(n.className)},handler(n,o){n.paragraphs==null&&(n.paragraphs=[]);const e={startIndex:n.dataStream.length},t=Ys(o);t&&(e.paragraphStyle=t),n.paragraphs.push(e),n.dataStream+="\r"}}]};var Ze=(n=>(n.COPY="COPY",n.CUT="CUT",n))(Ze||{});function kd(n,o,e,t,i){const r=e.map(d=>{var u;return(u=d.onCopyRow)==null?void 0:u.call(d,n)}).filter(d=>!!d),s=or(r),l=rr(s),c=o.map(d=>{if(!i.has(`${n}-${d}`)){const u=t.getValue(n,d);if(u!=null&&u.rowSpan&&(u!=null&&u.colSpan))for(let h=n;h<n+u.rowSpan;h++)for(let g=d;g<d+u.colSpan;g++)i.add(`${h}-${g}`);return Nd(n,d,e,t)}return null}).filter(d=>!!d).join("");return`<tr${l}>${c}</tr>`}function Nd(n,o,e,t){const i=t.getValue(n,o),r=e.map(d=>{var u;return(u=d.onCopyCellStyle)==null?void 0:u.call(d,n,o,i==null?void 0:i.rowSpan,i==null?void 0:i.colSpan)}).filter(d=>!!d),s=or(r),l=rr(s),c=e.reduce((d,u)=>{var h;return d||((h=u.onCopyCellContent)==null?void 0:h.call(u,n,o))||""},"");return`<td${l}>${c}</td>`}function Hd(n,o){return`<colgroup>${n.map(t=>{const i=o.map(l=>{var c;return(c=l.onCopyColumn)==null?void 0:c.call(l,t)}).filter(l=>!!l),r=or(i);return`<col ${rr(r)} />`}).join("")}</colgroup>`}function or(n){return n.reduce((o,e)=>(Object.keys(e).forEach(i=>{o[i]?o[i]+=`;${e[i]}`:o[i]=e[i]}),o),{})}function rr(n){return Object.keys(n).reduce((o,e)=>`${o} ${e}="${n[e]}"`,"")}class Vd{convert(o,e,t,i){const{cols:r,rows:s}=e;if(!r.length)return"";const l=Hd(r,t),c=[],d=new Set;return s.forEach(h=>{c.push(kd(h,r,t,o,d))}),`<google-sheets-html-origin><table data-copy-id="${i}" xmlns="http://www.w3.org/1999/xhtml" cellspacing="0" cellpadding="0" dir="ltr" style="table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none">${l}
7
- <tbody>${c.join("")}</tbody></table>`}}const Wd=(n,o,e=!1)=>{const t=h=>h.endRow-h.startRow+1,i=h=>h.endColumn-h.startColumn+1,r=t(o)%t(n),s=i(o)%i(n),l={startRow:0,endRow:t(n)-1,startColumn:0,endColumn:i(n)-1},c=Math.floor(t(o)/t(n)),d=Math.floor(i(o)/i(n)),u=[];if(!r&&!s)for(let h=1;h<=c;h++)for(let g=1;g<=d;g++){const S=t(n)*(h-1),f=i(n)*(g-1),v={startRow:S+o.startRow,endRow:S+o.startRow,startColumn:f+o.startColumn,endColumn:f+o.startColumn};u.push({repeatRelativeRange:l,startRange:v})}else if(!r&&s&&!e)for(let h=1;h<=c;h++){const g=t(n)*(h-1),S=0,f={startRow:g+o.startRow,endRow:g+o.startRow,startColumn:S+o.startColumn,endColumn:S+o.startColumn};u.push({repeatRelativeRange:l,startRange:f})}else if(r&&!s&&!e)for(let h=1;h<=d;h++){const S=i(n)*(h-1),f={startRow:0+o.startRow,endRow:0+o.startRow,startColumn:S+o.startColumn,endColumn:S+o.startColumn};u.push({repeatRelativeRange:l,startRange:f})}else{const h={startRow:o.startRow,endRow:o.startRow,startColumn:o.startColumn,endColumn:o.startColumn};u.push({startRange:h,repeatRelativeRange:l})}return u};function Js(n){return n?[/<td[^>]*class=".*?xl.*?"[^>]*>/i,/xmlns:x="urn:schemas-microsoft-com:office:excel"/i,/ProgId="Excel.Sheet"/i,/xmlns:o="urn:schemas-microsoft-com:office:office"/i,/@mso-|mso-excel/i,/<x:ExcelWorkbook>/i].some(e=>e.test(n)):!1}function Ld(n){if(!n)return!1;const o=/<img[^>]*src\s*=\s*["']data:image\/[^;]+;base64,[^"']*["'][^>]*>/i;return(n.match(o)||[]).length>0}function xd(...n){if(n.length===1)return n[0];const o=new a.ObjectMatrix;return n.forEach(e=>{e&&new a.ObjectMatrix(e).forValue((i,r,s)=>{o.setValue(i,r,{...o.getValue(i,r),...s})})}),o.getMatrix()}function Ud(n,o){return n.id===o.id&&n.params.unitId===o.params.unitId&&n.params.subUnitId===o.params.subUnitId}function sr(n){const o=[];for(let e=0;e<n.length;){let t=1;if(n[e].id===m.SetRangeValuesMutation.id){const i=n[e],r=[i];for(;e+t<n.length&&Ud(i,n[e+t]);)r.push(n[e+t]),t+=1;const s=xd(...r.map(l=>l.params.cellValue||{}));o.push({...i,params:{...i.params,cellValue:s}})}else o.push(n[e]);e+=t}return o}function $s(n,o={}){const{maxCellsPerChunk:e=2500,threshold:t=6e3,maxChunks:i=10}=o;if(n.id!==m.SetRangeValuesMutation.id)return[n];const{cellValue:r}=n.params;if(!r)return[n];const s=new a.ObjectMatrix(r);let l=0,c=1/0,d=-1/0,u=1/0,h=-1/0;if(s.forValue((C,b)=>{l++,c=Math.min(c,C),d=Math.max(d,C),u=Math.min(u,b),h=Math.max(h,b)}),c===1/0||l<=t)return[n];const g=[],S=h-u+1;let f=Math.max(1,Math.floor(e/S));const v=d-c+1;Math.ceil(v/f)>i&&(f=Math.ceil(v/i));for(let C=c;C<=d;C+=f){const b=Math.min(C+f-1,d),E=new a.ObjectMatrix;let R=!1;for(let P=C;P<=b;P++)for(let M=u;M<=h;M++){const A=s.getValue(P,M);A!==void 0&&(E.setValue(P,M,A),R=!0)}R&&g.push({...n,params:{...n.params,cellValue:E.getMatrix(),__splitChunk__:!0}})}return g.length>0?g:[n]}function ar(n,o){const{startRow:e,endRow:t,startColumn:i,endColumn:r}=n;for(let s=e;s<=t;s++)for(let l=i;l<=r;l++)if(o.rows.includes(s)&&o.cols.includes(l))return!0}function ea(n,o){const{startRow:e,endRow:t,startColumn:i,endColumn:r}=o;for(let s=e;s<=t;s++)if(!n.rows.includes(s))return!1;for(let s=i;s<=r;s++)if(!n.cols.includes(s))return!1;return!0}function Bd(n){const o=n.trim().split(`
8
- `);let e="<table>";return o.forEach(t=>{const i=t.split(" ");e+="<tr>",i.forEach(r=>{e+=`<td>${r}</td>`}),e+="</tr>"}),e+="</table>",e}var Fd=Object.getOwnPropertyDescriptor,zd=(n,o,e,t)=>{for(var i=t>1?void 0:t?Fd(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},He=(n,o)=>(e,t)=>o(e,t,n);const pt={DEFAULT_COPY:"default-copy",SPECIAL_COPY_FORMULA_ONLY:"special-copy-formula-only"},pe={DEFAULT_PASTE:"default-paste",DEFAULT_PASTE_ROWS:"default-paste-rows",DEFAULT_PASTE_COLUMNS:"default-paste-columns",SPECIAL_PASTE_VALUE:"special-paste-value",SPECIAL_PASTE_FORMAT:"special-paste-format",SPECIAL_PASTE_COL_WIDTH:"special-paste-col-width",SPECIAL_PASTE_BESIDES_BORDER:"special-paste-besides-border",SPECIAL_PASTE_FORMULA:"special-paste-formula"},Xd={...pt,...pe},Yd={[_.FILE_PNG_CLIPBOARD_MIME_TYPE]:"png",[_.FILE__JPEG_CLIPBOARD_MIME_TYPE]:"jpg",[_.FILE__WEBP_CLIPBOARD_MIME_TYPE]:"webp",[_.FILE__BMP_CLIPBOARD_MIME_TYPE]:"bmp"};an.use(Dd),an.use(Od),an.use(Ad);const We=a.createIdentifier("sheet.clipboard-service");T.SheetClipboardService=class extends a.Disposable{constructor(e,t,i,r,s,l,c,d,u,h,g,S,f,v){super();w(this,"_clipboardHooks",[]);w(this,"_clipboardHooks$",new O.BehaviorSubject([]));w(this,"clipboardHooks$",this._clipboardHooks$.asObservable());w(this,"_htmlToUSM");w(this,"_usmToHtml");w(this,"_copyContentCache");w(this,"_copyMarkId",null);w(this,"_pasteOptionsCache$",new O.BehaviorSubject(null));w(this,"pasteOptionsCache$",this._pasteOptionsCache$.asObservable());w(this,"_showMenu$",new O.BehaviorSubject(!1));w(this,"showMenu$",this._showMenu$.asObservable());this._logService=e,this._univerInstanceService=t,this._selectionManagerService=i,this._clipboardInterfaceService=r,this._undoRedoService=s,this._commandService=l,this._markSelectionService=c,this._notificationService=d,this._platformService=u,this._renderManagerService=h,this._themeService=g,this._localeService=S,this._errorService=f,this._injector=v,this._htmlToUSM=new an({getCurrentSkeleton:()=>{var p;return(p=y.withCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,T.SheetSkeletonManagerService,this._univerInstanceService,this._renderManagerService))==null?void 0:p.getCurrentParam()}}),this._usmToHtml=new Vd,this._copyContentCache=new Ed,this.disposeWithMe(this._htmlToUSM),this._initUnitDisposed()}setShowMenu(e){this._showMenu$.next(e)}getPasteMenuVisible(){return this._showMenu$.getValue()}getPasteOptionsCache(){return this._pasteOptionsCache$.getValue()}copyContentCache(){return this._copyContentCache}generateCopyContent(e,t,i,r){const{copyType:s=Ze.COPY,copyHookType:l=pt.DEFAULT_COPY}=r||{};let c=this._clipboardHooks;l===pt.SPECIAL_COPY_FORMULA_ONLY&&(c=this._clipboardHooks.filter(u=>u.id===l)),c.forEach(u=>{var h;return(h=u.onBeforeCopy)==null?void 0:h.call(u,e,t,i,s)});const d=this._generateCopyContent(e,t,i,c,l);return c.forEach(u=>{var h;return(h=u.onAfterCopy)==null?void 0:h.call(u)}),d}async copy(e){const t=this._selectionManagerService.getCurrentLastSelection();if(!t)return!1;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),r=i==null?void 0:i.getActiveSheet();if(!i||!r)return!1;const s=i.getUnitId(),l=r.getSheetId(),{copyType:c=Ze.COPY,copyHookType:d=pt.DEFAULT_COPY}=e||{},u=this.generateCopyContent(s,l,t.range,{copyType:c,copyHookType:d});if(!u)return!1;const{html:h,plain:g,matrixFragment:S,copyId:f,discreteRange:v}=u;this._copyContentCache.set(f,{unitId:i.getUnitId(),subUnitId:r.getSheetId(),range:v,matrix:S,copyType:c}),await this._clipboardInterfaceService.write(g,h),this._markSelectionService.removeAllShapes();const p=Fs(this._themeService);return this._copyMarkId=this._markSelectionService.addShape({...t,style:p}),!0}async cut(){return this.copy({copyType:Ze.CUT})}async paste(e,t=pe.DEFAULT_PASTE){const i=e.types,r=i.indexOf(_.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(_.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(d=>d&&d.text()):"",s=i.indexOf(_.HTML_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(_.HTML_CLIPBOARD_MIME_TYPE).then(d=>d&&d.text()):"",l=i.findIndex(d=>_.imageMimeTypeSet.has(d)),c=l===-1||!Ld(s);if(s&&c)return this._platformService.isWindows&&Js(s)&&this._notificationService.show({type:"warning",title:this._localeService.t("clipboard.shortCutNotify.title"),content:this._localeService.t("clipboard.shortCutNotify.useShortCutInstead")}),this._pasteHTML(s,t);if(l!==-1){const d=i[l],u=await e.getType(d);if(u){const h=Yd[d],g=new File([u],`clipboard-image.${h}`,{type:d});return this._pasteFiles([g],t)}}return r?this._pastePlainText(r,t):(this._logService.error("[SheetClipboardService]","No valid data on clipboard"),!1)}async pasteByCopyId(e,t=pe.DEFAULT_PASTE){return this._pasteInternal(e,t)}async legacyPaste(e,t,i){const r=Js(e!=null?e:"");return i&&!r?this._pasteFiles(i,pe.DEFAULT_PASTE):e?this._pasteHTML(e,pe.DEFAULT_PASTE):t?/[\n\t]/.test(t)?this._pasteHTML(Bd(t),pe.DEFAULT_PASTE):this._pastePlainText(t,pe.DEFAULT_PASTE):this._pasteUnrecognized()}rePasteWithPasteType(e){const t=this._pasteOptionsCache$.getValue();if(!t)return!1;const i=this._injector.get(a.IUndoRedoService),r=i.pitchTopUndoElement();r&&a.sequenceExecute(r.undoMutations,this._commandService)&&i.popUndoToRedo();const{cellMatrix:s,rowProperties:l=[],colProperties:c=[],source:d,target:u}=t;return this._pasteUSM({cellMatrix:s,colProperties:c,rowProperties:l},u,pe[e],d),!0}updatePasteOptionsCache(e){this._pasteOptionsCache$.next(e)}addClipboardHook(e){if(this._clipboardHooks.findIndex(i=>i.id===e.id)!==-1)return this._logService.error("[SheetClipboardService]","hook already exists",e.id),{dispose:()=>{}};const t=this._clipboardHooks.findIndex(i=>{const r=i.priority||0;return(e.priority||0)<r});return this._clipboardHooks.splice(t!==-1?t:this._clipboardHooks.length,0,e),this._notifyClipboardHook(),a.toDisposable(()=>{const i=this._clipboardHooks.indexOf(e);i>-1&&(this._clipboardHooks.splice(i,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,t,i,r,s=pt.DEFAULT_COPY){var A;const l=this._univerInstanceService.getUniverSheetInstance(e),c=l==null?void 0:l.getSheetBySheetId(t);if(!l||!c)return null;const d=r.reduce((D,k)=>{var H;const N=(H=k.getFilteredOutRows)==null?void 0:H.call(k,e,t,i);return N==null||N.forEach(V=>D.add(V)),D},new Set),{startColumn:u,startRow:h,endColumn:g,endRow:S}=i;let f=h;const v=c.getMatrixWithMergedCells(h,u,S,g,a.CellModeEnum.Both),p=new a.ObjectMatrix,C=new a.ObjectMatrix,b={rows:[],cols:[]},E=s===pt.SPECIAL_COPY_FORMULA_ONLY?r.find(D=>D.handleMatrixOnCell):void 0;for(let D=h;D<=S;D++)if(!d.has(D)){b.rows.push(D);for(let k=u;k<=g;k++){if(E){(A=E.handleMatrixOnCell)==null||A.call(E,D,k,f-h,k-u,v,p,C);continue}const N=v.getValue(D,k);if(N){const H=a.cloneCellDataWithSpanAndDisplay(N);C.setValue(f-h,k-u,{...a.getEmptyCell(),...H}),delete H.displayV,p.setValue(f-h,k-u,{...a.getEmptyCell(),...H})}else C.setValue(f-h,k-u,a.getEmptyCell()),p.setValue(f-h,k-u,a.getEmptyCell()),v.setValue(D,k,a.getEmptyCell())}f+=1}for(let D=u;D<=g;D++)b.cols.push(D);const R=Id(),P=this._usmToHtml.convert(v,b,r,R),M=ta(C);return{copyId:R,plain:M,html:P,matrixFragment:p,discreteRange:b}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _executePaste(e){const t=this._getPastingTarget();if(!t.subUnitId||!t.selection)return!1;const i=this._injector.invoke(S=>m.rangeToDiscreteRange(t.selection.range,S,t.unitId,t.subUnitId));if(!i)return!1;const{unitId:r,subUnitId:s}=t,l=this._clipboardHooks,c=[];if(l.some(S=>{var f;return c.push(S)&&((f=S.onBeforePaste)==null?void 0:f.call(S,{unitId:r,subUnitId:s,range:i}))===!1}))return c.forEach(S=>{var f;return(f=S.onAfterPaste)==null?void 0:f.call(S,!1)}),!1;const u=[],h=[];c.forEach(S=>{const f=e(S,{unitId:r,subUnitId:s,range:i});f&&(u.push(...f.redos),h.push(...f.undos))});const g=u.every(S=>this._commandService.executeCommand(S.id,S.params));return g&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId(),undoMutations:h,redoMutations:u}),g}async _pasteFiles(e,t){return this._executePaste((i,r)=>{var s;return(s=i.onPasteFiles)==null?void 0:s.call(i,r,e,{pasteType:t})})}async _pastePlainText(e,t){return this._executePaste((i,r)=>{var s;return(s=i.onPastePlainText)==null?void 0:s.call(i,r,e,{pasteType:t})})}_pasteUnrecognized(){return this._executePaste((e,t)=>{var i;return(i=e.onPasteUnrecognized)==null?void 0:i.call(e,t)})}async _pasteHTML(e,t){const i=bd(e);return i&&this._copyContentCache.get(i)?this._pasteInternal(i,t):this._pasteExternal(e,t)}async _pasteExternal(e,t){var h;const{rowProperties:i,colProperties:r,cellMatrix:s}=this._htmlToUSM.convert(e);if(!s)return!1;const l=this._getPastedRange(s);if(!l)return!1;const c=(h=this._univerInstanceService.getUniverSheetInstance(l.unitId))==null?void 0:h.getSheetBySheetId(l.subUnitId);if(!c)return!1;const d=c==null?void 0:c.getMergeData();return d.length&&d.some(S=>ar(S,l.pastedRange)&&!ea(l.pastedRange,S))?(this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1):this._pasteUSM({rowProperties:i,colProperties:r,cellMatrix:s},l,t)}async _pasteInternal(e,t){var M,A;const i=this._copyContentCache.get(e),{range:r,matrix:s,unitId:l,subUnitId:c}=i||{};if(!s||!i||!r||!l||!c)return!1;const{mapFunc:d}=vt([r]),u=(M=this._univerInstanceService.getUniverSheetInstance(l))==null?void 0:M.getSheetBySheetId(c),h=new a.ObjectMatrix;s.forValue((D,k,N)=>{const{row:H,col:V}=d(D,k),L=u==null?void 0:u.getCellRaw(H,V),W=u==null?void 0:u.getComposedCellStyleByCellData(H,V,L),U=pd(N);if(U.s=W,h.setValue(D,k,U),N.colSpan||N.rowSpan)for(let B=0;B<N.rowSpan;B++)for(let X=0;X<N.colSpan;X++){if(B===0&&X===0)continue;const z=D+B,Y=k+X;h.setValue(z,Y,{s:W})}});const g=this._getPastedRange(h);if(!g)return!1;const S=(A=this._univerInstanceService.getUniverSheetInstance(g.unitId))==null?void 0:A.getSheetBySheetId(g.subUnitId);if(!S)return!1;const f=S==null?void 0:S.getMergeData();if(f&&f.some(k=>ar(k,g.pastedRange)&&!ea(g.pastedRange,k)))return this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1;const v=this._univerInstanceService.getUnit(l);if(!v)return!1;const p=v.getSheetBySheetId(c);if(!p)return!1;const C=p.getColumnManager(),b=p.getRowManager(),E=[],R=[];if(r.cols.forEach(D=>{E.push({width:`${C.getColumnWidth(D)}`})}),r.rows.forEach(D=>{R.push({height:`${b.getRowHeight(D)}`})}),i.copyType===Ze.CUT){const D=g.pastedRange.rows[0],k=r.rows[r.rows.length-1]-r.rows[0]+D;g.pastedRange.rows=Array.from(new Array(k+1).keys()).slice(D)}const P=this._pasteUSM({cellMatrix:h,colProperties:E,rowProperties:R},g,t,{range:r,unitId:i.unitId,subUnitId:i.subUnitId,copyType:i.copyType,copyId:e});return i.copyType===Ze.CUT&&(this._copyContentCache.set(e,{...i,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),P}_pasteUSM(e,t,i,r){const{rowProperties:s,colProperties:l,cellMatrix:c}=e,{unitId:d,subUnitId:u,pastedRange:h}=t,g=this._clipboardHooks,S=[];if(g.some(P=>{var M;return S.push(P)&&((M=P.onBeforePaste)==null?void 0:M.call(P,{unitId:d,subUnitId:u,range:h}))===!1}))return S.forEach(P=>{var M;return(M=P.onAfterPaste)==null?void 0:M.call(P,!1)}),!1;if(!c)return!1;const v=r?{unitId:r.unitId,subUnitId:r.subUnitId,range:r.range}:null,p={copyType:(r==null?void 0:r.copyType)||Ze.COPY,copyId:r==null?void 0:r.copyId,pasteType:i};let C=[],b=[];const E=S.filter(P=>!P.specialPasteInfo&&P.id!==pe.DEFAULT_PASTE||i===P.id);if(E.forEach(P=>{var k,N,H;const M=(k=P.onPasteRows)==null?void 0:k.call(P,{range:h,unitId:d,subUnitId:u});M&&(C.push(...M.redos),b.push(...M.undos));const A=(N=P.onPasteColumns)==null?void 0:N.call(P,{range:h,unitId:d,subUnitId:u},l||[],{pasteType:i});A&&(C.push(...A.redos),b.push(...A.undos));const D=(H=P.onPasteCells)==null?void 0:H.call(P,v,{range:h,unitId:d,subUnitId:u},c,p);D&&(C.push(...D.redos),b.push(...D.undos))}),p.copyType===Ze.COPY){const P=this._getSetSelectionOperation(d,u,h,c,i);P&&C.push(P)}C=sr(C),b=sr(b),C=C.flatMap(P=>$s(P,{threshold:2e4,maxCellsPerChunk:1e4})),b=b.flatMap(P=>$s(P,{threshold:2e4,maxCellsPerChunk:1e4})),b.push({id:m.SetWorksheetActiveOperation.id,params:{unitId:t.unitId,subUnitId:t.subUnitId}}),this._logService.log("[SheetClipboardService]","pasting mutations",{undoMutationsInfo:b,redoMutationsInfo:C});const R=C.every(P=>this._commandService.syncExecuteCommand(P.id,P.params));if(R){const P=this._getPastedRangeAutoHeightMutation(d,u,h);P&&(this._commandService.syncExecuteCommand(P.redo.id,P.redo.params),C.push(P.redo),b.unshift(P.undo)),this._undoRedoService.pushUndoRedo({unitID:d,undoMutations:b,redoMutations:C}),this.updatePasteOptionsCache({target:{pastedRange:h,unitId:d,subUnitId:u},cellMatrix:c,rowProperties:s,colProperties:l,pasteType:i,source:r}),this.setShowMenu(!0)}return E.forEach(P=>{var M;return(M=P.onAfterPaste)==null?void 0:M.call(P,R)}),R}_getPastedRangeAutoHeightMutation(e,t,i){var p,C;const r=(p=this._univerInstanceService.getUnit(e,a.UniverInstanceType.UNIVER_SHEET))==null?void 0:p.getSheetBySheetId(t);if(!r)return null;const s=(C=this._renderManagerService.getRenderById(e))==null?void 0:C.with(T.SheetSkeletonManagerService).ensureSkeleton(t);if(!s)return null;const l=r.getRowManager(),c=r.getConfig().defaultRowHeight,{rows:d,cols:u}=i,h=d[0],g=d[d.length-1],S=u[0],f=u[u.length-1],v=[];for(let b=h;b<=g;b++)if(!l.getRow(b)){const R=s.calculateAutoHeightInRange([{startRow:b,endRow:b,startColumn:S,endColumn:f}]).filter(P=>P.autoHeight!==c);v.push(...R)}if(v.length>0){const b={unitId:e,subUnitId:t,rowsAutoHeightInfo:v};return{redo:{id:m.SetWorksheetRowAutoHeightMutation.id,params:b},undo:{id:m.SetWorksheetRowAutoHeightMutation.id,params:m.SetWorksheetRowAutoHeightMutationFactory(b,r)}}}return null}_getSetSelectionOperation(e,t,i,r,s){var P;const l=(P=this._univerInstanceService.getUniverSheetInstance(e))==null?void 0:P.getSheetBySheetId(t);if(!l)return null;const{rows:c,cols:d}=i,u=c[0],h=d[0],g=c[c.length-1],S=d[d.length-1],f={startRow:u,endRow:u,startColumn:h,endColumn:h},v=m.getPrimaryForRange(f,l),p=r.getValue(0,0),C=(p==null?void 0:p.rowSpan)||1,b=(p==null?void 0:p.colSpan)||1;if((s===pe.DEFAULT_PASTE||s===pe.SPECIAL_PASTE_BESIDES_BORDER||s===pe.SPECIAL_PASTE_FORMAT)&&(C>1||b>1)){const M={startRow:u,endRow:u+C-1,startColumn:h,endColumn:h+b-1};v.startRow=M.startRow,v.endRow=M.endRow,v.startColumn=M.startColumn,v.endColumn=M.endColumn,v.isMerged=!0,v.isMergedMainCell=!0}const R={unitId:e,subUnitId:t,selections:[{range:{startRow:u,endRow:g,startColumn:h,endColumn:S},primary:v,style:null}]};return{id:m.SetSelectionsOperation.id,params:R}}_getPastingTarget(){const e=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),t=e.getActiveSheet(),i=this._selectionManagerService.getCurrentLastSelection();return{unitId:e.getUnitId(),subUnitId:t==null?void 0:t.getSheetId(),selection:i}}_transformPastedData(e,t,i){const r=this._getPastingTarget(),{selection:s,unitId:l,subUnitId:c}=r;if(!c||!s)return null;const d=this._injector.invoke(H=>m.rangeToDiscreteRange(s.range,H,l,c));if(!d)return null;const{ranges:[u],mapFunc:h}=vt([d]),{startRow:g,startColumn:S,endRow:f,endColumn:v}=u,p=f-g+1,C=v-S+1,b=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),E=b==null?void 0:b.getActiveSheet();if(!E)return null;const P=E.getMergeData().filter(H=>d.rows.includes(H.startRow)&&d.cols.includes(H.startColumn)),M=P[0];let A=0,D=0,k=0,N=0;if(M&&(A=M.startRow,D=M.startColumn,k=M.endRow,N=M.endColumn),p%e===0&&C%t===0)if(P.length>0&&(p!==e||C!==t))if(A===d.rows[0]&&D===d.cols[0]&&k===d.rows[p-1]&&N===d.cols[C-1])if(Kd(i))for(let V=0;V<p;V++)for(let L=0;L<C;L++){const W=i.getValue(V%e,L%t);W&&i.setValue(V,L,W)}else i.forValue((V,L,W)=>{W.s=null,delete W.colSpan,delete W.rowSpan});else for(let H=0;H<p;H++)for(let V=0;V<C;V++){const L=i.getValue(H%e,V%t);L&&i.setValue(H,V,L)}else for(let H=0;H<p;H++)for(let V=0;V<C;V++){const L=i.getValue(H%e,V%t);L&&i.setValue(H,V,L)}else if(P.length>0){const{row:H,col:V}=h(g,S);if(this._topLeftCellsMatch(e,t,{topRow:H,leftCol:V})){const W=this._expandOrShrinkRowsCols(l,c,d,t,e);d.rows=W.rows,d.cols=W.cols}else{if(f>M.endRow||v>M.endColumn)return null;i.forValue((W,U,B)=>{B.s=null,delete B.colSpan,delete B.rowSpan})}}else{const H=this._expandOrShrinkRowsCols(l,c,d,t,e);d.rows=H.rows,d.cols=H.cols}return{pastedRange:d,unitId:l,subUnitId:c}}_getPastedRange(e){var E;const t=this._getPastingTarget(),{selection:i,unitId:r,subUnitId:s}=t;if(!s||!i)return null;const l=this._injector.invoke(R=>m.rangeToDiscreteRange(i.range,R,r,s));if(!l)return null;const{startColumn:c,endColumn:d,startRow:u,endRow:h}=e.getDataRange(),g=h-u+1,S=d-c+1;if(g<=0||S<=0)return null;const f=l.rows.length,v=l.cols.length,p=(E=this._univerInstanceService.getUniverSheetInstance(r))==null?void 0:E.getSheetBySheetId(s);if(!p)return null;const C=p==null?void 0:p.getMergeData();if(f%g===0&&v%S===0&&!(C==null?void 0:C.some(P=>ar(P,l)))){for(let P=0;P<f;P++)for(let M=0;M<v;M++){const A=e.getValue(P%g,M%S);A&&e.setValue(P,M,A)}return{pastedRange:l,unitId:r,subUnitId:s}}const b=this._expandOrShrinkRowsCols(r,s,l,S,g);return l.rows=b.rows,l.cols=b.cols,{pastedRange:l,unitId:r,subUnitId:s}}_expandOrShrinkRowsCols(e,t,i,r,s){const{rows:l,cols:c}=i,d=this._univerInstanceService.getUniverSheetInstance(e),u=d==null?void 0:d.getSheetBySheetId(t);let h,g;if(l.length>=s)h=l.slice(0,s);else{h=l.slice(0);let S=l[l.length-1]+1;for(;h.length<s;)u.getRowFiltered(S)||h.push(S),S++}if(c.length>=r)g=c.slice(0,r);else{g=c.slice(0);let S=c[c.length-1]+1;for(;g.length<r;)g.push(S),S++}return{rows:h,cols:g}}_topLeftCellsMatch(e,t,i){const r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=r==null?void 0:r.getActiveSheet();if(!s)return!1;const{topRow:l,leftCol:c}=i,d=Zd(l+e-1,c,c+t-1,s),u=Gd(c+t-1,l,l+e-1,s);return!d&&!u}removeMarkSelection(){this._copyMarkId&&(this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null)}_initUnitDisposed(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e&&this.copyContentCache().clearWithUnitId(e.getUnitId())}))}disposePasteOptionsCache(){this.setShowMenu(!1),this.updatePasteOptionsCache(null)}},T.SheetClipboardService=zd([He(0,a.ILogService),He(1,a.IUniverInstanceService),He(2,a.Inject(m.SheetsSelectionsService)),He(3,_.IClipboardInterfaceService),He(4,a.IUndoRedoService),He(5,a.ICommandService),He(6,Ot),He(7,_.INotificationService),He(8,_.IPlatformService),He(9,y.IRenderManagerService),He(10,a.Inject(a.ThemeService)),He(11,a.Inject(a.LocaleService)),He(12,a.Inject(a.ErrorService)),He(13,a.Inject(a.Injector))],T.SheetClipboardService);function ta(n){let o="";const e=n.getLength();return n.forRow((t,i)=>{const r=[];i.forEach(s=>{const l=n.getValue(t,s);if(l){const c=jd(l);r.push(c)}}),o+=r.join(" "),t!==e-1&&(o+=`
9
- `)}),o}function jd(n){return a.isNotNullOrUndefined(n.displayV)?n.displayV:a.extractPureTextFromCell(n)}function Zd(n,o,e,t){return t.getMergeData().some(i=>i.startRow<=n&&n<i.endRow&&o<=i.startColumn&&i.startColumn<=e)}function Gd(n,o,e,t){return t.getMergeData().some(i=>i.startColumn<=n&&n<i.endColumn&&o<=i.startRow&&i.startRow<=e)}function Kd(n){let o=0;return n.forValue((e,t,i)=>{if(i&&o++,o>1)return!1}),o>1}const lr=998,Xe={id:_.CopyCommand.id,name:"sheet.command.copy",type:a.CommandType.COMMAND,multi:!0,priority:lr,preconditions:jo,handler:async n=>n.get(We).copy()},Ct={id:_.CutCommand.id,name:"sheet.command.cut",type:a.CommandType.COMMAND,multi:!0,priority:lr,preconditions:jo,handler:async n=>n.get(We).cut()},Ye={id:_.PasteCommand.id,type:a.CommandType.COMMAND,multi:!0,name:"sheet.command.paste",priority:lr,preconditions:jo,handler:async(n,o)=>{const e=n.get(We),t=n.get(_.IClipboardInterfaceService);if(t.supportClipboard){const r=await t.read();if(r.length!==0)return e.paste(r[0],o==null?void 0:o.value)}const i=e.copyContentCache().getLastCopyId();return i?(console.warn("Since the current environment does not support the Clipboard API, we will use the internal copyId to paste the content."),e.pasteByCopyId(i,o==null?void 0:o.value)):!1}},ji={id:_.SheetPasteShortKeyCommandName,type:a.CommandType.COMMAND,handler:async(n,o)=>{const e=n.get(We),{htmlContent:t,textContent:i,files:r}=o;return e.legacyPaste(t,i,r),!0}},ln={id:"sheet.command.paste-value",type:a.CommandType.COMMAND,handler:async n=>n.get(a.ICommandService).executeCommand(Ye.id,{value:pe.SPECIAL_PASTE_VALUE})},cn={id:"sheet.command.paste-format",type:a.CommandType.COMMAND,handler:async n=>n.get(a.ICommandService).executeCommand(Ye.id,{value:pe.SPECIAL_PASTE_FORMAT})},At={id:"sheet.command.paste-col-width",type:a.CommandType.COMMAND,handler:async n=>n.get(a.ICommandService).executeCommand(Ye.id,{value:pe.SPECIAL_PASTE_COL_WIDTH})},dn={id:"sheet.command.paste-besides-border",type:a.CommandType.COMMAND,handler:async n=>n.get(a.ICommandService).executeCommand(Ye.id,{value:pe.SPECIAL_PASTE_BESIDES_BORDER})},na={id:"sheet.command.optional-paste",type:a.CommandType.COMMAND,handler:async(n,{type:o})=>n.get(We).rePasteWithPasteType(o)},un={type:a.CommandType.COMMAND,id:"sheet.command.delete-range-move-left-confirm",handler:async n=>{const o=n.get(a.IConfirmService),e=n.get(a.ICommandService),t=n.get(a.LocaleService),i=n.get(m.SheetsSelectionsService),r=n.get(a.IUniverInstanceService),s=i.getCurrentSelections();if(!s)return!1;const l=m.getSheetCommandTarget(r);if(!l)return!1;const{worksheet:c}=l;let d=s[0].range;if(!d)return!1;d={...d,endColumn:c.getColumnCount()-1};const u=S=>S.endRow-S.startRow;return!c.getMergeData().find(S=>{const f=a.Rectangle.getIntersects(S,d);return f?u(S)>u(f):!1})||await o.confirm({id:un.id,title:{title:t.t("merge.confirm.warning")},children:{title:t.t("merge.confirm.dismantleMergeCellWarning")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(m.DeleteRangeMoveLeftCommand.id):!0}},Dt={type:a.CommandType.COMMAND,id:"sheet.command.delete-range-move-up-confirm",handler:async n=>{const o=n.get(a.IConfirmService),e=n.get(a.ICommandService),t=n.get(a.LocaleService),i=n.get(m.SheetsSelectionsService),r=n.get(a.IUniverInstanceService),s=i.getCurrentSelections();if(!s)return!1;const l=m.getSheetCommandTarget(r);if(!l)return!1;const{worksheet:c}=l;let d=s[0].range;if(!d)return!1;d={...d,endRow:c.getRowCount()-1};for(let S=d.startRow;S<=d.endRow;S++)if(c.getRowFiltered(S)&&await o.confirm({id:Dt.id,title:{title:t.t("filter.confirm.error")},children:{title:t.t("filter.confirm.notAllowedToInsertRange")},confirmText:t.t("button.confirm")}))return!1;const u=S=>S.endColumn-S.startColumn;return!c.getMergeData().find(S=>{const f=a.Rectangle.getIntersects(S,d);return f?u(S)>u(f):!1})||await o.confirm({id:Dt.id,title:{title:t.t("merge.confirm.warning")},children:{title:t.t("merge.confirm.dismantleMergeCellWarning")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(m.DeleteRangeMoveUpCommand.id):!0}};function _t(n,o,e,t,i=!0,r=1,s=!0){let l={...n};t==null&&(t={startRow:0,endRow:e.getRowCount()-1,startColumn:0,endColumn:e.getColumnCount()-1});let c;switch(o){case a.Direction.UP:for(c=n.startRow-r;c>-1&&!e.getRowVisible(c);)c-=1;c>=t.startRow?(l.startRow=c,l.endRow=c):s&&(l.startRow=t.endRow,l.endRow=t.endRow,i&&(l=_t(l,a.Direction.LEFT,e,t,!1)));break;case a.Direction.DOWN:for(c=n.endRow+r;c<e.getRowCount()&&!e.getRowVisible(c);)c+=1;c<=t.endRow?(l.startRow=c,l.endRow=c):s&&(l.startRow=t.startRow,l.endRow=t.startRow,i&&(l=_t(l,a.Direction.RIGHT,e,t,!1)));break;case a.Direction.LEFT:for(c=n.startColumn-r;c>-1&&!e.getColVisible(c);)c-=1;c>=t.startColumn?(l.startColumn=c,l.endColumn=c):s&&(l.startColumn=t.endColumn,l.endColumn=t.endColumn,i&&(l=_t(l,a.Direction.UP,e,t,!1)));break;case a.Direction.RIGHT:for(c=n.endColumn+r;c<e.getColumnCount()&&!e.getColVisible(c);)c+=1;c<=t.endColumn?(l.startColumn=c,l.endColumn=c):s&&(l.startColumn=t.startColumn,l.endColumn=t.startColumn,i&&(l=_t(l,a.Direction.DOWN,e,t,!1)));break}return l}function cr(n,o,e){const t={...n},{startRow:i,startColumn:r,endRow:s,endColumn:l}=$n(n,o,e);let c=ei(e,i,r,s,l).hasValue,d=!0,u=!0;for(;u;){if(a.Direction.UP===o){let h=t.startRow-1;for(;h>-1&&!e.getRowVisible(h);)h-=1;if(h===-1){u=!1;break}const{hasValue:g,matrix:S}=ei(e,h,t.startColumn,h,t.endColumn);if(c&&!g&&!d){u=!1;break}else{if(S.getLength()!==0){let f=h;S.forValue(v=>{f=Math.min(v,f)}),t.startRow=f}else t.startRow=h;if(t.endRow=t.startRow,!c&&g){u=!1;break}c=g,d=!1}}if(a.Direction.DOWN===o){let h=t.endRow+1;for(;h<e.getRowCount()&&!e.getRowVisible(h);)h+=1;if(h===e.getRowCount()){u=!1;break}const{hasValue:g,matrix:S}=ei(e,h,t.startColumn,h,t.endColumn);if(c&&!g&&!d){u=!1;break}else{if(S.getLength()!==0){let f=h;S.forValue((v,p,C)=>{f=Math.max(v+(C.rowSpan||1)-1,f)}),t.endRow=f}else t.endRow=h;if(t.startRow=t.endRow,!c&&g){u=!1;break}c=g,d=!1}}if(a.Direction.LEFT===o){let h=t.startColumn-1;for(;h>-1&&!e.getColVisible(h);)h-=1;if(h===-1){u=!1;break}const{hasValue:g,matrix:S}=ei(e,t.startRow,h,t.endRow,h);if(c&&!g&&!d){u=!1;break}else{if(S.getLength()!==0){let f=h;S.forValue((v,p)=>{f=Math.min(p,f)}),t.startColumn=f}else t.startColumn=h;if(t.endColumn=t.startColumn,!c&&g){u=!1;break}c=g,d=!1}}if(a.Direction.RIGHT===o){let h=t.endColumn+1;for(;h<e.getColumnCount()&&!e.getColVisible(h);)h+=1;if(h===e.getColumnCount()){u=!1;break}const{hasValue:g,matrix:S}=ei(e,t.startRow,h,t.endRow,h);if(c&&!g&&!d){u=!1;break}else{if(S.getLength()!==0){let f=h;S.forValue((v,p,C)=>{f=Math.max(p+(C.colSpan||1)-1,f)}),t.endColumn=f}else t.endColumn=h;if(t.startColumn=t.endColumn,!c&&g){u=!1;break}c=g,d=!1}}}return m.alignToMergedCellsBorders(t,e,!0)}function ia(n,o,e){return _t(n,o,e,void 0,!1,1,!1)}function qd(n,o,e){const t=cr(n,o,e);return m.alignToMergedCellsBorders(a.Rectangle.union(t,n),e,!0)}function Qd(n,o,e){const t=ia(n,o,e),i={startRow:Math.min(n.startRow,t.startRow),startColumn:Math.min(n.startColumn,t.startColumn),endRow:Math.max(n.endRow,t.endRow),endColumn:Math.max(n.endColumn,t.endColumn)};return m.alignToMergedCellsBorders(a.Rectangle.union(n,i),e)}function Jd(n,o,e,t){const i=a.getReverseDirection(e),r=cr($n(n,i,t),e,t);return e===a.Direction.UP&&r.startRow<=n.startRow?m.alignToMergedCellsBorders({...o,startColumn:n.startColumn,endColumn:n.endColumn},t,!0):e===a.Direction.DOWN&&r.endRow>=n.endRow?m.alignToMergedCellsBorders({...o,startColumn:n.startColumn,endColumn:n.endColumn},t,!0):e===a.Direction.LEFT&&r.startColumn<=n.startColumn?m.alignToMergedCellsBorders({...o,startRow:n.startRow,endRow:n.endRow},t,!0):e===a.Direction.RIGHT&&r.endColumn>=n.endColumn?m.alignToMergedCellsBorders({...o,startRow:n.startRow,endRow:n.endRow},t,!0):a.Rectangle.union(a.Rectangle.clone(o),r)}function $d(n,o,e){const t=a.getReverseDirection(o),i=$n(n,t,e),r=$n(n,o,e),s=ia(i,o,e);return m.alignToMergedCellsBorders(a.Rectangle.union(r,s),e,!1)}function oa(n){return{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:a.RANGE_TYPE.ALL}}function $n(n,o,e){let t;switch(o){case a.Direction.UP:t={startRow:n.startRow,startColumn:n.startColumn,endRow:n.startRow,endColumn:n.endColumn,rangeType:a.RANGE_TYPE.NORMAL};break;case a.Direction.DOWN:t={startRow:n.endRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:a.RANGE_TYPE.NORMAL};break;case a.Direction.LEFT:t={startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.startColumn,rangeType:a.RANGE_TYPE.NORMAL};break;case a.Direction.RIGHT:t={startRow:n.startRow,startColumn:n.endColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:a.RANGE_TYPE.NORMAL};break;default:throw new Error("Invalid direction")}return m.alignToMergedCellsBorders(t,e,!1)}function ei(n,o,e,t,i){let r=!1;const s=n.getMatrixWithMergedCells(o,e,t,i).forValue((l,c,d)=>{if(tu(d))return r=!0,!1});return{hasValue:r,matrix:s}}function dr(n,o,e){const t=a.Rectangle.clone(n);if(o==null)return t;switch(e){case a.Direction.UP:case a.Direction.DOWN:t.startColumn=t.endColumn=o.actualColumn;break;case a.Direction.LEFT:case a.Direction.RIGHT:t.startRow=t.endRow=o.actualRow;break}return t}function eu(n,o,e){var l,c,d,u;const{primary:t,range:i}=n,r=a.Rectangle.clone(i);switch(o){case a.Direction.UP:case a.Direction.DOWN:r.startRow=(l=t==null?void 0:t.startRow)!=null?l:i.startRow,r.endRow=(c=t==null?void 0:t.endRow)!=null?c:i.startRow;break;case a.Direction.LEFT:case a.Direction.RIGHT:r.startColumn=(d=t==null?void 0:t.startColumn)!=null?d:i.startColumn,r.endColumn=(u=t==null?void 0:t.endColumn)!=null?u:i.startColumn;break}const s=$n(r,o,e);switch(o){case a.Direction.DOWN:return i.startRow<s.startRow;case a.Direction.UP:return i.endRow>s.endRow;case a.Direction.LEFT:return s.endColumn<i.endColumn;case a.Direction.RIGHT:return s.startColumn>i.startColumn}}function ra(n,o){let e=n[0].startRow,t=n[0].endRow;n.forEach(r=>{const{startRow:s,endRow:l}=r;e=Math.min(e,s),t=Math.max(t,l)});const i=new Array(t-e+1).fill(!1);return o.forEach(r=>{const{startRow:s,endRow:l}=r;for(let c=Math.max(s,e);c<=Math.min(l,t);c++)i[c-e]=!0}),n.every(r=>{const{startRow:s,endRow:l}=r;for(let c=s;c<=l;c++)if(!i[c-e])return!1;return!0})}function sa(n,o){let e=n[0].startColumn,t=n[0].endColumn;n.forEach(r=>{const{startColumn:s,endColumn:l}=r;e=Math.min(e,s),t=Math.max(t,l)});const i=new Array(t-e+1).fill(!1);return o.forEach(r=>{const{startColumn:s,endColumn:l}=r;for(let c=Math.max(s,e);c<=Math.min(l,t);c++)i[c-e]=!0}),n.every(r=>{const{startColumn:s,endColumn:l}=r;for(let c=s;c<=l;c++)if(!i[c-e])return!1;return!0})}function tu(n){return n.v!==void 0&&n.v!==null&&n.v!==""||n.p!==void 0}const ti={id:"sheet.command.hide-row-confirm",type:a.CommandType.COMMAND,handler:async n=>{var c;const e=(c=n.get(m.SheetsSelectionsService).getCurrentSelections())==null?void 0:c.map(d=>d.range);if(!(e!=null&&e.length))return!1;const t=n.get(a.ICommandService),i=n.get(a.IUniverInstanceService),r=m.getSheetCommandTarget(i);if(!r)return!1;const{worksheet:s}=r,l=s.getVisibleRows();if(ra(l,e)){const d=n.get(a.IConfirmService),u=n.get(a.LocaleService);return await d.confirm({id:"sheet.confirm.hide-row",title:{title:u.t("info.problem")},children:{title:u.t("rightClick.hideAllRowsAlert")},cancelText:u.t("button.cancel"),confirmText:u.t("button.confirm")}),!1}return await t.executeCommand(m.SetRowHiddenCommand.id),!0}},ni={id:"sheet.command.hide-col-confirm",type:a.CommandType.COMMAND,handler:async n=>{var c;const e=(c=n.get(m.SheetsSelectionsService).getCurrentSelections())==null?void 0:c.map(d=>d.range);if(!(e!=null&&e.length))return!1;const t=n.get(a.ICommandService),i=n.get(a.IUniverInstanceService),r=m.getSheetCommandTarget(i);if(!r)return!1;const{worksheet:s}=r,l=s.getVisibleCols();if(sa(l,e)){const d=n.get(a.IConfirmService),u=n.get(a.LocaleService);return await d.confirm({id:"sheet.confirm.hide-col",title:{title:u.t("info.problem")},children:{title:u.t("rightClick.hideAllColumnsAlert")},cancelText:u.t("button.cancel"),confirmText:u.t("button.confirm")}),!1}return await t.executeCommand(m.SetColHiddenCommand.id),!0}};function It(n){var h,g;const o=n.get(a.IUniverInstanceService),e=n.get(Te.DocSelectionManagerService),i=(h=n.get($.IEditorService).getFocusId())!=null?h:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,r=o.getUnit(i,a.UniverInstanceType.UNIVER_DOC),s=e.getActiveTextRange();if(r==null||s==null)return null;const l=(g=r.getBody())==null?void 0:g.textRuns;if(l==null)return;const{startOffset:c,endOffset:d}=s;return l.find(({st:S,ed:f})=>c>=S&&d<=f)}const kt={type:a.CommandType.COMMAND,id:"sheet.command.set-range-bold",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatBoldCommand.id):o.executeCommand(m.SetBoldCommand.id)}},Nt={type:a.CommandType.COMMAND,id:"sheet.command.set-range-italic",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatItalicCommand.id):o.executeCommand(m.SetItalicCommand.id)}},Ht={type:a.CommandType.COMMAND,id:"sheet.command.set-range-underline",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatUnderlineCommand.id):o.executeCommand(m.SetUnderlineCommand.id)}},Vt={type:a.CommandType.COMMAND,id:"sheet.command.set-range-stroke",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatStrikethroughCommand.id):o.executeCommand(m.SetStrikeThroughCommand.id)}},ur={type:a.CommandType.COMMAND,id:"sheet.command.set-range-subscript",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatSubscriptCommand.id):!1}},hr={type:a.CommandType.COMMAND,id:"sheet.command.set-range-superscript",handler:async n=>{const o=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?o.executeCommand($.SetInlineFormatSuperscriptCommand.id):!1}},ii={type:a.CommandType.COMMAND,id:"sheet.command.set-range-fontsize",handler:async(n,o)=>{const e=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?e.executeCommand($.SetInlineFormatFontSizeCommand.id,o):e.executeCommand(m.SetFontSizeCommand.id,o)}},Zi={type:a.CommandType.COMMAND,id:"sheet.command.set-range-font-increase",handler:async n=>{var h,g,S,f;const o=n.get(a.IUniverInstanceService),e=n.get(a.ICommandService),i=n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED),r=n.get(m.SheetsSelectionsService),s=a.DEFAULT_STYLES.fs,c=o.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),d=(h=r.getCurrentLastSelection())==null?void 0:h.primary,u={value:s};if(i){const v=It(n);if(v!=null){const p=(S=(g=v.ts)==null?void 0:g.fs)!=null?S:s;u.value=p>=400?400:p+1}return e.executeCommand($.SetInlineFormatFontSizeCommand.id,u)}if(d!=null){const p=(f=c.getComposedCellStyle(d.startRow,d.startColumn).fs)!=null?f:s;return u.value=p>=400?400:p+1,e.executeCommand(m.SetFontSizeCommand.id,u)}return!1}},Gi={type:a.CommandType.COMMAND,id:"sheet.command.set-range-font-decrease",handler:async n=>{var h,g,S,f;const o=n.get(a.IUniverInstanceService),e=n.get(a.ICommandService),i=n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED),r=n.get(m.SheetsSelectionsService),s=a.DEFAULT_STYLES.fs,c=o.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),d=(h=r.getCurrentLastSelection())==null?void 0:h.primary,u={value:s};if(i){const v=It(n);if(v!=null){const p=(S=(g=v.ts)==null?void 0:g.fs)!=null?S:s;u.value=p<=6?6:p-1}return e.executeCommand($.SetInlineFormatFontSizeCommand.id,u)}if(d!=null){const p=(f=c.getComposedCellStyle(d.startRow,d.startColumn).fs)!=null?f:s;return u.value=p<=6?6:p-1,e.executeCommand(m.SetFontSizeCommand.id,u)}return!1}},Wt={type:a.CommandType.COMMAND,id:"sheet.command.set-range-font-family",handler:async(n,o)=>{const e=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?e.executeCommand($.SetInlineFormatFontFamilyCommand.id,o):e.executeCommand(m.SetFontFamilyCommand.id,o)}},hn={type:a.CommandType.COMMAND,id:"sheet.command.set-range-text-color",handler:async(n,o)=>{const e=n.get(a.ICommandService);return n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)?e.executeCommand($.SetInlineFormatTextColorCommand.id,o):e.executeCommand(m.SetTextColorCommand.id,o)}},Ki={type:a.CommandType.COMMAND,id:"sheet.command.reset-range-text-color",handler:async n=>{const o=n.get(a.ICommandService),t=n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED),i=n.get(a.ThemeService);return t?o.executeCommand($.SetInlineFormatTextColorCommand.id,{value:null}):o.executeCommand(m.SetTextColorCommand.id,{value:i.getColorFromTheme("gray.900")})}},Lt={type:a.CommandType.COMMAND,id:"sheet.command.insert-range-move-down-confirm",handler:async n=>{const o=n.get(a.IConfirmService),e=n.get(a.ICommandService),t=n.get(a.LocaleService),i=n.get(m.SheetsSelectionsService),r=n.get(a.IUniverInstanceService),s=i.getCurrentSelections();if(!s)return!1;const l=m.getSheetCommandTarget(r);if(!l)return!1;const{worksheet:c}=l;let d=s[0].range;if(!d)return!1;d={...d,endRow:c.getRowCount()-1};for(let S=d.startRow;S<=d.endRow;S++)if(c.getRowFiltered(S)&&await o.confirm({id:Lt.id,title:{title:t.t("filter.confirm.error")},children:{title:t.t("filter.confirm.notAllowedToInsertRange")},confirmText:t.t("button.confirm")}))return!1;const u=S=>S.endColumn-S.startColumn;return!c.getMergeData().find(S=>{const f=a.Rectangle.getIntersects(S,d);return f?u(S)>u(f):!1})||await o.confirm({id:Lt.id,title:{title:t.t("merge.confirm.warning")},children:{title:t.t("merge.confirm.dismantleMergeCellWarning")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(m.InsertRangeMoveDownCommand.id):!0}},mn={type:a.CommandType.COMMAND,id:"sheet.command.insert-range-move-right-confirm",handler:async n=>{const o=n.get(a.IConfirmService),e=n.get(a.ICommandService),t=n.get(a.LocaleService),i=n.get(m.SheetsSelectionsService),r=n.get(a.IUniverInstanceService),s=i.getCurrentSelections();if(!s)return!1;const l=m.getSheetCommandTarget(r);if(!l)return!1;const{worksheet:c}=l;let d=s[0].range;if(!d)return!1;d={...d,endColumn:c.getColumnCount()-1};const u=S=>S.endRow-S.startRow;return!c.getMergeData().find(S=>{const f=a.Rectangle.getIntersects(S,d);return f?u(S)>u(f):!1})||await o.confirm({id:mn.id,title:{title:t.t("merge.confirm.warning")},children:{title:t.t("merge.confirm.dismantleMergeCellWarning")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(m.InsertRangeMoveRightCommand.id):!0}};var aa=(n=>(n[n.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",n[n.UNIVER_DOC=1]="UNIVER_DOC",n[n.UNIVER_SHEET=2]="UNIVER_SHEET",n[n.UNIVER_SLIDE=3]="UNIVER_SLIDE",n[n.UNIVER_PROJECT=4]="UNIVER_PROJECT",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(aa||{}),re=(n=>(n[n.View=0]="View",n[n.Edit=1]="Edit",n[n.ManageCollaborator=2]="ManageCollaborator",n[n.Print=3]="Print",n[n.Duplicate=4]="Duplicate",n[n.Comment=5]="Comment",n[n.Copy=6]="Copy",n[n.Share=7]="Share",n[n.Export=8]="Export",n[n.MoveWorksheet=9]="MoveWorksheet",n[n.DeleteWorksheet=10]="DeleteWorksheet",n[n.HideWorksheet=11]="HideWorksheet",n[n.RenameWorksheet=12]="RenameWorksheet",n[n.CreateWorksheet=13]="CreateWorksheet",n[n.SetWorksheetStyle=14]="SetWorksheetStyle",n[n.EditWorksheetCell=15]="EditWorksheetCell",n[n.InsertHyperlink=16]="InsertHyperlink",n[n.Sort=17]="Sort",n[n.Filter=18]="Filter",n[n.PivotTable=19]="PivotTable",n[n.FloatImg=20]="FloatImg",n[n.History=21]="History",n[n.RwHgtClWdt=22]="RwHgtClWdt",n[n.ViemRwHgtClWdt=23]="ViemRwHgtClWdt",n[n.ViewFilter=24]="ViewFilter",n[n.MoveSheet=25]="MoveSheet",n[n.DeleteSheet=26]="DeleteSheet",n[n.HideSheet=27]="HideSheet",n[n.CopySheet=28]="CopySheet",n[n.RenameSheet=29]="RenameSheet",n[n.CreateSheet=30]="CreateSheet",n[n.SelectProtectedCells=31]="SelectProtectedCells",n[n.SelectUnProtectedCells=32]="SelectUnProtectedCells",n[n.SetCellStyle=33]="SetCellStyle",n[n.SetCellValue=34]="SetCellValue",n[n.SetRowStyle=35]="SetRowStyle",n[n.SetColumnStyle=36]="SetColumnStyle",n[n.InsertRow=37]="InsertRow",n[n.InsertColumn=38]="InsertColumn",n[n.DeleteRow=39]="DeleteRow",n[n.DeleteColumn=40]="DeleteColumn",n[n.EditExtraObject=41]="EditExtraObject",n[n.Delete=42]="Delete",n[n.RecoverHistory=43]="RecoverHistory",n[n.ViewHistory=44]="ViewHistory",n[n.CreatePermissionObject=45]="CreatePermissionObject",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(re||{}),Le=(n=>(n[n.Reader=0]="Reader",n[n.Editor=1]="Editor",n[n.Owner=2]="Owner",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(Le||{}),at=(n=>(n[n.Unkonwn=0]="Unkonwn",n[n.Workbook=1]="Workbook",n[n.Worksheet=2]="Worksheet",n[n.SelectRange=3]="SelectRange",n[n.Document=4]="Document",n[n.Slide=5]="Slide",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(at||{}),Ge=(n=>(n[n.SomeCollaborator=0]="SomeCollaborator",n[n.AllCollaborator=1]="AllCollaborator",n[n.OneSelf=2]="OneSelf",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(Ge||{});const oi="UNIVER_SHEET_PERMISSION_PANEL",ri="UNIVER_SHEET_PERMISSION_USER_PART",la="UNIVER_SHEET_PERMISSION_USER_DIALOG",ca="UNIVER_SHEET_PERMISSION_DIALOG",qi="UNIVER_SHEET_PERMISSION_USER_DIALOG_ID",Qi="UNIVER_SHEET_PERMISSION_DIALOG_ID",Ji={[re.Copy]:"Copy",[re.SetCellStyle]:"SetCellStyle",[re.SetCellValue]:"SetCellValue",[re.SetRowStyle]:"SetRowStyle",[re.SetColumnStyle]:"SetColumnStyle",[re.InsertRow]:"InsertRow",[re.InsertColumn]:"InsertColumn",[re.InsertHyperlink]:"InsertHyperlink",[re.DeleteRow]:"DeleteRow",[re.DeleteColumn]:"DeleteColumn",[re.Sort]:"Sort",[re.Filter]:"Filter",[re.PivotTable]:"PivotTable",[re.EditExtraObject]:"EditExtraObject"},nu=[re.Copy,re.SetCellStyle,re.SetCellValue,re.SetRowStyle,re.SetColumnStyle,re.InsertRow,re.InsertColumn,re.InsertHyperlink,re.DeleteRow,re.DeleteColumn,re.Sort,re.Filter,re.PivotTable,re.EditExtraObject,re.View],da="sheet-permission-menu-icon",iu="sheet-permission-delete-icon",ou="sheet-permission-edit-icon",ru="sheet-permission-check-icon",ua="sheet-permission-lock-icon",su={unitId:"",subUnitId:"",permissionId:"",unitType:m.UnitObject.SelectRange,id:"",ranges:[],viewState:m.ViewStateEnum.OthersCanView,editState:m.EditStateEnum.OnlyMe};class xt{constructor(){w(this,"_rule",su);w(this,"_visible",!1)}setVisible(o){this._visible=o}getVisible(){return this._visible}reset(){this.setVisible(!1)}}class bt{constructor(){w(this,"_userList",[]);w(this,"_userList$",new O.BehaviorSubject(this._userList));w(this,"userList$",this._userList$.asObservable());w(this,"_oldCollaboratorList",[]);w(this,"_selectUserList",[]);w(this,"_selectUserList$",new O.BehaviorSubject(this._selectUserList));w(this,"selectUserList$",this._selectUserList$.asObservable())}get userList(){return this._userList}setCanEditUserList(o){this._userList=o,this._userList$.next(o)}reset(){this._userList=[],this._oldCollaboratorList=[],this._selectUserList=[],this._selectUserList$.next([])}get oldCollaboratorList(){return this._oldCollaboratorList}setOldCollaboratorList(o){this._oldCollaboratorList=o}get selectUserList(){return this._selectUserList}setSelectUserList(o){this._selectUserList=o,this._selectUserList$.next(o)}}const Ke={type:a.CommandType.OPERATION,id:"sheet-permission.operation.openPanel",async handler(n,o={}){const e=n.get(_.ISidebarService),t=n.get(xt),i=n.get(bt),{showDetail:r=!0,fromSheetBar:s=!1,rule:l,oldRule:c}=o,d={header:{title:"permission.panel.title"},children:{label:oi,showDetail:r,fromSheetBar:s,rule:l,oldRule:c},width:330,onClose:()=>{t.reset(),i.reset()}};return t.setVisible(!0),e.open(d),!0}},si={type:a.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-toolbar",async handler(n){return await n.get(a.ICommandService).executeCommand(Ke.id,{showDetail:!0}),!0}},Ut={type:a.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-context-menu",async handler(n){return await n.get(a.ICommandService).executeCommand(Ke.id,{showDetail:!0}),!0}},Bt={type:a.CommandType.COMMAND,id:"sheet.command.view-sheet-permission-from-context-menu",async handler(n){return await n.get(a.ICommandService).executeCommand(Ke.id,{showDetail:!1}),!0}},ai={type:a.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-sheet-bar",async handler(n){return await n.get(a.ICommandService).executeCommand(Ke.id,{fromSheetBar:!0,showDetail:!0}),!0}},li={type:a.CommandType.COMMAND,id:"sheet.command.view-sheet-permission-from-sheet-bar",async handler(n){return await n.get(a.ICommandService).executeCommand(Ke.id,{showDetail:!1}),!0}},Ft={type:a.CommandType.COMMAND,id:"sheet.command.delete-range-protection-from-context-menu",async handler(n){var h;const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(a.IUndoRedoService),i=n.get(m.SheetsSelectionsService),r=n.get(m.WorksheetProtectionRuleModel),s=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),l=s.getActiveSheet(),c=s.getUnitId(),d=l.getSheetId(),u=r.getRule(c,d);if(u!=null&&u.permissionId)return o.executeCommand(m.DeleteWorksheetProtectionCommand.id,{unitId:c,subUnitId:d,rule:u});{const g=(h=i.getCurrentLastSelection())==null?void 0:h.range;if(!g)return!1;const v=n.get(m.RangeProtectionRuleModel).getSubunitRuleList(c,d).find(p=>p.ranges.some(C=>a.Rectangle.intersects(C,g)));if(v){const p={unitId:c,subUnitId:d,ruleIds:[v.id]};return await o.executeCommand(m.DeleteRangeProtectionMutation.id,p)&&t.pushUndoRedo({unitID:c,redoMutations:[{id:m.DeleteRangeProtectionMutation.id,params:p}],undoMutations:[{id:m.AddRangeProtectionMutation.id,params:{unitId:c,subUnitId:d,rules:[v]}}]}),!0}else return!1}}},zt={type:a.CommandType.COMMAND,id:"sheet.command.set-range-protection-from-context-menu",async handler(n){var u;const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(m.WorksheetProtectionRuleModel),r=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet(),l=r.getUnitId(),c=s.getSheetId(),d=i.getRule(l,c);if(d!=null&&d.permissionId){const h={...d,unitId:l,subUnitId:c,ranges:[]};return await o.executeCommand(Ke.id,{showDetail:!0,rule:a.Tools.deepClone(h),oldRule:a.Tools.deepClone(h)}),!0}else{const h=(u=t.getCurrentLastSelection())==null?void 0:u.range;if(!h)return!1;const f=n.get(m.RangeProtectionRuleModel).getSubunitRuleList(l,c).find(v=>{var p;return(p=v==null?void 0:v.ranges)==null?void 0:p.some(C=>a.Rectangle.intersects(C,h))});if(f){const v={...f,unitId:l,subUnitId:c};return await o.executeCommand(Ke.id,{showDetail:!0,rule:a.Tools.deepClone(v),oldRule:a.Tools.deepClone(v)}),!0}else return!1}}},gn={id:"sheet.command.remove-row-confirm",type:a.CommandType.COMMAND,handler:async(n,o)=>{var d;const e=n.get(m.SheetsSelectionsService);let t=o==null?void 0:o.range;if(t||(t=(d=e.getCurrentLastSelection())==null?void 0:d.range),!t)return!1;const i=n.get(a.ICommandService),r=n.get(a.IUniverInstanceService),s=m.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:l}=s,c=l.getVisibleRows();if(ra(c,[t])){const u=n.get(a.IConfirmService),h=n.get(a.LocaleService);return await u.confirm({id:"sheet.confirm.remove-row",title:{title:h.t("info.problem")},children:{title:h.t("rightClick.deleteAllRowsAlert")},cancelText:h.t("button.cancel"),confirmText:h.t("button.confirm")}),!1}return await i.executeCommand(m.RemoveRowCommand.id,{range:t}),!0}},Sn={id:"sheet.command.remove-col-confirm",type:a.CommandType.COMMAND,handler:async(n,o)=>{var d;const e=n.get(m.SheetsSelectionsService);let t=o==null?void 0:o.range;if(t||(t=(d=e.getCurrentLastSelection())==null?void 0:d.range),!t)return!1;const i=n.get(a.ICommandService),r=n.get(a.IUniverInstanceService),s=m.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:l}=s,c=l.getVisibleCols();if(sa(c,[t])){const u=n.get(a.IConfirmService),h=n.get(a.LocaleService);return await u.confirm({id:"sheet.confirm.remove-col",title:{title:h.t("info.problem")},children:{title:h.t("rightClick.deleteAllColumnsAlert")},cancelText:h.t("button.cancel"),confirmText:h.t("button.confirm")}),!1}return await i.executeCommand(m.RemoveColCommand.id,{range:t}),!0}},ci={id:"sheet.command.remove-sheet-confirm",type:a.CommandType.COMMAND,handler:async(n,o)=>{const{subUnitId:e}=o,t=n.get(a.IConfirmService),i=n.get(a.ICommandService),r=n.get(a.LocaleService),s=n.get(a.IConfigService),l=n.get(a.IUniverInstanceService),c=m.getSheetCommandTarget(l,{subUnitId:e});if(!c)return!1;const{worksheet:d}=c,u=s.getConfig(m.SHEETS_PLUGIN_CONFIG_KEY),h={...m.defaultLargeSheetOperationConfig,...u==null?void 0:u.largeSheetOperation},S=m.countCells(d.getCellMatrix())>=h.largeSheetCellCountThreshold;return await t.confirm({id:"sheet.confirm.remove-sheet",title:{title:r.t("sheetConfig.deleteSheet")},children:{title:S?r.t("sheetConfig.deleteLargeSheetContent"):r.t("sheetConfig.deleteSheetContent")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")})?(await i.executeCommand(m.RemoveSheetCommand.id,{subUnitId:e}),!0):!1}};var au=Object.getOwnPropertyDescriptor,lu=(n,o,e,t)=>{for(var i=t>1?void 0:t?au(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},fn=(n,o)=>(e,t)=>o(e,t,n),xe=(n=>(n[n.OFF=0]="OFF",n[n.ONCE=1]="ONCE",n[n.INFINITE=2]="INFINITE",n))(xe||{});const qe=a.createIdentifier("univer.format-painter-service");let $i=class extends a.Disposable{constructor(o,e,t,i,r,s){super();w(this,"status$");w(this,"_selectionFormat");w(this,"_markId",null);w(this,"_status$");w(this,"_defaultHook",null);w(this,"_extendHooks",[]);this._selectionManagerService=o,this._themeService=e,this._markSelectionService=t,this._logService=i,this._commandService=r,this._undoRedoService=s,this._status$=new O.BehaviorSubject(0),this.status$=this._status$.asObservable(),this._selectionFormat={styles:new a.ObjectMatrix,merges:[]}}addHook(o){var e,t,i;o.isDefaultHook&&((e=o.priority)!=null?e:0)>((i=(t=this._defaultHook)==null?void 0:t.priority)!=null?i:-1)?this._defaultHook=o:(this._extendHooks.push(o),this._extendHooks.sort((r,s)=>(r.priority||0)-(s.priority||0)))}getHooks(){return this._defaultHook?[this._defaultHook,...this._extendHooks]:this._extendHooks}setStatus(o){this._updateRangeMark(o),this._status$.next(o),this.getHooks().forEach(t=>{t.onStatusChange!==void 0&&t.onStatusChange(o)})}getStatus(){return this._status$.getValue()}setSelectionFormat(o){this._selectionFormat=o}getSelectionFormat(){return this._selectionFormat}applyFormatPainter(o,e,t){const i=this.getHooks(),r=[],s=[];i.forEach(c=>{if(c.onApply!==void 0){const d=c.onApply(o,e,t,this._selectionFormat);d&&(r.push(...d.redos),s.push(...d.undos))}});for(const c of i)if(c.onBeforeApply!==void 0&&!c.onBeforeApply({unitId:o,subUnitId:e,range:t,redoMutationsInfo:r,format:this._selectionFormat,undoMutationsInfo:s}))return!1;this._logService.log("[FormatPainterService]","apply mutations",{undoMutationsInfo:s,redoMutationsInfo:r});const l=r.every(c=>this._commandService.executeCommand(c.id,c.params));return l&&this._undoRedoService.pushUndoRedo({unitID:o,undoMutations:s,redoMutations:r}),l}_updateRangeMark(o){if(this._markSelectionService.removeAllShapes(),o!==0){const e=this._selectionManagerService.getCurrentLastSelection();if(e){const t=Fs(this._themeService);o===2?this._markId=this._markSelectionService.addShape({...e,style:t}):this._markId=this._markSelectionService.addShape({...e,style:t},[m.SetRangeValuesMutation.id])}}}};$i=lu([fn(0,a.Inject(m.SheetsSelectionsService)),fn(1,a.Inject(a.ThemeService)),fn(2,Ot),fn(3,a.ILogService),fn(4,a.ICommandService),fn(5,a.IUndoRedoService)],$i);const di={id:"sheet.operation.set-format-painter",type:a.CommandType.OPERATION,handler:(n,o)=>o?(n.get(qe).setStatus(o.status),!0):!1},eo={type:a.CommandType.COMMAND,id:"sheet.command.set-infinite-format-painter",handler:async n=>{const e=n.get(qe).getStatus();let t;return e!==xe.OFF?t=xe.OFF:t=xe.INFINITE,n.get(a.ICommandService).executeCommand(di.id,{status:t})}},vn={type:a.CommandType.COMMAND,id:"sheet.command.set-once-format-painter",handler:async n=>{const e=n.get(qe).getStatus();let t;return e!==xe.OFF?t=xe.OFF:t=xe.ONCE,n.get(a.ICommandService).executeCommand(di.id,{status:t})}},ui={type:a.CommandType.COMMAND,id:"sheet.command.apply-format-painter",handler:async(n,o)=>n.get(qe).applyFormatPainter(o.unitId,o.subUnitId,o.range)};var cu=Object.getOwnPropertyDescriptor,du=(n,o,e,t)=>{for(var i=t>1?void 0:t?cu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},uu=(n,o)=>(e,t)=>o(e,t,n);T.SheetScrollManagerService=class{constructor(o,e){w(this,"_scrollStateMap",new Map);w(this,"_rawScrollInfo$",new O.BehaviorSubject(null));w(this,"rawScrollInfo$",this._rawScrollInfo$.asObservable());w(this,"validViewportScrollInfo$",new O.BehaviorSubject(null));w(this,"_searchParamForScroll",null);this._context=o,this._sheetSkeletonManagerService=e}dispose(){this._rawScrollInfo$.complete()}calcViewportScrollFromRowColOffset(o){if(!o)return{viewportScrollX:0,viewportScrollY:0};let{sheetViewStartColumn:e,sheetViewStartRow:t,offsetX:i,offsetY:r}=o;t=t||0,r=r||0;const s=this._sheetSkeletonManagerService.getCurrentSkeleton(),l=(s==null?void 0:s.rowHeightAccumulation[t-1])||0,d=((s==null?void 0:s.columnWidthAccumulation[e-1])||0)+i,u=l+r;return{viewportScrollX:d,viewportScrollY:u}}setSearchParam(o){this._searchParamForScroll=o}getScrollStateByParam(o){return this._getCurrentScroll(o)}getCurrentScrollState(){return this._getCurrentScroll(this._searchParamForScroll)}setValidScrollState(o){this._setScrollState(o)}emitRawScrollParam(o){this._emitRawScroll(o)}setValidScrollStateToCurrSheet(o){if(this._searchParamForScroll==null)return;this._setScrollState({...this._searchParamForScroll,...o});const e=this._searchParamForScroll.sheetId,t=this._sheetSkeletonManagerService.getSkeleton(e);t&&t.setScroll(o.viewportScrollX,o.viewportScrollY)}clear(){this._searchParamForScroll!=null&&this._clearByParamAndNotify(this._searchParamForScroll)}_setScrollState(o){const{unitId:e,sheetId:t,sheetViewStartColumn:i,sheetViewStartRow:r,offsetX:s,offsetY:l}=o;this._scrollStateMap.has(e)||this._scrollStateMap.set(e,new Map);const c=this._scrollStateMap.get(e),d={sheetViewStartRow:r,sheetViewStartColumn:i,offsetX:s,offsetY:l};c.set(t,d)}_clearByParamAndNotify(o){this._setScrollState({...o,sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0}),this._emitRawScroll({sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0})}_getCurrentScroll(o){var s;const e={sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0};if(o==null)return e;const{unitId:t,sheetId:i}=o;return((s=this._scrollStateMap.get(t))==null?void 0:s.get(i))||e}_emitRawScroll(o){this._rawScrollInfo$.next(o)}},T.SheetScrollManagerService=du([uu(1,a.Inject(T.SheetSkeletonManagerService))],T.SheetScrollManagerService);const lt={type:a.CommandType.COMMAND,id:"sheet.command.set-selection-frozen",handler:async(n,o)=>{var M,A;const{type:e}=o||{},t=n.get(a.IUniverInstanceService),i=n.get(a.IUndoRedoService),r=m.getSheetCommandTarget(t);if(!r)return!1;const{unitId:s,subUnitId:l}=r,c=n.get(a.ICommandService),u=n.get(m.SheetsSelectionsService).getCurrentSelections();if(!u)return!1;const g=n.get(y.IRenderManagerService).getRenderById(s).with(T.SheetScrollManagerService),{sheetViewStartRow:S=0,sheetViewStartColumn:f=0}=g.getCurrentScrollState()||{};let v,p,C,b;if(e===3)v=S+1,C=1,p=-1,b=0;else if(e===4)v=-1,C=0,p=f+1,b=1;else{const D=u[(u==null?void 0:u.length)-1],{primary:k,range:N}=D;let H=(M=k==null?void 0:k.startRow)!=null?M:N.startRow;H===0&&(H=1);let V=(A=k==null?void 0:k.startColumn)!=null?A:N.startColumn;V===0&&(V=1);const L=N.rangeType;if(L===a.RANGE_TYPE.ROW||e===1)v=H,C=H-S,p=-1,b=0;else if(L===a.RANGE_TYPE.COLUMN||e===2)v=-1,C=0,p=V,b=V-f;else if(L===a.RANGE_TYPE.NORMAL)v=H,C=H-S,p=V,b=V-f;else return!1}const E={unitId:s,subUnitId:l,startRow:v,startColumn:p,xSplit:p>0?Math.max(1,b):b,ySplit:v>0?Math.max(1,C):C},R=m.SetFrozenMutationFactory(n,E);return c.syncExecuteCommand(m.SetFrozenMutation.id,E)&&i.pushUndoRedo({unitID:s,undoMutations:[{id:m.SetFrozenMutation.id,params:R}],redoMutations:[{id:m.SetFrozenMutation.id,params:E}]}),!0}},pn={type:a.CommandType.COMMAND,id:"sheet.command.set-row-frozen",handler:async n=>(n.get(a.ICommandService).executeCommand(lt.id,{type:1}),!0)},Cn={type:a.CommandType.COMMAND,id:"sheet.command.set-col-frozen",handler:async n=>(n.get(a.ICommandService).executeCommand(lt.id,{type:2}),!0)},_n={type:a.CommandType.COMMAND,id:"sheet.command.set-first-row-frozen",handler:async n=>(n.get(a.ICommandService).executeCommand(lt.id,{type:3}),!0)},In={type:a.CommandType.COMMAND,id:"sheet.command.set-first-column-frozen",handler:async n=>(n.get(a.ICommandService).executeCommand(lt.id,{type:4}),!0)};class mr extends a.Disposable{constructor(){super(...arguments);w(this,"rangesStack",[]);w(this,"selectedRangeWorksheet","")}}var hu=Object.getOwnPropertyDescriptor,mu=(n,o,e,t)=>{for(var i=t>1?void 0:t?hu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ha=(n,o)=>(e,t)=>o(e,t,n);let bn=class{constructor(n,o){w(this,"_current",null);w(this,"_shortcutParam",[]);this._univerInstanceService=n,this._localeService=o}dispose(){this._shortcutParam=[]}getCurrentBySearch(n){return this._getCurrentBySearch(n)}getCurrent(){return this._getCurrentBySearch(this._current)}addOrUpdate(n){const o=this._getCurrentBySearch({unitId:n.unitId,sheetId:n.sheetId,keycode:n.keycode});if(o!=null){const e=this._shortcutParam.indexOf(o);this._shortcutParam.splice(e,1)}return this._shortcutParam.push(n),o}remove(n){if(n==null)return;const o=this._getCurrentBySearch(n);if(o==null)return;const e=this._shortcutParam.indexOf(o);return this._shortcutParam.splice(e,1)[0]}_getCurrentBySearch(n){return n==null?void 0:this._shortcutParam.find(e=>e.unitId===n.unitId&&e.sheetId===n.sheetId&&e.keycode===n.keycode)}};bn=mu([ha(0,a.IUniverInstanceService),ha(1,a.Inject(a.LocaleService))],bn);var Qe=(n=>(n[n.moveStopeOne=0]="moveStopeOne",n[n.moveGap=1]="moveGap",n[n.moveStepPage=2]="moveStepPage",n[n.moveStepEnd=3]="moveStepEnd",n))(Qe||{});const Ve={id:"sheet.command.move-selection",type:a.CommandType.COMMAND,handler:(n,o)=>{if(!o)return!1;const e=m.getSheetCommandTarget(n.get(a.IUniverInstanceService));if(!e)return!1;const{workbook:t,worksheet:i}=e,r=m.getSelectionsService(n,o.fromCurrentSelection).getCurrentLastSelection();if(!r)return!1;const{direction:s,jumpOver:l,extra:c}=o;let{range:d,primary:u}=r;if(c==="formula-editor"){if(d.startRow===d.endRow&&d.startColumn===d.endColumn){const C=i.getMergedCell(d.startRow,d.startColumn);C&&(d={...d,...C})}if(!u){const C=m.getSelectionsService(n,o.fromCurrentSelection).getCurrentLastSelectionPrimaryCell();C&&a.Rectangle.contains(d,C)&&(u=C)}}const h=dr(d,u,s),g=l===1?cr(h,s,i):_t(h,s,i),S=m.getCellAtRowCol(g.startRow,g.startColumn,i);if(a.Rectangle.equals(S,h))return!1;const f=t.getUnitId();n.get(bn).remove({unitId:f,sheetId:i.getSheetId(),keycode:_.KeyCode.TAB});const v=[{range:a.Rectangle.clone(S),primary:{startRow:S.startRow,startColumn:S.startColumn,endRow:S.endRow,endColumn:S.endColumn,actualRow:g.startRow,actualColumn:g.startColumn,isMerged:S.isMerged,isMergedMainCell:S.startRow===g.startRow&&S.startColumn===g.startColumn}}];return n.get(a.ICommandService).executeCommand(m.SetSelectionsOperation.id,{unitId:t.getUnitId(),subUnitId:i.getSheetId(),selections:v,type:m.SelectionMoveType.MOVE_END,extra:c,reveal:!0})}},Je={id:"sheet.command.move-selection-enter-tab",type:a.CommandType.COMMAND,handler:(n,o)=>{var U;if(!o)return!1;const e=m.getSheetCommandTarget(n.get(a.IUniverInstanceService));if(!e)return!1;const{workbook:t,worksheet:i}=e,r=m.getSelectionsService(n),{direction:s,keycode:l}=o,c=s===a.Direction.LEFT||s===a.Direction.UP,d=r.getCurrentSelections().concat(),u=d.findIndex(B=>B.primary),h=d[u];if(!h)return!1;const g=c?-1:1,S=u+g!==d.length?d[u+g]:d[0],f=d.findIndex(B=>B===S),v=t.getUnitId(),p=i.getSheetId();if(!h)return!1;const{range:C}=h,b=h.primary;let E=dr(C,b,s);const R=n.get(bn),P=R.getCurrentBySearch({unitId:v,sheetId:p,keycode:_.KeyCode.TAB});let M;const{startRow:A,endRow:D,startColumn:k,endColumn:N}=C,H=c?b.startRow===A&&b.startColumn===k:b.endRow===D&&b.endColumn===N;if(a.Rectangle.equals(C,b)){if(l===_.KeyCode.TAB)P==null&&R.addOrUpdate({unitId:v,sheetId:p,keycode:_.KeyCode.TAB,selection:h});else{const G=P==null?void 0:P.selection;if(G!=null){const{range:K,primary:ee}=G;E=dr(K,ee,s)}R.remove({unitId:v,sheetId:p,keycode:_.KeyCode.TAB})}const B=l===_.KeyCode.ENTER&&s===a.Direction.DOWN&&E.endRow===i.getMaxRows()-1,X=l===_.KeyCode.TAB&&s===a.Direction.RIGHT&&E.endColumn===i.getMaxColumns()-1,z=B||X?E:_t(E,s,i),Y=m.getCellAtRowCol(z.startRow,z.startColumn,i);if(a.Rectangle.equals(Y,E))return!1;M={range:a.Rectangle.clone(Y),primary:{startRow:Y.startRow,startColumn:Y.startColumn,endRow:Y.endRow,endColumn:Y.endColumn,actualRow:z.startRow,actualColumn:z.startColumn,isMerged:Y.isMerged,isMergedMainCell:Y.startRow===z.startRow&&Y.startColumn===z.startColumn}}}else{R.remove({unitId:v,sheetId:p,keycode:_.KeyCode.TAB});const B=a.Tools.deepClone(b),X=H?S.range:_t({startRow:B.startRow,startColumn:B.startColumn,endRow:B.endRow,endColumn:B.endColumn},s,i,{startRow:A,endRow:D,startColumn:k,endColumn:N}),z=H&&c,Y=z?m.getCellAtRowCol(X.endRow,X.endColumn,i):m.getCellAtRowCol(X.startRow,X.startColumn,i);M={range:H?S.range:a.Rectangle.clone(C),primary:{startRow:Y.startRow,startColumn:Y.startColumn,endRow:Y.endRow,endColumn:Y.endColumn,actualRow:z?Y.startRow:X.startRow,actualColumn:z?Y.startColumn:X.startColumn,isMerged:Y.isMerged,isMergedMainCell:Y.startRow===X.startRow&&Y.startColumn===X.startColumn},style:H?S.style:h.style}}H?(d[u].primary=null,d[f]=M,r.setSelections(v,p,[],m.SelectionMoveType.MOVE_END)):d[u]=M;const V=n.get(a.ICommandService).executeCommand(m.SetSelectionsOperation.id,{unitId:v,subUnitId:p,type:m.SelectionMoveType.MOVE_END,selections:d,reveal:!0,extra:o.extra}),W=(U=n.get(y.IRenderManagerService).getRenderById(v))==null?void 0:U.with(ye);return W==null||W.refreshSelectionMoveEnd(),V}},Ue={id:"sheet.command.expand-selection",type:a.CommandType.COMMAND,handler:(n,o)=>{if(!o)return!1;const e=m.getSheetCommandTarget(n.get(a.IUniverInstanceService));if(!e)return!1;const{worksheet:t,unitId:i,subUnitId:r}=e,s=m.getSelectionsService(n).getCurrentLastSelection();if(!s)return!1;const{jumpOver:l,direction:c,extra:d}=o;let{range:u,primary:h}=s;if(d==="formula-editor"){if(u.startRow===u.endRow&&u.startColumn===u.endColumn){const f=t.getMergedCell(u.startRow,u.startColumn);f&&(u={...u,...f})}if(!h){const f=m.getSelectionsService(n).getCurrentLastSelectionPrimaryCell();f&&a.Rectangle.contains(u,f)&&(h=f)}}const S=eu({range:u,primary:h},c,t)?l===1?Jd(u,{...a.Rectangle.clone(h),rangeType:a.RANGE_TYPE.NORMAL},c,t):$d(u,c,t):l===1?qd(u,c,t):Qd(u,c,t);return S.rangeType=s.range.rangeType,a.Rectangle.equals(S,u)?!1:n.get(a.ICommandService).syncExecuteCommand(m.SetSelectionsOperation.id,{unitId:i,subUnitId:r,type:m.SelectionMoveType.MOVE_END,selections:[{range:S,primary:h}],extra:d,reveal:!0})}},hi={id:"sheet.command.select-all",type:a.CommandType.COMMAND,handler:async(n,o={expandToGapFirst:!0,loop:!1})=>{const e=m.getSheetCommandTarget(n.get(a.IUniverInstanceService));if(!e)return!1;const t=m.getSelectionsService(n).getCurrentLastSelection();if(!t)return!1;const i=n.get(mr),{worksheet:r,unitId:s,subUnitId:l}=e,c=`${s}|${l}`;c!==i.selectedRangeWorksheet&&(i.rangesStack=[],i.selectedRangeWorksheet=c);const d=r.getMaxRows(),u=r.getMaxColumns(),{expandToGapFirst:h,loop:g}=o,{range:S,primary:f}=t,v=S.endColumn===u-1&&S.endRow===d-1&&S.startRow===0&&S.startColumn===0;i.rangesStack.some(P=>a.Rectangle.equals(P,S))||(i.rangesStack=[],i.rangesStack.push(S));let p;if(v)if(g){if(i.rangesStack.findIndex(M=>a.Rectangle.equals(M,S))!==i.rangesStack.length-1)return!1;p=i.rangesStack[0]}else return!1;else h?(p=m.expandToContinuousRange(S,{left:!0,right:!0,up:!0,down:!0},r),a.Rectangle.equals(p,S)&&(p=oa(r))):p=oa(r);i.rangesStack.some(P=>a.Rectangle.equals(P,p))||i.rangesStack.push(p);const C=[];C.push({id:m.SetSelectionsOperation.id,params:{unitId:s,subUnitId:l,reveal:!0,selections:[{range:p,primary:f}]}});const E=n.get(m.SheetInterceptorService).onCommandExecute({id:hi.id,params:{range:S}});E.redos.length&&C.push(...E.redos);const R=n.get(a.ICommandService);return a.sequenceExecute(C,R),!0}};function gu(n){return typeof n.isMainScene>"u"}function Be(n,o){const e=n instanceof a.Workbook?n:n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!e)return null;const t=e.getUnitId();let i,r,s,l;if(gu(o)){const g=o.getRenderById(t);if(g==null)return null;i=g.components,i=g.components,r=g.mainComponent,s=g.scene,l=g.engine}else i=o.components,r=o.mainComponent,s=o.scene,l=o.engine;if(!i||!r)return null;const c=r,d=i.get(_e.ROW),u=i.get(_e.COLUMN),h=i.get(_e.LEFT_TOP);return{spreadsheet:c,spreadsheetRowHeader:d,spreadsheetColumnHeader:u,spreadsheetLeftTopPlaceholder:h,scene:s,engine:l}}function gr(n,o,e,t){const{startX:i,startY:r,endX:s,endY:l}=t.getCellWithCoordByIndex(n,o);return{startX:i,startY:r,endX:s,endY:l}}function $e(n,o,e,t,i,r){const s=e.getCoordRelativeToViewport(y.Vector2.FromArray([n,o])),{x:l,y:c}=s,d=e.getScrollXYInfoByViewport(s,i),{scaleX:u,scaleY:h}=e.getAncestorScale(),g=t.getCellIndexByOffset(l,c,u,h,d,{closeFirst:r}),{row:S,column:f}=g,v=t.getNoMergeCellWithCoordByIndex(S,f),{startX:p,startY:C,endX:b,endY:E}=v;return{startX:p,startY:C,endX:b,endY:E,row:S,column:f}}function mi(n,o,e,t){const i=e.getCoordRelativeToViewport(y.Vector2.FromArray([n,o])),r=e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),s=e.getScrollXYInfoByViewport(i,r),{scaleX:l,scaleY:c}=e.getAncestorScale(),{x:d,y:u}=s,h=n/l+d,g=o/c+u;return{x:h,y:g}}var Su=Object.getOwnPropertyDescriptor,fu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Su(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},En=(n,o)=>(e,t)=>o(e,t,n);Ve.id,Je.id;const vu=3;T.SheetsScrollRenderController=class extends a.Disposable{constructor(o,e,t,i,r,s,l){super(),this._context=o,this._injector=e,this._sheetSkeletonManagerService=t,this._contextService=i,this._commandService=r,this._renderManagerService=s,this._scrollManagerService=l,this._initCommandListener(),this._wheelEventListener(),this._scrollBarEventListener(),this._initSkeletonListener()}_wheelEventListener(){const{scene:o}=this._context;if(!o)return;const e=o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);e&&this.disposeWithMe(o.onMouseWheel$.subscribeEvent((t,i)=>{if(t.ctrlKey||!this._contextService.getContextValue(a.FOCUSING_SHEET))return;let r=0,s=0;r=t.deltaX,t.shiftKey?r=(t.deltaY||t.deltaX)*vu:s=t.deltaY,this._commandService.executeCommand(wn.id,{offsetX:r,offsetY:s}),this._context.scene.makeDirty(!0);const l=e.limitedScroll(e.scrollX+r,e.scrollY+s);l&&!l.isLimitedX&&!l.isLimitedY&&(t.preventDefault(),o.getParent().classType===y.RENDER_CLASS_TYPE.SCENE_VIEWER&&i.stopPropagation()),e.isWheelPreventDefaultX&&e.isWheelPreventDefaultY&&t.preventDefault()}))}_scrollBarEventListener(){const{scene:o}=this._context;if(o==null)return;const e=o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);e&&(this.disposeWithMe(a.toDisposable(this._scrollManagerService.rawScrollInfo$.subscribe(t=>{var f;const i=(f=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:f.skeleton;if(!i)return;if(t==null){e.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}const{sheetViewStartRow:r,sheetViewStartColumn:s,offsetX:l,offsetY:c,duration:d}=t,{startX:u,startY:h}=i.getCellWithCoordByIndex(r,s,!1),g=u+l,S=h+c;e.scrollAnimationFrameId!==null&&cancelAnimationFrame(e.scrollAnimationFrameId),d?this._smoothScrollToViewportPos({viewportMain:e,viewportScrollX:g,viewportScrollY:S,duration:d}):e.scrollToViewportPos({viewportScrollX:g,viewportScrollY:S})}))),this.disposeWithMe(e.onScrollAfter$.subscribeEvent(t=>{var v;const i=(v=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:v.skeleton;if(i==null||t.isTrigger===!1)return;const r=this._getSheetObject();if(i==null||r==null)return;const{viewportScrollX:s,viewportScrollY:l,scrollX:c,scrollY:d}=t,{row:u,column:h,rowOffset:g,columnOffset:S}=i.getOffsetRelativeToRowCol(s,l),f={sheetViewStartRow:u,sheetViewStartColumn:h,offsetX:S,offsetY:g,viewportScrollX:s,viewportScrollY:l,scrollX:c,scrollY:d};this._scrollManagerService.setValidScrollStateToCurrSheet(f),this._scrollManagerService.validViewportScrollInfo$.next({...f,viewportScrollX:s,viewportScrollY:l,scrollX:c,scrollY:d})})),this.disposeWithMe(e.onScrollByBar$.subscribeEvent(t=>{var g;const i=(g=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:g.skeleton;if(i==null||t.isTrigger===!1)return;const r=this._getSheetObject();if(i==null||r==null)return;const{viewportScrollX:s=0,viewportScrollY:l=0}=t;this._getFreeze();const{row:c,column:d,rowOffset:u,columnOffset:h}=i.getOffsetRelativeToRowCol(s,l);this._commandService.executeCommand(Fe.id,{sheetViewStartRow:c,sheetViewStartColumn:d,offsetX:h,offsetY:u})})))}_initSkeletonListener(){this.disposeWithMe(a.toDisposable(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(o=>{if(o==null)return;const e={unitId:o.unitId,sheetId:o.sheetId};if(this._scrollManagerService.setSearchParam(e),!this._getSheetObject())return;const i=this._scrollManagerService.getScrollStateByParam(e),{viewportScrollX:r,viewportScrollY:s}=this._scrollManagerService.calcViewportScrollFromRowColOffset(i);i&&this._updateViewportScroll(r,s)})))}_smoothScrollToViewportPos(o){const{viewportMain:e,viewportScrollX:t,viewportScrollY:i,duration:r}=o,s=performance.now(),l=e.viewportScrollX,c=e.viewportScrollY,d=t-l,u=i-c;function h(g){const S=g-s,f=Math.min(S/r,1),v=1-(1-f)**3,p=l+d*v,C=c+u*v;e.scrollToViewportPos({viewportScrollX:p,viewportScrollY:C}),f<1?e.scrollAnimationFrameId=requestAnimationFrame(h):e.scrollAnimationFrameId=null}e.scrollAnimationFrameId=requestAnimationFrame(h)}_updateViewportScroll(o=0,e=0){const t=this._getSheetObject();if(!t)return;const i=t.scene,r=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),s=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT),l=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM),c=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT),d=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);r&&(r.viewportScrollX=o,r.viewportScrollY=e),l&&(l.viewportScrollY=e),s&&(s.viewportScrollX=o),c&&(c.viewportScrollY=e),d&&(d.viewportScrollX=o)}scrollToRange(o,e,t){let{endRow:i,endColumn:r,startColumn:s,startRow:l}=o;const c=this._getViewportBounding();if(o.rangeType===a.RANGE_TYPE.ROW?(s=0,r=0):o.rangeType===a.RANGE_TYPE.COLUMN&&(l=0,i=0),c&&!e&&!t){const d=c.startRow>i?l:i,u=c.startColumn>r?s:r;return this._scrollToCell(d,u)}else return this._scrollToCell(l,s,e,t)}scrollToCell(o,e,t){const i=this._context.unit.getActiveSheet(),{ySplit:r,xSplit:s}=i.getFreeze();return this._commandService.syncExecuteCommand(Fe.id,{sheetViewStartRow:o-r,sheetViewStartColumn:e-s,offsetX:0,offsetY:0,duration:t})}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{switch(o.id){case m.SetSelectionsOperation.id:{const e=o.params;e.unitId===this._context.unitId&&e.reveal&&this._scrollToSelection()}break;case m.ScrollToCellOperation.id:{const e=o.params;if(e.unitId===this._context.unitId){const t=e.range;this.scrollToRange(t)}}break;case Ue.id:{const e=o.params;this._scrollToSelectionForExpand(e)}break}}))}_scrollToSelectionForExpand(o){setTimeout(()=>{const e=this._getSelectionsService().getCurrentLastSelection();if(e==null)return;const{startRow:t,startColumn:i,endRow:r,endColumn:s}=e.range,l=this._getViewportBounding();if(l==null)return;const{startRow:c,startColumn:d,endRow:u,endColumn:h}=l;let g=0,S=0;t>c?g=r:r<u?g=t:g=c,i>d?S=s:s<h?S=i:S=d,o.direction===a.Direction.DOWN?g=r:o.direction===a.Direction.UP?g=t:o.direction===a.Direction.RIGHT?S=s:o.direction===a.Direction.LEFT&&(S=i),this._scrollToCell(g,S)},0)}_getFreeze(){var e;const o=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(o!=null)return o.freeze}_updateSceneSize(o){var h;if(o==null)return;const{unitId:e}=this._context,{skeleton:t}=o,i=(h=this._renderManagerService.getRenderById(e))==null?void 0:h.scene;if(t==null||i==null)return;const{rowTotalHeight:r,columnTotalWidth:s,rowHeaderWidthAndMarginLeft:l,columnHeaderHeightAndMarginTop:c}=t;this._context.unit.getActiveSheet()&&(i==null||i.transformByState({width:l+s,height:c+r}))}_getSheetObject(){return Be(this._context.unit,this._context)}_scrollToSelectionByDirection(o){const e=this._getViewportBounding();if(e==null)return!1;const{startRow:t,startColumn:i,endRow:r,endColumn:s}=e;let l=0,c=0;const{startRow:d,startColumn:u,endRow:h,endColumn:g}=o;d>=t&&(l=h),h<=r&&(l=d),u>=i&&(c=g),g<=s&&(c=u),this._scrollToCell(l,c)}_scrollToSelection(o=!0){var d;const e=this._getSelectionsService().getCurrentLastSelection();if(!e)return;const{startRow:t,startColumn:i,actualRow:r,actualColumn:s}=(d=e.primary)!=null?d:e.range,l=o&&r!=null?r:t,c=o&&s!=null?s:i;this._scrollToCell(l,c)}_getSelectionsService(){return m.getSelectionsService(this._injector)}_getViewportBounding(){var r,s;const o=(r=this._getSheetObject())==null?void 0:r.scene;if(o==null)return;const e=o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(e==null)return;const t=(s=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:s.skeleton;if(t==null)return;const i=e.calcViewportInfo();return t.getRangeByViewBound(i.viewBound)}_scrollToCell(o,e,t=!1,i=!1){var N,H,V;const{rowHeightAccumulation:r,columnWidthAccumulation:s}=(N=this._sheetSkeletonManagerService.getCurrentSkeleton())!=null?N:{};if(r==null||s==null)return!1;const l=(H=this._getSheetObject())==null?void 0:H.scene;if(l==null)return!1;const c=l.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(c==null)return!1;const d=(V=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:V.skeleton;if(d==null)return!1;const u=this._context.unit.getActiveSheet();if(!u)return!1;o=a.Tools.clamp(o,0,r.length-1),e=a.Tools.clamp(e,0,s.length-1);const{startColumn:h,startRow:g,ySplit:S,xSplit:f}=u.getFreeze(),v=this._getViewportBounding();if(v==null)return!1;const{startRow:p,startColumn:C,endRow:b,endColumn:E}=v;let R,P;if(o>=g&&e>=h-S&&(o<=p&&(R=o,t=!0),o>=b)){const L=r[o]-c.height;for(let W=p;W<=o&&(R=W+1,!(r[W]>=L));W++);}if(e>=h&&o>=g-S&&(e<=C&&(P=e,i=!0),e>=E)){const L=s[e]-c.width;for(let W=C;W<=e&&(P=W+1,!(s[W]>=L));W++);}if(R===void 0&&P===void 0)return!1;let{offsetX:M,offsetY:A,sheetViewStartRow:D,sheetViewStartColumn:k}=this._scrollManagerService.getCurrentScrollState()||{};if(R=R?Math.min(R,o):D+S,P=P?Math.min(P,e):k+f,i){M=0,P=e;const L=d.getHiddenColumnsInRange({startColumn:P-f,endColumn:P});P=P-L.length}if(t){A=0,R=o;const L=d.getHiddenRowsInRange({startRow:R-S,endRow:R});R=R-L.length}return this._commandService.syncExecuteCommand(Fe.id,{sheetViewStartRow:Math.max(0,R-S),sheetViewStartColumn:Math.max(0,P-f),offsetX:M,offsetY:A})}},T.SheetsScrollRenderController=fu([En(1,a.Inject(a.Injector)),En(2,a.Inject(T.SheetSkeletonManagerService)),En(3,a.IContextService),En(4,a.ICommandService),En(5,y.IRenderManagerService),En(6,a.Inject(T.SheetScrollManagerService))],T.SheetsScrollRenderController);const ct={id:"sheet.operation.set-scroll",type:a.CommandType.OPERATION,handler:(n,o)=>{if(!o)return!1;const{unitId:e,sheetId:t,offsetX:i=0,offsetY:r=0,sheetViewStartColumn:s,sheetViewStartRow:l,duration:c,screenRatioX:d,screenRatioY:u}=o,h=n.get(y.IRenderManagerService),g=h.getRenderById(e).with(T.SheetScrollManagerService),S=h.getRenderById(e);if(!S)return!1;const f=S.engine,v=f.width,p=f.height,C=d!==void 0?v*d+i:i,b=u!==void 0?p*u+r:r;return g.emitRawScrollParam({unitId:e,sheetId:t,offsetX:C,offsetY:b,sheetViewStartRow:l,sheetViewStartColumn:s,duration:c}),!0}},wn={id:"sheet.command.set-scroll-relative",type:a.CommandType.COMMAND,handler:async(n,o)=>{const e=n.get(a.ICommandService),t=n.get(a.IUniverInstanceService),i=n.get(y.IRenderManagerService),r=m.getSheetCommandTarget(t);if(!r)return!1;const{unitId:s,subUnitId:l}=r,d=i.getRenderById(s).with(T.SheetScrollManagerService).getCurrentScrollState(),{offsetX:u=0,offsetY:h=0}=o||{},{sheetViewStartRow:g=0,sheetViewStartColumn:S=0,offsetX:f=0,offsetY:v=0}=d||{};return e.executeCommand(ct.id,{unitId:s,sheetId:l,sheetViewStartRow:g,sheetViewStartColumn:S,offsetX:f+u,offsetY:v+h})}},Fe={id:"sheet.command.scroll-view",type:a.CommandType.COMMAND,handler:(n,o)=>{if(!o)return!1;const e=n.get(a.IUniverInstanceService),t=n.get(y.IRenderManagerService),i=m.getSheetCommandTarget(e);if(!i)return!1;const{workbook:r,worksheet:s,unitId:l}=i,d=t.getRenderById(l).with(T.SheetScrollManagerService).getCurrentScrollState();if(!s)return!1;const{sheetViewStartRow:u,sheetViewStartColumn:h,offsetX:g,offsetY:S,duration:f}=o,{sheetViewStartColumn:v,sheetViewStartRow:p,offsetX:C,offsetY:b}=d||{},{xSplit:E,ySplit:R}=i.worksheet.getConfig().freeze;return n.get(a.ICommandService).syncExecuteCommand(ct.id,{unitId:r.getUnitId(),sheetId:s.getSheetId(),sheetViewStartRow:u!=null?u:p!=null?p:0+R,sheetViewStartColumn:h!=null?h:v!=null?v:0+E,offsetX:g!=null?g:C,offsetY:S!=null?S:b,duration:f})}},to={id:"sheet.command.scroll-to-cell",type:a.CommandType.COMMAND,handler:(n,o)=>{const e=n.get(a.IUniverInstanceService);return n.get(y.IRenderManagerService).getRenderById(e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(T.SheetsScrollRenderController).scrollToRange(o.range,o.forceTop,o.forceLeft)}},pu={id:"sheet.command.scroll-view-reset",type:a.CommandType.COMMAND,handler:async n=>{const o=n.get(a.IUniverInstanceService),e=m.getSheetCommandTarget(o);if(!e)return!1;const{subUnitId:t,unitId:i}=e;return n.get(a.ICommandService).executeCommand(ct.id,{unitId:i,sheetId:t,sheetViewStartRow:0,sheetViewStartColumn:0})}};var Cu=Object.getOwnPropertyDescriptor,_u=(n,o,e,t)=>{for(var i=t>1?void 0:t?Cu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ma=(n,o)=>(e,t)=>o(e,t,n);const Iu=(n,o)=>{const{unitId:e,subUnitId:t,ranges:i}=n,r={},s=o.getColumnManager();for(let l=0;l<i.length;l++){const c=i[l];for(let d=c.startColumn;d<c.endColumn+1;d++)r[d]=s.getColumnWidth(d)}return{unitId:e,subUnitId:t,ranges:i,colWidth:r}};T.AutoWidthController=class extends a.Disposable{constructor(o,e){super(),this._renderManagerService=o,this._univerInstanceService=e}getUndoRedoParamsOfColWidth(o){const e={redos:[],undos:[]},{_univerInstanceService:t}=this,i=m.getSheetCommandTarget(t,o);if(!i)return e;const{unitId:r,subUnitId:s,worksheet:l}=i,c=this._renderManagerService.getRenderById(r).with(T.SheetSkeletonManagerService);if(!c.getCurrentParam())return e;const{skeleton:d}=c.getCurrentParam(),u=d.calculateAutoWidthInRange(o.ranges),h={};for(const{col:f,width:v}of u)h[f]=v;const g={subUnitId:s,unitId:r,ranges:o.ranges,colWidth:h},S=Iu(g,l);return{undos:[{id:m.SetWorksheetColWidthMutation.id,params:S}],redos:[{id:m.SetWorksheetColWidthMutation.id,params:g}]}}},T.AutoWidthController=_u([ma(0,y.IRenderManagerService),ma(1,a.Inject(a.IUniverInstanceService))],T.AutoWidthController);const Tn={type:a.CommandType.COMMAND,id:"sheet.command.set-col-auto-width",handler:(n,o)=>{const e=n.get(a.ICommandService),t=n.get(a.IUndoRedoService),i=n.get(m.SheetsSelectionsService),r=n.get(a.IUniverInstanceService),s=m.getSheetCommandTarget(r,o);if(!s)return!1;const{unitId:l,subUnitId:c}=s;let d=[];if(o!=null&&o.ranges)d=[...o.ranges];else{const f=i.getCurrentSelections();for(let v=0;v<f.length;v++)d.push(f[v].range)}if(!(d!=null&&d.length))return!1;const u={unitId:l,subUnitId:c,ranges:d},{redos:h,undos:g}=n.get(T.AutoWidthController).getUndoRedoParamsOfColWidth(u);return a.sequenceExecute([...h],e).result?(t.pushUndoRedo({unitID:l,undoMutations:[...g],redoMutations:[...h]}),!0):!1}};var bu=Object.getOwnPropertyDescriptor,Eu=(n,o,e,t)=>{for(var i=t>1?void 0:t?bu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},yn=(n,o)=>(e,t)=>o(e,t,n);T.EditorBridgeService=class extends a.Disposable{constructor(e,t,i,r,s,l){super();w(this,"_editorUnitId",a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);w(this,"_editorIsDirty",!1);w(this,"_visibleParams",{visible:!1,eventType:y.DeviceInputEventType.Dblclick,unitId:""});w(this,"_currentEditCell",null);w(this,"_currentEditCellState",null);w(this,"_currentEditCellLayout",null);w(this,"helpFunctionVisible$",new O.BehaviorSubject(!0));w(this,"_currentEditCellState$",new O.BehaviorSubject(null));w(this,"currentEditCellState$",this._currentEditCellState$.asObservable());w(this,"_currentEditCellLayout$",new O.BehaviorSubject(null));w(this,"currentEditCellLayout$",this._currentEditCellLayout$.asObservable());w(this,"currentEditCell$",this._currentEditCellState$.pipe(O.switchMap(e=>this._currentEditCellLayout$.pipe(O.map(t=>e&&t?{...e,...t}:null)))));w(this,"_visibleParams$",new O.BehaviorSubject(this._visibleParams));w(this,"visible$",this._visibleParams$.asObservable());w(this,"_afterVisibleParams$",new O.BehaviorSubject(this._visibleParams));w(this,"afterVisible$",this._afterVisibleParams$.asObservable());w(this,"_forceKeepVisible$",new O.BehaviorSubject(!1));w(this,"forceKeepVisible$",this._forceKeepVisible$.asObservable());this._sheetInterceptorService=e,this._renderManagerService=t,this._themeService=i,this._univerInstanceService=r,this._editorService=s,this._contextService=l,this.disposeWithMe(a.toDisposable(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this._univerInstanceService.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_SHEET).subscribe(c=>{var d;c.getUnitId()===((d=this._currentEditCellState)==null?void 0:d.unitId)&&this._clearCurrentEditCellState()})}refreshEditCellState(){const e=this.getLatestEditCellState();if(!e){this._currentEditCellState=null,this._currentEditCellLayout=null,this._currentEditCellState$.next(null),this._currentEditCellLayout$.next(null);return}const{position:t,scaleX:i,scaleY:r,canvasOffset:s,...l}=e;this._currentEditCellState=l,this._currentEditCellLayout={position:t,scaleX:i,scaleY:r,canvasOffset:s},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}refreshEditCellPosition(e){var P;const t=this._currentEditCell;if(t==null)return;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!i)return;const r=this._renderManagerService.getRenderUnitById(i.getUnitId());if(!r)return;const s=(P=r.with(T.SheetSkeletonManagerService).getSkeletonParam(t.sheetId))==null?void 0:P.skeleton,l=r.with(ye);if(!s||!this._currentEditCellState)return;const{primary:c,scene:d,engine:u}=t,h=Qn(s,c);if(h==null)return;const g=a.convertCellToRange(h),S=$.getCanvasOffsetByEngine(u);let{startX:f,startY:v,endX:p,endY:C}=g;const{scaleX:b,scaleY:E}=d.getAncestorScale(),R=d.getViewportScrollXY(l.getViewPort());f=y.convertTransformToOffsetX(f,b,R),v=y.convertTransformToOffsetY(v,E,R),p=y.convertTransformToOffsetX(p,b,R),C=y.convertTransformToOffsetY(C,E,R),e&&this._currentEditCellLayout&&(p=p-f+this._currentEditCellLayout.position.startX,C=C-v+this._currentEditCellLayout.position.startY,f=this._currentEditCellLayout.position.startX,v=this._currentEditCellLayout.position.startY),this._currentEditCellLayout={position:{startX:f,startY:v,endX:p,endY:C},canvasOffset:S,scaleX:b,scaleY:E},this._currentEditCellLayout$.next(this._currentEditCellLayout)}setEditCell(e){this._currentEditCell=e,this._editorService.getFocusEditor()||(this._editorService.focus(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),this._contextService.setContextValue(a.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(a.FOCUSING_EDITOR_STANDALONE,!1));const t=this.getLatestEditCellState();if(!t){this._currentEditCellState=t,this._currentEditCellLayout=t,this._currentEditCellState$.next(t),this._currentEditCellLayout$.next(t);return}const{position:i,canvasOffset:r,scaleX:s,scaleY:l,...c}=t;this._currentEditCellState=c,this._currentEditCellLayout={position:i,canvasOffset:r,scaleX:s,scaleY:l},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}_clearCurrentEditCellState(){this._currentEditCellState=null,this._currentEditCellState$.next(null),this._currentEditCellLayout=null,this._currentEditCellLayout$.next(null)}getEditCellState(){return this._currentEditCellState==null||this._currentEditCellLayout==null?null:{...this._currentEditCellState,...this._currentEditCellLayout}}getEditCellLayout(){return this._currentEditCellLayout}getEditLocation(){return this._currentEditCellState}updateEditLocation(e,t){this._currentEditCellState&&(this._currentEditCellState={...this._currentEditCellState,row:e,column:t})}getLatestEditCellState(){var L,W,U;const e=this._currentEditCell;if(e==null)return;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!t)return;const i=this._renderManagerService.getRenderUnitById(t.getUnitId());if(!i)return;const r=i.with(T.SheetSkeletonManagerService).getCurrentSkeleton(),s=i.with(ye);if(!r)return;const{primary:l,unitId:c,sheetId:d,scene:u,engine:h}=e,{startRow:g,startColumn:S}=l,f=Qn(r,l);if(f==null)return;const v=a.convertCellToRange(f),p=$.getCanvasOffsetByEngine(h);let{startX:C,startY:b,endX:E,endY:R}=v;const{scaleX:P,scaleY:M}=u.getAncestorScale(),A=u.getViewportScrollXY(s.getViewPort());C=y.convertTransformToOffsetX(C,P,A),b=y.convertTransformToOffsetY(b,M,A),E=y.convertTransformToOffsetX(E,P,A),R=y.convertTransformToOffsetY(R,M,A);const D=t.getActiveSheet();if(!D)return;const k={workbook:t,worksheet:D,unitId:t.getUnitId(),subUnitId:D.getSheetId(),row:g,col:S,origin:D.getCellRaw(g,S)};let N;const H=this._sheetInterceptorService.writeCellInterceptor.fetchThroughInterceptors(m.BEFORE_CELL_EDIT)(D.getCell(g,S),k);N=H&&D.getCellDocumentModelWithFormula(H,k.row,k.col);const V=(L=N==null?void 0:N.documentModel)==null?void 0:L.documentStyle.renderConfig;if(V!=null&&(V.cellValueType=a.CellValueType.STRING),!N||N.documentModel==null){const B=D.getBlankCellDocumentModel(H,k.row,k.col);if(N!=null){const{verticalAlign:X,horizontalAlign:z,wrapStrategy:Y,textRotation:G,fill:K}=N,{centerAngle:ee,vertexAngle:ne}=y.convertTextRotation(G);B.documentModel.documentStyle.renderConfig={...V,verticalAlign:X,horizontalAlign:z,wrapStrategy:Y,background:{rgb:K},centerAngle:ee,vertexAngle:ne}}N=B}if(N.fill=N.fill||"#fff",(W=N.documentModel)==null||W.setZoomRatio(Math.max(P,M)),(H==null?void 0:H.isInArrayFormulaRange)===!0){const B=(U=N.documentModel)==null?void 0:U.getBody();B&&(B.textRuns=[{st:0,ed:B.dataStream.length-2,ts:{cl:{rgb:this._themeService.getColorFromTheme("gray.300")}}}])}return{position:{startX:C,startY:b,endX:E,endY:R},scaleX:P,scaleY:M,canvasOffset:p,row:g,column:S,unitId:c,sheetId:d,documentLayoutObject:N,editorUnitId:this._editorUnitId,isInArrayFormulaRange:H==null?void 0:H.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visibleParams=e,e.visible&&(this._editorIsDirty=!1),this._visibleParams$.next(this._visibleParams),this._afterVisibleParams$.next(this._visibleParams)}isVisible(){return this._visibleParams}enableForceKeepVisible(){this._forceKeepVisible$.next(!0)}disableForceKeepVisible(){this._forceKeepVisible$.next(!1)}isForceKeepVisible(){return this._forceKeepVisible$.getValue()}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}},T.EditorBridgeService=Eu([yn(0,a.Inject(m.SheetInterceptorService)),yn(1,y.IRenderManagerService),yn(2,a.Inject(a.ThemeService)),yn(3,a.IUniverInstanceService),yn(4,$.IEditorService),yn(5,a.IContextService)],T.EditorBridgeService);const Ie=a.createIdentifier("univer.sheet-editor-bridge.service");var wu=Object.getOwnPropertyDescriptor,Tu=(n,o,e,t)=>{for(var i=t>1?void 0:t?wu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},no=(n,o)=>(e,t)=>o(e,t,n);let gi=class extends a.Disposable{constructor(o,e,t,i,r){super();w(this,"_zoom");this._context=o,this._sheetSkeletonManagerService=e,this._commandService=t,this._contextService=i,this._editorBridgeService=r,this._initSkeletonListener(),this._initZoomEventListener()}updateZoom(o,e){const t=this._context.unit.getSheetBySheetId(o);return t?(t.getConfig().zoomRatio=e,t===this._context.unit.getActiveSheet()&&this._updateViewZoom(e),!0):!1}_initZoomEventListener(){const o=Be(this._context.unit,this._context).scene;this.disposeWithMe(o.onMouseWheel$.subscribeEvent(e=>{if(!e.ctrlKey||!this._contextService.getContextValue(a.FOCUSING_SHEET))return;if(this._editorBridgeService){const d=this._editorBridgeService.isVisible();if((d.unitId===this._context.unitId||d.unitId===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&d.visible)return}const t=Math.abs(e.deltaX);let i=t<40?.2:t<80?.4:.2;i*=e.deltaY>0?-1:1,o.scaleX<1&&(i/=2);const r=this._context.unit,s=r.getActiveSheet();if(!s)return;const l=s.getZoomRatio();let c=+Number.parseFloat(`${l+i}`).toFixed(1);c=c>=4?4:c<=.1?.1:c,this._commandService.executeCommand(Xt.id,{zoomRatio:Math.round(c*10)/10,unitId:r.getUnitId(),subUnitId:s.getSheetId()}),e.preventDefault()}))}_initSkeletonListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null)return;const t=this._context.unit.getActiveSheet();if(!t)return;const i=t.getZoomRatio()||1;this._zoom!==i&&this._updateViewZoom(i)}))}_updateViewZoom(o){this._zoom=o;const e=Be(this._context.unit,this._context);e==null||e.scene.scale(o,o),e==null||e.spreadsheet.makeForceDirty()}};gi=Tu([no(1,a.Inject(T.SheetSkeletonManagerService)),no(2,a.ICommandService),no(3,a.IContextService),no(4,a.Optional(Ie))],gi);const et={id:"sheet.operation.set-zoom-ratio",type:a.CommandType.OPERATION,handler:(n,o)=>{const t=n.get(y.IRenderManagerService).getRenderById(o.unitId);return t?t.with(gi).updateZoom(o.subUnitId,o.zoomRatio):!1}},Rn={id:"sheet.command.change-zoom-ratio",type:a.CommandType.COMMAND,handler:(n,o)=>{if(!o)return!1;const e=n.get(a.IUniverInstanceService),t=m.getSheetCommandTarget(e);if(!t)return!1;const{worksheet:i,subUnitId:r,unitId:s}=t,{delta:l,reset:c}=o;let d=c?100:Math.round((i.getConfig().zoomRatio+l)*100);d=Math.max(Qo[0],d),d=Math.min(Qo[1],d);const u=d/100,g=n.get(Ie).isVisible();return(g.unitId===s||g.unitId===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&g.visible?!1:n.get(a.ICommandService).executeCommand(et.id,{unitId:s,subUnitId:r,zoomRatio:u})}},Xt={id:"sheet.command.set-zoom-ratio",type:a.CommandType.COMMAND,handler:(n,o)=>{if(!o)return!1;const{unitId:e,subUnitId:t,zoomRatio:i}=o,s=n.get(Ie).isVisible();return(s.unitId===e||s.unitId===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&s.visible?!1:n.get(a.ICommandService).executeCommand(et.id,{unitId:e,subUnitId:t,zoomRatio:i})}},Yt=a.createIdentifier("univer.sheetbar-service");class ga extends a.Disposable{constructor(){super();w(this,"renameId$");w(this,"removeId$");w(this,"scroll$");w(this,"scrollX$");w(this,"addSheet$");w(this,"_renameId$");w(this,"_removeId$");w(this,"_scroll$");w(this,"_scrollX$");w(this,"_addSheet$");w(this,"_currentHandler",null);this._renameId$=new O.Subject,this.renameId$=this._renameId$.asObservable(),this._removeId$=new O.Subject,this.removeId$=this._removeId$.asObservable(),this._scroll$=new O.Subject,this.scroll$=this._scroll$.asObservable(),this._scrollX$=new O.Subject,this.scrollX$=this._scrollX$.asObservable(),this._addSheet$=new O.Subject,this.addSheet$=this._addSheet$.asObservable()}setRenameId(e){this._renameId$.next(e)}setRemoveId(e){this._removeId$.next(e)}setScroll(e){this._scroll$.next(e)}setScrollX(e){this._scrollX$.next(e)}setAddSheet(e){this._addSheet$.next(e)}triggerSheetBarMenu(){var e;(e=this._currentHandler)==null||e.handleSheetBarMenu()}registerSheetBarMenuHandler(e){if(this._currentHandler)throw new Error("There is already a context menu handler!");return this._currentHandler=e,a.toDisposable(()=>{this._currentHandler=null})}}const Si={id:"ui-sheet.command.show-menu-list",type:a.CommandType.OPERATION,handler:async n=>(n.get(Yt).triggerSheetBarMenu(),!0)},fi={type:a.CommandType.COMMAND,id:"sheet.command.delete-worksheet-protection-from-sheet-bar",async handler(n,o){if(!o)return!1;const e=n.get(a.ICommandService),t=n.get(a.IUndoRedoService),i=n.get(m.WorksheetProtectionRuleModel),s=n.get(a.IUniverInstanceService).getCurrentUnitForType(aa.UNIVER_SHEET),l=s==null?void 0:s.getActiveSheet(),c=s.getUnitId();if(!l)return!1;const d=l.getSheetId(),u=i.getRule(c,d);if(await e.executeCommand(m.DeleteWorksheetProtectionCommand.id,{unitId:c,subUnitId:d})){const g=[{id:m.DeleteWorksheetProtectionCommand.id,params:{unitId:c,subUnitId:d}}],S=[{id:m.AddWorksheetProtectionCommand.id,params:{unitId:c,rule:u}}];t.pushUndoRedo({unitID:c,redoMutations:g,undoMutations:S})}return!0}},vi={type:a.CommandType.COMMAND,id:"sheet.command.change-sheet-protection-from-sheet-bar",async handler(n){return await n.get(a.ICommandService).executeCommand("sheet-permission.operation.openDialog"),!0}},io={id:"sheet.operation.set-activate-cell-edit",type:a.CommandType.OPERATION,handler:(n,o)=>(n.get(Ie).setEditCell(o),!0)},Pe="sheets-ui.config",oo={formulaBar:!0,statusBarStatistic:!0,protectedRangeShadow:!0,maxAutoHeightCount:1e3};function Sr(n){return n===!0?"always":n===!1?"none":n||"always"}const be={id:"sheet.operation.set-cell-edit-visible",type:a.CommandType.OPERATION,handler:(n,o)=>{var c;if(!o||((c=n.get(a.IConfigService).getConfig(Pe))==null?void 0:c.disableEdit)&&o.visible)return!1;const{unitId:i}=o,s=n.get(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return s?(n.get(Ie).changeVisible({...o,unitId:i!=null?i:s.getUnitId()}),!0):!1}},pi={id:"sheet.operation.set-cell-edit-visible-f2",type:a.CommandType.OPERATION,handler:(n,o)=>{const e=n.get(a.ICommandService),i=n.get(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return i?e.syncExecuteCommand(be.id,{...o,unitId:i.getUnitId()}):!1}},jt={id:"sheet.operation.set-cell-edit-visible-arrow",type:a.CommandType.OPERATION,handler:()=>!0},Ci={id:"sheet.operation.rename-sheet",type:a.CommandType.OPERATION,handler:async(n,o)=>{const e=n.get(Yt);return o&&e.setRenameId(o.subUnitId),!0}},ro={id:"sheet.operation.scroll-to-range",type:a.CommandType.OPERATION,handler:(n,o)=>{if(!o)return!1;const e=n.get(a.IUniverInstanceService);return n.get(y.IRenderManagerService).getRenderById(e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(T.SheetsScrollRenderController).scrollToRange(o.range,o.forceTop,o.forceLeft)}},fr={type:a.CommandType.OPERATION,id:"sheet-permission.operation.openDialog",async handler(n,o){const e=n.get(_.IDialogService);return e.close("DESKTOP_FIND_REPLACE_DIALOG"),e.open({id:Qi,title:{title:"permission.dialog.allowedPermissionType"},children:{label:ca},width:393,destroyOnClose:!0,onClose:()=>e.close(Qi)}),!0}},_i="DefinedNameContainer",so={id:"sidebar.operation.defined-name",type:a.CommandType.COMMAND,handler:async(n,o)=>{const e=n.get(_.ISidebarService);n.get($.IEditorService);const t=n.get(a.LocaleService),i=n.get(a.IUniverInstanceService),r=m.getSheetCommandTarget(i);if(!r)return!1;const{unitId:s}=r;return o.value==="open"?e.open({id:_i,header:{title:t.t("definedName.featureTitle")},children:{label:_i},onClose:()=>{},width:333}):e.close(),!0}};function yu(n,o){if(n.length!==o.length)return!1;const e=n.sort((i,r)=>i.id.localeCompare(r.id)),t=o.sort((i,r)=>i.id.localeCompare(r.id));return e.every((i,r)=>{var s,l;return((s=i.subject)==null?void 0:s.userID)===((l=t[r].subject)==null?void 0:l.userID)&&i.role===t[r].role})}function Ru(n,o){return o.some(e=>Mu(n,e))}function Mu(n,o){const{startRow:e,startColumn:t,endColumn:i,endRow:r}=o,s=n.getMatrixWithMergedCells(e,t,r,i);let l=!1;return s.forValue((c,d,u)=>{if(u&&(c!==e||d!==t)&&n.cellHasValue(u))return l=!0,!1}),l}function Pu(n,o,e,t){const i=e.getActiveViewportByCoord(y.Vector2.FromArray([n,o]));if(!i)return;const{scaleX:r,scaleY:s}=e.getAncestorScale(),l={x:i.viewportScrollX,y:i.viewportScrollY},c=t.getCellIndexByOffset(n,o,r,s,l),d=t.worksheet.getMergedCell(c.row,c.column);return{actualRow:d?d.startRow:c.row,actualCol:d?d.startColumn:c.column,mergeCell:d,row:c.row,col:c.column}}function vr(n,o,e,t){const i=t.getFreeze();if(!i||i.startRow<=0&&i.startColumn<=0||n>=i.startRow&&o>=i.startColumn)return e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(n<i.startRow&&o<i.startColumn)return e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP);if(n<i.startRow&&o>=i.startColumn)return e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(n>=i.startRow&&o<i.startColumn)return e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}function Ou(n,o,e,t){const i=Sa(n.left,n.top,o,e,t),r=Sa(n.right,n.bottom,o,e,t);return{left:i.x,top:i.y,right:r.x,bottom:r.y}}function Sa(n,o,e,t,i){const{scaleX:r,scaleY:s}=e.getAncestorScale(),l=e.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!l)return{x:n,y:o};const c=i.getFreeze(),{startColumn:d,startRow:u,xSplit:h,ySplit:g}=c,S=t.getNoMergeCellWithCoordByIndex(u-g,d-h,!1),f=t.getNoMergeCellWithCoordByIndex(u,d,!1),{rowHeaderWidth:v,columnHeaderHeight:p}=t,C=f.startX-S.startX,b=f.startY-S.startY,{top:E,left:R,viewportScrollX:P,viewportScrollY:M}=l;let A;n>R?A=(n-P)*r:A=(C+v-(R-n))*r;let D;return o>E?D=(o-M)*s:D=(b+p-(E-o))*r,{x:A,y:D}}function fa(n,o,e,t,i){let r=t,s=i;e.overflowCache.forValue((d,u,h)=>{h.startRow<=r&&h.endRow>=r&&h.startColumn<=s&&h.endColumn>=s&&(s=u,r=d)});const l=e.getCellWithCoordByIndex(r,s);return{unitId:n.getUnitId(),subUnitId:o.getSheetId(),workbook:n,worksheet:o,row:l.actualRow,col:l.actualColumn}}function va(n,o,e,t,i,r){const{scene:s}=n,l=o.getUnitId(),{skeleton:c,sheetId:d}=t,u=Pu(i,r,s,c);if(!u)return null;let{actualCol:h,actualRow:g}=u;const S={unitId:l,subUnitId:d,workbook:o,worksheet:e,row:g,col:h};c.overflowCache.forValue((M,A,D)=>{D.startRow<=g&&D.endRow>=g&&D.startColumn<=h&&D.endColumn>=h&&(h=A,g=M)});const f=c.getCellWithCoordByIndex(g,h),v=fa(o,e,c,g,h);let p;f.mergeInfo?p=f.mergeInfo:p={startRow:v.row,endRow:v.row,startColumn:v.col,endColumn:v.col};const C=s.getActiveViewportByCoord(y.Vector2.FromArray([i,r]));if(!C)return;const{scaleX:b,scaleY:E}=s.getAncestorScale(),R={x:C.viewportScrollX,y:C.viewportScrollY};return{position:{startX:(c.getOffsetByColumn(p.startColumn-1)-R.x)*b,endX:(c.getOffsetByColumn(p.endColumn)-R.x)*b,startY:(c.getOffsetByRow(p.startRow-1)-R.y)*E,endY:(c.getOffsetByRow(p.endRow)-R.y)*E},location:S,overflowLocation:v}}function Et(){const n=_.useDependency(a.IUniverInstanceService),o=_.useObservable(()=>n.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]);return o!=null?o:null}function Au(n){return _.useObservable(()=>{var e;return(e=n==null?void 0:n.activeSheet$)!=null?e:O.of(null)},void 0,void 0,[n])}function Du(){const n=_.useDependency(a.IUniverInstanceService);return _.useObservable(()=>O.merge([n.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_SHEET),n.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_SHEET)]).pipe(O.map(()=>n.getAllUnitsForType(a.UniverInstanceType.UNIVER_SHEET)),O.startWith(n.getAllUnitsForType(a.UniverInstanceType.UNIVER_SHEET))),[],void 0,[n])}const ku="SheetUI";var pr=(n=>(n.FILTER_PANEL_EMBED_POINT="filter-panel-embed-point",n.SHEETS_FOOTER="sheets-footer",n.FORMULA_AUX="formula-aux",n))(pr||{}),Nu=Object.getOwnPropertyDescriptor,Hu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Nu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ao=(n,o)=>(e,t)=>o(e,t,n);const pa="univer-sheet-main-canvas";T.SheetsRenderService=class extends a.RxDisposable{constructor(e,t,i,r){super();w(this,"_skeletonChangeMutations",new Set);this._contextService=e,this._instanceSrv=t,this._renderManagerService=i,this._themeService=r,Promise.resolve().then(()=>this._init())}registerSkeletonChangingMutations(e){return this._skeletonChangeMutations.has(e)?a.toDisposable(()=>{}):(this._skeletonChangeMutations.add(e),a.toDisposable(()=>this._skeletonChangeMutations.delete(e)))}checkMutationShouldTriggerRerender(e){return this._skeletonChangeMutations.has(e)}_init(){this._initWorkbookListener(),this._initContextListener()}_initWorkbookListener(){this._instanceSrv.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_SHEET).pipe(O.takeUntil(this.dispose$)).subscribe(e=>this._createRenderer(e)),this._instanceSrv.getAllUnitsForType(a.UniverInstanceType.UNIVER_SHEET).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_SHEET).pipe(O.takeUntil(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){const t=e.getUnitId();this._renderManagerService.created$.subscribe(i=>{i.unitId===t&&(i.engine.getCanvas().setId(`${pa}_${t}`),i.engine.getCanvas().getContext().setId(`${pa}_${t}`))}),this._renderManagerService.createRender(t)}_disposeRenderer(e){const t=e.getUnitId();this._renderManagerService.removeRender(t)}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(y.RENDER_RAW_FORMULA_KEY).pipe(O.distinctUntilChanged()).subscribe(()=>{this._renderManagerService.getRenderAll().forEach(e=>{e.mainComponent instanceof y.Spreadsheet&&e.mainComponent.makeForceDirty(!0)})}))}},T.SheetsRenderService=Hu([ao(0,a.IContextService),ao(1,a.IUniverInstanceService),ao(2,y.IRenderManagerService),ao(3,a.Inject(a.ThemeService))],T.SheetsRenderService);var Vu=Object.getOwnPropertyDescriptor,Wu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Vu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Zt=(n,o)=>(e,t)=>o(e,t,n);T.AutoFillUIController=class extends a.Disposable{constructor(e,t,i,r,s,l,c){super();w(this,"_currentLocation",null);this._univerInstanceService=e,this._commandService=t,this._autoFillService=i,this._autoFillController=r,this._editorBridgeService=s,this._renderManagerService=l,this._sheetsRenderService=c,this._init()}_init(){this._initDefaultHook(),this._initSelectionControlFillChanged(),this._initQuitListener(),this._initSkeletonChange()}_initSkeletonChange(){this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(m.AutoFillCommand.id))}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook({id:"default-ui",type:m.AUTO_FILL_HOOK_TYPE.DEFAULT,priority:0,onBeforeFillData:e=>{this._currentLocation=e}}))}_initQuitListener(){const e=[be.id,m.AutoClearContentCommand.id,m.SetRangeValuesCommand.id,et.id,m.SetWorksheetActiveOperation.id,m.MoveRangeMutation.id,m.RemoveRowMutation.id,m.RemoveColMutation.id,m.InsertRowMutation.id,m.InsertColMutation.id,m.MoveRowsMutation.id,m.MoveColsMutation.id,m.SetWorksheetColWidthMutation.id,m.SetWorksheetRowHeightMutation.id,m.SetRangeValuesMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted((t,i)=>{var c,d;const r=i==null?void 0:i.fromCollab,s=i==null?void 0:i.fromSync,l=i==null?void 0:i.fromFormula;e.includes(t.id)&&!r&&!s&&!l&&t.params.trigger!==m.AutoFillCommand.id&&t.params.trigger!==m.RefillCommand.id&&this._quit(),t.id===m.RemoveSheetMutation.id&&t.params.unitId===((c=this._currentLocation)==null?void 0:c.unitId)&&t.params.subUnitId===((d=this._currentLocation)==null?void 0:d.subUnitId)&&this._quit()})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(t=>{var i;t.getUnitId()===((i=this._currentLocation)==null?void 0:i.unitId)&&this._quit()}))}_quit(){this._currentLocation=null,this._autoFillController.quit(),this._autoFillService.setShowMenu(!1)}_initSelectionControlFillChanged(){const e=new a.DisposableCollection,t=()=>{e.dispose();const i=y.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService);if(!i)return;i.with(ye).getSelectionControls().forEach(l=>{e.add(l.selectionFilled$.subscribe(c=>{if(c==null||c.startColumn===-1||c.startRow===-1||c.endColumn===-1||c.endRow===-1)return;const d={startColumn:l.model.startColumn,endColumn:l.model.endColumn,startRow:l.model.startRow,endRow:l.model.endRow},u={startColumn:c.startColumn,endColumn:c.endColumn,startRow:c.startRow,endRow:c.endRow};this._commandService.executeCommand(m.AutoFillCommand.id,{sourceRange:d,targetRange:u})})),e.add(l.fillControl.onDblclick$.subscribeEvent(()=>{const c={startColumn:l.model.startColumn,endColumn:l.model.endColumn,startRow:l.model.startRow,endRow:l.model.endRow};this._handleDbClickFill(c)})),e.add(l.fillControl.onPointerDown$.subscribeEvent(()=>{this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.PointerDown,unitId:i.unitId})}))})};t(),this.disposeWithMe(this._commandService.onCommandExecuted(i=>{i.id===m.SetSelectionsOperation.id&&t()})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(()=>t()))}_handleDbClickFill(e){const t=this._detectFillRange(e);t.endRow<=e.endRow||this._commandService.executeCommand(m.AutoFillCommand.id,{sourceRange:e,targetRange:t})}_detectFillRange(e){var g,S,f,v,p,C;const{startRow:t,endRow:i,startColumn:r,endColumn:s}=e,l=(g=this._univerInstanceService.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET))==null?void 0:g.getActiveSheet();if(!l)return e;const c=l.getCellMatrix(),d=l.getMaxRows(),u=l.getMaxColumns();let h=i+1;if(r>0&&((S=c.getValue(h,r-1))==null?void 0:S.v)!=null)for(;((f=c.getValue(h+1,r-1))==null?void 0:f.v)!=null&&h<d;)h+=1;else if(s<u-1&&((v=c.getValue(h,s+1))==null?void 0:v.v)!=null)for(;((p=c.getValue(h+1,s+1))==null?void 0:p.v)!=null&&h<d;)h+=1;else h=i;for(let b=i+1;b<=h;b++)for(let E=r;E<=s;E++)if(((C=c.getValue(b,E))==null?void 0:C.v)!=null){h=b-1;break}return{startColumn:r,endColumn:s,startRow:t,endRow:h}}},T.AutoFillUIController=Wu([Zt(0,a.IUniverInstanceService),Zt(1,a.ICommandService),Zt(2,m.IAutoFillService),Zt(3,a.Inject(m.AutoFillController)),Zt(4,Ie),Zt(5,y.IRenderManagerService),Zt(6,a.Inject(T.SheetsRenderService))],T.AutoFillUIController);var Lu=Object.getOwnPropertyDescriptor,xu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Lu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ii=(n,o)=>(e,t)=>o(e,t,n);T.AutoHeightController=class extends a.Disposable{constructor(o,e,t,i,r){super(),this._renderManagerService=o,this._sheetInterceptorService=e,this._selectionManagerService=t,this._univerInstanceService=i,this._configService=r,this._initialize()}_processLazyAutoHeight(o,e,t,i){if(i!=null&&i.length){const r={id:m.MarkDirtyRowAutoHeightMutation.id,params:{unitId:e,subUnitId:t,ranges:i,id:a.generateRandomId()},options:{onlyLocal:!0}},s={id:m.CancelMarkDirtyRowAutoHeightMutation.id,params:{unitId:e,subUnitId:t,id:r.params.id},options:{onlyLocal:!0}};return{redos:[...o.redos,r],undos:[...o.undos,s]}}return o}getUndoRedoParamsOfAutoHeight(o,e,t){const{_univerInstanceService:i}=this,r=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=r.getUnitId();let l=r.getActiveSheet(),c=l.getSheetId();if(e){const v=m.getSheetCommandTarget(i,{unitId:s,subUnitId:e});v&&(l=v.worksheet,c=l.getSheetId())}const u=this._renderManagerService.getRenderById(s).with(T.SheetSkeletonManagerService).ensureSkeleton(c);if(!u)return{redos:[],undos:[]};const g=u.calculateAutoHeightInRange(o,t).filter(v=>{const{row:p,autoHeight:C}=v;return!(!C||l.getRowHeight(p)===C)});if(g.length===0)return{redos:[],undos:[]};const S={subUnitId:c,unitId:s,rowsAutoHeightInfo:g},f=m.SetWorksheetRowAutoHeightMutationFactory(S,l);return{undos:[{id:m.SetWorksheetRowAutoHeightMutation.id,params:f}],redos:[{id:m.SetWorksheetRowAutoHeightMutation.id,params:S}]}}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptAutoHeight({getMutations:o=>{const{unitId:e,subUnitId:t,ranges:i,autoHeightRanges:r,lazyAutoHeightRanges:s,cellHeights:l}=o,c=this.getUndoRedoParamsOfAutoHeight(r!=null?r:i,t,l);return this._processLazyAutoHeight(c,e,t,s)}}))}},T.AutoHeightController=xu([Ii(0,y.IRenderManagerService),Ii(1,a.Inject(m.SheetInterceptorService)),Ii(2,a.Inject(m.SheetsSelectionsService)),Ii(3,a.Inject(a.IUniverInstanceService)),Ii(4,a.IConfigService)],T.AutoHeightController);var Uu=Object.getOwnPropertyDescriptor,Bu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Uu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Cr=(n,o)=>(e,t)=>o(e,t,n);T.CellCustomRenderController=class extends a.Disposable{constructor(e,t,i,r){super();w(this,"_enterActiveRender");this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=i,this._permissionService=r,this._initEventBinding()}_initEventBinding(){const e=new a.DisposableCollection,t=this._context.unit,i=r=>{if(e.dispose(),!r)return;const s=this._context.unitId,{skeleton:l}=r,c=this._renderManagerService.getRenderById(s);if(c&&c.mainComponent){const d=c.mainComponent,u=S=>{const{offsetX:f,offsetY:v}=S,p=c.scene,C=t.getActiveSheet();if(!C)return;const b=p.getActiveViewportByCoord(y.Vector2.FromArray([f,v]));if(!b)return;const{scaleX:E,scaleY:R}=p.getAncestorScale(),P={x:b.viewportScrollX,y:b.viewportScrollY},M=l.getCellIndexByOffset(f,v,E,R,P),A=l.worksheet.getMergedCell(M.row,M.column),D={actualRow:A?A.startRow:M.row,actualCol:A?A.startColumn:M.column,row:M.row,col:M.column};if(!D||!l)return;const k=C.getCell(D.actualRow,D.actualCol);if(!k)return;const N=k.customRender;if(!(N!=null&&N.length))return;const H=D.actualRow,V=D.actualCol,L=N.sort(a.sortRules),W=C.getSheetId(),U={data:k,style:l.getStyles().getStyleByCell(k),primaryWithCoord:l.getCellWithCoordByIndex(D.actualRow,D.actualCol),unitId:s,subUnitId:W,row:H,col:V,workbook:t,worksheet:C},B={x:P.x+f/E,y:P.y+v/R},X=L.find(z=>{var Y;return(Y=z.isHit)==null?void 0:Y.call(z,B,U)});if(X)return[X,U]},h=d.onPointerDown$.subscribeEvent(S=>{var v,p,C,b;const f=u(S);if(f){const[E,R]=f,{row:P,col:M,worksheet:A,unitId:D,subUnitId:k}=R;if(!((v=this._permissionService.composePermission([new m.WorkbookEditablePermission(D).id,new m.WorksheetEditPermission(D,k).id]))==null?void 0:v.every(V=>V.value)))return!1;const H=(C=(p=A.getCell(P,M))==null?void 0:p.selectionProtection)==null?void 0:C[0];if((H==null?void 0:H[m.UnitAction.Edit])===!1)return!1;(b=E.onPointerDown)==null||b.call(E,R,S)}}),g=a.fromEventSubject(d.onPointerMove$).pipe(O.throttleTime(30)).subscribe(S=>{var v,p,C,b,E,R;const f=u(S);if(f){const[P,M]=f;this._enterActiveRender?this._enterActiveRender.render!==P&&((p=(v=this._enterActiveRender.render).onPointerLeave)==null||p.call(v,this._enterActiveRender.cellContext,S),this._enterActiveRender={render:P,cellContext:M},(C=P.onPointerEnter)==null||C.call(P,M,S)):(this._enterActiveRender={render:P,cellContext:M},(b=P.onPointerEnter)==null||b.call(P,M,S))}else this._enterActiveRender&&((R=(E=this._enterActiveRender.render).onPointerLeave)==null||R.call(E,this._enterActiveRender.cellContext,S),this._enterActiveRender=null)});h&&e.add(h),g&&e.add(g)}};this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(i)),i(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(e)}},T.CellCustomRenderController=Bu([Cr(1,a.Inject(T.SheetSkeletonManagerService)),Cr(2,y.IRenderManagerService),Cr(3,a.IPermissionService)],T.CellCustomRenderController);var Fu=Object.getOwnPropertyDescriptor,zu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Fu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ca=(n,o)=>(e,t)=>o(e,t,n);T.DragManagerService=class extends a.Disposable{constructor(e,t){super();w(this,"_currentCell$",new O.Subject);w(this,"currentCell$",this._currentCell$.asObservable().pipe(O.distinctUntilChanged((e,t)=>{var i,r,s,l,c,d,u,h;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((l=t==null?void 0:t.location)==null?void 0:l.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((d=t==null?void 0:t.location)==null?void 0:d.row)&&((u=e==null?void 0:e.location)==null?void 0:u.col)===((h=t==null?void 0:t.location)==null?void 0:h.col)})));w(this,"_endCell$",new O.Subject);w(this,"endCell$",this._endCell$.asObservable());this._univerInstanceService=e,this._renderManagerService=t,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!i)return null;const r=i.getActiveSheet();if(!r)return;const s=this._renderManagerService.getRenderById(i.getUnitId());if(!s)return;const l=s.with(T.SheetSkeletonManagerService).getCurrentParam(),d=s.with(T.SheetScrollManagerService).getCurrentScrollState();if(!(!l||!d||!s))return va(s,i,r,l,e,t)}onDragOver(e){const{offsetX:t,offsetY:i,dataTransfer:r}=e,s=this._calcActiveCell(t,i);if(!s){this._currentCell$.next(null);return}const{location:l,position:c}=s;this._currentCell$.next({location:l,position:c,dataTransfer:r})}onDrop(e){const{offsetX:t,offsetY:i,dataTransfer:r}=e,s=this._calcActiveCell(t,i);if(!s){this._endCell$.next(null);return}const{location:l,position:c}=s;this._endCell$.next({location:l,position:c,dataTransfer:r})}},T.DragManagerService=zu([Ca(0,a.IUniverInstanceService),Ca(1,y.IRenderManagerService)],T.DragManagerService);var Xu=Object.getOwnPropertyDescriptor,Yu=(n,o,e,t)=>{for(var i=t>1?void 0:t?Xu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},_r=(n,o)=>(e,t)=>o(e,t,n);T.DragRenderController=class extends a.Disposable{constructor(o,e,t,i){super(),this._context=o,this._renderManagerService=e,this._dragManagerService=t,this._sheetSkeletonManagerService=i,this._initDragEvent()}_initDragEvent(){const o=new a.DisposableCollection,e=t=>{if(o.dispose(),!t)return;const{scene:i}=this._context,r=i.onDragOver$.subscribeEvent(l=>{this._dragManagerService.onDragOver(l)}),s=i.onDrop$.subscribeEvent(l=>{this._dragManagerService.onDrop(l)});o.add({dispose(){r.unsubscribe(),s.unsubscribe()}})};e(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{e(t)}))}},T.DragRenderController=Yu([_r(1,y.IRenderManagerService),_r(2,a.Inject(T.DragManagerService)),_r(3,a.Inject(T.SheetSkeletonManagerService))],T.DragRenderController);class Ir{constructor(){w(this,"_state",null);w(this,"_rect",null);w(this,"_state$",new O.BehaviorSubject(null));w(this,"state$",this._state$.asObservable());w(this,"_rect$",new O.BehaviorSubject(null));w(this,"rect$",this._rect$.asObservable());w(this,"_focus",!1);w(this,"_focus$",new O.BehaviorSubject(this._focus));w(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(o){this._state=o,this._refresh(o)}getRect(){return this._rect}setRect(o){this._rect=o,this._rect$.next(o)}getState(){return this._state}setFocus(o=!1){this._focus=o,this._focus$.next(o)}_refresh(o){this._state$.next(o)}}const Mn=a.createIdentifier("univer.sheet-cell-editor-manager.service");var ju=Object.getOwnPropertyDescriptor,Zu=(n,o,e,t)=>{for(var i=t>1?void 0:t?ju(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Pn=(n,o)=>(e,t)=>o(e,t,n);const _a=5,Ia=2;T.SheetCellEditorResizeService=class extends a.Disposable{constructor(o,e,t,i,r,s){super(),this._layoutService=o,this._cellEditorManagerService=e,this._editorBridgeService=t,this._renderManagerService=i,this._univerInstanceService=r,this._configService=s}get _currentRenderer(){return y.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService)}get _editingUnitId(){var o,e;return(e=(o=this._editorBridgeService.getEditCellState())==null?void 0:o.unitId)!=null?e:""}get _editingRenderer(){return this._renderManagerService.getRenderById(this._editingUnitId)}get _renderer(){var e;const o=(e=this._univerInstanceService.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET))==null?void 0:e.getUnitId();return this._editingUnitId===o?this._editingRenderer:this._currentRenderer}get _sheetSkeletonManagerService(){var o;return(o=this._renderer)==null?void 0:o.with(T.SheetSkeletonManagerService)}get engine(){var o;return(o=this._renderer)==null?void 0:o.engine}fitTextSize(o){var k,N,H,V;const e=this._editorBridgeService.getEditCellState();if(!e)return;const{position:t,documentLayoutObject:i,canvasOffset:r,scaleX:s,scaleY:l}=e,{startX:c,startY:d,endX:u,endY:h}=t,g=this._univerInstanceService.getUnit(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.UniverInstanceType.UNIVER_DOC);if(g==null)return;const S=this._getEditorSkeleton();if(!S)return;const f=this._predictingSize(t,r,S,i,s,l);if(!f||f.actualWidth<=0)return;let{actualWidth:v,actualHeight:p}=f;const{verticalAlign:C,horizontalAlign:b,paddingData:E,fill:R}=i;v=v+((k=E.l)!=null?k:0)*s+((N=E.r)!=null?N:0)*s,p=p+((H=E.t)!=null?H:0)*l+((V=E.b)!=null?V:0)*l;let P=u-c,M=h-d;P<v&&(P=Math.ceil(v)),M<p&&(M=Math.ceil(p));let A=0;C===a.VerticalAlign.MIDDLE?A=(M-p)/2/l:C===a.VerticalAlign.TOP?A=E.t||0:A=(M-p)/l;let D=0;b===a.HorizontalAlign.CENTER||(b===a.HorizontalAlign.RIGHT?D=(P-v)/s:D=E.l||0),A=Math.max(A,E.t||0),D=Math.max(D,E.l||0),g.updateDocumentDataMargin({t:A,l:D}),S.calculate(),this._editAreaProcessing(P,M,t,r,R,s,l,b,o)}_predictingSize(o,e,t,i,r=1,s=1){const{startX:l,endX:c}=o,{textRotation:d,wrapStrategy:u,paddingData:h}=i,g=this._univerInstanceService.getUnit(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.UniverInstanceType.UNIVER_DOC),{vertexAngle:S}=y.convertTextRotation(d);if(u===a.WrapStrategy.WRAP&&S===0){g==null||g.updateDocumentDataPageSize((c-l)/r),g==null||g.updateDocumentDataMargin({l:h.l,t:h.t}),t.calculate();const{actualWidth:C,actualHeight:b}=t.getActualSize();return{actualWidth:C*r,actualHeight:b*s}}const f=this._getEditorMaxSize(o,e,i.horizontalAlign);if(!f)return;g==null||g.updateDocumentDataPageSize(f.width/r),t.calculate();const v=t.getActualSize();let p=c-l;return p<v.actualWidth*r+_a*r&&(p=v.actualWidth*r+_a*r),g==null||g.updateDocumentDataPageSize(p/r),g==null||g.updateDocumentRenderConfig({horizontalAlign:a.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:v.actualWidth*r,actualHeight:v.actualHeight*s}}_getEditorMaxSize(o,e,t){if(this._getEditorObject()==null)return;function r(E){return Number.parseInt(E.replace("px",""))}const s=this.engine;if(!s)return;const l=s.getCanvasElement(),c=l.getBoundingClientRect(),d=r(l.style.width),{width:u,height:h}=c,g=u/d,{startX:S,startY:f,endX:v}=o,p=s.width,C=h-f-Ia*2;let b=u-S;if(t===a.HorizontalAlign.CENTER){const E=p-v,R=S;b=v-S+Math.min(R,E)*2}else t===a.HorizontalAlign.RIGHT&&(b=v);return b=b-Ia*2,{height:C,width:b,scaleAdjust:g}}_editAreaProcessing(o,e,t,i,r,s=1,l=1,c,d){var W;const u=this._getEditorObject();if(u==null)return;const h=this.engine;if(!h)return;const g=h.getCanvasElement();let{startX:S,startY:f}=t;const{document:v,scene:p,engine:C}=u,b=p.getViewport($.VIEWPORT_KEY.VIEW_MAIN),E=this._getEditorMaxSize(t,i,c),{height:R,width:P,scaleAdjust:M}=E;let A=e,D=b==null?void 0:b.getScrollBar();A>R?(D==null?b&&new y.ScrollBar(b,{enableHorizontal:!1,barSize:8}):b==null||b.resetCanvasSizeAndUpdateScroll(),b==null||b.scrollToViewportPos({viewportScrollY:A-R}),A=R):(D=null,(W=b==null?void 0:b.getScrollBar())==null||W.dispose()),o+=(D==null?void 0:D.barSize)||0,o>P&&(o=P),this._addBackground(p,o/s,e/l,r);const{scaleX:k,scaleY:N}=p.getPrecisionScale();p.transformByState({width:o*M/s,height:e*M/l,scaleX:s*M,scaleY:l*M}),v.resize(o*M/s,e*M/l),setTimeout(()=>{C.resizeBySize(y.fixLineWidthByScale(o,k),y.fixLineWidthByScale(A,N)),d==null||d()},0);const H=this._layoutService.getContentElement().getBoundingClientRect(),V=g.getBoundingClientRect();S=S*M+(V.left-H.left),f=f*M+(V.top-H.top);const L=t.endX-t.startX;c===a.HorizontalAlign.RIGHT?S+=(L-o)*M:c===a.HorizontalAlign.CENTER&&(S+=(L-o*M)/2),this._cellEditorManagerService.setState({startX:S,startY:f,endX:o*M+S,endY:A*M+f,show:!0})}_addBackground(o,e,t,i){const r="_backgroundRectHelperColor_",s=o.getObject(r);s==null&&i==null||(s==null?o.addObjects([new y.Rect(r,{width:e,height:t,fill:i,evented:!1})],$.DOCS_COMPONENT_MAIN_LAYER_INDEX):i==null?s.dispose():(s.setProps({fill:i}),s.transformByState({width:e,height:t})))}resizeCellEditor(o){var M,A;const e=this._cellEditorManagerService.getState();if(!e||!this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellPosition(!0);const t=this._editorBridgeService.getEditCellState();if(!t)return;const i=(A=(M=this._sheetSkeletonManagerService)==null?void 0:M.getSkeletonParam(t.sheetId))==null?void 0:A.skeleton;if(!i)return;const{row:r,column:s,scaleX:l,scaleY:c,position:d,canvasOffset:u,documentLayoutObject:h}=t,{horizontalAlign:g}=h,S=this._getEditorMaxSize(d,u,g);if(!S)return;const{height:f,width:v,scaleAdjust:p}=S,C=i.getCellWithCoordByIndex(r,s),b=Math.min((C.mergeInfo.endY-C.mergeInfo.startY)*c,f)*p,E=Math.min((C.mergeInfo.endX-C.mergeInfo.startX)*l,v)*p,R=e.endY-e.startY,P=e.endX-e.startX;if(R!==b||P!==E){if(this._editorBridgeService.refreshEditCellPosition(!0),!this._getEditorSkeleton())return;this.fitTextSize(o)}}_getEditorObject(){return Ui(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_getEditorSkeleton(){var o;return(o=this._renderManagerService.getRenderById(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:o.with(Te.DocSkeletonManagerService).getSkeleton()}},T.SheetCellEditorResizeService=Zu([Pn(0,_.ILayoutService),Pn(1,Mn),Pn(2,Ie),Pn(3,y.IRenderManagerService),Pn(4,a.IUniverInstanceService),Pn(5,a.IConfigService)],T.SheetCellEditorResizeService);var Gu=Object.getOwnPropertyDescriptor,Ku=(n,o,e,t)=>{for(var i=t>1?void 0:t?Gu(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Gt=(n,o)=>(e,t)=>o(e,t,n);let bi=class extends a.RxDisposable{constructor(o,e,t,i,r,s,l,c){super();w(this,"_d");this._context=o,this._instanceSrv=e,this._commandService=t,this._editorBridgeService=i,this._selectionManagerService=r,this._contextService=s,this._renderManagerService=l,this._sheetSkeletonManagerService=c,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(d=>{d&&d.getUnitId()===this._context.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){const o=new a.DisposableCollection;return this._initSelectionChangeListener(o),this._initEventListener(o),this._commandExecutedListener(o),this._initialKeyboardListener(o),o}_disposeCurrent(){var o;(o=this._d)==null||o.dispose(),this._d=null}_initSelectionChangeListener(o){o.add(O.merge(this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$,this._selectionManagerService.selectionMoveStart$).subscribe(e=>this._updateEditorPosition(e)))}_updateEditorPosition(o){var t,i,r;if(this._editorBridgeService.isVisible().visible)return;const e=(t=o==null?void 0:o[o.length-1])==null?void 0:t.primary;if(e){const s=this._getSheetObject(),{scene:l,engine:c}=s,d=this._context.unitId,u=(i=this._context.unit.getActiveSheet())==null?void 0:i.getSheetId();if(!u)return;const h=(r=this._sheetSkeletonManagerService.getSkeletonParam(u))==null?void 0:r.skeleton.getCellWithCoordByIndex(e.actualRow,e.actualColumn),g=h?{actualRow:h.actualRow,actualColumn:h.actualColumn,isMerged:h.isMerged,startRow:h.mergeInfo.startRow,startColumn:h.mergeInfo.startColumn,endRow:h.mergeInfo.endRow,endColumn:h.mergeInfo.endColumn,isMergedMainCell:h.isMergedMainCell}:e;this._commandService.executeCommand(io.id,{scene:l,engine:c,primary:g,unitId:d,sheetId:u})}}refreshEditorPosition(){const o=this._selectionManagerService.getWorkbookSelections(this._context.unitId);if(o){const e=o.getCurrentSelections();e&&this._updateEditorPosition([...e])}}_initEventListener(o){const e=this._getSheetObject(),{spreadsheet:t,spreadsheetColumnHeader:i,spreadsheetLeftTopPlaceholder:r,spreadsheetRowHeader:s}=e;o.add(t.onDblclick$.subscribeEvent(l=>{l.button!==2&&this._commandService.executeCommand(be.id,{visible:!0,eventType:y.DeviceInputEventType.Dblclick,unitId:this._context.unitId})})),o.add(t.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),o.add(i.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),o.add(r.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),o.add(s.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1}))}_initialKeyboardListener(o){let e=null;const t=r=>{const s=r.with($.DocSelectionRenderService);s&&(e=a.toDisposable(s.onInputBefore$.subscribe(l=>{if(!this._isCurrentSheetFocused())return;const c=this._contextService.getContextValue(a.FOCUSING_FX_BAR_EDITOR),d=this._contextService.getContextValue(a.FOCUSING_SHEET),u=r.unitId;this._editorBridgeService.isVisible().visible||u&&d&&!c&&this._showEditorByKeyboard(l)})),o.add(e))},i=this._renderManagerService.getRenderById(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);i?t(i):this.disposeWithMe(this._renderManagerService.created$.pipe(O.filter(r=>r.unitId===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)).subscribe(r=>{e==null||e.dispose(),t(r)}))}_commandExecutedListener(o){const e=new Set([m.ClearSelectionFormatCommand.id,Xt.id]);o.add(this._commandService.onCommandExecuted(t=>{if(e.has(t.id)){if(this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellState()}})),o.add(this._commandService.beforeCommandExecuted((t,i)=>{i!=null&&i.fromCollab||t.id===m.SetWorksheetActiveOperation.id&&this._tryHideEditor()}))}_showEditorByKeyboard(o){const e=o==null?void 0:o.event;o==null||!e.data&&e.inputType!=="InsertParagraph"||this._commandService.syncExecuteCommand(be.id,{visible:!0,eventType:y.DeviceInputEventType.Keyboard,keycode:e.which,unitId:this._context.unitId})}_tryHideEditor(){this._editorBridgeService.isForceKeepVisible()||this._hideEditor()}_hideEditor(){this._editorBridgeService.isVisible().visible===!0&&this._commandService.syncExecuteCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.PointerDown,unitId:this._context.unitId})}_getSheetObject(){return Be(this._context.unit,this._context)}_isCurrentSheetFocused(){var o;return((o=this._instanceSrv.getFocusedUnit())==null?void 0:o.getUnitId())===this._context.unitId}};bi=Ku([Gt(1,a.IUniverInstanceService),Gt(2,a.ICommandService),Gt(3,Ie),Gt(4,a.Inject(m.SheetsSelectionsService)),Gt(5,a.IContextService),Gt(6,y.IRenderManagerService),Gt(7,a.Inject(T.SheetSkeletonManagerService))],bi);const ba=[_.KeyCode.ARROW_DOWN,_.KeyCode.ARROW_UP,_.KeyCode.ARROW_LEFT,_.KeyCode.ARROW_RIGHT],qu=[_.KeyCode.ENTER,_.KeyCode.TAB,...ba];function Ea(){const n=[];for(const o of ba)n.push({id:jt.id,binding:o,preconditions:e=>rn(e),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:o,isShift:!1}}),n.push({id:jt.id,binding:o|_.MetaKeys.SHIFT,preconditions:e=>rn(e),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:o,isShift:!0}});return n}const wa={id:pi.id,binding:_.KeyCode.F2,description:"shortcut.sheet.start-editing",group:"4_sheet-edit",preconditions:me,staticParameters:{visible:!0,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.F2}},Ta={id:be.id,binding:_.KeyCode.ENTER,description:"shortcut.sheet.toggle-editing",group:"4_sheet-edit",preconditions:n=>rn(n),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.ENTER}},ya={id:be.id,binding:_.KeyCode.TAB,preconditions:n=>rn(n),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.TAB}},Ra={id:be.id,binding:_.KeyCode.ESC,description:"shortcut.sheet.abort-editing",group:"4_sheet-edit",preconditions:n=>rn(n),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.ESC}},Ma={id:be.id,binding:_.KeyCode.ENTER|_.MetaKeys.CTRL_COMMAND,mac:_.KeyCode.ENTER|_.MetaKeys.MAC_CTRL,preconditions:n=>rn(n),staticParameters:{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.ENTER|_.MetaKeys.CTRL_COMMAND}},Pa={id:$.BreakLineCommand.id,description:"shortcut.sheet.break-line",group:"4_sheet-edit",preconditions:n=>ld(n),binding:_.KeyCode.ENTER|_.MetaKeys.ALT},Oa={id:$.DeleteLeftCommand.id,preconditions:n=>Zo(n)||Bi(n),binding:_.KeyCode.BACKSPACE},Aa={id:$.DeleteRightCommand.id,preconditions:n=>Zo(n)||Bi(n),binding:_.KeyCode.DELETE},Da={id:$.DeleteLeftCommand.id,preconditions:n=>Zo(n)||Bi(n),binding:_.KeyCode.BACKSPACE|_.MetaKeys.SHIFT},ka={id:be.id,description:"shortcut.sheet.delete-and-start-editing",group:"4_sheet-edit",preconditions:n=>me(n)&&!Bi(n),binding:_.KeyCode.BACKSPACE,staticParameters:{visible:!0,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.BACKSPACE}};function Qu(n){return n.startsWith("'")}function Ju(n){return n.slice(1)}const $u={"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9",A:"A",B:"B",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"J",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"X",Y:"Y",Z:"Z",a:"a",b:"b",c:"c",d:"d",e:"e",f:"f",g:"g",h:"h",i:"i",j:"j",k:"k",l:"l",m:"m",n:"n",o:"o",p:"p",q:"q",r:"r",s:"s",t:"t",u:"u",v:"v",w:"w",x:"x",y:"y",z:"z","%":"%","-":"-",".":".",":":":","/":"/","+":"+","@":"@","&":"&","*":"*","#":"#","=":"=",">":">","<":"<","$":"$",""":'"',"'":"'","(":"(",")":")"," ":" ",",":",","!":"!","?":"?",";":";","[":"[","]":"]","{":"{","}":"}"},br={true:"TRUE",false:"FALSE"};function eh(n){return[a.LocaleType.ZH_CN,a.LocaleType.ZH_TW].includes(n)}function th(n,o,e,t){let i=n;if(eh(e)){if(n.startsWith("'")||n.startsWith("'"))return`'${n.slice(1)}`;i=nh(i)}if(i.startsWith("="))return ih(n,i,o,t);const r=i.toLowerCase();return br[r]?br[r]:a.getNumfmtParseValueFilter(i)==null?n:i}function nh(n){const o=/['"].*?['"]/g,e=[],t=n.split(o);n.replace(o,r=>(e.push(r),""));let i=t.join("").split("").map(sh).join("");return e.forEach((r,s)=>{i=i.slice(0,s*2)+r+i.slice((s+1)*2)}),i}function ih(n,o,e,t){const i=e.sequenceNodesBuilder(o);if(!i)return n;let r=o,s=0;return i.forEach((l,c)=>{if(typeof l=="object"){const d=l.token;if(br[d.toLowerCase()]){const u=l.startIndex+s+1,h=l.endIndex+s+2;r=On(d.toLocaleUpperCase(),r,u,h)}else if(l.nodeType===J.sequenceNodeType.FUNCTION&&oh(d,t,i,c)||l.nodeType===J.sequenceNodeType.REFERENCE){const u=d.indexOf("!");if(u>-1){const h=d.substring(u+1),g=l.startIndex+s+(u+1)+1,S=l.endIndex+s+2;r=On(h.toLocaleUpperCase(),r,g,S)}else{const h=l.startIndex+s+1,g=l.endIndex+s+2;r=On(d.toLocaleUpperCase(),r,h,g)}}else if(d.startsWith('"')&&d.endsWith('"')||d.startsWith("'")&&d.endsWith("'")){const u=l.startIndex+s+2,h=l.endIndex+s+1;r=On(n.slice(u,h),r,u,h)}else if(l.nodeType!==J.sequenceNodeType.ARRAY){const u=a.getNumfmtParseValueFilter(d);if(u==null){const h=l.startIndex+s+1,g=l.endIndex+s+2;r=On(n.slice(h,g),r,h,g)}else if(typeof u.v=="number"&&(u.z===void 0||!a.numfmt.getFormatInfo(u.z).isDate)){const h=`${u.v}`,g=l.startIndex+s+1,S=l.endIndex+s+2,{processedString:f,offset:v}=ah(d,h);r=On(f,r,g,S),s+=v}}}}),r}function oh(n,o,e,t){const i=o.getDescriptions();return e[t+1]!==J.matchToken.OPEN_BRACKET?!1:i.get(rh(n).toLocaleUpperCase())!==void 0}function rh(n){const o=/^@+/;return n.replace(o,"")}function sh(n){return $u[n]||n}function On(n,o,e,t){return o.substring(0,e)+n+o.substring(t)}function ah(n,o){var s,l;const e=((s=n.match(/^\s*/))==null?void 0:s[0])||"",t=((l=n.match(/\s*$/))==null?void 0:l[0])||"",i=e+o+t,r=i.length-n.length;return{processedString:i,offset:r}}const Na="range_selector",Ha=n=>n.includes(Na);var lh=Object.getOwnPropertyDescriptor,ch=(n,o,e,t)=>{for(var i=t>1?void 0:t?lh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ae=(n,o)=>(e,t)=>o(e,t,n);const Va=-1e3;T.EditingRenderController=class extends a.Disposable{constructor(e,t,i,r,s,l,c,d,u,h,g,S,f,v,p,C){super();w(this,"_cursorChange",0);w(this,"_editingUnit","");w(this,"_cursorTimeout");this._undoRedoService=e,this._contextService=t,this._renderManagerService=i,this._editorBridgeService=r,this._cellEditorManagerService=s,this._lexerTreeBuilder=l,this._functionService=c,this._textSelectionManagerService=d,this._commandService=u,this._localService=h,this._editorService=g,this._univerInstanceService=S,this._sheetInterceptorService=f,this._sheetCellEditorResizeService=v,this._selectionManagerService=p,this._configService=C,this.disposeWithMe(this._init()),this._initEditorVisibilityListener()}dispose(){super.dispose()}get _workbookSelections(){return this._selectionManagerService.getWorkbookSelections(this._editingUnit)}_init(){const e=new a.DisposableCollection;return this._subscribeToCurrentCell(e),this._initialCursorSync(e),this._listenEditorFocus(e),this._commandExecutedListener(e),this._initSkeletonListener(e),e.add(()=>{clearTimeout(this._cursorTimeout)}),this._cursorTimeout=setTimeout(()=>{this._cursorStateListener(e)},1e3),e}_initEditorVisibilityListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(async e=>{var t;if(this._editingUnit&&!this._editorBridgeService.isForceKeepVisible()&&(!e||e.getUnitId()!==this._editingUnit)){if(this._commandService.syncExecuteCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.ESC,unitId:this._editingUnit}),!e)return;const i=(t=this._renderManagerService.getRenderById(e.getUnitId()))==null?void 0:t.with(bi);i&&i.refreshEditorPosition()}})),this.disposeWithMe(this._editorBridgeService.visible$.pipe(O.distinctUntilChanged((e,t)=>e.visible===t.visible)).subscribe(async e=>{e.visible?(this._editingUnit=e.unitId,this._handleEditorVisible(e)):this._editingUnit&&(await this._handleEditorInvisible(e),this._editingUnit="")}))}_listenEditorFocus(e){const t=this._getEditorObject();t&&e.add(t.document.onPointerDown$.subscribeEvent(()=>{var i;if(this._editingUnit&&this._editorBridgeService.isVisible()){const r=this._editorBridgeService.getEditCellState(),s=this._editorBridgeService.getCurrentEditorId();if(!r||!s)return;(i=this._sheetCellEditorResizeService)==null||i.fitTextSize()}}))}_initialCursorSync(e){e.add(this._cellEditorManagerService.focus$.pipe(O.filter(t=>!!t)).subscribe(()=>{var r;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!t)return;const i=(r=this._renderManagerService.getRenderById(t==null?void 0:t.getUnitId()))==null?void 0:r.with($.DocSelectionRenderService);i&&i.sync()}))}_initSkeletonListener(e){const t=new Set(m.COMMAND_LISTENER_SKELETON_CHANGE);t.delete(m.SetWorksheetActiveOperation.id),e.add(this._commandService.onCommandExecuted(i=>{var r;if(t.has(i.id)){switch(i.id){case m.MoveRowsMutation.id:case m.MoveColsMutation.id:case m.RemoveColMutation.id:case m.RemoveRowMutation.id:case m.InsertColMutation.id:case m.InsertRowMutation.id:{const s=this._editorBridgeService.getEditLocation();if(!s)break;const l={startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},c=m.adjustRangeOnMutation(l,i);if(!c)break;const d=c.startRow,u=c.startColumn;this._editorBridgeService.updateEditLocation(d,u);break}}(r=this._sheetCellEditorResizeService)==null||r.resizeCellEditor(()=>{this._textSelectionManagerService.refreshSelection({unitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})})}}))}_subscribeToCurrentCell(e){e.add(this._editorBridgeService.currentEditCellState$.subscribe(t=>{var E,R,P;if(((E=this._configService.getConfig(Pe))==null?void 0:E.disableEdit)||t==null||this._editorBridgeService.isForceKeepVisible())return;const r=this._editorBridgeService.getEditCellState();if(r==null)return;const{position:s,documentLayoutObject:l,scaleX:c,editorUnitId:d}=r;if(this._contextService.getContextValue(a.FOCUSING_EDITOR_STANDALONE))return;const u=this._getDocumentDataModel();if(u==null)return;const{startX:h,endX:g}=s,{textRotation:S,wrapStrategy:f,documentModel:v}=l,{vertexAngle:p}=y.convertTextRotation(S);f===a.WrapStrategy.WRAP&&p===0&&u.updateDocumentDataPageSize((g-h)/c),this._commandService.syncExecuteCommand($.ReplaceSnapshotCommand.id,{unitId:d,snapshot:v.getSnapshot()}),this._contextService.setContextValue(a.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});const C=(R=this._renderManagerService.getRenderById(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:R.with($.DocSelectionRenderService),b=(P=this._renderManagerService.getRenderById(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:P.with($.DocSelectionRenderService);(C!=null&&C.canFocusing||b!=null&&b.canFocusing)&&(this._univerInstanceService.setCurrentUnitForType(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),C==null||C.activate(Va,Va,!0))}))}_commandExecutedListener(e){e.add(this._commandService.onCommandExecuted(i=>{var r;if(i.id===Te.RichTextEditingMutation.id){const s=i.params,{unitId:l}=s;if(Ha(l)||(this._editorBridgeService.changeEditorDirty(!0),!this._editorBridgeService.isVisible().visible))return;l===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&((r=this._sheetCellEditorResizeService)==null||r.fitTextSize())}}));const t=[jt.id];e.add(this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const r=i.params,{keycode:s,isShift:l}=r;if(s!=null&&(this._cursorChange===2||this._contextService.getContextValue(a.FOCUSING_FX_BAR_EDITOR))){this._moveInEditor(s,l);return}this._commandService.syncExecuteCommand(be.id,r)}i.id===pi.id&&(this._cursorChange=2)}))}_handleEditorVisible(e){var f,v,p,C;const{eventType:t,keycode:i}=e;this._cursorChange=t===y.DeviceInputEventType.PointerDown||t===y.DeviceInputEventType.Dblclick?2:1;const r=this._editorBridgeService.getEditLocation();if(r==null)return;this._commandService.syncExecuteCommand(ro.id,{range:{startRow:r.row,startColumn:r.column,endRow:r.row,endColumn:r.column}}),this._editorBridgeService.refreshEditCellPosition(!1);const{unitId:s,isInArrayFormulaRange:l=!1}=r,c=this._getEditorObject();if(c==null)return;const{document:d,scene:u}=c;this._contextService.setContextValue(a.EDITOR_ACTIVATED,!0);const h=this._getDocumentDataModel(),g=this._getEditorSkeleton(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!g||!h)return;(f=this._sheetCellEditorResizeService)==null||f.fitTextSize(()=>{const b=u.getViewport($.VIEWPORT_KEY.VIEW_MAIN);b==null||b.scrollToViewportPos({viewportScrollX:Number.POSITIVE_INFINITY,viewportScrollY:Number.POSITIVE_INFINITY})});const S=()=>{this._emptyDocumentDataModel(h.getSnapshot().documentStyle,!!l),d.makeDirty(),(i===_.KeyCode.BACKSPACE||t===y.DeviceInputEventType.Dblclick)&&(g.calculate(),this._editorBridgeService.changeEditorDirty(!0)),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})};if(this._isCellImageData(h.getSnapshot()))S();else if(t===y.DeviceInputEventType.Keyboard&&i===_.KeyCode.F2){d.makeDirty(),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}]);const b=((p=(v=h.getBody())==null?void 0:v.dataStream.length)!=null?p:2)-2;this._textSelectionManagerService.replaceDocRanges([{startOffset:b,endOffset:b}],{unitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})}else if(t===y.DeviceInputEventType.Keyboard||t===y.DeviceInputEventType.Dblclick&&l)S();else if(t===y.DeviceInputEventType.Dblclick){if(this._contextService.getContextValue(a.FOCUSING_EDITOR_INPUT_FORMULA))return;const b=h.getBody().dataStream.length-2||0;this._textSelectionManagerService.replaceDocRanges([{startOffset:b,endOffset:b}])}(C=this._renderManagerService.getRenderById(s))==null||C.scene.resetCursor()}_refreshCurrentSelections(e){const t=this._workbookSelections.getSelectionsOfWorksheet(e);t&&(this._contextService.setContextValue(m.REF_SELECTIONS_ENABLED,!1),this._commandService.syncExecuteCommand(m.SetSelectionsOperation.id,{unitId:this._editingUnit,subUnitId:e,selections:t}))}async _handleEditorInvisible(e){var p,C;const t=this._editorBridgeService.getEditCellState(),i=this._univerInstanceService.getUnit(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),r=a.Tools.deepClone(i==null?void 0:i.getSnapshot()),{keycode:s}=e;this._cursorChange=0;const l=(p=t==null?void 0:t.unitId)!=null?p:"";if(this._exitInput(e),t==null)return;const c=this._univerInstanceService.getUnit(l,a.UniverInstanceType.UNIVER_SHEET);if(!c)return;const d=c.getActiveSheet(),u=c.getUnitId(),h=d.getSheetId(),{unitId:g,sheetId:S}=t;if(u===g&&S!==h&&await this._commandService.executeCommand(m.SetWorksheetActivateCommand.id,{subUnitId:S,unitId:g}),s===_.KeyCode.ESC){this._editorBridgeService.isForceKeepVisible()&&this._editorBridgeService.disableForceKeepVisible(),this._refreshCurrentSelections(S);return}const f=((C=r==null?void 0:r.body)==null?void 0:C.dataStream.length)===2,v=t.documentLayoutObject.documentModel?this._isCellImageData(t.documentLayoutObject.documentModel.getSnapshot()):!1;r&&!(f&&v)&&await this._submitEdit(r,s===(_.MetaKeys.CTRL_COMMAND|_.KeyCode.ENTER)||s===(_.MetaKeys.MAC_CTRL|_.KeyCode.ENTER))===!1||s!==void 0&&this._moveSelection(s,l,h)}_getEditorObject(){return Ui(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_isCellImageData(e){var i,r;return((r=(i=e.drawingsOrder)==null?void 0:i.length)!=null?r:0)>0}submitCellData(e){return this._submitEdit(e.getSnapshot())}async _submitEdit(e,t=!1){var E;const i=this._editorBridgeService.getEditCellState();if(i==null)return!0;const{unitId:r,sheetId:s,row:l,column:c}=i,d=this._univerInstanceService.getUnit(r,a.UniverInstanceType.UNIVER_SHEET);if(!d)return!0;let u=d.getActiveSheet();if(!d.getSheetBySheetId(s))return!0;u=d.getActiveSheet();const g=dh({...u.getCellRaw(l,c)||{}},e,this._lexerTreeBuilder,this._localService,this._functionService,d.getStyles());if(!g)return!0;this._removeComposedCellStyleInCellData(g,u.getComposedCellStyleWithoutSelf(l,c));const S=this._sheetInterceptorService.onWriteCell(d,u,l,c,g),f=La(S);f!=null&&f.s&&(f.s=d.getStyles().get(f.s));const v=La(u.getCellRaw(l,c));if(v!=null&&v.s&&(v.s=d.getStyles().get(v.s)),a.Tools.diffValue(f,v))return!0;const p=t?(E=this._workbookSelections.getCurrentLastSelection())==null?void 0:E.range:{startRow:l,startColumn:c,endRow:l,endColumn:c},C=a.generateRandomId(6);return this._commandService.syncExecuteCommand(m.SetRangeValuesCommand.id,{subUnitId:s,unitId:r,range:p,value:S,redoUndoId:C})&&await this._sheetInterceptorService.onValidateCell(d,u,l,c)===!1?(this._undoRedoService.rollback(C,r),!1):!0}_removeComposedCellStyleInCellData(e,t){if(!e.s||typeof e.s=="string")return;const i=Object.keys(e.s);for(const r of i)t[r]!==void 0&&a.Tools.diffValue(e.s[r],t[r])&&delete e.s[r]}_exitInput(e){var r,s;this._contextService.setContextValue(a.FOCUSING_EDITOR_INPUT_FORMULA,!1),this._contextService.setContextValue(a.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(a.FOCUSING_EDITOR_BUT_HIDDEN,!1),this._contextService.setContextValue(a.FOCUSING_FX_BAR_EDITOR,!1),this._cellEditorManagerService.setState({show:e.visible});const t=this._getEditorObject();(r=t==null?void 0:t.scene.getViewport($.VIEWPORT_KEY.VIEW_MAIN))==null||r.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});const i=this._editorBridgeService.getCurrentEditorId();i==null||!this._editorService.isSheetEditor(i)||(i===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&((s=this._getEditorSkeleton(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null||s.resetInitialWidth()),this._undoRedoService.clearUndoRedo(i),this._undoRedoService.clearUndoRedo(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))}_moveSelection(e,t,i){if(e==null||!qu.includes(e)){this._refreshCurrentSelections(i);return}let r=a.Direction.LEFT;switch(e){case _.KeyCode.ENTER:r=a.Direction.DOWN;break;case _.KeyCode.TAB:r=a.Direction.RIGHT;break;case _.KeyCode.ARROW_DOWN:r=a.Direction.DOWN;break;case _.KeyCode.ARROW_UP:r=a.Direction.UP;break;case _.KeyCode.ARROW_LEFT:r=a.Direction.LEFT;break;case _.KeyCode.ARROW_RIGHT:r=a.Direction.RIGHT;break}const s=this._univerInstanceService.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET);t&&(s==null?void 0:s.getUnitId())!==t&&this._univerInstanceService.setCurrentUnitForType(t),e===_.KeyCode.ENTER||e===_.KeyCode.TAB?this._commandService.executeCommand(Je.id,{keycode:e,direction:r}):this._commandService.executeCommand(Ve.id,{direction:r})}_cursorStateListener(e){const t=this._getEditorObject();if(!(t!=null&&t.document))return;const{document:i}=t;e.add(a.toDisposable(i.onPointerDown$.subscribeEvent(()=>{this._cursorChange===1&&(this._cursorChange=2)})))}_moveInEditor(e,t){let i=a.Direction.LEFT;e===_.KeyCode.ARROW_DOWN?i=a.Direction.DOWN:e===_.KeyCode.ARROW_UP?i=a.Direction.UP:e===_.KeyCode.ARROW_RIGHT&&(i=a.Direction.RIGHT),t?this._commandService.executeCommand($.MoveSelectionOperation.id,{direction:i}):this._commandService.executeCommand($.MoveCursorOperation.id,{direction:i})}_getDocumentDataModel(){return this._univerInstanceService.getUnit(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.UniverInstanceType.UNIVER_DOC)}_getEditorSkeleton(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(Te.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(Te.DocSkeletonManagerService).getViewModel()}_getEditingUnit(){return this._editingUnit?this._univerInstanceService.getUnit(this._editingUnit,a.UniverInstanceType.UNIVER_SHEET):null}_emptyDocumentDataModel(e,t){const i=(l,c)=>{const d=a.Tools.deepClone(l.getSnapshot()),u=this._getEditorViewModel(l.getUnitId());u!=null&&(uh(d.body,t),c&&(d.documentStyle=e),d.drawings={},d.drawingsOrder=[],l.reset(d),u.reset(l))},r=this._getDocumentDataModel();r&&i(r,!0);const s=this._univerInstanceService.getUnit(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,a.UniverInstanceType.UNIVER_DOC);s&&i(s)}},T.EditingRenderController=ch([Ae(0,a.IUndoRedoService),Ae(1,a.IContextService),Ae(2,y.IRenderManagerService),Ae(3,Ie),Ae(4,Mn),Ae(5,a.Inject(J.LexerTreeBuilder)),Ae(6,J.IFunctionService),Ae(7,a.Inject(Te.DocSelectionManagerService)),Ae(8,a.ICommandService),Ae(9,a.Inject(a.LocaleService)),Ae(10,$.IEditorService),Ae(11,a.IUniverInstanceService),Ae(12,a.Inject(m.SheetInterceptorService)),Ae(13,a.Inject(T.SheetCellEditorResizeService)),Ae(14,a.Inject(m.SheetsSelectionsService)),Ae(15,a.IConfigService)],T.EditingRenderController);function dh(n,o,e,t,i,r){var h,g,S;if((o==null?void 0:o.body)==null)return null;const{body:s}=o;n.t=void 0;const l=s.dataStream;let d=l.substring(l.length-2,l.length)===a.DEFAULT_EMPTY_DOCUMENT_VALUE?l.substring(0,l.length-2):l;const u=t.getCurrentLocale();if(d=th(d,e,u,i),(h=o.drawingsOrder)!=null&&h.length)n.v="",n.f=null,n.si=null,n.p=o,n.t=a.CellValueType.STRING;else if(n.s&&a.isTextFormat((S=(g=r==null?void 0:r.get(n.s))==null?void 0:g.n)==null?void 0:S.pattern)){n.v=d,n.f=null,n.si=null,n.p=null,n.t=a.CellValueType.STRING,Er(s)&&s.dataStream!==`\r
10
- `&&(n.p=o);const f=Wa(o);f&&(n.s=f)}else if(a.isFormulaString(d)){if(n.f===d)return null;const f=e.checkIfAddBracket(d);for(let v=0;v<f;v++)d+=J.matchToken.CLOSE_BRACKET;n.f=d,n.si=null,n.v=null,n.p=null}else if(Qu(d)){const f=Ju(d);n.v=f,n.f=null,n.si=null,n.p=null,n.t=a.CellValueType.FORCE_STRING}else if(Er(s))s.dataStream===`\r
11
- `?(n.v="",n.f=null,n.si=null,n.p=null):(n.p=o,n.v=null,n.f=null,n.si=null);else{if(d===""&&n.v==null&&n.p==null)return null;n.v=d,n.f=null,n.si=null,n.p=null;const f=Wa(o);f&&(n.s=f)}return n}function Er(n){const{textRuns:o=[],paragraphs:e=[],customRanges:t,customBlocks:i=[]}=n,r=n.dataStream.replace(/(\r\n)+$/,""),s=["va"];return o.filter(l=>l.st<r.length).some(l=>{var d;return!!(l.ts&&Object.keys(l.ts).some(u=>s.includes(u)))||Object.keys((d=l.ts)!=null?d:{}).length&&l.ed-l.st<r.length})||e.some(l=>l.bullet)||e.length>=2||!!(t!=null&&t.length)||i.length>0}function Wa(n){const{body:o}=n;if(!o)return null;const{textRuns:e=[]}=o;let t={};const i=o.dataStream.replace(`\r
12
- `,"");return e.forEach(r=>{const{st:s,ed:l,ts:c}=r;l-s>=i.length&&(t={...t,...c})}),Object.keys(t).length?t:null}function uh(n,o=!1){n.dataStream=a.DEFAULT_EMPTY_DOCUMENT_VALUE,n.textRuns!=null&&(n.textRuns.length===1&&!o?(n.textRuns[0].st=0,n.textRuns[0].ed=1):n.textRuns=void 0),n.paragraphs!=null&&(n.paragraphs=[{startIndex:0}]),n.sectionBreaks!=null&&(n.sectionBreaks=void 0),n.tables!=null&&(n.tables=void 0),n.customRanges!=null&&(n.customRanges=void 0),n.customBlocks!=null&&(n.customBlocks=void 0)}function La(n){return n&&Object.fromEntries(Object.entries(n).filter(([o,e])=>!(e==null||Array.isArray(e)&&e.length===0||typeof e=="object"&&Object.keys(e).length===0)))}class xa{constructor(){w(this,"_position",null);w(this,"_position$",new O.BehaviorSubject(null));w(this,"position$",this._position$.asObservable());w(this,"_focus",!1);w(this,"_focus$",new O.BehaviorSubject(this._focus));w(this,"focus$",this._focus$.asObservable());w(this,"_fxBtnClick$",new O.Subject);w(this,"fxBtnClick$",this._fxBtnClick$.asObservable());w(this,"_foldBtnStatus$",new O.Subject);w(this,"foldBtnStatus$",this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(o){this._position=o,this._refresh(o)}getPosition(){return this._position}setFocus(o=!1){this._focus=o,this._focus$.next(o)}handleFxBtnClick(o){this._fxBtnClick$.next(o)}handleFoldBtnClick(o){this._foldBtnStatus$.next(o)}_refresh(o){this._position$.next(o)}}const An=a.createIdentifier("univer.sheet-formula-editor-manager.service");var hh=Object.getOwnPropertyDescriptor,mh=(n,o,e,t)=>{for(var i=t>1?void 0:t?hh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},dt=(n,o)=>(e,t)=>o(e,t,n);T.FormulaEditorController=class extends a.RxDisposable{constructor(e,t,i,r,s,l,c,d,u){super();w(this,"_loadedMap",new WeakSet);w(this,"_scheduledCallback",-1);this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=i,this._commandService=r,this._contextService=s,this._formulaEditorManagerService=l,this._undoRedoService=c,this._textSelectionManagerService=d,this._editorService=u,this._initialize()}_initialize(){this._syncEditorSize(),this._listenFxBtnClick(),this._handleContentChange(),this._univerInstanceService.focused$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this.disposeWithMe(this._editorService.focus$.subscribe(()=>{var t;((t=this._editorService.getFocusEditor())==null?void 0:t.getEditorId())!==a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?this._contextService.setContextValue(a.FOCUSING_FX_BAR_EDITOR,!1):this._contextService.setContextValue(a.FOCUSING_FX_BAR_EDITOR,!0)}))}_handleContentChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Te.RichTextEditingMutation.id){const t=e.params,{unitId:i}=t;i===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&this.autoScroll()}}))}_create(e){if(e!==a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{mainComponent:i}=t;i!=null&&(this._loadedMap.has(i)||this._loadedMap.add(i))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(O.takeUntil(this.dispose$)).subscribe(()=>{var t;if(this._contextService.getContextValue(a.FOCUSING_EDITOR_BUT_HIDDEN)&&!this._contextService.getContextValue(a.EDITOR_ACTIVATED)){this._univerInstanceService.setCurrentUnitForType(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);const i=this._univerInstanceService.getUniverDocInstance(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);this._editorBridgeService.isVisible().visible===!1&&this._commandService.syncExecuteCommand(be.id,{visible:!0,eventType:y.DeviceInputEventType.PointerDown,unitId:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY});const s=(t=i==null?void 0:i.getBody())==null?void 0:t.dataStream;if(s==null)return;let l=s.startsWith("=")?s:`=${s}`;l=l.replace(/\r\n$/,"");const c=[{startOffset:l.length,endOffset:l.length}],d={unitId:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:l},segmentId:"",textRanges:c};this._commandService.syncExecuteCommand($.CoverContentCommand.id,d),requestAnimationFrame(()=>{this._textSelectionManagerService.replaceDocRanges([],{unitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY}),this._textSelectionManagerService.replaceDocRanges(c,{unitId:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,subUnitId:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY}),this._contextService.setContextValue(a.FOCUSING_FX_BAR_EDITOR,!0)})}})}_syncEditorSize(){const e=this._univerInstanceService.unitAdded$.pipe(O.filter(t=>t.getUnitId()===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY));this.disposeWithMe(O.combineLatest([this._formulaEditorManagerService.position$,e]).subscribe(([t])=>{if(!t)return this._clearScheduledCallback();const i=Ui(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,this._renderManagerService),r=this._univerInstanceService.getUniverDocInstance(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(i==null||r==null)return this._clearScheduledCallback();const{width:s,height:l}=t;if(s===0||l===0)return this._clearScheduledCallback();const{engine:c}=i;r.updateDocumentDataPageSize(s),this.autoScroll(),this._scheduledCallback=requestIdleCallback(()=>c.resizeBySize(s,l))}))}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}autoScroll(){var v,p;const e=this._formulaEditorManagerService.getPosition(),t=(v=this._renderManagerService.getRenderById(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:v.with(Te.DocSkeletonManagerService).getSkeleton(),i=this._renderManagerService.getRenderById(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),r=this._univerInstanceService.getUniverDocInstance(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(t==null||e==null||i==null||r==null)return;const{marginTop:s=0,marginBottom:l=0}=r.getSnapshot().documentStyle,{scene:c,mainComponent:d}=i;let{actualHeight:u}=t.getActualSize();u+=s+l;const{width:h,height:g}=e,S=c.getViewport($.VIEWPORT_KEY.VIEW_MAIN);let f=S==null?void 0:S.getScrollBar();c.transformByState({width:h,height:u}),d==null||d.resize(h,u),u>g?f==null?S&&new y.ScrollBar(S,{enableHorizontal:!1,barSize:8}):S==null||S.resetCanvasSizeAndUpdateScroll():(f=null,S==null||S.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0}),(p=S==null?void 0:S.getScrollBar())==null||p.dispose())}},T.FormulaEditorController=mh([dt(0,a.IUniverInstanceService),dt(1,y.IRenderManagerService),dt(2,Ie),dt(3,a.ICommandService),dt(4,a.IContextService),dt(5,An),dt(6,a.IUndoRedoService),dt(7,a.Inject(Te.DocSelectionManagerService)),dt(8,$.IEditorService)],T.FormulaEditorController);const Ua="embedding_formula_editor",gh=n=>n.includes(Ua),wr=(n,o)=>{var h,g,S,f,v;const t=o.findNodePositionByCharIndex(n.startOffset,!0,n.segmentId,-1),i=o.getSkeletonData();let r=n.endOffset;if(n.segmentId){const p=(v=Array.from((g=(h=i==null?void 0:i.skeFooters.get(n.segmentId))==null?void 0:h.values())!=null?g:[])[0])!=null?v:Array.from((f=(S=i==null?void 0:i.skeHeaders.get(n.segmentId))==null?void 0:S.values())!=null?f:[])[0];p&&(r=Math.min(p.ed,r))}const s=o.findNodePositionByCharIndex(r,!0,n.segmentId,-1);if(!s||!t)return;const l={docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},c=new $.NodePositionConvertToCursor(l,o),{borderBoxPointGroup:d}=c.getRangePointData(t,s);return $.getLineBounding(d).map(p=>({top:p.top,bottom:p.bottom,left:p.left,right:p.right}))},Sh=(n,o,e=-1)=>{const t=o.findPositionByGlyph(n,e);if(!t)return;const i={...t,isBack:!0},r={docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},s=new $.NodePositionConvertToCursor(r,o),{borderBoxPointGroup:l}=s.getRangePointData(i,i),d=$.getLineBounding(l)[0];return{top:d.top,bottom:d.bottom,left:d.left,right:d.right}},fh=(n,o,e=0,t=0)=>{const i=wr({startOffset:o.startIndex,endOffset:o.endIndex+1},n);if(i)return{rects:i.map(r=>({top:r.top+t,bottom:r.bottom+t,left:r.left+e,right:r.right+e})),range:o}},vh=(n,o,e=0,t=0)=>{var h,g,S;const i=n.findNodeByCharIndex(o.startIndex),r=i==null?void 0:i.parent,s=r==null?void 0:r.parent,l=s==null?void 0:s.parent,c=l==null?void 0:l.lines.find(f=>f.paragraphStart&&f.paragraphIndex===o.startIndex),d=(S=(g=(h=c==null?void 0:c.divides)==null?void 0:h[0])==null?void 0:g.glyphGroup)==null?void 0:S[0];if(!d||!d)return;const u=Sh(d,n);if(u)return{rect:{top:u.top+t,bottom:u.bottom+t,left:u.left+e,right:u.right+e},segmentId:void 0,segmentPageIndex:-1,paragraph:o}},Ba=(n,o=0,e=0)=>{var l,c,d,u,h,g,S;const t=n.getViewModel().getDataModel(),i=(d=(c=(l=t.getBody())==null?void 0:l.customRanges)==null?void 0:c.filter(f=>f.rangeType===a.CustomRangeType.HYPERLINK))!=null?d:[],r=(g=(h=(u=t.getBody())==null?void 0:u.paragraphs)==null?void 0:h.filter(f=>{var v;return((v=f.bullet)==null?void 0:v.listType.indexOf(a.PresetListType.CHECK_LIST))===0}))!=null?g:[],s=(S=n.getSkeletonData())==null?void 0:S.pages[0].skeDrawings;return{links:i.map(f=>fh(n,f,o,e)).filter(Boolean),checkLists:r.map(f=>vh(n,f,o,e)).filter(Boolean),drawings:s?Array.from(s.keys()).map(f=>({drawingId:f,rect:{top:s.get(f).aTop,bottom:s.get(f).aTop+s.get(f).width,left:s.get(f).aLeft,right:s.get(f).aLeft+s.get(f).height},drawing:s.get(f)})):[]}};function Fa(n,o,e){var d,u,h,g,S,f;const t=(h=(u=(d=o.documentSkeleton)==null?void 0:d.getSkeletonData())==null?void 0:u.pages[0].height)!=null?h:0,i=(f=(S=(g=o.documentSkeleton)==null?void 0:g.getSkeletonData())==null?void 0:S.pages[0].width)!=null?f:0,r=o.verticalAlign,s=o.horizontalAlign;let l=0;switch(r){case a.VerticalAlign.UNSPECIFIED:case a.VerticalAlign.BOTTOM:l=n.mergeInfo.endY-n.mergeInfo.startY-t;break;case a.VerticalAlign.MIDDLE:l=(n.mergeInfo.endY-n.mergeInfo.startY-t)/2;break}let c=0;switch(s){case a.HorizontalAlign.RIGHT:c=n.mergeInfo.endX-n.mergeInfo.startX-i;break;case a.HorizontalAlign.CENTER:c=(n.mergeInfo.endX-n.mergeInfo.startX-i)/2;break;case a.HorizontalAlign.UNSPECIFIED:{e&&(c=n.mergeInfo.endX-n.mergeInfo.startX-i);break}}return{paddingLeft:c,paddingTop:l}}const ph=(n,o,e,t,i,r)=>{var H,V,L;const s=n.get(a.IUniverInstanceService),l=n.get(y.IRenderManagerService),c=s.getUnit(o,a.UniverInstanceType.UNIVER_SHEET);if(!c)return null;const d=c.getSheetBySheetId(e);if(!d)return null;const u=l.getRenderById(c.getUnitId()),h=u==null?void 0:u.with(T.SheetSkeletonManagerService).getSkeletonParam(d.getSheetId()),g=h==null?void 0:h.skeleton;if(!g||!u)return;const S=g.getFont(t,i),f=S==null?void 0:S.documentSkeleton;if(!f)return null;const v=(V=(H=f.getViewModel().getBody())==null?void 0:H.customRanges)==null?void 0:V.find(W=>W.rangeId===r);if(!v)return null;const p=$.DOC_VERTICAL_PADDING,C=g.getCellWithCoordByIndex(t,i);let{actualColumn:b,actualRow:E}=C;g.overflowCache.forValue((W,U,B)=>{B.startRow<=E&&B.endRow>=E&&B.startColumn<=b&&B.endColumn>=b&&(b=U,E=W)});const R=g.getCellWithCoordByIndex(E,b),P=d.getCell(R.actualRow,R.actualColumn),{topOffset:M=0,leftOffset:A=0}=(L=P==null?void 0:P.fontRenderExtension)!=null?L:{},{paddingLeft:D,paddingTop:k}=Fa(R,S,!1),N=wr({startOffset:v.startIndex,endOffset:v.endIndex},f);return{rects:N==null?void 0:N.map(W=>({top:W.top+R.mergeInfo.startY+k+M+p,bottom:W.bottom+R.mergeInfo.startY+k+M+p,left:W.left+R.mergeInfo.startX+D+A,right:W.right+R.mergeInfo.startX+D+A})),customRange:v,label:f.getViewModel().getBody().dataStream.slice(v.startIndex,v.endIndex+1)}},Ch=(n,o,e,t,i,r)=>{var A,D,k;const s=n.get(Ie),l=s.getEditCellState();if(!l||!s.isVisible().visible)return null;const{editorUnitId:d,unitId:u,sheetId:h,row:g,column:S}=l;if(o!==u||e!==h||g!==t||S!==i)return null;const f=n.get(y.IRenderManagerService),v=f.getRenderById(d),p=f.getRenderById(o);if(!v||!p)return null;const C=v.with(Te.DocSkeletonManagerService).getSkeleton(),b=(A=p.with(T.SheetSkeletonManagerService).getSkeletonParam(h))==null?void 0:A.skeleton;if(!C||!b)return null;const E=(k=(D=C.getViewModel().getBody())==null?void 0:D.customRanges)==null?void 0:k.find(N=>N.rangeId===r);if(!E)return null;const R=4,P=wr({startOffset:E.startIndex,endOffset:E.endIndex},C),M=v.engine.getCanvasElement().getBoundingClientRect();return{rects:P==null?void 0:P.map(N=>({top:N.top+M.top-R,bottom:N.bottom+M.top+R,left:N.left+M.left,right:N.right+M.left})),customRange:E,label:C.getViewModel().getBody().dataStream.slice(E.startIndex,E.endIndex+1)}};var _h=Object.getOwnPropertyDescriptor,Ih=(n,o,e,t)=>{for(var i=t>1?void 0:t?_h(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},za=(n,o)=>(e,t)=>o(e,t,n);function Kt(n){const{workbook:o,worksheet:e,...t}=n;return t}T.HoverManagerService=class extends a.Disposable{constructor(e,t){super();w(this,"_currentCell$",new O.BehaviorSubject(null));w(this,"_currentRichText$",new O.BehaviorSubject(null));w(this,"_currentClickedCell$",new O.Subject);w(this,"_currentDbClickedCell$",new O.Subject);w(this,"_currentCellWithEvent$",new O.Subject);w(this,"_currentPointerDownCell$",new O.Subject);w(this,"_currentPointerUpCell$",new O.Subject);w(this,"_currentHoveredRowHeader$",new O.BehaviorSubject(null));w(this,"_currentHoveredColHeader$",new O.BehaviorSubject(null));w(this,"_currentRowHeaderClick$",new O.Subject);w(this,"_currentColHeaderClick$",new O.Subject);w(this,"_currentRowHeaderDbClick$",new O.Subject);w(this,"_currentColHeaderDbClick$",new O.Subject);w(this,"_currentRowHeaderPointerDown$",new O.Subject);w(this,"_currentColHeaderPointerDown$",new O.Subject);w(this,"_currentRowHeaderPointerUp$",new O.Subject);w(this,"_currentColHeaderPointerUp$",new O.Subject);w(this,"currentCell$",this._currentCell$.asObservable().pipe(O.distinctUntilChanged((e,t)=>{var i,r,s,l,c,d,u,h;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((l=t==null?void 0:t.location)==null?void 0:l.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((d=t==null?void 0:t.location)==null?void 0:d.row)&&((u=e==null?void 0:e.location)==null?void 0:u.col)===((h=t==null?void 0:t.location)==null?void 0:h.col)})));w(this,"currentRichTextNoDistinct$",this._currentRichText$.pipe(O.map(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing})));w(this,"currentRichText$",this._currentRichText$.pipe(O.distinctUntilChanged((e,t)=>{var i,r,s,l,c,d,u,h,g,S,f,v,p,C,b,E,R,P;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((l=t==null?void 0:t.location)==null?void 0:l.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((d=t==null?void 0:t.location)==null?void 0:d.row)&&((u=e==null?void 0:e.location)==null?void 0:u.col)===((h=t==null?void 0:t.location)==null?void 0:h.col)&&((g=e==null?void 0:e.customRange)==null?void 0:g.rangeId)===((S=t==null?void 0:t.customRange)==null?void 0:S.rangeId)&&((f=e==null?void 0:e.bullet)==null?void 0:f.startIndex)===((v=t==null?void 0:t.bullet)==null?void 0:v.startIndex)&&((p=e==null?void 0:e.customRange)==null?void 0:p.startIndex)===((C=t==null?void 0:t.customRange)==null?void 0:C.startIndex)&&((b=e==null?void 0:e.customRange)==null?void 0:b.endIndex)===((E=t==null?void 0:t.customRange)==null?void 0:E.endIndex)&&((R=e==null?void 0:e.drawing)==null?void 0:R.drawingId)===((P=t==null?void 0:t.drawing)==null?void 0:P.drawingId)}),O.map(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing})));w(this,"currentCellPosWithEvent$",this._currentCellWithEvent$.pipe(O.distinctUntilChanged((e,t)=>{var i,r,s,l,c,d,u,h;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((l=t==null?void 0:t.location)==null?void 0:l.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((d=t==null?void 0:t.location)==null?void 0:d.row)&&((u=e==null?void 0:e.location)==null?void 0:u.col)===((h=t==null?void 0:t.location)==null?void 0:h.col)}),O.map(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,event:e.event})));w(this,"currentPosition$",this._currentCell$.asObservable());w(this,"currentClickedCell$",this._currentClickedCell$.asObservable());w(this,"currentDbClickedCell$",this._currentDbClickedCell$.asObservable());w(this,"currentPointerDownCell$",this._currentPointerDownCell$.asObservable());w(this,"currentPointerUpCell$",this._currentPointerUpCell$.asObservable());w(this,"currentHoveredRowHeader$",this._currentHoveredRowHeader$.asObservable());w(this,"currentHoveredColHeader$",this._currentHoveredColHeader$.asObservable());w(this,"currentRowHeaderClick$",this._currentRowHeaderClick$.asObservable());w(this,"currentColHeaderClick$",this._currentColHeaderClick$.asObservable());w(this,"currentRowHeaderDbClick$",this._currentRowHeaderDbClick$.asObservable());w(this,"currentColHeaderDbClick$",this._currentColHeaderDbClick$.asObservable());w(this,"currentRowHeaderPointerDown$",this._currentRowHeaderPointerDown$.asObservable());w(this,"currentColHeaderPointerDown$",this._currentColHeaderPointerDown$.asObservable());w(this,"currentRowHeaderPointerUp$",this._currentRowHeaderPointerUp$.asObservable());w(this,"currentColHeaderPointerUp$",this._currentColHeaderPointerUp$.asObservable());this._univerInstanceService=e,this._renderManagerService=t,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._currentClickedCell$.complete(),this._currentPointerDownCell$.complete(),this._currentPointerUpCell$.complete(),this._currentCellWithEvent$.complete(),this._currentRichText$.complete(),this._currentDbClickedCell$.complete(),this._currentHoveredRowHeader$.complete(),this._currentHoveredColHeader$.complete(),this._currentRowHeaderClick$.complete(),this._currentColHeaderClick$.complete(),this._currentRowHeaderDbClick$.complete(),this._currentColHeaderDbClick$.complete(),this._currentRowHeaderPointerDown$.complete(),this._currentColHeaderPointerDown$.complete(),this._currentRowHeaderPointerUp$.complete(),this._currentColHeaderPointerUp$.complete(),this.currentCellPosWithEvent$=O.of(null),this.currentRichText$=O.of(null)}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t,i;((t=this._currentCell$.getValue())==null?void 0:t.location.unitId)===e.getUnitId()&&this._currentCell$.next(null),((i=this._currentRichText$.getValue())==null?void 0:i.location.unitId)===e.getUnitId()&&this._currentRichText$.next(null)}))}_getCalcDeps(e){const t=this._univerInstanceService.getUnit(e,a.UniverInstanceType.UNIVER_SHEET);if(!t)return null;const i=t.getActiveSheet();if(!i)return null;const r=this._renderManagerService.getRenderById(t.getUnitId());if(!r)return null;const s=r.with(T.SheetSkeletonManagerService).getSkeletonParam(i.getSheetId());if(!s)return null;const l=r.with(T.SheetScrollManagerService);if(!(!(l!=null&&l.getCurrentScrollState())||!r))return{currentRender:r,workbook:t,worksheet:i,skeletonParam:s}}_calcActiveCell(e,t,i,r,s,l){var A,D,k;const c=va(e,t,i,r,s,l),d=r.skeleton;if(!c)return null;const{position:u,overflowLocation:h,location:g}=c,S=d.getFont(h.row,h.col);let f=null,v=null,p=null;const C=d.getCellWithCoordByIndex(h.row,h.col),b=i.getCell(h.row,h.col),{topOffset:E=0,leftOffset:R=0}=(A=b==null?void 0:b.fontRenderExtension)!=null?A:{};if(S!=null&&S.documentSkeleton){const{paddingLeft:N,paddingTop:H}=Fa(C,S,(b==null?void 0:b.v)!==null&&(b==null?void 0:b.v)!==void 0?!Number.isNaN(+b.v):!1),V=Ba(S.documentSkeleton,N,H),L=s-u.startX-R,W=l-u.startY-E;f=V.links.find(U=>U.rects.some(B=>B.left<=L&&L<=B.right&&B.top<=W&&W<=B.bottom)),v=V.checkLists.find(U=>U.rect.left<=L&&L<=U.rect.right&&U.rect.top<=W&&W<=U.rect.bottom),p=V.drawings.find(U=>U.rect.left<=L&&L<=U.rect.right&&U.rect.top<=W&&W<=U.rect.bottom)}const P=(k=(D=f==null?void 0:f.rects.pop())!=null?D:v==null?void 0:v.rect)!=null?k:p==null?void 0:p.rect,M=P&&(()=>{const N=P.top+C.mergeInfo.startY+E,H=P.bottom+C.mergeInfo.startY+E,V=P.left+C.mergeInfo.startX+R,L=P.right+C.mergeInfo.startX+R,W=C.mergeInfo.startY+E,U=C.mergeInfo.endY+E,B=C.mergeInfo.startX+R,X=C.mergeInfo.endX+R,z=Math.min(Math.max(N,W),W),Y=Math.min(H,U),G=Math.min(Math.max(V,B),B),K=Math.min(L,X);return{top:z,bottom:Y,left:G,right:K}})();return{location:g,position:u,overflowLocation:h,customRange:f==null?void 0:f.range,bullet:v==null?void 0:v.paragraph,drawing:p,rect:M}}_calcActiveRowHeader(e,t,i){const r=this._getCalcDeps(e);if(!r)return;const{currentRender:s,worksheet:l,skeletonParam:c}=r,{scaleY:d}=s.scene.getAncestorScale(),u=s.scene.getViewports().find(S=>S.isHit(new y.Vector2(t,i)));if(!u||u.viewportKey!==y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP&&u.viewportKey!==y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM)return;const h={x:u.viewportScrollX,y:u.viewportScrollY},g=c.skeleton.getRowIndexByOffsetY(i,d,h);return{unitId:e,index:g,subUnitId:l.getSheetId()}}_calcActiveColHeader(e,t,i){const r=this._getCalcDeps(e);if(!r)return;const{currentRender:s,worksheet:l,skeletonParam:c}=r,{scaleX:d}=s.scene.getAncestorScale(),u=s.scene.getViewports().find(S=>S.isHit(new y.Vector2(t,i)));if(!u||u.viewportKey!==y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT&&u.viewportKey!==y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT)return;const h={x:u.viewportScrollX,y:u.viewportScrollY},g=c.skeleton.getColumnIndexByOffsetX(t,d,h);return{unitId:e,index:g,subUnitId:l.getSheetId()}}triggerPointerDown(e,t){const i=this._getCalcDeps(e);if(!i)return;const{currentRender:r,workbook:s,worksheet:l,skeletonParam:c}=i,d=this._calcActiveCell(r,s,l,c,t.offsetX,t.offsetY);if(d&&d.location){const{unitId:u,subUnitId:h,row:g,col:S}=Kt(d.location);this._currentPointerDownCell$.next({unitId:u,subUnitId:h,row:g,col:S,event:t})}}triggerPointerUp(e,t){const i=this._getCalcDeps(e);if(!i)return;const{currentRender:r,workbook:s,worksheet:l,skeletonParam:c}=i,d=this._calcActiveCell(r,s,l,c,t.offsetX,t.offsetY);if(d){const u=Kt(d.location);this._currentPointerUpCell$.next({...u,event:t})}}triggerMouseMove(e,t){const i=this._getCalcDeps(e);if(!i)return;const{currentRender:r,workbook:s,worksheet:l,skeletonParam:c}=i,d=this._calcActiveCell(r,s,l,c,t.offsetX,t.offsetY);this._currentCell$.next(d&&{location:Kt(d.location),position:d.position}),this._currentRichText$.next(d&&{...d,location:Kt(d.overflowLocation)}),this._currentCellWithEvent$.next(d&&{...d,location:Kt(d.location),event:t})}triggerClick(e,t,i){const r=this._getCalcDeps(e);if(!r)return;const{currentRender:s,workbook:l,worksheet:c,skeletonParam:d}=r,u=this._calcActiveCell(s,l,c,d,t,i);u&&this._currentClickedCell$.next({...u,location:Kt(u.location)})}triggerDbClick(e,t,i){const r=this._getCalcDeps(e);if(!r)return;const{currentRender:s,workbook:l,worksheet:c,skeletonParam:d}=r,u=this._calcActiveCell(s,l,c,d,t,i);u&&this._currentDbClickedCell$.next({...u,location:Kt(u.location)})}triggerScroll(){this._currentCell$.next(null)}triggerRowHeaderClick(e,t,i){const r=this._calcActiveRowHeader(e,t,i);r&&this._currentRowHeaderClick$.next(r)}triggerColHeaderClick(e,t,i){const r=this._calcActiveColHeader(e,t,i);r&&this._currentColHeaderClick$.next(r)}triggerRowHeaderDbClick(e,t,i){const r=this._calcActiveRowHeader(e,t,i);r&&this._currentRowHeaderDbClick$.next(r)}triggerColHeaderDbClick(e,t,i){const r=this._calcActiveColHeader(e,t,i);r&&this._currentColHeaderDbClick$.next(r)}triggerRowHeaderMouseMove(e,t,i){this._currentHoveredRowHeader$.next(this._calcActiveRowHeader(e,t,i))}triggerColHeaderMouseMove(e,t,i){this._currentHoveredColHeader$.next(this._calcActiveColHeader(e,t,i))}triggerRowHeaderPoniterDown(e,t,i){const r=this._calcActiveRowHeader(e,t,i);r&&this._currentRowHeaderPointerDown$.next(r)}triggerColHeaderPoniterDown(e,t,i){const r=this._calcActiveColHeader(e,t,i);r&&this._currentColHeaderPointerDown$.next(r)}triggerRowHeaderPoniterUp(e,t,i){const r=this._calcActiveRowHeader(e,t,i);r&&this._currentRowHeaderPointerUp$.next(r)}triggerColHeaderPoniterUp(e,t,i){const r=this._calcActiveColHeader(e,t,i);r&&this._currentColHeaderPointerUp$.next(r)}},T.HoverManagerService=Ih([za(0,a.IUniverInstanceService),za(1,y.IRenderManagerService)],T.HoverManagerService);var bh=Object.getOwnPropertyDescriptor,Eh=(n,o,e,t)=>{for(var i=t>1?void 0:t?bh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Tr=(n,o)=>(e,t)=>o(e,t,n);T.HoverRenderController=class extends a.Disposable{constructor(e,t,i,r){super();w(this,"_active",!1);this._context=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=i,this._scrollManagerService=r,this._initPointerEvent(),this._initScrollEvent()}get active(){return this._active}_initPointerEvent(){const e=new a.DisposableCollection,t=i=>{if(e.dispose(),!i)return;const{mainComponent:r,unitId:s,components:l}=this._context;if(!r)return;e.add(r.onPointerEnter$.subscribeEvent(u=>{this._active=!0})),e.add(a.fromEventSubject(r.onPointerMove$).subscribe(u=>{this._active=!0,this._hoverManagerService.triggerMouseMove(s,u)})),e.add(r.onPointerDown$.subscribeEvent(u=>{this._hoverManagerService.triggerPointerDown(s,u)})),e.add(r.onPointerUp$.subscribeEvent(u=>{this._hoverManagerService.triggerPointerUp(s,u)})),e.add(r.onClick$.subscribeEvent(u=>{this._hoverManagerService.triggerClick(s,u.offsetX,u.offsetY)})),e.add(r.onDblclick$.subscribeEvent(u=>{this._hoverManagerService.triggerDbClick(s,u.offsetX,u.offsetY)})),e.add(r.onPointerLeave$.subscribeEvent(()=>{this._active=!1}));const c=l.get(_e.ROW),d=l.get(_e.COLUMN);c&&(e.add(c.onPointerMove$.subscribeEvent(u=>{this._hoverManagerService.triggerRowHeaderMouseMove(s,u.offsetX,u.offsetY)})),e.add(c.onPointerDown$.subscribeEvent(u=>{this._hoverManagerService.triggerRowHeaderPoniterDown(s,u.offsetX,u.offsetY)})),e.add(c.onPointerUp$.subscribeEvent(u=>{this._hoverManagerService.triggerRowHeaderPoniterUp(s,u.offsetX,u.offsetY),this._hoverManagerService.triggerRowHeaderClick(s,u.offsetX,u.offsetY)})),e.add(c.onDblclick$.subscribeEvent(u=>{this._hoverManagerService.triggerRowHeaderDbClick(s,u.offsetX,u.offsetY)}))),d&&(e.add(d.onPointerMove$.subscribeEvent(u=>{this._hoverManagerService.triggerColHeaderMouseMove(s,u.offsetX,u.offsetY)})),e.add(d.onPointerDown$.subscribeEvent(u=>{this._hoverManagerService.triggerColHeaderPoniterDown(s,u.offsetX,u.offsetY)})),e.add(d.onPointerUp$.subscribeEvent(u=>{this._hoverManagerService.triggerColHeaderPoniterUp(s,u.offsetX,u.offsetY),this._hoverManagerService.triggerColHeaderClick(s,u.offsetX,u.offsetY)})),e.add(d.onDblclick$.subscribeEvent(u=>{this._hoverManagerService.triggerColHeaderDbClick(s,u.offsetX,u.offsetY)})))};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(i=>{t(i)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(()=>this._hoverManagerService.triggerScroll()))}},T.HoverRenderController=Eh([Tr(1,a.Inject(T.HoverManagerService)),Tr(2,a.Inject(T.SheetSkeletonManagerService)),Tr(3,a.Inject(T.SheetScrollManagerService))],T.HoverRenderController);const yr="UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID",Xa="UNIVER_SHEET_PERMISSION_ALERT_DIALOG";var wh=Object.getOwnPropertyDescriptor,Th=(n,o,e,t)=>{for(var i=t>1?void 0:t?wh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},wt=(n,o)=>(e,t)=>o(e,t,n);T.SheetPermissionCheckUIController=class extends a.Disposable{constructor(e,t,i,r,s,l,c,d){super();w(this,"disposableCollection",new a.DisposableCollection);this._commandService=e,this._univerInstanceService=t,this._permissionService=i,this._dialogService=r,this._rangeProtectionRuleModel=s,this._localeService=l,this._contextService=c,this._sheetPermissionCheckController=d,this._initialize(),this._initUIEvent()}_initUIEvent(){this.disposeWithMe(this._sheetPermissionCheckController.triggerPermissionUIEvent$.subscribe(e=>{this._haveNotPermissionHandle(e)}))}_haveNotPermissionHandle(e){const t={id:yr,title:{title:"permission.dialog.alert"},children:{label:Xa,errorMsg:e},width:320,destroyOnClose:!0,showOk:!0,onClose:()=>{this._dialogService.close(yr)},onOk:()=>{this._dialogService.close(yr)},className:"sheet-permission-user-dialog"};this._permissionService.getShowComponents()&&this._dialogService.open(t)}_getPermissionCheck(e,t){var s,l;let i=!0,r="";switch(e){case $.InsertCommand.id:case $.IMEInputCommand.id:if(this._contextService.getContextValue(a.FOCUSING_EDITOR_STANDALONE)===!0||this._contextService.getContextValue(a.FOCUSING_COMMENT_EDITOR)===!0)break;i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellValuePermission,m.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.editErr");break;case be.id:if(t.visible===!1)break;i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellValuePermission,m.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.editErr");break;case At.id:i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetColumnStylePermission]}),r=this._localeService.t("permission.dialog.pasteErr");break;case ji.id:i=this._permissionCheckByPaste(t),r=this._localeService.t("permission.dialog.pasteErr");break;case ui.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission,m.WorksheetSetCellStylePermission]}),r=this._localeService.t("permission.dialog.commonErr");break;case m.SetBackgroundColorCommand.id:case kt.id:case Nt.id:case Ht.id:case Vt.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.setStyleErr");break;case Xe.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookCopyPermission],rangeTypes:[m.RangeProtectionPermissionViewPoint],worksheetTypes:[m.WorksheetCopyPermission]}),r=this._localeService.t("permission.dialog.copyErr"),(s=this._permissionService.getPermissionPoint(new m.WorkbookCopyPermission(this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()).id))!=null&&s.value||(r=this._localeService.t("permission.dialog.workbookCopyErr"));break;case Ct.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookCopyPermission,m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionViewPoint,m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetCopyPermission,m.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.copyErr"),(l=this._permissionService.getPermissionPoint(new m.WorkbookCopyPermission(this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()).id))!=null&&l.value||(r=this._localeService.t("permission.dialog.workbookCopyErr"));break}i||this._sheetPermissionCheckController.blockExecuteWithoutPermission(r)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,e==null?void 0:e.params)}))}_permissionCheckByPaste(e){return e.value===pe.SPECIAL_PASTE_VALUE||e.value===pe.SPECIAL_PASTE_FORMULA?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission]}):e.value===pe.SPECIAL_PASTE_FORMAT?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission]}):this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellValuePermission,m.WorksheetSetCellStylePermission,m.WorksheetEditPermission]})}},T.SheetPermissionCheckUIController=Th([wt(0,a.ICommandService),wt(1,a.IUniverInstanceService),wt(2,a.IPermissionService),wt(3,_.IDialogService),wt(4,a.Inject(m.RangeProtectionRuleModel)),wt(5,a.Inject(a.LocaleService)),wt(6,a.IContextService),wt(7,a.Inject(m.SheetPermissionCheckController))],T.SheetPermissionCheckUIController);var yh=Object.getOwnPropertyDescriptor,Rh=(n,o,e,t)=>{for(var i=t>1?void 0:t?yh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},qt=(n,o)=>(e,t)=>o(e,t,n);const Mh="__SpreadsheetFreezeRowMainName__",Ph="__SpreadsheetFreezeRowHeaderName__",Oh="__SpreadsheetFreezeColumnMainName__",Ah="__SpreadsheetFreezeColumnHeaderName__",Rr=2,Dh=.01,Ei=a.createInterceptorKey("freezePermissionCheck");T.HeaderFreezeRenderController=class extends a.Disposable{constructor(e,t,i,r,s,l,c,d){super();w(this,"_rowFreezeHeaderRect");w(this,"_rowFreezeMainRect");w(this,"_columnFreezeHeaderRect");w(this,"_columnFreezeMainRect");w(this,"_freezeDownSubs");w(this,"_freezePointerEnterSubs");w(this,"_freezePointerLeaveSubs");w(this,"_scenePointerMoveSub");w(this,"_scenePointerUpSub");w(this,"_changeToRow",-1);w(this,"_changeToColumn",-1);w(this,"_changeToOffsetX",0);w(this,"_changeToOffsetY",0);w(this,"_activeViewport",null);w(this,"_freezeNormalHeaderColor","");w(this,"_freezeNormalMainColor","");w(this,"_freezeActiveColor","");w(this,"_freezeHoverColor","");w(this,"_lastFreeze");w(this,"interceptor",new a.InterceptorManager({FREEZE_PERMISSION_CHECK:Ei}));this._context=e,this._sheetSkeletonManagerService=t,this._commandService=i,this._selectionManagerService=r,this._scrollManagerService=s,this._themeService=l,this._sheetInterceptorService=c,this._injector=d,this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=0,t){var E;const i=t!=null?t:this._getFreeze();if(i==null)return null;const r=(E=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:E.skeleton,{startRow:s,startColumn:l}=i,c=this._getPositionByIndex(s,l);if(c==null||r==null)return null;const u=this._getSheetObject().scene,{startX:h,startY:g}=c,{rowTotalHeight:S,columnTotalWidth:f,rowHeaderWidthAndMarginLeft:v,columnHeaderHeightAndMarginTop:p}=r;this._changeToRow=s,this._changeToColumn=l,this._changeToOffsetX=h,this._changeToOffsetY=g;const C=Math.max(u.scaleX,u.scaleY);let b=Rr/Math.max(1,C);if(e===0){(s===-1||s===0)&&(b=b*2);const R=b;this._rowFreezeHeaderRect=new y.Rect(Ph,{fill:this._freezeNormalHeaderColor,width:v,height:b,left:0,top:g-R,zIndex:3});let P=this._freezeNormalHeaderColor;(s===-1||s===0)&&(P=this._freezeNormalMainColor),this._rowFreezeMainRect=new y.Rect(Mh,{fill:P,width:f,height:b,left:v,top:g-R,zIndex:3}),u.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],je)}else{(l===-1||l===0)&&(b=b*2);const R=b;this._columnFreezeHeaderRect=new y.Rect(Ah,{fill:this._freezeNormalHeaderColor,width:b,height:p,left:h-R,top:0,zIndex:3});let P=this._freezeNormalHeaderColor;(l===-1||l===0)&&(P=this._freezeNormalMainColor),this._columnFreezeMainRect=new y.Rect(Oh,{fill:P,width:b,height:S,left:h-R,top:p,zIndex:3}),u.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],je)}this._eventBinding(e)}_eventBinding(e=0){let t=this._rowFreezeHeaderRect,i=this._rowFreezeMainRect;e===1&&(t=this._columnFreezeHeaderRect,i=this._columnFreezeMainRect);const r=this._getSheetObject();if(r==null)return;const{scene:s}=r;if(this._freezePointerEnterSubs=new O.Subscription,this._freezePointerLeaveSubs=new O.Subscription,this._freezeDownSubs=new O.Subscription,i){const d=i.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(Ei)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),s.setCursor(y.CURSOR_TYPE.GRAB)});this._freezePointerEnterSubs.add(d);const u=i.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),s.resetCursor()});this._freezePointerLeaveSubs.add(u)}if(t){const d=t.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(Ei)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),s.setCursor(y.CURSOR_TYPE.GRAB)});this._freezePointerEnterSubs.add(d);const u=t.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),s.resetCursor()});this._freezePointerLeaveSubs.add(u)}const l=t==null?void 0:t.onPointerDown$.subscribeEvent(d=>{this._freezeDown(d,t,i,e)});l&&this._freezeDownSubs.add(l);const c=i==null?void 0:i.onPointerDown$.subscribeEvent(d=>{this._freezeDown(d,t,i,e)});c&&this._freezeDownSubs.add(c)}_getCurrentLastVisible(){var C,b,E,R,P,M,A;const e=this._getSheetObject();if(e==null)return;const t=(C=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:C.skeleton;if(t==null)return;const i=e.scene,r=Math.max(i.scaleX,i.scaleY),s=this._scrollManagerService.getCurrentScrollState(),l=(e.engine.height-t.columnHeaderHeight)/r,c=(e.engine.width-t.rowHeaderWidth)/r,d=(b=s==null?void 0:s.sheetViewStartRow)!=null?b:0,u=d===0?-((E=s==null?void 0:s.offsetY)!=null?E:0):t.rowHeightAccumulation[d-1]-((R=s==null?void 0:s.offsetY)!=null?R:0);let h=0,g=!1;for(let D=d,k=t.rowHeightAccumulation.length;D<k;D++)if(t.rowHeightAccumulation[D]-u>l){h=D,g=!0;break}g||(h=t.rowHeightAccumulation.length-1);const S=(P=s==null?void 0:s.sheetViewStartColumn)!=null?P:0,f=S===0?-((M=s==null?void 0:s.offsetX)!=null?M:0):t.columnWidthAccumulation[S-1]-((A=s==null?void 0:s.offsetX)!=null?A:0);let v=0,p=!1;for(let D=S,k=t.columnWidthAccumulation.length;D<k;D++)if(t.columnWidthAccumulation[D]-f>c){v=D,p=!0;break}return p||(v=t.columnWidthAccumulation.length-1),{lastRow:h,lastColumn:v}}_getActiveViewport(e){var i;const t=(i=this._getSheetObject())==null?void 0:i.scene.getViewports();return t&&t.find(r=>r.isHit(new y.Vector2(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,i,r=0){var f;const s=(f=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:f.skeleton;if(s==null)return;const l=this._getSheetObject();if(l==null)return;if(!this.interceptor.fetchThroughInterceptors(Ei)(!0,null))return!1;const{scene:d}=l;d.setCursor(y.CURSOR_TYPE.GRABBING),d.disableObjectsEvent();const u=this._getCurrentLastVisible(),h=u===void 0?Number.POSITIVE_INFINITY:s.rowHeightAccumulation[u.lastRow],g=u===void 0?Number.POSITIVE_INFINITY:s.columnWidthAccumulation[u.lastColumn-1]+s.rowHeaderWidth;this._activeViewport=null;const S=this._getFreeze();S&&(this._changeToColumn=S.startColumn,this._changeToRow=S.startRow),this._scenePointerMoveSub=d.onPointerMove$.subscribeEvent(v=>{var A,D,k,N;const p=this._getActiveViewport(v),{startX:C,startY:b,row:E,column:R}=$e(v.offsetX,v.offsetY,d,s,p||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(Ei)(!0,null))return!1;d.setCursor(y.CURSOR_TYPE.GRABBING);const M=Rr/Math.max(d.scaleX,d.scaleY);r===0?((A=t.transformByState({top:Math.min(b,h)-M/2}))==null||A.setProps({fill:this._freezeActiveColor}),(D=i.transformByState({top:Math.min(b,h)-M/2}))==null||D.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=u===void 0?E:Math.min(E,u.lastRow),this._changeToOffsetY=Math.min(b,h),this._activeViewport=p):((k=t.transformByState({left:Math.min(C,g)-M/2}))==null||k.setProps({fill:this._freezeActiveColor}),(N=i.transformByState({left:Math.min(C,g)-M/2}))==null||N.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=u===void 0?R:Math.min(R,u.lastColumn),this._changeToOffsetX=C,this._activeViewport=p)}),this._scenePointerUpSub=d.onPointerUp$.subscribeEvent(()=>{var H,V;d.resetCursor(),d.enableObjectsEvent(),this._clearObserverEvent();const{rowHeaderWidthAndMarginLeft:v,columnHeaderHeightAndMarginTop:p}=s;r===0&&(this._changeToRow===0||this._changeToRow===-1)||r===1&&(this._changeToColumn===0||this._changeToColumn===-1)?(t.setProps({fill:this._freezeNormalHeaderColor}),i.setProps({fill:this._freezeNormalMainColor})):(t==null||t.setProps({fill:this._freezeNormalHeaderColor}),i==null||i.setProps({fill:this._freezeNormalHeaderColor}));const C=Rr/Math.max(d.scaleX,d.scaleY);r===0?(this._changeToRow===0||this._changeToRow===-1)&&(t.transformByState({top:p-C}),i.transformByState({top:p-C})):(this._changeToColumn===0||this._changeToColumn===-1)&&(t.transformByState({left:v-C}),i.transformByState({left:v-C}));const b=this._scrollManagerService.getCurrentScrollState()||{sheetViewStartRow:0,sheetViewStartColumn:0},{sheetViewStartRow:E,sheetViewStartColumn:R}=b;if(R==null||E==null)return;const P=this._context.unit,M=P.getActiveSheet();if(!M)return;const A=(H=M.getConfig())==null?void 0:H.freeze;let D=(A==null?void 0:A.xSplit)||0,k=(A==null?void 0:A.ySplit)||0;const N=(V=this._activeViewport)==null?void 0:V.viewportKey;r===0&&(!N||N===y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP||N===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP||N===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||N===y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP?k=this._changeToRow-(A.startRow-A.ySplit):k=this._changeToRow-E,k=k<0?0:k),r===1&&(!N||N===y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP||N===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP||N===y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||N===y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT?D=this._changeToColumn-(A.startColumn-A.xSplit):D=this._changeToColumn-R,D=D<0?0:D),this._commandService.executeCommand(m.SetFrozenCommand.id,{startRow:k===0?-1:this._changeToRow,startColumn:D===0?-1:this._changeToColumn,ySplit:k,xSplit:D,unitId:P.getUnitId(),subUnitId:M.getSheetId()})})}_getViewports(){const e=this._getSheetObject();if(e==null)return;const{scene:t}=e,i=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT),r=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT),s=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP),l=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM),c=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP),d=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),u=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP),h=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT),g=t.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(!(i==null||r==null||s==null||l==null||c==null||d==null||u==null||h==null||g==null))return{viewMain:d,viewMainLeftTop:u,viewMainLeft:h,viewMainTop:g,viewColumnLeft:i,viewColumnRight:r,viewRowTop:s,viewRowBottom:l,viewLeftTop:c}}_bindViewportScroll(){const e=this._getViewports();if(!e)return;const{viewRowBottom:t,viewColumnRight:i,viewMainLeft:r,viewMainTop:s}=e;this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(l=>{if(!l)return;const{scrollX:c,scrollY:d,viewportScrollX:u,viewportScrollY:h}=l;t.isActive&&t.updateScrollVal({scrollY:d,viewportScrollY:h}),i.isActive&&i.updateScrollVal({scrollX:c,viewportScrollX:u}),r.isActive&&r.updateScrollVal({scrollY:d,viewportScrollY:h}),s.isActive&&s.updateScrollVal({scrollX:c,viewportScrollX:u})}))}_updateViewport(e=-1,t=-1,i=0,r=0,s=3){var D;const l=(D=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:D.skeleton;if(l==null)return;const{rowHeaderWidthAndMarginLeft:c,columnHeaderHeightAndMarginTop:d}=l,u=this._getViewports();if(!u)return;const{viewMain:h,viewMainLeftTop:g,viewMainLeft:S,viewMainTop:f,viewColumnLeft:v,viewColumnRight:p,viewRowTop:C,viewRowBottom:b,viewLeftTop:E}=u;p.resizeWhenFreezeChange({left:c,top:0,height:d+1,right:0}),b.resizeWhenFreezeChange({left:0,top:d,bottom:0,width:c+1}),E.resizeWhenFreezeChange({left:0,top:0,width:c+1,height:d});let R=!0,P=!0;g.enable(),(e===-1||e===0)&&(R=!1),(t===-1||t===0)&&(P=!1);const M=l.getNoMergeCellWithCoordByIndex(e-i,t-r,!1),A=l.getNoMergeCellWithCoordByIndex(e,t,!1);if(g.disable(),f.disable(),S.disable(),C.disable(),v.disable(),g.resetPadding(),f.resetPadding(),S.resetPadding(),C.resetPadding(),v.resetPadding(),R===!1&&P===!1)h.resizeWhenFreezeChange({left:c,top:d,bottom:0,right:0}),h.resetPadding(),S.resizeWhenFreezeChange({left:c,top:d,bottom:0,width:0}),f.resizeWhenFreezeChange({left:c,top:d,height:0,right:0}),g.resizeWhenFreezeChange({left:c,top:d,width:0,height:0}),C.resizeWhenFreezeChange({left:0,top:d,width:c+1,height:0}),v.resizeWhenFreezeChange({left:0,top:0,height:d+1,width:0});else if(R===!0&&P===!1){const k=A.startY-M.startY;h.resizeWhenFreezeChange({left:c,top:d+k,bottom:0,right:0}),h.setPadding({startY:M.startY,endY:A.startY,startX:0,endX:0}),s&2&&this._commandService.executeCommand(Fe.id,{sheetViewStartRow:0,offsetY:0}),f.resizeWhenFreezeChange({left:c,top:d,height:k,right:0}),f.updateScrollVal({viewportScrollY:M.startY,rawScrollX:h.scrollX,viewportScrollX:h.viewportScrollX}),C.resizeWhenFreezeChange({left:0,top:d,width:c+1,height:k}),C.updateScrollVal({viewportScrollY:M.startY}),b.resizeWhenFreezeChange({left:0,top:d+k,bottom:0,width:c+1}),f.enable(),C.enable()}else if(R===!1&&P===!0){const k=A.startX-M.startX;h.resizeWhenFreezeChange({left:c+k,top:d,bottom:0,right:0}),h.setPadding({startX:M.startX,endX:A.startX,startY:0,endY:0}),s&1&&this._commandService.executeCommand(Fe.id,{sheetViewStartColumn:0,offsetX:0}),S.resizeWhenFreezeChange({left:c,top:d,width:k,bottom:0,right:0}),S.updateScrollVal({viewportScrollX:M.startX,rawScrollY:h.scrollY,viewportScrollY:h.viewportScrollY}),v.resizeWhenFreezeChange({left:c,top:0,width:k,height:d+1}),v.updateScrollVal({viewportScrollX:M.startX}),p.resizeWhenFreezeChange({left:c+k,top:0,height:d+1,right:0}),S.enable(),v.enable()}else{const k=A.startX-M.startX,N=A.startY-M.startY;h.resizeWhenFreezeChange({left:c+k,top:d+N,bottom:0,right:0}),h.setPadding({startY:M.startY,endY:A.startY,startX:M.startX,endX:A.startX}),s&&this._commandService.executeCommand(Fe.id,{...s&1?{sheetViewStartColumn:0,offsetX:0}:null,...s&2?{sheetViewStartRow:0,offsetY:0}:null}),S.resizeWhenFreezeChange({left:c,top:d+N,width:k,bottom:0}),S.updateScrollVal({viewportScrollX:M.startX,rawScrollY:h.scrollY,viewportScrollY:h.viewportScrollY}),f.resizeWhenFreezeChange({left:c+k,top:d,height:N,right:0}),f.updateScrollVal({viewportScrollY:M.startY,rawScrollX:h.scrollX,viewportScrollX:h.viewportScrollX}),g.resizeWhenFreezeChange({left:c,top:d,width:k,height:N}),g.updateScrollVal({viewportScrollX:M.startX,viewportScrollY:M.startY}),C.resizeWhenFreezeChange({left:0,top:d,width:c+1,height:N}),C.updateScrollVal({viewportScrollY:M.startY}),b.resizeWhenFreezeChange({left:0,top:d+N,bottom:0,width:c+1}),v.resizeWhenFreezeChange({left:c,top:0,width:k,height:d+1}),v.updateScrollVal({viewportScrollX:M.startX}),p.resizeWhenFreezeChange({left:c+k,top:0,height:d+1,right:0}),g.enable(),f.enable(),S.enable(),C.enable(),v.enable()}}_skeletonListener(){this.disposeWithMe(a.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[m.SetWorksheetActiveOperation.id,m.InsertRangeMoveDownCommand.id,m.InsertRangeMoveRightCommand.id].includes((e==null?void 0:e.commandId)||"")&&this._refreshCurrent()})))}_refreshCurrent(){const t=this._context.unit.getActiveSheet();if(!t)return;const i=t.getConfig().freeze,{startRow:r=-1,startColumn:s=-1,ySplit:l=0,xSplit:c=0}=i;this._refreshFreeze(r,s,l,c,0)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=a.get(e,"gray.300"),this._freezeNormalMainColor=new a.ColorKit(this._freezeNormalHeaderColor).setAlpha(Dh).toRgbString(),this._freezeActiveColor=a.get(e,"primary.600"),this._freezeHoverColor=a.get(e,"gray.500")}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{const t={redos:[],undos:[]},i=this._getFreeze();if(!i)return t;const r=s=>{const l=this._context.unit,c=l.getUnitId(),d=l.getActiveSheet();if(!d)return t;const u=d.getSheetId();this._refreshFreeze(s.startRow,s.startColumn,s.ySplit,s.xSplit,0);const h={...s,unitId:c,subUnitId:u,resetScroll:!1},g=m.SetFrozenMutationFactory(this._injector,h);return{undos:[{id:m.SetFrozenMutation.id,params:g}],redos:[{id:m.SetFrozenMutation.id,params:h}]}};if(e.id===m.InsertRowCommand.id){const s=e.params,{range:l,direction:c}=s,d=l.endRow-l.startRow+1;if(l.startRow<i.startRow||l.startRow+1===i.startRow&&c===a.Direction.UP){const u={...i,startRow:Math.max(1,i.startRow+d),ySplit:Math.max(1,i.ySplit+d)};return r(u)}}if(e.id===m.InsertColCommand.id){const s=e.params,{range:l,direction:c}=s,d=l.endColumn-l.startColumn+1;if(l.startColumn<i.startColumn||l.startColumn+1===i.startColumn&&c===a.Direction.LEFT){const u={...i,startColumn:Math.max(1,i.startColumn+d),xSplit:Math.max(1,i.xSplit+d)};return r(u)}}if(e.id===m.MoveColsCommand.id){const s=this._selectionManagerService.getCurrentSelections(),{fromRange:{startColumn:l},toRange:{startColumn:c}}=e.params,d=s==null?void 0:s.filter(C=>C.range.rangeType===a.RANGE_TYPE.COLUMN&&C.range.startColumn<=l&&l<=C.range.endColumn);if(!(d!=null&&d.length))return t;const u=d[0].range,h={...u,startColumn:c,endColumn:c+u.endColumn-u.startColumn};if(!i||i.startColumn<=0||u.startColumn>=i.startColumn&&h.startColumn>=i.startColumn||u.startColumn===h.startColumn||u.endColumn<i.startColumn&&h.startColumn<i.startColumn)return t;const g=u.endColumn-u.startColumn+1,S=Math.max(Math.min(i.startColumn,u.endColumn+1)-u.startColumn,0);let f,v;h.startColumn>=i.startColumn?(f=Math.max(i.startColumn-S,1),v=Math.max(i.xSplit-S,1)):(f=i.startColumn+g-S,v=i.xSplit+g-S);const p={...i,startColumn:f,xSplit:v};return r(p)}if(e.id===m.MoveRowsCommand.id){const s=this._selectionManagerService.getCurrentSelections(),{fromRange:{startRow:l},toRange:{startRow:c}}=e.params,d=s==null?void 0:s.filter(C=>C.range.rangeType===a.RANGE_TYPE.ROW&&C.range.startRow<=l&&l<=C.range.endRow);if(!(d!=null&&d.length))return t;const u=d[0].range,h={...u,startRow:c,endRow:c+u.endRow-u.startRow};if(!i||i.startRow<=0||u.startRow>=i.startRow&&h.startRow>=i.startRow||u.startRow===h.startRow||u.endRow<i.startRow&&h.startRow<i.startRow)return t;const g=u.endRow-u.startRow+1,S=Math.max(Math.min(i.startRow,u.endRow+1)-u.startRow,0);let f,v;h.startRow>=i.startRow?(f=Math.max(i.startRow-S,1),v=Math.max(i.ySplit-S,1)):(f=i.startRow+g-S,v=i.ySplit+g-S);const p={...i,startRow:f,ySplit:v};return r(p)}if(e.id===m.RemoveColCommand.id||e.id===m.RemoveRowCommand.id){const s=e.params,l=s.range;if(l.rangeType===a.RANGE_TYPE.COLUMN&&l.startColumn<i.startColumn){const c=Math.min(i.startColumn,l.endColumn+1)-l.startColumn,d={...i,startColumn:Math.max(1,i.startColumn-c),xSplit:Math.max(1,i.xSplit-c)};return r(d)}if(s.range.rangeType===a.RANGE_TYPE.ROW&&l.startRow<i.startRow){const c=Math.min(i.startRow,l.endRow+1)-l.startRow,d={...i,startRow:Math.max(1,i.startRow-c),ySplit:Math.max(1,i.ySplit-c)};return r(d)}}return t}}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case m.SetFrozenMutation.id:case et.id:{const t=this._lastFreeze,i=this._context.unit,r=i.getActiveSheet(),s=e.params,{unitId:l,subUnitId:c}=s;if(!(l===i.getUnitId()&&c===(r==null?void 0:r.getSheetId())))return;const d=r.getConfig().freeze;if(this._lastFreeze=d,d==null)return;let u=0;const{startRow:h=-1,startColumn:g=-1,ySplit:S=0,xSplit:f=0}=d;(!t||t.startRow!==h||t.ySplit!==S)&&(u|=2),(!t||t.startColumn!==g||t.xSplit!==f)&&(u|=1),s.resetScroll===!1&&(u=0),this._refreshFreeze(h,g,S,f,u)}break;case m.SetWorksheetRowHeightMutation.id:{const t=this._getFreeze(),i=t&&e.params.ranges.some(r=>r.startRow<t.startRow);e.params&&i&&this._refreshCurrent()}break;case m.SetWorksheetColWidthMutation.id:{const t=this._getFreeze();e.params&&t&&e.params.ranges.some(i=>i.startColumn<t.startColumn)&&this._refreshCurrent()}break;case m.SetWorksheetRowAutoHeightMutation.id:{const t=e.params,i=this._getFreeze();if(i&&i.startRow>-1&&t.rowsAutoHeightInfo.some(r=>r.row<i.startRow)){const r=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{r.unsubscribe()})})}}break;case m.SetColHiddenMutation.id:case m.SetColVisibleMutation.id:{const t=e.params,i=this._getFreeze(),r=t.ranges;i&&i.startColumn>-1&&r.some(s=>s.startColumn<i.startColumn)&&this._refreshCurrent()}break;case m.SetRowHiddenMutation.id:case m.SetRowVisibleMutation.id:{const t=e.params,i=this._getFreeze(),r=t.ranges;i&&i.startRow>-1&&r.some(s=>s.startRow<i.startRow)&&this._refreshCurrent()}break;case Kn.id:case qn.id:this._refreshCurrent()}}))}_zoomRefresh(){const e=this._getSheetObject();if(e==null)return;const{scene:t}=e;this.disposeWithMe(t.onTransformChange$.subscribeEvent(i=>{[y.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale,y.TRANSFORM_CHANGE_OBSERVABLE_TYPE.all].includes(i.type)&&this._refreshCurrent()}))}_clearObserverEvent(){var t,i;this._getSheetObject()!=null&&((t=this._scenePointerMoveSub)==null||t.unsubscribe(),(i=this._scenePointerUpSub)==null||i.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_clearFreeze(){var t,i,r,s,l,c;(t=this._rowFreezeHeaderRect)==null||t.dispose(),(i=this._rowFreezeMainRect)==null||i.dispose(),(r=this._columnFreezeHeaderRect)==null||r.dispose(),(s=this._columnFreezeMainRect)==null||s.dispose(),this._getSheetObject()!=null&&([this._freezeDownSubs,this._freezePointerEnterSubs,this._freezePointerLeaveSubs].forEach(d=>{d==null||d.unsubscribe()}),this._freezeDownSubs=null,this._freezePointerEnterSubs=null,this._freezePointerLeaveSubs=null,(l=this._scenePointerMoveSub)==null||l.unsubscribe(),(c=this._scenePointerUpSub)==null||c.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_getPositionByIndex(e,t){var d;if(this._getSheetObject()==null)return;const r=(d=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:d.skeleton,s=r==null?void 0:r.getNoMergeCellWithCoordByIndex(e,t);if(r==null)return;if(s!=null&&(!isNaN(s.endX)||!isNaN(s.endY)))return s;const{rowHeaderWidthAndMarginLeft:l,columnHeaderHeightAndMarginTop:c}=r;return{startX:l,endX:l,startY:c,endY:c}}_getFreeze(){var t;const e=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton.getWorksheetConfig();if(e!=null)return e.freeze}_getSheetObject(){return Be(this._context.unit,this._context)}_refreshFreeze(e,t,i,r,s){var c;const l={startRow:e,startColumn:t,ySplit:i,xSplit:r};this._clearFreeze(),this._createFreeze(0,l),this._createFreeze(1,l),this._updateViewport(e,t,i,r,s),(c=this._getSheetObject())==null||c.spreadsheet.makeForceDirty()}},T.HeaderFreezeRenderController=Rh([qt(1,a.Inject(T.SheetSkeletonManagerService)),qt(2,a.ICommandService),qt(3,a.Inject(m.SheetsSelectionsService)),qt(4,a.Inject(T.SheetScrollManagerService)),qt(5,a.Inject(a.ThemeService)),qt(6,a.Inject(m.SheetInterceptorService)),qt(7,a.Inject(a.Injector))],T.HeaderFreezeRenderController);function kh(n){const o=n.get(m.SheetsSelectionsService),e=n.get(m.RangeProtectionRuleModel),t=n.get(a.IUniverInstanceService),i=n.get(m.MergeCellController),r=t.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET);return O.combineLatest([o.selectionMoveEnd$,r.pipe(O.map(s=>{var l;return(l=s==null?void 0:s.getUnitId())!=null?l:""})),r.pipe(O.switchMap(s=>{var l;return(l=s==null?void 0:s.activeSheet$)!=null?l:O.of(null)}))]).pipe(O.map(([s,l,c])=>{if(!c||!s||s.length===0)return!1;const d=c.getSheetId(),u=s.map(S=>S.range);if(i.interceptor.fetchThroughInterceptors(m.MERGE_CELL_INTERCEPTOR_CHECK)(!1,u))return!0;const g=e.getSubunitRuleList(l,d).map(S=>S.ranges).flat();if(s.length<2){const S=s[0].range;return g.some(v=>a.Rectangle.intersects(v,S)&&!a.Rectangle.contains(v,S))}for(let S=0;S<s.length;S++)for(let f=S+1;f<s.length;f++)if(a.Rectangle.intersects(s[S].range,s[f].range))return!0;return!1}))}function Ya(n,o){return!!wi(n,o,a.RANGE_TYPE.ROW)}function ja(n,o){return!!wi(n,o,a.RANGE_TYPE.COLUMN)}function wi(n,o,e){return n.find(i=>{const r=i.range,{startRow:s,endRow:l,startColumn:c,endColumn:d,rangeType:u}=r;return u===a.RANGE_TYPE.ALL||u===a.RANGE_TYPE.NORMAL?!1:u===e&&(e===a.RANGE_TYPE.COLUMN&&c<=o&&o<=d||e===a.RANGE_TYPE.ROW&&s<=o&&o<=l)})}var Nh=Object.getOwnPropertyDescriptor,Hh=(n,o,e,t)=>{for(var i=t>1?void 0:t?Nh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Mr=(n,o)=>(e,t)=>o(e,t,n);const Vh="__SpreadsheetHeaderMoveControllerBackground__",Wh="__SpreadsheetHeaderMoveControllerShapeLine__",Lh="rgba(0, 0, 0, 0.1)",xh="rgb(119, 119, 119)",Uh=4,Pr=a.createInterceptorKey("headerMovePermissionCheck");T.HeaderMoveRenderController=class extends a.Disposable{constructor(e,t,i,r){super();w(this,"_startOffsetX",Number.NEGATIVE_INFINITY);w(this,"_startOffsetY",Number.NEGATIVE_INFINITY);w(this,"_moveHelperBackgroundShape");w(this,"_moveHelperLineShape");w(this,"_headerPointerDownSubs");w(this,"_headerPointerMoveSubs");w(this,"_headerPointerLeaveSubs");w(this,"_dragHeaderMoveSub");w(this,"_scenePointerUpSub");w(this,"_scrollTimer");w(this,"_changeFromColumn",-1);w(this,"_changeFromRow",-1);w(this,"_changeToColumn",-1);w(this,"_changeToRow",-1);w(this,"interceptor",new a.InterceptorManager({HEADER_MOVE_PERMISSION_CHECK:Pr}));w(this,"_workbookSelections");this._context=e,this._sheetSkeletonManagerService=i,this._commandService=r,this._workbookSelections=t.getWorkbookSelections(this._context.unitId),this._init()}dispose(){var e,t,i,r,s,l,c,d;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose(),(i=this._headerPointerMoveSubs)==null||i.unsubscribe(),(r=this._headerPointerLeaveSubs)==null||r.unsubscribe(),(s=this._headerPointerDownSubs)==null||s.unsubscribe(),this._headerPointerMoveSubs=null,this._headerPointerLeaveSubs=null,this._headerPointerDownSubs=null,(l=this._dragHeaderMoveSub)==null||l.unsubscribe(),(c=this._scenePointerUpSub)==null||c.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null,(d=this._scrollTimer)==null||d.dispose()}_init(){this._initialRowOrColumn(a.RANGE_TYPE.ROW),this._initialRowOrColumn(a.RANGE_TYPE.COLUMN)}_initialRowOrColumn(e=a.RANGE_TYPE.ROW){const t=this._context.components.get(_e.COLUMN),i=this._context.components.get(_e.ROW),r=this._context.scene,s=e===a.RANGE_TYPE.ROW?i:t,l=u=>{var b,E;const h=(b=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:b.skeleton;if(h==null)return;const g=(E=this._workbookSelections.getCurrentLastSelection())==null?void 0:E.range;if(!g||!this.interceptor.fetchThroughInterceptors(Pr)(!1,g))return;const f=this._workbookSelections.getCurrentSelections(),{row:v,column:p}=$e(u.offsetX,u.offsetY,r,h);if(!wi(f,e===a.RANGE_TYPE.ROW?v:p,e)){r.resetCursor();return}r.setCursor(y.CURSOR_TYPE.GRAB)},c=()=>{var u,h;(u=this._moveHelperBackgroundShape)==null||u.hide(),(h=this._moveHelperLineShape)==null||h.hide(),r.resetCursor()},d=(u,h)=>{var L,W;if(h.isStopPropagation)return;const g=(L=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:L.skeleton;if(g==null)return;const S=(W=this._workbookSelections.getCurrentLastSelection())==null?void 0:W.range;if(!S||!this.interceptor.fetchThroughInterceptors(Pr)(!1,S))return;const{offsetX:v,offsetY:p}=u,C=r.getCoordRelativeToViewport(y.Vector2.FromArray([v,p])),{x:b,y:E}=C;this._startOffsetX=b,this._startOffsetY=E;const{row:R,column:P}=$e(u.offsetX,u.offsetY,r,g);let M;e===a.RANGE_TYPE.ROW?(this._changeFromRow=R,M=y.ScrollTimerType.Y):(this._changeFromColumn=P,M=y.ScrollTimerType.X);const A=this._workbookSelections.getCurrentSelections(),D=wi(A,e===a.RANGE_TYPE.ROW?R:P,e);if(!D)return;const k=r.getScrollXYInfoByViewport(y.Vector2.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),r.setCursor(y.CURSOR_TYPE.GRABBING),r.disableObjectsEvent();let N=!1,H;const V=()=>{if(N)return;H=y.ScrollTimer.create(r,M),this._scrollTimer=H;const U=r.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);H.startScroll(b,E,U),N=!0};this._dragHeaderMoveSub=r.onPointerMove$.subscribeEvent(U=>{V();const{offsetX:B,offsetY:X}=U,{x:z,y:Y}=r.getCoordRelativeToViewport(y.Vector2.FromArray([B,X]));this._rowColumnMoving(z,Y,D,k,e),H.scrolling(z,Y,()=>{this._rowColumnMoving(z,Y,D,k,e)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var B,X,z;this._disposeBackgroundAndLine(),r.resetCursor(),r.enableObjectsEvent(),this._clearObserverEvent(),(B=this._scrollTimer)==null||B.dispose();const U=this._workbookSelections.getCurrentSelections();if(e===a.RANGE_TYPE.ROW){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){const G=(X=((U==null?void 0:U.filter(K=>K.range.rangeType===a.RANGE_TYPE.ROW&&K.range.startRow<=this._changeFromRow&&this._changeFromRow<=K.range.endRow))||[])[0])==null?void 0:X.range;G&&this._commandService.executeCommand(m.MoveRowsCommand.id,{fromRange:G,toRange:{...G,startRow:this._changeToRow,endRow:this._changeToRow+G.endRow-G.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){const G=(z=((U==null?void 0:U.filter(K=>K.range.rangeType===a.RANGE_TYPE.COLUMN&&K.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=K.range.endColumn))||[])[0])==null?void 0:z.range;G&&this._commandService.executeCommand(m.MoveColsCommand.id,{fromRange:G,toRange:{...G,startColumn:this._changeToColumn,endColumn:this._changeToColumn+G.endColumn-G.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})};this._headerPointerMoveSubs=new O.Subscription,this._headerPointerMoveSubs.add(s.onPointerMove$.subscribeEvent(l)),this._headerPointerLeaveSubs=new O.Subscription,this._headerPointerLeaveSubs.add(s==null?void 0:s.onPointerLeave$.subscribeEvent(c)),this._headerPointerDownSubs=new O.Subscription,this._headerPointerDownSubs.add(s==null?void 0:s.onPointerDown$.subscribeEvent(d))}_rowColumnMoving(e,t,i,r,s){var Y,G,K,ee,ne,Se,ue;const l=this._context.scene,c=(Y=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:Y.skeleton;if(c==null)return;const{rowHeaderWidth:d,columnHeaderHeight:u,rowTotalHeight:h,columnTotalWidth:g}=c,S=l.getViewportScrollXY(l.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN)),{scaleX:f,scaleY:v}=l.getAncestorScale(),p=c.getCellIndexByOffset(e,t,f,v,S),{row:C,column:b}=p,E=c.getNoMergeCellWithCoordByIndex(C,b),{startX:R,startY:P,endX:M,endY:A}=E,D=this._sheetSkeletonManagerService.attachRangeWithCoord(i.range);if(D==null)return;const k=Math.max(f,f),{startX:N,endX:H,startY:V,endY:L,startRow:W,startColumn:U,endRow:B,endColumn:X}=D;s===a.RANGE_TYPE.ROW?(G=this._moveHelperBackgroundShape)==null||G.transformByState({height:L-V,width:g+d,left:0,top:V+(t-this._startOffsetY)/k+S.y-r.y}):(K=this._moveHelperBackgroundShape)==null||K.transformByState({height:h+u,width:H-N,left:N+(e-this._startOffsetX)/k+S.x-r.x,top:0}),(ee=this._moveHelperBackgroundShape)==null||ee.show();const z=Uh/k;if(s===a.RANGE_TYPE.ROW){let ce=0;if(C<=W)ce=P-z/2,this._changeToRow=C;else if(C>B)ce=A-z/2,this._changeToRow=C+1;else return;(ne=this._moveHelperLineShape)==null||ne.transformByState({height:z,width:g,left:d,top:ce})}else{let ce=0;if(b<=U)ce=R-z/2,this._changeToColumn=b;else if(b>X)ce=M-z/2,this._changeToColumn=b+1;else return;(Se=this._moveHelperLineShape)==null||Se.transformByState({height:h,width:z,left:ce,top:u})}(ue=this._moveHelperLineShape)==null||ue.show()}_clearObserverEvent(){var e,t;(e=this._dragHeaderMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null}_newBackgroundAndLine(){const e=this._context.scene;this._moveHelperBackgroundShape=new y.Rect(Vh,{fill:Lh,evented:!1,zIndex:100}),this._moveHelperLineShape=new y.Rect(Wh,{fill:xh,evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],je)}_disposeBackgroundAndLine(){var e,t;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose()}},T.HeaderMoveRenderController=Hh([Mr(1,a.Inject(m.SheetsSelectionsService)),Mr(2,a.Inject(T.SheetSkeletonManagerService)),Mr(3,a.ICommandService)],T.HeaderMoveRenderController);var Ti=(n=>(n[n.VERTICAL=0]="VERTICAL",n[n.HORIZONTAL=1]="HORIZONTAL",n))(Ti||{});const Bh="rgba(120, 120, 120, 0.01)",Or="rgb(68, 71, 70)",ut=12,Za=44,yi=4;class lo extends y.Shape{constructor(e,t){super(e,t);w(this,"_size",ut);w(this,"_color",Or);w(this,"_mode",0);this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){const t=this.getScene();if(!t)return;const{scaleX:i,scaleY:r}=t.getAncestorScale(),s=Math.max(i,r),l=ut/s,c=yi/s;let{width:d,height:u}=this,h=0,g=0;this.mode===0?(d=c,h=l-c):(u=c,g=l-c),y.Rect.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:Bh}),y.Rect.drawWith(e,{width:d,height:u,fill:Or,radius:c}),e.save(),e.transform(1,0,0,1,h,g),y.Rect.drawWith(e,{width:d,height:u,fill:Or,radius:c}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===0?this.transformByState({width:ut,height:this.size}):this.transformByState({width:this.size,height:ut}),this}}var Fh=Object.getOwnPropertyDescriptor,zh=(n,o,e,t)=>{for(var i=t>1?void 0:t?Fh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ar=(n,o)=>(e,t)=>o(e,t,n);const Xh="__SpreadsheetHeaderResizeControllerShapeRow__",Yh="__SpreadsheetHeaderResizeControllerShapeColumn__",Ga="__SpreadsheetHeaderResizeControllerShapeHelper__",Ka="rgb(199, 199, 199)",jh=2,Dr=a.createInterceptorKey("headerResizePermissionCheck");T.HeaderResizeRenderController=class extends a.Disposable{constructor(e,t,i,r){super();w(this,"_currentRow",0);w(this,"_currentColumn",0);w(this,"_rowResizeRect");w(this,"_columnResizeRect");w(this,"_headerPointerSubs");w(this,"_scenePointerMoveSub");w(this,"_scenePointerUpSub");w(this,"_resizeHelperShape");w(this,"_startOffsetX",Number.POSITIVE_INFINITY);w(this,"_startOffsetY",Number.POSITIVE_INFINITY);w(this,"interceptor",new a.InterceptorManager({HEADER_RESIZE_PERMISSION_CHECK:Dr}));this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=i,this._commandService=r,this._init()}dispose(){var e,t,i;(e=this._rowResizeRect)==null||e.dispose(),this._rowResizeRect=null,(t=this._columnResizeRect)==null||t.dispose(),this._columnResizeRect=null,(i=this._headerPointerSubs)==null||i.unsubscribe(),this._headerPointerSubs=null}_init(){const e=this._context.scene;this._rowResizeRect=new lo(Xh,{visible:!1,mode:Ti.HORIZONTAL,zIndex:100}),this._columnResizeRect=new lo(Yh,{visible:!1,mode:Ti.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],je),this._initialHover(0),this._initialHover(1),this._initialHoverResize(0),this._initialHoverResize(1)}_initialHover(e=0){const t=this._context.components.get(_e.COLUMN),i=this._context.components.get(_e.ROW),r=this._context.scene,s=e===0?i:t,l=(d,u)=>{var h,g;(h=this._rowResizeRect)==null||h.hide(),(g=this._columnResizeRect)==null||g.hide()},c=(d,u)=>{var k;const h=(k=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:k.skeleton;if(h==null||this._rowResizeRect==null||this._columnResizeRect==null)return;const{rowHeaderWidth:g,columnHeaderHeight:S}=h,{startX:f,startY:v,endX:p,endY:C,row:b,column:E}=$e(d.offsetX,d.offsetY,r,h),R=mi(d.offsetX,d.offsetY,r),{scaleX:P,scaleY:M}=r.getAncestorScale(),A=Math.max(P,M),D=ut/A;if(e===0){let N=v-D/2;if(R.y<=v+D/2&&R.y>=v)this._currentRow=b-1;else if(R.y>=C-D/2&&R.y<=C)this._currentRow=b,N=C-D/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;if(!this.interceptor.fetchThroughInterceptors(Dr)(null,{row:this._currentRow}))return!1;const V=Math.min(Za,g/3);this._rowResizeRect.transformByState({left:g/2-V/2,top:N}),this._rowResizeRect.setShapeProps({size:V}),this._rowResizeRect.show()}else{let N=f-D/2;if(R.x<=f+D/2&&R.x>=f)this._currentColumn=E-1;else if(R.x>=p-D/2&&R.x<=p)this._currentColumn=E,N=p-D/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;if(!this.interceptor.fetchThroughInterceptors(Dr)(null,{col:this._currentColumn}))return!1;const V=S*.7;this._columnResizeRect.transformByState({left:N,top:S/2-V/2}),this._columnResizeRect.setShapeProps({size:V}),this._columnResizeRect.show()}};this._headerPointerSubs=new O.Subscription,this._headerPointerSubs.add(s==null?void 0:s.onPointerMove$.subscribeEvent(c)),this._headerPointerSubs.add(s==null?void 0:s.onPointerLeave$.subscribeEvent(l))}_initialHoverResize(e=0){const t=this._context.scene,i=e===0?this._rowResizeRect:this._columnResizeRect;i!=null&&(this.disposeWithMe(i.onPointerEnter$.subscribeEvent(()=>{i!=null&&(i.show(),t.setCursor(e===0?y.CURSOR_TYPE.ROW_RESIZE:y.CURSOR_TYPE.COLUMN_RESIZE))})),this.disposeWithMe(i.onPointerLeave$.subscribeEvent(()=>{i!=null&&(i.hide(),t.resetCursor())})),this.disposeWithMe(i.onPointerDown$.subscribeEvent(r=>{var X,z,Y,G,K,ee,ne;const s=(X=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:X.skeleton;if(s==null)return;const l=this._context.scene,c=l.getEngine(),d=(c==null?void 0:c.height)||0,u=(c==null?void 0:c.width)||0,h=l.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),g=(((Y=(z=h==null?void 0:h.getScrollBar())==null?void 0:z.horizonScrollTrack)==null?void 0:Y.height)||0)+10,S=(((K=(G=h==null?void 0:h.getScrollBar())==null?void 0:G.verticalScrollTrack)==null?void 0:K.width)||0)+10,f=mi(r.offsetX,r.offsetY,l),{scaleX:v,scaleY:p}=l.getAncestorScale();this._startOffsetX=f.x,this._startOffsetY=f.y;const C=s.getOffsetByColumn(this._currentColumn),b=s.getOffsetByRow(this._currentRow),E=s.getNoMergeCellWithCoordByIndex(this._currentRow,this._currentColumn);let R=!1,P=0,M=0;const{columnTotalWidth:A,rowHeaderWidth:D,rowTotalHeight:k,columnHeaderHeight:N}=s,H=u>A+D?u:A+D,V=d>k+N?d:k+N,L=Math.max(v,p),W=yi/L;e===0?this._resizeHelperShape=new y.Rect(Ga,{width:H,height:W,fill:Ka,left:0,top:b-W/2}):this._resizeHelperShape=new y.Rect(Ga,{width:W,height:V,fill:Ka,left:C-W/2,top:0});const U=((ee=this._columnResizeRect)==null?void 0:ee.left)||0,B=((ne=this._rowResizeRect)==null?void 0:ne.top)||0;l.addObject(this._resizeHelperShape,je),l.disableObjectsEvent(),this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(Se=>{var j,Q,te,ae,he,ge;const ue=l.getCoordRelativeToViewport(y.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),ce=l.getScrollXYInfoByViewport(ue,h),Z=mi(Se.offsetX,Se.offsetY,l),{x:q,y:se}=Z,{scaleX:de,scaleY:ie}=l.getAncestorScale(),le=Math.max(de,ie),fe=yi/le;P=q-this._startOffsetX-fe/2,M=se-this._startOffsetY-fe/2,Math.abs(e===0?M:P)>=jh&&(R=!0),e===0?(M>d-g+ce.y-E.startY&&(M=d-g+ce.y-E.startY),M<-(E.endY-E.startY)+2&&(M=-(E.endY-E.startY)+2),R&&((j=this._resizeHelperShape)==null||j.transformByState({top:b+M}),(Q=this._rowResizeRect)==null||Q.transformByState({top:B+M+fe/2}),(te=this._rowResizeRect)==null||te.show(),l.setCursor(y.CURSOR_TYPE.ROW_RESIZE))):(P>u-S+ce.x-E.startX&&(P=u-S+ce.x-E.startX),P<-(E.endX-E.startX)+2&&(P=-(E.endX-E.startX)+2),R&&((ae=this._resizeHelperShape)==null||ae.transformByState({left:C+P}),(he=this._columnResizeRect)==null||he.transformByState({left:U+P+fe/2}),(ge=this._columnResizeRect)==null||ge.show(),l.setCursor(y.CURSOR_TYPE.COLUMN_RESIZE)))}),this._scenePointerUpSub=l.onPointerUp$.subscribeEvent(Se=>{var ce,Z,q;const ue=this._context.scene;this._clearObserverEvent(),(ce=this._resizeHelperShape)==null||ce.dispose(),this._resizeHelperShape=null,ue.enableObjectsEvent(),R&&(ue.resetCursor(),(Z=this._rowResizeRect)==null||Z.hide(),(q=this._columnResizeRect)==null||q.hide(),e===0?this._commandService.executeCommand(m.DeltaRowHeightCommand.id,{deltaY:M,anchorRow:this._currentRow}):this._commandService.executeCommand(m.DeltaColumnWidthCommand.id,{deltaX:P,anchorCol:this._currentColumn}))})})),this.disposeWithMe(i.onDblclick$.subscribeEvent(()=>{var h,g,S;this._context.scene.resetCursor();const s=(h=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:h.skeleton;if(!s)return;const l=0,c=0,d=s.worksheet.getRowCount()-1||0,u=s.worksheet.getColumnCount()-1||0;switch(e){case 1:{const f=this._selectionManagerService.getCurrentSelections(),v=[];for(let p=0;p<f.length;p++){const C=f[p];C.range.rangeType===a.RANGE_TYPE.COLUMN&&this._currentColumn<=C.range.endColumn&&this._currentColumn>=C.range.startColumn&&v.push({startColumn:C.range.startColumn,endColumn:C.range.endColumn,startRow:l,endRow:d})}v.length===0&&v.push({startColumn:this._currentColumn,endColumn:this._currentColumn,startRow:l,endRow:d}),this._commandService.executeCommand(Tn.id,{ranges:v}),(g=this._columnResizeRect)==null||g.hide();break}case 0:this._commandService.executeCommand(m.SetWorksheetRowIsAutoHeightCommand.id,{ranges:[{startRow:this._currentRow,endRow:this._currentRow,startColumn:c,endColumn:u}]}),(S=this._rowResizeRect)==null||S.hide();break}})))}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}},T.HeaderResizeRenderController=zh([Ar(1,a.Inject(T.SheetSkeletonManagerService)),Ar(2,a.Inject(m.SheetsSelectionsService)),Ar(3,a.ICommandService)],T.HeaderResizeRenderController);var Zh=Object.getOwnPropertyDescriptor,Gh=(n,o,e,t)=>{for(var i=t>1?void 0:t?Zh(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ri=(n,o)=>(e,t)=>o(e,t,n);const Kh=60;T.SheetRenderController=class extends a.RxDisposable{constructor(e,t,i,r,s,l){super();w(this,"_renderMetric$",new O.Subject);w(this,"renderMetric$",this._renderMetric$.asObservable());w(this,"_renderFrameTimeMetric",null);w(this,"_renderFrameTags",{});w(this,"_afterRenderMetric$",new O.Subject);this._context=e,this._configService=t,this._sheetSkeletonManagerService=i,this._sheetRenderService=r,this._commandService=s,this._telemetryService=l,this._addNewRender(),this._initRenderMetricSubscriber()}_addNewRender(){const{scene:e,engine:t,unit:i}=this._context;this._addComponent(i),this._initRerenderScheduler(),this._initCommandListener();const r=this._context.unit.getActiveSheet();if(!r)throw new Error("No active sheet found");const s=r.getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:s});const l=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(c=>{c?t.runRenderLoop(l):t.stopRenderLoop(l)}))}_initRenderMetricSubscriber(){const{engine:e}=this._context;e.beginFrame$.subscribe(()=>{this._renderFrameTimeMetric=null,this._renderFrameTags={}}),e.endFrame$.subscribe(()=>{this._renderFrameTimeMetric&&Object.keys(this._renderFrameTimeMetric).filter(r=>r.startsWith(y.SHEET_EXTENSION_PREFIX)).length>0&&this._afterRenderMetric$.next({frameTimeMetric:this._renderFrameTimeMetric,tags:this._renderFrameTags})}),e.renderFrameTimeMetric$.subscribe(([i,r])=>{this._renderFrameTimeMetric||(this._renderFrameTimeMetric={}),this._renderFrameTimeMetric[i]||(this._renderFrameTimeMetric[i]=[]),this._renderFrameTimeMetric[i].push(Math.round(r*100)/100)}),e.renderFrameTags$.subscribe(([i,r])=>{this._renderFrameTags[i]=r});const t=[];this._afterRenderMetric$.pipe(O.withLatestFrom(e.endFrame$)).subscribe(([i,r])=>{t.push({FPS:r.FPS,elapsedTime:r.elapsedTime,frameTime:Math.round(r.frameTime*100)/100,...i.frameTimeMetric,...i.tags}),t.length>Kh&&(this._captureRenderMetric(t),t.length=0)})}_captureRenderMetric(e){var g;const t=e;if(t.length===0)return;const i=S=>{let f=0;const p=Object.entries(S).filter(([b,E])=>Array.isArray(E)).map(([b])=>b).reduce((b,E)=>{const R=S[E].reduce((P,M)=>P+M,0);return b[E]=R,b},{});return Object.keys(S).filter(b=>b.startsWith(y.SHEET_EXTENSION_PREFIX)).forEach(b=>{f+=p[b]}),{...p,extensionTotal:f}},r=e.map(S=>({...S,...i(S)})),l=(S=>Object.entries(S[0]).filter(([p,C])=>!["elapsedTime"].includes(p)).filter(([p,C])=>typeof C=="number").map(([p])=>p).reduce((p,C)=>{const b=S.map(M=>M[C]),E=Math.max(...b),R=Math.min(...b),P=b.reduce((M,A)=>M+A,0)/b.length;return p[C]={max:Math.round(E*100)/100,min:Math.round(R*100)/100,avg:Math.round(P*100)/100},p},{}))(r),c=t[t.length-1].elapsedTime,d=this._context.unit.getActiveSheet().getSheetId(),u=this._context.unit.getUnitId(),h={sheetId:d,unitId:u,elapsedTimeToStart:c,...l};this._renderMetric$.next(h),(g=this._telemetryService)==null||g.capture("sheet_render_cost",h)}_addComponent(e){const{scene:t,components:i}=this._context,r=e.getActiveSheet(),s=new y.Spreadsheet(_e.MAIN);this._addViewport(r);const l=new y.SpreadsheetRowHeader(_e.ROW),c=new y.SpreadsheetColumnHeader(_e.COLUMN),d=new y.Rect(_e.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:"rgb(248, 249, 250)",stroke:"rgb(217, 217, 217)",strokeWidth:1});this._context.mainComponent=s,i.set(_e.MAIN,s),i.set(_e.ROW,l),i.set(_e.COLUMN,c),i.set(_e.LEFT_TOP,d),t.addObjects([s],Ns),t.addObjects([l,c,d],je),t.enableLayerCache(Ns,je)}_initViewports(e,t,i){const r=t.hidden?0:t.width,s=i.hidden?0:i.height,l=100,c=100,d=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN,e,{left:r,top:s,bottom:0,right:0,isWheelPreventDefaultX:!0,allowCache:!0,bufferEdgeX:l,bufferEdgeY:c}),u=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),h=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:c}),g=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:l,bufferEdgeY:0}),S=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0}),f=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM,e,{left:0,top:s,bottom:0,width:r+1,isWheelPreventDefaultX:!0}),v=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0}),p=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT,e,{left:r,top:0,height:s+1,right:0,isWheelPreventDefaultX:!0}),C=new y.Viewport(y.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP,e,{left:0,top:0,width:r,height:s,isWheelPreventDefaultX:!0});return{viewMain:d,viewLeftTop:C,viewMainLeftTop:u,viewMainLeft:h,viewMainTop:g,viewColumnLeft:v,viewRowTop:S,viewRowBottom:f,viewColumnRight:p}}_addViewport(e){const t=this._context.scene,{rowHeader:i,columnHeader:r}=e.getConfig(),{viewMain:s}=this._initViewports(t,i,r),l=this._configService.getConfig(Pe),c=l==null?void 0:l.scrollConfig;return new y.ScrollBar(s,c),t.attachControl(),s}_initRerenderScheduler(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;const{skeleton:t,sheetId:i}=e,r=this._context.unit,s=r==null?void 0:r.getSheetBySheetId(i);if(r==null||s==null)return;const{mainComponent:l,components:c}=this._context,d=l,u=c.get(_e.ROW),h=c.get(_e.COLUMN),g=c.get(_e.LEFT_TOP),{rowHeaderWidth:S,columnHeaderHeight:f}=t;d==null||d.updateSkeleton(t),u==null||u.updateSkeleton(t),h==null||h.updateSkeleton(t),g==null||g.transformByState({width:S,height:f})}))}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{const{unit:i}=this._context,{id:r}=e;if(m.COMMAND_LISTENER_SKELETON_CHANGE.includes(r)||this._sheetRenderService.checkMutationShouldTriggerRerender(r)){const s=e.params,{unitId:l,subUnitId:c}=s,d=i.getActiveSheet();if(!d)return;const u=this._context.unitId,h=d.getSheetId();if(l!==u||c!==h)return;this._sheetSkeletonManagerService.makeDirty({sheetId:h,commandId:r},!0),this._sheetSkeletonManagerService.setCurrent({sheetId:h,commandId:r})}else m.COMMAND_LISTENER_VALUE_CHANGE.includes(r)&&this._sheetSkeletonManagerService.reCalculate();e.type===a.CommandType.MUTATION&&this._markUnitDirty(e,t)}))}_markUnitDirty(e,t){if(e.id.substring(0,3)==="doc")return;const{mainComponent:i,scene:r}=this._context;if(e.id===J.SetFormulaCalculationNotificationMutation.id&&e.params.stageInfo!=null||(i&&i.makeDirty(),r.makeDirty(),!e.params))return;const s=e.params,l=this._spreadsheetViewports(r);if(e.id===m.SetRangeValuesMutation.id&&s.cellValue&&!(t!=null&&t.fromChangeset)){const c=this._cellValueToRange(s.cellValue),d=this._rangeToBounds([c]);this._markViewportDirty(l,d),i.setDirtyArea(d)}if(e.id===m.MoveRangeMutation.id&&s.from&&s.to&&!(t!=null&&t.fromChangeset)){const c=s.fromRange||this._cellValueToRange(s.from.value),d=s.toRange||this._cellValueToRange(s.to.value),u=this._rangeToBounds([c,d]);this._markViewportDirty(l,u),i.setDirtyArea(u)}}_cellValueToRange(e){let t=0,i=0,r=0,s=0;for(const[h,g]of Object.entries(e)){for(const S in g)t>Number(S)&&(t=Number(S)),i<Number(S)&&(i=Number(S));r>Number(h)&&(r=Number(h)),s<Number(h)&&(s=Number(h))}return{startRow:r,endRow:s,startColumn:t,endColumn:i}}_rangeToBounds(e){const t=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{rowHeightAccumulation:i,columnWidthAccumulation:r,rowHeaderWidth:s,columnHeaderHeight:l}=t,c=[];for(const d of e){const{startRow:u,endRow:h,startColumn:g,endColumn:S}=d,f=u===0?0:i[u-1]+l,v=i[h]+l,p=g===0?0:r[g-1]+s,C=r[S]+s;c.push({top:f,left:p,bottom:v,right:C,width:C-p,height:v-f})}return c}_markViewportDirty(e,t){const i=e.filter(r=>r.isActive&&r.cacheBound);for(const r of i)for(const s of t)a.Rectangle.hasIntersectionBetweenTwoRect(r.cacheBound,s)&&r.markDirty(!0)}_spreadsheetViewports(e){return e.getViewports().filter(t=>["viewMain","viewMainLeftTop","viewMainTop","viewMainLeft"].includes(t.viewportKey))}},T.SheetRenderController=Gh([Ri(1,a.Inject(a.IConfigService)),Ri(2,a.Inject(T.SheetSkeletonManagerService)),Ri(3,a.Inject(T.SheetsRenderService)),Ri(4,a.ICommandService),Ri(5,a.Optional(ad.ITelemetryService))],T.SheetRenderController);function we({ref:n,...o}){const{icon:e,id:t,className:i,extend:r,...s}=o,l=`univerjs-icon univerjs-icon-${t} ${i||""}`.trim(),c=x.useRef(`_${Jh()}`);return qa(e,`${t}`,{defIds:e.defIds,idSuffix:c.current},{ref:n,className:l,...s},r)}function qa(n,o,e,t,i){return x.createElement(n.tag,{key:o,...qh(n,e,i),...t},(Qh(n,e).children||[]).map((r,s)=>qa(r,`${o}-${n.tag}-${s}`,e,void 0,i)))}function qh(n,o,e){const t={...n.attrs};e!=null&&e.colorChannel1&&t.fill==="colorChannel1"&&(t.fill=e.colorChannel1),n.tag==="mask"&&t.id&&(t.id=t.id+o.idSuffix),Object.entries(t).forEach(([r,s])=>{r==="mask"&&typeof s=="string"&&(t[r]=s.replace(/url\(#(.*)\)/,`url(#$1${o.idSuffix})`))});const{defIds:i}=o;return!i||i.length===0||(n.tag==="use"&&t["xlink:href"]&&(t["xlink:href"]=t["xlink:href"]+o.idSuffix),Object.entries(t).forEach(([r,s])=>{typeof s=="string"&&(t[r]=s.replace(/url\(#(.*)\)/,`url(#$1${o.idSuffix})`))})),t}function Qh(n,o){var t;const{defIds:e}=o;return!e||e.length===0?n:n.tag==="defs"&&((t=n.children)!=null&&t.length)?{...n,children:n.children.map(i=>typeof i.attrs.id=="string"&&e&&e.includes(i.attrs.id)?{...i,attrs:{...i.attrs,id:i.attrs.id+o.idSuffix}}:i)}:n}function Jh(){return Math.random().toString(36).substring(2,8)}we.displayName="UniverIcon";const $h={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Qt=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"check-mark-icon",ref:e,icon:$h}))});Qt.displayName="CheckMarkIcon";const em={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z"}}]},Qa=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"close-icon",ref:e,icon:em}))});Qa.displayName="CloseIcon";const tm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"g",attrs:{fill:"currentColor",clipPath:"url(#convert-icon_clip0_911_593)"},children:[{tag:"path",attrs:{d:"M2.44766 0.848145C1.564 0.848145 0.847656 1.56449 0.847656 2.44814V6.44814C0.847656 7.3318 1.564 8.04814 2.44766 8.04814H6.44766C7.33131 8.04814 8.04766 7.3318 8.04766 6.44814V2.44814C8.04766 1.56449 7.33131 0.848145 6.44766 0.848145H2.44766ZM2.04766 6.44814V5.04824H3.84775V6.84814H2.44766C2.22674 6.84814 2.04766 6.66906 2.04766 6.44814ZM2.04766 3.84824H3.84775V2.04814H2.44766C2.22674 2.04814 2.04766 2.22723 2.04766 2.44814V3.84824ZM5.04775 6.84814V5.04824H6.84766V6.44814C6.84766 6.66906 6.66857 6.84814 6.44766 6.84814H5.04775ZM5.04775 3.84824H6.84766V2.44814C6.84766 2.22723 6.66857 2.04814 6.44766 2.04814H5.04775V3.84824Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{d:"M9.55215 7.95166C8.66849 7.95166 7.95215 8.668 7.95215 9.55166V13.5517C7.95215 14.4353 8.66849 15.1517 9.55215 15.1517L11.5522 15.1517L13.5521 15.1517C14.4358 15.1517 15.1521 14.4353 15.1521 13.5517L15.1521 11.5518L15.1521 9.55166C15.1521 8.668 14.4358 7.95166 13.5521 7.95166H9.55215ZM13.9521 10.9518V9.55166C13.9521 9.33075 13.7731 9.15166 13.5521 9.15166H12.1522V10.9518H13.9521ZM10.9522 10.9518V9.15166H9.55215C9.33123 9.15166 9.15215 9.33075 9.15215 9.55166V10.9518H10.9522ZM9.15215 12.1518H10.9522V13.9517H9.55215C9.33123 13.9517 9.15215 13.7726 9.15215 13.5517V12.1518ZM12.1522 12.1518H13.9521V13.5517C13.9521 13.7726 13.7731 13.9517 13.5521 13.9517H12.1522V12.1518Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{d:"M9.62158 2.44912C9.62158 2.11775 9.89021 1.84912 10.2216 1.84912H12.7516C13.6352 1.84912 14.3516 2.56547 14.3516 3.44912V5.9791C14.3516 6.31047 14.0829 6.5791 13.7516 6.5791C13.4202 6.5791 13.1516 6.31047 13.1516 5.9791V3.44912C13.1516 3.22821 12.9725 3.04912 12.7516 3.04912H10.2216C9.89021 3.04912 9.62158 2.78049 9.62158 2.44912Z"}},{tag:"path",attrs:{d:"M5.77871 14.1507C6.11008 14.1507 6.37871 13.8821 6.37871 13.5507C6.37871 13.2193 6.11008 12.9507 5.77871 12.9507L3.24873 12.9507C3.02782 12.9507 2.84873 12.7716 2.84873 12.5507L2.84873 10.0207C2.84873 9.68933 2.5801 9.4207 2.24873 9.4207C1.91736 9.4207 1.64873 9.68933 1.64873 10.0207L1.64873 12.5507C1.64873 13.4343 2.36507 14.1507 3.24873 14.1507H5.77871Z"}}]},{tag:"defs",attrs:{},children:[{tag:"clipPath",attrs:{id:"convert-icon_clip0_911_593"},children:[{tag:"path",attrs:{fill:"white",d:"M0 0H16V16H0z"}}]}]}],defIds:["convert-icon_clip0_911_593"]},Ja=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"convert-icon",ref:e,icon:tm}))});Ja.displayName="ConvertIcon";const nm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},co=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"delete-icon",ref:e,icon:nm}))});co.displayName="DeleteIcon";const im={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]},$a=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"dropdown-icon",ref:e,icon:im}))});$a.displayName="DropdownIcon";const om={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM10.3097 5.69014C10.544 5.92445 10.544 6.30435 10.3097 6.53867L8.84843 7.9999L10.3099 9.46137C10.5442 9.69569 10.5442 10.0756 10.3099 10.3099C10.0756 10.5442 9.69569 10.5442 9.46137 10.3099L7.9999 8.84843L6.53842 10.3099C6.30411 10.5442 5.92421 10.5442 5.6899 10.3099C5.45558 10.0756 5.45558 9.69569 5.6899 9.46137L7.15137 7.9999L5.69014 6.53867C5.45583 6.30435 5.45583 5.92445 5.69014 5.69014C5.92445 5.45583 6.30435 5.45583 6.53867 5.69014L7.9999 7.15137L9.46113 5.69014C9.69544 5.45583 10.0753 5.45583 10.3097 5.69014Z",fillRule:"evenodd",clipRule:"evenodd"}}]},kr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"error-icon",ref:e,icon:om}))});kr.displayName="ErrorIcon";const rm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.28096 4.6541C1.57489 4.50109 1.93721 4.61533 2.09022 4.90926C2.27315 5.26067 2.55999 5.60455 2.94829 5.92278C4.04628 6.82266 5.87505 7.44865 7.99828 7.44865C10.1215 7.44865 11.9503 6.82267 13.0482 5.92279C13.4366 5.60455 13.7234 5.26067 13.9063 4.90927C14.0594 4.61533 14.4217 4.50109 14.7156 4.65409C15.0095 4.8071 15.1238 5.16941 14.9708 5.46334C14.6995 5.98445 14.2981 6.44997 13.8089 6.8509C13.7298 6.91575 13.6481 6.97914 13.564 7.041L15.2245 8.70153C15.4588 8.93585 15.4588 9.31575 15.2245 9.55006C14.9902 9.78438 14.6103 9.78438 14.376 9.55006L12.5041 7.67822C11.8977 7.97568 11.2181 8.21208 10.4884 8.37706L11.0996 10.6581C11.1853 10.9782 10.9954 11.3072 10.6753 11.393C10.3552 11.4787 10.0262 11.2888 9.94045 10.9687L9.29949 8.57652C8.8758 8.62404 8.44081 8.64865 7.99828 8.64865C7.55276 8.64865 7.11487 8.62371 6.68846 8.57555L6.04723 10.9687C5.96147 11.2888 5.63247 11.4788 5.31239 11.393C4.99231 11.3073 4.80236 10.9783 4.88812 10.6582L5.49983 8.37516C4.7743 8.2105 4.09843 7.9752 3.49498 7.67947L1.62436 9.55009C1.39005 9.78441 1.01015 9.78441 0.775835 9.5501C0.54152 9.31578 0.541518 8.93588 0.775832 8.70157L2.43478 7.04261C2.34987 6.98024 2.26746 6.91632 2.18764 6.8509C1.69842 6.44997 1.29706 5.98445 1.0258 5.46335C0.872791 5.16942 0.987031 4.80711 1.28096 4.6541Z"}}]},el=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"eyelash-icon",ref:e,icon:rm}))});el.displayName="EyelashIcon";const sm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.06409 5.53454C5.93592 5.53454 5.84083 5.41567 5.86897 5.29063L5.95442 4.9109C6.05444 4.48178 6.23806 4.11547 6.51182 3.81952C6.81082 3.49628 7.25398 3.35405 7.79738 3.35405C7.99847 3.35405 8.21359 3.37775 8.44188 3.42245C8.46089 3.42617 8.47974 3.43006 8.49846 3.4341C8.7099 3.4798 8.93698 3.38478 9.02031 3.18514L9.24767 2.6404C9.33457 2.43219 9.23178 2.19404 9.01582 2.12874C8.98358 2.11899 8.95028 2.10912 8.91591 2.09914C8.62745 2.01631 8.28392 1.97217 7.88074 1.97217C6.82015 1.97217 6.02714 2.23936 5.4746 2.7444C4.90987 3.26069 4.50889 3.99917 4.28413 4.9762L2.83703 11.1909C2.76126 11.5286 2.666 11.8917 2.54844 12.2812C2.42975 12.6734 2.2873 13.0595 2.12221 13.4373C1.95577 13.8159 1.76813 14.1762 1.55955 14.5171C1.49345 14.6251 1.42515 14.7282 1.35467 14.8263C1.26508 14.9509 1.3347 15.133 1.48655 15.1554C2.13635 15.2509 2.8179 15.0763 3.18197 14.5296C3.32661 14.3124 3.46779 14.0646 3.60509 13.7851C3.96635 13.0497 4.30522 12.0103 4.61867 10.6574L5.469 7.01534C5.49013 6.92483 5.57082 6.86081 5.66376 6.86081H7.62478C7.8097 6.86081 7.97051 6.73405 8.01371 6.55425L8.14014 6.02798C8.20057 5.77642 8.00992 5.53454 7.75121 5.53454H6.06409Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.3211 5.72037L12.5124 7.96963L11.4089 5.77754C11.3422 5.63012 11.1954 5.5354 11.0336 5.5354H10.3129C10.0085 5.5354 9.80921 5.85428 9.9427 6.1279L11.4089 9.05502L8.79783 12.1493C8.56587 12.4158 8.75519 12.8315 9.10855 12.8315H9.68607C9.80672 12.8315 9.9605 12.7822 10.0388 12.6904L12.1108 10.2648L13.1176 12.561C13.1786 12.7231 13.333 12.8315 13.5061 12.8315H14.3C14.5831 12.8315 14.7417 12.6175 14.6426 12.3524L13.1728 9.28628C13.1728 9.28628 15.4009 6.45542 15.6013 6.17892C15.7966 5.90929 15.6023 5.5354 15.2693 5.5354H14.6661C14.5275 5.5354 14.4333 5.58887 14.3211 5.72037Z"}}]},tl=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"fx-icon",ref:e,icon:sm}))});tl.displayName="FxIcon";const am={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},Nr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"increase-icon",ref:e,icon:am}))});Nr.displayName="IncreaseIcon";const lm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},nl=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"info-icon",ref:e,icon:lm}))});nl.displayName="InfoIcon";const cm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.62402 7.72905C2.58427 7.72905 2.55205 7.76127 2.55205 7.80102V13.6782C2.55205 13.7179 2.58427 13.7502 2.62402 13.7502H13.3755C13.4152 13.7502 13.4474 13.7179 13.4474 13.6782V7.80102C13.4474 7.76127 13.4152 7.72905 13.3755 7.72905H2.62402ZM1.35205 7.80102C1.35205 7.09853 1.92153 6.52905 2.62402 6.52905H13.3755C14.0779 6.52905 14.6474 7.09853 14.6474 7.80102V13.6782C14.6474 14.3807 14.0779 14.9502 13.3755 14.9502H2.62402C1.92153 14.9502 1.35205 14.3807 1.35205 13.6782V7.80102Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8 2.25005C6.69847 2.25003 5.64336 3.30513 5.64336 4.60666V7.12895C5.64336 7.46032 5.37473 7.72895 5.04336 7.72895C4.71199 7.72895 4.44336 7.46032 4.44336 7.12895V4.60666C4.44336 2.64239 6.04451 1.05565 8.00879 1.05566M8 2.25005L8.00879 1.05566L8 2.25005ZM8.00879 1.05566L8 2.25005C9.30154 2.25003 10.3567 3.30513 10.3567 4.60666V7.12895C10.3567 7.46032 10.6253 7.72895 10.9567 7.72895C11.288 7.72895 11.5567 7.46032 11.5567 7.12895V4.60666C11.5567 2.64239 9.97306 1.05565 8.00879 1.05566Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.00039 9.4668C8.33176 9.4668 8.60039 9.73543 8.60039 10.0668V12.0827C8.60039 12.4141 8.33176 12.6827 8.00039 12.6827C7.66902 12.6827 7.40039 12.4141 7.40039 12.0827V10.0668C7.40039 9.73543 7.66902 9.4668 8.00039 9.4668Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Hr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"lock-icon",ref:e,icon:cm}))});Hr.displayName="LockIcon";const dm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Dn=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"more-down-icon",ref:e,icon:dm}))});Dn.displayName="MoreDownIcon";const um={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Vr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"more-icon",ref:e,icon:um}))});Vr.displayName="MoreIcon";const hm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.666 2.70571C11.7769 1.76476 10.3295 1.76476 9.4404 2.70571L3.37843 9.12427C3.31779 9.18848 3.27756 9.26409 3.24979 9.3439C3.24809 9.3493 3.24299 9.3529 3.24129 9.3583L2.02912 13.2097C1.96112 13.4251 2.01439 13.6633 2.16626 13.8236C2.27393 13.9382 2.41901 14 2.56692 14C2.62699 14 2.68762 13.9898 2.74599 13.9688L6.3825 12.6846C6.3876 12.6828 6.391 12.678 6.39553 12.6762C6.47147 12.6474 6.54287 12.6042 6.60351 12.54L12.666 6.12202C13.5558 5.18048 13.5558 3.64725 12.666 2.70571ZM8.62832 5.26209L9.04031 5.69836C9.03918 5.69956 9.03748 5.70016 9.03634 5.70136L4.99182 9.9836L4.58096 9.54853L8.62832 5.26209ZM3.46287 12.4512L4.02673 10.6593L5.15446 11.8535L3.46287 12.4512ZM6.20342 11.2672L5.79256 10.8321L9.83709 6.54988C9.83822 6.54868 9.83879 6.54688 9.83992 6.54568L10.2513 6.98135L6.20342 11.2672ZM11.8647 5.27349L11.0532 6.13282L9.42963 4.41356L10.2411 3.55423C10.6888 3.08016 11.417 3.08076 11.8642 3.55423C12.3124 4.0283 12.3124 4.79942 11.8647 5.27349Z"}}]},il=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"pen-icon",ref:e,icon:hm}))});il.displayName="PenIcon";const mm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.785 6.77762C5.78908 6.7777 5.79316 6.77774 5.79725 6.77774C5.80134 6.77774 5.80543 6.7777 5.8095 6.77762H10.0184C10.0225 6.7777 10.0266 6.77774 10.0307 6.77774C10.0347 6.77774 10.0388 6.7777 10.0429 6.77762H13.6638V7.63727C13.6638 7.96864 13.9324 8.23727 14.2638 8.23727C14.5951 8.23727 14.8638 7.96864 14.8638 7.63727V3.9999C14.8638 2.56395 13.6997 1.39989 12.2637 1.3999L3.56389 1.39999C2.12797 1.40001 0.96393 2.56405 0.96392 3.99998L0.963867 11.6666C0.963857 13.1025 2.12792 14.2666 3.56387 14.2666H8.0542C8.38557 14.2666 8.6542 13.9979 8.6542 13.6666C8.6542 13.3352 8.38557 13.0666 8.0542 13.0666H3.56387C2.79067 13.0666 2.16386 12.4398 2.16387 11.6666L2.1639 6.77762H5.785ZM6.39725 2.59996L9.43065 2.59993V5.57762H6.39725V2.59996ZM5.19725 5.57762V2.59998L3.56391 2.59999C2.79072 2.6 2.16393 3.22679 2.16392 3.99998L2.16391 5.57762H5.19725ZM13.6638 5.57762V3.9999C13.6638 3.2267 13.037 2.59989 12.2638 2.5999L10.6307 2.59992V5.57762H13.6638Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.1223 10.2333V10.7496C14.7087 10.9869 15.1223 11.5618 15.1223 12.2333V12.8999C15.1223 13.7836 14.406 14.4999 13.5223 14.4999H11.5223C10.6387 14.4999 9.92235 13.7836 9.92235 12.8999V12.2333C9.92235 11.5618 10.336 10.9869 10.9223 10.7496V10.2333C10.9223 9.34961 11.6387 8.63328 12.5223 8.63328C13.406 8.63328 14.1223 9.34961 14.1223 10.2333ZM11.1223 12.2333C11.1223 12.0124 11.3014 11.8333 11.5223 11.8333H13.5223C13.7433 11.8333 13.9223 12.0124 13.9223 12.2333V12.8999C13.9223 13.1209 13.7433 13.2999 13.5223 13.2999H11.5223C11.3014 13.2999 11.1223 13.1209 11.1223 12.8999V12.2333ZM12.9223 10.2333V10.6333H12.1223V10.2333C12.1223 10.0124 12.3014 9.83328 12.5223 9.83328C12.7433 9.83328 12.9223 10.0124 12.9223 10.2333Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ol=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"protect-icon",ref:e,icon:mm}))});ol.displayName="ProtectIcon";const gm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8.00008 12.3671C8.46031 12.3671 8.83342 11.994 8.83342 11.5338C8.83342 11.0735 8.46031 10.7004 8.00008 10.7004C7.53985 10.7004 7.16675 11.0735 7.16675 11.5338C7.16675 11.994 7.53985 12.3671 8.00008 12.3671ZM8.5999 4.4335C8.5999 4.10213 8.33127 3.8335 7.9999 3.8335C7.66853 3.8335 7.3999 4.10213 7.3999 4.4335V9.36683C7.3999 9.6982 7.66853 9.96683 7.9999 9.96683C8.33127 9.96683 8.5999 9.6982 8.5999 9.36683V4.4335Z",fillRule:"evenodd",clipRule:"evenodd"}}]},rl=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"warning-icon",ref:e,icon:gm}))});rl.displayName="WarningIcon";const Sm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},Wr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"write-icon",ref:e,icon:Sm}))});Wr.displayName="WriteIcon";const fm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M11.0363 12.2367V14.0367C11.0363 14.3681 11.3049 14.6367 11.6363 14.6367C11.9676 14.6367 12.2363 14.3681 12.2363 14.0367V12.2367H14.0364C14.3677 12.2367 14.6364 11.9681 14.6364 11.6367C14.6364 11.3054 14.3677 11.0367 14.0364 11.0367H12.2363V9.23672C12.2363 8.90535 11.9676 8.63672 11.6363 8.63672C11.3049 8.63672 11.0363 8.90535 11.0363 9.23672V11.0367H9.23635C8.90498 11.0367 8.63635 11.3054 8.63635 11.6367C8.63635 11.9681 8.90498 12.2367 9.23635 12.2367H11.0363Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.56365 1.36377C1.90091 1.36377 1.36365 1.90103 1.36365 2.56377V6.16377C1.36365 6.82651 1.90091 7.36377 2.56365 7.36377H6.16365C6.82639 7.36377 7.36365 6.82651 7.36365 6.16377V2.56377C7.36365 1.90103 6.82639 1.36377 6.16365 1.36377H2.56365ZM6.16365 2.56377H2.56365L2.56365 6.16377H6.16365V2.56377Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.56365 8.63647C1.90091 8.63647 1.36365 9.17373 1.36365 9.83647V13.4365C1.36365 14.0992 1.90091 14.6365 2.56365 14.6365H6.16365C6.82639 14.6365 7.36365 14.0992 7.36365 13.4365V9.83647C7.36365 9.17373 6.82639 8.63647 6.16365 8.63647H2.56365ZM6.16365 9.83647H2.56365L2.56365 13.4365H6.16365V9.83647Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.83635 7.36377C9.17361 7.36377 8.63635 6.82651 8.63635 6.16377V2.56377C8.63635 1.90103 9.17361 1.36377 9.83635 1.36377H13.4364C14.0991 1.36377 14.6364 1.90103 14.6364 2.56377V6.16377C14.6364 6.82651 14.0991 7.36377 13.4364 7.36377H9.83635ZM9.83635 6.16377V2.56377L13.4364 2.56377V6.16377H9.83635Z",fillRule:"evenodd",clipRule:"evenodd"}}]},sl=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"autofill-double-icon",ref:e,icon:fm}))});sl.displayName="AutofillDoubleIcon";const vm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M6.4833 1.65005C6.4833 1.31868 6.21467 1.05005 5.8833 1.05005C5.55193 1.05005 5.2833 1.31868 5.2833 1.65005V5.28345H1.65029C1.31892 5.28345 1.05029 5.55208 1.05029 5.88345C1.05029 6.21482 1.31892 6.48345 1.65029 6.48345H5.2833V9.51684H1.65029C1.31892 9.51684 1.05029 9.78547 1.05029 10.1168C1.05029 10.4482 1.31892 10.7168 1.65029 10.7168H5.2833V14.35C5.2833 14.6814 5.55193 14.95 5.8833 14.95C6.21467 14.95 6.4833 14.6814 6.4833 14.35V10.7168H9.5167V14.35C9.5167 14.6814 9.78533 14.95 10.1167 14.95C10.4481 14.95 10.7167 14.6814 10.7167 14.35V10.7168H14.3503C14.6817 10.7168 14.9503 10.4482 14.9503 10.1168C14.9503 9.78547 14.6817 9.51685 14.3503 9.51685H10.7167V6.48345H14.3503C14.6817 6.48345 14.9503 6.21482 14.9503 5.88345C14.9503 5.55208 14.6817 5.28345 14.3503 5.28345H10.7167V1.65005C10.7167 1.31868 10.4481 1.05005 10.1167 1.05005C9.78533 1.05005 9.5167 1.31868 9.5167 1.65005V5.28345L6.4833 5.28345V1.65005ZM6.4833 6.48345V9.51684L9.5167 9.51685V6.48345L6.4833 6.48345Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.0498 3.65005C1.0498 2.21411 2.21386 1.05005 3.6498 1.05005H12.3498C13.7857 1.05005 14.9498 2.21411 14.9498 3.65005V12.3501C14.9498 13.786 13.7857 14.95 12.3498 14.95H3.6498C2.21386 14.95 1.0498 13.786 1.0498 12.35V3.65005ZM3.6498 2.25005C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H3.6498Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Lr=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"hide-gridlines-double-icon",ref:e,icon:vm}))});Lr.displayName="HideGridlinesDoubleIcon";const pm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.01281 1.36643C8.79386 0.585377 10.0602 0.585378 10.8412 1.36643L12.9223 3.44752C13.7034 4.22857 13.7034 5.4949 12.9223 6.27595L9.36445 9.83383C8.5834 10.6149 7.31707 10.6149 6.53602 9.83383L4.45493 7.75273C3.67388 6.97168 3.67388 5.70535 4.45493 4.9243L8.01281 1.36643ZM9.9927 2.21495C9.68028 1.90253 9.17375 1.90253 8.86133 2.21495L5.30346 5.77283L5.29671 5.77966L10.839 6.66224L12.0738 5.42742C12.3862 5.115 12.3862 4.60847 12.0738 4.29605L9.9927 2.21495Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.5179 9.48875C14.5179 9.99175 14.1101 10.3995 13.607 10.3995C13.1041 10.3995 12.6963 9.99175 12.6963 9.48875C12.6963 9.1773 13.0455 8.59966 13.3114 8.20487C13.4549 7.99177 13.7591 7.99177 13.9027 8.20486C14.1687 8.59965 14.5179 9.1773 14.5179 9.48875Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z"}}]},al=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"paint-bucket-double-icon",ref:e,icon:pm}))});al.displayName="PaintBucketDoubleIcon";const Cm={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M7.74692 9.12463C7.74692 9.46018 8.01893 9.73219 8.35448 9.73219H11.4933C11.8288 9.73219 12.1009 9.46018 12.1009 9.12463C12.1009 8.78909 11.8288 8.51707 11.4933 8.51707H8.35448C8.01893 8.51707 7.74692 8.78909 7.74692 9.12463Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M10.8636 10.8523C10.8636 11.1879 10.5915 11.4599 10.256 11.4599H8.35448C8.01893 11.4599 7.74692 11.1879 7.74692 10.8523C7.74692 10.5168 8.01893 10.2447 8.35448 10.2447H10.256C10.5915 10.2447 10.8636 10.5168 10.8636 10.8523Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.4791 1.98268C5.47913 1.71529 5.87912 1.49854 6.37252 1.49854C6.86593 1.49854 7.26592 1.71529 7.26595 1.98268H7.62187C8.22277 1.98268 8.72459 2.39534 8.84412 2.9452H9.39563C10.0856 2.9452 10.6449 3.48923 10.6449 4.16032V6.00569H12.1261C13.161 6.00569 14 6.82174 14 7.82838V11.334C14 11.8174 13.8025 12.281 13.4511 12.6228L12.0693 13.9647C11.7179 14.3065 11.2412 14.4985 10.7442 14.4985H7.91116C7.05024 14.4985 6.32492 14.0431 6.10535 13.2737H3.34925C2.6593 13.2737 2.09998 12.7297 2.09998 12.0586V4.16032C2.09998 3.48923 2.6593 2.9452 3.34925 2.9452H3.90107C4.0206 2.39534 4.52241 1.98268 5.12332 1.98268H5.4791ZM3.97249 4.16032H3.24925L3.24925 12.0586H6.03725V7.82838C6.03725 6.82174 6.87623 6.00569 7.91116 6.00569H9.49563V4.16032H8.7727C8.58289 4.59611 8.13909 4.90183 7.62187 4.90183H5.12332C4.6061 4.90183 4.1623 4.59611 3.97249 4.16032ZM5.12332 2.89403H7.62187C7.79436 2.89403 7.93419 3.03003 7.93419 3.19781V3.68671C7.93419 3.85448 7.79436 3.99049 7.62187 3.99049H5.12332C4.95083 3.99049 4.811 3.85448 4.811 3.68671V3.19781C4.811 3.03003 4.95083 2.89403 5.12332 2.89403ZM7.91116 7.11157C7.56618 7.11157 7.28652 7.38359 7.28652 7.71913V12.7851C7.28652 13.1206 7.56618 13.3927 7.91116 13.3927H10.7442C10.8401 13.3927 10.9337 13.3712 11.0182 13.3311C11.1373 13.2746 11.1859 13.1423 11.1859 13.0134V12.0066C11.1859 11.8724 11.2978 11.7636 11.4358 11.7636H12.4709C12.6034 11.7636 12.7394 11.7163 12.7975 11.6004C12.8388 11.5182 12.8608 11.4272 12.8608 11.334V7.71913C12.8608 7.38359 12.5811 7.11157 12.2362 7.11157H7.91116Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ll=x.forwardRef(function(o,e){return x.createElement(we,Object.assign({},o,{id:"paste-special-double-icon",ref:e,icon:Cm}))});ll.displayName="PasteSpecialDoubleIcon";const _m=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z"}),I.jsx("path",{d:"M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z"}),I.jsx("path",{d:"M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z"}),I.jsx("path",{d:"M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z"}),I.jsx("path",{d:"M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z"}),I.jsx("path",{d:"M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z"}),I.jsx("path",{d:"M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z"}),I.jsx("path",{d:"M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z"}),I.jsx("path",{d:"M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z"}),I.jsx("path",{d:"M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z"}),I.jsx("path",{d:"M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z"}),I.jsx("path",{d:"M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z"}),I.jsx("path",{d:"M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z"}),I.jsx("path",{d:"M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z"}),I.jsx("path",{d:"M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z"}),I.jsx("path",{d:"M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z"}),I.jsx("path",{d:"M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z"}),I.jsx("path",{d:"M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z"}),I.jsx("path",{d:"M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z"}),I.jsx("path",{d:"M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z"}),I.jsx("path",{d:"M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z"}),I.jsx("path",{d:"M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z"}),I.jsx("path",{d:"M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z"}),I.jsx("path",{d:"M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z"}),I.jsx("path",{d:"M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z"}),I.jsx("path",{d:"M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z"}),I.jsx("path",{d:"M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z"})]}),Im=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z"}),I.jsx("path",{d:"M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z"}),I.jsx("path",{d:"M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z"}),I.jsx("path",{d:"M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z"}),I.jsx("path",{d:"M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z"}),I.jsx("path",{d:"M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z"}),I.jsx("path",{d:"M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z"}),I.jsx("path",{d:"M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z"}),I.jsx("path",{d:"M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z"}),I.jsx("path",{d:"M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z"}),I.jsx("path",{d:"M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z"}),I.jsx("path",{d:"M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z"}),I.jsx("path",{d:"M55.291 1.15771H54.291V0.157715H55.291V1.15771Z"}),I.jsx("path",{d:"M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z"}),I.jsx("path",{d:"M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z"}),I.jsx("path",{d:"M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z"}),I.jsx("path",{d:"M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z"}),I.jsx("path",{d:"M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z"}),I.jsx("path",{d:"M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z"}),I.jsx("path",{d:"M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z"}),I.jsx("path",{d:"M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z"}),I.jsx("path",{d:"M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z"}),I.jsx("path",{d:"M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z"}),I.jsx("path",{d:"M100.892 1.15771H101.892V0.157715H100.892V1.15771Z"}),I.jsx("path",{d:"M109.592 1.15771H108.592V0.157715H109.592V1.15771Z"}),I.jsx("path",{d:"M111.392 1.15771H114.392V0.157715H111.392V1.15771Z"}),I.jsx("path",{d:"M117.192 1.15771H116.192V0.157715H117.192V1.15771Z"}),I.jsx("path",{d:"M118.992 1.15771H119.992V0.157715H118.992V1.15771Z"})]}),bm=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z"}),I.jsx("path",{d:"M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z"}),I.jsx("path",{d:"M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z"}),I.jsx("path",{d:"M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z"}),I.jsx("path",{d:"M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z"}),I.jsx("path",{d:"M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z"}),I.jsx("path",{d:"M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z"}),I.jsx("path",{d:"M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z"}),I.jsx("path",{d:"M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z"}),I.jsx("path",{d:"M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z"}),I.jsx("path",{d:"M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z"}),I.jsx("path",{d:"M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z"}),I.jsx("path",{d:"M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z"}),I.jsx("path",{d:"M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z"}),I.jsx("path",{d:"M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z"}),I.jsx("path",{d:"M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z"}),I.jsx("path",{d:"M101.517 1.22449H98.517V0.224487H101.517V1.22449Z"}),I.jsx("path",{d:"M104.675 1.22449H107.675V0.224487H104.675V1.22449Z"}),I.jsx("path",{d:"M113.833 1.22449H110.833V0.224487H113.833V1.22449Z"}),I.jsx("path",{d:"M116.99 1.22449H119.99V0.224487H116.99V1.22449Z"})]}),Em=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"8",viewBox:"0 0 120 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.06215H-0.0090332V0.862152H119.991V1.86215Z"}),I.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 6.66215H-0.0090332V5.86215H119.991V6.86215Z"})]}),wm=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z"}),I.jsx("path",{d:"M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z"}),I.jsx("path",{d:"M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z"}),I.jsx("path",{d:"M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z"}),I.jsx("path",{d:"M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z"}),I.jsx("path",{d:"M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z"}),I.jsx("path",{d:"M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z"}),I.jsx("path",{d:"M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z"}),I.jsx("path",{d:"M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z"}),I.jsx("path",{d:"M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z"}),I.jsx("path",{d:"M24.324 1.65707H23.324V0.657074H24.324V1.65707Z"}),I.jsx("path",{d:"M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z"}),I.jsx("path",{d:"M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z"}),I.jsx("path",{d:"M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z"}),I.jsx("path",{d:"M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z"}),I.jsx("path",{d:"M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z"}),I.jsx("path",{d:"M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z"}),I.jsx("path",{d:"M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z"}),I.jsx("path",{d:"M42.991 1.65707H41.991V0.657074H42.991V1.65707Z"}),I.jsx("path",{d:"M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z"}),I.jsx("path",{d:"M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z"}),I.jsx("path",{d:"M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z"}),I.jsx("path",{d:"M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z"}),I.jsx("path",{d:"M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z"}),I.jsx("path",{d:"M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z"}),I.jsx("path",{d:"M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z"}),I.jsx("path",{d:"M61.658 1.65707H60.658V0.657074H61.658V1.65707Z"}),I.jsx("path",{d:"M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z"}),I.jsx("path",{d:"M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z"}),I.jsx("path",{d:"M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z"}),I.jsx("path",{d:"M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z"}),I.jsx("path",{d:"M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z"}),I.jsx("path",{d:"M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z"}),I.jsx("path",{d:"M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z"}),I.jsx("path",{d:"M80.325 1.65707H79.325V0.657074H80.325V1.65707Z"}),I.jsx("path",{d:"M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z"}),I.jsx("path",{d:"M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z"}),I.jsx("path",{d:"M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z"}),I.jsx("path",{d:"M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z"}),I.jsx("path",{d:"M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z"}),I.jsx("path",{d:"M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z"}),I.jsx("path",{d:"M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z"}),I.jsx("path",{d:"M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z"}),I.jsx("path",{d:"M100.325 1.65707H101.325V0.657074H100.325V1.65707Z"}),I.jsx("path",{d:"M103.659 1.65707H102.659V0.657074H103.659V1.65707Z"}),I.jsx("path",{d:"M104.992 1.65707H105.992V0.657074H104.992V1.65707Z"}),I.jsx("path",{d:"M108.325 1.65707H107.325V0.657074H108.325V1.65707Z"}),I.jsx("path",{d:"M109.659 1.65707H110.659V0.657074H109.659V1.65707Z"}),I.jsx("path",{d:"M112.992 1.65707H111.992V0.657074H112.992V1.65707Z"}),I.jsx("path",{d:"M114.325 1.65707H115.325V0.657074H114.325V1.65707Z"}),I.jsx("path",{d:"M117.659 1.65707H116.659V0.657074H117.659V1.65707Z"}),I.jsx("path",{d:"M118.992 1.65707H119.992V0.657074H118.992V1.65707Z"})]}),Tm=({className:n})=>I.jsx("svg",{className:n,width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:I.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z"})}),ym=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z"}),I.jsx("path",{d:"M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z"}),I.jsx("path",{d:"M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z"}),I.jsx("path",{d:"M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z"}),I.jsx("path",{d:"M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z"}),I.jsx("path",{d:"M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z"}),I.jsx("path",{d:"M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z"}),I.jsx("path",{d:"M46.391 2.47614H52.391V0.476135H46.391V2.47614Z"}),I.jsx("path",{d:"M56.391 2.47614H54.391V0.476135H56.391V2.47614Z"}),I.jsx("path",{d:"M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z"}),I.jsx("path",{d:"M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z"}),I.jsx("path",{d:"M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z"}),I.jsx("path",{d:"M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z"}),I.jsx("path",{d:"M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z"}),I.jsx("path",{d:"M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z"}),I.jsx("path",{d:"M105.992 2.47614H107.992V0.476135H105.992V2.47614Z"}),I.jsx("path",{d:"M115.992 2.47614H109.992V0.476135H115.992V2.47614Z"}),I.jsx("path",{d:"M117.992 2.47614H119.992V0.476135H117.992V2.47614Z"})]}),Rm=({className:n})=>I.jsxs("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z"}),I.jsx("path",{d:"M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z"}),I.jsx("path",{d:"M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z"}),I.jsx("path",{d:"M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z"}),I.jsx("path",{d:"M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z"}),I.jsx("path",{d:"M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z"}),I.jsx("path",{d:"M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z"}),I.jsx("path",{d:"M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z"}),I.jsx("path",{d:"M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z"}),I.jsx("path",{d:"M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z"}),I.jsx("path",{d:"M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z"}),I.jsx("path",{d:"M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z"}),I.jsx("path",{d:"M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z"}),I.jsx("path",{d:"M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z"}),I.jsx("path",{d:"M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z"}),I.jsx("path",{d:"M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z"}),I.jsx("path",{d:"M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z"}),I.jsx("path",{d:"M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z"}),I.jsx("path",{d:"M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z"}),I.jsx("path",{d:"M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z"})]}),Mm=({className:n})=>I.jsxs("svg",{className:n,width:"118",height:"3",viewBox:"0 0 118 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[I.jsx("path",{d:"M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z"}),I.jsx("path",{d:"M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z"}),I.jsx("path",{d:"M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z"}),I.jsx("path",{d:"M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z"}),I.jsx("path",{d:"M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z"}),I.jsx("path",{d:"M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z"}),I.jsx("path",{d:"M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z"}),I.jsx("path",{d:"M42.728 2.94815H44.728V0.948151H42.728V2.94815Z"}),I.jsx("path",{d:"M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z"}),I.jsx("path",{d:"M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z"}),I.jsx("path",{d:"M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z"}),I.jsx("path",{d:"M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z"}),I.jsx("path",{d:"M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z"}),I.jsx("path",{d:"M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z"}),I.jsx("path",{d:"M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z"}),I.jsx("path",{d:"M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z"}),I.jsx("path",{d:"M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z"}),I.jsx("path",{d:"M103.78 2.94815H105.78V0.948151H103.78V2.94815Z"}),I.jsx("path",{d:"M111.885 2.94815H109.885V0.948151H111.885V2.94815Z"}),I.jsx("path",{d:"M115.991 2.94815H117.991V0.948151H115.991V2.94815Z"})]}),Pm=({className:n})=>I.jsx("svg",{className:n,width:"120",height:"4",viewBox:"0 0 120 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:I.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z"})}),Om=({className:n})=>I.jsx("svg",{className:n,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:I.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z"})});function cl(n){const{type:o=a.BorderStyleTypes.THIN,className:e}=n;switch(o){case a.BorderStyleTypes.DASH_DOT:return I.jsx(_m,{className:e});case a.BorderStyleTypes.DASH_DOT_DOT:return I.jsx(Im,{className:e});case a.BorderStyleTypes.DASHED:return I.jsx(bm,{className:e});case a.BorderStyleTypes.HAIR:return I.jsx(wm,{className:e});case a.BorderStyleTypes.MEDIUM:return I.jsx(Tm,{className:e});case a.BorderStyleTypes.MEDIUM_DASH_DOT:return I.jsx(ym,{className:e});case a.BorderStyleTypes.MEDIUM_DASH_DOT_DOT:return I.jsx(Rm,{className:e});case a.BorderStyleTypes.MEDIUM_DASHED:return I.jsx(Mm,{className:e});case a.BorderStyleTypes.THICK:return I.jsx(Pm,{className:e});case a.BorderStyleTypes.DOUBLE:return I.jsx(Em,{className:e});case a.BorderStyleTypes.THIN:default:return I.jsx(Om,{className:e})}}const xr="UI_PLUGIN_SHEETS",Ur=`${xr}_BORDER_PANEL_COMPONENT`,dl=[{label:"borderLine.borderTop",icon:"UpBorderDoubleIcon",value:"top"},{label:"borderLine.borderBottom",icon:"DownBorderDoubleIcon",value:"bottom"},{label:"borderLine.borderLeft",icon:"LeftBorderDoubleIcon",value:"left"},{label:"borderLine.borderRight",icon:"RightBorderDoubleIcon",value:"right"},{label:"borderLine.borderNone",icon:"NoBorderIcon",value:"none"},{label:"borderLine.borderAll",icon:"AllBorderIcon",value:"all"},{label:"borderLine.borderOutside",icon:"OuterBorderDoubleIcon",value:"outside"},{label:"borderLine.borderInside",icon:"InnerBorderDoubleIcon",value:"inside"},{label:"borderLine.borderHorizontal",icon:"HorizontalBorderDoubleIcon",value:"horizontal"},{label:"borderLine.borderVertical",icon:"VerticalBorderDoubleIcon",value:"vertical"},{label:"borderLine.borderTlbr",icon:"BackSlashDoubleIcon",value:"tlbr"},{label:"borderLine.borderTlbcTlmr",icon:"LeftDoubleDiagonalDoubleIcon",value:"tlbc_tlmr"},{label:"borderLine.borderTlbrTlbcTlmr",icon:"LeftTridiagonalDoubleIcon",value:"tlbr_tlbc_tlmr"},{label:"borderLine.borderBlTr",icon:"SlashDoubleIcon",value:"bltr"},{label:"borderLine.borderMltrBctr",icon:"RightDoubleDiagonalDoubleIcon",value:"mltr_bctr"}],Am=[{label:a.BorderStyleTypes.THIN,value:a.BorderStyleTypes.THIN},{label:a.BorderStyleTypes.HAIR,value:a.BorderStyleTypes.HAIR},{label:a.BorderStyleTypes.DOTTED,value:a.BorderStyleTypes.DOTTED},{label:a.BorderStyleTypes.DASHED,value:a.BorderStyleTypes.DASHED},{label:a.BorderStyleTypes.DASH_DOT,value:a.BorderStyleTypes.DASH_DOT},{label:a.BorderStyleTypes.DASH_DOT_DOT,value:a.BorderStyleTypes.DASH_DOT_DOT},{label:a.BorderStyleTypes.MEDIUM,value:a.BorderStyleTypes.MEDIUM},{label:a.BorderStyleTypes.MEDIUM_DASHED,value:a.BorderStyleTypes.MEDIUM_DASHED},{label:a.BorderStyleTypes.MEDIUM_DASH_DOT,value:a.BorderStyleTypes.MEDIUM_DASH_DOT},{label:a.BorderStyleTypes.MEDIUM_DASH_DOT_DOT,value:a.BorderStyleTypes.MEDIUM_DASH_DOT_DOT},{label:a.BorderStyleTypes.THICK,value:a.BorderStyleTypes.THICK},{label:a.BorderStyleTypes.DOUBLE,value:a.BorderStyleTypes.DOUBLE}];function Dm(n){var o;if(n)for(const e in n){const t=n[e];if((o=t==null?void 0:t.cl)!=null&&o.rgb)return t.cl.rgb}}function km(n){var o;if(n)for(const e in n){const t=n[e];if((o=t==null?void 0:t.cl)!=null&&o.rgb)return t.s}}function ul(n){var g;const o=_.useDependency(_.ComponentManager),e=_.useDependency(m.BorderStyleManagerService),t=_.useDependency(m.SheetsSelectionsService),{isAllValuesSame:i,value:r}=t.getCellStylesProperty("bd"),s=i?Dm(r):void 0,l=i?km(r):void 0,{onChange:c,value:d}=n;function u(S,f){c==null||c({...d,[f]:S})}function h(S){const f=o.get(S);return f&&I.jsx(f,{className:"univer-fill-primary-600"})}return I.jsxs("section",{className:"univer-box-border univer-grid univer-gap-2 univer-p-1.5",children:[I.jsx("div",{className:"univer-box-border univer-grid univer-grid-cols-5 univer-gap-2 univer-text-gray-600 dark:!univer-text-gray-200",children:dl.map(S=>I.jsx("a",{className:F.clsx("univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-justify-self-center univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-bg-gray-200 dark:!univer-bg-gray-600":e.getBorderInfo().type===S.value}),onClick:f=>{f.stopPropagation(),u(S.value,"type")},children:h(S.icon)},S.value))}),I.jsx(F.Separator,{}),I.jsxs("div",{className:"univer-flex univer-items-center univer-gap-2",children:[I.jsx("div",{children:I.jsx(F.Dropdown,{overlay:I.jsx("div",{className:"univer-rounded-lg univer-p-4",children:I.jsx(F.ColorPicker,{value:s,onChange:S=>u(S,"color")})}),children:I.jsxs("button",{className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",type:"button",children:[I.jsx(al,{className:"univer-fill-primary-600 dark:!univer-text-white",extend:{colorChannel1:(g=d==null?void 0:d.color)!=null?g:""}}),I.jsx(Dn,{className:"dark:!univer-text-white"})]})})}),I.jsx("div",{children:I.jsx(F.Dropdown,{overlay:I.jsx("section",{className:"univer-rounded-lg univer-p-1.5",children:I.jsx("ul",{className:"univer-m-0 univer-grid univer-list-none univer-gap-1 univer-p-0",children:Am.map(S=>I.jsxs("li",{className:"univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-px-1 univer-py-3 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>u(S.value,"style"),children:[S.value===l&&I.jsx(Qt,{className:"univer-absolute univer-left-3 univer-text-primary-600"}),I.jsx(cl,{className:"univer-ml-6 univer-fill-gray-900 dark:!univer-fill-white",type:S.value})]},S.value))})}),children:I.jsxs("button",{className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",type:"button",children:[I.jsx(cl,{className:"univer-fill-gray-900 dark:!univer-fill-white",type:l!=null?l:a.BorderStyleTypes.THIN}),I.jsx(Dn,{className:"dark:!univer-text-white"})]})})})]})]})}const Mi=`${xr}_MENU_ITEM_FROZEN_COMPONENT`,Nm={row:"1",col:"A"},hl=n=>{const{type:o}=n,e=_.useDependency(a.LocaleService),t=_.useDependency(_.IContextMenuService),i=_.useDependency(m.SheetsSelectionsService),[r,s]=x.useState(Nm),l=c=>{var S,f;if(!c)return;const{primary:d,range:u}=c,h=(S=d==null?void 0:d.startRow)!=null?S:u.startRow,g=(f=d==null?void 0:d.startColumn)!=null?f:u.startColumn;s({row:h===0?"1":String(h),col:g===0?"A":a.Tools.chatAtABC(g-1)})};return x.useEffect(()=>{t.visible&&l(i.getCurrentLastSelection())},[t.visible]),I.jsxs(I.Fragment,{children:[o==="row"&&e.t("rightClick.freezeRow",r.row),o==="col"&&e.t("rightClick.freezeCol",r.col),o==="all"&&e.t("rightClick.freezeCell",r.row,r.col)]})},tt=`${xr}_MENU_ITEM_INPUT_COMPONENT`,ml=n=>{const{prefix:o,suffix:e,value:t,min:i=Number.MIN_SAFE_INTEGER,max:r=Number.MAX_SAFE_INTEGER,disabled$:s,onChange:l}=n,c=_.useDependency(a.LocaleService),d=_.useDependency(_.IContextMenuService),[u,h]=x.useState(!1),[g,S]=x.useState(),f=p=>{if(!p){S(i.toString());return}const C=p.toString();S(C),l(C)};x.useEffect(()=>{if(!s)return;const p=s.subscribe(C=>{h(C)});return()=>{p.unsubscribe()}},[]),x.useEffect(()=>{d.visible||S(t)},[d.visible]),x.useEffect(()=>{+t<i?S(i.toString()):+t>r?S(r.toString()):S(t)},[t]);function v(){g&&l(g)}return I.jsxs("div",{className:"univer-inline-flex univer-items-center univer-gap-1",children:[c.t(o),I.jsx("div",{className:"univer-w-16",onClick:p=>p.stopPropagation(),children:I.jsx(F.InputNumber,{value:Number(g),size:"mini",precision:0,min:i,max:r,disabled:u,onPressEnter:v,onChange:f})}),c.t(e)]})};function Hm(n){return n.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(ve.switchMap(o=>o?o.activeSheet$.pipe(ve.map(e=>e?{workbook:o,worksheet:e}:null)):O.of(null)))}function Re(n,o,e){return Hm(n).pipe(ve.switchMap(t=>t?e(t):O.of(o)))}function gl(n,o){const e=n.get(a.IUniverInstanceService),t=n.get(m.IExclusiveRangeService),i=n.get(m.SheetsSelectionsService);return e.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(ve.switchMap(s=>s?O.combineLatest([i.selectionMoveEnd$,s.activeSheet$]).pipe(ve.switchMap(([l,c])=>{if(!c||l.length===0)return O.of(!1);const d=t.getInterestGroupId(l);if(o){const u=d.filter(h=>o.has(h));return O.of(u.length>0)}else return O.of(d.length>0)})):O.of(!1)))}function nt(n,o,e){return O.combineLatest([o,gl(n,e)]).pipe(ve.map(([t,i])=>t||i))}function oe(n,o={},e=!1){var S;const i=n.get(a.IUniverInstanceService).getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),r=n.get(a.UserManagerService),s=n.has(Ie)?n.get(Ie):null,l=n.get(a.IContextService),d=((S=s==null?void 0:s.visible$)!=null?S:O.of(null)).pipe(ve.startWith(null),ve.shareReplay(1)),u=l.subscribeContextValue$(a.FOCUSING_FX_BAR_EDITOR).pipe(ve.startWith(!1),ve.shareReplay(1)),h=l.subscribeContextValue$(a.FOCUSING_SHAPE_TEXT_EDITOR).pipe(ve.startWith(!1),ve.shareReplay(1));return O.combineLatest([r.currentUser$,i,d,u,h]).pipe(ve.switchMap(([f,v,p,C,b])=>!v||p!=null&&p.visible&&p.unitId===v.getUnitId()&&!e||C&&!e?O.of(!0):v.activeSheet$.pipe(ve.switchMap(E=>{if(!E)return O.of(!0);const R=n.get(m.SheetsSelectionsService),P=n.get(m.RangeProtectionRuleModel),M=n.get(m.WorksheetProtectionRuleModel),D=n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(ve.startWith(!1));return O.combineLatest([R.selectionMoveEnd$,D]).pipe(ve.switchMap(([k,N])=>{if(N&&!b)return O.of(!0);const H=v.getUnitId(),V=E.getSheetId(),L=n.get(a.IPermissionService),{workbookTypes:W=[m.WorkbookEditablePermission],worksheetTypes:U,rangeTypes:B}=o,X=[];if(W==null||W.forEach(K=>{X.push(new K(H).id)}),U==null||U.forEach(K=>{X.push(new K(H,V).id)}),M.getRule(H,V))return L.composePermission$(X).pipe(ve.map(K=>K.some(ee=>ee.value===!1)));const Y=k==null?void 0:k.map(K=>K.range),G=P.getSubunitRuleList(H,V).filter(K=>Y==null?void 0:Y.some(ee=>K.ranges.some(ne=>a.Rectangle.intersects(ee,ne))));return B==null||B.forEach(K=>{G.forEach(ee=>{X.push(new K(H,V,ee.permissionId).id)})}),L.composePermission$(X).pipe(ve.map(K=>K.some(ee=>ee.value===!1)))}))}))))}function kn(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(m.RangeProtectionRuleModel),i=n.get(a.IPermissionService);return O.merge(e.selectionMoveEnd$,i.permissionPointUpdate$.pipe(ve.debounceTime(100))).pipe(ve.map(()=>{var h;const r=(h=e.getCurrentLastSelection())==null?void 0:h.range;if(!r)return!0;const s=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),l=s==null?void 0:s.getActiveSheet();if(!s||!l)return!0;const c=s.getUnitId(),d=l.getSheetId(),u=[new m.WorkbookEditablePermission(c).id,new m.WorksheetEditPermission(c,d).id];return t.getSubunitRuleList(c,d).filter(g=>g.ranges.some(S=>a.Rectangle.intersects(r,S))).forEach(g=>{u.push(new m.RangeProtectionPermissionEditPoint(c,d,g.permissionId).id)}),i.composePermission(u).some(g=>g.value===!1)}))}function Sl(n,o){const e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(m.RangeProtectionRuleModel),r=n.get(a.IPermissionService);return O.merge(t.selectionMoveEnd$,r.permissionPointUpdate$.pipe(ve.debounceTime(100))).pipe(ve.map(()=>{var g;const s=(g=t.getCurrentLastSelection())==null?void 0:g.range;if(!s)return!0;const l=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),c=l==null?void 0:l.getActiveSheet();if(!l||!c)return!0;const d=l.getUnitId(),u=c.getSheetId(),h=[new m.WorkbookEditablePermission(d).id,new m.WorksheetEditPermission(d,u).id];return i.getSubunitRuleList(d,u).filter(S=>o==="row"?S.ranges.some(f=>s.startRow>f.startRow&&s.startRow<=f.endRow):S.ranges.some(f=>s.startColumn>f.startColumn&&s.startColumn<=f.endColumn)).forEach(S=>{h.push(new m.RangeProtectionPermissionEditPoint(d,u,S.permissionId).id)}),r.composePermission(h).some(S=>S.value===!1)}))}function fl(n,o){const e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(m.RangeProtectionRuleModel),r=n.get(a.IPermissionService);return O.merge(t.selectionMoveEnd$,r.permissionPointUpdate$.pipe(ve.debounceTime(100))).pipe(ve.map(()=>{var S;const s=(S=t.getCurrentLastSelection())==null?void 0:S.range;if(!s)return!0;const l=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),c=l==null?void 0:l.getActiveSheet();if(!l||!c)return!0;const d=l.getUnitId(),u=c.getSheetId(),h=[new m.WorkbookEditablePermission(d).id,new m.WorksheetEditPermission(d,u).id],g=a.Tools.deepClone(s);return o==="row"?(g.startColumn=0,g.endColumn=c.getColumnCount()-1):(g.startRow=0,g.endRow=c.getRowCount()-1),i.getSubunitRuleList(d,u).filter(f=>f.ranges.some(v=>a.Rectangle.intersects(g,v))).forEach(f=>{h.push(new m.RangeProtectionPermissionEditPoint(d,u,f.permissionId).id)}),r.composePermission(h).some(f=>f.value===!1)}))}function uo(n,o){const e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(m.RangeProtectionRuleModel),r=n.get(a.IPermissionService);return O.merge(t.selectionMoveEnd$,r.permissionPointUpdate$.pipe(ve.debounceTime(100))).pipe(ve.map(()=>{var S;const s=(S=t.getCurrentLastSelection())==null?void 0:S.range;if(!s)return!0;const l=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),c=l==null?void 0:l.getActiveSheet();if(!l||!c)return!0;const d=l.getUnitId(),u=c.getSheetId(),h=[new m.WorkbookEditablePermission(d).id,new m.WorksheetEditPermission(d,u).id],g=a.Tools.deepClone(s);return o==="row"?g.endRow=c.getRowCount()-1:g.endColumn=c.getColumnCount()-1,i.getSubunitRuleList(d,u).filter(f=>f.ranges.some(v=>a.Rectangle.intersects(g,v))).forEach(f=>{h.push(new m.RangeProtectionPermissionEditPoint(d,u,f.permissionId).id)}),r.composePermission(h).some(f=>f.value===!1)}))}function Nn(n,o){const t=n.get(a.IUniverInstanceService).getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(m.WorksheetProtectionRuleModel),r=n.get(m.RangeProtectionRuleModel),s=n.get(a.IPermissionService),l=n.get(a.UserManagerService);return O.combineLatest([l.currentUser$,t]).pipe(ve.switchMap(([c,d])=>d?d.activeSheet$.pipe(ve.switchMap(u=>{if(!u)return O.of(!0);const h=d.getUnitId(),g=[];return o.forEach(f=>g.push(new f(h).id)),s.composePermission$(g).pipe(ve.map(f=>f.every(v=>v.value===!0))).pipe(ve.map(f=>{if(!f)return!0;const v=u.getSheetId(),p=i.getRule(h,v),C=r.getSubunitRuleList(h,v);return!!(p||C.length)}))})):O.of(!0)))}function Vm(n){const o=n.get(m.BorderStyleManagerService),e=oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.SetBorderBasicCommand.id,icon:new O.Observable(t=>{const i="AllBorderIcon",r=n.get(m.BorderStyleManagerService),s=n.get(a.ICommandService).onCommandExecuted(l=>{var g;if(l.id!==m.SetBorderBasicCommand.id)return;const{type:d}=r.getBorderInfo(),u=dl.find(S=>S.value===d),h=(g=u==null?void 0:u.icon)!=null?g:i;t.next(h)});return t.next(i),s.dispose}),tooltip:"toolbar.border.main",type:_.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:Ur,hoverable:!1,selectable:!1},value$:o.borderInfo$}],value$:o.borderInfo$,hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([t,i])=>t||i)),disabled$:e}}const ho="sheet.menu.clear-selection";function Br(n){return{id:ho,type:_.MenuItemType.SUBITEMS,icon:"ClearFormatDoubleIcon",title:"rightClick.clearSelection",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Fr(n){return{id:m.ClearSelectionContentCommand.id,type:_.MenuItemType.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearContent",disabled$:nt(n,oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function zr(n){return{id:m.ClearSelectionFormatCommand.id,type:_.MenuItemType.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearFormat",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function mo(n){return{id:m.ClearSelectionAllCommand.id,type:_.MenuItemType.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearAll",tooltip:"rightClick.clearAll",disabled$:nt(n,oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const vl="sheet.menu.delete";function Wm(n){return{id:vl,type:_.MenuItemType.SUBITEMS,title:"rightClick.delete",icon:"ReduceDoubleIcon",hidden$:nt(n,kn(n)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission]})}}function pl(n){return{id:Sn.id,type:_.MenuItemType.BUTTON,icon:"DeleteColumnDoubleIcon",title:"rightClick.deleteSelectedColumn",hidden$:fl(n,"col"),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookDeleteColumnPermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetDeleteColumnPermission]})}}function Cl(n){return{id:gn.id,type:_.MenuItemType.BUTTON,icon:"DeleteRowDoubleIcon",title:"rightClick.deleteSelectedRow",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookDeleteRowPermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetDeleteRowPermission]}),hidden$:fl(n,"row")}}function Lm(n){return{id:un.id,type:_.MenuItemType.BUTTON,title:"rightClick.moveLeft",icon:"DeleteCellShiftLeftDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:uo(n,"col")}}function xm(n){return{id:Dt.id,type:_.MenuItemType.BUTTON,title:"rightClick.moveUp",icon:"DeleteCellShiftUpDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:uo(n,"row")}}function Um(n,o){const e=n.get(m.SheetsSelectionsService),t=n.get(a.IUniverInstanceService),i=n.get(a.ICommandService),r=n.get(a.IContextService);return Re(t,o,({worksheet:s})=>new O.Observable(l=>{const c=()=>{var S;let h=o;const g=(S=e.getCurrentLastSelection())==null?void 0:S.primary;if(g!=null){const f=s.getComposedCellStyle(g.startRow,g.startColumn);f.fs&&(h=f.fs)}l.next(h)},d=()=>{var g,S;const h=It(n);if(h!=null){const f=(S=(g=h.ts)==null?void 0:g.fs)!=null?S:o;l.next(f)}},u=i.onCommandExecuted(h=>{const g=h.id;(g===m.SetRangeValuesMutation.id||g===m.SetSelectionsOperation.id||g===m.SetWorksheetActiveOperation.id)&&c(),(g===Te.SetTextSelectionsOperation.id||g===$.SetInlineFormatCommand.id)&&r.getContextValue(a.EDITOR_ACTIVATED)&&(r.getContextValue(a.FOCUSING_SHEET)||r.getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))&&d()});return c(),u.dispose}))}function Bm(n){const o=a.DEFAULT_STYLES.fs,e=oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0);return{id:ii.id,type:_.MenuItemType.SELECTOR,tooltip:"toolbar.fontSize",label:{name:_.FONT_SIZE_COMPONENT,props:{min:6,max:400,disabled$:e}},selections:_.FONT_SIZE_LIST,disabled$:e,value$:Um(n,o),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Fm(n){const o=oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0);return{id:Zi.id,type:_.MenuItemType.BUTTON,icon:"FontSizeIncreaseIcon",tooltip:"toolbar.fontSizeIncrease",disabled$:o,hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function zm(n){const o=oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0);return{id:Gi.id,type:_.MenuItemType.BUTTON,icon:"FontSizeReduceIcon",tooltip:"toolbar.fontSizeDecrease",disabled$:o,hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const Xr=(n,o)=>{const e=n.get(m.SheetsSelectionsService);return new O.Observable(t=>{const i=s=>{var h,g;if(!s)return t.next(!0);const{primary:l,range:c}=s,d=(h=l==null?void 0:l.startRow)!=null?h:c.startRow,u=(g=l==null?void 0:l.startColumn)!=null?g:c.startColumn;if(o==="row"&&d<=0||o==="col"&&u<=0)return t.next(!0);t.next(!1)},r=e.selectionChanged$.subscribe(s=>{if(!s||s.length===0)return t.next(!0);i(s[s.length-1])});return i(e.getCurrentLastSelection()),()=>r.unsubscribe()})},_l="sheet.menu.sheet-frozen";function Xm(n){return{id:_l,type:_.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const Il="sheet.column-header-menu.sheet-frozen";function Ym(n){return{id:Il,type:_.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const bl="sheet.row-header-menu.sheet-frozen";function jm(n){return{id:bl,type:_.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Zm(n){return{id:lt.id,type:_.MenuItemType.BUTTON,icon:"FreezeToSelectedIcon",label:{name:Mi,props:{type:"all"}},hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),Xr(n,"all")]).pipe(O.map(([o,e])=>o||e))}}function El(n){return{id:pn.id,type:_.MenuItemType.BUTTON,icon:"FreezeRowIcon",label:{name:Mi,props:{type:"row"}},hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),Xr(n,"row")]).pipe(O.map(([o,e])=>o||e))}}function wl(n){return{id:Cn.id,type:_.MenuItemType.BUTTON,icon:"FreezeColumnIcon",label:{name:Mi,props:{type:"col"}},hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),Xr(n,"col")]).pipe(O.map(([o,e])=>o||e))}}function Tl(n){return{id:_n.id,type:_.MenuItemType.BUTTON,title:"rightClick.freezeFirstRow",icon:"FreezeRowIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function yl(n){return{id:In.id,type:_.MenuItemType.BUTTON,title:"rightClick.freezeFirstCol",icon:"FreezeColumnIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Yr(n){return{id:m.CancelFrozenCommand.id,type:_.MenuItemType.BUTTON,title:"rightClick.cancelFreeze",icon:"CancelFreezeIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Gm(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService);return{id:m.ToggleGridlinesCommand.id,type:_.MenuItemType.BUTTON,tooltip:"toolbar.toggleGridlines",icon:"HideGridlinesDoubleIcon",activated$:new O.Observable(t=>{const i=()=>{const s=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return s?s.getActiveSheet().getConfig().showGridlines===a.BooleanNumber.TRUE:!1},r=new a.DisposableCollection;return r.add(o.onCommandExecuted(s=>{(s.id===m.ToggleGridlinesMutation.id||s.id===m.SetWorksheetActiveOperation.id)&&t.next(i())})),r.add(e.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{t.next(i())})),t.next(i()),()=>r.dispose()}),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission]})}}const Rl="sheet.menu.cell-insert";function Km(n){return{id:Rl,type:_.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"InsertDoubleIcon",hidden$:nt(n,kn(n)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertColumnPermission,m.WorkbookInsertRowPermission],worksheetTypes:[m.WorksheetInsertColumnPermission,m.WorksheetInsertRowPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function qm(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertRowPermission],worksheetTypes:[m.WorksheetInsertRowPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertRowBeforeCommand.id,type:_.MenuItemType.BUTTON,icon:"InsertRowAboveDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertRowsAbove",min:1,max:1e3,suffix:"rightClick.insertRowsAboveSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endRow)-(d==null?void 0:d.startRow)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:Sl(n,"row")}}function Qm(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertColumnPermission],worksheetTypes:[m.WorksheetInsertColumnPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertColBeforeCommand.id,type:_.MenuItemType.BUTTON,icon:"LeftInsertColumnDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertColsLeft",min:1,max:1e3,suffix:"rightClick.insertColsLeftSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endColumn)-(d==null?void 0:d.startColumn)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:Sl(n,"col")}}function Jm(n){return{id:mn.id,type:_.MenuItemType.BUTTON,title:"rightClick.moveRight",icon:"InsertCellShiftRightDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:uo(n,"col")}}function $m(n){return{id:Lt.id,type:_.MenuItemType.BUTTON,title:"rightClick.moveDown",icon:"InsertCellDownDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:uo(n,"row")}}function eg(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertRowPermission],worksheetTypes:[m.WorksheetInsertRowPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertMultiRowsAfterCommand.id,type:_.MenuItemType.BUTTON,icon:"InsertRowBelowDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertRowsAfter",min:1,max:1e3,suffix:"rightClick.insertRowsAfterSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endRow)-(d==null?void 0:d.startRow)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:kn(n)}}function tg(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertRowPermission],worksheetTypes:[m.WorksheetInsertRowPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertMultiRowsAboveCommand.id,type:_.MenuItemType.BUTTON,icon:"InsertRowAboveDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertRowsAbove",min:1,max:1e3,suffix:"rightClick.insertRowsAboveSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endRow)-(d==null?void 0:d.startRow)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:kn(n)}}function ng(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertColumnPermission],worksheetTypes:[m.WorksheetInsertColumnPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertMultiColsLeftCommand.id,type:_.MenuItemType.BUTTON,icon:"LeftInsertColumnDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertColsLeft",min:1,max:1e3,suffix:"rightClick.insertColsLeftSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endColumn)-(d==null?void 0:d.startColumn)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:kn(n)}}function ig(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=1,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission,m.WorkbookInsertColumnPermission],worksheetTypes:[m.WorksheetInsertColumnPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]});return{id:m.InsertMultiColsRightCommand.id,type:_.MenuItemType.BUTTON,icon:"RightInsertColumnDoubleIcon",label:{name:tt,props:{prefix:"rightClick.insertColsRight",min:1,max:1e3,suffix:"rightClick.insertColsRightSuffix",disabled$:r}},value$:Re(o,i,()=>new O.Observable(s=>{function l(){var h;const d=(h=e.getCurrentLastSelection())==null?void 0:h.range;let u=i;d&&(u=(d==null?void 0:d.endColumn)-(d==null?void 0:d.startColumn)+1),s.next(u)}const c=t.onCommandExecuted(d=>{if(d.id===m.SetSelectionsOperation.id)return l()});return l(),c.dispose})),disabled$:r,hidden$:kn(n)}}var Ml=(n=>(n.ROW_HEADER_CONTEXT_MENU="ROW_HEADER_CONTEXT_MENU",n.COL_HEADER_CONTEXT_MENU="COL_HEADER_CONTEXT_MENU",n.SHEET_BAR="SHEET_BAR",n.SHEET_FOOTER="SHEET_FOOTER",n))(Ml||{});function og(n){const o=n.get(qe);return{id:vn.id,subId:eo.id,type:_.MenuItemType.BUTTON,icon:"BrushIcon",title:"Format Painter",tooltip:"toolbar.formatPainter",activated$:new O.Observable(e=>{let t=!1;const i=o.status$.subscribe(r=>{t=r!==xe.OFF,e.next(t)});return e.next(t),()=>{i.unsubscribe()}}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetCopyPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0)}}function rg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(a.IContextService),i=n.get(m.SheetsSelectionsService);return{id:kt.id,type:_.MenuItemType.BUTTON,icon:"BoldIcon",title:"Set bold",tooltip:"toolbar.bold",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0),activated$:Re(e,!1,({worksheet:r})=>new O.Observable(s=>{var u;const l=o.onCommandExecuted(h=>{var S,f;const g=h.id;if(g===m.SetRangeValuesMutation.id||g===m.SetSelectionsOperation.id||g===m.SetWorksheetActiveOperation.id){const v=(S=i.getCurrentLastSelection())==null?void 0:S.primary;let p=a.FontWeight.NORMAL;if(v!=null){const C=r.getRange(v.startRow,v.startColumn);p=C==null?void 0:C.getFontWeight()}s.next(p===a.FontWeight.BOLD)}if((g===Te.SetTextSelectionsOperation.id||g===$.SetInlineFormatCommand.id)&&t.getContextValue(a.EDITOR_ACTIVATED)&&(t.getContextValue(a.FOCUSING_SHEET)||t.getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))){const v=It(n);if(v==null)return;const p=(f=v.ts)==null?void 0:f.bl;s.next(p===a.BooleanNumber.TRUE)}}),c=(u=i.getCurrentLastSelection())==null?void 0:u.primary;if(!r){s.next(!1);return}let d=a.FontWeight.NORMAL;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);d=h==null?void 0:h.getFontWeight()}return s.next(d===a.FontWeight.BOLD),l.dispose})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function sg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(a.IContextService);return{id:Nt.id,type:_.MenuItemType.BUTTON,icon:"ItalicIcon",title:"Set italic",tooltip:"toolbar.italic",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0),activated$:Re(e,!1,({worksheet:r})=>new O.Observable(s=>{var u;const l=o.onCommandExecuted(h=>{var S,f;const g=h.id;if(g===m.SetRangeValuesMutation.id||g===m.SetSelectionsOperation.id||g===m.SetWorksheetActiveOperation.id){const v=(S=t.getCurrentLastSelection())==null?void 0:S.primary;let p=a.FontItalic.NORMAL;if(v!=null){const C=r.getRange(v.startRow,v.startColumn);p=C==null?void 0:C.getFontStyle()}s.next(p===a.FontItalic.ITALIC)}if((g===Te.SetTextSelectionsOperation.id||g===$.SetInlineFormatCommand.id)&&i.getContextValue(a.EDITOR_ACTIVATED)&&(i.getContextValue(a.FOCUSING_SHEET)||i.getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))){const v=It(n);if(v==null)return;const p=(f=v.ts)==null?void 0:f.it;s.next(p===a.BooleanNumber.TRUE)}}),c=(u=t.getCurrentLastSelection())==null?void 0:u.primary;let d=a.FontItalic.NORMAL;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);d=h==null?void 0:h.getFontStyle()}return s.next(d===a.FontItalic.ITALIC),l.dispose})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function ag(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(a.IContextService);return{id:Ht.id,type:_.MenuItemType.BUTTON,icon:"UnderlineIcon",title:"Set underline",tooltip:"toolbar.underline",activated$:Re(e,!1,({worksheet:r})=>new O.Observable(s=>{var u;const l=o.onCommandExecuted(h=>{var S,f;const g=h.id;if(g===m.SetRangeValuesMutation.id||g===m.SetSelectionsOperation.id||g===m.SetWorksheetActiveOperation.id){const v=(S=t.getCurrentLastSelection())==null?void 0:S.primary;let p;if(v!=null){const C=r.getRange(v.startRow,v.startColumn);p=C==null?void 0:C.getUnderline()}s.next(!!(p&&p.s))}if((g===Te.SetTextSelectionsOperation.id||g===$.SetInlineFormatCommand.id)&&i.getContextValue(a.EDITOR_ACTIVATED)&&(i.getContextValue(a.FOCUSING_SHEET)||i.getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))){const v=It(n);if(v==null)return;const p=(f=v.ts)==null?void 0:f.ul;s.next((p==null?void 0:p.s)===a.BooleanNumber.TRUE)}}),c=(u=t.getCurrentLastSelection())==null?void 0:u.primary;let d;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);d=h==null?void 0:h.getUnderline()}return s.next(!!(d&&d.s)),l.dispose})),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function lg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=n.get(a.IContextService);return{id:Vt.id,type:_.MenuItemType.BUTTON,icon:"StrikethroughIcon",title:"Set strike through",tooltip:"toolbar.strikethrough",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0),activated$:Re(e,!1,({worksheet:r})=>new O.Observable(s=>{var u;const l=o.onCommandExecuted(h=>{var S,f;const g=h.id;if(g===m.SetRangeValuesMutation.id||g===m.SetSelectionsOperation.id||g===m.SetWorksheetActiveOperation.id){const v=(S=t.getCurrentLastSelection())==null?void 0:S.primary;let p;if(v!=null){const C=r.getRange(v.startRow,v.startColumn);p=C==null?void 0:C.getStrikeThrough()}s.next(!!(p&&p.s))}if((g===Te.SetTextSelectionsOperation.id||g===$.SetInlineFormatCommand.id)&&i.getContextValue(a.EDITOR_ACTIVATED)&&(i.getContextValue(a.FOCUSING_SHEET)||i.getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))){const v=It(n);if(v==null)return;const p=(f=v.ts)==null?void 0:f.st;s.next((p==null?void 0:p.s)===a.BooleanNumber.TRUE)}}),c=(u=t.getCurrentLastSelection())==null?void 0:u.primary;let d;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);d=h==null?void 0:h.getStrikeThrough()}return s.next(!!(d&&d.s)),l.dispose})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function cg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=a.DEFAULT_STYLES.ff,r=oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0);return{id:Wt.id,tooltip:"toolbar.font",type:_.MenuItemType.SELECTOR,label:{name:_.FONT_FAMILY_COMPONENT,props:{id:Wt.id,disabled$:r}},selections:[{label:{name:_.FONT_FAMILY_ITEM_COMPONENT,hoverable:!1,selectable:!1,props:{id:Wt.id}}}],disabled$:r,value$:Re(e,i,({worksheet:s})=>new O.Observable(l=>{const c=()=>{var g;let u=i;const h=(g=t.getCurrentLastSelection())==null?void 0:g.primary;if(h!=null){const S=s.getCellStyle(h.startRow,h.startColumn),f=s.getDefaultCellStyleInternal(),v=s.getRowStyle(h.startRow),p=s.getColumnStyle(h.startColumn),C=a.composeStyles(f,v,p,S);C.ff&&(u=C.ff)}l.next(u)},d=o.onCommandExecuted(u=>{var g,S;const h=u.id;if((h===m.SetRangeValuesMutation.id||h===m.SetSelectionsOperation.id||h===m.SetWorksheetActiveOperation.id)&&c(),(h===Te.SetTextSelectionsOperation.id||h===$.SetInlineFormatCommand.id)&&n.get(a.IContextService).getContextValue(a.EDITOR_ACTIVATED)&&(n.get(a.IContextService).getContextValue(a.FOCUSING_SHEET)||n.get(a.IContextService).getContextValue(a.FOCUSING_SHAPE_TEXT_EDITOR))){const f=It(n);if(f!=null){const v=(S=(g=f.ts)==null?void 0:g.ff)!=null?S:i;l.next(v)}}});return c(),d.dispose})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function dg(n){return{id:Ki.id,type:_.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColorDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function ug(n){const o=n.get(a.ICommandService),e=n.get(a.ThemeService),t=n.get(m.SheetsSelectionsService);return{id:hn.id,icon:"FontColorDoubleIcon",tooltip:"toolbar.textColor.main",type:_.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:_.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new O.Observable(i=>{var c;const r=a.DEFAULT_STYLES.cl.rgb,{isAllValuesSame:s,value:l}=t.getCellStylesProperty("cl");s?i.next((c=l==null?void 0:l.rgb)!=null?c:r):i.next(r)})}],value$:new O.Observable(i=>{const r=e.getColorFromTheme("gray.900"),s=o.onCommandExecuted(l=>{if(l.id===hn.id){const c=l.params.value;i.next(c!=null?c:r)}});return i.next(r),s.dispose}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]},!0)}}function hg(n){return{id:m.ResetBackgroundColorCommand.id,type:_.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColorDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function mg(n){const o=n.get(a.ICommandService),e=n.get(a.ThemeService),t=n.get(m.SheetsSelectionsService);return{id:m.SetBackgroundColorCommand.id,tooltip:"toolbar.fillColor.main",type:_.MenuItemType.BUTTON_SELECTOR,icon:"PaintBucketDoubleIcon",selections:[{label:{name:_.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new O.Observable(i=>{var c;const r=a.DEFAULT_STYLES.bg.rgb,{isAllValuesSame:s,value:l}=t.getCellStylesProperty("bg");s?i.next((c=l==null?void 0:l.rgb)!=null?c:r):i.next(r)})}],value$:new O.Observable(i=>{const r=e.getColorFromTheme("primary.600"),s=o.onCommandExecuted(l=>{if(l.id===m.SetBackgroundColorCommand.id){const c=l.params.value;i.next(c!=null?c:r)}});return i.next(r),s.dispose}),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([i,r])=>i||r)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}const Pl=[{label:"align.left",icon:"LeftJustifyingIcon",value:a.HorizontalAlign.LEFT},{label:"align.center",icon:"HorizontallyIcon",value:a.HorizontalAlign.CENTER},{label:"align.right",icon:"RightJustifyingIcon",value:a.HorizontalAlign.RIGHT}];function gg(n){var s,l;const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=o.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET),i=t==null?void 0:t.getActiveSheet().getDefaultCellStyleInternal(),r=(s=i==null?void 0:i.ht)!=null?s:a.HorizontalAlign.LEFT;return{id:m.SetHorizontalTextAlignCommand.id,icon:(l=Pl.find(c=>c.value===r))==null?void 0:l.icon,tooltip:"toolbar.horizontalAlignMode.main",type:_.MenuItemType.SELECTOR,selections:Pl,value$:Re(o,r,({worksheet:c})=>new O.Observable(d=>{var S,f;const u=n.get(a.ICommandService).onCommandExecuted(v=>{var E,R;const p=v.id;if(p!==m.SetHorizontalTextAlignCommand.id&&p!==m.SetSelectionsOperation.id&&p!==m.SetWorksheetActiveOperation.id)return;const C=(E=e.getCurrentLastSelection())==null?void 0:E.primary;let b;if(C!=null){const P=c.getRange(C.startRow,C.startColumn),M=t==null?void 0:t.getActiveSheet().getComposedCellStyle(C.startRow,C.startColumn);b=(R=M==null?void 0:M.ht)!=null?R:P==null?void 0:P.getHorizontalAlignment()}d.next(b!=null?b:r)}),h=(S=e.getCurrentLastSelection())==null?void 0:S.primary;let g;if(h!=null){const v=c.getRange(h.startRow,h.startColumn),p=t==null?void 0:t.getActiveSheet().getComposedCellStyle(h.startRow,h.startColumn);g=(f=p==null?void 0:p.ht)!=null?f:v==null?void 0:v.getHorizontalAlignment()}return d.next(g!=null?g:r),u.dispose})),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([c,d])=>c||d)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}const Ol=[{label:"align.top",icon:"AlignTopIcon",value:a.VerticalAlign.TOP},{label:"align.middle",icon:"VerticalCenterIcon",value:a.VerticalAlign.MIDDLE},{label:"align.bottom",icon:"AlignBottomIcon",value:a.VerticalAlign.BOTTOM}];function Sg(n){var s,l;const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=o.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET),i=t==null?void 0:t.getActiveSheet().getDefaultCellStyleInternal(),r=(s=i==null?void 0:i.vt)!=null?s:a.VerticalAlign.BOTTOM;return{id:m.SetVerticalTextAlignCommand.id,icon:(l=Ol.find(c=>c.value===r))==null?void 0:l.icon,tooltip:"toolbar.verticalAlignMode.main",type:_.MenuItemType.SELECTOR,selections:Ol,value$:Re(o,r,({worksheet:c})=>new O.Observable(d=>{var S,f;const u=n.get(a.ICommandService).onCommandExecuted(v=>{var E,R;const p=v.id;if(p!==m.SetVerticalTextAlignCommand.id&&p!==m.SetSelectionsOperation.id&&p!==m.SetWorksheetActiveOperation.id)return;const C=(E=e.getCurrentLastSelection())==null?void 0:E.primary;let b;if(C!=null){const P=c.getRange(C.startRow,C.startColumn),M=t==null?void 0:t.getActiveSheet().getComposedCellStyle(C.startRow,C.startColumn);b=(R=M==null?void 0:M.vt)!=null?R:P==null?void 0:P.getVerticalAlignment()}d.next(b!=null?b:r)}),h=(S=e.getCurrentLastSelection())==null?void 0:S.primary;let g;if(h!=null){const v=c.getRange(h.startRow,h.startColumn),p=t==null?void 0:t.getActiveSheet().getComposedCellStyle(h.startRow,h.startColumn);g=(f=p==null?void 0:p.vt)!=null?f:v==null?void 0:v.getVerticalAlignment()}return d.next(g!=null?g:r),u.dispose})),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([c,d])=>c||d)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}const Al=[{label:"textWrap.overflow",icon:"OverflowIcon",value:a.WrapStrategy.OVERFLOW},{label:"textWrap.wrap",icon:"AutowrapIcon",value:a.WrapStrategy.WRAP},{label:"textWrap.clip",icon:"TruncationIcon",value:a.WrapStrategy.CLIP}];function fg(n){var s,l;const o=n.get(m.SheetsSelectionsService),e=n.get(a.IUniverInstanceService),t=e.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET),i=t==null?void 0:t.getActiveSheet().getDefaultCellStyleInternal(),r=(s=i==null?void 0:i.tb)!=null?s:a.WrapStrategy.OVERFLOW;return{id:m.SetTextWrapCommand.id,tooltip:"toolbar.textWrapMode.main",icon:(l=Al.find(c=>c.value===r))==null?void 0:l.icon,type:_.MenuItemType.SELECTOR,selections:Al,value$:Re(e,r,({worksheet:c})=>new O.Observable(d=>{var S,f;const u=n.get(a.ICommandService).onCommandExecuted(v=>{var E,R;const p=v.id;if(p!==m.SetTextWrapCommand.id&&p!==m.SetSelectionsOperation.id&&p!==m.SetWorksheetActiveOperation.id)return;const C=(E=o.getCurrentLastSelection())==null?void 0:E.primary;let b;if(C!=null){const P=c.getRange(C.startRow,C.startColumn),M=t==null?void 0:t.getActiveSheet().getComposedCellStyle(C.startRow,C.startColumn);b=(R=M==null?void 0:M.tb)!=null?R:P==null?void 0:P.getWrapStrategy()}d.next(b!=null?b:r)}),h=(S=o.getCurrentLastSelection())==null?void 0:S.primary;let g;if(h!=null){const v=c.getRange(h.startRow,h.startColumn),p=t==null?void 0:t.getActiveSheet().getComposedCellStyle(h.startRow,h.startColumn);g=(f=p==null?void 0:p.tb)!=null?f:v==null?void 0:v.getWrapStrategy()}return d.next(g!=null?g:r),u.dispose})),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([c,d])=>c||d)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}const Dl=[{label:"textRotate.none",icon:"NoRotationIcon",value:0},{label:"textRotate.angleUp",icon:"LeftRotationFortyFiveDegreesIcon",value:-45},{label:"textRotate.angleDown",icon:"RightRotationFortyFiveDegreesIcon",value:45},{label:"textRotate.vertical",icon:"VerticalTextIcon",value:"v"},{label:"textRotate.rotationUp",icon:"LeftRotationNinetyDegreesIcon",value:-90},{label:"textRotate.rotationDown",icon:"RightRotationNinetyDegreesIcon",value:90}];function vg(n){const o=n.get(m.SheetsSelectionsService),e=n.get(a.IUniverInstanceService),t=0;return{id:m.SetTextRotationCommand.id,tooltip:"toolbar.textRotateMode.main",icon:Dl[0].icon,type:_.MenuItemType.SELECTOR,selections:Dl,value$:Re(e,t,({worksheet:i})=>new O.Observable(r=>{var d,u;const s=n.get(a.ICommandService).onCommandExecuted(h=>{var v,p;const g=h.id;if(g!==m.SetTextRotationCommand.id&&g!==m.SetSelectionsOperation.id&&g!==m.SetWorksheetActiveOperation.id)return;const S=(v=o.getCurrentLastSelection())==null?void 0:v.primary;let f;if(S!=null){const C=i.getRange(S.startRow,S.startColumn);f=C==null?void 0:C.getTextRotation()}(f==null?void 0:f.v)===a.BooleanNumber.TRUE?r.next("v"):r.next((p=f&&f.a)!=null?p:t)}),l=(d=o.getCurrentLastSelection())==null?void 0:d.primary;let c;if(l!=null){const h=i.getRange(l.startRow,l.startColumn);c=h==null?void 0:h.getTextRotation()}return(c==null?void 0:c.v)===a.BooleanNumber.TRUE?r.next("v"):r.next((u=c&&c.a)!=null?u:t),s.dispose})),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([i,r])=>i||r)),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function Hn(n){return new O.Observable(o=>{const t=n.get(_.IClipboardInterfaceService).supportClipboard,r=n.get(We).copyContentCache().lastCopyId$.subscribe(s=>{o.next(!t&&!s)});return o.next(!t),()=>r.unsubscribe()})}function Vn(n){return{id:Xe.name,commandId:Xe.id,type:_.MenuItemType.BUTTON,title:"rightClick.copy",icon:"CopyDoubleIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookCopyPermission],worksheetTypes:[m.WorksheetCopyPermission],rangeTypes:[m.RangeProtectionPermissionViewPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function jr(n){return{id:Ct.name,commandId:_.CutCommand.id,type:_.MenuItemType.BUTTON,title:"rightClick.cut",icon:"CutIcon",disabled$:oe(n,{workbookTypes:[m.WorkbookCopyPermission,m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetCopyPermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionViewPoint,m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Zr(n){return{id:Ye.name,commandId:Ye.id,type:_.MenuItemType.BUTTON,title:"rightClick.paste",icon:"PasteSpecialDoubleIcon",disabled$:Hn(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission,m.WorksheetSetCellValuePermission],workbookTypes:[m.WorkbookEditablePermission]})),O.map(([o,e])=>o||e)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const Pi="sheet.menu.copy-special";function Gr(n){return{id:Pi,type:_.MenuItemType.SUBITEMS,icon:"CopyDoubleIcon",title:"rightClick.copySpecial",hidden$:nt(n,_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET))}}const Oi="sheet.menu.paste-special";function Kr(n){return{id:Oi,type:_.MenuItemType.SUBITEMS,icon:"PasteSpecialDoubleIcon",title:"rightClick.pasteSpecial",hidden$:nt(n,_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET))}}function qr(n){return{id:ln.id,type:_.MenuItemType.BUTTON,title:"rightClick.pasteValue",disabled$:Hn(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellValuePermission,m.WorksheetEditPermission],workbookTypes:[m.WorkbookEditablePermission]})),O.map(([o,e])=>o||e)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Qr(n){return{id:cn.id,type:_.MenuItemType.BUTTON,title:"rightClick.pasteFormat",disabled$:Hn(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetCellStylePermission,m.WorksheetEditPermission],workbookTypes:[m.WorkbookEditablePermission]})),O.map(([o,e])=>o||e)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Jr(n){return{id:At.id,type:_.MenuItemType.BUTTON,title:"rightClick.pasteColWidth",disabled$:Hn(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetSetColumnStylePermission,m.WorksheetEditPermission],workbookTypes:[m.WorkbookEditablePermission]})),O.map(([o,e])=>o||e))}}function $r(n){return{id:dn.id,type:_.MenuItemType.BUTTON,title:"rightClick.pasteBesidesBorder",disabled$:Hn(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellStylePermission,m.WorksheetSetCellValuePermission,m.WorksheetSetRowStylePermission,m.WorksheetSetColumnStylePermission],workbookTypes:[m.WorkbookEditablePermission]})),O.map(([o,e])=>o||e)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function pg(n){return{id:m.SetWorksheetRowIsAutoHeightCommand.id,type:_.MenuItemType.BUTTON,icon:"AutoHeightDoubleIcon",title:"rightClick.fitContent",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetRowStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Cg(n){return{id:Tn.id,type:_.MenuItemType.BUTTON,icon:"AutoWidthDoubleIcon",title:"rightClick.fitContent",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetRowStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function _g(n){return{id:ti.id,type:_.MenuItemType.BUTTON,icon:"HideDoubleIcon",title:"rightClick.hideSelectedRow",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetRowStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Ig(n){return{id:ni.id,type:_.MenuItemType.BUTTON,icon:"HideDoubleIcon",title:"rightClick.hideSelectedColumn",disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetColumnStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]}),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function bg(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=[m.SetSelectionsOperation,m.SetRowHiddenMutation,m.SetRowVisibleMutation].map(r=>r.id);return{id:m.SetSelectedRowsVisibleCommand.id,type:_.MenuItemType.BUTTON,icon:"EyeOutlineIcon",title:"rightClick.showHideRow",hidden$:Re(o,!0,({worksheet:r})=>new O.Observable(s=>{function l(){var u;const d=(u=e.getCurrentSelections())==null?void 0:u.map(h=>h.range).filter(h=>h.rangeType===a.RANGE_TYPE.ROW);return!!(d!=null&&d.some(h=>{for(let g=h.startRow;g<=h.endRow;g++)if(!r.getRowRawVisible(g))return!0;return!1}))}const c=t.onCommandExecuted(d=>{i.findIndex(u=>u===d.id)!==-1&&s.next(!l())});return s.next(!l()),()=>c.dispose()})),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetRowStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function Eg(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.SheetsSelectionsService),t=n.get(a.ICommandService),i=[m.SetSelectionsOperation,m.SetColHiddenMutation,m.SetColVisibleMutation].map(r=>r.id);return{id:m.SetSelectedColsVisibleCommand.id,type:_.MenuItemType.BUTTON,icon:"EyeOutlineIcon",title:"rightClick.showHideColumn",hidden$:Re(o,!0,({worksheet:r})=>new O.Observable(s=>{function l(){var u;const d=(u=e.getCurrentSelections())==null?void 0:u.map(h=>h.range).filter(h=>h.rangeType===a.RANGE_TYPE.COLUMN);return!d||d.length===0?!1:!!d.some(h=>{for(let g=h.startColumn;g<=h.endColumn;g++)if(!r.getColVisible(g))return!0;return!1})}const c=t.onCommandExecuted(d=>{i.findIndex(u=>u===d.id)!==-1&&s.next(!l())});return s.next(!l()),()=>c.dispose()})),disabled$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetSetColumnStylePermission,m.WorksheetEditPermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function wg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=2;return{id:m.SetRowHeightCommand.id,type:_.MenuItemType.BUTTON,icon:"AdjustHeightDoubleIcon",label:{name:tt,props:{prefix:"rightClick.rowHeight",suffix:"px",min:i,max:1e3}},value$:Re(e,i,({worksheet:r})=>new O.Observable(s=>{function l(){var h;const d=(h=t.getCurrentLastSelection())==null?void 0:h.primary,u=d?r.getRowHeight(d.startRow):r.getConfig().defaultRowHeight;s.next(u)}const c=o.onCommandExecuted(d=>{const u=d.id;if(u===m.SetRangeValuesMutation.id||u===m.SetSelectionsOperation.id||u===m.SetWorksheetRowIsAutoHeightMutation.id)return l()});return l(),c.dispose})),hidden$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetRowStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function Tg(n){const o=n.get(a.ICommandService),e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=2;return{id:m.SetColWidthCommand.id,type:_.MenuItemType.BUTTON,icon:"AdjustWidthDoubleIcon",label:{name:tt,props:{prefix:"rightClick.columnWidth",suffix:"px",min:i,max:1e3}},value$:Re(e,i,({worksheet:r})=>new O.Observable(s=>{function l(){var h;const d=(h=t.getCurrentLastSelection())==null?void 0:h.primary,u=d?r.getColumnWidth(d.startColumn):r.getConfig().defaultColumnWidth;s.next(u)}const c=o.onCommandExecuted(d=>{const u=d.id;if(u===m.SetRangeValuesMutation.id||u===m.SetSelectionsOperation.id||u===m.SetWorksheetColWidthMutation.id)return l()});return l(),c.dispose})),hidden$:oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetColumnStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})}}function yg(n){const o=nt(n,oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission,m.WorksheetSetCellStylePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})),e=kh(n);return{id:m.AddWorksheetMergeCommand.id,icon:"MergeAllIcon",tooltip:"toolbar.mergeCell.main",type:_.MenuItemType.SUBITEMS,hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1))]).pipe(O.map(([t,i])=>t||i)),disabled$:o.pipe(O.combineLatestWith(e),O.map(([t,i])=>t||i))}}function Rg(n){return{id:m.AddWorksheetMergeAllCommand.id,type:_.MenuItemType.BUTTON,title:"merge.all",icon:"MergeAllIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Mg(n){return{id:m.AddWorksheetMergeVerticalCommand.id,type:_.MenuItemType.BUTTON,title:"merge.vertical",icon:"VerticalIntegrationIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Pg(n){return{id:m.AddWorksheetMergeHorizontalCommand.id,type:_.MenuItemType.BUTTON,title:"merge.horizontal",icon:"HorizontalMergeIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Og(n){return{id:m.RemoveWorksheetMergeCommand.id,type:_.MenuItemType.BUTTON,title:"merge.cancel",icon:"CancelMergeIcon",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Ag(n){const e=n.get(a.IUniverInstanceService).getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),t=n.get(a.UserManagerService);return O.combineLatest([e,t.currentUser$]).pipe(O.switchMap(([i,r])=>i?i.activeSheet$.pipe(O.switchMap(s=>{if(!s)return O.of(!0);const l=n.get(m.RangeProtectionRuleModel),c=n.get(m.WorksheetProtectionRuleModel),d=n.get(m.SheetsSelectionsService);return O.merge(d.selectionMoveEnd$,l.ruleChange$,c.ruleChange$).pipe(O.map(()=>{const u=i.getUnitId(),h=s.getSheetId(),g=l.getSubunitRuleList(u,h),S=d.getCurrentSelections(),f=S==null?void 0:S.map(C=>C.range),v=g.map(C=>C.ranges).flat();if(!f)return!1;const p=c.getRule(u,h);return p!=null&&p.permissionId?!0:f==null?void 0:f.some(C=>v.some(b=>a.Rectangle.intersects(C,b)))}))})):O.of(!0)))}function Dg(n){const o=n.get(a.IUniverInstanceService),e=n.get(m.RangeProtectionRuleModel),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{if(!l)return O.of(!0);const c=n.get(m.RangeProtectionRuleModel),d=n.get(m.WorksheetProtectionRuleModel),u=n.get(a.IPermissionService),h=n.get(m.SheetsSelectionsService);return O.merge(h.selectionMoveEnd$,c.ruleChange$,d.ruleChange$).pipe(O.map(()=>{var D,k;const g=r.getUnitId(),S=l.getSheetId(),f=e.getSubunitRuleList(g,S),v=(D=h.getCurrentSelections())==null?void 0:D.map(N=>N.range);if(f.map(N=>N.ranges).flat(),!(v!=null&&v.length)||v.length>1)return!0;const p=v[0];if((p==null?void 0:p.rangeType)===a.RANGE_TYPE.ALL||(p==null?void 0:p.rangeType)===a.RANGE_TYPE.COLUMN||(p==null?void 0:p.rangeType)===a.RANGE_TYPE.ROW)return!0;const C=d.getRule(g,S);if(C!=null&&C.permissionId)return((k=u.getPermissionPoint(new m.WorksheetManageCollaboratorPermission(g,S).id))==null?void 0:k.value)===!1;if(f.filter(N=>N.ranges.some(H=>a.Rectangle.intersects(H,p))).length!==1)return!0;const{startRow:E,endRow:R,startColumn:P,endColumn:M}=p,A=n.get(m.RangeProtectionCache);for(let N=E;N<=R;N++)for(let H=P;H<=M;H++){const V=A.getCellInfo(g,S,N,H);if(V)return V[m.UnitAction.ManageCollaborator]===!1}return!1}))})):O.of(!0)))}function kg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{var f;if(!l)return O.of(!0);const c=r.getUnitId(),d=n.get(m.SheetsSelectionsService),u=n.get(m.RangeProtectionRuleModel),h=n.get(m.WorksheetProtectionRuleModel),g=(f=e.composePermission$([new m.WorkbookEditablePermission(c).id]).pipe(O.map(v=>v.every(p=>p.value))))!=null?f:O.of(!1),S=O.merge(u.ruleChange$,h.ruleChange$).pipe(O.startWith(null));return O.combineLatest([g,S,d.selectionMoveEnd$]).pipe(O.map(([v,p,C])=>{if(!v)return!0;const b=d.getCurrentSelections(),E=b==null?void 0:b.map(R=>R.range);return E!=null&&E.length?E.length>1:!1}))})):O.of(!0)))}function kl(n){var d;const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService),r=n.has(Ie)?n.get(Ie):null,l=n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_FX_BAR_EDITOR).pipe(O.startWith(!1),O.shareReplay(1)),c=(d=r==null?void 0:r.visible$.pipe(O.startWith(null),O.shareReplay(1)))!=null?d:O.of(null);return O.combineLatest([t,i.currentUser$,c,l]).pipe(O.switchMap(([u,h,g,S])=>!u||g!=null&&g.visible&&g.unitId===u.getUnitId()||S?O.of(!0):u.activeSheet$.pipe(O.switchMap(f=>{var D;if(!f)return O.of(!0);const p=n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_COMMON_DRAWINGS).pipe(O.startWith(!1)),C=u.getUnitId(),b=f.getSheetId(),E=n.get(m.RangeProtectionRuleModel),R=n.get(m.WorksheetProtectionRuleModel),P=n.get(m.SheetsSelectionsService),M=(D=e.composePermission$([new m.WorkbookCreateProtectPermission(C).id]).pipe(O.map(k=>k.every(N=>N.value))))!=null?D:O.of(!1),A=O.merge(E.ruleChange$,R.ruleChange$).pipe(O.startWith(null));return O.combineLatest([M,A,P.selectionMoveEnd$,p]).pipe(O.map(([k,N,H,V])=>{if(!k||V)return!0;const L=P.getCurrentSelections(),W=L==null?void 0:L.map(z=>z.range);if(!(W!=null&&W.length))return!0;const U=R.getRule(C,b);if(U!=null&&U.permissionId)return!0;const B=E.getSubunitRuleList(C,b);return W==null?void 0:W.some(z=>B.some(Y=>Y.ranges.some(G=>a.Rectangle.intersects(z,G))))}))}))))}function Ng(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{var f;if(!l)return O.of(!0);const c=r.getUnitId(),d=l.getSheetId(),u=n.get(m.RangeProtectionRuleModel),h=n.get(m.WorksheetProtectionRuleModel),g=(f=e.composePermission$([new m.WorkbookCreateProtectPermission(c).id]).pipe(O.map(v=>v.every(p=>p.value))))!=null?f:O.of(!1),S=O.merge(u.ruleChange$,h.ruleChange$).pipe(O.startWith(null));return O.combineLatest([g,S]).pipe(O.map(([v,p])=>{var E;if(!v)return!0;const C=h.getRule(c,d);return C!=null&&C.permissionId?!0:((E=u.getSubunitRuleList(c,d))==null?void 0:E.filter(R=>R==null?void 0:R.permissionId)).length>0}))})):O.of(!0)))}function Hg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{if(!l)return O.of(!0);const c=r.getUnitId(),d=l.getSheetId(),u=n.get(m.WorksheetProtectionRuleModel);return u.ruleChange$.pipe(O.startWith(null)).pipe(O.map(()=>{var g;return u.getRule(c,d)?((g=e.getPermissionPoint(new m.WorksheetDeleteProtectionPermission(c,d).id))==null?void 0:g.value)===!1:!0}))})):O.of(!0)))}function Vg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{var f;if(!l)return O.of(!0);const c=r.getUnitId(),d=n.get(m.RangeProtectionRuleModel),u=n.get(m.WorksheetProtectionRuleModel),h=(f=e.composePermission$([new m.WorkbookCreateProtectPermission(c).id,new m.WorkbookManageCollaboratorPermission(c).id]).pipe(O.map(v=>v.every(p=>p.value))))!=null?f:O.of(!1),g=u.ruleChange$.pipe(O.startWith(null)),S=d.ruleChange$.pipe(O.startWith(null));return O.combineLatest([h,g,S]).pipe(O.map(([v,p,C])=>{if(!v)return!0;const b=l.getSheetId(),E=u.getRule(c,b),R=d.getSubunitRuleList(c,b);return!(E||R.length)}))})):O.of(!0)))}function Wg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService);return O.combineLatest([t,i.currentUser$]).pipe(O.switchMap(([r,s])=>r?r.activeSheet$.pipe(O.switchMap(l=>{if(!l)return O.of(!0);const c=r.getUnitId(),d=l.getSheetId(),u=n.get(m.SheetsSelectionsService),h=n.get(m.RangeProtectionRuleModel),g=n.get(m.WorksheetProtectionRuleModel),S=O.merge(h.ruleChange$,g.ruleChange$,u.selectionMoveEnd$).pipe(O.startWith(null));return O.combineLatest([S]).pipe(O.map(([f])=>{var k;const v=n.get(m.SheetsSelectionsService).getCurrentSelections(),p=v==null?void 0:v.map(N=>N.range);if(!(p!=null&&p.length)||p.length>1)return!0;const C=p[0];if((C==null?void 0:C.rangeType)===a.RANGE_TYPE.ALL||(C==null?void 0:C.rangeType)===a.RANGE_TYPE.COLUMN||(C==null?void 0:C.rangeType)===a.RANGE_TYPE.ROW)return!0;const b=g.getRule(c,d);if(b!=null&&b.permissionId)return((k=e.getPermissionPoint(new m.WorksheetDeleteProtectionPermission(c,d).id))==null?void 0:k.value)===!1;if(h.getSubunitRuleList(c,d).filter(N=>N.ranges.some(H=>a.Rectangle.intersects(H,C))).length!==1)return!0;const{startRow:R,endRow:P,startColumn:M,endColumn:A}=C,D=n.get(m.RangeProtectionCache);for(let N=R;N<=P;N++)for(let H=M;H<=A;H++){const V=D.getCellInfo(c,d,N,H);if(V)return V[m.UnitAction.Delete]===!1}return!1}))})):O.of(!0)))}function Nl(n){var d;const o=n.get(a.IUniverInstanceService),e=n.get(a.IPermissionService),t=o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),i=n.get(a.UserManagerService),r=n.has(Ie)?n.get(Ie):null,l=n.get(a.IContextService).subscribeContextValue$(a.FOCUSING_FX_BAR_EDITOR),c=(d=r==null?void 0:r.visible$)!=null?d:O.of(null);return O.combineLatest([t,i.currentUser$,c,l]).pipe(O.switchMap(([u,h,g,S])=>!u||g!=null&&g.visible&&g.unitId===u.getUnitId()||S?O.of(!0):u.activeSheet$.pipe(O.switchMap(f=>{var C,b;if(!f)return O.of(!0);const v=u.getUnitId();return((b=(C=e.getPermissionPoint$(new m.WorkbookEditablePermission(v).id))==null?void 0:C.pipe(O.map(E=>!!E.value)))!=null?b:O.of(!1)).pipe(O.map(E=>!E))}))))}const go="sheet.contextMenu.permission";function Lg(n){return{id:si.id,type:_.MenuItemType.BUTTON,icon:da,tooltip:"permission.toolbarMenu",hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),disabled$:kl(n)}}function es(n){return{id:go,type:_.MenuItemType.SUBITEMS,title:"rightClick.protectRange",icon:ua,hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function ts(n){return{id:Ut.id,type:_.MenuItemType.BUTTON,title:"rightClick.turnOnProtectRange",hidden$:Ag(n),disabled$:kl(n)}}function ns(n){return{id:zt.id,type:_.MenuItemType.BUTTON,title:"rightClick.editProtectRange",disabled$:kg(n),hidden$:Dg(n)}}function is(n){return{id:Ft.id,type:_.MenuItemType.BUTTON,title:"rightClick.removeProtectRange",disabled$:Wg(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function os(n){return{id:Bt.id,type:_.MenuItemType.BUTTON,title:"rightClick.viewAllProtectArea",disabled$:Nl(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function xg(n){return{id:ai.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.addProtectSheet",disabled$:Ng(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Ug(n){return{id:fi.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.removeProtectSheet",disabled$:Hg(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Bg(n){return{id:vi.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.changeSheetPermission",disabled$:Vg(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Fg(n){return{id:li.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.viewAllProtectArea",disabled$:Nl(n),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function zg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.ICommandService),t=new O.Observable(r=>{const s=e.onCommandExecuted(l=>{const c=l.id;(c===m.RemoveSheetMutation.id||c===m.InsertSheetMutation.id||c===m.SetWorksheetHideMutation.id)&&So(o,r)});return So(o,r),s.dispose}),i=Nn(n,[m.WorkbookEditablePermission,m.WorkbookDeleteSheetPermission]);return{id:ci.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.delete",disabled$:O.combineLatest([t,i]).pipe(O.map(([r,s])=>r||s)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Xg(n){return{id:m.CopySheetCommand.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.copy",disabled$:Nn(n,[m.WorkbookEditablePermission,m.WorkbookCreateSheetPermission]),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Yg(n){return{id:Ci.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.rename",disabled$:Nn(n,[m.WorkbookEditablePermission,m.WorkbookRenameSheetPermission]),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function jg(n){return{id:m.SetTabColorCommand.id,title:"sheetConfig.changeColor",type:_.MenuItemType.SELECTOR,selections:[{label:{name:_.COLOR_PICKER_COMPONENT,hoverable:!1}}],hidden$:Nn(n,[m.WorkbookEditablePermission])}}function Zg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.ICommandService);return{id:m.SetWorksheetHideCommand.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.hide",disabled$:new O.Observable(t=>{const i=e.onCommandExecuted(r=>{const s=r.id;(s===m.RemoveSheetMutation.id||s===m.InsertSheetMutation.id||s===m.SetWorksheetHideMutation.id)&&So(o,t)});return So(o,t),i.dispose}).pipe(O.combineLatestWith(Nn(n,[m.WorkbookEditablePermission,m.WorkbookHideSheetPermission])),O.map(([t,i])=>t||i)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function Gg(n){const o=n.get(a.IUniverInstanceService),e=n.get(a.ICommandService);return{id:Si.id,type:_.MenuItemType.BUTTON,title:"sheetConfig.unhide",disabled$:new O.Observable(t=>{function i(){const s=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getWorksheets(),l=Array.from(s.values());t.next(l.length===1)}const r=e.onCommandExecuted(s=>{const l=s.id;(l===m.RemoveSheetMutation.id||l===m.InsertSheetMutation.id||l===m.SetWorksheetHideMutation.id)&&i()});return i(),r.dispose}).pipe(O.combineLatestWith(Nn(n,[m.WorkbookEditablePermission,m.WorkbookHideSheetPermission])),O.map(([t,i])=>t||i)),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}function So(n,o){const e=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getWorksheets(),t=Array.from(e.values()).filter(i=>i.getConfig().hidden===a.BooleanNumber.FALSE);o.next(t.length===1)}const Kg=n=>{var i;const o=n.get(m.SheetsSelectionsService),t=(i=n.get(a.IUniverInstanceService).getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET))==null?void 0:i.getActiveSheet();return new O.Observable(r=>{const s=c=>{var d,u,h,g;if(!t||!c||c.length===0)return r.next(!0);for(let S=0;S<c.length;S++){const{range:f}=c[S];for(let v=f.startRow;v<=f.endRow;v++)for(let p=f.startColumn;p<=f.endColumn;p++){const C=t.getCellRaw(v,p),b=typeof(C==null?void 0:C.s)=="string"?(u=(d=t.getStyleDataByHash(C.s))==null?void 0:d.n)==null?void 0:u.pattern:(g=(h=C==null?void 0:C.s)==null?void 0:h.n)==null?void 0:g.pattern;if(C&&C.v&&(C.t!==a.CellValueType.NUMBER||a.isTextFormat(b))&&a.isRealNum(C.v))return r.next(!1)}}r.next(!0)},l=o.selectionChanged$.subscribe(c=>{if(!c||c.length===0)return r.next(!0);s(c)});return s(o.getCurrentSelections()),()=>l.unsubscribe()})},Hl="sheet.toolbar.text-to-number";function qg(n){return{id:Hl,commandId:m.TextToNumberCommand.id,type:_.MenuItemType.BUTTON,title:"toolbar.textToNumber",disabled$:nt(n,oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})),hidden$:_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const fo="sheet.contextMenu.text-to-number";function rs(n){return{id:fo,commandId:m.TextToNumberCommand.id,type:_.MenuItemType.BUTTON,title:"rightClick.textToNumber",icon:"PipingIcon",disabled$:nt(n,oe(n,{workbookTypes:[m.WorkbookEditablePermission],worksheetTypes:[m.WorksheetEditPermission,m.WorksheetSetCellValuePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint]})),hidden$:O.combineLatest([_.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET),Kg(n)]).pipe(O.map(([o,e])=>o||e))}}const Vl={[_.RibbonPosition.START]:{[_.RibbonStartGroup.HISTORY]:{[vn.id]:{order:2,menuItemFactory:og},[m.ClearSelectionAllCommand.id]:{order:3,menuItemFactory:mo}},[_.RibbonStartGroup.FORMAT]:{[Wt.id]:{order:1,menuItemFactory:cg},[ii.id]:{order:2,menuItemFactory:Bm},[Zi.id]:{order:2.1,menuItemFactory:Fm},[Gi.id]:{order:2.2,menuItemFactory:zm},[kt.id]:{order:5,menuItemFactory:rg},[Nt.id]:{order:6,menuItemFactory:sg},[Ht.id]:{order:7,menuItemFactory:ag},[Vt.id]:{order:8,menuItemFactory:lg},[hn.id]:{order:9,menuItemFactory:ug,[m.ResetTextColorCommand.id]:{order:0,menuItemFactory:dg}},[m.SetBackgroundColorCommand.id]:{order:10,menuItemFactory:mg,[m.ResetBackgroundColorCommand.id]:{order:0,menuItemFactory:hg}},[m.SetBorderBasicCommand.id]:{order:11,menuItemFactory:Vm}},[_.RibbonStartGroup.LAYOUT]:{[m.SetHorizontalTextAlignCommand.id]:{order:0,menuItemFactory:gg},[m.SetVerticalTextAlignCommand.id]:{order:3,menuItemFactory:Sg},[m.SetTextWrapCommand.id]:{order:6,menuItemFactory:fg},[m.SetTextRotationCommand.id]:{order:7,menuItemFactory:vg},[m.AddWorksheetMergeCommand.id]:{order:8,menuItemFactory:yg,[m.AddWorksheetMergeAllCommand.id]:{order:0,menuItemFactory:Rg},[m.AddWorksheetMergeVerticalCommand.id]:{order:1,menuItemFactory:Mg},[m.AddWorksheetMergeHorizontalCommand.id]:{order:2,menuItemFactory:Pg},[m.RemoveWorksheetMergeCommand.id]:{order:3,menuItemFactory:Og}}},[_.RibbonStartGroup.OTHERS]:{[si.id]:{order:0,menuItemFactory:Lg}}},[_.RibbonPosition.DATA]:{[_.RibbonDataGroup.OTHERS]:{[Hl]:{order:0,menuItemFactory:qg}}},[_.ContextMenuPosition.MAIN_AREA]:{[_.ContextMenuGroup.QUICK]:{quickLayout:"tile",[Xe.name]:{order:0,menuItemFactory:Vn},[Ct.name]:{order:1,menuItemFactory:jr},[Ye.name]:{order:2,menuItemFactory:Zr}},[_.ContextMenuGroup.FORMAT]:{[Pi]:{order:0,menuItemFactory:Gr},[Oi]:{order:1,menuItemFactory:Kr,[ln.id]:{order:0,menuItemFactory:qr},[cn.id]:{order:1,menuItemFactory:Qr},[At.id]:{order:2,menuItemFactory:Jr},[dn.id]:{order:3,menuItemFactory:$r}},[ho]:{order:2,menuItemFactory:Br,[m.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Fr},[m.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:zr},[m.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:mo}},[fo]:{order:3,menuItemFactory:rs}},[_.ContextMenuGroup.LAYOUT]:{order:1,[Rl]:{order:0,menuItemFactory:Km,[m.InsertRowBeforeCommand.id]:{order:0,menuItemFactory:qm},[m.InsertColBeforeCommand.id]:{order:1,menuItemFactory:Qm},[mn.id]:{order:2,menuItemFactory:Jm},[Lt.id]:{order:3,menuItemFactory:$m}},[vl]:{order:0,menuItemFactory:Wm,[Sn.id]:{order:0,menuItemFactory:pl},[gn.id]:{order:1,menuItemFactory:Cl},[un.id]:{order:2,menuItemFactory:Lm},[Dt.id]:{order:3,menuItemFactory:xm}},[_l]:{order:2,menuItemFactory:Xm,[lt.id]:{order:0,menuItemFactory:Zm},[pn.id]:{order:1,menuItemFactory:El},[Cn.id]:{order:2,menuItemFactory:wl},[_n.id]:{order:3,menuItemFactory:Tl},[In.id]:{order:4,menuItemFactory:yl},[m.CancelFrozenCommand.id]:{order:5,menuItemFactory:Yr}},[go]:{order:3,menuItemFactory:es,[Ut.id]:{order:0,menuItemFactory:ts},[zt.id]:{order:1,menuItemFactory:ns},[Ft.id]:{order:2,menuItemFactory:is},[Bt.id]:{order:3,menuItemFactory:os}}},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}},[_.ContextMenuPosition.COL_HEADER]:{[_.ContextMenuGroup.QUICK]:{quickLayout:"tile",[Xe.name]:{order:0,menuItemFactory:Vn},[Ct.name]:{order:1,menuItemFactory:jr},[Ye.name]:{order:2,menuItemFactory:Zr}},[_.ContextMenuGroup.FORMAT]:{[Pi]:{order:0,menuItemFactory:Gr},[Oi]:{order:1,menuItemFactory:Kr,[ln.id]:{order:0,menuItemFactory:qr},[cn.id]:{order:1,menuItemFactory:Qr},[At.id]:{order:2,menuItemFactory:Jr},[dn.id]:{order:3,menuItemFactory:$r}},[ho]:{order:2,menuItemFactory:Br,[m.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Fr},[m.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:zr},[m.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:mo}},[fo]:{order:3,menuItemFactory:rs}},[_.ContextMenuGroup.LAYOUT]:{order:1,[m.InsertMultiColsLeftCommand.id]:{order:0,menuItemFactory:ng},[m.InsertMultiColsRightCommand.id]:{order:0,menuItemFactory:ig},[ni.id]:{order:1,menuItemFactory:Ig},[m.SetSelectedColsVisibleCommand.id]:{order:2,menuItemFactory:Eg},[Sn.id]:{order:2,menuItemFactory:pl},[m.SetColWidthCommand.id]:{order:3,menuItemFactory:Tg},[Tn.id]:{order:4,menuItemFactory:Cg},[Il]:{order:5,menuItemFactory:Ym,[Cn.id]:{order:2,menuItemFactory:wl},[In.id]:{order:4,menuItemFactory:yl},[m.CancelFrozenCommand.id]:{order:5,menuItemFactory:Yr}},[go]:{order:6,menuItemFactory:es,[Ut.id]:{order:0,menuItemFactory:ts},[zt.id]:{order:1,menuItemFactory:ns},[Ft.id]:{order:2,menuItemFactory:is},[Bt.id]:{order:3,menuItemFactory:os}}},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}},[_.ContextMenuPosition.ROW_HEADER]:{[_.ContextMenuGroup.QUICK]:{quickLayout:"tile",[Xe.name]:{order:0,menuItemFactory:Vn},[Ct.name]:{order:1,menuItemFactory:jr},[Ye.name]:{order:2,menuItemFactory:Zr}},[_.ContextMenuGroup.FORMAT]:{[Pi]:{order:0,menuItemFactory:Gr},[Oi]:{order:1,menuItemFactory:Kr,[ln.id]:{order:0,menuItemFactory:qr},[cn.id]:{order:1,menuItemFactory:Qr},[At.id]:{order:2,menuItemFactory:Jr},[dn.id]:{order:3,menuItemFactory:$r}},[ho]:{order:2,menuItemFactory:Br,[m.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Fr},[m.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:zr},[m.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:mo}},[fo]:{order:3,menuItemFactory:rs}},[_.ContextMenuGroup.LAYOUT]:{order:1,[m.InsertMultiRowsAboveCommand.id]:{order:0,menuItemFactory:tg},[m.InsertMultiRowsAfterCommand.id]:{order:1,menuItemFactory:eg},[gn.id]:{order:1,menuItemFactory:Cl},[ti.id]:{order:2,menuItemFactory:_g},[m.SetSelectedRowsVisibleCommand.id]:{order:2,menuItemFactory:bg},[m.SetRowHeightCommand.id]:{order:3,menuItemFactory:wg},[m.SetWorksheetRowIsAutoHeightCommand.id]:{order:4,menuItemFactory:pg},[bl]:{order:5,menuItemFactory:jm,[pn.id]:{order:1,menuItemFactory:El},[_n.id]:{order:3,menuItemFactory:Tl},[m.CancelFrozenCommand.id]:{order:5,menuItemFactory:Yr}},[go]:{order:6,menuItemFactory:es,[Ut.id]:{order:0,menuItemFactory:ts},[zt.id]:{order:1,menuItemFactory:ns},[Ft.id]:{order:2,menuItemFactory:is},[Bt.id]:{order:3,menuItemFactory:os}}},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}},[_.ContextMenuPosition.FOOTER_TABS]:{[_.ContextMenuGroup.OTHERS]:{order:0,[ci.id]:{order:0,menuItemFactory:zg},[m.CopySheetCommand.id]:{order:1,menuItemFactory:Xg},[Ci.id]:{order:2,menuItemFactory:Yg},[m.SetTabColorCommand.id]:{order:3,menuItemFactory:jg},[m.SetWorksheetHideCommand.id]:{order:4,menuItemFactory:Zg},[Si.id]:{order:6,menuItemFactory:Gg},[ai.id]:{order:7,menuItemFactory:xg},[fi.id]:{order:8,menuItemFactory:Ug},[vi.id]:{order:9,menuItemFactory:Bg},[li.id]:{order:10,menuItemFactory:Fg}}},[_.ContextMenuPosition.FOOTER_MENU]:{[_.ContextMenuGroup.OTHERS]:{[m.ToggleGridlinesCommand.id]:{order:1,menuItemFactory:Gm}}}},ss="sheets.component.cell-popup";var Qg=Object.getOwnPropertyDescriptor,Jg=(n,o,e,t)=>{for(var i=t>1?void 0:t?Qg(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Jt=(n,o)=>(e,t)=>o(e,t,n);T.SheetCanvasPopManagerService=class extends a.Disposable{constructor(e,t,i,r,s,l,c){super();w(this,"_popupMenuFeatureMap",new Map);w(this,"_popupMenuOffsetMap",new Map);w(this,"_isSelectionMoving",!1);this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=i,this._refRangeService=r,this._commandService=s,this._refSelectionsService=l,this._selectionManagerService=c,this._initMoving()}_initMoving(){this.disposeWithMe(this._refSelectionsService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._refSelectionsService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1})),this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1}))}registerFeatureMenu(e,t){this._popupMenuFeatureMap.set(e,t)}registerFeatureMenuOffset(e,t,i){this._popupMenuOffsetMap.set(e,{offsetX:t,offsetY:i})}getFeatureMenu(e,t,i,r){const s=this._popupMenuFeatureMap.get(r);if(s)return s(e,t,i,r)}dispose(){super.dispose(),this._popupMenuFeatureMap.clear(),this._popupMenuOffsetMap.clear()}_createHiddenRectObserver(e){const{row:t,column:i,worksheet:r,skeleton:s,currentRender:l}=e,c=()=>{var Y,G;const g=r.getFreeze(),{startRow:S,startColumn:f,xSplit:v,ySplit:p}=g,C=S-p,b=f-v,{rowHeightAccumulation:E,columnWidthAccumulation:R,rowHeaderWidth:P,columnHeaderHeight:M}=s,A=P+(b===-1?0:R[b+v-1]-((Y=R[b-1])!=null?Y:0)),D=M+(C===-1?0:E[C+p-1]-((G=E[C])!=null?G:0)),k=l.engine.getCanvasElement(),N=k.getBoundingClientRect(),H=as(k.style.width),V=N.width/H,L=l.scene.getAncestorScale().scaleX,W=A*V*L,U=D*V*L,B={left:-1/0,top:-1/0,right:N.left+W,bottom:N.top+U},X={left:N.left+W,top:-1/0,right:1/0,bottom:N.top+U},z={left:-1/0,top:N.top+U,right:N.left+W,bottom:1/0};return t<S&&i<f?[]:t<S?[B]:i<f?[B]:[B,X,z]},d=c(),u=new O.BehaviorSubject(d),h=new a.DisposableCollection;return h.add(this._commandService.onCommandExecuted(g=>{g.id===m.SetFrozenMutation.id&&u.next(c())})),h.add(a.fromEventSubject(l.engine.onTransformChange$).pipe(O.throttleTime(16)).subscribe(()=>{u.next(c())})),{rects$:u,disposable:h}}_createPositionObserver(e,t,i,r){const s=()=>{const{scene:u}=t,h=Ou(e,u,i,r),g=t.engine.getCanvasElement(),S=g.getBoundingClientRect(),f=as(g.style.width),v=S.width/f;return{left:h.left*v+S.left,right:h.right*v+S.left,top:h.top*v+S.top,bottom:h.bottom*v+S.top}},l=s(),c=new O.BehaviorSubject(l),d=new a.DisposableCollection;return d.add(this._commandService.onCommandExecuted(u=>{ls(u.id)&&c.next(s())})),{position:l,position$:c,disposable:d}}attachPopupToObject(e,t){var M;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),r=i.getActiveSheet();if(!r||this._isSelectionMoving&&!t.showOnSelectionMoving)return{dispose:()=>{},canDispose:()=>!0};const s=i.getUnitId(),l=r.getSheetId(),c=(M=this._renderManagerService.getRenderById(s))==null?void 0:M.with(T.SheetSkeletonManagerService).ensureSkeleton(l),d=this._renderManagerService.getRenderById(s);if(!d||!c)return{dispose:()=>{},canDispose:()=>!0};const{left:u,top:h,width:g,height:S}=e;let f=0,v=0,p;if(e.classType===y.RENDER_CLASS_TYPE.SHAPE&&(p=e.getPropByKey("drawingType")),p!==void 0&&this._popupMenuOffsetMap.has(p)){const A=this._popupMenuOffsetMap.get(p);f=A.offsetX,v=A.offsetY}const C={left:u,right:u+g+f,top:h+v,bottom:h+S},{position:b,position$:E,disposable:R}=this._createPositionObserver(C,d,c,r),P=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:l,anchorRect:b,anchorRect$:E,canvasElement:d.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(P),E.complete(),R.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==P}}attachPopupByPosition(e,t,i){var C;let r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet();if(!s)return null;const l=r.getUnitId(),c=s.getSheetId();if(l!==i.unitId||i.subUnitId!==c)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;const d=(C=this._renderManagerService.getRenderById(l))==null?void 0:C.with(T.SheetSkeletonManagerService).getOrCreateSkeleton({sheetId:c}),u=this._renderManagerService.getRenderById(l);if(!u||!d)return null;const{position:h,position$:g,disposable:S}=this._createPositionObserver(e,u,d,s),{rects$:f,disposable:v}=this._createHiddenRectObserver({row:i.row,column:i.col,worksheet:s,skeleton:d,currentRender:u}),p=this._globalPopupManagerService.addPopup({...t,unitId:l,subUnitId:c,anchorRect:h,anchorRect$:g,hiddenRects$:f,canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(p),g.complete(),S.dispose(),v.dispose(),r=null,s=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==p}}attachPopupToAbsolutePosition(e,t,i,r){var f;const s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),l=s.getActiveSheet();if(!l)return null;const c=s.getUnitId(),d=l.getSheetId();if(i&&c!==i||r&&r!==d)return null;const u=(f=this._renderManagerService.getRenderById(c))==null?void 0:f.with(T.SheetSkeletonManagerService).ensureSkeleton(d),h=this._renderManagerService.getRenderById(c);if(!h||!u)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;const g=new O.BehaviorSubject(e),S=this._globalPopupManagerService.addPopup({...t,unitId:c,subUnitId:d,anchorRect:e,anchorRect$:g.asObservable(),canvasElement:h.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(S),g.complete()},canDispose:()=>this._globalPopupManagerService.activePopupId!==S}}attachPopupToCell(e,t,i,r,s,l){let c=r?this._univerInstanceService.getUnit(r):this._univerInstanceService.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET);if(!c)return null;let d=s?c.getSheetBySheetId(s):c.getActiveSheet();if(!d)return null;const u=c.getUnitId(),h=d.getSheetId(),g=this._renderManagerService.getRenderById(u),S=g==null?void 0:g.with(T.SheetSkeletonManagerService).ensureSkeleton(h),f=g==null?void 0:g.with(ye);if(!g||!S||!f)return null;if(this._isSelectionMoving&&!i.showOnSelectionMoving)return;const v=l!=null?l:vr(e,t,g.scene,d);if(!v)return null;const{position:p,position$:C,disposable:b,updateRowCol:E}=this._createCellPositionObserver(e,t,g,S,v),{rects$:R,disposable:P}=this._createHiddenRectObserver({row:e,column:t,worksheet:d,skeleton:S,currentRender:g}),M=this._globalPopupManagerService.addPopup({...i,unitId:u,subUnitId:h,anchorRect:p,anchorRect$:C,canvasElement:g.engine.getCanvasElement(),hiddenRects$:R}),A=new a.DisposableCollection;A.add(b),A.add(a.toDisposable(()=>{this._globalPopupManagerService.removePopup(M),C.complete()})),A.add(P);const D={startRow:e,endRow:e,startColumn:t,endColumn:t};return A.add(this._refRangeService.watchRange(u,h,D,(k,N)=>{N?E(N.startRow,N.startColumn):A.dispose()})),{dispose(){A.dispose(),d=null,c=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==M}}attachRangePopup(e,t,i,r,s,l=!1){const c=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),d=c.getActiveSheet();if(!d)return null;const u=c.getUnitId(),h=d.getSheetId();if(i&&u!==i||r&&h!==r)return null;const g=this._renderManagerService.getRenderById(u),S=g==null?void 0:g.with(T.SheetSkeletonManagerService).getOrCreateSkeleton({sheetId:h}),f=g==null?void 0:g.with(ye);if(!g||!S||!f)return null;if(f.selectionMoving&&!l)return;const v=s!=null?s:vr(e.startRow,e.startColumn,g.scene,d);if(!v)return null;const{position:p,position$:C,disposable:b,updateRange:E,topLeftPos$:R,rightBottomPos$:P}=this._createRangePositionObserver(e,g,S,v),{rects$:M,disposable:A}=this._createHiddenRectObserver({row:e.startRow,column:e.startColumn,worksheet:d,skeleton:S,currentRender:g}),D=this._globalPopupManagerService.addPopup({...t,unitId:u,subUnitId:h,anchorRect:p,anchorRect$:C,canvasElement:g.engine.getCanvasElement(),hiddenRects$:M}),k=new a.DisposableCollection;k.add(b),k.add(a.toDisposable(()=>{this._globalPopupManagerService.removePopup(D),R.complete(),P.complete()})),k.add(A);const N={...e};return k.add(this._refRangeService.watchRange(u,h,N,(H,V)=>{V?E(V):k.dispose()})),{dispose(){k.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==D}}_createCellPositionObserver(e,t,i,r,s){let l=e,c=t;const d=this._calcCellPositionByCell(l,c,i,r,s),u=new O.BehaviorSubject(d),h=()=>u.next(this._calcCellPositionByCell(l,c,i,r,s)),g=new a.DisposableCollection;return g.add(i.engine.clientRect$.subscribe(()=>h())),g.add(a.fromEventSubject(i.engine.onTransformChange$).pipe(O.throttleTime(16)).subscribe(()=>h())),g.add(this._commandService.onCommandExecuted(f=>{if(f.id===m.SetWorksheetRowAutoHeightMutation.id&&f.params.rowsAutoHeightInfo.findIndex(p=>p.row===l)>-1){h();return}ls(f.id)&&h()})),{position$:u,disposable:g,position:d,updateRowCol:(f,v)=>{l=f,c=v,h()}}}_calcCellPositionByCell(e,t,i,r,s){const{scene:l,engine:c}=i;if(r._disposed||l._disposed)return{left:0,right:0,top:0,bottom:0};const d=r.getCellWithCoordByIndex(e,t),u=d.isMergedMainCell?d.mergeInfo:d,{scaleX:h,scaleY:g}=l.getAncestorScale(),S={x:s.viewportScrollX,y:s.viewportScrollY},f=c.getCanvasElement();if(!f)return{left:0,right:0,top:0,bottom:0};const v=f.getBoundingClientRect(),p=as(f.style.width),{top:C,left:b,width:E}=v,R=E/p;return{left:(u.startX-S.x)*R*h+b,right:(u.endX-S.x)*R*h+b,top:(u.startY-S.y)*R*g+C,bottom:(u.endY-S.y)*R*g+C}}_createRangePositionObserver(e,t,i,r){let{startRow:s,startColumn:l,endRow:c,endColumn:d}=e;const u=this._calcCellPositionByCell(s,l,t,i,r),h=new O.BehaviorSubject(u),g=this._calcCellPositionByCell(c,d,t,i,r),S=new O.BehaviorSubject(g),f=()=>{const E=this._calcCellPositionByCell(s,l,t,i,r),R=this._calcCellPositionByCell(c,d,t,i,r);h.next(E),S.next(R)},v=new a.DisposableCollection;v.add(t.engine.clientRect$.subscribe(()=>f())),v.add(this._commandService.onCommandExecuted(E=>{if(E.id===m.SetWorksheetRowAutoHeightMutation.id&&E.params.rowsAutoHeightInfo.findIndex(P=>P.row===s)>-1){f();return}ls(E.id)&&f()}));const p=E=>{s=E.startRow,l=E.startColumn,c=E.endRow,d=E.endColumn,f()},C=h.pipe(O.map(E=>{const R=this._calcCellPositionByCell(c,d,t,i,r);return{top:E.top,left:E.left,right:R.right,bottom:R.bottom}})),b={top:u.top,left:u.left,right:g.right,bottom:g.bottom};return{position$:C,position:b,updateRange:p,topLeftPos$:h,rightBottomPos$:S,disposable:v}}},T.SheetCanvasPopManagerService=Jg([Jt(0,a.Inject(_.ICanvasPopupService)),Jt(1,y.IRenderManagerService),Jt(2,a.IUniverInstanceService),Jt(3,a.Inject(m.RefRangeService)),Jt(4,a.ICommandService),Jt(5,m.IRefSelectionsService),Jt(6,a.Inject(m.SheetsSelectionsService))],T.SheetCanvasPopManagerService);function as(n){return Number.parseInt(n.replace("px",""))}const $g=new Set([ct.id,et.id,m.SetSelectionsOperation.id]);function ls(n){return $g.has(n)||m.COMMAND_LISTENER_SKELETON_CHANGE.includes(n)}var eS=Object.getOwnPropertyDescriptor,tS=(n,o,e,t)=>{for(var i=t>1?void 0:t?eS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},nS=(n,o)=>(e,t)=>o(e,t,n);T.CellPopupManagerService=class extends a.Disposable{constructor(e){super();w(this,"_cellPopupMap",new Map);w(this,"_change$",new O.Subject);w(this,"change$",this._change$.asObservable());this._sheetCanvasPopManagerService=e}_ensureCellPopupMap(e,t){let i=this._cellPopupMap.get(e);i||(i=new Map,this._cellPopupMap.set(e,i));let r=i.get(t);return r||(r=new a.ObjectMatrix,i.set(t,r)),r}showPopup(e,t){var g,S;const{direction:i="horizontal"}=t,{unitId:r,subUnitId:s,row:l,col:c}=e,d=this._ensureCellPopupMap(r,s),u=(g=d.getValue(l,c))==null?void 0:g[i];t.id=(S=t.id)!=null?S:a.generateRandomId();const h=()=>{var C;const f=d.getValue(l,c);if(!f)return;const v=f[i];if(!v)return;const p=v==null?void 0:v.popups.findIndex(b=>b.id===t.id&&b.componentKey===t.componentKey);v==null||v.popups.splice(p,1),v.popups.length===0&&((C=v.disposable)==null||C.dispose(),f[i]=void 0),this._change$.next({...e,direction:i})};if(u)u.popups.push(t),u.popups.sort((f,v)=>f.priority-v.priority);else{const f=this._sheetCanvasPopManagerService.attachPopupToCell(l,c,{...t,direction:i,componentKey:ss,extraProps:{...e,direction:i},noPushMinimumGap:!0,autoRelayout:!1,zIndex:90},r,s);d.setValue(l,c,{...d.getValue(l,c),[i]:{disposable:f,popups:[t]}})}return this._change$.next({...e,direction:i}),a.toDisposable(h)}getPopups(e,t,i,r,s){var c,d;return((d=(c=this._ensureCellPopupMap(e,t).getValue(i,r))==null?void 0:c[s])==null?void 0:d.popups)||[]}hidePopup(e,t,i,r){var c,d;const s=this._ensureCellPopupMap(e,t),l=s.getValue(i,r);l&&(l.horizontal&&((c=l.horizontal.disposable)==null||c.dispose(),l.horizontal=void 0,this._change$.next({unitId:e,subUnitId:t,row:i,col:r,direction:"horizontal"})),l.vertical&&((d=l.vertical.disposable)==null||d.dispose(),l.vertical=void 0,this._change$.next({unitId:e,subUnitId:t,row:i,col:r,direction:"vertical"})),!l.horizontal&&!l.vertical&&s.realDeleteValue(i,r))}},T.CellPopupManagerService=tS([nS(0,a.Inject(T.SheetCanvasPopManagerService))],T.CellPopupManagerService);const Wl=n=>{const{popup:o}=n,e=o.extraProps,{row:t,col:i,direction:r,unitId:s,subUnitId:l}=e,c=_.useDependency(T.CellPopupManagerService);_.useObservable(x.useMemo(()=>c.change$.pipe(O.filter(h=>h.row===t&&h.col===i&&h.direction===r)),[c,t,i,r]));const d=c.getPopups(s,l,t,i,r),u=_.useDependency(_.ComponentManager);return I.jsx("div",{"data-u-comp":"cell-popup",className:"univer-ml-px univer-flex univer-flex-col",children:d.map(h=>{var S;const g=u.get(h.componentKey);return g?I.jsx(g,{popup:h},(S=h.id)!=null?S:h.componentKey):null})})},Ll=n=>{const{inputId:o,state:e=!1,type:t="range",confirm:i,cancel:r,name:s,formulaOrRefString:l,comment:c="",localSheetId:d=m.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,hidden:u=!1,id:h}=n,S=_.useDependency(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),f=_.useDependency(a.LocaleService),v=_.useDependency(J.IDefinedNamesService),p=_.useDependency(J.ISuperTableService),C=_.useDependency(J.IFunctionService),b=_.useDependency(J.LexerTreeBuilder),E=_.useDependency(_.ComponentManager),R=x.useMemo(()=>E.get(Jo),[]),P=x.useMemo(()=>E.get(Fi),[]);if(S==null)return;const M=x.useMemo(()=>S.getUnitId(),[]),A=x.useMemo(()=>S.getActiveSheet().getSheetId(),[]),[D,k]=x.useState(s),[N,H]=x.useState(l),[V,L]=x.useState(c),[W,U]=x.useState(d),[B,X]=x.useState(""),[z,Y]=x.useState(t),[G,K]=x.useState(!0),ee=[{label:f.t("definedName.scopeWorkbook"),value:m.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}],ne=ie=>!J.isReferenceStrings(ie);x.useEffect(()=>{K(!0),k(s),L(c),U(d);let ie=l;l.substring(0,1)===J.operatorToken.EQUALS?Y("formula"):ne(l)?(Y("formula"),ie=J.operatorToken.EQUALS+l):Y("range"),H(ie),X("")},[e]),S.getSheetOrders().forEach(ie=>{const le=S.getSheetBySheetId(ie);ee.push({label:(le==null?void 0:le.getName())||"",value:ie})});const Se=ie=>{H(ie)},ue=ie=>{H(ie||"")},ce=()=>{if(D.length===0){X(f.t("definedName.nameEmpty"));return}if((v.getValueByName(M,D)||p.hasTable(M,D))&&(h==null||h.length===0)){X(f.t("definedName.nameDuplicate"));return}if(!a.Tools.isValidParameter(D)||J.isReferenceStringWithEffectiveColumn(D)||!a.Tools.isStartValidPosition(D)&&!y.hasCJKText(D.substring(0,1))){X(f.t("definedName.nameInvalid"));return}if(S.getSheetOrders().map(fe=>{var j;return((j=S.getSheetBySheetId(fe))==null?void 0:j.getName())||""}).includes(D)){X(f.t("definedName.nameSheetConflict"));return}if(N.length===0){X(f.t("definedName.formulaOrRefStringEmpty"));return}if(!G){X(f.t("definedName.formulaOrRefStringInvalid"));return}if(C.hasExecutor(D.toUpperCase())){X(f.t("definedName.nameConflict"));return}const le=S.getActiveSheet().getName();i&&i({id:h||"",name:D,formulaOrRefString:b.convertRefersToAbsolute(N,a.AbsoluteRefType.ALL,a.AbsoluteRefType.ALL,le),comment:V,localSheetId:W})},Z=ie=>{const le=ie;le==="formula"?l[0]===J.operatorToken.EQUALS?H(l):H(`${J.operatorToken.EQUALS}`):l[0]===J.operatorToken.EQUALS?H(""):H(l),Y(le)},q=x.useRef(null),[se,de]=x.useState(!1);return _.useSidebarClick(ie=>{var fe;(fe=q.current)!=null&&fe.isClickOutSide(ie)&&de(!1)}),I.jsxs("div",{className:F.clsx("univer-grid univer-space-y-2 univer-pb-1",F.borderBottomClassName,{"univer-hidden":!e}),children:[I.jsx("div",{children:I.jsx(F.Input,{className:"univer-w-full",placeholder:f.t("definedName.inputNamePlaceholder"),value:D,allowClear:!0,onChange:k})}),I.jsx("div",{children:I.jsxs(F.RadioGroup,{value:z,onChange:Z,children:[I.jsx(F.Radio,{value:"range",children:f.t("definedName.ratioRange")}),I.jsx(F.Radio,{value:"formula",children:f.t("definedName.ratioFormula")})]})}),z==="range"?R&&I.jsx(R,{unitId:M,subUnitId:A,initialValue:N,onChange:(ie,le)=>Se(le),supportAcrossSheet:!0}):P&&I.jsx("div",{className:"univer-relative univer-mt-4 univer-h-full",children:I.jsx("div",{className:"univer-relative univer-h-8 univer-select-none",children:I.jsx(P,{ref:q,className:F.clsx("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",F.borderClassName),initValue:N,unitId:M,subUnitId:A,isFocus:se,isSupportAcrossSheet:!0,onChange:(ie="")=>{ue(ie||"")},onVerify:ie=>{K(ie)},onFocus:()=>de(!0)})})}),I.jsx("div",{children:I.jsx(F.Select,{className:"univer-w-full",value:W,options:ee,onChange:U})}),I.jsx("div",{children:I.jsx(F.Input,{className:"univer-w-full",placeholder:f.t("definedName.inputCommentPlaceholder"),value:V,onChange:L,allowClear:!0})}),I.jsxs("div",{className:F.clsx("univer-items-center univer-gap-1 univer-text-sm univer-text-red-500",{"univer-hidden":B.length===0,"univer-flex":B.length!==0}),children:[I.jsx("span",{children:B}),I.jsx(kr,{})]}),I.jsxs("div",{className:"univer-flex univer-gap-2",children:[I.jsx(F.Button,{onClick:()=>{r==null||r()},children:f.t("definedName.cancel")}),I.jsx(F.Button,{variant:"primary",onClick:ce,children:f.t("definedName.confirm")})]})]})},xl=()=>{const n=_.useDependency(a.ICommandService),o=_.useDependency(a.IUniverInstanceService),e=_.useDependency(a.LocaleService),t=_.useDependency(J.IDefinedNamesService),i=_.useDependency(m.SheetsSelectionsService),r=o.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET),s=r==null?void 0:r.getUnitId(),l=()=>{if(!s)return[];const H=t.getDefinedNameMap(s);return H?Array.from(Object.values(H)):[]},[c,d]=x.useState(!1),[u,h]=x.useState([]),[g,S]=x.useState(null),[f,v]=x.useState();if(x.useEffect(()=>{h(l());const H=t.update$.subscribe(()=>{h(l())});return()=>{H.unsubscribe()}},[]),!r||!s)return;const p=H=>{const{name:V,formulaOrRefString:L,comment:W,localSheetId:U,hidden:B}=H;let X=H.id;if(X==null||X.length===0)X=a.generateRandomId(10),n.executeCommand(m.InsertDefinedNameCommand.id,{id:X,unitId:s,name:V,formulaOrRefString:L,comment:W,localSheetId:U,hidden:B});else{const z={id:X,unitId:s,name:V,formulaOrRefString:L,comment:W,localSheetId:U,hidden:B};n.executeCommand(m.SetDefinedNameCommand.id,z)}d(!1),S(null)},C=H=>{v(H)};function b(){v(null)}function E(H){if(!s)return;const V=t.getValueById(s,H);n.executeCommand(m.RemoveDefinedNameCommand.id,{...V,unitId:s}),v(null)}const R=async H=>{const{formulaOrRefString:V,id:L}=H,W=t.getWorksheetByRef(s,V);if(!W)return;W.isSheetHidden()&&await n.executeCommand(m.SetWorksheetShowCommand.id,{unitId:s,subUnitId:W.getSheetId()}),t.focusRange(s,L)},P=()=>{const H=u.length+1,V=e.t("definedName.defaultName")+H;if(t.getValueByName(s,V)==null)return V;let L=H+1;for(;;){const W=e.t("definedName.defaultName")+L;if(t.getValueByName(s,W)==null)return W;L++}},M=()=>{var W;const H=(W=r.getActiveSheet())==null?void 0:W.getName();if(!H)return"";const V=i.getCurrentSelections();return V==null?"":V.map(U=>J.serializeRangeWithSheet(H,U.range)).join(",")},A=()=>{d(!1),S(null)},D=()=>{d(!0),S(null)},k=H=>{d(!1),S(H)},N=H=>{const V=r.getSheetBySheetId(H);return V==null?"":V.getName()};return I.jsx("div",{"data-u-comp":"defined-name-container",className:"univer-relative univer-box-border univer-w-full",children:I.jsxs("div",{className:F.clsx("univer-w-full univer-overflow-hidden univer-overflow-y-auto",F.scrollbarClassName),children:[I.jsxs("div",{className:"univer-mb-4",children:[I.jsxs(F.Button,{className:F.clsx("univer-w-full",{"univer-hidden":c}),onClick:D,children:[I.jsx(Nr,{}),I.jsx("span",{className:"univer-ml-1",children:e.t("definedName.addButton")})]}),c&&I.jsx(Ll,{confirm:p,cancel:A,state:c,inputId:"insertDefinedName",name:P(),formulaOrRefString:M()})]},"insertDefinedName"),u.map((H,V)=>I.jsxs("div",{className:"univer-relative univer-w-full univer-divide-x-0 univer-divide-y univer-divide-solid univer-divide-gray-200 dark:!univer-divide-gray-600",children:[I.jsxs("div",{className:F.clsx("univer-group univer-relative univer-flex univer-w-full univer-cursor-default univer-select-none univer-items-center univer-justify-between univer-rounded-md univer-p-2 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700",{"univer-hidden":H.id===g}),onClick:()=>{R(H)},children:[I.jsxs("div",{title:H.comment,children:[I.jsxs("div",{className:"univer-my-1 univer-max-h-[100px] univer-max-w-[190px] univer-truncate univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white",children:[H.name,I.jsx("span",{className:"univer-text-xxs univer-ml-1 univer-text-gray-400",children:H.localSheetId===m.SCOPE_WORKBOOK_VALUE_DEFINED_NAME||H.localSheetId==null?"":N(H.localSheetId)})]}),I.jsx("div",{className:"univer-my-1 univer-max-h-[100px] univer-w-full univer-max-w-[190px] univer-truncate univer-text-xs univer-text-gray-500",title:H.formulaOrRefString,children:H.formulaOrRefString})]}),I.jsxs("div",{className:"univer-absolute univer-right-5 univer-top-1/2 univer-hidden -univer-translate-y-1/2 univer-cursor-pointer univer-items-center univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600 group-hover:univer-flex dark:hover:!univer-bg-gray-600",children:[I.jsx(F.Tooltip,{title:e.t("definedName.updateButton"),placement:"top",children:I.jsx("a",{className:"univer-rounded univer-p-1 hover:univer-bg-gray-100",onClick:L=>{L.stopPropagation(),k(H.id)},children:I.jsx(il,{})})}),I.jsx(F.Tooltip,{title:e.t("definedName.deleteButton"),placement:"top",children:I.jsx("a",{className:"univer-rounded univer-p-1 univer-text-red-600 hover:univer-bg-gray-100",onClick:L=>{L.stopPropagation(),C(H.id)},children:I.jsx(co,{})})})]})]}),I.jsx(F.Confirm,{visible:f===H.id,onClose:b,onConfirm:()=>{E(H.id)},children:e.t("definedName.deleteConfirmText")}),H.id===g&&I.jsx(Ll,{confirm:p,cancel:A,state:H.id===g,id:H.id,inputId:H.id+V,name:H.name,formulaOrRefString:H.formulaOrRefString,comment:H.comment,localSheetId:H.localSheetId})]},V))]})})},iS=()=>{const[,n]=x.useState({});return x.useCallback(()=>n(o=>!o),[])};function oS(){const n=_.useDependency(a.ICommandService),o=_.useDependency(a.IUniverInstanceService),e=_.useDependency(y.IRenderManagerService),t=_.useDependency(m.IAutoFillService),i=_.useDependency(a.LocaleService),[r,s]=x.useState([]),[l,c]=x.useState(!1),[d,u]=x.useState({row:-1,col:-1}),[h,g]=x.useState(m.AUTO_FILL_APPLY_TYPE.SERIES),[S,f]=x.useState(!1),v=Et(),{sheetSkeletonManagerService:p,selectionRenderService:C}=x.useMemo(()=>{if(v){const G=e.getRenderById(v.getUnitId());return{sheetSkeletonManagerService:G==null?void 0:G.with(T.SheetSkeletonManagerService),selectionRenderService:G==null?void 0:G.with(ye)}}return{sheetSkeletonManagerService:null,selectionRenderService:null}},[v,e]),b=()=>{f(!0)},E=()=>{f(!1)},R=iS();if(x.useEffect(()=>n.onCommandExecuted((K,ee)=>{K.id===ct.id&&R()}).dispose,[R,n]),x.useEffect(()=>{const G=p&&a.toDisposable(p.currentSkeleton$.subscribe(K=>{K&&R()}));return G==null?void 0:G.dispose},[p,R]),x.useEffect(()=>a.toDisposable(t.menu$.subscribe(K=>{s(K.map(ee=>({...ee,index:K.indexOf(ee)})))})).dispose,[t]),x.useEffect(()=>a.toDisposable(t.showMenu$.subscribe(K=>{const{source:ee,target:ne}=t.autoFillLocation||{source:null,target:null};if(K&&ee&&ne){const Se=Math.max(ee.rows[ee.rows.length-1],ne.rows[ne.rows.length-1]),ue=Math.max(ee.cols[ee.cols.length-1],ne.cols[ne.cols.length-1]);u({row:Se,col:ue})}else u({row:-1,col:-1})})).dispose,[t]),x.useEffect(()=>a.toDisposable(t.applyType$.subscribe(K=>{g(K)})).dispose,[t]),x.useEffect(()=>{function G(){c(!1)}return document.addEventListener("wheel",G),()=>{document.removeEventListener("wheel",G)}},[l]),d.col<0||d.row<0)return null;const P=Be(o,e);if(!P||!C)return null;const{scene:M}=P,A=p==null?void 0:p.getCurrentSkeleton(),D=C.getViewPort(),k=M==null?void 0:M.scaleX,N=M==null?void 0:M.scaleY,H=M==null?void 0:M.getViewportScrollXY(D);if(!k||!M||!k||!N||!H)return null;const V=(A==null?void 0:A.getNoMergeCellWithCoordByIndex(d.row,d.col).endX)||0,L=(A==null?void 0:A.getNoMergeCellWithCoordByIndex(d.row,d.col).endY)||0,W=y.convertTransformToOffsetX(V,k,H),U=y.convertTransformToOffsetY(L,N,H);if(W==null||U==null)return null;const B=G=>{c(G)},X=G=>{n.executeCommand(m.RefillCommand.id,{type:G.value}),c(!1)},z=l||S,Y=r.filter(G=>!G.disable);return I.jsx("div",{className:"univer-absolute univer-inset-0 univer-z-10 univer-size-0",children:I.jsx("div",{className:"univer-absolute",style:{left:`${W+2}px`,top:`${U+2}px`},onMouseEnter:b,onMouseLeave:E,children:I.jsx(F.DropdownMenu,{align:"start",items:Y.map(G=>({type:"radio",value:h,options:[{label:i.t(G.label),value:G.value}],onSelect:()=>X(G)})),open:l,onOpenChange:B,children:I.jsxs("div",{className:F.clsx("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",F.borderClassName,{"univer-bg-gray-100 dark:!univer-bg-gray-800":l,"univer-bg-white dark:!univer-bg-gray-900":!l}),children:[I.jsx(sl,{className:"univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"}),z&&I.jsx(Dn,{className:"dark:!univer-text-white"})]})})})})}function cs(n,o){const e=_.useDependency(Ie),t=_.useDependency(a.ICommandService);return x.useMemo(()=>({keyCodes:[{keyCode:_.KeyCode.ENTER},{keyCode:_.KeyCode.ESC},{keyCode:_.KeyCode.TAB}],handler:r=>{(r===_.KeyCode.ENTER||r===_.KeyCode.ESC||r===_.KeyCode.TAB)&&(e.disableForceKeepVisible(),t.syncExecuteCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:r,unitId:o}))}}),[t,e,o])}const vo=-1e3,Ul={width:0,height:0,top:vo,left:vo},rS=()=>{const[n,o]=x.useState({...Ul}),e=_.useDependency(Mn),t=_.useDependency($.IEditorService),i=_.useDependency(a.IContextService),r=_.useDependency(_.ComponentManager),s=_.useDependency(Ie),l=_.useObservable(s.visible$),c=_.useDependency(a.ICommandService),d=x.useRef(0),u=_.useObservable(()=>i.subscribeContextValue$(_.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[i,_.DISABLE_AUTO_FOCUS_KEY]),h=r.get(Fi),g=s.getEditLocation();x.useEffect(()=>{const p=e.state$.subscribe(C=>{if(C==null)return;const{startX:b=vo,startY:E=vo,endX:R=0,endY:P=0,show:M=!1}=C;if(!M)o({...Ul});else{o({width:R-b,height:P-E,left:b,top:E});const A=t.getEditor(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(A==null)return;const{left:D,top:k,width:N,height:H}=A.getBoundingClientRect();e.setRect({left:D,top:k,width:N,height:H})}});return()=>{p.unsubscribe()}},[]),x.useEffect(()=>{u||e.setFocus(!0)},[u,n]);const S=_.useEvent(()=>{s.isVisible().visible&&c.executeCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.PointerUp,unitId:g==null?void 0:g.unitId})});_.useSidebarClick(S);const f=cs(d,g==null?void 0:g.unitId),v=_.useEvent((p,C)=>{c.executeCommand(jt.id,{keycode:p,visible:!1,eventType:y.DeviceInputEventType.Keyboard,isShift:C===_.MetaKeys.SHIFT||C===(_.MetaKeys.CTRL_COMMAND|_.MetaKeys.SHIFT),unitId:g==null?void 0:g.unitId})});return I.jsx("div",{className:"univer-absolute univer-z-10 univer-flex",style:{left:n.left,top:n.top,width:n.width,height:n.height},children:h&&I.jsx(h,{editorId:a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,className:"univer-relative univer-flex univer-size-full [&_canvas]:univer-absolute",initValue:"",onChange:()=>{},isFocus:l==null?void 0:l.visible,unitId:g==null?void 0:g.unitId,subUnitId:g==null?void 0:g.sheetId,keyboardEventConfig:f,onMoveInEditor:v,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,autoScrollbar:!1,onFormulaSelectingChange:(p,C)=>{d.current=p,C&&(p?s.enableForceKeepVisible():s.disableForceKeepVisible())},disableSelectionOnClick:!0,disableContextMenu:!1})})};function sS({search:n,isInputEvent:o}){const e=_.useDependency(a.ICommandService),t=_.useDependency(a.LocaleService),i=_.useDependency(J.IDefinedNamesService),r=_.useDependency(a.IUniverInstanceService),s=_.useDependency(_.ISidebarService),c=r.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId(),d=()=>{const v=i.getDefinedNameMap(c);return v?Array.from(Object.values(v)):[]},[u,h]=x.useState(d());x.useEffect(()=>{const v=i.update$.subscribe(()=>{h(d())});return()=>{v.unsubscribe()}},[]),x.useEffect(()=>{const v=s.sidebarOptions$.subscribe(p=>{p.id===_i&&(p.visible||setTimeout(()=>{s.sidebarOptions$.next({visible:!1})}))});return()=>{v.unsubscribe()}},[]);const g=x.useMemo(()=>n&&o?u.filter(v=>v.name.toLowerCase().includes(n.toLowerCase())):u,[n,o,u]),S=()=>{e.executeCommand(so.id,{value:"open"})},f=async v=>{const{formulaOrRefString:p,id:C}=v,b=i.getWorksheetByRef(c,p);if(!b)return;b.isSheetHidden()&&await e.executeCommand(m.SetWorksheetShowCommand.id,{unitId:c,subUnitId:b.getSheetId()}),i.focusRange(c,C)};return I.jsxs("div",{className:"univer-w-[300px]",children:[I.jsx("ul",{className:F.clsx("univer-m-0 univer-max-h-[360px] univer-list-none univer-overflow-y-auto univer-p-0",F.scrollbarClassName),children:g.map((v,p)=>I.jsx("li",{className:"univer-cursor-pointer univer-px-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600",onClick:()=>{f(v)},children:I.jsxs("div",{className:F.clsx("univer-flex univer-items-center univer-justify-between univer-gap-2 univer-py-1",F.borderBottomClassName),children:[I.jsx("div",{className:"univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",title:v.name,children:v.name}),I.jsx("div",{className:"univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-xs univer-text-gray-400",title:v.formulaOrRefString,children:v.formulaOrRefString})]})},p))}),I.jsxs("div",{className:"univer-cursor-pointer univer-p-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600",onClick:S,children:[I.jsx("div",{className:"univer-mb-2 univer-text-sm univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-200",children:t.t("definedName.managerTitle")}),I.jsx("div",{className:"univer-text-xs univer-text-gray-400",children:t.t("definedName.managerDescription")})]})]})}function aS({disable:n}){const[o,e]=x.useState(""),[t,i]=x.useState(""),r=_.useDependency(J.IDefinedNamesService),s=_.useDependency(a.ICommandService),l=_.useDependency(a.IUniverInstanceService),c=_.useDependency(m.SheetsSelectionsService),d=_.useDependency(J.LexerTreeBuilder),u=l.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET),h=u==null?void 0:u.getUnitId(),g=_.useDependency(a.ThemeService),[S,f]=x.useState(!1),[v,p]=x.useState(!1),C=()=>{const V=r.getDefinedNameMap(h);return V?Array.from(Object.values(V)):[]},b=async V=>{const{formulaOrRefString:L,id:W}=V,U=r.getWorksheetByRef(h,L);if(!U)return;U.isSheetHidden()&&await s.executeCommand(m.SetWorksheetShowCommand.id,{unitId:h,subUnitId:U.getSheetId()}),r.focusRange(h,W)},E=V=>{const L=u.getActiveSheet(),W=L.getSheetId();H(L,V).then(U=>{U&&(s.executeCommand(m.SetSelectionsOperation.id,{unitId:h,subUnitId:W,selections:U}),s.executeCommand(to.id,{range:U[0].range}))})},[R,P]=x.useState(C());x.useEffect(()=>{const V=r.update$.subscribe(()=>{P(C())});return()=>{V.unsubscribe()}},[]),x.useEffect(()=>{const V=r.currentRange$.subscribe(()=>{var z;const L=c.getCurrentSelections(),W=u.getActiveSheet(),U=(z=L==null?void 0:L.map(Y=>J.serializeRangeWithSheet(W.getName(),Y.range)))==null?void 0:z.join(","),B=d.convertRefersToAbsolute(U,a.AbsoluteRefType.ALL,a.AbsoluteRefType.ALL,W.getName()),X=r.getDefinedNameByRefString(h,B);if(X)e(X.name),i(X.name);else{const Y=r.getCurrentRangeForString();e(Y),i(Y)}});return()=>{V.unsubscribe()}},[]);const M=a.debounce(V=>{const L=R.find(W=>W.name.toLowerCase().includes(V.toLowerCase()));L&&!S?f(!0):!L&&S&&f(!1)},100);function A(V){const L=V.target.value.trim();if(i(L),p(!0),!L){S&&f(!1);return}M(L)}function D(){if(t===o)return;const V=R.find(L=>L.name===t);V?(e(t),b(V)):J.isReferenceStringWithEffectiveColumn(t)?(e(t),E(t)):N()}function k(V){n||(V.key==="Enter"?(D(),p(!1),f(!1)):V.key==="Escape"&&(V.preventDefault(),p(!1),N()))}function N(){i(o)}async function H(V,L){if(!V)return;const W=J.deserializeRangeWithSheet(L.trim()),U=W.range,{startRow:B,startColumn:X,endRow:z,endColumn:Y}=U,G=m.getPrimaryForRange({startRow:B,startColumn:X,endRow:z,endColumn:Y},V),K=[];return K.push({range:W.range,style:st(g),primary:G}),K}return I.jsxs("div",{"data-u-comp":"defined-name",className:"univer-relative univer-box-border univer-flex univer-h-full univer-w-24 univer-border-r-gray-200 univer-py-1.5 univer-transition-all",children:[I.jsx("input",{className:F.clsx("univer-box-border univer-size-full univer-appearance-none univer-pl-1.5 univer-pr-5 univer-text-gray-900 focus:univer-outline-none dark:!univer-border-r-gray-700 dark:!univer-bg-gray-900 dark:!univer-text-white",F.borderRightClassName,{"univer-cursor-not-allowed":n}),type:"text",value:t,onChange:A,onKeyDown:k,onBlur:()=>p(!1)}),I.jsx(F.Dropdown,{overlay:I.jsx("div",{className:"univer-z-[1001]",children:I.jsx(sS,{search:t,isInputEvent:v})}),disabled:n,open:S,onOpenChange:f,onOpenAutoFocus:V=>V.preventDefault(),children:I.jsx("a",{className:F.clsx("univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-800",{"univer-cursor-not-allowed univer-text-gray-300 hover:univer-bg-transparent dark:!univer-text-gray-700":n}),children:I.jsx(Dn,{})})})]})}function Bl(n){var de,ie,le,fe;const{className:o,disableDefinedName:e}=n,[t,i]=x.useState(!1),[r,s]=x.useState(0),l=_.useDependency(An),c=_.useDependency(Ie),d=_.useDependency(m.WorksheetProtectionRuleModel),u=_.useDependency(m.RangeProtectionRuleModel),h=_.useDependency(a.IUniverInstanceService),g=_.useDependency(m.SheetsSelectionsService),S=_.useDependency(a.IPermissionService),f=_.useDependency(m.RangeProtectionCache),v=_.useDependency(a.ICommandService),[p,C]=x.useState({editDisable:!1,viewDisable:!1}),[b,E]=x.useState(!1),R=_.useDependency(_.ComponentManager),P=_.useObservable(()=>h.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),M=x.useRef(0),A=_.useObservable(c.currentEditCellState$),D=cs(M,(de=A==null?void 0:A.unitId)!=null?de:""),k=R.get(Fi),N=_.useComponentsOfPart(pr.FORMULA_AUX),H=_.useDependency(a.IContextService);_.useObservable(x.useMemo(()=>H.subscribeContextValue$(a.FOCUSING_FX_BAR_EDITOR),[H]));const V=H.getContextValue(a.FOCUSING_FX_BAR_EDITOR),L=x.useRef(null),W=_.useDependency($.IEditorService),U=_.useConfigValue(Pe),B=U==null?void 0:U.disableEdit;x.useLayoutEffect(()=>{const j=P.activeSheet$.pipe(O.switchMap(Q=>Q?O.merge(d.ruleChange$,u.ruleChange$,g.selectionMoveEnd$,g.selectionSet$).pipe(O.switchMap(()=>{var Ce,Ee;const te=P.getUnitId(),ae=Q.getSheetId();if(!((Ce=g.getCurrentLastSelection())==null?void 0:Ce.range))return O.EMPTY;const ge=(Ee=g.getCurrentLastSelection())==null?void 0:Ee.primary;return ge?O.of({unitId:te,subUnitId:ae,primary:ge}):O.of(null)})):O.EMPTY)).subscribe(Q=>{var te,ae,he,ge,Ce,Ee;if(Q){const{unitId:Ne,subUnitId:Me,primary:De}=Q;if(d.getRule(Ne,Me)){const ze=!((ae=(te=S.getPermissionPoint(new m.WorksheetEditPermission(Ne,Me).id))==null?void 0:te.value)==null||ae),on=!((ge=(he=S.getPermissionPoint(new m.WorksheetViewPermission(Ne,Me).id))==null?void 0:he.value)==null||ge);C({viewDisable:on,editDisable:ze});return}const{actualRow:ft,actualColumn:Pt}=De,ke=f.getCellInfo(Ne,Me,ft,Pt);C({editDisable:!((Ce=ke==null?void 0:ke[m.UnitAction.Edit])==null||Ce),viewDisable:!((Ee=ke==null?void 0:ke[m.UnitAction.View])==null||Ee)})}else C({viewDisable:!1,editDisable:!1})});return()=>{j.unsubscribe()}},[P]),x.useEffect(()=>{const j=c.visible$.subscribe(Q=>{i(Q.visible)});return()=>j.unsubscribe()},[c.visible$]),x.useEffect(()=>{const j=c.currentEditCellState$.subscribe(Q=>{var te,ae,he;(he=(ae=(te=Q==null?void 0:Q.documentLayoutObject.documentModel)==null?void 0:te.getBody())==null?void 0:ae.customBlocks)!=null&&he.length?E(!0):E(!1)});return()=>j.unsubscribe()},[c.currentEditCellState$]),x.useEffect(()=>{const j=()=>{if(!L.current)return;const Q=L.current.getBoundingClientRect();l.setPosition(Q)};if(L.current){j();const Q=new ResizeObserver(j);return Q.observe(L.current),()=>Q.disconnect()}},[l]);function X(){s(r===0?1:0),setTimeout(()=>{l.handleFoldBtnClick(r===1)},150)}function z(){c.isVisible().visible&&v.executeCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.Keyboard,keycode:_.KeyCode.ESC,unitId:A.unitId})}function Y(){c.isVisible().visible&&v.executeCommand(be.id,{visible:!1,eventType:y.DeviceInputEventType.PointerDown,unitId:A.unitId})}function G(){l.handleFxBtnClick(!0)}const{viewDisable:K,editDisable:ee}=p,ne=ee||!!B,Se=ne||b,ue=x.useRef(!1),ce=()=>{try{if(c.isVisible().visible===!1&&!v.syncExecuteCommand(be.id,{visible:!0,eventType:y.DeviceInputEventType.PointerDown,unitId:A.unitId})){ue.current=!0;return}H.setContextValue(a.FOCUSING_FX_BAR_EDITOR,!0)}catch(j){throw ue.current=!0,j}},Z=()=>{ue.current&&setTimeout(()=>{W.blur(!0)},30),ue.current=!1},se=((fe=(le=(ie=A==null?void 0:A.documentLayoutObject.documentModel)==null?void 0:ie.getDrawingsOrder())==null?void 0:le.length)!=null?fe:0)>0||K;return I.jsxs("div",{"data-u-comp":"formula-bar",className:F.clsx("univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear dark:!univer-bg-gray-900",F.borderBottomClassName,o,{"univer-h-7":r===0,"univer-h-20":r===1,"univer-pointer-events-none":ne}),children:[I.jsx("div",{className:"univer-relative univer-box-border univer-h-full univer-w-[100px]",children:I.jsx(aS,{disable:e!=null?e:ne})}),I.jsxs("div",{className:"univer-flex univer-size-full",children:[I.jsx("div",{className:F.clsx("univer-py-1.5",{"univer-cursor-not-allowed univer-text-gray-200":Se}),children:I.jsxs("div",{className:F.clsx("univer-relative univer-box-border univer-flex univer-h-full univer-w-20 univer-items-center univer-justify-center univer-text-xs",F.borderRightClassName),children:[I.jsx("span",{className:F.clsx("univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white",{"univer-cursor-pointer univer-text-red-600 hover:univer-bg-gray-100 dark:!univer-text-green-400 dark:hover:!univer-bg-gray-700":t}),onClick:z,children:I.jsx(Qa,{})}),I.jsx("span",{className:F.clsx("univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white",{"univer-cursor-pointer univer-text-green-600 hover:univer-bg-gray-100 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700":t}),onClick:Y,children:I.jsx(Qt,{})}),I.jsx("span",{className:"univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-700",onClick:G,children:I.jsx(tl,{})})]})}),I.jsxs("div",{className:"univer-flex univer-w-full univer-flex-1 univer-overflow-hidden univer-pl-3",children:[I.jsxs("div",{ref:L,className:"univer-relative univer-flex-1",onPointerDown:ce,onPointerUp:Z,style:{pointerEvents:se?"none":"auto"},children:[k&&I.jsx(k,{className:"univer-relative univer-size-full univer-break-words univer-outline-none [&>div]:univer-ring-transparent",disableSelectionOnClick:!0,editorId:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,initValue:"",onChange:()=>{},isFocus:V,unitId:A==null?void 0:A.unitId,subUnitId:A==null?void 0:A.sheetId,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,keyboardEventConfig:D,onFormulaSelectingChange:(j,Q)=>{M.current=j,Q&&(j?c.enableForceKeepVisible():c.disableForceKeepVisible())},autoScrollbar:!1,disableContextMenu:!1}),se&&I.jsx("div",{className:"univer-pointer-events-none univer-relative univer-left-0 univer-top-0 univer-z-[100] univer-size-full univer-cursor-not-allowed univer-bg-white"})]}),I.jsx("div",{className:F.clsx("univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-text-xs univer-text-gray-700 dark:!univer-text-gray-200",{"univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700":ne}),onClick:X,children:I.jsx($a,{className:F.clsx({"univer-rotate-180":r===1})})})]})]}),I.jsx(_.ComponentContainer,{components:N},"formula-aux")]})}function po(n){const{children:o,className:e,style:t,disabled:i=!1,onClick:r,...s}=n,l=c=>{if(i){c.preventDefault();return}r&&r(c)};return I.jsx(F.Button,{"data-u-comp":"sheet-bar-append-button",className:e,size:"small",disabled:i,style:t,variant:"text",onClick:l,...s,children:o})}function lS(){const[n,o]=x.useState([]),[e,t]=x.useState(!1),i=_.useDependency(a.IUniverInstanceService),r=_.useDependency(a.ICommandService),s=_.useDependency(Yt),l=_.useDependency(m.WorksheetProtectionRuleModel),c=_.useObservable(()=>i.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),null,!1,[]),d=v=>{const{sheetId:p}=v;!p||!c||(v.hidden?r.executeCommand(m.SetWorksheetShowCommand.id,{unitId:c.getUnitId(),subUnitId:p,value:p}):v.selected||r.executeCommand(m.SetWorksheetActivateCommand.id,{unitId:c.getUnitId(),subUnitId:p}),t(!1))},u=x.useCallback(()=>{if(!c)return;const v=c.getSheets(),p=c.getActiveSheet(),C=v.map((b,E)=>({label:b.getName(),index:`${E}`,sheetId:b.getSheetId(),hidden:b.isSheetHidden()===a.BooleanNumber.TRUE,selected:p===b}));o(C)},[c,l]),h=x.useCallback(()=>r.onCommandExecuted(v=>{switch(v.id){case m.SetWorksheetHideMutation.id:case m.RemoveSheetMutation.id:case m.SetWorksheetNameMutation.id:case m.InsertSheetMutation.id:case m.SetWorksheetOrderMutation.id:case m.SetWorksheetActiveOperation.id:u();break}}),[r,u]);function g(){t(!0)}const S=v=>{t(v)};x.useEffect(()=>{u();const v=new a.DisposableCollection;return v.add(h()),v.add(s.registerSheetBarMenuHandler({handleSheetBarMenu:g})),()=>v.dispose()},[h,s,u,c]);const f=x.useMemo(()=>n.map(v=>({type:"item",children:I.jsxs("div",{className:"univer-relative univer-box-border univer-overflow-hidden univer-truncate univer-pl-6",children:[(v.selected||v.hidden)&&I.jsxs("span",{className:"univer-absolute univer-left-1 univer-top-0.5",children:[v.selected&&I.jsx(Qt,{className:"univer-size-4 univer-text-primary-600"}),v.hidden&&I.jsx(el,{className:"univer-size-4 univer-text-gray-400"})]}),I.jsx("span",{className:F.clsx({"univer-text-primary-600":v.selected}),children:v.label})]}),onSelect:()=>{d(v)}})),[n]);return I.jsx(F.DropdownMenu,{className:"univer-max-w-lg",align:"start",items:f,open:e,onOpenChange:S,children:I.jsx("div",{children:I.jsx(po,{children:I.jsx(Ja,{})})})})}function cS(n){const{sheetId:o,label:e,color:t,selected:i,className:r,onKeyDown:s,tabIndex:l}=n,c=_.useDependency(a.ThemeService),d=g=>{const S=c.getColorFromTheme("gray.900"),f=c.getColorFromTheme("white");return new a.ColorKit(g).isDark()?f:S},u=!!i,h=t?d(t):"";return I.jsx("div",{"data-u-comp":"slide-tab-item","data-id":o,role:"tab","aria-selected":u,tabIndex:l!=null?l:u?0:-1,onKeyDown:s,className:F.clsx("univer-mx-1 univer-box-border univer-flex univer-flex-grow univer-cursor-pointer univer-select-none univer-flex-row univer-items-center univer-rounded univer-text-xs univer-transition-[colors,box-shadow] focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500",{"dark:!univer-text-white":!t||t&&!h,"univer-justify-center univer-bg-white univer-font-bold univer-text-primary-700 univer-shadow":u,"dark:!univer-bg-gray-700":u&&!t,"univer-font-medium univer-text-gray-900 hover:univer-bg-gray-100":!u,"dark:hover:!univer-bg-gray-700":!u&&!t},r),style:{backgroundColor:!u&&t?t:"",color:!u&&t?h:"",boxShadow:u&&t?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${t}`:""},children:I.jsx("div",{className:"univer-box-border univer-flex univer-max-w-lg univer-items-center univer-gap-1 univer-overflow-hidden univer-whitespace-nowrap univer-rounded univer-border-2 univer-border-solid univer-border-transparent univer-px-1.5 univer-py-1",children:e})},o)}const dS=6;function uS(n){const{children:o,anchorRect:e,showContextMenu:t,visible:i,onCommandSelect:r,onVisibleChange:s}=n,l=x.useRef(`sheetbar-tabs-context-menu-${a.generateRandomId(6)}`);return t?I.jsxs(I.Fragment,{children:[o,I.jsx(_.AnchoredContextMenu,{hostId:l.current,visible:i,anchorRect:e,menuType:_.ContextMenuPosition.FOOTER_TABS,anchorVertical:"top",menuOffset:dS,onRequestClose:()=>s(!1),onOptionSelect:c=>{var S;const{label:d,id:u,commandId:h,value:g}=c;r((S=h!=null?h:u)!=null?S:d,g)}})]}):o}const hS={easeOutStrong(n,o,e,t){return-e*((n=n/t-1)*n*n*n-1)+o},backOut(n,o,e,t,i){return typeof i>"u"&&(i=.7),e*((n=n/t-1)*n*((i+1)*n+i)+1)+o}},mS={loop:!1,begin:0,end:0,duration:300,delay:0,type:"easeOutStrong",receive(n){},success(n){},cancel(n){},complete(n){}};class gS{constructor(o){w(this,"_config");w(this,"_status",0);w(this,"_start",0);w(this,"_handle",0);w(this,"_delayHandle",null);this._config={...mS,...o},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...o){let e=0;return new Promise(t=>{for(let i=0;i<o.length;i++){const r=o[i],s=r._config,l=s.success;s.loop||(s.success=d=>{e++,l&&l.call(r,d),e===o.length&&t()})}})}request(){this._config.delay===0?(this._status=0,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=0,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=1,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let o=Date.now()-this._start;o=o>=this._config.duration?this._config.duration:o;const t=hS[this._config.type](o,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(t),this._status===1){this._config.cancel(t),this._config.complete(t);return}if(o===this._config.duration){this._config.success(t),this._config.complete(t);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}}class $t{constructor(o,e){w(this,"_slideTabItem");w(this,"_animate");w(this,"_midline",0);w(this,"_translateX");w(this,"_scrollbar");w(this,"_slideTabBar");w(this,"_editMode");w(this,"_placeholder");this._slideTabItem=o,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=e,this._placeholder=null,this._scrollbar=e.getScrollbar(),this.update()}static midline(o){return o.getBoundingRect().x+o.getBoundingRect().width/2}static leftLine(o){return o.getBoundingRect().x}static rightLine(o){return o.getBoundingRect().x+o.getBoundingRect().width}static make(o,e){const t=[];return o.forEach(i=>t.push(new $t(i,e))),t}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector("span")}focus(){var o;(o=this.getEditor())==null||o.focus()}selectAll(){const o=this.getEditor();o&&Wn.keepSelectAll(o)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(o){return this._translateX=o,this._slideTabItem.style.transform=`translateX(${o}px)`,this.getTranslateXDirection()}setEditor(o){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let e=!0;if(this._editMode===!1){const t=this._slideTabItem.querySelector("span"),i=u=>{var g;u.preventDefault();const h=(g=u.clipboardData)==null?void 0:g.getData("text/plain");if(h){const S=h.replace(/\s/g,"");document.execCommand("insertText",!1,S)}},r=u=>{if(!this.nameCheck()){if(this._editMode=!1,t&&(t.removeAttribute("contentEditable"),t.removeEventListener("focusout",r),t.removeEventListener("compositionstart",l),t.removeEventListener("compositionend",c),t.removeEventListener("input",d),t.removeEventListener("keydown",s),t.removeEventListener("paste",i)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){const h=(t==null?void 0:t.innerText)||"",g=this.getId();this._slideTabBar.getConfig().onChangeName(g,h)}o&&o(u)}},s=u=>{t&&(u.stopPropagation(),u.key==="Enter"&&(t.blur(),u.preventDefault()))},l=()=>{e=!1},c=()=>{e=!0},d=u=>{if(!t)return;const h=31;setTimeout(()=>{if(e){const g=t.innerText;g.length>h&&(t.innerText=g.substring(0,h),Wn.keepLastIndex(t))}},0)};t&&(t.setAttribute("contentEditable","true"),t.addEventListener("focusout",r),t.addEventListener("compositionstart",l),t.addEventListener("compositionend",c),t.addEventListener("input",d),t.addEventListener("keydown",s),t.addEventListener("paste",i),this._editMode=!0,Wn.keepSelectAll(t))}}nameCheck(){const o=this._slideTabItem.querySelector("span");if(!o)return!1;const e=o.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(e)}animate(){return{translateX:o=>{this._translateX!==o&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new gS({begin:this._translateX,end:o,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=o,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(o){this._slideTabItem.after(o._slideTabItem||o)}update(){this._midline=$t.midline(this)}disableFixed(){if(this._placeholder){const o=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty("position"),this._slideTabItem.style.removeProperty("left"),this._slideTabItem.style.removeProperty("top"),this._slideTabItem.style.removeProperty("width"),this._slideTabItem.style.removeProperty("height"),this._slideTabItem.style.removeProperty("background"),this._slideTabItem.style.removeProperty("padding"),this._slideTabItem.style.removeProperty("box-sizing"),this._slideTabItem.style.removeProperty("font-size"),this._slideTabItem.style.removeProperty("font-family"),this._slideTabItem.style.removeProperty("font-weight"),this._slideTabItem.style.removeProperty("color"),this._slideTabItem.style.removeProperty("border-radius"),this._placeholder.after(this._slideTabItem),o.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){const o=document.createElement("div"),e=this.getBoundingRect(),t=getComputedStyle(this._slideTabItem),i=this._slideTabItem.querySelector("span");if(this._placeholder=o,this._placeholder.style.width=`${e.width}px`,this._placeholder.style.height=`${e.height}px`,this._placeholder.style.flexShrink="0",this._placeholder.style.margin=t.margin,this._slideTabItem.style.background=t.background,i){const r=getComputedStyle(i).padding;this._slideTabItem.style.padding=r}this._slideTabItem.style.boxSizing=t.boxSizing,this._slideTabItem.style.fontSize=t.fontSize,this._slideTabItem.style.fontFamily=t.fontFamily,this._slideTabItem.style.fontWeight=t.fontWeight,this._slideTabItem.style.color=t.color,this._slideTabItem.style.borderRadius=t.borderRadius,this._slideTabItem.style.left=`${e.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${e.y}px`,this._slideTabItem.style.width=`${e.width}px`,this._slideTabItem.style.height=`${e.height}px`,this._slideTabItem.style.position="fixed",this._slideTabItem.after(o),document.body.appendChild(this._slideTabItem)}addEventListener(o,e,t){this._slideTabItem.addEventListener(o,e,t)}removeEventListener(o,e,t){this._slideTabItem.removeEventListener(o,e,t)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){const o=this._slideTabItem.getBoundingClientRect();return o.x+=this._scrollbar.getScrollX(),o}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){const o=$t.midline(this);return o>this._midline?1:o<this._midline?-1:0}equals(o){return o&&o._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||""}}class SS{constructor(o){w(this,"_slideTabBar");w(this,"_scrollX");const e=o.primeval();this._scrollX=e.scrollLeft,this._slideTabBar=o}scrollX(o){const e=this._slideTabBar.primeval();e.scrollLeft=o,this._scrollX=e.scrollLeft}scrollRight(){const o=this._slideTabBar.primeval();o.scrollLeft=o.scrollWidth,this._scrollX=o.scrollLeft}getScrollX(){return this._scrollX}}const Gn=class Gn{constructor(o){w(this,"_activeTabItemIndex",0);w(this,"_slideTabBar");w(this,"_slideTabItems",[]);w(this,"_config");w(this,"_downActionX",0);w(this,"_moveActionX",0);w(this,"_compareIndex",0);w(this,"_activeTabItem",null);w(this,"_moveAction");w(this,"_upAction");w(this,"_downAction");w(this,"_wheelAction");w(this,"_scrollIncremental",0);w(this,"_compareDirection",0);w(this,"_autoScrollTime",null);w(this,"_slideScrollbar");w(this,"_longPressTimer",null);w(this,"_leftBoundingLine",0);w(this,"_rightBoundingLine",0);w(this,"_leftMoveX",0);w(this,"_rightMoveX",0);if(o.slideTabBarContainer==null)throw new Error("not found slide-tab-bar root element");const e=o.slideTabBarContainer.querySelector(`${o.slideTabBarSelector}`);if(e==null)throw new Error("not found slide-tab-bar");this._slideTabBar=e,this._slideScrollbar=new SS(this),this._config=o,this._initConfig();let t=0,i=0,r=0;this._downAction=s=>{var P,M,A,D,k,N;if((P=this._activeTabItem)!=null&&P.isEditMode())return;this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null);const l=(A=(M=s.target)==null?void 0:M.closest(`${o.slideTabBarItemSelector}`))==null?void 0:A.getAttribute("data-id"),c=this._slideTabItems.findIndex(H=>H.getId()===l);if(l==null||c===-1)return;if(this._activeTabItemIndex!==c){(D=this._activeTabItem)==null||D.removeEventListener("pointermove",this._moveAction),(k=this._activeTabItem)==null||k.removeEventListener("pointerup",this._upAction),this.removeListener(),this._config.onChangeTab(s,l);return}if(this._compareIndex=c,this._downActionX=s.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[c],!this._activeTabItem){console.error("Not found active slide-tab-item in sheet bar");return}const d=this._activeTabItem.getSlideTabItem();d==null||d.setPointerCapture(s.pointerId),(N=this._activeTabItem)==null||N.addEventListener("pointerup",this._upAction);const{x:u,width:h}=this._activeTabItem.getBoundingRect(),{x:g,width:S}=this.getBoundingRect(),f=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(u-f),this._rightBoundingLine=u-f+h-this._downActionX,this._leftMoveX=u-g-f,this._rightMoveX=g+S-(u+h)+f,s.button===2||this._hasEditItem())return;const{pageX:v,pageY:p}=s,C=Date.now(),b=C-r<=Gn.DoubleClickDelay,E=Math.abs(v-t)<10,R=Math.abs(p-i)<10;b&&E&&R&&this._activeTabItem.setEditor(),t=v,i=p,r=C,this._longPressTimer=setTimeout(()=>{var H,V,L;!d||(H=this._activeTabItem)!=null&&H.isEditMode()||((V=this._activeTabItem)==null||V.enableFixed(),this._startAutoScroll(),d.setPointerCapture(s.pointerId),d.style.cursor="move",(L=this._activeTabItem)==null||L.addEventListener("pointermove",this._moveAction))},Gn.LongPressDelay)},this._upAction=s=>{var d,u,h,g;if((d=this._activeTabItem)!=null&&d.isEditMode()||(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem))return;const l=this._autoScrollTime!==null;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();const c=(u=this._activeTabItem)==null?void 0:u.getSlideTabItem();c&&(c.style.cursor="",c.releasePointerCapture(s.pointerId),(h=this._activeTabItem)==null||h.removeEventListener("pointermove",this._moveAction),(g=this._activeTabItem)==null||g.removeEventListener("pointerup",this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&l&&(this.removeListener(),this._config.onSlideEnd(s,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=s=>{this._activeTabItem&&(this._moveActionX=s.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(s),this._scrollRight(s))},this._wheelAction=s=>{this.setScroll(s.deltaY)},this.addListener()}static checkedSkipSlide(o){let e=o.target;for(;e!=null&&e!==document.body;){if(e.getAttribute("data-slide-skip"))return!0;e=e.parentElement}return!1}static keepLastIndex(o){setTimeout(()=>{const e=window.getSelection();e&&(e.selectAllChildren(o),e.collapseToEnd())})}static keepSelectAll(o){setTimeout(()=>{const e=window.getSelection();if(!e)return;const t=document.createRange();t.selectNodeContents(o),e.removeAllRanges(),e.addRange(t)})}update(o){this._config.currentIndex=o,this._initConfig(),this.removeListener(),this.addListener(),this.scrollToItem(o)}primeval(){return this._slideTabBar}updateItems(){for(let o=0;o<this._slideTabItems.length;o++)this._slideTabItems[o].animate().cancel(),this._slideTabItems[o].translateX(0),this._slideTabItems[o].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){const o=this._slideTabBar.parentElement;return o?this._slideTabBar.scrollWidth-o.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(o=>{o.addEventListener("pointerdown",this._downAction)})}removeListener(){this._slideTabBar.removeEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(o=>{o.removeEventListener("pointerdown",this._downAction)})}setScroll(o){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+o),o>0){const e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(o<0){const e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(o){if(o>0){const e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(o<0){const e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}scrollToItem(o){if(o=o!=null?o:this._config.currentIndex,o<0||o>=this._slideTabItems.length){console.error("Index out of bounds");return}const e=this.calculateTabItemScrollX(o);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e),this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(o){let e=0;const t=4;return this._slideTabItems.some(i=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left+r.width,l=i.getSlideTabItem().getBoundingClientRect(),c=l.left,d=l.width;return c<s&&c+d+t*2>s?(e=o?c-r.left-t:c+d-s+t,!0):!1}),e}calculateRightScrollX(o){let e=0;const t=4;return this._slideTabItems.some(i=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left,l=i.getSlideTabItem().getBoundingClientRect(),c=l.left,d=l.width;return c-t*2<s&&c+d>s?(e=o?c+d-r.left-r.width+t:c-s-t,!0):!1}),e}calculateTabItemScrollX(o){let e=0;const t=4,i=this._slideTabBar.getBoundingClientRect(),r=i.left,s=i.left+i.width,l=this._slideTabItems[o].getSlideTabItem().getBoundingClientRect(),c=l.left,d=l.width;return c-t*2<r&&(e=c-r-t),c+d+t*2>s&&(e=c+d-s+t),e}calculateActiveTabItemScrollX(){var d;let o=0;const e=4,t=this._slideTabBar.getBoundingClientRect(),i=t.left,r=t.left+t.width,s=(d=this._activeTabItem)==null?void 0:d.getSlideTabItem().getBoundingClientRect();if(!s)return 0;const l=s.left,c=s.width;return l-e*2<i&&l+c>i&&(o=l-i-e),l<r&&l+c+e*2>r&&(o=l+c-r+e),o}destroy(){this.removeListener(),this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null}_hasEditItem(){for(let o=0;o<this._slideTabItems.length;o++)if(this._slideTabItems[o].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break}case 0:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break}case-1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(o){const e=this.getBoundingRect(),t=o.pageX-e.x;t<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(t-this._leftBoundingLine)*.1,50))}_scrollRight(o){const e=this.getBoundingRect(),t=o.pageX-e.x;t>e.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(t-(e.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let o=0;o<this._slideTabItems.length;o++){const e=this._slideTabItems[o],t=this._slideTabItems[o+1];t&&e.after(t)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){const o=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,t=[];for(let r=0;r<o&&!(r>=o);r++)t.push(this._slideTabItems[r]);for(let r=o+1;r<e;r++)this._slideTabItems[r].animate().translateX(0);let i=!0;for(let r=t.length-1;r>=0;r--){const s=t[r];$t.leftLine(this._activeTabItem)<s.getMidLine()?(s.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=r,i=!1):(s.animate().translateX(0),i&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){const o=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,t=[];for(let r=o+1;r<e;r++)t.push(this._slideTabItems[r]);for(let r=0;r<o;r++)this._slideTabItems[r].animate().translateX(0);let i=!0;for(let r=0;r<t.length;r++){const s=t[r];$t.rightLine(this._activeTabItem)>s.getMidLine()?(s.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=o+r+1,i=!1):(s.animate().translateX(0),i&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){const o=this._slideTabBar.querySelectorAll(`${this._config.slideTabBarItemSelector}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=$t.make(o,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};w(Gn,"LongPressDelay",500),w(Gn,"DoubleClickDelay",300);let Wn=Gn;const fS="",vS="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)",pS="inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)",CS="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)";function _S(n){const{leftEnd:o,rightEnd:e}=n;return o&&e?fS:o?pS:e?vS:CS}function IS(n){switch(n.id){case m.SetTabColorMutation.id:case m.SetWorksheetHideMutation.id:case m.RemoveSheetMutation.id:case m.SetWorksheetNameMutation.id:case m.InsertSheetMutation.id:case m.SetWorksheetOrderMutation.id:case m.SetWorksheetActiveOperation.id:return!0;default:return!1}}function bS(){var ce;const[n,o]=x.useState([]),[e,t]=x.useState(""),[i,r]=x.useState(""),[s,l]=x.useState(!1),[c,d]=x.useState(null),u=x.useRef(null),h=x.useRef(null),g=_.useDependency(a.ICommandService),S=_.useDependency(Yt),f=_.useDependency(a.LocaleService),v=_.useDependency(a.IConfirmService),p=_.useDependency(Ie,a.Quantity.OPTIONAL),C=_.useDependency(m.WorksheetProtectionRuleModel),b=_.useDependency(m.RangeProtectionRuleModel),E=_.useDependency(a.IPermissionService),R=Et(),P=_.useObservable(C.resetOrder$),M=_.useConfigValue(_.UI_PLUGIN_CONFIG_KEY),A=(ce=M==null?void 0:M.contextMenu)!=null?ce:!0,D=x.useCallback(()=>{var q,se;const Z=(se=(q=u.current)==null?void 0:q.getActiveItem())==null?void 0:se.getSlideTabItem().getBoundingClientRect();return Z?{left:Z.left,top:Z.top,bottom:Z.bottom}:null},[]),k=x.useCallback(()=>{setTimeout(()=>{var q;const Z=(q=u.current)==null?void 0:q.getActiveItem();Z&&(Z.focus(),Z.selectAll())},0)},[]),N=x.useCallback((Z,q)=>{v.open({id:Z,title:{title:f.t("sheetConfig.sheetNameErrorTitle")},children:{title:q},cancelText:f.t("button.cancel"),confirmText:f.t("button.confirm"),onClose(){k(),v.close(Z)},onConfirm(){k(),v.close(Z)}})},[v,k,f]),H=x.useCallback(Z=>Z.trim()!==""?!1:(N("sheetNameEmptyAlert",f.t("sheetConfig.sheetNameCannotIsEmptyError")),!0),[f,N]),V=x.useCallback(Z=>a.nameCharacterCheck(Z)?!1:(N("sheetNameSpecCharAlert",f.t("sheetConfig.sheetNameSpecCharError")),!0),[f,N]),L=x.useCallback(Z=>{var ie;if(((ie=R.getActiveSheet())==null?void 0:ie.getName())===Z||!R.checkSheetName(Z))return!1;const de="sheetNameRepeatAlert";return v.open({id:de,title:{title:f.t("sheetConfig.sheetNameErrorTitle")},children:{title:f.t("sheetConfig.sheetNameAlreadyExistsError")},cancelText:f.t("button.cancel"),confirmText:f.t("button.confirm"),onClose(){v.close(de),k()},onConfirm(){v.close(de),k()}}),!0},[v,k,f,R]),W=x.useCallback(()=>{var le,fe,j,Q;const Z=R.getUnitId(),q=R.getActiveSheet();if(!q)return!1;const se=q.getSheetId(),de=C.getRule(Z,se),ie=b.getSubunitRuleList(Z,se).length>0;return de||ie?(fe=(le=E.getPermissionPoint(new m.WorkbookManageCollaboratorPermission(Z).id))==null?void 0:le.value)!=null?fe:!1:(Q=(j=E.getPermissionPoint(new m.WorkbookRenameSheetPermission(Z).id))==null?void 0:j.value)!=null?Q:!1},[E,b,R,C]),U=x.useCallback(()=>{var de;const Z=R.getActiveSheet(),q=(de=Z==null?void 0:Z.getSheetId())!=null?de:"",se=R.getSheets().filter(ie=>!ie.isSheetHidden()).map((ie,le)=>{var te;const fe=C.getRule(R.getUnitId(),ie.getSheetId()),j=b.getSubunitRuleList(R.getUnitId(),ie.getSheetId()).length>0,Q=!!(fe!=null&&fe.permissionId||j);return{sheetId:ie.getSheetId(),label:Q?I.jsxs(I.Fragment,{children:[I.jsx(Hr,{className:"univer-shrink-0"}),I.jsx("span",{className:"univer-truncate univer-outline-none",children:ie.getName()})]}):I.jsx("span",{className:"univer-truncate univer-outline-none",children:ie.getName()}),index:le,selected:Z===ie,color:(te=ie.getTabColor())!=null?te:void 0}});o(se),t(q)},[b,R,C]),B=x.useCallback(()=>{var Z,q;(q=(Z=u.current)==null?void 0:Z.getActiveItem())==null||q.setEditor()},[]),X=x.useCallback(Z=>{r(_S(Z))},[]),z=x.useCallback(Z=>{const q=Z.calculateActiveTabItemScrollX();if(q){const se=Z.getScrollbar();se.scrollX(se.getScrollX()+q)}S.setScroll({leftEnd:Z.isLeftEnd(),rightEnd:Z.isRightEnd()})},[S]),Y=x.useCallback(Z=>{var de;const q=(de=h.current)==null?void 0:de.querySelector("[data-u-comp=slide-tab-bar]");if(!q)return;const se=new ResizeObserver(()=>{z(Z)});return se.observe(q),()=>se.disconnect()},[z]),G=x.useCallback(Z=>{A&&(p!=null&&p.isForceKeepVisible()||(d(Z),l(!0)))},[p,A]),K=x.useCallback(Z=>{if(!Z){l(!1);return}const q=D();q&&G(q)},[D,G]),ee=x.useCallback((Z,q)=>{g.executeCommand(Z,{value:q,subUnitId:e}),l(!1)},[e,g]);x.useEffect(()=>{if(!s)return;const Z=()=>{const q=D();q&&d(q)};return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[s,D]);const ne=x.useCallback(Z=>{Z.preventDefault();const q=Z.target.closest("[data-u-comp=slide-tab-item]"),se=q==null?void 0:q.dataset.id;if(!se||!q)return;const de=q.getBoundingClientRect(),ie={left:de.left,top:de.top,bottom:de.bottom};if(se===e){G(ie);return}g.executeCommand(m.SetWorksheetActiveOperation.id,{unitId:R.getUnitId(),subUnitId:se}).finally(()=>{G(ie)})},[e,g,G,R]),Se=x.useCallback(Z=>{var te,ae;const q=Z.target;if(q.closest("[contenteditable=true]"))return;const se=q.closest("[data-u-comp=slide-tab-item]"),de=se==null?void 0:se.dataset.id;if(!de)return;if(Z.key==="Enter"||Z.key===" "){Z.preventDefault(),g.executeCommand(m.SetWorksheetActiveOperation.id,{unitId:R.getUnitId(),subUnitId:de});return}if(Z.key!=="ArrowLeft"&&Z.key!=="ArrowRight")return;const ie=Array.from((ae=(te=h.current)==null?void 0:te.querySelectorAll("[data-u-comp=slide-tab-item]"))!=null?ae:[]),le=ie.findIndex(he=>he.dataset.id===de);if(le<0)return;Z.preventDefault();const fe=Z.key==="ArrowRight"?Math.min(ie.length-1,le+1):Math.max(0,le-1),j=ie[fe],Q=j==null?void 0:j.dataset.id;!j||!Q||(j.focus(),g.executeCommand(m.SetWorksheetActiveOperation.id,{unitId:R.getUnitId(),subUnitId:Q}))},[g,R]),ue=x.useCallback(()=>{const Z=new Wn({slideTabBarSelector:"[data-u-comp=slide-tab-bar]",slideTabBarItemSelector:"[data-u-comp=slide-tab-item]",slideTabBarItemAutoSort:!0,slideTabBarContainer:h.current,currentIndex:0,onChangeName:(q,se)=>{var de;if(((de=R.getSheetBySheetId(q))==null?void 0:de.getName())===se){U();return}g.executeCommand(m.SetWorksheetNameCommand.id,{subUnitId:q,name:se})},onSlideEnd:async(q,se)=>{await g.executeCommand(m.SetWorksheetOrderCommand.id,{order:se})},onChangeTab:(q,se)=>{g.executeCommand(m.SetWorksheetActiveOperation.id,{subUnitId:se,unitId:R.getUnitId()})},onScroll:q=>{S.setScroll(q)},onNameCheckAlert:q=>H(q)||V(q)||L(q),onNameChangeCheck:W});return u.current=Z,{slideTabBar:Z,disconnectResizeObserver:Y(Z)}},[W,g,D,H,L,Y,G,S,V,U,R]);return x.useEffect(()=>{U();const{slideTabBar:Z,disconnectResizeObserver:q}=ue(),se=g.onCommandExecuted(fe=>{IS(fe)&&U()}),de=S.scroll$.subscribe(X),ie=S.scrollX$.subscribe(fe=>{var j;(j=u.current)==null||j.flipPage(fe)}),le=S.renameId$.subscribe(()=>{B()});return()=>{se.dispose(),Z.destroy(),u.current=null,de.unsubscribe(),ie.unsubscribe(),le.unsubscribe(),q==null||q()}},[g,ue,P,B,S,X,U,R]),x.useEffect(()=>{var q;if(!n.length)return;const Z=n.findIndex(se=>se.sheetId===e);(q=u.current)==null||q.update(Z>=0?Z:0)},[e,n]),x.useEffect(()=>{const Z=O.merge(C.ruleChange$,b.ruleChange$).subscribe(()=>{U()});return()=>{Z.unsubscribe()}},[b,U,C]),x.useEffect(()=>{!A&&s&&l(!1)},[s,A]),I.jsx(uS,{showContextMenu:A,visible:s,anchorRect:c,onVisibleChange:K,onCommandSelect:ee,children:I.jsx("div",{className:"univer-max-w-[calc(100%-112px)] univer-overflow-hidden",ref:h,onDragStart:Z=>Z.preventDefault(),onContextMenu:ne,children:I.jsx("div",{"data-u-comp":"slide-tab-bar",role:"tablist","aria-label":"Sheet tabs",onKeyDown:Se,className:"univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1",style:{boxShadow:i},children:n.map(Z=>I.jsx(cS,{...Z,selected:e===Z.sheetId},Z.sheetId))})})})}const Fl=100,zl=()=>{var v,p;const[n,o]=x.useState(!0),[e,t]=x.useState(!0),i=_.useDependency(a.ICommandService),r=_.useDependency(Yt),s=_.useDependency(a.IPermissionService),c=Et().getUnitId(),d=_.useObservable(s.getPermissionPoint$((v=new m.WorkbookEditablePermission(c))==null?void 0:v.id)),u=_.useObservable(s.getPermissionPoint$((p=new m.WorkbookCreateSheetPermission(c))==null?void 0:p.id)),h=C=>{const{leftEnd:b,rightEnd:E}=C;o(b),t(E)};x.useEffect(()=>{const C=r.scroll$.subscribe(a.throttle(b=>{h(b)},100));return()=>{C.unsubscribe()}},[]);const g=()=>{i.executeCommand(m.InsertSheetCommand.id),setTimeout(()=>{r.setAddSheet(0)},0)},S=()=>{r.setScrollX(-Fl)},f=()=>{r.setScrollX(Fl)};return I.jsxs("div",{className:"univer-relative univer-flex univer-h-full univer-min-w-0 univer-flex-1",children:[I.jsxs("div",{className:"univer-flex univer-items-center",children:[I.jsx(po,{className:"univer-mr-2",onClick:g,disabled:!(u!=null&&u.value&&(d!=null&&d.value)),children:I.jsx(Nr,{})}),I.jsx(lS,{})]}),I.jsx(bS,{}),(!n||!e)&&I.jsxs("div",{className:'univer-relative univer-flex univer-items-center univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]',children:[I.jsx(po,{disabled:n,onClick:S,children:I.jsx(Vr,{className:"univer-rotate-180"})}),I.jsx(po,{disabled:e,onClick:f,children:I.jsx(Vr,{})})]})]})},ES=[50,75,100,125,150,175,200,400];function wS(){const n=_.useDependency(a.ICommandService),o=_.useDependency(a.IUniverInstanceService),e=Et(),t=_.useDependency(Ie),i=_.useObservable(t.visible$),r=x.useCallback(()=>{if(!e)return 100;const u=e.getActiveSheet(),h=u&&u.getZoomRatio()*100||100;return Math.round(h)},[e]),[s,l]=x.useState(()=>r());x.useEffect(()=>(l(r()),n.onCommandExecuted(h=>{if(h.id===et.id||h.id===m.SetWorksheetActiveOperation.id){const g=r();l(g)}}).dispose),[n,r]);function c(u){l(u);const h=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),g=h==null?void 0:h.getActiveSheet();if(g==null)return;const S=u/100;n.executeCommand(Xt.id,{unitId:h.getUnitId(),subUnitId:g.getSheetId(),zoomRatio:S})}const d=(i==null?void 0:i.visible)&&(i.unitId===(e==null?void 0:e.getUnitId())||i.unitId===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);return I.jsx(_.Slider,{disabled:d,min:Qo[0],value:s,shortcuts:ES,onChange:c})}function TS(){return I.jsx("section",{className:"univer-flex univer-flex-shrink-0 univer-justify-end",children:I.jsx(wS,{})})}class ds{constructor(){w(this,"_functions",[{func:J.FUNCTION_NAMES_STATISTICAL.MAX,filter:o=>{var e,t,i,r;return((t=(e=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(i=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:J.FUNCTION_NAMES_STATISTICAL.MIN,filter:o=>{var e,t,i,r;return((t=(e=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(i=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:J.FUNCTION_NAMES_MATH.SUM,filter:o=>{var e,t,i,r;return((t=(e=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(i=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:J.FUNCTION_NAMES_STATISTICAL.COUNTA,filter:o=>{var e,t;return((t=(e=o.values.find(i=>i.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1}},{func:J.FUNCTION_NAMES_STATISTICAL.COUNT,filter:o=>{var e,t,i,r;return((t=(e=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(i=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:J.FUNCTION_NAMES_STATISTICAL.AVERAGE,filter:o=>{var e,t,i,r;return((t=(e=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(i=o.values.find(s=>s.func===J.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}}]);w(this,"_state$",new O.BehaviorSubject(null));w(this,"state$",this._state$.asObservable())}dispose(){this._state$.complete()}setState(o){var t;const e={values:[],pattern:null};o==null||o.values.forEach(i=>{const r=this._functions.find(s=>s.func===i.func);r&&(r.filter===void 0||r.filter(o))&&e.values.push(i)}),e.pattern=(t=o==null?void 0:o.pattern)!=null?t:null,this._state$.next(e)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(o){this._functions.push(...o)}}const Ai=a.createIdentifier("univer.sheet-status-bar.service"),yS=[J.FUNCTION_NAMES_MATH.SUM,J.FUNCTION_NAMES_STATISTICAL.AVERAGE,J.FUNCTION_NAMES_STATISTICAL.MIN,J.FUNCTION_NAMES_STATISTICAL.MAX],Co={[J.FUNCTION_NAMES_MATH.SUM]:"statusbar.sum",[J.FUNCTION_NAMES_STATISTICAL.AVERAGE]:"statusbar.average",[J.FUNCTION_NAMES_STATISTICAL.MIN]:"statusbar.min",[J.FUNCTION_NAMES_STATISTICAL.MAX]:"statusbar.max",[J.FUNCTION_NAMES_STATISTICAL.COUNT]:"statusbar.count",[J.FUNCTION_NAMES_STATISTICAL.COUNTA]:"statusbar.countA",[J.FUNCTION_NAMES_TEXT.CONCATENATE]:"concatenate"},RS=n=>{const o=_.useDependency(a.LocaleService),e=_.useDependency(_.IMessageService),t=_.useDependency(_.IClipboardInterfaceService),i=MS(n),r=async()=>{await t.writeText(n.value.toString()),e.show({type:F.MessageType.Success,content:o.t("statusbar.copied")})};return I.jsx(F.Tooltip,{title:o.t("statusbar.clickToCopy"),placement:"top",children:I.jsx("div",{className:"univer-flex univer-cursor-pointer univer-truncate univer-text-center univer-text-xs univer-text-gray-400",onClick:r,children:I.jsx("span",{children:`${o.t((Co==null?void 0:Co[n.name])||n.name)}: ${i}`})},n.name)})};function MS(n){const{pattern:o,value:e}=n;return typeof e!="number"?0:e>=1e8?e.toExponential(2):o&&yS.includes(n.name)?a.numfmt.format(o,e,{throws:!1}):e.toLocaleString()}const Xl=800,PS=3,OS=()=>{var h,g;const n=(g=(h=_.useConfigValue(Pe))==null?void 0:h.statusBarStatistic)!=null?g:!0,[o,e]=x.useState(window.innerWidth<Xl),t=_.useDependency(Ai),i=t.getFunctions().map((S,f)=>({name:S.func,value:0,show:!0,disable:!1,pattern:null})),r=(S,f,v,p)=>{const[C,b]=x.useState(S),[E,R]=x.useState(!0),P=x.useMemo(()=>C.filter(k=>k.show&&!k.disable),[C]),M=x.useMemo(()=>P.find(k=>k.show&&!k.disable),[P]),A=x.useMemo(()=>v&&M?[M]:P,[v,M,P]),D=x.useCallback(k=>{const N=k==null?void 0:k.values;if(!(N!=null&&N.length)){R(!1);return}R(!0),b(H=>H.map(V=>{var L,W,U;return{...V,value:(W=(L=N.find(B=>B.func===V.name))==null?void 0:L.value)!=null?W:V.value,disable:!N.some(B=>B.func===V.name),pattern:(U=k==null?void 0:k.pattern)!=null?U:null}}))},[]);return x.useEffect(()=>{if(!p)return;const k=f.state$.subscribe(D);return()=>k.unsubscribe()},[p,f,D]),{statistics:C,showList:A,show:E}},{showList:s,show:l}=r(i,t,o,n),c=a.debounce(()=>{const S=window.innerWidth<Xl;o!==S&&e(S)},100);x.useEffect(()=>(window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}),[o]);const u=((S,f,v)=>n?x.useMemo(()=>S.length>f?S.reduce((b,E,R)=>(R%2===0&&b.push(S.slice(R,R+2)),b),[]).map((b,E)=>I.jsxs("div",{className:"univer-grid univer-h-full univer-items-center",children:[b[0]&&I.jsx(v,{...b[0]},b[0].name),b[1]&&I.jsx(v,{...b[1]},b[1].name)]},`stat-col-${E}`)):S.map(C=>I.jsx("div",{className:"univer-grid univer-h-full univer-items-center",children:I.jsx(v,{...C})},C.name)),[S,f,v]):null)(s,PS,RS);return l&&I.jsx("div",{className:F.clsx('univer-relative univer-box-border univer-flex univer-h-full univer-items-center univer-overflow-hidden univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-block after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]',{"univer-max-w-32":o,"univer-max-w-fit":!o}),children:I.jsx("div",{className:"univer-flex univer-h-full univer-gap-x-2",children:u})})},AS=36;function Yl(){var d;const n=_.useConfigValue(Pe),o=_.useDependency(_.IMenuManagerService),e=(d=n==null?void 0:n.footer)!=null?d:!0;if(!Et()||!e)return null;const i=o.getMenuByPositionKey(_.ContextMenuPosition.FOOTER_MENU),{sheetBar:r=!0,statisticBar:s=!0,menus:l=!0,zoomSlider:c=!0}=(n==null?void 0:n.footer)||{};return!r&&!s&&!l&&!c?null:I.jsxs("section",{className:"univer-box-border univer-grid univer-w-full univer-grid-flow-col univer-grid-cols-[1fr,auto,auto,auto] univer-items-center univer-justify-between univer-bg-white univer-px-5 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-200",style:{height:AS},"data-range-selector":!0,children:[r&&I.jsx(zl,{}),s&&I.jsx(OS,{}),l&&i.length>0&&I.jsx("div",{className:"univer-box-border univer-flex univer-gap-2 univer-px-2",children:i.map(u=>{var h;return(h=u.children)==null?void 0:h.map(g=>(g==null?void 0:g.item)&&I.jsx(_.ToolbarItem,{...g.item},g.key))})}),c&&I.jsx(TS,{})]})}function jl(){const n=_.useConfigValue(Pe);return Zl()&&(n==null?void 0:n.formulaBar)!==!1?I.jsx(Bl,{}):null}function us(){const n=_.useConfigValue(Pe),o=Zl(),t=_.useDependency(_.ComponentManager).get("ShapeTextEditorContainer");return o?I.jsxs(I.Fragment,{children:[t&&I.jsx(t,{}),!(n!=null&&n.disableEdit)&&I.jsx(rS,{}),I.jsx(oS,{})]}):null}function Zl(){const n=_.useDependency(a.IUniverInstanceService),e=!!_.useObservable(()=>n.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),null,!1,[]);return x.useMemo(()=>n.getAllUnitsForType(a.UniverInstanceType.UNIVER_SHEET).length>0,[n,e])}const Gl={id:m.SetRowHiddenCommand.id,preconditions:n=>me(n),binding:_.KeyCode.Digit9|_.MetaKeys.CTRL_COMMAND},Kl={id:m.SetColHiddenCommand.id,preconditions:n=>me(n),binding:_.KeyCode.Digit0|_.MetaKeys.CTRL_COMMAND|_.MetaKeys.SHIFT},ql={id:Ve.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_DOWN,priority:100,preconditions:me,staticParameters:{direction:a.Direction.DOWN}},Ql={id:Ve.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_UP,priority:100,preconditions:me,staticParameters:{direction:a.Direction.UP}},Jl={id:Ve.id,description:"shortcut.sheet.select-left-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_LEFT,priority:100,preconditions:ks,staticParameters:{direction:a.Direction.LEFT}},$l={id:Ve.id,description:"shortcut.sheet.select-right-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_RIGHT,priority:100,preconditions:ks,staticParameters:{direction:a.Direction.RIGHT}},ec={id:Je.id,description:"shortcut.sheet.select-next-cell",group:"3_sheet-view",binding:_.KeyCode.TAB,priority:100,preconditions:me,staticParameters:{direction:a.Direction.RIGHT,keycode:_.KeyCode.TAB}},tc={id:Je.id,description:"shortcut.sheet.select-previous-cell",group:"3_sheet-view",binding:_.KeyCode.TAB|_.MetaKeys.SHIFT,priority:100,preconditions:me,staticParameters:{direction:a.Direction.LEFT,keycode:_.KeyCode.TAB}},nc={id:Je.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:_.KeyCode.ENTER,priority:100,preconditions:me,staticParameters:{direction:a.Direction.DOWN,keycode:_.KeyCode.ENTER}},ic={id:Je.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:_.KeyCode.ENTER|_.MetaKeys.SHIFT,priority:100,preconditions:me,staticParameters:{direction:a.Direction.UP,keycode:_.KeyCode.ENTER}},oc={id:Ve.id,description:"shortcut.sheet.select-below-value-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_DOWN|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.DOWN,jumpOver:Qe.moveGap}},rc={id:Ve.id,description:"shortcut.sheet.select-up-value-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_UP|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.UP,jumpOver:Qe.moveGap}},sc={id:Ve.id,description:"shortcut.sheet.select-left-value-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_LEFT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.LEFT,jumpOver:Qe.moveGap}},ac={id:Ve.id,description:"shortcut.sheet.select-right-value-cell",group:"3_sheet-view",binding:_.KeyCode.ARROW_RIGHT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.RIGHT,jumpOver:Qe.moveGap}},lc={id:Ue.id,description:"shortcut.sheet.expand-selection-down",group:"3_sheet-view",binding:_.KeyCode.ARROW_DOWN|_.MetaKeys.SHIFT,preconditions:me,staticParameters:{direction:a.Direction.DOWN}},cc={id:Ue.id,description:"shortcut.sheet.expand-selection-up",group:"3_sheet-view",binding:_.KeyCode.ARROW_UP|_.MetaKeys.SHIFT,preconditions:me,staticParameters:{direction:a.Direction.UP}},dc={id:Ue.id,description:"shortcut.sheet.expand-selection-left",group:"3_sheet-view",binding:_.KeyCode.ARROW_LEFT|_.MetaKeys.SHIFT,preconditions:me,staticParameters:{direction:a.Direction.LEFT}},uc={id:Ue.id,description:"shortcut.sheet.expand-selection-right",group:"3_sheet-view",binding:_.KeyCode.ARROW_RIGHT|_.MetaKeys.SHIFT,preconditions:me,staticParameters:{direction:a.Direction.RIGHT}},hc={id:Ue.id,description:"shortcut.sheet.expand-selection-to-below-gap",group:"3_sheet-view",binding:_.KeyCode.ARROW_DOWN|_.MetaKeys.SHIFT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.DOWN,jumpOver:Qe.moveGap}},mc={id:Ue.id,description:"shortcut.sheet.expand-selection-to-up-gap",group:"3_sheet-view",binding:_.KeyCode.ARROW_UP|_.MetaKeys.SHIFT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.UP,jumpOver:Qe.moveGap}},gc={id:Ue.id,description:"shortcut.sheet.expand-selection-to-left-gap",group:"3_sheet-view",binding:_.KeyCode.ARROW_LEFT|_.MetaKeys.SHIFT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.LEFT,jumpOver:Qe.moveGap}},Sc={id:Ue.id,description:"shortcut.sheet.expand-selection-to-right-gap",group:"3_sheet-view",binding:_.KeyCode.ARROW_RIGHT|_.MetaKeys.SHIFT|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{direction:a.Direction.RIGHT,jumpOver:Qe.moveGap}},fc={id:hi.id,description:"shortcut.sheet.select-all",group:"3_sheet-view",binding:_.KeyCode.A|_.MetaKeys.CTRL_COMMAND,preconditions:me,staticParameters:{expandToGapFirst:!0,loop:!0}},vc={id:kt.id,description:"shortcut.sheet.set-bold",group:"4_sheet-edit",preconditions:n=>me(n),binding:_.KeyCode.B|_.MetaKeys.CTRL_COMMAND},pc={id:Nt.id,description:"shortcut.sheet.set-italic",group:"4_sheet-edit",preconditions:n=>me(n),binding:_.KeyCode.I|_.MetaKeys.CTRL_COMMAND},Cc={id:Ht.id,description:"shortcut.sheet.set-underline",group:"4_sheet-edit",preconditions:n=>me(n),binding:_.KeyCode.U|_.MetaKeys.CTRL_COMMAND},_c={id:Vt.id,description:"shortcut.sheet.set-strike-through",group:"4_sheet-edit",preconditions:n=>me(n),binding:_.KeyCode.X|_.MetaKeys.SHIFT|_.MetaKeys.CTRL_COMMAND},Ic={id:m.ClearSelectionContentCommand.id,preconditions:n=>me(n),binding:_.KeyCode.DELETE,mac:_.KeyCode.BACKSPACE},bc={id:m.ClearSelectionContentCommand.id,preconditions:n=>me(n),mac:_.KeyCode.DELETE},Ec={id:m.ClearSelectionContentCommand.id,preconditions:n=>me(n),binding:_.MetaKeys.SHIFT+_.KeyCode.BACKSPACE},wc={id:Ct.id,preconditions:n=>me(n),binding:_.MetaKeys.SHIFT+_.KeyCode.DELETE},Tc={id:Rn.id,description:"shortcut.sheet.zoom-in",binding:_.KeyCode.EQUAL|_.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:me,priority:1,staticParameters:{delta:.2}},yc={id:a.NilCommand.id,binding:_.KeyCode.EQUAL|_.MetaKeys.CTRL_COMMAND},Rc={id:Rn.id,description:"shortcut.sheet.zoom-out",binding:_.KeyCode.MINUS|_.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:me,priority:1,staticParameters:{delta:-.2}},Mc={id:a.NilCommand.id,binding:_.KeyCode.MINUS|_.MetaKeys.CTRL_COMMAND},Pc={id:Rn.id,description:"shortcut.sheet.reset-zoom",binding:_.KeyCode.Digit0|_.MetaKeys.CTRL_COMMAND,preconditions:me,group:"3_sheet-view",priority:1,staticParameters:{reset:!0}},Oc={id:a.NilCommand.id,binding:_.KeyCode.Digit0|_.MetaKeys.CTRL_COMMAND};var DS=Object.getOwnPropertyDescriptor,kS=(n,o,e,t)=>{for(var i=t>1?void 0:t?DS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Tt=(n,o)=>(e,t)=>o(e,t,n);T.SheetUIController=class extends a.Disposable{constructor(o,e,t,i,r,s,l,c){super(),this._injector=o,this._componentManager=e,this._layoutService=t,this._commandService=i,this._shortcutService=r,this._menuManagerService=s,this._uiPartsService=l,this._configService=c,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){const o=this._componentManager;this.disposeWithMe(o.register(tt,ml)),this.disposeWithMe(o.register(Mi,hl)),this.disposeWithMe(o.register(Ur,ul)),this.disposeWithMe(o.register(_i,xl)),this.disposeWithMe(o.register(ss,Wl)),this.disposeWithMe(o.register("HideGridlinesDoubleIcon",Lr))}_initCommands(){[Rn,Ue,Ve,Je,Ci,ci,gn,Sn,ti,ni,Fe,to,hi,io,m.SetBoldCommand,jt,be,pi,kt,Nt,Ht,Vt,ur,hr,ii,Zi,Gi,Wt,hn,Ki,m.SetItalicCommand,m.SetStrikeThroughCommand,m.SetFontFamilyCommand,m.SetFontSizeCommand,di,eo,vn,ui,ct,wn,lt,pn,Cn,_n,In,ro,m.SetUnderlineCommand,Xt,et,Si,Lt,Dt,mn,un,so,Ke,fr,si,Ut,Bt,ai,li,vi,Ft,zt,fi,Tn,Kn,qn].forEach(o=>{this.disposeWithMe(this._commandService.registerCommand(o))})}_initMenus(){this._menuManagerService.mergeMenu(Vl)}_initShortcuts(){[ql,Ql,Jl,$l,ec,tc,nc,ic,oc,rc,sc,ac,lc,cc,dc,uc,hc,mc,gc,Sc,fc,Tc,Rc,Pc,Oc,yc,Mc,vc,pc,Cc,_c,Ic,bc,Ec,wc,...Ea(),Ta,wa,ya,Pa,Oa,Aa,ka,Ra,Ma,Da,Gl,Kl].forEach(o=>{this.disposeWithMe(this._shortcutService.registerShortcut(o))})}_initWorkbenchParts(){const o=this._uiPartsService,e=this._injector;this.disposeWithMe(o.registerComponent(_.BuiltInUIPart.HEADER,()=>_.connectInjector(jl,e))),this.disposeWithMe(o.registerComponent(_.BuiltInUIPart.FOOTER,()=>_.connectInjector(Yl,e))),this.disposeWithMe(o.registerComponent(_.BuiltInUIPart.CONTENT,()=>_.connectInjector(us,e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(a.UniverInstanceType.UNIVER_SHEET,o=>{const e=this._injector.get(y.IRenderManagerService),t=this._injector.get(a.IUniverInstanceService),i=y.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_DOC,t,e),r=i==null?void 0:i.with($.DocSelectionRenderService);r==null||r.focus()}))}},T.SheetUIController=kS([Tt(0,a.Inject(a.Injector)),Tt(1,a.Inject(_.ComponentManager)),Tt(2,_.ILayoutService),Tt(3,a.ICommandService),Tt(4,_.IShortcutService),Tt(5,_.IMenuManagerService),Tt(6,_.IUIPartsService),Tt(7,a.IConfigService)],T.SheetUIController);var NS=Object.getOwnPropertyDescriptor,HS=(n,o,e,t)=>{for(var i=t>1?void 0:t?NS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ln=(n,o)=>(e,t)=>o(e,t,n);const VS=a.createInterceptorKey("statusBarPermissionCorrect");class WS{constructor(){w(this,"_sum",0);w(this,"_count",0);w(this,"_countNumber",0);w(this,"_min",Number.POSITIVE_INFINITY);w(this,"_max",Number.NEGATIVE_INFINITY)}add(o,e,t){if(!a.Tools.isDefine(o==null?void 0:o.v))return;const i=o==null?void 0:o.t;let{v:r}=o;const s=c=>{this._sum+=c,this._countNumber++,this._min=Math.min(this._min,c),this._max=Math.max(this._max,c)},l=(c,d,u)=>{var S;if(!((S=c==null?void 0:c.n)!=null&&S.pattern))return;const{pattern:h}=c.n;u[h]||(u[h]=a.numfmt.getFormatInfo(h)),u[h].isDate&&s(d)};if(typeof r=="string"&&i===a.CellValueType.NUMBER){const c=Number(r);Number.isNaN(c)||(r=c)}if(typeof r=="number"&&i!==a.CellValueType.STRING)s(r);else if(i===a.CellValueType.NUMBER&&o.s){const c=e.get(o.s);l(c,r,t)}this._count++}getResults(){return{sum:this._sum,count:this._countNumber,countA:this._count,min:this._min,max:this._max}}}function LS(n){const{sum:o,count:e,countA:t,min:i,max:r}=n.getResults();return[{func:J.FUNCTION_NAMES_STATISTICAL.MAX,value:r},{func:J.FUNCTION_NAMES_STATISTICAL.MIN,value:i},{func:J.FUNCTION_NAMES_MATH.SUM,value:o},{func:J.FUNCTION_NAMES_STATISTICAL.COUNTA,value:t},{func:J.FUNCTION_NAMES_STATISTICAL.COUNT,value:e},{func:J.FUNCTION_NAMES_STATISTICAL.AVERAGE,value:o/e}]}T.StatusBarController=class extends a.Disposable{constructor(e,t,i,r,s,l){super();w(this,"interceptor",new a.InterceptorManager({STATUS_BAR_PERMISSION_CORRECT:VS}));this._univerInstanceService=e,this._selectionManagerService=t,this._statusBarService=i,this._commandService=r,this._numfmtService=s,this._formulaDataModel=l,this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){const e=a.debounce(i=>{var s;const r=(s=i[i.length-1])==null?void 0:s.primary;this._calculateSelection(i.map(l=>l.range),r)},100),t=a.debounce(i=>{var s;const r=(s=i[i.length-1])==null?void 0:s.primary;this._calculateSelection(i.map(l=>l.range),r)},500);this.disposeWithMe(a.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(i=>{i&&t(i)}))),this.disposeWithMe(a.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(i=>{i&&e(i)}))),this.disposeWithMe(a.toDisposable(this._selectionManagerService.selectionSet$.subscribe(i=>{i&&e(i)}))),this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===m.SetRangeValuesMutation.id){const r=this._selectionManagerService.getCurrentSelections(),{cellValue:s}=i.params;if(r&&r.length>0&&s){const l=new a.ObjectMatrix(s);let c=!1;l.forValue((d,u)=>{if(r.some(h=>{const g=h.range;return d>=g.startRow&&d<=g.endRow&&u>=g.startColumn&&u<=g.endColumn}))return c=!0,!1}),c&&e(r)}}}))}_clearResult(){this._statusBarService.setState(null)}getRangeStartEndInfo(e,t){return e.rangeType===a.RANGE_TYPE.ALL?{startRow:0,startColumn:0,endRow:t.getRowCount()-1,endColumn:t.getColumnCount()-1}:e.rangeType===a.RANGE_TYPE.COLUMN?{startRow:0,startColumn:e.startColumn,endRow:t.getRowCount()-1,endColumn:e.endColumn}:e.rangeType===a.RANGE_TYPE.ROW?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t.getColumnCount()-1}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}_getCellValue(e,t,i,r){var c,d,u,h;const s=i.getCellRaw(e,t),l=(c=r==null?void 0:r[e])==null?void 0:c[t];return l?{t:(d=l.t)!=null?d:s==null?void 0:s.t,v:(u=l.v)!=null?u:s==null?void 0:s.v,s:(h=l.s)!=null?h:s==null?void 0:s.s}:s}_calculateSelection(e,t){var d,u;const i=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);if(!i)return this._clearResult();const r=i.getUnitId(),s=i.getActiveSheet(),l=s==null?void 0:s.getSheetId();if(!l)return this._clearResult();const c={};if(this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(h=>{const g=h.getConfig();c[h.getSheetId()]={cellData:new a.ObjectMatrix(g.cellData),rowCount:g.rowCount,columnCount:g.columnCount,rowData:g.rowData,columnData:g.columnData}}),e!=null&&e.length){const h=[];e.forEach(M=>{const{startRow:A,endRow:D}=M;let k=null;for(let N=A;N<=D;N++)s.getRowVisible(N)?k===null&&(k=N):k!==null&&(h.push({...M,startRow:k,endRow:N-1}),k=null);k!==null&&h.push({...M,startRow:k,endRow:D})});const g=a.splitIntoGrid(h),S=new WS,f=i.getStyles(),v={},p=this._formulaDataModel.getArrayFormulaCellData(),C=(d=p==null?void 0:p[r])==null?void 0:d[l];for(const M of g){const{startRow:A,startColumn:D,endColumn:k,endRow:N}=this.getRangeStartEndInfo(M,s);for(let H=A;H<=N;H++)for(let V=D;V<=k;V++){const L=this._getCellValue(H,V,s,C);S.add(L,f,v)}}const b=LS(S);if(b.every(M=>M===void 0))return;let E=null;if(t){const{actualRow:M,actualColumn:A}=t;E=(u=this._numfmtService.getValue(r,l,M,A))==null?void 0:u.pattern}const P={values:b.filter(M=>M!==void 0),pattern:E};this._statusBarService.setState(P)}else this._clearResult()}},T.StatusBarController=HS([Ln(0,a.IUniverInstanceService),Ln(1,a.Inject(m.SheetsSelectionsService)),Ln(2,Ai),Ln(3,a.ICommandService),Ln(4,a.Inject(m.INumfmtService)),Ln(5,a.Inject(J.FormulaDataModel))],T.StatusBarController);const Ac=(n=[])=>{const o=_.useDependency(Ot);x.useEffect(()=>{const e=n.map(t=>o.addShape({range:t,style:{fill:"rgba(73, 184, 17, 0.05)",strokeWidth:1,stroke:"#49B811",widgets:{}},primary:null}));return()=>{e.forEach(t=>{t&&o.removeShape(t)})}},[n])},_o={name:"@univerjs/sheets-ui",version:"0.17.0"};var xS=Object.getOwnPropertyDescriptor,US=(n,o,e,t)=>{for(var i=t>1?void 0:t?xS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Dc=(n,o)=>(e,t)=>o(e,t,n),xn=(n=>(n[n.INFO=0]="INFO",n[n.WARNING=1]="WARNING",n[n.ERROR=2]="ERROR",n))(xn||{});T.CellAlertManagerService=class extends a.Disposable{constructor(e,t){super();w(this,"_currentAlert$",new O.Subject);w(this,"_currentAlert",new Map);w(this,"currentAlert$",this._currentAlert$.asObservable());this._renderManagerService=e,this._cellPopupManagerService=t,this.disposeWithMe(()=>{this._currentAlert$.complete()})}get currentAlert(){return this._currentAlert}showAlert(e){var h;let t=this._currentAlert.get(e.key);t&&t.dispose.dispose(),t?t.dispose.dispose():(t={alert:e,dispose:{dispose(){}}},this._currentAlert.set(e.key,t));const{location:i}=e,{row:r,col:s,unitId:l,subUnitId:c}=i;if(!this._renderManagerService.getRenderById(l))return;const u=this._cellPopupManagerService.showPopup({unitId:l,subUnitId:c,row:r,col:s},{componentKey:kc,direction:"horizontal",extraProps:{alert:e},priority:1});u&&(t&&((h=t.dispose)==null||h.dispose()),t.dispose=u),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(e){const t=this._currentAlert.get(e);t&&(this._currentAlert.delete(e),t==null||t.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(e=>{e.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}},T.CellAlertManagerService=US([Dc(0,y.IRenderManagerService),Dc(1,a.Inject(T.CellPopupManagerService))],T.CellAlertManagerService);function BS({popup:n}){var s;const o=(s=n.extraProps)==null?void 0:s.alert;if(!o)return null;const{type:e,title:t,message:i}=o,r={[xn.ERROR]:I.jsx(kr,{className:"univer-mr-1.5 univer-text-red-500"}),[xn.INFO]:I.jsx(nl,{className:"univer-mr-1.5 univer-text-blue-500"}),[xn.WARNING]:I.jsx(rl,{className:"univer-mr-1.5 univer-text-yellow-500"})};return I.jsxs("div",{className:"univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2 univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",children:[I.jsxs("div",{className:"univer-mb-1.5 univer-flex univer-h-5 univer-flex-row univer-items-center univer-text-sm univer-font-medium",children:[e?r[e]:null,t]}),I.jsx("div",{className:"univer-text-sm",children:i})]})}const kc="univer.sheet.cell-alert";var FS=Object.getOwnPropertyDescriptor,zS=(n,o,e,t)=>{for(var i=t>1?void 0:t?FS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},XS=(n,o)=>(e,t)=>o(e,t,n);let Io=class extends a.Disposable{constructor(n,o){super(),this._context=n,this._componentManager=o,this._initComponent()}_initComponent(){this.disposeWithMe(this._componentManager.register(kc,BS))}};Io=zS([XS(1,a.Inject(_.ComponentManager))],Io);var YS=Object.getOwnPropertyDescriptor,jS=(n,o,e,t)=>{for(var i=t>1?void 0:t?YS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Nc=(n,o)=>(e,t)=>o(e,t,n);let bo=class extends a.Disposable{constructor(n,o,e){super(),this._context=n,this._editorBridgeService=o,this._cellPopupManagerService=e,this._initEditorVisibleListener()}_initEditorVisibleListener(){this.disposeWithMe(this._editorBridgeService.visible$.pipe(O.filter(n=>n.visible)).subscribe(()=>{const n=this._editorBridgeService.getEditLocation();n&&this._cellPopupManagerService.hidePopup(n.unitId,n.sheetId,n.row,n.column)}))}};bo=jS([Nc(1,Ie),Nc(2,a.Inject(T.CellPopupManagerService))],bo);var ZS=Object.getOwnPropertyDescriptor,GS=(n,o,e,t)=>{for(var i=t>1?void 0:t?ZS(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Eo=(n,o)=>(e,t)=>o(e,t,n);let Un=class extends a.Disposable{constructor(o,e,t,i){super();w(this,"_isPointer",!1);this._hoverManagerService=o,this._instanceService=e,this._commandService=t,this._renderManagerService=i,this._initPointerEvent(),this._initHover()}get _mainComponent(){var o;return(o=y.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,this._instanceService,this._renderManagerService))==null?void 0:o.mainComponent}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichText$.subscribe(o=>{var e,t;o!=null&&o.bullet?(this._isPointer||(e=this._mainComponent)==null||e.setCursor(y.CURSOR_TYPE.POINTER),this._isPointer=!0):(this._isPointer&&((t=this._mainComponent)==null||t.setCursor(y.CURSOR_TYPE.AUTO)),this._isPointer=!1)}))}_initPointerEvent(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(o=>{const{location:e,bullet:t}=o;t&&this._commandService.executeCommand(m.ToggleCellCheckboxCommand.id,{unitId:e.unitId,subUnitId:e.subUnitId,row:e.row,col:e.col,paragraphIndex:t.startIndex})}))}};Un=GS([Eo(0,a.Inject(T.HoverManagerService)),Eo(1,a.IUniverInstanceService),Eo(2,a.ICommandService),Eo(3,y.IRenderManagerService)],Un);const Hc=2,KS=[{value:"DEFAULT_PASTE",label:"rightClick.paste"},{value:"SPECIAL_PASTE_VALUE",label:"rightClick.pasteValue"},{value:"SPECIAL_PASTE_FORMAT",label:"rightClick.pasteFormat"},{value:"SPECIAL_PASTE_COL_WIDTH",label:"rightClick.pasteColWidth"},{value:"SPECIAL_PASTE_BESIDES_BORDER",label:"rightClick.pasteBesidesBorder"},{value:"SPECIAL_PASTE_FORMULA",label:"formula.operation.pasteFormula"}],qS=n=>{var H,V,L,W,U;const o=_.useDependency(a.IUniverInstanceService),e=_.useDependency(y.IRenderManagerService),t=Et();if(!n||!t)return null;const i={startRow:n.rows[0],startCol:n.cols[0],endRow:n.rows[n.rows.length-1],endCol:n.cols[n.cols.length-1]};if(i.endRow<0||i.endCol<0)return null;const r=e.getRenderById(t.getUnitId()),s=r==null?void 0:r.with(T.SheetSkeletonManagerService),l=r==null?void 0:r.with(ye),c=Be(o,e);if(!c||!l)return null;const{scene:d}=c,u=s==null?void 0:s.getCurrentSkeleton(),h=l.getViewPort(),g=d==null?void 0:d.scaleX,S=d==null?void 0:d.scaleY,f=d==null?void 0:d.getViewportScrollXY(h),v=(H=d.getEngine())==null?void 0:H.getCanvas();if(!g||!d||!g||!S||!f)return null;const p=u==null?void 0:u.getNoMergeCellPositionByIndex(i.endRow,i.endCol),C=(V=p==null?void 0:p.endX)!=null?V:0,b=(L=p==null?void 0:p.endY)!=null?L:0,E=(W=y.convertTransformToOffsetX(C,g,f))!=null?W:-9999,R=(U=y.convertTransformToOffsetY(b,S,f))!=null?U:-9999,P=v==null?void 0:v.getWidth(),M=v==null?void 0:v.getHeight();if(!P||!M)return null;const A=E+50<=P,D=R+50<=M;let k=E,N=R;return A||(k=P-100),D||(N=M-100),{positionX:k,positionY:N}},QS=()=>{const n=_.useDependency(We),o=_.useObservable(n.showMenu$,!1),e=_.useObservable(n.pasteOptionsCache$,null),t=_.useDependency(a.LocaleService),i=_.useDependency(a.ICommandService),[r,s]=x.useState(!1),[l,c]=x.useState(!1),d=e==null?void 0:e.target.pastedRange,u=qS(d);if(!u||!o||u.positionX<50||u.positionY<30)return null;const h=r||l,g=S=>{c(!1),i.executeCommand(na.id,{type:S})};return I.jsx("div",{className:"univer-absolute univer-inset-0 univer-z-10 univer-size-0",children:I.jsx("div",{className:"univer-absolute",style:{left:u.positionX+Hc,top:u.positionY+Hc},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:I.jsx(F.DropdownMenu,{align:"start",items:KS.map(S=>({type:"checkbox",value:S.value,label:t.t(S.label),checked:(e==null?void 0:e.pasteType)===pe[S.value],onSelect:()=>g(S.value)})),open:l,onOpenChange:c,children:I.jsxs("div",{className:F.clsx("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",F.borderClassName,{"univer-bg-gray-100 dark:!univer-bg-gray-800":l,"univer-bg-white dark:!univer-bg-gray-900":!l}),children:[I.jsx(ll,{className:"univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"}),h&&I.jsx(Dn,{className:"dark:!univer-text-white"})]})})})})},JS=[be.id,m.SetRangeValuesCommand.id,et.id,m.MoveRangeMutation.id,m.RemoveRowMutation.id,m.RemoveColMutation.id,m.InsertRowMutation.id,m.InsertColMutation.id,m.MoveRowsMutation.id,m.MoveColsMutation.id,m.SetWorksheetColWidthMutation.id,m.SetWorksheetRowHeightMutation.id,m.SetSelectionsOperation.id,a.UndoCommandId];function $S(n,o,e,t,i){const r=[],s=[];if(t.copyType===Ze.CUT){const{undos:l,redos:c}=ef(n,o,i);r.push(...c),s.push(...l)}else{const{undos:l,redos:c}=Lc(o,e,i);r.push(...c),s.push(...l);const{undos:d,redos:u}=tf(o,e,i);r.push(...u),s.push(...d);const{undos:h,redos:g}=Vc(o,n,e,i);r.push(...g),s.push(...h);const{undos:S,redos:f}=Wc(o,n,e,i,!0);r.push(...f),s.push(...S);const{undos:v,redos:p}=hs(o,e,i);r.push(...p),s.push(...v)}return{undos:s,redos:r}}function ef(n,o,e){let t=[],i=[];const{range:r,subUnitId:s,unitId:l}=n,{range:c,subUnitId:d}=o,u=c?m.discreteRangeToRange(c):null,h=r?m.discreteRangeToRange(r):null;if(h&&u){const g=e.get(a.IUniverInstanceService),S=e.get(m.SheetInterceptorService),f=g.getUniverSheetInstance(l),v=f==null?void 0:f.getSheetBySheetId(s),p=f==null?void 0:f.getSheetBySheetId(d);if(v&&p){const C=new a.ObjectMatrix,b=new a.ObjectMatrix,E=v.getCellMatrix(),R=p.getCellMatrix();a.Range.foreach(h,(B,X)=>{C.setValue(B,X,a.cloneCellData(E.getValue(B,X))),b.setValue(B,X,null)});const P=new a.ObjectMatrix;a.Range.foreach(u,(B,X)=>{P.setValue(B,X,a.cloneCellData(R.getValue(B,X)))});const M=new a.ObjectMatrix;a.Range.foreach(h,(B,X)=>{const z=a.cellToRange(B,X),Y=a.Rectangle.getRelativeRange(z,h),G=a.Rectangle.getPositionRange(Y,u);M.setValue(G.startRow,G.startColumn,E.getValue(B,X))});const A={fromRange:h,toRange:u,from:{value:b.getMatrix(),subUnitId:s},to:{value:M.getMatrix(),subUnitId:d},unitId:l},D={fromRange:u,toRange:h,from:{value:C.getMatrix(),subUnitId:s},to:{value:P.getMatrix(),subUnitId:d},unitId:l},k=S.onCommandExecute({id:m.MoveRangeCommand.id,params:{toRange:u,fromRange:h}}),N=v.getMergeData(),H=p.getMergeData(),V=N.filter(B=>a.Rectangle.intersects(B,h)),L=H.filter(B=>a.Rectangle.intersects(B,u)),W=[],U=[];if(V.length>0||L.length>0){const B=V.map(z=>a.Rectangle.getRelativeRange(z,h)).map(z=>a.Rectangle.getPositionRange(z,u)),X=m.getAddMergeMutationRangeByType(B);V.length>0&&(W.push({id:m.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:s,ranges:V}}),U.push({id:m.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:s,ranges:V}})),L.length>0&&(W.push({id:m.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:s,ranges:L}}),U.push({id:m.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:L}})),W.push({id:m.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:X}}),U.unshift({id:m.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:X}})}t=[{id:m.MoveRangeMutation.id,params:A},...k.redos,...W,{id:m.SetSelectionsOperation.id,params:{unitId:l,subUnitId:d,selections:[{range:u,primary:m.getPrimaryForRange(u,p)}],type:m.SelectionMoveType.MOVE_END}}],i=[{id:m.MoveRangeMutation.id,params:D},...k.undos,...U,{id:m.SetSelectionsOperation.id,params:{unitId:l,subUnitId:s,type:m.SelectionMoveType.MOVE_END,selections:[{range:h,primary:m.getPrimaryForRange(h,v)}]}}]}}return{undos:i,redos:t}}function Vc(n,o,e,t){var f;const{unitId:i,subUnitId:r,range:s}=n,l=(f=t.get(a.IUniverInstanceService).getUniverSheetInstance(i))==null?void 0:f.getSheetBySheetId(r),c=[],d=[],{mapFunc:u}=vt([s]),h=new a.ObjectMatrix;e.forValue((v,p,C)=>{var P,M;const{row:b,col:E}=u(v,p),R={v:C.v,t:C.t};if(!C.p&&C.v&&!o){const A=l==null?void 0:l.getCellStyle(b,E);if(a.isTextFormat((P=A==null?void 0:A.n)==null?void 0:P.pattern))R.t=a.CellValueType.STRING;else{const D=String(C.v).trim(),k=a.getNumfmtParseValueFilter(D);(k==null?void 0:k.v)!==void 0&&typeof k.v=="number"&&(!k.z&&a.willLoseNumericPrecision(D)?R.t=a.CellValueType.FORCE_STRING:R.v=k.v)}}if((M=C.p)!=null&&M.body&&Er(C.p.body)){const A={p:a.cloneValue(C.p),v:C.v};h.setValue(b,E,A)}else h.setValue(b,E,R&&a.cloneCellData(R))});const g={unitId:i,subUnitId:r,cellValue:a.cloneCellDataMatrix(h.getMatrix())};c.push({id:m.SetRangeValuesMutation.id,params:g});const S=m.SetRangeValuesUndoMutationFactory(t,g);return d.push({id:m.SetRangeValuesMutation.id,params:S}),{undos:d,redos:c}}function Wc(n,o,e,t,i=!1){var v;const r=[],s=[],{unitId:l,subUnitId:c,range:d}=n,u=(v=t.get(a.IUniverInstanceService).getUniverSheetInstance(l))==null?void 0:v.getSheetBySheetId(c),h=new a.ObjectMatrix,{mapFunc:g}=vt([d]);e.forValue((p,C,b)=>{var D,k;const E={s:Object.assign({},{...a.DEFAULT_STYLES,pd:y.DEFAULT_PADDING_DATA,bg:null,cl:null},b.s)},R=E.s.bd;R&&(Object.keys(R).length>0||(E.s.bd={b:null,l:null,r:null,t:null}));const{row:P,col:M}=g(p,C),A=u==null?void 0:u.getCellStyle(P,M);if(b.v&&!o&&a.isTextFormat((D=A==null?void 0:A.n)==null?void 0:D.pattern))E.s||(E.s={}),E.s.n=A==null?void 0:A.n;else{const N=String(b.v).trim(),H=a.getNumfmtParseValueFilter(N);H!=null&&H.z&&(E.s||(E.s={}),typeof E.s=="object"&&((k=E.s)!=null&&k.n?E.s.n.pattern=H.z:E.s.n={pattern:H.z}))}h.setValue(P,M,E)});const S={unitId:l,subUnitId:c,cellValue:a.cloneCellDataMatrix(h.getMatrix())};r.push({id:m.SetRangeValuesMutation.id,params:S});const f=m.SetRangeValuesUndoMutationFactory(t,S);return s.push({id:m.SetRangeValuesMutation.id,params:f}),{undos:s,redos:r}}function Lc(n,o,e){const t=[],i=[],r=new a.ObjectMatrix,{unitId:s,subUnitId:l,range:c}=n,{mapFunc:d}=vt([c]);if(o.forEach((u,h)=>{Object.keys(h).forEach(g=>{const S=Number(g),{row:f,col:v}=d(u,S);r.setValue(f,v,{s:null})})}),r.getLength()>0){const u={subUnitId:l,unitId:s,cellValue:a.cloneCellDataMatrix(r.getMatrix())};t.push({id:m.SetRangeValuesMutation.id,params:u});const h=m.SetRangeValuesUndoMutationFactory(e,u);i.push({id:m.SetRangeValuesMutation.id,params:h})}return{undos:i,redos:t}}function tf(n,o,e){const t=[],i=[],r=new a.ObjectMatrix,{unitId:s,subUnitId:l,range:c}=n,{mapFunc:d}=vt([c]);if(o.forValue((u,h,g)=>{const{row:S,col:f}=d(u,h);r.setValue(S,f,{v:null,p:null})}),r.getLength()>0){const u={subUnitId:l,unitId:s,cellValue:a.cloneCellDataMatrix(r.getMatrix())};t.push({id:m.SetRangeValuesMutation.id,params:u});const h=m.SetRangeValuesUndoMutationFactory(e,u);i.push({id:m.SetRangeValuesMutation.id,params:h})}return{undos:i,redos:t}}function hs(n,o,e){const t=[],i=[],{unitId:r,subUnitId:s,range:l}=n,{startColumn:c,startRow:d,endColumn:u,endRow:h}=m.discreteRangeToRange(l),g=[];o.forValue((f,v,p)=>{if(p.rowSpan&&p.rowSpan>1){const C=p.colSpan||1,b={startRow:d+f,endRow:d+f+p.rowSpan-1,startColumn:c+v,endColumn:c+v+C-1};g.push(b)}else if(p.colSpan&&p.colSpan>1){const C=p.rowSpan||1,b={startRow:d+f,endRow:d+f+C-1,startColumn:c+v,endColumn:c+v+p.colSpan-1};g.push(b)}});const S=m.getSheetCommandTarget(e.get(a.IUniverInstanceService),{unitId:r,subUnitId:s});if(S&&S.worksheet){const v=S.worksheet.getMergeData().filter(p=>a.Rectangle.intersects({startRow:d,startColumn:c,endRow:h,endColumn:u},p));if(v.length>0){const p={unitId:r,subUnitId:s,ranges:v};t.push({id:m.RemoveWorksheetMergeMutation.id,params:p});const C=m.RemoveMergeUndoMutationFactory(e,p);i.push({id:m.AddWorksheetMergeMutation.id,params:C})}}if(g.length>0){const f={unitId:r,subUnitId:s,ranges:g};t.push({id:m.AddWorksheetMergeMutation.id,params:f});const v=m.AddMergeUndoMutationFactory(e,f);i.unshift({id:m.RemoveWorksheetMergeMutation.id,params:v})}return{redos:t,undos:i}}function nf(n){if(!n.includes("\r")&&a.Tools.isLegalUrl(n)){const t=a.generateRandomId(),i=`${n}`,r={startIndex:0,endIndex:i.length-1,rangeId:t,rangeType:a.CustomRangeType.HYPERLINK,properties:{url:n}};return{dataStream:`${i}\r
13
- `,paragraphs:[{startIndex:i.length}],customRanges:[r]}}let o=n.replace(/(\r\n|\n)/g,"\r");o.endsWith(`\r
14
- `)||(o+=`\r
15
- `);const e=[];for(let t=0;t<o.length;t++)o[t]==="\r"&&e.push({startIndex:t});return{dataStream:o,paragraphs:e,sectionBreaks:[{startIndex:o.indexOf(`
16
- `)}]}}var of=Object.getOwnPropertyDescriptor,rf=(n,o,e,t)=>{for(var i=t>1?void 0:t?of(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},it=(n,o)=>(e,t)=>o(e,t,n);const sf=[m.InsertColMutation.id,m.InsertRowMutation.id,m.RemoveColMutation.id,m.RemoveRowMutation.id,m.MoveRangeMutation.id,m.MoveRowsMutation.id,m.MoveColsMutation.id];let en=class extends a.RxDisposable{constructor(o,e,t,i,r,s,l,c,d,u){super();w(this,"_refreshOptionalPaste$",new O.Subject);w(this,"refreshOptionalPaste$",this._refreshOptionalPaste$.asObservable());this._injector=o,this._instanceService=e,this._renderManagerService=t,this._commandService=i,this._contextService=r,this._configService=s,this._sheetClipboardService=l,this._messageService=c,this._localService=d,this._uiPartsService=u,this._init(),this._initCommandListener(),this._initUIComponents(),this._pasteWithDoc()}refreshOptionalPaste(){this._refreshOptionalPaste$.next(Math.random())}_pasteWithDoc(){var t;const o=i=>{i.onPaste$.pipe(O.takeUntil(this.dispose$)).subscribe(r=>{var u,h;if(!me(this._contextService))return;r.event.preventDefault();const s=r.event,l=(u=s.clipboardData)==null?void 0:u.getData("text/html"),c=(h=s.clipboardData)==null?void 0:h.getData("text/plain"),d=this._resolveClipboardFiles(s.clipboardData);this._commandService.executeCommand(ji.id,{htmlContent:l,textContent:c,files:d})}),i==null||i.onKeydown$.subscribe(r=>{r.event.key==="Escape"&&this._sheetClipboardService.removeMarkSelection()})};let e=(t=this._renderManagerService.getRenderById(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:t.with($.DocSelectionRenderService);e&&o(e),this._renderManagerService.created$.subscribe(i=>{var r;i.unitId===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&(e=(r=this._renderManagerService.getRenderById(a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:r.with($.DocSelectionRenderService),e&&o(e))})}_resolveClipboardFiles(o){if(!o)return;const e=Array.from(o.items).map(t=>t.kind==="file"?t.getAsFile():void 0).filter(Boolean);return e.length>0?e:void 0}_init(){[Xe,Ct,Ye].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e))),[ln,cn,At,dn,ji,na].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingRowsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingColumnsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));const o=this._initSpecialPasteHooks().map(e=>this._sheetClipboardService.addClipboardHook(e));this.disposeWithMe({dispose:()=>o.forEach(e=>e.dispose())})}_initCopyingHooks(){const o=this;let e=null;return{id:pt.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(t,i){e=o._getWorksheet(t,i)},onCopyCellContent(t,i){var l,c,d,u;const r=e.getCell(t,i);return(c=(l=r==null?void 0:r.p)==null?void 0:l.body)!=null&&c.paragraphs||(u=(d=r==null?void 0:r.p)==null?void 0:d.body)!=null&&u.textRuns?$.convertBodyToHtml(r.p):r?a.extractPureTextFromCell(r):""},onCopyCellStyle:(t,i,r,s)=>{const l={};(r||s)&&(l.rowspan=`${r||1}`,l.colspan=`${s||1}`);const c=e.getMergedCell(t,i),d=e.getComposedCellStyle(t,i);let u="";if(d&&(u=a.handleStyleToString(d)),c){const h=c.endRow,g=c.endColumn,f=e.getRange(h,g).getTextStyle();if(f){const v=a.handleStyleToString(f);u?u+=v?`;${v}`:"":u=v}}return u&&(l.style=u),Object.keys(l).length?l:null},onCopyColumn(t){return{width:`${e.getColumnWidth(t)}`}},onCopyRow(t){return{style:`height: ${e.getRowHeight(t)}px;`}},onAfterCopy(){e=null},getFilteredOutRows(t,i,r){const s=o._getWorksheet(t,i);if(!s)return[];const{startRow:l,endRow:c}=r,d=[];for(let u=l;u<=c;u++)s.getRowFiltered(u)&&d.push(u);return d}}}_initPastingHook(){const o=this;return{id:pe.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({range:e}){const t=o._configService.getConfig(m.MAX_CELL_PER_SHEET_KEY),i=e.rows[e.rows.length-1],r=e.cols[e.cols.length-1];return t&&i*r>t?(o._messageService.show({type:F.MessageType.Error,content:o._localService.t("clipboard.paste.exceedMaxCells")}),!1):!0},onPastePlainText(e,t,i){return o._onPastePlainText(e,t,i)},onPasteCells(e,t,i,r){return o._onPasteCells(e,t,i,r)}}}_initPastingRowsHook(){const o=this;return{id:pe.DEFAULT_PASTE_ROWS,isDefaultHook:!0,onPasteRows(e){const t=[],i=[],{range:r,unitId:s,subUnitId:l}=e,{rows:c,cols:d}=r;if(!c||!d||c.length===0||d.length===0)return{redos:t,undos:i};const h=o._getWorksheet(s,l).getMaxRows()-1,g=c[c.length-1],S=d[0],f=d[d.length-1];if(g-h>0){const p={unitId:s,subUnitId:l,range:{startRow:h+1,endRow:g,startColumn:S,endColumn:f}};t.push({id:m.InsertRowMutation.id,params:p}),i.push({id:m.RemoveRowMutation.id,params:p})}return{redos:t,undos:i}}}}_initPastingColumnsHook(){const o=this;return{id:pe.DEFAULT_PASTE_COLUMNS,isDefaultHook:!0,onPasteColumns(e){const t=[],i=[],{range:r,unitId:s,subUnitId:l}=e,{rows:c,cols:d}=r;if(!c||!d||c.length===0||d.length===0)return{redos:t,undos:i};const h=o._getWorksheet(s,l).getMaxColumns()-1,g=c[0],S=c[c.length-1],f=d[d.length-1];if(f-h>0){const p={unitId:s,subUnitId:l,range:{startRow:g,endRow:S,startColumn:h+1,endColumn:f}};t.push({id:m.InsertColMutation.id,params:p}),i.push({id:m.RemoveColMutation.id,params:p})}return{redos:t,undos:i}}}}_generateDocumentDataModelSnapshot(o){var l,c;const e=(l=y.withCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_SHEET,T.SheetSkeletonManagerService,this._instanceService,this._renderManagerService))==null?void 0:l.getCurrentParam();if(e==null)return null;const{skeleton:t}=e,i=(c=t.getBlankCellDocumentModel())==null?void 0:c.documentModel,s={...i==null?void 0:i.getSnapshot(),...o};return i==null||i.reset(s),i==null?void 0:i.getSnapshot()}_onPastePlainText(o,e,t){const{range:i,unitId:r,subUnitId:s}=o;let l;if(/\r|\n/.test(e)||a.Tools.isLegalUrl(e)){const d=nf(e),u=this._generateDocumentDataModelSnapshot({body:d});l={[i.rows[0]]:{[i.cols[0]]:{p:u,v:null,f:null}}}}else if(a.isFormulaString(e))l={[i.rows[0]]:{[i.cols[0]]:{f:e,v:null,p:null}}};else{const d=a.getNumfmtParseValueFilter(e);d!=null&&d.z?l={[i.rows[0]]:{[i.cols[0]]:{v:d.v,s:{n:{pattern:d.z}},f:null}}}:l={[i.rows[0]]:{[i.cols[0]]:{v:e,f:null}}}}const c={unitId:r,subUnitId:s,cellValue:l};return{redos:[{id:m.SetRangeValuesMutation.id,params:c}],undos:[{id:m.SetRangeValuesMutation.id,params:m.SetRangeValuesUndoMutationFactory(this._injector,c)}]}}_onPasteCells(o,e,t,i){return this._injector.invoke(r=>$S(o,e,t,i,r))}_initSpecialPasteHooks(){const o=this,e={id:pe.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:"specialPaste.value"},onPasteCells:(s,l,c)=>this._injector.invoke(d=>Vc(l,s,c,d))},t={id:pe.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:"specialPaste.format"},onPasteCells:(s,l,c)=>{const d=[],u=[],{undos:h,redos:g}=this._injector.invoke(C=>Lc(l,c,C));d.push(...g),u.push(...h);const{undos:S,redos:f}=this._injector.invoke(C=>hs(l,c,C));d.push(...f),u.push(...S);const{undos:v,redos:p}=this._injector.invoke(C=>Wc(l,s,c,C));return d.push(...p),u.push(...v),{undos:u,redos:d}}},i={id:pe.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:"specialPaste.colWidth"},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(s,l,c){var A;const d=[],u=[];if(c.pasteType!==pe.SPECIAL_PASTE_COL_WIDTH)return{redos:d,undos:u};const{range:h,unitId:g,subUnitId:S}=s,{rows:f,cols:v}=h;if(!f||!v||f.length===0||v.length===0)return{redos:d,undos:u};const p=o._getWorksheet(g,S),C=(A=o._configService.getConfig(a.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))!=null?A:a.DEFAULT_WORKSHEET_COLUMN_WIDTH,b=f[0],E=f[f.length-1],R=v[0],P=v[v.length-1],M=l.length;if(M>0){const D={};for(let N=R;N<=P;N++){const H=(N-R)%M,V=l[H];V.width&&Number(V.width)!==C&&(D[N]=Number(V.width))}const k={unitId:g,subUnitId:S,ranges:[{startRow:b,endRow:E,startColumn:R,endColumn:P}],colWidth:D};d.push({id:m.SetWorksheetColWidthMutation.id,params:k}),u.unshift({id:m.SetWorksheetColWidthMutation.id,params:m.SetWorksheetColWidthMutationFactory(k,p)})}return{redos:d,undos:u}}},r={id:pe.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:"specialPaste.besidesBorder"},onPasteCells:(s,l,c,d)=>{o._instanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);const u=[],h=[],{range:g,unitId:S,subUnitId:f}=l,v=new a.ObjectMatrix;c.forValue((R,P,M)=>{const A=M.s;if(typeof A=="object"){const D=a.Tools.deepClone(M);D.s&&(D.s={...A,bd:null}),v.setValue(g.rows[R],g.cols[P],D)}});const p={unitId:S,subUnitId:f,cellValue:v.getData()};u.push({id:m.SetRangeValuesMutation.id,params:p});const C=this._injector.invoke(m.SetRangeValuesUndoMutationFactory,p);h.push({id:m.SetRangeValuesMutation.id,params:C});const{undos:b,redos:E}=this._injector.invoke(R=>hs(l,c,R));return h.push(...b),u.push(...E),{redos:u,undos:h}}};return[e,t,i,r]}_getWorksheet(o,e){var i;const t=(i=this._instanceService.getUniverSheetInstance(o))==null?void 0:i.getSheetBySheetId(e);if(!t)throw new Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${o} and subUnitId ${e}.`);return t}_initCommandListener(){var e;this.disposeWithMe(this._commandService.onCommandExecuted(t=>{t.id===m.AddWorksheetMergeCommand.id?this._sheetClipboardService.removeMarkSelection():sf.includes(t.id)&&this._sheetClipboardService.removeMarkSelection()}));const o=this._configService.getConfig(Pe);(e=o==null?void 0:o.clipboardConfig)!=null&&e.hidePasteOptions||(this.disposeWithMe(this._commandService.onCommandExecuted(t=>{JS.includes(t.id)&&this._sheetClipboardService.disposePasteOptionsCache()})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===ct.id){if(!this._sheetClipboardService.getPasteMenuVisible())return;const r=t.params.unitId,s=this._sheetClipboardService.getPasteOptionsCache(),l=s==null?void 0:s.target.unitId;r===l&&this._refreshOptionalPaste$.next(Math.random())}})))}_initUIComponents(){var e;const o=this._configService.getConfig(Pe);(e=o==null?void 0:o.clipboardConfig)!=null&&e.hidePasteOptions||this.disposeWithMe(this._uiPartsService.registerComponent(_.BuiltInUIPart.CONTENT,()=>_.connectInjector(QS,this._injector)))}};en=rf([it(0,a.Inject(a.Injector)),it(1,a.IUniverInstanceService),it(2,y.IRenderManagerService),it(3,a.ICommandService),it(4,a.IContextService),it(5,a.IConfigService),it(6,We),it(7,_.IMessageService),it(8,a.Inject(a.LocaleService)),it(9,_.IUIPartsService)],en);var af=Object.getOwnPropertyDescriptor,lf=(n,o,e,t)=>{for(var i=t>1?void 0:t?af(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Di=(n,o)=>(e,t)=>o(e,t,n);let Bn=class extends a.Disposable{constructor(n,o,e,t,i){super(),this._selectionManagerService=n,this._themeService=o,this._instanceSrv=e,this._cmdSrv=t,this._definedNamesService=i,this._init()}_init(){this.disposeWithMe(O.merge(this._selectionManagerService.selectionMoveStart$,this._selectionManagerService.selectionMoving$,this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$).pipe(O.filter(n=>!!n)).subscribe(n=>{this._syncDefinedNameRange(n)})),this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async n=>{if(n==null)return;const{unitId:o}=n;let{formulaOrRefString:e}=n;if(e.substring(0,1)===J.operatorToken.EQUALS&&(e=e.substring(1)),!J.isReferenceStrings(e))return;const i=this._instanceSrv.getUnit(o),r=await this._getSelections(i,o,e);this._selectionManagerService.setSelections(r),this._cmdSrv.executeCommand(m.ScrollToCellOperation.id,{unitId:o,range:r[0].range})}))}_syncDefinedNameRange(n){if(n.length===0)return;const o=n[n.length-1],e=this._instanceSrv.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();t&&this._definedNamesService.setCurrentRange({range:o.range,unitId:e.getUnitId(),sheetId:t.getSheetId()})}async _getSelections(n,o,e){const t=e.split(",");let i=n.getActiveSheet();if(!i)return[];const r=[];for(let s=0;s<t.length;s++){const l=t[s].trim(),c=J.deserializeRangeWithSheet(l.trim());if(s===0){const u=n.getSheetBySheetName(c.sheetName);u&&i.getSheetId()!==u.getSheetId()&&(i=u,await this._cmdSrv.executeCommand(m.SetWorksheetActivateCommand.id,{subUnitId:i.getSheetId(),unitId:o}))}if(i.getName()!==c.sheetName)continue;let d=null;if(s===t.length-1){const u=c.range,{startRow:h,startColumn:g,endRow:S,endColumn:f}=u;d=m.getPrimaryForRange({startRow:h,startColumn:g,endRow:S,endColumn:f},i)}r.push({range:c.range,style:st(this._themeService),primary:d})}return r}};Bn=lf([Di(0,a.Inject(m.SheetsSelectionsService)),Di(1,a.Inject(a.ThemeService)),Di(2,a.IUniverInstanceService),Di(3,a.ICommandService),Di(4,J.IDefinedNamesService)],Bn);var cf=Object.getOwnPropertyDescriptor,df=(n,o,e,t)=>{for(var i=t>1?void 0:t?cf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},yt=(n,o)=>(e,t)=>o(e,t,n);const uf={pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},documentFlavor:a.DocumentFlavor.UNSPECIFIED,marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:a.HorizontalAlign.UNSPECIFIED,verticalAlign:a.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:a.WrapStrategy.WRAP,isRenderStyle:a.BooleanNumber.FALSE}};let Fn=class extends a.Disposable{constructor(n,o,e,t,i,r,s,l){super(),this._univerInstanceService=n,this._renderManagerService=o,this._editorBridgeService=e,this._commandService=t,this._rangeProtectionRuleModel=i,this._worksheetProtectionRuleModel=r,this._formulaEditorController=s,this._formulaEditorManagerService=l,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener()}_getEditorViewModel(n){var o;return(o=this._renderManagerService.getRenderById(n))==null?void 0:o.with(Te.DocSkeletonManagerService).getViewModel()}_syncFormulaEditorContent(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(n=>{n==null||this._editorBridgeService.isForceKeepVisible()||!this._rangeProtectionRuleModel.getRangeRuleInitState()||!this._worksheetProtectionRuleModel.getSheetRuleInitState()||this._editorSyncHandler(n)}))}_editorSyncHandler(n){var i,r,s;let o=a.Tools.deepClone((i=n.documentLayoutObject.documentModel)==null?void 0:i.getBody());const e=a.Tools.deepClone((r=n.documentLayoutObject.documentModel)==null?void 0:r.drawings),t=a.Tools.deepClone((s=n.documentLayoutObject.documentModel)==null?void 0:s.getDrawingsOrder());(!o||n.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===y.DeviceInputEventType.Dblclick)&&(o={dataStream:`\r
17
- `,paragraphs:[{startIndex:0}],textRuns:[]}),this._syncContentAndRender(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,o,e,t)}_commandExecutedListener(){const n=[a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Te.RichTextEditingMutation.id){const t=e.params,{unitId:i,trigger:r,isSync:s}=t;if(s||r===$.ReplaceSnapshotCommand.id)return;if(n.includes(i)){const l=this._univerInstanceService.getUnit(i,a.UniverInstanceType.UNIVER_DOC),c=i===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY;this._checkAndSetRenderStyleConfig(l),this._syncActionsAndRender(c,t)}}}));const o=[m.SetRangeValuesMutation.id,m.MoveRangeMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t,i,r,s,l,c,d;if(o.includes(e.id)){const u=this._editorBridgeService.getLatestEditCellState();if(u==null)return;let h=!1;const{row:g,column:S}=u;if(e.id===m.SetRangeValuesMutation.id&&e.params?(i=(t=e.params.cellValue)==null?void 0:t[g])!=null&&i[S]&&(h=!0):e.id===m.MoveRangeMutation.id&&e.params&&(s=(r=e.params.to.value)==null?void 0:r[g])!=null&&s[S]&&(h=!0),h){const f=a.Tools.deepClone((l=u.documentLayoutObject.documentModel)==null?void 0:l.getBody()),v=a.Tools.deepClone((c=u.documentLayoutObject.documentModel)==null?void 0:c.drawings),p=a.Tools.deepClone((d=u.documentLayoutObject.documentModel)==null?void 0:d.getDrawingsOrder());if(f==null)return;this._syncContentAndRender(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,f,v,p)}}}))}_syncActionsAndRender(n,o){var l;const e=[a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],t=this._renderManagerService.getRenderById(n);if(t==null)return;const i=t.with(Te.DocSkeletonManagerService).getSkeleton(),r=this._univerInstanceService.getUnit(n,a.UniverInstanceType.UNIVER_DOC),s=this._getEditorViewModel(n);r==null||s==null||(this._commandService.syncExecuteCommand(Te.RichTextEditingMutation.id,{...o,textRanges:null,isSync:!0,unitId:n,syncer:o.unitId}),s.reset(r),i.calculate(),e.includes(n)&&((l=t.mainComponent)==null||l.makeDirty()))}_syncContentAndRender(n,o,e,t){var d,u;n===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&o.paragraphs&&(o.paragraphs=this._clearParagraph(o.paragraphs));const i=[a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],r=(d=this._renderManagerService.getRenderById(n))==null?void 0:d.with(Te.DocSkeletonManagerService).getSkeleton(),s=this._univerInstanceService.getUnit(n,a.UniverInstanceType.UNIVER_DOC),l=this._getEditorViewModel(n);if(s==null||l==null||r==null)return;s.getSnapshot().body=o,s.getSnapshot().drawings=e!=null?e:{},s.getSnapshot().drawingsOrder=t!=null?t:[],this._checkAndSetRenderStyleConfig(s),l.reset(s);const c=this._renderManagerService.getRenderById(n);c!=null&&(r.calculate(),i.includes(n)&&((u=c.mainComponent)==null||u.makeDirty()),n===a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&this._formulaEditorController.autoScroll())}_checkAndSetRenderStyleConfig(n){var r;const o=n.getSnapshot(),{body:e}=o;if(o.id!==a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;o.documentStyle=uf;let t=o.documentStyle.renderConfig;t==null&&(t={},o.documentStyle.renderConfig=t);const i=this._formulaEditorManagerService.getPosition();if(i){const s=i.width;o.documentStyle.pageSize={width:s,height:1/0}}((r=e==null?void 0:e.dataStream)!=null?r:"").startsWith("=")?t.isRenderStyle=a.BooleanNumber.TRUE:t.isRenderStyle=a.BooleanNumber.FALSE}_clearParagraph(n){const o=a.Tools.deepClone(n);for(const e of o)e.paragraphStyle&&(e.paragraphStyle.horizontalAlign=a.HorizontalAlign.UNSPECIFIED);return o}};Fn=df([yt(0,a.IUniverInstanceService),yt(1,y.IRenderManagerService),yt(2,Ie),yt(3,a.ICommandService),yt(4,a.Inject(m.RangeProtectionRuleModel)),yt(5,a.Inject(m.WorksheetProtectionRuleModel)),yt(6,a.Inject(T.FormulaEditorController)),yt(7,An)],Fn);var hf=Object.getOwnPropertyDescriptor,mf=(n,o,e,t)=>{for(var i=t>1?void 0:t?hf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ki=(n,o)=>(e,t)=>o(e,t,n);const ms="SHEET_FORCE_STRING_ALERT";let wo=class extends a.Disposable{constructor(n,o,e,t,i,r){super(),this._context=n,this._hoverManagerService=o,this._cellAlertManagerService=e,this._localeService=t,this._zenZoneService=i,this._configService=r,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(n=>{var o,e;if(n){const t=n.location,i=this._context.unit,r=i.getActiveSheet();if(!r)return this._hideAlert();const s=r.getCell(t.row,t.col);if(!s||s.v===null||s.v===void 0)return this._hideAlert();let l;if(s!=null&&s.s){const c=i.getStyles().get(s.s);c!=null&&c.n&&(l=c.n)}if(a.isTextFormat(l==null?void 0:l.pattern)){this._hideAlert();return}if((s.t===a.CellValueType.FORCE_STRING||s.t===a.CellValueType.STRING)&&(a.isRealNum(s.v)||typeof s.v=="string"&&a.getNumfmtParseValueFilter(s.v))){if((o=this._configService.getConfig(Pe))!=null&&o.disableForceStringAlert)return;const c=this._cellAlertManagerService.currentAlert.get(ms),d=(e=c==null?void 0:c.alert)==null?void 0:e.location;if(d&&d.row===n.location.row&&d.col===n.location.col&&d.subUnitId===n.location.subUnitId&&d.unitId===n.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:xn.ERROR,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:t,width:200,height:74,key:ms});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(n=>{n&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(ms)}};wo=mf([ki(1,a.Inject(T.HoverManagerService)),ki(2,a.Inject(T.CellAlertManagerService)),ki(3,a.Inject(a.LocaleService)),ki(4,_.IZenZoneService),ki(5,a.IConfigService)],wo);var gf=Object.getOwnPropertyDescriptor,Sf=(n,o,e,t)=>{for(var i=t>1?void 0:t?gf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},gs=(n,o)=>(e,t)=>o(e,t,n);let To=class extends a.RxDisposable{constructor(n,o,e,t){super(),this._context=n,this._sheetSkeletonManagerService=o,this._sheetInterceptorService=e,this._configService=t,this._initViewModelIntercept()}_initViewModelIntercept(){const n={tl:{size:6,color:"#409f11"}};this.disposeWithMe(this._sheetInterceptorService.intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{priority:10,effect:a.InterceptorEffectEnum.Style,handler:(o,e,t)=>{var s,l,c;if(!((s=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:s.skeleton))return t(o);const r=e.rawData;if(!r||r.v===null||r.v===void 0)return t(o);if(((o==null?void 0:o.t)===a.CellValueType.FORCE_STRING||(o==null?void 0:o.t)===a.CellValueType.STRING)&&(a.isRealNum(r.v)||typeof r.v=="string"&&a.getNumfmtParseValueFilter(r.v))){const d=e.workbook.getStyles().get(r.s);return a.isTextFormat((l=d==null?void 0:d.n)==null?void 0:l.pattern)||(c=this._configService.getConfig(Pe))!=null&&c.disableForceStringMark||(o===r&&(o={...r}),o.markers={...o==null?void 0:o.markers,...n}),t(o)}return t(o)}}))}};To=Sf([gs(1,a.Inject(T.SheetSkeletonManagerService)),gs(2,a.Inject(m.SheetInterceptorService)),gs(3,a.IConfigService)],To);var ff=Object.getOwnPropertyDescriptor,vf=(n,o,e,t)=>{for(var i=t>1?void 0:t?ff(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},tn=(n,o)=>(e,t)=>o(e,t,n);let zn=class extends a.Disposable{constructor(n,o,e,t,i,r,s){super(),this._commandService=n,this._formatPainterService=o,this._univerInstanceService=e,this._renderManagerService=t,this._selectionManagerService=i,this._sheetInterceptorService=r,this._injector=s,this._initialize()}_initialize(){this._addDefaultHook()}_addDefaultHook(){const n={id:"default-format-painter",priority:0,isDefaultHook:!0,onStatusChange:o=>{if(o!==xe.OFF){const e=this._collectSelectionRangeFormat();e&&this._formatPainterService.setSelectionFormat(e)}},onApply:(o,e,t,i)=>this._getUndoRedoMutationInfo(o,e,t,i)};this._formatPainterService.addHook(n)}_collectSelectionRangeFormat(){const n=this._selectionManagerService.getCurrentLastSelection(),o=n==null?void 0:n.range;if(!o)return null;const{startRow:e,endRow:t,startColumn:i,endColumn:r}=o,s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),l=s==null?void 0:s.getActiveSheet();if(!l)return null;const c=l.getCellMatrix(),d=s.getStyles(),u=new a.ObjectMatrix,h=[];for(let g=e;g<=t;g++)for(let S=i;S<=r;S++){const f=c.getValue(g,S);u.setValue(g,S,d.getStyleByCell(f)||{});const{isMergedMainCell:v,...p}=l.getCellInfoInMergeData(g,S);v&&h.push({startRow:p.startRow,startColumn:p.startColumn,endRow:p.endRow,endColumn:p.endColumn})}return{styles:u,merges:h}}_getUndoRedoMutationInfo(n,o,e,t){const i=this._sheetInterceptorService,r=this._univerInstanceService,{merges:s,styles:l}=t;if(!l)return{undos:[],redos:[]};const{startRow:c,startColumn:d,endRow:u,endColumn:h}=l.getDataRange(),g=u-c+1,S=h-d+1,f=e.startRow===e.endRow&&e.startColumn===e.endColumn?{startRow:e.startRow,startColumn:e.startColumn,endRow:e.startRow+g-1,endColumn:e.startColumn+S-1}:e,v=Array.from({length:f.endRow-f.startRow+1},()=>Array.from({length:f.endColumn-f.startColumn+1},()=>({}))),p=[];v.forEach((L,W)=>{L.forEach((U,B)=>{const X=W%g+c,z=B%S+d,Y=l.getValue(X,z);Y&&(v[W][B].s=Object.keys(Y).length>0?Y:null)})});let C=0,b=0;s.forEach(L=>{L.startRow===c&&L.startColumn===d&&(C=L.endRow-L.startRow,b=L.endColumn-L.startColumn);const W={startRow:L.startRow-c,startColumn:L.startColumn-d,endRow:L.endRow-c,endColumn:L.endColumn-d},U=Math.max(1,Math.floor((f.endRow-f.startRow+1)/g)),B=Math.max(1,Math.floor((f.endColumn-f.startColumn+1)/S));for(let X=0;X<U;X++)for(let z=0;z<B;z++)p.push({startRow:W.startRow+X*g+f.startRow,startColumn:W.startColumn+z*S+f.startColumn,endRow:W.endRow+X*g+f.startRow,endColumn:W.endColumn+z*S+f.startColumn})});const E=[f],R=new a.ObjectMatrix,P=new a.ObjectMatrix;if(a.Tools.isArray(v))for(let L=0;L<E.length;L++){const{startRow:W,startColumn:U,endRow:B,endColumn:X}=E[L];for(let z=0;z<=B-W;z++)for(let Y=0;Y<=X-U;Y++)R.setValue(z+W,Y+U,{s:null}),P.setValue(z+W,Y+U,v[z][Y])}const M={subUnitId:o,unitId:n,cellValue:R.getMatrix()},A={subUnitId:o,unitId:n,cellValue:P.getMatrix()},D=this._injector.invoke(m.SetRangeValuesUndoMutationFactory,M),{undos:k,redos:N}=i.onCommandExecute({id:m.SetRangeValuesCommand.id,params:{...A,range:E}}),H=[],V=[];if(p.length>0){const L=m.getAddMergeMutationRangeByType(p),W=r.getUnit(n).getSheetBySheetId(o),U=Ru(W,L),B={unitId:n,subUnitId:o,ranges:L},X={unitId:n,subUnitId:o,ranges:L};H.push({id:m.RemoveWorksheetMergeMutation.id,params:B}),H.push({id:m.AddWorksheetMergeMutation.id,params:X});const z=this._injector.invoke(m.RemoveMergeUndoMutationFactory,B),Y=this._injector.invoke(m.AddMergeUndoMutationFactory,X);if(V.push({id:m.RemoveWorksheetMergeMutation.id,params:Y}),V.push({id:m.AddWorksheetMergeMutation.id,params:z}),U){const G=this._injector.invoke(K=>m.getClearContentMutationParamsForRanges(K,n,W,L));H.unshift(...G.redos),V.push(...G.undos)}}if(!a.Rectangle.equals(f,e)){const L={actualRow:f.startRow,actualColumn:f.startColumn,rangeType:a.RANGE_TYPE.NORMAL,isMerged:C>0||b>0,isMergedMainCell:!1,startRow:f.startRow,startColumn:f.startColumn,endRow:f.startRow+C,endColumn:f.startColumn+b};H.push({id:m.SetSelectionsOperation.id,params:{unitId:n,subUnitId:o,type:m.SelectionMoveType.ONLY_SET,selections:[{range:f,primary:L,style:null}]}}),V.unshift({id:m.SetSelectionsOperation.id,params:{unitId:n,subUnitId:o,type:m.SelectionMoveType.ONLY_SET,selections:[{range:e,primary:L,style:null}]}})}return{undos:[{id:m.SetRangeValuesMutation.id,params:M},{id:m.SetRangeValuesMutation.id,params:D},...k,...V],redos:[{id:m.SetRangeValuesMutation.id,params:M},{id:m.SetRangeValuesMutation.id,params:A},...N,...H]}}};zn=vf([tn(0,a.ICommandService),tn(1,qe),tn(2,a.IUniverInstanceService),tn(3,y.IRenderManagerService),tn(4,a.Inject(m.SheetsSelectionsService)),tn(5,a.Inject(m.SheetInterceptorService)),tn(6,a.Inject(a.Injector))],zn);var pf=Object.getOwnPropertyDescriptor,Cf=(n,o,e,t)=>{for(var i=t>1?void 0:t?pf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ss=(n,o)=>(e,t)=>o(e,t,n);let yo=class extends a.Disposable{constructor(n,o,e,t){super(),this._context=n,this._markSelectionService=o,this._commandService=e,this._sheetSkeletonManagerService=t,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){const n=[be.id];this.disposeWithMe(this._commandService.onCommandExecuted(o=>{n.includes(o.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((t,i)=>{t.exits.includes(o.id)&&this._markSelectionService.removeShape(i)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{n&&this._markSelectionService.refreshShapes()}))}};yo=Cf([Ss(1,a.Inject(Ot)),Ss(2,a.ICommandService),Ss(3,a.Inject(T.SheetSkeletonManagerService))],yo);const _f={[_.ContextMenuPosition.MAIN_AREA]:{[_.ContextMenuGroup.FORMAT]:{[Xe.name]:{order:0,menuItemFactory:Vn}},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}},[_.ContextMenuPosition.COL_HEADER]:{[_.ContextMenuGroup.FORMAT]:{[Xe.name]:{order:0,menuItemFactory:Vn}},[_.ContextMenuGroup.LAYOUT]:{order:1},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}},[_.ContextMenuPosition.ROW_HEADER]:{[_.ContextMenuGroup.FORMAT]:{[Xe.name]:{order:0,menuItemFactory:Vn}},[_.ContextMenuGroup.LAYOUT]:{order:1},[_.ContextMenuGroup.DATA]:{order:2},[_.ContextMenuGroup.OTHERS]:{order:3}}};function xc(){const n=Et();return n?I.jsx(If,{workbook:n}):null}function If(n){const{workbook:o}=n,[e,t]=x.useState([]),[i,r]=x.useState(""),s=x.useRef(new Map),l=x.useRef(null),c=_.useDependency(a.ICommandService),d=x.useCallback(()=>{const h=o.getActiveSheet().getSheetId(),g=o.getSheets(),S=o.getActiveSheet(),f=g.filter(v=>!v.isSheetHidden()).map((v,p)=>{var C;return{sheetId:v.getSheetId(),label:v.getName(),index:p,selected:S===v,color:(C=v.getTabColor())!=null?C:void 0}});if(t(f),r(h),s.current.has(h)){const v=s.current.get(h);if(v&&l.current){const p=l.current.clientWidth,C=v.clientWidth,E=v.offsetLeft-(p-C)/2;l.current.scrollTo({left:Math.max(0,E),behavior:"smooth"})}}s.current.clear()},[o]);x.useEffect(()=>d(),[d]);const u=x.useCallback(h=>{c.executeCommand(m.SetWorksheetActiveOperation.id,{unitId:o.getUnitId(),subUnitId:h})},[o]);return x.useEffect(()=>{const h=c.onCommandExecuted(g=>{switch(g.id){case m.SetWorksheetHideMutation.id:case m.RemoveSheetMutation.id:case m.SetWorksheetNameMutation.id:case m.InsertSheetMutation.id:case m.SetWorksheetOrderMutation.id:case m.SetWorksheetActiveOperation.id:d();break}});return()=>h.dispose()},[d]),I.jsx("div",{ref:l,className:F.clsx(`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/docs-ui`),require(`@univerjs/core`),require(`@univerjs/ui`),require(`@univerjs/engine-render`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/docs`),require(`react`),require(`@univerjs/engine-formula`),require(`@univerjs/telemetry`),require(`@univerjs/design`),require(`react/jsx-runtime`),require(`rxjs/operators`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/docs-ui`,`@univerjs/core`,`@univerjs/ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`rxjs`,`@univerjs/docs`,`react`,`@univerjs/engine-formula`,`@univerjs/telemetry`,`@univerjs/design`,`react/jsx-runtime`,`rxjs/operators`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsUi={},e.UniverDocsUi,e.UniverCore,e.UniverUi,e.UniverEngineRender,e.UniverSheets,e.rxjs,e.UniverDocs,e.React,e.UniverEngineFormula,e.UniverTelemetry,e.UniverDesign,e.React,e.rxjs.operators))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var m=Object.create,h=Object.defineProperty,g=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,v=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty,b=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=_(t),a=0,o=i.length,s;a<o;a++)s=i[a],!y.call(e,s)&&s!==n&&h(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=g(t,s))||r.enumerable});return e};c=((e,t,n)=>(n=e==null?{}:m(v(e)),b(t||!e||!e.__esModule?h(n,`default`,{value:e,enumerable:!0}):n,e)))(c);function x(e,n){if(e==null)return;let r=n.getRenderById(e);if(r==null)return;let{mainComponent:i,scene:a,engine:o,components:s}=r;return{document:i,docBackground:s.get(t.DOCS_VIEW_KEY.BACKGROUND),scene:a,engine:o}}function S(e){return e.getContextValue(n.FOCUSING_SHEET)}function C(e){return e.getContextValue(n.FOCUSING_SHEET)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(n.EDITOR_ACTIVATED)&&!e.getContextValue(n.FOCUSING_COMMON_DRAWINGS)}function w(e){return e.getContextValue(n.FOCUSING_SHEET)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(n.EDITOR_ACTIVATED)&&!e.getContextValue(n.FOCUSING_FX_BAR_EDITOR)&&!e.getContextValue(n.FOCUSING_COMMON_DRAWINGS)}function T(e){return e.getContextValue(n.FOCUSING_SHEET)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(n.EDITOR_ACTIVATED)}function E(e){return e.getContextValue(n.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(n.EDITOR_ACTIVATED)}function D(e){return e.getContextValue(n.FOCUSING_FX_BAR_EDITOR)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)}function O(e){return e.getContextValue(n.FOCUSING_SHEET)&&e.getContextValue(n.EDITOR_ACTIVATED)&&e.getContextValue(n.FOCUSING_EDITOR_INPUT_FORMULA)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)}function k(e){return e.getContextValue(n.FOCUSING_SHEET)&&e.getContextValue(n.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(n.EDITOR_ACTIVATED)&&!e.getContextValue(n.FOCUSING_EDITOR_INPUT_FORMULA)&&!e.getContextValue(n.FOCUSING_EDITOR_STANDALONE)}function A(e){let t=[],n=[],r=[];return e.forEach(e=>{t=t.concat(e.rows),n=n.concat(e.cols)}),t=Array.from(new Set(t)).sort((e,t)=>e-t),n=Array.from(new Set(n)).sort((e,t)=>e-t),e.forEach(e=>{r.push({startRow:t.findIndex(t=>t===e.rows[0]),endRow:t.findIndex(t=>t===e.rows[e.rows.length-1]),startColumn:n.findIndex(t=>t===e.cols[0]),endColumn:n.findIndex(t=>t===e.cols[e.cols.length-1])})}),{ranges:r,mapFunc:(e,r)=>({row:t[e],col:n[r]})}}let j=(0,n.createInterceptorKey)(`rangeMovePermissionCheck`),M=(0,n.createInterceptorKey)(`rangeFillPermissionCheck`),N=function(e){return e[e.FORMULA_EDITOR_SHOW=100]=`FORMULA_EDITOR_SHOW`,e[e.MARK_SELECTION=1e4]=`MARK_SELECTION`,e}({});function P(e){let t=e.getColorFromTheme(`primary.600`),r=e.getColorFromTheme(`white`),i=new n.ColorKit(t).setAlpha(.07).toRgbString();return{strokeWidth:1,stroke:t,fill:i,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:r,autofillSize:6,autofillStrokeWidth:1,autofillStroke:r,rowHeaderFill:i,rowHeaderStroke:t,rowHeaderStrokeWidth:1,columnHeaderFill:i,columnHeaderStroke:t,columnHeaderStrokeWidth:1,expandCornerSize:40}}let F=[10,400],ee=`RANGE_SELECTOR_COMPONENT_KEY`,I=`EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY`,L=function(e){return e.MAIN=`__SpreadsheetRender__`,e.ROW=`__SpreadsheetRowHeader__`,e.COLUMN=`__SpreadsheetColumnHeader__`,e.LEFT_TOP=`__SpreadsheetLeftTopPlaceholder__`,e}({});function te(e){"@babel/helpers - typeof";return te=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},te(e)}function ne(e,t){if(te(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(te(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function re(e){var t=ne(e,`string`);return te(t)==`symbol`?t:t+``}function R(e,t,n){return(t=re(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ie=class{constructor(){R(this,`_startColumn`,-1),R(this,`_startRow`,-1),R(this,`_endColumn`,-1),R(this,`_endRow`,-1),R(this,`_startX`,0),R(this,`_startY`,0),R(this,`_endX`,0),R(this,`_endY`,0),R(this,`_primary`,void 0),R(this,`_rangeType`,n.RANGE_TYPE.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._primary}get rangeType(){return this._rangeType}isEqual(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i}=this,{startColumn:a,startRow:o,endColumn:s,endRow:c}=e;return t===a&&n===o&&r===s&&i===c}highlightToSelection(){if(this._primary)return(0,n.convertCellToRange)(this._primary)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._primary}getRangeType(){return this._rangeType}setRangeType(e){this._rangeType=e}getValue(){return{rangeWithCoord:this.getRange(),primaryWithCoord:this._primary}}setValue(e,t){let{startColumn:n,startRow:r,endColumn:i,endRow:a,startX:o,startY:s,endX:c,endY:l,rangeType:u}=e;this._startColumn=n,this._startRow=r,this._endColumn=i,this._endRow=a,this._startX=o,this._startY=s,this._endX=c,this._endY=l,u!==void 0&&(this._rangeType=u),t!==void 0&&this.setCurrentCell(t)}setCurrentCell(e){this._primary=e}clearCurrentCell(){this._primary=null}};let ae={id:`sheet.command.set-row-header-width`,type:n.CommandType.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(i.IRenderManagerService);if(!n)return!1;let{unitId:r,subUnitId:a,size:o}=t,s=n.getRenderById(r);if(s){n.getRenderById(r).with(U).setRowHeaderSize(s,a,o);let{components:e}=s,t=e.get(L.ROW);t&&t.setCustomHeader({headerStyle:{size:o}},a)}return!0}},oe={id:`sheet.command.set-col-header-height`,type:n.CommandType.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(i.IRenderManagerService);if(!n)return!1;let{unitId:r,subUnitId:a,size:o}=t,s=n.getRenderById(r);if(s){n.getRenderById(r).with(U).setColumnHeaderSize(s,a,o);let{components:e}=s,t=e.get(L.COLUMN);t&&t.setCustomHeader({headerStyle:{size:o}},a)}return!0}};var se=class extends i.Layer{render(e,t=!1){let r=n.Tools.now();return super.render(e,t),this._afterRender(r),this}_afterRender(e){this.scene.getEngine().renderFrameTimeMetric$.next([`selectionLayer`,n.Tools.now()-e])}};function ce(e,t){let{startRow:n,startColumn:r,endRow:i,endColumn:a,rangeType:o}=t,s=i<n?i:n,c=i<n?n:i,l=a<r?a:r,u=a<r?r:a,d=e.getNoMergeCellWithCoordByIndex(s,l),f=e.getNoMergeCellWithCoordByIndex(c,u);return{startRow:n,startColumn:r,endRow:i,endColumn:a,rangeType:o,startY:(d==null?void 0:d.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(d==null?void 0:d.startX)||0,endX:(f==null?void 0:f.endX)||0}}function z(e,t){let{range:n,primary:r,style:i}=e;return{rangeWithCoord:ce(t,n),primaryWithCoord:r&&le(t,r),style:i}}function le(e,t){let{actualRow:n,actualColumn:r,isMerged:i,isMergedMainCell:a,startRow:o,startColumn:s,endRow:c,endColumn:l}=t,u=e.getNoMergeCellWithCoordByIndex(n,r),d=e.getNoMergeCellWithCoordByIndex(o,s),f=e.getNoMergeCellWithCoordByIndex(c,l);return{actualRow:n,actualColumn:r,isMerged:i,isMergedMainCell:a,startX:u.startX,startY:u.startY,endX:u.endX,endY:u.endY,mergeInfo:{startRow:o,startColumn:s,endRow:c,endColumn:l,startY:(d==null?void 0:d.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(d==null?void 0:d.startX)||0,endX:(f==null?void 0:f.endX)||0}}}let B=(0,n.createIdentifier)(`univer.sheet.selection-render-service`);var ue=class extends n.Disposable{get selectionMoving(){return this._selectionMoving}constructor(e,t,r,i,a){super(),this._injector=e,this._themeService=t,this._shortcutService=r,this._sheetSkeletonManagerService=i,this.contextService=a,R(this,`_downObserver`,void 0),R(this,`_scenePointerMoveSub`,void 0),R(this,`_scenePointerUpSub`,void 0),R(this,`_controlFillConfig$`,new o.BehaviorSubject(null)),R(this,`controlFillConfig$`,this._controlFillConfig$.asObservable()),R(this,`_selectionControls`,[]),R(this,`_startRangeWhenPointerDown`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),R(this,`_activeControlIndex`,-1),R(this,`_startViewportPosX`,0),R(this,`_startViewportPosY`,0),R(this,`_scrollTimer`,void 0),R(this,`_cancelDownSubscription`,void 0),R(this,`_cancelUpSubscription`,void 0),R(this,`_skeleton`,void 0),R(this,`_scene`,void 0),R(this,`_highlightHeader`,!0),R(this,`_rangeType`,n.RANGE_TYPE.NORMAL),R(this,`_selectionStyle`,void 0),R(this,`_remainLastEnabled`,!1),R(this,`_skipLastEnabled`,!1),R(this,`_singleSelectionEnabled`,!1),R(this,`_selectionMoveEnd$`,new o.BehaviorSubject([])),R(this,`selectionMoveEnd$`,this._selectionMoveEnd$.asObservable()),R(this,`_selectionMoving$`,new o.Subject),R(this,`selectionMoving$`,this._selectionMoving$.asObservable()),R(this,`_selectionMoveStart$`,new o.Subject),R(this,`selectionMoveStart$`,this._selectionMoveStart$.asObservable()),R(this,`_selectionMoving`,!1),R(this,`_selectionTheme`,void 0),R(this,`_activeViewport`,void 0),R(this,`interceptor`,new n.InterceptorManager({RANGE_MOVE_PERMISSION_CHECK:j,RANGE_FILL_PERMISSION_CHECK:M})),R(this,`_escapeShortcutDisposable`,null),this._initSelectionThemeFromThemeService(),this._initMoving()}get _shouldDetectMergedCells(){return this._rangeType===n.RANGE_TYPE.NORMAL}_initMoving(){this.disposeWithMe(this._selectionMoving$.subscribe(()=>{this._selectionMoving=!0})),this.disposeWithMe(this._selectionMoveEnd$.subscribe(()=>{this._selectionMoving=!1}))}_setSelectionStyle(e){this._selectionStyle=e}getViewPort(){return this._activeViewport}setSingleSelectionEnabled(e=!1){this._singleSelectionEnabled=e}newSelectionControl(e,t,n){let r=this.getSelectionControls().length,{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=new _e(e,r,this._selectionTheme,{highlightHeader:this._highlightHeader,rowHeaderWidth:i,columnHeaderHeight:a});this._selectionControls.push(o);let s=z(n,t);return o.updateRangeBySelectionWithCoord(s,t),o.setControlExtension({skeleton:t,scene:e,themeService:this._selectionTheme,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),o}resetSelectionsByModelData(e){let t=this.getSelectionControls(),n=this._skeleton;if(!(!t||!n)){for(let r=0,i=e.length;r<i;r++){let i=e[r],a=z(i,this._skeleton),o=t[r];o?o.updateRangeBySelectionWithCoord(a,n):this.isSelectionEnabled()&&this.newSelectionControl(this._scene,n,i)}e.length<t.length&&t.splice(e.length).forEach(e=>e.dispose())}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}refreshSelectionMoveEnd(){this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}_initSelectionThemeFromThemeService(){let e=this._themeService.getCurrentTheme();this._selectionTheme=new n.ThemeService,this._selectionTheme.setTheme(e)}setSelectionTheme(e){this._selectionTheme.setTheme(e)}_changeRuntime(e,t,n){this._skeleton=e,this._scene=t,this._activeViewport=n||(t==null?void 0:t.getViewports()[0]),t.findLayerByZIndex(1)||t.addLayer(new se(t,[],1))}getSkeleton(){return this._skeleton}getSelectionDataWithStyle(){let e=this._selectionControls;if(this._skeleton.worksheet){let[t,n]=this._skeleton.getLocation();return e.map(e=>{let r=e.getValue();return r.rangeWithCoord.sheetId=n,r.rangeWithCoord.unitId=t,r})}return[]}getSelectionControls(){return this._selectionControls}_addSelectionControlByModelData(e){var t;let n=this._skeleton,r=(t=e.style)==null?P(this._selectionTheme):t,i=this._scene;return e.style=r,this.newSelectionControl(i,n,e)}_clearAllSelectionControls(){let e=this._selectionControls;for(let t of e)t.dispose();this._selectionControls.length=0}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(e,t){if(e===void 0||t===void 0)return null;let n=this._getFreeze();if(!n||n.startRow<=0&&n.startColumn<=0||e>n.startRow&&t>n.startColumn)return this._scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(e<=n.startRow&&t<=n.startColumn)return this._scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP);if(e<=n.startRow&&t>n.startColumn)return this._scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(e>n.startRow&&t<=n.startColumn)return this._scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}getActiveRange(){let e=this.getSelectionControls(),t=e&&e[e.length-1].model;return t&&{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}setActiveSelectionIndex(e){this._activeControlIndex=e}resetActiveSelectionIndex(){this._activeControlIndex=-1}getActiveSelectionControl(){let e=this.getSelectionControls();if(e)return this._activeControlIndex<0?e[e.length-1]:e[this._activeControlIndex]}endSelection(){var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null}_reset(){var e;this._clearAllSelectionControls(),(e=this._downObserver)==null||e.unsubscribe(),this._downObserver=null}_setupPointerMoveListener(e,t,n,r=i.ScrollTimerType.ALL,a,o){var s,c;let l=0,u=0,d=a,f=o;this._scrollTimer=i.ScrollTimer.create(this._scene,r),this._scrollTimer.startScroll((s=e==null?void 0:e.left)==null?0:s,(c=e==null?void 0:e.top)==null?0:c,e);let p=this._scene,m=p.getActiveViewportByCoord(i.Vector2.FromArray([a,o]));this._scenePointerMoveSub=p.onPointerMove$.subscribeEvent(r=>{var a;let{offsetX:o,offsetY:s}=r,{x:c,y:h}=p.getCoordRelativeToViewport(i.Vector2.FromArray([o,s]));this._movingHandler(c,h,t,n);let g=c,_=h,v=this.getActiveSelectionControl(),y=this._getFreeze(),b=v==null?void 0:v.model,x=(a=p.getActiveViewportByCoord(i.Vector2.FromArray([o,s])))==null?this._getViewportByCell(b==null?void 0:b.endRow,b==null?void 0:b.endColumn):a;if((()=>{if(!m||!x||!e)return!1;let t=[i.SHEET_VIEWPORT_KEY.VIEW_MAIN,i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT];return t.includes(m.viewportKey)&&t.includes(x.viewportKey)})()){if(!m||!x||!e)return!1;let t=d<e.left&&c>e.left||d>e.left&&c<e.left,n=f<e.top&&h>e.top||f>e.top&&h<e.top;t&&(l+=1),n&&(u+=1);let r=m.viewportKey,a=x.viewportKey;if(r===i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP){var S,C;s<e.top&&((S=b==null?void 0:b.endRow)==null?0:S)<((C=y==null?void 0:y.startRow)==null?0:C)?_=e.top:n&&u%2==1&&e.scrollToViewportPos({viewportScrollY:0})}else if(r===i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT){var w,T;o<e.left&&((w=b==null?void 0:b.endColumn)==null?0:w)<((T=y==null?void 0:y.startColumn)==null?0:T)?g=e.left:t&&l%2==1&&e.scrollToViewportPos({viewportScrollX:0})}else if(r===a){var E,D,O,k;let t=!1,n=!1;r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP?(t=!0,n=!0):r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP?n=!0:r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT&&(t=!0),((E=b==null?void 0:b.endRow)==null?0:E)>((D=y==null?void 0:y.startRow)==null?0:D)&&(n=!1),((O=b==null?void 0:b.endColumn)==null?0:O)>((k=y==null?void 0:y.startColumn)==null?0:k)&&(t=!1),t&&(g=e.left),n&&(_=e.top)}else{let o={x:m.scrollX,y:m.scrollY},s={x:x.scrollX,y:x.scrollY},c=o.x!==s.x&&t&&l%2==1,d=o.y!==s.y&&n&&u%2==1;(c||d)&&(e.scrollToBarPos({x:c?o.x:void 0,y:d?o.y:void 0}),c||(g=e.left),d||(_=e.top)),(r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&a===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||a===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)&&(g=e.left),(r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&a===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||a===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP&&r===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP)&&(_=e.top)}d=c,f=h}this._scrollTimer.scrolling(g,_,()=>{this._movingHandler(c,h,t,n)})})}attachSelectionWithCoord(e){return z(e,this._skeleton)}attachPrimaryWithCoord(e){return le(this._skeleton,e)}getSelectionCellByPosition(e,t){return this.getCellWithCoordByOffset(e,t)}getCellWithCoordByOffset(e,t,n){let r=this._scene,a=n==null?this._skeleton:n,o=r.getViewportScrollXY(r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN)),{scaleX:s,scaleY:c}=r.getAncestorScale();return a.getCellWithCoordByOffset(e-o.x,t-o.y,s,c,o)}_movingHandler(e,t,r,a){var o,s,c,l,u;let d=this._skeleton,f=this._scene,[p,m]=d.getLocation(),h={startRow:(o=r==null?void 0:r.model.startRow)==null?-1:o,endRow:(s=r==null?void 0:r.model.endRow)==null?-1:s,startColumn:(c=r==null?void 0:r.model.startColumn)==null?-1:c,endColumn:(l=r==null?void 0:r.model.endColumn)==null?-1:l,unitId:p,sheetId:m},g=f.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),_=(u=this._getViewportByCell(h.endRow,h.endColumn))==null?g:u,v=f.getScrollXYInfoByViewport(i.Vector2.FromArray([this._startViewportPosX,this._startViewportPosY]),_),{scaleX:y,scaleY:b}=f.getAncestorScale();a===n.RANGE_TYPE.ROW?e=1/0:a===n.RANGE_TYPE.COLUMN&&(t=1/0);let x=this._skeleton.getCellByOffset(e,t,y,b,v);if(!x)return;let S={startRow:Math.min(x.startRow,this._startRangeWhenPointerDown.startRow),startColumn:Math.min(x.startColumn,this._startRangeWhenPointerDown.startColumn),endRow:Math.max(x.endRow,this._startRangeWhenPointerDown.endRow),endColumn:Math.max(x.endColumn,this._startRangeWhenPointerDown.endColumn)};this._shouldDetectMergedCells&&(S=d.expandRangeByMerge(S,this.inRefSelectionMode()));let C=z({range:S,primary:void 0,style:null},d);C.rangeWithCoord.unitId=p,C.rangeWithCoord.sheetId=m,C.rangeWithCoord.rangeType=a;let w=h.startRow!==S.startRow||h.startColumn!==S.startColumn||h.endRow!==S.endRow||h.endColumn!==S.endColumn;r!=null&&w&&(r.updateRangeBySelectionWithCoord(C),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_clearUpdatingListeners(){var e,t,n,r,i;this._scene.enableObjectsEvent(),(e=this._scenePointerMoveSub)==null||e.unsubscribe(),this._scenePointerMoveSub=null,(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerUpSub=null,(n=this._cancelDownSubscription)==null||n.unsubscribe(),this._cancelDownSubscription=null,(r=this._cancelUpSubscription)==null||r.unsubscribe(),this._cancelUpSubscription=null,(i=this._scrollTimer)==null||i.dispose()}_addEndingListeners(){var e,t,n;let r=this._scene,i=(e=r.getEngine())==null?void 0:e.activeScene;!i||i===r||((t=this._cancelDownSubscription)==null||t.unsubscribe(),this._cancelDownSubscription=null,(n=this._cancelUpSubscription)==null||n.unsubscribe(),this._cancelUpSubscription=null,this._cancelDownSubscription=i.onPointerDown$.subscribeEvent(()=>this._clearUpdatingListeners()),this._cancelUpSubscription=i.onPointerUp$.subscribeEvent(()=>this._clearUpdatingListeners()))}_getSelectionWithCoordByOffset(e,t,r,i,a){let o=this._skeleton;if(o==null)return null;if(this._shouldDetectMergedCells){let s=o==null?void 0:o.getCellWithCoordByOffset(e,t,r,i,a,{firstMatch:!0});return s?{primaryWithCoord:s,rangeWithCoord:(0,n.convertCellToRange)(s)}:void 0}let{row:s,column:c}=o.getCellIndexByOffset(e,t,r,i,a),{startX:l,startY:u,endX:d,endY:f}=o.getNoMergeCellWithCoordByIndex(s,c),p={startY:u,endY:f,startX:l,endX:d,startRow:s,endRow:s,startColumn:c,endColumn:c};return{primaryWithCoord:{mergeInfo:p,actualRow:s,actualColumn:c,isMerged:!1,isMergedMainCell:!1,startY:u,endY:f,startX:l,endX:d},rangeWithCoord:p}}_checkClearPreviousControls(e){this.getSelectionControls().length!==0&&(!e.ctrlKey&&!e.shiftKey&&!this._remainLastEnabled||this._singleSelectionEnabled&&!e.shiftKey)&&this._clearAllSelectionControls()}_makeSelectionByTwoCells(e,t,n,r,i){let{actualRow:o,actualColumn:s,mergeInfo:c}=e;this._startRangeWhenPointerDown={...e.mergeInfo};let l=Math.min(o,t.startRow,c.startRow),u=Math.max(o,t.endRow,c.endRow),d=Math.min(s,t.startColumn,c.startColumn),f=Math.max(s,t.endColumn,c.endColumn),p=z({range:n.expandRangeByMerge({startRow:l,startColumn:d,endRow:u,endColumn:f}),primary:(0,a.convertPrimaryWithCoordToPrimary)(e),style:null},n);i.updateRangeBySelectionWithCoord(p)}isSelectionEnabled(){return this.contextService.getContextValue(a.SELECTIONS_ENABLED)}isSelectionDisabled(){return this.contextService.getContextValue(a.SELECTIONS_ENABLED)===!1}inRefSelectionMode(){return this.contextService.getContextValue(a.REF_SELECTIONS_ENABLED)}};function de(e){return{range:{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:n.RANGE_TYPE.ALL},primary:fe(e).primary,style:null}}function fe(e){return pe(e,{startRow:0,startColumn:0,endRow:0,endColumn:0})}function pe(e,t){let r=e.worksheet.getCellInfoInMergeData(t.startRow,t.startColumn),i=e.worksheet.getCellInfoInMergeData(t.endRow,t.endColumn);return{range:{startRow:r.startRow,startColumn:r.startColumn,endRow:i.endRow,endColumn:i.endColumn,rangeType:n.RANGE_TYPE.NORMAL},primary:{actualRow:r.startRow,actualColumn:r.startColumn,startRow:r.startRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn,isMerged:r.isMerged,isMergedMainCell:r.isMergedMainCell},style:null}}function V(e,t){return function(n,r){t(n,r,e)}}function H(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let U=class extends n.Disposable{constructor(e,t,n){super(),this._context=e,this._injector=t,this._sheetSkService=n,R(this,`_sheetId`,``),R(this,`_sheetSkeletonParamStore`,new Map),R(this,`_currentSkeleton$`,new o.BehaviorSubject(null)),R(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),R(this,`_currentSkeletonBefore$`,new o.BehaviorSubject(null)),R(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable()),this.disposeWithMe(()=>{this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParamStore.forEach(e=>this.disposeSkeleton(e.sheetId)),this._sheetSkeletonParamStore.clear()}),this._initRemoveSheet()}_initRemoveSheet(){this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this.disposeSkeleton(e.getSheetId())}))}getCurrentSkeleton(){var e;return(e=this.getCurrentParam())==null?void 0:e.skeleton}getCurrent(){return this.getCurrentParam()}getCurrentParam(){return this._getSkeletonParam(this._sheetId)}getSkeleton(e){return this._getSkeleton(e)}getSkeletonParam(e){return this._getSkeletonParam(e)}getWorksheetSkeleton(e){return this.getSkeletonParam(e)}getUnitSkeleton(e,t){let n=this._getSkeletonParam(t);return n!=null&&(n.unitId=e),n}setCurrent(e){this._setCurrent(e.sheetId)}setSkeletonParam(e,t){this._sheetSkService.setSkeleton(t.unitId,e,t.skeleton),this._sheetSkeletonParamStore.set(e,t)}_setCurrent(e){this._sheetId=e;let t=this._getSkeletonParam(e),n=this._context.unitId;if(t!=null)this.reCalculate(t);else{let t=this._context.unit.getSheetBySheetId(e);if(t==null)return;let r=this._context.scene,i=this._buildSkeleton(t,r);this.setSkeletonParam(e,{unitId:n,sheetId:e,skeleton:i,dirty:!1})}let r=this._getSkeletonParam(e);this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r)}reCalculate(e){e||(e=this.getCurrentParam()),e!=null&&(e.dirty&&(e.skeleton.makeDirty(!0),e.dirty=!1),e.skeleton.calculate())}makeDirty(e,t=!0){let n=this._getSkeletonParam(e.sheetId);n!=null&&(n.dirty=t)}getOrCreateSkeleton(e){return this.ensureSkeleton(e.sheetId)}ensureSkeleton(e){let t=this._getSkeletonParam(e);if(t)return t.skeleton;let n=this._context.unit.getSheetBySheetId(e);if(!n)return;let r=this._buildSkeleton(n);return this.setSkeletonParam(e,{unitId:this._context.unitId,sheetId:e,skeleton:r,dirty:!1}),r}disposeSkeleton(e){let t=this.getSkeletonParam(e);t&&(t.skeleton.dispose(),this._sheetSkeletonParamStore.delete(e),this._sheetSkService.deleteSkeleton(t.unitId,e))}attachRangeWithCoord(e){let t=this.getCurrentSkeleton();return t?ce(t,e):null}_getSkeletonParam(e){return this._sheetSkeletonParamStore.get(e)}_getSkeleton(e){let t=this._getSkeletonParam(e);return t?t.skeleton:null}_buildSkeleton(e,t){return this._injector.createInstance(i.SpreadsheetSkeleton,e,this._context.unit.getStyles())}setColumnHeaderSize(e,t,n){var r;if(!e)return;let o=(r=this.getWorksheetSkeleton(t))==null?void 0:r.skeleton;if(!o)return;o.columnHeaderHeight=n,e.scene.getViewports()[0].top=n,e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).setViewportSize({height:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT).setViewportSize({height:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM).setViewportSize({top:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP).setViewportSize({top:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).setViewportSize({height:n});let s=e==null?void 0:e.with(a.SheetsSelectionsService),c=e==null?void 0:e.with(B),l=s.getCurrentSelections();c.resetSelectionsByModelData(l);let u=this.getUnitSkeleton(e.unitId,t);u&&(u.commandId=oe.id,this._currentSkeleton$.next(u))}setRowHeaderSize(e,t,n){var r;let o=(r=this.getWorksheetSkeleton(t))==null?void 0:r.skeleton;if(!e||!o)return;o.rowHeaderWidth=n;let s=n-(e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).width||46),c=e.scene.getViewports()[0].left;e.scene.getViewports()[0].left=c+s,e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM).setViewportSize({width:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP).setViewportSize({width:n}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT).setViewportSize({left:n});let l=e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).left||0;e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT).setViewportSize({left:l+s}),e.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP).setViewportSize({width:n});let u=e==null?void 0:e.with(a.SheetsSelectionsService),d=e==null?void 0:e.with(B),f=u.getCurrentSelections();d.resetSelectionsByModelData(f);let p=this.getCurrent();p&&(p.commandId=ae.id,this._currentSkeleton$.next(p))}};U=H([V(1,(0,n.Inject)(n.Injector)),V(2,(0,n.Inject)(a.SheetSkeletonService))],U);let me=`__SpreadsheetHelperSelectionTempRect`;var he=class{constructor(e,t){this._control=e,R(this,`_startOffsetX`,0),R(this,`_startOffsetY`,0),R(this,`_relativeSelectionPositionRow`,0),R(this,`_relativeSelectionPositionColumn`,0),R(this,`_relativeSelectionRowLength`,0),R(this,`_relativeSelectionColumnLength`,0),R(this,`_scenePointerMoveSub`,void 0),R(this,`_scenePointerUpSub`,void 0),R(this,`_disabled`,!1),R(this,`_helperSelection`,void 0),R(this,`_scrollTimer`,void 0),R(this,`_activeViewport`,void 0),R(this,`_targetSelection`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),R(this,`_isInMergeState`,!1),R(this,`_fillControlColors`,[]),R(this,`_skeleton`,void 0),R(this,`_scene`,void 0),R(this,`_themeService`,void 0),R(this,`_injector`,void 0),R(this,`_selectionHooks`,void 0),this._skeleton=t.skeleton,this._scene=t.scene,this._themeService=t.themeService,this._injector=t.injector,this._selectionHooks=t.selectionHooks,this._initialControl(),this._initialWidget(),this._initialAutoFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var e,t;(e=this._scrollTimer)==null||e.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(t=this._helperSelection)==null||t.dispose()}setDisabled(e){this._disabled=e}_getFreeze(){var e;return(e=(0,i.withCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,U,this._injector.get(n.IUniverInstanceService),this._injector.get(i.IRenderManagerService)))==null||(e=e.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(e,t){let n=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(t.viewportKey){case i.SHEET_VIEWPORT_KEY.VIEW_MAIN:return e.endRow>=n.startRow&&e.endColumn>=n.startColumn;case i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP:case i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT:return e.endColumn>=n.startColumn&&e.startRow<n.startRow;case i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT:case i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM:return e.endRow>=n.startRow&&e.startColumn<n.startColumn;case i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP:case i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT:case i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP:case i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP:return e.startRow<n.startRow&&e.startColumn<n.startColumn;default:break}}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}_initialControl(){let{leftControl:e,rightControl:t,topControl:r,bottomControl:a}=this._control;[e,t,r,a].forEach(e=>{e.onPointerEnter$.subscribeEvent(()=>{var t;((t=this._injector.get(B,n.Quantity.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(j)(!1,null))!==!1&&e.setCursor(i.CURSOR_TYPE.MOVE)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._controlPointerDownHandler.bind(this))})}_controlMoving(e,t){var n;let r=this._scene,a=r.getScrollXYInfoByViewport(i.Vector2.FromArray([e,t])),{scaleX:o,scaleY:s}=r.getAncestorScale(),{row:c,column:l}=this._skeleton.getCellIndexByOffset(e,t,o,s,a),u=this._skeleton.getRowCount()-1,d=this._skeleton.getColumnCount()-1,f=Math.max(0,c+this._relativeSelectionPositionRow),p=f+this._relativeSelectionRowLength;p>u&&(p=u,p-f<this._relativeSelectionRowLength&&(f=p-this._relativeSelectionRowLength));let m=Math.max(0,l+this._relativeSelectionPositionColumn),h=m+this._relativeSelectionColumnLength;h>d&&(h=d,h-m<this._relativeSelectionColumnLength&&(m=h-this._relativeSelectionColumnLength));let g=this._skeleton.worksheet.getCellInfoInMergeData(f,m),_=z({range:{startRow:f,endRow:p,startColumn:m,endColumn:h},primary:g,style:null},this._skeleton),v=this._skeleton.getNoMergeCellWithCoordByIndex(f,m),y=this._skeleton.getNoMergeCellWithCoordByIndex(p,h),b=(v==null?void 0:v.startY)||0,x=(y==null?void 0:y.endY)||0,S=(v==null?void 0:v.startX)||0,C=(y==null?void 0:y.endX)||0;(n=this._helperSelection)==null||n.transformByState({left:S,top:b,width:C-S,height:x-b}),this._targetSelection={..._.rangeWithCoord},this._control.selectionMoving$.next(_.rangeWithCoord)}_controlPointerDownHandler(e){let{offsetX:t,offsetY:r}=e,a=this._scene,o=a.getCoordRelativeToViewport(i.Vector2.FromArray([t,r])),{x:s,y:c}=o,l=a.getScrollXYInfoByViewport(o),{scaleX:u,scaleY:d}=a.getAncestorScale(),f=this._skeleton.getCellIndexByOffset(s,c,u,d,l);this._startOffsetX=s,this._startOffsetY=c;let{row:p,column:m}=f,{startRow:h,startColumn:g,endRow:_,endColumn:v}=this._control.model,y=0,b=0;p<h?--y:p>_&&(y+=1),m<g?--b:m>v&&(b+=1),this._relativeSelectionPositionRow=h-p+y,this._relativeSelectionPositionColumn=g-m+b,this._relativeSelectionRowLength=_-h,this._relativeSelectionColumnLength=v-g;let x=this._control.currentStyle,S=this._getScale();this.isHelperSelection&&(this._helperSelection=new i.Rect(me,{stroke:x.stroke,strokeWidth:x.strokeWidth/S}),a.addObject(this._helperSelection));let C=a.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),w=i.ScrollTimer.create(a);this._scrollTimer=w,w.startScroll(s,c,C),a.disableObjectsEvent(),this._scenePointerMoveSub=a.onPointerMove$.subscribeEvent(e=>{var t;if(this._disabled)return;let{offsetX:r,offsetY:o}=e;if(((t=this._injector.get(B,n.Quantity.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(j)(!1,null))===!1)return;let{x:s,y:c}=a.getCoordRelativeToViewport(i.Vector2.FromArray([r,o]));this._controlMoving(s,c),a.setCursor(i.CURSOR_TYPE.MOVE),w.scrolling(s,c,()=>{this._controlMoving(s,c)})}),this._scenePointerUpSub=a.onPointerUp$.subscribeEvent(()=>{var e,t,n,r;(e=this._helperSelection)==null||e.dispose();let i=this._scene;i.resetCursor(),this._clearObserverEvent(),i.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.selectionMoveEnd$.next(this._targetSelection),(n=(r=this._selectionHooks).selectionMoveEnd)==null||n.call(r)})}_initialWidget(){let{topLeftWidget:e,topCenterWidget:t,topRightWidget:n,middleLeftWidget:r,middleRightWidget:a,bottomLeftWidget:o,bottomCenterWidget:s,bottomRightWidget:c}=this._control,l=[i.CURSOR_TYPE.NORTH_WEST_RESIZE,i.CURSOR_TYPE.NORTH_RESIZE,i.CURSOR_TYPE.NORTH_EAST_RESIZE,i.CURSOR_TYPE.WEST_RESIZE,i.CURSOR_TYPE.EAST_RESIZE,i.CURSOR_TYPE.SOUTH_WEST_RESIZE,i.CURSOR_TYPE.SOUTH_RESIZE,i.CURSOR_TYPE.SOUTH_EAST_RESIZE];[e,t,n,r,a,o,s,c].forEach((e,t)=>{e.onPointerEnter$.subscribeEvent(()=>{e.setCursor(l[t])}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(e=>{this._widgetPointerDownEvent(e,l[t])})})}_widgetPointerDownEvent(e,t){let n=this._scene,{offsetX:r,offsetY:a}=e,{x:o,y:s}=n.getCoordRelativeToViewport(i.Vector2.FromArray([r,a]));this._startOffsetX=r,this._startOffsetY=a;let{startRow:c,startColumn:l,endRow:u,endColumn:d}=this._control.model,f=Math.min(c,u),p=Math.min(l,d),m=Math.max(c,u),h=Math.max(l,d);this._relativeSelectionPositionRow=f,this._relativeSelectionPositionColumn=p,this._relativeSelectionRowLength=m-f,this._relativeSelectionColumnLength=h-p,t===i.CURSOR_TYPE.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=m,this._relativeSelectionPositionColumn=h):t===i.CURSOR_TYPE.NORTH_RESIZE||t===i.CURSOR_TYPE.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=m:t===i.CURSOR_TYPE.WEST_RESIZE||t===i.CURSOR_TYPE.SOUTH_WEST_RESIZE?this._relativeSelectionPositionColumn=h:t===i.CURSOR_TYPE.SOUTH_RESIZE&&(this._relativeSelectionPositionRow=f);let g=i.ScrollTimer.create(n),_=n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);g.startScroll(o,s,_),this._scrollTimer=g,n.disableObjectsEvent(),this._scenePointerMoveSub=n.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:a}=e,{x:o,y:s}=n.getCoordRelativeToViewport(i.Vector2.FromArray([r,a]));this._widgetMoving(o,s,t),n.setCursor(t),g.scrolling(o,s,()=>{this._widgetMoving(o,s,t)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var e,t,n;let r=this._scene;r.resetCursor(),this._clearObserverEvent(),r.enableObjectsEvent(),(e=this._scrollTimer)==null||e.dispose(),this._control.selectionScaled$.next(this._targetSelection),(t=(n=this._selectionHooks).selectionMoveEnd)==null||t.call(n)})}_widgetMoving(e,t,n){let r=this._scene,a=r.getScrollXYInfoByViewport(i.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:o,scaleY:s}=r.getAncestorScale(),{row:c,column:l}=this._skeleton.getCellIndexByOffset(e,t,o,s,a),u=this._relativeSelectionPositionRow,d=this._relativeSelectionPositionColumn,f=c,p=l;n===i.CURSOR_TYPE.NORTH_WEST_RESIZE?(u=c,d=l,f=this._relativeSelectionPositionRow,p=this._relativeSelectionPositionColumn):n===i.CURSOR_TYPE.NORTH_RESIZE?(u=c,d=this._relativeSelectionPositionColumn,f=this._relativeSelectionPositionRow,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):n===i.CURSOR_TYPE.NORTH_EAST_RESIZE?(u=c,d=this._relativeSelectionPositionColumn,f=this._relativeSelectionPositionRow,p=l):n===i.CURSOR_TYPE.WEST_RESIZE?(u=this._relativeSelectionPositionRow,d=l,f=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,p=this._relativeSelectionPositionColumn):n===i.CURSOR_TYPE.EAST_RESIZE?f=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:n===i.CURSOR_TYPE.SOUTH_WEST_RESIZE?(u=this._relativeSelectionPositionRow,d=l,f=c,p=this._relativeSelectionPositionColumn):n===i.CURSOR_TYPE.SOUTH_RESIZE&&(u=this._relativeSelectionPositionRow,d=this._relativeSelectionPositionColumn,f=c,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);let m=z({range:this._swapPositions(u,d,f,p),primary:this._skeleton.getCellWithMergeInfoByIndex(u,d),style:null},this._skeleton);this._targetSelection={...m.rangeWithCoord},this._control.updateRangeBySelectionWithCoord(m),this._control.selectionScaling$.next(this._targetSelection)}_initialAutoFill(){let{fillControl:e}=this._control;e.onPointerEnter$.subscribeEvent(t=>{this._injector.get(B).interceptor.fetchThroughInterceptors(M)(!1,{x:t.offsetX,y:t.offsetY,skeleton:this._skeleton,scene:this._scene})&&e.setCursor(i.CURSOR_TYPE.CROSSHAIR)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._autoFillForPointerdown.bind(this))}_autoFillMoving(e,t){let r=this._scene,o=r.getViewportScrollXY(this._activeViewport),{scaleX:s,scaleY:c}=r.getAncestorScale(),{row:l,column:u}=this._skeleton.getCellIndexByOffset(e,t,s,c,o),d=r.getCoordRelativeToViewport(i.Vector2.FromArray([e,t])),f=this._skeleton.getRowCount()-1,p=this._skeleton.getColumnCount()-1,m=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn,g=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,_=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,v=!1,y=!0;if((u<h||u>_)&&l>=m&&l<=g){let e=this._fillRuler(u,h,_,this._relativeSelectionColumnLength,p);h=e.startRowOrColumn,_=e.endRowOrColumn,v=e.isLighten,y=!1}else if((l<m||l>g)&&u>=h&&u<=_){let e=this._fillRuler(l,m,g,this._relativeSelectionRowLength,f);m=e.startRowOrColumn,g=e.endRowOrColumn,v=e.isLighten}else if(Math.abs(this._startOffsetX-d.x-o.x)/2>Math.abs(this._startOffsetY-d.y-o.y)){let e=this._fillRuler(u,h,_,this._relativeSelectionColumnLength,p);h=e.startRowOrColumn,_=e.endRowOrColumn,v=e.isLighten,y=!1}else{let e=this._fillRuler(l,m,g,this._relativeSelectionRowLength,f);m=e.startRowOrColumn,g=e.endRowOrColumn,v=e.isLighten}let b=this._skeleton.getNoMergeCellWithCoordByIndex(m,h),x=this._skeleton.getNoMergeCellWithCoordByIndex(g,_),S=(b==null?void 0:b.startY)||0,C=(x==null?void 0:x.endY)||0,w=(b==null?void 0:b.startX)||0,T=(x==null?void 0:x.endX)||0;v?this._controlHandler((e,t)=>{let r=new n.ColorKit(this._fillControlColors[t]).lighten(35).toRgbString();e.setProps({fill:r})}):this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})});let E=a.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/this._getScale();if(m===g&&y===!0||h===_&&y===!1){var D;(D=this._helperSelection)==null||D.hide()}else{var O,k;(O=this._helperSelection)==null||O.transformByState({left:w-E/2,top:S-E/2,width:T-w,height:C-S}),(k=this._helperSelection)==null||k.show()}this._targetSelection={startY:S,endY:C,startX:w,endX:T,startRow:m,endRow:g,startColumn:h,endColumn:_},this._control.selectionFilling$.next(this._targetSelection)}_autoFillForPointerdown(e){let{offsetX:t,offsetY:r}=e,o=this._scene,{x:s,y:c}=o.getCoordRelativeToViewport(i.Vector2.FromArray([t,r]));this._startOffsetX=s,this._startOffsetY=c;let{startRow:l,startColumn:u,endRow:d,endColumn:f}=this._control.model;this._isInMergeState=this._hasMergeInRange(l,u,d,f),this._relativeSelectionPositionRow=l,this._relativeSelectionPositionColumn=u,this._relativeSelectionRowLength=d-l,this._relativeSelectionColumnLength=f-u;let p=this._control.currentStyle,m=p==null?void 0:p.stroke,h=p==null?void 0:p.strokeWidth,g=P(this._themeService);m==null&&(m=g.stroke),h==null&&(h=g.strokeWidth);let _=this._getScale();h/=_;let v=a.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/_,y=new n.ColorKit(m).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new i.Rect(me,{stroke:y,strokeWidth:h+v/2}),o.addObject(this._helperSelection)),this._activeViewport=o.getActiveViewportByCoord(i.Vector2.FromArray([t,r]));let b=o.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),x=i.ScrollTimer.create(o,this._activeViewport.viewportKey===i.SHEET_VIEWPORT_KEY.VIEW_MAIN?i.ScrollTimerType.ALL:i.ScrollTimerType.NONE);x.startScroll(s,c,b),this._scrollTimer=x,o.disableObjectsEvent(),this._controlHandler(e=>{this._fillControlColors.push(e.fill)}),this._scenePointerMoveSub=o.onPointerMove$.subscribeEvent(t=>{var n;let{offsetX:r,offsetY:a}=t,s=o.getActiveViewportByCoord(i.Vector2.FromArray([r,a]));if(!this._injector.get(B).interceptor.fetchThroughInterceptors(M)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton,scene:this._scene}))return;let{x:c,y:f}=o.getCoordRelativeToViewport(i.Vector2.FromArray([r,a]));this._autoFillMoving(c,f),o.setCursor(i.CURSOR_TYPE.CROSSHAIR);let p=this._targetSelection;if(b&&s&&((n=this._activeViewport)==null?void 0:n.viewportKey)!==(s==null?void 0:s.viewportKey)){let e;p.startRow===l?p.endRow===d?p.startColumn===u?(x.scrollTimerType=i.ScrollTimerType.X,e={...p,startColumn:p.endColumn}):(x.scrollTimerType=i.ScrollTimerType.X,e={...p,endColumn:p.startColumn}):(x.scrollTimerType=i.ScrollTimerType.Y,e={...p,startRow:p.endRow}):(x.scrollTimerType=i.ScrollTimerType.Y,e={...p,endRow:p.startRow}),this._isSelectionInViewport(e,s)&&(this._viewportMainScrollBarNeedResetPosition(x.scrollTimerType,this._activeViewport.viewportKey,s.viewportKey)&&b.scrollToBarPos({x:x.scrollTimerType===i.ScrollTimerType.X?0:void 0,y:x.scrollTimerType===i.ScrollTimerType.Y?0:void 0}),this._activeViewport=s)}x.scrolling(c,f,()=>{this._autoFillMoving(c,f)})}),this._scenePointerUpSub=o.onPointerUp$.subscribeEvent(()=>{var e,t;(e=this._helperSelection)==null||e.dispose();let n=this._scene;n.resetCursor(),this._clearObserverEvent(),n.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})}),this._fillControlColors=[]})}_viewportMainScrollBarNeedResetPosition(e,t,n){return e===i.ScrollTimerType.X&&(t===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||t===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP)&&(n===i.SHEET_VIEWPORT_KEY.VIEW_MAIN||n===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP)||e===i.ScrollTimerType.Y&&(t===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||t===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP)&&(n===i.SHEET_VIEWPORT_KEY.VIEW_MAIN||n===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}_hasMergeInRange(e,t,n,r){return this._skeleton.worksheet.getMergedCellRange(e,t,n,r).length>0}_swapPositions(e,t,n,r){return{startRow:Math.min(e,n),startColumn:Math.min(t,r),endRow:Math.max(e,n),endColumn:Math.max(t,r)}}_controlHandler(e){let{leftControl:t,rightControl:n,topControl:r,bottomControl:i,backgroundControlTop:a,backgroundControlMiddleLeft:o,backgroundControlMiddleRight:s,backgroundControlBottom:c,fillControl:l}=this._control,u=[t,n,r,i,a,o,s,c,l];for(let t=0,n=u.length;t<n;t++){let n=u[t];e(n,t)}}_fillRuler(e,t,n,r,i){let a=!1;if(e<t)if(this._isInMergeState&&e<t){let n=t-e,i=r+1,a=Math.ceil(n/i),o=t-a*i;o<0&&(o=t-(a-1)*i),t=o}else t=e;else if(e>=t&&e<=n)a=!0,this._isInMergeState||(n=e);else if(this._isInMergeState&&e>n){let t=e-n,a=r+1,o=Math.ceil(t/a),s=n+o*a;s>i&&(s=n+(o-1)*a),n=s}else n=e;return{rowOrColumn:e,startRowOrColumn:t,endRowOrColumn:n,isLighten:a}}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}};let W=function(e){return e.Selection=`__SpreadsheetSelectionShape__`,e.top=`__SpreadsheetSelectionTopControl__`,e.bottom=`__SpreadsheetSelectionBottomControl__`,e.left=`__SpreadsheetSelectionShapeLeftControl__`,e.right=`__SpreadsheetSelectionShapeRightControl__`,e.backgroundTop=`__SpreadsheetSelectionBackgroundControlTop__`,e.backgroundMiddleLeft=`__SpreadsheetSelectionBackgroundControlMiddleLeft__`,e.backgroundMiddleRight=`__SpreadsheetSelectionBackgroundControlMiddleRight__`,e.backgroundBottom=`__SpreadsheetSelectionBackgroundControlBottom__`,e.fill=`__SpreadsheetSelectionFillControl__`,e.fillTopLeft=`__SpreadsheetSelectionFillControlTopLeft__`,e.fillBottomRight=`__SpreadsheetSelectionFillControlBottomRight__`,e.fillTopLeftInner=`__SpreadsheetSelectionFillControlTopLeftInner__`,e.fillBottomRightInner=`__SpreadsheetSelectionFillControlBottomRightInner__`,e.lineMain=`__SpreadsheetDragLineMainControl__`,e.lineContent=`__SpreadsheetDragLineContentControl__`,e.line=`__SpreadsheetDragLineControl__`,e.dash=`__SpreadsheetDragDashControl__`,e.rowHeaderBackground=`__SpreadSheetSelectionRowHeaderBackground__`,e.rowHeaderBorder=`__SpreadSheetSelectionRowHeaderBorder__`,e.rowHeaderGroup=`__SpreadSheetSelectionRowHeaderGroup__`,e.columnHeaderBackground=`__SpreadSheetSelectionColumnHeaderBackground__`,e.columnHeaderBorder=`__SpreadSheetSelectionColumnHeaderBorder__`,e.columnHeaderGroup=`__SpreadSheetSelectionColumnHeaderGroup__`,e.topLeftWidget=`__SpreadSheetSelectionTopLeftWidget__`,e.topCenterWidget=`__SpreadSheetSelectionTopCenterWidget__`,e.topRightWidget=`__SpreadSheetSelectionTopRightWidget__`,e.middleLeftWidget=`__SpreadSheetSelectionMiddleLeftWidget__`,e.middleRightWidget=`__SpreadSheetSelectionMiddleRightWidget__`,e.bottomLeftWidget=`__SpreadSheetSelectionBottomLeftWidget__`,e.bottomCenterWidget=`__SpreadSheetSelectionBottomCenterWidget__`,e.bottomRightWidget=`__SpreadSheetSelectionBottomRightWidget__`,e}({}),ge=.3;var _e=class extends n.Disposable{constructor(e,t,n,r){var i,a,s,c;super(),this._scene=e,this._zIndex=t,this._themeService=n,R(this,`_isHelperSelection`,!0),R(this,`_enableAutoFill`,!0),R(this,`_showAutoFill`,!1),R(this,`_highlightHeader`,!0),R(this,`_selectionRenderModel`,void 0),R(this,`_leftBorder`,void 0),R(this,`_rightBorder`,void 0),R(this,`_topBorder`,void 0),R(this,`_bottomBorder`,void 0),R(this,`_backgroundControlTop`,void 0),R(this,`_backgroundControlBottom`,void 0),R(this,`_backgroundControlMiddleLeft`,void 0),R(this,`_backgroundControlMiddleRight`,void 0),R(this,`_autoFillControl`,void 0),R(this,`_selectionShapeGroup`,void 0),R(this,`_rowHeaderBackground`,void 0),R(this,`_rowHeaderBorder`,void 0),R(this,`_rowHeaderGroup`,void 0),R(this,`_columnHeaderBackground`,void 0),R(this,`_columnHeaderBorder`,void 0),R(this,`_columnHeaderGroup`,void 0),R(this,`_dashedRect`,void 0),R(this,`_topLeftWidget`,void 0),R(this,`_topCenterWidget`,void 0),R(this,`_topRightWidget`,void 0),R(this,`_middleLeftWidget`,void 0),R(this,`_middleRightWidget`,void 0),R(this,`_bottomLeftWidget`,void 0),R(this,`_bottomCenterWidget`,void 0),R(this,`_bottomRightWidget`,void 0),R(this,`_defaultStyle`,void 0),R(this,`_currentStyle`,void 0),R(this,`_rowHeaderWidth`,0),R(this,`_columnHeaderHeight`,0),R(this,`_widgetRects`,[]),R(this,`_controlExtension`,void 0),R(this,`_dispose$`,new o.BehaviorSubject(this)),R(this,`dispose$`,this._dispose$.asObservable()),R(this,`selectionMoving$`,new o.Subject),R(this,`selectionMoveEnd$`,new o.Subject),R(this,`selectionScaling$`,new o.Subject),R(this,`selectionScaled$`,new o.Subject),R(this,`selectionFilling$`,new o.Subject),R(this,`_selectionFilled$`,new o.Subject),R(this,`selectionFilled$`,this._selectionFilled$.asObservable()),R(this,`_antLineOffset`,0),R(this,`_antRequestNewFrame`,-1),this._enableAutoFill=(i=r==null?void 0:r.enableAutoFill)==null?!0:i,this._highlightHeader=(a=r==null?void 0:r.highlightHeader)==null?!0:a,this._rowHeaderWidth=(s=r==null?void 0:r.rowHeaderWidth)==null?0:s,this._columnHeaderHeight=(c=r==null?void 0:r.columnHeaderHeight)==null?0:c,this._initializeSheetBody(),this._initialHeader()}_initializeSheetBody(){this._defaultStyle=P(this._themeService),this._currentStyle=P(this._themeService),this._selectionRenderModel=new ie;let e=this._zIndex;this._leftBorder=new i.Rect(W.left+e,{zIndex:e}),this._rightBorder=new i.Rect(W.right+e,{zIndex:e}),this._topBorder=new i.Rect(W.top+e,{zIndex:e}),this._bottomBorder=new i.Rect(W.bottom+e,{zIndex:e}),this._backgroundControlTop=new i.Rect(W.backgroundTop+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new i.Rect(W.backgroundBottom+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new i.Rect(W.backgroundMiddleLeft+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new i.Rect(W.backgroundMiddleRight+e,{zIndex:e-1,evented:!1}),this._autoFillControl=new i.Rect(W.fill+e,{zIndex:e+1}),this._autoFillControl.hide(),this._dashedRect=new i.DashedRect(W.dash+e,{zIndex:e+2,evented:!1,stroke:`#fff`});let t=[this._autoFillControl,this._leftBorder,this._rightBorder,this._topBorder,this._bottomBorder,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashedRect];this._widgetRects=this._initialWidget(),this._selectionShapeGroup=new i.Group(W.Selection+e,...t,...this._widgetRects),this._selectionShapeGroup.hide(),this._selectionShapeGroup.evented=!1,this._selectionShapeGroup.zIndex=e;let r=this.getScene();r.addObject(this._selectionShapeGroup,1),this.disposeWithMe((0,n.toDisposable)(r.onTransformChange$.subscribeEvent(e=>{e.type===i.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&(this._updateLayoutOfSelectionControl(this._currentStyle),this._updateControlCoord())})))}_initialHeader(){let e=this._zIndex;this._rowHeaderBackground=new i.Rect(W.rowHeaderBackground+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new i.Rect(W.rowHeaderBorder+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new i.Group(W.rowHeaderGroup+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new i.Rect(W.columnHeaderBackground+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new i.Rect(W.columnHeaderBorder+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new i.Group(W.columnHeaderGroup+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],11)}_initialWidget(){let e=this._zIndex;return this._topLeftWidget=new i.Rect(W.topLeftWidget+e,{zIndex:e+1}),this._topCenterWidget=new i.Rect(W.topCenterWidget+e,{zIndex:e+1}),this._topRightWidget=new i.Rect(W.topRightWidget+e,{zIndex:e+1}),this._middleLeftWidget=new i.Rect(W.middleLeftWidget+e,{zIndex:e+1}),this._middleRightWidget=new i.Rect(W.middleRightWidget+e,{zIndex:e+1}),this._bottomLeftWidget=new i.Rect(W.bottomLeftWidget+e,{zIndex:e+1}),this._bottomCenterWidget=new i.Rect(W.bottomCenterWidget+e,{zIndex:e+1}),this._bottomRightWidget=new i.Rect(W.bottomRightWidget+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}get zIndex(){return this._zIndex}get leftControl(){return this._leftBorder}get rightControl(){return this._rightBorder}get topControl(){return this._topBorder}get bottomControl(){return this._bottomBorder}get fillControl(){return this._autoFillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShapeGroup}get columnHeaderGroup(){return this._columnHeaderGroup}get rowHeaderGroup(){return this._rowHeaderGroup}get selectionShapeGroup(){return this._selectionShapeGroup}get model(){return this._selectionRenderModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get themeService(){return this._themeService}get selectionModel(){return this._selectionRenderModel}set selectionModel(e){this._selectionRenderModel=e}get currentStyle(){return this._currentStyle}set currentStyle(e){this._currentStyle=e}get dashedRect(){return this._dashedRect}get isHelperSelection(){return this._isHelperSelection}get rowHeaderWidth(){return this._rowHeaderWidth}set rowHeaderWidth(e){this._rowHeaderWidth=e}get columnHeaderHeight(){return this._columnHeaderHeight}set columnHeaderHeight(e){this._columnHeaderHeight=e}setControlExtension(e){this._controlExtension=new he(this,e)}setControlExtensionDisable(e){this._controlExtension&&this._controlExtension.setDisabled(e)}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}refreshSelectionFilled(e){this._selectionFilled$.next(e)}_updateLayoutOfSelectionControl(e){e&&(this.currentStyle=Object.assign({},this._defaultStyle,e));let t=this.currentStyle,{stroke:n,widgets:r,autofillStroke:o,strokeDash:s,isAnimationDash:c}=t,l=t.autofillSize,u=t.strokeWidth,d=t.autofillStrokeWidth,f=this._getScale(),p=(u+a.SELECTION_CONTROL_BORDER_BUFFER_WIDTH)/2/f;u/=f,l/=f,d/=f<1?1:f;let m=a.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/f,h=i.FIX_ONE_PIXEL_BLUR_OFFSET/f,{startX:g,startY:_,endX:v,endY:y}=this._selectionRenderModel;if(this.leftControl.transformByState({height:y-_,left:-p+h,width:u,strokeWidth:m,top:-m/2+h}),this.leftControl.setProps({fill:n,stroke:a.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.rightControl.transformByState({height:y-_,left:v-g-p+h,width:u,strokeWidth:m,top:-m/2+h}),this.rightControl.setProps({fill:n,stroke:a.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.topControl.transformByState({width:v-g+u,top:-p+h,left:-p+h,height:u,strokeWidth:m}),this.topControl.setProps({fill:n,stroke:a.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.bottomControl.transformByState({width:v-g+u,top:y-_-p+h,height:u,left:-p+h,strokeWidth:m}),this.bottomControl.setProps({fill:n,stroke:a.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),s==null)this.dashedRect.hide(),this._stopAntLineAnimation();else{let e=t.strokeWidth*2/f;this.dashedRect.transformByState({height:y-_,width:v-g,strokeWidth:e,left:-e/2+h,top:-e/2+h}),this.dashedRect.setProps({strokeDashArray:[0,s/f]}),this._stopAntLineAnimation(),c!==!1&&this._startAntLineAnimation(),this.dashedRect.show()}if(this._showAutoFill=this._showAutoFill&&this._enableAutoFill,this._showAutoFill&&!this._hasWidgets(r)){let e={fill:n,stroke:o,strokeScaleEnabled:!1},t={width:l-d,height:l-d,left:v-g-l/2+d/2-h,top:y-_-l/2+d/2-h,strokeWidth:d};this._autoFillControl.setProps(e),this._autoFillControl.transformByState(t),this._autoFillControl.show()}else this._autoFillControl.hide();this._updateBackgroundControl(t),this._updateHeaderBackground(t),this._updateWidgets(t)}_updateControlCoord(){let{startX:e,startY:t}=this._selectionRenderModel;this.selectionShapeGroup.show(),this.selectionShapeGroup.translate(e,t),this.selectionShapeGroup.makeDirtyNoDebounce(!0)}updateStyle(e){this._updateLayoutOfSelectionControl(e),this._updateControlCoord()}updateRange(e,t){this._selectionRenderModel.setValue(e,t),this._showAutoFill=t!==null,this._updateLayoutOfSelectionControl(),this._updateControlCoord()}updateRangeBySelectionWithCoord(e,t){t&&(this._rowHeaderWidth=t.rowHeaderWidth,this._columnHeaderHeight=t.columnHeaderHeight),this._selectionRenderModel.setValue(e.rangeWithCoord,e.primaryWithCoord),this._showAutoFill=e.primaryWithCoord!==null,this._updateLayoutOfSelectionControl(e.style),this._updateControlCoord()}update(e,t=0,n=0,r,i){this._rowHeaderWidth=t,this._columnHeaderHeight=n,this.updateRangeBySelectionWithCoord({rangeWithCoord:e,primaryWithCoord:i,style:r}),r&&this.updateStyle(r)}updateCurrCell(e){this._showAutoFill=e!==null,this._selectionRenderModel.setCurrentCell(e)}clearHighlight(){this._showAutoFill=!1,this._selectionRenderModel.clearCurrentCell(),this._updateLayoutOfSelectionControl(this._currentStyle)}getScene(){return this._scene}dispose(){var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;(e=this._leftBorder)==null||e.dispose(),(t=this._rightBorder)==null||t.dispose(),(n=this._topBorder)==null||n.dispose(),(r=this._bottomBorder)==null||r.dispose(),(i=this._backgroundControlTop)==null||i.dispose(),(a=this._backgroundControlMiddleLeft)==null||a.dispose(),(o=this._backgroundControlMiddleRight)==null||o.dispose(),(s=this._backgroundControlBottom)==null||s.dispose(),this._autoFillControl.dispose(),(c=this._selectionShapeGroup)==null||c.dispose(),(l=this._rowHeaderBackground)==null||l.dispose(),(u=this._rowHeaderBorder)==null||u.dispose(),(d=this._rowHeaderGroup)==null||d.dispose(),(f=this._rowHeaderBackground)==null||f.dispose(),(p=this._columnHeaderBackground)==null||p.dispose(),(m=this._columnHeaderBorder)==null||m.dispose(),(h=this._columnHeaderGroup)==null||h.dispose(),(g=this._topLeftWidget)==null||g.dispose(),(_=this._topCenterWidget)==null||_.dispose(),(v=this._topRightWidget)==null||v.dispose(),(y=this._middleLeftWidget)==null||y.dispose(),(b=this._middleRightWidget)==null||b.dispose(),(x=this._bottomLeftWidget)==null||x.dispose(),(S=this._bottomCenterWidget)==null||S.dispose(),(C=this._bottomRightWidget)==null||C.dispose(),(w=this._controlExtension)==null||w.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){let e=this.model.currentCell;if(e){let t;if(e.isMerged){let n=e.mergeInfo;t={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:n.endColumn,startX:n.startX,endX:n.endX,startY:n.startY,endY:n.endY}}else{let{actualRow:n,actualColumn:r,startX:i,endX:a,startY:o,endY:s}=e;t={startRow:n,endRow:n,startColumn:r,endColumn:r,startX:i,endX:a,startY:o,endY:s}}return t}}getValue(){return{...this._selectionRenderModel.getValue(),style:this._currentStyle}}getRange(){return this._selectionRenderModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}_updateHeaderBackground(e){let{startX:t,startY:r,endX:i,endY:a,rangeType:o}=this._selectionRenderModel,s=this._currentStyle,c=this._getScale(),{stroke:l,rowHeaderFill:u=s.rowHeaderFill,rowHeaderStroke:d=s.rowHeaderStroke,columnHeaderFill:f=s.columnHeaderFill,columnHeaderStroke:p=s.columnHeaderStroke}=e,{rowHeaderStrokeWidth:m=s.rowHeaderStrokeWidth,columnHeaderStrokeWidth:h=s.columnHeaderStrokeWidth}=e;m/=c,h/=c;let g=this._rowHeaderWidth,_=this._columnHeaderHeight;if(this._highlightHeader&&_>0){let e=f;o===n.RANGE_TYPE.COLUMN&&(e=new n.ColorKit(l).setAlpha(ge).toString()),this._columnHeaderBackground.setProps({fill:e}),this._columnHeaderBackground.resize(i-t,_),this._columnHeaderBorder.setProps({fill:p}),this._columnHeaderBorder.transformByState({width:i-t,height:h,top:_-h+1/c}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(t,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),this._highlightHeader&&g>0){let e=u;o===n.RANGE_TYPE.ROW&&(e=new n.ColorKit(l).setAlpha(ge).toString()),this._rowHeaderBackground.setProps({fill:e}),this._rowHeaderBackground.resize(g,a-r),this._rowHeaderBorder.setProps({fill:d}),this._rowHeaderBorder.transformByState({width:m,height:a-r,left:g-m+1/c}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,r)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,a=this._getScale(),{fill:o=e.fill}=e,{strokeWidth:s}=e;s/=a;let c=this._selectionRenderModel.highlightToSelection();if(!c){this._backgroundControlTop.resize(r-t,i-n),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}let{startX:l,startY:u,endX:d,endY:f}=c,p=s/2,m={left:-p,top:-p,width:r-t+p*2,height:u-n+p};m.height<0&&(m.width=0,m.height=0),this._backgroundControlTop.transformByState(m);let h={left:-p,top:u-n,width:l-t+p,height:f-u};h.width<0&&(h.width=0,h.height=0),this._backgroundControlMiddleLeft.transformByState(h);let g={left:d-t-p,top:u-n,width:r-d+p*2,height:f-u};g.width<0&&(g.width=0,g.height=0),this._backgroundControlMiddleRight.transformByState(g);let _={left:-p,top:f-n,width:r-t+p*2,height:i-f+p};_.height<0&&(_.width=0,_.height=0),this._backgroundControlBottom.transformByState(_),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlMiddleLeft.setProps({fill:o}),this._backgroundControlMiddleRight.setProps({fill:o}),this._backgroundControlBottom.setProps({fill:o})}_updateWidgets(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,{stroke:a=e.stroke,widgets:o=e.widgets,widgetStroke:s=e.widgetStroke}=e,c=this._getScale(),{widgetSize:l,widgetStrokeWidth:u}=e;l/=c,u/=c;let d={left:-l/2+u/2,center:(r-t)/2-l/2+u/2,right:r-t-l/2+u/2,top:-l/2,middle:(i-n)/2-l/2,bottom:i-n-l/2+u/2},f=l-u;this._widgetRects.forEach(e=>{e.setProps({fill:a,stroke:s})}),o.tl===!0?(this._topLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.top,strokeWidth:u}),this._topLeftWidget.show()):this._topLeftWidget.hide(),o.tc===!0?(this._topCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.top,strokeWidth:u}),this._topCenterWidget.show()):this._topCenterWidget.hide(),o.tr===!0?(this._topRightWidget.transformByState({height:f,width:f,left:d.right,top:d.top,strokeWidth:u}),this._topRightWidget.show()):this._topRightWidget.hide(),o.ml===!0?(this._middleLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.middle,strokeWidth:u}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),o.mr===!0?(this._middleRightWidget.transformByState({height:f,width:f,left:d.right,top:d.middle,strokeWidth:u}),this._middleRightWidget.show()):this._middleRightWidget.hide(),o.bl===!0?(this._bottomLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.bottom,strokeWidth:u}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),o.bc===!0?(this._bottomCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.bottom,strokeWidth:u}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),o.br===!0?(this._bottomRightWidget.transformByState({height:f,width:f,left:d.right,top:d.bottom,strokeWidth:u}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;let t=Object.keys(e);if(t.length===0)return!1;for(let n of t)if(e[n]===!0)return!0;return!1}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,(0,i.cancelRequestFrame)(this._antRequestNewFrame)}_startAntLineAnimation(){let e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>160/e&&(this._antLineOffset=0),this.dashedRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=(0,i.requestNewFrame)(()=>{this._startAntLineAnimation()})}};let ve=N.MARK_SELECTION,ye=(0,n.createIdentifier)(`univer.mark-selection-service`),be=class extends n.Disposable{constructor(e,t,n){super(),this._currentService=e,this._renderManagerService=t,this._themeService=n,R(this,`_shapeMap`,new Map)}addShape(e,t=[],r=ve){var i;let a=this._currentService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),o=(i=a.getActiveSheet())==null?void 0:i.getSheetId();if(!o)return null;let s=(0,n.generateRandomId)(),c={selection:e,subUnitId:o,unitId:a.getUnitId(),zIndex:r,control:null,exits:t};return this._shapeMap.set(s,c),this.refreshShapes(),s}addShapeWithNoFresh(e,t=[],r=ve){var i;let a=this._currentService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),o=(i=a.getActiveSheet())==null?void 0:i.getSheetId();if(!o)return null;let s=(0,n.generateRandomId)();return this._shapeMap.set(s,{selection:e,subUnitId:o,unitId:a.getUnitId(),zIndex:r,control:null,exits:t}),s}refreshShapes(){var e;let t=this._currentService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!t)return;let r=t.getUnitId(),i=(e=t.getActiveSheet())==null?void 0:e.getSheetId();this._shapeMap.forEach(e=>{let{unitId:t,subUnitId:n,selection:a,control:o,zIndex:s}=e;if(o==null||o.dispose(),t!==r||n!==i)return;let c=this._renderManagerService.getRenderById(t);if(!c)return;let l=c.with(U).getCurrentSkeleton();if(!l)return;let{scene:u}=c,{rowHeaderWidth:d,columnHeaderHeight:f}=l,p=new _e(u,s,this._themeService,{enableAutoFill:!1,highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:f}),m=z(a,l);p.updateRangeBySelectionWithCoord(m),e.control=p})}getShapeMap(){return this._shapeMap}removeShape(e){let t=this._shapeMap.get(e);if(!t)return;let{control:n}=t;n==null||n.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(let e of this._shapeMap.values()){let{control:t}=e;t==null||t.dispose()}this._shapeMap.clear()}};be=H([V(0,n.IUniverInstanceService),V(1,i.IRenderManagerService),V(2,(0,n.Inject)(n.ThemeService))],be);function xe(e){return{strokeWidth:1.5,stroke:e.getColorFromTheme(`primary.600`),fill:`rgba(178, 178, 178, 0.10)`,widgets:{},strokeDash:8}}function Se(e){if(e==null)return e;let t={};return e.p!==void 0&&(t.p=e.p===null?null:(0,n.cloneValue)(e.p)),e.s!==void 0&&(e.s===null||typeof e.s==`string`?t.s=e.s:t.s=(0,n.cloneValue)(e.s)),e.v!==void 0&&(t.v=e.v),e.t!==void 0&&(t.t=e.t),e.f!==void 0&&(t.f=e.f),e.ref!==void 0&&(t.ref=e.ref),e.xf!==void 0&&(t.xf=e.xf),e.si!==void 0&&(t.si=e.si),e.custom!==void 0&&(t.custom=e.custom===null?null:(0,n.cloneValue)(e.custom)),e.rowSpan!==void 0&&(t.rowSpan=e.rowSpan),e.colSpan!==void 0&&(t.colSpan=e.colSpan),e.plain!==void 0&&(t.plain=e.plain),t}function Ce(){return(0,n.generateRandomId)(6)}function we(e){let t=e.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}var Te=class{constructor(){R(this,`_cache`,new n.LRUMap(10)),R(this,`_lastCopyId$`,new o.BehaviorSubject(null)),R(this,`lastCopyId$`,this._lastCopyId$.asObservable())}set(e,t){this._cache.set(e,t),this._lastCopyId$.next(e)}get(e){return this._cache.get(e)}del(e){this._cache.delete(e),this._lastCopyId$.getValue()===e&&this._lastCopyId$.next(null)}clear(){this._cache.clear(),this._lastCopyId$.next(null)}clearWithUnitId(e){this._cache.forEach((t,n)=>{t.unitId===e&&this._cache.delete(n)})}getLastCopyId(){return this._lastCopyId$.getValue()}};new Te;function Ee(e,t){let r=t==null?e.style:t,i={},a=e.tagName.toLowerCase();switch(a){case`b`:case`em`:case`strong`:i.bl=n.BooleanNumber.TRUE;break;case`s`:i.st={s:n.BooleanNumber.TRUE};break;case`u`:i.ul={s:n.BooleanNumber.TRUE};break;case`i`:i.it=n.BooleanNumber.TRUE;break;case`sub`:case`sup`:i.va=a===`sup`?n.BaselineOffset.SUPERSCRIPT:n.BaselineOffset.SUBSCRIPT;break}return De(r,i),i}function De(e,t){if(e instanceof CSSStyleDeclaration)for(let n=0;n<e.length;n++){let r=e[n];Oe(r,e.getPropertyValue(r),t)}else for(let n in e){let r=e[n];Oe(n,r,t)}}function Oe(e,t,r){switch(e){case`font-family`:r.ff=t;break;case`font-size`:{let e=Number.parseInt(t);Number.isNaN(e)||(t.endsWith(`pt`)?r.fs=e:t.endsWith(`px`)&&(r.fs=e*.75));break}case`font-style`:t===`italic`&&(r.it=n.BooleanNumber.TRUE);break;case`font-weight`:(Number(t)>400||t===`bold`)&&(r.bl=n.BooleanNumber.TRUE);break;case`text-decoration`:/underline/.test(t)?r.ul={s:n.BooleanNumber.TRUE}:/overline/.test(t)?r.ol={s:n.BooleanNumber.TRUE}:/line-through/.test(t)&&(r.st={s:n.BooleanNumber.TRUE});break;case`color`:try{let e=new n.ColorKit(t);e.isValid&&(r.cl={rgb:e.toRgbString()})}catch{}break;case`background-color`:{let e=new n.ColorKit(t);e.isValid&&(r.bg={rgb:e.toRgbString()});break}default:break}}function ke(e){if(e.nodeType===Node.TEXT_NODE){e.textContent=(e.textContent||``).replace(/\r?\n[\t ]*/g,` `);return}e.childNodes.forEach(ke)}function Ae(e){let t=document.createElement(`body`);return t.innerHTML=e,ke(t),t}function je(e){let t=e.style,n={};for(let e=0;e<t.length;e++){let r=t[e],a=t.getPropertyValue(r);switch(r){case`margin-top`:{let e=Number.parseInt(a);n.spaceAbove={v:/pt/.test(a)?(0,i.ptToPixel)(e):e};break}case`margin-bottom`:{let e=Number.parseInt(a);n.spaceBelow={v:/pt/.test(a)?(0,i.ptToPixel)(e):e};break}case`line-height`:n.lineSpacing=Number.parseFloat(a);break;default:break}}return Object.getOwnPropertyNames(n).length?n:null}function Me(e,t){let r=[];for(let t=0,i=e.length;t<i;t++)e[t]===n.DataStreamTreeTokenType.PARAGRAPH&&r.push({startIndex:t});if(t)for(let e of r)t.bullet&&(e.bullet=n.Tools.deepClone(t.bullet)),t.paragraphStyle&&(e.paragraphStyle=n.Tools.deepClone(t.paragraphStyle));return r}function Ne(e,t,n){var r;let i=t.length,a=((r=n==null?void 0:n.length)==null?0:r)===1&&n[0].st===0&&n[0].ed===i;if(e.p){var o;return a&&!((o=e.p.body)==null||(o=o.textRuns)==null)&&o.length?(e.p.body.textRuns=[],{...e,s:n[0].ts}):e}else if(a)return{...e,s:n[0].ts};else return e;return e}let Pe=[`color`,`background`,`font-size`,`text-align`,`vertical-align`,`font-weight`,`font-style`,`font-family`,`text-decoration`,`white-space`,`word-wrap`,`border-left`,`border-right`,`border-top`,`border-bottom`,`--data-rotate`];function Fe(e,t){let n=e.tagName.toLowerCase();return typeof t==`string`?n===t:Array.isArray(t)?t.some(e=>e===n):t(e)}var Ie=class e{static use(e){if(this._pluginList.includes(e))throw Error(`Univer paste plugin ${e.name} already added`);this._pluginList.push(e)}constructor(e){R(this,`_styleMap`,new Map),R(this,`_styleCache`,new Map),R(this,`_styleRules`,[]),R(this,`_afterProcessRules`,[]),R(this,`_dom`,null),R(this,`_getCurrentSkeleton`,void 0),this._getCurrentSkeleton=e.getCurrentSkeleton}convert(t){let r=e._pluginList.find(e=>e.checkPasteType(t));r&&(this._styleRules=[...r.stylesRules],this._afterProcessRules=[...r.afterProcessRules]);let i=new n.ObjectMatrix;this._dom=Ae(t);let a=this._dom.querySelector(`style`);if(a){let e=document.createElement(`div`),t=e.attachShadow({mode:`open`});document.body.appendChild(e),t.appendChild(a);for(let e of a.sheet.cssRules){let t=e,n=t.selectorText,r=t.style;this._styleMap.set(n,r)}a.remove(),e.remove()}let o={dataStream:``,textRuns:[]},s=[],c=[],l=t.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi);this.process(null,this._dom.childNodes,o,[]);let{paragraphs:u,dataStream:d,textRuns:f,payloads:p,customRanges:m}=o;if(u){let e=u.map(e=>e.startIndex+1);e.unshift(0);for(let t=0;t<e.length;t++){let n;if(t===e.length-1){if(n=`${d.substring(e[t])}\r\n`,n===`\r
2
+ `)continue}else n=`${d.substring(e[t],e[t+1]-1)}\r\n`;let r=[];f==null||f.forEach(n=>{n.st>=e[t]&&n.ed<=e[t+1]&&r.push({st:n.st-e[t],ed:n.ed-e[t],ts:n.ts})});let a=[];m==null||m.forEach(n=>{n.startIndex>=e[t]&&n.endIndex<=e[t+1]&&a.push({...n,startIndex:n.startIndex-e[t],endIndex:n.endIndex-e[t]})});let o=this._generateDocumentDataModelSnapshot({body:{dataStream:n,textRuns:r,paragraphs:Me(n),customRanges:a}}),c=Object.keys(i.getMatrix()).length===0;i.setValue(c?0:i.getLength(),0,{v:n,p:o}),s.push({})}}else if(d){let e=`${d}\r\n`,t={dataStream:e,textRuns:f,paragraphs:Me(e),payloads:p,customRanges:m};if(!(m!=null&&m.length))i.setValue(0,0,Ne({v:d},d,f));else{let e=this._generateDocumentDataModelSnapshot({body:t});i.setValue(0,0,Ne({v:d,p:e},d,f))}s.push({})}return l&&l.forEach((e,t)=>{let n=i.getDataRange().endRow+1,{cellMatrix:r,rowProperties:a,colProperties:o}=this._parseTable(e,t);r&&r.forValue((e,t,r)=>{i.setValue(n+e,t,r)}),o&&c.push(...o),s.push(...a)}),this.dispose(),{rowProperties:s,colProperties:c,cellMatrix:i}}_getStyleBySelectorText(e,t){var n;return((n=this._styleMap.get(e))==null?void 0:n.getPropertyValue(t))||``}_getStyle(e,t){let n=Re(t),r=e.style,i=``;for(let t=0;t<Pe.length;t++){let a=Pe[t];if(a===`background`){let t=``;e.classList.forEach(e=>{t=this._getStyleBySelectorText(`.${e}`,`background-color`)||this._getStyleBySelectorText(`.${e}`,a)});let o=r.getPropertyValue(`background-color`)||t||this._getStyleBySelectorText(`#${e.id}`,`background-color`)||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,`background-color`)||n[`background-color`]||``;o&&(i+=`background:${o};`);continue}if(a===`text-decoration`){let t=``;e.classList.forEach(e=>{t=this._getStyleBySelectorText(`.${e}`,`text-decoration-line`)||this._getStyleBySelectorText(`.${e}`,a)});let o=r.getPropertyValue(`text-decoration-line`)||r.getPropertyValue(`text-decoration`)||t||this._getStyleBySelectorText(`#${e.id}`,`text-decoration-line`)||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,`text-decoration-line`)||n[`text-decoration-line`]||``;o&&(i+=`text-decoration:${o};`);continue}let o=``;e.classList.forEach(e=>{o=this._getStyleBySelectorText(`.${e}`,a)}),o=r.getPropertyValue(a)||this._getStyleBySelectorText(`#${e.id}`,a)||o||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||n[a]||``,o&&(i+=`${a}:${o};`)}return i}_parseTable(e,t){var i,a;let o=new n.ObjectMatrix,s=(i=Be(e))==null?[]:i,{rowProperties:c=[]}=Le(e),l=this._parseTableByHtml(this._dom,t,(a=this._getCurrentSkeleton())==null?void 0:a.skeleton);return l&&l.forValue((e,t,n)=>{var i,a;let s=(0,r.handleStringToStyle)(void 0,n.style);if(!(n==null||(i=n.richTextParma)==null||(i=i.p)==null||(i=i.body)==null||(i=i.textRuns)==null)&&i.length){var c,l,u;let e=n==null||(c=n.richTextParma)==null||(c=c.v)==null?void 0:c.length;for(let t=0;t<(n==null||(l=n.richTextParma)==null||(l=l.p)==null||(l=l.body)==null||(l=l.textRuns)==null?void 0:l.length);t++){var d;let r=n==null||(d=n.richTextParma)==null||(d=d.p)==null||(d=d.body)==null?void 0:d.textRuns[t];if(r.st===0&&r.ed===e){var f;s={...r.ts,...s},n==null||(f=n.richTextParma)==null||(f=f.p)==null||(f=f.body)==null||f.textRuns.splice(t,1),t--}}if((n==null||(u=n.richTextParma)==null||(u=u.p)==null||(u=u.body)==null||(u=u.textRuns)==null?void 0:u.length)===0){var p;n.content=n==null||(p=n.richTextParma)==null?void 0:p.v,delete n.richTextParma}}let m=!(n==null||(a=n.richTextParma)==null||(a=a.p)==null||(a=a.body)==null)&&a.textRuns?{v:n.richTextParma.v,p:n.richTextParma.p,s,rowSpan:n.rowSpan,colSpan:n.colSpan}:{v:n.content,s,rowSpan:n.rowSpan,colSpan:n.colSpan};o.setValue(e,t,m)}),{rowProperties:c,colProperties:s,cellMatrix:o}}_parseTableByHtml(e,t,i){let a=new n.ObjectMatrix,o=e.querySelectorAll(`table`)[t];if(!o)return a;let s=this._getStyle(o,``),c=o==null?void 0:o.querySelectorAll(`tr`);for(let e=0;e<c.length;e++){let t=c[e],n=this._getStyle(t,s),o=t.querySelectorAll(`td, th`),d=0;for(let t=0;t<o.length;){let s=o[t],c=``,f=Number(s.getAttribute(`rowSpan`))||1,p=Number(s.getAttribute(`colSpan`))||1;if(c=this._getStyle(s,n),e>0){var l;let t=a.getValue(e-1,d);if(!(t==null||(l=t.style)==null)&&l.includes(`border-bottom`)&&c.includes(`border-top`)){let e=He(t.style,`border-bottom`);e&&(0,r.textTrim)(e.substr(e.indexOf(`:`)+1))!==`none`&&(c=c.replace(/border-top:[^;]+;/,``))}}if(t>0){var u;let t=a.getValue(e,d-1);if(!(t==null||(u=t.style)==null)&&u.includes(`border-right`)&&c.includes(`border-left`)){let e=He(t.style,`border-right`);e&&(0,r.textTrim)(e.substr(e.indexOf(`:`)+1))!==`none`&&(c=c.replace(/border-left:[^;]+;/,``))}}let{cellText:m,cellRichStyle:h}=this._getCellTextAndRichText(s,c,i),g={rowSpan:f,colSpan:p,content:m,style:c,richTextParma:{p:h,v:m}};if(a.getValue(e,d)){d+=1;continue}else f>1||p>1?Ue(a,c,g,{colSpan:p,rowSpan:f,rowIndex:e,colIndex:t,colSetValueIndex:d}):a.setValue(e,d,g),d+=p,t++}}return a}_parseCellHtml(e,t,n,r=new Map,i){for(let o of t)if(o.nodeType===Node.TEXT_NODE){var a;let t=(a=o.nodeValue)==null?void 0:a.replace(/[\r\n]/g,``),i;e&&r.has(e)&&(i=r.get(e)),n.dataStream+=t,i&&Object.getOwnPropertyNames(i).length&&n.textRuns.push({st:n.dataStream.length-t.length,ed:n.dataStream.length,ts:i})}else if(o.nodeType===Node.COMMENT_NODE||o.nodeName===`STYLE`)continue;else if(o.nodeName.toLowerCase()===`br`)n.paragraphs||(n.paragraphs=[]),n.paragraphs.push({startIndex:n.dataStream.length}),n.dataStream+=`\r`;else if(o.nodeType===Node.ELEMENT_NODE){let t=this._getStyle(o,i),a=e?r.get(e):{},s=Ee(o,Re(t));r.set(o,{...a,...s});let{childNodes:c}=o;this._parseCellHtml(o,c,n,r,t)}}_getCellTextAndRichText(e,t,r){if(e.innerHTML.includes(`mso-spacerun:yes`)){let t=e.innerHTML.replace(/<span[^>]*mso-spacerun:yes[^>]*>[\s\S]*?<\/span>/gi,``).replace(/\s/g,``),r=(0,n.getNumfmtParseValueFilter)(t);if(r&&r.z&&(0,n.isRealNum)(r.v))return{cellText:t,cellRichStyle:void 0}}let i=``,a;if(/<[^>]+>/.test(e.innerHTML)&&r){var o;let n={dataStream:``,textRuns:[]};this._parseCellHtml(null,e.childNodes,n,void 0,t);let s=(o=r.getBlankCellDocumentModel())==null?void 0:o.documentModel,c=s==null?void 0:s.getSnapshot(),l=`${n.dataStream}\r\n`,u={...c,body:{dataStream:l,textRuns:n.textRuns,paragraphs:Me(l)}};s==null||s.reset(u),a=s==null?void 0:s.getSnapshot(),i=n.dataStream}else i=Ve(e.innerHTML.replace(/[\r\n]/g,``));return{cellText:i,cellRichStyle:a}}_generateDocumentDataModelSnapshot(e){var t;let n=this._getCurrentSkeleton();if(n==null)return null;let{skeleton:r}=n,i=(t=r.getBlankCellDocumentModel())==null?void 0:t.documentModel,a={...i==null?void 0:i.getSnapshot(),...e};return i==null||i.reset(a),i==null?void 0:i.getSnapshot()}process(e,t,r,i){for(let c of t)if(c.nodeName.toLowerCase()===`table`){var a;i.push({index:(r==null||(a=r.paragraphs)==null?void 0:a.length)||0})}else if(c.nodeType===Node.TEXT_NODE){var o,s;if(((o=c.nodeValue)==null?void 0:o.trim())===``)continue;let t=(s=c.nodeValue)==null?void 0:s.replace(/[\r\n]/g,``),n;e&&this._styleCache.has(e)&&(n=this._styleCache.get(e));let i={dataStream:``,textRuns:[]};r.dataStream+=t,i.dataStream+=t,n&&Object.getOwnPropertyNames(n).length&&(r.textRuns.push({st:r.dataStream.length-t.length,ed:r.dataStream.length,ts:n}),i.textRuns.push({st:r.dataStream.length-t.length,ed:r.dataStream.length,ts:n}))}else if(n.skipParseTagNames.includes(c.nodeName.toLowerCase()))continue;else if(c.nodeName.toLowerCase()===`br`)r.paragraphs||(r.paragraphs=[]),r.paragraphs.push({startIndex:r.dataStream.length}),r.dataStream+=`\r`;else if(c.nodeType===Node.ELEMENT_NODE){if(c.nodeName===`STYLE`)continue;let t=c,n=this._processBeforeLink(t,{body:r}),a=e?this._styleCache.get(e):{},o=this._styleRules.find(({filter:e})=>Fe(c,e)),s=o?o.getStyle(c):Ee(c);this._styleCache.set(c,{...a,...s});let{childNodes:l}=c;this.process(c,l,r,i);let u=this._afterProcessRules.find(({filter:e})=>Fe(c,e));u&&u.handler(r,c),this._processAfterLink(t,{body:r},n)}}_processBeforeLink(e,t){return t.body.dataStream.length}_processAfterLink(e,t,r){let i=t.body,a=e;if(a.tagName.toUpperCase()===`A`){var o,s;i.customRanges=(o=i.customRanges)==null?[]:o,i.customRanges.push({startIndex:r,endIndex:i.dataStream.length-1,rangeId:(s=a.dataset.rangeid)==null?(0,n.generateRandomId)():s,rangeType:n.CustomRangeType.HYPERLINK,properties:{url:a.href}})}}dispose(){this._dom=null,this._styleCache.clear(),this._styleMap.clear()}};R(Ie,`_pluginList`,[]);function Le(e){let t=e.matchAll(/<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi);if(!t)return{rowProperties:[],rowCount:0};let r=Array.from(t).map(e=>ze(e[1])).map(e=>{if(!e.height){let t=e.style,r=t&&t.match(/height\s*:\s*(\d+(\.\d+)?)px/);e.height=`${r?Number.parseInt(r[1],10):n.DEFAULT_WORKSHEET_ROW_HEIGHT}`}return e});return{rowProperties:r,rowCount:r.length}}function Re(e){let t={};return e.split(`;`).forEach(e=>{let[n,r]=e.split(`:`);t[n]=r}),t}function ze(e){if(!e)return{};let t={},n=/([\w-]+)\s*=\s*(?:(['"])([^'"]*)\2|(\S+))/g,r;for(;(r=n.exec(e))!==null;){let[,e,,n,i]=r;t[e]=n===void 0?i:n}return t}function Be(e){let t=e.match(/<colgroup([\s\S]*?)>(.*?)<\/colgroup>/),n=/<col([\s\S]*?)>/g,r;if(r=t!=null&&t[2]?t[2].matchAll(n):e.matchAll(n),!r)return null;let i=Array.from(r).map(e=>ze(e[1])),a=[];return i.forEach(e=>{let t=Number(e.span);if(t)for(let n=0;n<t;n++){let t={...e};delete t.span,a.push(t)}else a.push(e)}),a}function Ve(e){let t={"&lt;":`<`,"&gt;":`>`,"&amp;":`&`,"&quot;":`"`,"&#39;":`'`,"&nbsp;":` `};return e.replace(/&lt;|&gt;|&amp;|&quot;|&#39;|&nbsp;|<br>/g,e=>t[e])}function He(e,t){if(!e||!t)return null;let n=RegExp(`(${t}\\s*:\\s*[^;]+);`,`i`),r=e.match(n);return r?r[1]:null}function Ue(e,t,n,r){let{rowSpan:i,colSpan:a,rowIndex:o,colSetValueIndex:s}=r;for(let r=o;r<o+i;r++)for(let i=s;i<s+a;i++)r===o&&i===s?e.setValue(r,i,{...n,style:t}):e.setValue(r,i,{style:t})}let We={name:`univer-doc-paste-plugin-lark`,checkPasteType(e){return/lark-record-clipboard/i.test(e)},stylesRules:[{filter:[`s`],getStyle(e){let t=Ee(e);return{st:{s:n.BooleanNumber.TRUE},...t}}}],afterProcessRules:[{filter(e){return e.tagName===`DIV`&&/ace-line/i.test(e.className)},handler(e){e.paragraphs==null&&(e.paragraphs=[]),e.paragraphs.push({startIndex:e.dataStream.length}),e.dataStream+=`\r`}}]},Ge={name:`univer-doc-paste-plugin-univer`,checkPasteType(e){return/UniverNormal/i.test(e)},stylesRules:[],afterProcessRules:[{filter(e){return e.tagName===`P`&&/UniverNormal/i.test(e.className)},handler(e,t){e.paragraphs==null&&(e.paragraphs=[]);let n={startIndex:e.dataStream.length},r=je(t);r&&(n.paragraphStyle=r),e.paragraphs.push(n),e.dataStream+=`\r`}}]},Ke={name:`univer-doc-paste-plugin-word`,checkPasteType(e){return/word|mso/i.test(e)},stylesRules:[{filter:[`b`],getStyle(e){let t=Ee(e);return{bl:n.BooleanNumber.TRUE,...t}}}],afterProcessRules:[{filter(e){return e.tagName===`P`&&/mso/i.test(e.className)},handler(e,t){e.paragraphs==null&&(e.paragraphs=[]);let n={startIndex:e.dataStream.length},r=je(t);r&&(n.paragraphStyle=r),e.paragraphs.push(n),e.dataStream+=`\r`}}]},qe=function(e){return e.COPY=`COPY`,e.CUT=`CUT`,e}({});function Je(e,t,n,r,i){return`<tr${Qe(Ze(n.map(t=>{var n;return(n=t.onCopyRow)==null?void 0:n.call(t,e)}).filter(e=>!!e)))}>${t.map(t=>{if(!i.has(`${e}-${t}`)){let a=r.getValue(e,t);if(a!=null&&a.rowSpan&&a!=null&&a.colSpan)for(let n=e;n<e+a.rowSpan;n++)for(let e=t;e<t+a.colSpan;e++)i.add(`${n}-${e}`);return Ye(e,t,n,r)}return null}).filter(e=>!!e).join(``)}</tr>`}function Ye(e,t,n,r){let i=r.getValue(e,t);return`<td${Qe(Ze(n.map(n=>{var r;return(r=n.onCopyCellStyle)==null?void 0:r.call(n,e,t,i==null?void 0:i.rowSpan,i==null?void 0:i.colSpan)}).filter(e=>!!e)))}>${n.reduce((n,r)=>{var i;return n||((i=r.onCopyCellContent)==null?void 0:i.call(r,e,t))||``},``)}</td>`}function Xe(e,t){return`<colgroup>${e.map(e=>`<col ${Qe(Ze(t.map(t=>{var n;return(n=t.onCopyColumn)==null?void 0:n.call(t,e)}).filter(e=>!!e)))} />`).join(``)}</colgroup>`}function Ze(e){return e.reduce((e,t)=>(Object.keys(t).forEach(n=>{e[n]?e[n]+=`;${t[n]}`:e[n]=t[n]}),e),{})}function Qe(e){return Object.keys(e).reduce((t,n)=>`${t} ${n}="${e[n]}"`,``)}var $e=class{convert(e,t,n,r){let{cols:i,rows:a}=t;if(!i.length)return``;let o=Xe(i,n),s=[],c=new Set;return a.forEach(t=>{s.push(Je(t,i,n,e,c))}),`<google-sheets-html-origin><table data-copy-id="${r}" xmlns="http://www.w3.org/1999/xhtml" cellspacing="0" cellpadding="0" dir="ltr" style="table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none">${o}
3
+ <tbody>${s.join(``)}</tbody></table>`}};let et=(e,t,n=!1)=>{let r=e=>e.endRow-e.startRow+1,i=e=>e.endColumn-e.startColumn+1,a=r(t)%r(e),o=i(t)%i(e),s={startRow:0,endRow:r(e)-1,startColumn:0,endColumn:i(e)-1},c=Math.floor(r(t)/r(e)),l=Math.floor(i(t)/i(e)),u=[];if(!a&&!o)for(let n=1;n<=c;n++)for(let a=1;a<=l;a++){let o=r(e)*(n-1),c=i(e)*(a-1),l={startRow:o+t.startRow,endRow:o+t.startRow,startColumn:c+t.startColumn,endColumn:c+t.startColumn};u.push({repeatRelativeRange:s,startRange:l})}else if(!a&&o&&!n)for(let n=1;n<=c;n++){let i=r(e)*(n-1),a={startRow:i+t.startRow,endRow:i+t.startRow,startColumn:0+t.startColumn,endColumn:0+t.startColumn};u.push({repeatRelativeRange:s,startRange:a})}else if(a&&!o&&!n)for(let n=1;n<=l;n++){let r=i(e)*(n-1),a={startRow:0+t.startRow,endRow:0+t.startRow,startColumn:r+t.startColumn,endColumn:r+t.startColumn};u.push({repeatRelativeRange:s,startRange:a})}else{let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};u.push({startRange:e,repeatRelativeRange:s})}return u};function tt(e){return e?[/<td[^>]*class=".*?xl.*?"[^>]*>/i,/xmlns:x="urn:schemas-microsoft-com:office:excel"/i,/ProgId="Excel.Sheet"/i,/xmlns:o="urn:schemas-microsoft-com:office:office"/i,/@mso-|mso-excel/i,/<x:ExcelWorkbook>/i].some(t=>t.test(e)):!1}function nt(e){return e?(e.match(/<img[^>]*src\s*=\s*["']data:image\/[^;]+;base64,[^"']*["'][^>]*>/i)||[]).length>0:!1}function rt(...e){if(e.length===1)return e[0];let t=new n.ObjectMatrix;return e.forEach(e=>{e&&new n.ObjectMatrix(e).forValue((e,n,r)=>{t.setValue(e,n,{...t.getValue(e,n),...r})})}),t.getMatrix()}function it(e,t){return e.id===t.id&&e.params.unitId===t.params.unitId&&e.params.subUnitId===t.params.subUnitId}function at(e){let t=[];for(let n=0;n<e.length;){let r=1;if(e[n].id===a.SetRangeValuesMutation.id){let i=e[n],a=[i];for(;n+r<e.length&&it(i,e[n+r]);)a.push(e[n+r]),r+=1;let o=rt(...a.map(e=>e.params.cellValue||{}));t.push({...i,params:{...i.params,cellValue:o}})}else t.push(e[n]);n+=r}return t}function ot(e,t={}){let{maxCellsPerChunk:r=2500,threshold:i=6e3,maxChunks:o=10}=t;if(e.id!==a.SetRangeValuesMutation.id)return[e];let{cellValue:s}=e.params;if(!s)return[e];let c=new n.ObjectMatrix(s),l=0,u=1/0,d=-1/0,f=1/0,p=-1/0;if(c.forValue((e,t)=>{l++,u=Math.min(u,e),d=Math.max(d,e),f=Math.min(f,t),p=Math.max(p,t)}),u===1/0||l<=i)return[e];let m=[],h=p-f+1,g=Math.max(1,Math.floor(r/h)),_=d-u+1;Math.ceil(_/g)>o&&(g=Math.ceil(_/o));for(let t=u;t<=d;t+=g){let r=Math.min(t+g-1,d),i=new n.ObjectMatrix,a=!1;for(let e=t;e<=r;e++)for(let t=f;t<=p;t++){let n=c.getValue(e,t);n!==void 0&&(i.setValue(e,t,n),a=!0)}a&&m.push({...e,params:{...e.params,cellValue:i.getMatrix(),__splitChunk__:!0}})}return m.length>0?m:[e]}function st(e,t){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=e;for(let e=n;e<=r;e++)for(let n=i;n<=a;n++)if(t.rows.includes(e)&&t.cols.includes(n))return!0}function ct(e,t){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=t;for(let t=n;t<=r;t++)if(!e.rows.includes(t))return!1;for(let t=i;t<=a;t++)if(!e.cols.includes(t))return!1;return!0}function lt(e){let t=e.trim().split(`
4
+ `),n=`<table>`;return t.forEach(e=>{let t=e.split(` `);n+=`<tr>`,t.forEach(e=>{n+=`<td>${e}</td>`}),n+=`</tr>`}),n+=`</table>`,n}let ut={DEFAULT_COPY:`default-copy`,SPECIAL_COPY_FORMULA_ONLY:`special-copy-formula-only`},G={DEFAULT_PASTE:`default-paste`,DEFAULT_PASTE_ROWS:`default-paste-rows`,DEFAULT_PASTE_COLUMNS:`default-paste-columns`,SPECIAL_PASTE_VALUE:`special-paste-value`,SPECIAL_PASTE_FORMAT:`special-paste-format`,SPECIAL_PASTE_COL_WIDTH:`special-paste-col-width`,SPECIAL_PASTE_BESIDES_BORDER:`special-paste-besides-border`,SPECIAL_PASTE_FORMULA:`special-paste-formula`},dt={...ut,...G},ft={[r.FILE_PNG_CLIPBOARD_MIME_TYPE]:`png`,[r.FILE__JPEG_CLIPBOARD_MIME_TYPE]:`jpg`,[r.FILE__WEBP_CLIPBOARD_MIME_TYPE]:`webp`,[r.FILE__BMP_CLIPBOARD_MIME_TYPE]:`bmp`};Ie.use(Ke),Ie.use(We),Ie.use(Ge);let pt=(0,n.createIdentifier)(`sheet.clipboard-service`),mt=class extends n.Disposable{constructor(e,t,r,a,s,c,l,u,d,f,p,m,h,g){super(),this._logService=e,this._univerInstanceService=t,this._selectionManagerService=r,this._clipboardInterfaceService=a,this._undoRedoService=s,this._commandService=c,this._markSelectionService=l,this._notificationService=u,this._platformService=d,this._renderManagerService=f,this._themeService=p,this._localeService=m,this._errorService=h,this._injector=g,R(this,`_clipboardHooks`,[]),R(this,`_clipboardHooks$`,new o.BehaviorSubject([])),R(this,`clipboardHooks$`,this._clipboardHooks$.asObservable()),R(this,`_htmlToUSM`,void 0),R(this,`_usmToHtml`,void 0),R(this,`_copyContentCache`,void 0),R(this,`_copyMarkId`,null),R(this,`_pasteOptionsCache$`,new o.BehaviorSubject(null)),R(this,`pasteOptionsCache$`,this._pasteOptionsCache$.asObservable()),R(this,`_showMenu$`,new o.BehaviorSubject(!1)),R(this,`showMenu$`,this._showMenu$.asObservable()),this._htmlToUSM=new Ie({getCurrentSkeleton:()=>{var e;return(e=(0,i.withCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,U,this._univerInstanceService,this._renderManagerService))==null?void 0:e.getCurrentParam()}}),this._usmToHtml=new $e,this._copyContentCache=new Te,this.disposeWithMe(this._htmlToUSM),this._initUnitDisposed()}setShowMenu(e){this._showMenu$.next(e)}getPasteMenuVisible(){return this._showMenu$.getValue()}getPasteOptionsCache(){return this._pasteOptionsCache$.getValue()}copyContentCache(){return this._copyContentCache}generateCopyContent(e,t,n,r){let{copyType:i=qe.COPY,copyHookType:a=ut.DEFAULT_COPY}=r||{},o=this._clipboardHooks;a===ut.SPECIAL_COPY_FORMULA_ONLY&&(o=this._clipboardHooks.filter(e=>e.id===a)),o.forEach(r=>{var a;return(a=r.onBeforeCopy)==null?void 0:a.call(r,e,t,n,i)});let s=this._generateCopyContent(e,t,n,o,a);return o.forEach(e=>{var t;return(t=e.onAfterCopy)==null?void 0:t.call(e)}),s}async copy(e){let t=this._selectionManagerService.getCurrentLastSelection();if(!t)return!1;let r=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(!r||!i)return!1;let a=r.getUnitId(),o=i.getSheetId(),{copyType:s=qe.COPY,copyHookType:c=ut.DEFAULT_COPY}=e||{},l=this.generateCopyContent(a,o,t.range,{copyType:s,copyHookType:c});if(!l)return!1;let{html:u,plain:d,matrixFragment:f,copyId:p,discreteRange:m}=l;this._copyContentCache.set(p,{unitId:r.getUnitId(),subUnitId:i.getSheetId(),range:m,matrix:f,copyType:s}),await this._clipboardInterfaceService.write(d,u),this._markSelectionService.removeAllShapes();let h=xe(this._themeService);return this._copyMarkId=this._markSelectionService.addShape({...t,style:h}),!0}async cut(){return this.copy({copyType:qe.CUT})}async paste(e,t=G.DEFAULT_PASTE){let n=e.types,i=n.indexOf(r.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)===-1?``:await e.getType(r.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),a=n.indexOf(r.HTML_CLIPBOARD_MIME_TYPE)===-1?``:await e.getType(r.HTML_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),o=n.findIndex(e=>r.imageMimeTypeSet.has(e)),s=o===-1||!nt(a);if(a&&s)return this._platformService.isWindows&&tt(a)&&this._notificationService.show({type:`warning`,title:this._localeService.t(`clipboard.shortCutNotify.title`),content:this._localeService.t(`clipboard.shortCutNotify.useShortCutInstead`)}),this._pasteHTML(a,t);if(o!==-1){let r=n[o],i=await e.getType(r);if(i){let e=ft[r],n=new File([i],`clipboard-image.${e}`,{type:r});return this._pasteFiles([n],t)}}return i?this._pastePlainText(i,t):(this._logService.error(`[SheetClipboardService]`,`No valid data on clipboard`),!1)}async pasteByCopyId(e,t=G.DEFAULT_PASTE){return this._pasteInternal(e,t)}async legacyPaste(e,t,n){let r=tt(e==null?``:e);return n&&!r?this._pasteFiles(n,G.DEFAULT_PASTE):e?this._pasteHTML(e,G.DEFAULT_PASTE):t?/[\n\t]/.test(t)?this._pasteHTML(lt(t),G.DEFAULT_PASTE):this._pastePlainText(t,G.DEFAULT_PASTE):this._pasteUnrecognized()}rePasteWithPasteType(e){let t=this._pasteOptionsCache$.getValue();if(!t)return!1;let r=this._injector.get(n.IUndoRedoService),i=r.pitchTopUndoElement();i&&(0,n.sequenceExecute)(i.undoMutations,this._commandService)&&r.popUndoToRedo();let{cellMatrix:a,rowProperties:o=[],colProperties:s=[],source:c,target:l}=t;return this._pasteUSM({cellMatrix:a,colProperties:s,rowProperties:o},l,G[e],c),!0}updatePasteOptionsCache(e){this._pasteOptionsCache$.next(e)}addClipboardHook(e){if(this._clipboardHooks.findIndex(t=>t.id===e.id)!==-1)return this._logService.error(`[SheetClipboardService]`,`hook already exists`,e.id),{dispose:()=>{}};let t=this._clipboardHooks.findIndex(t=>{let n=t.priority||0;return(e.priority||0)<n});return this._clipboardHooks.splice(t===-1?this._clipboardHooks.length:t,0,e),this._notifyClipboardHook(),(0,n.toDisposable)(()=>{let t=this._clipboardHooks.indexOf(e);t>-1&&(this._clipboardHooks.splice(t,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,t,r,i,a=ut.DEFAULT_COPY){let o=this._univerInstanceService.getUniverSheetInstance(e),s=o==null?void 0:o.getSheetBySheetId(t);if(!o||!s)return null;let c=i.reduce((n,i)=>{var a;let o=(a=i.getFilteredOutRows)==null?void 0:a.call(i,e,t,r);return o==null||o.forEach(e=>n.add(e)),n},new Set),{startColumn:l,startRow:u,endColumn:d,endRow:f}=r,p=u,m=s.getMatrixWithMergedCells(u,l,f,d,n.CellModeEnum.Both),h=new n.ObjectMatrix,g=new n.ObjectMatrix,_={rows:[],cols:[]},v=a===ut.SPECIAL_COPY_FORMULA_ONLY?i.find(e=>e.handleMatrixOnCell):void 0,y=i.filter(e=>e.getCellValueBySpecialMatrix);for(let e=u;e<=f;e++)if(!c.has(e)){_.rows.push(e);for(let t=l;t<=d;t++){if(v){var b;(b=v.handleMatrixOnCell)==null||b.call(v,e,t,p-u,t-l,m,h,g);continue}let r=y.reduce((n,r)=>n||r.getCellValueBySpecialMatrix(e,t),void 0)||m.getValue(e,t);if(r){let e=(0,n.cloneCellDataWithSpanAndDisplay)(r);g.setValue(p-u,t-l,{...(0,n.getEmptyCell)(),...e}),delete e.displayV,h.setValue(p-u,t-l,{...(0,n.getEmptyCell)(),...e})}else g.setValue(p-u,t-l,(0,n.getEmptyCell)()),h.setValue(p-u,t-l,(0,n.getEmptyCell)()),m.setValue(e,t,(0,n.getEmptyCell)())}p+=1}for(let e=l;e<=d;e++)_.cols.push(e);let x=Ce(),S=this._usmToHtml.convert(m,_,i,x);return{copyId:x,plain:ht(g),html:S,matrixFragment:h,discreteRange:_}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _executePaste(e){let t=this._getPastingTarget();if(!t.subUnitId||!t.selection)return!1;let r=this._injector.invoke(e=>(0,a.rangeToDiscreteRange)(t.selection.range,e,t.unitId,t.subUnitId));if(!r)return!1;let{unitId:i,subUnitId:o}=t,s=this._clipboardHooks,c=[];if(s.some(e=>{var t;return c.push(e)&&((t=e.onBeforePaste)==null?void 0:t.call(e,{unitId:i,subUnitId:o,range:r}))===!1}))return c.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,!1)}),!1;let l=[],u=[];c.forEach(t=>{let n=e(t,{unitId:i,subUnitId:o,range:r});n&&(l.push(...n.redos),u.push(...n.undos))});let d=l.every(e=>this._commandService.executeCommand(e.id,e.params));return d&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId(),undoMutations:u,redoMutations:l}),d}async _pasteFiles(e,t){return this._executePaste((n,r)=>{var i;return(i=n.onPasteFiles)==null?void 0:i.call(n,r,e,{pasteType:t})})}async _pastePlainText(e,t){return this._executePaste((n,r)=>{var i;return(i=n.onPastePlainText)==null?void 0:i.call(n,r,e,{pasteType:t})})}_pasteUnrecognized(){return this._executePaste((e,t)=>{var n;return(n=e.onPasteUnrecognized)==null?void 0:n.call(e,t)})}async _pasteHTML(e,t){let n=we(e);return n&&this._copyContentCache.get(n)?this._pasteInternal(n,t):this._pasteExternal(e,t)}async _pasteExternal(e,t){var n;let{rowProperties:r,colProperties:i,cellMatrix:a}=this._htmlToUSM.convert(e);if(!a)return!1;let o=this._getPastedRange(a);if(!o)return!1;let s=(n=this._univerInstanceService.getUniverSheetInstance(o.unitId))==null?void 0:n.getSheetBySheetId(o.subUnitId);if(!s)return!1;let c=s==null?void 0:s.getMergeData();return c.length&&c.some(e=>st(e,o.pastedRange)&&!ct(o.pastedRange,e))?(this._errorService.emit(this._localeService.t(`clipboard.paste.overlappingMergedCells`)),!1):this._pasteUSM({rowProperties:r,colProperties:i,cellMatrix:a},o,t)}async _pasteInternal(e,t){var r,i;let a=this._copyContentCache.get(e),{range:o,matrix:s,unitId:c,subUnitId:l}=a||{};if(!s||!a||!o||!c||!l)return!1;let{mapFunc:u}=A([o]),d=(r=this._univerInstanceService.getUniverSheetInstance(c))==null?void 0:r.getSheetBySheetId(l),f=new n.ObjectMatrix;s.forValue((e,t,n)=>{let{row:r,col:i}=u(e,t),a=d==null?void 0:d.getCellRaw(r,i),o=d==null?void 0:d.getComposedCellStyleByCellData(r,i,a),s=Se(n);if(o&&Object.keys(o).length>0&&(s.s=o),f.setValue(e,t,s),n.colSpan||n.rowSpan)for(let r=0;r<n.rowSpan;r++)for(let i=0;i<n.colSpan;i++){if(r===0&&i===0)continue;let n=e+r,a=t+i;f.setValue(n,a,{s:o})}});let p=this._getPastedRange(f);if(!p)return!1;let m=(i=this._univerInstanceService.getUniverSheetInstance(p.unitId))==null?void 0:i.getSheetBySheetId(p.subUnitId);if(!m)return!1;let h=m==null?void 0:m.getMergeData();if(h&&h.some(e=>st(e,p.pastedRange)&&!ct(p.pastedRange,e)))return this._errorService.emit(this._localeService.t(`clipboard.paste.overlappingMergedCells`)),!1;let g=this._univerInstanceService.getUnit(c);if(!g)return!1;let _=g.getSheetBySheetId(l);if(!_)return!1;let v=_.getColumnManager(),y=_.getRowManager(),b=[],x=[];if(o.cols.forEach(e=>{b.push({width:`${v.getColumnWidth(e)}`})}),o.rows.forEach(e=>{x.push({height:`${y.getRowHeight(e)}`})}),a.copyType===qe.CUT){let e=p.pastedRange.rows[0],t=o.rows[o.rows.length-1]-o.rows[0]+e;p.pastedRange.rows=Array.from(Array(t+1).keys()).slice(e)}let S=this._pasteUSM({cellMatrix:f,colProperties:b,rowProperties:x},p,t,{range:o,unitId:a.unitId,subUnitId:a.subUnitId,copyType:a.copyType,copyId:e});return a.copyType===qe.CUT&&(this._copyContentCache.set(e,{...a,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),S}_pasteUSM(e,t,n,r){let{rowProperties:i,colProperties:o,cellMatrix:s}=e,{unitId:c,subUnitId:l,pastedRange:u}=t,d=this._clipboardHooks,f=[];if(d.some(e=>{var t;return f.push(e)&&((t=e.onBeforePaste)==null?void 0:t.call(e,{unitId:c,subUnitId:l,range:u}))===!1}))return f.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,!1)}),!1;if(!s)return!1;let p=r?{unitId:r.unitId,subUnitId:r.subUnitId,range:r.range}:null,m={copyType:(r==null?void 0:r.copyType)||qe.COPY,copyId:r==null?void 0:r.copyId,pasteType:n},h=[],g=[],_=f.filter(e=>!e.specialPasteInfo&&e.id!==G.DEFAULT_PASTE||n===e.id);if(_.forEach(e=>{var t,r,i;let a=(t=e.onPasteRows)==null?void 0:t.call(e,{range:u,unitId:c,subUnitId:l});a&&(h.push(...a.redos),g.push(...a.undos));let d=(r=e.onPasteColumns)==null?void 0:r.call(e,{range:u,unitId:c,subUnitId:l},o||[],{pasteType:n});d&&(h.push(...d.redos),g.push(...d.undos));let f=(i=e.onPasteCells)==null?void 0:i.call(e,p,{range:u,unitId:c,subUnitId:l},s,m);f&&(h.push(...f.redos),g.push(...f.undos))}),m.copyType===qe.COPY){let e=this._getSetSelectionOperation(c,l,u,s,n);e&&h.push(e)}h=at(h),g=at(g),h=h.flatMap(e=>ot(e,{threshold:2e4,maxCellsPerChunk:1e4})),g=g.flatMap(e=>ot(e,{threshold:2e4,maxCellsPerChunk:1e4})),g.push({id:a.SetWorksheetActiveOperation.id,params:{unitId:t.unitId,subUnitId:t.subUnitId}}),this._logService.log(`[SheetClipboardService]`,`pasting mutations`,{undoMutationsInfo:g,redoMutationsInfo:h});let v=h.every(e=>this._commandService.syncExecuteCommand(e.id,e.params));if(v){let e=this._getPastedRangeAutoHeightMutation(c,l,u);e&&(this._commandService.syncExecuteCommand(e.redo.id,e.redo.params),h.push(e.redo),g.unshift(e.undo)),this._undoRedoService.pushUndoRedo({unitID:c,undoMutations:g,redoMutations:h}),this.updatePasteOptionsCache({target:{pastedRange:u,unitId:c,subUnitId:l},cellMatrix:s,rowProperties:i,colProperties:o,pasteType:n,source:r}),this.setShowMenu(!0)}return _.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,v)}),v}_getPastedRangeAutoHeightMutation(e,t,r){var i,o;let s=(i=this._univerInstanceService.getUnit(e,n.UniverInstanceType.UNIVER_SHEET))==null?void 0:i.getSheetBySheetId(t);if(!s)return null;let c=(o=this._renderManagerService.getRenderById(e))==null?void 0:o.with(U).ensureSkeleton(t);if(!c)return null;let l=s.getRowManager(),u=s.getConfig().defaultRowHeight,{rows:d,cols:f}=r,p=d[0],m=d[d.length-1],h=f[0],g=f[f.length-1],_=[];for(let e=p;e<=m;e++)if(!l.getRow(e)){let t=c.calculateAutoHeightInRange([{startRow:e,endRow:e,startColumn:h,endColumn:g}]).filter(e=>e.autoHeight!==u);_.push(...t)}if(_.length>0){let n={unitId:e,subUnitId:t,rowsAutoHeightInfo:_};return{redo:{id:a.SetWorksheetRowAutoHeightMutation.id,params:n},undo:{id:a.SetWorksheetRowAutoHeightMutation.id,params:(0,a.SetWorksheetRowAutoHeightMutationFactory)(n,s)}}}return null}_getSetSelectionOperation(e,t,n,r,i){var o;let s=(o=this._univerInstanceService.getUniverSheetInstance(e))==null?void 0:o.getSheetBySheetId(t);if(!s)return null;let{rows:c,cols:l}=n,u=c[0],d=l[0],f=c[c.length-1],p=l[l.length-1],m=(0,a.getPrimaryForRange)({startRow:u,endRow:u,startColumn:d,endColumn:d},s),h=r.getValue(0,0),g=(h==null?void 0:h.rowSpan)||1,_=(h==null?void 0:h.colSpan)||1;if((i===G.DEFAULT_PASTE||i===G.SPECIAL_PASTE_BESIDES_BORDER||i===G.SPECIAL_PASTE_FORMAT)&&(g>1||_>1)){let e={startRow:u,endRow:u+g-1,startColumn:d,endColumn:d+_-1};m.startRow=e.startRow,m.endRow=e.endRow,m.startColumn=e.startColumn,m.endColumn=e.endColumn,m.isMerged=!0,m.isMergedMainCell=!0}let v={unitId:e,subUnitId:t,selections:[{range:{startRow:u,endRow:f,startColumn:d,endColumn:p},primary:m,style:null}]};return{id:a.SetSelectionsOperation.id,params:v}}_getPastingTarget(){let e=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),t=e.getActiveSheet(),r=this._selectionManagerService.getCurrentLastSelection();return{unitId:e.getUnitId(),subUnitId:t==null?void 0:t.getSheetId(),selection:r}}_transformPastedData(e,t,r){let{selection:i,unitId:o,subUnitId:s}=this._getPastingTarget();if(!s||!i)return null;let c=this._injector.invoke(e=>(0,a.rangeToDiscreteRange)(i.range,e,o,s));if(!c)return null;let{ranges:[l],mapFunc:u}=A([c]),{startRow:d,startColumn:f,endRow:p,endColumn:m}=l,h=p-d+1,g=m-f+1,_=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),v=_==null?void 0:_.getActiveSheet();if(!v)return null;let y=v.getMergeData().filter(e=>c.rows.includes(e.startRow)&&c.cols.includes(e.startColumn)),b=y[0],x=0,S=0,C=0,w=0;if(b&&(x=b.startRow,S=b.startColumn,C=b.endRow,w=b.endColumn),h%e===0&&g%t===0)if(y.length>0&&(h!==e||g!==t))if(x===c.rows[0]&&S===c.cols[0]&&C===c.rows[h-1]&&w===c.cols[g-1])if(yt(r))for(let n=0;n<h;n++)for(let i=0;i<g;i++){let a=r.getValue(n%e,i%t);a&&r.setValue(n,i,a)}else r.forValue((e,t,n)=>{n.s=null,delete n.colSpan,delete n.rowSpan});else for(let n=0;n<h;n++)for(let i=0;i<g;i++){let a=r.getValue(n%e,i%t);a&&r.setValue(n,i,a)}else for(let n=0;n<h;n++)for(let i=0;i<g;i++){let a=r.getValue(n%e,i%t);a&&r.setValue(n,i,a)}else if(y.length>0){let{row:n,col:i}=u(d,f);if(this._topLeftCellsMatch(e,t,{topRow:n,leftCol:i})){let n=this._expandOrShrinkRowsCols(o,s,c,t,e);c.rows=n.rows,c.cols=n.cols}else if(p>b.endRow||m>b.endColumn)return null;else r.forValue((e,t,n)=>{n.s=null,delete n.colSpan,delete n.rowSpan})}else{let n=this._expandOrShrinkRowsCols(o,s,c,t,e);c.rows=n.rows,c.cols=n.cols}return{pastedRange:c,unitId:o,subUnitId:s}}_getPastedRange(e){var t;let{selection:n,unitId:r,subUnitId:i}=this._getPastingTarget();if(!i||!n)return null;let o=this._injector.invoke(e=>(0,a.rangeToDiscreteRange)(n.range,e,r,i));if(!o)return null;let{startColumn:s,endColumn:c,startRow:l,endRow:u}=e.getDataRange(),d=u-l+1,f=c-s+1;if(d<=0||f<=0)return null;let p=o.rows.length,m=o.cols.length,h=(t=this._univerInstanceService.getUniverSheetInstance(r))==null?void 0:t.getSheetBySheetId(i);if(!h)return null;let g=h==null?void 0:h.getMergeData();if(p%d===0&&m%f===0&&!(g!=null&&g.some(e=>st(e,o)))){for(let t=0;t<p;t++)for(let n=0;n<m;n++){let r=e.getValue(t%d,n%f);r&&e.setValue(t,n,r)}return{pastedRange:o,unitId:r,subUnitId:i}}let _=this._expandOrShrinkRowsCols(r,i,o,f,d);return o.rows=_.rows,o.cols=_.cols,{pastedRange:o,unitId:r,subUnitId:i}}_expandOrShrinkRowsCols(e,t,n,r,i){let{rows:a,cols:o}=n,s=this._univerInstanceService.getUniverSheetInstance(e),c=s==null?void 0:s.getSheetBySheetId(t),l,u;if(a.length>=i)l=a.slice(0,i);else{l=a.slice(0);let e=a[a.length-1]+1;for(;l.length<i;)c.getRowFiltered(e)||l.push(e),e++}if(o.length>=r)u=o.slice(0,r);else{u=o.slice(0);let e=o[o.length-1]+1;for(;u.length<r;)u.push(e),e++}return{rows:l,cols:u}}_topLeftCellsMatch(e,t,r){let i=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getActiveSheet();if(!a)return!1;let{topRow:o,leftCol:s}=r,c=_t(o+e-1,s,s+t-1,a),l=vt(s+t-1,o,o+e-1,a);return!c&&!l}removeMarkSelection(){this._copyMarkId&&(this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null)}_initUnitDisposed(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(n.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e&&this.copyContentCache().clearWithUnitId(e.getUnitId())}))}disposePasteOptionsCache(){this.setShowMenu(!1),this.updatePasteOptionsCache(null)}};mt=H([V(0,n.ILogService),V(1,n.IUniverInstanceService),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,r.IClipboardInterfaceService),V(4,n.IUndoRedoService),V(5,n.ICommandService),V(6,ye),V(7,r.INotificationService),V(8,r.IPlatformService),V(9,i.IRenderManagerService),V(10,(0,n.Inject)(n.ThemeService)),V(11,(0,n.Inject)(n.LocaleService)),V(12,(0,n.Inject)(n.ErrorService)),V(13,(0,n.Inject)(n.Injector))],mt);function ht(e){let t=``,n=e.getLength();return e.forRow((r,i)=>{let a=[];i.forEach(t=>{let n=e.getValue(r,t);if(n){let e=gt(n);a.push(e)}}),t+=a.join(` `),r!==n-1&&(t+=`
5
+ `)}),t}function gt(e){return(0,n.isNotNullOrUndefined)(e.displayV)?e.displayV:(0,n.extractPureTextFromCell)(e)}function _t(e,t,n,r){return r.getMergeData().some(r=>r.startRow<=e&&e<r.endRow&&t<=r.startColumn&&r.startColumn<=n)}function vt(e,t,n,r){return r.getMergeData().some(r=>r.startColumn<=e&&e<r.endColumn&&t<=r.startRow&&r.startRow<=n)}function yt(e){let t=0;return e.forValue((e,n,r)=>{if(r&&t++,t>1)return!1}),t>1}let bt={id:r.CopyCommand.id,name:`sheet.command.copy`,type:n.CommandType.COMMAND,multi:!0,priority:998,preconditions:S,handler:async e=>e.get(pt).copy()},xt={id:r.CutCommand.id,name:`sheet.command.cut`,type:n.CommandType.COMMAND,multi:!0,priority:998,preconditions:S,handler:async e=>e.get(pt).cut()},St={id:r.PasteCommand.id,type:n.CommandType.COMMAND,multi:!0,name:`sheet.command.paste`,priority:998,preconditions:S,handler:async(e,t)=>{let n=e.get(pt),i=e.get(r.IClipboardInterfaceService);if(i.supportClipboard){let e=await i.read();if(e.length!==0)return n.paste(e[0],t==null?void 0:t.value)}let a=n.copyContentCache().getLastCopyId();return a?(console.warn(`Since the current environment does not support the Clipboard API, we will use the internal copyId to paste the content.`),n.pasteByCopyId(a,t==null?void 0:t.value)):!1}},Ct={id:r.SheetPasteShortKeyCommandName,type:n.CommandType.COMMAND,handler:async(e,t)=>{let n=e.get(pt),{htmlContent:r,textContent:i,files:a}=t;return n.legacyPaste(r,i,a),!0}},wt={id:`sheet.command.paste-value`,type:n.CommandType.COMMAND,handler:async e=>e.get(n.ICommandService).executeCommand(St.id,{value:G.SPECIAL_PASTE_VALUE})},Tt={id:`sheet.command.paste-format`,type:n.CommandType.COMMAND,handler:async e=>e.get(n.ICommandService).executeCommand(St.id,{value:G.SPECIAL_PASTE_FORMAT})},Et={id:`sheet.command.paste-col-width`,type:n.CommandType.COMMAND,handler:async e=>e.get(n.ICommandService).executeCommand(St.id,{value:G.SPECIAL_PASTE_COL_WIDTH})},Dt={id:`sheet.command.paste-besides-border`,type:n.CommandType.COMMAND,handler:async e=>e.get(n.ICommandService).executeCommand(St.id,{value:G.SPECIAL_PASTE_BESIDES_BORDER})},Ot={id:`sheet.command.optional-paste`,type:n.CommandType.COMMAND,handler:async(e,{type:t})=>e.get(pt).rePasteWithPasteType(t)},kt={type:n.CommandType.COMMAND,id:`sheet.command.delete-range-move-left-confirm`,handler:async e=>{let t=e.get(n.IConfirmService),r=e.get(n.ICommandService),i=e.get(n.LocaleService),o=e.get(a.SheetsSelectionsService),s=e.get(n.IUniverInstanceService),c=o.getCurrentSelections();if(!c)return!1;let l=(0,a.getSheetCommandTarget)(s);if(!l)return!1;let{worksheet:u}=l,d=c[0].range;if(!d)return!1;d={...d,endColumn:u.getColumnCount()-1};let f=e=>e.endRow-e.startRow;return!u.getMergeData().find(e=>{let t=n.Rectangle.getIntersects(e,d);return t?f(e)>f(t):!1})||await t.confirm({id:kt.id,title:{title:i.t(`merge.confirm.warning`)},children:{title:i.t(`merge.confirm.dismantleMergeCellWarning`)},cancelText:i.t(`button.cancel`),confirmText:i.t(`button.confirm`)})?r.executeCommand(a.DeleteRangeMoveLeftCommand.id):!0}},At={type:n.CommandType.COMMAND,id:`sheet.command.delete-range-move-up-confirm`,handler:async e=>{let t=e.get(n.IConfirmService),r=e.get(n.ICommandService),i=e.get(n.LocaleService),o=e.get(a.SheetsSelectionsService),s=e.get(n.IUniverInstanceService),c=o.getCurrentSelections();if(!c)return!1;let l=(0,a.getSheetCommandTarget)(s);if(!l)return!1;let{worksheet:u}=l,d=c[0].range;if(!d)return!1;d={...d,endRow:u.getRowCount()-1};for(let e=d.startRow;e<=d.endRow;e++)if(u.getRowFiltered(e)&&await t.confirm({id:At.id,title:{title:i.t(`filter.confirm.error`)},children:{title:i.t(`filter.confirm.notAllowedToInsertRange`)},confirmText:i.t(`button.confirm`)}))return!1;let f=e=>e.endColumn-e.startColumn;return!u.getMergeData().find(e=>{let t=n.Rectangle.getIntersects(e,d);return t?f(e)>f(t):!1})||await t.confirm({id:At.id,title:{title:i.t(`merge.confirm.warning`)},children:{title:i.t(`merge.confirm.dismantleMergeCellWarning`)},cancelText:i.t(`button.cancel`),confirmText:i.t(`button.confirm`)})?r.executeCommand(a.DeleteRangeMoveUpCommand.id):!0}};function jt(e,t,r,i,a=!0,o=1,s=!0){let c={...e};i==null&&(i={startRow:0,endRow:r.getRowCount()-1,startColumn:0,endColumn:r.getColumnCount()-1});let l;switch(t){case n.Direction.UP:for(l=e.startRow-o;l>-1&&!r.getRowVisible(l);)--l;l>=i.startRow?(c.startRow=l,c.endRow=l):s&&(c.startRow=i.endRow,c.endRow=i.endRow,a&&(c=jt(c,n.Direction.LEFT,r,i,!1)));break;case n.Direction.DOWN:for(l=e.endRow+o;l<r.getRowCount()&&!r.getRowVisible(l);)l+=1;l<=i.endRow?(c.startRow=l,c.endRow=l):s&&(c.startRow=i.startRow,c.endRow=i.startRow,a&&(c=jt(c,n.Direction.RIGHT,r,i,!1)));break;case n.Direction.LEFT:for(l=e.startColumn-o;l>-1&&!r.getColVisible(l);)--l;l>=i.startColumn?(c.startColumn=l,c.endColumn=l):s&&(c.startColumn=i.endColumn,c.endColumn=i.endColumn,a&&(c=jt(c,n.Direction.UP,r,i,!1)));break;case n.Direction.RIGHT:for(l=e.endColumn+o;l<r.getColumnCount()&&!r.getColVisible(l);)l+=1;l<=i.endColumn?(c.startColumn=l,c.endColumn=l):s&&(c.startColumn=i.startColumn,c.endColumn=i.startColumn,a&&(c=jt(c,n.Direction.DOWN,r,i,!1)));break;default:break}return c}function Mt(e,t,r){let i={...e},{startRow:o,startColumn:s,endRow:c,endColumn:l}=zt(e,t,r),u=Bt(r,o,s,c,l).hasValue,d=!0,f=!0;for(;f;){if(n.Direction.UP===t){let e=i.startRow-1;for(;e>-1&&!r.getRowVisible(e);)--e;if(e===-1){f=!1;break}let{hasValue:t,matrix:n}=Bt(r,e,i.startColumn,e,i.endColumn);if(u&&!t&&!d){f=!1;break}else{if(n.getLength()!==0){let t=e;n.forValue(e=>{t=Math.min(e,t)}),i.startRow=t}else i.startRow=e;if(i.endRow=i.startRow,!u&&t){f=!1;break}u=t,d=!1}}if(n.Direction.DOWN===t){let e=i.endRow+1;for(;e<r.getRowCount()&&!r.getRowVisible(e);)e+=1;if(e===r.getRowCount()){f=!1;break}let{hasValue:t,matrix:n}=Bt(r,e,i.startColumn,e,i.endColumn);if(u&&!t&&!d){f=!1;break}else{if(n.getLength()!==0){let t=e;n.forValue((e,n,r)=>{t=Math.max(e+(r.rowSpan||1)-1,t)}),i.endRow=t}else i.endRow=e;if(i.startRow=i.endRow,!u&&t){f=!1;break}u=t,d=!1}}if(n.Direction.LEFT===t){let e=i.startColumn-1;for(;e>-1&&!r.getColVisible(e);)--e;if(e===-1){f=!1;break}let{hasValue:t,matrix:n}=Bt(r,i.startRow,e,i.endRow,e);if(u&&!t&&!d){f=!1;break}else{if(n.getLength()!==0){let t=e;n.forValue((e,n)=>{t=Math.min(n,t)}),i.startColumn=t}else i.startColumn=e;if(i.endColumn=i.startColumn,!u&&t){f=!1;break}u=t,d=!1}}if(n.Direction.RIGHT===t){let e=i.endColumn+1;for(;e<r.getColumnCount()&&!r.getColVisible(e);)e+=1;if(e===r.getColumnCount()){f=!1;break}let{hasValue:t,matrix:n}=Bt(r,i.startRow,e,i.endRow,e);if(u&&!t&&!d){f=!1;break}else{if(n.getLength()!==0){let t=e;n.forValue((e,n,r)=>{t=Math.max(n+(r.colSpan||1)-1,t)}),i.endColumn=t}else i.endColumn=e;if(i.startColumn=i.endColumn,!u&&t){f=!1;break}u=t,d=!1}}}return(0,a.alignToMergedCellsBorders)(i,r,!0)}function Nt(e,t,n){return jt(e,t,n,void 0,!1,1,!1)}function Pt(e,t,r){let i=Mt(e,t,r);return(0,a.alignToMergedCellsBorders)(n.Rectangle.union(i,e),r,!0)}function Ft(e,t,r){let i=Nt(e,t,r),o={startRow:Math.min(e.startRow,i.startRow),startColumn:Math.min(e.startColumn,i.startColumn),endRow:Math.max(e.endRow,i.endRow),endColumn:Math.max(e.endColumn,i.endColumn)};return(0,a.alignToMergedCellsBorders)(n.Rectangle.union(e,o),r)}function It(e,t,r,i){let o=Mt(zt(e,(0,n.getReverseDirection)(r),i),r,i);return r===n.Direction.UP&&o.startRow<=e.startRow||r===n.Direction.DOWN&&o.endRow>=e.endRow?(0,a.alignToMergedCellsBorders)({...t,startColumn:e.startColumn,endColumn:e.endColumn},i,!0):r===n.Direction.LEFT&&o.startColumn<=e.startColumn||r===n.Direction.RIGHT&&o.endColumn>=e.endColumn?(0,a.alignToMergedCellsBorders)({...t,startRow:e.startRow,endRow:e.endRow},i,!0):n.Rectangle.union(n.Rectangle.clone(t),o)}function Lt(e,t,r){let i=zt(e,(0,n.getReverseDirection)(t),r),o=zt(e,t,r),s=Nt(i,t,r);return(0,a.alignToMergedCellsBorders)(n.Rectangle.union(o,s),r,!1)}function Rt(e){return{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:n.RANGE_TYPE.ALL}}function zt(e,t,r){let i;switch(t){case n.Direction.UP:i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.startRow,endColumn:e.endColumn,rangeType:n.RANGE_TYPE.NORMAL};break;case n.Direction.DOWN:i={startRow:e.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:n.RANGE_TYPE.NORMAL};break;case n.Direction.LEFT:i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.startColumn,rangeType:n.RANGE_TYPE.NORMAL};break;case n.Direction.RIGHT:i={startRow:e.startRow,startColumn:e.endColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:n.RANGE_TYPE.NORMAL};break;default:throw Error(`Invalid direction`)}return(0,a.alignToMergedCellsBorders)(i,r,!1)}function Bt(e,t,n,r,i){let a=!1,o=e.getMatrixWithMergedCells(t,n,r,i).forValue((e,t,n)=>{if(Gt(n))return a=!0,!1});return{hasValue:a,matrix:o}}function Vt(e,t,r){let i=n.Rectangle.clone(e);if(t==null)return i;switch(r){case n.Direction.UP:case n.Direction.DOWN:i.startColumn=i.endColumn=t.actualColumn;break;case n.Direction.LEFT:case n.Direction.RIGHT:i.startRow=i.endRow=t.actualRow;break}return i}function Ht(e,t,r){let{primary:i,range:a}=e,o=n.Rectangle.clone(a);switch(t){case n.Direction.UP:case n.Direction.DOWN:var s,c;o.startRow=(s=i==null?void 0:i.startRow)==null?a.startRow:s,o.endRow=(c=i==null?void 0:i.endRow)==null?a.startRow:c;break;case n.Direction.LEFT:case n.Direction.RIGHT:var l,u;o.startColumn=(l=i==null?void 0:i.startColumn)==null?a.startColumn:l,o.endColumn=(u=i==null?void 0:i.endColumn)==null?a.startColumn:u;break}let d=zt(o,t,r);switch(t){case n.Direction.DOWN:return a.startRow<d.startRow;case n.Direction.UP:return a.endRow>d.endRow;case n.Direction.LEFT:return d.endColumn<a.endColumn;case n.Direction.RIGHT:return d.startColumn>a.startColumn}}function Ut(e,t){let n=e[0].startRow,r=e[0].endRow;e.forEach(e=>{let{startRow:t,endRow:i}=e;n=Math.min(n,t),r=Math.max(r,i)});let i=Array(r-n+1).fill(!1);return t.forEach(e=>{let{startRow:t,endRow:a}=e;for(let e=Math.max(t,n);e<=Math.min(a,r);e++)i[e-n]=!0}),e.every(e=>{let{startRow:t,endRow:r}=e;for(let e=t;e<=r;e++)if(!i[e-n])return!1;return!0})}function Wt(e,t){let n=e[0].startColumn,r=e[0].endColumn;e.forEach(e=>{let{startColumn:t,endColumn:i}=e;n=Math.min(n,t),r=Math.max(r,i)});let i=Array(r-n+1).fill(!1);return t.forEach(e=>{let{startColumn:t,endColumn:a}=e;for(let e=Math.max(t,n);e<=Math.min(a,r);e++)i[e-n]=!0}),e.every(e=>{let{startColumn:t,endColumn:r}=e;for(let e=t;e<=r;e++)if(!i[e-n])return!1;return!0})}function Gt(e){return e.v!==void 0&&e.v!==null&&e.v!==``||e.p!==void 0}let Kt={id:`sheet.command.hide-row-confirm`,type:n.CommandType.COMMAND,handler:async e=>{var t;let r=(t=e.get(a.SheetsSelectionsService).getCurrentSelections())==null?void 0:t.map(e=>e.range);if(!(r!=null&&r.length))return!1;let i=e.get(n.ICommandService),o=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!o)return!1;let{worksheet:s}=o;if(Ut(s.getVisibleRows(),r)){let t=e.get(n.IConfirmService),r=e.get(n.LocaleService);return await t.confirm({id:`sheet.confirm.hide-row`,title:{title:r.t(`info.problem`)},children:{title:r.t(`rightClick.hideAllRowsAlert`)},cancelText:r.t(`button.cancel`),confirmText:r.t(`button.confirm`)}),!1}return await i.executeCommand(a.SetRowHiddenCommand.id),!0}},qt={id:`sheet.command.hide-col-confirm`,type:n.CommandType.COMMAND,handler:async e=>{var t;let r=(t=e.get(a.SheetsSelectionsService).getCurrentSelections())==null?void 0:t.map(e=>e.range);if(!(r!=null&&r.length))return!1;let i=e.get(n.ICommandService),o=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!o)return!1;let{worksheet:s}=o;if(Wt(s.getVisibleCols(),r)){let t=e.get(n.IConfirmService),r=e.get(n.LocaleService);return await t.confirm({id:`sheet.confirm.hide-col`,title:{title:r.t(`info.problem`)},children:{title:r.t(`rightClick.hideAllColumnsAlert`)},cancelText:r.t(`button.cancel`),confirmText:r.t(`button.confirm`)}),!1}return await i.executeCommand(a.SetColHiddenCommand.id),!0}};function Jt(e){var r,i;let a=e.get(n.IUniverInstanceService),o=e.get(s.DocSelectionManagerService),c=(r=e.get(t.IEditorService).getFocusId())==null?n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:r,l=a.getUnit(c,n.UniverInstanceType.UNIVER_DOC),u=o.getActiveTextRange();if(l==null||u==null)return null;let d=(i=l.getBody())==null?void 0:i.textRuns;if(d==null)return;let{startOffset:f,endOffset:p}=u;return d.find(({st:e,ed:t})=>f>=e&&p<=t)}let Yt={type:n.CommandType.COMMAND,id:`sheet.command.set-range-bold`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatBoldCommand.id):r.executeCommand(a.SetBoldCommand.id)}},Xt={type:n.CommandType.COMMAND,id:`sheet.command.set-range-italic`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatItalicCommand.id):r.executeCommand(a.SetItalicCommand.id)}},Zt={type:n.CommandType.COMMAND,id:`sheet.command.set-range-underline`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatUnderlineCommand.id):r.executeCommand(a.SetUnderlineCommand.id)}},Qt={type:n.CommandType.COMMAND,id:`sheet.command.set-range-stroke`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatStrikethroughCommand.id):r.executeCommand(a.SetStrikeThroughCommand.id)}},$t={type:n.CommandType.COMMAND,id:`sheet.command.set-range-subscript`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatSubscriptCommand.id):!1}},en={type:n.CommandType.COMMAND,id:`sheet.command.set-range-superscript`,handler:async e=>{let r=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?r.executeCommand(t.SetInlineFormatSuperscriptCommand.id):!1}},tn={type:n.CommandType.COMMAND,id:`sheet.command.set-range-fontsize`,handler:async(e,r)=>{let i=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?i.executeCommand(t.SetInlineFormatFontSizeCommand.id,r):i.executeCommand(a.SetFontSizeCommand.id,r)}},nn={type:n.CommandType.COMMAND,id:`sheet.command.set-range-font-increase`,handler:async e=>{var r;let i=e.get(n.IUniverInstanceService),o=e.get(n.ICommandService),s=e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED),c=e.get(a.SheetsSelectionsService),l=n.DEFAULT_STYLES.fs,u=i.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),d=(r=c.getCurrentLastSelection())==null?void 0:r.primary,f={value:l};if(s){let n=Jt(e);if(n!=null){var p,m;let e=(p=(m=n.ts)==null?void 0:m.fs)==null?l:p;f.value=e>=400?400:e+1}return o.executeCommand(t.SetInlineFormatFontSizeCommand.id,f)}if(d!=null){var h;let e=(h=u.getComposedCellStyle(d.startRow,d.startColumn).fs)==null?l:h;return f.value=e>=400?400:e+1,o.executeCommand(a.SetFontSizeCommand.id,f)}return!1}},rn={type:n.CommandType.COMMAND,id:`sheet.command.set-range-font-decrease`,handler:async e=>{var r;let i=e.get(n.IUniverInstanceService),o=e.get(n.ICommandService),s=e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED),c=e.get(a.SheetsSelectionsService),l=n.DEFAULT_STYLES.fs,u=i.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),d=(r=c.getCurrentLastSelection())==null?void 0:r.primary,f={value:l};if(s){let n=Jt(e);if(n!=null){var p,m;let e=(p=(m=n.ts)==null?void 0:m.fs)==null?l:p;f.value=e<=6?6:e-1}return o.executeCommand(t.SetInlineFormatFontSizeCommand.id,f)}if(d!=null){var h;let e=(h=u.getComposedCellStyle(d.startRow,d.startColumn).fs)==null?l:h;return f.value=e<=6?6:e-1,o.executeCommand(a.SetFontSizeCommand.id,f)}return!1}},an={type:n.CommandType.COMMAND,id:`sheet.command.set-range-font-family`,handler:async(e,r)=>{let i=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?i.executeCommand(t.SetInlineFormatFontFamilyCommand.id,r):i.executeCommand(a.SetFontFamilyCommand.id,r)}},on={type:n.CommandType.COMMAND,id:`sheet.command.set-range-text-color`,handler:async(e,r)=>{let i=e.get(n.ICommandService);return e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)?i.executeCommand(t.SetInlineFormatTextColorCommand.id,r):i.executeCommand(a.SetTextColorCommand.id,r)}},sn={type:n.CommandType.COMMAND,id:`sheet.command.reset-range-text-color`,handler:async e=>{let r=e.get(n.ICommandService),i=e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED),o=e.get(n.ThemeService);return i?r.executeCommand(t.SetInlineFormatTextColorCommand.id,{value:null}):r.executeCommand(a.SetTextColorCommand.id,{value:o.getColorFromTheme(`gray.900`)})}},cn={type:n.CommandType.COMMAND,id:`sheet.command.insert-range-move-down-confirm`,handler:async e=>{let t=e.get(n.IConfirmService),r=e.get(n.ICommandService),i=e.get(n.LocaleService),o=e.get(a.SheetsSelectionsService),s=e.get(n.IUniverInstanceService),c=o.getCurrentSelections();if(!c)return!1;let l=(0,a.getSheetCommandTarget)(s);if(!l)return!1;let{worksheet:u}=l,d=c[0].range;if(!d)return!1;d={...d,endRow:u.getRowCount()-1};for(let e=d.startRow;e<=d.endRow;e++)if(u.getRowFiltered(e)&&await t.confirm({id:cn.id,title:{title:i.t(`filter.confirm.error`)},children:{title:i.t(`filter.confirm.notAllowedToInsertRange`)},confirmText:i.t(`button.confirm`)}))return!1;let f=e=>e.endColumn-e.startColumn;return!u.getMergeData().find(e=>{let t=n.Rectangle.getIntersects(e,d);return t?f(e)>f(t):!1})||await t.confirm({id:cn.id,title:{title:i.t(`merge.confirm.warning`)},children:{title:i.t(`merge.confirm.dismantleMergeCellWarning`)},cancelText:i.t(`button.cancel`),confirmText:i.t(`button.confirm`)})?r.executeCommand(a.InsertRangeMoveDownCommand.id):!0}},ln={type:n.CommandType.COMMAND,id:`sheet.command.insert-range-move-right-confirm`,handler:async e=>{let t=e.get(n.IConfirmService),r=e.get(n.ICommandService),i=e.get(n.LocaleService),o=e.get(a.SheetsSelectionsService),s=e.get(n.IUniverInstanceService),c=o.getCurrentSelections();if(!c)return!1;let l=(0,a.getSheetCommandTarget)(s);if(!l)return!1;let{worksheet:u}=l,d=c[0].range;if(!d)return!1;d={...d,endColumn:u.getColumnCount()-1};let f=e=>e.endRow-e.startRow;return!u.getMergeData().find(e=>{let t=n.Rectangle.getIntersects(e,d);return t?f(e)>f(t):!1})||await t.confirm({id:ln.id,title:{title:i.t(`merge.confirm.warning`)},children:{title:i.t(`merge.confirm.dismantleMergeCellWarning`)},cancelText:i.t(`button.cancel`),confirmText:i.t(`button.confirm`)})?r.executeCommand(a.InsertRangeMoveRightCommand.id):!0}};var un=(e=>(e[e.OpenOrReOpen=0]=`OpenOrReOpen`,e[e.Solved=1]=`Solved`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(un||{}),dn=(e=>(e[e.Unknown=0]=`Unknown`,e[e.Add=1]=`Add`,e[e.Reply=2]=`Reply`,e[e.Edit=3]=`Edit`,e[e.Delete=4]=`Delete`,e[e.Solve=5]=`Solve`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(dn||{}),fn=(e=>(e[e.UNDEFINED=0]=`UNDEFINED`,e[e.OK=1]=`OK`,e[e.INTERNAL_ERROR=2]=`INTERNAL_ERROR`,e[e.PERMISSION_DENIED=3]=`PERMISSION_DENIED`,e[e.NOT_FOUND=4]=`NOT_FOUND`,e[e.UNAUTHENTICATED=5]=`UNAUTHENTICATED`,e[e.ALREADY_EXISTS=6]=`ALREADY_EXISTS`,e[e.INVALID_ARGUMENT=7]=`INVALID_ARGUMENT`,e[e.TOO_MANY_REQUESTS=8]=`TOO_MANY_REQUESTS`,e[e.COMPLETION_FINISHED=9]=`COMPLETION_FINISHED`,e[e.LOGIN_FAILED=10]=`LOGIN_FAILED`,e[e.MOBILE_VERIFY_CODE_MISMATCH=11]=`MOBILE_VERIFY_CODE_MISMATCH`,e[e.MOBILE_VERIFY_CODE_NOT_FOUND_OR_EXPIRED=12]=`MOBILE_VERIFY_CODE_NOT_FOUND_OR_EXPIRED`,e[e.EMAIL_VERIFY_CODE_MISMATCH=13]=`EMAIL_VERIFY_CODE_MISMATCH`,e[e.EMAIL_VERIFY_CODE_NOT_FOUND_OR_EXPIRED=14]=`EMAIL_VERIFY_CODE_NOT_FOUND_OR_EXPIRED`,e[e.AUTHORIZE_CODE_ILLEGAL=15]=`AUTHORIZE_CODE_ILLEGAL`,e[e.LOGIN_TOKEN_PROCESSING_FAILED=16]=`LOGIN_TOKEN_PROCESSING_FAILED`,e[e.CURRENT_STATUS_CANNOT_OPERATE=100]=`CURRENT_STATUS_CANNOT_OPERATE`,e[e.ERROR_AGAIN=101]=`ERROR_AGAIN`,e[e.USER_NOT_FOUND=201]=`USER_NOT_FOUND`,e[e.USER_IS_ANONYMOUS=202]=`USER_IS_ANONYMOUS`,e[e.CHANGESET_REVISION_CONFILICT=5001]=`CHANGESET_REVISION_CONFILICT`,e[e.SNAPSHOT_INVALID_SNAPSHOT=6001]=`SNAPSHOT_INVALID_SNAPSHOT`,e[e.SNAPSHOT_HAS_BEEN_REMOVED=6002]=`SNAPSHOT_HAS_BEEN_REMOVED`,e[e.ENSURE_SNAPSHOT_EXECUTION=6003]=`ENSURE_SNAPSHOT_EXECUTION`,e[e.APPLY_REJECT=7001]=`APPLY_REJECT`,e[e.APPLY_NON_SEQUENTIAL_REVISION=7002]=`APPLY_NON_SEQUENTIAL_REVISION`,e[e.APPLY_REVISION_CONFILICT=7003]=`APPLY_REVISION_CONFILICT`,e[e.APPLY_PERMISSION_DENIED=7004]=`APPLY_PERMISSION_DENIED`,e[e.APPLY_DUPLICATED=7005]=`APPLY_DUPLICATED`,e[e.CONNECTOR_DATA_TOO_LARGE=8001]=`CONNECTOR_DATA_TOO_LARGE`,e[e.LICENSE_MAX_UNITS_EXCEEDED=9001]=`LICENSE_MAX_UNITS_EXCEEDED`,e[e.LICENSE_MAX_MEMBERS_PER_UNIT_EXCEEDED=9002]=`LICENSE_MAX_MEMBERS_PER_UNIT_EXCEEDED`,e[e.LICENSE_IMPORT_SIZE_EXCEEDED=9003]=`LICENSE_IMPORT_SIZE_EXCEEDED`,e[e.LICENSE_EXPORT_SIZE_EXCEEDED=9004]=`LICENSE_EXPORT_SIZE_EXCEEDED`,e[e.LICENSE_DISTRO_REJECTED=9005]=`LICENSE_DISTRO_REJECTED`,e[e.YUUMI_UNABLE_LOAD_URL=10001]=`YUUMI_UNABLE_LOAD_URL`,e[e.YUUMI_URL_COL_OUT_OF_RANGE=10002]=`YUUMI_URL_COL_OUT_OF_RANGE`,e[e.YUUMI_RATE_OVER_LIMIT=10003]=`YUUMI_RATE_OVER_LIMIT`,e[e.YUUMI_SUBSCRIPTION_NOT_FOUND=10004]=`YUUMI_SUBSCRIPTION_NOT_FOUND`,e[e.YUUMI_NO_CUBOID_FOR_QUESTION=10010]=`YUUMI_NO_CUBOID_FOR_QUESTION`,e[e.YUUMI_ASYNCIO_CANCELLED=10011]=`YUUMI_ASYNCIO_CANCELLED`,e[e.YUUMI_TABLE_NOT_FOUND_IN_UNIT=10012]=`YUUMI_TABLE_NOT_FOUND_IN_UNIT`,e[e.YUUMI_ALL_TABLES_IS_INVALID=10013]=`YUUMI_ALL_TABLES_IS_INVALID`,e[e.YUUMI_PROMPT_MAX_TOKENS_EXCEEDED=10014]=`YUUMI_PROMPT_MAX_TOKENS_EXCEEDED`,e[e.YUUMI_AI_RUN_FAILED=10015]=`YUUMI_AI_RUN_FAILED`,e[e.YUUMI_CONNECTOR_URL_NOT_FOUND=10016]=`YUUMI_CONNECTOR_URL_NOT_FOUND`,e[e.PY_RUNTIME_SCRIPT_ERROR=11001]=`PY_RUNTIME_SCRIPT_ERROR`,e[e.INVITE_CODE_HAS_BEEN_UES=12001]=`INVITE_CODE_HAS_BEEN_UES`,e[e.INVALID_INVITE_CODE=12002]=`INVALID_INVITE_CODE`,e[e.INVITE_CODE_REQUIRED=12003]=`INVITE_CODE_REQUIRED`,e[e.USER_NOT_INVITED_CODE=12004]=`USER_NOT_INVITED_CODE`,e[e.INVITE_CODE_ALREADY_BOUND=12005]=`INVITE_CODE_ALREADY_BOUND`,e[e.WECHAT_HAS_BEEN_BOUND=13001]=`WECHAT_HAS_BEEN_BOUND`,e[e.MOBILE_HAS_BEEN_BOUND=13002]=`MOBILE_HAS_BEEN_BOUND`,e[e.EMAIL_HAS_BEEN_BOUND=13003]=`EMAIL_HAS_BEEN_BOUND`,e[e.ENTITLE_CAN_NOT_BUY_LOWER_OTP=14001]=`ENTITLE_CAN_NOT_BUY_LOWER_OTP`,e[e.ENTITLE_UPDOWN_GRADE_NOT_SUPPORT=14002]=`ENTITLE_UPDOWN_GRADE_NOT_SUPPORT`,e[e.ENTITLE_DUP_SUBSCRIPTION=14003]=`ENTITLE_DUP_SUBSCRIPTION`,e[e.PAYMENT_CHANNEL_NOT_SUPPORT=14004]=`PAYMENT_CHANNEL_NOT_SUPPORT`,e[e.ENTITLE_INVALID_COUPON_CODE=14005]=`ENTITLE_INVALID_COUPON_CODE`,e[e.ENTITLE_COUPON_EXPIRED=14006]=`ENTITLE_COUPON_EXPIRED`,e[e.ENTITLE_COUPON_USED_UP=14007]=`ENTITLE_COUPON_USED_UP`,e[e.ENTITLE_USE_COUPON_NOT_1ST_TRADE=14008]=`ENTITLE_USE_COUPON_NOT_1ST_TRADE`,e[e.ENTITLE_CHAT_LIMIT_EXCEED=14101]=`ENTITLE_CHAT_LIMIT_EXCEED`,e[e.ENTITLE_REPORT_LIMIT_EXCEED=14102]=`ENTITLE_REPORT_LIMIT_EXCEED`,e[e.ENTITLE_INSUFFICIENT_QUOTA=14103]=`ENTITLE_INSUFFICIENT_QUOTA`,e[e.ENTITLE_NEED_BILLING_ADDRESS=14301]=`ENTITLE_NEED_BILLING_ADDRESS`,e[e.REDEMPTION_INVALID_CODE=15001]=`REDEMPTION_INVALID_CODE`,e[e.REDEMPTION_CODE_INACTIVE=15002]=`REDEMPTION_CODE_INACTIVE`,e[e.REDEMPTION_CODE_FULLY_REDEEMED=15003]=`REDEMPTION_CODE_FULLY_REDEEMED`,e[e.REDEMPTION_CODE_NOT_STARTED=15004]=`REDEMPTION_CODE_NOT_STARTED`,e[e.REDEMPTION_USER_NOT_ELIGIBLE=15005]=`REDEMPTION_USER_NOT_ELIGIBLE`,e[e.REDEMPTION_USER_REDEEM_TIMES_EXCEED=15006]=`REDEMPTION_USER_REDEEM_TIMES_EXCEED`,e[e.REDEMPTION_CODE_HAS_BEEN_CREATED=15007]=`REDEMPTION_CODE_HAS_BEEN_CREATED`,e[e.DATA_SOURCE_TOO_LARGE=16001]=`DATA_SOURCE_TOO_LARGE`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(fn||{}),pn=(e=>(e[e.UNIVER_UNKNOWN=0]=`UNIVER_UNKNOWN`,e[e.UNIVER_DOC=1]=`UNIVER_DOC`,e[e.UNIVER_SHEET=2]=`UNIVER_SHEET`,e[e.UNIVER_SLIDE=3]=`UNIVER_SLIDE`,e[e.UNIVER_PROJECT=4]=`UNIVER_PROJECT`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(pn||{}),mn=(e=>(e[e.UNDEFINED=0]=`UNDEFINED`,e[e.TEXT=1]=`TEXT`,e[e.URL=2]=`URL`,e[e.IMAGE=3]=`IMAGE`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(mn||{}),K=(e=>(e[e.View=0]=`View`,e[e.Edit=1]=`Edit`,e[e.ManageCollaborator=2]=`ManageCollaborator`,e[e.Print=3]=`Print`,e[e.Duplicate=4]=`Duplicate`,e[e.Comment=5]=`Comment`,e[e.Copy=6]=`Copy`,e[e.Share=7]=`Share`,e[e.Export=8]=`Export`,e[e.MoveWorksheet=9]=`MoveWorksheet`,e[e.DeleteWorksheet=10]=`DeleteWorksheet`,e[e.HideWorksheet=11]=`HideWorksheet`,e[e.RenameWorksheet=12]=`RenameWorksheet`,e[e.CreateWorksheet=13]=`CreateWorksheet`,e[e.SetWorksheetStyle=14]=`SetWorksheetStyle`,e[e.EditWorksheetCell=15]=`EditWorksheetCell`,e[e.InsertHyperlink=16]=`InsertHyperlink`,e[e.Sort=17]=`Sort`,e[e.Filter=18]=`Filter`,e[e.PivotTable=19]=`PivotTable`,e[e.FloatImg=20]=`FloatImg`,e[e.History=21]=`History`,e[e.RwHgtClWdt=22]=`RwHgtClWdt`,e[e.ViemRwHgtClWdt=23]=`ViemRwHgtClWdt`,e[e.ViewFilter=24]=`ViewFilter`,e[e.MoveSheet=25]=`MoveSheet`,e[e.DeleteSheet=26]=`DeleteSheet`,e[e.HideSheet=27]=`HideSheet`,e[e.CopySheet=28]=`CopySheet`,e[e.RenameSheet=29]=`RenameSheet`,e[e.CreateSheet=30]=`CreateSheet`,e[e.SelectProtectedCells=31]=`SelectProtectedCells`,e[e.SelectUnProtectedCells=32]=`SelectUnProtectedCells`,e[e.SetCellStyle=33]=`SetCellStyle`,e[e.SetCellValue=34]=`SetCellValue`,e[e.SetRowStyle=35]=`SetRowStyle`,e[e.SetColumnStyle=36]=`SetColumnStyle`,e[e.InsertRow=37]=`InsertRow`,e[e.InsertColumn=38]=`InsertColumn`,e[e.DeleteRow=39]=`DeleteRow`,e[e.DeleteColumn=40]=`DeleteColumn`,e[e.EditExtraObject=41]=`EditExtraObject`,e[e.Delete=42]=`Delete`,e[e.RecoverHistory=43]=`RecoverHistory`,e[e.ViewHistory=44]=`ViewHistory`,e[e.CreatePermissionObject=45]=`CreatePermissionObject`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(K||{}),hn=(e=>(e[e.Reader=0]=`Reader`,e[e.Editor=1]=`Editor`,e[e.Owner=2]=`Owner`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(hn||{}),gn=(e=>(e[e.Unkonwn=0]=`Unkonwn`,e[e.Workbook=1]=`Workbook`,e[e.Worksheet=2]=`Worksheet`,e[e.SelectRange=3]=`SelectRange`,e[e.Document=4]=`Document`,e[e.Slide=5]=`Slide`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(gn||{}),_n=(e=>(e[e.Private=0]=`Private`,e[e.Public=1]=`Public`,e[e.Organization=2]=`Organization`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(_n||{}),vn=(e=>(e[e.SomeCollaborator=0]=`SomeCollaborator`,e[e.AllCollaborator=1]=`AllCollaborator`,e[e.OneSelf=2]=`OneSelf`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(vn||{}),yn=(e=>(e[e.UNKNOWN=0]=`UNKNOWN`,e[e.STRING=1]=`STRING`,e[e.NUMBER=2]=`NUMBER`,e[e.BOOLEAN=3]=`BOOLEAN`,e[e.FORCE_STRING=4]=`FORCE_STRING`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(yn||{}),bn=(e=>(e[e.Unknown=0]=`Unknown`,e[e.Colla=1]=`Colla`,e[e.Import=2]=`Import`,e[e.Export=3]=`Export`,e[e.CreateUnit=4]=`CreateUnit`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(bn||{}),xn=(e=>(e[e.valueBetween=0]=`valueBetween`,e[e.valueEqual=1]=`valueEqual`,e[e.valueGreaterThan=2]=`valueGreaterThan`,e[e.valueGreaterThanOrEqual=3]=`valueGreaterThanOrEqual`,e[e.valueLessThan=4]=`valueLessThan`,e[e.valueLessThanOrEqual=5]=`valueLessThanOrEqual`,e[e.valueNotBetween=6]=`valueNotBetween`,e[e.valueNotEqual=7]=`valueNotEqual`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(xn||{}),Sn=(e=>(e[e.DataFragmentationType_None=0]=`DataFragmentationType_None`,e[e.DataFragmentationType_Charts=1]=`DataFragmentationType_Charts`,e[e.DataFragmentationType_Unit=2]=`DataFragmentationType_Unit`,e[e.DataFragmentationType_WorkSheetRef=3]=`DataFragmentationType_WorkSheetRef`,e[e.DataFragmentationType_Code=4]=`DataFragmentationType_Code`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Sn||{}),Cn=(e=>(e[e.AnalyseTaskStatus_None=0]=`AnalyseTaskStatus_None`,e[e.AnalyseTaskStatus_Analysing=1]=`AnalyseTaskStatus_Analysing`,e[e.AnalyseTaskStatus_Failed=2]=`AnalyseTaskStatus_Failed`,e[e.AnalyseTaskStatus_Completed=3]=`AnalyseTaskStatus_Completed`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Cn||{}),wn=(e=>(e[e.UNKNOWN_CMD=0]=`UNKNOWN_CMD`,e[e.HELLO=1]=`HELLO`,e[e.JOIN=2]=`JOIN`,e[e.LEAVE=3]=`LEAVE`,e[e.INGEST=4]=`INGEST`,e[e.HEARTBEAT=5]=`HEARTBEAT`,e[e.RECV=6]=`RECV`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(wn||{}),Tn=(e=>(e[e.UNKNOWN_CODE=0]=`UNKNOWN_CODE`,e[e.OK=1]=`OK`,e[e.FAIL=2]=`FAIL`,e[e.JOIN_ROOM_FULL=1001]=`JOIN_ROOM_FULL`,e[e.JOIN_ROOM_NOT_EXISTS=1002]=`JOIN_ROOM_NOT_EXISTS`,e[e.JOIN_ROOM_PERMISSION_DENIED=1003]=`JOIN_ROOM_PERMISSION_DENIED`,e[e.GLOBAL_ROOMS_CNT_EXCEEDS=1004]=`GLOBAL_ROOMS_CNT_EXCEEDS`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Tn||{}),En=(e=>(e[e.Completion_None=0]=`Completion_None`,e[e.Completion_Completed=1]=`Completion_Completed`,e[e.Completion_UserCancelled=2]=`Completion_UserCancelled`,e[e.Completion_SystemErr=3]=`Completion_SystemErr`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(En||{}),Dn=(e=>(e[e.RoleType_None=0]=`RoleType_None`,e[e.RoleType_User=1]=`RoleType_User`,e[e.RoleType_Agent=2]=`RoleType_Agent`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Dn||{}),On=(e=>(e[e.ContentBlockType_None=0]=`ContentBlockType_None`,e[e.ContentBlockType_Prompt=1]=`ContentBlockType_Prompt`,e[e.ContentBlockType_Thinking=2]=`ContentBlockType_Thinking`,e[e.ContentBlockType_Report=3]=`ContentBlockType_Report`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(On||{}),kn=(e=>(e[e.ContentType_None=0]=`ContentType_None`,e[e.ContentType_PlainText=1]=`ContentType_PlainText`,e[e.ContentType_Markdown=2]=`ContentType_Markdown`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(kn||{}),An=(e=>(e[e.AttachmentType_None=0]=`AttachmentType_None`,e[e.AttachmentType_Unit=1]=`AttachmentType_Unit`,e[e.AttachmentType_Recommendation=3]=`AttachmentType_Recommendation`,e[e.AttachmentType_DataSource=4]=`AttachmentType_DataSource`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(An||{}),jn=(e=>(e[e.Reaction_NoReact=0]=`Reaction_NoReact`,e[e.Reaction_ThumbsUp=1]=`Reaction_ThumbsUp`,e[e.Reaction_ThumbsDown=2]=`Reaction_ThumbsDown`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(jn||{}),Mn=(e=>(e[e.ChatSSEBlockType_None=0]=`ChatSSEBlockType_None`,e[e.ChatSSEBlockType_EndOfStream=1]=`ChatSSEBlockType_EndOfStream`,e[e.ChatSSEBlockType_Reject=2]=`ChatSSEBlockType_Reject`,e[e.ChatSSEBlockType_ModConversation=3]=`ChatSSEBlockType_ModConversation`,e[e.ChatSSEBlockType_PromptAck=4]=`ChatSSEBlockType_PromptAck`,e[e.ChatSSEBlockType_ChatContent=5]=`ChatSSEBlockType_ChatContent`,e[e.ChatSSEBlockType_Attachment=6]=`ChatSSEBlockType_Attachment`,e[e.ChatSSEBlockType_RespMeta=7]=`ChatSSEBlockType_RespMeta`,e[e.ChatSSEBlockType_StreamErr=8]=`ChatSSEBlockType_StreamErr`,e[e.ChatSSEBlockType_ChatThinking=9]=`ChatSSEBlockType_ChatThinking`,e[e.ChatSSEBlockType_Fragmentation=10]=`ChatSSEBlockType_Fragmentation`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Mn||{}),Nn=(e=>(e[e.ChatSSEStatus_None=0]=`ChatSSEStatus_None`,e[e.ChatSSEStatus_Appending=1]=`ChatSSEStatus_Appending`,e[e.ChatSSEStatus_Success=2]=`ChatSSEStatus_Success`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Nn||{}),Pn=(e=>(e[e.UNDEFINED=0]=`UNDEFINED`,e[e.UNIT=1]=`UNIT`,e[e.JSON=2]=`JSON`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Pn||{}),Fn=(e=>(e[e.ImportScene_Unspecified=0]=`ImportScene_Unspecified`,e[e.ImportScene_General=1]=`ImportScene_General`,e[e.ImportScene_AIAnalyse=2]=`ImportScene_AIAnalyse`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Fn||{}),In=(e=>(e[e.Undefined=0]=`Undefined`,e[e.HttpImport=1]=`HttpImport`,e[e.HttpExport=2]=`HttpExport`,e[e.UnitEmbedded=3]=`UnitEmbedded`,e[e.UnitSnapshot=4]=`UnitSnapshot`,e[e.UserProfileImg=5]=`UserProfileImg`,e[e.ClipsheetFragments=6]=`ClipsheetFragments`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(In||{}),Ln=(e=>(e[e.UNDEFINED_ENV=0]=`UNDEFINED_ENV`,e[e.NODE=1]=`NODE`,e[e.BROWSER=2]=`BROWSER`,e[e.PYTHON=3]=`PYTHON`,e[e.REQUIREMENTS_TXT=4]=`REQUIREMENTS_TXT`,e[e.WORKSPACE_ENV_VARS=5]=`WORKSPACE_ENV_VARS`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Ln||{}),Rn=(e=>(e[e.UNKNOWN=0]=`UNKNOWN`,e[e.ROOT=1]=`ROOT`,e[e.TRASH=2]=`TRASH`,e[e.DEBUG=3]=`DEBUG`,e[e.AI_STASH=4]=`AI_STASH`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e))(Rn||{});let zn=`UNIVER_SHEET_PERMISSION_PANEL`,Bn=`UNIVER_SHEET_PERMISSION_USER_PART`,Vn=`UNIVER_SHEET_PERMISSION_USER_DIALOG`,Hn=`UNIVER_SHEET_PERMISSION_DIALOG`,Un=`UNIVER_SHEET_PERMISSION_USER_DIALOG_ID`,Wn=`UNIVER_SHEET_PERMISSION_DIALOG_ID`,Gn={[K.Copy]:`Copy`,[K.SetCellStyle]:`SetCellStyle`,[K.SetCellValue]:`SetCellValue`,[K.SetRowStyle]:`SetRowStyle`,[K.SetColumnStyle]:`SetColumnStyle`,[K.InsertRow]:`InsertRow`,[K.InsertColumn]:`InsertColumn`,[K.InsertHyperlink]:`InsertHyperlink`,[K.DeleteRow]:`DeleteRow`,[K.DeleteColumn]:`DeleteColumn`,[K.Sort]:`Sort`,[K.Filter]:`Filter`,[K.PivotTable]:`PivotTable`,[K.EditExtraObject]:`EditExtraObject`},Kn=[K.Copy,K.SetCellStyle,K.SetCellValue,K.SetRowStyle,K.SetColumnStyle,K.InsertRow,K.InsertColumn,K.InsertHyperlink,K.DeleteRow,K.DeleteColumn,K.Sort,K.Filter,K.PivotTable,K.EditExtraObject,K.View],qn=`sheet-permission-menu-icon`,Jn=`sheet-permission-lock-icon`,Yn={unitId:``,subUnitId:``,permissionId:``,unitType:a.UnitObject.SelectRange,id:``,ranges:[],viewState:a.ViewStateEnum.OthersCanView,editState:a.EditStateEnum.OnlyMe};var Xn=class{constructor(){R(this,`_rule`,Yn),R(this,`_visible`,!1)}setVisible(e){this._visible=e}getVisible(){return this._visible}reset(){this.setVisible(!1)}},Zn=class{constructor(){R(this,`_userList`,[]),R(this,`_userList$`,new o.BehaviorSubject(this._userList)),R(this,`userList$`,this._userList$.asObservable()),R(this,`_oldCollaboratorList`,[]),R(this,`_selectUserList`,[]),R(this,`_selectUserList$`,new o.BehaviorSubject(this._selectUserList)),R(this,`selectUserList$`,this._selectUserList$.asObservable())}get userList(){return this._userList}setCanEditUserList(e){this._userList=e,this._userList$.next(e)}reset(){this._userList=[],this._oldCollaboratorList=[],this._selectUserList=[],this._selectUserList$.next([])}get oldCollaboratorList(){return this._oldCollaboratorList}setOldCollaboratorList(e){this._oldCollaboratorList=e}get selectUserList(){return this._selectUserList}setSelectUserList(e){this._selectUserList=e,this._selectUserList$.next(e)}};let Qn={type:n.CommandType.OPERATION,id:`sheet-permission.operation.openPanel`,async handler(e,t={}){let n=e.get(r.ISidebarService),i=e.get(Xn),a=e.get(Zn),{showDetail:o=!0,fromSheetBar:s=!1,rule:c,oldRule:l}=t,u={header:{title:`permission.panel.title`},children:{label:zn,showDetail:o,fromSheetBar:s,rule:c,oldRule:l},width:330,onClose:()=>{i.reset(),a.reset()}};return i.setVisible(!0),n.open(u),!0}},$n={type:n.CommandType.COMMAND,id:`sheet.command.add-range-protection-from-toolbar`,async handler(e){return await e.get(n.ICommandService).executeCommand(Qn.id,{showDetail:!0}),!0}},er={type:n.CommandType.COMMAND,id:`sheet.command.add-range-protection-from-context-menu`,async handler(e){return await e.get(n.ICommandService).executeCommand(Qn.id,{showDetail:!0}),!0}},tr={type:n.CommandType.COMMAND,id:`sheet.command.view-sheet-permission-from-context-menu`,async handler(e){return await e.get(n.ICommandService).executeCommand(Qn.id,{showDetail:!1}),!0}},nr={type:n.CommandType.COMMAND,id:`sheet.command.add-range-protection-from-sheet-bar`,async handler(e){return await e.get(n.ICommandService).executeCommand(Qn.id,{fromSheetBar:!0,showDetail:!0}),!0}},rr={type:n.CommandType.COMMAND,id:`sheet.command.view-sheet-permission-from-sheet-bar`,async handler(e){return await e.get(n.ICommandService).executeCommand(Qn.id,{showDetail:!1}),!0}},ir={type:n.CommandType.COMMAND,id:`sheet.command.delete-range-protection-from-context-menu`,async handler(e){let t=e.get(n.ICommandService),r=e.get(n.IUniverInstanceService),i=e.get(n.IUndoRedoService),o=e.get(a.SheetsSelectionsService),s=e.get(a.WorksheetProtectionRuleModel),c=r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),l=c.getActiveSheet(),u=c.getUnitId(),d=l.getSheetId(),f=s.getRule(u,d);if(f!=null&&f.permissionId)return t.executeCommand(a.DeleteWorksheetProtectionCommand.id,{unitId:u,subUnitId:d,rule:f});{var p;let r=(p=o.getCurrentLastSelection())==null?void 0:p.range;if(!r)return!1;let s=e.get(a.RangeProtectionRuleModel).getSubunitRuleList(u,d).find(e=>e.ranges.some(e=>n.Rectangle.intersects(e,r)));if(s){let e={unitId:u,subUnitId:d,ruleIds:[s.id]};return await t.executeCommand(a.DeleteRangeProtectionMutation.id,e)&&i.pushUndoRedo({unitID:u,redoMutations:[{id:a.DeleteRangeProtectionMutation.id,params:e}],undoMutations:[{id:a.AddRangeProtectionMutation.id,params:{unitId:u,subUnitId:d,rules:[s]}}]}),!0}else return!1}}},ar={type:n.CommandType.COMMAND,id:`sheet.command.set-range-protection-from-context-menu`,async handler(e){let t=e.get(n.ICommandService),r=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),o=e.get(a.WorksheetProtectionRuleModel),s=r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),c=s.getActiveSheet(),l=s.getUnitId(),u=c.getSheetId(),d=o.getRule(l,u);if(d!=null&&d.permissionId){let e={...d,unitId:l,subUnitId:u,ranges:[]};return await t.executeCommand(Qn.id,{showDetail:!0,rule:n.Tools.deepClone(e),oldRule:n.Tools.deepClone(e)}),!0}else{var f;let r=(f=i.getCurrentLastSelection())==null?void 0:f.range;if(!r)return!1;let o=e.get(a.RangeProtectionRuleModel).getSubunitRuleList(l,u).find(e=>{var t;return e==null||(t=e.ranges)==null?void 0:t.some(e=>n.Rectangle.intersects(e,r))});if(o){let e={...o,unitId:l,subUnitId:u};return await t.executeCommand(Qn.id,{showDetail:!0,rule:n.Tools.deepClone(e),oldRule:n.Tools.deepClone(e)}),!0}else return!1}}},or={id:`sheet.command.remove-row-confirm`,type:n.CommandType.COMMAND,handler:async(e,t)=>{let r=e.get(a.SheetsSelectionsService),i=t==null?void 0:t.range;if(!i){var o;i=(o=r.getCurrentLastSelection())==null?void 0:o.range}if(!i)return!1;let s=e.get(n.ICommandService),c=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!c)return!1;let{worksheet:l}=c;if(Ut(l.getVisibleRows(),[i])){let t=e.get(n.IConfirmService),r=e.get(n.LocaleService);return await t.confirm({id:`sheet.confirm.remove-row`,title:{title:r.t(`info.problem`)},children:{title:r.t(`rightClick.deleteAllRowsAlert`)},cancelText:r.t(`button.cancel`),confirmText:r.t(`button.confirm`)}),!1}return await s.executeCommand(a.RemoveRowCommand.id,{range:i}),!0}},sr={id:`sheet.command.remove-col-confirm`,type:n.CommandType.COMMAND,handler:async(e,t)=>{let r=e.get(a.SheetsSelectionsService),i=t==null?void 0:t.range;if(!i){var o;i=(o=r.getCurrentLastSelection())==null?void 0:o.range}if(!i)return!1;let s=e.get(n.ICommandService),c=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!c)return!1;let{worksheet:l}=c;if(Wt(l.getVisibleCols(),[i])){let t=e.get(n.IConfirmService),r=e.get(n.LocaleService);return await t.confirm({id:`sheet.confirm.remove-col`,title:{title:r.t(`info.problem`)},children:{title:r.t(`rightClick.deleteAllColumnsAlert`)},cancelText:r.t(`button.cancel`),confirmText:r.t(`button.confirm`)}),!1}return await s.executeCommand(a.RemoveColCommand.id,{range:i}),!0}},cr={id:`sheet.command.remove-sheet-confirm`,type:n.CommandType.COMMAND,handler:async(e,t)=>{let{subUnitId:r}=t,i=e.get(n.IConfirmService),o=e.get(n.ICommandService),s=e.get(n.LocaleService),c=e.get(n.IConfigService),l=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService),{subUnitId:r});if(!l)return!1;let{worksheet:u}=l,d=c.getConfig(a.SHEETS_PLUGIN_CONFIG_KEY),f={...a.defaultLargeSheetOperationConfig,...d==null?void 0:d.largeSheetOperation},p=(0,a.countCells)(u.getCellMatrix())>=f.largeSheetCellCountThreshold;return await i.confirm({id:`sheet.confirm.remove-sheet`,title:{title:s.t(`sheetConfig.deleteSheet`)},children:{title:p?s.t(`sheetConfig.deleteLargeSheetContent`):s.t(`sheetConfig.deleteSheetContent`)},cancelText:s.t(`button.cancel`),confirmText:s.t(`button.confirm`)})?(await o.executeCommand(a.RemoveSheetCommand.id,{subUnitId:r}),!0):!1}},lr=function(e){return e[e.OFF=0]=`OFF`,e[e.ONCE=1]=`ONCE`,e[e.INFINITE=2]=`INFINITE`,e}({}),ur=(0,n.createIdentifier)(`univer.format-painter-service`),dr=class extends n.Disposable{constructor(e,t,r,i,a,s){super(),this._selectionManagerService=e,this._themeService=t,this._markSelectionService=r,this._logService=i,this._commandService=a,this._undoRedoService=s,R(this,`status$`,void 0),R(this,`_selectionFormat`,void 0),R(this,`_markId`,null),R(this,`_status$`,void 0),R(this,`_defaultHook`,null),R(this,`_extendHooks`,[]),this._status$=new o.BehaviorSubject(lr.OFF),this.status$=this._status$.asObservable(),this._selectionFormat={styles:new n.ObjectMatrix,merges:[]}}addHook(e){var t,n,r;e.isDefaultHook&&((t=e.priority)==null?0:t)>((n=(r=this._defaultHook)==null?void 0:r.priority)==null?-1:n)?this._defaultHook=e:(this._extendHooks.push(e),this._extendHooks.sort((e,t)=>(e.priority||0)-(t.priority||0)))}getHooks(){return this._defaultHook?[this._defaultHook,...this._extendHooks]:this._extendHooks}setStatus(e){this._updateRangeMark(e),this._status$.next(e),this.getHooks().forEach(t=>{t.onStatusChange!==void 0&&t.onStatusChange(e)})}getStatus(){return this._status$.getValue()}setSelectionFormat(e){this._selectionFormat=e}getSelectionFormat(){return this._selectionFormat}applyFormatPainter(e,t,n){let r=this.getHooks(),i=[],a=[];r.forEach(r=>{if(r.onApply!==void 0){let o=r.onApply(e,t,n,this._selectionFormat);o&&(i.push(...o.redos),a.push(...o.undos))}});for(let o of r)if(o.onBeforeApply!==void 0&&!o.onBeforeApply({unitId:e,subUnitId:t,range:n,redoMutationsInfo:i,format:this._selectionFormat,undoMutationsInfo:a}))return!1;this._logService.log(`[FormatPainterService]`,`apply mutations`,{undoMutationsInfo:a,redoMutationsInfo:i});let o=i.every(e=>this._commandService.executeCommand(e.id,e.params));return o&&this._undoRedoService.pushUndoRedo({unitID:e,undoMutations:a,redoMutations:i}),o}_updateRangeMark(e){if(this._markSelectionService.removeAllShapes(),e!==lr.OFF){let t=this._selectionManagerService.getCurrentLastSelection();if(t){let n=xe(this._themeService);e===lr.INFINITE?this._markId=this._markSelectionService.addShape({...t,style:n}):this._markId=this._markSelectionService.addShape({...t,style:n},[a.SetRangeValuesMutation.id])}}}};dr=H([V(0,(0,n.Inject)(a.SheetsSelectionsService)),V(1,(0,n.Inject)(n.ThemeService)),V(2,ye),V(3,n.ILogService),V(4,n.ICommandService),V(5,n.IUndoRedoService)],dr);let fr={id:`sheet.operation.set-format-painter`,type:n.CommandType.OPERATION,handler:(e,t)=>t?(e.get(ur).setStatus(t.status),!0):!1},pr={type:n.CommandType.COMMAND,id:`sheet.command.set-infinite-format-painter`,handler:async e=>{let t=e.get(ur).getStatus(),r;return r=t===lr.OFF?lr.INFINITE:lr.OFF,e.get(n.ICommandService).executeCommand(fr.id,{status:r})}},mr={type:n.CommandType.COMMAND,id:`sheet.command.set-once-format-painter`,handler:async e=>{let t=e.get(ur).getStatus(),r;return r=t===lr.OFF?lr.ONCE:lr.OFF,e.get(n.ICommandService).executeCommand(fr.id,{status:r})}},hr={type:n.CommandType.COMMAND,id:`sheet.command.apply-format-painter`,handler:async(e,t)=>e.get(ur).applyFormatPainter(t.unitId,t.subUnitId,t.range)},q=class{constructor(e,t){this._context=e,this._sheetSkeletonManagerService=t,R(this,`_scrollStateMap`,new Map),R(this,`_rawScrollInfo$`,new o.BehaviorSubject(null)),R(this,`rawScrollInfo$`,this._rawScrollInfo$.asObservable()),R(this,`validViewportScrollInfo$`,new o.BehaviorSubject(null)),R(this,`_searchParamForScroll`,null)}dispose(){this._rawScrollInfo$.complete()}calcViewportScrollFromRowColOffset(e){if(!e)return{viewportScrollX:0,viewportScrollY:0};let{sheetViewStartColumn:t,sheetViewStartRow:n,offsetX:r,offsetY:i}=e;n=n||0,i=i||0;let a=this._sheetSkeletonManagerService.getCurrentSkeleton(),o=(a==null?void 0:a.rowHeightAccumulation[n-1])||0;return{viewportScrollX:((a==null?void 0:a.columnWidthAccumulation[t-1])||0)+r,viewportScrollY:o+i}}setSearchParam(e){this._searchParamForScroll=e}getScrollStateByParam(e){return this._getCurrentScroll(e)}getCurrentScrollState(){return this._getCurrentScroll(this._searchParamForScroll)}setValidScrollState(e){this._setScrollState(e)}emitRawScrollParam(e){this._emitRawScroll(e)}setValidScrollStateToCurrSheet(e){if(this._searchParamForScroll==null)return;this._setScrollState({...this._searchParamForScroll,...e});let t=this._searchParamForScroll.sheetId,n=this._sheetSkeletonManagerService.getSkeleton(t);n&&n.setScroll(e.viewportScrollX,e.viewportScrollY)}clear(){this._searchParamForScroll!=null&&this._clearByParamAndNotify(this._searchParamForScroll)}_setScrollState(e){let{unitId:t,sheetId:n,sheetViewStartColumn:r,sheetViewStartRow:i,offsetX:a,offsetY:o}=e;this._scrollStateMap.has(t)||this._scrollStateMap.set(t,new Map);let s=this._scrollStateMap.get(t),c={sheetViewStartRow:i,sheetViewStartColumn:r,offsetX:a,offsetY:o};s.set(n,c)}_clearByParamAndNotify(e){this._setScrollState({...e,sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0}),this._emitRawScroll({sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0})}_getCurrentScroll(e){var t;let n={sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0};if(e==null)return n;let{unitId:r,sheetId:i}=e;return((t=this._scrollStateMap.get(r))==null?void 0:t.get(i))||n}_emitRawScroll(e){this._rawScrollInfo$.next(e)}};q=H([V(1,(0,n.Inject)(U))],q);let gr=function(e){return e[e.RowColumn=0]=`RowColumn`,e[e.Row=1]=`Row`,e[e.Column=2]=`Column`,e[e.FirstRow=3]=`FirstRow`,e[e.FirstColumn=4]=`FirstColumn`,e}({}),_r={type:n.CommandType.COMMAND,id:`sheet.command.set-selection-frozen`,handler:async(e,t)=>{let{type:r}=t||{},o=e.get(n.IUniverInstanceService),s=e.get(n.IUndoRedoService),c=(0,a.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=e.get(n.ICommandService),f=e.get(a.SheetsSelectionsService).getCurrentSelections();if(!f)return!1;let{sheetViewStartRow:p=0,sheetViewStartColumn:m=0}=e.get(i.IRenderManagerService).getRenderById(l).with(q).getCurrentScrollState()||{},h,g,_,v;if(r===gr.FirstRow)h=p+1,_=1,g=-1,v=0;else if(r===gr.FirstColumn)h=-1,_=0,g=m+1,v=1;else{var y,b;let{primary:e,range:t}=f[(f==null?void 0:f.length)-1],i=(y=e==null?void 0:e.startRow)==null?t.startRow:y;i===0&&(i=1);let a=(b=e==null?void 0:e.startColumn)==null?t.startColumn:b;a===0&&(a=1);let o=t.rangeType;if(o===n.RANGE_TYPE.ROW||r===gr.Row)h=i,_=i-p,g=-1,v=0;else if(o===n.RANGE_TYPE.COLUMN||r===gr.Column)h=-1,_=0,g=a,v=a-m;else if(o===n.RANGE_TYPE.NORMAL)h=i,_=i-p,g=a,v=a-m;else return!1}let x={unitId:l,subUnitId:u,startRow:h,startColumn:g,xSplit:g>0?Math.max(1,v):v,ySplit:h>0?Math.max(1,_):_},S=(0,a.SetFrozenMutationFactory)(e,x);return d.syncExecuteCommand(a.SetFrozenMutation.id,x)&&s.pushUndoRedo({unitID:l,undoMutations:[{id:a.SetFrozenMutation.id,params:S}],redoMutations:[{id:a.SetFrozenMutation.id,params:x}]}),!0}},vr={type:n.CommandType.COMMAND,id:`sheet.command.set-row-frozen`,handler:async e=>(e.get(n.ICommandService).executeCommand(_r.id,{type:gr.Row}),!0)},yr={type:n.CommandType.COMMAND,id:`sheet.command.set-col-frozen`,handler:async e=>(e.get(n.ICommandService).executeCommand(_r.id,{type:gr.Column}),!0)},br={type:n.CommandType.COMMAND,id:`sheet.command.set-first-row-frozen`,handler:async e=>(e.get(n.ICommandService).executeCommand(_r.id,{type:gr.FirstRow}),!0)},xr={type:n.CommandType.COMMAND,id:`sheet.command.set-first-column-frozen`,handler:async e=>(e.get(n.ICommandService).executeCommand(_r.id,{type:gr.FirstColumn}),!0)};var Sr=class extends n.Disposable{constructor(...e){super(...e),R(this,`rangesStack`,[]),R(this,`selectedRangeWorksheet`,``)}};let Cr=class{constructor(e,t){this._univerInstanceService=e,this._localeService=t,R(this,`_current`,null),R(this,`_shortcutParam`,[])}dispose(){this._shortcutParam=[]}getCurrentBySearch(e){return this._getCurrentBySearch(e)}getCurrent(){return this._getCurrentBySearch(this._current)}addOrUpdate(e){let t=this._getCurrentBySearch({unitId:e.unitId,sheetId:e.sheetId,keycode:e.keycode});if(t!=null){let e=this._shortcutParam.indexOf(t);this._shortcutParam.splice(e,1)}return this._shortcutParam.push(e),t}remove(e){if(e==null)return;let t=this._getCurrentBySearch(e);if(t==null)return;let n=this._shortcutParam.indexOf(t);return this._shortcutParam.splice(n,1)[0]}_getCurrentBySearch(e){if(e!=null)return this._shortcutParam.find(t=>t.unitId===e.unitId&&t.sheetId===e.sheetId&&t.keycode===e.keycode)}};Cr=H([V(0,n.IUniverInstanceService),V(1,(0,n.Inject)(n.LocaleService))],Cr);let wr=function(e){return e[e.moveStopeOne=0]=`moveStopeOne`,e[e.moveGap=1]=`moveGap`,e[e.moveStepPage=2]=`moveStepPage`,e[e.moveStepEnd=3]=`moveStepEnd`,e}({}),Tr={id:`sheet.command.move-selection`,type:n.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;let i=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!i)return!1;let{workbook:o,worksheet:s}=i,c=(0,a.getSelectionsService)(e,t.fromCurrentSelection).getCurrentLastSelection();if(!c)return!1;let{direction:l,jumpOver:u,extra:d}=t,{range:f,primary:p}=c;if(d===`formula-editor`){if(f.startRow===f.endRow&&f.startColumn===f.endColumn){let e=s.getMergedCell(f.startRow,f.startColumn);e&&(f={...f,...e})}if(!p){let r=(0,a.getSelectionsService)(e,t.fromCurrentSelection).getCurrentLastSelectionPrimaryCell();r&&n.Rectangle.contains(f,r)&&(p=r)}}let m=Vt(f,p,l),h=u===wr.moveGap?Mt(m,l,s):jt(m,l,s),g=(0,a.getCellAtRowCol)(h.startRow,h.startColumn,s);if(n.Rectangle.equals(g,m))return!1;let _=o.getUnitId();e.get(Cr).remove({unitId:_,sheetId:s.getSheetId(),keycode:r.KeyCode.TAB});let v=[{range:n.Rectangle.clone(g),primary:{startRow:g.startRow,startColumn:g.startColumn,endRow:g.endRow,endColumn:g.endColumn,actualRow:h.startRow,actualColumn:h.startColumn,isMerged:g.isMerged,isMergedMainCell:g.startRow===h.startRow&&g.startColumn===h.startColumn}}];return e.get(n.ICommandService).executeCommand(a.SetSelectionsOperation.id,{unitId:o.getUnitId(),subUnitId:s.getSheetId(),selections:v,type:a.SelectionMoveType.MOVE_END,extra:d,reveal:!0})}},Er={id:`sheet.command.move-selection-enter-tab`,type:n.CommandType.COMMAND,handler:(e,t)=>{var o;if(!t)return!1;let s=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!s)return!1;let{workbook:c,worksheet:l}=s,u=(0,a.getSelectionsService)(e),{direction:d,keycode:f}=t,p=d===n.Direction.LEFT||d===n.Direction.UP,m=u.getCurrentSelections().concat(),h=m.findIndex(e=>e.primary),g=m[h];if(!g)return!1;let _=p?-1:1,v=h+_===m.length?m[0]:m[h+_],y=m.findIndex(e=>e===v),b=c.getUnitId(),x=l.getSheetId();if(!g)return!1;let{range:S}=g,C=g.primary,w=Vt(S,C,d),T=e.get(Cr),E=T.getCurrentBySearch({unitId:b,sheetId:x,keycode:r.KeyCode.TAB}),D,{startRow:O,endRow:k,startColumn:A,endColumn:j}=S,M=p?C.startRow===O&&C.startColumn===A:C.endRow===k&&C.endColumn===j;if(n.Rectangle.equals(S,C)){if(f===r.KeyCode.TAB)E==null&&T.addOrUpdate({unitId:b,sheetId:x,keycode:r.KeyCode.TAB,selection:g});else{let e=E==null?void 0:E.selection;if(e!=null){let{range:t,primary:n}=e;w=Vt(t,n,d)}T.remove({unitId:b,sheetId:x,keycode:r.KeyCode.TAB})}let e=f===r.KeyCode.ENTER&&d===n.Direction.DOWN&&w.endRow===l.getMaxRows()-1,t=f===r.KeyCode.TAB&&d===n.Direction.RIGHT&&w.endColumn===l.getMaxColumns()-1,i=e||t?w:jt(w,d,l),o=(0,a.getCellAtRowCol)(i.startRow,i.startColumn,l);if(n.Rectangle.equals(o,w))return!1;D={range:n.Rectangle.clone(o),primary:{startRow:o.startRow,startColumn:o.startColumn,endRow:o.endRow,endColumn:o.endColumn,actualRow:i.startRow,actualColumn:i.startColumn,isMerged:o.isMerged,isMergedMainCell:o.startRow===i.startRow&&o.startColumn===i.startColumn}}}else{T.remove({unitId:b,sheetId:x,keycode:r.KeyCode.TAB});let e=n.Tools.deepClone(C),t=M?v.range:jt({startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn},d,l,{startRow:O,endRow:k,startColumn:A,endColumn:j}),i=M&&p,o=i?(0,a.getCellAtRowCol)(t.endRow,t.endColumn,l):(0,a.getCellAtRowCol)(t.startRow,t.startColumn,l);D={range:M?v.range:n.Rectangle.clone(S),primary:{startRow:o.startRow,startColumn:o.startColumn,endRow:o.endRow,endColumn:o.endColumn,actualRow:i?o.startRow:t.startRow,actualColumn:i?o.startColumn:t.startColumn,isMerged:o.isMerged,isMergedMainCell:o.startRow===t.startRow&&o.startColumn===t.startColumn},style:M?v.style:g.style}}M?(m[h].primary=null,m[y]=D,u.setSelections(b,x,[],a.SelectionMoveType.MOVE_END)):m[h]=D;let N=e.get(n.ICommandService).executeCommand(a.SetSelectionsOperation.id,{unitId:b,subUnitId:x,type:a.SelectionMoveType.MOVE_END,selections:m,reveal:!0,extra:t.extra}),P=(o=e.get(i.IRenderManagerService).getRenderById(b))==null?void 0:o.with(B);return P==null||P.refreshSelectionMoveEnd(),N}},Dr={id:`sheet.command.expand-selection`,type:n.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!r)return!1;let{worksheet:i,unitId:o,subUnitId:s}=r,c=(0,a.getSelectionsService)(e).getCurrentLastSelection();if(!c)return!1;let{jumpOver:l,direction:u,extra:d}=t,{range:f,primary:p}=c;if(d===`formula-editor`){if(f.startRow===f.endRow&&f.startColumn===f.endColumn){let e=i.getMergedCell(f.startRow,f.startColumn);e&&(f={...f,...e})}if(!p){let t=(0,a.getSelectionsService)(e).getCurrentLastSelectionPrimaryCell();t&&n.Rectangle.contains(f,t)&&(p=t)}}let m=Ht({range:f,primary:p},u,i)?l===wr.moveGap?It(f,{...n.Rectangle.clone(p),rangeType:n.RANGE_TYPE.NORMAL},u,i):Lt(f,u,i):l===wr.moveGap?Pt(f,u,i):Ft(f,u,i);return m.rangeType=c.range.rangeType,n.Rectangle.equals(m,f)?!1:e.get(n.ICommandService).syncExecuteCommand(a.SetSelectionsOperation.id,{unitId:o,subUnitId:s,type:a.SelectionMoveType.MOVE_END,selections:[{range:m,primary:p}],extra:d,reveal:!0})}},Or={id:`sheet.command.select-all`,type:n.CommandType.COMMAND,handler:async(e,t={expandToGapFirst:!0,loop:!1})=>{let r=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!r)return!1;let i=(0,a.getSelectionsService)(e).getCurrentLastSelection();if(!i)return!1;let o=e.get(Sr),{worksheet:s,unitId:c,subUnitId:l}=r,u=`${c}|${l}`;u!==o.selectedRangeWorksheet&&(o.rangesStack=[],o.selectedRangeWorksheet=u);let d=s.getMaxRows(),f=s.getMaxColumns(),{expandToGapFirst:p,loop:m}=t,{range:h,primary:g}=i,_=h.endColumn===f-1&&h.endRow===d-1&&h.startRow===0&&h.startColumn===0;o.rangesStack.some(e=>n.Rectangle.equals(e,h))||(o.rangesStack=[],o.rangesStack.push(h));let v;if(_)if(m){if(o.rangesStack.findIndex(e=>n.Rectangle.equals(e,h))!==o.rangesStack.length-1)return!1;v=o.rangesStack[0]}else return!1;else p?(v=(0,a.expandToContinuousRange)(h,{left:!0,right:!0,up:!0,down:!0},s),n.Rectangle.equals(v,h)&&(v=Rt(s))):v=Rt(s);o.rangesStack.some(e=>n.Rectangle.equals(e,v))||o.rangesStack.push(v);let y=[];y.push({id:a.SetSelectionsOperation.id,params:{unitId:c,subUnitId:l,reveal:!0,selections:[{range:v,primary:g}]}});let b=e.get(a.SheetInterceptorService).onCommandExecute({id:Or.id,params:{range:h}});return b.redos.length&&y.push(...b.redos),(0,n.sequenceExecute)(y,e.get(n.ICommandService)),!0}};function kr(e){return e.isMainScene===void 0}function Ar(e,t){let r=e instanceof n.Workbook?e:e.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!r)return null;let i=r.getUnitId(),a,o,s,c;if(kr(t)){let e=t.getRenderById(i);if(e==null)return null;a=e.components,a=e.components,o=e.mainComponent,s=e.scene,c=e.engine}else a=t.components,o=t.mainComponent,s=t.scene,c=t.engine;return!a||!o?null:{spreadsheet:o,spreadsheetRowHeader:a.get(L.ROW),spreadsheetColumnHeader:a.get(L.COLUMN),spreadsheetLeftTopPlaceholder:a.get(L.LEFT_TOP),scene:s,engine:c}}function jr(e,t,n,r){let{startX:i,startY:a,endX:o,endY:s}=r.getCellWithCoordByIndex(e,t);return{startX:i,startY:a,endX:o,endY:s}}function Mr(e,t,n,r,a,o){let s=n.getCoordRelativeToViewport(i.Vector2.FromArray([e,t])),{x:c,y:l}=s,u=n.getScrollXYInfoByViewport(s,a),{scaleX:d,scaleY:f}=n.getAncestorScale(),{row:p,column:m}=r.getCellIndexByOffset(c,l,d,f,u,{closeFirst:o}),{startX:h,startY:g,endX:_,endY:v}=r.getNoMergeCellWithCoordByIndex(p,m);return{startX:h,startY:g,endX:_,endY:v,row:p,column:m}}function Nr(e,t,n,r){let a=n.getCoordRelativeToViewport(i.Vector2.FromArray([e,t])),o=n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),s=n.getScrollXYInfoByViewport(a,o),{scaleX:c,scaleY:l}=n.getAncestorScale(),{x:u,y:d}=s;return{x:e/c+u,y:t/l+d}}Tr.id,Er.id;let Pr=class extends n.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._contextService=r,this._commandService=i,this._renderManagerService=a,this._scrollManagerService=o,this._initCommandListener(),this._wheelEventListener(),this._scrollBarEventListener(),this._initSkeletonListener()}_wheelEventListener(){let{scene:e}=this._context;if(!e)return;let t=e.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);t&&this.disposeWithMe(e.onMouseWheel$.subscribeEvent((r,a)=>{if(r.ctrlKey||!this._contextService.getContextValue(n.FOCUSING_SHEET))return;let o=0,s=0;o=r.deltaX,r.shiftKey?o=(r.deltaY||r.deltaX)*3:s=r.deltaY,this._commandService.executeCommand(Ir.id,{offsetX:o,offsetY:s}),this._context.scene.makeDirty(!0);let c=t.limitedScroll(t.scrollX+o,t.scrollY+s);c&&!c.isLimitedX&&!c.isLimitedY&&(r.preventDefault(),e.getParent().classType===i.RENDER_CLASS_TYPE.SCENE_VIEWER&&a.stopPropagation()),t.isWheelPreventDefaultX&&t.isWheelPreventDefaultY&&r.preventDefault()}))}_scrollBarEventListener(){let{scene:e}=this._context;if(e==null)return;let t=e.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);t&&(this.disposeWithMe((0,n.toDisposable)(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return;if(e==null){t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s,duration:c}=e,{startX:l,startY:u}=r.getCellWithCoordByIndex(i,a,!1),d=l+o,f=u+s;t.scrollAnimationFrameId!==null&&cancelAnimationFrame(t.scrollAnimationFrameId),c?this._smoothScrollToViewportPos({viewportMain:t,viewportScrollX:d,viewportScrollY:f,duration:c}):t.scrollToViewportPos({viewportScrollX:d,viewportScrollY:f})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null||e.isTrigger===!1)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:c,column:l,rowOffset:u,columnOffset:d}=n.getOffsetRelativeToRowCol(i,a),f={sheetViewStartRow:c,sheetViewStartColumn:l,offsetX:d,offsetY:u,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(f),this._scrollManagerService.validViewportScrollInfo$.next({...f,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null||e.isTrigger===!1)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e;this._getFreeze();let{row:o,column:s,rowOffset:c,columnOffset:l}=n.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(Lr.id,{sheetViewStartRow:o,sheetViewStartColumn:s,offsetX:l,offsetY:c})})))}_initSkeletonListener(){this.disposeWithMe((0,n.toDisposable)(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(e==null)return;let t={unitId:e.unitId,sheetId:e.sheetId};if(this._scrollManagerService.setSearchParam(t),!this._getSheetObject())return;let n=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:r,viewportScrollY:i}=this._scrollManagerService.calcViewportScrollFromRowColOffset(n);n&&this._updateViewportScroll(r,i)})))}_smoothScrollToViewportPos(e){let{viewportMain:t,viewportScrollX:n,viewportScrollY:r,duration:i}=e,a=performance.now(),o=t.viewportScrollX,s=t.viewportScrollY,c=n-o,l=r-s;function u(e){let n=e-a,r=Math.min(n/i,1),d=1-(1-r)**3,f=o+c*d,p=s+l*d;t.scrollToViewportPos({viewportScrollX:f,viewportScrollY:p}),r<1?t.scrollAnimationFrameId=requestAnimationFrame(u):t.scrollAnimationFrameId=null}t.scrollAnimationFrameId=requestAnimationFrame(u)}_updateViewportScroll(e=0,t=0){let n=this._getSheetObject();if(!n)return;let r=n.scene,a=r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),o=r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT),s=r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM),c=r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT),l=r.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);a&&(a.viewportScrollX=e,a.viewportScrollY=t),s&&(s.viewportScrollY=t),o&&(o.viewportScrollX=e),c&&(c.viewportScrollY=t),l&&(l.viewportScrollX=e)}scrollToRange(e,t,r){let{endRow:i,endColumn:a,startColumn:o,startRow:s}=e,c=this._getViewportBounding();if(e.rangeType===n.RANGE_TYPE.ROW?(o=0,a=0):e.rangeType===n.RANGE_TYPE.COLUMN&&(s=0,i=0),c&&!t&&!r){let e=c.startRow>i?s:i,t=c.startColumn>a?o:a;return this._scrollToCell(e,t)}else return this._scrollToCell(s,o,t,r)}scrollToCell(e,t,n){let{ySplit:r,xSplit:i}=this._context.unit.getActiveSheet().getFreeze();return this._commandService.syncExecuteCommand(Lr.id,{sheetViewStartRow:e-r,sheetViewStartColumn:t-i,offsetX:0,offsetY:0,duration:n})}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case a.SetSelectionsOperation.id:{let t=e.params;t.unitId===this._context.unitId&&t.reveal&&this._scrollToSelection()}break;case a.ScrollToCellOperation.id:{let t=e.params;if(t.unitId===this._context.unitId){let e=t.range;this.scrollToRange(e)}}break;case Dr.id:{let t=e.params;this._scrollToSelectionForExpand(t)}break;default:break}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._getSelectionsService().getCurrentLastSelection();if(t==null)return;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=t.range,s=this._getViewportBounding();if(s==null)return;let{startRow:c,startColumn:l,endRow:u,endColumn:d}=s,f=0,p=0;f=r>c?a:a<u?r:c,p=i>l?o:o<d?i:l,e.direction===n.Direction.DOWN?f=a:e.direction===n.Direction.UP?f=r:e.direction===n.Direction.RIGHT?p=o:e.direction===n.Direction.LEFT&&(p=i),this._scrollToCell(f,p)},0)}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_updateSceneSize(e){var t;if(e==null)return;let{unitId:n}=this._context,{skeleton:r}=e,i=(t=this._renderManagerService.getRenderById(n))==null?void 0:t.scene;if(r==null||i==null)return;let{rowTotalHeight:a,columnTotalWidth:o,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=r;this._context.unit.getActiveSheet()&&(i==null||i.transformByState({width:s+o,height:c+a}))}_getSheetObject(){return Ar(this._context.unit,this._context)}_scrollToSelectionByDirection(e){let t=this._getViewportBounding();if(t==null)return!1;let{startRow:n,startColumn:r,endRow:i,endColumn:a}=t,o=0,s=0,{startRow:c,startColumn:l,endRow:u,endColumn:d}=e;c>=n&&(o=u),u<=i&&(o=c),l>=r&&(s=d),d<=a&&(s=l),this._scrollToCell(o,s)}_scrollToSelection(e=!0){var t;let n=this._getSelectionsService().getCurrentLastSelection();if(!n)return;let{startRow:r,startColumn:i,actualRow:a,actualColumn:o}=(t=n.primary)==null?n.range:t,s=e?a==null?r:a:r,c=e?o==null?i:o:i;this._scrollToCell(s,c)}_getSelectionsService(){return(0,a.getSelectionsService)(this._injector)}_getViewportBounding(){var e,t;let n=(e=this._getSheetObject())==null?void 0:e.scene;if(n==null)return;let r=n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(r==null)return;let a=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(a==null)return;let o=r.calcViewportInfo();return a.getRangeByViewBound(o.viewBound)}_scrollToCell(e,t,r=!1,a=!1){var o,s,c;let{rowHeightAccumulation:l,columnWidthAccumulation:u}=(o=this._sheetSkeletonManagerService.getCurrentSkeleton())==null?{}:o;if(l==null||u==null)return!1;let d=(s=this._getSheetObject())==null?void 0:s.scene;if(d==null)return!1;let f=d.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(f==null)return!1;let p=(c=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:c.skeleton;if(p==null)return!1;let m=this._context.unit.getActiveSheet();if(!m)return!1;e=n.Tools.clamp(e,0,l.length-1),t=n.Tools.clamp(t,0,u.length-1);let{startColumn:h,startRow:g,ySplit:_,xSplit:v}=m.getFreeze(),y=this._getViewportBounding();if(y==null)return!1;let{startRow:b,startColumn:x,endRow:S,endColumn:C}=y,w,T;if(e>=g&&t>=h-_&&(e<=b&&(w=e,r=!0),e>=S)){let t=l[e]-f.height;for(let n=b;n<=e&&(w=n+1,!(l[n]>=t));n++);}if(t>=h&&e>=g-_&&(t<=x&&(T=t,a=!0),t>=C)){let e=u[t]-f.width;for(let n=x;n<=t&&(T=n+1,!(u[n]>=e));n++);}if(w===void 0&&T===void 0)return!1;let{offsetX:E,offsetY:D,sheetViewStartRow:O,sheetViewStartColumn:k}=this._scrollManagerService.getCurrentScrollState()||{};if(w=w?Math.min(w,e):O+_,T=T?Math.min(T,t):k+v,a){E=0,T=t;let e=p.getHiddenColumnsInRange({startColumn:T-v,endColumn:T});T-=e.length}if(r){D=0,w=e;let t=p.getHiddenRowsInRange({startRow:w-_,endRow:w});w-=t.length}return this._commandService.syncExecuteCommand(Lr.id,{sheetViewStartRow:Math.max(0,w-_),sheetViewStartColumn:Math.max(0,T-v),offsetX:E,offsetY:D})}};Pr=H([V(1,(0,n.Inject)(n.Injector)),V(2,(0,n.Inject)(U)),V(3,n.IContextService),V(4,n.ICommandService),V(5,i.IRenderManagerService),V(6,(0,n.Inject)(q))],Pr);let Fr={id:`sheet.operation.set-scroll`,type:n.CommandType.OPERATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,sheetId:r,offsetX:a=0,offsetY:o=0,sheetViewStartColumn:s,sheetViewStartRow:c,duration:l,screenRatioX:u,screenRatioY:d}=t,f=e.get(i.IRenderManagerService),p=f.getRenderById(n).with(q),m=f.getRenderById(n);if(!m)return!1;let h=m.engine,g=h.width,_=h.height,v=u===void 0?a:g*u+a,y=d===void 0?o:_*d+o;return p.emitRawScrollParam({unitId:n,sheetId:r,offsetX:v,offsetY:y,sheetViewStartRow:c,sheetViewStartColumn:s,duration:l}),!0}},Ir={id:`sheet.command.set-scroll-relative`,type:n.CommandType.COMMAND,handler:async(e,t)=>{let r=e.get(n.ICommandService),o=e.get(n.IUniverInstanceService),s=e.get(i.IRenderManagerService),c=(0,a.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=s.getRenderById(l).with(q).getCurrentScrollState(),{offsetX:f=0,offsetY:p=0}=t||{},{sheetViewStartRow:m=0,sheetViewStartColumn:h=0,offsetX:g=0,offsetY:_=0}=d||{};return r.executeCommand(Fr.id,{unitId:l,sheetId:u,sheetViewStartRow:m,sheetViewStartColumn:h,offsetX:g+f,offsetY:_+p})}},Lr={id:`sheet.command.scroll-view`,type:n.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=e.get(n.IUniverInstanceService),o=e.get(i.IRenderManagerService),s=(0,a.getSheetCommandTarget)(r);if(!s)return!1;let{workbook:c,worksheet:l,unitId:u}=s,d=o.getRenderById(u).with(q).getCurrentScrollState();if(!l)return!1;let{sheetViewStartRow:f,sheetViewStartColumn:p,offsetX:m,offsetY:h,duration:g}=t,{sheetViewStartColumn:_,sheetViewStartRow:v,offsetX:y,offsetY:b}=d||{},{xSplit:x,ySplit:S}=s.worksheet.getConfig().freeze;return e.get(n.ICommandService).syncExecuteCommand(Fr.id,{unitId:c.getUnitId(),sheetId:l.getSheetId(),sheetViewStartRow:f==null?v==null?0+S:v:f,sheetViewStartColumn:p==null?_==null?0+x:_:p,offsetX:m==null?y:m,offsetY:h==null?b:h,duration:g})}},Rr={id:`sheet.command.scroll-to-cell`,type:n.CommandType.COMMAND,handler:(e,t)=>{let r=e.get(n.IUniverInstanceService);return e.get(i.IRenderManagerService).getRenderById(r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(Pr).scrollToRange(t.range,t.forceTop,t.forceLeft)}},zr={id:`sheet.command.scroll-view-reset`,type:n.CommandType.COMMAND,handler:async e=>{let t=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!t)return!1;let{subUnitId:r,unitId:i}=t;return e.get(n.ICommandService).executeCommand(Fr.id,{unitId:i,sheetId:r,sheetViewStartRow:0,sheetViewStartColumn:0})}},Br=(e,t)=>{let{unitId:n,subUnitId:r,ranges:i}=e,a={},o=t.getColumnManager();for(let e=0;e<i.length;e++){let t=i[e];for(let e=t.startColumn;e<t.endColumn+1;e++)a[e]=o.getColumnWidth(e)}return{unitId:n,subUnitId:r,ranges:i,colWidth:a}},Vr=class extends n.Disposable{constructor(e,t){super(),this._renderManagerService=e,this._univerInstanceService=t}getUndoRedoParamsOfColWidth(e){let t={redos:[],undos:[]},{_univerInstanceService:n}=this,r=(0,a.getSheetCommandTarget)(n,e);if(!r)return t;let{unitId:i,subUnitId:o,worksheet:s}=r,c=this._renderManagerService.getRenderById(i).with(U);if(!c.getCurrentParam())return t;let{skeleton:l}=c.getCurrentParam(),u=l.calculateAutoWidthInRange(e.ranges),d={};for(let{col:e,width:t}of u)d[e]=t;let f={subUnitId:o,unitId:i,ranges:e.ranges,colWidth:d},p=Br(f,s);return{undos:[{id:a.SetWorksheetColWidthMutation.id,params:p}],redos:[{id:a.SetWorksheetColWidthMutation.id,params:f}]}}};Vr=H([V(0,i.IRenderManagerService),V(1,(0,n.Inject)(n.IUniverInstanceService))],Vr);let Hr={type:n.CommandType.COMMAND,id:`sheet.command.set-col-auto-width`,handler:(e,t)=>{let r=e.get(n.ICommandService),i=e.get(n.IUndoRedoService),o=e.get(a.SheetsSelectionsService),s=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService),t);if(!s)return!1;let{unitId:c,subUnitId:l}=s,u=[];if(t!=null&&t.ranges)u=[...t.ranges];else{let e=o.getCurrentSelections();for(let t=0;t<e.length;t++)u.push(e[t].range)}if(!(u!=null&&u.length))return!1;let d={unitId:c,subUnitId:l,ranges:u},{redos:f,undos:p}=e.get(Vr).getUndoRedoParamsOfColWidth(d);return(0,n.sequenceExecute)([...f],r).result?(i.pushUndoRedo({unitID:c,undoMutations:[...p],redoMutations:[...f]}),!0):!1}},Ur=class extends n.Disposable{constructor(e,t,r,a,s,c){super(),this._sheetInterceptorService=e,this._renderManagerService=t,this._themeService=r,this._univerInstanceService=a,this._editorService=s,this._contextService=c,R(this,`_editorUnitId`,n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),R(this,`_editorIsDirty`,!1),R(this,`_visibleParams`,{visible:!1,eventType:i.DeviceInputEventType.Dblclick,unitId:``}),R(this,`_currentEditCell`,null),R(this,`_currentEditCellState`,null),R(this,`_currentEditCellLayout`,null),R(this,`helpFunctionVisible$`,new o.BehaviorSubject(!0)),R(this,`_currentEditCellState$`,new o.BehaviorSubject(null)),R(this,`currentEditCellState$`,this._currentEditCellState$.asObservable()),R(this,`_currentEditCellLayout$`,new o.BehaviorSubject(null)),R(this,`currentEditCellLayout$`,this._currentEditCellLayout$.asObservable()),R(this,`currentEditCell$`,this._currentEditCellState$.pipe((0,o.switchMap)(e=>this._currentEditCellLayout$.pipe((0,o.map)(t=>e&&t?{...e,...t}:null))))),R(this,`_visibleParams$`,new o.BehaviorSubject(this._visibleParams)),R(this,`visible$`,this._visibleParams$.asObservable()),R(this,`_afterVisibleParams$`,new o.BehaviorSubject(this._visibleParams)),R(this,`afterVisible$`,this._afterVisibleParams$.asObservable()),R(this,`_forceKeepVisible$`,new o.BehaviorSubject(!1)),R(this,`forceKeepVisible$`,this._forceKeepVisible$.asObservable()),this.disposeWithMe((0,n.toDisposable)(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this._univerInstanceService.getTypeOfUnitDisposed$(n.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{var t;e.getUnitId()===((t=this._currentEditCellState)==null?void 0:t.unitId)&&this._clearCurrentEditCellState()})}refreshEditCellState(){let e=this.getLatestEditCellState();if(!e){this._currentEditCellState=null,this._currentEditCellLayout=null,this._currentEditCellState$.next(null),this._currentEditCellLayout$.next(null);return}let{position:t,scaleX:n,scaleY:r,canvasOffset:i,...a}=e;this._currentEditCellState=a,this._currentEditCellLayout={position:t,scaleX:n,scaleY:r,canvasOffset:i},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}refreshEditCellPosition(e){var r;let a=this._currentEditCell;if(a==null)return;let o=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!o)return;let s=this._renderManagerService.getRenderUnitById(o.getUnitId());if(!s)return;let c=(r=s.with(U).getSkeletonParam(a.sheetId))==null?void 0:r.skeleton,l=s.with(B);if(!c||!this._currentEditCellState)return;let{primary:u,scene:d,engine:f}=a,p=le(c,u);if(p==null)return;let m=(0,n.convertCellToRange)(p),h=(0,t.getCanvasOffsetByEngine)(f),{startX:g,startY:_,endX:v,endY:y}=m,{scaleX:b,scaleY:x}=d.getAncestorScale(),S=d.getViewportScrollXY(l.getViewPort());g=(0,i.convertTransformToOffsetX)(g,b,S),_=(0,i.convertTransformToOffsetY)(_,x,S),v=(0,i.convertTransformToOffsetX)(v,b,S),y=(0,i.convertTransformToOffsetY)(y,x,S),e&&this._currentEditCellLayout&&(v=v-g+this._currentEditCellLayout.position.startX,y=y-_+this._currentEditCellLayout.position.startY,g=this._currentEditCellLayout.position.startX,_=this._currentEditCellLayout.position.startY),this._currentEditCellLayout={position:{startX:g,startY:_,endX:v,endY:y},canvasOffset:h,scaleX:b,scaleY:x},this._currentEditCellLayout$.next(this._currentEditCellLayout)}setEditCell(e){this._currentEditCell=e,this._editorService.getFocusEditor()||(this._editorService.focus(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),this._contextService.setContextValue(n.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(n.FOCUSING_EDITOR_STANDALONE,!1));let t=this.getLatestEditCellState();if(!t){this._currentEditCellState=t,this._currentEditCellLayout=t,this._currentEditCellState$.next(t),this._currentEditCellLayout$.next(t);return}let{position:r,canvasOffset:i,scaleX:a,scaleY:o,...s}=t;this._currentEditCellState=s,this._currentEditCellLayout={position:r,canvasOffset:i,scaleX:a,scaleY:o},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}_clearCurrentEditCellState(){this._currentEditCellState=null,this._currentEditCellState$.next(null),this._currentEditCellLayout=null,this._currentEditCellLayout$.next(null)}getEditCellState(){return this._currentEditCellState==null||this._currentEditCellLayout==null?null:{...this._currentEditCellState,...this._currentEditCellLayout}}getEditCellLayout(){return this._currentEditCellLayout}getEditLocation(){return this._currentEditCellState}updateEditLocation(e,t){this._currentEditCellState&&(this._currentEditCellState={...this._currentEditCellState,row:e,column:t})}getLatestEditCellState(){var e,r;let o=this._currentEditCell;if(o==null)return;let s=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!s)return;let c=this._renderManagerService.getRenderUnitById(s.getUnitId());if(!c)return;let l=c.with(U).getCurrentSkeleton(),u=c.with(B);if(!l)return;let{primary:d,unitId:f,sheetId:p,scene:m,engine:h}=o,{startRow:g,startColumn:_}=d,v=le(l,d);if(v==null)return;let y=(0,n.convertCellToRange)(v),b=(0,t.getCanvasOffsetByEngine)(h),{startX:x,startY:S,endX:C,endY:w}=y,{scaleX:T,scaleY:E}=m.getAncestorScale(),D=m.getViewportScrollXY(u.getViewPort());x=(0,i.convertTransformToOffsetX)(x,T,D),S=(0,i.convertTransformToOffsetY)(S,E,D),C=(0,i.convertTransformToOffsetX)(C,T,D),w=(0,i.convertTransformToOffsetY)(w,E,D);let O=s.getActiveSheet();if(!O)return;let k={workbook:s,worksheet:O,unitId:s.getUnitId(),subUnitId:O.getSheetId(),row:g,col:_,origin:O.getCellRaw(g,_)},A,j=this._sheetInterceptorService.writeCellInterceptor.fetchThroughInterceptors(a.BEFORE_CELL_EDIT)(O.getCell(g,_),k);A=j&&O.getCellDocumentModelWithFormula(j,k.row,k.col);let M=A==null||(e=A.documentModel)==null?void 0:e.documentStyle.renderConfig;if(M!=null&&(M.cellValueType=n.CellValueType.STRING),!A||A.documentModel==null){let e=O.getBlankCellDocumentModel(j,k.row,k.col);if(A!=null){let{verticalAlign:t,horizontalAlign:n,wrapStrategy:r,textRotation:a,fill:o}=A,{centerAngle:s,vertexAngle:c}=(0,i.convertTextRotation)(a);e.documentModel.documentStyle.renderConfig={...M,verticalAlign:t,horizontalAlign:n,wrapStrategy:r,background:{rgb:o},centerAngle:s,vertexAngle:c}}A=e}if(A.fill=A.fill||`#fff`,(r=A.documentModel)==null||r.setZoomRatio(Math.max(T,E)),(j==null?void 0:j.isInArrayFormulaRange)===!0){var N;let e=(N=A.documentModel)==null?void 0:N.getBody();e&&(e.textRuns=[{st:0,ed:e.dataStream.length-2,ts:{cl:{rgb:this._themeService.getColorFromTheme(`gray.300`)}}}])}return{position:{startX:x,startY:S,endX:C,endY:w},scaleX:T,scaleY:E,canvasOffset:b,row:g,column:_,unitId:f,sheetId:p,documentLayoutObject:A,editorUnitId:this._editorUnitId,isInArrayFormulaRange:j==null?void 0:j.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visibleParams=e,e.visible&&(this._editorIsDirty=!1),this._visibleParams$.next(this._visibleParams),this._afterVisibleParams$.next(this._visibleParams)}isVisible(){return this._visibleParams}enableForceKeepVisible(){this._forceKeepVisible$.next(!0)}disableForceKeepVisible(){this._forceKeepVisible$.next(!1)}isForceKeepVisible(){return this._forceKeepVisible$.getValue()}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}};Ur=H([V(0,(0,n.Inject)(a.SheetInterceptorService)),V(1,i.IRenderManagerService),V(2,(0,n.Inject)(n.ThemeService)),V(3,n.IUniverInstanceService),V(4,t.IEditorService),V(5,n.IContextService)],Ur);let J=(0,n.createIdentifier)(`univer.sheet-editor-bridge.service`),Wr=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._contextService=r,this._editorBridgeService=i,R(this,`_zoom`,void 0),this._initSkeletonListener(),this._initZoomEventListener()}updateZoom(e,t){let n=this._context.unit.getSheetBySheetId(e);return n?(n.getConfig().zoomRatio=t,n===this._context.unit.getActiveSheet()&&this._updateViewZoom(t),!0):!1}_initZoomEventListener(){let e=Ar(this._context.unit,this._context).scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(t=>{if(!t.ctrlKey||!this._contextService.getContextValue(n.FOCUSING_SHEET))return;if(this._editorBridgeService){let e=this._editorBridgeService.isVisible();if((e.unitId===this._context.unitId||e.unitId===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&e.visible)return}let r=Math.abs(t.deltaX),i=r<40?.2:r<80?.4:.2;i*=t.deltaY>0?-1:1,e.scaleX<1&&(i/=2);let a=this._context.unit,o=a.getActiveSheet();if(!o)return;let s=o.getZoomRatio(),c=+Number.parseFloat(`${s+i}`).toFixed(1);c=c>=4?4:c<=.1?.1:c,this._commandService.executeCommand(qr.id,{zoomRatio:Math.round(c*10)/10,unitId:a.getUnitId(),subUnitId:o.getSheetId()}),t.preventDefault()}))}_initSkeletonListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)return;let t=this._context.unit.getActiveSheet();if(!t)return;let n=t.getZoomRatio()||1;this._zoom!==n&&this._updateViewZoom(n)}))}_updateViewZoom(e){this._zoom=e;let t=Ar(this._context.unit,this._context);t==null||t.scene.scale(e,e),t==null||t.spreadsheet.makeForceDirty()}};Wr=H([V(1,(0,n.Inject)(U)),V(2,n.ICommandService),V(3,n.IContextService),V(4,(0,n.Optional)(J))],Wr);let Gr={id:`sheet.operation.set-zoom-ratio`,type:n.CommandType.OPERATION,handler:(e,t)=>{let n=e.get(i.IRenderManagerService).getRenderById(t.unitId);return n?n.with(Wr).updateZoom(t.subUnitId,t.zoomRatio):!1}},Kr={id:`sheet.command.change-zoom-ratio`,type:n.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!r)return!1;let{worksheet:i,subUnitId:o,unitId:s}=r,{delta:c,reset:l}=t,u=l?100:Math.round((i.getConfig().zoomRatio+c)*100);u=Math.max(F[0],u),u=Math.min(F[1],u);let d=u/100,f=e.get(J).isVisible();return(f.unitId===s||f.unitId===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&f.visible?!1:e.get(n.ICommandService).executeCommand(Gr.id,{unitId:s,subUnitId:o,zoomRatio:d})}},qr={id:`sheet.command.set-zoom-ratio`,type:n.CommandType.COMMAND,handler:(e,t)=>{if(!t)return!1;let{unitId:r,subUnitId:i,zoomRatio:a}=t,o=e.get(J).isVisible();return(o.unitId===r||o.unitId===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&o.visible?!1:e.get(n.ICommandService).executeCommand(Gr.id,{unitId:r,subUnitId:i,zoomRatio:a})}},Jr=(0,n.createIdentifier)(`univer.sheetbar-service`);var Yr=class extends n.Disposable{constructor(){super(),R(this,`renameId$`,void 0),R(this,`removeId$`,void 0),R(this,`scroll$`,void 0),R(this,`scrollX$`,void 0),R(this,`addSheet$`,void 0),R(this,`_renameId$`,void 0),R(this,`_removeId$`,void 0),R(this,`_scroll$`,void 0),R(this,`_scrollX$`,void 0),R(this,`_addSheet$`,void 0),R(this,`_currentHandler`,null),this._renameId$=new o.Subject,this.renameId$=this._renameId$.asObservable(),this._removeId$=new o.Subject,this.removeId$=this._removeId$.asObservable(),this._scroll$=new o.Subject,this.scroll$=this._scroll$.asObservable(),this._scrollX$=new o.Subject,this.scrollX$=this._scrollX$.asObservable(),this._addSheet$=new o.Subject,this.addSheet$=this._addSheet$.asObservable()}setRenameId(e){this._renameId$.next(e)}setRemoveId(e){this._removeId$.next(e)}setScroll(e){this._scroll$.next(e)}setScrollX(e){this._scrollX$.next(e)}setAddSheet(e){this._addSheet$.next(e)}triggerSheetBarMenu(){var e;(e=this._currentHandler)==null||e.handleSheetBarMenu()}registerSheetBarMenuHandler(e){if(this._currentHandler)throw Error(`There is already a context menu handler!`);return this._currentHandler=e,(0,n.toDisposable)(()=>{this._currentHandler=null})}};let Xr={id:`ui-sheet.command.show-menu-list`,type:n.CommandType.OPERATION,handler:async e=>(e.get(Jr).triggerSheetBarMenu(),!0)},Zr={type:n.CommandType.COMMAND,id:`sheet.command.delete-worksheet-protection-from-sheet-bar`,async handler(e,t){if(!t)return!1;let r=e.get(n.ICommandService),i=e.get(n.IUndoRedoService),o=e.get(a.WorksheetProtectionRuleModel),s=e.get(n.IUniverInstanceService).getCurrentUnitForType(pn.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet(),l=s.getUnitId();if(!c)return!1;let u=c.getSheetId(),d=o.getRule(l,u);if(await r.executeCommand(a.DeleteWorksheetProtectionCommand.id,{unitId:l,subUnitId:u})){let e=[{id:a.DeleteWorksheetProtectionCommand.id,params:{unitId:l,subUnitId:u}}],t=[{id:a.AddWorksheetProtectionCommand.id,params:{unitId:l,rule:d}}];i.pushUndoRedo({unitID:l,redoMutations:e,undoMutations:t})}return!0}},Qr={type:n.CommandType.COMMAND,id:`sheet.command.change-sheet-protection-from-sheet-bar`,async handler(e){return await e.get(n.ICommandService).executeCommand(`sheet-permission.operation.openDialog`),!0}},$r={id:`sheet.operation.set-activate-cell-edit`,type:n.CommandType.OPERATION,handler:(e,t)=>(e.get(J).setEditCell(t),!0)},ei=`sheets-ui.config`;Symbol(ei);let ti={formulaBar:!0,statusBarStatistic:!0,protectedRangeShadow:!0,maxAutoHeightCount:1e3};function ni(e){return e===!0?`always`:e===!1?`none`:e||`always`}let Y={id:`sheet.operation.set-cell-edit-visible`,type:n.CommandType.OPERATION,handler:(e,t)=>{var r;if(!t||(r=e.get(n.IConfigService).getConfig(`sheets-ui.config`))!=null&&r.disableEdit&&t.visible)return!1;let{unitId:i}=t,a=e.get(n.IUniverInstanceService).getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);return a?(e.get(J).changeVisible({...t,unitId:i==null?a.getUnitId():i}),!0):!1}},ri={id:`sheet.operation.set-cell-edit-visible-f2`,type:n.CommandType.OPERATION,handler:(e,t)=>{let r=e.get(n.ICommandService),i=e.get(n.IUniverInstanceService).getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);return i?r.syncExecuteCommand(Y.id,{...t,unitId:i.getUnitId()}):!1}},ii={id:`sheet.operation.set-cell-edit-visible-arrow`,type:n.CommandType.OPERATION,handler:()=>!0},ai={id:`sheet.operation.rename-sheet`,type:n.CommandType.OPERATION,handler:async(e,t)=>{let n=e.get(Jr);return t&&n.setRenameId(t.subUnitId),!0}},oi={id:`sheet.operation.scroll-to-range`,type:n.CommandType.OPERATION,handler:(e,t)=>{if(!t)return!1;let r=e.get(n.IUniverInstanceService);return e.get(i.IRenderManagerService).getRenderById(r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(Pr).scrollToRange(t.range,t.forceTop,t.forceLeft)}},si={type:n.CommandType.OPERATION,id:`sheet-permission.operation.openDialog`,async handler(e,t){let n=e.get(r.IDialogService);return n.close(`DESKTOP_FIND_REPLACE_DIALOG`),n.open({id:Wn,title:{title:`permission.dialog.allowedPermissionType`},children:{label:Hn},width:393,destroyOnClose:!0,onClose:()=>n.close(Wn)}),!0}},ci=`DefinedNameContainer`,li={id:`sidebar.operation.defined-name`,type:n.CommandType.COMMAND,handler:async(e,i)=>{let o=e.get(r.ISidebarService);e.get(t.IEditorService);let s=e.get(n.LocaleService),c=(0,a.getSheetCommandTarget)(e.get(n.IUniverInstanceService));if(!c)return!1;let{unitId:l}=c;switch(i.value){case`open`:o.open({id:ci,header:{title:s.t(`definedName.featureTitle`)},children:{label:ci},onClose:()=>{},width:333});break;default:o.close();break}return!0}};function ui(e,t){if(e.length!==t.length)return!1;let n=e.sort((e,t)=>e.id.localeCompare(t.id)),r=t.sort((e,t)=>e.id.localeCompare(t.id));return n.every((e,t)=>{var n,i;return((n=e.subject)==null?void 0:n.userID)===((i=r[t].subject)==null?void 0:i.userID)&&e.role===r[t].role})}function di(e,t){return t.some(t=>fi(e,t))}function fi(e,t){let{startRow:n,startColumn:r,endColumn:i,endRow:a}=t,o=e.getMatrixWithMergedCells(n,r,a,i),s=!1;return o.forValue((t,i,a)=>{if(a&&(t!==n||i!==r)&&e.cellHasValue(a))return s=!0,!1}),s}function pi(e,t,n,r){let a=n.getActiveViewportByCoord(i.Vector2.FromArray([e,t]));if(!a)return;let{scaleX:o,scaleY:s}=n.getAncestorScale(),c={x:a.viewportScrollX,y:a.viewportScrollY},l=r.getCellIndexByOffset(e,t,o,s,c),u=r.worksheet.getMergedCell(l.row,l.column);return{actualRow:u?u.startRow:l.row,actualCol:u?u.startColumn:l.column,mergeCell:u,row:l.row,col:l.column}}function mi(e,t,n,r){let a=r.getFreeze();if(!a||a.startRow<=0&&a.startColumn<=0||e>=a.startRow&&t>=a.startColumn)return n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(e<a.startRow&&t<a.startColumn)return n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP);if(e<a.startRow&&t>=a.startColumn)return n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(e>=a.startRow&&t<a.startColumn)return n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT)}function hi(e,t,n,r){let i=gi(e.left,e.top,t,n,r),a=gi(e.right,e.bottom,t,n,r);return{left:i.x,top:i.y,right:a.x,bottom:a.y}}function gi(e,t,n,r,a){let{scaleX:o,scaleY:s}=n.getAncestorScale(),c=n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!c)return{x:e,y:t};let{startColumn:l,startRow:u,xSplit:d,ySplit:f}=a.getFreeze(),p=r.getNoMergeCellWithCoordByIndex(u-f,l-d,!1),m=r.getNoMergeCellWithCoordByIndex(u,l,!1),{rowHeaderWidth:h,columnHeaderHeight:g}=r,_=m.startX-p.startX,v=m.startY-p.startY,{top:y,left:b,viewportScrollX:x,viewportScrollY:S}=c,C;C=e>b?(e-x)*o:(_+h-(b-e))*o;let w;return w=t>y?(t-S)*s:(v+g-(y-t))*o,{x:C,y:w}}function _i(e,t,n,r,i){let a=r,o=i;n.overflowCache.forValue((e,t,n)=>{n.startRow<=a&&n.endRow>=a&&n.startColumn<=o&&n.endColumn>=o&&(o=t,a=e)});let s=n.getCellWithCoordByIndex(a,o);return{unitId:e.getUnitId(),subUnitId:t.getSheetId(),workbook:e,worksheet:t,row:s.actualRow,col:s.actualColumn}}function vi(e,t,n,r,a,o){let{scene:s}=e,c=t.getUnitId(),{skeleton:l,sheetId:u}=r,d=pi(a,o,s,l);if(!d)return null;let{actualCol:f,actualRow:p}=d,m={unitId:c,subUnitId:u,workbook:t,worksheet:n,row:p,col:f};l.overflowCache.forValue((e,t,n)=>{n.startRow<=p&&n.endRow>=p&&n.startColumn<=f&&n.endColumn>=f&&(f=t,p=e)});let h=l.getCellWithCoordByIndex(p,f),g=_i(t,n,l,p,f),_;_=h.mergeInfo?h.mergeInfo:{startRow:g.row,endRow:g.row,startColumn:g.col,endColumn:g.col};let v=s.getActiveViewportByCoord(i.Vector2.FromArray([a,o]));if(!v)return;let{scaleX:y,scaleY:b}=s.getAncestorScale(),x={x:v.viewportScrollX,y:v.viewportScrollY};return{position:{startX:(l.getOffsetByColumn(_.startColumn-1)-x.x)*y,endX:(l.getOffsetByColumn(_.endColumn)-x.x)*y,startY:(l.getOffsetByRow(_.startRow-1)-x.y)*b,endY:(l.getOffsetByRow(_.endRow)-x.y)*b},location:m,overflowLocation:g}}function yi(){let e=(0,r.useDependency)(n.IUniverInstanceService),t=(0,r.useObservable)(()=>e.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]);return t==null?null:t}function bi(e){return(0,r.useObservable)(()=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,o.of)(null):t},void 0,void 0,[e])}function xi(){let e=(0,r.useDependency)(n.IUniverInstanceService);return(0,r.useObservable)(()=>(0,o.merge)([e.getTypeOfUnitAdded$(n.UniverInstanceType.UNIVER_SHEET),e.getTypeOfUnitDisposed$(n.UniverInstanceType.UNIVER_SHEET)]).pipe((0,o.map)(()=>e.getAllUnitsForType(n.UniverInstanceType.UNIVER_SHEET)),(0,o.startWith)(e.getAllUnitsForType(n.UniverInstanceType.UNIVER_SHEET))),[],void 0,[e])}let Si=function(e){return e.FILTER_PANEL_EMBED_POINT=`filter-panel-embed-point`,e.SHEETS_FOOTER=`sheets-footer`,e.FORMULA_AUX=`formula-aux`,e}({}),Ci=`univer-sheet-main-canvas`,wi=class extends n.RxDisposable{constructor(e,t,n,r){super(),this._contextService=e,this._instanceSrv=t,this._renderManagerService=n,this._themeService=r,R(this,`_skeletonChangeMutations`,new Set),Promise.resolve().then(()=>this._init())}registerSkeletonChangingMutations(e){return this._skeletonChangeMutations.has(e)?(0,n.toDisposable)(()=>{}):(this._skeletonChangeMutations.add(e),(0,n.toDisposable)(()=>this._skeletonChangeMutations.delete(e)))}checkMutationShouldTriggerRerender(e){return this._skeletonChangeMutations.has(e)}_init(){this._initWorkbookListener(),this._initContextListener()}_initWorkbookListener(){this._instanceSrv.getTypeOfUnitAdded$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderer(e)),this._instanceSrv.getAllUnitsForType(n.UniverInstanceType.UNIVER_SHEET).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitDisposed$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(e=>{e.unitId===t&&(e.engine.getCanvas().setId(`${Ci}_${t}`),e.engine.getCanvas().getContext().setId(`${Ci}_${t}`))}),this._renderManagerService.createRender(t)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(i.RENDER_RAW_FORMULA_KEY).pipe((0,o.distinctUntilChanged)()).subscribe(()=>{this._renderManagerService.getRenderAll().forEach(e=>{e.mainComponent instanceof i.Spreadsheet&&e.mainComponent.makeForceDirty(!0)})}))}};wi=H([V(0,n.IContextService),V(1,n.IUniverInstanceService),V(2,i.IRenderManagerService),V(3,(0,n.Inject)(n.ThemeService))],wi);let Ti=class extends n.Disposable{constructor(e,t,n,r,i,a,o){super(),this._univerInstanceService=e,this._commandService=t,this._autoFillService=n,this._autoFillController=r,this._editorBridgeService=i,this._renderManagerService=a,this._sheetsRenderService=o,R(this,`_currentLocation`,null),this._init()}_init(){this._initDefaultHook(),this._initSelectionControlFillChanged(),this._initQuitListener(),this._initSkeletonChange()}_initSkeletonChange(){this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(a.AutoFillCommand.id))}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook({id:`default-ui`,type:a.AUTO_FILL_HOOK_TYPE.DEFAULT,priority:0,onBeforeFillData:e=>{this._currentLocation=e}}))}_initQuitListener(){let e=[Y.id,a.AutoClearContentCommand.id,a.SetRangeValuesCommand.id,Gr.id,a.SetWorksheetActiveOperation.id,a.MoveRangeMutation.id,a.RemoveRowMutation.id,a.RemoveColMutation.id,a.InsertRowMutation.id,a.InsertColMutation.id,a.MoveRowsMutation.id,a.MoveColsMutation.id,a.SetWorksheetColWidthMutation.id,a.SetWorksheetRowHeightMutation.id,a.SetRangeValuesMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted((t,n)=>{let r=n==null?void 0:n.fromCollab,i=n==null?void 0:n.fromSync,o=n==null?void 0:n.fromFormula;if(e.includes(t.id)&&!r&&!i&&!o&&t.params.trigger!==a.AutoFillCommand.id&&t.params.trigger!==a.RefillCommand.id&&this._quit(),t.id===a.RemoveSheetMutation.id){var s,c;t.params.unitId===((s=this._currentLocation)==null?void 0:s.unitId)&&t.params.subUnitId===((c=this._currentLocation)==null?void 0:c.subUnitId)&&this._quit()}})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t;e.getUnitId()===((t=this._currentLocation)==null?void 0:t.unitId)&&this._quit()}))}_quit(){this._currentLocation=null,this._autoFillController.quit(),this._autoFillService.setShowMenu(!1)}_initSelectionControlFillChanged(){let e=new n.DisposableCollection,t=()=>{e.dispose();let t=(0,i.getCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService);t&&t.with(B).getSelectionControls().forEach(n=>{e.add(n.selectionFilled$.subscribe(e=>{if(e==null||e.startColumn===-1||e.startRow===-1||e.endColumn===-1||e.endRow===-1)return;let t={startColumn:n.model.startColumn,endColumn:n.model.endColumn,startRow:n.model.startRow,endRow:n.model.endRow},r={startColumn:e.startColumn,endColumn:e.endColumn,startRow:e.startRow,endRow:e.endRow};this._commandService.executeCommand(a.AutoFillCommand.id,{sourceRange:t,targetRange:r})})),e.add(n.fillControl.onDblclick$.subscribeEvent(()=>{let e={startColumn:n.model.startColumn,endColumn:n.model.endColumn,startRow:n.model.startRow,endRow:n.model.endRow};this._handleDbClickFill(e)})),e.add(n.fillControl.onPointerDown$.subscribeEvent(()=>{this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.PointerDown,unitId:t.unitId})}))})};t(),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===a.SetSelectionsOperation.id&&t()})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(()=>t()))}_handleDbClickFill(e){let t=this._detectFillRange(e);t.endRow<=e.endRow||this._commandService.executeCommand(a.AutoFillCommand.id,{sourceRange:e,targetRange:t})}_detectFillRange(e){var t,r,i;let{startRow:a,endRow:o,startColumn:s,endColumn:c}=e,l=(t=this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET))==null?void 0:t.getActiveSheet();if(!l)return e;let u=l.getCellMatrix(),d=l.getMaxRows(),f=l.getMaxColumns(),p=o+1;if(s>0&&((r=u.getValue(p,s-1))==null?void 0:r.v)!=null)for(var m;((m=u.getValue(p+1,s-1))==null?void 0:m.v)!=null&&p<d;)p+=1;else if(c<f-1&&((i=u.getValue(p,c+1))==null?void 0:i.v)!=null)for(var h;((h=u.getValue(p+1,c+1))==null?void 0:h.v)!=null&&p<d;)p+=1;else p=o;for(let e=o+1;e<=p;e++)for(let t=s;t<=c;t++){var g;if(((g=u.getValue(e,t))==null?void 0:g.v)!=null){p=e-1;break}}return{startColumn:s,endColumn:c,startRow:a,endRow:p}}};Ti=H([V(0,n.IUniverInstanceService),V(1,n.ICommandService),V(2,a.IAutoFillService),V(3,(0,n.Inject)(a.AutoFillController)),V(4,J),V(5,i.IRenderManagerService),V(6,(0,n.Inject)(wi))],Ti);let Ei=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._renderManagerService=e,this._sheetInterceptorService=t,this._selectionManagerService=n,this._univerInstanceService=r,this._configService=i,this._initialize()}_processLazyAutoHeight(e,t,r,i){if(i!=null&&i.length){let o={id:a.MarkDirtyRowAutoHeightMutation.id,params:{unitId:t,subUnitId:r,ranges:i,id:(0,n.generateRandomId)()},options:{onlyLocal:!0}},s={id:a.CancelMarkDirtyRowAutoHeightMutation.id,params:{unitId:t,subUnitId:r,id:o.params.id},options:{onlyLocal:!0}};return{redos:[...e.redos,o],undos:[...e.undos,s]}}return e}getUndoRedoParamsOfAutoHeight(e,t,r){let{_univerInstanceService:i}=this,o=i.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),s=o.getUnitId(),c=o.getActiveSheet(),l=c.getSheetId();if(t){let e=(0,a.getSheetCommandTarget)(i,{unitId:s,subUnitId:t});e&&(c=e.worksheet,l=c.getSheetId())}let u=this._renderManagerService.getRenderById(s).with(U).ensureSkeleton(l);if(!u)return{redos:[],undos:[]};let d=u.calculateAutoHeightInRange(e,r).filter(e=>{let{row:t,autoHeight:n}=e;return!(!n||c.getRowHeight(t)===n)});if(d.length===0)return{redos:[],undos:[]};let f={subUnitId:l,unitId:s,rowsAutoHeightInfo:d},p=(0,a.SetWorksheetRowAutoHeightMutationFactory)(f,c);return{undos:[{id:a.SetWorksheetRowAutoHeightMutation.id,params:p}],redos:[{id:a.SetWorksheetRowAutoHeightMutation.id,params:f}]}}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptAutoHeight({getMutations:e=>{let{unitId:t,subUnitId:n,ranges:r,autoHeightRanges:i,lazyAutoHeightRanges:a,cellHeights:o}=e,s=this.getUndoRedoParamsOfAutoHeight(i==null?r:i,n,o);return this._processLazyAutoHeight(s,t,n,a)}}))}};Ei=H([V(0,i.IRenderManagerService),V(1,(0,n.Inject)(a.SheetInterceptorService)),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,(0,n.Inject)(n.IUniverInstanceService)),V(4,n.IConfigService)],Ei);let Di=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=n,this._permissionService=r,R(this,`_enterActiveRender`,void 0),this._initEventBinding()}_initEventBinding(){let e=new n.DisposableCollection,t=this._context.unit,r=r=>{if(e.dispose(),!r)return;let s=this._context.unitId,{skeleton:c}=r,l=this._renderManagerService.getRenderById(s);if(l&&l.mainComponent){let r=l.mainComponent,u=e=>{let{offsetX:r,offsetY:a}=e,o=l.scene,u=t.getActiveSheet();if(!u)return;let d=o.getActiveViewportByCoord(i.Vector2.FromArray([r,a]));if(!d)return;let{scaleX:f,scaleY:p}=o.getAncestorScale(),m={x:d.viewportScrollX,y:d.viewportScrollY},h=c.getCellIndexByOffset(r,a,f,p,m),g=c.worksheet.getMergedCell(h.row,h.column),_={actualRow:g?g.startRow:h.row,actualCol:g?g.startColumn:h.column,mergeCell:g,row:h.row,col:h.column};if(!_||!c)return;let v=u.getCell(_.actualRow,_.actualCol);if(!v)return;let y=v.customRender;if(!(y!=null&&y.length))return;let b=_.actualRow,x=_.actualCol,S=y.sort(n.sortRules),C=u.getSheetId(),w={data:v,style:c.getStyles().getStyleByCell(v),primaryWithCoord:c.getCellWithCoordByIndex(_.actualRow,_.actualCol),unitId:s,subUnitId:C,row:b,col:x,workbook:t,worksheet:u},T={x:m.x+r/f,y:m.y+a/p},E=S.find(e=>{var t;return(t=e.isHit)==null?void 0:t.call(e,T,w)});if(E)return[E,w]},d=r.onPointerDown$.subscribeEvent(e=>{let t=u(e);if(t){var n,r,i;let[o,s]=t,{row:c,col:l,worksheet:u,unitId:d,subUnitId:f}=s;if(!((n=this._permissionService.composePermission([new a.WorkbookEditablePermission(d).id,new a.WorksheetEditPermission(d,f).id]))!=null&&n.every(e=>e.value)))return!1;let p=(r=u.getCell(c,l))==null||(r=r.selectionProtection)==null?void 0:r[0];if((p==null?void 0:p[a.UnitAction.Edit])===!1)return!1;(i=o.onPointerDown)==null||i.call(o,s,e)}}),f=(0,n.fromEventSubject)(r.onPointerMove$).pipe((0,o.throttleTime)(30)).subscribe(e=>{let t=u(e);if(t){let[o,s]=t;if(this._enterActiveRender){if(this._enterActiveRender.render!==o){var n,r,i;(n=(r=this._enterActiveRender.render).onPointerLeave)==null||n.call(r,this._enterActiveRender.cellContext,e),this._enterActiveRender={render:o,cellContext:s},(i=o.onPointerEnter)==null||i.call(o,s,e)}}else{var a;this._enterActiveRender={render:o,cellContext:s},(a=o.onPointerEnter)==null||a.call(o,s,e)}}else if(this._enterActiveRender){var o,s;(o=(s=this._enterActiveRender.render).onPointerLeave)==null||o.call(s,this._enterActiveRender.cellContext,e),this._enterActiveRender=null}});d&&e.add(d),f&&e.add(f)}};this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(r)),r(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(e)}};Di=H([V(1,(0,n.Inject)(U)),V(2,i.IRenderManagerService),V(3,n.IPermissionService)],Di);let Oi=class extends n.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,R(this,`_currentCell$`,new o.Subject),R(this,`currentCell$`,this._currentCell$.asObservable().pipe((0,o.distinctUntilChanged)((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),R(this,`_endCell$`,new o.Subject),R(this,`endCell$`,this._endCell$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){let r=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!r)return null;let i=r.getActiveSheet();if(!i)return;let a=this._renderManagerService.getRenderById(r.getUnitId());if(!a)return;let o=a.with(U).getCurrentParam(),s=a.with(q).getCurrentScrollState();if(!(!o||!s||!a))return vi(a,r,i,o,e,t)}onDragOver(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._currentCell$.next(null);return}let{location:a,position:o}=i;this._currentCell$.next({location:a,position:o,dataTransfer:r})}onDrop(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._endCell$.next(null);return}let{location:a,position:o}=i;this._endCell$.next({location:a,position:o,dataTransfer:r})}};Oi=H([V(0,n.IUniverInstanceService),V(1,i.IRenderManagerService)],Oi);let ki=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._renderManagerService=t,this._dragManagerService=n,this._sheetSkeletonManagerService=r,this._initDragEvent()}_initDragEvent(){let e=new n.DisposableCollection,t=t=>{if(e.dispose(),!t)return;let{scene:n}=this._context,r=n.onDragOver$.subscribeEvent(e=>{this._dragManagerService.onDragOver(e)}),i=n.onDrop$.subscribeEvent(e=>{this._dragManagerService.onDrop(e)});e.add({dispose(){r.unsubscribe(),i.unsubscribe()}})};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}};ki=H([V(1,i.IRenderManagerService),V(2,(0,n.Inject)(Oi)),V(3,(0,n.Inject)(U))],ki);var Ai=class{constructor(){R(this,`_state`,null),R(this,`_rect`,null),R(this,`_state$`,new o.BehaviorSubject(null)),R(this,`state$`,this._state$.asObservable()),R(this,`_rect$`,new o.BehaviorSubject(null)),R(this,`rect$`,this._rect$.asObservable()),R(this,`_focus`,!1),R(this,`_focus$`,new o.BehaviorSubject(this._focus)),R(this,`focus$`,this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(e){this._state=e,this._refresh(e)}getRect(){return this._rect}setRect(e){this._rect=e,this._rect$.next(e)}getState(){return this._state}setFocus(e=!1){this._focus=e,this._focus$.next(e)}_refresh(e){this._state$.next(e)}};let ji=(0,n.createIdentifier)(`univer.sheet-cell-editor-manager.service`),Mi=class extends n.Disposable{constructor(e,t,n,r,i,a){super(),this._layoutService=e,this._cellEditorManagerService=t,this._editorBridgeService=n,this._renderManagerService=r,this._univerInstanceService=i,this._configService=a}get _currentRenderer(){return(0,i.getCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService)}get _editingUnitId(){var e,t;return(e=(t=this._editorBridgeService.getEditCellState())==null?void 0:t.unitId)==null?``:e}get _editingRenderer(){return this._renderManagerService.getRenderById(this._editingUnitId)}get _renderer(){var e;let t=(e=this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET))==null?void 0:e.getUnitId();return this._editingUnitId===t?this._editingRenderer:this._currentRenderer}get _sheetSkeletonManagerService(){var e;return(e=this._renderer)==null?void 0:e.with(U)}get engine(){var e;return(e=this._renderer)==null?void 0:e.engine}fitTextSize(e){var t,r,i,a;let o=this._editorBridgeService.getEditCellState();if(!o)return;let{position:s,documentLayoutObject:c,canvasOffset:l,scaleX:u,scaleY:d}=o,{startX:f,startY:p,endX:m,endY:h}=s,g=this._univerInstanceService.getUnit(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.UniverInstanceType.UNIVER_DOC);if(g==null)return;let _=this._getEditorSkeleton();if(!_)return;let v=this._predictingSize(s,l,_,c,u,d);if(!v||v.actualWidth<=0)return;let{actualWidth:y,actualHeight:b}=v,{verticalAlign:x,horizontalAlign:S,paddingData:C,fill:w}=c;y=y+((t=C.l)==null?0:t)*u+((r=C.r)==null?0:r)*u,b=b+((i=C.t)==null?0:i)*d+((a=C.b)==null?0:a)*d;let T=m-f,E=h-p;T<y&&(T=Math.ceil(y)),E<b&&(E=Math.ceil(b));let D=0;D=x===n.VerticalAlign.MIDDLE?(E-b)/2/d:x===n.VerticalAlign.TOP?C.t||0:(E-b)/d;let O=0;S===n.HorizontalAlign.CENTER||(O=S===n.HorizontalAlign.RIGHT?(T-y)/u:C.l||0),D=Math.max(D,C.t||0),O=Math.max(O,C.l||0),g.updateDocumentDataMargin({t:D,l:O}),_.calculate(),this._editAreaProcessing(T,E,s,l,w,u,d,S,e)}_predictingSize(e,t,r,a,o=1,s=1){let{startX:c,endX:l}=e,{textRotation:u,wrapStrategy:d,paddingData:f}=a,p=this._univerInstanceService.getUnit(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.UniverInstanceType.UNIVER_DOC),{vertexAngle:m}=(0,i.convertTextRotation)(u);if(d===n.WrapStrategy.WRAP&&m===0){p==null||p.updateDocumentDataPageSize((l-c)/o),p==null||p.updateDocumentDataMargin({l:f.l,t:f.t}),r.calculate();let{actualWidth:e,actualHeight:t}=r.getActualSize();return{actualWidth:e*o,actualHeight:t*s}}let h=this._getEditorMaxSize(e,t,a.horizontalAlign);if(!h)return;p==null||p.updateDocumentDataPageSize(h.width/o),r.calculate();let g=r.getActualSize(),_=l-c;return _<g.actualWidth*o+5*o&&(_=g.actualWidth*o+5*o),p==null||p.updateDocumentDataPageSize(_/o),p==null||p.updateDocumentRenderConfig({horizontalAlign:n.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:g.actualWidth*o,actualHeight:g.actualHeight*s}}_getEditorMaxSize(e,t,r){if(this._getEditorObject()==null)return;function i(e){return Number.parseInt(e.replace(`px`,``))}let a=this.engine;if(!a)return;let o=a.getCanvasElement(),s=o.getBoundingClientRect(),c=i(o.style.width),{width:l,height:u}=s,d=l/c,{startX:f,startY:p,endX:m}=e,h=a.width,g=u-p-4,_=l-f;if(r===n.HorizontalAlign.CENTER){let e=h-m,t=f;_=m-f+Math.min(t,e)*2}else r===n.HorizontalAlign.RIGHT&&(_=m);return _-=4,{height:g,width:_,scaleAdjust:d}}_editAreaProcessing(e,r,a,o,s,c=1,l=1,u,d){let f=this._getEditorObject();if(f==null)return;let p=this.engine;if(!p)return;let m=p.getCanvasElement(),{startX:h,startY:g}=a,{document:_,scene:v,engine:y}=f,b=v.getViewport(t.VIEWPORT_KEY.VIEW_MAIN),{height:x,width:S,scaleAdjust:C}=this._getEditorMaxSize(a,o,u),w=r,T=b==null?void 0:b.getScrollBar();if(w>x)T==null?b&&new i.ScrollBar(b,{enableHorizontal:!1,barSize:8}):b==null||b.resetCanvasSizeAndUpdateScroll(),b==null||b.scrollToViewportPos({viewportScrollY:w-x}),w=x;else{var E;T=null,b==null||(E=b.getScrollBar())==null||E.dispose()}e+=(T==null?void 0:T.barSize)||0,e>S&&(e=S),this._addBackground(v,e/c,r/l,s);let{scaleX:D,scaleY:O}=v.getPrecisionScale();v.transformByState({width:e*C/c,height:r*C/l,scaleX:c*C,scaleY:l*C}),_.resize(e*C/c,r*C/l),setTimeout(()=>{y.resizeBySize((0,i.fixLineWidthByScale)(e,D),(0,i.fixLineWidthByScale)(w,O)),d==null||d()},0);let k=this._layoutService.getContentElement().getBoundingClientRect(),A=m.getBoundingClientRect();h=h*C+(A.left-k.left),g=g*C+(A.top-k.top);let j=a.endX-a.startX;u===n.HorizontalAlign.RIGHT?h+=(j-e)*C:u===n.HorizontalAlign.CENTER&&(h+=(j-e*C)/2),this._cellEditorManagerService.setState({startX:h,startY:g,endX:e*C+h,endY:w*C+g,show:!0})}_addBackground(e,n,r,a){let o=`_backgroundRectHelperColor_`,s=e.getObject(o);s==null&&a==null||(s==null?e.addObjects([new i.Rect(o,{width:n,height:r,fill:a,evented:!1})],t.DOCS_COMPONENT_MAIN_LAYER_INDEX):a==null?s.dispose():(s.setProps({fill:a}),s.transformByState({width:n,height:r})))}resizeCellEditor(e){var t;let n=this._cellEditorManagerService.getState();if(!n||!this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellPosition(!0);let r=this._editorBridgeService.getEditCellState();if(!r)return;let i=(t=this._sheetSkeletonManagerService)==null||(t=t.getSkeletonParam(r.sheetId))==null?void 0:t.skeleton;if(!i)return;let{row:a,column:o,scaleX:s,scaleY:c,position:l,canvasOffset:u,documentLayoutObject:d}=r,{horizontalAlign:f}=d,p=this._getEditorMaxSize(l,u,f);if(!p)return;let{height:m,width:h,scaleAdjust:g}=p,_=i.getCellWithCoordByIndex(a,o),v=Math.min((_.mergeInfo.endY-_.mergeInfo.startY)*c,m)*g,y=Math.min((_.mergeInfo.endX-_.mergeInfo.startX)*s,h)*g,b=n.endY-n.startY,x=n.endX-n.startX;if(b!==v||x!==y){if(this._editorBridgeService.refreshEditCellPosition(!0),!this._getEditorSkeleton())return;this.fitTextSize(e)}}_getEditorObject(){return x(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_getEditorSkeleton(){var e;return(e=this._renderManagerService.getRenderById(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:e.with(s.DocSkeletonManagerService).getSkeleton()}};Mi=H([V(0,r.ILayoutService),V(1,ji),V(2,J),V(3,i.IRenderManagerService),V(4,n.IUniverInstanceService),V(5,n.IConfigService)],Mi);let Ni=class extends n.RxDisposable{constructor(e,t,r,i,a,o,s,c){super(),this._context=e,this._instanceSrv=t,this._commandService=r,this._editorBridgeService=i,this._selectionManagerService=a,this._contextService=o,this._renderManagerService=s,this._sheetSkeletonManagerService=c,R(this,`_d`,void 0),this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e&&e.getUnitId()===this._context.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){let e=new n.DisposableCollection;return this._initSelectionChangeListener(e),this._initEventListener(e),this._commandExecutedListener(e),this._initialKeyboardListener(e),e}_disposeCurrent(){var e;(e=this._d)==null||e.dispose(),this._d=null}_initSelectionChangeListener(e){e.add((0,o.merge)(this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$,this._selectionManagerService.selectionMoveStart$).subscribe(e=>this._updateEditorPosition(e)))}_updateEditorPosition(e){var t;if(this._editorBridgeService.isVisible().visible)return;let n=e==null||(t=e[e.length-1])==null?void 0:t.primary;if(n){var r,i;let{scene:e,engine:t}=this._getSheetObject(),a=this._context.unitId,o=(r=this._context.unit.getActiveSheet())==null?void 0:r.getSheetId();if(!o)return;let s=(i=this._sheetSkeletonManagerService.getSkeletonParam(o))==null?void 0:i.skeleton.getCellWithCoordByIndex(n.actualRow,n.actualColumn),c=s?{actualRow:s.actualRow,actualColumn:s.actualColumn,isMerged:s.isMerged,startRow:s.mergeInfo.startRow,startColumn:s.mergeInfo.startColumn,endRow:s.mergeInfo.endRow,endColumn:s.mergeInfo.endColumn,isMergedMainCell:s.isMergedMainCell}:n;this._commandService.executeCommand($r.id,{scene:e,engine:t,primary:c,unitId:a,sheetId:o})}}refreshEditorPosition(){let e=this._selectionManagerService.getWorkbookSelections(this._context.unitId);if(e){let t=e.getCurrentSelections();t&&this._updateEditorPosition([...t])}}_initEventListener(e){let{spreadsheet:t,spreadsheetColumnHeader:n,spreadsheetLeftTopPlaceholder:r,spreadsheetRowHeader:a}=this._getSheetObject();e.add(t.onDblclick$.subscribeEvent(e=>{e.button!==2&&this._commandService.executeCommand(Y.id,{visible:!0,eventType:i.DeviceInputEventType.Dblclick,unitId:this._context.unitId})})),e.add(t.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(n.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(r.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(a.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1}))}_initialKeyboardListener(e){let r=null,i=i=>{let a=i.with(t.DocSelectionRenderService);a&&(r=(0,n.toDisposable)(a.onInputBefore$.subscribe(e=>{if(!this._isCurrentSheetFocused())return;let t=this._contextService.getContextValue(n.FOCUSING_FX_BAR_EDITOR),r=this._contextService.getContextValue(n.FOCUSING_SHEET),a=i.unitId;this._editorBridgeService.isVisible().visible||a&&r&&!t&&this._showEditorByKeyboard(e)})),e.add(r))},a=this._renderManagerService.getRenderById(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);a?i(a):this.disposeWithMe(this._renderManagerService.created$.pipe((0,o.filter)(e=>e.unitId===n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)).subscribe(e=>{r==null||r.dispose(),i(e)}))}_commandExecutedListener(e){let t=new Set([a.ClearSelectionFormatCommand.id,qr.id]);e.add(this._commandService.onCommandExecuted(e=>{if(t.has(e.id)){if(this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellState()}})),e.add(this._commandService.beforeCommandExecuted((e,t)=>{t!=null&&t.fromCollab||e.id===a.SetWorksheetActiveOperation.id&&this._tryHideEditor()}))}_showEditorByKeyboard(e){let t=e==null?void 0:e.event;e==null||!t.data&&t.inputType!==`InsertParagraph`||this._commandService.syncExecuteCommand(Y.id,{visible:!0,eventType:i.DeviceInputEventType.Keyboard,keycode:t.which,unitId:this._context.unitId})}_tryHideEditor(){this._editorBridgeService.isForceKeepVisible()||this._hideEditor()}_hideEditor(){this._editorBridgeService.isVisible().visible===!0&&this._commandService.syncExecuteCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.PointerDown,unitId:this._context.unitId})}_getSheetObject(){return Ar(this._context.unit,this._context)}_isCurrentSheetFocused(){var e;return((e=this._instanceSrv.getFocusedUnit())==null?void 0:e.getUnitId())===this._context.unitId}};Ni=H([V(1,n.IUniverInstanceService),V(2,n.ICommandService),V(3,J),V(4,(0,n.Inject)(a.SheetsSelectionsService)),V(5,n.IContextService),V(6,i.IRenderManagerService),V(7,(0,n.Inject)(U))],Ni);let Pi=[r.KeyCode.ARROW_DOWN,r.KeyCode.ARROW_UP,r.KeyCode.ARROW_LEFT,r.KeyCode.ARROW_RIGHT],Fi=[r.KeyCode.ENTER,r.KeyCode.TAB,...Pi];function Ii(){let e=[];for(let t of Pi)e.push({id:ii.id,binding:t,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:t,isShift:!1}}),e.push({id:ii.id,binding:t|r.MetaKeys.SHIFT,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:t,isShift:!0}});return e}let Li={id:ri.id,binding:r.KeyCode.F2,description:`shortcut.sheet.start-editing`,group:`4_sheet-edit`,preconditions:C,staticParameters:{visible:!0,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.F2}},Ri={id:Y.id,binding:r.KeyCode.ENTER,description:`shortcut.sheet.toggle-editing`,group:`4_sheet-edit`,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.ENTER}},zi={id:Y.id,binding:r.KeyCode.TAB,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.TAB}},Bi={id:Y.id,binding:r.KeyCode.ESC,description:`shortcut.sheet.abort-editing`,group:`4_sheet-edit`,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.ESC}},Vi={id:Y.id,binding:r.KeyCode.ENTER|r.MetaKeys.CTRL_COMMAND,mac:r.KeyCode.ENTER|r.MetaKeys.MAC_CTRL,preconditions:e=>k(e),staticParameters:{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.ENTER|r.MetaKeys.CTRL_COMMAND}},Hi={id:t.BreakLineCommand.id,description:`shortcut.sheet.break-line`,group:`4_sheet-edit`,preconditions:e=>T(e),binding:r.KeyCode.ENTER|r.MetaKeys.ALT},Ui={id:t.DeleteLeftCommand.id,preconditions:e=>E(e)||D(e),binding:r.KeyCode.BACKSPACE},Wi={id:t.DeleteRightCommand.id,preconditions:e=>E(e)||D(e),binding:r.KeyCode.DELETE},Gi={id:t.DeleteLeftCommand.id,preconditions:e=>E(e)||D(e),binding:r.KeyCode.BACKSPACE|r.MetaKeys.SHIFT},Ki={id:Y.id,description:`shortcut.sheet.delete-and-start-editing`,group:`4_sheet-edit`,preconditions:e=>C(e)&&!D(e),binding:r.KeyCode.BACKSPACE,staticParameters:{visible:!0,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.BACKSPACE}};function qi(e){return e.startsWith(`'`)}function Ji(e){return e.slice(1)}let Yi={"0":`0`,"1":`1`,"2":`2`,"3":`3`,"4":`4`,"5":`5`,"6":`6`,"7":`7`,"8":`8`,"9":`9`,A:`A`,B:`B`,C:`C`,D:`D`,E:`E`,F:`F`,G:`G`,H:`H`,I:`I`,J:`J`,K:`K`,L:`L`,M:`M`,N:`N`,O:`O`,P:`P`,Q:`Q`,R:`R`,S:`S`,T:`T`,U:`U`,V:`V`,W:`W`,X:`X`,Y:`Y`,Z:`Z`,a:`a`,b:`b`,c:`c`,d:`d`,e:`e`,f:`f`,g:`g`,h:`h`,i:`i`,j:`j`,k:`k`,l:`l`,m:`m`,n:`n`,o:`o`,p:`p`,q:`q`,r:`r`,s:`s`,t:`t`,u:`u`,v:`v`,w:`w`,x:`x`,y:`y`,z:`z`,"%":`%`,"-":`-`,".":`.`,":":`:`,"/":`/`,"+":`+`,"@":`@`,"&":`&`,"*":`*`,"#":`#`,"=":`=`,">":`>`,"<":`<`,"$":`$`,""":`"`,"'":`'`,"(":`(`,")":`)`," ":` `,",":`,`,"!":`!`,"?":`?`,";":`;`,"[":`[`,"]":`]`,"{":`{`,"}":`}`},Xi={true:`TRUE`,false:`FALSE`};function Zi(e){return[n.LocaleType.ZH_CN,n.LocaleType.ZH_TW].includes(e)}function Qi(e,t,r,i){let a=e;if(Zi(r)){if(e.startsWith(`'`)||e.startsWith(`'`))return`'${e.slice(1)}`;a=$i(a)}if(a.startsWith(`=`))return ea(e,a,t,i);let o=a.toLowerCase();return Xi[o]?Xi[o]:(0,n.getNumfmtParseValueFilter)(a)==null?e:a}function $i(e){let t=/['"].*?['"]/g,n=[],r=e.split(t);e.replace(t,e=>(n.push(e),``));let i=r.join(``).split(``).map(ra).join(``);return n.forEach((e,t)=>{i=i.slice(0,t*2)+e+i.slice((t+1)*2)}),i}function ea(e,t,r,i){let a=r.sequenceNodesBuilder(t);if(!a)return e;let o=t,s=0;return a.forEach((t,r)=>{if(typeof t==`object`){let c=t.token;if(Xi[c.toLowerCase()]){let e=t.startIndex+s+1,n=t.endIndex+s+2;o=ia(c.toLocaleUpperCase(),o,e,n)}else if(t.nodeType===l.sequenceNodeType.FUNCTION&&ta(c,i,a,r)||t.nodeType===l.sequenceNodeType.REFERENCE){let e=c.indexOf(`!`);if(e>-1){let n=c.substring(e+1),r=t.startIndex+s+(e+1)+1,i=t.endIndex+s+2;o=ia(n.toLocaleUpperCase(),o,r,i)}else{let e=t.startIndex+s+1,n=t.endIndex+s+2;o=ia(c.toLocaleUpperCase(),o,e,n)}}else if(c.startsWith(`"`)&&c.endsWith(`"`)||c.startsWith(`'`)&&c.endsWith(`'`)){let n=t.startIndex+s+2,r=t.endIndex+s+1;o=ia(e.slice(n,r),o,n,r)}else if(t.nodeType!==l.sequenceNodeType.ARRAY){let r=(0,n.getNumfmtParseValueFilter)(c);if(r==null){let n=t.startIndex+s+1,r=t.endIndex+s+2;o=ia(e.slice(n,r),o,n,r)}else if(typeof r.v==`number`&&(r.z===void 0||!n.numfmt.getFormatInfo(r.z).isDate)){let e=`${r.v}`,n=t.startIndex+s+1,i=t.endIndex+s+2,{processedString:a,offset:l}=aa(c,e);o=ia(a,o,n,i),s+=l}}}}),o}function ta(e,t,n,r){let i=t.getDescriptions();return n[r+1]===l.matchToken.OPEN_BRACKET?i.get(na(e).toLocaleUpperCase())!==void 0:!1}function na(e){return e.replace(/^@+/,``)}function ra(e){return Yi[e]||e}function ia(e,t,n,r){return t.substring(0,n)+e+t.substring(r)}function aa(e,t){var n,r;let i=((n=e.match(/^\s*/))==null?void 0:n[0])||``,a=((r=e.match(/\s*$/))==null?void 0:r[0])||``,o=i+t+a;return{processedString:o,offset:o.length-e.length}}let oa=`range_selector`,sa=e=>e.includes(oa),ca=-1e3;var la=function(e){return e[e.InitialState=0]=`InitialState`,e[e.StartEditor=1]=`StartEditor`,e[e.CursorChange=2]=`CursorChange`,e}(la||{});let ua=class extends n.Disposable{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){super(),this._undoRedoService=e,this._contextService=t,this._renderManagerService=n,this._editorBridgeService=r,this._cellEditorManagerService=i,this._lexerTreeBuilder=a,this._functionService=o,this._textSelectionManagerService=s,this._commandService=c,this._localService=l,this._editorService=u,this._univerInstanceService=d,this._sheetInterceptorService=f,this._sheetCellEditorResizeService=p,this._selectionManagerService=m,this._configService=h,R(this,`_cursorChange`,la.InitialState),R(this,`_editingUnit`,``),R(this,`_cursorTimeout`,void 0),this.disposeWithMe(this._init()),this._initEditorVisibilityListener()}dispose(){super.dispose()}get _workbookSelections(){return this._selectionManagerService.getWorkbookSelections(this._editingUnit)}_init(){let e=new n.DisposableCollection;return this._subscribeToCurrentCell(e),this._initialCursorSync(e),this._listenEditorFocus(e),this._commandExecutedListener(e),this._initSkeletonListener(e),e.add(()=>{clearTimeout(this._cursorTimeout)}),this._cursorTimeout=setTimeout(()=>{this._cursorStateListener(e)},1e3),e}_initEditorVisibilityListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(async e=>{if(this._editingUnit&&!this._editorBridgeService.isForceKeepVisible()&&(!e||e.getUnitId()!==this._editingUnit)){var t;if(this._commandService.syncExecuteCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.ESC,unitId:this._editingUnit}),!e)return;let n=(t=this._renderManagerService.getRenderById(e.getUnitId()))==null?void 0:t.with(Ni);n&&n.refreshEditorPosition()}})),this.disposeWithMe(this._editorBridgeService.visible$.pipe((0,o.distinctUntilChanged)((e,t)=>e.visible===t.visible)).subscribe(async e=>{e.visible?(this._editingUnit=e.unitId,this._handleEditorVisible(e)):this._editingUnit&&(await this._handleEditorInvisible(e),this._editingUnit=``)}))}_listenEditorFocus(e){let t=this._getEditorObject();t&&e.add(t.document.onPointerDown$.subscribeEvent(()=>{if(this._editingUnit&&this._editorBridgeService.isVisible()){var e;let t=this._editorBridgeService.getEditCellState(),n=this._editorBridgeService.getCurrentEditorId();if(!t||!n)return;(e=this._sheetCellEditorResizeService)==null||e.fitTextSize()}}))}_initialCursorSync(e){e.add(this._cellEditorManagerService.focus$.pipe((0,o.filter)(e=>!!e)).subscribe(()=>{var e;let r=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_DOC);if(!r)return;let i=(e=this._renderManagerService.getRenderById(r==null?void 0:r.getUnitId()))==null?void 0:e.with(t.DocSelectionRenderService);i&&i.sync()}))}_initSkeletonListener(e){let t=new Set(a.COMMAND_LISTENER_SKELETON_CHANGE);t.delete(a.SetWorksheetActiveOperation.id),e.add(this._commandService.onCommandExecuted(e=>{var r;if(t.has(e.id)){switch(e.id){case a.MoveRowsMutation.id:case a.MoveColsMutation.id:case a.RemoveColMutation.id:case a.RemoveRowMutation.id:case a.InsertColMutation.id:case a.InsertRowMutation.id:{let t=this._editorBridgeService.getEditLocation();if(!t)break;let n=(0,a.adjustRangeOnMutation)({startRow:t.row,startColumn:t.column,endRow:t.row,endColumn:t.column},e);if(!n)break;let r=n.startRow,i=n.startColumn;this._editorBridgeService.updateEditLocation(r,i);break}}(r=this._sheetCellEditorResizeService)==null||r.resizeCellEditor(()=>{this._textSelectionManagerService.refreshSelection({unitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})})}}))}_subscribeToCurrentCell(e){e.add(this._editorBridgeService.currentEditCellState$.subscribe(e=>{var r,a,o;if((r=this._configService.getConfig(`sheets-ui.config`))!=null&&r.disableEdit||e==null||this._editorBridgeService.isForceKeepVisible())return;let s=this._editorBridgeService.getEditCellState();if(s==null)return;let{position:c,documentLayoutObject:l,scaleX:u,editorUnitId:d}=s;if(this._contextService.getContextValue(n.FOCUSING_EDITOR_STANDALONE))return;let f=this._getDocumentDataModel();if(f==null)return;let{startX:p,endX:m}=c,{textRotation:h,wrapStrategy:g,documentModel:_}=l,{vertexAngle:v}=(0,i.convertTextRotation)(h);g===n.WrapStrategy.WRAP&&v===0&&f.updateDocumentDataPageSize((m-p)/u),this._commandService.syncExecuteCommand(t.ReplaceSnapshotCommand.id,{unitId:d,snapshot:_.getSnapshot()}),this._contextService.setContextValue(n.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});let y=(a=this._renderManagerService.getRenderById(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:a.with(t.DocSelectionRenderService),b=(o=this._renderManagerService.getRenderById(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:o.with(t.DocSelectionRenderService);(y!=null&&y.canFocusing||b!=null&&b.canFocusing)&&(this._univerInstanceService.setCurrentUnitForType(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),y==null||y.activate(ca,ca,!0))}))}_commandExecutedListener(e){e.add(this._commandService.onCommandExecuted(e=>{if(e.id===s.RichTextEditingMutation.id){let{unitId:r}=e.params;if(sa(r)||(this._editorBridgeService.changeEditorDirty(!0),!this._editorBridgeService.isVisible().visible))return;if(r===n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){var t;(t=this._sheetCellEditorResizeService)==null||t.fitTextSize()}}}));let t=[ii.id];e.add(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){let t=e.params,{keycode:r,isShift:i}=t;if(r!=null&&(this._cursorChange===la.CursorChange||this._contextService.getContextValue(n.FOCUSING_FX_BAR_EDITOR))){this._moveInEditor(r,i);return}this._commandService.syncExecuteCommand(Y.id,t)}e.id===ri.id&&(this._cursorChange=la.CursorChange)}))}_handleEditorVisible(e){var a,o;let{eventType:s,keycode:c}=e;this._cursorChange=s===i.DeviceInputEventType.PointerDown||s===i.DeviceInputEventType.Dblclick?la.CursorChange:la.StartEditor;let l=this._editorBridgeService.getEditLocation();if(l==null)return;this._commandService.syncExecuteCommand(oi.id,{range:{startRow:l.row,startColumn:l.column,endRow:l.row,endColumn:l.column}}),this._editorBridgeService.refreshEditCellPosition(!1);let{unitId:u,isInArrayFormulaRange:d=!1}=l,f=this._getEditorObject();if(f==null)return;let{document:p,scene:m}=f;this._contextService.setContextValue(n.EDITOR_ACTIVATED,!0);let h=this._getDocumentDataModel(),g=this._getEditorSkeleton(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!g||!h)return;(a=this._sheetCellEditorResizeService)==null||a.fitTextSize(()=>{let e=m.getViewport(t.VIEWPORT_KEY.VIEW_MAIN);e==null||e.scrollToViewportPos({viewportScrollX:1/0,viewportScrollY:1/0})});let _=()=>{this._emptyDocumentDataModel(h.getSnapshot().documentStyle,!!d),p.makeDirty(),(c===r.KeyCode.BACKSPACE||s===i.DeviceInputEventType.Dblclick)&&(g.calculate(),this._editorBridgeService.changeEditorDirty(!0)),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})};if(this._isCellImageData(h.getSnapshot()))_();else if(s===i.DeviceInputEventType.Keyboard&&c===r.KeyCode.F2){var v,y;p.makeDirty(),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}]);let e=((v=(y=h.getBody())==null?void 0:y.dataStream.length)==null?2:v)-2;this._textSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY})}else if(s===i.DeviceInputEventType.Keyboard||s===i.DeviceInputEventType.Dblclick&&d)_();else if(s===i.DeviceInputEventType.Dblclick){if(this._contextService.getContextValue(n.FOCUSING_EDITOR_INPUT_FORMULA))return;let e=h.getBody().dataStream.length-2||0;this._textSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}])}(o=this._renderManagerService.getRenderById(u))==null||o.scene.resetCursor()}_refreshCurrentSelections(e){let t=this._workbookSelections.getSelectionsOfWorksheet(e);t&&(this._contextService.setContextValue(a.REF_SELECTIONS_ENABLED,!1),this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,{unitId:this._editingUnit,subUnitId:e,selections:t}))}async _handleEditorInvisible(e){var t,i;let o=this._editorBridgeService.getEditCellState(),s=this._univerInstanceService.getUnit(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),c=n.Tools.deepClone(s==null?void 0:s.getSnapshot()),{keycode:l}=e;this._cursorChange=la.InitialState;let u=(t=o==null?void 0:o.unitId)==null?``:t;if(this._exitInput(e),o==null)return;let d=this._univerInstanceService.getUnit(u,n.UniverInstanceType.UNIVER_SHEET);if(!d)return;let f=d.getActiveSheet(),p=d.getUnitId(),m=f.getSheetId(),{unitId:h,sheetId:g}=o;if(p===h&&g!==m&&await this._commandService.executeCommand(a.SetWorksheetActivateCommand.id,{subUnitId:g,unitId:h}),l===r.KeyCode.ESC){this._editorBridgeService.isForceKeepVisible()&&this._editorBridgeService.disableForceKeepVisible(),this._refreshCurrentSelections(g);return}let _=(c==null||(i=c.body)==null?void 0:i.dataStream.length)===2,v=o.documentLayoutObject.documentModel?this._isCellImageData(o.documentLayoutObject.documentModel.getSnapshot()):!1;c&&!(_&&v)&&await this._submitEdit(c,l===(r.MetaKeys.CTRL_COMMAND|r.KeyCode.ENTER)||l===(r.MetaKeys.MAC_CTRL|r.KeyCode.ENTER))===!1||l!==void 0&&this._moveSelection(l,u,m)}_getEditorObject(){return x(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_isCellImageData(e){var t,n;return((t=(n=e.drawingsOrder)==null?void 0:n.length)==null?0:t)>0}submitCellData(e){return this._submitEdit(e.getSnapshot())}async _submitEdit(e,t=!1){var r;let i=this._editorBridgeService.getEditCellState();if(i==null)return!0;let{unitId:o,sheetId:s,row:c,column:l}=i,u=this._univerInstanceService.getUnit(o,n.UniverInstanceType.UNIVER_SHEET);if(!u)return!0;let d=u.getActiveSheet();if(!u.getSheetBySheetId(s))return!0;d=u.getActiveSheet();let f=da({...d.getCellRaw(c,l)||{}},e,this._lexerTreeBuilder,this._localService,this._functionService,u.getStyles());if(!f)return!0;this._removeComposedCellStyleInCellData(f,d.getComposedCellStyleWithoutSelf(c,l));let p=this._sheetInterceptorService.onWriteCell(u,d,c,l,f),m=ha(p);m!=null&&m.s&&(m.s=u.getStyles().get(m.s));let h=ha(d.getCellRaw(c,l));if(h!=null&&h.s&&(h.s=u.getStyles().get(h.s)),n.Tools.diffValue(m,h))return!0;let g=t?(r=this._workbookSelections.getCurrentLastSelection())==null?void 0:r.range:{startRow:c,startColumn:l,endRow:c,endColumn:l},_=(0,n.generateRandomId)(6);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{subUnitId:s,unitId:o,range:g,value:p,redoUndoId:_})&&await this._sheetInterceptorService.onValidateCell(u,d,c,l)===!1?(this._undoRedoService.rollback(_,o),!1):!0}_removeComposedCellStyleInCellData(e,t){if(!e.s||typeof e.s==`string`)return;let r=Object.keys(e.s);for(let i of r)t[i]!==void 0&&n.Tools.diffValue(e.s[i],t[i])&&delete e.s[i]}_exitInput(e){var r;this._contextService.setContextValue(n.FOCUSING_EDITOR_INPUT_FORMULA,!1),this._contextService.setContextValue(n.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(n.FOCUSING_EDITOR_BUT_HIDDEN,!1),this._contextService.setContextValue(n.FOCUSING_FX_BAR_EDITOR,!1),this._cellEditorManagerService.setState({show:e.visible});let i=this._getEditorObject();i==null||(r=i.scene.getViewport(t.VIEWPORT_KEY.VIEW_MAIN))==null||r.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});let a=this._editorBridgeService.getCurrentEditorId();if(!(a==null||!this._editorService.isSheetEditor(a))){if(a===n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){var o;(o=this._getEditorSkeleton(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null||o.resetInitialWidth()}this._undoRedoService.clearUndoRedo(a),this._undoRedoService.clearUndoRedo(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)}}_moveSelection(e,t,i){if(e==null||!Fi.includes(e)){this._refreshCurrentSelections(i);return}let a=n.Direction.LEFT;switch(e){case r.KeyCode.ENTER:a=n.Direction.DOWN;break;case r.KeyCode.TAB:a=n.Direction.RIGHT;break;case r.KeyCode.ARROW_DOWN:a=n.Direction.DOWN;break;case r.KeyCode.ARROW_UP:a=n.Direction.UP;break;case r.KeyCode.ARROW_LEFT:a=n.Direction.LEFT;break;case r.KeyCode.ARROW_RIGHT:a=n.Direction.RIGHT;break}let o=this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET);t&&(o==null?void 0:o.getUnitId())!==t&&this._univerInstanceService.setCurrentUnitForType(t),e===r.KeyCode.ENTER||e===r.KeyCode.TAB?this._commandService.executeCommand(Er.id,{keycode:e,direction:a}):this._commandService.executeCommand(Tr.id,{direction:a})}_cursorStateListener(e){let t=this._getEditorObject();if(!(t!=null&&t.document))return;let{document:r}=t;e.add((0,n.toDisposable)(r.onPointerDown$.subscribeEvent(()=>{this._cursorChange===la.StartEditor&&(this._cursorChange=la.CursorChange)})))}_moveInEditor(e,i){let a=n.Direction.LEFT;e===r.KeyCode.ARROW_DOWN?a=n.Direction.DOWN:e===r.KeyCode.ARROW_UP?a=n.Direction.UP:e===r.KeyCode.ARROW_RIGHT&&(a=n.Direction.RIGHT),i?this._commandService.executeCommand(t.MoveSelectionOperation.id,{direction:a}):this._commandService.executeCommand(t.MoveCursorOperation.id,{direction:a})}_getDocumentDataModel(){return this._univerInstanceService.getUnit(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.UniverInstanceType.UNIVER_DOC)}_getEditorSkeleton(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(s.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(s.DocSkeletonManagerService).getViewModel()}_getEditingUnit(){return this._editingUnit?this._univerInstanceService.getUnit(this._editingUnit,n.UniverInstanceType.UNIVER_SHEET):null}_emptyDocumentDataModel(e,t){let r=(r,i)=>{let a=n.Tools.deepClone(r.getSnapshot()),o=this._getEditorViewModel(r.getUnitId());o!=null&&(ma(a.body,t),i&&(a.documentStyle=e),a.drawings={},a.drawingsOrder=[],r.reset(a),o.reset(r))},i=this._getDocumentDataModel();i&&r(i,!0);let a=this._univerInstanceService.getUnit(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,n.UniverInstanceType.UNIVER_DOC);a&&r(a)}};ua=H([V(0,n.IUndoRedoService),V(1,n.IContextService),V(2,i.IRenderManagerService),V(3,J),V(4,ji),V(5,(0,n.Inject)(l.LexerTreeBuilder)),V(6,l.IFunctionService),V(7,(0,n.Inject)(s.DocSelectionManagerService)),V(8,n.ICommandService),V(9,(0,n.Inject)(n.LocaleService)),V(10,t.IEditorService),V(11,n.IUniverInstanceService),V(12,(0,n.Inject)(a.SheetInterceptorService)),V(13,(0,n.Inject)(Mi)),V(14,(0,n.Inject)(a.SheetsSelectionsService)),V(15,n.IConfigService)],ua);function da(e,t,r,i,a,o){var s,c;if((t==null?void 0:t.body)==null)return null;let{body:u}=t;e.t=void 0;let d=u.dataStream,f=d.substring(d.length-2,d.length)===n.DEFAULT_EMPTY_DOCUMENT_VALUE?d.substring(0,d.length-2):d,p=i.getCurrentLocale();if(f=Qi(f,r,p,a),(s=t.drawingsOrder)!=null&&s.length)e.v=``,e.f=null,e.si=null,e.p=t,e.t=n.CellValueType.STRING;else if(e.s&&(0,n.isTextFormat)(o==null||(c=o.get(e.s))==null||(c=c.n)==null?void 0:c.pattern)){e.v=f,e.f=null,e.si=null,e.p=null,e.t=n.CellValueType.STRING,fa(u)&&u.dataStream!==`\r
6
+ `&&(e.p=t);let r=pa(t);r&&(e.s=r)}else if((0,n.isFormulaString)(f)){if(e.f===f)return null;let t=r.checkIfAddBracket(f);for(let e=0;e<t;e++)f+=l.matchToken.CLOSE_BRACKET;e.f=f,e.si=null,e.v=null,e.p=null}else if(qi(f))e.v=Ji(f),e.f=null,e.si=null,e.p=null,e.t=n.CellValueType.FORCE_STRING;else if(fa(u))u.dataStream===`\r
7
+ `?(e.v=``,e.f=null,e.si=null,e.p=null):(e.p=t,e.v=null,e.f=null,e.si=null);else{if(f===``&&e.v==null&&e.p==null)return null;e.v=f,e.f=null,e.si=null,e.p=null;let n=pa(t);n&&(e.s=n)}return e}function fa(e){let{textRuns:t=[],paragraphs:n=[],customRanges:r,customBlocks:i=[]}=e,a=e.dataStream.replace(/(\r\n)+$/,``),o=[`va`];return t.filter(e=>e.st<a.length).some(e=>{var t;return!!(e.ts&&Object.keys(e.ts).some(e=>o.includes(e)))||Object.keys((t=e.ts)==null?{}:t).length&&e.ed-e.st<a.length})||n.some(e=>e.bullet)||n.length>=2||!!(r!=null&&r.length)||i.length>0}function pa(e){let{body:t}=e;if(!t)return null;let{textRuns:n=[]}=t,r={},i=t.dataStream.replace(`\r
8
+ `,``);return n.forEach(e=>{let{st:t,ed:n,ts:a}=e;n-t>=i.length&&(r={...r,...a})}),Object.keys(r).length?r:null}function ma(e,t=!1){e.dataStream=n.DEFAULT_EMPTY_DOCUMENT_VALUE,e.textRuns!=null&&(e.textRuns.length===1&&!t?(e.textRuns[0].st=0,e.textRuns[0].ed=1):e.textRuns=void 0),e.paragraphs!=null&&(e.paragraphs=[{startIndex:0}]),e.sectionBreaks!=null&&(e.sectionBreaks=void 0),e.tables!=null&&(e.tables=void 0),e.customRanges!=null&&(e.customRanges=void 0),e.customBlocks!=null&&(e.customBlocks=void 0)}function ha(e){return e&&Object.fromEntries(Object.entries(e).filter(([e,t])=>!(t==null||Array.isArray(t)&&t.length===0||typeof t==`object`&&Object.keys(t).length===0)))}var ga=class{constructor(){R(this,`_position`,null),R(this,`_position$`,new o.BehaviorSubject(null)),R(this,`position$`,this._position$.asObservable()),R(this,`_focus`,!1),R(this,`_focus$`,new o.BehaviorSubject(this._focus)),R(this,`focus$`,this._focus$.asObservable()),R(this,`_fxBtnClick$`,new o.Subject),R(this,`fxBtnClick$`,this._fxBtnClick$.asObservable()),R(this,`_foldBtnStatus$`,new o.Subject),R(this,`foldBtnStatus$`,this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}setFocus(e=!1){this._focus=e,this._focus$.next(e)}handleFxBtnClick(e){this._fxBtnClick$.next(e)}handleFoldBtnClick(e){this._foldBtnStatus$.next(e)}_refresh(e){this._position$.next(e)}};let _a=(0,n.createIdentifier)(`univer.sheet-formula-editor-manager.service`),va=class extends n.RxDisposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._contextService=i,this._formulaEditorManagerService=a,this._undoRedoService=o,this._textSelectionManagerService=s,this._editorService=c,R(this,`_loadedMap`,new WeakSet),R(this,`_scheduledCallback`,-1),this._initialize()}_initialize(){this._syncEditorSize(),this._listenFxBtnClick(),this._handleContentChange(),this._univerInstanceService.focused$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this.disposeWithMe(this._editorService.focus$.subscribe(()=>{var e;((e=this._editorService.getFocusEditor())==null?void 0:e.getEditorId())===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?this._contextService.setContextValue(n.FOCUSING_FX_BAR_EDITOR,!0):this._contextService.setContextValue(n.FOCUSING_FX_BAR_EDITOR,!1)}))}_handleContentChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===s.RichTextEditingMutation.id){let{unitId:t}=e.params;t===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&this.autoScroll()}}))}_create(e){if(e!==n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;let t=this._renderManagerService.getRenderById(e);if(t==null)return;let{mainComponent:r}=t;r!=null&&(this._loadedMap.has(r)||this._loadedMap.add(r))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(()=>{if(this._contextService.getContextValue(n.FOCUSING_EDITOR_BUT_HIDDEN)&&!this._contextService.getContextValue(n.EDITOR_ACTIVATED)){var e;this._univerInstanceService.setCurrentUnitForType(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);let r=this._univerInstanceService.getUniverDocInstance(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);this._editorBridgeService.isVisible().visible===!1&&this._commandService.syncExecuteCommand(Y.id,{visible:!0,eventType:i.DeviceInputEventType.PointerDown,unitId:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY});let a=r==null||(e=r.getBody())==null?void 0:e.dataStream;if(a==null)return;let o=a.startsWith(`=`)?a:`=${a}`;o=o.replace(/\r\n$/,``);let s=[{startOffset:o.length,endOffset:o.length}],c={unitId:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:o},segmentId:``,textRanges:s};this._commandService.syncExecuteCommand(t.CoverContentCommand.id,c),requestAnimationFrame(()=>{this._textSelectionManagerService.replaceDocRanges([],{unitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY}),this._textSelectionManagerService.replaceDocRanges(s,{unitId:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,subUnitId:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY}),this._contextService.setContextValue(n.FOCUSING_FX_BAR_EDITOR,!0)})}})}_syncEditorSize(){let e=this._univerInstanceService.unitAdded$.pipe((0,o.filter)(e=>e.getUnitId()===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY));this.disposeWithMe((0,o.combineLatest)([this._formulaEditorManagerService.position$,e]).subscribe(([e])=>{if(!e)return this._clearScheduledCallback();let t=x(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,this._renderManagerService),r=this._univerInstanceService.getUniverDocInstance(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(t==null||r==null)return this._clearScheduledCallback();let{width:i,height:a}=e;if(i===0||a===0)return this._clearScheduledCallback();let{engine:o}=t;r.updateDocumentDataPageSize(i),this.autoScroll(),this._scheduledCallback=requestIdleCallback(()=>o.resizeBySize(i,a))}))}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}autoScroll(){var e;let r=this._formulaEditorManagerService.getPosition(),a=(e=this._renderManagerService.getRenderById(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:e.with(s.DocSkeletonManagerService).getSkeleton(),o=this._renderManagerService.getRenderById(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),c=this._univerInstanceService.getUniverDocInstance(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(a==null||r==null||o==null||c==null)return;let{marginTop:l=0,marginBottom:u=0}=c.getSnapshot().documentStyle,{scene:d,mainComponent:f}=o,{actualHeight:p}=a.getActualSize();p+=l+u;let{width:m,height:h}=r,g=d.getViewport(t.VIEWPORT_KEY.VIEW_MAIN),_=g==null?void 0:g.getScrollBar();if(d.transformByState({width:m,height:p}),f==null||f.resize(m,p),p>h)_==null?g&&new i.ScrollBar(g,{enableHorizontal:!1,barSize:8}):g==null||g.resetCanvasSizeAndUpdateScroll();else{var v;_=null,g==null||g.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0}),g==null||(v=g.getScrollBar())==null||v.dispose()}}};va=H([V(0,n.IUniverInstanceService),V(1,i.IRenderManagerService),V(2,J),V(3,n.ICommandService),V(4,n.IContextService),V(5,_a),V(6,n.IUndoRedoService),V(7,(0,n.Inject)(s.DocSelectionManagerService)),V(8,t.IEditorService)],va);let ya=`embedding_formula_editor`,ba=e=>e.includes(ya),xa=(e,n)=>{let r=n.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,-1),i=n.getSkeletonData(),a=e.endOffset;if(e.segmentId){var o,s,c,l,u;let t=(o=Array.from((s=i==null||(c=i.skeFooters.get(e.segmentId))==null?void 0:c.values())==null?[]:s)[0])==null?Array.from((l=i==null||(u=i.skeHeaders.get(e.segmentId))==null?void 0:u.values())==null?[]:l)[0]:o;t&&(a=Math.min(t.ed,a))}let d=n.findNodePositionByCharIndex(a,!0,e.segmentId,-1);if(!d||!r)return;let{borderBoxPointGroup:f}=new t.NodePositionConvertToCursor({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},n).getRangePointData(r,d);return(0,t.getLineBounding)(f).map(e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right}))},Sa=(e,n,r=-1)=>{let i=n.findPositionByGlyph(e,r);if(!i)return;let a={...i,isBack:!0},{borderBoxPointGroup:o}=new t.NodePositionConvertToCursor({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},n).getRangePointData(a,a),s=(0,t.getLineBounding)(o)[0];return{top:s.top,bottom:s.bottom,left:s.left,right:s.right}},Ca=(e,t,n=0,r=0)=>{let i=xa({startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},e);if(i)return{rects:i.map(e=>({top:e.top+r,bottom:e.bottom+r,left:e.left+n,right:e.right+n})),range:t}},wa=(e,t,n=0,r=0)=>{var i;let a=e.findNodeByCharIndex(t.startIndex),o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent,l=c==null?void 0:c.lines.find(e=>e.paragraphStart&&e.paragraphIndex===t.startIndex),u=l==null||(i=l.divides)==null||(i=i[0])==null||(i=i.glyphGroup)==null?void 0:i[0];if(!u||!u)return;let d=Sa(u,e);if(d)return{rect:{top:d.top+r,bottom:d.bottom+r,left:d.left+n,right:d.right+n},segmentId:void 0,segmentPageIndex:-1,paragraph:t}},Ta=(e,t=0,r=0)=>{var i,a,o,s,c;let l=e.getViewModel().getDataModel(),u=(i=(a=l.getBody())==null||(a=a.customRanges)==null?void 0:a.filter(e=>e.rangeType===n.CustomRangeType.HYPERLINK))==null?[]:i,d=(o=(s=l.getBody())==null||(s=s.paragraphs)==null?void 0:s.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listType.indexOf(n.PresetListType.CHECK_LIST))===0}))==null?[]:o,f=(c=e.getSkeletonData())==null?void 0:c.pages[0].skeDrawings;return{links:u.map(n=>Ca(e,n,t,r)).filter(Boolean),checkLists:d.map(n=>wa(e,n,t,r)).filter(Boolean),drawings:f?Array.from(f.keys()).map(e=>({drawingId:e,rect:{top:f.get(e).aTop,bottom:f.get(e).aTop+f.get(e).width,left:f.get(e).aLeft,right:f.get(e).aLeft+f.get(e).height},drawing:f.get(e)})):[]}};function Ea(e,t,r){var i,a,o,s;let c=(i=(a=t.documentSkeleton)==null||(a=a.getSkeletonData())==null?void 0:a.pages[0].height)==null?0:i,l=(o=(s=t.documentSkeleton)==null||(s=s.getSkeletonData())==null?void 0:s.pages[0].width)==null?0:o,u=t.verticalAlign,d=t.horizontalAlign,f=0;switch(u){case n.VerticalAlign.UNSPECIFIED:case n.VerticalAlign.BOTTOM:f=e.mergeInfo.endY-e.mergeInfo.startY-c;break;case n.VerticalAlign.MIDDLE:f=(e.mergeInfo.endY-e.mergeInfo.startY-c)/2;break;default:break}let p=0;switch(d){case n.HorizontalAlign.RIGHT:p=e.mergeInfo.endX-e.mergeInfo.startX-l;break;case n.HorizontalAlign.CENTER:p=(e.mergeInfo.endX-e.mergeInfo.startX-l)/2;break;case n.HorizontalAlign.UNSPECIFIED:r&&(p=e.mergeInfo.endX-e.mergeInfo.startX-l);break;default:break}return{paddingLeft:p,paddingTop:f}}let Da=(e,r,a,o,s,c)=>{var l,u;let d=e.get(n.IUniverInstanceService),f=e.get(i.IRenderManagerService),p=d.getUnit(r,n.UniverInstanceType.UNIVER_SHEET);if(!p)return null;let m=p.getSheetBySheetId(a);if(!m)return null;let h=f.getRenderById(p.getUnitId()),g=h==null?void 0:h.with(U).getSkeletonParam(m.getSheetId()),_=g==null?void 0:g.skeleton;if(!_||!h)return;let v=_.getFont(o,s),y=v==null?void 0:v.documentSkeleton;if(!y)return null;let b=(l=y.getViewModel().getBody())==null||(l=l.customRanges)==null?void 0:l.find(e=>e.rangeId===c);if(!b)return null;let x=t.DOC_VERTICAL_PADDING,{actualColumn:S,actualRow:C}=_.getCellWithCoordByIndex(o,s);_.overflowCache.forValue((e,t,n)=>{n.startRow<=C&&n.endRow>=C&&n.startColumn<=S&&n.endColumn>=S&&(S=t,C=e)});let w=_.getCellWithCoordByIndex(C,S),T=m.getCell(w.actualRow,w.actualColumn),{topOffset:E=0,leftOffset:D=0}=(u=T==null?void 0:T.fontRenderExtension)==null?{}:u,{paddingLeft:O,paddingTop:k}=Ea(w,v,!1),A=xa({startOffset:b.startIndex,endOffset:b.endIndex,collapsed:!1},y);return{rects:A==null?void 0:A.map(e=>({top:e.top+w.mergeInfo.startY+k+E+x,bottom:e.bottom+w.mergeInfo.startY+k+E+x,left:e.left+w.mergeInfo.startX+O+D,right:e.right+w.mergeInfo.startX+O+D})),customRange:b,label:y.getViewModel().getBody().dataStream.slice(b.startIndex,b.endIndex+1)}},Oa=(e,t,n,r,a,o)=>{var c,l;let u=e.get(J),d=u.getEditCellState();if(!d||!u.isVisible().visible)return null;let{editorUnitId:f,unitId:p,sheetId:m,row:h,column:g}=d;if(t!==p||n!==m||h!==r||g!==a)return null;let _=e.get(i.IRenderManagerService),v=_.getRenderById(f),y=_.getRenderById(t);if(!v||!y)return null;let b=v.with(s.DocSkeletonManagerService).getSkeleton(),x=(c=y.with(U).getSkeletonParam(m))==null?void 0:c.skeleton;if(!b||!x)return null;let S=(l=b.getViewModel().getBody())==null||(l=l.customRanges)==null?void 0:l.find(e=>e.rangeId===o);if(!S)return null;let C=xa({startOffset:S.startIndex,endOffset:S.endIndex,collapsed:!1},b),w=v.engine.getCanvasElement().getBoundingClientRect();return{rects:C==null?void 0:C.map(e=>({top:e.top+w.top-4,bottom:e.bottom+w.top+4,left:e.left+w.left,right:e.right+w.left})),customRange:S,label:b.getViewModel().getBody().dataStream.slice(S.startIndex,S.endIndex+1)}};function ka(e){let{workbook:t,worksheet:n,...r}=e;return r}let Aa=class extends n.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,R(this,`_currentCell$`,new o.BehaviorSubject(null)),R(this,`_currentRichText$`,new o.BehaviorSubject(null)),R(this,`_currentClickedCell$`,new o.Subject),R(this,`_currentDbClickedCell$`,new o.Subject),R(this,`_currentCellWithEvent$`,new o.Subject),R(this,`_currentPointerDownCell$`,new o.Subject),R(this,`_currentPointerUpCell$`,new o.Subject),R(this,`_currentHoveredRowHeader$`,new o.BehaviorSubject(null)),R(this,`_currentHoveredColHeader$`,new o.BehaviorSubject(null)),R(this,`_currentRowHeaderClick$`,new o.Subject),R(this,`_currentColHeaderClick$`,new o.Subject),R(this,`_currentRowHeaderDbClick$`,new o.Subject),R(this,`_currentColHeaderDbClick$`,new o.Subject),R(this,`_currentRowHeaderPointerDown$`,new o.Subject),R(this,`_currentColHeaderPointerDown$`,new o.Subject),R(this,`_currentRowHeaderPointerUp$`,new o.Subject),R(this,`_currentColHeaderPointerUp$`,new o.Subject),R(this,`currentCell$`,this._currentCell$.asObservable().pipe((0,o.distinctUntilChanged)((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),R(this,`currentRichTextNoDistinct$`,this._currentRichText$.pipe((0,o.map)(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),R(this,`currentRichText$`,this._currentRichText$.pipe((0,o.distinctUntilChanged)((e,t)=>{var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)&&(e==null||(u=e.customRange)==null?void 0:u.rangeId)===(t==null||(d=t.customRange)==null?void 0:d.rangeId)&&(e==null||(f=e.bullet)==null?void 0:f.startIndex)===(t==null||(p=t.bullet)==null?void 0:p.startIndex)&&(e==null||(m=e.customRange)==null?void 0:m.startIndex)===(t==null||(h=t.customRange)==null?void 0:h.startIndex)&&(e==null||(g=e.customRange)==null?void 0:g.endIndex)===(t==null||(_=t.customRange)==null?void 0:_.endIndex)&&(e==null||(v=e.drawing)==null?void 0:v.drawingId)===(t==null||(y=t.drawing)==null?void 0:y.drawingId)}),(0,o.map)(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),R(this,`currentCellPosWithEvent$`,this._currentCellWithEvent$.pipe((0,o.distinctUntilChanged)((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}),(0,o.map)(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,event:e.event}))),R(this,`currentPosition$`,this._currentCell$.asObservable()),R(this,`currentClickedCell$`,this._currentClickedCell$.asObservable()),R(this,`currentDbClickedCell$`,this._currentDbClickedCell$.asObservable()),R(this,`currentPointerDownCell$`,this._currentPointerDownCell$.asObservable()),R(this,`currentPointerUpCell$`,this._currentPointerUpCell$.asObservable()),R(this,`currentHoveredRowHeader$`,this._currentHoveredRowHeader$.asObservable()),R(this,`currentHoveredColHeader$`,this._currentHoveredColHeader$.asObservable()),R(this,`currentRowHeaderClick$`,this._currentRowHeaderClick$.asObservable()),R(this,`currentColHeaderClick$`,this._currentColHeaderClick$.asObservable()),R(this,`currentRowHeaderDbClick$`,this._currentRowHeaderDbClick$.asObservable()),R(this,`currentColHeaderDbClick$`,this._currentColHeaderDbClick$.asObservable()),R(this,`currentRowHeaderPointerDown$`,this._currentRowHeaderPointerDown$.asObservable()),R(this,`currentColHeaderPointerDown$`,this._currentColHeaderPointerDown$.asObservable()),R(this,`currentRowHeaderPointerUp$`,this._currentRowHeaderPointerUp$.asObservable()),R(this,`currentColHeaderPointerUp$`,this._currentColHeaderPointerUp$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._currentClickedCell$.complete(),this._currentPointerDownCell$.complete(),this._currentPointerUpCell$.complete(),this._currentCellWithEvent$.complete(),this._currentRichText$.complete(),this._currentDbClickedCell$.complete(),this._currentHoveredRowHeader$.complete(),this._currentHoveredColHeader$.complete(),this._currentRowHeaderClick$.complete(),this._currentColHeaderClick$.complete(),this._currentRowHeaderDbClick$.complete(),this._currentColHeaderDbClick$.complete(),this._currentRowHeaderPointerDown$.complete(),this._currentColHeaderPointerDown$.complete(),this._currentRowHeaderPointerUp$.complete(),this._currentColHeaderPointerUp$.complete(),this.currentCellPosWithEvent$=(0,o.of)(null),this.currentRichText$=(0,o.of)(null)}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t,n;((t=this._currentCell$.getValue())==null?void 0:t.location.unitId)===e.getUnitId()&&this._currentCell$.next(null),((n=this._currentRichText$.getValue())==null?void 0:n.location.unitId)===e.getUnitId()&&this._currentRichText$.next(null)}))}_getCalcDeps(e){let t=this._univerInstanceService.getUnit(e,n.UniverInstanceType.UNIVER_SHEET);if(!t)return null;let r=t.getActiveSheet();if(!r)return null;let i=this._renderManagerService.getRenderById(t.getUnitId());if(!i)return null;let a=i.with(U).getSkeletonParam(r.getSheetId());if(!a)return null;let o=i.with(q);if(!(!(o!=null&&o.getCurrentScrollState())||!i))return{currentRender:i,workbook:t,worksheet:r,skeletonParam:a}}_calcActiveCell(e,t,n,r,i,a){var o,s,c;let l=vi(e,t,n,r,i,a),u=r.skeleton;if(!l)return null;let{position:d,overflowLocation:f,location:p}=l,m=u.getFont(f.row,f.col),h=null,g=null,_=null,v=u.getCellWithCoordByIndex(f.row,f.col),y=n.getCell(f.row,f.col),{topOffset:b=0,leftOffset:x=0}=(o=y==null?void 0:y.fontRenderExtension)==null?{}:o;if(m!=null&&m.documentSkeleton){let{paddingLeft:e,paddingTop:t}=Ea(v,m,(y==null?void 0:y.v)!==null&&(y==null?void 0:y.v)!==void 0?!Number.isNaN(+y.v):!1),n=Ta(m.documentSkeleton,e,t),r=i-d.startX-x,o=a-d.startY-b;h=n.links.find(e=>e.rects.some(e=>e.left<=r&&r<=e.right&&e.top<=o&&o<=e.bottom)),g=n.checkLists.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom),_=n.drawings.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom)}let S=(s=(c=h==null?void 0:h.rects.pop())==null?g==null?void 0:g.rect:c)==null?_==null?void 0:_.rect:s,C=S&&(()=>{let e=S.top+v.mergeInfo.startY+b,t=S.bottom+v.mergeInfo.startY+b,n=S.left+v.mergeInfo.startX+x,r=S.right+v.mergeInfo.startX+x,i=v.mergeInfo.startY+b,a=v.mergeInfo.endY+b,o=v.mergeInfo.startX+x,s=v.mergeInfo.endX+x;return{top:Math.min(Math.max(e,i),i),bottom:Math.min(t,a),left:Math.min(Math.max(n,o),o),right:Math.min(r,s)}})();return{location:p,position:d,overflowLocation:f,customRange:h==null?void 0:h.range,bullet:g==null?void 0:g.paragraph,drawing:_,rect:C}}_calcActiveRowHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:a,worksheet:o,skeletonParam:s}=r,{scaleY:c}=a.scene.getAncestorScale(),l=a.scene.getViewports().find(e=>e.isHit(new i.Vector2(t,n)));if(!l||l.viewportKey!==i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP&&l.viewportKey!==i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM)return;let u={x:l.viewportScrollX,y:l.viewportScrollY};return{unitId:e,index:s.skeleton.getRowIndexByOffsetY(n,c,u),subUnitId:o.getSheetId()}}_calcActiveColHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:a,worksheet:o,skeletonParam:s}=r,{scaleX:c}=a.scene.getAncestorScale(),l=a.scene.getViewports().find(e=>e.isHit(new i.Vector2(t,n)));if(!l||l.viewportKey!==i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT&&l.viewportKey!==i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT)return;let u={x:l.viewportScrollX,y:l.viewportScrollY};return{unitId:e,index:s.skeleton.getColumnIndexByOffsetX(t,c,u),subUnitId:o.getSheetId()}}triggerPointerDown(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s&&s.location){let{unitId:e,subUnitId:n,row:r,col:i}=ka(s.location);this._currentPointerDownCell$.next({unitId:e,subUnitId:n,row:r,col:i,event:t})}}triggerPointerUp(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s){let e=ka(s.location);this._currentPointerUpCell$.next({...e,event:t})}}triggerMouseMove(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);this._currentCell$.next(s&&{location:ka(s.location),position:s.position}),this._currentRichText$.next(s&&{...s,location:ka(s.overflowLocation)}),this._currentCellWithEvent$.next(s&&{...s,location:ka(s.location),event:t})}triggerClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentClickedCell$.next({...c,location:ka(c.location)})}triggerDbClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentDbClickedCell$.next({...c,location:ka(c.location)})}triggerScroll(){this._currentCell$.next(null)}triggerRowHeaderClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderClick$.next(r)}triggerColHeaderClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderClick$.next(r)}triggerRowHeaderDbClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderDbClick$.next(r)}triggerColHeaderDbClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderDbClick$.next(r)}triggerRowHeaderMouseMove(e,t,n){this._currentHoveredRowHeader$.next(this._calcActiveRowHeader(e,t,n))}triggerColHeaderMouseMove(e,t,n){this._currentHoveredColHeader$.next(this._calcActiveColHeader(e,t,n))}triggerRowHeaderPoniterDown(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerDown$.next(r)}triggerColHeaderPoniterDown(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerDown$.next(r)}triggerRowHeaderPoniterUp(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerUp$.next(r)}triggerColHeaderPoniterUp(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerUp$.next(r)}};Aa=H([V(0,n.IUniverInstanceService),V(1,i.IRenderManagerService)],Aa);let ja=class extends n.Disposable{get active(){return this._active}constructor(e,t,n,r){super(),this._context=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=n,this._scrollManagerService=r,R(this,`_active`,!1),this._initPointerEvent(),this._initScrollEvent()}_initPointerEvent(){let e=new n.DisposableCollection,t=t=>{if(e.dispose(),!t)return;let{mainComponent:r,unitId:i,components:a}=this._context;if(!r)return;e.add(r.onPointerEnter$.subscribeEvent(e=>{this._active=!0})),e.add((0,n.fromEventSubject)(r.onPointerMove$).subscribe(e=>{this._active=!0,this._hoverManagerService.triggerMouseMove(i,e)})),e.add(r.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerDown(i,e)})),e.add(r.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerUp(i,e)})),e.add(r.onClick$.subscribeEvent(e=>{this._hoverManagerService.triggerClick(i,e.offsetX,e.offsetY)})),e.add(r.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerDbClick(i,e.offsetX,e.offsetY)})),e.add(r.onPointerLeave$.subscribeEvent(()=>{this._active=!1}));let o=a.get(L.ROW),s=a.get(L.COLUMN);o&&(e.add(o.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderMouseMove(i,e.offsetX,e.offsetY)})),e.add(o.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterDown(i,e.offsetX,e.offsetY)})),e.add(o.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterUp(i,e.offsetX,e.offsetY),this._hoverManagerService.triggerRowHeaderClick(i,e.offsetX,e.offsetY)})),e.add(o.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderDbClick(i,e.offsetX,e.offsetY)}))),s&&(e.add(s.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderMouseMove(i,e.offsetX,e.offsetY)})),e.add(s.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterDown(i,e.offsetX,e.offsetY)})),e.add(s.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterUp(i,e.offsetX,e.offsetY),this._hoverManagerService.triggerColHeaderClick(i,e.offsetX,e.offsetY)})),e.add(s.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderDbClick(i,e.offsetX,e.offsetY)})))};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(()=>this._hoverManagerService.triggerScroll()))}};ja=H([V(1,(0,n.Inject)(Aa)),V(2,(0,n.Inject)(U)),V(3,(0,n.Inject)(q))],ja);let Ma=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID`,Na=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG`,Pa=class extends n.Disposable{constructor(e,t,r,i,a,o,s,c){super(),this._commandService=e,this._univerInstanceService=t,this._permissionService=r,this._dialogService=i,this._rangeProtectionRuleModel=a,this._localeService=o,this._contextService=s,this._sheetPermissionCheckController=c,R(this,`disposableCollection`,new n.DisposableCollection),this._initialize(),this._initUIEvent()}_initUIEvent(){this.disposeWithMe(this._sheetPermissionCheckController.triggerPermissionUIEvent$.subscribe(e=>{this._haveNotPermissionHandle(e)}))}_haveNotPermissionHandle(e){let t={id:Ma,title:{title:`permission.dialog.alert`},children:{label:Na,errorMsg:e},width:320,destroyOnClose:!0,showOk:!0,onClose:()=>{this._dialogService.close(Ma)},onOk:()=>{this._dialogService.close(Ma)},className:`sheet-permission-user-dialog`};this._permissionService.getShowComponents()&&this._dialogService.open(t)}_getPermissionCheck(e,r){let i=!0,o=``;switch(e){case t.InsertCommand.id:case t.IMEInputCommand.id:if(this._contextService.getContextValue(n.FOCUSING_EDITOR_STANDALONE)===!0||this._contextService.getContextValue(n.FOCUSING_COMMENT_EDITOR)===!0)break;i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellValuePermission,a.WorksheetEditPermission]}),o=this._localeService.t(`permission.dialog.editErr`);break;case Y.id:if(r.visible===!1)break;i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellValuePermission,a.WorksheetEditPermission]}),o=this._localeService.t(`permission.dialog.editErr`);break;case Et.id:i=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetColumnStylePermission]}),o=this._localeService.t(`permission.dialog.pasteErr`);break;case Ct.id:i=this._permissionCheckByPaste(r),o=this._localeService.t(`permission.dialog.pasteErr`);break;case hr.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission,a.WorksheetSetCellStylePermission]}),o=this._localeService.t(`permission.dialog.commonErr`);break;case a.SetBackgroundColorCommand.id:case Yt.id:case Xt.id:case Zt.id:case Qt.id:i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellStylePermission,a.WorksheetEditPermission]}),o=this._localeService.t(`permission.dialog.setStyleErr`);break;case bt.id:var s;i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookCopyPermission],rangeTypes:[a.RangeProtectionPermissionViewPoint],worksheetTypes:[a.WorksheetCopyPermission]}),o=this._localeService.t(`permission.dialog.copyErr`),(s=this._permissionService.getPermissionPoint(new a.WorkbookCopyPermission(this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId()).id))!=null&&s.value||(o=this._localeService.t(`permission.dialog.workbookCopyErr`));break;case xt.id:var c;i=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookCopyPermission,a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionViewPoint,a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetCopyPermission,a.WorksheetEditPermission]}),o=this._localeService.t(`permission.dialog.copyErr`),(c=this._permissionService.getPermissionPoint(new a.WorkbookCopyPermission(this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId()).id))!=null&&c.value||(o=this._localeService.t(`permission.dialog.workbookCopyErr`));break;default:break}i||this._sheetPermissionCheckController.blockExecuteWithoutPermission(o)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,e==null?void 0:e.params)}))}_permissionCheckByPaste(e){return e.value===G.SPECIAL_PASTE_VALUE||e.value===G.SPECIAL_PASTE_FORMULA||e.value===G.SPECIAL_PASTE_FORMAT?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellStylePermission,a.WorksheetEditPermission]}):this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellValuePermission,a.WorksheetSetCellStylePermission,a.WorksheetEditPermission]})}};Pa=H([V(0,n.ICommandService),V(1,n.IUniverInstanceService),V(2,n.IPermissionService),V(3,r.IDialogService),V(4,(0,n.Inject)(a.RangeProtectionRuleModel)),V(5,(0,n.Inject)(n.LocaleService)),V(6,n.IContextService),V(7,(0,n.Inject)(a.SheetPermissionCheckController))],Pa);var Fa=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(Fa||{}),Ia=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}(Ia||{});let La=(0,n.createInterceptorKey)(`freezePermissionCheck`),Ra=class extends n.Disposable{constructor(e,t,r,i,a,o,s,c){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,this._selectionManagerService=i,this._scrollManagerService=a,this._themeService=o,this._sheetInterceptorService=s,this._injector=c,R(this,`_rowFreezeHeaderRect`,void 0),R(this,`_rowFreezeMainRect`,void 0),R(this,`_columnFreezeHeaderRect`,void 0),R(this,`_columnFreezeMainRect`,void 0),R(this,`_freezeDownSubs`,void 0),R(this,`_freezePointerEnterSubs`,void 0),R(this,`_freezePointerLeaveSubs`,void 0),R(this,`_scenePointerMoveSub`,void 0),R(this,`_scenePointerUpSub`,void 0),R(this,`_changeToRow`,-1),R(this,`_changeToColumn`,-1),R(this,`_changeToOffsetX`,0),R(this,`_changeToOffsetY`,0),R(this,`_activeViewport`,null),R(this,`_freezeNormalHeaderColor`,``),R(this,`_freezeNormalMainColor`,``),R(this,`_freezeActiveColor`,``),R(this,`_freezeHoverColor`,``),R(this,`_lastFreeze`,void 0),R(this,`interceptor`,new n.InterceptorManager({FREEZE_PERMISSION_CHECK:La})),this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=Fa.ROW,t){var n;let r=t==null?this._getFreeze():t;if(r==null)return null;let a=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,{startRow:o,startColumn:s}=r,c=this._getPositionByIndex(o,s);if(c==null||a==null)return null;let l=this._getSheetObject().scene,{startX:u,startY:d}=c,{rowTotalHeight:f,columnTotalWidth:p,rowHeaderWidthAndMarginLeft:m,columnHeaderHeightAndMarginTop:h}=a;this._changeToRow=o,this._changeToColumn=s,this._changeToOffsetX=u,this._changeToOffsetY=d;let g=Math.max(l.scaleX,l.scaleY),_=2/Math.max(1,g);if(e===Fa.ROW){(o===-1||o===0)&&(_*=2);let e=_;this._rowFreezeHeaderRect=new i.Rect(`__SpreadsheetFreezeRowHeaderName__`,{fill:this._freezeNormalHeaderColor,width:m,height:_,left:0,top:d-e,zIndex:3});let t=this._freezeNormalHeaderColor;(o===-1||o===0)&&(t=this._freezeNormalMainColor),this._rowFreezeMainRect=new i.Rect(`__SpreadsheetFreezeRowMainName__`,{fill:t,width:p,height:_,left:m,top:d-e,zIndex:3}),l.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],10)}else{(s===-1||s===0)&&(_*=2);let e=_;this._columnFreezeHeaderRect=new i.Rect(`__SpreadsheetFreezeColumnHeaderName__`,{fill:this._freezeNormalHeaderColor,width:_,height:h,left:u-e,top:0,zIndex:3});let t=this._freezeNormalHeaderColor;(s===-1||s===0)&&(t=this._freezeNormalMainColor),this._columnFreezeMainRect=new i.Rect(`__SpreadsheetFreezeColumnMainName__`,{fill:t,width:_,height:f,left:u-e,top:h,zIndex:3}),l.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],10)}this._eventBinding(e)}_eventBinding(e=Fa.ROW){let t=this._rowFreezeHeaderRect,n=this._rowFreezeMainRect;e===Fa.COLUMN&&(t=this._columnFreezeHeaderRect,n=this._columnFreezeMainRect);let r=this._getSheetObject();if(r==null)return;let{scene:a}=r;if(this._freezePointerEnterSubs=new o.Subscription,this._freezePointerLeaveSubs=new o.Subscription,this._freezeDownSubs=new o.Subscription,n){let e=n.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(La)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),a.setCursor(i.CURSOR_TYPE.GRAB)});this._freezePointerEnterSubs.add(e);let r=n.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),a.resetCursor()});this._freezePointerLeaveSubs.add(r)}if(t){let e=t.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(La)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),a.setCursor(i.CURSOR_TYPE.GRAB)});this._freezePointerEnterSubs.add(e);let n=t.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),a.resetCursor()});this._freezePointerLeaveSubs.add(n)}let s=t==null?void 0:t.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});s&&this._freezeDownSubs.add(s);let c=n==null?void 0:n.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});c&&this._freezeDownSubs.add(c)}_getCurrentLastVisible(){var e,t,n,r,i,a,o;let s=this._getSheetObject();if(s==null)return;let c=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton;if(c==null)return;let l=s.scene,u=Math.max(l.scaleX,l.scaleY),d=this._scrollManagerService.getCurrentScrollState(),f=(s.engine.height-c.columnHeaderHeight)/u,p=(s.engine.width-c.rowHeaderWidth)/u,m=(t=d==null?void 0:d.sheetViewStartRow)==null?0:t,h=m===0?-((n=d==null?void 0:d.offsetY)==null?0:n):c.rowHeightAccumulation[m-1]-((r=d==null?void 0:d.offsetY)==null?0:r),g=0,_=!1;for(let e=m,t=c.rowHeightAccumulation.length;e<t;e++)if(c.rowHeightAccumulation[e]-h>f){g=e,_=!0;break}_||(g=c.rowHeightAccumulation.length-1);let v=(i=d==null?void 0:d.sheetViewStartColumn)==null?0:i,y=v===0?-((a=d==null?void 0:d.offsetX)==null?0:a):c.columnWidthAccumulation[v-1]-((o=d==null?void 0:d.offsetX)==null?0:o),b=0,x=!1;for(let e=v,t=c.columnWidthAccumulation.length;e<t;e++)if(c.columnWidthAccumulation[e]-y>p){b=e,x=!0;break}return x||(b=c.columnWidthAccumulation.length-1),{lastRow:g,lastColumn:b}}_getActiveViewport(e){var t;let n=(t=this._getSheetObject())==null?void 0:t.scene.getViewports();return n&&n.find(t=>t.isHit(new i.Vector2(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,n,r=Fa.ROW){var o;let s=(o=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:o.skeleton;if(s==null)return;let c=this._getSheetObject();if(c==null)return;if(!this.interceptor.fetchThroughInterceptors(La)(!0,null))return!1;let{scene:l}=c;l.setCursor(i.CURSOR_TYPE.GRABBING),l.disableObjectsEvent();let u=this._getCurrentLastVisible(),d=u===void 0?1/0:s.rowHeightAccumulation[u.lastRow],f=u===void 0?1/0:s.columnWidthAccumulation[u.lastColumn-1]+s.rowHeaderWidth;this._activeViewport=null;let p=this._getFreeze();p&&(this._changeToColumn=p.startColumn,this._changeToRow=p.startRow),this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(e=>{let a=this._getActiveViewport(e),{startX:o,startY:c,row:p,column:m}=Mr(e.offsetX,e.offsetY,l,s,a||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(La)(!0,null))return!1;l.setCursor(i.CURSOR_TYPE.GRABBING);let h=2/Math.max(l.scaleX,l.scaleY);if(r===Fa.ROW){var g,_;(g=t.transformByState({top:Math.min(c,d)-h/2}))==null||g.setProps({fill:this._freezeActiveColor}),(_=n.transformByState({top:Math.min(c,d)-h/2}))==null||_.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=u===void 0?p:Math.min(p,u.lastRow),this._changeToOffsetY=Math.min(c,d),this._activeViewport=a}else{var v,y;(v=t.transformByState({left:Math.min(o,f)-h/2}))==null||v.setProps({fill:this._freezeActiveColor}),(y=n.transformByState({left:Math.min(o,f)-h/2}))==null||y.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=u===void 0?m:Math.min(m,u.lastColumn),this._changeToOffsetX=o,this._activeViewport=a}}),this._scenePointerUpSub=l.onPointerUp$.subscribeEvent(()=>{var e,o;l.resetCursor(),l.enableObjectsEvent(),this._clearObserverEvent();let{rowHeaderWidthAndMarginLeft:c,columnHeaderHeightAndMarginTop:u}=s;r===Fa.ROW&&(this._changeToRow===0||this._changeToRow===-1)||r===Fa.COLUMN&&(this._changeToColumn===0||this._changeToColumn===-1)?(t.setProps({fill:this._freezeNormalHeaderColor}),n.setProps({fill:this._freezeNormalMainColor})):(t==null||t.setProps({fill:this._freezeNormalHeaderColor}),n==null||n.setProps({fill:this._freezeNormalHeaderColor}));let d=2/Math.max(l.scaleX,l.scaleY);r===Fa.ROW?(this._changeToRow===0||this._changeToRow===-1)&&(t.transformByState({top:u-d}),n.transformByState({top:u-d})):(this._changeToColumn===0||this._changeToColumn===-1)&&(t.transformByState({left:c-d}),n.transformByState({left:c-d}));let{sheetViewStartRow:f,sheetViewStartColumn:p}=this._scrollManagerService.getCurrentScrollState()||{sheetViewStartRow:0,sheetViewStartColumn:0};if(p==null||f==null)return;let m=this._context.unit,h=m.getActiveSheet();if(!h)return;let g=(e=h.getConfig())==null?void 0:e.freeze,_=(g==null?void 0:g.xSplit)||0,v=(g==null?void 0:g.ySplit)||0,y=(o=this._activeViewport)==null?void 0:o.viewportKey;r===Fa.ROW&&(v=!y||y===i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP||y===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP||y===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP||y===i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP?this._changeToRow-(g.startRow-g.ySplit):this._changeToRow-f,v=v<0?0:v),r===Fa.COLUMN&&(_=!y||y===i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP||y===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP||y===i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT||y===i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT?this._changeToColumn-(g.startColumn-g.xSplit):this._changeToColumn-p,_=_<0?0:_),this._commandService.executeCommand(a.SetFrozenCommand.id,{startRow:v===0?-1:this._changeToRow,startColumn:_===0?-1:this._changeToColumn,ySplit:v,xSplit:_,unitId:m.getUnitId(),subUnitId:h.getSheetId()})})}_getViewports(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e,n=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT),r=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT),a=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP),o=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM),s=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP),c=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),l=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP),u=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT),d=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP);if(!(n==null||r==null||a==null||o==null||s==null||c==null||l==null||u==null||d==null))return{viewMain:c,viewMainLeftTop:l,viewMainLeft:u,viewMainTop:d,viewColumnLeft:n,viewColumnRight:r,viewRowTop:a,viewRowBottom:o,viewLeftTop:s}}_bindViewportScroll(){let e=this._getViewports();if(!e)return;let{viewRowBottom:t,viewColumnRight:n,viewMainLeft:r,viewMainTop:i}=e;this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let{scrollX:a,scrollY:o,viewportScrollX:s,viewportScrollY:c}=e;t.isActive&&t.updateScrollVal({scrollY:o,viewportScrollY:c}),n.isActive&&n.updateScrollVal({scrollX:a,viewportScrollX:s}),r.isActive&&r.updateScrollVal({scrollY:o,viewportScrollY:c}),i.isActive&&i.updateScrollVal({scrollX:a,viewportScrollX:s})}))}_updateViewport(e=-1,t=-1,n=0,r=0,i=Ia.ALL){var a;let o=(a=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:a.skeleton;if(o==null)return;let{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=o,l=this._getViewports();if(!l)return;let{viewMain:u,viewMainLeftTop:d,viewMainLeft:f,viewMainTop:p,viewColumnLeft:m,viewColumnRight:h,viewRowTop:g,viewRowBottom:_,viewLeftTop:v}=l;h.resizeWhenFreezeChange({left:s,top:0,height:c+1,right:0}),_.resizeWhenFreezeChange({left:0,top:c,bottom:0,width:s+1}),v.resizeWhenFreezeChange({left:0,top:0,width:s+1,height:c});let y=!0,b=!0;d.enable(),(e===-1||e===0)&&(y=!1),(t===-1||t===0)&&(b=!1);let x=o.getNoMergeCellWithCoordByIndex(e-n,t-r,!1),S=o.getNoMergeCellWithCoordByIndex(e,t,!1);if(d.disable(),p.disable(),f.disable(),g.disable(),m.disable(),d.resetPadding(),p.resetPadding(),f.resetPadding(),g.resetPadding(),m.resetPadding(),y===!1&&b===!1)u.resizeWhenFreezeChange({left:s,top:c,bottom:0,right:0}),u.resetPadding(),f.resizeWhenFreezeChange({left:s,top:c,bottom:0,width:0}),p.resizeWhenFreezeChange({left:s,top:c,height:0,right:0}),d.resizeWhenFreezeChange({left:s,top:c,width:0,height:0}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:0}),m.resizeWhenFreezeChange({left:0,top:0,height:c+1,width:0});else if(y===!0&&b===!1){let e=S.startY-x.startY;u.resizeWhenFreezeChange({left:s,top:c+e,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:0,endX:0}),i&Ia.Y&&this._commandService.executeCommand(Lr.id,{sheetViewStartRow:0,offsetY:0}),p.resizeWhenFreezeChange({left:s,top:c,height:e,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:e}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+e,bottom:0,width:s+1}),p.enable(),g.enable()}else if(y===!1&&b===!0){let e=S.startX-x.startX;u.resizeWhenFreezeChange({left:s+e,top:c,bottom:0,right:0}),u.setPadding({startX:x.startX,endX:S.startX,startY:0,endY:0}),i&Ia.X&&this._commandService.executeCommand(Lr.id,{sheetViewStartColumn:0,offsetX:0}),f.resizeWhenFreezeChange({left:s,top:c,width:e,bottom:0,right:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),f.enable(),m.enable()}else{let e=S.startX-x.startX,t=S.startY-x.startY;u.resizeWhenFreezeChange({left:s+e,top:c+t,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:x.startX,endX:S.startX}),i&&this._commandService.executeCommand(Lr.id,{...i&Ia.X?{sheetViewStartColumn:0,offsetX:0}:null,...i&Ia.Y?{sheetViewStartRow:0,offsetY:0}:null}),f.resizeWhenFreezeChange({left:s,top:c+t,width:e,bottom:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),p.resizeWhenFreezeChange({left:s+e,top:c,height:t,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),d.resizeWhenFreezeChange({left:s,top:c,width:e,height:t}),d.updateScrollVal({viewportScrollX:x.startX,viewportScrollY:x.startY}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:t}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+t,bottom:0,width:s+1}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),d.enable(),p.enable(),f.enable(),g.enable(),m.enable()}}_skeletonListener(){this.disposeWithMe((0,n.toDisposable)(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[a.SetWorksheetActiveOperation.id,a.InsertRangeMoveDownCommand.id,a.InsertRangeMoveRightCommand.id].includes((e==null?void 0:e.commandId)||``)&&this._refreshCurrent()})))}_refreshCurrent(){let e=this._context.unit.getActiveSheet();if(!e)return;let{startRow:t=-1,startColumn:n=-1,ySplit:r=0,xSplit:i=0}=e.getConfig().freeze;this._refreshFreeze(t,n,r,i,Ia.NONE)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=(0,n.get)(e,`gray.300`),this._freezeNormalMainColor=new n.ColorKit(this._freezeNormalHeaderColor).setAlpha(.01).toRgbString(),this._freezeActiveColor=(0,n.get)(e,`primary.600`),this._freezeHoverColor=(0,n.get)(e,`gray.500`)}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t={redos:[],undos:[]},r=this._getFreeze();if(!r)return t;let i=e=>{let n=this._context.unit,r=n.getUnitId(),i=n.getActiveSheet();if(!i)return t;let o=i.getSheetId();this._refreshFreeze(e.startRow,e.startColumn,e.ySplit,e.xSplit,Ia.NONE);let s={...e,unitId:r,subUnitId:o,resetScroll:!1},c=(0,a.SetFrozenMutationFactory)(this._injector,s);return{undos:[{id:a.SetFrozenMutation.id,params:c}],redos:[{id:a.SetFrozenMutation.id,params:s}]}};if(e.id===a.InsertRowCommand.id){let{range:t,direction:a}=e.params,o=t.endRow-t.startRow+1;if(t.startRow<r.startRow||t.startRow+1===r.startRow&&a===n.Direction.UP)return i({...r,startRow:Math.max(1,r.startRow+o),ySplit:Math.max(1,r.ySplit+o)})}if(e.id===a.InsertColCommand.id){let{range:t,direction:a}=e.params,o=t.endColumn-t.startColumn+1;if(t.startColumn<r.startColumn||t.startColumn+1===r.startColumn&&a===n.Direction.LEFT)return i({...r,startColumn:Math.max(1,r.startColumn+o),xSplit:Math.max(1,r.xSplit+o)})}if(e.id===a.MoveColsCommand.id){let a=this._selectionManagerService.getCurrentSelections(),{fromRange:{startColumn:o},toRange:{startColumn:s}}=e.params,c=a==null?void 0:a.filter(e=>e.range.rangeType===n.RANGE_TYPE.COLUMN&&e.range.startColumn<=o&&o<=e.range.endColumn);if(!(c!=null&&c.length))return t;let l=c[0].range,u={...l,startColumn:s,endColumn:s+l.endColumn-l.startColumn};if(!r||r.startColumn<=0||l.startColumn>=r.startColumn&&u.startColumn>=r.startColumn||l.startColumn===u.startColumn||l.endColumn<r.startColumn&&u.startColumn<r.startColumn)return t;let d=l.endColumn-l.startColumn+1,f=Math.max(Math.min(r.startColumn,l.endColumn+1)-l.startColumn,0),p,m;return u.startColumn>=r.startColumn?(p=Math.max(r.startColumn-f,1),m=Math.max(r.xSplit-f,1)):(p=r.startColumn+d-f,m=r.xSplit+d-f),i({...r,startColumn:p,xSplit:m})}if(e.id===a.MoveRowsCommand.id){let a=this._selectionManagerService.getCurrentSelections(),{fromRange:{startRow:o},toRange:{startRow:s}}=e.params,c=a==null?void 0:a.filter(e=>e.range.rangeType===n.RANGE_TYPE.ROW&&e.range.startRow<=o&&o<=e.range.endRow);if(!(c!=null&&c.length))return t;let l=c[0].range,u={...l,startRow:s,endRow:s+l.endRow-l.startRow};if(!r||r.startRow<=0||l.startRow>=r.startRow&&u.startRow>=r.startRow||l.startRow===u.startRow||l.endRow<r.startRow&&u.startRow<r.startRow)return t;let d=l.endRow-l.startRow+1,f=Math.max(Math.min(r.startRow,l.endRow+1)-l.startRow,0),p,m;return u.startRow>=r.startRow?(p=Math.max(r.startRow-f,1),m=Math.max(r.ySplit-f,1)):(p=r.startRow+d-f,m=r.ySplit+d-f),i({...r,startRow:p,ySplit:m})}if(e.id===a.RemoveColCommand.id||e.id===a.RemoveRowCommand.id){let t=e.params,a=t.range;if(a.rangeType===n.RANGE_TYPE.COLUMN&&a.startColumn<r.startColumn){let e=Math.min(r.startColumn,a.endColumn+1)-a.startColumn;return i({...r,startColumn:Math.max(1,r.startColumn-e),xSplit:Math.max(1,r.xSplit-e)})}if(t.range.rangeType===n.RANGE_TYPE.ROW&&a.startRow<r.startRow){let e=Math.min(r.startRow,a.endRow+1)-a.startRow;return i({...r,startRow:Math.max(1,r.startRow-e),ySplit:Math.max(1,r.ySplit-e)})}}return t}}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case a.SetFrozenMutation.id:case Gr.id:{let t=this._lastFreeze,n=this._context.unit,r=n.getActiveSheet(),i=e.params,{unitId:a,subUnitId:o}=i;if(!(a===n.getUnitId()&&o===(r==null?void 0:r.getSheetId())))return;let s=r.getConfig().freeze;if(this._lastFreeze=s,s==null)return;let c=Ia.NONE,{startRow:l=-1,startColumn:u=-1,ySplit:d=0,xSplit:f=0}=s;(!t||t.startRow!==l||t.ySplit!==d)&&(c|=Ia.Y),(!t||t.startColumn!==u||t.xSplit!==f)&&(c|=Ia.X),i.resetScroll===!1&&(c=Ia.NONE),this._refreshFreeze(l,u,d,f,c)}break;case a.SetWorksheetRowHeightMutation.id:{let t=this._getFreeze(),n=t&&e.params.ranges.some(e=>e.startRow<t.startRow);e.params&&n&&this._refreshCurrent()}break;case a.SetWorksheetColWidthMutation.id:{let t=this._getFreeze();e.params&&t&&e.params.ranges.some(e=>e.startColumn<t.startColumn)&&this._refreshCurrent()}break;case a.SetWorksheetRowAutoHeightMutation.id:{let t=e.params,n=this._getFreeze();if(n&&n.startRow>-1&&t.rowsAutoHeightInfo.some(e=>e.row<n.startRow)){let e=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{e.unsubscribe()})})}}break;case a.SetColHiddenMutation.id:case a.SetColVisibleMutation.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startColumn>-1&&r.some(e=>e.startColumn<n.startColumn)&&this._refreshCurrent()}break;case a.SetRowHiddenMutation.id:case a.SetRowVisibleMutation.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startRow>-1&&r.some(e=>e.startRow<n.startRow)&&this._refreshCurrent()}break;case ae.id:case oe.id:this._refreshCurrent()}}))}_zoomRefresh(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e;this.disposeWithMe(t.onTransformChange$.subscribeEvent(e=>{[i.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale,i.TRANSFORM_CHANGE_OBSERVABLE_TYPE.all].includes(e.type)&&this._refreshCurrent()}))}_clearObserverEvent(){var e,t;this._getSheetObject()!=null&&((e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_clearFreeze(){var e,t,n,r,i,a;(e=this._rowFreezeHeaderRect)==null||e.dispose(),(t=this._rowFreezeMainRect)==null||t.dispose(),(n=this._columnFreezeHeaderRect)==null||n.dispose(),(r=this._columnFreezeMainRect)==null||r.dispose(),this._getSheetObject()!=null&&([this._freezeDownSubs,this._freezePointerEnterSubs,this._freezePointerLeaveSubs].forEach(e=>{e==null||e.unsubscribe()}),this._freezeDownSubs=null,this._freezePointerEnterSubs=null,this._freezePointerLeaveSubs=null,(i=this._scenePointerMoveSub)==null||i.unsubscribe(),(a=this._scenePointerUpSub)==null||a.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_getPositionByIndex(e,t){var n;if(this._getSheetObject()==null)return;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,i=r==null?void 0:r.getNoMergeCellWithCoordByIndex(e,t);if(r==null)return;if(i!=null&&(!isNaN(i.endX)||!isNaN(i.endY)))return i;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=r;return{startX:a,endX:a,startY:o,endY:o}}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_getSheetObject(){return Ar(this._context.unit,this._context)}_refreshFreeze(e,t,n,r,i){var a;let o={startRow:e,startColumn:t,ySplit:n,xSplit:r};this._clearFreeze(),this._createFreeze(Fa.ROW,o),this._createFreeze(Fa.COLUMN,o),this._updateViewport(e,t,n,r,i),(a=this._getSheetObject())==null||a.spreadsheet.makeForceDirty()}};Ra=H([V(1,(0,n.Inject)(U)),V(2,n.ICommandService),V(3,(0,n.Inject)(a.SheetsSelectionsService)),V(4,(0,n.Inject)(q)),V(5,(0,n.Inject)(n.ThemeService)),V(6,(0,n.Inject)(a.SheetInterceptorService)),V(7,(0,n.Inject)(n.Injector))],Ra);function za(e){let t=e.get(a.SheetsSelectionsService),r=e.get(a.RangeProtectionRuleModel),i=e.get(n.IUniverInstanceService),s=e.get(a.MergeCellController),c=i.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET);return(0,o.combineLatest)([t.selectionMoveEnd$,c.pipe((0,o.map)(e=>{var t;return(t=e==null?void 0:e.getUnitId())==null?``:t})),c.pipe((0,o.switchMap)(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,o.of)(null):t}))]).pipe((0,o.map)(([e,t,i])=>{if(!i||!e||e.length===0)return!1;let o=i.getSheetId(),c=e.map(e=>e.range);if(s.interceptor.fetchThroughInterceptors(a.MERGE_CELL_INTERCEPTOR_CHECK)(!1,c))return!0;let l=r.getSubunitRuleList(t,o).map(e=>e.ranges).flat();if(e.length<2){let t=e[0].range;return l.some(e=>n.Rectangle.intersects(e,t)&&!n.Rectangle.contains(e,t))}for(let t=0;t<e.length;t++)for(let r=t+1;r<e.length;r++)if(n.Rectangle.intersects(e[t].range,e[r].range))return!0;return!1}))}function Ba(e,t){return!!Ha(e,t,n.RANGE_TYPE.ROW)}function Va(e,t){return!!Ha(e,t,n.RANGE_TYPE.COLUMN)}function Ha(e,t,r){return e.find(e=>{let{startRow:i,endRow:a,startColumn:o,endColumn:s,rangeType:c}=e.range;return c===n.RANGE_TYPE.ALL||c===n.RANGE_TYPE.NORMAL?!1:c===r&&(r===n.RANGE_TYPE.COLUMN&&o<=t&&t<=s||r===n.RANGE_TYPE.ROW&&i<=t&&t<=a)})}let Ua=(0,n.createInterceptorKey)(`headerMovePermissionCheck`),Wa=class extends n.Disposable{constructor(e,t,r,i){super(),this._context=e,this._sheetSkeletonManagerService=r,this._commandService=i,R(this,`_startOffsetX`,-1/0),R(this,`_startOffsetY`,-1/0),R(this,`_moveHelperBackgroundShape`,void 0),R(this,`_moveHelperLineShape`,void 0),R(this,`_headerPointerDownSubs`,void 0),R(this,`_headerPointerMoveSubs`,void 0),R(this,`_headerPointerLeaveSubs`,void 0),R(this,`_dragHeaderMoveSub`,void 0),R(this,`_scenePointerUpSub`,void 0),R(this,`_scrollTimer`,void 0),R(this,`_changeFromColumn`,-1),R(this,`_changeFromRow`,-1),R(this,`_changeToColumn`,-1),R(this,`_changeToRow`,-1),R(this,`interceptor`,new n.InterceptorManager({HEADER_MOVE_PERMISSION_CHECK:Ua})),R(this,`_workbookSelections`,void 0),this._workbookSelections=t.getWorkbookSelections(this._context.unitId),this._init()}dispose(){var e,t,n,r,i,a,o,s;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose(),(n=this._headerPointerMoveSubs)==null||n.unsubscribe(),(r=this._headerPointerLeaveSubs)==null||r.unsubscribe(),(i=this._headerPointerDownSubs)==null||i.unsubscribe(),this._headerPointerMoveSubs=null,this._headerPointerLeaveSubs=null,this._headerPointerDownSubs=null,(a=this._dragHeaderMoveSub)==null||a.unsubscribe(),(o=this._scenePointerUpSub)==null||o.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null,(s=this._scrollTimer)==null||s.dispose()}_init(){this._initialRowOrColumn(n.RANGE_TYPE.ROW),this._initialRowOrColumn(n.RANGE_TYPE.COLUMN)}_initialRowOrColumn(e=n.RANGE_TYPE.ROW){let t=this._context.components.get(L.COLUMN),r=this._context.components.get(L.ROW),s=this._context.scene,c=e===n.RANGE_TYPE.ROW?r:t;this._headerPointerMoveSubs=new o.Subscription,this._headerPointerMoveSubs.add(c.onPointerMove$.subscribeEvent(t=>{var r,a;let o=(r=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:r.skeleton;if(o==null)return;let c=(a=this._workbookSelections.getCurrentLastSelection())==null?void 0:a.range;if(!c||!this.interceptor.fetchThroughInterceptors(Ua)(!1,c))return;let l=this._workbookSelections.getCurrentSelections(),{row:u,column:d}=Mr(t.offsetX,t.offsetY,s,o);if(!Ha(l,e===n.RANGE_TYPE.ROW?u:d,e)){s.resetCursor();return}s.setCursor(i.CURSOR_TYPE.GRAB)})),this._headerPointerLeaveSubs=new o.Subscription,this._headerPointerLeaveSubs.add(c==null?void 0:c.onPointerLeave$.subscribeEvent(()=>{var e,t;(e=this._moveHelperBackgroundShape)==null||e.hide(),(t=this._moveHelperLineShape)==null||t.hide(),s.resetCursor()})),this._headerPointerDownSubs=new o.Subscription,this._headerPointerDownSubs.add(c==null?void 0:c.onPointerDown$.subscribeEvent((t,r)=>{var o,c;if(r.isStopPropagation)return;let l=(o=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:o.skeleton;if(l==null)return;let u=(c=this._workbookSelections.getCurrentLastSelection())==null?void 0:c.range;if(!u||!this.interceptor.fetchThroughInterceptors(Ua)(!1,u))return;let{offsetX:d,offsetY:f}=t,{x:p,y:m}=s.getCoordRelativeToViewport(i.Vector2.FromArray([d,f]));this._startOffsetX=p,this._startOffsetY=m;let{row:h,column:g}=Mr(t.offsetX,t.offsetY,s,l),_;e===n.RANGE_TYPE.ROW?(this._changeFromRow=h,_=i.ScrollTimerType.Y):(this._changeFromColumn=g,_=i.ScrollTimerType.X);let v=Ha(this._workbookSelections.getCurrentSelections(),e===n.RANGE_TYPE.ROW?h:g,e);if(!v)return;let y=s.getScrollXYInfoByViewport(i.Vector2.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),s.setCursor(i.CURSOR_TYPE.GRABBING),s.disableObjectsEvent();let b=!1,x,S=()=>{if(b)return;x=i.ScrollTimer.create(s,_),this._scrollTimer=x;let e=s.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);x.startScroll(p,m,e),b=!0};this._dragHeaderMoveSub=s.onPointerMove$.subscribeEvent(t=>{S();let{offsetX:n,offsetY:r}=t,{x:a,y:o}=s.getCoordRelativeToViewport(i.Vector2.FromArray([n,r]));this._rowColumnMoving(a,o,v,y,e),x.scrolling(a,o,()=>{this._rowColumnMoving(a,o,v,y,e)})}),this._scenePointerUpSub=s.onPointerUp$.subscribeEvent(()=>{var t;this._disposeBackgroundAndLine(),s.resetCursor(),s.enableObjectsEvent(),this._clearObserverEvent(),(t=this._scrollTimer)==null||t.dispose();let r=this._workbookSelections.getCurrentSelections();if(e===n.RANGE_TYPE.ROW){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){var i;let e=(i=((r==null?void 0:r.filter(e=>e.range.rangeType===n.RANGE_TYPE.ROW&&e.range.startRow<=this._changeFromRow&&this._changeFromRow<=e.range.endRow))||[])[0])==null?void 0:i.range;e&&this._commandService.executeCommand(a.MoveRowsCommand.id,{fromRange:e,toRange:{...e,startRow:this._changeToRow,endRow:this._changeToRow+e.endRow-e.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){var o;let e=(o=((r==null?void 0:r.filter(e=>e.range.rangeType===n.RANGE_TYPE.COLUMN&&e.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=e.range.endColumn))||[])[0])==null?void 0:o.range;e&&this._commandService.executeCommand(a.MoveColsCommand.id,{fromRange:e,toRange:{...e,startColumn:this._changeToColumn,endColumn:this._changeToColumn+e.endColumn-e.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(e,t,r,a,o){var s,c,l;let u=this._context.scene,d=(s=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:s.skeleton;if(d==null)return;let{rowHeaderWidth:f,columnHeaderHeight:p,rowTotalHeight:m,columnTotalWidth:h}=d,g=u.getViewportScrollXY(u.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN)),{scaleX:_,scaleY:v}=u.getAncestorScale(),{row:y,column:b}=d.getCellIndexByOffset(e,t,_,v,g),{startX:x,startY:S,endX:C,endY:w}=d.getNoMergeCellWithCoordByIndex(y,b),T=this._sheetSkeletonManagerService.attachRangeWithCoord(r.range);if(T==null)return;let E=Math.max(_,_),{startX:D,endX:O,startY:k,endY:A,startRow:j,startColumn:M,endRow:N,endColumn:P}=T;if(o===n.RANGE_TYPE.ROW){var F;(F=this._moveHelperBackgroundShape)==null||F.transformByState({height:A-k,width:h+f,left:0,top:k+(t-this._startOffsetY)/E+g.y-a.y})}else{var ee;(ee=this._moveHelperBackgroundShape)==null||ee.transformByState({height:m+p,width:O-D,left:D+(e-this._startOffsetX)/E+g.x-a.x,top:0})}(c=this._moveHelperBackgroundShape)==null||c.show();let I=4/E;if(o===n.RANGE_TYPE.ROW){var L;let e=0;if(y<=j)e=S-I/2,this._changeToRow=y;else if(y>N)e=w-I/2,this._changeToRow=y+1;else return;(L=this._moveHelperLineShape)==null||L.transformByState({height:I,width:h,left:f,top:e})}else{var te;let e=0;if(b<=M)e=x-I/2,this._changeToColumn=b;else if(b>P)e=C-I/2,this._changeToColumn=b+1;else return;(te=this._moveHelperLineShape)==null||te.transformByState({height:m,width:I,left:e,top:p})}(l=this._moveHelperLineShape)==null||l.show()}_clearObserverEvent(){var e,t;(e=this._dragHeaderMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null}_newBackgroundAndLine(){let e=this._context.scene;this._moveHelperBackgroundShape=new i.Rect(`__SpreadsheetHeaderMoveControllerBackground__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1,zIndex:100}),this._moveHelperLineShape=new i.Rect(`__SpreadsheetHeaderMoveControllerShapeLine__`,{fill:`rgb(119, 119, 119)`,evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],10)}_disposeBackgroundAndLine(){var e,t;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose()}};Wa=H([V(1,(0,n.Inject)(a.SheetsSelectionsService)),V(2,(0,n.Inject)(U)),V(3,n.ICommandService)],Wa);let Ga=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e}({}),Ka=`rgb(68, 71, 70)`;var qa=class extends i.Shape{constructor(e,t){super(e,t),R(this,`_size`,12),R(this,`_color`,Ka),R(this,`_mode`,Ga.VERTICAL),this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let t=this.getScene();if(!t)return;let{scaleX:n,scaleY:r}=t.getAncestorScale(),a=Math.max(n,r),o=12/a,s=4/a,{width:c,height:l}=this,u=0,d=0;this.mode===Ga.VERTICAL?(c=s,u=o-s):(l=s,d=o-s),i.Rect.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:`rgba(120, 120, 120, 0.01)`}),i.Rect.drawWith(e,{width:c,height:l,fill:Ka,radius:s}),e.save(),e.transform(1,0,0,1,u,d),i.Rect.drawWith(e,{width:c,height:l,fill:Ka,radius:s}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===Ga.VERTICAL?this.transformByState({width:12,height:this.size}):this.transformByState({width:this.size,height:12}),this}};let Ja=`__SpreadsheetHeaderResizeControllerShapeHelper__`,Ya=`rgb(199, 199, 199)`;var Xa=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(Xa||{});let Za=(0,n.createInterceptorKey)(`headerResizePermissionCheck`),Qa=class extends n.Disposable{constructor(e,t,r,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=r,this._commandService=i,R(this,`_currentRow`,0),R(this,`_currentColumn`,0),R(this,`_rowResizeRect`,void 0),R(this,`_columnResizeRect`,void 0),R(this,`_headerPointerSubs`,void 0),R(this,`_scenePointerMoveSub`,void 0),R(this,`_scenePointerUpSub`,void 0),R(this,`_resizeHelperShape`,void 0),R(this,`_startOffsetX`,1/0),R(this,`_startOffsetY`,1/0),R(this,`interceptor`,new n.InterceptorManager({HEADER_RESIZE_PERMISSION_CHECK:Za})),this._init()}dispose(){var e,t,n;(e=this._rowResizeRect)==null||e.dispose(),this._rowResizeRect=null,(t=this._columnResizeRect)==null||t.dispose(),this._columnResizeRect=null,(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_init(){let e=this._context.scene;this._rowResizeRect=new qa(`__SpreadsheetHeaderResizeControllerShapeRow__`,{visible:!1,mode:Ga.HORIZONTAL,zIndex:100}),this._columnResizeRect=new qa(`__SpreadsheetHeaderResizeControllerShapeColumn__`,{visible:!1,mode:Ga.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],10),this._initialHover(Xa.ROW),this._initialHover(Xa.COLUMN),this._initialHoverResize(Xa.ROW),this._initialHoverResize(Xa.COLUMN)}_initialHover(e=Xa.ROW){let t=this._context.components.get(L.COLUMN),n=this._context.components.get(L.ROW),r=this._context.scene,i=e===Xa.ROW?n:t;this._headerPointerSubs=new o.Subscription,this._headerPointerSubs.add(i==null?void 0:i.onPointerMove$.subscribeEvent((t,n)=>{var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(a==null||this._rowResizeRect==null||this._columnResizeRect==null)return;let{rowHeaderWidth:o,columnHeaderHeight:s}=a,{startX:c,startY:l,endX:u,endY:d,row:f,column:p}=Mr(t.offsetX,t.offsetY,r,a),m=Nr(t.offsetX,t.offsetY,r,a),{scaleX:h,scaleY:g}=r.getAncestorScale(),_=12/Math.max(h,g);if(e===Xa.ROW){let e=l-_/2;if(m.y<=l+_/2&&m.y>=l)this._currentRow=f-1;else if(m.y>=d-_/2&&m.y<=d)this._currentRow=f,e=d-_/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;if(!this.interceptor.fetchThroughInterceptors(Za)(null,{row:this._currentRow}))return!1;let t=Math.min(44,o/3);this._rowResizeRect.transformByState({left:o/2-t/2,top:e}),this._rowResizeRect.setShapeProps({size:t}),this._rowResizeRect.show()}else{let e=c-_/2;if(m.x<=c+_/2&&m.x>=c)this._currentColumn=p-1;else if(m.x>=u-_/2&&m.x<=u)this._currentColumn=p,e=u-_/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;if(!this.interceptor.fetchThroughInterceptors(Za)(null,{col:this._currentColumn}))return!1;let t=s*.7;this._columnResizeRect.transformByState({left:e,top:s/2-t/2}),this._columnResizeRect.setShapeProps({size:t}),this._columnResizeRect.show()}})),this._headerPointerSubs.add(i==null?void 0:i.onPointerLeave$.subscribeEvent((e,t)=>{var n,r;(n=this._rowResizeRect)==null||n.hide(),(r=this._columnResizeRect)==null||r.hide()}))}_initialHoverResize(e=Xa.ROW){let t=this._context.scene,r=e===Xa.ROW?this._rowResizeRect:this._columnResizeRect;r!=null&&(this.disposeWithMe(r.onPointerEnter$.subscribeEvent(()=>{r!=null&&(r.show(),t.setCursor(e===Xa.ROW?i.CURSOR_TYPE.ROW_RESIZE:i.CURSOR_TYPE.COLUMN_RESIZE))})),this.disposeWithMe(r.onPointerLeave$.subscribeEvent(()=>{r!=null&&(r.hide(),t.resetCursor())})),this.disposeWithMe(r.onPointerDown$.subscribeEvent(t=>{var n,r,o,s,c;let l=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(l==null)return;let u=this._context.scene,d=u.getEngine(),f=(d==null?void 0:d.height)||0,p=(d==null?void 0:d.width)||0,m=u.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),h=((m==null||(r=m.getScrollBar())==null||(r=r.horizonScrollTrack)==null?void 0:r.height)||0)+10,g=((m==null||(o=m.getScrollBar())==null||(o=o.verticalScrollTrack)==null?void 0:o.width)||0)+10,_=Nr(t.offsetX,t.offsetY,u,l),{scaleX:v,scaleY:y}=u.getAncestorScale();this._startOffsetX=_.x,this._startOffsetY=_.y;let b=l.getOffsetByColumn(this._currentColumn),x=l.getOffsetByRow(this._currentRow),S=l.getNoMergeCellWithCoordByIndex(this._currentRow,this._currentColumn),C=!1,w=0,T=0,{columnTotalWidth:E,rowHeaderWidth:D,rowTotalHeight:O,columnHeaderHeight:k}=l,A=p>E+D?p:E+D,j=f>O+k?f:O+k,M=4/Math.max(v,y);e===Xa.ROW?this._resizeHelperShape=new i.Rect(Ja,{width:A,height:M,fill:Ya,left:0,top:x-M/2}):this._resizeHelperShape=new i.Rect(Ja,{width:M,height:j,fill:Ya,left:b-M/2,top:0});let N=((s=this._columnResizeRect)==null?void 0:s.left)||0,P=((c=this._rowResizeRect)==null?void 0:c.top)||0;u.addObject(this._resizeHelperShape,10),u.disableObjectsEvent(),this._scenePointerMoveSub=u.onPointerMove$.subscribeEvent(t=>{let n=u.getCoordRelativeToViewport(i.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),r=u.getScrollXYInfoByViewport(n,m),{x:a,y:o}=Nr(t.offsetX,t.offsetY,u,l),{scaleX:s,scaleY:c}=u.getAncestorScale(),d=4/Math.max(s,c);if(w=a-this._startOffsetX-d/2,T=o-this._startOffsetY-d/2,Math.abs(e===Xa.ROW?T:w)>=2&&(C=!0),e===Xa.ROW){if(T>f-h+r.y-S.startY&&(T=f-h+r.y-S.startY),T<-(S.endY-S.startY)+2&&(T=-(S.endY-S.startY)+2),C){var _,v,y;(_=this._resizeHelperShape)==null||_.transformByState({top:x+T}),(v=this._rowResizeRect)==null||v.transformByState({top:P+T+d/2}),(y=this._rowResizeRect)==null||y.show(),u.setCursor(i.CURSOR_TYPE.ROW_RESIZE)}}else if(w>p-g+r.x-S.startX&&(w=p-g+r.x-S.startX),w<-(S.endX-S.startX)+2&&(w=-(S.endX-S.startX)+2),C){var E,D,O;(E=this._resizeHelperShape)==null||E.transformByState({left:b+w}),(D=this._columnResizeRect)==null||D.transformByState({left:N+w+d/2}),(O=this._columnResizeRect)==null||O.show(),u.setCursor(i.CURSOR_TYPE.COLUMN_RESIZE)}}),this._scenePointerUpSub=u.onPointerUp$.subscribeEvent(t=>{var n;let r=this._context.scene;if(this._clearObserverEvent(),(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,r.enableObjectsEvent(),C){var i,o;r.resetCursor(),(i=this._rowResizeRect)==null||i.hide(),(o=this._columnResizeRect)==null||o.hide(),e===Xa.ROW?this._commandService.executeCommand(a.DeltaRowHeightCommand.id,{deltaY:T,anchorRow:this._currentRow}):this._commandService.executeCommand(a.DeltaColumnWidthCommand.id,{deltaX:w,anchorCol:this._currentColumn})}})})),this.disposeWithMe(r.onDblclick$.subscribeEvent(()=>{var t;this._context.scene.resetCursor();let r=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(!r)return;let i=r.worksheet.getRowCount()-1||0,o=r.worksheet.getColumnCount()-1||0;switch(e){case Xa.COLUMN:{var s;let e=this._selectionManagerService.getCurrentSelections(),t=[];for(let r=0;r<e.length;r++){let a=e[r];a.range.rangeType===n.RANGE_TYPE.COLUMN&&this._currentColumn<=a.range.endColumn&&this._currentColumn>=a.range.startColumn&&t.push({startColumn:a.range.startColumn,endColumn:a.range.endColumn,startRow:0,endRow:i})}t.length===0&&t.push({startColumn:this._currentColumn,endColumn:this._currentColumn,startRow:0,endRow:i}),this._commandService.executeCommand(Hr.id,{ranges:t}),(s=this._columnResizeRect)==null||s.hide();break}case Xa.ROW:var c;this._commandService.executeCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{ranges:[{startRow:this._currentRow,endRow:this._currentRow,startColumn:0,endColumn:o}]}),(c=this._rowResizeRect)==null||c.hide();break}})))}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}};Qa=H([V(1,(0,n.Inject)(U)),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,n.ICommandService)],Qa);let $a=class extends n.RxDisposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._configService=t,this._sheetSkeletonManagerService=n,this._sheetRenderService=r,this._commandService=i,this._telemetryService=a,R(this,`_renderMetric$`,new o.Subject),R(this,`renderMetric$`,this._renderMetric$.asObservable()),R(this,`_renderFrameTimeMetric`,null),R(this,`_renderFrameTags`,{}),R(this,`_afterRenderMetric$`,new o.Subject),this._addNewRender(),this._initRenderMetricSubscriber()}_addNewRender(){let{scene:e,engine:t,unit:n}=this._context;this._addComponent(n),this._initRerenderScheduler(),this._initCommandListener();let r=this._context.unit.getActiveSheet();if(!r)throw Error(`No active sheet found`);let i=r.getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:i});let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?t.runRenderLoop(a):t.stopRenderLoop(a)}))}_initRenderMetricSubscriber(){let{engine:e}=this._context;e.beginFrame$.subscribe(()=>{this._renderFrameTimeMetric=null,this._renderFrameTags={}}),e.endFrame$.subscribe(()=>{this._renderFrameTimeMetric&&Object.keys(this._renderFrameTimeMetric).filter(e=>e.startsWith(i.SHEET_EXTENSION_PREFIX)).length>0&&this._afterRenderMetric$.next({frameTimeMetric:this._renderFrameTimeMetric,tags:this._renderFrameTags})}),e.renderFrameTimeMetric$.subscribe(([e,t])=>{this._renderFrameTimeMetric||(this._renderFrameTimeMetric={}),this._renderFrameTimeMetric[e]||(this._renderFrameTimeMetric[e]=[]),this._renderFrameTimeMetric[e].push(Math.round(t*100)/100)}),e.renderFrameTags$.subscribe(([e,t])=>{this._renderFrameTags[e]=t});let t=[];this._afterRenderMetric$.pipe((0,o.withLatestFrom)(e.endFrame$)).subscribe(([e,n])=>{t.push({FPS:n.FPS,elapsedTime:n.elapsedTime,frameTime:Math.round(n.frameTime*100)/100,...e.frameTimeMetric,...e.tags}),t.length>60&&(this._captureRenderMetric(t),t.length=0)})}_captureRenderMetric(e){var t;let n=e;if(n.length===0)return;let r=e=>{let t=0,n=Object.entries(e).filter(([e,t])=>Array.isArray(t)).map(([e])=>e).reduce((t,n)=>(t[n]=e[n].reduce((e,t)=>e+t,0),t),{});return Object.keys(e).filter(e=>e.startsWith(i.SHEET_EXTENSION_PREFIX)).forEach(e=>{t+=n[e]}),{...n,extensionTotal:t}},a=(e=>Object.entries(e[0]).filter(([e,t])=>![`elapsedTime`].includes(e)).filter(([e,t])=>typeof t==`number`).map(([e])=>e).reduce((t,n)=>{let r=e.map(e=>e[n]),i=Math.max(...r),a=Math.min(...r),o=r.reduce((e,t)=>e+t,0)/r.length;return t[n]={max:Math.round(i*100)/100,min:Math.round(a*100)/100,avg:Math.round(o*100)/100},t},{}))(e.map(e=>({...e,...r(e)}))),o=n[n.length-1].elapsedTime,s={sheetId:this._context.unit.getActiveSheet().getSheetId(),unitId:this._context.unit.getUnitId(),elapsedTimeToStart:o,...a};this._renderMetric$.next(s),(t=this._telemetryService)==null||t.capture(`sheet_render_cost`,s)}_addComponent(e){let{scene:t,components:n}=this._context,r=e.getActiveSheet(),a=new i.Spreadsheet(L.MAIN);this._addViewport(r);let o=new i.SpreadsheetRowHeader(L.ROW),s=new i.SpreadsheetColumnHeader(L.COLUMN),c=new i.Rect(L.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:`rgb(248, 249, 250)`,stroke:`rgb(217, 217, 217)`,strokeWidth:1});this._context.mainComponent=a,n.set(L.MAIN,a),n.set(L.ROW,o),n.set(L.COLUMN,s),n.set(L.LEFT_TOP,c),t.addObjects([a],0),t.addObjects([o,s,c],10),t.enableLayerCache(0,10)}_initViewports(e,t,n){let r=t.hidden?0:t.width,a=n.hidden?0:n.height,o=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN,e,{left:r,top:a,bottom:0,right:0,isWheelPreventDefaultX:!0,allowCache:!0,bufferEdgeX:100,bufferEdgeY:100}),s=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),c=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:100}),l=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:100,bufferEdgeY:0}),u=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0}),d=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM,e,{left:0,top:a,bottom:0,width:r+1,isWheelPreventDefaultX:!0}),f=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0}),p=new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT,e,{left:r,top:0,height:a+1,right:0,isWheelPreventDefaultX:!0});return{viewMain:o,viewLeftTop:new i.Viewport(i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP,e,{left:0,top:0,width:r,height:a,isWheelPreventDefaultX:!0}),viewMainLeftTop:s,viewMainLeft:c,viewMainTop:l,viewColumnLeft:f,viewRowTop:u,viewRowBottom:d,viewColumnRight:p}}_addViewport(e){let t=this._context.scene,{rowHeader:n,columnHeader:r}=e.getConfig(),{viewMain:a}=this._initViewports(t,n,r),o=this._configService.getConfig(ei);return new i.ScrollBar(a,o==null?void 0:o.scrollConfig),t.attachControl(),a}_initRerenderScheduler(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;let{skeleton:t,sheetId:n}=e,r=this._context.unit,i=r==null?void 0:r.getSheetBySheetId(n);if(r==null||i==null)return;let{mainComponent:a,components:o}=this._context,s=a,c=o.get(L.ROW),l=o.get(L.COLUMN),u=o.get(L.LEFT_TOP),{rowHeaderWidth:d,columnHeaderHeight:f}=t;s==null||s.updateSkeleton(t),c==null||c.updateSkeleton(t),l==null||l.updateSkeleton(t),u==null||u.transformByState({width:d,height:f})}))}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unit:r}=this._context,{id:i}=e;if(a.COMMAND_LISTENER_SKELETON_CHANGE.includes(i)||this._sheetRenderService.checkMutationShouldTriggerRerender(i)){let{unitId:t,subUnitId:n}=e.params,a=r.getActiveSheet();if(!a)return;let o=this._context.unitId,s=a.getSheetId();if(t!==o||n!==s)return;this._sheetSkeletonManagerService.makeDirty({sheetId:s,commandId:i},!0),this._sheetSkeletonManagerService.setCurrent({sheetId:s,commandId:i})}else a.COMMAND_LISTENER_VALUE_CHANGE.includes(i)&&this._sheetSkeletonManagerService.reCalculate();e.type===n.CommandType.MUTATION&&this._markUnitDirty(e,t)}))}_markUnitDirty(e,t){if(e.id.substring(0,3)===`doc`)return;let{mainComponent:n,scene:r}=this._context;if(e.id===l.SetFormulaCalculationNotificationMutation.id&&e.params.stageInfo!=null||(n&&n.makeDirty(),r.makeDirty(),!e.params))return;let i=e.params,o=this._spreadsheetViewports(r);if(e.id===a.SetRangeValuesMutation.id&&i.cellValue&&!(t!=null&&t.fromChangeset)){let e=this._cellValueToRange(i.cellValue),t=this._rangeToBounds([e]);this._markViewportDirty(o,t),n.setDirtyArea(t)}if(e.id===a.MoveRangeMutation.id&&i.from&&i.to&&!(t!=null&&t.fromChangeset)){let e=i.fromRange||this._cellValueToRange(i.from.value),t=i.toRange||this._cellValueToRange(i.to.value),r=this._rangeToBounds([e,t]);this._markViewportDirty(o,r),n.setDirtyArea(r)}}_cellValueToRange(e){let t=[],n=0,r=0,i=0,a=0;for(let[o,s]of Object.entries(e)){for(let e in s)t.push(Number(e)),n>Number(e)&&(n=Number(e)),r<Number(e)&&(r=Number(e));i>Number(o)&&(i=Number(o)),a<Number(o)&&(a=Number(o))}return{startRow:i,endRow:a,startColumn:n,endColumn:r}}_rangeToBounds(e){let{rowHeightAccumulation:t,columnWidthAccumulation:n,rowHeaderWidth:r,columnHeaderHeight:i}=this._sheetSkeletonManagerService.getCurrentParam().skeleton,a=[];for(let o of e){let{startRow:e,endRow:s,startColumn:c,endColumn:l}=o,u=e===0?0:t[e-1]+i,d=t[s]+i,f=c===0?0:n[c-1]+r,p=n[l]+r;a.push({top:u,left:f,bottom:d,right:p,width:p-f,height:d-u})}return a}_markViewportDirty(e,t){let r=e.filter(e=>e.isActive&&e.cacheBound);for(let e of r)for(let r of t)n.Rectangle.hasIntersectionBetweenTwoRect(e.cacheBound,r)&&e.markDirty(!0)}_spreadsheetViewports(e){return e.getViewports().filter(e=>[`viewMain`,`viewMainLeftTop`,`viewMainTop`,`viewMainLeft`].includes(e.viewportKey))}};$a=H([V(1,(0,n.Inject)(n.IConfigService)),V(2,(0,n.Inject)(U)),V(3,(0,n.Inject)(wi)),V(4,n.ICommandService),V(5,(0,n.Optional)(u.ITelemetryService))],$a);function X({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,c.useRef)(`_${ro()}`);return eo(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function eo(e,t,n,r,i){return(0,c.createElement)(e.tag,{key:t,...to(e,n,i),...r},(no(e,n).children||[]).map((r,a)=>eo(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function to(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function no(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function ro(){return Math.random().toString(36).substring(2,8)}X.displayName=`UniverIcon`;let io={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ao=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:io}))});ao.displayName=`CheckMarkIcon`;let oo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},so=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`close-icon`,ref:t,icon:oo}))});so.displayName=`CloseIcon`;let co={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`g`,attrs:{fill:`currentColor`,clipPath:`url(#convert-icon_clip0_911_593)`},children:[{tag:`path`,attrs:{d:`M2.44766 0.848145C1.564 0.848145 0.847656 1.56449 0.847656 2.44814V6.44814C0.847656 7.3318 1.564 8.04814 2.44766 8.04814H6.44766C7.33131 8.04814 8.04766 7.3318 8.04766 6.44814V2.44814C8.04766 1.56449 7.33131 0.848145 6.44766 0.848145H2.44766ZM2.04766 6.44814V5.04824H3.84775V6.84814H2.44766C2.22674 6.84814 2.04766 6.66906 2.04766 6.44814ZM2.04766 3.84824H3.84775V2.04814H2.44766C2.22674 2.04814 2.04766 2.22723 2.04766 2.44814V3.84824ZM5.04775 6.84814V5.04824H6.84766V6.44814C6.84766 6.66906 6.66857 6.84814 6.44766 6.84814H5.04775ZM5.04775 3.84824H6.84766V2.44814C6.84766 2.22723 6.66857 2.04814 6.44766 2.04814H5.04775V3.84824Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{d:`M9.55215 7.95166C8.66849 7.95166 7.95215 8.668 7.95215 9.55166V13.5517C7.95215 14.4353 8.66849 15.1517 9.55215 15.1517L11.5522 15.1517L13.5521 15.1517C14.4358 15.1517 15.1521 14.4353 15.1521 13.5517L15.1521 11.5518L15.1521 9.55166C15.1521 8.668 14.4358 7.95166 13.5521 7.95166H9.55215ZM13.9521 10.9518V9.55166C13.9521 9.33075 13.7731 9.15166 13.5521 9.15166H12.1522V10.9518H13.9521ZM10.9522 10.9518V9.15166H9.55215C9.33123 9.15166 9.15215 9.33075 9.15215 9.55166V10.9518H10.9522ZM9.15215 12.1518H10.9522V13.9517H9.55215C9.33123 13.9517 9.15215 13.7726 9.15215 13.5517V12.1518ZM12.1522 12.1518H13.9521V13.5517C13.9521 13.7726 13.7731 13.9517 13.5521 13.9517H12.1522V12.1518Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{d:`M9.62158 2.44912C9.62158 2.11775 9.89021 1.84912 10.2216 1.84912H12.7516C13.6352 1.84912 14.3516 2.56547 14.3516 3.44912V5.9791C14.3516 6.31047 14.0829 6.5791 13.7516 6.5791C13.4202 6.5791 13.1516 6.31047 13.1516 5.9791V3.44912C13.1516 3.22821 12.9725 3.04912 12.7516 3.04912H10.2216C9.89021 3.04912 9.62158 2.78049 9.62158 2.44912Z`}},{tag:`path`,attrs:{d:`M5.77871 14.1507C6.11008 14.1507 6.37871 13.8821 6.37871 13.5507C6.37871 13.2193 6.11008 12.9507 5.77871 12.9507L3.24873 12.9507C3.02782 12.9507 2.84873 12.7716 2.84873 12.5507L2.84873 10.0207C2.84873 9.68933 2.5801 9.4207 2.24873 9.4207C1.91736 9.4207 1.64873 9.68933 1.64873 10.0207L1.64873 12.5507C1.64873 13.4343 2.36507 14.1507 3.24873 14.1507H5.77871Z`}}]},{tag:`defs`,attrs:{},children:[{tag:`clipPath`,attrs:{id:`convert-icon_clip0_911_593`},children:[{tag:`path`,attrs:{fill:`white`,d:`M0 0H16V16H0z`}}]}]}],defIds:[`convert-icon_clip0_911_593`]},lo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`convert-icon`,ref:t,icon:co}))});lo.displayName=`ConvertIcon`;let uo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},fo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`delete-icon`,ref:t,icon:uo}))});fo.displayName=`DeleteIcon`;let po={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z`}}]},mo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`dropdown-icon`,ref:t,icon:po}))});mo.displayName=`DropdownIcon`;let ho={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM10.3097 5.69014C10.544 5.92445 10.544 6.30435 10.3097 6.53867L8.84843 7.9999L10.3099 9.46137C10.5442 9.69569 10.5442 10.0756 10.3099 10.3099C10.0756 10.5442 9.69569 10.5442 9.46137 10.3099L7.9999 8.84843L6.53842 10.3099C6.30411 10.5442 5.92421 10.5442 5.6899 10.3099C5.45558 10.0756 5.45558 9.69569 5.6899 9.46137L7.15137 7.9999L5.69014 6.53867C5.45583 6.30435 5.45583 5.92445 5.69014 5.69014C5.92445 5.45583 6.30435 5.45583 6.53867 5.69014L7.9999 7.15137L9.46113 5.69014C9.69544 5.45583 10.0753 5.45583 10.3097 5.69014Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},go=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`error-icon`,ref:t,icon:ho}))});go.displayName=`ErrorIcon`;let _o={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.28096 4.6541C1.57489 4.50109 1.93721 4.61533 2.09022 4.90926C2.27315 5.26067 2.55999 5.60455 2.94829 5.92278C4.04628 6.82266 5.87505 7.44865 7.99828 7.44865C10.1215 7.44865 11.9503 6.82267 13.0482 5.92279C13.4366 5.60455 13.7234 5.26067 13.9063 4.90927C14.0594 4.61533 14.4217 4.50109 14.7156 4.65409C15.0095 4.8071 15.1238 5.16941 14.9708 5.46334C14.6995 5.98445 14.2981 6.44997 13.8089 6.8509C13.7298 6.91575 13.6481 6.97914 13.564 7.041L15.2245 8.70153C15.4588 8.93585 15.4588 9.31575 15.2245 9.55006C14.9902 9.78438 14.6103 9.78438 14.376 9.55006L12.5041 7.67822C11.8977 7.97568 11.2181 8.21208 10.4884 8.37706L11.0996 10.6581C11.1853 10.9782 10.9954 11.3072 10.6753 11.393C10.3552 11.4787 10.0262 11.2888 9.94045 10.9687L9.29949 8.57652C8.8758 8.62404 8.44081 8.64865 7.99828 8.64865C7.55276 8.64865 7.11487 8.62371 6.68846 8.57555L6.04723 10.9687C5.96147 11.2888 5.63247 11.4788 5.31239 11.393C4.99231 11.3073 4.80236 10.9783 4.88812 10.6582L5.49983 8.37516C4.7743 8.2105 4.09843 7.9752 3.49498 7.67947L1.62436 9.55009C1.39005 9.78441 1.01015 9.78441 0.775835 9.5501C0.54152 9.31578 0.541518 8.93588 0.775832 8.70157L2.43478 7.04261C2.34987 6.98024 2.26746 6.91632 2.18764 6.8509C1.69842 6.44997 1.29706 5.98445 1.0258 5.46335C0.872791 5.16942 0.987031 4.80711 1.28096 4.6541Z`}}]},vo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`eyelash-icon`,ref:t,icon:_o}))});vo.displayName=`EyelashIcon`;let yo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 17`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M6.06409 5.53454C5.93592 5.53454 5.84083 5.41567 5.86897 5.29063L5.95442 4.9109C6.05444 4.48178 6.23806 4.11547 6.51182 3.81952C6.81082 3.49628 7.25398 3.35405 7.79738 3.35405C7.99847 3.35405 8.21359 3.37775 8.44188 3.42245C8.46089 3.42617 8.47974 3.43006 8.49846 3.4341C8.7099 3.4798 8.93698 3.38478 9.02031 3.18514L9.24767 2.6404C9.33457 2.43219 9.23178 2.19404 9.01582 2.12874C8.98358 2.11899 8.95028 2.10912 8.91591 2.09914C8.62745 2.01631 8.28392 1.97217 7.88074 1.97217C6.82015 1.97217 6.02714 2.23936 5.4746 2.7444C4.90987 3.26069 4.50889 3.99917 4.28413 4.9762L2.83703 11.1909C2.76126 11.5286 2.666 11.8917 2.54844 12.2812C2.42975 12.6734 2.2873 13.0595 2.12221 13.4373C1.95577 13.8159 1.76813 14.1762 1.55955 14.5171C1.49345 14.6251 1.42515 14.7282 1.35467 14.8263C1.26508 14.9509 1.3347 15.133 1.48655 15.1554C2.13635 15.2509 2.8179 15.0763 3.18197 14.5296C3.32661 14.3124 3.46779 14.0646 3.60509 13.7851C3.96635 13.0497 4.30522 12.0103 4.61867 10.6574L5.469 7.01534C5.49013 6.92483 5.57082 6.86081 5.66376 6.86081H7.62478C7.8097 6.86081 7.97051 6.73405 8.01371 6.55425L8.14014 6.02798C8.20057 5.77642 8.00992 5.53454 7.75121 5.53454H6.06409Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M14.3211 5.72037L12.5124 7.96963L11.4089 5.77754C11.3422 5.63012 11.1954 5.5354 11.0336 5.5354H10.3129C10.0085 5.5354 9.80921 5.85428 9.9427 6.1279L11.4089 9.05502L8.79783 12.1493C8.56587 12.4158 8.75519 12.8315 9.10855 12.8315H9.68607C9.80672 12.8315 9.9605 12.7822 10.0388 12.6904L12.1108 10.2648L13.1176 12.561C13.1786 12.7231 13.333 12.8315 13.5061 12.8315H14.3C14.5831 12.8315 14.7417 12.6175 14.6426 12.3524L13.1728 9.28628C13.1728 9.28628 15.4009 6.45542 15.6013 6.17892C15.7966 5.90929 15.6023 5.5354 15.2693 5.5354H14.6661C14.5275 5.5354 14.4333 5.58887 14.3211 5.72037Z`}}]},bo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`fx-icon`,ref:t,icon:yo}))});bo.displayName=`FxIcon`;let xo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z`}}]},So=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`increase-icon`,ref:t,icon:xo}))});So.displayName=`IncreaseIcon`;let Co={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},wo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`info-icon`,ref:t,icon:Co}))});wo.displayName=`InfoIcon`;let To={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M2.62402 7.72905C2.58427 7.72905 2.55205 7.76127 2.55205 7.80102V13.6782C2.55205 13.7179 2.58427 13.7502 2.62402 13.7502H13.3755C13.4152 13.7502 13.4474 13.7179 13.4474 13.6782V7.80102C13.4474 7.76127 13.4152 7.72905 13.3755 7.72905H2.62402ZM1.35205 7.80102C1.35205 7.09853 1.92153 6.52905 2.62402 6.52905H13.3755C14.0779 6.52905 14.6474 7.09853 14.6474 7.80102V13.6782C14.6474 14.3807 14.0779 14.9502 13.3755 14.9502H2.62402C1.92153 14.9502 1.35205 14.3807 1.35205 13.6782V7.80102Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8 2.25005C6.69847 2.25003 5.64336 3.30513 5.64336 4.60666V7.12895C5.64336 7.46032 5.37473 7.72895 5.04336 7.72895C4.71199 7.72895 4.44336 7.46032 4.44336 7.12895V4.60666C4.44336 2.64239 6.04451 1.05565 8.00879 1.05566M8 2.25005L8.00879 1.05566L8 2.25005ZM8.00879 1.05566L8 2.25005C9.30154 2.25003 10.3567 3.30513 10.3567 4.60666V7.12895C10.3567 7.46032 10.6253 7.72895 10.9567 7.72895C11.288 7.72895 11.5567 7.46032 11.5567 7.12895V4.60666C11.5567 2.64239 9.97306 1.05565 8.00879 1.05566Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00039 9.4668C8.33176 9.4668 8.60039 9.73543 8.60039 10.0668V12.0827C8.60039 12.4141 8.33176 12.6827 8.00039 12.6827C7.66902 12.6827 7.40039 12.4141 7.40039 12.0827V10.0668C7.40039 9.73543 7.66902 9.4668 8.00039 9.4668Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Eo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`lock-icon`,ref:t,icon:To}))});Eo.displayName=`LockIcon`;let Do={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Oo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`more-down-icon`,ref:t,icon:Do}))});Oo.displayName=`MoreDownIcon`;let ko={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ao=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`more-icon`,ref:t,icon:ko}))});Ao.displayName=`MoreIcon`;let jo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.666 2.70571C11.7769 1.76476 10.3295 1.76476 9.4404 2.70571L3.37843 9.12427C3.31779 9.18848 3.27756 9.26409 3.24979 9.3439C3.24809 9.3493 3.24299 9.3529 3.24129 9.3583L2.02912 13.2097C1.96112 13.4251 2.01439 13.6633 2.16626 13.8236C2.27393 13.9382 2.41901 14 2.56692 14C2.62699 14 2.68762 13.9898 2.74599 13.9688L6.3825 12.6846C6.3876 12.6828 6.391 12.678 6.39553 12.6762C6.47147 12.6474 6.54287 12.6042 6.60351 12.54L12.666 6.12202C13.5558 5.18048 13.5558 3.64725 12.666 2.70571ZM8.62832 5.26209L9.04031 5.69836C9.03918 5.69956 9.03748 5.70016 9.03634 5.70136L4.99182 9.9836L4.58096 9.54853L8.62832 5.26209ZM3.46287 12.4512L4.02673 10.6593L5.15446 11.8535L3.46287 12.4512ZM6.20342 11.2672L5.79256 10.8321L9.83709 6.54988C9.83822 6.54868 9.83879 6.54688 9.83992 6.54568L10.2513 6.98135L6.20342 11.2672ZM11.8647 5.27349L11.0532 6.13282L9.42963 4.41356L10.2411 3.55423C10.6888 3.08016 11.417 3.08076 11.8642 3.55423C12.3124 4.0283 12.3124 4.79942 11.8647 5.27349Z`}}]},Mo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`pen-icon`,ref:t,icon:jo}))});Mo.displayName=`PenIcon`;let No={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.785 6.77762C5.78908 6.7777 5.79316 6.77774 5.79725 6.77774C5.80134 6.77774 5.80543 6.7777 5.8095 6.77762H10.0184C10.0225 6.7777 10.0266 6.77774 10.0307 6.77774C10.0347 6.77774 10.0388 6.7777 10.0429 6.77762H13.6638V7.63727C13.6638 7.96864 13.9324 8.23727 14.2638 8.23727C14.5951 8.23727 14.8638 7.96864 14.8638 7.63727V3.9999C14.8638 2.56395 13.6997 1.39989 12.2637 1.3999L3.56389 1.39999C2.12797 1.40001 0.96393 2.56405 0.96392 3.99998L0.963867 11.6666C0.963857 13.1025 2.12792 14.2666 3.56387 14.2666H8.0542C8.38557 14.2666 8.6542 13.9979 8.6542 13.6666C8.6542 13.3352 8.38557 13.0666 8.0542 13.0666H3.56387C2.79067 13.0666 2.16386 12.4398 2.16387 11.6666L2.1639 6.77762H5.785ZM6.39725 2.59996L9.43065 2.59993V5.57762H6.39725V2.59996ZM5.19725 5.57762V2.59998L3.56391 2.59999C2.79072 2.6 2.16393 3.22679 2.16392 3.99998L2.16391 5.57762H5.19725ZM13.6638 5.57762V3.9999C13.6638 3.2267 13.037 2.59989 12.2638 2.5999L10.6307 2.59992V5.57762H13.6638Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1223 10.2333V10.7496C14.7087 10.9869 15.1223 11.5618 15.1223 12.2333V12.8999C15.1223 13.7836 14.406 14.4999 13.5223 14.4999H11.5223C10.6387 14.4999 9.92235 13.7836 9.92235 12.8999V12.2333C9.92235 11.5618 10.336 10.9869 10.9223 10.7496V10.2333C10.9223 9.34961 11.6387 8.63328 12.5223 8.63328C13.406 8.63328 14.1223 9.34961 14.1223 10.2333ZM11.1223 12.2333C11.1223 12.0124 11.3014 11.8333 11.5223 11.8333H13.5223C13.7433 11.8333 13.9223 12.0124 13.9223 12.2333V12.8999C13.9223 13.1209 13.7433 13.2999 13.5223 13.2999H11.5223C11.3014 13.2999 11.1223 13.1209 11.1223 12.8999V12.2333ZM12.9223 10.2333V10.6333H12.1223V10.2333C12.1223 10.0124 12.3014 9.83328 12.5223 9.83328C12.7433 9.83328 12.9223 10.0124 12.9223 10.2333Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Po=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`protect-icon`,ref:t,icon:No}))});Po.displayName=`ProtectIcon`;let Fo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8.00008 12.3671C8.46031 12.3671 8.83342 11.994 8.83342 11.5338C8.83342 11.0735 8.46031 10.7004 8.00008 10.7004C7.53985 10.7004 7.16675 11.0735 7.16675 11.5338C7.16675 11.994 7.53985 12.3671 8.00008 12.3671ZM8.5999 4.4335C8.5999 4.10213 8.33127 3.8335 7.9999 3.8335C7.66853 3.8335 7.3999 4.10213 7.3999 4.4335V9.36683C7.3999 9.6982 7.66853 9.96683 7.9999 9.96683C8.33127 9.96683 8.5999 9.6982 8.5999 9.36683V4.4335Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Io=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`warning-icon`,ref:t,icon:Fo}))});Io.displayName=`WarningIcon`;let Lo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z`}}]},Ro=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`write-icon`,ref:t,icon:Lo}))});Ro.displayName=`WriteIcon`;let zo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`colorChannel1`,d:`M11.0363 12.2367V14.0367C11.0363 14.3681 11.3049 14.6367 11.6363 14.6367C11.9676 14.6367 12.2363 14.3681 12.2363 14.0367V12.2367H14.0364C14.3677 12.2367 14.6364 11.9681 14.6364 11.6367C14.6364 11.3054 14.3677 11.0367 14.0364 11.0367H12.2363V9.23672C12.2363 8.90535 11.9676 8.63672 11.6363 8.63672C11.3049 8.63672 11.0363 8.90535 11.0363 9.23672V11.0367H9.23635C8.90498 11.0367 8.63635 11.3054 8.63635 11.6367C8.63635 11.9681 8.90498 12.2367 9.23635 12.2367H11.0363Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M2.56365 1.36377C1.90091 1.36377 1.36365 1.90103 1.36365 2.56377V6.16377C1.36365 6.82651 1.90091 7.36377 2.56365 7.36377H6.16365C6.82639 7.36377 7.36365 6.82651 7.36365 6.16377V2.56377C7.36365 1.90103 6.82639 1.36377 6.16365 1.36377H2.56365ZM6.16365 2.56377H2.56365L2.56365 6.16377H6.16365V2.56377Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M2.56365 8.63647C1.90091 8.63647 1.36365 9.17373 1.36365 9.83647V13.4365C1.36365 14.0992 1.90091 14.6365 2.56365 14.6365H6.16365C6.82639 14.6365 7.36365 14.0992 7.36365 13.4365V9.83647C7.36365 9.17373 6.82639 8.63647 6.16365 8.63647H2.56365ZM6.16365 9.83647H2.56365L2.56365 13.4365H6.16365V9.83647Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.83635 7.36377C9.17361 7.36377 8.63635 6.82651 8.63635 6.16377V2.56377C8.63635 1.90103 9.17361 1.36377 9.83635 1.36377H13.4364C14.0991 1.36377 14.6364 1.90103 14.6364 2.56377V6.16377C14.6364 6.82651 14.0991 7.36377 13.4364 7.36377H9.83635ZM9.83635 6.16377V2.56377L13.4364 2.56377V6.16377H9.83635Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Bo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`autofill-double-icon`,ref:t,icon:zo}))});Bo.displayName=`AutofillDoubleIcon`;let Vo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`colorChannel1`,d:`M6.4833 1.65005C6.4833 1.31868 6.21467 1.05005 5.8833 1.05005C5.55193 1.05005 5.2833 1.31868 5.2833 1.65005V5.28345H1.65029C1.31892 5.28345 1.05029 5.55208 1.05029 5.88345C1.05029 6.21482 1.31892 6.48345 1.65029 6.48345H5.2833V9.51684H1.65029C1.31892 9.51684 1.05029 9.78547 1.05029 10.1168C1.05029 10.4482 1.31892 10.7168 1.65029 10.7168H5.2833V14.35C5.2833 14.6814 5.55193 14.95 5.8833 14.95C6.21467 14.95 6.4833 14.6814 6.4833 14.35V10.7168H9.5167V14.35C9.5167 14.6814 9.78533 14.95 10.1167 14.95C10.4481 14.95 10.7167 14.6814 10.7167 14.35V10.7168H14.3503C14.6817 10.7168 14.9503 10.4482 14.9503 10.1168C14.9503 9.78547 14.6817 9.51685 14.3503 9.51685H10.7167V6.48345H14.3503C14.6817 6.48345 14.9503 6.21482 14.9503 5.88345C14.9503 5.55208 14.6817 5.28345 14.3503 5.28345H10.7167V1.65005C10.7167 1.31868 10.4481 1.05005 10.1167 1.05005C9.78533 1.05005 9.5167 1.31868 9.5167 1.65005V5.28345L6.4833 5.28345V1.65005ZM6.4833 6.48345V9.51684L9.5167 9.51685V6.48345L6.4833 6.48345Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.0498 3.65005C1.0498 2.21411 2.21386 1.05005 3.6498 1.05005H12.3498C13.7857 1.05005 14.9498 2.21411 14.9498 3.65005V12.3501C14.9498 13.786 13.7857 14.95 12.3498 14.95H3.6498C2.21386 14.95 1.0498 13.786 1.0498 12.35V3.65005ZM3.6498 2.25005C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H3.6498Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ho=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`hide-gridlines-double-icon`,ref:t,icon:Vo}))});Ho.displayName=`HideGridlinesDoubleIcon`;let Uo={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.01281 1.36643C8.79386 0.585377 10.0602 0.585378 10.8412 1.36643L12.9223 3.44752C13.7034 4.22857 13.7034 5.4949 12.9223 6.27595L9.36445 9.83383C8.5834 10.6149 7.31707 10.6149 6.53602 9.83383L4.45493 7.75273C3.67388 6.97168 3.67388 5.70535 4.45493 4.9243L8.01281 1.36643ZM9.9927 2.21495C9.68028 1.90253 9.17375 1.90253 8.86133 2.21495L5.30346 5.77283L5.29671 5.77966L10.839 6.66224L12.0738 5.42742C12.3862 5.115 12.3862 4.60847 12.0738 4.29605L9.9927 2.21495Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M14.5179 9.48875C14.5179 9.99175 14.1101 10.3995 13.607 10.3995C13.1041 10.3995 12.6963 9.99175 12.6963 9.48875C12.6963 9.1773 13.0455 8.59966 13.3114 8.20487C13.4549 7.99177 13.7591 7.99177 13.9027 8.20486C14.1687 8.59965 14.5179 9.1773 14.5179 9.48875Z`}},{tag:`path`,attrs:{fill:`colorChannel1`,d:`M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z`}}]},Wo=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`paint-bucket-double-icon`,ref:t,icon:Uo}))});Wo.displayName=`PaintBucketDoubleIcon`;let Go={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`colorChannel1`,d:`M7.74692 9.12463C7.74692 9.46018 8.01893 9.73219 8.35448 9.73219H11.4933C11.8288 9.73219 12.1009 9.46018 12.1009 9.12463C12.1009 8.78909 11.8288 8.51707 11.4933 8.51707H8.35448C8.01893 8.51707 7.74692 8.78909 7.74692 9.12463Z`}},{tag:`path`,attrs:{fill:`colorChannel1`,d:`M10.8636 10.8523C10.8636 11.1879 10.5915 11.4599 10.256 11.4599H8.35448C8.01893 11.4599 7.74692 11.1879 7.74692 10.8523C7.74692 10.5168 8.01893 10.2447 8.35448 10.2447H10.256C10.5915 10.2447 10.8636 10.5168 10.8636 10.8523Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M5.4791 1.98268C5.47913 1.71529 5.87912 1.49854 6.37252 1.49854C6.86593 1.49854 7.26592 1.71529 7.26595 1.98268H7.62187C8.22277 1.98268 8.72459 2.39534 8.84412 2.9452H9.39563C10.0856 2.9452 10.6449 3.48923 10.6449 4.16032V6.00569H12.1261C13.161 6.00569 14 6.82174 14 7.82838V11.334C14 11.8174 13.8025 12.281 13.4511 12.6228L12.0693 13.9647C11.7179 14.3065 11.2412 14.4985 10.7442 14.4985H7.91116C7.05024 14.4985 6.32492 14.0431 6.10535 13.2737H3.34925C2.6593 13.2737 2.09998 12.7297 2.09998 12.0586V4.16032C2.09998 3.48923 2.6593 2.9452 3.34925 2.9452H3.90107C4.0206 2.39534 4.52241 1.98268 5.12332 1.98268H5.4791ZM3.97249 4.16032H3.24925L3.24925 12.0586H6.03725V7.82838C6.03725 6.82174 6.87623 6.00569 7.91116 6.00569H9.49563V4.16032H8.7727C8.58289 4.59611 8.13909 4.90183 7.62187 4.90183H5.12332C4.6061 4.90183 4.1623 4.59611 3.97249 4.16032ZM5.12332 2.89403H7.62187C7.79436 2.89403 7.93419 3.03003 7.93419 3.19781V3.68671C7.93419 3.85448 7.79436 3.99049 7.62187 3.99049H5.12332C4.95083 3.99049 4.811 3.85448 4.811 3.68671V3.19781C4.811 3.03003 4.95083 2.89403 5.12332 2.89403ZM7.91116 7.11157C7.56618 7.11157 7.28652 7.38359 7.28652 7.71913V12.7851C7.28652 13.1206 7.56618 13.3927 7.91116 13.3927H10.7442C10.8401 13.3927 10.9337 13.3712 11.0182 13.3311C11.1373 13.2746 11.1859 13.1423 11.1859 13.0134V12.0066C11.1859 11.8724 11.2978 11.7636 11.4358 11.7636H12.4709C12.6034 11.7636 12.7394 11.7163 12.7975 11.6004C12.8388 11.5182 12.8608 11.4272 12.8608 11.334V7.71913C12.8608 7.38359 12.5811 7.11157 12.2362 7.11157H7.91116Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ko=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(X,Object.assign({},e,{id:`paste-special-double-icon`,ref:t,icon:Go}))});Ko.displayName=`PasteSpecialDoubleIcon`;let qo=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z`}),(0,f.jsx)(`path`,{d:`M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z`}),(0,f.jsx)(`path`,{d:`M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z`}),(0,f.jsx)(`path`,{d:`M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z`}),(0,f.jsx)(`path`,{d:`M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z`}),(0,f.jsx)(`path`,{d:`M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z`}),(0,f.jsx)(`path`,{d:`M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z`}),(0,f.jsx)(`path`,{d:`M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z`}),(0,f.jsx)(`path`,{d:`M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z`}),(0,f.jsx)(`path`,{d:`M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z`}),(0,f.jsx)(`path`,{d:`M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z`}),(0,f.jsx)(`path`,{d:`M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z`}),(0,f.jsx)(`path`,{d:`M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z`}),(0,f.jsx)(`path`,{d:`M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z`}),(0,f.jsx)(`path`,{d:`M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z`}),(0,f.jsx)(`path`,{d:`M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z`}),(0,f.jsx)(`path`,{d:`M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z`}),(0,f.jsx)(`path`,{d:`M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z`}),(0,f.jsx)(`path`,{d:`M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z`}),(0,f.jsx)(`path`,{d:`M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z`}),(0,f.jsx)(`path`,{d:`M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z`}),(0,f.jsx)(`path`,{d:`M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z`}),(0,f.jsx)(`path`,{d:`M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z`}),(0,f.jsx)(`path`,{d:`M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z`}),(0,f.jsx)(`path`,{d:`M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z`}),(0,f.jsx)(`path`,{d:`M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z`}),(0,f.jsx)(`path`,{d:`M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z`})]}),Jo=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z`}),(0,f.jsx)(`path`,{d:`M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z`}),(0,f.jsx)(`path`,{d:`M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z`}),(0,f.jsx)(`path`,{d:`M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z`}),(0,f.jsx)(`path`,{d:`M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z`}),(0,f.jsx)(`path`,{d:`M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z`}),(0,f.jsx)(`path`,{d:`M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z`}),(0,f.jsx)(`path`,{d:`M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z`}),(0,f.jsx)(`path`,{d:`M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z`}),(0,f.jsx)(`path`,{d:`M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z`}),(0,f.jsx)(`path`,{d:`M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z`}),(0,f.jsx)(`path`,{d:`M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z`}),(0,f.jsx)(`path`,{d:`M55.291 1.15771H54.291V0.157715H55.291V1.15771Z`}),(0,f.jsx)(`path`,{d:`M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z`}),(0,f.jsx)(`path`,{d:`M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z`}),(0,f.jsx)(`path`,{d:`M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z`}),(0,f.jsx)(`path`,{d:`M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z`}),(0,f.jsx)(`path`,{d:`M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z`}),(0,f.jsx)(`path`,{d:`M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z`}),(0,f.jsx)(`path`,{d:`M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z`}),(0,f.jsx)(`path`,{d:`M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z`}),(0,f.jsx)(`path`,{d:`M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z`}),(0,f.jsx)(`path`,{d:`M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z`}),(0,f.jsx)(`path`,{d:`M100.892 1.15771H101.892V0.157715H100.892V1.15771Z`}),(0,f.jsx)(`path`,{d:`M109.592 1.15771H108.592V0.157715H109.592V1.15771Z`}),(0,f.jsx)(`path`,{d:`M111.392 1.15771H114.392V0.157715H111.392V1.15771Z`}),(0,f.jsx)(`path`,{d:`M117.192 1.15771H116.192V0.157715H117.192V1.15771Z`}),(0,f.jsx)(`path`,{d:`M118.992 1.15771H119.992V0.157715H118.992V1.15771Z`})]}),Yo=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z`}),(0,f.jsx)(`path`,{d:`M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z`}),(0,f.jsx)(`path`,{d:`M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z`}),(0,f.jsx)(`path`,{d:`M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z`}),(0,f.jsx)(`path`,{d:`M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z`}),(0,f.jsx)(`path`,{d:`M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z`}),(0,f.jsx)(`path`,{d:`M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z`}),(0,f.jsx)(`path`,{d:`M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z`}),(0,f.jsx)(`path`,{d:`M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z`}),(0,f.jsx)(`path`,{d:`M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z`}),(0,f.jsx)(`path`,{d:`M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z`}),(0,f.jsx)(`path`,{d:`M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z`}),(0,f.jsx)(`path`,{d:`M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z`}),(0,f.jsx)(`path`,{d:`M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z`}),(0,f.jsx)(`path`,{d:`M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z`}),(0,f.jsx)(`path`,{d:`M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z`}),(0,f.jsx)(`path`,{d:`M101.517 1.22449H98.517V0.224487H101.517V1.22449Z`}),(0,f.jsx)(`path`,{d:`M104.675 1.22449H107.675V0.224487H104.675V1.22449Z`}),(0,f.jsx)(`path`,{d:`M113.833 1.22449H110.833V0.224487H113.833V1.22449Z`}),(0,f.jsx)(`path`,{d:`M116.99 1.22449H119.99V0.224487H116.99V1.22449Z`})]}),Xo=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`8`,viewBox:`0 0 120 8`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.06215H-0.0090332V0.862152H119.991V1.86215Z`}),(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 6.66215H-0.0090332V5.86215H119.991V6.86215Z`})]}),Zo=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z`}),(0,f.jsx)(`path`,{d:`M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z`}),(0,f.jsx)(`path`,{d:`M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z`}),(0,f.jsx)(`path`,{d:`M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z`}),(0,f.jsx)(`path`,{d:`M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z`}),(0,f.jsx)(`path`,{d:`M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z`}),(0,f.jsx)(`path`,{d:`M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z`}),(0,f.jsx)(`path`,{d:`M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z`}),(0,f.jsx)(`path`,{d:`M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z`}),(0,f.jsx)(`path`,{d:`M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z`}),(0,f.jsx)(`path`,{d:`M24.324 1.65707H23.324V0.657074H24.324V1.65707Z`}),(0,f.jsx)(`path`,{d:`M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z`}),(0,f.jsx)(`path`,{d:`M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z`}),(0,f.jsx)(`path`,{d:`M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z`}),(0,f.jsx)(`path`,{d:`M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z`}),(0,f.jsx)(`path`,{d:`M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z`}),(0,f.jsx)(`path`,{d:`M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z`}),(0,f.jsx)(`path`,{d:`M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z`}),(0,f.jsx)(`path`,{d:`M42.991 1.65707H41.991V0.657074H42.991V1.65707Z`}),(0,f.jsx)(`path`,{d:`M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z`}),(0,f.jsx)(`path`,{d:`M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z`}),(0,f.jsx)(`path`,{d:`M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z`}),(0,f.jsx)(`path`,{d:`M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z`}),(0,f.jsx)(`path`,{d:`M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z`}),(0,f.jsx)(`path`,{d:`M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z`}),(0,f.jsx)(`path`,{d:`M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z`}),(0,f.jsx)(`path`,{d:`M61.658 1.65707H60.658V0.657074H61.658V1.65707Z`}),(0,f.jsx)(`path`,{d:`M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z`}),(0,f.jsx)(`path`,{d:`M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z`}),(0,f.jsx)(`path`,{d:`M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z`}),(0,f.jsx)(`path`,{d:`M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z`}),(0,f.jsx)(`path`,{d:`M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z`}),(0,f.jsx)(`path`,{d:`M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z`}),(0,f.jsx)(`path`,{d:`M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z`}),(0,f.jsx)(`path`,{d:`M80.325 1.65707H79.325V0.657074H80.325V1.65707Z`}),(0,f.jsx)(`path`,{d:`M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z`}),(0,f.jsx)(`path`,{d:`M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z`}),(0,f.jsx)(`path`,{d:`M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z`}),(0,f.jsx)(`path`,{d:`M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z`}),(0,f.jsx)(`path`,{d:`M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z`}),(0,f.jsx)(`path`,{d:`M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z`}),(0,f.jsx)(`path`,{d:`M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z`}),(0,f.jsx)(`path`,{d:`M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z`}),(0,f.jsx)(`path`,{d:`M100.325 1.65707H101.325V0.657074H100.325V1.65707Z`}),(0,f.jsx)(`path`,{d:`M103.659 1.65707H102.659V0.657074H103.659V1.65707Z`}),(0,f.jsx)(`path`,{d:`M104.992 1.65707H105.992V0.657074H104.992V1.65707Z`}),(0,f.jsx)(`path`,{d:`M108.325 1.65707H107.325V0.657074H108.325V1.65707Z`}),(0,f.jsx)(`path`,{d:`M109.659 1.65707H110.659V0.657074H109.659V1.65707Z`}),(0,f.jsx)(`path`,{d:`M112.992 1.65707H111.992V0.657074H112.992V1.65707Z`}),(0,f.jsx)(`path`,{d:`M114.325 1.65707H115.325V0.657074H114.325V1.65707Z`}),(0,f.jsx)(`path`,{d:`M117.659 1.65707H116.659V0.657074H117.659V1.65707Z`}),(0,f.jsx)(`path`,{d:`M118.992 1.65707H119.992V0.657074H118.992V1.65707Z`})]}),Qo=({className:e})=>(0,f.jsx)(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z`})}),$o=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z`}),(0,f.jsx)(`path`,{d:`M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z`}),(0,f.jsx)(`path`,{d:`M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z`}),(0,f.jsx)(`path`,{d:`M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z`}),(0,f.jsx)(`path`,{d:`M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z`}),(0,f.jsx)(`path`,{d:`M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z`}),(0,f.jsx)(`path`,{d:`M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z`}),(0,f.jsx)(`path`,{d:`M46.391 2.47614H52.391V0.476135H46.391V2.47614Z`}),(0,f.jsx)(`path`,{d:`M56.391 2.47614H54.391V0.476135H56.391V2.47614Z`}),(0,f.jsx)(`path`,{d:`M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z`}),(0,f.jsx)(`path`,{d:`M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z`}),(0,f.jsx)(`path`,{d:`M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z`}),(0,f.jsx)(`path`,{d:`M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z`}),(0,f.jsx)(`path`,{d:`M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z`}),(0,f.jsx)(`path`,{d:`M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z`}),(0,f.jsx)(`path`,{d:`M105.992 2.47614H107.992V0.476135H105.992V2.47614Z`}),(0,f.jsx)(`path`,{d:`M115.992 2.47614H109.992V0.476135H115.992V2.47614Z`}),(0,f.jsx)(`path`,{d:`M117.992 2.47614H119.992V0.476135H117.992V2.47614Z`})]}),es=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z`}),(0,f.jsx)(`path`,{d:`M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z`}),(0,f.jsx)(`path`,{d:`M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z`}),(0,f.jsx)(`path`,{d:`M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z`}),(0,f.jsx)(`path`,{d:`M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z`}),(0,f.jsx)(`path`,{d:`M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z`}),(0,f.jsx)(`path`,{d:`M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z`}),(0,f.jsx)(`path`,{d:`M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z`}),(0,f.jsx)(`path`,{d:`M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z`}),(0,f.jsx)(`path`,{d:`M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z`}),(0,f.jsx)(`path`,{d:`M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z`}),(0,f.jsx)(`path`,{d:`M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z`}),(0,f.jsx)(`path`,{d:`M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z`}),(0,f.jsx)(`path`,{d:`M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z`}),(0,f.jsx)(`path`,{d:`M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z`}),(0,f.jsx)(`path`,{d:`M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z`}),(0,f.jsx)(`path`,{d:`M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z`}),(0,f.jsx)(`path`,{d:`M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z`}),(0,f.jsx)(`path`,{d:`M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z`}),(0,f.jsx)(`path`,{d:`M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z`})]}),ts=({className:e})=>(0,f.jsxs)(`svg`,{className:e,width:`118`,height:`3`,viewBox:`0 0 118 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,f.jsx)(`path`,{d:`M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z`}),(0,f.jsx)(`path`,{d:`M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z`}),(0,f.jsx)(`path`,{d:`M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z`}),(0,f.jsx)(`path`,{d:`M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z`}),(0,f.jsx)(`path`,{d:`M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z`}),(0,f.jsx)(`path`,{d:`M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z`}),(0,f.jsx)(`path`,{d:`M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z`}),(0,f.jsx)(`path`,{d:`M42.728 2.94815H44.728V0.948151H42.728V2.94815Z`}),(0,f.jsx)(`path`,{d:`M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z`}),(0,f.jsx)(`path`,{d:`M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z`}),(0,f.jsx)(`path`,{d:`M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z`}),(0,f.jsx)(`path`,{d:`M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z`}),(0,f.jsx)(`path`,{d:`M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z`}),(0,f.jsx)(`path`,{d:`M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z`}),(0,f.jsx)(`path`,{d:`M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z`}),(0,f.jsx)(`path`,{d:`M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z`}),(0,f.jsx)(`path`,{d:`M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z`}),(0,f.jsx)(`path`,{d:`M103.78 2.94815H105.78V0.948151H103.78V2.94815Z`}),(0,f.jsx)(`path`,{d:`M111.885 2.94815H109.885V0.948151H111.885V2.94815Z`}),(0,f.jsx)(`path`,{d:`M115.991 2.94815H117.991V0.948151H115.991V2.94815Z`})]}),ns=({className:e})=>(0,f.jsx)(`svg`,{className:e,width:`120`,height:`4`,viewBox:`0 0 120 4`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z`})}),rs=({className:e})=>(0,f.jsx)(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z`})});function is(e){let{type:t=n.BorderStyleTypes.THIN,className:r}=e;switch(t){case n.BorderStyleTypes.DASH_DOT:return(0,f.jsx)(qo,{className:r});case n.BorderStyleTypes.DASH_DOT_DOT:return(0,f.jsx)(Jo,{className:r});case n.BorderStyleTypes.DASHED:return(0,f.jsx)(Yo,{className:r});case n.BorderStyleTypes.HAIR:return(0,f.jsx)(Zo,{className:r});case n.BorderStyleTypes.MEDIUM:return(0,f.jsx)(Qo,{className:r});case n.BorderStyleTypes.MEDIUM_DASH_DOT:return(0,f.jsx)($o,{className:r});case n.BorderStyleTypes.MEDIUM_DASH_DOT_DOT:return(0,f.jsx)(es,{className:r});case n.BorderStyleTypes.MEDIUM_DASHED:return(0,f.jsx)(ts,{className:r});case n.BorderStyleTypes.THICK:return(0,f.jsx)(ns,{className:r});case n.BorderStyleTypes.DOUBLE:return(0,f.jsx)(Xo,{className:r});case n.BorderStyleTypes.THIN:default:return(0,f.jsx)(rs,{className:r})}}let as=`UI_PLUGIN_SHEETS`,os=`${as}_BORDER_PANEL_COMPONENT`,ss=[{label:`borderLine.borderTop`,icon:`UpBorderDoubleIcon`,value:`top`},{label:`borderLine.borderBottom`,icon:`DownBorderDoubleIcon`,value:`bottom`},{label:`borderLine.borderLeft`,icon:`LeftBorderDoubleIcon`,value:`left`},{label:`borderLine.borderRight`,icon:`RightBorderDoubleIcon`,value:`right`},{label:`borderLine.borderNone`,icon:`NoBorderIcon`,value:`none`},{label:`borderLine.borderAll`,icon:`AllBorderIcon`,value:`all`},{label:`borderLine.borderOutside`,icon:`OuterBorderDoubleIcon`,value:`outside`},{label:`borderLine.borderInside`,icon:`InnerBorderDoubleIcon`,value:`inside`},{label:`borderLine.borderHorizontal`,icon:`HorizontalBorderDoubleIcon`,value:`horizontal`},{label:`borderLine.borderVertical`,icon:`VerticalBorderDoubleIcon`,value:`vertical`},{label:`borderLine.borderTlbr`,icon:`BackSlashDoubleIcon`,value:`tlbr`},{label:`borderLine.borderTlbcTlmr`,icon:`LeftDoubleDiagonalDoubleIcon`,value:`tlbc_tlmr`},{label:`borderLine.borderTlbrTlbcTlmr`,icon:`LeftTridiagonalDoubleIcon`,value:`tlbr_tlbc_tlmr`},{label:`borderLine.borderBlTr`,icon:`SlashDoubleIcon`,value:`bltr`},{label:`borderLine.borderMltrBctr`,icon:`RightDoubleDiagonalDoubleIcon`,value:`mltr_bctr`}],cs=[{label:n.BorderStyleTypes.THIN,value:n.BorderStyleTypes.THIN},{label:n.BorderStyleTypes.HAIR,value:n.BorderStyleTypes.HAIR},{label:n.BorderStyleTypes.DOTTED,value:n.BorderStyleTypes.DOTTED},{label:n.BorderStyleTypes.DASHED,value:n.BorderStyleTypes.DASHED},{label:n.BorderStyleTypes.DASH_DOT,value:n.BorderStyleTypes.DASH_DOT},{label:n.BorderStyleTypes.DASH_DOT_DOT,value:n.BorderStyleTypes.DASH_DOT_DOT},{label:n.BorderStyleTypes.MEDIUM,value:n.BorderStyleTypes.MEDIUM},{label:n.BorderStyleTypes.MEDIUM_DASHED,value:n.BorderStyleTypes.MEDIUM_DASHED},{label:n.BorderStyleTypes.MEDIUM_DASH_DOT,value:n.BorderStyleTypes.MEDIUM_DASH_DOT},{label:n.BorderStyleTypes.MEDIUM_DASH_DOT_DOT,value:n.BorderStyleTypes.MEDIUM_DASH_DOT_DOT},{label:n.BorderStyleTypes.THICK,value:n.BorderStyleTypes.THICK},{label:n.BorderStyleTypes.DOUBLE,value:n.BorderStyleTypes.DOUBLE}];function ls(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.cl.rgb}}function us(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.s}}function ds(e){var t;let i=(0,r.useDependency)(r.ComponentManager),o=(0,r.useDependency)(a.BorderStyleManagerService),{isAllValuesSame:s,value:c}=(0,r.useDependency)(a.SheetsSelectionsService).getCellStylesProperty(`bd`),l=s?ls(c):void 0,u=s?us(c):void 0,{onChange:p,value:m}=e;function h(e,t){p==null||p({...m,[t]:e})}function g(e){let t=i.get(e);return t&&(0,f.jsx)(t,{className:`univer-fill-primary-600`})}return(0,f.jsxs)(`section`,{className:`univer-box-border univer-grid univer-gap-2 univer-p-1.5`,children:[(0,f.jsx)(`div`,{className:`
9
+ univer-box-border univer-grid univer-grid-cols-5 univer-gap-2 univer-text-gray-600
10
+ dark:!univer-text-gray-200
11
+ `,children:ss.map(e=>(0,f.jsx)(`a`,{className:(0,d.clsx)(`
12
+ univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center
13
+ univer-justify-self-center univer-rounded
14
+ hover:univer-bg-gray-100
15
+ dark:hover:!univer-bg-gray-700
16
+ `,{"univer-bg-gray-200 dark:!univer-bg-gray-600":o.getBorderInfo().type===e.value}),onClick:t=>{t.stopPropagation(),h(e.value,`type`)},children:g(e.icon)},e.value))}),(0,f.jsx)(d.Separator,{}),(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Dropdown,{overlay:(0,f.jsx)(`div`,{className:`univer-rounded-lg univer-p-4`,children:(0,f.jsx)(d.ColorPicker,{value:l,onChange:e=>h(e,`color`)})}),children:(0,f.jsxs)(`button`,{className:`
17
+ univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded
18
+ univer-border-none univer-bg-transparent univer-p-1
19
+ hover:univer-bg-gray-100
20
+ dark:hover:!univer-bg-gray-700
21
+ `,type:`button`,children:[(0,f.jsx)(Wo,{className:`
22
+ univer-fill-primary-600
23
+ dark:!univer-text-white
24
+ `,extend:{colorChannel1:(t=m==null?void 0:m.color)==null?``:t}}),(0,f.jsx)(Oo,{className:`dark:!univer-text-white`})]})})}),(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Dropdown,{overlay:(0,f.jsx)(`section`,{className:`univer-rounded-lg univer-p-1.5`,children:(0,f.jsx)(`ul`,{className:`univer-m-0 univer-grid univer-list-none univer-gap-1 univer-p-0`,children:cs.map(e=>(0,f.jsxs)(`li`,{className:`
25
+ univer-flex univer-cursor-pointer univer-items-center
26
+ univer-justify-center univer-rounded univer-px-1 univer-py-3
27
+ hover:univer-bg-gray-100
28
+ dark:hover:!univer-bg-gray-700
29
+ `,onClick:()=>h(e.value,`style`),children:[e.value===u&&(0,f.jsx)(ao,{className:`univer-absolute univer-left-3 univer-text-primary-600`}),(0,f.jsx)(is,{className:`
30
+ univer-ml-6 univer-fill-gray-900
31
+ dark:!univer-fill-white
32
+ `,type:e.value})]},e.value))})}),children:(0,f.jsxs)(`button`,{className:`
33
+ univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded
34
+ univer-border-none univer-bg-transparent univer-p-1
35
+ hover:univer-bg-gray-100
36
+ dark:hover:!univer-bg-gray-700
37
+ `,type:`button`,children:[(0,f.jsx)(is,{className:`
38
+ univer-fill-gray-900
39
+ dark:!univer-fill-white
40
+ `,type:u==null?n.BorderStyleTypes.THIN:u}),(0,f.jsx)(Oo,{className:`dark:!univer-text-white`})]})})})]})]})}let fs=`${as}_MENU_ITEM_FROZEN_COMPONENT`,ps={row:`1`,col:`A`},ms=e=>{let{type:t}=e,i=(0,r.useDependency)(n.LocaleService),o=(0,r.useDependency)(r.IContextMenuService),s=(0,r.useDependency)(a.SheetsSelectionsService),[l,u]=(0,c.useState)(ps),d=e=>{var t,r;if(!e)return;let{primary:i,range:a}=e,o=(t=i==null?void 0:i.startRow)==null?a.startRow:t,s=(r=i==null?void 0:i.startColumn)==null?a.startColumn:r;u({row:o===0?`1`:String(o),col:s===0?`A`:n.Tools.chatAtABC(s-1)})};return(0,c.useEffect)(()=>{o.visible&&d(s.getCurrentLastSelection())},[o.visible]),(0,f.jsxs)(f.Fragment,{children:[t===`row`&&i.t(`rightClick.freezeRow`,l.row),t===`col`&&i.t(`rightClick.freezeCol`,l.col),t===`all`&&i.t(`rightClick.freezeCell`,l.row,l.col)]})},hs=`${as}_MENU_ITEM_INPUT_COMPONENT`,gs=e=>{let{prefix:t,suffix:i,value:a,min:o=-(2**53-1),max:s=2**53-1,disabled$:l,onChange:u}=e,p=(0,r.useDependency)(n.LocaleService),m=(0,r.useDependency)(r.IContextMenuService),[h,g]=(0,c.useState)(!1),[_,v]=(0,c.useState)(),y=e=>{if(!e){v(o.toString());return}let t=e.toString();v(t),u(t)};(0,c.useEffect)(()=>{if(!l)return;let e=l.subscribe(e=>{g(e)});return()=>{e.unsubscribe()}},[]),(0,c.useEffect)(()=>{m.visible||v(a)},[m.visible]),(0,c.useEffect)(()=>{+a<o?v(o.toString()):+a>s?v(s.toString()):v(a)},[a]);function b(){_&&u(_)}return(0,f.jsxs)(`div`,{className:`univer-inline-flex univer-items-center univer-gap-1`,children:[p.t(t),(0,f.jsx)(`div`,{className:`univer-w-16`,onClick:e=>e.stopPropagation(),children:(0,f.jsx)(d.InputNumber,{value:Number(_),size:`mini`,precision:0,min:o,max:s,disabled:h,onPressEnter:b,onChange:y})}),p.t(i)]})};function _s(e){return e.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,p.switchMap)(e=>e?e.activeSheet$.pipe((0,p.map)(t=>t?{workbook:e,worksheet:t}:null)):(0,o.of)(null)))}function Z(e,t,n){return _s(e).pipe((0,p.switchMap)(e=>e?n(e):(0,o.of)(t)))}function vs(e,t){let r=e.get(n.IUniverInstanceService),i=e.get(a.IExclusiveRangeService),s=e.get(a.SheetsSelectionsService);return r.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,p.switchMap)(e=>e?(0,o.combineLatest)([s.selectionMoveEnd$,e.activeSheet$]).pipe((0,p.switchMap)(([e,n])=>{if(!n||e.length===0)return(0,o.of)(!1);let r=i.getInterestGroupId(e);return t?(0,o.of)(r.filter(e=>t.has(e)).length>0):(0,o.of)(r.length>0)})):(0,o.of)(!1)))}function ys(e,t,n){return(0,o.combineLatest)([t,vs(e,n)]).pipe((0,p.map)(([e,t])=>e||t))}function Q(e,t={},r=!1){var i;let s=e.get(n.IUniverInstanceService).getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),c=e.get(n.UserManagerService),l=e.has(J)?e.get(J):null,u=e.get(n.IContextService),d=((i=l==null?void 0:l.visible$)==null?(0,o.of)(null):i).pipe((0,p.startWith)(null),(0,p.shareReplay)(1)),f=u.subscribeContextValue$(n.FOCUSING_FX_BAR_EDITOR).pipe((0,p.startWith)(!1),(0,p.shareReplay)(1)),m=u.subscribeContextValue$(n.FOCUSING_SHAPE_TEXT_EDITOR).pipe((0,p.startWith)(!1),(0,p.shareReplay)(1));return(0,o.combineLatest)([c.currentUser$,s,d,f,m]).pipe((0,p.switchMap)(([i,s,c,l,u])=>!s||c!=null&&c.visible&&c.unitId===s.getUnitId()&&!r||l&&!r?(0,o.of)(!0):s.activeSheet$.pipe((0,p.switchMap)(r=>{if(!r)return(0,o.of)(!0);let i=e.get(a.SheetsSelectionsService),c=e.get(a.RangeProtectionRuleModel),l=e.get(a.WorksheetProtectionRuleModel),d=e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,p.startWith)(!1));return(0,o.combineLatest)([i.selectionMoveEnd$,d]).pipe((0,p.switchMap)(([i,d])=>{if(d&&!u)return(0,o.of)(!0);let f=s.getUnitId(),m=r.getSheetId(),h=e.get(n.IPermissionService),{workbookTypes:g=[a.WorkbookEditablePermission],worksheetTypes:_,rangeTypes:v}=t,y=[];if(g==null||g.forEach(e=>{y.push(new e(f).id)}),_==null||_.forEach(e=>{y.push(new e(f,m).id)}),l.getRule(f,m))return h.composePermission$(y).pipe((0,p.map)(e=>e.some(e=>e.value===!1)));let b=i==null?void 0:i.map(e=>e.range),x=c.getSubunitRuleList(f,m).filter(e=>b==null?void 0:b.some(t=>e.ranges.some(e=>n.Rectangle.intersects(t,e))));return v==null||v.forEach(e=>{x.forEach(t=>{y.push(new e(f,m,t.permissionId).id)})}),h.composePermission$(y).pipe((0,p.map)(e=>e.some(e=>e.value===!1)))}))}))))}function bs(e){let t=e.get(n.IUniverInstanceService),r=e.get(a.SheetsSelectionsService),i=e.get(a.RangeProtectionRuleModel),s=e.get(n.IPermissionService);return(0,o.merge)(r.selectionMoveEnd$,s.permissionPointUpdate$.pipe((0,p.debounceTime)(100))).pipe((0,p.map)(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let c=t.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),l=c==null?void 0:c.getActiveSheet();if(!c||!l)return!0;let u=c.getUnitId(),d=l.getSheetId(),f=[new a.WorkbookEditablePermission(u).id,new a.WorksheetEditPermission(u,d).id];return i.getSubunitRuleList(u,d).filter(e=>e.ranges.some(e=>n.Rectangle.intersects(o,e))).forEach(e=>{f.push(new a.RangeProtectionPermissionEditPoint(u,d,e.permissionId).id)}),s.composePermission(f).some(e=>e.value===!1)}))}function xs(e,t){let r=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(a.RangeProtectionRuleModel),c=e.get(n.IPermissionService);return(0,o.merge)(i.selectionMoveEnd$,c.permissionPointUpdate$.pipe((0,p.debounceTime)(100))).pipe((0,p.map)(()=>{var e;let o=(e=i.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let l=r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet();if(!l||!u)return!0;let d=l.getUnitId(),f=u.getSheetId(),p=[new a.WorkbookEditablePermission(d).id,new a.WorksheetEditPermission(d,f).id];return s.getSubunitRuleList(d,f).filter(e=>t===`row`?e.ranges.some(e=>o.startRow>e.startRow&&o.startRow<=e.endRow):e.ranges.some(e=>o.startColumn>e.startColumn&&o.startColumn<=e.endColumn)).forEach(e=>{p.push(new a.RangeProtectionPermissionEditPoint(d,f,e.permissionId).id)}),c.composePermission(p).some(e=>e.value===!1)}))}function Ss(e,t){let r=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(a.RangeProtectionRuleModel),c=e.get(n.IPermissionService);return(0,o.merge)(i.selectionMoveEnd$,c.permissionPointUpdate$.pipe((0,p.debounceTime)(100))).pipe((0,p.map)(()=>{var e;let o=(e=i.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let l=r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet();if(!l||!u)return!0;let d=l.getUnitId(),f=u.getSheetId(),p=[new a.WorkbookEditablePermission(d).id,new a.WorksheetEditPermission(d,f).id],m=n.Tools.deepClone(o);return t===`row`?(m.startColumn=0,m.endColumn=u.getColumnCount()-1):(m.startRow=0,m.endRow=u.getRowCount()-1),s.getSubunitRuleList(d,f).filter(e=>e.ranges.some(e=>n.Rectangle.intersects(m,e))).forEach(e=>{p.push(new a.RangeProtectionPermissionEditPoint(d,f,e.permissionId).id)}),c.composePermission(p).some(e=>e.value===!1)}))}function Cs(e,t){let r=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(a.RangeProtectionRuleModel),c=e.get(n.IPermissionService);return(0,o.merge)(i.selectionMoveEnd$,c.permissionPointUpdate$.pipe((0,p.debounceTime)(100))).pipe((0,p.map)(()=>{var e;let o=(e=i.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let l=r.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet();if(!l||!u)return!0;let d=l.getUnitId(),f=u.getSheetId(),p=[new a.WorkbookEditablePermission(d).id,new a.WorksheetEditPermission(d,f).id],m=n.Tools.deepClone(o);return t===`row`?m.endRow=u.getRowCount()-1:m.endColumn=u.getColumnCount()-1,s.getSubunitRuleList(d,f).filter(e=>e.ranges.some(e=>n.Rectangle.intersects(m,e))).forEach(e=>{p.push(new a.RangeProtectionPermissionEditPoint(d,f,e.permissionId).id)}),c.composePermission(p).some(e=>e.value===!1)}))}function ws(e,t){let r=e.get(n.IUniverInstanceService).getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),i=e.get(a.WorksheetProtectionRuleModel),s=e.get(a.RangeProtectionRuleModel),c=e.get(n.IPermissionService);return(0,o.combineLatest)([e.get(n.UserManagerService).currentUser$,r]).pipe((0,p.switchMap)(([e,n])=>n?n.activeSheet$.pipe((0,p.switchMap)(e=>{if(!e)return(0,o.of)(!0);let r=n.getUnitId(),a=[];return t.forEach(e=>a.push(new e(r).id)),c.composePermission$(a).pipe((0,p.map)(e=>e.every(e=>e.value===!0))).pipe((0,p.map)(t=>{if(!t)return!0;let n=e.getSheetId(),a=i.getRule(r,n),o=s.getSubunitRuleList(r,n);return!!(a||o.length)}))})):(0,o.of)(!0)))}function Ts(e){let t=e.get(a.BorderStyleManagerService),i=Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.SetBorderBasicCommand.id,icon:new o.Observable(t=>{let r=`AllBorderIcon`,i=e.get(a.BorderStyleManagerService),o=e.get(n.ICommandService).onCommandExecuted(e=>{var n;if(e.id!==a.SetBorderBasicCommand.id)return;let{type:o}=i.getBorderInfo(),s=ss.find(e=>e.value===o),c=(n=s==null?void 0:s.icon)==null?r:n;t.next(c)});return t.next(r),o.dispose}),tooltip:`toolbar.border.main`,type:r.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:os,hoverable:!1,selectable:!1},value$:t.borderInfo$}],value$:t.borderInfo$,hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:i}}let Es=`sheet.menu.clear-selection`;function Ds(e){return{id:Es,type:r.MenuItemType.SUBITEMS,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearSelection`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Os(e){return{id:a.ClearSelectionContentCommand.id,type:r.MenuItemType.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearContent`,disabled$:ys(e,Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function ks(e){return{id:a.ClearSelectionFormatCommand.id,type:r.MenuItemType.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearFormat`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function As(e){return{id:a.ClearSelectionAllCommand.id,type:r.MenuItemType.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearAll`,tooltip:`rightClick.clearAll`,disabled$:ys(e,Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let js=`sheet.menu.delete`;function Ms(e){return{id:js,type:r.MenuItemType.SUBITEMS,title:`rightClick.delete`,icon:`ReduceDoubleIcon`,hidden$:ys(e,bs(e)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission]})}}function Ns(e){return{id:sr.id,type:r.MenuItemType.BUTTON,icon:`DeleteColumnDoubleIcon`,title:`rightClick.deleteSelectedColumn`,hidden$:Ss(e,`col`),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookDeleteColumnPermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetDeleteColumnPermission]})}}function Ps(e){return{id:or.id,type:r.MenuItemType.BUTTON,icon:`DeleteRowDoubleIcon`,title:`rightClick.deleteSelectedRow`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookDeleteRowPermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetDeleteRowPermission]}),hidden$:Ss(e,`row`)}}function Fs(e){return{id:kt.id,type:r.MenuItemType.BUTTON,title:`rightClick.moveLeft`,icon:`DeleteCellShiftLeftDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:Cs(e,`col`)}}function Is(e){return{id:At.id,type:r.MenuItemType.BUTTON,title:`rightClick.moveUp`,icon:`DeleteCellShiftUpDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:Cs(e,`row`)}}function Ls(e,r){let i=e.get(a.SheetsSelectionsService),c=e.get(n.IUniverInstanceService),l=e.get(n.ICommandService),u=e.get(n.IContextService);return Z(c,r,({worksheet:c})=>new o.Observable(o=>{let d=()=>{var e;let t=r,n=(e=i.getCurrentLastSelection())==null?void 0:e.primary;if(n!=null){let e=c.getComposedCellStyle(n.startRow,n.startColumn);e.fs&&(t=e.fs)}o.next(t)},f=()=>{let t=Jt(e);if(t!=null){var n,i;let e=(n=(i=t.ts)==null?void 0:i.fs)==null?r:n;o.next(e)}},p=l.onCommandExecuted(e=>{let r=e.id;(r===a.SetRangeValuesMutation.id||r===a.SetSelectionsOperation.id||r===a.SetWorksheetActiveOperation.id)&&d(),(r===s.SetTextSelectionsOperation.id||r===t.SetInlineFormatCommand.id)&&u.getContextValue(n.EDITOR_ACTIVATED)&&(u.getContextValue(n.FOCUSING_SHEET)||u.getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))&&f()});return d(),p.dispose}))}function Rs(e){let t=n.DEFAULT_STYLES.fs,i=Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0);return{id:tn.id,type:r.MenuItemType.SELECTOR,tooltip:`toolbar.fontSize`,label:{name:r.FONT_SIZE_COMPONENT,props:{min:6,max:400,disabled$:i}},selections:r.FONT_SIZE_LIST,disabled$:i,value$:Ls(e,t),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function zs(e){let t=Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0);return{id:nn.id,type:r.MenuItemType.BUTTON,icon:`FontSizeIncreaseIcon`,tooltip:`toolbar.fontSizeIncrease`,disabled$:t,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Bs(e){let t=Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0);return{id:rn.id,type:r.MenuItemType.BUTTON,icon:`FontSizeReduceIcon`,tooltip:`toolbar.fontSizeDecrease`,disabled$:t,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let Vs=(e,t)=>{let n=e.get(a.SheetsSelectionsService);return new o.Observable(e=>{let r=n=>{var r,i;if(!n)return e.next(!0);let{primary:a,range:o}=n,s=(r=a==null?void 0:a.startRow)==null?o.startRow:r,c=(i=a==null?void 0:a.startColumn)==null?o.startColumn:i;if(t===`row`&&s<=0||t===`col`&&c<=0)return e.next(!0);e.next(!1)},i=n.selectionChanged$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);r(t[t.length-1])});return r(n.getCurrentLastSelection()),()=>i.unsubscribe()})},Hs=`sheet.menu.sheet-frozen`;function Us(e){return{id:Hs,type:r.MenuItemType.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let Ws=`sheet.column-header-menu.sheet-frozen`;function Gs(e){return{id:Ws,type:r.MenuItemType.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let Ks=`sheet.row-header-menu.sheet-frozen`;function qs(e){return{id:Ks,type:r.MenuItemType.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Js(e){return{id:_r.id,type:r.MenuItemType.BUTTON,icon:`FreezeToSelectedIcon`,label:{name:fs,props:{type:`all`}},hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),Vs(e,`all`)]).pipe((0,o.map)(([e,t])=>e||t))}}function Ys(e){return{id:vr.id,type:r.MenuItemType.BUTTON,icon:`FreezeRowIcon`,label:{name:fs,props:{type:`row`}},hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),Vs(e,`row`)]).pipe((0,o.map)(([e,t])=>e||t))}}function Xs(e){return{id:yr.id,type:r.MenuItemType.BUTTON,icon:`FreezeColumnIcon`,label:{name:fs,props:{type:`col`}},hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),Vs(e,`col`)]).pipe((0,o.map)(([e,t])=>e||t))}}function Zs(e){return{id:br.id,type:r.MenuItemType.BUTTON,title:`rightClick.freezeFirstRow`,icon:`FreezeRowIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Qs(e){return{id:xr.id,type:r.MenuItemType.BUTTON,title:`rightClick.freezeFirstCol`,icon:`FreezeColumnIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function $s(e){return{id:a.CancelFrozenCommand.id,type:r.MenuItemType.BUTTON,title:`rightClick.cancelFreeze`,icon:`CancelFreezeIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function ec(e){let t=e.get(n.ICommandService),i=e.get(n.IUniverInstanceService);return{id:a.ToggleGridlinesCommand.id,type:r.MenuItemType.BUTTON,tooltip:`toolbar.toggleGridlines`,icon:`HideGridlinesDoubleIcon`,activated$:new o.Observable(e=>{let r=()=>{let e=i.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);return e?e.getActiveSheet().getConfig().showGridlines===n.BooleanNumber.TRUE:!1},o=new n.DisposableCollection;return o.add(t.onCommandExecuted(t=>{(t.id===a.ToggleGridlinesMutation.id||t.id===a.SetWorksheetActiveOperation.id)&&e.next(r())})),o.add(i.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{e.next(r())})),e.next(r()),()=>o.dispose()}),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission]})}}let tc=`sheet.menu.cell-insert`;function nc(e){return{id:tc,type:r.MenuItemType.SUBITEMS,title:`rightClick.insert`,icon:`InsertDoubleIcon`,hidden$:ys(e,bs(e)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertColumnPermission,a.WorkbookInsertRowPermission],worksheetTypes:[a.WorksheetInsertColumnPermission,a.WorksheetInsertRowPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function rc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertRowPermission],worksheetTypes:[a.WorksheetInsertRowPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertRowBeforeCommand.id,type:r.MenuItemType.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endRow)-(n==null?void 0:n.startRow)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:xs(e,`row`)}}function ic(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertColumnPermission],worksheetTypes:[a.WorksheetInsertColumnPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertColBeforeCommand.id,type:r.MenuItemType.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endColumn)-(n==null?void 0:n.startColumn)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:xs(e,`col`)}}function ac(e){return{id:ln.id,type:r.MenuItemType.BUTTON,title:`rightClick.moveRight`,icon:`InsertCellShiftRightDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:Cs(e,`col`)}}function oc(e){return{id:cn.id,type:r.MenuItemType.BUTTON,title:`rightClick.moveDown`,icon:`InsertCellDownDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:Cs(e,`row`)}}function sc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertRowPermission],worksheetTypes:[a.WorksheetInsertRowPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertMultiRowsAfterCommand.id,type:r.MenuItemType.BUTTON,icon:`InsertRowBelowDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertRowsAfter`,min:1,max:1e3,suffix:`rightClick.insertRowsAfterSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endRow)-(n==null?void 0:n.startRow)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:bs(e)}}function cc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertRowPermission],worksheetTypes:[a.WorksheetInsertRowPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertMultiRowsAboveCommand.id,type:r.MenuItemType.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endRow)-(n==null?void 0:n.startRow)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:bs(e)}}function lc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertColumnPermission],worksheetTypes:[a.WorksheetInsertColumnPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertMultiColsLeftCommand.id,type:r.MenuItemType.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endColumn)-(n==null?void 0:n.startColumn)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:bs(e)}}function uc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=Q(e,{workbookTypes:[a.WorkbookEditablePermission,a.WorkbookInsertColumnPermission],worksheetTypes:[a.WorksheetInsertColumnPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]});return{id:a.InsertMultiColsRightCommand.id,type:r.MenuItemType.BUTTON,icon:`RightInsertColumnDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.insertColsRight`,min:1,max:1e3,suffix:`rightClick.insertColsRightSuffix`,disabled$:c}},value$:Z(t,1,()=>new o.Observable(e=>{function t(){var t;let n=(t=i.getCurrentLastSelection())==null?void 0:t.range,r=1;n&&(r=(n==null?void 0:n.endColumn)-(n==null?void 0:n.startColumn)+1),e.next(r)}let n=s.onCommandExecuted(e=>{if(e.id===a.SetSelectionsOperation.id)return t()});return t(),n.dispose})),disabled$:c,hidden$:bs(e)}}let dc=function(e){return e.ROW_HEADER_CONTEXT_MENU=`ROW_HEADER_CONTEXT_MENU`,e.COL_HEADER_CONTEXT_MENU=`COL_HEADER_CONTEXT_MENU`,e.SHEET_BAR=`SHEET_BAR`,e.SHEET_FOOTER=`SHEET_FOOTER`,e}({});function fc(e){let t=e.get(ur);return{id:mr.id,subId:pr.id,type:r.MenuItemType.BUTTON,icon:`BrushIcon`,title:`Format Painter`,tooltip:`toolbar.formatPainter`,activated$:new o.Observable(e=>{let n=!1,r=t.status$.subscribe(t=>{n=t!==lr.OFF,e.next(n)});return e.next(n),()=>{r.unsubscribe()}}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetCopyPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0)}}function pc(e){let i=e.get(n.ICommandService),c=e.get(n.IUniverInstanceService),l=e.get(n.IContextService),u=e.get(a.SheetsSelectionsService);return{id:Yt.id,type:r.MenuItemType.BUTTON,icon:`BoldIcon`,title:`Set bold`,tooltip:`toolbar.bold`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0),activated$:Z(c,!1,({worksheet:r})=>new o.Observable(o=>{var c;let d=i.onCommandExecuted(i=>{let c=i.id;if(c===a.SetRangeValuesMutation.id||c===a.SetSelectionsOperation.id||c===a.SetWorksheetActiveOperation.id){var d;let e=(d=u.getCurrentLastSelection())==null?void 0:d.primary,t=n.FontWeight.NORMAL;if(e!=null){let n=r.getRange(e.startRow,e.startColumn);t=n==null?void 0:n.getFontWeight()}o.next(t===n.FontWeight.BOLD)}if((c===s.SetTextSelectionsOperation.id||c===t.SetInlineFormatCommand.id)&&l.getContextValue(n.EDITOR_ACTIVATED)&&(l.getContextValue(n.FOCUSING_SHEET)||l.getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))){var f;let t=Jt(e);if(t==null)return;let r=(f=t.ts)==null?void 0:f.bl;o.next(r===n.BooleanNumber.TRUE)}}),f=(c=u.getCurrentLastSelection())==null?void 0:c.primary;if(!r){o.next(!1);return}let p=n.FontWeight.NORMAL;if(f!=null){let e=r.getRange(f.startRow,f.startColumn);p=e==null?void 0:e.getFontWeight()}return o.next(p===n.FontWeight.BOLD),d.dispose})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function mc(e){let i=e.get(n.ICommandService),c=e.get(n.IUniverInstanceService),l=e.get(a.SheetsSelectionsService),u=e.get(n.IContextService);return{id:Xt.id,type:r.MenuItemType.BUTTON,icon:`ItalicIcon`,title:`Set italic`,tooltip:`toolbar.italic`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0),activated$:Z(c,!1,({worksheet:r})=>new o.Observable(o=>{var c;let d=i.onCommandExecuted(i=>{let c=i.id;if(c===a.SetRangeValuesMutation.id||c===a.SetSelectionsOperation.id||c===a.SetWorksheetActiveOperation.id){var d;let e=(d=l.getCurrentLastSelection())==null?void 0:d.primary,t=n.FontItalic.NORMAL;if(e!=null){let n=r.getRange(e.startRow,e.startColumn);t=n==null?void 0:n.getFontStyle()}o.next(t===n.FontItalic.ITALIC)}if((c===s.SetTextSelectionsOperation.id||c===t.SetInlineFormatCommand.id)&&u.getContextValue(n.EDITOR_ACTIVATED)&&(u.getContextValue(n.FOCUSING_SHEET)||u.getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))){var f;let t=Jt(e);if(t==null)return;let r=(f=t.ts)==null?void 0:f.it;o.next(r===n.BooleanNumber.TRUE)}}),f=(c=l.getCurrentLastSelection())==null?void 0:c.primary,p=n.FontItalic.NORMAL;if(f!=null){let e=r.getRange(f.startRow,f.startColumn);p=e==null?void 0:e.getFontStyle()}return o.next(p===n.FontItalic.ITALIC),d.dispose})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function hc(e){let i=e.get(n.ICommandService),c=e.get(n.IUniverInstanceService),l=e.get(a.SheetsSelectionsService),u=e.get(n.IContextService);return{id:Zt.id,type:r.MenuItemType.BUTTON,icon:`UnderlineIcon`,title:`Set underline`,tooltip:`toolbar.underline`,activated$:Z(c,!1,({worksheet:r})=>new o.Observable(o=>{var c;let d=i.onCommandExecuted(i=>{let c=i.id;if(c===a.SetRangeValuesMutation.id||c===a.SetSelectionsOperation.id||c===a.SetWorksheetActiveOperation.id){var d;let e=(d=l.getCurrentLastSelection())==null?void 0:d.primary,t;if(e!=null){let n=r.getRange(e.startRow,e.startColumn);t=n==null?void 0:n.getUnderline()}o.next(!!(t&&t.s))}if((c===s.SetTextSelectionsOperation.id||c===t.SetInlineFormatCommand.id)&&u.getContextValue(n.EDITOR_ACTIVATED)&&(u.getContextValue(n.FOCUSING_SHEET)||u.getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))){var f;let t=Jt(e);if(t==null)return;let r=(f=t.ts)==null?void 0:f.ul;o.next((r==null?void 0:r.s)===n.BooleanNumber.TRUE)}}),f=(c=l.getCurrentLastSelection())==null?void 0:c.primary,p;if(f!=null){let e=r.getRange(f.startRow,f.startColumn);p=e==null?void 0:e.getUnderline()}return o.next(!!(p&&p.s)),d.dispose})),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function gc(e){let i=e.get(n.ICommandService),c=e.get(n.IUniverInstanceService),l=e.get(a.SheetsSelectionsService),u=e.get(n.IContextService);return{id:Qt.id,type:r.MenuItemType.BUTTON,icon:`StrikethroughIcon`,title:`Set strike through`,tooltip:`toolbar.strikethrough`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0),activated$:Z(c,!1,({worksheet:r})=>new o.Observable(o=>{var c;let d=i.onCommandExecuted(i=>{let c=i.id;if(c===a.SetRangeValuesMutation.id||c===a.SetSelectionsOperation.id||c===a.SetWorksheetActiveOperation.id){var d;let e=(d=l.getCurrentLastSelection())==null?void 0:d.primary,t;if(e!=null){let n=r.getRange(e.startRow,e.startColumn);t=n==null?void 0:n.getStrikeThrough()}o.next(!!(t&&t.s))}if((c===s.SetTextSelectionsOperation.id||c===t.SetInlineFormatCommand.id)&&u.getContextValue(n.EDITOR_ACTIVATED)&&(u.getContextValue(n.FOCUSING_SHEET)||u.getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))){var f;let t=Jt(e);if(t==null)return;let r=(f=t.ts)==null?void 0:f.st;o.next((r==null?void 0:r.s)===n.BooleanNumber.TRUE)}}),f=(c=l.getCurrentLastSelection())==null?void 0:c.primary,p;if(f!=null){let e=r.getRange(f.startRow,f.startColumn);p=e==null?void 0:e.getStrikeThrough()}return o.next(!!(p&&p.s)),d.dispose})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function _c(e){let i=e.get(n.ICommandService),c=e.get(n.IUniverInstanceService),l=e.get(a.SheetsSelectionsService),u=n.DEFAULT_STYLES.ff,d=Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0);return{id:an.id,tooltip:`toolbar.font`,type:r.MenuItemType.SELECTOR,label:{name:r.FONT_FAMILY_COMPONENT,props:{id:an.id,disabled$:d}},selections:[{label:{name:r.FONT_FAMILY_ITEM_COMPONENT,hoverable:!1,selectable:!1,props:{id:an.id}}}],disabled$:d,value$:Z(c,u,({worksheet:r})=>new o.Observable(o=>{let c=()=>{var e;let t=u,i=(e=l.getCurrentLastSelection())==null?void 0:e.primary;if(i!=null){let e=r.getCellStyle(i.startRow,i.startColumn),a=(0,n.composeStyles)(r.getDefaultCellStyleInternal(),r.getRowStyle(i.startRow),r.getColumnStyle(i.startColumn),e);a.ff&&(t=a.ff)}o.next(t)},d=i.onCommandExecuted(r=>{let i=r.id;if((i===a.SetRangeValuesMutation.id||i===a.SetSelectionsOperation.id||i===a.SetWorksheetActiveOperation.id)&&c(),(i===s.SetTextSelectionsOperation.id||i===t.SetInlineFormatCommand.id)&&e.get(n.IContextService).getContextValue(n.EDITOR_ACTIVATED)&&(e.get(n.IContextService).getContextValue(n.FOCUSING_SHEET)||e.get(n.IContextService).getContextValue(n.FOCUSING_SHAPE_TEXT_EDITOR))){let t=Jt(e);if(t!=null){var l,d;let e=(l=(d=t.ts)==null?void 0:d.ff)==null?u:l;o.next(e)}}});return c(),d.dispose})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function vc(e){return{id:sn.id,type:r.MenuItemType.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function yc(e){let t=e.get(n.ICommandService),i=e.get(n.ThemeService),s=e.get(a.SheetsSelectionsService);return{id:on.id,icon:`FontColorDoubleIcon`,tooltip:`toolbar.textColor.main`,type:r.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:r.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(e=>{let t=n.DEFAULT_STYLES.cl.rgb,{isAllValuesSame:r,value:i}=s.getCellStylesProperty(`cl`);if(r){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new o.Observable(e=>{let n=i.getColorFromTheme(`gray.900`),r=t.onCommandExecuted(t=>{if(t.id===on.id){let r=t.params.value;e.next(r==null?n:r)}});return e.next(n),r.dispose}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]},!0)}}function bc(e){return{id:a.ResetBackgroundColorCommand.id,type:r.MenuItemType.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function xc(e){let t=e.get(n.ICommandService),i=e.get(n.ThemeService),s=e.get(a.SheetsSelectionsService);return{id:a.SetBackgroundColorCommand.id,tooltip:`toolbar.fillColor.main`,type:r.MenuItemType.BUTTON_SELECTOR,icon:`PaintBucketDoubleIcon`,selections:[{label:{name:r.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(e=>{let t=n.DEFAULT_STYLES.bg.rgb,{isAllValuesSame:r,value:i}=s.getCellStylesProperty(`bg`);if(r){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new o.Observable(e=>{let n=i.getColorFromTheme(`primary.600`),r=t.onCommandExecuted(t=>{if(t.id===a.SetBackgroundColorCommand.id){let r=t.params.value;e.next(r==null?n:r)}});return e.next(n),r.dispose}),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}let Sc=[{label:`align.left`,icon:`LeftJustifyingIcon`,value:n.HorizontalAlign.LEFT},{label:`align.center`,icon:`HorizontallyIcon`,value:n.HorizontalAlign.CENTER},{label:`align.right`,icon:`RightJustifyingIcon`,value:n.HorizontalAlign.RIGHT}];function Cc(e){var t,i;let s=e.get(n.IUniverInstanceService),c=e.get(a.SheetsSelectionsService),l=s.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet().getDefaultCellStyleInternal(),d=(t=u==null?void 0:u.ht)==null?n.HorizontalAlign.LEFT:t;return{id:a.SetHorizontalTextAlignCommand.id,icon:(i=Sc.find(e=>e.value===d))==null?void 0:i.icon,tooltip:`toolbar.horizontalAlignMode.main`,type:r.MenuItemType.SELECTOR,selections:Sc,value$:Z(s,d,({worksheet:t})=>new o.Observable(r=>{var i,o;let s=e.get(n.ICommandService).onCommandExecuted(e=>{var n,i;let o=e.id;if(o!==a.SetHorizontalTextAlignCommand.id&&o!==a.SetSelectionsOperation.id&&o!==a.SetWorksheetActiveOperation.id)return;let s=(n=c.getCurrentLastSelection())==null?void 0:n.primary,u;if(s!=null){var f;let e=t.getRange(s.startRow,s.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(s.startRow,s.startColumn);u=(f=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():f}r.next((i=u)==null?d:i)}),u=(i=c.getCurrentLastSelection())==null?void 0:i.primary,f;if(u!=null){var p;let e=t.getRange(u.startRow,u.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(u.startRow,u.startColumn);f=(p=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():p}return r.next((o=f)==null?d:o),s.dispose})),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}let wc=[{label:`align.top`,icon:`AlignTopIcon`,value:n.VerticalAlign.TOP},{label:`align.middle`,icon:`VerticalCenterIcon`,value:n.VerticalAlign.MIDDLE},{label:`align.bottom`,icon:`AlignBottomIcon`,value:n.VerticalAlign.BOTTOM}];function Tc(e){var t,i;let s=e.get(n.IUniverInstanceService),c=e.get(a.SheetsSelectionsService),l=s.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet().getDefaultCellStyleInternal(),d=(t=u==null?void 0:u.vt)==null?n.VerticalAlign.BOTTOM:t;return{id:a.SetVerticalTextAlignCommand.id,icon:(i=wc.find(e=>e.value===d))==null?void 0:i.icon,tooltip:`toolbar.verticalAlignMode.main`,type:r.MenuItemType.SELECTOR,selections:wc,value$:Z(s,d,({worksheet:t})=>new o.Observable(r=>{var i,o;let s=e.get(n.ICommandService).onCommandExecuted(e=>{var n,i;let o=e.id;if(o!==a.SetVerticalTextAlignCommand.id&&o!==a.SetSelectionsOperation.id&&o!==a.SetWorksheetActiveOperation.id)return;let s=(n=c.getCurrentLastSelection())==null?void 0:n.primary,u;if(s!=null){var f;let e=t.getRange(s.startRow,s.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(s.startRow,s.startColumn);u=(f=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():f}r.next((i=u)==null?d:i)}),u=(i=c.getCurrentLastSelection())==null?void 0:i.primary,f;if(u!=null){var p;let e=t.getRange(u.startRow,u.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(u.startRow,u.startColumn);f=(p=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():p}return r.next((o=f)==null?d:o),s.dispose})),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}let Ec=[{label:`textWrap.overflow`,icon:`OverflowIcon`,value:n.WrapStrategy.OVERFLOW},{label:`textWrap.wrap`,icon:`AutowrapIcon`,value:n.WrapStrategy.WRAP},{label:`textWrap.clip`,icon:`TruncationIcon`,value:n.WrapStrategy.CLIP}];function Dc(e){var t,i;let s=e.get(a.SheetsSelectionsService),c=e.get(n.IUniverInstanceService),l=c.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getActiveSheet().getDefaultCellStyleInternal(),d=(t=u==null?void 0:u.tb)==null?n.WrapStrategy.OVERFLOW:t;return{id:a.SetTextWrapCommand.id,tooltip:`toolbar.textWrapMode.main`,icon:(i=Ec.find(e=>e.value===d))==null?void 0:i.icon,type:r.MenuItemType.SELECTOR,selections:Ec,value$:Z(c,d,({worksheet:t})=>new o.Observable(r=>{var i,o;let c=e.get(n.ICommandService).onCommandExecuted(e=>{var n,i;let o=e.id;if(o!==a.SetTextWrapCommand.id&&o!==a.SetSelectionsOperation.id&&o!==a.SetWorksheetActiveOperation.id)return;let c=(n=s.getCurrentLastSelection())==null?void 0:n.primary,u;if(c!=null){var f;let e=t.getRange(c.startRow,c.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);u=(f=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():f}r.next((i=u)==null?d:i)}),u=(i=s.getCurrentLastSelection())==null?void 0:i.primary,f;if(u!=null){var p;let e=t.getRange(u.startRow,u.startColumn),n=l==null?void 0:l.getActiveSheet().getComposedCellStyle(u.startRow,u.startColumn);f=(p=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():p}return r.next((o=f)==null?d:o),c.dispose})),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}let Oc=[{label:`textRotate.none`,icon:`NoRotationIcon`,value:0},{label:`textRotate.angleUp`,icon:`LeftRotationFortyFiveDegreesIcon`,value:-45},{label:`textRotate.angleDown`,icon:`RightRotationFortyFiveDegreesIcon`,value:45},{label:`textRotate.vertical`,icon:`VerticalTextIcon`,value:`v`},{label:`textRotate.rotationUp`,icon:`LeftRotationNinetyDegreesIcon`,value:-90},{label:`textRotate.rotationDown`,icon:`RightRotationNinetyDegreesIcon`,value:90}];function kc(e){let t=e.get(a.SheetsSelectionsService),i=e.get(n.IUniverInstanceService);return{id:a.SetTextRotationCommand.id,tooltip:`toolbar.textRotateMode.main`,icon:Oc[0].icon,type:r.MenuItemType.SELECTOR,selections:Oc,value$:Z(i,0,({worksheet:r})=>new o.Observable(i=>{var o;let s=e.get(n.ICommandService).onCommandExecuted(e=>{var o;let s=e.id;if(s!==a.SetTextRotationCommand.id&&s!==a.SetSelectionsOperation.id&&s!==a.SetWorksheetActiveOperation.id)return;let c=(o=t.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=r.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getTextRotation()}if((l==null?void 0:l.v)===n.BooleanNumber.TRUE)i.next(`v`);else{var u;i.next((u=l&&l.a)==null?0:u)}}),c=(o=t.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=r.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getTextRotation()}if((l==null?void 0:l.v)===n.BooleanNumber.TRUE)i.next(`v`);else{var u;i.next((u=l&&l.a)==null?0:u)}return s.dispose})),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function Ac(e){return new o.Observable(t=>{let n=e.get(r.IClipboardInterfaceService).supportClipboard,i=e.get(pt).copyContentCache().lastCopyId$.subscribe(e=>{t.next(!n&&!e)});return t.next(!n),()=>i.unsubscribe()})}function jc(e){return{id:bt.name,commandId:bt.id,type:r.MenuItemType.BUTTON,title:`rightClick.copy`,icon:`CopyDoubleIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookCopyPermission],worksheetTypes:[a.WorksheetCopyPermission],rangeTypes:[a.RangeProtectionPermissionViewPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Mc(e){return{id:xt.name,commandId:r.CutCommand.id,type:r.MenuItemType.BUTTON,title:`rightClick.cut`,icon:`CutIcon`,disabled$:Q(e,{workbookTypes:[a.WorkbookCopyPermission,a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetCopyPermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionViewPoint,a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Nc(e){return{id:St.name,commandId:St.id,type:r.MenuItemType.BUTTON,title:`rightClick.paste`,icon:`PasteSpecialDoubleIcon`,disabled$:Ac(e).pipe((0,o.combineLatestWith)(Q(e,{rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission,a.WorksheetSetCellValuePermission],workbookTypes:[a.WorkbookEditablePermission]})),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let Pc=`sheet.menu.copy-special`;function Fc(e){return{id:Pc,type:r.MenuItemType.SUBITEMS,icon:`CopyDoubleIcon`,title:`rightClick.copySpecial`,hidden$:ys(e,(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET))}}let Ic=`sheet.menu.paste-special`;function Lc(e){return{id:Ic,type:r.MenuItemType.SUBITEMS,icon:`PasteSpecialDoubleIcon`,title:`rightClick.pasteSpecial`,hidden$:ys(e,(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET))}}function Rc(e){return{id:wt.id,type:r.MenuItemType.BUTTON,title:`rightClick.pasteValue`,disabled$:Ac(e).pipe((0,o.combineLatestWith)(Q(e,{rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellValuePermission,a.WorksheetEditPermission],workbookTypes:[a.WorkbookEditablePermission]})),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function zc(e){return{id:Tt.id,type:r.MenuItemType.BUTTON,title:`rightClick.pasteFormat`,disabled$:Ac(e).pipe((0,o.combineLatestWith)(Q(e,{rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetCellStylePermission,a.WorksheetEditPermission],workbookTypes:[a.WorkbookEditablePermission]})),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Bc(e){return{id:Et.id,type:r.MenuItemType.BUTTON,title:`rightClick.pasteColWidth`,disabled$:Ac(e).pipe((0,o.combineLatestWith)(Q(e,{rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetSetColumnStylePermission,a.WorksheetEditPermission],workbookTypes:[a.WorkbookEditablePermission]})),(0,o.map)(([e,t])=>e||t))}}function Vc(e){return{id:Dt.id,type:r.MenuItemType.BUTTON,title:`rightClick.pasteBesidesBorder`,disabled$:Ac(e).pipe((0,o.combineLatestWith)(Q(e,{rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellStylePermission,a.WorksheetSetCellValuePermission,a.WorksheetSetRowStylePermission,a.WorksheetSetColumnStylePermission],workbookTypes:[a.WorkbookEditablePermission]})),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Hc(e){return{id:a.SetWorksheetRowIsAutoHeightCommand.id,type:r.MenuItemType.BUTTON,icon:`AutoHeightDoubleIcon`,title:`rightClick.fitContent`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetSetRowStylePermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Uc(e){return{id:Hr.id,type:r.MenuItemType.BUTTON,icon:`AutoWidthDoubleIcon`,title:`rightClick.fitContent`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetSetRowStylePermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Wc(e){return{id:Kt.id,type:r.MenuItemType.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedRow`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetSetRowStylePermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Gc(e){return{id:qt.id,type:r.MenuItemType.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedColumn`,disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetColumnStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]}),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Kc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=[a.SetSelectionsOperation,a.SetRowHiddenMutation,a.SetRowVisibleMutation].map(e=>e.id);return{id:a.SetSelectedRowsVisibleCommand.id,type:r.MenuItemType.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideRow`,hidden$:Z(t,!0,({worksheet:e})=>new o.Observable(t=>{function r(){var t;let r=(t=i.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===n.RANGE_TYPE.ROW);return!!(r!=null&&r.some(t=>{for(let n=t.startRow;n<=t.endRow;n++)if(!e.getRowRawVisible(n))return!0;return!1}))}let a=s.onCommandExecuted(e=>{c.findIndex(t=>t===e.id)!==-1&&t.next(!r())});return t.next(!r()),()=>a.dispose()})),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetRowStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function qc(e){let t=e.get(n.IUniverInstanceService),i=e.get(a.SheetsSelectionsService),s=e.get(n.ICommandService),c=[a.SetSelectionsOperation,a.SetColHiddenMutation,a.SetColVisibleMutation].map(e=>e.id);return{id:a.SetSelectedColsVisibleCommand.id,type:r.MenuItemType.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideColumn`,hidden$:Z(t,!0,({worksheet:e})=>new o.Observable(t=>{function r(){var t;let r=(t=i.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===n.RANGE_TYPE.COLUMN);return!r||r.length===0?!1:!!r.some(t=>{for(let n=t.startColumn;n<=t.endColumn;n++)if(!e.getColVisible(n))return!0;return!1})}let a=s.onCommandExecuted(e=>{c.findIndex(t=>t===e.id)!==-1&&t.next(!r())});return t.next(!r()),()=>a.dispose()})),disabled$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetSetColumnStylePermission,a.WorksheetEditPermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function Jc(e){let t=e.get(n.ICommandService),i=e.get(n.IUniverInstanceService),s=e.get(a.SheetsSelectionsService);return{id:a.SetRowHeightCommand.id,type:r.MenuItemType.BUTTON,icon:`AdjustHeightDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.rowHeight`,suffix:`px`,min:2,max:1e3}},value$:Z(i,2,({worksheet:e})=>new o.Observable(n=>{function r(){var t;let r=(t=s.getCurrentLastSelection())==null?void 0:t.primary,i=r?e.getRowHeight(r.startRow):e.getConfig().defaultRowHeight;n.next(i)}let i=t.onCommandExecuted(e=>{let t=e.id;if(t===a.SetRangeValuesMutation.id||t===a.SetSelectionsOperation.id||t===a.SetWorksheetRowIsAutoHeightMutation.id)return r()});return r(),i.dispose})),hidden$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetRowStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function Yc(e){let t=e.get(n.ICommandService),i=e.get(n.IUniverInstanceService),s=e.get(a.SheetsSelectionsService);return{id:a.SetColWidthCommand.id,type:r.MenuItemType.BUTTON,icon:`AdjustWidthDoubleIcon`,label:{name:hs,props:{prefix:`rightClick.columnWidth`,suffix:`px`,min:2,max:1e3}},value$:Z(i,2,({worksheet:e})=>new o.Observable(n=>{function r(){var t;let r=(t=s.getCurrentLastSelection())==null?void 0:t.primary,i=r?e.getColumnWidth(r.startColumn):e.getConfig().defaultColumnWidth;n.next(i)}let i=t.onCommandExecuted(e=>{let t=e.id;if(t===a.SetRangeValuesMutation.id||t===a.SetSelectionsOperation.id||t===a.SetWorksheetColWidthMutation.id)return r()});return r(),i.dispose})),hidden$:Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetColumnStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})}}function Xc(e){let t=ys(e,Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission,a.WorksheetSetCellStylePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})),i=za(e);return{id:a.AddWorksheetMergeCommand.id,icon:`MergeAllIcon`,tooltip:`toolbar.mergeCell.main`,type:r.MenuItemType.SUBITEMS,hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1))]).pipe((0,o.map)(([e,t])=>e||t)),disabled$:t.pipe((0,o.combineLatestWith)(i),(0,o.map)(([e,t])=>e||t))}}function Zc(e){return{id:a.AddWorksheetMergeAllCommand.id,type:r.MenuItemType.BUTTON,title:`merge.all`,icon:`MergeAllIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Qc(e){return{id:a.AddWorksheetMergeVerticalCommand.id,type:r.MenuItemType.BUTTON,title:`merge.vertical`,icon:`VerticalIntegrationIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function $c(e){return{id:a.AddWorksheetMergeHorizontalCommand.id,type:r.MenuItemType.BUTTON,title:`merge.horizontal`,icon:`HorizontalMergeIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function el(e){return{id:a.RemoveWorksheetMergeCommand.id,type:r.MenuItemType.BUTTON,title:`merge.cancel`,icon:`CancelMergeIcon`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function tl(e){return(0,o.combineLatest)([e.get(n.IUniverInstanceService).getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,r])=>t?t.activeSheet$.pipe((0,o.switchMap)(r=>{if(!r)return(0,o.of)(!0);let i=e.get(a.RangeProtectionRuleModel),s=e.get(a.WorksheetProtectionRuleModel),c=e.get(a.SheetsSelectionsService);return(0,o.merge)(c.selectionMoveEnd$,i.ruleChange$,s.ruleChange$).pipe((0,o.map)(()=>{let e=t.getUnitId(),a=r.getSheetId(),o=i.getSubunitRuleList(e,a),l=c.getCurrentSelections(),u=l==null?void 0:l.map(e=>e.range),d=o.map(e=>e.ranges).flat();if(!u)return!1;let f=s.getRule(e,a);return f!=null&&f.permissionId?!0:u==null?void 0:u.some(e=>d.some(t=>n.Rectangle.intersects(e,t)))}))})):(0,o.of)(!0)))}function nl(e){let t=e.get(n.IUniverInstanceService),r=e.get(a.RangeProtectionRuleModel);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,i])=>t?t.activeSheet$.pipe((0,o.switchMap)(i=>{if(!i)return(0,o.of)(!0);let s=e.get(a.RangeProtectionRuleModel),c=e.get(a.WorksheetProtectionRuleModel),l=e.get(n.IPermissionService),u=e.get(a.SheetsSelectionsService);return(0,o.merge)(u.selectionMoveEnd$,s.ruleChange$,c.ruleChange$).pipe((0,o.map)(()=>{var o;let s=t.getUnitId(),d=i.getSheetId(),f=r.getSubunitRuleList(s,d),p=(o=u.getCurrentSelections())==null?void 0:o.map(e=>e.range);if(f.map(e=>e.ranges).flat(),!(p!=null&&p.length)||p.length>1)return!0;let m=p[0];if((m==null?void 0:m.rangeType)===n.RANGE_TYPE.ALL||(m==null?void 0:m.rangeType)===n.RANGE_TYPE.COLUMN||(m==null?void 0:m.rangeType)===n.RANGE_TYPE.ROW)return!0;let h=c.getRule(s,d);if(h!=null&&h.permissionId){var g;return((g=l.getPermissionPoint(new a.WorksheetManageCollaboratorPermission(s,d).id))==null?void 0:g.value)===!1}if(f.filter(e=>e.ranges.some(e=>n.Rectangle.intersects(e,m))).length!==1)return!0;let{startRow:_,endRow:v,startColumn:y,endColumn:b}=m,x=e.get(a.RangeProtectionCache);for(let e=_;e<=v;e++)for(let t=y;t<=b;t++){let n=x.getCellInfo(s,d,e,t);if(n)return n[a.UnitAction.ManageCollaborator]===!1}return!1}))})):(0,o.of)(!0)))}function rl(e){let t=e.get(n.IUniverInstanceService),r=e.get(n.IPermissionService);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,n])=>t?t.activeSheet$.pipe((0,o.switchMap)(n=>{var i;if(!n)return(0,o.of)(!0);let s=t.getUnitId(),c=e.get(a.SheetsSelectionsService),l=e.get(a.RangeProtectionRuleModel),u=e.get(a.WorksheetProtectionRuleModel);return(0,o.combineLatest)([(i=r.composePermission$([new a.WorkbookEditablePermission(s).id]).pipe((0,o.map)(e=>e.every(e=>e.value))))==null?(0,o.of)(!1):i,(0,o.merge)(l.ruleChange$,u.ruleChange$).pipe((0,o.startWith)(null)),c.selectionMoveEnd$]).pipe((0,o.map)(([e,t,n])=>{if(!e)return!0;let r=c.getCurrentSelections(),i=r==null?void 0:r.map(e=>e.range);return i!=null&&i.length?i.length>1:!1}))})):(0,o.of)(!0)))}function il(e){var t;let r=e.get(n.IUniverInstanceService),i=e.get(n.IPermissionService),s=r.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),c=e.get(n.UserManagerService),l=e.has(J)?e.get(J):null,u=e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_FX_BAR_EDITOR).pipe((0,o.startWith)(!1),(0,o.shareReplay)(1)),d=(t=l==null?void 0:l.visible$.pipe((0,o.startWith)(null),(0,o.shareReplay)(1)))==null?(0,o.of)(null):t;return(0,o.combineLatest)([s,c.currentUser$,d,u]).pipe((0,o.switchMap)(([t,r,s,c])=>!t||s!=null&&s.visible&&s.unitId===t.getUnitId()||c?(0,o.of)(!0):t.activeSheet$.pipe((0,o.switchMap)(r=>{var s;if(!r)return(0,o.of)(!0);let c=e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_COMMON_DRAWINGS).pipe((0,o.startWith)(!1)),l=t.getUnitId(),u=r.getSheetId(),d=e.get(a.RangeProtectionRuleModel),f=e.get(a.WorksheetProtectionRuleModel),p=e.get(a.SheetsSelectionsService);return(0,o.combineLatest)([(s=i.composePermission$([new a.WorkbookCreateProtectPermission(l).id]).pipe((0,o.map)(e=>e.every(e=>e.value))))==null?(0,o.of)(!1):s,(0,o.merge)(d.ruleChange$,f.ruleChange$).pipe((0,o.startWith)(null)),p.selectionMoveEnd$,c]).pipe((0,o.map)(([e,t,r,i])=>{if(!e||i)return!0;let a=p.getCurrentSelections(),o=a==null?void 0:a.map(e=>e.range);if(!(o!=null&&o.length))return!0;let s=f.getRule(l,u);if(s!=null&&s.permissionId)return!0;let c=d.getSubunitRuleList(l,u);return o==null?void 0:o.some(e=>c.some(t=>t.ranges.some(t=>n.Rectangle.intersects(e,t))))}))}))))}function al(e){let t=e.get(n.IUniverInstanceService),r=e.get(n.IPermissionService);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,n])=>t?t.activeSheet$.pipe((0,o.switchMap)(n=>{var i;if(!n)return(0,o.of)(!0);let s=t.getUnitId(),c=n.getSheetId(),l=e.get(a.RangeProtectionRuleModel),u=e.get(a.WorksheetProtectionRuleModel);return(0,o.combineLatest)([(i=r.composePermission$([new a.WorkbookCreateProtectPermission(s).id]).pipe((0,o.map)(e=>e.every(e=>e.value))))==null?(0,o.of)(!1):i,(0,o.merge)(l.ruleChange$,u.ruleChange$).pipe((0,o.startWith)(null))]).pipe((0,o.map)(([e,t])=>{var n;if(!e)return!0;let r=u.getRule(s,c);return r!=null&&r.permissionId?!0:((n=l.getSubunitRuleList(s,c))==null?void 0:n.filter(e=>e==null?void 0:e.permissionId)).length>0}))})):(0,o.of)(!0)))}function ol(e){let t=e.get(n.IUniverInstanceService),r=e.get(n.IPermissionService);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,n])=>t?t.activeSheet$.pipe((0,o.switchMap)(n=>{if(!n)return(0,o.of)(!0);let i=t.getUnitId(),s=n.getSheetId(),c=e.get(a.WorksheetProtectionRuleModel);return c.ruleChange$.pipe((0,o.startWith)(null)).pipe((0,o.map)(()=>{if(c.getRule(i,s)){var e;return((e=r.getPermissionPoint(new a.WorksheetDeleteProtectionPermission(i,s).id))==null?void 0:e.value)===!1}return!0}))})):(0,o.of)(!0)))}function sl(e){let t=e.get(n.IUniverInstanceService),r=e.get(n.IPermissionService);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,n])=>t?t.activeSheet$.pipe((0,o.switchMap)(n=>{var i;if(!n)return(0,o.of)(!0);let s=t.getUnitId(),c=e.get(a.RangeProtectionRuleModel),l=e.get(a.WorksheetProtectionRuleModel);return(0,o.combineLatest)([(i=r.composePermission$([new a.WorkbookCreateProtectPermission(s).id,new a.WorkbookManageCollaboratorPermission(s).id]).pipe((0,o.map)(e=>e.every(e=>e.value))))==null?(0,o.of)(!1):i,l.ruleChange$.pipe((0,o.startWith)(null)),c.ruleChange$.pipe((0,o.startWith)(null))]).pipe((0,o.map)(([e,t,r])=>{if(!e)return!0;let i=n.getSheetId(),a=l.getRule(s,i),o=c.getSubunitRuleList(s,i);return!(a||o.length)}))})):(0,o.of)(!0)))}function cl(e){let t=e.get(n.IUniverInstanceService),r=e.get(n.IPermissionService);return(0,o.combineLatest)([t.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),e.get(n.UserManagerService).currentUser$]).pipe((0,o.switchMap)(([t,i])=>t?t.activeSheet$.pipe((0,o.switchMap)(i=>{if(!i)return(0,o.of)(!0);let s=t.getUnitId(),c=i.getSheetId(),l=e.get(a.SheetsSelectionsService),u=e.get(a.RangeProtectionRuleModel),d=e.get(a.WorksheetProtectionRuleModel);return(0,o.combineLatest)([(0,o.merge)(u.ruleChange$,d.ruleChange$,l.selectionMoveEnd$).pipe((0,o.startWith)(null))]).pipe((0,o.map)(([t])=>{let i=e.get(a.SheetsSelectionsService).getCurrentSelections(),o=i==null?void 0:i.map(e=>e.range);if(!(o!=null&&o.length)||o.length>1)return!0;let l=o[0];if((l==null?void 0:l.rangeType)===n.RANGE_TYPE.ALL||(l==null?void 0:l.rangeType)===n.RANGE_TYPE.COLUMN||(l==null?void 0:l.rangeType)===n.RANGE_TYPE.ROW)return!0;let f=d.getRule(s,c);if(f!=null&&f.permissionId){var p;return((p=r.getPermissionPoint(new a.WorksheetDeleteProtectionPermission(s,c).id))==null?void 0:p.value)===!1}if(u.getSubunitRuleList(s,c).filter(e=>e.ranges.some(e=>n.Rectangle.intersects(e,l))).length!==1)return!0;let{startRow:m,endRow:h,startColumn:g,endColumn:_}=l,v=e.get(a.RangeProtectionCache);for(let e=m;e<=h;e++)for(let t=g;t<=_;t++){let n=v.getCellInfo(s,c,e,t);if(n)return n[a.UnitAction.Delete]===!1}return!1}))})):(0,o.of)(!0)))}function ll(e){var t;let r=e.get(n.IUniverInstanceService),i=e.get(n.IPermissionService),s=r.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),c=e.get(n.UserManagerService),l=e.has(J)?e.get(J):null,u=e.get(n.IContextService).subscribeContextValue$(n.FOCUSING_FX_BAR_EDITOR),d=(t=l==null?void 0:l.visible$)==null?(0,o.of)(null):t;return(0,o.combineLatest)([s,c.currentUser$,d,u]).pipe((0,o.switchMap)(([e,t,n,r])=>!e||n!=null&&n.visible&&n.unitId===e.getUnitId()||r?(0,o.of)(!0):e.activeSheet$.pipe((0,o.switchMap)(t=>{var n,r;if(!t)return(0,o.of)(!0);let s=e.getUnitId();return((n=(r=i.getPermissionPoint$(new a.WorkbookEditablePermission(s).id))==null?void 0:r.pipe((0,o.map)(e=>!!e.value)))==null?(0,o.of)(!1):n).pipe((0,o.map)(e=>!e))}))))}let ul=`sheet.contextMenu.permission`;function dl(e){return{id:$n.id,type:r.MenuItemType.BUTTON,icon:qn,tooltip:`permission.toolbarMenu`,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),disabled$:il(e)}}function fl(e){return{id:ul,type:r.MenuItemType.SUBITEMS,title:`rightClick.protectRange`,icon:Jn,hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function pl(e){return{id:er.id,type:r.MenuItemType.BUTTON,title:`rightClick.turnOnProtectRange`,hidden$:tl(e),disabled$:il(e)}}function ml(e){return{id:ar.id,type:r.MenuItemType.BUTTON,title:`rightClick.editProtectRange`,disabled$:rl(e),hidden$:nl(e)}}function hl(e){return{id:ir.id,type:r.MenuItemType.BUTTON,title:`rightClick.removeProtectRange`,disabled$:cl(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function gl(e){return{id:tr.id,type:r.MenuItemType.BUTTON,title:`rightClick.viewAllProtectArea`,disabled$:ll(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function _l(e){return{id:nr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.addProtectSheet`,disabled$:al(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function vl(e){return{id:Zr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.removeProtectSheet`,disabled$:ol(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function yl(e){return{id:Qr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.changeSheetPermission`,disabled$:sl(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function bl(e){return{id:rr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.viewAllProtectArea`,disabled$:ll(e),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function xl(e){let t=e.get(n.IUniverInstanceService),i=e.get(n.ICommandService),s=new o.Observable(e=>{let n=i.onCommandExecuted(n=>{let r=n.id;(r===a.RemoveSheetMutation.id||r===a.InsertSheetMutation.id||r===a.SetWorksheetHideMutation.id)&&Dl(t,e)});return Dl(t,e),n.dispose}),c=ws(e,[a.WorkbookEditablePermission,a.WorkbookDeleteSheetPermission]);return{id:cr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.delete`,disabled$:(0,o.combineLatest)([s,c]).pipe((0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Sl(e){return{id:a.CopySheetCommand.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.copy`,disabled$:ws(e,[a.WorkbookEditablePermission,a.WorkbookCreateSheetPermission]),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Cl(e){return{id:ai.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.rename`,disabled$:ws(e,[a.WorkbookEditablePermission,a.WorkbookRenameSheetPermission]),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function wl(e){return{id:a.SetTabColorCommand.id,title:`sheetConfig.changeColor`,type:r.MenuItemType.SELECTOR,selections:[{label:{name:r.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1}}],hidden$:ws(e,[a.WorkbookEditablePermission])}}function Tl(e){let t=e.get(n.IUniverInstanceService),i=e.get(n.ICommandService);return{id:a.SetWorksheetHideCommand.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.hide`,disabled$:new o.Observable(e=>{let n=i.onCommandExecuted(n=>{let r=n.id;(r===a.RemoveSheetMutation.id||r===a.InsertSheetMutation.id||r===a.SetWorksheetHideMutation.id)&&Dl(t,e)});return Dl(t,e),n.dispose}).pipe((0,o.combineLatestWith)(ws(e,[a.WorkbookEditablePermission,a.WorkbookHideSheetPermission])),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function El(e){let t=e.get(n.IUniverInstanceService),i=e.get(n.ICommandService);return{id:Xr.id,type:r.MenuItemType.BUTTON,title:`sheetConfig.unhide`,disabled$:new o.Observable(e=>{function r(){let r=t.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getWorksheets(),i=Array.from(r.values());e.next(i.length===1)}let o=i.onCommandExecuted(e=>{let t=e.id;(t===a.RemoveSheetMutation.id||t===a.InsertSheetMutation.id||t===a.SetWorksheetHideMutation.id)&&r()});return r(),o.dispose}).pipe((0,o.combineLatestWith)(ws(e,[a.WorkbookEditablePermission,a.WorkbookHideSheetPermission])),(0,o.map)(([e,t])=>e||t)),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}function Dl(e,t){let r=e.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getWorksheets(),i=Array.from(r.values()).filter(e=>e.getConfig().hidden===n.BooleanNumber.FALSE);t.next(i.length===1)}let Ol=e=>{var t;let r=e.get(a.SheetsSelectionsService),i=(t=e.get(n.IUniverInstanceService).getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET))==null?void 0:t.getActiveSheet();return new o.Observable(e=>{let t=t=>{if(!i||!t||t.length===0)return e.next(!0);for(let o=0;o<t.length;o++){let{range:s}=t[o];for(let t=s.startRow;t<=s.endRow;t++)for(let o=s.startColumn;o<=s.endColumn;o++){var r,a;let s=i.getCellRaw(t,o),c=typeof(s==null?void 0:s.s)==`string`?(r=i.getStyleDataByHash(s.s))==null||(r=r.n)==null?void 0:r.pattern:s==null||(a=s.s)==null||(a=a.n)==null?void 0:a.pattern;if(s&&s.v&&(s.t!==n.CellValueType.NUMBER||(0,n.isTextFormat)(c))&&(0,n.isRealNum)(s.v))return e.next(!1)}}e.next(!0)},a=r.selectionChanged$.subscribe(n=>{if(!n||n.length===0)return e.next(!0);t(n)});return t(r.getCurrentSelections()),()=>a.unsubscribe()})},kl=`sheet.toolbar.text-to-number`;function Al(e){return{id:kl,commandId:a.TextToNumberCommand.id,type:r.MenuItemType.BUTTON,title:`toolbar.textToNumber`,disabled$:ys(e,Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})),hidden$:(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET)}}let jl=`sheet.contextMenu.text-to-number`;function Ml(e){return{id:jl,commandId:a.TextToNumberCommand.id,type:r.MenuItemType.BUTTON,title:`rightClick.textToNumber`,icon:`PipingIcon`,disabled$:ys(e,Q(e,{workbookTypes:[a.WorkbookEditablePermission],worksheetTypes:[a.WorksheetEditPermission,a.WorksheetSetCellValuePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint]})),hidden$:(0,o.combineLatest)([(0,r.getMenuHiddenObservable)(e,n.UniverInstanceType.UNIVER_SHEET),Ol(e)]).pipe((0,o.map)(([e,t])=>e||t))}}let Nl={[r.RibbonPosition.START]:{[r.RibbonStartGroup.HISTORY]:{[mr.id]:{order:2,menuItemFactory:fc},[a.ClearSelectionAllCommand.id]:{order:3,menuItemFactory:As}},[r.RibbonStartGroup.FORMAT]:{[an.id]:{order:1,menuItemFactory:_c},[tn.id]:{order:2,menuItemFactory:Rs},[nn.id]:{order:2.1,menuItemFactory:zs},[rn.id]:{order:2.2,menuItemFactory:Bs},[Yt.id]:{order:5,menuItemFactory:pc},[Xt.id]:{order:6,menuItemFactory:mc},[Zt.id]:{order:7,menuItemFactory:hc},[Qt.id]:{order:8,menuItemFactory:gc},[on.id]:{order:9,menuItemFactory:yc,[a.ResetTextColorCommand.id]:{order:0,menuItemFactory:vc}},[a.SetBackgroundColorCommand.id]:{order:10,menuItemFactory:xc,[a.ResetBackgroundColorCommand.id]:{order:0,menuItemFactory:bc}},[a.SetBorderBasicCommand.id]:{order:11,menuItemFactory:Ts}},[r.RibbonStartGroup.LAYOUT]:{[a.SetHorizontalTextAlignCommand.id]:{order:0,menuItemFactory:Cc},[a.SetVerticalTextAlignCommand.id]:{order:3,menuItemFactory:Tc},[a.SetTextWrapCommand.id]:{order:6,menuItemFactory:Dc},[a.SetTextRotationCommand.id]:{order:7,menuItemFactory:kc},[a.AddWorksheetMergeCommand.id]:{order:8,menuItemFactory:Xc,[a.AddWorksheetMergeAllCommand.id]:{order:0,menuItemFactory:Zc},[a.AddWorksheetMergeVerticalCommand.id]:{order:1,menuItemFactory:Qc},[a.AddWorksheetMergeHorizontalCommand.id]:{order:2,menuItemFactory:$c},[a.RemoveWorksheetMergeCommand.id]:{order:3,menuItemFactory:el}}},[r.RibbonStartGroup.OTHERS]:{[$n.id]:{order:0,menuItemFactory:dl}}},[r.RibbonPosition.DATA]:{[r.RibbonDataGroup.OTHERS]:{[kl]:{order:0,menuItemFactory:Al}}},[r.ContextMenuPosition.MAIN_AREA]:{[r.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[bt.name]:{order:0,menuItemFactory:jc},[xt.name]:{order:1,menuItemFactory:Mc},[St.name]:{order:2,menuItemFactory:Nc}},[r.ContextMenuGroup.FORMAT]:{[Pc]:{order:0,menuItemFactory:Fc},[Ic]:{order:1,menuItemFactory:Lc,[wt.id]:{order:0,menuItemFactory:Rc},[Tt.id]:{order:1,menuItemFactory:zc},[Et.id]:{order:2,menuItemFactory:Bc},[Dt.id]:{order:3,menuItemFactory:Vc}},[Es]:{order:2,menuItemFactory:Ds,[a.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Os},[a.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:ks},[a.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:As}},[jl]:{order:3,menuItemFactory:Ml}},[r.ContextMenuGroup.LAYOUT]:{order:1,[tc]:{order:0,menuItemFactory:nc,[a.InsertRowBeforeCommand.id]:{order:0,menuItemFactory:rc},[a.InsertColBeforeCommand.id]:{order:1,menuItemFactory:ic},[ln.id]:{order:2,menuItemFactory:ac},[cn.id]:{order:3,menuItemFactory:oc}},[js]:{order:0,menuItemFactory:Ms,[sr.id]:{order:0,menuItemFactory:Ns},[or.id]:{order:1,menuItemFactory:Ps},[kt.id]:{order:2,menuItemFactory:Fs},[At.id]:{order:3,menuItemFactory:Is}},[Hs]:{order:2,menuItemFactory:Us,[_r.id]:{order:0,menuItemFactory:Js},[vr.id]:{order:1,menuItemFactory:Ys},[yr.id]:{order:2,menuItemFactory:Xs},[br.id]:{order:3,menuItemFactory:Zs},[xr.id]:{order:4,menuItemFactory:Qs},[a.CancelFrozenCommand.id]:{order:5,menuItemFactory:$s}},[ul]:{order:3,menuItemFactory:fl,[er.id]:{order:0,menuItemFactory:pl},[ar.id]:{order:1,menuItemFactory:ml},[ir.id]:{order:2,menuItemFactory:hl},[tr.id]:{order:3,menuItemFactory:gl}}},[r.ContextMenuGroup.DATA]:{order:2},[r.ContextMenuGroup.OTHERS]:{order:3}},[r.ContextMenuPosition.COL_HEADER]:{[r.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[bt.name]:{order:0,menuItemFactory:jc},[xt.name]:{order:1,menuItemFactory:Mc},[St.name]:{order:2,menuItemFactory:Nc}},[r.ContextMenuGroup.FORMAT]:{[Pc]:{order:0,menuItemFactory:Fc},[Ic]:{order:1,menuItemFactory:Lc,[wt.id]:{order:0,menuItemFactory:Rc},[Tt.id]:{order:1,menuItemFactory:zc},[Et.id]:{order:2,menuItemFactory:Bc},[Dt.id]:{order:3,menuItemFactory:Vc}},[Es]:{order:2,menuItemFactory:Ds,[a.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Os},[a.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:ks},[a.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:As}},[jl]:{order:3,menuItemFactory:Ml}},[r.ContextMenuGroup.LAYOUT]:{order:1,[a.InsertMultiColsLeftCommand.id]:{order:0,menuItemFactory:lc},[a.InsertMultiColsRightCommand.id]:{order:0,menuItemFactory:uc},[qt.id]:{order:1,menuItemFactory:Gc},[a.SetSelectedColsVisibleCommand.id]:{order:2,menuItemFactory:qc},[sr.id]:{order:2,menuItemFactory:Ns},[a.SetColWidthCommand.id]:{order:3,menuItemFactory:Yc},[Hr.id]:{order:4,menuItemFactory:Uc},[Ws]:{order:5,menuItemFactory:Gs,[yr.id]:{order:2,menuItemFactory:Xs},[xr.id]:{order:4,menuItemFactory:Qs},[a.CancelFrozenCommand.id]:{order:5,menuItemFactory:$s}},[ul]:{order:6,menuItemFactory:fl,[er.id]:{order:0,menuItemFactory:pl},[ar.id]:{order:1,menuItemFactory:ml},[ir.id]:{order:2,menuItemFactory:hl},[tr.id]:{order:3,menuItemFactory:gl}}},[r.ContextMenuGroup.DATA]:{order:2},[r.ContextMenuGroup.OTHERS]:{order:3}},[r.ContextMenuPosition.ROW_HEADER]:{[r.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[bt.name]:{order:0,menuItemFactory:jc},[xt.name]:{order:1,menuItemFactory:Mc},[St.name]:{order:2,menuItemFactory:Nc}},[r.ContextMenuGroup.FORMAT]:{[Pc]:{order:0,menuItemFactory:Fc},[Ic]:{order:1,menuItemFactory:Lc,[wt.id]:{order:0,menuItemFactory:Rc},[Tt.id]:{order:1,menuItemFactory:zc},[Et.id]:{order:2,menuItemFactory:Bc},[Dt.id]:{order:3,menuItemFactory:Vc}},[Es]:{order:2,menuItemFactory:Ds,[a.ClearSelectionContentCommand.id]:{order:0,menuItemFactory:Os},[a.ClearSelectionFormatCommand.id]:{order:1,menuItemFactory:ks},[a.ClearSelectionAllCommand.id]:{order:2,menuItemFactory:As}},[jl]:{order:3,menuItemFactory:Ml}},[r.ContextMenuGroup.LAYOUT]:{order:1,[a.InsertMultiRowsAboveCommand.id]:{order:0,menuItemFactory:cc},[a.InsertMultiRowsAfterCommand.id]:{order:1,menuItemFactory:sc},[or.id]:{order:1,menuItemFactory:Ps},[Kt.id]:{order:2,menuItemFactory:Wc},[a.SetSelectedRowsVisibleCommand.id]:{order:2,menuItemFactory:Kc},[a.SetRowHeightCommand.id]:{order:3,menuItemFactory:Jc},[a.SetWorksheetRowIsAutoHeightCommand.id]:{order:4,menuItemFactory:Hc},[Ks]:{order:5,menuItemFactory:qs,[vr.id]:{order:1,menuItemFactory:Ys},[br.id]:{order:3,menuItemFactory:Zs},[a.CancelFrozenCommand.id]:{order:5,menuItemFactory:$s}},[ul]:{order:6,menuItemFactory:fl,[er.id]:{order:0,menuItemFactory:pl},[ar.id]:{order:1,menuItemFactory:ml},[ir.id]:{order:2,menuItemFactory:hl},[tr.id]:{order:3,menuItemFactory:gl}}},[r.ContextMenuGroup.DATA]:{order:2},[r.ContextMenuGroup.OTHERS]:{order:3}},[r.ContextMenuPosition.FOOTER_TABS]:{[r.ContextMenuGroup.OTHERS]:{order:0,[cr.id]:{order:0,menuItemFactory:xl},[a.CopySheetCommand.id]:{order:1,menuItemFactory:Sl},[ai.id]:{order:2,menuItemFactory:Cl},[a.SetTabColorCommand.id]:{order:3,menuItemFactory:wl},[a.SetWorksheetHideCommand.id]:{order:4,menuItemFactory:Tl},[Xr.id]:{order:6,menuItemFactory:El},[nr.id]:{order:7,menuItemFactory:_l},[Zr.id]:{order:8,menuItemFactory:vl},[Qr.id]:{order:9,menuItemFactory:yl},[rr.id]:{order:10,menuItemFactory:bl}}},[r.ContextMenuPosition.FOOTER_MENU]:{[r.ContextMenuGroup.OTHERS]:{[a.ToggleGridlinesCommand.id]:{order:1,menuItemFactory:ec}}}},Pl=`sheets.component.cell-popup`,Fl=class extends n.Disposable{constructor(e,t,n,r,i,a,o){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=n,this._refRangeService=r,this._commandService=i,this._refSelectionsService=a,this._selectionManagerService=o,R(this,`_popupMenuFeatureMap`,new Map),R(this,`_popupMenuOffsetMap`,new Map),R(this,`_isSelectionMoving`,!1),this._initMoving()}_initMoving(){this.disposeWithMe(this._refSelectionsService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._refSelectionsService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1})),this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1}))}registerFeatureMenu(e,t){this._popupMenuFeatureMap.set(e,t)}registerFeatureMenuOffset(e,t,n){this._popupMenuOffsetMap.set(e,{offsetX:t,offsetY:n})}getFeatureMenu(e,t,n,r){let i=this._popupMenuFeatureMap.get(r);if(i)return i(e,t,n,r)}dispose(){super.dispose(),this._popupMenuFeatureMap.clear(),this._popupMenuOffsetMap.clear()}_createHiddenRectObserver(e){let{row:t,column:r,worksheet:i,skeleton:s,currentRender:c}=e,l=()=>{var e,n;let{startRow:a,startColumn:o,xSplit:l,ySplit:u}=i.getFreeze(),d=a-u,f=o-l,{rowHeightAccumulation:p,columnWidthAccumulation:m,rowHeaderWidth:h,columnHeaderHeight:g}=s,_=h+(f===-1?0:m[f+l-1]-((e=m[f-1])==null?0:e)),v=g+(d===-1?0:p[d+u-1]-((n=p[d])==null?0:n)),y=c.engine.getCanvasElement(),b=y.getBoundingClientRect(),x=Il(y.style.width),S=b.width/x,C=c.scene.getAncestorScale().scaleX,w=_*S*C,T=v*S*C,E={left:-1/0,top:-1/0,right:b.left+w,bottom:b.top+T},D={left:b.left+w,top:-1/0,right:1/0,bottom:b.top+T},O={left:-1/0,top:b.top+T,right:b.left+w,bottom:1/0},k=[];return t<a&&k.push(E),r<o&&k.push(O),t<a&&r<o?[]:t<a||r<o?[E]:[E,D,O]},u=new o.BehaviorSubject(l()),d=new n.DisposableCollection;return d.add(this._commandService.onCommandExecuted(e=>{e.id===a.SetFrozenMutation.id&&u.next(l())})),d.add((0,n.fromEventSubject)(c.engine.onTransformChange$).pipe((0,o.throttleTime)(16)).subscribe(()=>{u.next(l())})),{rects$:u,disposable:d}}_createPositionObserver(e,t,r,i){let a=()=>{let{scene:n}=t,a=hi(e,n,r,i),o=t.engine.getCanvasElement(),s=o.getBoundingClientRect(),c=Il(o.style.width),l=s.width/c;return{left:a.left*l+s.left,right:a.right*l+s.left,top:a.top*l+s.top,bottom:a.bottom*l+s.top}},s=a(),c=new o.BehaviorSubject(s),l=new n.DisposableCollection;return l.add(this._commandService.onCommandExecuted(e=>{Rl(e.id)&&c.next(a())})),{position:s,position$:c,disposable:l}}attachPopupToObject(e,t){var r;let a=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),o=a.getActiveSheet();if(!o||this._isSelectionMoving&&!t.showOnSelectionMoving)return{dispose:()=>{},canDispose:()=>!0};let s=a.getUnitId(),c=o.getSheetId(),l=(r=this._renderManagerService.getRenderById(s))==null?void 0:r.with(U).ensureSkeleton(c),u=this._renderManagerService.getRenderById(s);if(!u||!l)return{dispose:()=>{},canDispose:()=>!0};let{left:d,top:f,width:p,height:m}=e,h=0,g=0,_;if(e.classType===i.RENDER_CLASS_TYPE.SHAPE&&(_=e.getPropByKey(`drawingType`)),_!==void 0&&this._popupMenuOffsetMap.has(_)){let e=this._popupMenuOffsetMap.get(_);h=e.offsetX,g=e.offsetY}let v={left:d,right:d+p+h,top:f+g,bottom:f+m},{position:y,position$:b,disposable:x}=this._createPositionObserver(v,u,l,o),S=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:c,anchorRect:y,anchorRect$:b,canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(S),b.complete(),x.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==S}}attachPopupByPosition(e,t,r){var i;let a=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),o=a.getActiveSheet();if(!o)return null;let s=a.getUnitId(),c=o.getSheetId();if(s!==r.unitId||r.subUnitId!==c)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let l=(i=this._renderManagerService.getRenderById(s))==null?void 0:i.with(U).getOrCreateSkeleton({sheetId:c}),u=this._renderManagerService.getRenderById(s);if(!u||!l)return null;let{position:d,position$:f,disposable:p}=this._createPositionObserver(e,u,l,o),{rects$:m,disposable:h}=this._createHiddenRectObserver({row:r.row,column:r.col,worksheet:o,skeleton:l,currentRender:u}),g=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:c,anchorRect:d,anchorRect$:f,hiddenRects$:m,canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(g),f.complete(),p.dispose(),h.dispose(),a=null,o=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==g}}attachPopupToAbsolutePosition(e,t,r,i){var a;let s=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),c=s.getActiveSheet();if(!c)return null;let l=s.getUnitId(),u=c.getSheetId();if(r&&l!==r||i&&i!==u)return null;let d=(a=this._renderManagerService.getRenderById(l))==null?void 0:a.with(U).ensureSkeleton(u),f=this._renderManagerService.getRenderById(l);if(!f||!d)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let p=new o.BehaviorSubject(e),m=this._globalPopupManagerService.addPopup({...t,unitId:l,subUnitId:u,anchorRect:e,anchorRect$:p.asObservable(),canvasElement:f.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(m),p.complete()},canDispose:()=>this._globalPopupManagerService.activePopupId!==m}}attachPopupToCell(e,t,r,i,a,o){let s=i?this._univerInstanceService.getUnit(i):this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET);if(!s)return null;let c=a?s.getSheetBySheetId(a):s.getActiveSheet();if(!c)return null;let l=s.getUnitId(),u=c.getSheetId(),d=this._renderManagerService.getRenderById(l),f=d==null?void 0:d.with(U).ensureSkeleton(u),p=d==null?void 0:d.with(B);if(!d||!f||!p)return null;if(this._isSelectionMoving&&!r.showOnSelectionMoving)return;let m=o==null?mi(e,t,d.scene,c):o;if(!m)return null;let{position:h,position$:g,disposable:_,updateRowCol:v}=this._createCellPositionObserver(e,t,d,f,m),{rects$:y,disposable:b}=this._createHiddenRectObserver({row:e,column:t,worksheet:c,skeleton:f,currentRender:d}),x=this._globalPopupManagerService.addPopup({...r,unitId:l,subUnitId:u,anchorRect:h,anchorRect$:g,canvasElement:d.engine.getCanvasElement(),hiddenRects$:y}),S=new n.DisposableCollection;S.add(_),S.add((0,n.toDisposable)(()=>{this._globalPopupManagerService.removePopup(x),g.complete()})),S.add(b);let C={startRow:e,endRow:e,startColumn:t,endColumn:t};return S.add(this._refRangeService.watchRange(l,u,C,(e,t)=>{t?v(t.startRow,t.startColumn):S.dispose()})),{dispose(){S.dispose(),c=null,s=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==x}}attachRangePopup(e,t,r,i,a,o=!1){let s=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),c=s.getActiveSheet();if(!c)return null;let l=s.getUnitId(),u=c.getSheetId();if(r&&l!==r||i&&u!==i)return null;let d=this._renderManagerService.getRenderById(l),f=d==null?void 0:d.with(U).getOrCreateSkeleton({sheetId:u}),p=d==null?void 0:d.with(B);if(!d||!f||!p)return null;if(p.selectionMoving&&!o)return;let m=a==null?mi(e.startRow,e.startColumn,d.scene,c):a;if(!m)return null;let{position:h,position$:g,disposable:_,updateRange:v,topLeftPos$:y,rightBottomPos$:b}=this._createRangePositionObserver(e,d,f,m),{rects$:x,disposable:S}=this._createHiddenRectObserver({row:e.startRow,column:e.startColumn,worksheet:c,skeleton:f,currentRender:d}),C=this._globalPopupManagerService.addPopup({...t,unitId:l,subUnitId:u,anchorRect:h,anchorRect$:g,canvasElement:d.engine.getCanvasElement(),hiddenRects$:x}),w=new n.DisposableCollection;w.add(_),w.add((0,n.toDisposable)(()=>{this._globalPopupManagerService.removePopup(C),y.complete(),b.complete()})),w.add(S);let T={...e};return w.add(this._refRangeService.watchRange(l,u,T,(e,t)=>{t?v(t):w.dispose()})),{dispose(){w.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==C}}_createCellPositionObserver(e,t,r,i,s){let c=e,l=t,u=this._calcCellPositionByCell(c,l,r,i,s),d=new o.BehaviorSubject(u),f=()=>d.next(this._calcCellPositionByCell(c,l,r,i,s)),p=new n.DisposableCollection;return p.add(r.engine.clientRect$.subscribe(()=>f())),p.add((0,n.fromEventSubject)(r.engine.onTransformChange$).pipe((0,o.throttleTime)(16)).subscribe(()=>f())),p.add(this._commandService.onCommandExecuted(e=>{if(e.id===a.SetWorksheetRowAutoHeightMutation.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===c)>-1){f();return}Rl(e.id)&&f()})),{position$:d,disposable:p,position:u,updateRowCol:(e,t)=>{c=e,l=t,f()}}}_calcCellPositionByCell(e,t,n,r,i){let{scene:a,engine:o}=n;if(r._disposed||a._disposed)return{left:0,right:0,top:0,bottom:0};let s=r.getCellWithCoordByIndex(e,t),c=s.isMergedMainCell?s.mergeInfo:s,{scaleX:l,scaleY:u}=a.getAncestorScale(),d={x:i.viewportScrollX,y:i.viewportScrollY},f=o.getCanvasElement();if(!f)return{left:0,right:0,top:0,bottom:0};let p=f.getBoundingClientRect(),m=Il(f.style.width),{top:h,left:g,width:_}=p,v=_/m;return{left:(c.startX-d.x)*v*l+g,right:(c.endX-d.x)*v*l+g,top:(c.startY-d.y)*v*u+h,bottom:(c.endY-d.y)*v*u+h}}_createRangePositionObserver(e,t,r,i){let{startRow:s,startColumn:c,endRow:l,endColumn:u}=e,d=this._calcCellPositionByCell(s,c,t,r,i),f=new o.BehaviorSubject(d),p=this._calcCellPositionByCell(l,u,t,r,i),m=new o.BehaviorSubject(p),h=()=>{let e=this._calcCellPositionByCell(s,c,t,r,i),n=this._calcCellPositionByCell(l,u,t,r,i);f.next(e),m.next(n)},g=new n.DisposableCollection;return g.add(t.engine.clientRect$.subscribe(()=>h())),g.add(this._commandService.onCommandExecuted(e=>{if(e.id===a.SetWorksheetRowAutoHeightMutation.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===s)>-1){h();return}Rl(e.id)&&h()})),{position$:f.pipe((0,o.map)(e=>{let n=this._calcCellPositionByCell(l,u,t,r,i);return{top:e.top,left:e.left,right:n.right,bottom:n.bottom}})),position:{top:d.top,left:d.left,right:p.right,bottom:p.bottom},updateRange:e=>{s=e.startRow,c=e.startColumn,l=e.endRow,u=e.endColumn,h()},topLeftPos$:f,rightBottomPos$:m,disposable:g}}};Fl=H([V(0,(0,n.Inject)(r.ICanvasPopupService)),V(1,i.IRenderManagerService),V(2,n.IUniverInstanceService),V(3,(0,n.Inject)(a.RefRangeService)),V(4,n.ICommandService),V(5,a.IRefSelectionsService),V(6,(0,n.Inject)(a.SheetsSelectionsService))],Fl);function Il(e){return Number.parseInt(e.replace(`px`,``))}let Ll=new Set([Fr.id,Gr.id,a.SetSelectionsOperation.id]);function Rl(e){return Ll.has(e)||a.COMMAND_LISTENER_SKELETON_CHANGE.includes(e)}let zl=class extends n.Disposable{constructor(e){super(),this._sheetCanvasPopManagerService=e,R(this,`_cellPopupMap`,new Map),R(this,`_change$`,new o.Subject),R(this,`change$`,this._change$.asObservable())}_ensureCellPopupMap(e,t){let r=this._cellPopupMap.get(e);r||(r=new Map,this._cellPopupMap.set(e,r));let i=r.get(t);return i||(i=new n.ObjectMatrix,r.set(t,i)),i}showPopup(e,t){var r,i;let{direction:a=`horizontal`}=t,{unitId:o,subUnitId:s,row:c,col:l}=e,u=this._ensureCellPopupMap(o,s),d=(r=u.getValue(c,l))==null?void 0:r[a];t.id=(i=t.id)==null?(0,n.generateRandomId)():i;let f=()=>{let n=u.getValue(c,l);if(!n)return;let r=n[a];if(!r)return;let i=r==null?void 0:r.popups.findIndex(e=>e.id===t.id&&e.componentKey===t.componentKey);if(r==null||r.popups.splice(i,1),r.popups.length===0){var o;(o=r.disposable)==null||o.dispose(),n[a]=void 0}this._change$.next({...e,direction:a})};if(d)d.popups.push(t),d.popups.sort((e,t)=>e.priority-t.priority);else{let n=this._sheetCanvasPopManagerService.attachPopupToCell(c,l,{...t,direction:a,componentKey:Pl,extraProps:{...e,direction:a},noPushMinimumGap:!0,autoRelayout:!1,zIndex:90},o,s);u.setValue(c,l,{...u.getValue(c,l),[a]:{disposable:n,popups:[t]}})}return this._change$.next({...e,direction:a}),(0,n.toDisposable)(f)}getPopups(e,t,n,r,i){var a;return((a=this._ensureCellPopupMap(e,t).getValue(n,r))==null||(a=a[i])==null?void 0:a.popups)||[]}hidePopup(e,t,n,r){let i=this._ensureCellPopupMap(e,t),a=i.getValue(n,r);if(a){if(a.horizontal){var o;(o=a.horizontal.disposable)==null||o.dispose(),a.horizontal=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`horizontal`})}if(a.vertical){var s;(s=a.vertical.disposable)==null||s.dispose(),a.vertical=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`vertical`})}!a.horizontal&&!a.vertical&&i.realDeleteValue(n,r)}}};zl=H([V(0,(0,n.Inject)(Fl))],zl);let Bl=e=>{let{popup:t}=e,{row:n,col:i,direction:a,unitId:s,subUnitId:l}=t.extraProps,u=(0,r.useDependency)(zl);(0,r.useObservable)((0,c.useMemo)(()=>u.change$.pipe((0,o.filter)(e=>e.row===n&&e.col===i&&e.direction===a)),[u,n,i,a]));let d=u.getPopups(s,l,n,i,a),p=(0,r.useDependency)(r.ComponentManager);return(0,f.jsx)(`div`,{"data-u-comp":`cell-popup`,className:`univer-ml-px univer-flex univer-flex-col`,children:d.map(e=>{var t;let n=p.get(e.componentKey);return n?(0,f.jsx)(n,{popup:e},(t=e.id)==null?e.componentKey:t):null})})},Vl=e=>{let{inputId:t,state:o=!1,type:s=`range`,confirm:u,cancel:p,name:m,formulaOrRefString:h,comment:g=``,localSheetId:_=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,hidden:v=!1,id:y}=e,b=(0,r.useDependency)(n.IUniverInstanceService).getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),x=(0,r.useDependency)(n.LocaleService),S=(0,r.useDependency)(l.IDefinedNamesService),C=(0,r.useDependency)(l.ISuperTableService),w=(0,r.useDependency)(l.IFunctionService),T=(0,r.useDependency)(l.LexerTreeBuilder),E=(0,r.useDependency)(r.ComponentManager),D=(0,c.useMemo)(()=>E.get(ee),[]),O=(0,c.useMemo)(()=>E.get(I),[]);if(b==null)return;let k=(0,c.useMemo)(()=>b.getUnitId(),[]),A=(0,c.useMemo)(()=>b.getActiveSheet().getSheetId(),[]),[j,M]=(0,c.useState)(m),[N,P]=(0,c.useState)(h),[F,L]=(0,c.useState)(g),[te,ne]=(0,c.useState)(_),[re,R]=(0,c.useState)(``),[ie,ae]=(0,c.useState)(s),[oe,se]=(0,c.useState)(!0),ce=[{label:x.t(`definedName.scopeWorkbook`),value:a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}],z=e=>!(0,l.isReferenceStrings)(e);(0,c.useEffect)(()=>{se(!0),M(m),L(g),ne(_);let e=h;h.substring(0,1)===l.operatorToken.EQUALS?ae(`formula`):z(h)?(ae(`formula`),e=l.operatorToken.EQUALS+h):ae(`range`),P(e),R(``)},[o]),b.getSheetOrders().forEach(e=>{let t=b.getSheetBySheetId(e);ce.push({label:(t==null?void 0:t.getName())||``,value:e})});let le=e=>{P(e)},B=e=>{P(e||``)},ue=()=>{if(j.length===0){R(x.t(`definedName.nameEmpty`));return}if((S.getValueByName(k,j)||C.hasTable(k,j))&&(y==null||y.length===0)){R(x.t(`definedName.nameDuplicate`));return}if(!n.Tools.isValidParameter(j)||(0,l.isReferenceStringWithEffectiveColumn)(j)||!n.Tools.isStartValidPosition(j)&&!(0,i.hasCJKText)(j.substring(0,1))){R(x.t(`definedName.nameInvalid`));return}if(b.getSheetOrders().map(e=>{var t;return((t=b.getSheetBySheetId(e))==null?void 0:t.getName())||``}).includes(j)){R(x.t(`definedName.nameSheetConflict`));return}if(N.length===0){R(x.t(`definedName.formulaOrRefStringEmpty`));return}if(!oe){R(x.t(`definedName.formulaOrRefStringInvalid`));return}if(w.hasExecutor(j.toUpperCase())){R(x.t(`definedName.nameConflict`));return}let e=b.getActiveSheet().getName();u&&u({id:y||``,name:j,formulaOrRefString:T.convertRefersToAbsolute(N,n.AbsoluteRefType.ALL,n.AbsoluteRefType.ALL,e),comment:F,localSheetId:te})},de=e=>{let t=e;t===`formula`?h[0]===l.operatorToken.EQUALS?P(h):P(`${l.operatorToken.EQUALS}`):h[0]===l.operatorToken.EQUALS?P(``):P(h),ae(t)},fe=(0,c.useRef)(null),[pe,V]=(0,c.useState)(!1);return(0,r.useSidebarClick)(e=>{var t;(t=fe.current)!=null&&t.isClickOutSide(e)&&V(!1)}),(0,f.jsxs)(`div`,{className:(0,d.clsx)(`univer-grid univer-space-y-2 univer-pb-1`,d.borderBottomClassName,{"univer-hidden":!o}),children:[(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Input,{className:`univer-w-full`,placeholder:x.t(`definedName.inputNamePlaceholder`),value:j,allowClear:!0,onChange:M})}),(0,f.jsx)(`div`,{children:(0,f.jsxs)(d.RadioGroup,{value:ie,onChange:de,children:[(0,f.jsx)(d.Radio,{value:`range`,children:x.t(`definedName.ratioRange`)}),(0,f.jsx)(d.Radio,{value:`formula`,children:x.t(`definedName.ratioFormula`)})]})}),ie===`range`?D&&(0,f.jsx)(D,{unitId:k,subUnitId:A,initialValue:N,onChange:(e,t)=>le(t),supportAcrossSheet:!0}):O&&(0,f.jsx)(`div`,{className:`univer-relative univer-mt-4 univer-h-full`,children:(0,f.jsx)(`div`,{className:`univer-relative univer-h-8 univer-select-none`,children:(0,f.jsx)(O,{ref:fe,className:(0,d.clsx)(`
41
+ univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center
42
+ univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors
43
+ hover:univer-border-primary-600
44
+ dark:!univer-bg-gray-700 dark:!univer-text-white
45
+ [&>div:first-child]:univer-px-2.5
46
+ [&>div]:univer-h-5 [&>div]:univer-ring-transparent
47
+ `,d.borderClassName),initValue:N,unitId:k,subUnitId:A,isFocus:pe,isSupportAcrossSheet:!0,onChange:(e=``)=>{B(e||``)},onVerify:e=>{se(e)},onFocus:()=>V(!0)})})}),(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Select,{className:`univer-w-full`,value:te,options:ce,onChange:ne})}),(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Input,{className:`univer-w-full`,placeholder:x.t(`definedName.inputCommentPlaceholder`),value:F,onChange:L,allowClear:!0})}),(0,f.jsxs)(`div`,{className:(0,d.clsx)(`univer-items-center univer-gap-1 univer-text-sm univer-text-red-500`,{"univer-hidden":re.length===0,"univer-flex":re.length!==0}),children:[(0,f.jsx)(`span`,{children:re}),(0,f.jsx)(go,{})]}),(0,f.jsxs)(`div`,{className:`univer-flex univer-gap-2`,children:[(0,f.jsx)(d.Button,{onClick:()=>{p==null||p()},children:x.t(`definedName.cancel`)}),(0,f.jsx)(d.Button,{variant:`primary`,onClick:ue,children:x.t(`definedName.confirm`)})]})]})},Hl=()=>{let e=(0,r.useDependency)(n.ICommandService),t=(0,r.useDependency)(n.IUniverInstanceService),i=(0,r.useDependency)(n.LocaleService),o=(0,r.useDependency)(l.IDefinedNamesService),s=(0,r.useDependency)(a.SheetsSelectionsService),u=t.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET),p=u==null?void 0:u.getUnitId(),m=()=>{if(!p)return[];let e=o.getDefinedNameMap(p);return e?Array.from(Object.values(e)):[]},[h,g]=(0,c.useState)(!1),[_,v]=(0,c.useState)([]),[y,b]=(0,c.useState)(null),[x,S]=(0,c.useState)();if((0,c.useEffect)(()=>{v(m());let e=o.update$.subscribe(()=>{v(m())});return()=>{e.unsubscribe()}},[]),!u||!p)return;let C=t=>{let{name:r,formulaOrRefString:i,comment:o,localSheetId:s,hidden:c}=t,l=t.id;if(l==null||l.length===0)l=(0,n.generateRandomId)(10),e.executeCommand(a.InsertDefinedNameCommand.id,{id:l,unitId:p,name:r,formulaOrRefString:i,comment:o,localSheetId:s,hidden:c});else{let t={id:l,unitId:p,name:r,formulaOrRefString:i,comment:o,localSheetId:s,hidden:c};e.executeCommand(a.SetDefinedNameCommand.id,t)}g(!1),b(null)},w=e=>{S(e)};function T(){S(null)}function E(t){if(!p)return;let n=o.getValueById(p,t);e.executeCommand(a.RemoveDefinedNameCommand.id,{...n,unitId:p}),S(null)}let D=async t=>{let{formulaOrRefString:n,id:r}=t,i=o.getWorksheetByRef(p,n);i&&(i.isSheetHidden()&&await e.executeCommand(a.SetWorksheetShowCommand.id,{unitId:p,subUnitId:i.getSheetId()}),o.focusRange(p,r))},O=()=>{let e=_.length+1,t=i.t(`definedName.defaultName`)+e;if(o.getValueByName(p,t)==null)return t;let n=e+1;for(;;){let e=i.t(`definedName.defaultName`)+n;if(o.getValueByName(p,e)==null)return e;n++}},k=()=>{var e;let t=(e=u.getActiveSheet())==null?void 0:e.getName();if(!t)return``;let n=s.getCurrentSelections();return n==null?``:n.map(e=>(0,l.serializeRangeWithSheet)(t,e.range)).join(`,`)},A=()=>{g(!1),b(null)},j=()=>{g(!0),b(null)},M=e=>{g(!1),b(e)},N=e=>{let t=u.getSheetBySheetId(e);return t==null?``:t.getName()};return(0,f.jsx)(`div`,{"data-u-comp":`defined-name-container`,className:`univer-relative univer-box-border univer-w-full`,children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`univer-w-full univer-overflow-hidden univer-overflow-y-auto`,d.scrollbarClassName),children:[(0,f.jsxs)(`div`,{className:`univer-mb-4`,children:[(0,f.jsxs)(d.Button,{className:(0,d.clsx)(`univer-w-full`,{"univer-hidden":h}),onClick:j,children:[(0,f.jsx)(So,{}),(0,f.jsx)(`span`,{className:`univer-ml-1`,children:i.t(`definedName.addButton`)})]}),h&&(0,f.jsx)(Vl,{confirm:C,cancel:A,state:h,inputId:`insertDefinedName`,name:O(),formulaOrRefString:k()})]},`insertDefinedName`),_.map((e,t)=>(0,f.jsxs)(`div`,{className:`
48
+ univer-relative univer-w-full univer-divide-x-0 univer-divide-y univer-divide-solid
49
+ univer-divide-gray-200
50
+ dark:!univer-divide-gray-600
51
+ `,children:[(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
52
+ univer-group univer-relative univer-flex univer-w-full univer-cursor-default
53
+ univer-select-none univer-items-center univer-justify-between univer-rounded-md
54
+ univer-p-2
55
+ hover:univer-bg-gray-50
56
+ dark:hover:!univer-bg-gray-700
57
+ `,{"univer-hidden":e.id===y}),onClick:()=>{D(e)},children:[(0,f.jsxs)(`div`,{title:e.comment,children:[(0,f.jsxs)(`div`,{className:`
58
+ univer-my-1 univer-max-h-[100px] univer-max-w-[190px] univer-truncate
59
+ univer-text-sm univer-font-medium univer-text-gray-900
60
+ dark:!univer-text-white
61
+ `,children:[e.name,(0,f.jsx)(`span`,{className:`univer-text-xxs univer-ml-1 univer-text-gray-400`,children:e.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME||e.localSheetId==null?``:N(e.localSheetId)})]}),(0,f.jsx)(`div`,{className:`
62
+ univer-my-1 univer-max-h-[100px] univer-w-full univer-max-w-[190px]
63
+ univer-truncate univer-text-xs univer-text-gray-500
64
+ `,title:e.formulaOrRefString,children:e.formulaOrRefString})]}),(0,f.jsxs)(`div`,{className:`
65
+ univer-absolute univer-right-5 univer-top-1/2 univer-hidden
66
+ -univer-translate-y-1/2 univer-cursor-pointer univer-items-center
67
+ univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600
68
+ group-hover:univer-flex
69
+ dark:hover:!univer-bg-gray-600
70
+ `,children:[(0,f.jsx)(d.Tooltip,{title:i.t(`definedName.updateButton`),placement:`top`,children:(0,f.jsx)(`a`,{className:`
71
+ univer-rounded univer-p-1
72
+ hover:univer-bg-gray-100
73
+ `,onClick:t=>{t.stopPropagation(),M(e.id)},children:(0,f.jsx)(Mo,{})})}),(0,f.jsx)(d.Tooltip,{title:i.t(`definedName.deleteButton`),placement:`top`,children:(0,f.jsx)(`a`,{className:`
74
+ univer-rounded univer-p-1 univer-text-red-600
75
+ hover:univer-bg-gray-100
76
+ `,onClick:t=>{t.stopPropagation(),w(e.id)},children:(0,f.jsx)(fo,{})})})]})]}),(0,f.jsx)(d.Confirm,{visible:x===e.id,onClose:T,onConfirm:()=>{E(e.id)},children:i.t(`definedName.deleteConfirmText`)}),e.id===y&&(0,f.jsx)(Vl,{confirm:C,cancel:A,state:e.id===y,id:e.id,inputId:e.id+t,name:e.name,formulaOrRefString:e.formulaOrRefString,comment:e.comment,localSheetId:e.localSheetId})]},t))]})})},Ul=()=>{let[,e]=(0,c.useState)({});return(0,c.useCallback)(()=>e(e=>!e),[])};function Wl(){let e=(0,r.useDependency)(n.ICommandService),t=(0,r.useDependency)(n.IUniverInstanceService),o=(0,r.useDependency)(i.IRenderManagerService),s=(0,r.useDependency)(a.IAutoFillService),l=(0,r.useDependency)(n.LocaleService),[u,p]=(0,c.useState)([]),[m,h]=(0,c.useState)(!1),[g,_]=(0,c.useState)({row:-1,col:-1}),[v,y]=(0,c.useState)(a.AUTO_FILL_APPLY_TYPE.SERIES),[b,x]=(0,c.useState)(!1),S=yi(),{sheetSkeletonManagerService:C,selectionRenderService:w}=(0,c.useMemo)(()=>{if(S){let e=o.getRenderById(S.getUnitId());return{sheetSkeletonManagerService:e==null?void 0:e.with(U),selectionRenderService:e==null?void 0:e.with(B)}}return{sheetSkeletonManagerService:null,selectionRenderService:null}},[S,o]),T=()=>{x(!0)},E=()=>{x(!1)},D=Ul();if((0,c.useEffect)(()=>e.onCommandExecuted((e,t)=>{e.id===Fr.id&&D()}).dispose,[D,e]),(0,c.useEffect)(()=>{let e=C&&(0,n.toDisposable)(C.currentSkeleton$.subscribe(e=>{e&&D()}));return e==null?void 0:e.dispose},[C,D]),(0,c.useEffect)(()=>(0,n.toDisposable)(s.menu$.subscribe(e=>{p(e.map(t=>({...t,index:e.indexOf(t)})))})).dispose,[s]),(0,c.useEffect)(()=>(0,n.toDisposable)(s.showMenu$.subscribe(e=>{let{source:t,target:n}=s.autoFillLocation||{source:null,target:null};_(e&&t&&n?{row:Math.max(t.rows[t.rows.length-1],n.rows[n.rows.length-1]),col:Math.max(t.cols[t.cols.length-1],n.cols[n.cols.length-1])}:{row:-1,col:-1})})).dispose,[s]),(0,c.useEffect)(()=>(0,n.toDisposable)(s.applyType$.subscribe(e=>{y(e)})).dispose,[s]),(0,c.useEffect)(()=>{function e(){h(!1)}return document.addEventListener(`wheel`,e),()=>{document.removeEventListener(`wheel`,e)}},[m]),g.col<0||g.row<0)return null;let O=Ar(t,o);if(!O||!w)return null;let{scene:k}=O,A=C==null?void 0:C.getCurrentSkeleton(),j=w.getViewPort(),M=k==null?void 0:k.scaleX,N=k==null?void 0:k.scaleY,P=k==null?void 0:k.getViewportScrollXY(j);if(!M||!k||!M||!N||!P)return null;let F=(A==null?void 0:A.getNoMergeCellWithCoordByIndex(g.row,g.col).endX)||0,ee=(A==null?void 0:A.getNoMergeCellWithCoordByIndex(g.row,g.col).endY)||0,I=(0,i.convertTransformToOffsetX)(F,M,P),L=(0,i.convertTransformToOffsetY)(ee,N,P);if(I==null||L==null)return null;let te=e=>{h(e)},ne=t=>{e.executeCommand(a.RefillCommand.id,{type:t.value}),h(!1)},re=m||b,R=u.filter(e=>!e.disable);return(0,f.jsx)(`div`,{className:`univer-absolute univer-inset-0 univer-z-10 univer-size-0`,children:(0,f.jsx)(`div`,{className:`univer-absolute`,style:{left:`${I+2}px`,top:`${L+2}px`},onMouseEnter:T,onMouseLeave:E,children:(0,f.jsx)(d.DropdownMenu,{align:`start`,items:R.map(e=>({type:`radio`,value:v,options:[{label:l.t(e.label),value:e.value}],onSelect:()=>ne(e)})),open:m,onOpenChange:te,children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
77
+ univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1
78
+ hover:univer-bg-gray-100
79
+ dark:hover:!univer-bg-gray-800
80
+ `,d.borderClassName,{"univer-bg-gray-100 dark:!univer-bg-gray-800":m,"univer-bg-white dark:!univer-bg-gray-900":!m}),children:[(0,f.jsx)(Bo,{className:`
81
+ univer-fill-primary-600 univer-text-gray-900
82
+ dark:!univer-text-white
83
+ `}),re&&(0,f.jsx)(Oo,{className:`dark:!univer-text-white`})]})})})})}function Gl(e,t){let a=(0,r.useDependency)(J),o=(0,r.useDependency)(n.ICommandService);return(0,c.useMemo)(()=>({keyCodes:[{keyCode:r.KeyCode.ENTER},{keyCode:r.KeyCode.ESC},{keyCode:r.KeyCode.TAB}],handler:e=>{if(e===r.KeyCode.ENTER||e===r.KeyCode.ESC||e===r.KeyCode.TAB){if(t==null)return;a.disableForceKeepVisible(),o.syncExecuteCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:e,unitId:t})}}}),[o,a,t])}let Kl=-1e3,ql={width:0,height:0,top:Kl,left:Kl},Jl=()=>{let[e,a]=(0,c.useState)({...ql}),o=(0,r.useDependency)(ji),s=(0,r.useDependency)(t.IEditorService),l=(0,r.useDependency)(n.IContextService),u=(0,r.useDependency)(r.ComponentManager),d=(0,r.useDependency)(J),p=(0,r.useObservable)(d.visible$),m=(0,r.useDependency)(n.ICommandService),h=(0,c.useRef)(0),g=(0,r.useObservable)(()=>l.subscribeContextValue$(r.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[l,r.DISABLE_AUTO_FOCUS_KEY]),_=u.get(I),v=d.getEditLocation();(0,c.useEffect)(()=>{let e=o.state$.subscribe(e=>{if(e==null)return;let{startX:t=Kl,startY:r=Kl,endX:i=0,endY:c=0,show:l=!1}=e;if(!l)a({...ql});else{a({width:i-t,height:c-r,left:t,top:r});let e=s.getEditor(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(e==null)return;let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();o.setRect({left:l,top:u,width:d,height:f})}});return()=>{e.unsubscribe()}},[]),(0,c.useEffect)(()=>{g||o.setFocus(!0)},[g,e]),(0,r.useSidebarClick)((0,r.useEvent)(()=>{d.isVisible().visible&&m.executeCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.PointerUp,unitId:v==null?void 0:v.unitId})}));let y=Gl(h,v==null?void 0:v.unitId),b=(0,r.useEvent)((e,t)=>{m.executeCommand(ii.id,{keycode:e,visible:!1,eventType:i.DeviceInputEventType.Keyboard,isShift:t===r.MetaKeys.SHIFT||t===(r.MetaKeys.CTRL_COMMAND|r.MetaKeys.SHIFT),unitId:v==null?void 0:v.unitId})});return(0,f.jsx)(`div`,{className:`univer-absolute univer-z-10 univer-flex`,style:{left:e.left,top:e.top,width:e.width,height:e.height},children:_&&(0,f.jsx)(_,{editorId:n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,className:`
84
+ univer-relative univer-flex univer-size-full
85
+ [&_canvas]:univer-absolute
86
+ `,initValue:``,onChange:()=>{},isFocus:p==null?void 0:p.visible,unitId:v==null?void 0:v.unitId,subUnitId:v==null?void 0:v.sheetId,keyboardEventConfig:y,onMoveInEditor:b,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,autoScrollbar:!1,onFormulaSelectingChange:(e,t)=>{h.current=e,t&&(e?d.enableForceKeepVisible():d.disableForceKeepVisible())},disableSelectionOnClick:!0,disableContextMenu:!1})})};function Yl({search:e,isInputEvent:t}){let i=(0,r.useDependency)(n.ICommandService),o=(0,r.useDependency)(n.LocaleService),s=(0,r.useDependency)(l.IDefinedNamesService),u=(0,r.useDependency)(n.IUniverInstanceService),p=(0,r.useDependency)(r.ISidebarService),m=u.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getUnitId(),h=()=>{let e=s.getDefinedNameMap(m);return e?Array.from(Object.values(e)):[]},[g,_]=(0,c.useState)(h());(0,c.useEffect)(()=>{let e=s.update$.subscribe(()=>{_(h())});return()=>{e.unsubscribe()}},[]),(0,c.useEffect)(()=>{let e=p.sidebarOptions$.subscribe(e=>{e.id===`DefinedNameContainer`&&(e.visible||setTimeout(()=>{p.sidebarOptions$.next({visible:!1})}))});return()=>{e.unsubscribe()}},[]);let v=(0,c.useMemo)(()=>e&&t?g.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())):g,[e,t,g]),y=()=>{i.executeCommand(li.id,{value:`open`})},b=async e=>{let{formulaOrRefString:t,id:n}=e,r=s.getWorksheetByRef(m,t);r&&(r.isSheetHidden()&&await i.executeCommand(a.SetWorksheetShowCommand.id,{unitId:m,subUnitId:r.getSheetId()}),s.focusRange(m,n))};return(0,f.jsxs)(`div`,{className:`univer-w-[300px]`,children:[(0,f.jsx)(`ul`,{className:(0,d.clsx)(`univer-m-0 univer-max-h-[360px] univer-list-none univer-overflow-y-auto univer-p-0`,d.scrollbarClassName),children:v.map((e,t)=>(0,f.jsx)(`li`,{className:`
87
+ univer-cursor-pointer univer-px-2 univer-transition-colors univer-duration-200
88
+ hover:univer-bg-gray-100
89
+ dark:hover:!univer-bg-gray-600
90
+ `,onClick:()=>{b(e)},children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
91
+ univer-flex univer-items-center univer-justify-between univer-gap-2 univer-py-1
92
+ `,d.borderBottomClassName),children:[(0,f.jsx)(`div`,{className:`
93
+ univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-sm
94
+ univer-text-gray-600
95
+ dark:!univer-text-gray-200
96
+ `,title:e.name,children:e.name}),(0,f.jsx)(`div`,{className:`
97
+ univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-xs
98
+ univer-text-gray-400
99
+ `,title:e.formulaOrRefString,children:e.formulaOrRefString})]})},t))}),(0,f.jsxs)(`div`,{className:`
100
+ univer-cursor-pointer univer-p-2 univer-transition-colors univer-duration-200
101
+ hover:univer-bg-gray-100
102
+ dark:hover:!univer-bg-gray-600
103
+ `,onClick:y,children:[(0,f.jsx)(`div`,{className:`
104
+ univer-mb-2 univer-text-sm univer-font-semibold univer-text-gray-600
105
+ dark:!univer-text-gray-200
106
+ `,children:o.t(`definedName.managerTitle`)}),(0,f.jsx)(`div`,{className:`univer-text-xs univer-text-gray-400`,children:o.t(`definedName.managerDescription`)})]})]})}function Xl({disable:e}){let[t,i]=(0,c.useState)(``),[o,s]=(0,c.useState)(``),u=(0,r.useDependency)(l.IDefinedNamesService),p=(0,r.useDependency)(n.ICommandService),m=(0,r.useDependency)(n.IUniverInstanceService),h=(0,r.useDependency)(a.SheetsSelectionsService),g=(0,r.useDependency)(l.LexerTreeBuilder),_=m.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET),v=_==null?void 0:_.getUnitId(),y=(0,r.useDependency)(n.ThemeService),[b,x]=(0,c.useState)(!1),[S,C]=(0,c.useState)(!1),w=()=>{let e=u.getDefinedNameMap(v);return e?Array.from(Object.values(e)):[]},T=async e=>{let{formulaOrRefString:t,id:n}=e,r=u.getWorksheetByRef(v,t);r&&(r.isSheetHidden()&&await p.executeCommand(a.SetWorksheetShowCommand.id,{unitId:v,subUnitId:r.getSheetId()}),u.focusRange(v,n))},E=e=>{let t=_.getActiveSheet(),n=t.getSheetId();F(t,e).then(e=>{e&&(p.executeCommand(a.SetSelectionsOperation.id,{unitId:v,subUnitId:n,selections:e}),p.executeCommand(Rr.id,{range:e[0].range}))})},[D,O]=(0,c.useState)(w());(0,c.useEffect)(()=>{let e=u.update$.subscribe(()=>{O(w())});return()=>{e.unsubscribe()}},[]),(0,c.useEffect)(()=>{let e=u.currentRange$.subscribe(()=>{var e;let t=h.getCurrentSelections(),r=_.getActiveSheet(),a=t==null||(e=t.map(e=>(0,l.serializeRangeWithSheet)(r.getName(),e.range)))==null?void 0:e.join(`,`),o=g.convertRefersToAbsolute(a,n.AbsoluteRefType.ALL,n.AbsoluteRefType.ALL,r.getName()),c=u.getDefinedNameByRefString(v,o);if(c)i(c.name),s(c.name);else{let e=u.getCurrentRangeForString();i(e),s(e)}});return()=>{e.unsubscribe()}},[]);let k=(0,n.debounce)(e=>{let t=D.find(t=>t.name.toLowerCase().includes(e.toLowerCase()));t&&!b?x(!0):!t&&b&&x(!1)},100);function A(e){let t=e.target.value.trim();if(s(t),C(!0),!t){b&&x(!1);return}k(t)}function j(){if(o===t)return;let e=D.find(e=>e.name===o);e?(i(o),T(e)):(0,l.isReferenceStringWithEffectiveColumn)(o)?(i(o),E(o)):N()}function M(t){e||(t.key===`Enter`?(j(),C(!1),x(!1)):t.key===`Escape`&&(t.preventDefault(),C(!1),N()))}function N(){s(t)}async function F(e,t){if(!e)return;let n=(0,l.deserializeRangeWithSheet)(t.trim()),{startRow:r,startColumn:i,endRow:o,endColumn:s}=n.range,c=(0,a.getPrimaryForRange)({startRow:r,startColumn:i,endRow:o,endColumn:s},e),u=[];return u.push({range:n.range,style:P(y),primary:c}),u}return(0,f.jsxs)(`div`,{"data-u-comp":`defined-name`,className:`
107
+ univer-relative univer-box-border univer-flex univer-h-full univer-w-24 univer-border-r-gray-200
108
+ univer-py-1.5 univer-transition-all
109
+ `,children:[(0,f.jsx)(`input`,{className:(0,d.clsx)(`
110
+ univer-box-border univer-size-full univer-appearance-none univer-pl-1.5 univer-pr-5
111
+ univer-text-gray-900
112
+ focus:univer-outline-none
113
+ dark:!univer-border-r-gray-700 dark:!univer-bg-gray-900 dark:!univer-text-white
114
+ `,d.borderRightClassName,{"univer-cursor-not-allowed":e}),type:`text`,value:o,onChange:A,onKeyDown:M,onBlur:()=>C(!1)}),(0,f.jsx)(d.Dropdown,{overlay:(0,f.jsx)(`div`,{className:`univer-z-[1001]`,children:(0,f.jsx)(Yl,{search:o,isInputEvent:S})}),disabled:e,open:b,onOpenChange:x,onOpenAutoFocus:e=>e.preventDefault(),children:(0,f.jsx)(`a`,{className:(0,d.clsx)(`
115
+ univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer
116
+ univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200
117
+ hover:univer-bg-gray-100
118
+ dark:!univer-text-white
119
+ dark:hover:!univer-bg-gray-800
120
+ `,{"univer-cursor-not-allowed univer-text-gray-300 hover:univer-bg-transparent dark:!univer-text-gray-700":e}),children:(0,f.jsx)(Oo,{})})})]})}var Zl=function(e){return e[e.Down=0]=`Down`,e[e.Up=1]=`Up`,e}(Zl||{});function Ql(e){var s,l;let{className:u,disableDefinedName:p}=e,[m,h]=(0,c.useState)(!1),[g,_]=(0,c.useState)(Zl.Down),v=(0,r.useDependency)(_a),y=(0,r.useDependency)(J),b=(0,r.useDependency)(a.WorksheetProtectionRuleModel),x=(0,r.useDependency)(a.RangeProtectionRuleModel),S=(0,r.useDependency)(n.IUniverInstanceService),C=(0,r.useDependency)(a.SheetsSelectionsService),w=(0,r.useDependency)(n.IPermissionService),T=(0,r.useDependency)(a.RangeProtectionCache),E=(0,r.useDependency)(n.ICommandService),[D,O]=(0,c.useState)({editDisable:!1,viewDisable:!1}),[k,A]=(0,c.useState)(!1),j=(0,r.useDependency)(r.ComponentManager),M=(0,r.useObservable)(()=>S.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),N=(0,c.useRef)(0),P=(0,r.useObservable)(y.currentEditCellState$),F=Gl(N,P==null?void 0:P.unitId),ee=j.get(I),L=(0,r.useComponentsOfPart)(Si.FORMULA_AUX),te=(0,r.useDependency)(n.IContextService);(0,r.useObservable)((0,c.useMemo)(()=>te.subscribeContextValue$(n.FOCUSING_FX_BAR_EDITOR),[te]));let ne=te.getContextValue(n.FOCUSING_FX_BAR_EDITOR),re=(0,c.useRef)(null),R=(0,r.useDependency)(t.IEditorService),ie=(0,r.useConfigValue)(ei),ae=ie==null?void 0:ie.disableEdit;(0,c.useLayoutEffect)(()=>{let e=M.activeSheet$.pipe((0,o.switchMap)(e=>e?(0,o.merge)(b.ruleChange$,x.ruleChange$,C.selectionMoveEnd$,C.selectionSet$).pipe((0,o.switchMap)(()=>{var t,n;let r=M.getUnitId(),i=e.getSheetId();if(!((t=C.getCurrentLastSelection())!=null&&t.range))return o.EMPTY;let a=(n=C.getCurrentLastSelection())==null?void 0:n.primary;return a?(0,o.of)({unitId:r,subUnitId:i,primary:a}):(0,o.of)(null)})):o.EMPTY)).subscribe(e=>{if(e){var t,n;let{unitId:c,subUnitId:l,primary:u}=e;if(b.getRule(c,l)){var r,i,o,s;let e=!((r=(i=w.getPermissionPoint(new a.WorksheetEditPermission(c,l).id))==null?void 0:i.value)==null||r);O({viewDisable:!((o=(s=w.getPermissionPoint(new a.WorksheetViewPermission(c,l).id))==null?void 0:s.value)==null||o),editDisable:e});return}let{actualRow:d,actualColumn:f}=u,p=T.getCellInfo(c,l,d,f);O({editDisable:!((t=p==null?void 0:p[a.UnitAction.Edit])==null||t),viewDisable:!((n=p==null?void 0:p[a.UnitAction.View])==null||n)})}else O({viewDisable:!1,editDisable:!1})});return()=>{e.unsubscribe()}},[M]),(0,c.useEffect)(()=>{let e=y.visible$.subscribe(e=>{h(e.visible)});return()=>e.unsubscribe()},[y.visible$]),(0,c.useEffect)(()=>{let e=y.currentEditCellState$.subscribe(e=>{var t;!(e==null||(t=e.documentLayoutObject.documentModel)==null||(t=t.getBody())==null||(t=t.customBlocks)==null)&&t.length?A(!0):A(!1)});return()=>e.unsubscribe()},[y.currentEditCellState$]),(0,c.useEffect)(()=>{let e=()=>{if(!re.current)return;let e=re.current.getBoundingClientRect();v.setPosition(e)};if(re.current){e();let t=new ResizeObserver(e);return t.observe(re.current),()=>t.disconnect()}},[v]);function oe(){_(g===Zl.Down?Zl.Up:Zl.Down),setTimeout(()=>{v.handleFoldBtnClick(g===Zl.Up)},150)}function se(){y.isVisible().visible&&E.executeCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.Keyboard,keycode:r.KeyCode.ESC,unitId:P.unitId})}function ce(){y.isVisible().visible&&E.executeCommand(Y.id,{visible:!1,eventType:i.DeviceInputEventType.PointerDown,unitId:P.unitId})}function z(){v.handleFxBtnClick(!0)}let{viewDisable:le,editDisable:B}=D,ue=B||!!ae,de=ue||k,fe=(0,c.useRef)(!1),pe=()=>{try{if(y.isVisible().visible===!1&&!E.syncExecuteCommand(Y.id,{visible:!0,eventType:i.DeviceInputEventType.PointerDown,unitId:P.unitId})){fe.current=!0;return}te.setContextValue(n.FOCUSING_FX_BAR_EDITOR,!0)}catch(e){throw fe.current=!0,e}},V=()=>{fe.current&&setTimeout(()=>{R.blur(!0)},30),fe.current=!1},H=((s=P==null||(l=P.documentLayoutObject.documentModel)==null||(l=l.getDrawingsOrder())==null?void 0:l.length)==null?0:s)>0||le;return(0,f.jsxs)(`div`,{"data-u-comp":`formula-bar`,className:(0,d.clsx)(`
121
+ univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear
122
+ dark:!univer-bg-gray-900
123
+ `,d.borderBottomClassName,u,{"univer-h-7":g===Zl.Down,"univer-h-20":g===Zl.Up,"univer-pointer-events-none":ue}),children:[(0,f.jsx)(`div`,{className:`univer-relative univer-box-border univer-h-full univer-w-[100px]`,children:(0,f.jsx)(Xl,{disable:p==null?ue:p})}),(0,f.jsxs)(`div`,{className:`univer-flex univer-size-full`,children:[(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-py-1.5`,{"univer-cursor-not-allowed univer-text-gray-200":de}),children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
124
+ univer-relative univer-box-border univer-flex univer-h-full univer-w-20 univer-items-center
125
+ univer-justify-center univer-text-xs
126
+ `,d.borderRightClassName),children:[(0,f.jsx)(`span`,{className:(0,d.clsx)(`
127
+ univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1
128
+ univer-text-base
129
+ dark:!univer-text-white
130
+ `,{"univer-cursor-pointer univer-text-red-600 hover:univer-bg-gray-100 dark:!univer-text-green-400 dark:hover:!univer-bg-gray-700":m}),onClick:se,children:(0,f.jsx)(so,{})}),(0,f.jsx)(`span`,{className:(0,d.clsx)(`
131
+ univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1
132
+ univer-text-base
133
+ dark:!univer-text-white
134
+ `,{"univer-cursor-pointer univer-text-green-600 hover:univer-bg-gray-100 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700":m}),onClick:ce,children:(0,f.jsx)(ao,{})}),(0,f.jsx)(`span`,{className:`
135
+ univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded
136
+ univer-p-1 univer-text-base
137
+ hover:univer-bg-gray-100
138
+ dark:!univer-text-white
139
+ dark:hover:!univer-bg-gray-700
140
+ `,onClick:z,children:(0,f.jsx)(bo,{})})]})}),(0,f.jsxs)(`div`,{className:`univer-flex univer-w-full univer-flex-1 univer-overflow-hidden univer-pl-3`,children:[(0,f.jsxs)(`div`,{ref:re,className:`univer-relative univer-flex-1`,onPointerDown:pe,onPointerUp:V,style:{pointerEvents:H?`none`:`auto`},children:[ee&&(0,f.jsx)(ee,{className:`
141
+ univer-relative univer-size-full univer-break-words univer-outline-none
142
+ [&>div]:univer-ring-transparent
143
+ `,disableSelectionOnClick:!0,editorId:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,initValue:``,onChange:()=>{},isFocus:ne,unitId:P==null?void 0:P.unitId,subUnitId:P==null?void 0:P.sheetId,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,keyboardEventConfig:F,onFormulaSelectingChange:(e,t)=>{N.current=e,t&&(e?y.enableForceKeepVisible():y.disableForceKeepVisible())},autoScrollbar:!1,disableContextMenu:!1}),H&&(0,f.jsx)(`div`,{className:`
144
+ univer-pointer-events-none univer-relative univer-left-0 univer-top-0 univer-z-[100]
145
+ univer-size-full univer-cursor-not-allowed univer-bg-white
146
+ `})]}),(0,f.jsx)(`div`,{className:(0,d.clsx)(`
147
+ univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center
148
+ univer-justify-center univer-text-xs univer-text-gray-700
149
+ dark:!univer-text-gray-200
150
+ `,{"univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700":ue}),onClick:oe,children:(0,f.jsx)(mo,{className:(0,d.clsx)({"univer-rotate-180":g===Zl.Up})})})]})]}),(0,f.jsx)(r.ComponentContainer,{components:L},`formula-aux`)]})}function $l(e){let{children:t,className:n,style:r,disabled:i=!1,onClick:a,...o}=e,s=e=>{if(i){e.preventDefault();return}a&&a(e)};return(0,f.jsx)(d.Button,{"data-u-comp":`sheet-bar-append-button`,className:n,size:`small`,disabled:i,style:r,variant:`text`,onClick:s,...o,children:t})}function eu(){let[e,t]=(0,c.useState)([]),[i,o]=(0,c.useState)(!1),s=(0,r.useDependency)(n.IUniverInstanceService),l=(0,r.useDependency)(n.ICommandService),u=(0,r.useDependency)(Jr),p=(0,r.useDependency)(a.WorksheetProtectionRuleModel),m=(0,r.useObservable)(()=>s.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),null,!1,[]),h=e=>{let{sheetId:t}=e;!t||!m||(e.hidden?l.executeCommand(a.SetWorksheetShowCommand.id,{unitId:m.getUnitId(),subUnitId:t,value:t}):e.selected||l.executeCommand(a.SetWorksheetActivateCommand.id,{unitId:m.getUnitId(),subUnitId:t}),o(!1))},g=(0,c.useCallback)(()=>{if(!m)return;let e=m.getSheets(),r=m.getActiveSheet();t(e.map((e,t)=>({label:e.getName(),index:`${t}`,sheetId:e.getSheetId(),hidden:e.isSheetHidden()===n.BooleanNumber.TRUE,selected:r===e})))},[m,p]),_=(0,c.useCallback)(()=>l.onCommandExecuted(e=>{switch(e.id){case a.SetWorksheetHideMutation.id:case a.RemoveSheetMutation.id:case a.SetWorksheetNameMutation.id:case a.InsertSheetMutation.id:case a.SetWorksheetOrderMutation.id:case a.SetWorksheetActiveOperation.id:g();break;default:break}}),[l,g]);function v(){o(!0)}return(0,c.useEffect)(()=>{g();let e=new n.DisposableCollection;return e.add(_()),e.add(u.registerSheetBarMenuHandler({handleSheetBarMenu:v})),()=>e.dispose()},[_,u,g,m]),(0,f.jsx)(d.DropdownMenu,{className:`univer-max-w-lg`,align:`start`,items:(0,c.useMemo)(()=>e.map(e=>({type:`item`,children:(0,f.jsxs)(`div`,{className:`univer-relative univer-box-border univer-overflow-hidden univer-truncate univer-pl-6`,children:[(e.selected||e.hidden)&&(0,f.jsxs)(`span`,{className:`univer-absolute univer-left-1 univer-top-0.5`,children:[e.selected&&(0,f.jsx)(ao,{className:`univer-size-4 univer-text-primary-600`}),e.hidden&&(0,f.jsx)(vo,{className:`univer-size-4 univer-text-gray-400`})]}),(0,f.jsx)(`span`,{className:(0,d.clsx)({"univer-text-primary-600":e.selected}),children:e.label})]}),onSelect:()=>{h(e)}})),[e]),open:i,onOpenChange:e=>{o(e)},children:(0,f.jsx)(`div`,{children:(0,f.jsx)($l,{children:(0,f.jsx)(lo,{})})})})}function tu(e){let{sheetId:t,label:i,color:a,selected:o,className:s,onKeyDown:c,tabIndex:l}=e,u=(0,r.useDependency)(n.ThemeService),p=e=>{let t=u.getColorFromTheme(`gray.900`),r=u.getColorFromTheme(`white`);return new n.ColorKit(e).isDark()?r:t},m=!!o,h=a?p(a):``;return(0,f.jsx)(`div`,{"data-u-comp":`slide-tab-item`,"data-id":t,role:`tab`,"aria-selected":m,tabIndex:l==null?m?0:-1:l,onKeyDown:c,className:(0,d.clsx)(`
151
+ univer-mx-1 univer-box-border univer-flex univer-flex-grow univer-cursor-pointer univer-select-none
152
+ univer-flex-row univer-items-center univer-rounded univer-text-xs univer-transition-[colors,box-shadow]
153
+ focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500
154
+ `,{"dark:!univer-text-white":!a||a&&!h,"univer-justify-center univer-bg-white univer-font-bold univer-text-primary-700 univer-shadow":m,"dark:!univer-bg-gray-700":m&&!a,"univer-font-medium univer-text-gray-900 hover:univer-bg-gray-100":!m,"dark:hover:!univer-bg-gray-700":!m&&!a},s),style:{backgroundColor:!m&&a?a:``,color:!m&&a?h:``,boxShadow:m&&a?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${a}`:``},children:(0,f.jsx)(`div`,{className:`
155
+ univer-box-border univer-flex univer-max-w-lg univer-items-center univer-gap-1 univer-overflow-hidden
156
+ univer-whitespace-nowrap univer-rounded univer-border-2 univer-border-solid univer-border-transparent
157
+ univer-px-1.5 univer-py-1
158
+ `,children:i})},t)}function nu(e){let{children:t,anchorRect:i,showContextMenu:a,visible:o,onCommandSelect:s,onVisibleChange:l}=e,u=(0,c.useRef)(`sheetbar-tabs-context-menu-${(0,n.generateRandomId)(6)}`);return a?(0,f.jsxs)(f.Fragment,{children:[t,(0,f.jsx)(r.AnchoredContextMenu,{hostId:u.current,visible:o,anchorRect:i,menuType:r.ContextMenuPosition.FOOTER_TABS,anchorVertical:`top`,menuOffset:6,onRequestClose:()=>l(!1),onOptionSelect:e=>{var t;let{label:n,id:r,commandId:i,value:a}=e;s((t=i==null?r:i)==null?n:t,a)}})]}):t}let ru={easeOutStrong(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},backOut(e,t,n,r,i){return i===void 0&&(i=.7),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t}},iu={loop:!1,begin:0,end:0,duration:300,delay:0,type:`easeOutStrong`,receive(e){},success(e){},cancel(e){},complete(e){}},au=function(e){return e[e.Request=0]=`Request`,e[e.Cancel=1]=`Cancel`,e}({});var ou=class{constructor(e){R(this,`_config`,void 0),R(this,`_status`,au.Request),R(this,`_start`,0),R(this,`_handle`,0),R(this,`_delayHandle`,null),this._config={...iu,...e},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...e){let t=0;return new Promise(n=>{for(let r=0;r<e.length;r++){let i=e[r],a=i._config,o=a.success;a.loop||(a.success=r=>{t++,o&&o.call(i,r),t===e.length&&n()})}})}request(){this._config.delay===0?(this._status=au.Request,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=au.Request,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=au.Cancel,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let e=Date.now()-this._start;e=e>=this._config.duration?this._config.duration:e;let t=ru[this._config.type](e,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(t),this._status===au.Cancel){this._config.cancel(t),this._config.complete(t);return}if(e===this._config.duration){this._config.success(t),this._config.complete(t);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}},su=class e{constructor(e,t){R(this,`_slideTabItem`,void 0),R(this,`_animate`,void 0),R(this,`_midline`,0),R(this,`_translateX`,void 0),R(this,`_scrollbar`,void 0),R(this,`_slideTabBar`,void 0),R(this,`_editMode`,void 0),R(this,`_placeholder`,void 0),this._slideTabItem=e,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=t,this._placeholder=null,this._scrollbar=t.getScrollbar(),this.update()}static midline(e){return e.getBoundingRect().x+e.getBoundingRect().width/2}static leftLine(e){return e.getBoundingRect().x}static rightLine(e){return e.getBoundingRect().x+e.getBoundingRect().width}static make(t,n){let r=[];return t.forEach(t=>r.push(new e(t,n))),r}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector(`span`)}focus(){var e;(e=this.getEditor())==null||e.focus()}selectAll(){let e=this.getEditor();e&&lu.keepSelectAll(e)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(e){return this._translateX=e,this._slideTabItem.style.transform=`translateX(${e}px)`,this.getTranslateXDirection()}setEditor(e){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let t=!0;if(this._editMode===!1){let n=this._slideTabItem.querySelector(`span`),r=e=>{var t;e.preventDefault();let n=(t=e.clipboardData)==null?void 0:t.getData(`text/plain`);if(n){let e=n.replace(/\s/g,``);document.execCommand(`insertText`,!1,e)}},i=t=>{if(!this.nameCheck()){if(this._editMode=!1,n&&(n.removeAttribute(`contentEditable`),n.removeEventListener(`focusout`,i),n.removeEventListener(`compositionstart`,o),n.removeEventListener(`compositionend`,s),n.removeEventListener(`input`,c),n.removeEventListener(`keydown`,a),n.removeEventListener(`paste`,r)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){let e=(n==null?void 0:n.innerText)||``,t=this.getId();this._slideTabBar.getConfig().onChangeName(t,e)}e&&e(t)}},a=e=>{n&&(e.stopPropagation(),e.key===`Enter`&&(n.blur(),e.preventDefault()))},o=()=>{t=!1},s=()=>{t=!0},c=e=>{n&&setTimeout(()=>{if(t){let e=n.innerText;e.length>31&&(n.innerText=e.substring(0,31),lu.keepLastIndex(n))}},0)};n&&(n.setAttribute(`contentEditable`,`true`),n.addEventListener(`focusout`,i),n.addEventListener(`compositionstart`,o),n.addEventListener(`compositionend`,s),n.addEventListener(`input`,c),n.addEventListener(`keydown`,a),n.addEventListener(`paste`,r),this._editMode=!0,lu.keepSelectAll(n))}}nameCheck(){let e=this._slideTabItem.querySelector(`span`);if(!e)return!1;let t=e.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(t)}animate(){return{translateX:e=>{this._translateX!==e&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new ou({begin:this._translateX,end:e,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=e,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(e){this._slideTabItem.after(e._slideTabItem||e)}update(){this._midline=e.midline(this)}disableFixed(){if(this._placeholder){let e=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty(`position`),this._slideTabItem.style.removeProperty(`left`),this._slideTabItem.style.removeProperty(`top`),this._slideTabItem.style.removeProperty(`width`),this._slideTabItem.style.removeProperty(`height`),this._slideTabItem.style.removeProperty(`background`),this._slideTabItem.style.removeProperty(`padding`),this._slideTabItem.style.removeProperty(`box-sizing`),this._slideTabItem.style.removeProperty(`font-size`),this._slideTabItem.style.removeProperty(`font-family`),this._slideTabItem.style.removeProperty(`font-weight`),this._slideTabItem.style.removeProperty(`color`),this._slideTabItem.style.removeProperty(`border-radius`),this._placeholder.after(this._slideTabItem),e.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){let e=document.createElement(`div`),t=this.getBoundingRect(),n=getComputedStyle(this._slideTabItem),r=this._slideTabItem.querySelector(`span`);if(this._placeholder=e,this._placeholder.style.width=`${t.width}px`,this._placeholder.style.height=`${t.height}px`,this._placeholder.style.flexShrink=`0`,this._placeholder.style.margin=n.margin,this._slideTabItem.style.background=n.background,r){let e=getComputedStyle(r).padding;this._slideTabItem.style.padding=e}this._slideTabItem.style.boxSizing=n.boxSizing,this._slideTabItem.style.fontSize=n.fontSize,this._slideTabItem.style.fontFamily=n.fontFamily,this._slideTabItem.style.fontWeight=n.fontWeight,this._slideTabItem.style.color=n.color,this._slideTabItem.style.borderRadius=n.borderRadius,this._slideTabItem.style.left=`${t.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${t.y}px`,this._slideTabItem.style.width=`${t.width}px`,this._slideTabItem.style.height=`${t.height}px`,this._slideTabItem.style.position=`fixed`,this._slideTabItem.after(e),document.body.appendChild(this._slideTabItem)}addEventListener(e,t,n){this._slideTabItem.addEventListener(e,t,n)}removeEventListener(e,t,n){this._slideTabItem.removeEventListener(e,t,n)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){let e=this._slideTabItem.getBoundingClientRect();return e.x+=this._scrollbar.getScrollX(),e}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){let t=e.midline(this);return t>this._midline?1:t<this._midline?-1:0}equals(e){return e&&e._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||``}},cu=class{constructor(e){R(this,`_slideTabBar`,void 0),R(this,`_scrollX`,void 0),this._scrollX=e.primeval().scrollLeft,this._slideTabBar=e}scrollX(e){let t=this._slideTabBar.primeval();t.scrollLeft=e,this._scrollX=t.scrollLeft}scrollRight(){let e=this._slideTabBar.primeval();e.scrollLeft=e.scrollWidth,this._scrollX=e.scrollLeft}getScrollX(){return this._scrollX}},lu=class e{constructor(t){if(R(this,`_activeTabItemIndex`,0),R(this,`_slideTabBar`,void 0),R(this,`_slideTabItems`,[]),R(this,`_config`,void 0),R(this,`_downActionX`,0),R(this,`_moveActionX`,0),R(this,`_compareIndex`,0),R(this,`_activeTabItem`,null),R(this,`_moveAction`,void 0),R(this,`_upAction`,void 0),R(this,`_downAction`,void 0),R(this,`_wheelAction`,void 0),R(this,`_scrollIncremental`,0),R(this,`_compareDirection`,0),R(this,`_autoScrollTime`,null),R(this,`_slideScrollbar`,void 0),R(this,`_longPressTimer`,null),R(this,`_leftBoundingLine`,0),R(this,`_rightBoundingLine`,0),R(this,`_leftMoveX`,0),R(this,`_rightMoveX`,0),t.slideTabBarContainer==null)throw Error(`not found slide-tab-bar root element`);let n=t.slideTabBarContainer.querySelector(`${t.slideTabBarSelector}`);if(n==null)throw Error(`not found slide-tab-bar`);this._slideTabBar=n,this._slideScrollbar=new cu(this),this._config=t,this._initConfig();let r=0,i=0,a=0;this._downAction=n=>{var o,s,c;if((o=this._activeTabItem)!=null&&o.isEditMode())return;this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null);let l=(s=n.target)==null||(s=s.closest(`${t.slideTabBarItemSelector}`))==null?void 0:s.getAttribute(`data-id`),u=this._slideTabItems.findIndex(e=>e.getId()===l);if(l==null||u===-1)return;if(this._activeTabItemIndex!==u){var d,f;(d=this._activeTabItem)==null||d.removeEventListener(`pointermove`,this._moveAction),(f=this._activeTabItem)==null||f.removeEventListener(`pointerup`,this._upAction),this.removeListener(),this._config.onChangeTab(n,l);return}if(this._compareIndex=u,this._downActionX=n.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[u],!this._activeTabItem){console.error(`Not found active slide-tab-item in sheet bar`);return}let p=this._activeTabItem.getSlideTabItem();p==null||p.setPointerCapture(n.pointerId),(c=this._activeTabItem)==null||c.addEventListener(`pointerup`,this._upAction);let{x:m,width:h}=this._activeTabItem.getBoundingRect(),{x:g,width:_}=this.getBoundingRect(),v=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(m-v),this._rightBoundingLine=m-v+h-this._downActionX,this._leftMoveX=m-g-v,this._rightMoveX=g+_-(m+h)+v,n.button===2||this._hasEditItem())return;let{pageX:y,pageY:b}=n,x=Date.now(),S=x-a<=e.DoubleClickDelay,C=Math.abs(y-r)<10,w=Math.abs(b-i)<10;S&&C&&w&&this._activeTabItem.setEditor(),r=y,i=b,a=x,this._longPressTimer=setTimeout(()=>{var e,t,r;!p||(e=this._activeTabItem)!=null&&e.isEditMode()||((t=this._activeTabItem)==null||t.enableFixed(),this._startAutoScroll(),p.setPointerCapture(n.pointerId),p.style.cursor=`move`,(r=this._activeTabItem)==null||r.addEventListener(`pointermove`,this._moveAction))},e.LongPressDelay)},this._upAction=e=>{var t,n,r,i;if((t=this._activeTabItem)!=null&&t.isEditMode()||(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem))return;let a=this._autoScrollTime!==null;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();let o=(n=this._activeTabItem)==null?void 0:n.getSlideTabItem();o&&(o.style.cursor=``,o.releasePointerCapture(e.pointerId),(r=this._activeTabItem)==null||r.removeEventListener(`pointermove`,this._moveAction),(i=this._activeTabItem)==null||i.removeEventListener(`pointerup`,this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&a&&(this.removeListener(),this._config.onSlideEnd(e,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=e=>{this._activeTabItem&&(this._moveActionX=e.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(e),this._scrollRight(e))},this._wheelAction=e=>{this.setScroll(e.deltaY)},this.addListener()}static checkedSkipSlide(e){let t=e.target;for(;t!=null&&t!==document.body;){if(t.getAttribute(`data-slide-skip`))return!0;t=t.parentElement}return!1}static keepLastIndex(e){setTimeout(()=>{let t=window.getSelection();t&&(t.selectAllChildren(e),t.collapseToEnd())})}static keepSelectAll(e){setTimeout(()=>{let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)})}update(e){this._config.currentIndex=e,this._initConfig(),this.removeListener(),this.addListener(),this.scrollToItem(e)}primeval(){return this._slideTabBar}updateItems(){for(let e=0;e<this._slideTabItems.length;e++)this._slideTabItems[e].animate().cancel(),this._slideTabItems[e].translateX(0),this._slideTabItems[e].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){let e=this._slideTabBar.parentElement;return e?this._slideTabBar.scrollWidth-e.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.addEventListener(`pointerdown`,this._downAction)})}removeListener(){this._slideTabBar.removeEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.removeEventListener(`pointerdown`,this._downAction)})}setScroll(e){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e),e>0){let e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(e){if(e>0){let e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}scrollToItem(e){var t;if(e=(t=e)==null?this._config.currentIndex:t,e<0||e>=this._slideTabItems.length){console.error(`Index out of bounds`);return}let n=this.calculateTabItemScrollX(e);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+n),this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left+r.width,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o<i&&o+s+8>i?(t=e?o-r.left-4:o+s-i+4,!0):!1}),t}calculateRightScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<i&&o+s>i?(t=e?o+s-r.left-r.width+4:o-i-4,!0):!1}),t}calculateTabItemScrollX(e){let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=this._slideTabItems[e].getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<r&&(t=o-r-4),o+s+8>i&&(t=o+s-i+4),t}calculateActiveTabItemScrollX(){var e;let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=(e=this._activeTabItem)==null?void 0:e.getSlideTabItem().getBoundingClientRect();if(!a)return 0;let o=a.left,s=a.width;return o-8<r&&o+s>r&&(t=o-r-4),o<i&&o+s+8>i&&(t=o+s-i+4),t}destroy(){this.removeListener(),this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null}_hasEditItem(){for(let e=0;e<this._slideTabItems.length;e++)if(this._slideTabItems[e].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break;case 0:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break;case-1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(n-this._leftBoundingLine)*.1,50))}_scrollRight(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n>t.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(n-(t.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let e=0;e<this._slideTabItems.length;e++){let t=this._slideTabItems[e],n=this._slideTabItems[e+1];n&&t.after(n)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let t=0;t<e&&!(t>=e);t++)n.push(this._slideTabItems[t]);for(let n=e+1;n<t;n++)this._slideTabItems[n].animate().translateX(0);let r=!0;for(let e=n.length-1;e>=0;e--){let t=n[e];su.leftLine(this._activeTabItem)<t.getMidLine()?(t.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=e,r=!1):(t.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let r=e+1;r<t;r++)n.push(this._slideTabItems[r]);for(let t=0;t<e;t++)this._slideTabItems[t].animate().translateX(0);let r=!0;for(let t=0;t<n.length;t++){let i=n[t];su.rightLine(this._activeTabItem)>i.getMidLine()?(i.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=e+t+1,r=!1):(i.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){let e=this._slideTabBar.querySelectorAll(`${this._config.slideTabBarItemSelector}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=su.make(e,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};R(lu,`LongPressDelay`,500),R(lu,`DoubleClickDelay`,300);function uu(e){let{leftEnd:t,rightEnd:n}=e;return t&&n?``:t?`inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:n?`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`}function du(e){switch(e.id){case a.SetTabColorMutation.id:case a.SetWorksheetHideMutation.id:case a.RemoveSheetMutation.id:case a.SetWorksheetNameMutation.id:case a.InsertSheetMutation.id:case a.SetWorksheetOrderMutation.id:case a.SetWorksheetActiveOperation.id:return!0;default:return!1}}function fu(){var e;let[t,i]=(0,c.useState)([]),[s,l]=(0,c.useState)(``),[u,d]=(0,c.useState)(``),[p,m]=(0,c.useState)(!1),[h,g]=(0,c.useState)(null),_=(0,c.useRef)(null),v=(0,c.useRef)(null),y=(0,r.useDependency)(n.ICommandService),b=(0,r.useDependency)(Jr),x=(0,r.useDependency)(n.LocaleService),S=(0,r.useDependency)(n.IConfirmService),C=(0,r.useDependency)(J,n.Quantity.OPTIONAL),w=(0,r.useDependency)(a.WorksheetProtectionRuleModel),T=(0,r.useDependency)(a.RangeProtectionRuleModel),E=(0,r.useDependency)(n.IPermissionService),D=yi(),O=(0,r.useObservable)(w.resetOrder$),k=(0,r.useConfigValue)(r.UI_PLUGIN_CONFIG_KEY),A=(e=k==null?void 0:k.contextMenu)==null?!0:e,j=(0,c.useCallback)(()=>{var e;let t=(e=_.current)==null||(e=e.getActiveItem())==null?void 0:e.getSlideTabItem().getBoundingClientRect();return t?{left:t.left,top:t.top,bottom:t.bottom}:null},[]),M=(0,c.useCallback)(()=>{setTimeout(()=>{var e;let t=(e=_.current)==null?void 0:e.getActiveItem();t&&(t.focus(),t.selectAll())},0)},[]),N=(0,c.useCallback)((e,t)=>{S.open({id:e,title:{title:x.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:t},cancelText:x.t(`button.cancel`),confirmText:x.t(`button.confirm`),onClose(){M(),S.close(e)},onConfirm(){M(),S.close(e)}})},[S,M,x]),P=(0,c.useCallback)(e=>e.trim()===``?(N(`sheetNameEmptyAlert`,x.t(`sheetConfig.sheetNameCannotIsEmptyError`)),!0):!1,[x,N]),F=(0,c.useCallback)(e=>(0,n.nameCharacterCheck)(e)?!1:(N(`sheetNameSpecCharAlert`,x.t(`sheetConfig.sheetNameSpecCharError`)),!0),[x,N]),ee=(0,c.useCallback)(e=>{var t;if(((t=D.getActiveSheet())==null?void 0:t.getName())===e||!D.checkSheetName(e))return!1;let n=`sheetNameRepeatAlert`;return S.open({id:n,title:{title:x.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:x.t(`sheetConfig.sheetNameAlreadyExistsError`)},cancelText:x.t(`button.cancel`),confirmText:x.t(`button.confirm`),onClose(){S.close(n),M()},onConfirm(){S.close(n),M()}}),!0},[S,M,x,D]),I=(0,c.useCallback)(()=>{var e,t;let n=D.getUnitId(),r=D.getActiveSheet();if(!r)return!1;let i=r.getSheetId(),o=w.getRule(n,i),s=T.getSubunitRuleList(n,i).length>0;if(o||s){var c,l;return(c=(l=E.getPermissionPoint(new a.WorkbookManageCollaboratorPermission(n).id))==null?void 0:l.value)==null?!1:c}return(e=(t=E.getPermissionPoint(new a.WorkbookRenameSheetPermission(n).id))==null?void 0:t.value)==null?!1:e},[E,T,D,w]),L=(0,c.useCallback)(()=>{var e;let t=D.getActiveSheet(),n=(e=t==null?void 0:t.getSheetId())==null?``:e;i(D.getSheets().filter(e=>!e.isSheetHidden()).map((e,n)=>{var r;let i=w.getRule(D.getUnitId(),e.getSheetId()),a=T.getSubunitRuleList(D.getUnitId(),e.getSheetId()).length>0,o=!!(i!=null&&i.permissionId||a);return{sheetId:e.getSheetId(),label:o?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(Eo,{className:`univer-shrink-0`}),(0,f.jsx)(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()})]}):(0,f.jsx)(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()}),index:n,selected:t===e,color:(r=e.getTabColor())==null?void 0:r}})),l(n)},[T,D,w]),te=(0,c.useCallback)(()=>{var e;(e=_.current)==null||(e=e.getActiveItem())==null||e.setEditor()},[]),ne=(0,c.useCallback)(e=>{d(uu(e))},[]),re=(0,c.useCallback)(e=>{let t=e.calculateActiveTabItemScrollX();if(t){let n=e.getScrollbar();n.scrollX(n.getScrollX()+t)}b.setScroll({leftEnd:e.isLeftEnd(),rightEnd:e.isRightEnd()})},[b]),R=(0,c.useCallback)(e=>{var t;let n=(t=v.current)==null?void 0:t.querySelector(`[data-u-comp=slide-tab-bar]`);if(!n)return;let r=new ResizeObserver(()=>{re(e)});return r.observe(n),()=>r.disconnect()},[re]),ie=(0,c.useCallback)(e=>{A&&(C!=null&&C.isForceKeepVisible()||(g(e),m(!0)))},[C,A]),ae=(0,c.useCallback)(e=>{if(!e){m(!1);return}let t=j();t&&ie(t)},[j,ie]),oe=(0,c.useCallback)((e,t)=>{y.executeCommand(e,{value:t,subUnitId:s}),m(!1)},[s,y]);(0,c.useEffect)(()=>{if(!p)return;let e=()=>{let e=j();e&&g(e)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[p,j]);let se=(0,c.useCallback)(e=>{e.preventDefault();let t=e.target.closest(`[data-u-comp=slide-tab-item]`),n=t==null?void 0:t.dataset.id;if(!n||!t)return;let r=t.getBoundingClientRect(),i={left:r.left,top:r.top,bottom:r.bottom};if(n===s){ie(i);return}y.executeCommand(a.SetWorksheetActiveOperation.id,{unitId:D.getUnitId(),subUnitId:n}).finally(()=>{ie(i)})},[s,y,ie,D]),ce=(0,c.useCallback)(e=>{var t,n;let r=e.target;if(r.closest(`[contenteditable=true]`))return;let i=r.closest(`[data-u-comp=slide-tab-item]`),o=i==null?void 0:i.dataset.id;if(!o)return;if(e.key===`Enter`||e.key===` `){e.preventDefault(),y.executeCommand(a.SetWorksheetActiveOperation.id,{unitId:D.getUnitId(),subUnitId:o});return}if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let s=Array.from((t=(n=v.current)==null?void 0:n.querySelectorAll(`[data-u-comp=slide-tab-item]`))==null?[]:t),c=s.findIndex(e=>e.dataset.id===o);if(c<0)return;e.preventDefault();let l=s[e.key===`ArrowRight`?Math.min(s.length-1,c+1):Math.max(0,c-1)],u=l==null?void 0:l.dataset.id;!l||!u||(l.focus(),y.executeCommand(a.SetWorksheetActiveOperation.id,{unitId:D.getUnitId(),subUnitId:u}))},[y,D]),z=(0,c.useCallback)(()=>{let e=new lu({slideTabBarSelector:`[data-u-comp=slide-tab-bar]`,slideTabBarItemSelector:`[data-u-comp=slide-tab-item]`,slideTabBarItemAutoSort:!0,slideTabBarContainer:v.current,currentIndex:0,onChangeName:(e,t)=>{var n;if(((n=D.getSheetBySheetId(e))==null?void 0:n.getName())===t){L();return}y.executeCommand(a.SetWorksheetNameCommand.id,{subUnitId:e,name:t})},onSlideEnd:async(e,t)=>{await y.executeCommand(a.SetWorksheetOrderCommand.id,{order:t})},onChangeTab:(e,t)=>{y.executeCommand(a.SetWorksheetActiveOperation.id,{subUnitId:t,unitId:D.getUnitId()})},onScroll:e=>{b.setScroll(e)},onNameCheckAlert:e=>P(e)||F(e)||ee(e),onNameChangeCheck:I});return _.current=e,{slideTabBar:e,disconnectResizeObserver:R(e)}},[I,y,j,P,ee,R,ie,b,F,L,D]);return(0,c.useEffect)(()=>{L();let{slideTabBar:e,disconnectResizeObserver:t}=z(),n=y.onCommandExecuted(e=>{du(e)&&L()}),r=b.scroll$.subscribe(ne),i=b.scrollX$.subscribe(e=>{var t;(t=_.current)==null||t.flipPage(e)}),a=b.renameId$.subscribe(()=>{te()});return()=>{n.dispose(),e.destroy(),_.current=null,r.unsubscribe(),i.unsubscribe(),a.unsubscribe(),t==null||t()}},[y,z,O,te,b,ne,L,D]),(0,c.useEffect)(()=>{var e;if(!t.length)return;let n=t.findIndex(e=>e.sheetId===s);(e=_.current)==null||e.update(n>=0?n:0)},[s,t]),(0,c.useEffect)(()=>{let e=(0,o.merge)(w.ruleChange$,T.ruleChange$).subscribe(()=>{L()});return()=>{e.unsubscribe()}},[T,L,w]),(0,c.useEffect)(()=>{!A&&p&&m(!1)},[p,A]),(0,f.jsx)(nu,{showContextMenu:A,visible:p,anchorRect:h,onVisibleChange:ae,onCommandSelect:oe,children:(0,f.jsx)(`div`,{className:`univer-max-w-[calc(100%-112px)] univer-overflow-hidden`,ref:v,onDragStart:e=>e.preventDefault(),onContextMenu:se,children:(0,f.jsx)(`div`,{"data-u-comp":`slide-tab-bar`,role:`tablist`,"aria-label":`Sheet tabs`,onKeyDown:ce,className:`
159
+ univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden
160
+ univer-px-1.5 univer-py-1
161
+ `,style:{boxShadow:u},children:t.map(e=>(0,f.jsx)(tu,{...e,selected:s===e.sheetId},e.sheetId))})})})}let pu=()=>{var e,t;let[i,o]=(0,c.useState)(!0),[s,l]=(0,c.useState)(!0),u=(0,r.useDependency)(n.ICommandService),d=(0,r.useDependency)(Jr),p=(0,r.useDependency)(n.IPermissionService),m=yi().getUnitId(),h=(0,r.useObservable)(p.getPermissionPoint$((e=new a.WorkbookEditablePermission(m))==null?void 0:e.id)),g=(0,r.useObservable)(p.getPermissionPoint$((t=new a.WorkbookCreateSheetPermission(m))==null?void 0:t.id)),_=e=>{let{leftEnd:t,rightEnd:n}=e;o(t),l(n)};return(0,c.useEffect)(()=>{let e=d.scroll$.subscribe((0,n.throttle)(e=>{_(e)},100));return()=>{e.unsubscribe()}},[]),(0,f.jsxs)(`div`,{className:`univer-relative univer-flex univer-h-full univer-min-w-0 univer-flex-1`,children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center`,children:[(0,f.jsx)($l,{className:`univer-mr-2`,onClick:()=>{u.executeCommand(a.InsertSheetCommand.id),setTimeout(()=>{d.setAddSheet(0)},0)},disabled:!(g!=null&&g.value&&h!=null&&h.value),children:(0,f.jsx)(So,{})}),(0,f.jsx)(eu,{})]}),(0,f.jsx)(fu,{}),(!i||!s)&&(0,f.jsxs)(`div`,{className:`
162
+ univer-relative univer-flex univer-items-center univer-px-2
163
+ after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-h-4 after:univer-w-px
164
+ after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]
165
+ `,children:[(0,f.jsx)($l,{disabled:i,onClick:()=>{d.setScrollX(-100)},children:(0,f.jsx)(Ao,{className:`univer-rotate-180`})}),(0,f.jsx)($l,{disabled:s,onClick:()=>{d.setScrollX(100)},children:(0,f.jsx)(Ao,{})})]})]})},mu=[50,75,100,125,150,175,200,400];function hu(){let e=(0,r.useDependency)(n.ICommandService),t=(0,r.useDependency)(n.IUniverInstanceService),i=yi(),o=(0,r.useObservable)((0,r.useDependency)(J).visible$),s=(0,c.useCallback)(()=>{if(!i)return 100;let e=i.getActiveSheet(),t=e&&e.getZoomRatio()*100||100;return Math.round(t)},[i]),[l,u]=(0,c.useState)(()=>s());(0,c.useEffect)(()=>(u(s()),e.onCommandExecuted(e=>{(e.id===Gr.id||e.id===a.SetWorksheetActiveOperation.id)&&u(s())}).dispose),[e,s]);function d(r){u(r);let i=t.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getActiveSheet();if(a==null)return;let o=r/100;e.executeCommand(qr.id,{unitId:i.getUnitId(),subUnitId:a.getSheetId(),zoomRatio:o})}return(0,f.jsx)(r.Slider,{disabled:(o==null?void 0:o.visible)&&(o.unitId===(i==null?void 0:i.getUnitId())||o.unitId===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),min:F[0],value:l,shortcuts:mu,onChange:d})}function gu(){return(0,f.jsx)(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:(0,f.jsx)(hu,{})})}var _u=class{constructor(){R(this,`_functions`,[{func:l.FUNCTION_NAMES_STATISTICAL.MAX,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:l.FUNCTION_NAMES_STATISTICAL.MIN,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:l.FUNCTION_NAMES_MATH.SUM,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:l.FUNCTION_NAMES_STATISTICAL.COUNTA,filter:e=>{var t,n;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1}},{func:l.FUNCTION_NAMES_STATISTICAL.COUNT,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:l.FUNCTION_NAMES_STATISTICAL.AVERAGE,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===l.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)==null?0:r)>0}}]),R(this,`_state$`,new o.BehaviorSubject(null)),R(this,`state$`,this._state$.asObservable())}dispose(){this._state$.complete()}setState(e){var t;let n={values:[],pattern:null};e==null||e.values.forEach(t=>{let r=this._functions.find(e=>e.func===t.func);r&&(r.filter===void 0||r.filter(e))&&n.values.push(t)}),n.pattern=(t=e==null?void 0:e.pattern)==null?null:t,this._state$.next(n)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(e){this._functions.push(...e)}};let vu=(0,n.createIdentifier)(`univer.sheet-status-bar.service`),yu=[l.FUNCTION_NAMES_MATH.SUM,l.FUNCTION_NAMES_STATISTICAL.AVERAGE,l.FUNCTION_NAMES_STATISTICAL.MIN,l.FUNCTION_NAMES_STATISTICAL.MAX],bu={[l.FUNCTION_NAMES_MATH.SUM]:`statusbar.sum`,[l.FUNCTION_NAMES_STATISTICAL.AVERAGE]:`statusbar.average`,[l.FUNCTION_NAMES_STATISTICAL.MIN]:`statusbar.min`,[l.FUNCTION_NAMES_STATISTICAL.MAX]:`statusbar.max`,[l.FUNCTION_NAMES_STATISTICAL.COUNT]:`statusbar.count`,[l.FUNCTION_NAMES_STATISTICAL.COUNTA]:`statusbar.countA`,[l.FUNCTION_NAMES_TEXT.CONCATENATE]:`concatenate`},xu=e=>{let t=(0,r.useDependency)(n.LocaleService),i=(0,r.useDependency)(r.IMessageService),a=(0,r.useDependency)(r.IClipboardInterfaceService),o=Su(e);return(0,f.jsx)(d.Tooltip,{title:t.t(`statusbar.clickToCopy`),placement:`top`,children:(0,f.jsx)(`div`,{className:`
166
+ univer-flex univer-cursor-pointer univer-truncate univer-text-center univer-text-xs
167
+ univer-text-gray-400
168
+ `,onClick:async()=>{await a.writeText(e.value.toString()),i.show({type:d.MessageType.Success,content:t.t(`statusbar.copied`)})},children:(0,f.jsx)(`span`,{children:`${t.t((bu==null?void 0:bu[e.name])||e.name)}: ${o}`})},e.name)})};function Su(e){let{pattern:t,value:r}=e;return typeof r==`number`?r>=1e8?r.toExponential(2):t&&yu.includes(e.name)?n.numfmt.format(t,r,{throws:!1}):r.toLocaleString():0}let Cu=()=>{var e,t;let i=(e=(t=(0,r.useConfigValue)(`sheets-ui.config`))==null?void 0:t.statusBarStatistic)==null?!0:e,[a,o]=(0,c.useState)(window.innerWidth<800),s=(0,r.useDependency)(vu),{showList:l,show:u}=((e,t,n,r)=>{let[i,a]=(0,c.useState)(e),[o,s]=(0,c.useState)(!0),l=(0,c.useMemo)(()=>i.filter(e=>e.show&&!e.disable),[i]),u=(0,c.useMemo)(()=>l.find(e=>e.show&&!e.disable),[l]),d=(0,c.useMemo)(()=>n&&u?[u]:l,[n,u,l]),f=(0,c.useCallback)(e=>{let t=e==null?void 0:e.values;if(!(t!=null&&t.length)){s(!1);return}s(!0),a(n=>n.map(n=>{var r,i,a;return{...n,value:(r=(i=t.find(e=>e.func===n.name))==null?void 0:i.value)==null?n.value:r,disable:!t.some(e=>e.func===n.name),pattern:(a=e==null?void 0:e.pattern)==null?null:a}}))},[]);return(0,c.useEffect)(()=>{if(!r)return;let e=t.state$.subscribe(f);return()=>e.unsubscribe()},[r,t,f]),{statistics:i,showList:d,show:o}})(s.getFunctions().map((e,t)=>({name:e.func,value:0,show:!0,disable:!1,pattern:null})),s,a,i),p=(0,n.debounce)(()=>{let e=window.innerWidth<800;a!==e&&o(e)},100);(0,c.useEffect)(()=>(window.addEventListener(`resize`,p),()=>{window.removeEventListener(`resize`,p)}),[a]);let m=((e,t,n)=>i?(0,c.useMemo)(()=>e.length>t?e.reduce((t,n,r)=>(r%2==0&&t.push(e.slice(r,r+2)),t),[]).map((e,t)=>(0,f.jsxs)(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:[e[0]&&(0,f.jsx)(n,{...e[0]},e[0].name),e[1]&&(0,f.jsx)(n,{...e[1]},e[1].name)]},`stat-col-${t}`)):e.map(e=>(0,f.jsx)(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:(0,f.jsx)(n,{...e})},e.name)),[e,t,n]):null)(l,3,xu);return u&&(0,f.jsx)(`div`,{className:(0,d.clsx)(`
169
+ univer-relative univer-box-border univer-flex univer-h-full univer-items-center univer-overflow-hidden
170
+ univer-px-2
171
+ after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-block after:univer-h-4
172
+ after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]
173
+ `,{"univer-max-w-32":a,"univer-max-w-fit":!a}),children:(0,f.jsx)(`div`,{className:`univer-flex univer-h-full univer-gap-x-2`,children:m})})};function wu(){var e;let t=(0,r.useConfigValue)(ei),n=(0,r.useDependency)(r.IMenuManagerService),i=(e=t==null?void 0:t.footer)==null?!0:e;if(!yi()||!i)return null;let a=n.getMenuByPositionKey(r.ContextMenuPosition.FOOTER_MENU),{sheetBar:o=!0,statisticBar:s=!0,menus:c=!0,zoomSlider:l=!0}=(t==null?void 0:t.footer)||{};return!o&&!s&&!c&&!l?null:(0,f.jsxs)(`section`,{className:`
174
+ univer-box-border univer-grid univer-w-full univer-grid-flow-col univer-grid-cols-[1fr,auto,auto,auto]
175
+ univer-items-center univer-justify-between univer-bg-white univer-px-5 univer-text-gray-900
176
+ dark:!univer-bg-gray-900 dark:!univer-text-gray-200
177
+ `,style:{height:36},"data-range-selector":!0,children:[o&&(0,f.jsx)(pu,{}),s&&(0,f.jsx)(Cu,{}),c&&a.length>0&&(0,f.jsx)(`div`,{className:`univer-box-border univer-flex univer-gap-2 univer-px-2`,children:a.map(e=>{var t;return(t=e.children)==null?void 0:t.map(e=>(e==null?void 0:e.item)&&(0,f.jsx)(r.ToolbarItem,{...e.item},e.key))})}),l&&(0,f.jsx)(gu,{})]})}function Tu(){let e=(0,r.useConfigValue)(ei);return Du()?(e==null?void 0:e.formulaBar)===!1?null:(0,f.jsx)(Ql,{}):null}function Eu(){let e=(0,r.useConfigValue)(ei),t=Du(),n=(0,r.useDependency)(r.ComponentManager).get(`ShapeTextEditorContainer`);return t?(0,f.jsxs)(f.Fragment,{children:[n&&(0,f.jsx)(n,{}),!(e!=null&&e.disableEdit)&&(0,f.jsx)(Jl,{}),(0,f.jsx)(Wl,{})]}):null}function Du(){let e=(0,r.useDependency)(n.IUniverInstanceService);return(0,c.useMemo)(()=>e.getAllUnitsForType(n.UniverInstanceType.UNIVER_SHEET).length>0,[e,!!(0,r.useObservable)(()=>e.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET),null,!1,[])])}let Ou={id:a.SheetCopyDownCommand.id,preconditions:e=>C(e),binding:r.KeyCode.D|r.MetaKeys.CTRL_COMMAND},ku={id:a.SheetCopyRightCommand.id,preconditions:e=>C(e),binding:r.KeyCode.R|r.MetaKeys.CTRL_COMMAND},Au={id:a.SetRowHiddenCommand.id,preconditions:e=>C(e),binding:r.KeyCode.Digit9|r.MetaKeys.CTRL_COMMAND},ju={id:a.SetColHiddenCommand.id,preconditions:e=>C(e),binding:r.KeyCode.Digit0|r.MetaKeys.CTRL_COMMAND|r.MetaKeys.SHIFT},Mu={id:Tr.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_DOWN,priority:100,preconditions:C,staticParameters:{direction:n.Direction.DOWN}},Nu={id:Tr.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_UP,priority:100,preconditions:C,staticParameters:{direction:n.Direction.UP}},Pu={id:Tr.id,description:`shortcut.sheet.select-left-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_LEFT,priority:100,preconditions:w,staticParameters:{direction:n.Direction.LEFT}},Fu={id:Tr.id,description:`shortcut.sheet.select-right-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_RIGHT,priority:100,preconditions:w,staticParameters:{direction:n.Direction.RIGHT}},Iu={id:Er.id,description:`shortcut.sheet.select-next-cell`,group:`3_sheet-view`,binding:r.KeyCode.TAB,priority:100,preconditions:C,staticParameters:{direction:n.Direction.RIGHT,keycode:r.KeyCode.TAB}},Lu={id:Er.id,description:`shortcut.sheet.select-previous-cell`,group:`3_sheet-view`,binding:r.KeyCode.TAB|r.MetaKeys.SHIFT,priority:100,preconditions:C,staticParameters:{direction:n.Direction.LEFT,keycode:r.KeyCode.TAB}},Ru={id:Er.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:r.KeyCode.ENTER,priority:100,preconditions:C,staticParameters:{direction:n.Direction.DOWN,keycode:r.KeyCode.ENTER}},zu={id:Er.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:r.KeyCode.ENTER|r.MetaKeys.SHIFT,priority:100,preconditions:C,staticParameters:{direction:n.Direction.UP,keycode:r.KeyCode.ENTER}},Bu={id:Tr.id,description:`shortcut.sheet.select-below-value-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_DOWN|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.DOWN,jumpOver:wr.moveGap}},Vu={id:Tr.id,description:`shortcut.sheet.select-up-value-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_UP|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.UP,jumpOver:wr.moveGap}},Hu={id:Tr.id,description:`shortcut.sheet.select-left-value-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_LEFT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.LEFT,jumpOver:wr.moveGap}},Uu={id:Tr.id,description:`shortcut.sheet.select-right-value-cell`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_RIGHT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.RIGHT,jumpOver:wr.moveGap}},Wu={id:Dr.id,description:`shortcut.sheet.expand-selection-down`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_DOWN|r.MetaKeys.SHIFT,preconditions:C,staticParameters:{direction:n.Direction.DOWN}},Gu={id:Dr.id,description:`shortcut.sheet.expand-selection-up`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_UP|r.MetaKeys.SHIFT,preconditions:C,staticParameters:{direction:n.Direction.UP}},Ku={id:Dr.id,description:`shortcut.sheet.expand-selection-left`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_LEFT|r.MetaKeys.SHIFT,preconditions:C,staticParameters:{direction:n.Direction.LEFT}},qu={id:Dr.id,description:`shortcut.sheet.expand-selection-right`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_RIGHT|r.MetaKeys.SHIFT,preconditions:C,staticParameters:{direction:n.Direction.RIGHT}},Ju={id:Dr.id,description:`shortcut.sheet.expand-selection-to-below-gap`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_DOWN|r.MetaKeys.SHIFT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.DOWN,jumpOver:wr.moveGap}},Yu={id:Dr.id,description:`shortcut.sheet.expand-selection-to-up-gap`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_UP|r.MetaKeys.SHIFT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.UP,jumpOver:wr.moveGap}},Xu={id:Dr.id,description:`shortcut.sheet.expand-selection-to-left-gap`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_LEFT|r.MetaKeys.SHIFT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.LEFT,jumpOver:wr.moveGap}},Zu={id:Dr.id,description:`shortcut.sheet.expand-selection-to-right-gap`,group:`3_sheet-view`,binding:r.KeyCode.ARROW_RIGHT|r.MetaKeys.SHIFT|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{direction:n.Direction.RIGHT,jumpOver:wr.moveGap}},Qu={id:Or.id,description:`shortcut.sheet.select-all`,group:`3_sheet-view`,binding:r.KeyCode.A|r.MetaKeys.CTRL_COMMAND,preconditions:C,staticParameters:{expandToGapFirst:!0,loop:!0}},$u={id:Yt.id,description:`shortcut.sheet.set-bold`,group:`4_sheet-edit`,preconditions:e=>C(e),binding:r.KeyCode.B|r.MetaKeys.CTRL_COMMAND},ed={id:Xt.id,description:`shortcut.sheet.set-italic`,group:`4_sheet-edit`,preconditions:e=>C(e),binding:r.KeyCode.I|r.MetaKeys.CTRL_COMMAND},td={id:Zt.id,description:`shortcut.sheet.set-underline`,group:`4_sheet-edit`,preconditions:e=>C(e),binding:r.KeyCode.U|r.MetaKeys.CTRL_COMMAND},nd={id:Qt.id,description:`shortcut.sheet.set-strike-through`,group:`4_sheet-edit`,preconditions:e=>C(e),binding:r.KeyCode.X|r.MetaKeys.SHIFT|r.MetaKeys.CTRL_COMMAND},rd={id:a.ClearSelectionContentCommand.id,preconditions:e=>C(e),binding:r.KeyCode.DELETE,mac:r.KeyCode.BACKSPACE},id={id:a.ClearSelectionContentCommand.id,preconditions:e=>C(e),mac:r.KeyCode.DELETE},ad={id:a.ClearSelectionContentCommand.id,preconditions:e=>C(e),binding:r.MetaKeys.SHIFT+r.KeyCode.BACKSPACE},od={id:xt.id,preconditions:e=>C(e),binding:r.MetaKeys.SHIFT+r.KeyCode.DELETE},sd={id:Kr.id,description:`shortcut.sheet.zoom-in`,binding:r.KeyCode.EQUAL|r.MetaKeys.CTRL_COMMAND,group:`3_sheet-view`,preconditions:C,priority:1,staticParameters:{delta:.2}},cd={id:n.NilCommand.id,binding:r.KeyCode.EQUAL|r.MetaKeys.CTRL_COMMAND},ld={id:Kr.id,description:`shortcut.sheet.zoom-out`,binding:r.KeyCode.MINUS|r.MetaKeys.CTRL_COMMAND,group:`3_sheet-view`,preconditions:C,priority:1,staticParameters:{delta:-.2}},ud={id:n.NilCommand.id,binding:r.KeyCode.MINUS|r.MetaKeys.CTRL_COMMAND},dd={id:Kr.id,description:`shortcut.sheet.reset-zoom`,binding:r.KeyCode.Digit0|r.MetaKeys.CTRL_COMMAND,preconditions:C,group:`3_sheet-view`,priority:1,staticParameters:{reset:!0}},fd={id:n.NilCommand.id,binding:r.KeyCode.Digit0|r.MetaKeys.CTRL_COMMAND},pd=class extends n.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(hs,gs)),this.disposeWithMe(e.register(fs,ms)),this.disposeWithMe(e.register(os,ds)),this.disposeWithMe(e.register(ci,Hl)),this.disposeWithMe(e.register(Pl,Bl)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Ho))}_initCommands(){[Kr,Dr,Tr,Er,ai,cr,or,sr,Kt,qt,Lr,Rr,Or,$r,a.SetBoldCommand,ii,Y,ri,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,a.SetItalicCommand,a.SetStrikeThroughCommand,a.SetFontFamilyCommand,a.SetFontSizeCommand,fr,pr,mr,hr,Fr,Ir,_r,vr,yr,br,xr,oi,a.SetUnderlineCommand,qr,Gr,Xr,cn,At,ln,kt,li,Qn,si,$n,er,tr,nr,rr,Qr,ir,ar,Zr,Hr,ae,oe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(Nl)}_initShortcuts(){[Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,sd,ld,dd,fd,cd,ud,$u,ed,td,nd,rd,id,ad,od,...Ii(),Ri,Li,zi,Hi,Ui,Wi,Ki,Bi,Vi,Gi,Ou,ku,Au,ju].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(r.BuiltInUIPart.HEADER,()=>(0,r.connectInjector)(Tu,t))),this.disposeWithMe(e.registerComponent(r.BuiltInUIPart.FOOTER,()=>(0,r.connectInjector)(wu,t))),this.disposeWithMe(e.registerComponent(r.BuiltInUIPart.CONTENT,()=>(0,r.connectInjector)(Eu,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(n.UniverInstanceType.UNIVER_SHEET,e=>{let r=this._injector.get(i.IRenderManagerService),a=this._injector.get(n.IUniverInstanceService),o=(0,i.getCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_DOC,a,r),s=o==null?void 0:o.with(t.DocSelectionRenderService);s==null||s.focus()}))}};pd=H([V(0,(0,n.Inject)(n.Injector)),V(1,(0,n.Inject)(r.ComponentManager)),V(2,r.ILayoutService),V(3,n.ICommandService),V(4,r.IShortcutService),V(5,r.IMenuManagerService),V(6,r.IUIPartsService),V(7,n.IConfigService)],pd);let md=(0,n.createInterceptorKey)(`statusBarPermissionCorrect`);var hd=class{constructor(){R(this,`_sum`,0),R(this,`_count`,0),R(this,`_countNumber`,0),R(this,`_min`,1/0),R(this,`_max`,-1/0)}add(e,t,r){if(!n.Tools.isDefine(e==null?void 0:e.v))return;let i=e==null?void 0:e.t,{v:a}=e,o=e=>{this._sum+=e,this._countNumber++,this._min=Math.min(this._min,e),this._max=Math.max(this._max,e)},s=(e,t,r)=>{var i;if(!(!(e==null||(i=e.n)==null)&&i.pattern))return;let{pattern:a}=e.n;r[a]||(r[a]=n.numfmt.getFormatInfo(a)),r[a].isDate&&o(t)};if(typeof a==`string`&&i===n.CellValueType.NUMBER){let e=Number(a);Number.isNaN(e)||(a=e)}typeof a==`number`&&i!==n.CellValueType.STRING?o(a):i===n.CellValueType.NUMBER&&e.s&&s(t.get(e.s),a,r),this._count++}getResults(){return{sum:this._sum,count:this._countNumber,countA:this._count,min:this._min,max:this._max}}};function gd(e){let{sum:t,count:n,countA:r,min:i,max:a}=e.getResults();return[{func:l.FUNCTION_NAMES_STATISTICAL.MAX,value:a},{func:l.FUNCTION_NAMES_STATISTICAL.MIN,value:i},{func:l.FUNCTION_NAMES_MATH.SUM,value:t},{func:l.FUNCTION_NAMES_STATISTICAL.COUNTA,value:r},{func:l.FUNCTION_NAMES_STATISTICAL.COUNT,value:n},{func:l.FUNCTION_NAMES_STATISTICAL.AVERAGE,value:t/n}]}let _d=class extends n.Disposable{constructor(e,t,r,i,a,o){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._statusBarService=r,this._commandService=i,this._numfmtService=a,this._formulaDataModel=o,R(this,`interceptor`,new n.InterceptorManager({STATUS_BAR_PERMISSION_CORRECT:md})),this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){let e=(0,n.debounce)(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},100),t=(0,n.debounce)(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},500);this.disposeWithMe((0,n.toDisposable)(this._selectionManagerService.selectionMoving$.subscribe(e=>{e&&t(e)}))),this.disposeWithMe((0,n.toDisposable)(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe((0,n.toDisposable)(this._selectionManagerService.selectionSet$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===a.SetRangeValuesMutation.id){let r=this._selectionManagerService.getCurrentSelections(),{cellValue:i}=t.params;if(r&&r.length>0&&i){let t=new n.ObjectMatrix(i),a=!1;t.forValue((e,t)=>{if(r.some(n=>{let r=n.range;return e>=r.startRow&&e<=r.endRow&&t>=r.startColumn&&t<=r.endColumn}))return a=!0,!1}),a&&e(r)}}}))}_clearResult(){this._statusBarService.setState(null)}getRangeStartEndInfo(e,t){return e.rangeType===n.RANGE_TYPE.ALL?{startRow:0,startColumn:0,endRow:t.getRowCount()-1,endColumn:t.getColumnCount()-1}:e.rangeType===n.RANGE_TYPE.COLUMN?{startRow:0,startColumn:e.startColumn,endRow:t.getRowCount()-1,endColumn:e.endColumn}:e.rangeType===n.RANGE_TYPE.ROW?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t.getColumnCount()-1}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}_getCellValue(e,t,n,r){var i;let a=n.getCellRaw(e,t),o=r==null||(i=r[e])==null?void 0:i[t];if(o){var s,c,l;return{t:(s=o.t)==null?a==null?void 0:a.t:s,v:(c=o.v)==null?a==null?void 0:a.v:c,s:(l=o.s)==null?a==null?void 0:a.s:l}}return a}_calculateSelection(e,t){let r=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);if(!r)return this._clearResult();let i=r.getUnitId(),a=r.getActiveSheet(),o=a==null?void 0:a.getSheetId();if(!o)return this._clearResult();let s={};if(this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(e=>{let t=e.getConfig();s[e.getSheetId()]={cellData:new n.ObjectMatrix(t.cellData),rowCount:t.rowCount,columnCount:t.columnCount,rowData:t.rowData,columnData:t.columnData}}),e!=null&&e.length){var c;let s=[];e.forEach(e=>{let{startRow:t,endRow:n}=e,r=null;for(let i=t;i<=n;i++)a.getRowVisible(i)?r===null&&(r=i):r!==null&&(s.push({...e,startRow:r,endRow:i-1}),r=null);r!==null&&s.push({...e,startRow:r,endRow:n})});let u=(0,n.splitIntoGrid)(s),d=new hd,f=r.getStyles(),p={},m=this._formulaDataModel.getArrayFormulaCellData(),h=m==null||(c=m[i])==null?void 0:c[o];for(let e of u){let{startRow:t,startColumn:n,endColumn:r,endRow:i}=this.getRangeStartEndInfo(e,a);for(let e=t;e<=i;e++)for(let t=n;t<=r;t++){let n=this._getCellValue(e,t,a,h);d.add(n,f,p)}}let g=gd(d);if(g.every(e=>e===void 0))return;let _=null;if(t){var l;let{actualRow:e,actualColumn:n}=t;_=(l=this._numfmtService.getValue(i,o,e,n))==null?void 0:l.pattern}let v={values:g.filter(e=>e!==void 0),pattern:_};this._statusBarService.setState(v)}else this._clearResult()}};_d=H([V(0,n.IUniverInstanceService),V(1,(0,n.Inject)(a.SheetsSelectionsService)),V(2,vu),V(3,n.ICommandService),V(4,(0,n.Inject)(a.INumfmtService)),V(5,(0,n.Inject)(l.FormulaDataModel))],_d);let vd=(e=[])=>{let t=(0,r.useDependency)(ye);(0,c.useEffect)(()=>{let n=e.map(e=>t.addShape({range:e,style:{fill:`rgba(73, 184, 17, 0.05)`,strokeWidth:1,stroke:`#49B811`,widgets:{}},primary:null}));return()=>{n.forEach(e=>{e&&t.removeShape(e)})}},[e])};var yd=`@univerjs/sheets-ui`,bd=`0.18.0`;let xd=function(e){return e[e.INFO=0]=`INFO`,e[e.WARNING=1]=`WARNING`,e[e.ERROR=2]=`ERROR`,e}({}),Sd=class extends n.Disposable{get currentAlert(){return this._currentAlert}constructor(e,t){super(),this._renderManagerService=e,this._cellPopupManagerService=t,R(this,`_currentAlert$`,new o.Subject),R(this,`_currentAlert`,new Map),R(this,`currentAlert$`,this._currentAlert$.asObservable()),this.disposeWithMe(()=>{this._currentAlert$.complete()})}showAlert(e){let t=this._currentAlert.get(e.key);t&&t.dispose.dispose(),t?t.dispose.dispose():(t={alert:e,dispose:{dispose(){}}},this._currentAlert.set(e.key,t));let{location:n}=e,{row:r,col:i,unitId:a,subUnitId:o}=n;if(!this._renderManagerService.getRenderById(a))return;let s=this._cellPopupManagerService.showPopup({unitId:a,subUnitId:o,row:r,col:i},{componentKey:wd,direction:`horizontal`,extraProps:{alert:e},priority:1});if(s){if(t){var c;(c=t.dispose)==null||c.dispose()}t.dispose=s}this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(e){let t=this._currentAlert.get(e);t&&(this._currentAlert.delete(e),t==null||t.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(e=>{e.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};Sd=H([V(0,i.IRenderManagerService),V(1,(0,n.Inject)(zl))],Sd);function Cd({popup:e}){var t;let n=(t=e.extraProps)==null?void 0:t.alert;if(!n)return null;let{type:r,title:i,message:a}=n,o={[xd.ERROR]:(0,f.jsx)(go,{className:`univer-mr-1.5 univer-text-red-500`}),[xd.INFO]:(0,f.jsx)(wo,{className:`univer-mr-1.5 univer-text-blue-500`}),[xd.WARNING]:(0,f.jsx)(Io,{className:`univer-mr-1.5 univer-text-yellow-500`})};return(0,f.jsxs)(`div`,{className:`
178
+ univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2
179
+ univer-py-1 univer-text-gray-900 univer-shadow
180
+ dark:!univer-bg-black dark:!univer-text-white
181
+ `,children:[(0,f.jsxs)(`div`,{className:`
182
+ univer-mb-1.5 univer-flex univer-h-5 univer-flex-row univer-items-center univer-text-sm
183
+ univer-font-medium
184
+ `,children:[r?o[r]:null,i]}),(0,f.jsx)(`div`,{className:`univer-text-sm`,children:a})]})}let wd=`univer.sheet.cell-alert`,Td=class extends n.Disposable{constructor(e,t){super(),this._context=e,this._componentManager=t,this._initComponent()}_initComponent(){this.disposeWithMe(this._componentManager.register(wd,Cd))}};Td=H([V(1,(0,n.Inject)(r.ComponentManager))],Td);let Ed=class extends n.Disposable{constructor(e,t,n){super(),this._context=e,this._editorBridgeService=t,this._cellPopupManagerService=n,this._initEditorVisibleListener()}_initEditorVisibleListener(){this.disposeWithMe(this._editorBridgeService.visible$.pipe((0,o.filter)(e=>e.visible)).subscribe(()=>{let e=this._editorBridgeService.getEditLocation();e&&this._cellPopupManagerService.hidePopup(e.unitId,e.sheetId,e.row,e.column)}))}};Ed=H([V(1,J),V(2,(0,n.Inject)(zl))],Ed);let Dd=class extends n.Disposable{constructor(e,t,n,r){super(),this._hoverManagerService=e,this._instanceService=t,this._commandService=n,this._renderManagerService=r,R(this,`_isPointer`,!1),this._initPointerEvent(),this._initHover()}get _mainComponent(){var e;return(e=(0,i.getCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,this._instanceService,this._renderManagerService))==null?void 0:e.mainComponent}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichText$.subscribe(e=>{if(e!=null&&e.bullet){if(!this._isPointer){var t;(t=this._mainComponent)==null||t.setCursor(i.CURSOR_TYPE.POINTER)}this._isPointer=!0}else{if(this._isPointer){var n;(n=this._mainComponent)==null||n.setCursor(i.CURSOR_TYPE.AUTO)}this._isPointer=!1}}))}_initPointerEvent(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(e=>{let{location:t,bullet:n}=e;n&&this._commandService.executeCommand(a.ToggleCellCheckboxCommand.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col,paragraphIndex:n.startIndex})}))}};Dd=H([V(0,(0,n.Inject)(Aa)),V(1,n.IUniverInstanceService),V(2,n.ICommandService),V(3,i.IRenderManagerService)],Dd);let Od=[{value:`DEFAULT_PASTE`,label:`rightClick.paste`},{value:`SPECIAL_PASTE_VALUE`,label:`rightClick.pasteValue`},{value:`SPECIAL_PASTE_FORMAT`,label:`rightClick.pasteFormat`},{value:`SPECIAL_PASTE_COL_WIDTH`,label:`rightClick.pasteColWidth`},{value:`SPECIAL_PASTE_BESIDES_BORDER`,label:`rightClick.pasteBesidesBorder`},{value:`SPECIAL_PASTE_FORMULA`,label:`formula.operation.pasteFormula`}],kd=e=>{var t,a,o,s,c;let l=(0,r.useDependency)(n.IUniverInstanceService),u=(0,r.useDependency)(i.IRenderManagerService),d=yi();if(!e||!d)return null;let f={startRow:e.rows[0],startCol:e.cols[0],endRow:e.rows[e.rows.length-1],endCol:e.cols[e.cols.length-1]};if(f.endRow<0||f.endCol<0)return null;let p=u.getRenderById(d.getUnitId()),m=p==null?void 0:p.with(U),h=p==null?void 0:p.with(B),g=Ar(l,u);if(!g||!h)return null;let{scene:_}=g,v=m==null?void 0:m.getCurrentSkeleton(),y=h.getViewPort(),b=_==null?void 0:_.scaleX,x=_==null?void 0:_.scaleY,S=_==null?void 0:_.getViewportScrollXY(y),C=(t=_.getEngine())==null?void 0:t.getCanvas();if(!b||!_||!b||!x||!S)return null;let w=v==null?void 0:v.getNoMergeCellPositionByIndex(f.endRow,f.endCol),T=(a=w==null?void 0:w.endX)==null?0:a,E=(o=w==null?void 0:w.endY)==null?0:o,D=(s=(0,i.convertTransformToOffsetX)(T,b,S))==null?-9999:s,O=(c=(0,i.convertTransformToOffsetY)(E,x,S))==null?-9999:c,k=C==null?void 0:C.getWidth(),A=C==null?void 0:C.getHeight();if(!k||!A)return null;let j=D+50<=k,M=O+50<=A,N=D,P=O;return j||(N=k-100),M||(P=A-100),{positionX:N,positionY:P}},Ad=()=>{let e=(0,r.useDependency)(pt),t=(0,r.useObservable)(e.showMenu$,!1),i=(0,r.useObservable)(e.pasteOptionsCache$,null),a=(0,r.useDependency)(n.LocaleService),o=(0,r.useDependency)(n.ICommandService),[s,l]=(0,c.useState)(!1),[u,p]=(0,c.useState)(!1),m=kd(i==null?void 0:i.target.pastedRange);if(!m||!t||m.positionX<50||m.positionY<30)return null;let h=s||u,g=e=>{p(!1),o.executeCommand(Ot.id,{type:e})};return(0,f.jsx)(`div`,{className:`univer-absolute univer-inset-0 univer-z-10 univer-size-0`,children:(0,f.jsx)(`div`,{className:`univer-absolute`,style:{left:m.positionX+2,top:m.positionY+2},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:(0,f.jsx)(d.DropdownMenu,{align:`start`,items:Od.map(e=>({type:`checkbox`,value:e.value,label:a.t(e.label),checked:(i==null?void 0:i.pasteType)===G[e.value],onSelect:()=>g(e.value)})),open:u,onOpenChange:p,children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
185
+ univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1
186
+ hover:univer-bg-gray-100
187
+ dark:hover:!univer-bg-gray-800
188
+ `,d.borderClassName,{"univer-bg-gray-100 dark:!univer-bg-gray-800":u,"univer-bg-white dark:!univer-bg-gray-900":!u}),children:[(0,f.jsx)(Ko,{className:`
189
+ univer-fill-primary-600 univer-text-gray-900
190
+ dark:!univer-text-white
191
+ `}),h&&(0,f.jsx)(Oo,{className:`dark:!univer-text-white`})]})})})})},jd=[Y.id,a.SetRangeValuesCommand.id,Gr.id,a.MoveRangeMutation.id,a.RemoveRowMutation.id,a.RemoveColMutation.id,a.InsertRowMutation.id,a.InsertColMutation.id,a.MoveRowsMutation.id,a.MoveColsMutation.id,a.SetWorksheetColWidthMutation.id,a.SetWorksheetRowHeightMutation.id,a.SetSelectionsOperation.id,n.UndoCommandId];function Md(e,t,n,r,i){let a=[],o=[];if(r.copyType===qe.CUT){let{undos:n,redos:r}=Nd(e,t,i);a.push(...r),o.push(...n)}else{let{undos:r,redos:s}=Id(t,n,i);a.push(...s),o.push(...r);let{undos:c,redos:l}=Ld(t,n,i);a.push(...l),o.push(...c);let{undos:u,redos:d}=Pd(t,e,n,i);a.push(...d),o.push(...u);let{undos:f,redos:p}=Fd(t,e,n,i,!0);a.push(...p),o.push(...f);let{undos:m,redos:h}=Rd(t,n,i);a.push(...h),o.push(...m)}return{undos:o,redos:a}}function Nd(e,t,r){let i=[],o=[],{range:s,subUnitId:c,unitId:l}=e,{range:u,subUnitId:d}=t,f=u?(0,a.discreteRangeToRange)(u):null,p=s?(0,a.discreteRangeToRange)(s):null;if(p&&f){let e=r.get(n.IUniverInstanceService),t=r.get(a.SheetInterceptorService),s=e.getUniverSheetInstance(l),u=s==null?void 0:s.getSheetBySheetId(c),m=s==null?void 0:s.getSheetBySheetId(d);if(u&&m){let e=new n.ObjectMatrix,r=new n.ObjectMatrix,s=u.getCellMatrix(),h=m.getCellMatrix();n.Range.foreach(p,(t,i)=>{e.setValue(t,i,(0,n.cloneCellData)(s.getValue(t,i))),r.setValue(t,i,null)});let g=new n.ObjectMatrix;n.Range.foreach(f,(e,t)=>{g.setValue(e,t,(0,n.cloneCellData)(h.getValue(e,t)))});let _=new n.ObjectMatrix;n.Range.foreach(p,(e,t)=>{let r=(0,n.cellToRange)(e,t),i=n.Rectangle.getRelativeRange(r,p),a=n.Rectangle.getPositionRange(i,f);_.setValue(a.startRow,a.startColumn,s.getValue(e,t))});let v={fromRange:p,toRange:f,from:{value:r.getMatrix(),subUnitId:c},to:{value:_.getMatrix(),subUnitId:d},unitId:l},y={fromRange:f,toRange:p,from:{value:e.getMatrix(),subUnitId:c},to:{value:g.getMatrix(),subUnitId:d},unitId:l},b=t.onCommandExecute({id:a.MoveRangeCommand.id,params:{toRange:f,fromRange:p}}),x=u.getMergeData(),S=m.getMergeData(),C=x.filter(e=>n.Rectangle.intersects(e,p)),w=S.filter(e=>n.Rectangle.intersects(e,f)),T=[],E=[];if(C.length>0||w.length>0){let e=(0,a.getAddMergeMutationRangeByType)(C.map(e=>n.Rectangle.getRelativeRange(e,p)).map(e=>n.Rectangle.getPositionRange(e,f)));C.length>0&&(T.push({id:a.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:c,ranges:C}}),E.push({id:a.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:c,ranges:C}})),w.length>0&&(T.push({id:a.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:c,ranges:w}}),E.push({id:a.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:w}})),T.push({id:a.AddWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:e}}),E.unshift({id:a.RemoveWorksheetMergeMutation.id,params:{unitId:l,subUnitId:d,ranges:e}})}i=[{id:a.MoveRangeMutation.id,params:v},...b.redos,...T,{id:a.SetSelectionsOperation.id,params:{unitId:l,subUnitId:d,selections:[{range:f,primary:(0,a.getPrimaryForRange)(f,m)}],type:a.SelectionMoveType.MOVE_END}}],o=[{id:a.MoveRangeMutation.id,params:y},...b.undos,...E,{id:a.SetSelectionsOperation.id,params:{unitId:l,subUnitId:c,type:a.SelectionMoveType.MOVE_END,selections:[{range:p,primary:(0,a.getPrimaryForRange)(p,u)}]}}]}}return{undos:o,redos:i}}function Pd(e,t,r,i){var o;let{unitId:s,subUnitId:c,range:l}=e,u=(o=i.get(n.IUniverInstanceService).getUniverSheetInstance(s))==null?void 0:o.getSheetBySheetId(c),d=[],f=[],{mapFunc:p}=A([l]),m=new n.ObjectMatrix;r.forValue((e,r,i)=>{var a;let{row:o,col:s}=p(e,r),c={v:i.v,t:i.t};if(!i.p&&i.v&&!t){var l;let e=u==null?void 0:u.getCellStyle(o,s);if((0,n.isTextFormat)(e==null||(l=e.n)==null?void 0:l.pattern))c.t=n.CellValueType.STRING;else{let e=String(i.v).trim(),t=(0,n.getNumfmtParseValueFilter)(e);(t==null?void 0:t.v)!==void 0&&typeof t.v==`number`&&(!t.z&&(0,n.willLoseNumericPrecision)(e)?c.t=n.CellValueType.FORCE_STRING:c.v=t.v)}}if((a=i.p)!=null&&a.body&&fa(i.p.body)){let e={p:(0,n.cloneValue)(i.p),v:i.v};m.setValue(o,s,e)}else m.setValue(o,s,c&&(0,n.cloneCellData)(c))});let h={unitId:s,subUnitId:c,cellValue:(0,n.cloneCellDataMatrix)(m.getMatrix())};d.push({id:a.SetRangeValuesMutation.id,params:h});let g=(0,a.SetRangeValuesUndoMutationFactory)(i,h);return f.push({id:a.SetRangeValuesMutation.id,params:g}),{undos:f,redos:d}}function Fd(e,t,r,o,s=!1){var c;let l=[],u=[],{unitId:d,subUnitId:f,range:p}=e,m=(c=o.get(n.IUniverInstanceService).getUniverSheetInstance(d))==null?void 0:c.getSheetBySheetId(f),h=new n.ObjectMatrix,{mapFunc:g}=A([p]);r.forValue((e,r,a)=>{var o;let s={s:Object.assign({},{...n.DEFAULT_STYLES,pd:i.DEFAULT_PADDING_DATA,bg:null,cl:null},a.s)},c=s.s.bd;c&&(Object.keys(c).length>0||(s.s.bd={b:null,l:null,r:null,t:null}));let{row:l,col:u}=g(e,r),d=m==null?void 0:m.getCellStyle(l,u);if(a.v&&!t&&(0,n.isTextFormat)(d==null||(o=d.n)==null?void 0:o.pattern))s.s||(s.s={}),s.s.n=d==null?void 0:d.n;else{let e=(0,n.getNumfmtParseValueFilter)(String(a.v).trim());if(e!=null&&e.z&&(s.s||(s.s={}),typeof s.s==`object`)){var f;(f=s.s)!=null&&f.n?s.s.n.pattern=e.z:s.s.n={pattern:e.z}}}h.setValue(l,u,s)});let _={unitId:d,subUnitId:f,cellValue:(0,n.cloneCellDataMatrix)(h.getMatrix())};l.push({id:a.SetRangeValuesMutation.id,params:_});let v=(0,a.SetRangeValuesUndoMutationFactory)(o,_);return u.push({id:a.SetRangeValuesMutation.id,params:v}),{undos:u,redos:l}}function Id(e,t,r){let i=[],o=[],s=new n.ObjectMatrix,{unitId:c,subUnitId:l,range:u}=e,{mapFunc:d}=A([u]);if(t.forEach((e,t)=>{Object.keys(t).forEach(t=>{let{row:n,col:r}=d(e,Number(t));s.setValue(n,r,{s:null})})}),s.getLength()>0){let e={subUnitId:l,unitId:c,cellValue:(0,n.cloneCellDataMatrix)(s.getMatrix())};i.push({id:a.SetRangeValuesMutation.id,params:e});let t=(0,a.SetRangeValuesUndoMutationFactory)(r,e);o.push({id:a.SetRangeValuesMutation.id,params:t})}return{undos:o,redos:i}}function Ld(e,t,r){let i=[],o=[],s=new n.ObjectMatrix,{unitId:c,subUnitId:l,range:u}=e,{mapFunc:d}=A([u]);if(t.forValue((e,t,n)=>{let{row:r,col:i}=d(e,t);s.setValue(r,i,{v:null,p:null})}),s.getLength()>0){let e={subUnitId:l,unitId:c,cellValue:(0,n.cloneCellDataMatrix)(s.getMatrix())};i.push({id:a.SetRangeValuesMutation.id,params:e});let t=(0,a.SetRangeValuesUndoMutationFactory)(r,e);o.push({id:a.SetRangeValuesMutation.id,params:t})}return{undos:o,redos:i}}function Rd(e,t,r){let i=[],o=[],{unitId:s,subUnitId:c,range:l}=e,{startColumn:u,startRow:d,endColumn:f,endRow:p}=(0,a.discreteRangeToRange)(l),m=[];t.forValue((e,t,n)=>{if(n.rowSpan&&n.rowSpan>1){let r=n.colSpan||1,i={startRow:d+e,endRow:d+e+n.rowSpan-1,startColumn:u+t,endColumn:u+t+r-1};m.push(i)}else if(n.colSpan&&n.colSpan>1){let r=n.rowSpan||1,i={startRow:d+e,endRow:d+e+r-1,startColumn:u+t,endColumn:u+t+n.colSpan-1};m.push(i)}});let h=(0,a.getSheetCommandTarget)(r.get(n.IUniverInstanceService),{unitId:s,subUnitId:c});if(h&&h.worksheet){let e=h.worksheet.getMergeData().filter(e=>n.Rectangle.intersects({startRow:d,startColumn:u,endRow:p,endColumn:f},e));if(e.length>0){let t={unitId:s,subUnitId:c,ranges:e};i.push({id:a.RemoveWorksheetMergeMutation.id,params:t});let n=(0,a.RemoveMergeUndoMutationFactory)(r,t);o.push({id:a.AddWorksheetMergeMutation.id,params:n})}}if(m.length>0){let e={unitId:s,subUnitId:c,ranges:m};i.push({id:a.AddWorksheetMergeMutation.id,params:e});let t=(0,a.AddMergeUndoMutationFactory)(r,e);o.unshift({id:a.RemoveWorksheetMergeMutation.id,params:t})}return{redos:i,undos:o}}function zd(e){if(!e.includes(`\r`)&&n.Tools.isLegalUrl(e)){let t=(0,n.generateRandomId)(),r=`${e}`,i={startIndex:0,endIndex:r.length-1,rangeId:t,rangeType:n.CustomRangeType.HYPERLINK,properties:{url:e}};return{dataStream:`${r}\r\n`,paragraphs:[{startIndex:r.length}],customRanges:[i]}}let t=e.replace(/(\r\n|\n)/g,`\r`);t.endsWith(`\r
192
+ `)||(t+=`\r
193
+ `);let r=[];for(let e=0;e<t.length;e++)t[e]===`\r`&&r.push({startIndex:e});return{dataStream:t,paragraphs:r,sectionBreaks:[{startIndex:t.indexOf(`
194
+ `)}]}}let Bd=[a.InsertColMutation.id,a.InsertRowMutation.id,a.RemoveColMutation.id,a.RemoveRowMutation.id,a.MoveRangeMutation.id,a.MoveRowsMutation.id,a.MoveColsMutation.id],Vd=class extends n.RxDisposable{constructor(e,t,n,r,i,a,s,c,l,u){super(),this._injector=e,this._instanceService=t,this._renderManagerService=n,this._commandService=r,this._contextService=i,this._configService=a,this._sheetClipboardService=s,this._messageService=c,this._localService=l,this._uiPartsService=u,R(this,`_refreshOptionalPaste$`,new o.Subject),R(this,`refreshOptionalPaste$`,this._refreshOptionalPaste$.asObservable()),this._init(),this._initCommandListener(),this._initUIComponents(),this._pasteWithDoc()}refreshOptionalPaste(){this._refreshOptionalPaste$.next(Math.random())}_pasteWithDoc(){var e;let r=e=>{e.onPaste$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t,n;if(!C(this._contextService))return;e.event.preventDefault();let r=e.event,i=(t=r.clipboardData)==null?void 0:t.getData(`text/html`),a=(n=r.clipboardData)==null?void 0:n.getData(`text/plain`),o=this._resolveClipboardFiles(r.clipboardData);this._commandService.executeCommand(Ct.id,{htmlContent:i,textContent:a,files:o})}),e==null||e.onKeydown$.subscribe(e=>{e.event.key===`Escape`&&this._sheetClipboardService.removeMarkSelection()})},i=(e=this._renderManagerService.getRenderById(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:e.with(t.DocSelectionRenderService);i&&r(i),this._renderManagerService.created$.subscribe(e=>{if(e.unitId===n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){var a;i=(a=this._renderManagerService.getRenderById(n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY))==null?void 0:a.with(t.DocSelectionRenderService),i&&r(i)}})}_resolveClipboardFiles(e){if(!e)return;let t=Array.from(e.items).map(e=>e.kind===`file`?e.getAsFile():void 0).filter(Boolean);return t.length>0?t:void 0}_init(){[bt,xt,St].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e))),[wt,Tt,Et,Dt,Ct,Ot].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingRowsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingColumnsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));let e=this._initSpecialPasteHooks().map(e=>this._sheetClipboardService.addClipboardHook(e));this.disposeWithMe({dispose:()=>e.forEach(e=>e.dispose())})}_initCopyingHooks(){let e=this,r=null;return{id:ut.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(t,n){r=e._getWorksheet(t,n)},onCopyCellContent(e,i){var a,o;let s=r.getCell(e,i);return!(s==null||(a=s.p)==null||(a=a.body)==null)&&a.paragraphs||!(s==null||(o=s.p)==null||(o=o.body)==null)&&o.textRuns?(0,t.convertBodyToHtml)(s.p):s?(0,n.extractPureTextFromCell)(s):``},onCopyCellStyle:(e,t,i,a)=>{let o={};(i||a)&&(o.rowspan=`${i||1}`,o.colspan=`${a||1}`);let s=r.getMergedCell(e,t),c=r.getComposedCellStyle(e,t),l=``;if(c&&(l=(0,n.handleStyleToString)(c)),s){let e=s.endRow,t=s.endColumn,i=r.getRange(e,t).getTextStyle();if(i){let e=(0,n.handleStyleToString)(i);l?l+=e?`;${e}`:``:l=e}}return l&&(o.style=l),Object.keys(o).length?o:null},onCopyColumn(e){return{width:`${r.getColumnWidth(e)}`}},onCopyRow(e){return{style:`height: ${r.getRowHeight(e)}px;`}},onAfterCopy(){r=null},getFilteredOutRows(t,n,r){let i=e._getWorksheet(t,n);if(!i)return[];let{startRow:a,endRow:o}=r,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s}}}_initPastingHook(){let e=this;return{id:G.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({range:t}){let n=e._configService.getConfig(a.MAX_CELL_PER_SHEET_KEY),r=t.rows[t.rows.length-1],i=t.cols[t.cols.length-1];return n&&r*i>n?(e._messageService.show({type:d.MessageType.Error,content:e._localService.t(`clipboard.paste.exceedMaxCells`)}),!1):!0},onPastePlainText(t,n,r){return e._onPastePlainText(t,n,r)},onPasteCells(t,n,r,i){return e._onPasteCells(t,n,r,i)}}}_initPastingRowsHook(){let e=this;return{id:G.DEFAULT_PASTE_ROWS,isDefaultHook:!0,onPasteRows(t){let n=[],r=[],{range:i,unitId:o,subUnitId:s}=t,{rows:c,cols:l}=i;if(!c||!l||c.length===0||l.length===0)return{redos:n,undos:r};let u=e._getWorksheet(o,s).getMaxRows()-1,d=c[c.length-1],f=l[0],p=l[l.length-1];if(d-u>0){let e={unitId:o,subUnitId:s,range:{startRow:u+1,endRow:d,startColumn:f,endColumn:p}};n.push({id:a.InsertRowMutation.id,params:e}),r.push({id:a.RemoveRowMutation.id,params:e})}return{redos:n,undos:r}}}}_initPastingColumnsHook(){let e=this;return{id:G.DEFAULT_PASTE_COLUMNS,isDefaultHook:!0,onPasteColumns(t){let n=[],r=[],{range:i,unitId:o,subUnitId:s}=t,{rows:c,cols:l}=i;if(!c||!l||c.length===0||l.length===0)return{redos:n,undos:r};let u=e._getWorksheet(o,s).getMaxColumns()-1,d=c[0],f=c[c.length-1],p=l[l.length-1];if(p-u>0){let e={unitId:o,subUnitId:s,range:{startRow:d,endRow:f,startColumn:u+1,endColumn:p}};n.push({id:a.InsertColMutation.id,params:e}),r.push({id:a.RemoveColMutation.id,params:e})}return{redos:n,undos:r}}}}_generateDocumentDataModelSnapshot(e){var t,r;let a=(t=(0,i.withCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_SHEET,U,this._instanceService,this._renderManagerService))==null?void 0:t.getCurrentParam();if(a==null)return null;let{skeleton:o}=a,s=(r=o.getBlankCellDocumentModel())==null?void 0:r.documentModel,c={...s==null?void 0:s.getSnapshot(),...e};return s==null||s.reset(c),s==null?void 0:s.getSnapshot()}_onPastePlainText(e,t,r){let{range:i,unitId:o,subUnitId:s}=e,c;if(/\r|\n/.test(t)||n.Tools.isLegalUrl(t)){let e=zd(t),n=this._generateDocumentDataModelSnapshot({body:e});c={[i.rows[0]]:{[i.cols[0]]:{p:n,v:null,f:null}}}}else if((0,n.isFormulaString)(t))c={[i.rows[0]]:{[i.cols[0]]:{f:t,v:null,p:null}}};else{let e=(0,n.getNumfmtParseValueFilter)(t);c=e!=null&&e.z?{[i.rows[0]]:{[i.cols[0]]:{v:e.v,s:{n:{pattern:e.z}},f:null}}}:{[i.rows[0]]:{[i.cols[0]]:{v:t,f:null}}}}let l={unitId:o,subUnitId:s,cellValue:c};return{redos:[{id:a.SetRangeValuesMutation.id,params:l}],undos:[{id:a.SetRangeValuesMutation.id,params:(0,a.SetRangeValuesUndoMutationFactory)(this._injector,l)}]}}_onPasteCells(e,t,n,r){return this._injector.invoke(i=>Md(e,t,n,r,i))}_initSpecialPasteHooks(){let e=this;return[{id:G.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:`specialPaste.value`},onPasteCells:(e,t,n)=>this._injector.invoke(r=>Pd(t,e,n,r))},{id:G.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:`specialPaste.format`},onPasteCells:(e,t,n)=>{let r=[],i=[],{undos:a,redos:o}=this._injector.invoke(e=>Id(t,n,e));r.push(...o),i.push(...a);let{undos:s,redos:c}=this._injector.invoke(e=>Rd(t,n,e));r.push(...c),i.push(...s);let{undos:l,redos:u}=this._injector.invoke(r=>Fd(t,e,n,r));return r.push(...u),i.push(...l),{undos:i,redos:r}}},{id:G.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:`specialPaste.colWidth`},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(t,r,i){var o;let s=[],c=[];if(i.pasteType!==G.SPECIAL_PASTE_COL_WIDTH)return{redos:s,undos:c};let{range:l,unitId:u,subUnitId:d}=t,{rows:f,cols:p}=l;if(!f||!p||f.length===0||p.length===0)return{redos:s,undos:c};let m=e._getWorksheet(u,d),h=(o=e._configService.getConfig(n.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))==null?n.DEFAULT_WORKSHEET_COLUMN_WIDTH:o,g=f[0],_=f[f.length-1],v=p[0],y=p[p.length-1],b=r.length;if(b>0){let e={};for(let t=v;t<=y;t++){let n=r[(t-v)%b];n.width&&Number(n.width)!==h&&(e[t]=Number(n.width))}let t={unitId:u,subUnitId:d,ranges:[{startRow:g,endRow:_,startColumn:v,endColumn:y}],colWidth:e};s.push({id:a.SetWorksheetColWidthMutation.id,params:t}),c.unshift({id:a.SetWorksheetColWidthMutation.id,params:(0,a.SetWorksheetColWidthMutationFactory)(t,m)})}return{redos:s,undos:c}}},{id:G.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:`specialPaste.besidesBorder`},onPasteCells:(t,r,i,o)=>{e._instanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);let s=[],c=[],{range:l,unitId:u,subUnitId:d}=r,f=new n.ObjectMatrix;i.forValue((e,t,r)=>{let i=r.s;if(typeof i==`object`){let a=n.Tools.deepClone(r);a.s&&(a.s={...i,bd:null}),f.setValue(l.rows[e],l.cols[t],a)}});let p={unitId:u,subUnitId:d,cellValue:f.getData()};s.push({id:a.SetRangeValuesMutation.id,params:p});let m=this._injector.invoke(a.SetRangeValuesUndoMutationFactory,p);c.push({id:a.SetRangeValuesMutation.id,params:m});let{undos:h,redos:g}=this._injector.invoke(e=>Rd(r,i,e));return c.push(...h),s.push(...g),{redos:s,undos:c}}}]}_getWorksheet(e,t){var n;let r=(n=this._instanceService.getUniverSheetInstance(e))==null?void 0:n.getSheetBySheetId(t);if(!r)throw Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${e} and subUnitId ${t}.`);return r}_initCommandListener(){var e;this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===a.AddWorksheetMergeCommand.id||Bd.includes(e.id))&&this._sheetClipboardService.removeMarkSelection()}));let t=this._configService.getConfig(ei);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||(this.disposeWithMe(this._commandService.onCommandExecuted(e=>{jd.includes(e.id)&&this._sheetClipboardService.disposePasteOptionsCache()})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Fr.id){if(!this._sheetClipboardService.getPasteMenuVisible())return;let t=e.params.unitId,n=this._sheetClipboardService.getPasteOptionsCache();t===(n==null?void 0:n.target.unitId)&&this._refreshOptionalPaste$.next(Math.random())}})))}_initUIComponents(){var e;let t=this._configService.getConfig(ei);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||this.disposeWithMe(this._uiPartsService.registerComponent(r.BuiltInUIPart.CONTENT,()=>(0,r.connectInjector)(Ad,this._injector)))}};Vd=H([V(0,(0,n.Inject)(n.Injector)),V(1,n.IUniverInstanceService),V(2,i.IRenderManagerService),V(3,n.ICommandService),V(4,n.IContextService),V(5,n.IConfigService),V(6,pt),V(7,r.IMessageService),V(8,(0,n.Inject)(n.LocaleService)),V(9,r.IUIPartsService)],Vd);let Hd=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._selectionManagerService=e,this._themeService=t,this._instanceSrv=n,this._cmdSrv=r,this._definedNamesService=i,this._init()}_init(){this.disposeWithMe((0,o.merge)(this._selectionManagerService.selectionMoveStart$,this._selectionManagerService.selectionMoving$,this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$).pipe((0,o.filter)(e=>!!e)).subscribe(e=>{this._syncDefinedNameRange(e)})),this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async e=>{if(e==null)return;let{unitId:t}=e,{formulaOrRefString:n}=e;if(n.substring(0,1)===l.operatorToken.EQUALS&&(n=n.substring(1)),!(0,l.isReferenceStrings)(n))return;let r=this._instanceSrv.getUnit(t),i=await this._getSelections(r,t,n);this._selectionManagerService.setSelections(i),this._cmdSrv.executeCommand(a.ScrollToCellOperation.id,{unitId:t,range:i[0].range})}))}_syncDefinedNameRange(e){if(e.length===0)return;let t=e[e.length-1],r=this._instanceSrv.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();i&&this._definedNamesService.setCurrentRange({range:t.range,unitId:r.getUnitId(),sheetId:i.getSheetId()})}async _getSelections(e,t,n){let r=n.split(`,`),i=e.getActiveSheet();if(!i)return[];let o=[];for(let n=0;n<r.length;n++){let s=(0,l.deserializeRangeWithSheet)(r[n].trim().trim());if(n===0){let n=e.getSheetBySheetName(s.sheetName);n&&i.getSheetId()!==n.getSheetId()&&(i=n,await this._cmdSrv.executeCommand(a.SetWorksheetActivateCommand.id,{subUnitId:i.getSheetId(),unitId:t}))}if(i.getName()!==s.sheetName)continue;let c=null;if(n===r.length-1){let{startRow:e,startColumn:t,endRow:n,endColumn:r}=s.range;c=(0,a.getPrimaryForRange)({startRow:e,startColumn:t,endRow:n,endColumn:r},i)}o.push({range:s.range,style:P(this._themeService),primary:c})}return o}};Hd=H([V(0,(0,n.Inject)(a.SheetsSelectionsService)),V(1,(0,n.Inject)(n.ThemeService)),V(2,n.IUniverInstanceService),V(3,n.ICommandService),V(4,l.IDefinedNamesService)],Hd);let Ud={pageSize:{width:1/0,height:1/0},documentFlavor:n.DocumentFlavor.UNSPECIFIED,marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:n.HorizontalAlign.UNSPECIFIED,verticalAlign:n.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:n.WrapStrategy.WRAP,isRenderStyle:n.BooleanNumber.FALSE}},Wd=class extends n.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._rangeProtectionRuleModel=i,this._worksheetProtectionRuleModel=a,this._formulaEditorController=o,this._formulaEditorManagerService=s,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener()}_getEditorViewModel(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(s.DocSkeletonManagerService).getViewModel()}_syncFormulaEditorContent(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(e=>{e==null||this._editorBridgeService.isForceKeepVisible()||!this._rangeProtectionRuleModel.getRangeRuleInitState()||!this._worksheetProtectionRuleModel.getSheetRuleInitState()||this._editorSyncHandler(e)}))}_editorSyncHandler(e){var t,r,a;let o=n.Tools.deepClone((t=e.documentLayoutObject.documentModel)==null?void 0:t.getBody()),s=n.Tools.deepClone((r=e.documentLayoutObject.documentModel)==null?void 0:r.drawings),c=n.Tools.deepClone((a=e.documentLayoutObject.documentModel)==null?void 0:a.getDrawingsOrder());(!o||e.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===i.DeviceInputEventType.Dblclick)&&(o={dataStream:`\r
195
+ `,paragraphs:[{startIndex:0}],textRuns:[]}),this._syncContentAndRender(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,o,s,c)}_commandExecutedListener(){let e=[n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY];this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===s.RichTextEditingMutation.id){let i=r.params,{unitId:a,trigger:o,isSync:s}=i;if(s||o===t.ReplaceSnapshotCommand.id)return;if(e.includes(a)){let e=this._univerInstanceService.getUnit(a,n.UniverInstanceType.UNIVER_DOC),t=a===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY;this._checkAndSetRenderStyleConfig(e),this._syncActionsAndRender(t,i)}}}));let r=[a.SetRangeValuesMutation.id,a.MoveRangeMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(r.includes(e.id)){let r=this._editorBridgeService.getLatestEditCellState();if(r==null)return;let l=!1,{row:u,column:d}=r;if(e.id===a.SetRangeValuesMutation.id&&e.params){var t;!((t=e.params.cellValue)==null||(t=t[u])==null)&&t[d]&&(l=!0)}else if(e.id===a.MoveRangeMutation.id&&e.params){var i;!((i=e.params.to.value)==null||(i=i[u])==null)&&i[d]&&(l=!0)}if(l){var o,s,c;let e=n.Tools.deepClone((o=r.documentLayoutObject.documentModel)==null?void 0:o.getBody()),t=n.Tools.deepClone((s=r.documentLayoutObject.documentModel)==null?void 0:s.drawings),i=n.Tools.deepClone((c=r.documentLayoutObject.documentModel)==null?void 0:c.getDrawingsOrder());if(e==null)return;this._syncContentAndRender(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,e,t,i)}}}))}_syncActionsAndRender(e,t){let r=[n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],i=this._renderManagerService.getRenderById(e);if(i==null)return;let a=i.with(s.DocSkeletonManagerService).getSkeleton(),o=this._univerInstanceService.getUnit(e,n.UniverInstanceType.UNIVER_DOC),c=this._getEditorViewModel(e);if(!(o==null||c==null)&&(this._commandService.syncExecuteCommand(s.RichTextEditingMutation.id,{...t,textRanges:null,isSync:!0,unitId:e,syncer:t.unitId}),c.reset(o),a.calculate(),r.includes(e))){var l;(l=i.mainComponent)==null||l.makeDirty()}}_syncContentAndRender(e,t,r,i){var a;e===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&t.paragraphs&&(t.paragraphs=this._clearParagraph(t.paragraphs));let o=[n.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],c=(a=this._renderManagerService.getRenderById(e))==null?void 0:a.with(s.DocSkeletonManagerService).getSkeleton(),l=this._univerInstanceService.getUnit(e,n.UniverInstanceType.UNIVER_DOC),u=this._getEditorViewModel(e);if(l==null||u==null||c==null)return;l.getSnapshot().body=t,l.getSnapshot().drawings=r==null?{}:r,l.getSnapshot().drawingsOrder=i==null?[]:i,this._checkAndSetRenderStyleConfig(l),u.reset(l);let d=this._renderManagerService.getRenderById(e);if(d!=null){if(c.calculate(),o.includes(e)){var f;(f=d.mainComponent)==null||f.makeDirty()}e===n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&this._formulaEditorController.autoScroll()}}_checkAndSetRenderStyleConfig(e){var t;let r=e.getSnapshot(),{body:i}=r;if(r.id!==n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;r.documentStyle=Ud;let a=r.documentStyle.renderConfig;a==null&&(a={},r.documentStyle.renderConfig=a);let o=this._formulaEditorManagerService.getPosition();if(o){let e=o.width;r.documentStyle.pageSize={width:e,height:1/0}}((t=i==null?void 0:i.dataStream)==null?``:t).startsWith(`=`)?a.isRenderStyle=n.BooleanNumber.TRUE:a.isRenderStyle=n.BooleanNumber.FALSE}_clearParagraph(e){let t=n.Tools.deepClone(e);for(let e of t)e.paragraphStyle&&(e.paragraphStyle.horizontalAlign=n.HorizontalAlign.UNSPECIFIED);return t}};Wd=H([V(0,n.IUniverInstanceService),V(1,i.IRenderManagerService),V(2,J),V(3,n.ICommandService),V(4,(0,n.Inject)(a.RangeProtectionRuleModel)),V(5,(0,n.Inject)(a.WorksheetProtectionRuleModel)),V(6,(0,n.Inject)(va)),V(7,_a)],Wd);let Gd=`SHEET_FORCE_STRING_ALERT`,Kd=class extends n.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._zenZoneService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(e=>{if(e){let i=e.location,a=this._context.unit,o=a.getActiveSheet();if(!o)return this._hideAlert();let s=o.getCell(i.row,i.col);if(!s||s.v===null||s.v===void 0)return this._hideAlert();let c;if(s!=null&&s.s){let e=a.getStyles().get(s.s);e!=null&&e.n&&(c=e.n)}if((0,n.isTextFormat)(c==null?void 0:c.pattern)){this._hideAlert();return}if((s.t===n.CellValueType.FORCE_STRING||s.t===n.CellValueType.STRING)&&((0,n.isRealNum)(s.v)||typeof s.v==`string`&&(0,n.getNumfmtParseValueFilter)(s.v))){var t,r;if((t=this._configService.getConfig(`sheets-ui.config`))!=null&&t.disableForceStringAlert)return;let n=this._cellAlertManagerService.currentAlert.get(Gd),a=n==null||(r=n.alert)==null?void 0:r.location;if(a&&a.row===e.location.row&&a.col===e.location.col&&a.subUnitId===e.location.subUnitId&&a.unitId===e.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:xd.ERROR,title:this._localeService.t(`info.error`),message:this._localeService.t(`info.forceStringInfo`),location:i,width:200,height:74,key:Gd});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(Gd)}};Kd=H([V(1,(0,n.Inject)(Aa)),V(2,(0,n.Inject)(Sd)),V(3,(0,n.Inject)(n.LocaleService)),V(4,r.IZenZoneService),V(5,n.IConfigService)],Kd);let qd=class extends n.RxDisposable{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetInterceptorService=n,this._configService=r,this._initViewModelIntercept()}_initViewModelIntercept(){let e={tl:{size:6,color:`#409f11`}};this.disposeWithMe(this._sheetInterceptorService.intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{priority:10,effect:n.InterceptorEffectEnum.Style,handler:(t,r,i)=>{var a;if(!((a=this._sheetSkeletonManagerService.getCurrentParam())!=null&&a.skeleton))return i(t);let o=r.rawData;if(!o||o.v===null||o.v===void 0)return i(t);if(((t==null?void 0:t.t)===n.CellValueType.FORCE_STRING||(t==null?void 0:t.t)===n.CellValueType.STRING)&&((0,n.isRealNum)(o.v)||typeof o.v==`string`&&(0,n.getNumfmtParseValueFilter)(o.v))){var s,c;let a=r.workbook.getStyles().get(o.s);return(0,n.isTextFormat)(a==null||(s=a.n)==null?void 0:s.pattern)||(c=this._configService.getConfig(`sheets-ui.config`))!=null&&c.disableForceStringMark?i(t):(t===o&&(t={...o}),t.markers={...t==null?void 0:t.markers,...e},i(t))}return i(t)}}))}};qd=H([V(1,(0,n.Inject)(U)),V(2,(0,n.Inject)(a.SheetInterceptorService)),V(3,n.IConfigService)],qd);let Jd=class extends n.Disposable{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._formatPainterService=t,this._univerInstanceService=n,this._renderManagerService=r,this._selectionManagerService=i,this._sheetInterceptorService=a,this._injector=o,this._initialize()}_initialize(){this._addDefaultHook()}_addDefaultHook(){this._formatPainterService.addHook({id:`default-format-painter`,priority:0,isDefaultHook:!0,onStatusChange:e=>{if(e!==lr.OFF){let e=this._collectSelectionRangeFormat();e&&this._formatPainterService.setSelectionFormat(e)}},onApply:(e,t,n,r)=>this._getUndoRedoMutationInfo(e,t,n,r)})}_collectSelectionRangeFormat(){let e=this._selectionManagerService.getCurrentLastSelection(),t=e==null?void 0:e.range;if(!t)return null;let{startRow:r,endRow:i,startColumn:a,endColumn:o}=t,s=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!c)return null;let l=c.getCellMatrix(),u=s.getStyles(),d=new n.ObjectMatrix,f=[];for(let e=r;e<=i;e++)for(let t=a;t<=o;t++){let n=l.getValue(e,t);d.setValue(e,t,u.getStyleByCell(n)||{});let{isMergedMainCell:r,...i}=c.getCellInfoInMergeData(e,t);r&&f.push({startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn})}return{styles:d,merges:f}}_getUndoRedoMutationInfo(e,t,r,i){let o=this._sheetInterceptorService,s=this._univerInstanceService,{merges:c,styles:l}=i;if(!l)return{undos:[],redos:[]};let{startRow:u,startColumn:d,endRow:f,endColumn:p}=l.getDataRange(),m=f-u+1,h=p-d+1,g=r.startRow===r.endRow&&r.startColumn===r.endColumn?{startRow:r.startRow,startColumn:r.startColumn,endRow:r.startRow+m-1,endColumn:r.startColumn+h-1}:r,_=Array.from({length:g.endRow-g.startRow+1},()=>Array.from({length:g.endColumn-g.startColumn+1},()=>({}))),v=[];_.forEach((e,t)=>{e.forEach((e,n)=>{let r=t%m+u,i=n%h+d,a=l.getValue(r,i);a&&(_[t][n].s=Object.keys(a).length>0?a:null)})});let y=0,b=0;c.forEach(e=>{e.startRow===u&&e.startColumn===d&&(y=e.endRow-e.startRow,b=e.endColumn-e.startColumn);let t={startRow:e.startRow-u,startColumn:e.startColumn-d,endRow:e.endRow-u,endColumn:e.endColumn-d},n=Math.max(1,Math.floor((g.endRow-g.startRow+1)/m)),r=Math.max(1,Math.floor((g.endColumn-g.startColumn+1)/h));for(let e=0;e<n;e++)for(let n=0;n<r;n++)v.push({startRow:t.startRow+e*m+g.startRow,startColumn:t.startColumn+n*h+g.startColumn,endRow:t.endRow+e*m+g.startRow,endColumn:t.endColumn+n*h+g.startColumn})});let x=[g],S=new n.ObjectMatrix,C=new n.ObjectMatrix;if(n.Tools.isArray(_))for(let e=0;e<x.length;e++){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=x[e];for(let e=0;e<=r-t;e++)for(let r=0;r<=i-n;r++)S.setValue(e+t,r+n,{s:null}),C.setValue(e+t,r+n,_[e][r])}let w={subUnitId:t,unitId:e,cellValue:S.getMatrix()},T={subUnitId:t,unitId:e,cellValue:C.getMatrix()},E=this._injector.invoke(a.SetRangeValuesUndoMutationFactory,w),{undos:D,redos:O}=o.onCommandExecute({id:a.SetRangeValuesCommand.id,params:{...T,range:x}}),k=[],A=[];if(v.length>0){let n=(0,a.getAddMergeMutationRangeByType)(v),r=s.getUnit(e).getSheetBySheetId(t),i=di(r,n),o={unitId:e,subUnitId:t,ranges:n},c={unitId:e,subUnitId:t,ranges:n};k.push({id:a.RemoveWorksheetMergeMutation.id,params:o}),k.push({id:a.AddWorksheetMergeMutation.id,params:c});let l=this._injector.invoke(a.RemoveMergeUndoMutationFactory,o),u=this._injector.invoke(a.AddMergeUndoMutationFactory,c);if(A.push({id:a.RemoveWorksheetMergeMutation.id,params:u}),A.push({id:a.AddWorksheetMergeMutation.id,params:l}),i){let t=this._injector.invoke(t=>(0,a.getClearContentMutationParamsForRanges)(t,e,r,n));k.unshift(...t.redos),A.push(...t.undos)}}if(!n.Rectangle.equals(g,r)){let i={actualRow:g.startRow,actualColumn:g.startColumn,rangeType:n.RANGE_TYPE.NORMAL,isMerged:y>0||b>0,isMergedMainCell:!1,startRow:g.startRow,startColumn:g.startColumn,endRow:g.startRow+y,endColumn:g.startColumn+b};k.push({id:a.SetSelectionsOperation.id,params:{unitId:e,subUnitId:t,type:a.SelectionMoveType.ONLY_SET,selections:[{range:g,primary:i,style:null}]}}),A.unshift({id:a.SetSelectionsOperation.id,params:{unitId:e,subUnitId:t,type:a.SelectionMoveType.ONLY_SET,selections:[{range:r,primary:i,style:null}]}})}return{undos:[{id:a.SetRangeValuesMutation.id,params:w},{id:a.SetRangeValuesMutation.id,params:E},...D,...A],redos:[{id:a.SetRangeValuesMutation.id,params:w},{id:a.SetRangeValuesMutation.id,params:T},...O,...k]}}};Jd=H([V(0,n.ICommandService),V(1,ur),V(2,n.IUniverInstanceService),V(3,i.IRenderManagerService),V(4,(0,n.Inject)(a.SheetsSelectionsService)),V(5,(0,n.Inject)(a.SheetInterceptorService)),V(6,(0,n.Inject)(n.Injector))],Jd);let Yd=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._markSelectionService=t,this._commandService=n,this._sheetSkeletonManagerService=r,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){let e=[Y.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((e,n)=>{e.exits.includes(t.id)&&this._markSelectionService.removeShape(n)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{e&&this._markSelectionService.refreshShapes()}))}};Yd=H([V(1,(0,n.Inject)(ye)),V(2,n.ICommandService),V(3,(0,n.Inject)(U))],Yd);function Xd(){let e=yi();return e?(0,f.jsx)(Zd,{workbook:e}):null}function Zd(e){let{workbook:t}=e,[i,o]=(0,c.useState)([]),[s,l]=(0,c.useState)(``),u=(0,c.useRef)(new Map),p=(0,c.useRef)(null),m=(0,r.useDependency)(n.ICommandService),h=(0,c.useCallback)(()=>{let e=t.getActiveSheet().getSheetId(),n=t.getSheets(),r=t.getActiveSheet();if(o(n.filter(e=>!e.isSheetHidden()).map((e,t)=>{var n;return{sheetId:e.getSheetId(),label:e.getName(),index:t,selected:r===e,color:(n=e.getTabColor())==null?void 0:n}})),l(e),u.current.has(e)){let t=u.current.get(e);if(t&&p.current){let e=p.current.clientWidth,n=t.clientWidth,r=t.offsetLeft-(e-n)/2;p.current.scrollTo({left:Math.max(0,r),behavior:`smooth`})}}u.current.clear()},[t]);(0,c.useEffect)(()=>h(),[h]);let g=(0,c.useCallback)(e=>{m.executeCommand(a.SetWorksheetActiveOperation.id,{unitId:t.getUnitId(),subUnitId:e})},[t]);return(0,c.useEffect)(()=>{let e=m.onCommandExecuted(e=>{switch(e.id){case a.SetWorksheetHideMutation.id:case a.RemoveSheetMutation.id:case a.SetWorksheetNameMutation.id:case a.InsertSheetMutation.id:case a.SetWorksheetOrderMutation.id:case a.SetWorksheetActiveOperation.id:h();break;default:break}});return()=>e.dispose()},[h]),(0,f.jsx)(`div`,{ref:p,className:(0,d.clsx)(`
18
196
  univer-h-10 univer-w-full univer-overflow-x-auto univer-overflow-y-hidden univer-border-b
19
197
  univer-border-gray-200 univer-bg-gradient-to-b univer-from-gray-50 univer-to-gray-100
20
198
  dark:!univer-border-gray-700 dark:!univer-from-gray-800 dark:!univer-to-gray-900
21
- `,F.scrollbarClassName),role:"tablist","aria-label":"Sheet tabs",children:I.jsx("div",{className:"univer-flex univer-h-full univer-flex-nowrap univer-items-center",children:e.map(h=>I.jsxs("div",{ref:g=>{s.current.set(h.sheetId,g)},className:F.clsx("univer-relative univer-box-border univer-flex univer-h-full univer-max-w-36 univer-shrink-0 univer-cursor-pointer univer-select-none univer-items-center univer-justify-center univer-truncate univer-px-1 univer-py-0.5 univer-text-sm univer-font-medium univer-leading-6 univer-transition-all",F.borderRightClassName,{"univer-bg-white univer-text-blue-600 dark:!univer-bg-gray-700 dark:!univer-text-blue-400":h.sheetId===i,"univer-text-gray-600 hover:univer-bg-gray-50 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700":h.sheetId!==i}),role:"tab","aria-selected":h.sheetId===i,"aria-controls":`sheet-${h.sheetId}`,tabIndex:h.sheetId===i?0:-1,onClick:()=>u(h.sheetId),children:[I.jsx("span",{className:"univer-truncate",children:h.label}),h.sheetId===i&&I.jsx("div",{className:F.clsx(`
199
+ `,d.scrollbarClassName),role:`tablist`,"aria-label":`Sheet tabs`,children:(0,f.jsx)(`div`,{className:`univer-flex univer-h-full univer-flex-nowrap univer-items-center`,children:i.map(e=>(0,f.jsxs)(`div`,{ref:t=>{u.current.set(e.sheetId,t)},className:(0,d.clsx)(`
200
+ univer-relative univer-box-border univer-flex univer-h-full univer-max-w-36 univer-shrink-0
201
+ univer-cursor-pointer univer-select-none univer-items-center univer-justify-center
202
+ univer-truncate univer-px-1 univer-py-0.5 univer-text-sm univer-font-medium univer-leading-6
203
+ univer-transition-all
204
+ `,d.borderRightClassName,{"univer-bg-white univer-text-blue-600 dark:!univer-bg-gray-700 dark:!univer-text-blue-400":e.sheetId===s,"univer-text-gray-600 hover:univer-bg-gray-50 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700":e.sheetId!==s}),role:`tab`,"aria-selected":e.sheetId===s,"aria-controls":`sheet-${e.sheetId}`,tabIndex:e.sheetId===s?0:-1,onClick:()=>g(e.sheetId),children:[(0,f.jsx)(`span`,{className:`univer-truncate`,children:e.label}),e.sheetId===s&&(0,f.jsx)(`div`,{className:(0,d.clsx)(`
22
205
  univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1
23
206
  univer-bg-blue-600 univer-transition-all
24
207
  dark:!univer-bg-blue-400
25
- `),style:h.color?{backgroundColor:h.color}:void 0,"aria-hidden":"true"})]},h.sheetId))})})}var bf=Object.getOwnPropertyDescriptor,Ef=(n,o,e,t)=>{for(var i=t>1?void 0:t?bf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Rt=(n,o)=>(e,t)=>o(e,t,n);let Ro=class extends a.Disposable{constructor(n,o,e,t,i,r,s,l){super(),this._injector=n,this._componentManager=o,this._layoutService=e,this._commandService=t,this._shortcutService=i,this._menuManagerService=r,this._uiPartsService=s,this._configService=l,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){const n=this._componentManager;this.disposeWithMe(n.register(tt,ml)),this.disposeWithMe(n.register(Mi,hl)),this.disposeWithMe(n.register(Ur,ul)),this.disposeWithMe(n.register(_i,xl)),this.disposeWithMe(n.register(ss,Wl)),this.disposeWithMe(n.register("HideGridlinesDoubleIcon",Lr))}_initCommands(){[Rn,Ue,Ve,Je,Ci,ci,gn,Sn,ti,ni,Fe,to,hi,io,m.SetBoldCommand,jt,be,pi,kt,Nt,Ht,Vt,ur,hr,ii,Wt,hn,Ki,m.SetItalicCommand,m.SetStrikeThroughCommand,m.SetFontFamilyCommand,m.SetFontSizeCommand,di,eo,vn,ui,ct,wn,lt,pn,Cn,_n,In,ro,m.SetUnderlineCommand,Xt,et,Si,Lt,Dt,mn,un,so,Ke,fr,si,Ut,Bt,ai,li,vi,Ft,zt,fi,Tn,Kn,qn].forEach(n=>{this.disposeWithMe(this._commandService.registerCommand(n))})}_initMenus(){this._menuManagerService.mergeMenu(_f)}_initShortcuts(){[ql,Ql,Jl,$l,ec,tc,nc,ic,oc,rc,sc,ac,lc,cc,dc,uc,hc,mc,gc,Sc,fc,Tc,Rc,Pc,Oc,yc,Mc,vc,pc,Cc,_c,Ic,bc,Ec,wc,...Ea(),Ta,wa,ya,Pa,Oa,Aa,ka,Ra,Ma,Da,Gl,Kl].forEach(n=>{this.disposeWithMe(this._shortcutService.registerShortcut(n))})}_initWorkbenchParts(){const n=this._uiPartsService,o=this._injector;this.disposeWithMe(n.registerComponent(_.BuiltInUIPart.HEADER,()=>_.connectInjector(xc,o))),this.disposeWithMe(n.registerComponent(_.BuiltInUIPart.CONTENT,()=>_.connectInjector(us,o)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(a.UniverInstanceType.UNIVER_SHEET,n=>{const o=this._injector.get(y.IRenderManagerService),e=this._injector.get(a.IUniverInstanceService),t=y.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_DOC,e,o),i=t==null?void 0:t.with($.DocSelectionRenderService);i==null||i.focus()}))}};Ro=Ef([Rt(0,a.Inject(a.Injector)),Rt(1,a.Inject(_.ComponentManager)),Rt(2,_.ILayoutService),Rt(3,a.ICommandService),Rt(4,_.IShortcutService),Rt(5,_.IMenuManagerService),Rt(6,_.IUIPartsService),Rt(7,a.IConfigService)],Ro);var wf=Object.getOwnPropertyDescriptor,Tf=(n,o,e,t)=>{for(var i=t>1?void 0:t?wf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},fs=(n,o)=>(e,t)=>o(e,t,n);let Mo=class extends a.Disposable{constructor(o,e,t,i){super();w(this,"_disposableCollection",new a.DisposableCollection);w(this,"_initialize",()=>{const o=this._disposableCollection;this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{o.dispose(),this._selectionRenderService.getSelectionControls().forEach(t=>{o.add(a.toDisposable(t.selectionMoveEnd$.subscribe(i=>{if(!i)return;const r=t.model.getRange(),s={startRow:r.startRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn,rangeType:r.rangeType},l={startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn,rangeType:r.rangeType};if(s.startRow===l.startRow&&s.startColumn===l.startColumn||l.startRow<0||l.startColumn<0)return;const c={fromRange:s,toRange:l};this._commandService.executeCommand(m.MoveRangeCommand.id,c)})))})}))});this._context=o,this._selectionRenderService=e,this._selectionManagerService=t,this._commandService=i,this._initialize()}dispose(){var o;super.dispose(),(o=this._disposableCollection)==null||o.dispose()}};Mo=Tf([fs(1,a.Inject(ye)),fs(2,a.Inject(m.SheetsSelectionsService)),fs(3,a.Inject(a.ICommandService))],Mo);var yf=Object.getOwnPropertyDescriptor,Rf=(n,o,e,t)=>{for(var i=t>1?void 0:t?yf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Mf=(n,o)=>(e,t)=>o(e,t,n);let Xn=class extends a.Disposable{constructor(n){super(),this._sheetPermissionInitController=n,this._initPermission()}_initPermission(){this._sheetPermissionInitController.initPermission()}};Xn=Rf([Mf(0,a.Inject(m.SheetPermissionInitController))],Xn);var Pf=Object.getOwnPropertyDescriptor,Of=(n,o,e,t)=>{for(var i=t>1?void 0:t?Pf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ht=(n,o)=>(e,t)=>o(e,t,n);let Po=class extends a.RxDisposable{constructor(o,e,t,i,r,s,l,c,d,u){super();w(this,"disposableCollection",new a.DisposableCollection);this._context=o,this._univerInstanceService=e,this._permissionService=t,this._selectionManagerService=i,this._rangeProtectionRuleModel=r,this._headerMoveRenderController=s,this._selectionRenderService=l,this._headerFreezeRenderController=c,this._rangeProtectionCache=d,this._headerResizeRenderController=u,this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){const o=this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK;this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(o,{handler:(e,t)=>{const i=m.getSheetCommandTarget(this._univerInstanceService);if(!i)return!1;const{unitId:r,subUnitId:s}=i;if(!this._permissionService.composePermission([new m.WorkbookEditablePermission(r).id,new m.WorksheetEditPermission(r,s).id]).every(c=>c.value))return!1;if(!t)return!0;if(t.rangeType!==a.RANGE_TYPE.ROW&&t.rangeType!==a.RANGE_TYPE.COLUMN)return e;if(t.rangeType===a.RANGE_TYPE.ROW){for(let c=t.startRow;c<=t.endRow;c++)if(this._rangeProtectionCache.getRowPermissionInfo(r,s,c,[re.Edit])===!1)return!1}else for(let c=t.startColumn;c<=t.endColumn;c++)if(this._rangeProtectionCache.getColPermissionInfo(r,s,c,[re.Edit])===!1)return!1;return!0}}))}_initHeaderResizePermissionInterceptor(){this._headerResizeRenderController&&this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(o,e)=>{var s,l,c,d;const t=m.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{unitId:i,subUnitId:r}=t;if(e.row){if(((l=(s=this._permissionService.getPermissionPoint(new m.WorksheetSetRowStylePermission(i,r).id))==null?void 0:s.value)!=null?l:!1)===!1)return!1}else if(e.col&&((d=(c=this._permissionService.getPermissionPoint(new m.WorksheetSetColumnStylePermission(i,r).id))==null?void 0:c.value)!=null?d:!1)===!1)return!1;return!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(o,e)=>{var f,v,p;const t=m.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:i,unitId:r,subUnitId:s}=t;if(!this._permissionService.composePermission([new m.WorkbookEditablePermission(r).id,new m.WorksheetEditPermission(r,s).id,new m.WorksheetSetCellValuePermission(r,s).id,new m.WorksheetSetCellStylePermission(r,s).id]).every(C=>C.value))return!1;const c=(f=this._selectionManagerService.getCurrentSelections())==null?void 0:f.map(C=>C.range),d=c==null?void 0:c.find(C=>{const b=mi(e.x,e.y,e.scene,e.skeleton),E=e.skeleton.getCellWithCoordByIndex(C.endRow,C.endColumn),R=Math.abs(E.endX-b.x),P=Math.abs(E.endY-b.y);return R<=5&&P<=5});if(!d)return!0;const{startRow:u,endRow:h,startColumn:g,endColumn:S}=d;for(let C=u;C<=h;C++)for(let b=g;b<=S;b++){const E=(p=(v=i.getCell(C,b))==null?void 0:v.selectionProtection)==null?void 0:p[0];if((E==null?void 0:E[re.Edit])===!1||(E==null?void 0:E[re.View])===!1)return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(o,e)=>{var g;const t=m.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:i,unitId:r,subUnitId:s}=t;if(!this._permissionService.composePermission([new m.WorkbookEditablePermission(r).id,new m.WorksheetEditPermission(r,s).id]).every(S=>S.value))return!1;const c=(g=this._selectionManagerService.getCurrentSelections())==null?void 0:g.map(S=>S.range),d=this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((S,f)=>[...S,...f.ranges],[]),u=c==null?void 0:c.filter(S=>d.some(f=>a.Rectangle.intersects(f,S)));return!(u==null?void 0:u.some(S=>{var b,E;const{startRow:f,startColumn:v,endRow:p,endColumn:C}=S;for(let R=f;R<=p;R++)for(let P=v;P<=C;P++){const M=(E=(b=i.getCell(R,P))==null?void 0:b.selectionProtection)==null?void 0:E[0];if((M==null?void 0:M[re.Edit])===!1)return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(o,e)=>{var s,l;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return!(t==null?void 0:t.getActiveSheet())||!t?!1:(l=(s=this._permissionService.getPermissionPoint(new m.WorkbookEditablePermission(t.getUnitId()).id))==null?void 0:s.value)!=null?l:!1}}))}};Po=Of([ht(1,a.IUniverInstanceService),ht(2,a.IPermissionService),ht(3,a.Inject(m.SheetsSelectionsService)),ht(4,a.Inject(m.RangeProtectionRuleModel)),ht(5,a.Inject(T.HeaderMoveRenderController)),ht(6,ye),ht(7,a.Inject(T.HeaderFreezeRenderController)),ht(8,a.Inject(m.RangeProtectionCache)),ht(9,a.Optional(T.HeaderResizeRenderController))],Po);var Af=Object.getOwnPropertyDescriptor,Df=(n,o,e,t)=>{for(var i=t>1?void 0:t?Af(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Ni=(n,o)=>(e,t)=>o(e,t,n);const kf="SHEET_PERMISSION_PASTE_PLUGIN";let Yn=class extends a.Disposable{constructor(o,e,t,i,r){super();w(this,"disposableCollection",new a.DisposableCollection);this._univerInstanceService=o,this._selectionManagerService=e,this._localService=t,this._sheetClipboardService=i,this._sheetPermissionCheckController=r,this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:kf,onBeforePaste:o=>{var g,S,f;const[e]=vt([o.range]).ranges,t=(g=this._selectionManagerService.getCurrentLastSelection())==null?void 0:g.range;if(!t)return!1;const i={startRow:t.startRow+e.startRow,endRow:t.startRow+e.endRow,startColumn:t.startColumn+e.startColumn,endColumn:t.startColumn+e.endColumn},s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getActiveSheet();if(!s)return!1;const{startRow:l,endRow:c,startColumn:d,endColumn:u}=i;let h=!0;for(let v=l;v<=c;v++)for(let p=d;p<=u;p++){const C=(f=(S=s.getCell(v,p))==null?void 0:S.selectionProtection)==null?void 0:f[0];if((C==null?void 0:C[re.Edit])===!1){h=!1;break}}return h||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localService.t("permission.dialog.pasteErr")),h}}))}};Yn=Df([Ni(0,a.IUniverInstanceService),Ni(1,a.Inject(m.SheetsSelectionsService)),Ni(2,a.Inject(a.LocaleService)),Ni(3,a.Inject(We)),Ni(4,a.Inject(m.SheetPermissionCheckController))],Yn);var Nf=Object.getOwnPropertyDescriptor,Hf=(n,o,e,t)=>{for(var i=t>1?void 0:t?Nf(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Oo=(n,o)=>(e,t)=>o(e,t,n);let Ao=class extends a.RxDisposable{constructor(o,e,t,i,r){super();w(this,"disposableCollection",new a.DisposableCollection);this._context=o,this._univerInstanceService=e,this._permissionService=t,this._statusBarController=i,this._rangeProtectionCache=r,this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(o,e)=>{var c;const t=m.getSheetCommandTarget(this._univerInstanceService);if(!t)return o!=null?o:[];const{worksheet:i,unitId:r,subUnitId:s}=t;return((c=this._permissionService.getPermissionPoint(new m.WorksheetViewPermission(r,s).id))==null?void 0:c.value)===!1?e.forEach(d=>{const u=d.getArrayValue();u.forEach((h,g)=>{h.forEach((S,f)=>{u[g][f]=J.NullValueObject.create()})})}):e.forEach(d=>{const u=d.getArrayValue(),h=d.getCurrentRow(),g=d.getCurrentColumn();u.forEach((S,f)=>{S.forEach((v,p)=>{var E;if(((E=i.getCellRaw(f+h,p+g))==null?void 0:E.v)===void 0)return;const b=this._rangeProtectionCache.getCellInfo(r,s,f+h,p+g);(b==null?void 0:b[re.View])===!1&&(u[f][p]=J.NullValueObject.create())})})}),e}}))}};Ao=Hf([Oo(1,a.IUniverInstanceService),Oo(2,a.IPermissionService),Oo(3,a.Inject(T.StatusBarController)),Oo(4,a.Inject(m.RangeProtectionCache))],Ao);const Uc=(n,o,e,t,i)=>{const r=n.get(a.LocaleService),s=n.get(m.WorksheetProtectionRuleModel),l=n.get(m.RangeProtectionRuleModel);let c="";if(o.length===0)c=r.t("permission.panel.emptyRangeError");else if(o.length>1){let d=!1;for(let u=0;u<o.length;u++){for(let h=u+1;h<o.length;h++)if(a.Rectangle.intersects(o[u],o[h])){d=!0;break}if(d)break}d&&(c=r.t("permission.panel.rangeOverlapError"))}if(!c){if(s.getRule(t,i)&&!e)return c=r.t("permission.panel.rangeOverlapOverPermissionError"),c;const u=l.getSubunitRuleList(t,i).filter(g=>g.permissionId!==e).find(g=>g.ranges.some(S=>o.some(f=>a.Rectangle.intersects(S,f))));u!=null&&u.ranges.find(g=>o.some(S=>a.Rectangle.intersects(g,S)))&&(c=r.t("permission.panel.rangeOverlapOverPermissionError"))}return c===""?void 0:c},Vf=(n,o)=>{if(n.length!==1)return!1;const e=n[0],t=o.getRowCount(),i=o.getColumnCount(),{startRow:r,endRow:s,startColumn:l,endColumn:c}=e;return r===0&&l===0&&s===t-1&&c===i-1},Wf=(n,o)=>{var c,d;const e=n.get(a.IUniverInstanceService),t=n.get(m.SheetsSelectionsService),i=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),r=i.getActiveSheet();let s=m.UnitObject.SelectRange,l=(d=(c=t.getCurrentSelections())==null?void 0:c.map(u=>u.range))!=null?d:[];return o&&(s=m.UnitObject.Worksheet,l=[{startRow:0,startColumn:0,endRow:r.getRowCount()-1,endColumn:r.getColumnCount()-1,rangeType:a.RANGE_TYPE.ALL}]),{unitId:i.getUnitId(),subUnitId:r.getSheetId(),permissionId:"",unitType:s,description:"",id:"",ranges:l,editState:m.EditStateEnum.OnlyMe,viewState:m.ViewStateEnum.OthersCanView}},Lf=(n,o)=>{const i=n.get(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),{unitType:r}=o;return r===m.UnitObject.Worksheet?{...o,ranges:[{startRow:0,startColumn:0,endRow:i.getRowCount()-1,endColumn:i.getColumnCount()-1,rangeType:a.RANGE_TYPE.ALL}]}:o},xf=n=>{const{viewState:o,editState:e,permissionId:t,ranges:i,rangesErrMsg:r,desc:s,oldRule:l,id:c}=n,d=_.useDependency(xt),u=_.useDependency(_.ISidebarService),h=_.useDependency(a.IAuthzIoService),g=_.useDependency(a.LocaleService),S=_.useDependency(a.ICommandService),f=_.useDependency(bt),p=_.useDependency(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),C=p==null?void 0:p.getActiveSheet();if(!p||!C)return null;const b=p.getUnitId(),E=C.getSheetId();return I.jsxs("div",{className:"univer-mt-auto univer-flex univer-flex-row-reverse univer-gap-2 univer-py-5",children:[I.jsx(F.Button,{variant:"primary",onClick:async()=>{if(r)return;const R={unitId:b,subUnitId:E,permissionId:t,id:c,viewState:o,editState:e,unitType:m.UnitObject.SelectRange,ranges:i,description:s};Vf(i,C)&&(R.unitType=m.UnitObject.Worksheet,R.ranges=[]);let M=f.selectUserList;R.editState===m.EditStateEnum.OnlyMe&&(M=[],f.setSelectUserList([]));const A={read:R.viewState===m.ViewStateEnum.OthersCanView?Ge.AllCollaborator:Ge.SomeCollaborator,edit:R.editState===m.EditStateEnum.DesignedUserCanEdit?Ge.SomeCollaborator:Ge.OneSelf};if(R.editState===m.EditStateEnum.DesignedUserCanEdit&&M.length===0&&(M=[],A.edit=Ge.OneSelf),R.permissionId){const k=yu(M.filter(W=>W.role===Le.Editor),f.oldCollaboratorList.filter(W=>W.role===Le.Editor)),N=(l==null?void 0:l.viewState)===R.viewState,H=(l==null?void 0:l.editState)===R.editState,V=R.unitType===(l==null?void 0:l.unitType)&&R.description===l.description&&R.ranges===l.ranges,L=!k||!N||!H;if(V&&L)await h.update({objectType:R.unitType,objectID:R.permissionId,unitID:R.unitId,share:void 0,name:"",strategies:[],scope:A,collaborators:{collaborators:M}});else{let W=R.permissionId;L&&(R.unitType===m.UnitObject.Worksheet?W=await h.create({worksheetObject:{collaborators:M,unitID:R.unitId,name:"",strategies:[{role:Le.Editor,action:re.Edit},{role:Le.Reader,action:re.View}],scope:A},objectType:m.UnitObject.Worksheet}):W=await h.create({selectRangeObject:{collaborators:M,unitID:R.unitId,name:"",scope:A},objectType:m.UnitObject.SelectRange})),S.executeCommand(m.SetProtectionCommand.id,{rule:{...R,permissionId:W},oldRule:l})}}else if(R.unitType===m.UnitObject.Worksheet){const k=await h.create({worksheetObject:{collaborators:M,unitID:R.unitId,name:"",strategies:[{role:Le.Editor,action:re.Edit},{role:Le.Reader,action:re.View}],scope:A},objectType:m.UnitObject.Worksheet}),{ranges:N=[],...H}=R;H.permissionId=k,S.executeCommand(m.AddWorksheetProtectionCommand.id,{rule:H,unitId:R.unitId})}else if(R.unitType===m.UnitObject.SelectRange){const k=await h.create({selectRangeObject:{collaborators:M,unitID:R.unitId,name:"",scope:A},objectType:m.UnitObject.SelectRange});S.executeCommand(m.AddRangeProtectionCommand.id,{rule:R,permissionId:k})}const D={header:{title:`${g.t("permission.panel.title")}`},children:{label:oi,showDetail:!1},width:330};u.open(D)},children:g.t("permission.button.confirm")}),I.jsx(F.Button,{onClick:()=>{d.reset(),f.reset(),u.close()},children:g.t("permission.button.cancel")})]})},Uf=n=>{const{ranges:o,onRangesChange:e,desc:t,onDescChange:i,rangesErrMsg:r,permissionId:s}=n,l=_.useDependency(_.ComponentManager),c=x.useMemo(()=>l.get(Jo),[]),d=_.useDependency(a.IUniverInstanceService),u=_.useDependency(a.LocaleService),h=_.useDependency(a.Injector),g=d.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),S=g==null?void 0:g.getActiveSheet();if(!g||!S)return null;const f=g.getUnitId(),v=S.getSheetId(),p=C=>{const b=C.split(",").map(J.deserializeRangeWithSheet).map(k=>k.range);if(b.some(k=>!a.isValidRange(k)||k.endColumn<k.startColumn||k.endRow<k.startRow))return;const E=d.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),R=E==null?void 0:E.getActiveSheet();if(!E||!R)return;const P=E.getUnitId(),M=R.getSheetId(),A=b.map(k=>{const N=R.getRowCount(),H=R.getColumnCount();return m.setEndForRange(k,N,H),k}),D=Uc(h,A,s,P,M);e(A,D)};return I.jsxs(I.Fragment,{children:[I.jsx(F.FormLayout,{className:"univer-font-medium",label:u.t("permission.panel.protectedRange"),error:r,children:c&&I.jsx(c,{unitId:f,subUnitId:v,initialValue:o==null?void 0:o.map(C=>J.serializeRange(C)).join(","),onChange:(C,b)=>p(b)})}),I.jsx(F.FormLayout,{className:"univer-font-medium",label:u.t("permission.panel.permissionDirection"),children:I.jsx(F.Input,{value:t,onChange:C=>i(C),placeholder:u.t("permission.panel.permissionDirectionPlaceholder")})})]})},Bc="data:image/png;base64,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",Bf=n=>{const{editState:o,onEditStateChange:e,viewState:t,onViewStateChange:i,permissionId:r}=n,s=_.useDependency(a.LocaleService),l=_.useDependency(_.IDialogService),c=_.useDependency(a.IAuthzIoService),d=_.useDependency(bt),u=_.useDependency(a.UserManagerService),h=_.useDependency(a.IUniverInstanceService),g=_.useObservable(d.selectUserList$,d.selectUserList),S=h.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),f=S==null?void 0:S.getActiveSheet();if(!S||!f)return null;const v=S.getUnitId(),p=async()=>{const C=await c.listCollaborators({objectID:v,unitID:v}),b=u.getCurrentUser();d.setCanEditUserList(C.filter(E=>{var R;return((R=E.subject)==null?void 0:R.userID)!==b.userID})),l.open({id:qi,title:{title:""},children:{label:la},width:280,destroyOnClose:!0,closable:!1,onClose:()=>l.close(qi),className:"sheet-permission-user-dialog"})};return x.useEffect(()=>{r?(async()=>{const E=(await c.listCollaborators({objectID:r,unitID:v})).filter(R=>R.role===Le.Editor);E.length>0&&e(m.EditStateEnum.DesignedUserCanEdit),d.setSelectUserList(E),d.setOldCollaboratorList(E)})():(d.setSelectUserList([]),d.setOldCollaboratorList([]))},[]),I.jsxs(I.Fragment,{children:[I.jsx(F.FormLayout,{className:"univer-font-medium",label:s.t("permission.panel.editPermission"),children:I.jsxs(F.RadioGroup,{value:o,onChange:C=>e(C),className:"univer-flex univer-flex-col",children:[I.jsx(F.Radio,{value:m.EditStateEnum.OnlyMe,children:I.jsx("span",{children:s.t("permission.panel.onlyICanEdit")})}),I.jsx(F.Radio,{value:m.EditStateEnum.DesignedUserCanEdit,children:I.jsx("span",{children:s.t("permission.panel.designedUserCanEdit")})})]})}),o===m.EditStateEnum.DesignedUserCanEdit&&I.jsxs("div",{className:F.clsx("univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-overflow-y-auto univer-rounded-lg univer-p-3",F.borderClassName),children:[I.jsxs("div",{className:"univer-flex univer-items-center univer-justify-between univer-text-sm",children:[I.jsx("span",{children:s.t("permission.panel.designedPerson")}),I.jsx("span",{className:"univer-cursor-pointer univer-text-primary-600",onClick:p,children:s.t("permission.panel.addPerson")})]}),I.jsx("div",{className:"univer-my-2 univer-h-px univer-bg-gray-200"}),I.jsx("div",{className:"univer-flex-1",children:(g==null?void 0:g.length)>0?g.map(C=>{var b,E,R;return I.jsxs("div",{className:"univer-mb-3 univer-flex univer-h-7 univer-items-center univer-leading-7 last:univer-mb-0",children:[I.jsx(F.Avatar,{size:24,src:(b=C.subject)==null?void 0:b.avatar}),I.jsx("span",{className:"univer-ml-1.5 univer-w-[130px] univer-truncate univer-text-gray-900 dark:!univer-text-white",children:(E=C.subject)==null?void 0:E.name}),I.jsx(F.Select,{className:"!univer-w-[90px] univer-min-w-0 univer-cursor-pointer",borderless:!0,value:"edit",options:[{label:`${s.t("permission.panel.canEdit")}`,value:"edit"},{label:`${s.t("permission.panel.delete")}`,value:"delete"}],onChange:P=>{P==="delete"&&d.setSelectUserList(g.filter(M=>{var A,D;return((A=M.subject)==null?void 0:A.userID)!==((D=C.subject)==null?void 0:D.userID)}))}})]},(R=C.subject)==null?void 0:R.userID)}):I.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col univer-items-center univer-justify-center",children:[I.jsx("img",{width:240,height:120,src:Bc,alt:""}),I.jsx("p",{className:"univer-w-60 univer-break-words univer-text-sm univer-text-gray-400",children:s.t("permission.dialog.userEmpty")})]})})]}),I.jsx(F.FormLayout,{className:"univer-font-medium",label:s.t("permission.panel.viewPermission"),children:I.jsxs(F.RadioGroup,{value:t,onChange:C=>i(C),className:"univer-flex univer-flex-col last:univer-mb-0",children:[I.jsx(F.Radio,{value:m.ViewStateEnum.OthersCanView,children:I.jsx("span",{children:s.t("permission.panel.othersCanView")})}),I.jsx(F.Radio,{value:m.ViewStateEnum.NoOneElseCanView,children:I.jsx("span",{children:s.t("permission.panel.noOneElseCanView")})})]})})]})},Ff=n=>{var E,R;const{fromSheetBar:o,rule:e,oldRule:t}=n,i=_.useDependency(a.Injector),r=_.useDependency(_.ComponentManager),s=e?Lf(i,e):Wf(i,o),[l,c]=x.useState(s.ranges),[d,u]=x.useState(()=>Uc(i,s.ranges,s.permissionId,s.unitId,s.subUnitId)),[h,g]=x.useState(s.description),[S,f]=x.useState((E=s.editState)!=null?E:m.EditStateEnum.OnlyMe),[v,p]=x.useState((R=s.viewState)!=null?R:m.ViewStateEnum.OthersCanView),C=r.get(ri),b=C!=null?C:Bf;return x.useEffect(()=>{const P=i.get(a.IUniverInstanceService),M=i.get(_.ISidebarService),A=P.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET);if(!A)return;const D=A.getActiveSheet().getSheetId(),k=A.activeSheet$.subscribe(N=>{(N==null?void 0:N.getSheetId())!==D&&M.close()});return()=>{k.unsubscribe()}},[]),I.jsxs("div",{className:"univer-mt-4 univer-flex univer-h-[calc(100%-16px)] univer-flex-col",children:[I.jsx(Uf,{permissionId:s.permissionId,ranges:l,onRangesChange:(P,M)=>{c(P),u(M)},rangesErrMsg:d,desc:h,onDescChange:P=>g(P)}),I.jsx(b,{editState:S,onEditStateChange:P=>f(P),viewState:v,onViewStateChange:P=>p(P),permissionId:s.permissionId}),I.jsx(xf,{permissionId:s.permissionId,id:s.id,ranges:l,rangesErrMsg:d,desc:h,viewState:v,editState:S,oldRule:t})]})},zf="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADxCAYAAAATKWQfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAAA8QAAAAAQiyznAABAAElEQVR4Aey9e6wnyXXf192/1/397p2ZO7s73If3MWuRSy4pC0uL1oOSrF0lsgXZECVZDBDJiZZ2RMaURIsEKUpKAA9hWLRNmaTWsQ0SCCgFDmBTgCkGQYAgf2gUx69YiUcBKFGm5B1Jq10ud3fe9/V7dOf7OVWnb/363jucfc2dR9XM/VXVOadOVZ/urm+fqurqosghWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFqgzJbIFsgWuH4WePrpZv3CtHj8wmZx5om3l2evX825pmyBbIEbzQIZgG+0M5Lbc8tZANDdqYonq7J4V9MUj128Uqxf3CgK3XxnlT/TlMUXddBn/sK3lGduuYPPB5QtkC1woAUyAB9omszIFnjlFuiA7uOpJgFwAQB3g27GCwLk00VT/GbRK858758rT3dlcj5bIFvg1rFABuBb51zmIzlkCzz9XHNyZ1r8YPR0Hz+oOQcBcFfeAFmesQFyVZzOgNy1UM5nC9zcFsgAfHOfv9z6Q7YAoDufFz8uz/Vx/q6lOdcKwAfoOq2xa4aqv9jv2zzyhQPkMjlbIFvgBrdABuAb/ATl5t14FvjKHzePq1XfXdfFk4pP6u9lhVcJwN26zgiQT5dl8Zu9XnFaC7syIHctlPPZAjeoBTIA36AnJjfrxrIAoNvUWkRVFD+olp18Na17jQG425QzuqnPFFXxRQFyXmndtU7OZwvcQBbIAHwDnYzclBvLAgnoPqmWrb9WrXudAXipmbrBz4pwui60sCuvtF6yTc5kCxy2BTIAH/YZyPXfMBZg5fK8XzwWPd0n1bDXDHTTg7yeAJzWSxpA5tUnFnY1WtiVX33qWijnswWunwUyAF8/W+eabkALtKDb2EIqhpdfF9BND/0wAThtB2l1ABc0rH6mqPUucn71qWuenM8WeF0tkAH4dTVvVn4jWgDQnfVsLpfVy4+pja876KZ2uJEAOG1Xkg7vIstDziutE6vkZLbAa2yBDMCvsUGzuhvTAp2NMa476KZWuQkAOG0uaXv1Ka+07pol57MFXp0FMgC/Ovvl0jewBTqg+/iN0tSbEIC7pktffcorrbvWyflsgWu0QAbgazTUyxH78Ce+urrWHw22NbTZG6w02/V8tT8vyqqvpS8KU/2Nm3o2raYbvWZlNttZ2/ylj5T7bE74cmrNsljgWnejOkxr3QIA3DWfvfrESuvBwN5FPtsVyPmbxwKnPtesbG9dHKct/rvvXz+f5nP6tbFABuBXacf3fqYZrE83T5RNc6KommNV06wvmnKolbQGtmVVlJ7We5nFYhEqJF03rIEpCvhV2czrsrwg8Qs7i9nF/nznhV/6yD0ZlK/h/LyS3aiuQe3rJnILAvCSrXRR549MLFnkxs6c+tz59dlW9Zamrk6WRXmP+rHjhV4kVw8VG14VlbL6aMhXm6a5oP7tyysrk6dPvSdv+vJqz2wG4FdgQUD3zunlb5jPihNC2buqfl92FLJGcK2qXrNoFhV5AXCj1aUVIGugO+81VX9RAsQ9CBIiXTZFowu8dJAGuMuy2lgsmj8ZVM1zH//AkRdeQVNv2SKvdjeqwzTMrQ7AXdvq5sgfmega5QbI/3f/w/mH6t7gz6vbOdk0daM5/oAH4C74q6BFihEj6JBq55fiN2VTnhUwn/nb/+3abwfp/PtyLRCN+3KL3Z7yv/CZjXsX24tvaOreXQFthazVotSWhMLhXlErXcmNBYDnxbzoy0zKGtiWco3dalUtEK50uUumlkAt+WIhebxi5QFiZA28Y6HFot7qV8MvLaYXX7pdPeNkY4wflFlORtPcdNHtBsDdE6SLO7z6xFef8kcmuuZ53fMf/czWg+V8+l1Vr/cgTm6jXqpS/4UPQFodkABWCNvQe1VtvxXAOKCzhvVMplbn16uKi01/7Z//4k+Uz7/ujb/FKrCO/hY7ptf0cFpvt+796WaxGLhyvNdFHE/W129KDSebp1sJjC0tQegu73FV9QXY8/ai1nVezsUErIkJ6Ch6uicWTV1LvqoXpgcHG5951iz+qLfY/t3bAYgT0H1Sh35dXxdSfa9LuN0B+ACj2kpr8fJHJg4w0GtB/u//yeXvWdTNO9S9aJRO/ZM6G9xdwBb9FWPNkCzUchMCAEPSKJ0Amf5N9Er04HlYOQb5FvP6//r4B47+y1g4R9dggT0AcQ1lbhuRn/vUhT/dFIM3z+rFoC/AnQtw8VLnQkLAlYdEN4auxXgB94SaATDhOQi7NwtmO2A7r9UhEO/SWp6A2oDZIHhh88dq0x/Np5e/fCsBcbsxRth3+Ukd/y0Bun4eiTMAp9Y4MN2utP6n/0dx5ld+vjx7oGRmfF0LPPW/NaPnz279gID2QXmy7XCzpsbKsidsXajvCfO8Ws4S+B4DtAxJV3J1BbJ4xQbE5j3bsHQYrwbEe73q+bVy9V/83PvKi1+3UVlgr4eWbVIUH/3MuWPF9srbNP96pwMnF6oPN5vXKiANQ8aA8O5Q9F6ePVQKlBl2DvZOARp7M2RNDN3B2eeCoROg0xYH8EBVmabXDAb93/v4T4++7LSbLW5B9zruRnWYNsoA/Iqsnz8y8YrMFgr9wj+88qNKnSDXTnHJmy1Z/rk7t2s8LbnShDB9lYbicDSCCvvV6J5mz9TtuDe8CE6zyZvnXAuoexf6Ryb//NRfLS8lRXNyHwtkD7hjlI/88sU3NYvyLVoOpctproVSfQPGMPgbhAFjX3Eltp4KGRiWBOPICk30gEsWY+EuC6DhOT2A8aKMnjRD1mUEc/Oq4UurXfc2n2yeN3XI8z3I066qzcl49V+del+5SRtu9ADoHuZuVIdpnwzAr976ugHPCgTOqOP/orSdyXtaH2zTj/6jS98pHGWPc83vMr0lh8FH6ZSmXyr1IK/loO2IHdpsXlhebQDjXf14yjjFafAFXAAzHVdT9b72i+8f/9NUJqf3WiADcLTJez/z7GR9Z/Wb6kVxJyS9tKsRlbmGWri0epr2mEdbBUAeDMJQs5YtmPdqcirX6EL2i9FB2i786OWG6jTeo5uh10fvoqeLOeiIMg7wALOeNhsD8sVCT54BmHUDyKPmIaBX45UHneF3Z6f4vV/+6NHfS2k3ShrQ3amKJ3VM75LVDnU3qsO0SQbg1976ugkMkHUn5Y9MJOb92X986c29uvc9tbzZ8KaF7j4F92oBzFL7E9QLzes2lfzhWv80v6u8q9G8sPqbuAI6BW85Fk0ZwBvZkGYNl17oKHtKLP7D3/mpI/+n68nxXgssdd572bcH5aefeunoaDH8s5pknWgxsrxVrkiBb5zjDQDKOoUwDOwxS6d0OWuVs+2yEflzXcS8liT4FR0P2vhCaMA6ADqrGPqhXJS1p9CkPsoD0FKhBQ+LqLsX45BHBu86DE0D0AGstXDrP10eDb/y2feVsyBzeL8d0H388Fpy49ScAfj1Pxe6AW+7j0yc+nwznH1t+15h4rAYBRvP5rNv1qDwGv0UK5dZVGWgqzygDBT7K5BaHSoMxhkI2Eve0hp8EwJbGs5uOdFEQB+1AeBWVGq1QkvrvHqNpo2/8Hf+xuRP4Oew1wJmuL3k24cSwLf3LbqGBgz3Mg/rABvy8mctCAl1rdZ137xVAJph5eC9MvYc+IgC4gSAHDplwvxvYKDfBPQTPG3ygHhYhMU8L3RuGlZUEyNvdN1dXhZAZ65Y94bAHc9bbY8euG6SS0fGl3/r1Pvuu+5D0jfDblRuw8OIMwAfhtWtztN4yAKJW+YjE4Du9IWNtwoV71ZfcS9HyQhcmNcN01YALGs/4TGKpqFmebsALQTWL9O/2MLOsBeBebbSIcBmVTSvGgVIVgcl/1iAq75GvVISAlgLeOUtx7Rhddmrnv34+1f/l0Q0JxMLLBkxod8WScB30Iz+nC7TAUCny1SrD7iGwqIo8l1DOEgfFOMVg7vzCMIO1Hr9qJlNGcbuC5gDE/AGmAFk0g7YyCykAB6gHB4IwpA47QmeOV46/HngRw97t73yzqt688L5y//us6defxC+2Xaj2rXT9U9lAL7+Nj+gxtOCnjMCrN/Ug+zpJ95+c+3s9AufvvJN6j3eokf8EUO+AlKtJ2EhpxwJgbDleXjXvBpAi6fKA7sNL/fU1ZkjQCeiUTy5qqLj3rKISg/+GmUTXatXtOIq6IwgHb3enoE2QK761IdpPwQ83tbQNZsPWf9Vb2z/r3//oyeebVk50VrgtgVgwHcs8NW7cP1KICYv1Wzhrxm1FooJgWEDJg4HillXpSDQtIvQATsspNKFKC+0Mk9VFy8XpoO6AB1ZL48MICtfWUPNeioVSKNX7bG24EmbV2yet546xVJzGTdSobnkeYoNXja03bTT+tx9W5OVy//u9fCEb+bdqIK9Duc3A/Dh2P0aar0pVlqz13x/svZdclqP2wIp6xHkfao/ERD7ELOmYkP/xDSVyTGEZkEwCVLSHwHagLQIQkyb/6VPqucL7dgnkAWUBc5hCFp9HjqF1bvltFTLQJ36GaYmRIJSejFJzaiv9MvmWQ3K/c7Hf+r+l0wk/5gFosFuL2t88JPNuOhffkdVVyscOYDnw8TBKw2eKunADx5qAEbALQma9TDvOSEFsA5gSzoAteqxC52bwC/QEAPYbXHdFDw5anhbC6wYEg83Uasjeuf2ylKSDuX3n7teFOWlzd898n9/9rOvfk442Rjjpt6NqrX3ISQyAB+C0V9Zle1HJlT8hlhpDfiWw/F396pqNfQk2p+AVcz2IB97ltjFaN8A80DJ2nSWpqrcDN4DafsMgTZ9DMGA2gC8O/QnL1gP/KGfQi/ecKjNCrZesgay2807kJFqlWPTD3Vn5i1Xzw2rzX916iffcCWUvL1/2xNyu5jhve/9rcGRtz3yrUJcA19NiPAiug23lI2Gecu5rpfgDctT1dXExcaQMUO6Aai1k1Vp07ut98nK6DCcjB3TNPm5XOd+r1+hL5SDuhsAV4CaetwTh9v1xslPZ+GVJbxo87h1UbsmvSTM/lkMaxtwu2duN0vd/9onPrj6/7rsy4m/9rXmsQtbxY+roidV7pbbGOPl2OK1kM0A/FpY8frrUEdwVsO4Z3QPf3F9Upx++6PXd3OQU59pJlvTje9qmmqVezoMIYdRsjjce2B/bh5wNFkEXw1KS4v6kdDHqd+yPiiCuN69YLmW0LkEaj1QpmYO2d7IsIx51wLxFripi6HpNHa8BrxreepaYHrmF9+/9v+53ts1PvCE3aoG4T1fvbf7IGCnFX/CXoMnXRUCMt1Z+iiRPfxxAWGD9MIlj7fbE/AGuhZOCbShmz4Da3Rw8QUvOoB2AMS+9IdtKIMXLaDcY3/AO+gT3scbwoax9W4w4M3NsjuEzQOmVLYAbuAfwTyko65wk5X9r3ziAyt/4LRriZ8735zUk+tvqOM5yWjUTM8ixD7HfS06ssyyBTIAL9vjZsmtDItiRauL1/ShPg27nhnMiycefvj6zRv/3FMbb583C/VdIdB/2MM+oKY+x4BUT+XqLxoDuqR/Ye8qgHRgo2os5Aw9H/ircjZ3q5E43vnVK0h4u/RDeMRh0afP5wbvNzZARmB+GE3wWQwKakfVQuFQp/exsZT1RfSR5aI++/EPHv03Tr8d4z0AcCsb4Wc+tXGvhp3f4qAoKLE5WR/OJfbjB5y5oPWC+sJWGcv71RcWar0zF54cJciFRQCMuaC4wHdpeNFhsZUJxR8JaVokDFvbDWNeNHdB8K5DmV1vm3wAWFZSI4OHG3SHYfN5OZ+HOV8AnoAMXrp78tBUVjT2oV78+0996Ng5aNcSvnqu+Q0dyOPIYhyeDhjIUh22JSdAPFe6nV5CMIerWiAD8FXNc0MxV7T7+4rGyo5MwvWfNk73wacfebD8YEp7vdI/+9Tm/XIxvwn99Bu82hg6m7AvgYNgGCYOPZEmcOVMiKP/bKPbgqeA0/YP8O5JoN16sAJRcxKsKxHAgqK2PmUXkNXXsXDUgJa0HbPqaDQ6hxdNW2hBX1tq0S8aONOf7joXFAmOTr/6g7/7k6v/HsLtGILxbsEj56PSHNaFC7p/ti+Wl44em60str6xWiwmAcTi0yNfMKpGWmC1+xrRXC5m354kbTgX0JLM7jwtoMMFbHO0zHhoYzaXMRCPQJi6iQ7owYMOoA0Y08ZdTxjPWu8fy6teCHi5kBu9J1w3vFscLnS7oC3tIM2NEYAXsA7pcGfpOMNFb+0JvKquty9++ci/vZb54K+db/6mdHxadVvvo2fbAwM8PHOA2L3kA4Vvc0YG4Bv7AsDTHQl4V+XpMs3DAydhv+tfl/0H3/JQ+ekg8fr9fuSpre+q6+mEPkdecKV3KfB0236JmVfrb7jXw+1v/QqAGL1hdS0a3ePdSQWN+OmoAlATBw/X9xkANLUuWmXtS21a52J9kXnFoSy7ZoHs7Y5aLWCrTTPVObCHfXvDwyqMqBw8azWNldrynuGpst/+xN889hWTu81+4qV1cx/1z3zq/Prqymh1Z7o4Xs97a2VvoVsIYItzuUJMvENAVuv6Sq18ZoWgDfEaSPmF1euLzhB0kFV5YEWYZV6neZVBLx5mfPKzp8wR/mBiRDzrIOPbTqYAzo2T0g20DUR9WFybY9lwDsPYpPV+r54gGSbHe3Yvei+AB2CnIbtAHZrl89vk1Lb/9IkPrP9B4Oz/a0PPdfEfdMOsdzseLpqrYLEpdEA2MNa9yrB1DsECGYBvvCuBh0y8XIaYAWC/5gFfT+/XagPnqnj7I/eXZ/bjvxa0n/v4hePTSf/P8qDPV9Lwfnkgt4d5ARvg6Q/h/jAfHrd3p6Ssv5KsgbH6P3+gp5+h66k0YtZtK0629pm3enyUzzYoss2D2ATattq1xVm8Wxw8XD0YyDkJMB/rj7sGWh8ob9rmmg2/A4ArX66tHPnfb5ZtdLt2ejV5t9Or0XEoZQHdwWx8ZzGY3qOLsj+dzXV5amnAQA9dsbMHcAkAqIZVwhQvJ16hN+jXxmf3KHsq1Bd8Tb6vLVy0yYZeNwrliqY/CGbSrlaNNncWeGruWOUFgFz40mjzxnEutk9dagGxnlQ1QjQPe0XraTV43bTPHlTB2ypcyHN9oRCvW0HYFhupppOmHX08cAZtNEPT9DW3MtWVzLBO8Mx5RUrlNXcTh8xrDVdr0qd24G70gCB53Rx6H3kxe0CL0f7os599x4E7Zam2z+mmW98Pab8e+HIQdExDmS2ajrnzXe9Yh5cBGSvlcJgWAHTxcicC3ZE9sofWpICbpvdrK3zdtV/43aebJx59uDy7n8yrpdXj6g31dGadCZ8o7Wmbq7mebGN/YurpB+pqp7dotIc9Q8bqYORiar2WBtS0dUZYTTWv5rr/1b/Rp9gKafo+68cqqAGgFWnJsvg9XqHUy0UCbC28Eqiy6x6edwRrqZVuiaik9usIr26oP1VfpneYmE/WK0uqSzaSQxCn6eT2qgMrsLeKiaeR8l6xtX35MVH+tf5uq3DTAfBHP9McW2ydf0jftDw2rbZ08nTuuegszAR6tpbKhpTl9QKCus0YPl6U06mATDRuvPl8W9do8DQBZwIAFedZeUndLnCRAVS7YJHhutZN1+qHNtuZa3WzLk8DZZt7VX3IhnYBtro4Bdjw4HARG1+6AVHapRZq6Bnwl3esFhr0oScuxgpeM6V11Qq4mcdRUuAMSeCrESZunDg0XnNs0i0DRZCWrNI8z9eD3uDkQw+r2H+kbDcw9Cypx6Fz82Avq0R5bxi8NE3+agEdGjfbBWQeLfSHh8zQNfbIIVvg9bYA1+FYk1Or+sPT7YbU403TXTnyzte1e1LTqp8T6Yn95F4trRlUY/UI6hg0WMtD/GJL4KjFngJX9XeNdeJ6CijjPa/OBjL9lHxVvaakm4yHe0GlMJU7eWT3rqa2mD6z7ScXGtbWntGhv1RnNFdfxb4ETIXZSKLK1eqb7Fiif6vVJ2qCORzloLfSzFh3Ym8e0RhVDwALXCk37GnoXEPg9qAgFnKLUnPUiKpTmtXN+nvf2wyuZWrs1drzRiofDHojteiAtnz4f/rqanF+9WFhX/saDEPEPI1pFwtdaGGDCtJ8xJ7Hq0oeqzDHXhkSkBiGwK+qgS4NDabYQyWLGHSpJkETFGYXVvRNp3ryAx3bAFiT97hlmAeNLG0Kw9cGLK2NedLU/WBgi8fKcDj5NB208VQKEAdw9th56PdaaRrlAXFoyDrP7eM80Q3+JcNQ9uLIhbV/feqUPfh6kSKsem6e5u45CHhb4WtI0Jgl48Yy3kjnAfQcB2B8qwNyHoK+hgvnNRThOtYGOga6gC+bPvkd7yCaVhfu/l0ZeF05rlu/hr2sZF6XRVlagPVtxWymp2taEfoiRriod6D8LOnrerFvAKgZEg6xTaUVckw1ncYDOkCuPlDBe7bFTLe7+qLQbwWHQwOLkvF+bjemjwl6/WGfcsEcPqRtOwBKv4EwFbV9pmUCqCupcUdx6DNVfj778j/48PE/DBK3x6+dhBv9UD/0jzYfkC/5ID20X1i02cdPdW+1wfgRmFtiIhjmKQRU8QKda863Yn/nRAmgzaVhF5OUuAcJMO+C9S6fegLwhts6AHi4YO1ired43tYcu9C4L6SLIW9d8J1zgNw2GiNA20MGN4bJA9qmSD/MZZN3z9npxPCoEyAnH+olFcBaT9Ds9Pr84MrW89BW7jm2VfxhMX//B4qvqHM5yZF4R+Sdj+VF986HuBuoLKV7WeT24yGcyrs+tbcF41sNkDMA+1l+fWNWMAO4a5rbBYQJDrwht//v0jWrcl4mpXdLtrxe8eSb7y9/tct/pfnPf77p/ZtnLr59pP6C0SI9PNjDvbzaSlNjtlaEnpD+DDhOQ7WYBZrI1qdZLOcgjpqhSyrtoVwgWO8IvIN+3ZJiBJ3SyDvBgLatSwlOT1oPafoXwBYwXWiZmCLD7oEG6qaqj6w5RqHPM8dJs3eqW4tJ5QDRW1a9+Uuf/MDx31bytgkBFW7Qw33qqWb0R/X0zaxc1oVRz3SytBCp6OtC2tmZlyO1nhOv08hKP315Q/MO+gqBzirvvDX+dKjhIV2ICnGY08EXknnOGgaR8pILerrY7kHjYtHCBAGzKuHKt8lMDffwnhyq4OuJkTSeNB61LRUU2Nf2aIBpYWsFsxok4Catv/A0yitEw6GGh7SV8y6wq0rVCeDzRDkTE3jmGDVkLpq+oCRgDR6tLlzxFhoe5xUjn1OFh3zwjKlPx8DdoKEiaOiXrA0ilfPpPTuj3t0A9cXzV4r3/OjkPXpIPqlC7RO/dywY0Dsi+AcFM0jK7BBMj/PFS9kpD5sN+dO5hs7xscJ6qj9iHWMO2QJ7LOCvDa0JeLmGCH4Nh9zevNP3k015B6WX9C+KT2s++Ddfq/ng3/kdPYcfGSy0M3MzGGpZh5wD3QPsG09fQL+ifkhrU7QlwWAw1X0y0JjyTEfOjdOoJ5oKAeU4qD8RW51DuI178oAXzYyvns/xhhfysIejAaNuzWI6U184KHqiaRWW3YAsTuVDL5XKaNiZfkSv8er2VZ9Cv0vfB21ez4TDcmrYH0H36Eyiaoataqk05M22l7Nyu9HGRGJo8aoAWetUNMquPntWaUb+9gr0bTdkYNeXjc2NRwQIYwO6OAQThpXx6gRAAkCe2DgALgaGl7kYuBDk4S3II8c1xLVkT3Q64aNRv9kRD4BGB3ILAWJPwzrpUyZDO/zvDamDJzXATTLRYlJrwfQqBX8qXb5oy4EbOsM/Xpe33Qpr7qXqjfSusZ5MdXHWU72va8cQhncCaId6lo498cbDPDcdDsAdPGtAFQ/bPW80WB0aHVDHJEDX8di7wRzbvPgzb5rc85e+Y/jPkEu9X/Jm4JjogjC8FEQRe6Uh1ZWmXZ/TiP3d49lNCMjZA/Yz+trEet/UFlPh6YZ1jOEa7mpPgTJNX00OHrKE9Nrnmo9k43V+zg7r4u0Pv0abdHz4E5e/UXvcqTohqFYv9QTC7kTUVfRyaQAd0mxWCVzbW1LfVSi1e56FoTrCBV6x5OptAWlv0MynM+uX6EcX8nB7gln6Sq3Joi/Vw3rwilFeqyz9bE9TyJWAnjydK/O5dW+mfiUMa9s0HyNscpL0SQbrk+iXrY+OQ+f0gbvD5ZJbhJHAT33o6L8Mrb09fnHTbrgA+G5vbz6qrxaofTptWtpc62LRddPoSU1z9gJCvE+lZ72BhnNnOoE6+cKuRheHrj6N14C4+qdC0iBoKxo9b1U8GzIcw7Cz+m7mKPRJPw3VKpaHKYoAVAumkNFON3o062uH8rA7FkAlmWYAWCpuDdcu4pJXK6L0siystHfu9BTIfM2wWKG6YqZSXOxa5KALX2Boq5bjMLEWieFpVzN5wQPXH04R9dkFrUMDOG3Y3B4eGJKia+CplPnqXjMU0k/nqnPY0xw2bfXhI5aWAb7EeryY68OhQxZr9cvv+7Zh+y6jdzi0l9AeaJsI9CXeLumaU3RgSyr3EIIqa48EXZZYNrQ/VloTbO5YR8WrE4Bz2lkGifx7K1mA0R9WMI/ja0NcI9dyzv3aTmXTsvulkfVyzudSTUNLF0ODXSdnveIL4j+RyrzS9GJebzNpy3DQSHg2lbfZE/g1pfo+veeAe9wbC0DnAsRyyLidhXoxLQfqeayPU5+zM5/KO9aQ8476RrVTC1mLcqxxYPV1FFG3YfdYOdaC5dm0sP195MKqvKTl7I7G2r1KdUgYRfqjzy3UMikTwFK/7kc+B4EXTd+rlTmS16sbygP4aqv1f/Q/vItMv85cc6/PMHoA8ND62+M3dl83zsECvpcvbz4qb1SXAxeFnuY0SlHEpy2GSAZ66gJJdGprnWNdE3o+02I7RUW9A8QJoHky41LRuEavr6c1XXSzwUDFdEFxoUivrdhTqQDi0qOyMojWyUsTdUoHo8kLedN4jZQllLXmOewSDnPSAmwtIpzrg7zcewxdS1KvMfEMANg2dZ/bp8DrruR9a8cYFkGpLvQApmEeRuu1bfh4NFjRiBJz08qrPLFWGGo+S+1QWbm1ap8eBjCCrAQYA/IMndtKQwF7X6sOpVyvUGmWWMGG0/WgIdTXZR8An5uKeZ3/6vvHT+r47rFOhpuLAp2Aki59P1qn2J7s1cqknWJasEv3zs4bxOg+w40MWbMND+2kTLqgq6sj1Z/TN4cFDHTl5fLaUPquLq338+txekR+vTjPrnMJdOmpnoPSrsP1uw6Tjz92jestAn245G+96YHyYy77SuOdXu/KSq9/dD7baWY9fXlQiuhQFvNpORpNFrNaw8zgmd7wKHc0oBuD+iWNvKmr4Y5Xv8FUnP60KZZGCTUubXfK5kw+gPo8gLCa9Xr1UItCdfNofBBYpgz3Ew5JU06tfwJYCdqSV16twBaQlTZ9xtA8bD0Dh/J4Iuq/evS1AthtPRBIGbtjqedCv7xvtT105gM1UrPFt1m4oQD4pzXnu7F58S06MxXDFTqnOsF6tUgnX+dFQKWleupgp/OZDT0jY8Mg4s0iDRC0+Q3lBWtcGLV49vTFiUZekW2jZsMm0mGXQgDuorIV+gPhLzPOs6I3Enjr6gX4AWMbctG1Ql9vgBy3hNOOVZpcBd9ok4a0d3SrajiYoW3QnFgACT7YEDbXsIZ3TAcrkjnGkToWxUbvVwbaYThIxyGW3QSKjM9bCFKrtEAWbzxeusPeiloUwFsvDjJkrkap3lEcApI37947wP6N39C79967eu9BLwEw8w4qUMKvyG2wk6FcSoPp9IPiVkFMUN5l9+M5DRkLSlgHSEH9Ld2tykdyEJWse8kQZCfOoR0fcbcjtUL554azAKAL2B7R5wd8PcBSI7k4OPEvI3DuU+BM06jxvN8H3WvF+WmVpjMS4HMf6To79XtPN7/95ofLX09lX2567c6tjdmlAetgNC+7rT0IVpqdZkcjvvIP6h3zQDV1Vk4Go2ZzulPrK4LyKIfNTrFT6NPj5Uyg2u9PDUjlIZfz/lQvIg20jqYpRisTA3K2kdS3VrWDAVsHqB6GvOlfQt9rQCqvgDngajEXWOOBS66SnsZcH2Xk86j/FY/bekd5ed/qM6c1YK++WwI6Bt19M92PWIw9FGaVHKpazko1qqqtl2ubm13+hgFgwHfUXHkTQMQ8BMCil8d1wtJLmxOr0We2ClfMraJpzwVzF3JWxQubYgDaeJ5hLsOcIp3wAOSS47rR3cFFoCc/krqYSFNGF51Gcm2YW7ipIRPxuSDjQwCeli1U0MOAPRjgeQmgg0455rofAGnl5WWzJIzyNqcb61Wj9BauRniEzz7kghfLUyhHpCFwhqalAP2azwngDYgTtDNNs9Dcih4pTTcnkHIqw2IHf3BZMA+tpxK1HdDXA4GOS/94pUqYrPIaHMK7/t5vHz8lw1mgUgJ5OhACnYnFITKmyznJ41ik7Q89bwpjpqXFQuSpokt3ncStTBSibWkbPJ3qAGQ9WHlVwsABsg7AnvZjdfkcH74FWEy1Km+XIWbuMS4CrkXOmcfWSk7uAcHl/Prwaxlxp6Xprnwq41W0MiLEW6O9Pk1XFOTBgetKPdXnnn6uOfPwveXZyHrZ0eSP79p4abx1rGq2NdilBVWLLd3XK5rO3Q5N0IKzQaVRs81tdSmabipWtPBqW6/xasB6ulP1WJBGX9bfKRujl+WWXOMVLRGfzXfKhfpO+RnFtvoum41rRtW2vG3eF9acuuqYSv/QvgOsmjTgOFX32ddaGvU9c41Ka/pPC7jq6Y4m+PSwJE9ZtGHTk24Bvkbf5GVruLyvX3V7Cpr/lbPOp90UtKeQ6lBfuVPMNiDcToFL+4YIw+rCPRoXYQrVgJGhZ+FYDTDqlAp0uR1CHm8TubBIgCFp6LxJPhOIgZlBDjpy5PkN+cBDrz4aYpcDXnMEQAN+0tB2n9QCQKKDIW4NYe927yYHRzLSSbsNnK3dIgpw1eEzX21pYaKe9uzCU4MoFfmW1DgR87OUoR7p1itGOi68f03+aHKFdrNaG/FA1+IH8cnbcejBgCHpGeCrq9xkFHPRu+fLkDqA/p6/PPnreui4l7Lem9BxEDwOmqU7kJc6rrRDi+xXFLnuWLXpSNMQXMbSZKKAXRUQY+h2milYcxU4n7bzp1EzW7gjO1hH363X9eb49bcAoLt+tCjuf0NRvOGO8N6uX4cOfLQiPYdXa5XLIePlU1q3bJdHGUI3NlqkU8avGS5La68SRg+MdW0A9BtPP727fwHlX07Qu/r1uNi4uFjVbLD8z7oazXvDzYWGzGblaDEb9kbz6WJzUY2Gs8VUQ1z15kJdqWLNpg2Hs6GWHzfltopqCY1wWK96TI22I1o9nE30p30ENRc8lB88wgWeqxtbDMttzY/pTzq3ptvq9XYWxEPlWRjTaL5Zi6y0mlWdDn2ofINBNRB9MB+shHhWD+TiTsQfyE1pZvD5U3cuWp93qbQYW0us63qmxTyXX45dbgVZv3YO9Vg++MmLd+gFopO7jQCZACkNWQhceFDCOzXPVFdGy9PiK5bd453adG0ENuaIBUDaJxzQCqCI7rA8PwA8+oLnzIIreasxAHDwUBVWAgJ64RaErltLYB/y1It+3lDSyA33nx4ellcPur4A+EEeTxVZyppnbUAMRWM4eNaqx1cZcizmveMtO3AjShDPPHKBNXEghl8WNxhPx0M8V1le39JouuJB8U1v6t37vd86/BdeyBofFXjnAQ+6x7DTNHkPXbrnPUYuTXu5lA7fQ9oep9EY6MYjrT/K+NMQ+XAWQonUs3W6l211GWG3XMyal8xZ9nJtG16DRF4FvWtEhpf58MGRtQhezuJEdC6Y7vnwfLgbd8+V51F1tfPn5b3KbpzyXedB+vZpbtt8u67L4lfe/GD5nm4d15rXuqbypz5e3DEeXOnNNJU6GDbNZrPFh4HlSE4aDc9bNbOBdgcsNHSwuVkMj6rLq8b1fGdbbxSNm8lkU9ITdSN6U2K2pbc1xvRdzA8rzdKYLa2nmehVoU3hqhxoedvzuTzrvjxtbU2wos9Cyf2VfsvIz1Zqm7T6Pb3RNBqPNPsmr1dBU75aaKqyq0W5gozCXPosEX80KldOVkdyynlXeHt214eP/eEpOfipzK2eXjLIYRzsqc83w8tfvfJG7aBo3m/ahgB0Gu5YMNQM8BKmmgsa2twEoMa8kM9TANa2zD64luZJa2GBLQJABr7GZasArkGfg2jQrc6c4WfVBVin4BnAF9AE8HcB28sRIy9ss+FqB2noDtBOC0PsAHUAesqoqzBgh5a2ibZqqEdzuawQDMPmLmOl9OS5rEf1GxhLqQM2+qXHgtU1KD70Yytf0DzPvVwADlQ8ve/XkVDOL5R4EkyV/9htJYbzkPW0y7ySuO0AUSalNqSHburiL1HqNCc5Hx0+HA3NgmK7y5M8yTarRCsrutcbCqspbgwnvMz4dgdgrjPmdAHe/baD7JqzvQ6cofKcgvYcWcaZ4fy0vEh2HR7vSu+fcrk0RhK90DxtsX68CZFlMt4G16Gir+rLSY+f+o3+o6O3H1loVJl6R3ovWF2OPa/vTENt0GYCYz3PFFfigO5osCnAntjlDXhTtmBOfeq3dQTmY+IpOexvltO5QF3gLBwvJsLzQsPfs/nYdAjdRZjwMF8WYw2Hb5bVilak6+UNudiTkvR2nM0lTZhruBzwbsoVTZVtV4CxVs0I3IlHzbh56fLHf+H+l4L07fN76HPAG2dfuKPpTeTK7YJLMD8T9swYEDPHGs79oh5qfoGLjXnegZ7+ALKpwEtzFMy76oJElkUEAkSBog3bsoBDnrSBt4abkaO+gTbDCIodxB1gFdesIYCu4RU9f1JGCxe2Z1VfixVCGzVULL63F4+WOjWawvCvyQDWGg22oCHw4PGGrH6berTSBXSA2Lxjw08DdNM0bT1xijPk06pRIoA4nr8WjjGcquF4VkgT1ByOwYCaUv/1D4x+AvCFh1XlIVvwDiNYOtAO+uWgXc7LuazTPR8N1MqnZV3GY++sLB8VWaQfK6fYHxi8DAAbuxUjpfxwNYgcdREv8RMWhTmW9Hg8TXHneV0e27AjhXM40ALYyOZ05S0x1NwGPy9+UcTYroMohN0tj2zkezETiRmXWZJPdJB0nqcjeylyPakM5TykaWg0iZAegl9jRtst+ymtjD6jldGnrcDL/Dl96on546eajQvHLkw2tcizt62+75iWO23rmf0orRbQ7dRNT4uLFwLksYbzNeWr3a7GxZVe3aworZ6gmGlfgyPqk4TcFjaujKu1Vb008RJjxBvl9sXVYm1VS0YksyKZnUtlubo6WvQ1x3Zhulmu4kXLR1lZk/xUW2toJXat9shHKBerV/TecVmOVsfNdL6pfRHKSmtgy6NHx1qSIstpUFJj2fpgg0bm1I5SoD7U+PNo609dDK25vX792jmUo8b73fyTK9+gLxmNAC88ObxIYibtAS+nhWFlhqKXvc8gH94f87J+MICR6+31AO4A6IEPAAPaQaeBsToGwD0MI4e24HGrMbaIIMhy+83lHQcPOrSHHiUAurfPgRlAh+by6EAWME89aW8nchwz+Z1tTcUIn9FFm3xIHT5aQju73QEcQliohp7w6nSgvuNto3u/51tHX/RSBr6xgyBKO59QYveXSnf7kl36y0119djBdHS7DO30tlKP5RXDp5NLeSmfNI2lvS5jZSHE4DyvKwVyl3Vxz1tRFTCdkUmEDp0XC/5AE3J7f28XDxjQ5WP2a/KClkDXTYLRDgpueGTcwEp6lmKWdl6Ut+sXppcnrXDV61qKOJ+pzEHpoG2pSYGUNsyFFHvzEtJZPfQ/8WoWZQmE++9YfX507oVetTKxK7HY3izLlcldzdr4xfJF+ZH9O3rVenm8fvGlF4vV+6tyR3zaMNFbTBcEdcOVUG6hryQMBZ4rol+6pPMkD9p5yAPg8lus7JG1I8X29HKjUQt92CboQwY+zkoht3t2LqQ1uqFyYag8yOzKD9eLcmMDL5qV7WW5fvHK+VOnHg7j1Ea9fX4O1QPe/oOLq3pFdjDqDxfs8VLpam16tlzehnn5suBMGxbHxUeSiC9zM+6SDAPj3cUdXcyrDQAXvEjAS3+i4wvZMni7mABGbg/mV5WWblbzceLxIOEFD1ugLjBk0RK3EkH83qpAGjkuYnaL4QJ1PjJ6hUjeJwCpFQ+Kl5i66IIL4KDsw+jhASKsyBYPL1r7jtgxq+3E6EZveEihnkDXqmphOkBPjIcuMBCNB5AwghDqmhV//h2jf2IGsB+1Om12UL/0C5+OFDH+KPZ1iiyV98zVyu2nj3p1cEuVQXNZS3sGsZi2SD/ugXj9+8l7ceJ0mJo88tZlKF4qiy1MQHFUbnyleSONAB2bAcjEXw+QrdAt8sPxcnnbt3U1qcSxR3OFXtyNJjljEBO6dB5m7AIw7r4/XqTVI4LRWsZuMTtnynJOu2nPe0ypg9Lw0EGzuca8+VTsELNEp0ASJHZSi7LYpOPtCfllJU+fKue/IT/hv/hYMTh29BnrFTaL+/WW0HPVTGua6sn9WtKs9FEt2JzMyp1zYZ0llWwK5qrNF1nsbFbqbx+3Xm9n54XizvGJcksbeszPSVCL4IrinCZnBdrHdBYF2ovehWKghykK9Oiwg/ddjuV9bwvEjwlNLg/D9+R4FUr7EZZbG/K2Bcx1eUWmYmBcw9PS1ZNXTuiXG5u3K/ja8ZsVDulHS+LuFsbWtjuKgG3K0PJQOLPQCmiGkJVXzOsz8kOntmJ1scOZ1w2ijTeI8QYBY03aGujN9Dhm+KZxFrZpwwNkBbGWFiutMWDe/9Fa+VkdgA2AEk7p4rAV1GzuovfSALkwNCy+6gll3atdLDakwzxgAZ5eK7JXmwR0engQiCOvlgF8XOQOtrxeBVBu6NPV6KfOMO3NcWpImMORB86iqwCwFqt9aYwMQKtdQlhgpvueZY0BaAMtjBBQRqI2oqBnUqVn5X/zV478hF4ruA8GgRrTNATveEJrAt9lrFDnJ9XhrLSs09K4q2+PDgnYyfVCnTxtdHBEpNvhob/taL0sRIIqc7Al68dLmkDeRXlk6wbzkpFzBvIx08bisU8vG4F4cDBm1fWtGPieLq8MMczMsWILPwdL51cZ42EETyPQDdjU6R6LFE3dJuw6QI+fqyhgdUcVdl6iDj9HVJemyXvgocFHQ6yt6E/1Kk3WHkwj3cuavGcUe9PdFpH12H/8o+ZTjzxYfjARfVlJYRs1T0+dChtvCAvV6nuLZ7XoacjKrOLexTPPFeXbivPFs/fe24z0unBR/L7ob1RPele9WZzVuup+uXrsrPScLI4fPaEFUUX59Jefae5/4P7imPZDuHLpjlJOcXN0/rziutn6k0pgercdkmSbzYvsKX+uGlR3aC/nF4uNr/F+6LHF2sr5kmHrGV62RkAu68G0V461zEdbhsijXj+2rmHzi+XK6PL2L33ogdvu3V/Ojge/Pjx/3eIPf6JZ1QYvJ7VtoDaSYEiDqgO42vytQGmosRroPc3ZCph0oQDCQ1tMxWKrhdJAmA0t40ZKdiFZANwWY4lJGn0AOIDX024sKicPWtu0adyE8RMwUsPRNvSbetZ6nUfL+YWbAnHoADAgDsAaqGujDR4AmrmGywWKKEIWbxwvNMjLte4s/OJIKRf0co8GwBaQGkjD9wDAr2hcyIfGg4046t1gh67jYHEaIawa57ixW1h89n3fNnjHo28cfLYtpaPQ//apvaVD0x+8awnXKnutctTpnV0b70eLDUQmbat5viJ4h+dgS550KktdaUdrQC45r9f5xIQ9dXmnH9jLXndsl+tKY9KsCwCg9aBkf1HFTRWxgMqHmLlosDEG5vgsHY/G8kr7OYHc8iVrIdodFXsuwKjX5fwkug5UmEibMMldPbF8Wn9XVyzRttFl09hliP18wrdrTjRv5n6xleFHAT5BzX1Vi7KClu6vxgNjS06daqtaEvrSWwXMvxOs+KUvKf22IPfss4q/WYu7dn6/+uo5HJW3Fvfc8fvlV8+9sXnbW4vipa8W5WUNMR+5Q3223nI8f0mLYOV1n7+4EGgXxcal+8utK8/b4Y3X6uboalVe2rhb8fPl5sbd5fbmixomb5rJ6olmbaPY0etVccxoqXm3Vcavhet+0B/5+1+7pxyMj1PxbGdaDUZDecLhQtDkv15fE5AIfbU9M7eVgiYe4us7AC7gTACgkdEYtICZ2wFP1MuocxNwshVaWB1NHmCiHkCPIA/TFmUpKV3oBezE185qw8aB25gAuLZwA6wBVUAY8G5VKck3Ox2cAetdQA/gTDkH7DCvbYum4mtP5lWbhyvc1S41A80D61U/xeR9LhkPnTwBIPcGhHlu5rB5GNAIgOwkkC9P3rey9u7vXflnerK/zwrFHwm1hkrTLmMdJ4wYXMY7JchOc5lXE3un5vU6eMYLoO30qAMZ+0sqdFrKd/bVZF3GO9K0fNvBUl8URJfLRFLbCSPUlfOHApdFIMVuA2GBMYCMrB93K38DJfjYgS2m0ggiH0HoXgvhDlaD3QhJ2+1aEZ0yBETMj/OLKNLhOSnVY3XBwHgum9aT0loFaFPo5gM1sMTzc5qQ90368VqMRFq/ss5fKpzU3eFf0PjeE488XJ5Zkr9uGQNrHUFTAtb6axy0SXM47363AbQd5enTp6sT73+8OX6+qO57bvfIT0vwkXuL8rw87qL4HeUE3C/9flm86Y3FnfcUDcD91XNFc88d2o969P/Un3nvNzM63bGcit2GgUvjUMLPffz8ye2qP9aWxUsnYqFXjgJAmrdrq5B1gdTBK9aQqvZ4HA5HAkkNPQt05WqqfJAFyD1vAGR8DecKSAO465UmA/cA3tD0Z54iIO3etoN4KMOcL4u1hKXmTcqbRjCo4MsktF9dkQ1VKylAF+jDH+qfea4CeLzhFQBdZfUhCXm/eNxT0XUlasEZ27ctemyWrjlvA3YpMO8cINUQOIu+AHsF8rbdZjtUne78FRZxBUl+Z8V7f/joh48eqX5sl7abwvp0CoT0Ylg6KYG99ItsV2Y/2lKhq2WkbA8AduRpq18tqSwN6eZpm8uixsom+lKQWyrrsiiIoVvW8pHvdVhWP+hye3odyEDzPGpNnlgJ1wEdOQAZWQNk0i6MwCEEhlp5FYVv66avDbXNIsEfFwCRx0qnx2f0tlAQT4pZ2VYHZQNlN4FeJyptWVeQxl4ulXeaYm8fpNT25OGlNJd1Wsr3tMdJ01DV6oJuw9WK0UOzPKjs2X/8PxdPfPrny7NOu3lidVccTzwgB2/aHz1rM8mXvvRr5ec//+64e0IG3vT8ptdCSn9d08xbXDqy80btiybgWg7sYcom4yk1eLZ4rzZXajx5wQJqAE1eoOZeHWQB1OFQe6ppGzVkQhlAWhgm8K360xaQA/hyP0hJRNQA6tzmQ57w9X3LMGdsnqvmmftsyaZAvZQLHnOcd5V3HTx3lRZ+AsQLgW0AaXeVg8cNjSF0e3iwNHLBAwY0A/ijh2F4PWBoGFqbqmu7GtlmJrDXBjOhzWqIvGHzvKPHzatX2q7T2vmuJ1a/+S0nB/8jreWouCO8w/AbB0GnGT+I6ndvcLmUQ3nKpeHr0Vq+Ci45NOQ7ylLgog5u+lYkpsmj02W9w0Q+1Wdl28JBFzKQ9vBgKLiuLj/V63Km2pRFncaIuknHkOp02r621UEhCxjzlSc9yC0dj5d9rWMH3YlAl/ldDqk9Z0maG9gOVz/OJyYDnZPr1xlZjsXyMCWzVCblI0yIcktpL2cVGGf5J9bhNjbm1ymzn+2Xle7NpU3byw2Ug/RS1ueQ5YeefsuD5RMH6cj0W9cCewDwehzqs/c+p9ta397TVmasYKbO4YocQ4HvXMOmLNFL/7SIiIVadrtZjMeoLczm9WCBB93rry6gG/iO8FTxeJGXnEAa/fDYKs15DFNbWcWBxt6nYTg7lKF9oW3ImpcaPdhAB3zpFPXCHe0R+IXh8l0626wV+oAIfIbN4/B3A80AVnGYr9YxGPgKeG04PAyjDzWP7Met1/i0Unx3RTXD4Fphrc8e6viE7XoWrRfbDDlr4RrvBGhDrW/5xuF9jzww+Nscl1lPnZDf9MRO58ABEwcUM0Rg7/ld6tQidz/5r0dzvp38mCHyNnjFDqieX6pfBShjNCWQJe0y6TFRPuWRh2/lIw+aIYIlluVdZ2RZ1AJLUidmtXpiTAWe97LeDteJngM7ahqowNDvWNcbgLiKJ6oFT9D8PAapV/eLromGlk/cWRT33V1oYU4AX7TGy8UqSNOcP2uiiLov2vYYTT/2MpyVCj9us3hYZhs7dpdJlUOLeYucp8JmO/Qjg7I0TRZaGpQ3muuIvLY9HXmnu4puHnpqe+NLNzF/qLM/6nUlSUxZ2mPlmuJxFmUl7Jy8TSzQP4zj7J3TB8VAL/M8dSFrinZnZ6RLEm+Tp/0AmoAw3nCfV5ME1mHzb7xjcz9to3DJ1js7fJZLQ7rybvEKKYceyrpHrTfAa41cyyNmqFhAxoeICAJH0W1T8V5vR0BN3Wynpk9qa/WwgF53inbFwrPW3ubKGCgyZz2PHjkguaOXzTkkLeM28BeIS4ceAWxum6Fy2mTtjumBPoaE5677kI0+QGU8dB2ngbPExVOnNuUhgvr10SQeGmQsrWgOHjSL1xh+L+ohdL1CoBVYtBEzlN/y1vH7NAd8H+3wAOh4BwHNOoDIJE2jJWIhTUdSS/e8y3r+arHVmxRIwRaydZBRgVk6kV3iJbJOB3yt/Wq0l/X2u4y3rVuXH7DJxfIua7EKpDrMhrQBZmxjy+/kW7opCg8JMRnOQ0c3PD8nadnUdqT5fHmfW0gBOYatX+mQNR6uf/gAwMRu+wUOzXnxMNvrxekAsp0HjisqcV6q015PigptBbOEXB6lHFM7WJnylpQEOUhmH0tEAcrHcoqCvqjXxGLabGwConoc5ZEjmJ62cXtpxnJ+1IsqD0vpyEccvQQiteNnfu+Z5syb7y9/1Yj557awwKEAcKXdifXhSn02i2tvpI5D3qc+ZMneoFgdoCXA1yezzBtWtty2T20JROcG1lYufHpLK4/tTeIA6gF0BVgDgaiGufFYRSv0BpOue0BQcvZdjqF1WqE+A27tMk5NGu6NlgkgrvJqy5SRbQEsv4CuOjylAUoeCkQv9w6fB9mhDU2TtgK63QDUoR4aTFlh5bWYLDyADEYaaRSftuCNK61U2BDEhsRVD7o0Nk29SszCvLTUMwfe1zD1j33/0XetrZbvQgzh9mY3C0MVPWgJXrHyxtIPHV9kmRw/8ExPpKR850XWUrQvz/VHJbTD5FwpfGgiehudlSpveZHpMg7s6CS4nKVj3uujjNdFI7oe9568VxLLkU3rsboigXQivke3iu4b0va6gLdxPx52RBjEPQAAQABJREFUwhvmj8Dx0+6rATLXvL825NdGO5wsHRxCemzoJfjx+DEHavi1tomBTOodOh0pqyu2z+u1ehLF7THSIO5HE4ixotbg8AixzrZxgRrOO7yo22PYabotl7TBabQR2batMQ0NcbHD/UNGwfV6OWie9hgahWk+5QnGWxSf/t2nm9989OHyrBHzzy1vgUMB4PGg7Ald9OI4l9+Ovi3f6HuVWnwVPVe9JNb0VlfK7Us7+o5t6EhGK/oCJgCooVYBtvaoYJhamyQXADeAvCPPN4A44EkacGdoFrndoM034hwzOkibXt0SgDSBYXB51JbG8wZ8AVtkgxeuVkBXPaoE4FXbAXZ5o/EY5uZpmwoAWrPJETRFCu0L+nhYwMs2oJfXDLALcCWjveDkeQcNLELDo94RZ/dYAGf48upLgXZMy/P9ptV7776r/zeMEBTs24lYJymt3mkgmqYdyGy4TDzOFjqJ07SybVjqZCIVWYJ1WlJg7dIPsg5wXpfJmXSQh+7lUx0mEnV5m/1dUG8bZZ0XVcbKl+ne5q4seee15WMCnv7bD3Gbj5Wnx4OYHydpAnrT0K3H8x4j6+1LadC7ed7D5ZyxBzllaAt/XFdjDTGvaUEVHmg3pIDAMbkdvamep5zzSTufBGrhtbqUsfa5XFpQtDZE5f7wR/uxGWWDodso1Od6iAkeI0/wvMeJnvbAkOvSY1mrFzWUl0xqe0QIbVVeh2hR3OxtQl9HDhkrrh/Vua7zwpeT3v7ww+UFL5/jW9cChwLA2yuaHdX4rV3W2pmFRoBbc21owVc0eHl7R6jIAqaRPs/HHmVzvTEmcqFP4VbCmprP4+qD01X0lgXg4RaxHVjwqC2Yy0opy+FhC4wFcDvyskdWhxh6L0008TY2gxw80oBpvzcy8JWctmjTsDMgvKKPXccNQVAcPGFAM3jAoZ7gyRuw9of15gZD6QG4GVJHNgy148UaKKsNGigXsCMHmKvD5KFAxyIZ5pH1oS+BdTw2htFDH6BFamqdbKIV1HpYaB57dPiT6oT/FBbxjsQ7C+pyGp1y2g9HxW3Hghw0pxOjx/NKWtr0iWi8hNmVRThht6DkNNrrHR269wMxbzt8gstb2UBaojuJOlyWRqDbjg9G5MVkK9fKi5+2xery8rEsOvzgUlnIKfh6+9HhaSvqlSsDOHoZb4PLpnlPu640n+oEzPjjtSGeK/cDX87VQSFpmon4eYXu5VymBV5XJoFWzoU65dpjo0xUyHzykm6VtbwjfBS1bSgSvaiwgLBXTJzKKE2dZq8O3cu6LS2PTNTntobetjvqcDGjK5Py96TFb+Wtkvbn5LRXfE65H2opOXHLWiDtf6/bQY635NFpM+5mG+803Bo2TAxNw8X8ASg9fb8ScJN/qy0xGGYWIEHj01l4zJr21BZoAsVtbb0mINwIMgbGKs/XNtBjHrbSoS6BrwB8W9/CJB8AeVu6d5rRyii2B4AO5qBOHgbgE+NRC5wNGEkzD2zAzAeo22NhcdmOeKE9xMgw141nDsgGAMdjDkCMDHRqhRfyemuqpQfv2uykeqBTljpZjAYY4z3/1b88edfauPxB9NDRWqdFxhPc+Nz5CnTKMRkI+qWjAECgd3kIQXNV5AmuL+T2/0XG9PFjCcVp/fCd3lFhRSLPZQAoB7pWdyznMmnsaer2aqwc+YSGCqd7M1ze8olsKkea4G2yDLJLhffqRs47ZyujHwdfz8Pv1kUeuv916/GyHnOuCZfiF1djNhD1680kdp7TyPufF0hl0jLwu3kvs6RYCvaT8+NoYy8c5XGtrV26ti3mjrGEC8bYaR5Hstva9Xu+U3rXCM5I9HhZu08SutmIdooG2eVQYbQoa9eI5Fze+Im86D+ojzb8Leg53NoWOBQAnmkDbkCxN1gxz1W7AjXxk5Fm7W0NvjTbAQwd1Mz9lQtsgCMvGSAGxHsDfaVDYAQgWWGBYrOjOVt94so9avvWJd61vGT7BJbSeNMavRbQb9eAN3S+bUm7zJsUD1q/vy2CdOrP6oavYPPWiqEBzACrAzTbtLkMAA09/FFuZHlbwCUAZV4bHQHMAfYA7j211QGWhwHAmWPEo3bwZajcF6wBzO98bHzvXcern6JuQmhpSPuvd9jGjzLItZ0BaToHCJ3gJDu4Do9sSkfW8+j3P+TogKwTigIpmMJH1viWCYAEzQNpbx/khLVUD/LoWeIjnxBIJtkl8PN2tPISNFkvRD75oz63EYJWN7KvInCcbf1RT3vsnbphOy9Nmwcc73QGbrjX9msWtPS8kW6PB4Wd4PxuGcTQ5X8pH4W6VvccE2Vou3vnZleIBNHh8edtJNHKiG7BYxci77SYhmUh0s22qRxMhFzQy0OPabdxyoJNsKrFgGdqXI9xw4+VEx09fp0bLZHRPXFK88GPJ6ScvAUtcCgAvKoPSWuL4wZgnAlURmOBnQAHEDKQtOHkAIYAIn94y/zNBayAL+fCwFK9iQFYBEjANIC5QDF61KNCYE5awAxQ4dwSA+oBxMWLXrbpBdDVNvuTV40H7vUB3IC+gbfSBuiAMm1XzN/GhjzyyHPgHq24tx+Gtg3M40PDLpjroUE0a5vKu9cNSDOMDgiHIWmGyoM37vPO0L/5bf2fYuiZuq0DUCvS+7/tsMQnjYx7RshB8w5hqaB43dDtMLp8q1c/VqdlgoQnrX0ipd6e1+8ytIH2eIdnfDsTUa/KQ/OQ1pWm4Xs+lW+PNfKX2gKNgjFYeaW9PLzYFJOzvH68jMfedteTxq0uF45ML0PsMrDId2lOj0WX5CkLoDmoucwFbfDbNtSJijknbd2RTtO8efAJnk95gbPLc1mnU8iPxetZkomZVmaJmZSNPRZ1W1s7cm193YQ3VrGVMwVByFSQJ3T1RXpbRiJpG91eaXH40FHldFR7gOd0r458qysydd6+IBA+6eVyfOtZ4FAAeDYTUMn7LYotA1GAtBoK1BTqnmZ9BWYA9Giyolg7eisPj7TglaTASKCqPHIuDzgzzDsajwS0vH8bhp+tgJUJemYCcHizKwJZ1X1F4EwMKAK2AL3NM6sMNMpDH6nOAI4B9AFdA261ASAHPPlbVR6AdlAfSY6HAuLgVesWxfvWMDh5pqh58LChdCqDIFlS1G88A+swFB48d70OpWFnPGnkf/wvjX5Iq1p/uHtDe95jdBJ8+JmDcxCGzgIeZB2cSHtZMwRCMTidbJp2fjc2nVEJ6RTwkF3SDz8SOEL+PHjaY+joSvOk2yKxvPON1zIPKJvwu+XaupCJutPOMz0uL+ttdznP7xdTZj+5bru9rNeRlvF0Cr4up2u0uKSPtbtMq0eJ1uaRmMq4STjXnkYsTft1AI2057nGUl2Ucyay1jbJWNqYuz/wTA8/UbEnTSrSTMjTxPwREDYFIXY7wCKYWCoTyKG9sZypdR3wlUaPtU1pZ3neeEEsagsRNoBH8Bga5d32bifF67ofv6BFWetWIP/cchY4FADWRysFTpu1faBZJgVo+4OtphdBOIDuqN7e2hLQbtajid7hXR3N5/OtZriqkVjtaUWaP4CYP87MaLJl872BF0AegJ4ttKpaugHZ2SIA/ULD2HjeBvQRzOEbEFsZ3R/mceOZj8zzBiD7WsQF2FIfQ+fIIwcYksfj3Va+kceLDHktIDNgJ8ar5gEAYOUPkJb3ugCgGREIwKwy5nlLh4C4t9CDh2LqUqtr88y1mypz4Oj4zscmGnpuPsANHe9tqrbgNzV0v7FhuBxlXAY6aZelUyDNXzccRHc59JiuWNjrsHL6oV5vj7eB+ghtPhLIOz0kkjaL54CX6otFXNxi1wHP+a7bBdrjN+HQlrZcLLRUT9JGb4fLu5zrJk99TvcYfpp2+W7bnL6frPM8pqw/TBkt1utlNwTALGz04LYn9jSHm7aBPMFjl0tjeKkOKxDLeDlopE1Wwl7ebCO6t7FliObXErHZuS0kPUk6LdOmvTLpWWo8dA+eJo767NgjHZKxlKB95Imh0SZvs+dFNhnyaUCn04jtLxLah+KYj7KPzXpF3qQjNeItlD4cAK5Wa2GrbpxxXWnfCYDLwTikt5QXIOvrgf3BuJnPxgZutXmFY16vAHzMQ+ZcAFxNWQuI5blGrxk6Og0gBVqkV+wTlMHrpl544c/BPHjNlCUEXdwj8ngHAnEDT80JRzDEo0WOBwZ9TWKBp0reggAV3ZQhBqDhA959gae06/hDeTzYnh4MHNgdnG24nblsAT9z2mEoXIr134BaMcPxjz3S/2ltbm5Dz7F2i2hN6t0mrWs7VlriMvDpWDzsHoxTQoyM/aXCqQgFvbBiOigP+7XB2cTwia1zI538ocM6YhIxpLrpmL08Skg7DfGWF8u67pYneQ8kra6ox/RFppczcS8TY3htZ5ykKQrPYz++QNnlpWWd5zE8L+dy8Dzt+qHh+boseaq2P9qkNBt3MBTtpzA2rZWjDKHLD9Tw62VcLs1DS/Oe9tjLmI2pRH/WXsVm30BCrB1Cd9va8aJIf37sbcO9grRni/rtYEgTXK6b7uajvNlWZaxtsSxp9+yNL9m2Kq8HfQptO0nrz++5VMz1IU/wMqrmyS//YfMzgZp/byULpJfpdTuu+faFaW+4shgMNpqBhqMHM76vq9lMgclAwDo2j3gsoBsLODcVb6q72BTQyoNVHpDuq3zgFQJzPOWxgTo0ABnwpBygDZjztynPNAB3AD545AFmT9uwdvSWgwdem+dJ3Q7YeMR45eSJQUS8bsAWYKfuXfAGoEUXQDPf7eDdaPEXw/DkHYjRh8fsMgBv+APAd1oANxnk9PfXfujIj2hbwh/xm9pvaGJu4NhX2Ln1G5qM8SLTQawrb4WirKeJKWZ/iXLP04k42TolyXqbPN/G4nndSu52buiISjxGaVc29TitPDpIKBBT1o85LQs/LYucycMgKAPfy8K38sjFtCILxE5L5SO7PQ7P7yfjPGJ0EVwu5MKv88iRdpk0DQ+6A4PnLeZHwdu+pQe45G26wNSvXTsx57LO9HNJHZ6Gl8qR5g++01NZkdvgx5DKUtDzeLdmewgKboOWpgp8xyyTDWKh4tgQa0NMGzvqclFvQ9tYGMjwZ4VjWpEHb4fZXkTEWnElnA+tG6jPy3V5ad51oFzn81NaGf14ys/pm98ChwLA6726BninAlLAZjqcaP/icLlBmwKyAmV40Plj3nggb5g/wHumrR8xPyAOODpAQwteNDrGDRsPwOfPgX2u4Wd0411b/Yt6gRzlGBJmbhpgBZQBdsB0ulgxYIUWPG7mpxmehscW+cHjHfQn8tY3Gwfv4JkD4njZrLTWzSSQpj3IOKjjYdMWwNqGx+0Bgnyc5xbYAuDIIwP9P3/n2n3H16sPYAg6AP+jLZbmR2FPJyC6dQDeEXgsWX8yt3KxoMlCSMIenZGHbPsnmrWDOKEjSgcKzYJi81SVsbMaeS1Ikk8qXCqrMuT5cxGvC92knadk2w7vBE2GnyQgT+DRynQpHa62kDcmfJfrxM7fL/Yy+/Gc5nV5nthpXt7bT+xpl/cdsVyWmCby53qsnPKXrnipELc2XCZbOedZHI+ZtOlV7Py0qPOj+B4ZL0sZZP2PPO1O87ZNpgjQWw+ffCLkx+f1oaAFaJTuE9xOSywUuBL0ezoVivVyvXDfWLuirJ2TRDatI00nIpaE58fQ5el++NzTzzUnu/Scv3ktcCgAfHG+OeN7AROBm7Z/LwbakbHZGhsoB49YwCkeaeiAMnmAmT/Atik3BM4CUPH7cwAZMBzX49VYTmA2mWzaMDSnB16xKS9aXrb2xbBFWOiHZwAvYAMUSTM8PpurDQJB+ACzxwGoNyWzFeZsxYBW6aGAP/fQAWfKANbBIw/D46tHwxy0AzoyyAKswWuvbViehwDoAey7HnfQ+2ce6X1QHdH9VBT7AtRZsDw/+wTk6cDSm907DAcfKybBcBSKO3qW8so4gCJGGecTG88J5JO0yfNDEN31tPVCgxXLwCd4JwU9TaPDZZHzuqx45MFP/5AjoNv1W94KKZXIQ0/NirzXD89Dl9bNuxxxyiPtbUvp6TG5jOuA57LaiMWC5WNDOQzyZPkz7zjS+KrXxqYyMSDLnwcvQ97pLuOx85zvZVI+NA/QyXvsdGLXgUB6nF7e+Mpgd7eTxbGw60VR+9AWC7f6vBLokdfG6KFXTOieNJpnPJYuB19XiwrSRiezT3BZO0+R7zSuWWur6Clf2fXtWfF4FM/RLWCBeLte3yN54Ognm5U7ZxM+Ks/w77Y2B7CPkuumIn95sckn9/Thgc1yOuRj9BJUfqjlxT1dgb3xRJslz0t9eL7o1eEjuZORPrIgsVoLiGf2HYRZUe2Mm2rc1/7Ifa2S2ipHvYmge1OLUyYqK12jzXLUTJptpYeqY8HCqErbOg76elcXkFedUq89u7T4aVPpgcB4IMDu6xbhO8EMic/FH9dlsVXOZnyNSDceVtUHFgZDPTQs+rX8fX10oS9Zudf1psqXasPA5rW1tZXAd170JEunMlAdvKOlGWO54HPNbOugtO2XhgrVn/DtYHU3+vvrP7D67iNr1QfpB/jzm1dJC2mnDIG8h7YjEsFv8K58qtNlvDyx9z/W0SUMqkmqWqoXMetcory3KY3Tdjg9iu/RBZ+6rC1KyHxLMg6+Xt47NvJetuVRWMGOtVW6K2d16AcWIQVq8vvaKBoJXnpcLtuN0ZMG+C7j9G4eOjT0A75sikYg3walyULTw2QbXBe3F19B8jwCUU2gRf0pvZsm74Gy1EfseuB1085H1oPLQDPvQAQHUgANJR6TNhI/BI9JxnRLSvLGaxlWcrdsSve0N9DzxJGGLq6rFmyjDHQ/B5Zebl44hli1R1ZUP1FFemwXdL39vVFT/JdvOln+W5fP8c1vgUPZivLXfq1c/Px3a23V1pXeOW26sba6a8gpnUGpS1o7ME6n2rRW+fXVSXNOU8Gr+uzuxky0C1rCqet7qA09JG+3AuVW4wYYU41eyy+1zy6sis6KT+F4scG3DzbGxc5qU6zqKr+wJYgVbWjfOdDwtmTZ0RnPuKcl0vKGy+LKVqnd+8I90d8sxuVEHy3aFBBO8MwF3ALqNQHxdCyPW7A5L+pL083y6PqkkcNdzJUGcGmPBxaE4WkPVBbnYzDAAJvFXMPqGh6X16y6+1uqQ968YrxxecQlw98jYTOL0taPlX8NfXbwJDqh7RBEt8aHI1iSso5IFKxFOu00rFCkU4ji1OUxacrxl4Y0n4KUyyNrRTplXZe3wfWk6p3W1hcbY2VbYkik5ajQ88guATP5pKzr8uVxzkrLpMfVtWHaRk+nsR8felM6+ZSX8kl78DKe95iyDkzdtrfH7sIxdl0cD17wkbXA8HNMzmVikdaOxnNiEi+VFZ08fx5oi+e9XV7GY2Q9TcyfnnDbujkXRo802ujngbJL51syNgRNgVihHVOStzL8QCOkDSOPjoQMyWXdPm0bVNaKRx2mUmliRp2wNW3168n4pjD8kKdoPJ7TSv/ymx8qfz0RyclbyALd83/dDu3Dn2hWd2ZXJkMBoD7qY+1I07PphsBxtRHglDsC2ZlAEqC+YtgbmjkabAqUJrU+d1TtCDRHAmRiB/QZ4Kf55Zn0A7TE3QMUaBtAQ3eZofSGofFQLzyAvpxsVc3muJZXbMBfTkpVrVek1LZCembTrVBObdgwaNVDgYbYZ4MApkLUCkAWUBfTS5Om0BA59QTapGCofSh+gUAMRtOq79ks6NZTSzmecBtPiv/sHYMHHrin985jR6of0T6/7/QyxByodVSdI247ikTYRWKfYWU9nYgt0b0jgY9O64ikyNPWyURkMx5yUVmbh0BZ50UBy8c0RagrDd55GU1yS3kRu23x+pD3tKmnrBFDh2e8RB8y0LAPaQJt8Y40UNrOstUNneP3ulK5/Wjwnd4t53niVI50yuPDCzTUwdf1Ief2YZRpWyNE8LwsfAL5N5yQB21uZ6D5L1X78TstjZ1PTEDWHgBjISKXgf9ygpfzuC0rpX4MbSymH1srlyRcB/FSiO1saXsExOkchGUlZ/W1BXcTqcqlepWxfCqwW8xSOp7T+vvYmx4oT3dYOXuLWYBr4VDCez/TDO6cXT463eabttxC8iYFktsaal3Rt2ydljYuBegUmJlPXtPT+xUtKHF6Wo50l07eZYInrQ05BO6AeABiQBhQFlAq7AfiDsSA+AWB8LrawYMCoMx2m8a/gKcuABUID7QoDDreroan5Y1LrwB1onlrzSq3Xd8E0BaIW72xPVtXtvSlQS1WE33e39YW1iuLst6qpvOJgfajbx0dfcdbJ+88ttr7i+qM36mO1OaG0XEtYb+OqzWQFKT9RWhZ6HzQTR4+8t7Zuwx8p7XpRJnxvDB6+EMwCUaLxFQXIimvWzblmWyU75bbL08jAGeOiarRRfA4XLEhTzql75cOpZd/03LLnJDr8r1OuGkdgCYPBSnd+dDcZg7AJqgfl6Esab5nfefxwO3W7WXS2G2T0g5KuywxAXN62nnRxMZ3nssaMSnE4Vr7JWjkpDD01FZemdFRpDKp/t2THHgmH+W8bEuDrkB1PGRg27Qu0vZwipDS3hbqowwxwdoekv6rscDil7Ub/Kcfzl9Ccpvc8rFfD4dyoD/91EtH6yuDwVBv40y3w2WcpgEzhsUux5WaAO3Ro1q5qfcXAWka7UDt4NwFcX0iqNa3ACvn70zlKQ9DXSkou8fthqBu0u5NO50Yz3pyZFLPdgSs0bsO9ADelgY4BZaAOjqQcy8dvge87Q0BrkSKqY4PULYgAsBNHu8buelMYCsa3jXyIeBhh7oAdgN+tf2Hv3/9bSfW+9+uBWJ/0b1jOoA0dDuHlMfBe4eRlmsBMwqjo+Ur4Z2960r5XhbrQzfP1qwcKuuWtY4syqZ60O26rB7JmC7LhB+TbxvWaVennV3ZPXWZmxw6WngEP4aQ25s/iO7lPHa5a4m7Zcjz558dRMceO4jmbYanB9x9AzLoumM9ALELidSeX/ieSUzrovvGFCFcq3yQVltigjh9ELLPFUZmO7QcZa0OfmJltNePHZEUMF2/FUUeQixntESgy4Jv9iIhZjcN2UcAXKXrcLVO14PEGR3fr2oroV/JwIvlbq/g18OhHPUHP/nHmhg9OtYXjZqVkd3e+7ajC86AL54ywkePHileevFyuXo0DL6tCFwBaAdQQBsARnZNMvA876BMDH/jSlkB2D4X5uAOLwSeBNZMN3rdi3aQZagcOejpUHkK4oA3A9N42UFnAPQdgStD6s7z4XIfFge8j2jI2+e8Z6oDj5v5bdCYYXAb6tYQOR45wW3wrY/1jzz6Df3vxDvWmq93VlX5ACe+bQDpmKHj8E5Fqd1+Sfy2I1Ta5V0HeadRzvIkYljiIyt6Kr8f+HpZ4pavgrSjDeRR5kFpsui2Djim27pER954UpQeEypcDh0E8k4LlPCbdu6eTmMvC83TIbX3d79yXSmXSel4ru79eju9rchznOT9XF8NgF0/C7lO3Bntk5Sl3ngo7XVjef20dUpGRQ4M3o5uTAHTdWDJvQzqacso4/X6cbS8WNTo8WQ7z2xDpi0c09dA69bv9jbdXgF1u27ShMgT+bR2tP/Yow/nYeZgmNvzN71Urr8F9OLQR/9ecfRSc7HSxwqanegF05Bjx7RJgPLQL14M+TRGZj/QDt5xKc+0MFDugjceNmWhu7ftXjV0aFVdVj4UDo3ggO/g71419LEWOTPsHCSDx46XDbAPV4rmyqXwAADfwX6qOe41jZszbO5AefwOycZhdNeVetgO9PAcoEk7SJuXHIfM8b6RgcZirlZe4PyjT6y+7c476+8YD6vvU4f7TntaR1ESvOOmw/AO1mPESHvfYmnPdHjIGuA5vSMHH1KqO/XiuuBqRk51RAWuI9UDqy0vAZeBTqAe77DJp8e0Hx9ZQreOQH1tftP2eH3dOqHzB/h2ZWgbND8WmuzHzfHqIXEp7HcsRzXqtKplCJQjoMMDNNfpNI/3o+9HS+U9nepN64Of8ly+K+NCLmv1kukEP16eyJ1tNvSCV4vR5Qek2Mrrx4fw2zaI5ueg084L6iV+tekXv/5ont/tnJnbM9u5Pq6/EZ56qhl95dy5UY/LWKA7kjd8PjZjpL0p5qM7eqOVC8K3qmou1fVOx1MGqAHmNADMDtwO7NOdsgRoCe5xEzvQB47qTx4ESF++UFWALkC6reFrgNtBmNjLaSVYDXCTZ8jch86JUzCHBzinQ+OuA48bMMa7huZpQBvvfHWt0UJoFpztet9p2sF6oF0uGR7vArYDdRr/hW8fPXjygd47J+Pq24e94ju07vsBbw8H5wDmnY3FontHZh29EyPdsy6DPmg8oizRRHRZZFLgtXzKjGkHYLLooo0ulrbF63EeQn4spKG7zJ66ROi2BRmCd6whF35TWpo+SD4t+/XSrs9jl2ezDTr+ls7xiYk9/Ly1xxtpzAEDwH7cbVn4FFKAh9677ghxoAad2OxaQ3peoupWCXpamtJtXkRvm9eTAmUr58wYL9GV8eNyusdejDrseGEQVC/tsazzoEPoNhS602Khfcshp2AqyuKCzsUva1eBPL8bzJJ/owX8UjpUg7Ai+tLivL0Sta43dLe2bCC0mKyUJWA8AVAFltpKUtfzHUXv2IVqU/n18rh20brQKwTAC3WZDuLwvExRHJcnfcEAmYNsATyC9sobynJ755j0XtDqqapKQZk0ZdzTduCGFgKIfmkJ0CvpcC8bbxzQd2+bMu6RO7h67F44oO4AHurY9ajJ91f0BvS2vWls3rQPk7sej70s+dSzvhLHrBnuZtgbOYbIAWuA/yf+yvg71o/1vk/zit+hs/CNaSeOMBeM07BOsBBadumknZ7GnjZ+/LEGRPkuv81LyIGXYgTKtfyY9vwSL5a1vtIYe8v68aCX4OCbgpJ36kFi7+/V+AfxDqKn2veTsfd9BcDtMamAHztlPc3hYihiZB2AIROQ6+r3PB4wnrDpCOL2a3UmeZL70ZwO09vjcsSEVLfzAmf3F7rzXN7zSJEm+LFYWj82V0xGoSvj7TFey5Sc0tThJPhLhC4TQdGsbhdFh2hR12k9QPzqIw+WvyJ2DtkCeyywdK3t4V4nwuc/3/R+6+kX7d2bF1/S07fmoDwGjHcExKPt442wtxhvvahdqHYBmia6x3xc6QDSoeGU2wVi0SRwXsJOA4wX2hZzZ7MsKUseoG9BOqhpf31I3Ank3QMHpNl2EhB3vnvQR9brGi/dgdz5xAAyfHQ5UDtIw/dhctJpgL6hoW33luG5Rw4oM9/N0LcPecPHE0+HzlN55PCuHYiZx/7ebxs9cPKBwbcfWWvep01AlsAYkPLOGt2AWOyPrFMyUEs6qLTTI63/bXDAc8IeXWKYqlgoBUzXuyeOyqwuryzWm8o6C/El2Vi+G/kxe+z8bh56SkvTXuZaZbryWohnut1u6AZcsRHBjy+1E3TyvC9PQIZyHsy+nonxcY0uaV8YC/vxU/GD+EkVJp7aG8J+5bq0VEdaPqV7W/blJ0SSaTm3ldnC5STQyiQ0qyPJexI68tiXnkn/Ty/0GlEeZjaL5Z+rWKC9zq4ic11YvJbUf+6F0WTVu427i82NF6x9Pc12bWzqC38TveM7Lssr+gohjfI0/LG+cCjoFvVFay8AvjoJQB142spiXJUbz9TNXXfeVWxtnTNgx4veGp8ri3OaUztWVYveugD5fGsXwBqFDszElwSyegeoDkC+LsC+UOKFM4Qe4vVic+e8eeGUJSyBt2QBecS3BaQ2vC592nJET+6XzAu3Qvph6Hw4CovU8MDxsI+sHxFgX2rbiKwvPvNy3dg97JTuAOxD5AyjA/6ANEPkzv/Qj69+ZGVY/SxW51uytJQOn8CJsM48piH4GcRyDDubKIIKzgu5UNY7QWLEODBiyytheiAopOXTcgfyYMSyrs8r8PpMRDKuj3wa0vpTuqed342dT+w8p3XzTr9aTBnA10PaXrPLVWxFGeS7c8Cua7+YugBhzOfnpCsHnXA1mSBxdR2U3y+gn794uS21w9t0tTZ0PWGzWSxg5VWxnwvrLWJDbPetyLN2QfeKFKe2j+Q8zGyGyj8vxwKtt/ZyCr0esp99Xznr3XFi9vzz8mI3qhLwfcO9J+o33DvXlw4WNeALONeVd/26KZUGhOEDyle2XtAf8V0G1rQT8A1l7ioW5+6QnrtMDh7ga4At8CUMp/MFHjbD4P3t+YJ4cbGuLz2nz94rDfgS93cW4h2vAevz8r8Z8mYInBivd9ErajzqxcV1o6HjqAA25NcbgJr8Of0FnYI0APyiXhqGJh32J31HpJe0D43X4l+Mk97IQufvwuW6xpP24W9igJqYMl97kQVhIU1saQEuoMuxO/hCZ5jbV4oDznquR8Q6Kjrlkd4XHY8CGLAQiGAdkiRTgASoHRhaGZMO8pRJOzL6OAJxyiONHv68D0R3KmMF9/tBmUIq63PRsNCX8pClQ04DfA9dHnT43ol73uUPir3MQXzo3boYeobmdbV86o/y3tb0PHgdziMfHk2dszdGN96yzn+wURTplktM04LwXm37U9zMqQ4kuaT82ODxl8rasUZ62oFBT2WNF4Vpt9VDXsGPw+shhs/NAPi6rYymHytLQRcirSDRs7L1x4aL4uFHHypPPZzf4Q2Gyb/XZIH0+r2mAq+n0D/8gEZkFzOB7ol6dPSEfK3nimefYyfkeQ34Xtq42+4D0u4pP/fCwnhvfOsJfXL3hKUnq8+Lf0KguBDALGoAva6er9nppyheKOCNVmcLvSBsfNJ42A7ugDgyDHW75w0N8EUDoI4H7WANUENn0RgyG8+8aO0cj0PMXHYoe05fWdLXjgTIDJUjT8wwOCC7qT/0GF+gCqg7EBOf0yI0ABvwHk4Xso9e2lSAR7z9NekUHxAFlJtL5w2g4R05BmQFWRazGV96oA3GiwU6AHDy8LTT9nwwqRfoUmdl+uF5x0SHxUIgeckaiZBNVpTXLL53bA6QlCEACK4EHf4XuLs8lyX2ztHrhIYOz7d80Rxw4FG3mtfWYXXHyq3eqEeRefLQXBc010/a6R67LHmneZk0D43QpXXzQWrvL3LeDtKAr3/lKJyl3TLx0Ezeyu2yllOxzUu6JUHeA+kka6v0sZ/TvC7PU85p3XQqcxDPZdIYfWZnxU6nPOlu3i5Y0a1MwkcupSFnxykGPL8eqcftbHWK6XmWVCLLHz/oc4Kuc14jeuLND5YZeLFLDq/IAjcUAOvqbj7/yfu3X9rRmqrimeLixqK576Gdelrs1Jc26mb16DPN2l1bi0XvbssverN6vHa3AGxW//EzGnIWHznyRfF8AYiTB9DXjt7dPPvCc/XlK9x6zxd42pc2ioaYcMcJQPTuAkAH8NeOaqXx6h2LQA8yALSDNOAO1T1u8gA5Q9942QAunnh/+/jisrxpwBzgBpzH4zvsD3BnURnD38gHr7mu4QPqzGE35qULOAWK1AconyehwDB3fxUgFl1gCojiFQPOgDTgTgwPGeimJ3rgDItvRBrgDfCSF9tAnTx/9pUIFCQh7bQhAw54xUe0oGtNs/mTCMi02js0L57mOSjrDO3ogqx1eKJ72chq867HQb7VFwVpm/NMV6LbyxK35TppeH58LuMxdNL+h6wHl/E8sdO6ccpzea9zP95A9u3SU52kvW0csx13KLL8iy1of0qlrPL8pToRwY58N9jlrR4YMVDngXW5kMsmefS5TshXSztvvzJ0YNC9/a6r2ybyrgeZttFi+EuCbj/j64djNXsgQ1622NSX0i7o4zHPv5jf4XU75fiVW8BWHr/y4q99yVKYo6t++u6PXdInCibVea0kPnLHyeZOjcVePF+UL13W5/2KZ8r7Hrq/funy7zfT4my5WvR1fzxTnL80b04+dH9z8fwzJcB730Pcc4vi7HNnm2Exqu576F7pEO9Sr7zrPn3jSGVWj96vB1mCEFzhrvvutvjKpec1H3y3brmZPPD7uf8UntfQeKWtIwHfyuaigycOilPueQNyhs+vbOlzi/LEg/wJxS8IkFlgxm3+ogE3aQ2bS9f/z97bBmt2Zfdd57n9/qJudWs0erE804pVQyKZzJgxlF2JPT2UA4FQNTaJBhcBPK5KCooieKhQRYIh0hQpDB8SVwFxFXwZmzH+YAHBhqTKxMVoTIoiBtlysGTPWLFaGrkljaR+f+977+H/W2v/97Oec5/bamlamu6+d3ffs9de679e9j5n7332Pud5Hg10K/fr88dvx5fiK56RN7p3DkfWLg+neL4dGNa7l+WXyZnBZM/lj8wunnp73Hl0lqtpDGk+Z0J3mk/WWmE35h5tnet1tHgz/JK+GziSZl1W3oMm/St7D49+hs1LZjv0CbCGWppNB674cghtVbNdPWoi5rkx25n8Ek/etqQZjHrA50wtlCWjkq3h54NhiQB8TypEo3RGEsaELRmzv2zROXhaB3BTHmjrT2WULZ/KUrJ4vBGmyqDjua8bQma6HN6SOJe1g72jSyrmktGO5juHzc9z7tXNlV8vdJuGigoL5WaHrPKxR9k58uqD8jRVfWTsrkTdihE6hu0YX8uGmhc+SiHkVsRWkYENkQ6XdBPiGxFfA2Fr+7DdAt9GC9xmK+BWE03Czzz9xLVjw7FV/a2/cWoYmXgPn2Nl/NJw+JFH1oZXhvX7HnxsvOfoqr4b+ZF1/o59/BjfChX0nqMX1068cmLQ9ybH5MUqGhvgoE+fy69KPnwEHo9+Hhmg+Tt97oRW2g/IF+mRWFmzHc6EvOfQ1VhVk7NSztW2JhY99/XKHH7KwN+vFfsQejzPPnOZre/cNnfuSZxyPut+M1bfbJd7pb2+8pF4zs0qmqhYee85QHto9alVNjlYXjJjZQ2OP7a5/Tyb59b8sXXOijsmXOlVGvza2VPrma+vX/xWrLDLEJWDlCco/JKmA1dyc9DmqxIPaJv63nv0x5c8iK5fnwiWk+SBjdyTiB1bZru1XPGMmOjyBz/+pOSB1jzirTHDJy3jpWQuA2O8ZbVcactrvky/8tB3HOwsmK42skILnB4T+KpD3UnOg66FkG5+IB5+2WtZotluZAoZf615e44t86CdlvEs69eEQBVn2nFQjk6vHLr6x5Z5C23UAvXzX+rMDeMF1ZtfbLuomxD03u3cYn87bbfAzbbA7TkBt+iffnq2+vjjw9oTjw/DG6deHAfl9516bDx5ehhPPjSML7z4opCPiSeZJmZWxIN49z2Y/fPYcCn64bHHj62zih7+4KWwvPuhY2vHHh/WXzv3yBqTMrpMunqfQjaGmNSh4WkFrr9VrbSZtE9ogn5k3HP0oZjwDhxak0wr6Njyfi0mcFbZ8A8cekhYbKrznnt9hh7Psw8dWInVOfzcLs/tdGj+eI6d9OvxnJuJnEmbLXFkTMRM1PBZaX/sez6iWN4arg5HV5nIj97/kZjEwYBdG45GGzBh8xw8X1T7SMTFBM1qmm1zaCbwmMTbBO6JnFjrYOUJwoMRuWlwptGbJp5lslV9WBPxR7SkZ0JmdaXvq+4pguslDaYeTcXrk2uTh2/REZ8UPUgjdlzGuFxl0DWBcap1rvXaDGM9cuuSm7a86hs75cFn8l2YgGtszRh6/NkHkKmtojbHVWazZRutGJnj51eU+N3gm0nMZU4RjwvKLbMvh+Gy5VYJ/yqAM20MuXnGO68YeIFtOeUelwThW4zAKL+uHnVOX5hzRrtv8etRKChN2zW5d+7x698cn/r9E+Pf/for45d/7+Xx2J1bkzs38ttuC3ralJ//vF5y1tzx9Je+tWN4UTOw0o9olap5dnb6hcfX73uCfvO4Ptaj/LnnhpMAHhqGh089FsM2/BeEPXLyufXh058ehucke/jF2cnnLo9PPLxPHz96fHxBvwL8xHBtPHnt8fHhU7Lz+GODJnJdkfKn/++8sUrfHM6f2qktcE3ymvSZlJnU73lHk/ewc7h4dudMK2n6tUbNR8bzp07M2D4/cui1Yc9RJvqX5GWnVsk7Z3uOXlk/eM9j+gzya8Kc0Lb5oG1zttFzsmYCZ8LmJgD8RW2Zn7048Axcq1z41zWR79IW+dW1sxdf0xb5DtVVs7veHz138XVi0GT+kKJ6a4WXyVgP8AKbJuyY5s5f4CW1IbbHmciP3q9tdT0j1xa55G/FNvoFbbXv3a9nuQfvZ+sx2pL4nOpgxADmsnNwlW+9mrOlyPZqbLHKFyuOq3rrlo/K8FcnXvTq5EoZX/YXNEwSLdCyaNQsLmAb64aZbU9Bm9ULfAzmUqi6lbYt23AOv9KU2SUgWZ9q2UfwWj2rXtS3nI8w0A4NvjRGbExTtYuM55+Hdb4C24xFTBNFeJizP8TTsuuEjOTyVDfqK7ljsR3nOIEmVX+VnsqsO9Wjftd0o8EjE6faLpXmRvJOTr//6vhV9erjNF60+Y7hmOrz2Tu5Tndi7GXdcRuHry3pp5/+rIbnYf2FF4bxmWcy1ic0+VKm9PDrw/jww58eT5/+w/XTv54TBjL4T0jvG984PzJBD5qDNauugz158rJ0WUW3xAR+8rmwd/KhxyUX/eKgr798TNvg10ZWztBXf3dY1y8SiT+sv3HftZiIH3z0EWFyJc6KGjkTdG6Bv6RVubfLc0v8xCvq6NoOZwv9nfNso1+JrfOHH39oFT7b5/BZYedKO1ff+az6EU3M19dzkn5kYNV9bXho/e2LD6yx8s4V+GtaMa9qNf26VugPaFX+2si2OS+k7TvIi2q5Pb5Ta09W3LTA6vB6e/tcE69W06y4L1x6M2RuIg9C5KZjkFR5mqb8qmOsbVBmIuYFLlbGD+pZ9tFDWi3rGTITtQdocNBMzgu8xu/yFjUZOP6qL3CkZTzzLSNf8NVsh4HJoeKsP7VH2TjnlcezVj7q1WcWhCVZx2HUMrTLRSVIn6Iqx9e0fo4bHLT/VtUDr/BCVnNs/7aLE9OWOQaXnZtfdcwzptqKWBoAPhjLrVfLla7yqS7XEc+4T2ubmZzJ1/Ulx6/bwTQ5g9Gdmv7g1fFnVbXjxB/fJ65cb94c/8bL46fgbacPrwWWXacfnvdvy9PTGjqe0sQck/BMk7G6xZdk8alBE6/q9czw5JNPDj/3c8/O7r//LcmeHN56C/q46DaDi0diIn92eFZX5PEoa+KdMZE/8cSTvX2effbZ4ROfuGfGxA32Ew8dnzG5ays8MNCazFdeCAta+WoCb6RW3Zr4mflj8udm4cWZcWAePPr4jMmbnMn7DW2zwz8wnFhhgoZm1Y2MVTi8zI/FSnsYjkl2Qn+suHMlDc0qvfKY5O/TypsX0VhVs61e8TzvXkyvRfGvf+GRn9ZHjH6agceJwYlUeZQ9aEHXZL7zKjN9I9llrUzYDrzSVscxAkvR/mtewgzTyCy3r2l+I99gp/Jpudq7kaziNqO5EWHr2St+mpo6uQ6b5hhslZ+2QYjEjJfgELbzB/9dU8FTt3v1Yh75ZvW06WUxvKuvAqh2oDezV2XWKWZCr/Kxw80EK17ym0qlDcCvz4bP/tA/rWHjDkvfeHX8gs7blwmb68jnsOU/uf21mR/uCdUkdqemp3Xvyso4VsSxRfrUU0+NTz2lFa8m41/+5SfXtU09Hj9+fB0a3rPPHo/NJU2suvSeHLSSlt4zg2ysffWpkMUKW5Ps2jPPPBm0Wkf5M2GHyVfPpMf7Xzg+nj4yrEMz8WpLfP3kSYa0x9efGB5f1d86/JiUPflq7/vh159NnuRM0FqZD0dOPj4y+R7Ravzq7z4Xq+0jJ1UHbX2z4ubsfC+rbq22r/7uY7FiZjXOc22edTMZH1OMrLjheSVN7smbl9YoY4uVNxMzq+ZcoecLbPDymfcJtQ1vlJ8YX/umthxjKzw7K/okd9os5REeyZMDZfOMdzmRG48eEDZKtCLUpMRz4wf0Wa2H78vVMc+ObRsd+7b+dJUMH/yyOKa6YFkdOi2TW+bcdm9UD2M3y/3cF3lr0phAsDmNYRkPJUEjOZ5WDINh04a7YE4sFRUmPrkRgjWNx1bsn3JRDTFl/wVjycFxY2fBlhQtsw1yEqcK2nhyy0RG4oaGRxznzuffTU++aMsYvm1zZ5q8445a8T4V9VBFYvdDNWCHiXqJf+yOq9AdHvCdeh2VZufL5gYmUSZjpfwSOWgNECMXm17mAqMPyYZsHR5lXXKaqMf1L33pS+Lk5K2PQWmy1lcmK+WqehiYwL/0pdzu1gTPxD574Zlh1tbRoyZo4NrWZmKPxKStVfmT2hL/dFudfzpsMpkH4vEnNRk/rhW1Sicv67m0VtZaZR9X+QW9ZDb8+nMr8LTyXXuOFbmeVx8ZmKT1LVt6ln3y15/TI20tqU89ltvmPM9WYqubXfV3jg4zaCZ3Xlp7+MHHhnf+z5dmx+4b1t85ujp74ZUXNck/rufbL4XePfopxIjrD5h+L62nTP1Sz4p1DFlrtxh4TYeODgzG5nlg3iy3zjS3/pRPGZntMUnxJjV/8Pi2Jj4m4ufH4P382DrwnMyzTeeWO7eNKjdtG8aSV16ljbHuZmU/E7ctGp2TE41vpZYvs4+o8is9Ud+0aJ9hS4dl/tmqZYu83qBMcY6522vnz2XLp3rh18ISZegVfiEDFfJJvHHHKR7twNY5Nw7eVSimb56Unanfm1f+ziNfem38gqI45jYnjxNMrvR+rpfU3D6+3xaIc/B+le9ePX09c+tpDJokynxG+emnxxVW2eZbxgQdQB004a+D85Y4+bPPfmbl+PGvaWJ+KiZkJmhW4aQ20TNBs+oWnwn9SW2hDwtb6MJJ9qxkmrNjC/xZTf7Hx7eeeHaW2+fPavv9+HjkyKDJu44VL67wvJsJne31yLV1zgqdLfTT2hJnBR6TvPI93/vpFVbXvGX+4NHds6d/4rH/WC7/RjhecvDE4nwJ5Nti0fb1fHhibKcobFvOi1xMyHx8pP70Xg3gvcS5GdZ857Y/LcOvvEpbh5zJjG8Vc4q6Ue/GoM5V122ywBMWvi9E63abYrAFXeXo48TYKkOviVPHBfF36tb9nntALKYCWRBUP455M6wVp3LKDsjxmmUd58hZ4V7TtcBn0OP6gCkjvlZqTNareZU7logBM9qC/sE7bAv6D/9ofFmhH4trxBVpFYanh1c///Hvmv1kbYNt+oNtAXWj7bSxBfQFVJML1OWcXK3Bihpsrro7VyttVtLq6iFn5a0V+Zq2wAXZuMJGT5O6372U8pOs6Gea/wY9s9YE/aXYamcC1iJZE/lxvWj2TPxUI5P0M88cH/Uat7rQ15jMVzQJazU+zNgizxfWHg/b/BLUE09o/02JyRc5q+WHBz2vfphcZR30RR5rfJmHJuXZfdouX9WPPO3UDOE2QN+DWKXNA2caeS2b3iwH72SMbfWyAS23nJzVMV+NyTdxkVgVX9CK7apWP3z1irEpff9H23FuS5SJ02kzeeWD3116Yshow25k3oZuA0RTP8aTEwJ/5gWtQ+iYKTnJeLNdxgB6AEKmg/0zufEXn+cG05J1A2+m8lpf01OM4RErOmYoN2+B2eQVB4u4WPHysSnL2F1QhwyGbREH9Yn9MTPJgaGoP+vDa6JCwL0z0sta/aoux6K+vSLz2OGrfbZfwpo3yYdCLTkVH4rfLeokJ+TFysfkvcDywADTgxUdhKGibaMPrLhZiX/+88NKW0EziY9eiZuer6iZqF/URJ4vqVknV+LYnq/GUweeJuEfGVZ+5seH/0Tk3yCGGo9pcFVGebOU9ZjbAVd1K40MH/yZz4BYy2DYVqR5zGe1CM46gRFvVX9sQ/JCV18VIVSq2OQs572bbJkd65AvkzOJ+SNHYKLOEE6qzHTrNDBUUsk23Q7wmghyIXn3YIH5Pgus2vmVLac4B61Qacvfa44NTix1beRCvUIugevKTRZ/m9URnHWwNy3Dew/pjloBv/LG+LLa8Rj1ow3iehJR2wPZeGU48uj2D0rQFB9KYttzO31oLZDPqxfdwVv8Y6vbPOgsp1aW85k3A+8zz8zWmGy1Yg4cK3RPvuRMtDyL5jm2MDFJe/LFInxeOIOn1TJjUiRW3fD+u387PnERfA+EAEwTg8umk6MaNJlz46xr3LRsPrl1Kwaz07Kx8NHhzzQyEl/2cY8+5nS/Pub0EC9y6W3e+p3VYOwPuvqwzPIqM886tWw9cqcqh66TL5h+EprChrIY1T+0J2iwxtNOy5L9O1+GWcYDbx1yJjomvHdLm8WBHrJlcvMW6jnBRl11YLXLD4TxbHqzyde+yJ3sw+Wau56Vd6fSL78+fkGxH4uXrVqDc/PkMixo0sre4YtJbR8/jBa40TX4Yfjf9vGBtoBX3M5xtnHF7RAY7HKyr3i90HV2fFqYp4yrOQNV6s1z5HXgrHjT1puWp3zsVPsqLtpG3ozYZ+iIx8Vd8ZYDNwYa0DVtW/LHCpnVsdM0nnfjW34zObZ57kvuFDG2Ng1eq59jB8skU8vQnoDRKeZ629j+sgnqZuroGO3X9hjIeRZMjjP935CIZxm/Am+EqTLT3mYmf7fk+jk33mXn5t8oL9g7ZgX86hv60o3ZcJyTEPGrgpxHJl3OS7SpT9BsOLN2aXj00e1V8I0ug1smo9tsp7u2Bbzidk5F56vrKT1faVf8YuPQgflblsrgFOKKqzTCOpBXPfjGGrNBLn2HwLgBzuMHtt8tMVlVPDQvFe3Xx5r48o/79VGnQwfyKzP5xiPHY7s1HvPIp7gqW0b7TeKqV+OyzrJ2QOY4os0MVo4N/xV2kOj4D4ZtVBw8J2OjjUtwxjChswLFYRGHOmb4M7+YXWiriCE08lBxhR0kN0cXL+q5vr4qksnX8SHkJsBxUa6y8OFAECq5XbOUx6k+XPOW2ai6tyP9zdfH44r7eJyL1rDUwyveYOkAr/Hv3XFg+c327Vi/Oz2m7Qn4Tj+DH3L8HojprKQY/EV7MIM/5SVy49Gd3viNiLRl2x4/yU1PdcAiI7zNMI696rbqxCDEtwPFTytqu/qoVnd8/pgyL3jdbLKPaW59tp3xQ3L9oCPuEnhf2bZ2jfpJjt2qh+402XflWx+ebZD7z1jLKKNjOblTbGOqDrzsVH/lCgh/VMNVCXuNr2wh9rAPc5NEG7DVfU5f7cqPQuDPcdT6eHVfZctMIjdmmlc8tkmuv3PrpPT2Pq7sGH6CeH1zAs25mZZdJ+qoU/rFb741Hr+9a3Z3RKdhYDttt8DNt0DtqGhR9sBE7lRp86Z5xSyjzbMPRnMGj+5GRMc0vrHGTAdlYrAO9DQhm8p5Q5nf48Um9mK7WpMAH3ky1n6xV2nbB2c+gx+rX2zBq8lxmxc6FIrAdmgMfqO2iBbaB5+xzajcGPuzDWKpyXLzlpWnPPywCj6gGxb8dF+FdjtNZY6j8309SZf2ZZXLhOu2Aj/177LbeBq7fbuuLtuWy5bDN6/SyM23j9s5f/30qG/mGb6g6sR1kYd5xAtb0GBoW+WcC+2Bffnl0+P3PXpkdmausU3d6haYdL9bbX7b3t3WAgxAdRAyTU4HXpY8iFX5lK7lasO68GJgKD4oe1CJOCRzPIhI6Fcbye1qYXSqQ7nyotwUGYR5bsvLXEe0Oj6knHJ8p26JzfVBt9LWd2xTP46PvMuioimBrPwiCgBl15lwwBpD2TLAjquEDbsnyxmoq54B1kOu3+aMCdMy8oilMhqNnmPqdWkyyvwA5kWtdFnt8jleeI6lmpvGRBxOFT/FuWw8ZdPoY4aybRgfsoa9I1Yua8Nx6uG61Nx0r2OrN3VssmP7Vre3ommPDzJtT8AfZOvehbZ7h2WUUqqD07KBErn55NZJKo/mT3nWNR+XfUu2j+CWKjevspbwwq4xrR4uYgP5smQ+8TrmeHasz5ajlUEAAEAASURBVBwzIfPHW9V+q9l4bJnmKzU3W0kRanUNbb3IAfCnZD6D5TRFbMTYBLbj8gb8lKGy7SNCz+WwBbMlysj5u9qeBSNyWFOfxoNxwjYxX9dky/Nd/pjQnWzrZspgK96082rDsYVMB3L+4PMXfOXThKyENxXfNmW160/1SlA//lp0C+dTTL/r0PkAV4YvvnV6eyv6gzyhd8SN3AfZANu231sLeOJxjjY0HZe80pbVfEpTJtletZOSPDLoLSQGiOIXGZiKs03ngakAMTyhGxM2Jhj0SMZAe6CCjm1uxcPEukd//JgC2Ng+1WqOX9gBw7Zz/Rm7ag87C0n6EVuLBSyk/bq8oINcf+CaWhfbF3JsuN7GG0iZBL7TwVgsV5nPGc+B+eKTPXpeXv1PfYSDdsAPPwHolS5s4203eJ1pxZYrsy/nQPnjUOvRWIm3PTHR82uHQRfZgg4FpbCd5G17PK3t52vj8ClXpecieh2pC2Uxop0AwcsscLpOflbF72us7ewWt8D2CvgWN+jdbI7OOk3uuOQkd2jT1iE3bRn5NFU7VQa/uQi2cT0XF7qGWGmUrO8cHpgaV/CKItip3D7Bmu45TCXKTLZsT/PNXPx5ZWx5bZOpPoFVeehwUDK20g454pXAMVPmjwQPuk6+5htP2TasZx7lKS9W4GLin786kaJHQqfGB49t5qv63O4FfTFbfHmGQS1GMCiih4g6kzvZHjmxe0uV3DjLenDCWmbC9YZvWW3f8CdDYQtfwdALeS2/XTOt0H/UMbtt3E47WiUomxe0KsNNpCsb51bfjvWtt8cv3K71vNPj2p6A7/Qz+CHGXwcmOizJeZY0iGkUM6/ioadl60zzirOsDQYu9jwGDgYScfjzIArAEw10JGJoZGAnMVlY/UNjB/w0dZyEVb7BrxRnrafZL3Gj322AmThYkAtLfBUP3du66AMFa3vkpmnHOiBH+4FX6nwKBWedmqNHORK5/myLFe00ERMwtpYv69kuf7xkFUwJwndT6rabzZA1DBDs2FcUVK7tEnEBUmpZ0iqEXhiYx28eevaFovkB56BkXpZu36PC/dxCHcRw3ahDr2urU5R1jVLNXkcVoAe9SX371vTOjmx7Ar6zz993PPo6SURnbRH1TlwirPLCzk5eGRO6+rDIPOcx6bUBgzED/oaEoCWLGXhMI1qmR9zGWO7cOpaH+VIA5z9kyybnsBGKOQAGaRvE7D9IaCVsBm0cvJDkAdpl0zXmZqZr0A5O2K1l+PZbMZ1G7oLy+A5mbUeT4OOXlTGf3eVtaVa/Tsirbi1v4ItReazWjCe+oBtgA938BL/4rGXX0TxihCaFfRWMud2XwGry2H6OeFuFXAcq1fmtbq4jOeceFV4sbC8XHteWtr4/bjvd6hbYnoBvdYtuIXsejJx7gCevtJvEOMrQ/gNbZcY7RybIDVPoN79g7d9KUV5iJFiNPxXbRsTXDJlnuxtyGdlQlzagTXWNwy8DHnnEoEPkGG9M6zp3fYHcKGHXKQZWYqnMJrRdY6dl8zfLbdM5Ey0fkSK/pJeqWBVj873YtS18QqNbectieTf7m+lXvuma267zZb5vF963To+f0uOPe+MGRe3mCZX6xF9rT/ix5axyx3JT0/iuK7i1HcPx26V+d1Mc2xPw3XQ2P6C6uHPaPB2UzsmfafJpcge2LF5WaiDrG1NtAel80Ru2gOV3WarspTFXpRa//SBynM6DV3Qq1uwpry38QhwytQtNQ2zYte2pnu2Rg611scy6Lhu3pOnnfgSeyu17as923y1HDxvk/qs68DjXvM1cvyoS/ntJ0zjRn/KwV2MwXX2ZrnmlN4vJvhbkrc4LvNussGvH2jFi9+RKeLW+pi137mogh+c3o2MCH4djlm/nt64Fbvd3CW5dTbctve8WqBPn1IgHKefI6cC1XHUsc15l1iHfIJdNz0pMPNOEDgMFkzW0bRk31dlQLgzrFpZd94EMu+FLeQktaSsiULI90y5Pc9tB3bR1ag4dNyUCYcPu4FsP/oY2lNw+kZEqxryK2cxOaqc968EzHtr8yoNPsgy6yiuNzAk+qeotKweoHKZ47DC52I9zqxhPXmW9LCD8aGgr3Xb5jlj9EpYn13pdsK3cmrPLwbruQevga6yBt7egaZhbnLYn4FvcoHejOTpxnYRjANqkon2gagM82Io3Te4Ob94mJnOsayMGWOtaLwYKKZNvlsB6ggZjXeMdd5QZfLWC86BlTNUxvaDX7AZPNB9tcUzgXd+pTvfTiMga3nr2RywSZWwQk9Rl8LGRWUfRBtmg8zaAF3rISiLOiBk7nrSQi+bHY10fWFPacfdgwQQwsSFXeeq3To5Vt6mGkWob/ZC12B2v+U3c4+sTEnjqRd50wdo2ubHmNZXg+7yic7slvjG17sRQx6iD+D5P5hF7nH9hqJ/7Uucj53xPGxTAdvq2W2B7Av62m/DuN1AnX2rrTgxNx54md27jXAZX6WW6tmWZB47qptroeBPKQ6cNOoXdJ0MPJtVODKh20nIXw4YK4OsAxYiFr+pvapNBLVInFvG2hxg7xBa5yyUXGQksA2zo1FyMiCdQYapRc2ydbIjVqZAL5zfkTdjxrS2QdV6jXf/Ol+6C7TA414vBn3orLdNNScqm8nizvOlaP/D4xGmR2c5CXgNrAsftHDY0f5hbotI0b5+Md9ziRquFFLEr+FonRLX9ol7Us+HA0u+x0/S2v5KyteetzLi32U7bLXBTLeAOHIO8Oiq5eRiA9uRh2vmNHNiGdadYuVlIctNTTGAMEp2zGEdhd9L2FvxN6tLBE8IDkmNG7DpGe7Ry8PsBYt42lXbcPaZAps1G5qRqQLFjVs9F2J51XTamxg2mlittmXnObddyl5HzV9v0RjqWVXy0nwOWYWPsYyqvusY4x8xUH9kynnVulNvX+9W/ke1bLpsNJ4jTf9iPVax45JVv38EzrjEDa8CO4XmT2/mta4HtFfCta8u73tJ0EKJceaad0yCVppPX8rTBLDOOsumKjdVqYVgPlumpHgOyJyFwVV79VAw425tisFcN2t6C/sQpmOluAjOmfdikbVGmrkz6tc4LPoSpbqqs8qH5q8l+nFcZtOtc5dCWWU5e62C8edaxXs2nMuK3fo0fHSfrVPumjSGvPNusPDDmQ5OqbSYg8NaxLPLa0Kl6+xxXh+dn+jay2n6uZ5y+dg4rXYN3PYMnkKp64si+2bMVs03fmhbYXgHfmna8663UTlkHJVfcg5TL7yW3bvWBPmOcZbY3LZvv3HLn8Jm8+njZCWsUHxps2tgUQmhi8p9two8JsYCRgSM3rufN1XTyDXmJx2XrodZ92UbDF9dRt1pu0J5ZZlfT+uDPsVuJMsmxWCe5eTRmmiOtPNswv8rgWQ7fsQZfh+A1pvWMj1UdQCXLKm1dcnRqOZR0ML/qmbYfY2vOd4DfrumIfsFIdX2WxowdGwVKE0JzDdR2gGcM9QEXctPKJX9W2Xb6AFpgewL+ABr1bjVJx3QyXXPTxtQcWR3sqgyayckDnvPirsOrjz6hdGkOHtYPuw3kgSUGoIKH7DZtsOW9KKLaDB0dprxa7rqAS+q+xANjXIHckPRgab3eRp2Yq4OBXbHVP3T/A6uytyixAu0ydoy1bLOy+ZFP9NAl1cnTdNUzL9HpG9oY842DD01Ocp6lub9aj5h82ghouzWvutVe0HyL122c9CLWT+rEx3PbaKPWLr5+oh0Uf62X26O2kS6gE7L1pdu4qnd0aNsT8B19+j684JlcFiaYNqov4zmqZYNZxRtHbqx5njRcJu8xtMGEmQU9Y23bg7J1gYOxfIFWodtFodmzTVibJYeBHBt1MIvYiqLljgHRZnW2nYoFT7luRQePg9IU69iW1cN+PWGFPynYr+VpOZqkHZJjXJfbmRhVFnSxu+CvYY13bpvk8OofE0TlZ2mjz9CRkNyTivXijqTJKg02MJkl3fwHv9HG3e7fhLVv3+yEvvP5P+htrkpEu9AmS2464Jnf22ymCXxt+DFsRYNsH255C2xPwLe8Se9+g30QKlVlApjy66Rg2oNAUe2kMTAq3QEm2qwS2ZIZxlu9iNq42nOb2DRfYs+xuH6UgU2hxmF7M7lthH/sFCPEirzyAudDqwwqrpdFzs03JtpbwuKm61Y/1nNe7VVd88kr1pNjlU9p/FUd046x4i2rvBoH8mV64KsuOsvqCY4UdlpOufqgPE3GT/m3Y1kT58/rdflHFfMJzg/t5fPEZ4HNM5+6Wa78+XF1+OzBg7Ptl68+wJO7PQF/gI17N5qms9YBbbM6guOPFANvoZfpVww64YecgtJ05ZfcHDCNgbdgW6NpDMDwQ5jyBQz8YuBGA3DXE76obIgt6rJoFi+9PaKgA75sp9suQngb+E0+jbPbaXLKYMJG4+Eszgm5ePxNU40J2bQMz3o1hmXnxz6MJ7c9n1/swez8YGQZEpz1myiy6rvy7SPsLVMs4IrdzB5wmzG+mLjtSVave/fMHh1Xhs8q2F9Qez5fJ14qEJMuldOKV/SzKzuHH9uze/Z925MvrfPBptv4VYIPtuLb1t9fC2w2IWANWQysZTQz3vkyr1O9iu2mRHRag4W/KCP8Nt9VL/y0EdMxoQ9N2oBNdtYBeSk3smfWbeZjgDY+QBJYFpNLEVrXuY32GAt2bsSozfOqBsrlHkdjVr/ISJE3YKVTmkdjzVsoq4Bd1yHaWGViWMBZmRx8ZsGtNBNCndCxQ/K5q9jw0RjGJTqPiEiWOe+xIhQo4m+4ar/S4Qu8kn7z+N6k7ozjvl3xFvOzRPtbX19f1U9jznZr9N+9c/bs/fcPf3XH2nBme6v5wz+X2xPwh9/md4THy5fHY9fXh09pMDy2uj58rv6CjSvQBzEPYIxWLS0M9E1umfVcrlh4yOsA7NGz62kkZDCcDtS2N81t37nlvexRWQKqUIqG9hwdxxE4g6uieLC7aFJ/jFlmw9QXE0ttN1CP10olr+4Lu/tBjgPsG0vOX08uKBbaNvw1nkVgza887JKchy+VqSci/tDDLgnasSQnj008tyN2xFJAtgmr+osyPP2FfXIVKAdPOQk6UpO5iMBbgh0jYaXxTaU+emj4uxcvjWdknxXl8+urwyujPit7cK8+AjSbxctP3e5tSOinIEd+DvKyXrJ69Lu2t5m/U6doewL+TrX8beJ3HMd79TNxn1qf6efLZsMnNbZ8SgMMk++9DDxMDDHgiu6DnWh45k9zVw28ZeaRL+MtyGsBfCtXPcdm6FJfUuz8ZqSXrVhyIPZV2BvIGkfoTJQmxQ2f/a36GKcu/JFCRrv5uwQRyKAnaGw3FvCeNuMbi5zJhTLJeZZUNrAIeSlnGmuIm/KN2rLbNaE8fLRypQ2pMVUaucs38tlvGsA3hQWeHbXcNikab3pZvUPWDpyPtVGr4HE4rlN1PAIUcUG/c3zu4sjHgHh2+rzsfG1lHE5sb+fScNtp2gLbE/C0Re7i8mmtaofrmmw1wWpw/YwGj0+dvTAciyprQPEgz2C05glAQg9Gzt1E4KY8y8gtc26ZBzvzp3bMN35ZzoRSk1+8Mg95YBrQ1am2K43etDy1GRgON0jYmNZnWmaw1v/wF3HqsODbweKnxW+XoedCy82r0MozbbUN8Uiw4L8BzTPeue1Y7jJ5xZgmJxlvPrxK13LlV/2pjWUy7DhN8ebfTD6NwbbQ5dqgj7Sq9dPUymxPH9f5OK7yFzmdZ86PYJiUT0j3a+p/zw8Hh+eP3AGrZcW8nT6gFtiegD+ghl1m9vdfGX/q3IXh6UMHdOesrZ+V9eHHPvHoB7P9ww9o6zthNQCsHxtnK5/RYHJ87apWtW2E6JOLRgWGhpn+ZWIYN72sFsnz4OQcrm3XgWrKN95Y4jAN1t7JnbBX9erNgTGWuxyGemG+jWlb9juNFRVqH3GIMJ688sI0PJglRbHwQq+UA6pyZTl252AqHeVQXNQzv9pqsIx1omNcrZPxYWtS3ylvGXaKcXvU+O2v6pu2rOaWObdNytglVZ7pKjM9xZo/9Vf56FCudk0jI63pbnVd20aEk+3KsQUHYCGph7EXPozaZZp9SvmPojucG4ZTZ8fnpXZiXFv/2vqw8rwG5Of5Io0F9e3CXdsC2xPwh3Rqv/Hq+LPqxF88dLB302N6M/GrL788Pvroo99+h+NHuFWVz+jeXPns+Ops+Di9Xp165AvWGUDaRKtd51HjwCyGBFa9KxptlDWMBhWNDQwXXhHrG9pnO7SXVwch085pxkpT9qBmWR3UplgwkSLO9E9MpK6noIhpmjyZmr/BdrO5mbzbb4CpC9tz3u00oupD05i2UWXAg0/7FoztRt4UzWsuQg/TNdl2c9knA/MdAzpVN2Ishox3XkRxTtmKdhtb1/G5bJ1lNsyr2EpjCx/TVDFVBt4y546n5paRWwfadTGv2jbWPJedww9aZ7Dbgad/4Vv2aWvann6mviU2MvW54Ekkyn1QrE/qo0Kf1C8jfA7eqvBvnR6f1/T+O2qVZyX/nY8e+WBu0mV7O32HW2B7Av4QTsAffHN8Sp31i9kD0yEdVB3y3msrwxdFPp3cmzu+rNXt3lU9q9U2smx+RoM528o8j1JaiQEiBwd1/uaIzi+PY0xgTMliJE8/mh6jRQAS1QShK87OHWHH8ByAwtdcp1LU07rwTTu3nLLpqh86jQHGetRvmc6CDaIkNuet2G00u2TmRY5OSZYVVpDF7FSUZWIsEs4DqcZYbVc6kS380obGVLtgp3zL4S+LE16d6GpM0CTLXbYP8xOV9TFNbrzpiEE2p3zkljkHYxr5NFkOH9o20SGR1/iMNy5Rcz2w1d8UP9VDf8pDP7agW7tFLNDtfIdPTaY+/7KQM7AEYMf1vAH2zzwa3/R1E73CDfVP4PfNU+MZXVTP6ob9a/ps7u88dP/29zJHe90Fh+0J+AM+iV9/efxRuXjanZ48VpbqhK3jfw75jcLQKvnenQf1ktS4/rmVlZVPasY8LvX8KI46aHR+len/8Jvd+aDBoICQFADljRcf58FGCFO3F4BLwAp5Bz8yqmTbWZqXzY/6tUHIcRk7zadyYnAcgVUBjG3DizougAI5P1jmXBJIbJCwZ7/VrjGWOU+tuU4xuyG2sG2F5qv6tSjq4ELLHQv27du8fmInOjcq1jirv0qjj4/uZ4lBZJulaqvS4OPlp6JoO84RVdr4yivqC1jzjeWas3/znE+xU9xU7nLNbavnEjKxag5NxwbHyZMH/efO1/gQI2vOgwQj1qjnRIkTo23vwHcKFd1ca6L+UX0rFWPJcPLt9TPSel59+FfWZsPvfPf2hOzmuuPy7Qn4Az5lsx3Dz9oFHY3B1YNN5LPhmOU1f/n18bgGls8Iwyr3k5Lp+e1Ke/GDnq+EPQ0EtpsdPyThJyb6LGbfbz27x9DKuVpOO75jRxSdP/UhI6GLPxI0f6bJrR9MHXpsZii3TrWDuPKDlp+IoflYnJ3ToHWy1GJqhdAV3cLt9sOcbTbsMp5tkiO3veA3/ep/inH9FtpEoKaaZlrBWJhuM2zHXyCXHxZiQld/1X7VcjvAq7hah4rfjLau/diu+c6X6VdfN8It0zXeecU4lsqDBkuy3HlyF49Tuy4vtaHnOet6iBOYqVGV9Ygn59MqE02R87veJt4oGyMB7WN/RGeR+e3m/bBEnxGQ3a/htbf0cSi92CX1X7m+Nnzt0Ye2vzqStrsT0vYE/AGepZdeHb+gOfNYDDrRU+VMOSSdMAi2jpVY5Q57h8+JzaT7OfXv/BhQrFRrR3eXRAsjpLzbzslYnbjdSacMTJPniyDhnJhif1o522DxUkhAsT/XwQZbbTv0xbI1RZ0qo9DU7UZyoOm/KIm0nnWjGsRney3v5aZuPMV59Elb5hxM3PiABazk5qKGsMzf4AdwS+HHcYlnnWYyUAsTb9FrZOjYh/UtM588kgyHTxWqD9OOvaEXMutxKU3Tgh8Bbc8423U+5Ue5CGlbtycyx7+hfiGUvPl0jDfKba/awrVTjT34OoCNGKpQCubZH5e87Vabbh98VFofQUoFXqZSq6WM9yfUc+lnyrPXAuteUkfgxFFMb6EfDWfvtpmOo52iDnEQk9SxvFz5OV1vn+NdjVfeGE+M4/rXVsfxVx97eOf/ktj5UQ+UXtF++MfhrMez5rlsm/pwW8Bn8MP1ukW8vfTa+LI6xjGPnDQ2fZEuVBt+Zcfwf6j8mWmzzHFzaopZKMsIt+V684P3rRaSBoF48cpsTdMC6ygdx1Ix5mFk985xRV9NV1kLtm+mULWjDVogHvScYytEhFcMW2cZr8D64E+wYK1njMvEY5/BM0A5E+fCVjqyGo9oxsqwIRG+0MFfTbYPDzp0oBso/BY7PBZA1vXQadj3m7kd0Of7f/funvuvss3sgyER1xRfZQFqGGjwJOsY2xkpjqNtm+VyzZFtZmvqy1jbs2I/5zLkNp7G1W3ZGX7BK686+/YO67pGcvpsWOTczHIjTEJPpZxtg4zeFi44hBo6gQOwmIxJ75uAqoogm/T/X5GtXxW0r45/+/fGY6h+35/YXi3TDt+pdBNn9TsV2p3tV5PvF3Qz+uXotGplN3TvxHQWepiSOuCa3p0axzV1UE2eukPVfwmYSNnngqeOHB0bnlNMtmknBgkk3FqTGkpFMczDjGTFRthFHrqOM3F5Qz4b9+8ZVvbsUoRK3U+j4bke0JslDzLGLsvBhE8ZQW6MbVrWyxroajzwl01y8Lst2Q1MOyHwp3aNrTnN4wSfP/tGZmzFQFd+9YP7WrbNqtN9TOyAccJOjW0zPrEyAe/RBBwJpdYGjROGok5NFLFPHdSy9W1LOfqkGpPr4WsMeZgxyDaLvTCpsnFRRpFUcFH0pNfw8Kamq2/kJNvOUjIWeFFIW1GvYnTPrnFd/ZtlbqYWYNc3H7Oi6YPRr0FHp6Rfzmn65IfR/3UuvqYAfuH6juE3/sT2VjVn4DuaymXyHY3jrnP+8snxZV3sx6LzqaeRM+CyRRcDW6mx+GtafQZ74YRICS686KxFh+2tkDUF5NatWPMiAPRlL7AhSKl9hLjYSYvjsG/PbGWfJmHk01Tr53qZBxbayfJpjpyYzEfFkxM824MG5xTlwgiylc2ebgOHXQtl6GZ0HJfVetkM7IguxQ3Pwn3ua71qPTh5XjnB73WDXw1baZOctjMcmuTyTr1IxwqY5DbN0odztM9p/uF4v7Ve9D3K3C5rW4ktZ9qznaiW0+bR/qVMBB0mOjBiuP91HYCkiSyZebwl/X999jtasf9X169rMn50eyVc2/fDot1HPyx/W8IPq1+tNr48rSydz8mDKrzVVY3X61oFKyWfrqhUFYIhvv5HZ1eZjqtS/EeAeT9/CmaMDDD113CBodhUcZj2ciBJI3Ob4A7sn63s3zvsyNhQfvdE6OEeh0pVl0nR8pTOJ9xebtt4LqMf1WgM2w5+EzC59foJV30GjVB2YxJsQE+IC36qI1Q2sWv7PW9GKPNHHfmL7eliE7LrmK+8kwHIsnmOj7BJU35yNz+ix7a6bqRuKhE3yXFmafPjMjy8m9E3zvkyL1VmmtzJ7V39WW5e1TPP+uSWV95mtD4VsKo1K8918lzohKR+npngt5Nku+ROi+ePvpvCjKsoWiFy8fX/g+n/+ojTMHxl9/rwq4/egu8lWAh7u7BpC5RLYlPMtuAmW+C39SLVXn2wXs+Hfl4qx+hM087njm8+ptfVka9fn12HJlnPdDB1qB3YvG8rV3yt33cz1beZTL4H928+Ade6WGcZzzK3wYbcAOWbTdJcsISN3Mm+ppOpbYDD19Rf8JsMmrQMs5ndKZa4SFM+PE/itDfyGv9SHTAI3mNy+yxT46NkepywkBxrZbo9zZuW4U95Ltfc+vZRZebZFjk8Y6xbc2Q1GQ/PtO1WO6ad24btWQd+xVT5hGbGXNP9TD9FtmGcfSzNuVAmdak41wWe7ULflG2AN5uWxNF8f0X5V7Qq/trNmtrGvb8WuMFl8P4MbkUtJt494/DvaQ35V3bunB3VNt97frv80pXxugZl7Wrx+Fc31pHTmmIpUaYD0mec3DkbINk8Pxalu2RN63lnjV5OAH4enDZtR+hm1r7sB/44O3QgVsALdYpYajBzYxuoKXbZ5FNNuV4LOXV3lJMch8hg0xZN3Cc5/JPiKyyb0G1isHXCjgvSsd0w4HKRw59iNtSvYcA6oUOKXLRNLvCRB4rz2bCtTFbrWthL+WCZgL0Cxo/bBd1aXubLcVlmXes5dxzGu2w9yta1zNiKMW4qs271N6VZ6cPjD5oEXXPozWwFsB0mmHW95LSmlxy5Z5Z+bB8ri74WUHGjn1Yb0POXo+hj2cfnmOxnlG+z/n9Cwf5NhfUbj/+x2SvzeLepW9UC9Mvt9D5b4B//4fjD+qWTn5b6D7ujHtg37BEd7dob14QHASnAoogeg8Pq2rB26fK4Wt9gtiyBAi9JTNbIV3iJA3nsijEgGNxe9lA5BoqGJwDKHuHDjlQ6zzFzjy96185xB8+C9RLPTM8S27CWPnqczeW03NiROS5y4+LmoLUD8RC6cSiZhk+ibF6UG4+QjekrzoKvOqHXwF2nr2eQZsJOTVEuvGrTbCZg1w3diLcYibLAFTOdtKd+a90wNS0X8wtkxfEMmAm4+jWYmOCTKr2sHKByWGav+jXU9ilTX0+Uljuv9m4Uy1RmffKp/+5b9fR5WsBLAXtLbAL3IyJFnRNo122ObB/9mrIueWMbIh2ijxlUAlWnXfgEQ28HFMEtSR9W/9dXev3ijh0rf3N7Il5yEr4N1ian9duwuAVUf+sbmnhn40/rhaofpjdHR1G9d+8aduzfM9vljmO++xidk5ewSPQpJ5+EsxfGqxqYWLYGQN2R2VUlJkrlouIOu9EYCYzKYY8JVSl0kAUNp+GC8AoZJoyWmk/7VqVC6gEpbRFOrKRmfCxJ25k79+rlrGWDDlanfPO6TdlKJ4uhIDeGgRqMw8MGPLcxZZIn3GrPNmzP5cBPbKCHXSfsYxOdmiom7FahaPsyG/XwSw5Th4iVc9lsOw+xeQ3bipR6qm1h5jJelUHHFrSekdxsCpsEIGJqP+oE813SVG9TuPy4v2yKKQL8x+pWeQsx27dg3g8Z9UJRV7rO9ar+2DiJG1X6Ff0txKUP9rgnscDvwQVJf4bIbEOjVjy2bsf+P4xf0QewfvFPfmL2G1RlO317LRDXw7dnYutoP/8H47+hpz4/re7zMfcVngLRLVmBHjk47NUgFxNSdL7WNHWANb/ygMG/dn1cP3txdsUnJXp6dHR1eiYMrTu19xW+1vURJHzSwePOOQaGNrlqwgaH3fgy+GYDH2yFwWeCpRx24LMt1nR8hw7QGK/MiSkm+NhGC/ls765xx4F98ab0DuHDfviKCqQN13dDHvZyUhIZk5IxUW6HZorSRgxtEJI8WD94HJrc/KzTok4YoB3AhmLKTWO5Tr7paR63y1UfXjPVbQav+XAb2Yfz6eoXHRrVtiodsha3+T2f8FkBH9AEjB0wJNvM0uLRdsx1vM7Nv1F+M36q/jLbjiNs6eB2sp75lJEZb/lmeeihoz/r6Byva8bVxKueMsRWs7pD9o28ec6dJuNr/8dP9MXSl+BFf5JCxEYeHx+UHXJsA9IoImSQ2CZFofXd263/rw+agFeH//yfeXx7Is6z9f6OPtfvT3uLaD339fGH1Hv+W80tH6NbqMeo37jf5kS2a+ew48ihYW/rTb1lpmUE00GGshOr4KvXdGlrSIDNREontZzcEyV0yixWUA3vPDA6VDvhTyoxe4eXtGk/0o0Kuq45MGQc09ixP/c1Dnv3zHboJbQdGuh3sFVN/a1T28I0kZtOW1muOmBoC3ISE6HlyUmdkOtgnO2Sm7ZelGXU/IrZYLMxphj8wLNNYBWDPOLGP0Il5E6mPbHbjvkFGiq1DWzj3fKqs1M3cAf2S6PEM9Unhqm82gA/LZtH7pjBkGrZdEryaH8VuyBXYZlexUA7pp6LcDtaDqjyqg3Ntmv6OM71tTX9TEL0bSzN7c6xy/s/dukH+etHoCNqza45PmQ5bYZUClH3iNx45K7tHdP//zfdHPxHmohfoRbb6b21wPyKeG96WwL9j14Yf0h3vX9dHeWHPCllg7mTZDOoKw2HtfrV28LxolLtRjfTUMa3fHzzneGSJsxwwlETo8wUn5CwdAhJ68yJTSQ0P6KwoIdKS8RMYqzxlmhHh09Li9/AJwr9vAfJVWD6QoeUAa7sGFfu2adtebWLtqzjY0zEVdN0tefJyBjwVSXKlSFgxN8UEFUMTWCfdeK2jk1VHUwFXwfLIaaxBq/5DZ0G7v5UzlZOO9DVRvVpnW6nxF3rUNxtSuKnx11QXgGbBcbYuFTQI+bmu+bVIHp+lOJ2XLBpfexZoNy+YFW6QHp7wXN8HVzswnObYStSI6Z16IZk0PFQN8WuTx8M11dXRz6BEOYwEX1DpfDfGubd+n82nMPIQNKXe0rNExf2W41t33VN7xnUndD/ddH8DzvG4We2J+I8tzd7bJfszcK3Bu6rv3363oN77v1r6gT/LjXuPbNUv69J1YJaWaw8cN/sAOLswAmMxnULq7dlh0tZds6CE2neFa2A3z4zXg5pM9jGgVRoxw0DjaXFUZCt3PHChVnxbTfqCF+Cot4HOUxXbFt5u3ahhB4pbLSCdfRV0rP9e2c7DxwYduzdNeyUYuy9WQe96eRLkBGXQOCgF+IsfPRJljtP5pKJLwTzQ7UN1xMLfkkbYhMvdEKaB/skdxuEnVaPKrda2LCTxkTHiQYuRbM35FOc/VcgE/DBfckJvyKrHpOqY3Tbx/krAYRd6YFD1+W0igBmllpWWdmuFjRo+BTPbJfDB0zZdAj4C5YZ6SqY5vcQxMBG1Mu+lOtz96tra8OqHvmsxhOkhnNd4yGN9KKM+27QziSDR8JpSRR9/uy3iDeQto1e0MrRs42s7DyWagB8tH+JNeQl3iBbueMFsr+FOsKXoKj3mLBbsUv7/zic1T7Zz/3AE7OfAb+d3r0FOA/bqbTAP3px/HPaUvk5XYWHNQHP20eUNpN0bca9afQ/C+/ZP9t15PCwz2Uu4EiN6BeumBVjGqw7R9A6vH1muKSPJunD/m0Xq21DLzw/4s1n7XHRY3AVnUeE7cLTrwNHv+48GcRHTVmvqFkuqSUMXjif246iDs7T6WLs8NyJg+Y5NaMcr5TEM2vinY16eWvnPQeGXXord6depom3qgk0gm3BRbkGKnoZBgh1JVnfeeWZtl23F/zpBNsHQIRKtuc8eIVvzIKcoNTanUf9io75zrFBqhhOVjPTT2zFWx6KOrhMTkLXKSZgbUHnj3Yk17anuXXILau8Si+T07becQDrtp5iaxma5NiztLn/qmusc8ucw7+uiffKNV50nPGMVyHRN3Q92mEDx+TSrlnbA8N1TzQ6LPR/MGGLvkGBPhvM7JuhC7vZRxQprLUbhFBItm1Rcl/LCU826vPj27T/692UV9Sh/5Xvf2L2atZo+7hZC/jS20y+Zfj/4J+Mhw9cXP9r6g7/Tm4H0dX0O7ithbQlzGTGXKKUvcXlRz463MMb0HQwDzTOQWevbB1wSRkMqepoAhhfe2M4p19dCWfcFeM3JwYKGc+ackpsASNLHNi8i46ZrdWh81Jdv2cqTg4ViCIA8LYTdY7gCaH9vBq4DCko+KS8a09cyvUV1uAclzC84A3ed/hG79nNR5yGnVoh79J3Ti983pjwwDlFuTAcfmFFlTpfAqrgCTZwOlQ8ti2HRmb91lTRJrW5Ig7Ak7RgpzmxL9t0jmrYMYBy49kvmFuRsMdb0F4Bvx+btCPxTnPbgu9UceYty23LsmnZ/M3yd8MrjlE7SlevXh+vra3N+P7mSPUan9tO4c32f65lJ1/T5PpeWUnmMjBV7osvxxJbWMy5DqqFjPvb6//hT4bDlvIPuv/rpdH/4ge/d/ZfLtZsu1RboJ7jyt9S9D98YfyYes2vqmN8zHeaGmnUh9oKU60Bn0GFi5fO4cTLVx97YOD3OfvANKWNXZbfaAA5d3G8+taZ2UViwWfGoLtsr4bF5wSyslRqt93pJQR5ox4M5PFZYeUwsi75tnS3C19/LoMjLfij/gLVuMNXKkYcvZzKc57KC35DLluNL6Pjzvy88U59xGmXvtBkl9o76o4eyXmWNIg0vm20YseB58/xWp7GJCs2bXvBZpMv2MCmA2h5nXhh2UaHNR37MCZOhgrww6bzrnhzRNR/CbTyWQHfw0tYSjUOym4f0+Q1GW+cc2OWlZFZz7iaT3Us24xvec0rFprUfK5f1sR78fJ4NVhqV1/X1nEZHdO+1mXkpvp/4vCAkbCU13tjBafSbUwJP+Gjxws0UpXJqG4h7uT+P/69ccfKT//p7dWwT+9C3i7ZBd6WKvzGb49/SnuiX1H/OaQJKlZpsWrs95+9Z21oFwbd+w4Pez9yeDgQnboh3KhoOrnTR1kCPlJUByd0Kt56r31rOBdb0bHRbJQ9eOWm1TB3BoqHVWbQdkQ9fLvfOjJ+eFvTPsiZoBUjkSU7ZpBGK1bquqJvHYnfDVa+ErfT4bL7Swzu8m3QuX1cNVvBZEzRyKIs2rzgMw7dGMi/4pmxMtYW/x4mY3/Ey3axWtuQ6Am7t7Vc+gcOjAs5ejainLiX6jQMcsKnBtipNtALeZPZju3bLw7hUa46YkWC32UAlcJfku/5WHWhSV4B459kf1maH+HX5DrBq3Qt26b1NrM9lVec/dqHbZpf/VW64q/ppaoLl8fL1/TVrvz6k7ZsY5OZrdz4GJ+2cLn0+AxxbSOut/fT/7M+0WCx5cOu2GJCpo5F39P/7EP0peadZaj6k+oY/c99KJanrd+pq5a+mfbsI6+927v/6xx8c7Y2+9yf/v7tLWmfN+fTq8X8LZH/xm+t/rgu3f+aysZAoAueUdIdOvg6RFeB72eYCEgSfPzB2WFNErsCk6wQRTdpTGhSDCgqdJl44TekyTfOg86lq8P1V18fzzbIhgybdMKwvVGKN6JIn+TiGEvucs3TTAMS7JIEG8NhA/kEZ3uIFpM1F7nc9TNILXIpxTzNADTs2THs3LdPL3LtHXZry3+3LZHjz8k0eY0Dmskz7lUavmKtXyfYZXJUzUfHE7DbM2TURMBww0Fl+NZzjr7p6he+kxslbImJn267gRrLKgu5ZdqtiS1o9H3NOGYruOwcvmnHSdkJnsvGWUZe5eZP7UwxLju33ma5cKP6yZVrudWsj/DN2xTa8UWdWx83Hx+k8PU++r/PQ2mSNMjRDT/nLFDERUz1G8Eca4uL6JaatiHbsJ75mXOTfXv0f9Xnm9fHqz/6Z75/36uLMW7t0g1P7t3cNF97bvzXdEPK5Ju3lwwk6k2tP4pde4+WYgAXuKN+X3U2++MfH+4XO1LoNgO9Q0jRnRxQ2BGmy1O16yOfpt87MbyjVeWaR8K4HcZGi7fdHndH8idWrnDDjxjANcCPceMdUUy9UG7BL4oUklfLEznFdADRtAqGvm+2bEOmNKlej46hCkU/zKew88PmOGg7VR9vmu3SVvWevXuHXTLM8LnQ1tUUNJY38Jo7BkEGQybBmkJPPKpp3SkGw5UXJnSIvPlE1zbI8UWyzapDja0LZlqGdzNpqscW9CG9q+9YNrNhuWOLU7wZuPCNh7VMx/HYPrhKU6bi1H2qX3HFz/qFS+Pl85eGy7q6okXRY9VLo9Fr2Y1xX5CkhQAoMFHu16E84ztTg0Zhef83Uqamn/8tNiCz/+HVOvMc29UvdVfc8SUdTVGdNq7/qFx07hZ+6kX84SbNE49SFKIdxVDhO97/FcQ5fcr6xz77z85+d17/rU1xlW259NXfvP5nx5WdX87+kJ0rG4Frdt4kWWqdgytYVzMlI/QzfbsffWg4Om3A1k+m7F5Gzp8HYWgSYwJpqv/62+P5d87qWbBS+k+FebTiamzJPteMAe6pRV0GI9sJl1G3uW3bFYYKU++AYY6BION1DBrgWui1Je26TZwxIGAPrCxSD5HaWwsg0cClVGlbSQeEobE1T0PHIxtn+/fNdt2zb9y3Z8+wWzdGmmrm7Wsr6WM+Wbq9kZsmN4688m1nYbIFD7AklztbRMwJVH6Cr1jobI/FGHoDy0e2UHG2CQ/EFLtTK+DDvAW9qH7TpRrHuyktq8eNdGqslV6mc/X6cO3cheGCvrDmWl6P6Y16db9R4HqLnRUEC9dytkFqWGfe6uk1pXk90mjT/h8jgU4afJKvXJ3k8NZc9pgS085L9MWwmrqlbwajHfL6WPSBXVLGl1S4jG46r02A4kBk4hcfyYkmiWuSG/PKw4rKC20WnqK+UOkHTFgOTvKQOm3o/+Pw6so4+/Of+edm3zRmK+cbW+wub41f+83xu3fMxv9R1fxuV5WlU1uQmJU5Iz5XdkvzCz4ZD903O/jgfcM9MXB2VA78rU9aNfJ+pdpedOo5pMqrzXMXhyt/eHI4Fde845nE1usw4Wt02FAHeu6G+Bqu+l3UpXdHW7Rm6GWMwYsOTqYBCTO9DLkhlbh67BUkOU3K5CqL4TsdF78d33hhU9/JvXPcrccC/O3VD0i0n6CXrbDXlWLgoeQ6c0MUcTdIViILpnveMGSd15QpL7NjHELLzZvqFPMbyHqdRBtNEFMeZRITsF/CCp4O+J3iEz3nW5+YK9ZxLPCEcd3Mj2utMTfI7Kzllk/Y2Fy/dGW4cuHScEkfJYovzmjRyI3OP0d8c72Ua2tqZ9m1towXehM7xIaPniTXV73N+CFv89NWxqNgzA6VjX54uJsxY5u7xj4OTXy7jt3mRN5tT/jTtoj21SHOSUTVDk0vrgdHvWCr97vWDL2MsTDr2N6t/8v87x5Ym/2FH/iB2bkawlakFz7ysRUaQFPD39ZF9l2qa9+y0kd9NqS4iPKzglq8ZEcKnjpVDiizcZ9eDEJxejGznWm+L2jnKUkdeNPk50HY5A/Mvj3jLuVa/gkdi0e0QrlbYBDIxFiU23EsMGM7DnDrVLCoT/cNf24qKVuNPpbSNBG7WNRfiAbNTHGpjcaZXimRy9Ze81gdW8ltW/5pf0Wkd2RWeBcm9pIjRldIvrJOQjW/1Md1IR7VJ+JiANYKia/zvHrm/HCet9T1meM9+/eM+7RK3tur20KhHdzOsKq80g2e3l1Qjn5vS5VjpVvkVjAGX2BcrlD8RRJR5eZLLZJl8M1ropTXwgQTtppB28m2FFB8eBvsNkblQ0+T5VXmtrWs6zQG8VtmPZfBqq3Wz18cLpzVilcXB7MrZzoqzjWiFL3C287xWyZcgOIjnzbQvJ9kJJh6v/0f+7IXp8DnIe3HxRhVi/YkXJXsmzpEbFJtepGFvFderKSpS+Lvkv6vmj1+bjb8JZ2Bv51nYeseOcVbJv3v/9fqk3pw+7foDE50wEwexeeDUHQACRPPJKwhv+Hhfe/3zB7Q27n6XaC0UO02o5FZTg7GOJcth28eiqbJ/58Xxj9SPHHTYNt0TFmT1LkkcCa6GpzU55khhdSLZDxfwobtB90O0xhg17SgIyuuCxhk9h9lijFmEl+mwARfeFgMLr6pMX9qp/mx/TYwefDCSk9NdUMsAJBpEt6nl7jYqt6jbzDb6fgdYNRfOMrQlqvYedBOlm/IDVBuO375q2Lx45hdIcdSTCwl0SMZ73PT7aW429/dVsDGISAW8PD6zUMzUHk1TtejwUI/XMFwsoLKri/2ItiGs+9QEc84yvqKyCtnL46XLvJ8dzZbi2eiCLjmuZRzMurxOwiu9egXzZ5dhmo7VD8RE3wZ0HUY7dDjKnEqOpUW+3+oLTnYZvFDNPIwv+8Ntbjuqc+87ugWvW5d7H6ezbzT+/9w9cqf+hc/s39Lb0VvqRWw1lg/pWt+nV8I8N2or2rfKnsQ4g5V2Jyp4opPhKcSxhdt6a14tQvEnccdMNTagU7FHzLLaxnaq1/bNA8T+i7l4fK1/FBN74wAZLYFujg540/CjJdeneV2u980JccAOP0FkcNbyIPX2FrUs9Tot+zAse3BeO6r+UEeujpKqMEiBzj9jEpjZGXkCYbaOtA6RDv1mFT2OYncMAHAkDSwRWCI3Ag+T/EFJSDll+D1ws7FC5dnF3DIzdOBvbN9+q7q/XpBaWGrOuxGYFAt2aGLxKA/n08qEuE1XJWBIX54/OUztzTkejU1e9uQh+3GxR52anJ5wu7tBD/0Wo5ujx26lasdeCRwpl2OHBmEEnqOq+YAwHS5aMoLvsUgvst6m/mds8OZS1fj87vikPIaiXMrI0CjjvgLqRmUuc5yFyXaNeHqJO7L6ahfyGEIvSTyHPExOmxahxgS4esKtH0jJbkMJq3FfW/s6Ky1kQRMAmVcXSqwCUZixbmt5EYLOGb7cSvcqf1/2L3np1S9/7BVcUtmW2YC/vv/8NoPqAM/rCt5vU++5ZTP+0AO5tlL5ttTuuhjDmG7Sgg6z6gVxYb286DiThIdDj9hIAeKLqs8aOOAq0BMjksTBuNPbNECc4qBIhTFybCiNNcrtjSi5F2ztZkUkmf8XJJ1z4FonK1qsICep2yn+fbdTHO73gwvmGyrbDdWF5Ek1yDn6kUFc8dQVQVS9EOj8Zq23nCNpi8oTKTU54Y6Gk9M9iuS9RNx8jb4eFmDvL4l6co754bTmoD1gxHjvkMHVg7o27j2bYjFBtNaG/taoWU8Q55XrNHSI4S4LhQ1/qljZOTI0IfRUpRFF5ZFPS/VWsCheyM9DNh+0Cp0W03gG0HkC+BSBBp1Jf5mI+rY+Mr6DWUzm22AHGFJard1bTGfffvceE6xxDVerzUmxXmZN5v5wSKuA+qKtXmNTcWEJ2P0dW7CSCGbH4Lng/WILurTBL6+ZWFD/wcyjyvtL8YalWHZnF7V12SlXa4Zk/sftrgppF4CROVU8KlBCiRu4oJoB/z3VcId1/9nP/L3/+/x0L+8hZ8Fb5hA6sm9m+hxtutHtD2lntu6mrJG0bN0zUfnoBP0ake/ncPnvaH1UMuBQGeXSvXgdUspQ95U+0BMEFXPtDuyw9HYzg+EMwn3hC0G/bSQs0s8gBXfetgjliyndeiYpKizvE+xMQiELHX58g00+c6A1FWhtZ7L0a6y6wELRLSrcm95G1t9gqtlTg/xRtuGTGWtXvXFBevY0YDDOBUH1VhDDucNHVYr0FkfQeOcYidtCQmo2aR9q99r6/o55uszvV27fm7nztlMz/f36tnxwb27Z/uYnJtatINthAUaRom6MRhiFxZlcPyRKEeSMJf+vejd1AaY63RGI2yi8isv/FahaOrefReZ+VOZ+QW6lKw4bNTyVAEZaYrTjyFcPXdxdv7MhfH86lpe22CjHrLp2Mh1ZltbUmOd4ziC4brn3IKYJ1T4cWoB+jlP/2gqAUgq9MFRCew5RdxzuGRdIZSR60cdIgW2iYF1LLE2PS7UvO7mOrilD+vN/aiK6gZcVXKd8jUOiUPQXESGzzu8/x9URf6M/v6nWq+tRPeB5W6vtBaQ/5Qu9j6BzS9wrvbod2QUemc2hry3Dx26lfXB/9U9u+OXfaQnhDua6CjOtUK9d1LcaE83OibAlpDPO2syGdThX7kyu7LhbrnFGoHHDJRx8hzMrsN8i5dBim/AQsZdtv7LJHfdGbrryUQnXphwgyELfsQt87RDm/TqoNKqElm0J/hc4qYOVlvcgHobi3bM8Imz1peBToHnNngMx8Bj8OWn0wkItWy+Zp86EKPlrlO+5dWaKM5ntEX7dqQV/USdVvyrs/PnL44X8LFP29QH9g0HNCnv07dJ6SftM6WzPD+c8KgaQbS/QEVYicnBMnU3O8pM1kT5MjpOFsqy20xTijQtm1ntNOimmesEIC6CEj8y84xzeZlBY5zb5sWrw6W3T42nLl6ZXcrYOCrpXMS1kSUVVVbytReyCS/1I7C8lnXuw45ah2/kkJxNE4W5EvJmOmzO7eNKLFp02bWJTae4XnztEHLrP0IAiutW1yc3Wb62rRp9Xvx+bUsABvlq7lFjjEuZSiBUz8k2kEDdT8eGD78t1q5j2Z3U/4f1P+722Yr5lpmA18eVh6Iv6gKns2WPywkoaRZquuTpU9EvmKiiL0Qn88WhDtA6Onef2pnVo+C5klEb8ykmncxxlEngnMy7eGm8qv7JXEgv1DFmoAhVITu+DDdFwmZnjU5LnbIjj2zJYpcVpXlyOrIvr9/vRUYnj85OHA2LntjavtfXgejr9GCrzNwWBEjCoxGjBtQDmT7zBzYS7RtEOAkFAqPO0fbIbHg17cRWcYszxOknKpcvk1F9HKPLgRQ2Wx0iVORxPpv/aCR8w+f2ACW96YNqWBEn2kKVHoaLV4YLF6+MFxHpG7h2aiLef3D/7LDesI5vVg6V5twxoJemZLrR0SacxZaMpQgdUTSZ9Z0b2202HFnVm5atZz72SMvswLe/KQZ8lSEn2Y5z268yeGu6TTp/cXbmzVPrZ1bXZ9d0M8L1EzYwExdXXArwEMT1269R3HNywOGrXWeAI64WCGWuSXnk6xlXRvnVTedKXKcBDSu3pv/LDQFFWMRBon/pLiLedFDwsKIDRLtEX4iOHBJJozIUan+E3xsn7VOdsEVHQUsVpI7hLa9jLlhQ7ZrO9lO9iRBgXuS3W/9XpVgFb9m0dSZgXYPq1swjOtl5NbdrmitZAwRXPdcvV6uu8IZRISgwccmrA9Bh2AvV1tklfRnHXsrxvbNgWoLnl6nMi06oQnZGCEtuwBPk0rWZvukn7qlTJ2KKjq9YGLWIN1MOUDEIhCwoCwWhzLFvXanOYVkr1ezbmg2NJxccbNrJtmBuxErghAm4DlEvYqHyYATKdlXRRmFK3uZpWZEeujFwUIiVdtQJWfrAm/0oEnxEmVgjsvSJbfjYAxBRkmeCFYg4vxRkR4HoXHJtxOorADKADdBhP5Q4jMO11dkaW6dnL42ndQms6HPGB/RtXPfoha79Wh3vDj3poh4mMNOItAkjExapX5g30/lEJ71bOM+X8bvfOSyrpbJjaE3VywW6KWldAOjXclWqfJ3/a2f0fPdbp2fvrK1xpelCi8S1lNcReGKOuFvwZCDBrPtlAtFpW1LOnRXBCagUl5lWmCrrnQT6tP7Jb/spTHDzFktXVKSdBy6aoNFKKYah0OKAA9zS/5PAefwXS3Mt+KZKjKEnAPUA5/OtZXmMD4FtpqBT3uoZFzEW+MOo8iDTXvqKiodUABpB/vGWeVCOJ6ykrdul/ytKLYy2btoyE7C+yJFru00lMT63y7Jd2LqEo5P0S1kXha97Lmak7vQSra+Os2+dGc4+8kB+E5atcClBR/9ULpVkzDNRSvBbZl3GBvC9Aydk+KO3xtNaoarL5t1zqqLlpOii2Dqm2ETcU85GgeEmI1cf3CILz4PdwJKr24Z/67Z6N1tqwGyCbjhxjjnsddUyyesbBnJLLvP0kzHLHUt7a4Vl7DFAZHwSNr/2E3VV7EScAwkAbM/jyYHM5xkkSTl1DtjcpZb3KW5hhC2w6Uhcy4ElzVEhrp9fHc7qc6pnOTf6Ssz9+/cNh/btnu3XR5z2pZ9mumXYJmX9IqJk6Fi9dKYIVDaTbcav+tDgmusQERuxRF2bEdPOA7jJYVo365h/5epw4fVT41sXLs1i54AIjEmTWauMyzUkICFlRFidztw+Cb24SDLQkK1pc6Rd5PaZuT/hwFnLCTDMYTQSXF8XMDIC8pBEObnRYKHV+gEOmxn6v1K3iSV+GjQqgKVWJWx60k9p2gKv5945TsS1rmsCgMDaqi6XXHMRlu++/q/meY222Kppy0zAurB/T53hAWaQ3HPMazz6O3NR9DkWQnHnTTejp5B0FDYZDN+6M4+HSsPbZ2bn+Do8PQcJyA5mAAA+C0lEQVTenSgp0bubVnRC0T2HrxRm03bHU0QvdG1DZb2le+2t08O5FmDr8Y49f0ZFMGyipTm8DTri6J/6MnflIISRNMhY8KkY6NRNi2EhQpEV5amoY7rHvDaVA4C98ImdAOM9FPAbDRVyidcyqh6IdJmAcB/1FRntGwWCZNeuHQg8UKyaKVBPxPjMFQc3OzERZ9W9ipBNrKAtxdBAARNpCIpUSzyy1nwcOvDRzRxTYCNI1JBENQOj70TST9+du3R5OKedz5l2RHbp2fEBfcTpqN6WP+iKpl5Wqd0khK0wWwNJbhwrO2OYqwQlZtarKC0hF+w0nYW4GgBb8Gu+xNwCC6zOwdqZi8OpcxfGc2cvzvT8nHOU/YV2Y/uJK1bcMI8BTlm6bc2LHdgyGM9tafb2kCDA7Zw3tQgxA5GrPEWcF3Qlw086A8P1cCv7f4sb070+8hLeiT/qkSUwiglu1DNoeLoGxI6cLAy16zzLrb7NAZVUwgf27ob+v/J7UaUtetgyE7CeAf+m7h8/w4igi1edWlTbDYvnJIyl7bfEYsdLiLjYuSPVdAKtgwYGVJsNdbGvvzp77ZOPzf4Y3Sh6ki+kUqDzkMKI8igWObJaNI3eb744viTf7ITS7xitFKeymMAUiTCxnZXxKtD1+CiQoBpv9A0GyrBHR+edjuj/eptabcFYlOWsGfYJhGO4iXaJqVQmBNY/mQlxOwonk7Rj+MCJ27TxCSLCDf+oxUQqa0ESYjOoiHAjAD4kp+FjFQQYUJinntgOqAhhVnlLGoNhMsPx2ys8K2RrUBq4lqF0IvXkJVvGJROTNlG9Q4YeYz9Y52EkjJmSVrR1fD4qrOl8rF/XjsW11fGKvo3rlN6iXtmzZ3ZQW9WH9RGnezQ5x1Y1vogpGq9Hk8aXsQ1PhP03G405xUzLXVcO8J81NXfOM9/5HLGRYuI9dW741uvvjG9r2zd/jUgnK/qX2ntVlYy6yl1cFjpTPIvMiuc55HS288tGRjYN5yFu+qSoc5FnTMpcHjpyfWAlUijDhT3r7yysRtkgzEWV6cS3pP+rDjHTUtfwLVdciEQbL10pcoUQMA50FS41wkdkvdi+bmG6ZQTlYueqzCuSemP8Lur/eqXk//XZ2Yr5lpmAd+4e/tfr12Z/WSf5Hnfa7Ix0faUYjeaXwLxnM/pHl5KQHpB9n85EBzn51nDq8IFx77GHZg+jvfAZSjRASSVWaEvk4dYBYUDJOi+fHE5evDy7lIOKnMufIomOG306YoGbOui2gYyYo1rMh4yFJPXcYDYb4uQAlnUKSPhOKmziEBz/5k3SAATC4JCYHB9pqrAn74w80MrCSntxRirZdq0izYOAhBi+0mdr94BxMxATKfWKAYmBtqwAomYY0MtUWCwYAnd7iM+6IVIMx0mGHqTm64gfPHLpNn+Zgwlb1E/yKIsCJ9Mqa/8wleAF9trqsKbtxlMXLo6nqXs8M94zHtGXqxzU5LwfrZtJFbbsuoE3tYXOEjbNEGlqh5jfLVlHX5px7lunx2+dOjc7k9cUzZ5tYqfZLmpH7q6UkLMS5txx4ehsaFbOJs9rxd4F1//UF1CQfkMoCHz9RQqfwiIHJ8U4YjdkwsU5k8GIPdU4e5jBDYEttJ1tEwTnExyAQOMnzn1oAsmAAksVCS1iiQgDrB0S9HWY64qKuASd91FiCZdIZUztFPVIVduNCDCVBqlIJOLDVtY374Hmtm+v/q9QX//8Z2dfz8i35lFncOukZ746/iW90PGXo9J0OK5eJVPZFbOzxVgqGRdvrK4EAz3HWltMCfS1lN/16MPxHdNizHFRmBzCv3jpfVFIRyK0E68Pr/1/L40neR6kZYP6tGIRNFdzipG+mTY8GkRseI5uXoINZeaSHEXCYdMVWlSMF01dYRECoI5hQGgxiGk7kdM2xgcoFLWVwCDEwBGfb8yBkAk4gpaRZkaZHoTpx4v4tUW9rRqxldCpJJ9/ZoVLRBLlbB7FYGl1it2gW+DQSixNenCynTocWYXLKKD44aRozKhPStMOcbSU410reEDDadgPQ12nYRW4/imlGVyAFyPheTnpTerde/aMhw7unX1Eq+NDxWfztjxrLpvx7ns5uHH5PeB79c4pMZMcf5bm5RvxwZ47P55+88zwhr484zyVzZbN2lJFmXd4UeE4rVFxpPzXP0AqxpWgcuapCDSAkVdj4jY9KWMEPwlvpnTRiZfXUfaYHbKdsYVV9CFw3lRNRV8InjmL/R+1muwYFU6uvXT7CjavM9a9c83wk+WoA3bs0bCwjd27uP9rLPvP/vw/P/t785bZepTP95ao+S9/dTyoNyX+Z90p3zOpeO0DvTtw/auzaGBe00dvct3UOniM+BqI6cbZV9Tx7zu8sl8T8bEjhzSQoixLE8Ot86cgFLu3xJ+7NF568eXZy2+8M55vMYaJZsfmpJW2Y+sqDMUh+DEYEEAk7bWJ1EzYyh52mIDieW4MRV2Ys/GEh7RtHopqs2iv2/r6mljYzwmSPMfHhSZAT22ZgyYhYbW2kYoELdbcF+XGVDWyZuKRluKy3blbmNc3TeTEHTcMjPeRwk+ewDToAKTPwoxsQRx8AhG8haU7AkDi4Zukj5RQzywIqlHWdrqe69RAkenLGHYe3D8c0ReAHNJb1Ue1m9K/qxpA81NV3hPNBHxYvweMnWkiXNt3XjHaVVh9+/T4xuvvDK/rM9LaZs76pVqcd8NdR5VjMgzTeeNIO6WehMYt5HFVsnq0gw6z+RA4xMhTUideTkXumHC92aOMQvp6mhtsfDEaNN2rIPucy5vr/37+UoIn+ta0GUa7FsK3jNMcNT45zMcuALCjVGMOOtkpuFP7v+r+xud/ZOVfdV22at7O8dap/i/9g9XPr4wr/36/0OMZS27N0Ap0CP2LEWDaKmUCYUhVz57Davm+w8P+jz04PPCRw8NhfV5UQ15JrXe2nh6C1dVh9cz58exLrw0nNcDpJ7r4qj1vlKbugm9Yzb/7b64QE8ugA5UDiAcV6sZzXybdjfbdszfmbOfN69nsenAIh9PYWhUDY58AKy4UN+Ehy/bZGKf1AtPqU3nB18HNrDzbojUGMegGjCW6noSvafyat/OG+FwR7IXemtYj0HHjEoa7TjiKiTf8OSa3p8vOaZeVlR0KhcuIyaPZLXXSj0Yc2rdvuG//3tlRPTfuXwASWB2yjShlJWs5uYtHfozh0OLVqLpwXSziaunS1eGMrs1Tb54avqXrVNsV2RbtGiPu0O7tAKPUofLRJUkh3GZpfrQeBjEcbT45R+5nXJR6rhPnD3xORJLm+cV+1AtiWQzG6TZL/f3W9n+57j5b4/DsN1Kcb8St3WC6vqa3Qv+/vn75yX/zzx54PRplCx+4Trdc+qVfW/sr2u78C1Rcm5RZf14P8aoJmm2s6MXQpFZOZrI41t5TygxqaHz0vtlHv+fh4RM8G9bzvkhnLw5vXrg8nNXnSVdPnx0unrs0XCGS8G/fIH12WoiUdbus/6zNZLBjU5etQI3oqacMtRyJii2Rgev1VjlAiiC2gTPI3i7Ch5/WNt0H/B5fix2eU/hfXImi69QGIm53enKbxeBqblSiFaY0bPSjHaDVJk69beCbOcmFWdEWdNRVtmkHt180Y9Hr5WkM4R+7XCcxP2ebwwJLEibOmyYNtwF+wlTzYXngJdA51st0LTYxd+kbuA4dmB3VW9VsVd8LzuZDpxx6SBMevwdct6CLOMiYFZpRffnIGX387ZXT54ezIWwxLewsOIDmkCJf/7hw7aQTRK2myejXIOfJ500ogeKOL1HzY7Q/xfC1qBOoFkOnIWQvzumSlurnwbKFOPJcdl9hlN4MUR2lj+QHKE+KIMSLRkz09gGEliCFLeUuc/0s9OklGOncJf3/v/nxf2H2DM2w1ZMvgy3XDr/0a+PPahL45LTiGj50jccdsfJ59zAu+0DyKz3tl8Y/cN/w4Hd/dNa/bo2O+dpbw++/+c74xtxXbp8t95fx2N6yu3nLam7by3hVBm0M9TY9za1TB2nqrPVka69JnBO7QPN2J310ew2XbZ6xLIvD+B4X85dGUfvv/EZEaPX8ieGzaVu0pZ5Ba5yMiTPrjqK+4kwbmFEGmyaZ3Bkkd2h+QQdzi+1lu4mfHLGr1uLGA4nt2gbizc5/WprHqK3kffoCmENaId+vyfgIW9UTbwtFHFIZb0Fb6HPpPLaZTw3f1MT7ml4cW53WZ2O5N2mrD1OOXLGqDJ/0I+iMveqbpt71uuixSc9tYx556LFiDR/4a6/251ZQ+ENvbn+z63Pz9k79zeRzPrH3c6aCr68ab8bccA2zLDa30UbdxXa44/v/OPzCX/yXdv78tJ5btXzDjns3N4reiv5Pr18b/5b68fdoAFI/ipFDVdYLQbHlSt+iT0UXi21pkWU/1vjWq9wT65pOEL0fFIuq2pbsgWoi1vJwRwzI88HeNhmUct9XazQVOj86OYF1nv0Bgd2GAX7vp3ZWaH0UK9Woo7fP4/sns54Ig6o2RVs3c4Sus4YSxZepLe/Tgo7TMgFmXcA7Fni0KzytALg/iTK+IOQ9Mv3OUsacTdGr3wauFhPKmcKOyDh/yvtIGeGr3ZHES2E7VqG7Qbzyyle4Vpu5foLM8nzJ2gpLpKoj2Rzb20cI2hkZvsKPmkzORedkZb+Ot9tt54drwxhkpOurw4XT58YLZ87NTmLzwJ7hyOF7Zg/p8+hHtcuysFUNHtv1EQU8UjZ2/ATg+bfPjq+//vZwcm1tpvbIlOcLOs93XotpD27gaDpobligYUL3xPXR9XU2ORN5/qNdpJBPBNxWaTauDzTjOiBWby9HTWSj7TaENdymy37dx3mr12fGETjaP0MiFC4xKdvGre3/4UAHznnUXX7ZOQ/+Fuv/qvNXNPn+926T7Tx7xpZth7/zy+PBQ/es/1V1jB+kg6iL6KEjN9eMGLkNRedMat5M/VkVd+FtRRTPBdudfwwO0qPLP/iR2cPf/dHhe9FmwJO94ZU3xxfefGc4SS+MQVA38Rrs+nMiMPFZZGJSIoaIj0LEBU+TlfyxJahcY57K/GxRDDxpT3qYivg17AmboxT1USUlxZ6ijLFrXl+4JWn2qDEs2iautIuxMJQRZiOGh4xJ4lZqMIJDoStSH2MdK/Y1WIZh2pNEpHAYxlJHudoDue5rmNzaVm/Go6PMzdsBj6FKJiH2oz0Y1IN2neSberQJJXypvUOXc9PsEI5AqZoue1wpygkpWlg6WRskkSY+sr7hpQEdfzqePxc3n7hiola+b++Ogwf2jkcP7Jt9lAnZ7sjZguYlLCf9KMKp194Y/4l+f/d0fDpV9RcuaoBN6h3XSrRTtsP8fAsYbaA+Q/NBt1TPHWfL5ybELSDbsf3mN9qi4qPNpchLkPo5rPDB+RWh/xlTtKudl7y1D3EqCdXOnSFcFHxdZV5HsvcB9H+fI3y6ztFWWYGMbQv0f53HX/y3/tzOr7jtt/NsAV0G2+krvzb+RY00/3obelqDtKZhdFlsIgYbJQ45h/nuO8rCt44WWg8cHb7rYw8MfzIK7fDqm8M/1kstfwQwxpEu1CjGHb+ycNH4HtAoSqcHFqgcikKHmNBPDDDbtzXGGGxI5Eoxn0Y1QjeCb/XoFan1XfQhZPO3LMdL86X4HHfoND9zWvriSQOliHFelx5zBD0PPmsIrtWpy8OKDlkniLmWQK1A+4cuc7amsP+/vXOLte067/pcl73PPsfHsX1sx8Vx7JpeoKE8tKW05QEJIdEKGqSoaoR4KASppCoiD3ni0U+88AAqBBFKKRQEyBK0iBJARX2pVBVEo1YiIlEutHbq2InrxJdz3evC//f/j2/OufY5MXEc28c+Y/h4zTnH+K7/Mcb3zTHm3GuVD6mc7LA0+kVVnMPHqXkRpn/mTaNoaHN9bh6afJpjc/UDcigWq6MF1YFG44fBMhB97tuyk2Njdr3OYwdYq03b0xf0zPh+vVn9kH5A4pJ+SOLo7gvDqb4044t6y/4PXnxloRf+SgRWzPUgisa0OxP7DgecVEt1szvXxnq0g9a0z+Q3vsi1DGqiyH1hf3BSOuxsk2Fhomt6bWj6SzVtPkIqt3XAtrBPfUq9Km11VIWMz+YopsDNh4o5OEwDtzUgP3RN34ynmW2MTCXaqoOnNSCBicoBslaCIWRW0WrhHynGeSQ+qG7z+S+7X9Ft08//tR9b/PfyoR8nBOa9P9XegWf/4r/s/7zA+CuaFQ8x/gkC/EYnf/PJHTJfHqAXTHw9h4f5WfOFWaIYxUMpppWnxh95YHjPIw8O36dJ5BkP79NfHn5HCfhpfyEBukIOr860bYZS0XPt0xY4SpeaHDPySy++txe5v2UndvrPYGSHJM990KWnLGpakFNV/KKt9solPNPa+tWg66IjFHjFYX+0v44wiurHF14w3zKqna9biE6FRLFMWGIH7G1TTmdcRqf10KgCDhQwQDbX5hVeK1UGC7YcxVxBKqK08JE/EkkTfNZFh6gEa9DTuku24ad2i0UTWhPpo/zBAnTQz8ijSLRP4KWaBs6Rir22PerMElngjeDIiDit7ZpdJRv50BdO8BQ/NOjOCi44ghlmUce5PZNv8Gj1+8CVa/uXTreLG8ijrnhDGweQSbtl2EaEBufRDqrUVuOr/HV1sPReu4wV3eQXY2yUC7EK80rfo2yEPE6afoCEWz6oqI/Fi8NUmoeOMg0gygK1cemLiNYn3GpSGy9CIg8MsRf7wYA+gpx649H0l2/UfbPzH1VzXejBxuaPDswtm/WOm/9a9X5FjxL+7t/48cUX8LuXmxHwwLu5+s6s+aX/tn/37sbub2sWfi93/ICjyTEW7WB5H3N+HBvnJ3ztFbNd5eH7F+9970PD98+blYA/+czz+6dTFy1eYbiCUKitwKYrYTSyaKYey4giCz2K3O+mtmqfZFGT4miKNxafbieYEgiKhqP9noms61sdoY89Eso3/RBNkF/1wkHhdroeET30uXzSnwXJdZ4dK2RJTurNPsJQ8qml/VWvLWkup3BTg3HwB6J8DRBznWVDjmdHg7mkPw47urtq8q388m89uk/TX1WPn7jqcHzGZxJG2hKs42fsLRvLd67rPFbNPyeeohnHQusP6ucyuMWg36In/OHlnDLfIE9NeFrbOH7kwtcdYxmDxiAi2ic6ZmNgtGUa62Wrxy4ZlMw5K7G7MPHjGfWv5GpOlq/p/2KKj1xVu49cF4mOo96Gd+mZkeR0Nv+pKJnoPDvGJBWKWf/FltI1DvxIbn1S43jCpDWPNtZ1Hcc+t/hg//X7prgm28uH+RGqYIBjZ+b/Yvery6PVv/upH11cnqT1s7MI1Cw4W39HX//Cr+7/nELATwqEB5kx+vMcRRy9/dqKhr8TFzfgFO6Q52W8k1bwefj+4bHHHh5+YN7+1JcW/+uZPxx+nwlAPTFEqUuBxDGXSleUXIgcCLhXdoEiZ5lE7aZfCXC3nf6+1HIhQ0+LU7F9WlGhmHjpu3QJFZlKSW86MEfFvDaNZ2fZIZj7UOemxacqLDK8DasKB2Tf9bfgHFvAjFVNaa6YagwsiUVsw0pHY6yjVyZtp0KXWcFIR/waoVRLARZfwWbuAz7zm6zIwA/arYPHjRJXvlHPOfKhpdG2e9chfGgofZbRVFc/lCz4kZM+QS1DIfIJbLyMzVNpK4JYpdqRS2GVVvKqjWNap0/ooYMelX7R2+M4fmoXwVbPZcE9Xjd7sJX66GCXgN0CaqZSOzPUzG0aZdk+jTiDOOF41m7oqw4VcSp8JVtC1CQMml039wVGGOJi1zXcM98aXtYn4lmOstLXM//L/vJdOxyyNaXqTCMb3wnzX758WTcaH/vrf3nxqeZmP7wKAmemzqtQ3mFN//wT+wd3m+EnFVz+LHf3mthECm3Z+fbXUaOCgmg8qfLlGWQaCmltNzz8wOLxx75t+EHdrYdItb//7PA/+RtL7uAJQn7ZRdNeJD4/c8usl295wQqZDg1i4gUZxSMp4s3U5I22KoFQp6FHIFRukypn+GYf8tKODfxoudqx0WMCm6LHf9Lh4EcbGGCnfY6juuIf/JxJf9XrWvYJs1anVmSUTciPFSI0FgpPSmdlQ3BdJtlCKfoSjSjz6oSgS7+MuIxCycy8qDNZVPrztqwkCignH6RZR45lg1/AEo2abbf50e1b/8nXao9q+h5f8yJT9VuO2Js+E2YSZBm68xG58Q1eZacTCs5aATcc8CJcfM3evKmdT7paaVvfuKobsZmNooZcUGC75Y19WeOvcIAobyFLpuzihcDojAeVrPGRfheG7JxDJT544r+pVYvusc6Y2B0xp38sx+MNjOWxLAQVSREuvMBmCa2fPU8ioOmpfpfZGOECtsXHkXpjSrW/lzlj3XYb/Yx30WWOI0W2ov/1zH/rlCT6xXqRqWvpmcaTdOQrK6mTv+7bZr+weDvMf/XwZU21/3p8Mnyir3oZPN9YYTD08ioIkIj3p7ufEcn3+D6aCUJ04OXPcZJPAjy/NcFFq/bd8Mi7l48/+u79D08Uw/DUs8NvffH5xf+toNYChINjBdOVgosGdJPj0CZpbKGxpTZJE50Dt24R2rzNxFUQFq+CcLMxIQy7sV+0Cn4sSx1AccgF6jpP+KI6yThqCVhit/+TGeGqTziRogjf7I/ckjzZtCT5EeDx1hacpUH3Rqt6fI5n+czVhAt2IUIB3MtY+KTffYDMsuCsDPpA/3yzgQHgEz6de9musGnLsJAeiIS5TPqAhAfmssPLMchY0ijRq05Hy41tiCs58aN5jZOKzEEvLfXZKJolrW8YC+iLbGFNmituk1pT+iFjQcnKdOBF4sIbsLL9QEEG8mdsPKtXmcPjyviKnsSRElzKr6qFjiREa40oj2PJWdFXIjSN54t00mOyAXrsCG8bT5KFlLIbvyfZk/RYznX6K7aAVfVt5NlW6dvqVehmIOLdN4VieeW+lD3IkFidfGPzf+IHN+2jSUbmj1RKN3hjqQ7qEqZwON5O81998BtHJ8t/1RMvffnaCkOgl28AgZ//5f0P6JnrX1VweLDICbxMbqYMhXMHW4Ju7nSVgBffoa+l/BHaPcM0055+bvjNp5/bf4E6FwkgeHOODKYhE5LHyA7gBHLpKj1FV9cEJIJVgt9kh0Up0FVACl30YCftBOfYreBr5dgZGtop8PnYbLAcVVe4R2+FNDP4QyvL9swNsdgaPUlULeCPqw3TiIjgpBWzzEIvAS92lX/ma76WP2Adm6OJzyrBqOrTUjgVTVpzhXzO5n07BvLqF7VPGBV3jgRmfKCgO0lip8DLWFGgVzJqzXJM44RdCRXkoRs6ZNDvwayoc4XtJAv+fKb6pWwFYeSDVR2hPyvP/ltcPEN/SrvBiKpRD5dVJo5GJPmFT/lue+QtCUa2sMHLFf2pmqQYXXpAcCNAjccjrjZlYLjSzo/IXfCZGzG/WoHv4kMe/OUrhNN5BDGWtJrf66s8R8xoqf7D5pp7hT8qwRYeGScF9IW81KBkXqKHUrhHk92xHzVnTaRGfEEfMmIzNw7p96IpG9CNUvTc9vN/GD6zWS3/9Yffv3jKfvSP14zAHftFHK8VqZ/+wOK3xfPbH/9P++8fTnd/QYHiuxUdtJ7IhGSSIlOTr01CtguJsfr+XE3ZcdbqRJNQj+CWp5pojlHjhGUmawYSkDxZPXEjkllc71t5siqw6c59QZCSPAcHOJnAa8lRXVY6aqmk4qDTJr7sFbknunkq5ervLVUtKe2ISfDJU/YLJUuXBL/UyT85KG+UbLFj0iU26U2QzN9wJnhhlzQaLGQQoEGDxb2/aRhfpFX/gGrr97JEJec3ttS+OQADq5YTpGiSFu4bQA6xWzJlL8GMvsI349jkmEjEzT/7IgrbDGbot8gmlfMj4a3n7EuZpSwp3RYZKoIqsHFjwjk+6n+6xytF46ZzVcvmpV7ATv/Rj2zTQ8iKMoMifVkv89En+MSP7a4tWMkWQQ1DtwNiS++RJQJ8xQBhhD7oN9gJ1gh0X0PHmBPG6CFVyI41YxkMRA8F9JDj7ZLvItG/+CQ+ZEqPbB/p9ftWMkc4ND0kNPgxnyO26ETfBioNmiXqH7mxQ4xWx+CMeuGi8xW2w8fN7bRz4weqFo9QFc7lu/n0Qf+r6AeLObpfdCV5EiYxYM0ElQonYtq4ifFs8E6G2Nx3JHz4XfT91GKQGtltXQgwj3Qfzn/9FDQU2CxqiYaONyfbG5TY+Hab/8Lgk/v18td++v2LTweQ/vnNIsCY7uWbQOAX/uP+j53ut39mvVj9CMHaU5NJpVIBgPN7Ly4vve/x4S9pvp5L2+L6735u9ytXry1fzrUDteK1pmmb3w4ibXVEoFrpy3kSSGixisTUTGYHsrqjJmBA0mKN7XKwUxIkcOlhlEOGk4WkOYASGKh3UcAbbZE+gpQOanQ7bYqUYldAVLyPoqz6FGD1YtOwIEkpIMsQxAMHpwQmnSvZaGlMRCeC6WCBjtHYlMSuRhIr7rbCKTYgi3NQIICTKJCl/+Wfkj40quKGwFRQqyKlBPoGgA1bkqA+grH+FsY+wY+PhRdH62vYIQ87ZKBW8EqKui7JrsdPIyPVolGg9qoYHKFLf7QdBPGCmW+aIFdBBkfTcqKCfyQLdK11JGljU8kUj/02Lf2iUnJip/Q4oTUmITiXb742ntBj2fr0TaRlKQl6/KQP8AF+jwWb1zBomDYBoWn9RM9x09KS0GgfcmpcYofHgQ7Ugw3jSu3qBl1w7v4Riy4yWMfEBrvleqsXFBoNWIAh14wZrG83Bxl7rd0JWTbSXjc9dkIszMONqOlzjwFs01h/tfkPKkUvLhU6RzdeYK1SvuKT9ZgCQzP+amy+5fN/P1yWSb++X65+Uyve57G9l9ePAEOpl9eBwL/8D/v7rw3bH9f8/S4Fo/trJcKRwnQ7Ol4dH69256jZbJfXTze7GwQorgmgFN34+8jKYqOGtRoii0mqf6wUOTppaVKLPDrgQ1K2xNhSq+DhSn9oOid+6WjGxhH96NYKwFt5SCKxESh3orV0+UIAQ0T0wxc5iCegEkg4p37EgArjUHWOctzxizY2Y2v7Zz7rZttQNkWF6Ga6CE0LrYeUDWSN1lj+syWtLkocNqAW3YSx5nfkJrFBnHb8Q37MRA3LlERM9VWaJKPsz9Gi9VFmFRbItAykSkeTjlCzYMMcJypjd/yAp2giU7cTtn/CIvLhxFhKZHM9x11XbqpWKM2rCvoriVCnfhKp/tXYyjlsSaapA+doKd3YzPn8WOfoIbngJ7rxw3J0rTHsXRkYDXWzyXRNB/z4wrd9egz4Ggr6kq8jbYlZ8nxD5/lgooMPzxW98q3X0VLfeFnpYmuV+BQsqddzae/yVHuOzpXSzz1A+oIbUNWCmf6PzFuNE6dbxmjT6X5pzlM1YRobbrf5r4n6h+rI33rmaPj1J96/uHKIS796vQg4aL5eIZ0/CPzjf7//YU2oH9Lk/E5qPLk0yzL3CMece9qZgXaCpgOOa+ZnqheB75DZdmsJeEodsBF0ddTts+/E2crkTygVJExHLuFaxas7AqNEqtPd7wlE0e8tRSycm+PzFgjVJCYtYJNokelVonJGsfiIkwiRDeiSbfzhC5bYpjFI+douiJYEL9u0MoB7okESApPMaLOJI2ZSzkpXzATjMQFhiAqrJfQTtLn2Nrmqg3n0YCrytT8dXDAdfQ3bBMyGC6RmcK1omqKGN/2JH2xRYw/Uitn6TzZabvgrMUNPPTdNbENyCWbws9qys2bJStQ7IdIFU2Od0JEt6K6+pa+wzisrZIgn/UViTBJB9+RPMGY1N+qudhkqY5pdWbmZV0ZQj5TSg09+NNJ2AUhQtFsPjZJpsa3O4/oAn9AaG52q75xozSdJrFDBCH1zDEqq6XlMICXV7ptJyWKOjGMeqyQBGgo2ce4bWKVtgeQVKTs2+lEq8QUzxo5xbOMoOs5KiYf2QaftqtlTmqRPbLfr/Bc8n9NPfHziZ96/+Cz49PLGIOCA98aIvnOl/rMn95e2q+HHFA2/UzP3Ekiw6qhpSlIlMBEsROMAxV10BeFpijoViHuawk6sunSCUL2Sm2UZbclQdLI8X7cP9HFaKx/Op8DIVTTW6ln0TvipXmrVK3ttqwK8zuOLV03N/gQy2yZpFdYqISI/vsIvM0hKTacDfgvS6DmLE9YlmRV6VOg/ybFdOkvqkEQFxwRuaBuKDRNk1HZqSSp+LIZ68k0XKk2Cj6mBUkUyeRY509KoaSzpnCMj1sl/r5RKF1TGW4Gd3YfwTRpHn8yPpNzAcJzOqJecNo6qpXojOLFFmrdvTetxJvSkyglAlQdjSNfpx5IGV0rRFZYHfak+CSbxAd94lgrGGqveOUn/goPuT9pNUdFFQ8YJErJFm2t8zhgoqvRVxjDUKeAwjetCPm1QuX+ll7mDl9BLtOpjZ+Zi+i+f4a0xmvGS+VVakYnOajN2arQOsG6EZ8d1eKSakYxt7pebxxTjICNx1vNNPrqqT2ypZLyu+b8cPj9sNv/76n79Pz76wcVVy+wfbygCPQG/ofAOw8d/ef8d+nviH1S0/hNKEOe1ItK8V0BpejUBdR+uqUSAVn1NZJrn52UmdZxPd/Oi03XkJagwub0tVsm4giGM7VxnZisdFQAIiIReGenAAMtNNC3o0KbAyLNc61OQ0f6dl2iqT6Ai0tsvHbV6kZn46pUa7GMpv6goXs5LNzGTc25SqE9Qcpg88IOW0RewcpZJFCQolq2u0UewmnygHqnoKTkO1tTLftng/uPtWigr6SNX/yOPjiSsxk4nBc5LsgSNRf0lGfRd9Vfe2oVevWAdsWWGDwlM9JPNiGNlhy8ozVhwrT6MkbFz+9T/sdNk6hvjax+M2ZggLS+2l05YKKWLo5//t753oz7Qx3n1YZ2DDjsDYJwEHH9pNw6o8/lNfa1aMKNR/+kULFwEu67teulL/0GTeuwJTtws4L5sm+ERQXxKkPtapnPZxjvnwTZ4TNdzH6c5CKvtbTccevbMDJDM22f+y6Fr6rvfkKGf//AHFp+3yf3jTUNgmqtvmso7V9E/+ZX9+zab7ffqlvl7FIL8s3EV5JOIma6a5A7emeSa/JqtbRXaAhoIjnwkJdVznTt5dsh4AzvPdBNYCXRicZIgKUmAxDtAskVcLyypIXfVClQi4SqFxHV4p68oIjaCTQXJeRCCq9nfJGDfmCR0XkkeKlYRJEd0V70TTouttUIhS0DlwG0ehM+TajtvtjbVxip6KiGoSoGQF7DkvBzTufYYjYeYCMrF66NhcNJzPHZd9Yt9qX6br4RYxRGv5ZVXuTJ7hiH+sp0f/cGGvqJYnfyqJEgdSSTJXggIyLKVtnmBt4khw7jPD7FPHTyuF/W8n4PFJBGaJEqJY8XYSnzBp4y3VKcP6a85HX5lCzfWCWyRkDCDadlhHpHUuLIOmcn4p23yJ7jWOMDmyevyKzXz8TnHYS5vnGP0F4NUBZvhhSeSnFjtL9hjW8asyY05/ZK5GIw9jrgf9b9p3M77boavbyXQ/kbPfxl+VS+jfHKxXn3qZ39i8YV40D/fCgTGCfVWKL+Tdf7DJ/eP6274+4TB4wqt9xHIFGDy5xeOAdNzRLWNd/GZoBUYgmACQgWlBKNpYicxQ5lgQmA5pKm2CjgVYOoanYohrSTJcVE6SA6kjeKjLYEvPnCegDYltrQj45DX8S8xCzGW2QKbApSBcT0fk4zI5bqSJ0kg/spe4UqSL545Duif213BdlRiPXO8pr6Y4z6XjR2TDpJREKwEXG2ll76XXjuH/Wy/su0J5vapBXvkgE/xVcI+tLn1T8MQemSWLOws/ZGF/1LTsCs6aEo3+ooH/irUY7STkY+hm/xH2mQzfJZLAuPZqo7UVUlSq6v4nuRddTWepj6gBX2FcR1J1oyX1iaF5pEf7MJQuN3LVjd6i87Z3xhP4wX8fBOoI5x1g4EvyCBhIldyfCMQ7MC17Cob8T/jHTmUwoox8IbO/8XuWb0D8X/2++u/97M/cfKFaO+fbzUCbTC+1Wbc2fo/9p/337a7MvxxRaVv1xR9XBOXqJW+GSNQgtkcKYKMgoHyE3fjrUWrWV9zycpWbVlXEirOFjHNxfpcdOZToGhtkm2ZcBO0ufOvQCeatvV3K/lNXxknZvFKFkGI0nTJaUdDfyC7FevNCosgmYBGMoQefTM7IqA4x+Nkb+NrLCR1mzWKmCUDY6+VofTrhaKsjEWnfyTGvFTWsI0ihFg+R/tWQZuKmNnwkVDrdgNt4o0rZ/ySPC0QR7dQoXyiD8m3PiS0a46WO40DWqPYZ7f+yC2NcbB5rOA8ppALf8mf2DM2dF12NL8miuYO7Bl/AVL9p5eg0m9uk4jilT/xD7nwRVprtyXIGvud5pHBtLZ7Pm9M0vSfoZ3zIpukSIJmL+CwzOyzVxYadp16TPpmttWPno98M/xiL3aiq9w8wFs+Sibj7XXP/7W2lvVu/bPr1fDp88vh0x/6wOJrh771q9sBgRYIbwdTug0g8Pd/cX/v6vzwmG7fH9PsfVT36/cSsEk+3CUToBwsFKS4zuolyYnrtBEcOM/LVN4WUwJDvj50w04wI9je6sWwKbCWTucIxxR0s8qJHchLOQyGY4RyQCLAOXialJg6raamgIfdqT/c6sWP6CgMmh9NJkHwwD/jlBVN7ESfzG4JvOQVNtgGXeUCtkeVxQj2reD4ZGcqYwvnyOVYWKGL65LnXFLb1TNfimeu28mHBulT5m395L60jfGjbkjiU2xLwC8bqr/mmJZsaNAADkXHNe3hjz/eXh3HXeqgYvyIMy/m6VzCvHpu/GqOLVOfBLvYPo1T6BhL2FB9ctYG4+C+Q+1k3yFf9GHbRI+91WfpP/T77XRuGA/awslnYVOPJtK3JUdcOtXfUttm6LG7/Crd9Ht8Kl8LO+RMtha+N9tS+kJbdNW3wQ0bbp7/GnQvKbN/Znm0/sxdLw3PfehDi2vY2cvti4AGai+3MwL/4N/sH1K8eFRfMfGoNsweVcQ714KWAym2T8llPum9gqNNwZvtMZ2eSUIJCFNgYJIroIxjIkmEQFA0U3AgAFSZ3yAQkKq+jqV3fs156YO/CnWcV1BGjVeM1pebD+wRkTzK6nR+XnLqWG1cI/usLfg7xybX2UrEButXVBMoxoX2sgdsK4Ait3TmGHzAo3iqffJx3l/VyhFe7xaAw2jzXMccu5I3lxA/pr6YeJtsfRmK9o9tM23BZkoouU4iw4eiKR23uq62ShpcL2d6WvKQzsm/wzGmFjVN4yn6kYMNHClz3YVt2XuIhcdL7ZyEWZ/mkc96/i6/8O2s31xn3oQp47OGaelATvVPS4gjTtg4KrTOjD3q4I/dXOXGgjNK2ZLzScacB4zQq/+u63faPquvM3xKv/n31N/54OJFC+kfbxsEDgbJ28bqO9jQj/3b/Xs3q+HdCp2PaO4+opXyCYFBidkvWhU0WUER/LNy1oR3oCFpJShOKyz+5lE72doNU6LWb8nxSmsVDRCvckb+atBxrpNz2UT2lJwW2HXuAINcnbcc2tYBSeyukyz70HShwkFGqw226LhGDoGb+iTsmY2j76GZ22oqffCL78gKvwVGh5OQ+PSyjF8MSpM/y3fbopVxfGCrd0akU7DGNuVpkRzapb8hHVfXh1wGKTLVMBdZeic/ml9mUVIxzGLiC6HdVzgRjOmHwqzGQPTGrpKdOjuvIeLHAqnSZ/krQBgUi9KDBDlom6s/sJExVTaVfI4AQ0Ip71xnnBADgRJ/023ZM9vdXmO2+l6VIBG/pj/ZgbZK6ecaPyj0V/o9OKZ2+rRdarq5/6tfm72MAe+ORE71D2ryRFknfO9H6xMnZeaWYZvZLYYaw3N7sWh+bbtUV/xie2l/NDyt7yP9yuLi8NmP/MXFS/D08vZFQH3cy9sZgZ97cs+PQzyoCPCItsceVEK+X4GB74nmT5Waa7cOPNBAq0DhgMhddfFWPTQkFX05gwvfzUy4mctmu9GRkRY/PzWpaSaZxcfRX6U4LNdaCShAl0zqS3bxUbU9jb7yiTatMPysDDuRWAUa/MEObFbwtX/F6/amt3g4KtHYB+TBiw7bB5aniqmSVTJG25qA0glvteETPGUrvslmtg7b8/QJU+sfsW+6wNg45Roa9AQjruIn2/ZbLYNin6r1s9XwUcouzrGtbAre1EqebCx6aijYDAZzW9drMBfW6aIDLIoW3uihv9DfiFs98oyPv8UM6vIJH2MzdcFfX30pGZS53dRJR2xx25mxMetHdMGPvJJv/WcxEw7YDS02GpeGIXXzMsn0zZzmS5J0jQ1oJ3sn23SnITz9TsEoDp0TxsEdO8tGjcCvbPebP1iv118ZLg5f7Al3hO4dc3IQvN4xXt3BjvzcJ/bnNq8MDwynw3s0wR9WYrlfK4aTrIQTLICHIMZRk93PsWqVQB2l6nM1fVI/XU3P8ajjGRur67ks6PW/AxXP7qCrYJdAx3VW6bRBWzThE78CqLQqW/j5sPWPbY1+vtqZ5EdetYlHvLEZGuR6N2DmE7hAV0doFCWTOOBpvmBjs0ckubJMtWe1RTA/xHFOV0G+/EAC55E0yatrt2mZqW82M77efpddsTP9Oto82pjn6eglUcyfnUJ7K3tcz4tnygP0S56bRg+2yI6x/2/SrWb9J7CCAfSlI1hkq5tvEEU+7cjgiNzIm47VV4Un17Jp7EP4KNVeeBe2tNkf+z/ZPe/TiSe05V/Zgi9zHfPz8Dafmo7SV21grro2Zn0DNvqafkmbaF7WLs0zu5VWt8vh+fXF4Xkl3Ovo6+Wdi8A4md65LnbP/pG+r3p1fbj72nJ4j6LJJW2TXdLxhC8oIomwQpjuxPP27zyI0V4oEpBqNXGWJquHolQrfHphRyFzCq6Kc17IKZgWfeRH71wXksquHAlWyXaH9XP7zaWPST41yCUYsoJS4PNqpGTxJ8AKmA600FKgn+yDXo9MxUfbvJ5r5FRdrYSgDVahIDCrTWS5CSn5c3/Txguwh3qsYbQn7dBOMuJPrbyqPprzSV35X/XU6U9T+HvkA5wbR8Pp1ivC8rNkzY+3smOyiR+FyI0UmFc9x0mGGjzOVOMt3ak/ROQtXY1cf5kHWCGn7LEcjTkW1OCtVo8/ZBdtznPT8vVtgGoqhTc1dZ7+Ck3sr7mjOu8U6dhW8dUOtRIsz2pf0NT70tG14ZX9A8MzPdmCzJ1XZoP+znP+Tvb4Y0/uL149HfTjEVoh7zaXFkfri4pZ94EJL+fsdtvFaq3fiWt37+yrzQNYIgs/H+Svm9gRdEm0DjgVgTlWBJpFJFY/yF1Ih35VwYnP31dv+gqU1It/3IeMKEVf/SmQIjhNso9zpQheedF6rfFIZ62w8GerX8CwL9LHNTZp49bncx6+hl+BWyu4lXbVZaNw4KivcpQOfRZf063loWQowhJkm+1aUtsfv+C0Ej78cARJQjSbDUkjPAsdSTJld9lrPonDPvxi9WQ6yVmuk5jxgP6x7RXgT3Vt3cHc8oQNvLYbevmCfbZbuBaWwQCp6mP0tH5EB7WlB3p4p3HQlEPk/g3uhVv5Qmv8DTZFSz3YRW75NtnvMdIwyG8q0EZBb87neBdmN7UzXlTcr8Zd/YuP2lWZYzH2J8RNfvmKHrrYN5MeG8Kmjc1b46KXDnbah1qvXt5tNl/drdfPn9sOL6y++rkXPvKR7+orW2PcP1pA6kB0BIbhySf3x793ebikbbDjk+PhIX2F5n0KXeeUfO7bqtKrivwCkVeDBHRwI0gRsGgnCbA62WqZk4QQZJ0wnCByLQbFLSUEFgRNDitjvfHjMak3wfwj6vBxHj26KWg6soqOrHwqOipR6oZAOedwNcvqk7az9cWXIOugjOXSsNKq0L9QJD8PExv6TzepKx+gWflXLxR0sVUyVis9jFW52c5oneTKZ9snvfphXFrlgKqCqa+b/+FM8kVf+QNm6EUOuBfd0VpJIxsGVdWOlchQohsoFWSVTfEntpeeqis92Ahf8XDOGLDd/MBv82HPd7JpfGTsVOLMWKLfYx/2JJkf4Nv8Acuz48nq2kfZxhhF5nQtqUKjxk/xpD36ZLBsrZsKYQgkqkPfqFc1h+Mq9pbv4K+fz3h5vR2+fLo4vbzdHb3yrnPDs3/rg4tXSmc/dgRuhYAn0a0ael1HoBB44slPHd+7ed9913fDkQL1fWsl5t3R9qJ+Sf0eBVr9MqBCr2KSEoDeEiWW55xlsV4P0rIvKzkWFdqAtFhWaKyeWdmQu5DDCoSVBnIgyqpH7Y1Hv0Xq1SRt5lFgV/A0PXxehqutVkVmk2z/sg1MKuQjdGd1Jvu0imGliVWmE73tVv2kX/Zhk59DI0W0XMk/bOIaGfKzrTjJZiJRHXlF/8abFFZN9hnjRh3BCWzAa8qZSmgHeGCl7G020mY9y+2IS/ken7WixTgV19NJ4nc/NX8KB+vhRgpjVbAxOGXFTp1X1RzFS38VvrRl9chZrYJ1kyL/KIey6LtgTmLOeMAm9T27Be6b8ILppo0JbmqwsfrG+iUb+4MHmoIfx4yVyIG2xgDjxX3ZcPSYk1647bv83jdbaqyWH8Pp9nR5tHpFNn7t+tXha+ePhxv3PzA891M/utBfAfXSEXjtCPQE/Nox6xwzBP7eL+3vOrcZLpyutH19bji/vTZcVIA+L5K79Cc4RwTtzaniq45s39WqgaOTiepn4pyoEly1om4BnHZyB5fmq5Wigi91tCGf8yQU0SnoRl9LnArgXnHpZ6rCIyZFXM4pliH7QhPd6Mq2ZeoJ7PCUDbWdbAH6qHquy5bYPfHVrsC8Hvq5vdhQuCFnbGs+QU/7dsPjSB0l3nTCA+w41wpOdTgX3VyTwEhkcxvWR8iZ6pBdPJyVHdBttM2NzOwYTP1W9kHPuZOasUxio462uW4uD/hIpPKl6sCy7ESfb7Rkv7fHxVs+I2fyNfXYrP/kZx4bQGMbXDezu+mkvYpumm5I3xWNXZ7TXt5fvXZ1vT756oU/OVz+8J9a6H34XjoC3zoEegL+1mHZJZ1B4G9+fH/03XcP9+hR6NHVzXDP8mg40pLsHgW5Iz3PfNfZQA571Tno6oXllb5lYB6Mz6gwPXUO3g6oeiq8UULSd/BRzvKWXIK0eHxDYEIlViUOPyOlPnX5hGdKSlplKRFEx0QVmthBLXp1M7A/OtaqTfzzdngp+EaBVlfcPNjf1LWE1HSjcy6D86LXuX1RIh39Bg89c+Y1ZsmcsEAPbVZs3XM9cxxJzE7A1iO8wERvkQWb8q9kz3Vj26GOw2RabfEbneDpG4Qk4cYff4M3tJWQS1fpQZ58lZzgWLTgIpuFwYSrnyAMw9XldriyXd64cmF9fEV/Znbl+rnhyn1/dLjSk2yNjH58MxA4CDRvhsKuoyNQCJCgv/1keNdaW9tacZw/JTEvh/MKnBfWS/0cuFbSJGtWOxW0i3ejSm2Bj4G+BWF2cL0dDF1ecFIQTv5xDs2LOiSzBPSi2bSVIduermO1zktTCu5cs5D0+SwROEGUvqZjN74MFUtLftn99a6px6Y1q/uSpURUdsKPbRznem0bleBxtNobl11wmXRt9eM3SrxCdPRPsthKZn2Mb8aFFWb5ryP3Caw4xzqwmCXXnXY2ylbrF7/yqHgatjOMUQN+bAWzSkcfsvDXq9Nlnr2jy3bR6QgvfHVljNQnR/KD1rld9kFeLvbrG1p3v7TZnm5266OrWrBf0bp1c+XG8NIzenz/Tz/cV7GCrpfbBIGegG+Tjuhm3BoBkvQPrYeTF0nEx4PitRK1EvZ6P5xslKz1ninPJM8vVptzg3L2brtpY3rtFeZ+v9EiUElkJY4zhUCf7e7DhtArSVhWlqmL5cYrQXSwcj29sXHyRy70SNCzyAMd1ENbq+Vb68LestUJjtSnxd5kb+STDkOHPHSV/N0O20J/1obybHMqmcu1Ho1OfE6EM9vBA/qtlpMrffNGfJzkCkutJie75rqwpWQjo9qcTJu9hXf5Uz5Sjw/2SzYWZpaxHHRvNJwqSW91o3ZVmZfF7rVzR4N/MP50M7x09OKw+ehH+w/Ig3svby8EWrB6exndre0I3AqBJ57Yrx97bFg/e6zE/OKLw+7ue07262G91x+DHPN3z8d6VXirPwxRElIUP6+PY21aer2pbxtSZNeerRKMVmoL5Tpfk/TUpAutwLSCc5vON/rv+FjJ16vU2s52Al1Ar/oxGUNzpM3301MtAqlHngr1OVPCkuw6p55r0S6kKm1Kfrv9el+ySVjYXHbBS13ZW/rnOiAmCcODDdDbhxtKgDP94KPkrG9UmfxBPvgUTqWH+qLD5thAbZy0H8ITmsWw0fPVNW8aX1ufU1K9odeHlVCvr4bNQg8pFpvzmwsXh6vHWrFeuDxs+o8JgGMv72QExgDwTnay+9YR+P8h8MQv7k+Gu5Q1Ln/NmeN4ee/qxu7y0fmTu5anl68drY9PeEHoBDn6w53VZn/jaLU65gUofsf1eLc91QrwSC/I+i9fjkg4Sj4LvYDm1SDn8CZJJcGKxomJ+pYcnXip14p1WGuv1fxafXulTfKelawkleqOkgRbcrYMlokuStza6G0vQ7fMq4ayB5rSxYofu508j4bxl3RW8m0x6CsjpEdbyJvt/rp2gM8N22vXt0fnz/nFpO16yN+26n3gU53f9fBwevkZvwE2PNF/lcdd0T86AmcR6An4LCL9uiPwLUSAVfmlPz0+KbVkfSHD6ksv1jp4UnZyeVhcuytJ9viGMtxFtd3qL0lV/7Lq71bzy/qfI8XnartxI8nwkupecMv0cXL5q4sL773PyfWF54bFpYeir38T04RRP+sIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPw5iLw/wCH3cvs3EDhsQAAAABJRU5ErkJggg==";function Xf(){var L;const[n,o]=x.useState(!0),[e,t]=x.useState(!1),[i,r]=x.useState([]),s=_.useDependency(a.LocaleService),l=_.useDependency(m.RangeProtectionRuleModel),c=_.useDependency(m.WorksheetProtectionRuleModel),d=_.useDependency(a.IUniverInstanceService),u=_.useDependency(a.ICommandService),h=_.useDependency(_.ISidebarService),g=_.useDependency(a.IAuthzIoService),S=_.useDependency(a.IPermissionService),v=_.useDependency(a.UserManagerService).getCurrentUser(),p=_.useDependency(bt),C=_.useObservable(c.ruleRefresh$,""),b=_.useObservable(l.ruleRefresh$,""),E=d.getCurrentUnitOfType(a.UniverInstanceType.UNIVER_SHEET);if(!E)return null;const R=E.getUnitId(),P=x.useCallback(async W=>{var ue;const U=E.getActiveSheet(),B=E.getUnitId(),X=U.getSheetId(),z=[],Y=[];E.getSheets().forEach(ce=>{const Z=ce.getSheetId();l.getSubunitRuleList(B,Z).forEach(de=>{de.permissionId&&z.push(de.permissionId)});const se=c.getRule(B,Z);se!=null&&se.permissionId&&Y.push(se.permissionId)});const G=[...z,...Y],K=await g.list({objectIDs:G,unitID:B,actions:m.baseProtectionActions}),ee=l.getSubunitRuleList(B,X).map(ce=>ce.permissionId),ne=(ue=c.getRule(B,X))==null?void 0:ue.permissionId;ne&&ee.push(ne);const Se=K.filter(ce=>{var Z;return ee.includes(ce.objectID)||ce.objectID===((Z=c.getRule(B,X))==null?void 0:Z.permissionId)});return W?Se:K},[]),[M,A]=x.useState([]);x.useEffect(()=>{const W=O.merge(l.ruleChange$,c.ruleChange$).subscribe(async()=>{const U=await P(n);A(U)});return()=>{W.unsubscribe()}},[n]),x.useEffect(()=>{const W=E.activeSheet$.pipe(O.distinctUntilChanged((U,B)=>(U==null?void 0:U.getSheetId())===(B==null?void 0:B.getSheetId()))).subscribe(async()=>{const U=await P(n);A(U)});return()=>{W.unsubscribe()}},[n]),x.useEffect(()=>{(async()=>{if(C||b){const U=await P(!0);A(U)}})()},[C,b]);function D(W){const{unitId:U,subUnitId:B,unitType:X}=W;let z;X===at.Worksheet?z=u.executeCommand(m.DeleteWorksheetProtectionCommand.id,{unitId:U,subUnitId:B,rule:W}):X===at.SelectRange&&(z=u.executeCommand(m.DeleteRangeProtectionCommand.id,{unitId:U,subUnitId:B,rule:W})),z&&(t(!e),W.ranges===i&&r([]))}x.useEffect(()=>{p.reset()},[]),Ac(i);const k=x.useMemo(()=>{const W=new Map;return E.getSheets().forEach(U=>{const B=U.getSheetId();l.getSubunitRuleList(R,B).forEach(Y=>{W.set(Y.permissionId,Y)});const z=c.getRule(R,B);z&&W.set(z==null?void 0:z.permissionId,z)}),W},[R,E,l,c]),N=W=>{W.subUnitId!==E.getActiveSheet().getSheetId()&&u.executeCommand(m.SetWorksheetActiveOperation.id,{unitId:W.unitId,subUnitId:W.subUnitId});const U={header:{title:"permission.panel.title"},children:{label:oi,showDetail:!0,rule:a.Tools.deepClone(W),oldRule:a.Tools.deepClone(W)},width:330};h.open(U)},H=W=>{o(W)},V=(L=S.getPermissionPoint(new m.WorkbookCreateProtectPermission(R).id))==null?void 0:L.value;return I.jsxs("div",{className:"univer-mt-2 univer-flex univer-h-[calc(100%-8px)] univer-flex-col",children:[I.jsxs("div",{className:"univer-flex univer-h-[30px] univer-py-2",children:[I.jsxs("div",{className:"univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center",onClick:()=>H(!0),children:[I.jsxs("div",{className:F.clsx("univer-h-6 univer-text-base univer-font-medium univer-leading-6",{"univer-text-blue-500":n}),children:[" ",s.t("permission.panel.currentSheet")]}),I.jsx("div",{className:F.clsx("univer-mt-1 univer-h-0.5 univer-w-6",{"univer-bg-blue-500":n})})]}),I.jsxs("div",{className:"univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center",onClick:()=>H(!1),children:[I.jsx("div",{className:F.clsx("univer-h-6 univer-text-base univer-font-medium univer-leading-6",{"univer-text-blue-500":!n}),children:s.t("permission.panel.allSheet")}),I.jsx("div",{className:F.clsx("univer-mt-1 univer-h-0.5 univer-w-6",{"univer-bg-blue-500":!n})})]})]}),(M==null?void 0:M.length)>0?I.jsx("div",{children:M==null?void 0:M.map(W=>{var Z,q,se,de,ie;const U=k.get(W.objectID);if(!U)return null;const B=W.actions.find(le=>le.action===re.Edit),X=B==null?void 0:B.allowed,z=W.actions.find(le=>le.action===re.View),Y=z==null?void 0:z.allowed,G=W.actions.find(le=>le.action===re.ManageCollaborator),K=W.actions.find(le=>le.action===re.Delete),ee=(G==null?void 0:G.allowed)||v.userID===((Z=W.creator)==null?void 0:Z.userID),ne=(K==null?void 0:K.allowed)||v.userID===((q=W.creator)==null?void 0:q.userID);let Se="";const ue=E.getSheetBySheetId(U.subUnitId),ce=ue==null?void 0:ue.getName();if(U.unitType===at.SelectRange){const le=U.ranges,fe=le!=null&&le.length?le.map(j=>{const Q=J.serializeRange(j);return Q==="NaN"?"":Q}).filter(j=>!!j).join(","):"";Se=`${ce}(${fe})`}else U.unitType===at.Worksheet&&(Se=ce||"");return I.jsxs("div",{className:F.clsx("univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50",F.borderClassName),onMouseMove:()=>{const{subUnitId:le,unitType:fe}=U,j=E.getActiveSheet();if(!j)return!1;const Q=j.getSheetId();if(le!==Q)return!1;if(fe===at.SelectRange){const te=U.ranges||[];te!==i&&r(te)}else if(fe===at.Worksheet){const te=[{startRow:0,endRow:j.getRowCount()-1,startColumn:0,endColumn:j.getColumnCount()-1}];te!==i&&r(te)}},onMouseLeave:()=>r([]),children:[I.jsxs("div",{className:"univer-flex univer-h-5 univer-justify-between univer-leading-5",children:[I.jsx(F.Tooltip,{title:Se,children:I.jsx("div",{className:"univer-max-w-[200px] univer-truncate univer-text-sm univer-font-medium",children:Se})}),(ee||ne)&&I.jsxs("div",{className:"univer-flex univer-items-center",children:[ee&&I.jsx(F.Tooltip,{title:s.t("permission.panel.edit"),children:I.jsx("div",{className:"univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200",onClick:()=>N(U),children:I.jsx(Wr,{})})}),ne&&I.jsx(F.Tooltip,{title:s.t("permission.panel.delete"),children:I.jsx("div",{className:"univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200",onClick:()=>D(U),children:I.jsx(co,{})})})]})]}),I.jsx("div",{className:"univer-my-2 univer-h-px univer-bg-gray-200"}),I.jsxs("div",{children:[I.jsxs("div",{className:"univer-flex univer-items-center",children:[I.jsx(F.Tooltip,{title:(de=(se=W.creator)==null?void 0:se.name)!=null?de:"",children:I.jsx("div",{children:I.jsx(F.Avatar,{src:(ie=W.creator)==null?void 0:ie.avatar,className:"univer-mr-1.5",size:24})})}),I.jsx("span",{className:"univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:s.t("permission.panel.created")}),I.jsx("span",{className:"univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:X?`${s.t("permission.panel.iCanEdit")}`:`${s.t("permission.panel.iCanNotEdit")}`})]}),I.jsxs("div",{className:"univer-mt-2 univer-flex univer-items-center",children:[I.jsx("span",{className:"univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:s.t("permission.panel.viewPermission")}),I.jsx("span",{className:"univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:Y?`${s.t("permission.panel.iCanView")}`:`${s.t("permission.panel.iCanNotView")}`})]}),U.description&&I.jsx(F.Tooltip,{title:U.description,children:I.jsx("div",{className:"univer-text-3 univer-mt-2 univer-max-w-64 univer-truncate univer-text-sm univer-text-gray-400",children:U.description})})]})]},W.objectID)})}):I.jsxs("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center",children:[I.jsx("img",{width:240,height:120,src:zf,alt:"",draggable:!1}),I.jsx("p",{className:"univer-w-60 univer-break-words univer-text-sm univer-text-gray-400",children:s.t("permission.dialog.listEmpty")})]}),V&&I.jsx("div",{className:"univer-mt-auto univer-py-5",children:I.jsxs(F.Button,{className:"univer-w-full",variant:"primary",onClick:()=>{const W={header:{title:`${s.t("permission.panel.title")}`},children:{label:oi,showDetail:!0},width:330};h.open(W)},children:[I.jsx("div",{children:"+ "}),s.t("permission.button.addNewPermission")]})})]})}const Yf=({showDetail:n,fromSheetBar:o,rule:e,oldRule:t})=>{var h;const i=_.useDependency(a.IUniverInstanceService),r=_.useDependency(m.SheetsSelectionsService);if(!_.useDependency(xt).getVisible())return null;const l=m.getSheetCommandTarget(i);if(!l)return null;const{worksheet:c}=l,u=((h=r.getCurrentSelections())==null?void 0:h.map(g=>g.range)).reduce((g,S)=>g+J.serializeRangeWithSheet(c.getName(),S),"");return n?I.jsx(Ff,{fromSheetBar:o,rule:e,oldRule:t},o?"sheet-bar":"normal"):I.jsx(Xf,{},u)},jf=({loading:n,children:o})=>I.jsxs("div",{className:"univer-relative univer-size-full",children:[n&&I.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-left-0.5 -univer-right-0.5 -univer-top-0.5 univer-z-10 univer-flex univer-items-center univer-justify-center univer-bg-white univer-backdrop-blur dark:!univer-bg-black",children:I.jsx("div",{className:"univer-size-10 univer-animate-spin univer-rounded-full univer-border-4 univer-border-solid univer-border-gray-100 univer-border-t-primary-500"})}),I.jsx("div",{className:n?"univer-pointer-events-none univer-blur-sm":"",children:o})]}),Zf=()=>{const n=_.useDependency(a.LocaleService),o=_.useDependency(a.IUniverInstanceService),e=_.useDependency(a.IAuthzIoService),t=_.useDependency(m.WorksheetProtectionPointModel),i=_.useDependency(_.IDialogService),r=_.useDependency(a.IPermissionService),s=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),l=s.getActiveSheet();if(!l)throw new Error("No active sheet found");const[c,d]=x.useState([]),u=_.useDependency(a.ICommandService),[h,g]=x.useState(()=>!!t.getRule(s.getUnitId(),l.getSheetId())),[S,f]=x.useState(()=>Object.keys(Ji).reduce((p,C)=>(p[C]={text:n.t(`permission.panel.${Ji[Number(C)]}`),allowed:!0},p),{}));x.useEffect(()=>{(async()=>{const C=s.getUnitId(),b=await e.listCollaborators({objectID:C,unitID:C});d(b)})()},[]),x.useEffect(()=>{(async()=>{const C=s.getUnitId(),b=t.getRule(C,l.getSheetId());if(!b)return;g(!0);const R=(await e.list({unitID:s.getUnitId(),objectIDs:[b.permissionId],actions:nu}))[0].strategies.reduce((P,M)=>(Ji[M.action]&&(P[M.action]={text:n.t(`permission.panel.${Ji[M.action]}`),allowed:M.role!==Le.Owner}),P),{});f(R),setTimeout(()=>{g(!1)},100)})()},[]);const v=async()=>{const p=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),C=p==null?void 0:p.getActiveSheet();if(!C)throw new Error("No active sheet found");const b=p.getUnitId(),E=C.getSheetId(),R=t.getRule(b,E),P=Object.keys(S).map(A=>({action:Number(A),role:S[A].allowed?Le.Editor:Le.Owner}));let M=R==null?void 0:R.permissionId;M?e.update({objectType:at.Worksheet,objectID:M,unitID:b,strategies:P,share:void 0,name:"",scope:{read:Ge.AllCollaborator,edit:Ge.AllCollaborator},collaborators:void 0}).then(()=>{m.getAllWorksheetPermissionPoint().forEach(A=>{const D=new A(b,E),k=D.subType,N=P.find(H=>H.action===k);N&&r.updatePermissionPoint(D.id,N.role===Le.Editor)})}):(M=await e.create({objectType:at.Worksheet,worksheetObject:{unitID:b,collaborators:c,name:"",strategies:P,scope:{read:Ge.AllCollaborator,edit:Ge.AllCollaborator}}}),u.executeCommand(m.SetWorksheetPermissionPointsCommand.id,{rule:{permissionId:M,unitId:b,subUnitId:E}}))};return I.jsx(jf,{loading:h,children:I.jsxs("div",{className:F.clsx("univer-flex univer-flex-col",F.borderTopClassName),children:[Object.keys(S).map(p=>{const C=S[p],{text:b,allowed:E}=C;return I.jsxs("div",{className:"univer-my-1.5 univer-flex univer-h-5 univer-items-center univer-justify-between univer-leading-5",children:[I.jsx("div",{children:b}),I.jsx(F.Switch,{defaultChecked:E,onChange:()=>{f({...S,[p]:{...C,allowed:!E}})}})]},b)}),I.jsxs("div",{className:F.clsx("univer-flex univer-h-9 univer-items-center univer-justify-end univer-gap-2 univer-pt-2",F.borderTopClassName),children:[I.jsx(F.Button,{onClick:()=>{i.close(Qi)},children:n.t("permission.button.cancel")}),I.jsx(F.Button,{variant:"primary",onClick:()=>{v(),i.close(Qi)},children:n.t("permission.button.confirm")})]})]})})},Gf=()=>{var u;const[n,o]=x.useState(""),e=_.useDependency(a.LocaleService),t=_.useDependency(_.IDialogService),i=_.useDependency(bt),r=_.useObservable(i.userList$,i.userList),s=(u=r==null?void 0:r.filter(h=>{var g;return((g=h.subject)==null?void 0:g.name.toLocaleLowerCase().includes(n.toLocaleLowerCase()))&&h.role===Le.Editor}))!=null?u:[],[l,c]=x.useState(i.selectUserList),d=h=>{if((l==null?void 0:l.findIndex(S=>{var f,v;return((f=S.subject)==null?void 0:f.userID)===((v=h.subject)==null?void 0:v.userID)}))===-1){const S={...h};c([...l,S])}else{const S=l.filter(f=>{var v,p;return((v=f.subject)==null?void 0:v.userID)!==((p=h.subject)==null?void 0:p.userID)});c(S)}};return I.jsxs("div",{children:[I.jsx("div",{children:I.jsx(F.Input,{className:"univer-w-full",placeholder:e.t("permission.dialog.search"),value:n,onChange:h=>o(h)})}),I.jsx("div",{className:F.clsx("univer-h-60 univer-overflow-y-auto",F.scrollbarClassName),children:(s==null?void 0:s.length)>0?s==null?void 0:s.map(h=>{var g,S,f;return I.jsxs("div",{className:"univer-my-2 univer-flex univer-items-center univer-rounded-md hover:univer-bg-gray-50",onClick:()=>d(h),children:[I.jsx(F.Avatar,{src:(g=h.subject)==null?void 0:g.avatar,size:24}),I.jsx("div",{className:"univer-ml-1.5 univer-flex-1",children:(S=h.subject)==null?void 0:S.name}),(l==null?void 0:l.findIndex(v=>{var p,C;return((p=v.subject)==null?void 0:p.userID)===((C=h.subject)==null?void 0:C.userID)}))!==-1&&I.jsx("div",{children:I.jsx(Qt,{})})]},(f=h.subject)==null?void 0:f.userID)}):I.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col univer-items-center",children:[I.jsx("img",{className:"univer-w-full",src:Bc,alt:"empty list",draggable:!1}),I.jsx("p",{className:"univer-text-sm univer-text-gray-400",children:e.t("permission.dialog.userEmpty")})]})}),I.jsx("div",{className:"univer-h-px univer-w-full univer-bg-gray-200"}),I.jsxs("div",{className:"univer-flex univer-items-center univer-justify-end univer-gap-1 univer-py-2",children:[I.jsx(F.Button,{onClick:()=>t.close(qi),children:e.t("permission.button.cancel")}),I.jsx(F.Button,{variant:"primary",onClick:()=>{i.setSelectUserList(l),t.close(qi)},children:e.t("permission.button.confirm")})]})]})},Kf=({errorMsg:n})=>{const o=_.useDependency(a.LocaleService);return I.jsx("div",{children:I.jsx("p",{className:"univer-m-0",children:n||o.t("permission.dialog.alertContent")})})},Fc="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+",vs="RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY",ps="RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY",qf=25,Qf=80;class zc extends y.SheetExtension{constructor(e){super();w(this,"_pattern",null);w(this,"_img",new Image);w(this,"renderCache",new Set);w(this,"_shadowStrategy","always");this._img.src=Fc,e&&(this._shadowStrategy=e)}clearCache(){this.renderCache.clear()}setShadowStrategy(e){this._shadowStrategy=e,this.clearCache()}getShadowStrategy(){return this._shadowStrategy}draw(e,t,i){const{worksheet:r}=i;r&&(e.save(),this._pattern||(this._pattern=e.createPattern(this._img,"repeat")),this.renderCache.clear(),a.Range.foreach(i.rowColumnSegment,(s,l)=>{if(!r.getRowVisible(s)||!r.getColVisible(l))return;const{selectionProtection:c=[]}=r.getCell(s,l)||{};this._pattern&&(e.fillStyle=this._pattern,c.forEach(d=>{if(d.ruleId&&this.shouldRender(d)){if(this.renderCache.has(d.ruleId))return;this.renderCache.add(d.ruleId),d.ranges.forEach(u=>{const h=i.getCellWithCoordByIndex(u.startRow,u.startColumn,!1),g=i.getCellWithCoordByIndex(u.endRow,u.endColumn,!1);e.fillRect(h.startX,h.startY,g.endX-h.startX,g.endY-h.startY)})}}))}),e.restore())}}class Jf extends zc{constructor(e){super(e);w(this,"uKey",vs);w(this,"Z_INDEX",qf)}shouldRender(e){return this._shadowStrategy==="none"?!1:this._shadowStrategy==="non-editable"?(e==null?void 0:e[re.View])!==!1&&(e==null?void 0:e[re.Edit])===!1:this._shadowStrategy==="non-viewable"?(e==null?void 0:e[re.View])===!1:(e==null?void 0:e[re.View])!==!1}}class $f extends zc{constructor(e){super(e);w(this,"uKey",ps);w(this,"Z_INDEX",Qf)}shouldRender(e){return this._shadowStrategy==="none"?!1:(e==null?void 0:e[re.View])===!1}}const Cs="worksheet-protection",Xc=25,ev=80;class tv extends y.SheetExtension{constructor(e){super();w(this,"uKey",Cs);w(this,"Z_INDEX",Xc);w(this,"_pattern");w(this,"_img",new Image);w(this,"_shadowStrategy","always");this._img.src=Fc,e&&(this._shadowStrategy=e)}draw(e,t,i){const{worksheet:r}=i;if(!r)return!1;e.save(),this._pattern||(this._pattern=e.createPattern(this._img,"repeat"));const{startRow:s,startColumn:l,endRow:c,endColumn:d}=i.rowColumnSegment,u=i.getCellWithCoordByIndex(s,l,!1),h=i.getCellWithCoordByIndex(c,d,!1),{hasWorksheetRule:g=!1,selectionProtection:S=[]}=r.getCell(s,l)||{};if(!this._pattern)return;if(S.length>0){const v=S[0];(v==null?void 0:v[re.View])?this.setZIndex(Xc):this.setZIndex(ev)}e.fillStyle=this._pattern;let f=g;if(this._shadowStrategy==="none")f=!1;else if(g&&S.length>0){const v=S[0];this._shadowStrategy==="non-editable"?f=(v==null?void 0:v[re.Edit])===!1:this._shadowStrategy==="non-viewable"&&(f=(v==null?void 0:v[re.View])===!1)}f&&e.fillRect(u.startX,u.startY,h.endX-u.startX,h.endY-u.startY),e.restore()}setShadowStrategy(e){this._shadowStrategy=e}getShadowStrategy(){return this._shadowStrategy}setZIndex(e){this.Z_INDEX=e}}var nv=Object.getOwnPropertyDescriptor,_s=(n,o,e,t)=>{for(var i=t>1?void 0:t?nv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},ot=(n,o)=>(e,t)=>o(e,t,n);let jn=class extends a.Disposable{constructor(n,o){super(),this._injector=n,this._componentManager=o,this._init()}_init(){this._initComponents(),this._initUiPartComponents()}_initComponents(){[[da,ol],[iu,co],[ou,Wr],[ru,Qt],[ua,Hr],[oi,Yf],[la,Gf],[ca,Zf],[Xa,Kf]].forEach(([n,o])=>{this.disposeWithMe(this._componentManager.register(n,o))})}_initUiPartComponents(){const o=this._injector.get(a.IConfigService).getConfig(Pe);if(o!=null&&o.protectedRangeUserSelector){const{component:e,framework:t}=o.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(ri,e,{framework:t}))}}};jn=_s([ot(0,a.Inject(a.Injector)),ot(1,a.Inject(_.ComponentManager))],jn);let Do=class extends a.Disposable{constructor(o,e,t,i,r){super();w(this,"_rangeProtectionCanViewRenderExtension");w(this,"_rangeProtectionCanNotViewRenderExtension");this._context=o,this._rangeProtectionRuleModel=e,this._sheetSkeletonManagerService=t,this._permissionService=i,this._configService=r;const s=this._configService.getConfig(Pe),l=Sr(s==null?void 0:s.protectedRangeShadow);this._rangeProtectionCanViewRenderExtension=new Jf(l),this._rangeProtectionCanNotViewRenderExtension=new $f(l),this._initSkeleton(),this._initRender(),this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(c=>{var d,u;((d=c.oldRule)!=null&&d.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(c.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(c.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),((u=c.oldRule)!=null&&u.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(c.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(c.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()}))}_initRender(){const o=this._context.mainComponent;o&&(o.getExtensionByKey(vs)||o.register(this._rangeProtectionCanViewRenderExtension),o.getExtensionByKey(ps)||o.register(this._rangeProtectionCanNotViewRenderExtension))}_initSkeleton(){const o=()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()};this.disposeWithMe(O.merge(this._permissionService.permissionPointUpdate$.pipe(O.throttleTime(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.rangeRuleInitStateChange$,this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(o))}};Do=_s([ot(1,a.Inject(m.RangeProtectionRuleModel)),ot(2,a.Inject(T.SheetSkeletonManagerService)),ot(3,a.IPermissionService),ot(4,a.IConfigService)],Do);let ko=class extends a.Disposable{constructor(o,e,t,i,r){super();w(this,"_worksheetProtectionRenderExtension");this._context=o,this._renderManagerService=e,this._sheetSkeletonManagerService=t,this._worksheetProtectionRuleModel=i,this._configService=r;const s=this._configService.getConfig(Pe),l=Sr(s==null?void 0:s.protectedRangeShadow);this._worksheetProtectionRenderExtension=new tv(l),this._initSkeleton(),l!=="none"&&this._initRender()}_initRender(){const o=this._context.unitId,e=o&&this._renderManagerService.getRenderById(o),t=e&&e.mainComponent;t&&(t.getExtensionByKey(Cs)||t.register(this._worksheetProtectionRenderExtension))}_initSkeleton(){const o=()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()};this.disposeWithMe(O.merge(this._worksheetProtectionRuleModel.worksheetRuleInitStateChange$).pipe().subscribe(o))}};ko=_s([ot(1,a.Inject(y.IRenderManagerService)),ot(2,a.Inject(T.SheetSkeletonManagerService)),ot(3,a.Inject(m.WorksheetProtectionRuleModel)),ot(4,a.Inject(a.IConfigService))],ko);var iv=Object.getOwnPropertyDescriptor,ov=(n,o,e,t)=>{for(var i=t>1?void 0:t?iv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Is=(n,o)=>(e,t)=>o(e,t,n);let No=class extends a.Disposable{constructor(n,o,e,t){super(),this._context=n,this._sheetSkeletonManagerService=o,this._sheetClipboardService=e,this._sheetClipboardController=t,this._initialize()}_initialize(){this.disposeWithMe(a.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{if(!(n!=null&&n.unitId)||!this._sheetClipboardService.getPasteMenuVisible())return;const o=this._sheetClipboardService.getPasteOptionsCache(),e=o==null?void 0:o.target.unitId;n.unitId===e&&this._sheetClipboardController.refreshOptionalPaste()})))}};No=ov([Is(1,a.Inject(T.SheetSkeletonManagerService)),Is(2,We),Is(3,a.Inject(en))],No);var rv=Object.getOwnPropertyDescriptor,sv=(n,o,e,t)=>{for(var i=t>1?void 0:t?rv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},bs=(n,o)=>(e,t)=>o(e,t,n);let Ho=class extends a.Disposable{constructor(n,o,e,t){super(),this._context=n,this._formatPainterService=o,this._selectionRenderService=e,this._commandService=t,this._initialize()}_initialize(){this._bindFormatPainterStatus(),this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(n=>{var o;if(this._formatPainterService.getStatus()!==xe.OFF){const{rangeWithCoord:e}=n[n.length-1];this._commandService.executeCommand(ui.id,{unitId:this._context.unitId,subUnitId:((o=this._context.unit.getActiveSheet())==null?void 0:o.getSheetId())||"",range:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}),this._formatPainterService.getStatus()===xe.ONCE&&this._commandService.executeCommand(vn.id)}}))}_bindFormatPainterStatus(){this.disposeWithMe(a.toDisposable(this._formatPainterService.status$.subscribe(n=>{const o=this._context.scene;o&&(n!==xe.OFF?o.setDefaultCursor(y.CURSOR_TYPE.CELL):o.setDefaultCursor(y.CURSOR_TYPE.DEFAULT))})))}};Ho=sv([bs(1,qe),bs(2,ye),bs(3,a.ICommandService)],Ho);var Es=(n=>(n[n.NORMAL=0]="NORMAL",n[n.HIGHLIGHT=1]="HIGHLIGHT",n))(Es||{});const av="rgba(0, 0, 0, 0.15)",mt="rgb(0, 0, 0)",Vo="rgb(255, 255, 255, 1)";class lv extends y.Shape{constructor(e,t){super(e,t);w(this,"_size",12);w(this,"_iconRatio",.4);w(this,"_mode",0);this.setShapeProps(t)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===1&&y.Rect.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:av});const t=this._size*.5*this._iconRatio,i=Math.PI/180*60,r=t*Math.sin(i),s=t*Math.cos(i);y.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-s+this._size/2},{x:r+this._size/2,y:-s+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:mt})}}var cv=Object.getOwnPropertyDescriptor,dv=(n,o,e,t)=>{for(var i=t>1?void 0:t?cv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Wo=(n,o)=>(e,t)=>o(e,t,n);const uv="__SpreadsheetHeaderMenuSHAPEControllerShape__",hv="__SpreadsheetHeaderMenuMAINControllerShape__",mv="rgba(0, 0, 0, 0.1)";let Lo=class extends a.Disposable{constructor(o,e,t,i,r){super();w(this,"_hoverRect");w(this,"_hoverMenu");w(this,"_currentColumn",Number.POSITIVE_INFINITY);w(this,"_headerPointerSubs");w(this,"_colHeaderPointerSubs");this._context=o,this._sheetSkeletonManagerService=e,this._contextMenuService=t,this._commandService=i,this._selectionManagerService=r,this._initialize()}dispose(){var o,e,t;(o=this._hoverRect)==null||o.dispose(),(e=this._hoverMenu)==null||e.dispose(),(t=this._headerPointerSubs)==null||t.unsubscribe(),this._headerPointerSubs=null}_initialize(){const o=this._context.scene;this._hoverRect=new y.Rect(uv,{fill:mv,evented:!1}),this._hoverMenu=new lv(hv,{zIndex:100,visible:!1}),o.addObjects([this._hoverRect,this._hoverMenu],je),this._initialHover(0),this._initialHover(1),this._initialHoverMenu()}_initialHover(o=0){var h,g,S;const e=this._context.components.get(_e.COLUMN),t=this._context.components.get(_e.ROW),i=o===0?t:e,r=f=>{var A,D,k;const v=(A=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:A.skeleton;if(v==null)return;const{rowHeaderWidth:p,columnHeaderHeight:C}=v,{startX:b,startY:E,endX:R,endY:P,column:M}=$e(f.offsetX,f.offsetY,this._context.scene,v);if(o===0)(D=this._hoverRect)==null||D.transformByState({width:p,height:P-E,left:0,top:E});else{if(this._currentColumn=M,(k=this._hoverRect)==null||k.transformByState({width:R-b,height:C,left:b,top:0}),this._hoverMenu==null)return;if(R-b<C*2){this._hoverMenu.hide();return}const N=C*.8;this._hoverMenu.transformByState({left:R-C,top:C/2-N/2}),this._hoverMenu.setShapeProps({size:N}),this._hoverMenu.show()}},s=()=>{var f;(f=this._hoverRect)==null||f.show()},l=()=>{var f,v;(f=this._hoverRect)==null||f.hide(),(v=this._hoverMenu)==null||v.hide()};this._headerPointerSubs=new O.Subscription;const c=i.onPointerMove$.subscribeEvent(r),d=i.onPointerEnter$.subscribeEvent(s),u=i.onPointerLeave$.subscribeEvent(l);(h=this._headerPointerSubs)==null||h.add(c),(g=this._headerPointerSubs)==null||g.add(d),(S=this._headerPointerSubs)==null||S.add(u)}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnter$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Es.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(y.CURSOR_TYPE.POINTER))}),this._hoverMenu.onPointerLeave$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Es.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDown$.subscribeEvent(o=>{var r;const e=this._currentColumn,t=(r=this._selectionManagerService.getCurrentSelections())==null?void 0:r.map(s=>s.range);if(!!!(t!=null&&t.filter(s=>s.rangeType===a.RANGE_TYPE.COLUMN).find(s=>{const{startColumn:l,endColumn:c}=s;return e>=l&&e<=c}))){const s=this._getSelectionOnColumn(e);this._commandService.syncExecuteCommand(m.SetSelectionsOperation.id,s)}o.stopPropagation(),o.preventDefault(),this._contextMenuService.triggerContextMenu(o,_.ContextMenuPosition.COL_HEADER)}))}_getSelectionOnColumn(o){const e=this._context.unit,t=e.getActiveSheet();if(!t)throw new Error("No active worksheet");return{unitId:e.getUnitId(),subUnitId:t.getSheetId(),selections:[{range:{startRow:0,startColumn:o,endRow:t.getRowCount()-1,endColumn:o,rangeType:a.RANGE_TYPE.COLUMN},primary:{startRow:0,startColumn:o,endRow:0,endColumn:o,actualRow:0,actualColumn:o,isMerged:!1,isMergedMainCell:!1},style:null}]}}};Lo=dv([Wo(1,a.Inject(T.SheetSkeletonManagerService)),Wo(2,_.IContextMenuService),Wo(3,a.ICommandService),Wo(4,a.Inject(m.SheetsSelectionsService))],Lo);var ws=(n=>(n[n.ROW=0]="ROW",n[n.COLUMN=1]="COLUMN",n))(ws||{});const Hi=12,gv=.4;class Yc extends y.Shape{constructor(e,t,i){super(e,t);w(this,"_size",Hi);w(this,"_iconRatio",gv);w(this,"_hovered",!0);w(this,"_hasPrevious",!0);w(this,"_hasNext",!0);w(this,"_unhideType");t&&this.setShapeProps(t),this.onPointerEnter$.subscribeEvent(()=>this.setShapeProps({hovered:!0})),this.onPointerLeave$.subscribeEvent(()=>this.setShapeProps({hovered:!1})),this.onPointerDown$.subscribeEvent(()=>i==null?void 0:i())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===1?2:1),height:this._size*(this._unhideType===0?2:1)})}_draw(e){this._unhideType===0?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?y.Rect.drawWith(e,{width:this._size,height:this._size,stroke:mt,fill:Vo}):y.Rect.drawWith(e,{width:this._size,height:2*this._size,stroke:mt,fill:Vo}));const t=this._size*.5*this._iconRatio,i=Math.PI/3,r=t*Math.cos(i),s=t*Math.sin(i);if(this._hasPrevious&&y.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-s},{x:this._size/2-s,y:this._size/2+r},{x:this._size/2+s,y:this._size/2+r}]],fill:mt}),this._hasNext){const l=this._hasPrevious?3:1;y.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*l/2+s},{x:this._size/2-s,y:this._size*l/2-r},{x:this._size/2+s,y:this._size*l/2-r}]],fill:mt})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?y.Rect.drawWith(e,{width:this._size,height:this._size,stroke:mt,fill:Vo}):y.Rect.drawWith(e,{width:2*this._size,height:this._size,stroke:mt,fill:Vo}));const t=this._size*.5*this._iconRatio,i=Math.PI/3,r=t*Math.cos(i),s=t*Math.sin(i);if(this._hasPrevious&&y.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+s,y:this._size/2-s},{x:this._size/2+s,y:this._size/2+s}]],fill:mt}),this._hasNext){const l=this._hasPrevious?3:1;y.RegularPolygon.drawWith(e,{pointsGroup:[[{x:r+this._size*l/2,y:this._size/2},{x:-s+this._size*l/2,y:this._size/2-s},{x:-s+this._size*l/2,y:this._size/2+s}]],fill:mt})}}}var Sv=Object.getOwnPropertyDescriptor,fv=(n,o,e,t)=>{for(var i=t>1?void 0:t?Sv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},jc=(n,o)=>(e,t)=>o(e,t,n);const Zc="__SpreadsheetHeaderUnhideSHAPEControllerShape__";let xo=class extends a.RxDisposable{constructor(o,e,t){super();w(this,"_shapes",{cols:[],rows:[]});this._context=o,this._sheetSkeletonManagerService=e,this._commandService=t,this._init()}get _workbook(){return this._context.unit}dispose(){super.dispose(),this._clearShapes()}_init(){let o="";this._context.unit.activeSheet$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(this._clearShapes(),!e){o="";return}o=e.getSheetId(),this._update(this._workbook,e)}),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e){const{unitId:t,sheetId:i}=e;if(t===this._workbook.getUnitId()&&i===o){const r=this._workbook.getSheetBySheetId(i);r&&this._update(this._workbook,r)}}}))}_update(o,e){var g;const t=(g=this._sheetSkeletonManagerService.getSkeletonParam(e.getSheetId()))==null?void 0:g.skeleton;if(!t)return;const i=e.getHiddenRows(),r=e.getHiddenCols(),s=this._getSheetObject(),{scene:l}=s,c=e.getRowCount(),d=i.map(S=>{const{startRow:f,endRow:v}=S,p=gr(f,0,l,t),C=f!==0,b=v!==c-1;return new Yc(Zc,{type:ws.ROW,hovered:!1,hasPrevious:C,hasNext:b,top:p.startY-(C?Hi:0),left:p.startX-Hi},()=>this._commandService.executeCommand(m.SetSpecificRowsVisibleCommand.id,{unitId:o.getUnitId(),subUnitId:e.getSheetId(),ranges:[S]}))}),u=e.getColumnCount(),h=r.map(S=>{const{startColumn:f,endColumn:v}=S,p=gr(0,f,l,t),C=f!==0,b=v!==u-1;return new Yc(Zc,{type:ws.COLUMN,hovered:!1,hasPrevious:C,hasNext:b,top:20-Hi,left:p.startX-(C?Hi:0)},()=>this._commandService.executeCommand(m.SetSpecificColsVisibleCommand.id,{unitId:o.getUnitId(),subUnitId:e.getSheetId(),ranges:[S]}))});l.addObjects(h,Hs),l.addObjects(d,Hs),this._clearShapes(),this._shapes={cols:h,rows:d}}_clearShapes(){this._shapes.cols.forEach(o=>o.dispose()),this._shapes.rows.forEach(o=>o.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return Be(this._workbook,this._context)}};xo=fv([jc(1,a.Inject(T.SheetSkeletonManagerService)),jc(2,a.ICommandService)],xo);const gt="MOBILE_PINCH_ZOOMING",Zn="MOBILE_EXPANDING_SELECTION";var vv=Object.getOwnPropertyDescriptor,pv=(n,o,e,t)=>{for(var i=t>1?void 0:t?vv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Vi=(n,o)=>(e,t)=>o(e,t,n);const Cv="__MobileHeaderResizeControllerShapeRow__",_v="__MobileHeaderResizeControllerShapeColumn__",Gc="__MobileHeaderResizeControllerShapeHelper__",Kc="rgb(199, 199, 199)",qc=2;let Ts=class extends a.Disposable{constructor(o,e,t,i,r,s){super();w(this,"_currentRow",-1);w(this,"_currentColumn",-1);w(this,"_rowResizeButton");w(this,"_columnResizeButton");w(this,"_resizeHelperShape");w(this,"_isDragging",!1);w(this,"_touchStartX",0);w(this,"_touchStartY",0);w(this,"_touchMoveHandler");w(this,"_touchEndHandler");w(this,"_selectionSubscription");w(this,"_scrollSubscription");this._context=o,this._sheetSkeletonManagerService=e,this._selectionManagerService=t,this._commandService=i,this._contextService=r,this._scrollManagerService=s,this._init()}dispose(){var o,e,t,i,r;(o=this._rowResizeButton)==null||o.dispose(),this._rowResizeButton=null,(e=this._columnResizeButton)==null||e.dispose(),this._columnResizeButton=null,(t=this._resizeHelperShape)==null||t.dispose(),this._resizeHelperShape=null,(i=this._selectionSubscription)==null||i.unsubscribe(),this._selectionSubscription=null,(r=this._scrollSubscription)==null||r.unsubscribe(),this._scrollSubscription=null,this._cleanupTouchHandlers(),super.dispose()}_init(){this._initResizeShapes(),this._initSelectionListener(),this._initScrollListener()}_initResizeShapes(){const o=this._context.scene;this._rowResizeButton=new lo(Cv,{visible:!1,mode:Ti.HORIZONTAL,zIndex:100}),this._columnResizeButton=new lo(_v,{visible:!1,mode:Ti.VERTICAL,zIndex:100}),o.addObjects([this._rowResizeButton,this._columnResizeButton],je),this._bindTouchEventsToButton(this._rowResizeButton,"row"),this._bindTouchEventsToButton(this._columnResizeButton,"column")}_initSelectionListener(){this._selectionSubscription=this._selectionManagerService.selectionMoveEnd$.subscribe(o=>{this._handleSelectionChange(o)}),this.disposeWithMe(this._selectionSubscription)}_initScrollListener(){this._scrollSubscription=this._scrollManagerService.validViewportScrollInfo$.subscribe(o=>{o&&this._updateButtonPositionOnScroll()}),this.disposeWithMe(this._scrollSubscription)}_handleSelectionChange(o){var i,r;if((i=this._rowResizeButton)==null||i.hide(),(r=this._columnResizeButton)==null||r.hide(),this._currentRow=-1,this._currentColumn=-1,!o||o.length===0)return;const e=o[0],t=e.range.rangeType;t===a.RANGE_TYPE.ROW?this._showRowResizeButton(e):t===a.RANGE_TYPE.COLUMN&&this._showColumnResizeButton(e)}_showRowResizeButton(o){const e=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!e||!this._rowResizeButton)return;const{scene:t}=this._context,i=Oe(o,e),{endRow:r}=i.rangeWithCoord,s=e.getOffsetByRow(r),{rowHeaderWidth:l}=e,{scaleX:c,scaleY:d}=t.getAncestorScale(),u=Math.max(c,d),h=ut/u;this._rowResizeButton.transformByState({left:l/2-h/2,top:s-h/2}),this._rowResizeButton.setShapeProps({size:Math.min(Za,l/3)}),this._currentRow=r,this._rowResizeButton.show()}_showColumnResizeButton(o){const e=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!e||!this._columnResizeButton)return;const{scene:t}=this._context,i=Oe(o,e),{endColumn:r}=i.rangeWithCoord,s=e.getOffsetByColumn(r),{columnHeaderHeight:l}=e,{scaleX:c,scaleY:d}=t.getAncestorScale(),u=Math.max(c,d),h=ut/u;this._columnResizeButton.transformByState({left:s-h/2,top:l/2-h/2}),this._columnResizeButton.setShapeProps({size:l*.7}),this._currentColumn=r,this._columnResizeButton.show()}_updateButtonPositionOnScroll(){var l,c;const o=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!o)return;const{scene:e}=this._context,{scaleX:t,scaleY:i}=e.getAncestorScale(),r=Math.max(t,i),s=ut/r;if((l=this._rowResizeButton)!=null&&l.visible&&this._currentRow>=0){const d=o.getOffsetByRow(this._currentRow),{rowHeaderWidth:u}=o;this._rowResizeButton.transformByState({left:u/2-s/2,top:d-s/2})}if((c=this._columnResizeButton)!=null&&c.visible&&this._currentColumn>=0){const d=o.getOffsetByColumn(this._currentColumn),{columnHeaderHeight:u}=o;this._columnResizeButton.transformByState({left:d-s/2,top:u/2-s/2})}}_bindTouchEventsToButton(o,e){o.onPointerDown$.subscribeEvent(t=>{this._contextService.getContextValue(gt)||this._contextService.getContextValue(Zn)||this._startResize(t,e)})}_startResize(o,e){const t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t)return;const i=this._context.scene,r=i.getEngine(),s=r==null?void 0:r.getCanvasElement();if(!s)return;this._touchStartX=o.offsetX,this._touchStartY=o.offsetY,this._isDragging=!1;const l=e==="row"?t.getOffsetByRow(this._currentRow):t.getOffsetByColumn(this._currentColumn);this._createResizeHelper(e,l,t),i.disableObjectsEvent(),this._setupTouchHandlers(s,e,l)}_setupTouchHandlers(o,e,t){if(!this._sheetSkeletonManagerService.getCurrentSkeleton())return;const r=this._context.scene,s=this._context.unit.getActiveSheet(),l=(s==null?void 0:s.getZoomRatio())||1;let c=0;this._touchMoveHandler=d=>{if(this._contextService.getContextValue(gt)){this._cancelResize();return}if(d.touches.length!==1)return;const u=d.touches[0],h=o.getBoundingClientRect(),g=u.clientX-h.left,S=u.clientY-h.top,v=(e==="row"?S-this._touchStartY:g-this._touchStartX)/l;Math.abs(v)>=qc&&(this._isDragging=!0),this._isDragging&&(c=v,this._updateResizeHelper(e,t+v),this._updateResizeButton(e,t+v)),d.preventDefault()},this._touchEndHandler=d=>{r.enableObjectsEvent(),this._isDragging&&Math.abs(c)>=qc&&(e==="row"?this._commandService.executeCommand(m.DeltaRowHeightCommand.id,{deltaY:c,anchorRow:this._currentRow}):this._commandService.executeCommand(m.DeltaColumnWidthCommand.id,{deltaX:c,anchorCol:this._currentColumn})),this._cleanupResize(),this._touchMoveHandler&&o.removeEventListener("touchmove",this._touchMoveHandler),this._touchEndHandler&&(o.removeEventListener("touchend",this._touchEndHandler),o.removeEventListener("touchcancel",this._touchEndHandler)),d.preventDefault()},o.addEventListener("touchmove",this._touchMoveHandler,{passive:!1}),o.addEventListener("touchend",this._touchEndHandler,{passive:!1}),o.addEventListener("touchcancel",this._touchEndHandler,{passive:!1}),this.disposeWithMe(a.toDisposable(()=>{this._touchMoveHandler&&o.removeEventListener("touchmove",this._touchMoveHandler),this._touchEndHandler&&(o.removeEventListener("touchend",this._touchEndHandler),o.removeEventListener("touchcancel",this._touchEndHandler))}))}_createResizeHelper(o,e,t){const i=this._context.scene,{scaleX:r,scaleY:s}=i.getAncestorScale(),l=Math.max(r,s),c=yi/l,d=i.getEngine(),u=(d==null?void 0:d.width)||0,h=(d==null?void 0:d.height)||0;o==="row"?this._resizeHelperShape=new y.Rect(Gc,{width:Math.max(u,t.columnTotalWidth+t.rowHeaderWidth),height:c,fill:Kc,left:0,top:e-c/2}):this._resizeHelperShape=new y.Rect(Gc,{width:c,height:Math.max(h,t.rowTotalHeight+t.columnHeaderHeight),fill:Kc,left:e-c/2,top:0}),i.addObject(this._resizeHelperShape,je)}_updateResizeHelper(o,e){if(!this._resizeHelperShape)return;const t=this._context.scene,{scaleX:i,scaleY:r}=t.getAncestorScale(),s=Math.max(i,r),l=yi/s;o==="row"?this._resizeHelperShape.transformByState({top:e-l/2}):this._resizeHelperShape.transformByState({left:e-l/2})}_updateResizeButton(o,e){const t=o==="row"?this._rowResizeButton:this._columnResizeButton;if(!t)return;const i=this._context.scene,{scaleX:r,scaleY:s}=i.getAncestorScale(),l=Math.max(r,s),c=ut/l;o==="row"?t.transformByState({top:e-c/2}):t.transformByState({left:e-c/2})}_cleanupResize(){var o;(o=this._resizeHelperShape)==null||o.dispose(),this._resizeHelperShape=null,this._isDragging=!1}_cleanupTouchHandlers(){const o=this._context.scene.getEngine(),e=o==null?void 0:o.getCanvasElement();e&&(this._touchMoveHandler&&(e.removeEventListener("touchmove",this._touchMoveHandler),this._touchMoveHandler=null),this._touchEndHandler&&(e.removeEventListener("touchend",this._touchEndHandler),e.removeEventListener("touchcancel",this._touchEndHandler),this._touchEndHandler=null))}_cancelResize(){this._context.scene.enableObjectsEvent(),this._cleanupResize(),this._cleanupTouchHandlers()}};Ts=pv([Vi(1,a.Inject(T.SheetSkeletonManagerService)),Vi(2,a.Inject(m.SheetsSelectionsService)),Vi(3,a.ICommandService),Vi(4,a.IContextService),Vi(5,a.Inject(T.SheetScrollManagerService))],Ts);var Iv=Object.getOwnPropertyDescriptor,bv=(n,o,e,t)=>{for(var i=t>1?void 0:t?Iv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},nn=(n,o)=>(e,t)=>o(e,t,n);const Ev=[Ve.id,Je.id];let ys=class extends a.Disposable{constructor(n,o,e,t,i,r,s,l){super(),this._context=n,this._sheetSkeletonManagerService=o,this._commandService=e,this._renderManagerService=t,this._selectionManagerService=i,this._scrollManagerService=r,this._univerInstanceService=s,this._contextService=l,this._init()}scrollToRange(n){let{endRow:o,endColumn:e,startColumn:t,startRow:i}=n;const r=this._getViewportBounding();if(n.rangeType===a.RANGE_TYPE.ROW?(t=0,e=0):n.rangeType===a.RANGE_TYPE.COLUMN&&(i=0,o=0),r){const s=r.startRow>o?i:o,l=r.startColumn>e?t:e;return this._scrollToCell(s,l)}else return this._scrollToCell(i,t)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._initPointerScrollEvent(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(Ev.includes(n.id))this._scrollToSelection();else if(n.id===m.ScrollToCellOperation.id){const o=n.params.range;this.scrollToRange(o)}else if(n.id===Ue.id){const o=n.params;this._scrollToSelectionForExpand(o)}}))}_scrollToSelectionForExpand(n){setTimeout(()=>{const o=this._selectionManagerService.getCurrentLastSelection();if(o==null)return;const{startRow:e,startColumn:t,endRow:i,endColumn:r}=o.range,s=this._getViewportBounding();if(s==null)return;const{startRow:l,startColumn:c,endRow:d,endColumn:u}=s;let h=0,g=0;e>l?h=i:i<d?h=e:h=l,t>c?g=r:r<u?g=t:g=c,n.direction===a.Direction.DOWN?h=i:n.direction===a.Direction.UP?h=e:n.direction===a.Direction.RIGHT?g=r:n.direction===a.Direction.LEFT&&(g=t),this._scrollToCell(h,g)},0)}_getFreeze(){var o;const n=(o=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:o.skeleton.getWorksheetConfig();if(n!=null)return n.freeze}_initScrollEventListener(){const{scene:n}=this._context;if(n==null)return;const o=n.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);o&&(this.disposeWithMe(a.toDisposable(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var g;if(e==null){o.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}const t=(g=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:g.skeleton;if(!t)return;const{sheetViewStartRow:i,sheetViewStartColumn:r,offsetX:s,offsetY:l}=e,{startX:c,startY:d}=t.getCellWithCoordByIndex(i,r,!1),u=c+s,h=d+l;o.scrollToViewportPos({viewportScrollX:u,viewportScrollY:h})}))),this.disposeWithMe(o.onScrollAfter$.subscribeEvent(e=>{var f;if(!e)return;const t=(f=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:f.skeleton;if(t==null)return;const i=this._getSheetObject();if(t==null||i==null)return;const{viewportScrollX:r,viewportScrollY:s,scrollX:l,scrollY:c}=e,{row:d,column:u,rowOffset:h,columnOffset:g}=t.getOffsetRelativeToRowCol(r,s),S={sheetViewStartRow:d,sheetViewStartColumn:u,offsetX:g,offsetY:h,viewportScrollX:r,viewportScrollY:s,scrollX:l,scrollY:c};this._scrollManagerService.setValidScrollStateToCurrSheet(S),this._scrollManagerService.validViewportScrollInfo$.next({...S,scrollX:l,scrollY:c,viewportScrollX:r,viewportScrollY:s})})),this.disposeWithMe(o.onScrollByBar$.subscribeEvent(e=>{var g;const t=(g=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:g.skeleton;if(t==null||e.isTrigger===!1)return;const i=this._getSheetObject();if(t==null||i==null)return;const{viewportScrollX:r=0,viewportScrollY:s=0}=e,l=this._getFreeze(),{row:c,column:d,rowOffset:u,columnOffset:h}=t.getOffsetRelativeToRowCol(r,s);this._commandService.executeCommand(Fe.id,{sheetViewStartRow:c+((l==null?void 0:l.ySplit)||0),sheetViewStartColumn:d+((l==null?void 0:l.xSplit)||0),offsetX:h,offsetY:u})})))}_initSkeletonListener(){this.disposeWithMe(a.toDisposable(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(n=>{if(n==null)return;const o={unitId:n.unitId,sheetId:n.sheetId};this._scrollManagerService.setSearchParam(o);const e=this._getSheetObject();if(!e)return;const i=e.scene.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),r=this._scrollManagerService.getScrollStateByParam(o),{viewportScrollX:s,viewportScrollY:l}=this._scrollManagerService.calcViewportScrollFromRowColOffset(r);i&&(r?(i.viewportScrollX=s,i.viewportScrollY=l):(i.viewportScrollX=0,i.viewportScrollY=0),this._updateSceneSize(n))})))}_initPointerScrollEvent(){const n=this._getSheetObject();if(!n)return;const o=n.scene,e=n.spreadsheet,t=o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),i={x:0,y:0};let r=!1;const s={x:0,y:0};let l=null;const c=5,d=[];let u=0,h=0,g={x:0,y:0},S=null;const f=8,v=.992,p=.22,C=12,b=240,E=30,R=.05,P=.26,M=()=>{const j=this._context.unit.getActiveSheet();return(j==null?void 0:j.getZoomRatio())||1},A=()=>({decelerationRate:v,minVelocityThreshold:p,maxVelocity:C}),D=(j,Q,te)=>{const ae=j>0?Q/j:0,he=j<b&&Q>E;let ge;if(he){const Ce=Math.min(ae/2,1);ge=R+(P-R)*Ce,j<150&&Math.abs(te)>3&&(ge*=1.3)}else{const Ce=Math.min(Math.abs(te)/5,1);ge=R*(.5+Ce*.5)}return Math.max(R*.5,Math.min(P*1.5,ge))},k=()=>{if(d.length===0)return{x:0,y:0};let j=0,Q=0,te=0;for(let ae=0;ae<d.length;ae++){const he=(ae+1)*(ae+1);Q+=d[ae].x*he,te+=d[ae].y*he,j+=he}return{x:Q/j,y:te/j}};let N=0,H=!1,V=0,L=1,W={x:0,y:0};const U=()=>{l!==null&&(cancelAnimationFrame(l),l=null),N=0,s.x=0,s.y=0},B=j=>{if(!t)return;if(H){U();return}if(N===0){N=j,l=requestAnimationFrame(B);return}const Q=j-N;N=j;const{decelerationRate:te,minVelocityThreshold:ae}=A(),he=te**Q;s.x*=he,s.y*=he;const ge=-Math.log(te),Ce=s.x*(1-he)/ge,Ee=s.y*(1-he)/ge;(Math.abs(Ce)>.01||Math.abs(Ee)>.01)&&this._commandService.executeCommand(wn.id,{offsetY:Ee,offsetX:Ce}),Math.sqrt(s.x*s.x+s.y*s.y)>ae?l=requestAnimationFrame(B):(l=null,N=0)},X=o.getEngine(),z=X==null?void 0:X.getCanvasElement();if(!z)return;let Y=null,G=null,K=null;const ee=this._createZoomIndicator(z),ne=j=>{const Q=z.getBoundingClientRect();return{offsetX:j.clientX-Q.left,offsetY:j.clientY-Q.top}},Se=(j,Q)=>{const te=j.clientX-Q.clientX,ae=j.clientY-Q.clientY;return Math.sqrt(te*te+ae*ae)},ue=(j,Q)=>{const te=ne(j),ae=ne(Q);return{x:(te.offsetX+ae.offsetX)/2,y:(te.offsetY+ae.offsetY)/2}},ce=(j,Q)=>{var ge;const te=(ge=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:ge.skeleton;if(!te)return!1;const{rowHeaderWidthAndMarginLeft:ae,columnHeaderHeightAndMarginTop:he}=te;return j>ae&&Q>he},Z=(j,Q,te)=>{var on;const ae=(on=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:on.skeleton;if(!ae||!t)return null;const{rowHeaderWidthAndMarginLeft:he,columnHeaderHeightAndMarginTop:ge}=ae,Ce=t.viewportScrollX||0,Ee=t.viewportScrollY||0,Ne=(j-he)/te+Ce,Me=(Q-ge)/te+Ee,{row:De,column:ft,rowOffset:Pt,columnOffset:ke}=ae.getOffsetRelativeToRowCol(Math.max(0,Ne),Math.max(0,Me)),ze=ae.getCellWithCoordByIndex(De,ft,!1);return{row:De,column:ft,rowOffset:Pt,columnOffset:ke,cellStartX:ze.startX,cellStartY:ze.startY}},q=(j,Q)=>{var rt;if(!t)return;const te=(rt=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:rt.skeleton;if(!te)return;const{rowHeaderWidthAndMarginLeft:ae,columnHeaderHeightAndMarginTop:he}=te,ge=t.viewportScrollX||0,Ce=t.viewportScrollY||0,Ee=W.x-ae,Ne=W.y-he;let Me,De;if(K)Me=K.x-Ee/j,De=K.y-Ne/j;else if(Y){const xi=Y.cellStartX+Y.columnOffset,rd=Y.cellStartY+Y.rowOffset;Me=xi-Ee/j,De=rd-Ne/j}else{const xi=j/Q;Me=ge/xi,De=Ce/xi}Me<0&&(Me=0),De<0&&(De=0);const ft=this._context.unit,Pt=ft.getActiveSheet();if(!Pt)return;this._commandService.executeCommand(Xt.id,{zoomRatio:j,unitId:ft.getUnitId(),subUnitId:Pt.getSheetId()});const{row:ke,column:ze,rowOffset:on,columnOffset:Ds}=te.getOffsetRelativeToRowCol(Me,De);this._commandService.executeCommand(Fe.id,{sheetViewStartRow:ke,sheetViewStartColumn:ze,offsetX:Ds,offsetY:on})};e.onPointerDown$.subscribeEvent((j,Q)=>{U(),Q.stopPropagation()});const se=(j,Q)=>{var te;if(H=!0,this._contextService.setContextValue(gt,!0),V=Se(j,Q),L=M(),W=ue(j,Q),Y=Z(W.x,W.y,L),t){const ae=(te=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:te.skeleton;if(ae){const{rowHeaderWidthAndMarginLeft:he,columnHeaderHeightAndMarginTop:ge}=ae;G={x:t.viewportScrollX||0,y:t.viewportScrollY||0};const Ce=W.x-he,Ee=W.y-ge;K={x:G.x+Ce/L,y:G.y+Ee/L}}}},de=j=>{if(U(),j.touches.length===2){const he=j.touches[0],ge=j.touches[1],Ce=ne(he),Ee=ne(ge);if(!ce(Ce.offsetX,Ce.offsetY)||!ce(Ee.offsetX,Ee.offsetY))return;r=!1,se(he,ge),this._showZoomIndicator(ee,Math.round(L*100)),j.preventDefault();return}if(j.touches.length!==1||H||this._contextService.getContextValue(Zn))return;const Q=j.touches[0],{offsetX:te,offsetY:ae}=ne(Q);ce(te,ae)&&(i.x=te,i.y=ae,u=performance.now(),h=u,g={x:0,y:0},S=null,d.length=0,r=!0,j.preventDefault())},ie=j=>{if(H&&j.touches.length===2){l!==null&&U();const ke=j.touches[0],ze=j.touches[1],Ds=Se(ke,ze)/V;let rt=L*Ds;rt=Math.max(.2,Math.min(2,rt)),rt=Math.round(rt*10)/10;const sd=M();Math.abs(rt-sd)>=.05&&(W=ue(ke,ze),q(rt,sd),this._showZoomIndicator(ee,Math.round(rt*100))),j.preventDefault();return}if(!r||j.touches.length!==1||!t||this._contextService.getContextValue(Zn))return;const Q=j.touches[0],{offsetX:te,offsetY:ae}=ne(Q),he=performance.now(),ge=he-u;if(ge<=0)return;const Ce=-(te-i.x),Ee=-(ae-i.y),Ne=M(),Me=Ce/Ne,De=Ee/Ne;if(g.x+=Math.abs(Ce),g.y+=Math.abs(Ee),S===null){const ke=g.x,ze=g.y;(ke>f||ze>f)&&(S=ke>ze?"x":"y")}const ft=Me/ge*16,Pt=De/ge*16;for(d.push({x:ft,y:Pt,time:he});d.length>c;)d.shift();(Me!==0||De!==0)&&this._commandService.executeCommand(wn.id,{offsetY:De,offsetX:Me}),i.x=te,i.y=ae,u=he,j.preventDefault()},le=j=>{if(H){j.touches.length<2&&(H=!1,this._contextService.setContextValue(gt,!1),Y=null,G=null,K=null,U(),d.length=0,this._hideZoomIndicator(ee));return}if(!r)return;r=!1;const Q=k(),te=performance.now()-h,ae=Math.sqrt(g.x*g.x+g.y*g.y),he=Math.sqrt(Q.x*Q.x+Q.y*Q.y),ge=D(te,ae,he),{maxVelocity:Ce,minVelocityThreshold:Ee}=A(),Ne=Math.max(-Ce,Math.min(Ce,Q.x*ge)),Me=Math.max(-Ce,Math.min(Ce,Q.y*ge));s.x=S==="y"?0:Ne,s.y=S==="x"?0:Me,Math.sqrt(s.x*s.x+s.y*s.y)>Ee*2&&(N=0,l=requestAnimationFrame(B)),d.length=0},fe=()=>{H&&(H=!1,this._contextService.setContextValue(gt,!1),Y=null,G=null,K=null,this._hideZoomIndicator(ee)),r&&(r=!1,d.length=0),U()};z.addEventListener("touchstart",de,{passive:!1}),z.addEventListener("touchmove",ie,{passive:!1}),z.addEventListener("touchend",le,{passive:!1}),z.addEventListener("touchcancel",fe,{passive:!1}),this.disposeWithMe(a.toDisposable(()=>{z.removeEventListener("touchstart",de),z.removeEventListener("touchmove",ie),z.removeEventListener("touchend",le),z.removeEventListener("touchcancel",fe),ee&&ee.parentElement&&ee.parentElement.removeChild(ee)}))}_createZoomIndicator(n){const o=n.parentElement;if(!o){const i=document.createElement("div");return i.style.display="none",i}const e=document.createElement("div");return e.style.cssText=`
208
+ `),style:e.color?{backgroundColor:e.color}:void 0,"aria-hidden":`true`})]},e.sheetId))})})}let Qd=class extends n.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(hs,gs)),this.disposeWithMe(e.register(fs,ms)),this.disposeWithMe(e.register(os,ds)),this.disposeWithMe(e.register(ci,Hl)),this.disposeWithMe(e.register(Pl,Bl)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Ho))}_initCommands(){[Kr,Dr,Tr,Er,ai,cr,or,sr,Kt,qt,Lr,Rr,Or,$r,a.SetBoldCommand,ii,Y,ri,Yt,Xt,Zt,Qt,$t,en,tn,an,on,sn,a.SetItalicCommand,a.SetStrikeThroughCommand,a.SetFontFamilyCommand,a.SetFontSizeCommand,fr,pr,mr,hr,Fr,Ir,_r,vr,yr,br,xr,oi,a.SetUnderlineCommand,qr,Gr,Xr,cn,At,ln,kt,li,Qn,si,$n,er,tr,nr,rr,Qr,ir,ar,Zr,Hr,ae,oe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(Nl)}_initShortcuts(){[Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,sd,ld,dd,fd,cd,ud,$u,ed,td,nd,rd,id,ad,od,...Ii(),Ri,Li,zi,Hi,Ui,Wi,Ki,Bi,Vi,Gi,Au,ju].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(r.BuiltInUIPart.FOOTER,()=>(0,r.connectInjector)(Xd,t))),this.disposeWithMe(e.registerComponent(r.BuiltInUIPart.CONTENT,()=>(0,r.connectInjector)(Eu,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(n.UniverInstanceType.UNIVER_SHEET,e=>{let r=this._injector.get(i.IRenderManagerService),a=this._injector.get(n.IUniverInstanceService),o=(0,i.getCurrentTypeOfRenderer)(n.UniverInstanceType.UNIVER_DOC,a,r),s=o==null?void 0:o.with(t.DocSelectionRenderService);s==null||s.focus()}))}};Qd=H([V(0,(0,n.Inject)(n.Injector)),V(1,(0,n.Inject)(r.ComponentManager)),V(2,r.ILayoutService),V(3,n.ICommandService),V(4,r.IShortcutService),V(5,r.IMenuManagerService),V(6,r.IUIPartsService),V(7,n.IConfigService)],Qd);let $d=class extends n.Disposable{constructor(e,t,r,i){super(),this._context=e,this._selectionRenderService=t,this._selectionManagerService=r,this._commandService=i,R(this,`_disposableCollection`,new n.DisposableCollection),R(this,`_initialize`,()=>{let e=this._disposableCollection;this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{e.dispose(),this._selectionRenderService.getSelectionControls().forEach(t=>{e.add((0,n.toDisposable)(t.selectionMoveEnd$.subscribe(e=>{if(!e)return;let n=t.model.getRange(),r={startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:n.rangeType},i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:n.rangeType};if(r.startRow===i.startRow&&r.startColumn===i.startColumn||i.startRow<0||i.startColumn<0)return;let o={fromRange:r,toRange:i};this._commandService.executeCommand(a.MoveRangeCommand.id,o)})))})}))}),this._initialize()}dispose(){var e;super.dispose(),(e=this._disposableCollection)==null||e.dispose()}};$d=H([V(1,(0,n.Inject)(B)),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,(0,n.Inject)(n.ICommandService))],$d);let ef=class extends n.Disposable{constructor(e){super(),this._sheetPermissionInitController=e,this._initPermission()}_initPermission(){this._sheetPermissionInitController.initPermission()}};ef=H([V(0,(0,n.Inject)(a.SheetPermissionInitController))],ef);let tf=class extends n.RxDisposable{constructor(e,t,r,i,a,o,s,c,l,u){super(),this._context=e,this._univerInstanceService=t,this._permissionService=r,this._selectionManagerService=i,this._rangeProtectionRuleModel=a,this._headerMoveRenderController=o,this._selectionRenderService=s,this._headerFreezeRenderController=c,this._rangeProtectionCache=l,this._headerResizeRenderController=u,R(this,`disposableCollection`,new n.DisposableCollection),this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){let e=this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK;this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(e,{handler:(e,t)=>{let r=(0,a.getSheetCommandTarget)(this._univerInstanceService);if(!r)return!1;let{unitId:i,subUnitId:o}=r;if(!this._permissionService.composePermission([new a.WorkbookEditablePermission(i).id,new a.WorksheetEditPermission(i,o).id]).every(e=>e.value))return!1;if(!t)return!0;if(t.rangeType!==n.RANGE_TYPE.ROW&&t.rangeType!==n.RANGE_TYPE.COLUMN)return e;if(t.rangeType===n.RANGE_TYPE.ROW){for(let e=t.startRow;e<=t.endRow;e++)if(this._rangeProtectionCache.getRowPermissionInfo(i,o,e,[K.Edit])===!1)return!1}else for(let e=t.startColumn;e<=t.endColumn;e++)if(this._rangeProtectionCache.getColPermissionInfo(i,o,e,[K.Edit])===!1)return!1;return!0}}))}_initHeaderResizePermissionInterceptor(){this._headerResizeRenderController&&this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(e,t)=>{let n=(0,a.getSheetCommandTarget)(this._univerInstanceService);if(!n)return!1;let{unitId:r,subUnitId:i}=n;if(t.row){var o,s;if(((o=(s=this._permissionService.getPermissionPoint(new a.WorksheetSetRowStylePermission(r,i).id))==null?void 0:s.value)==null?!1:o)===!1)return!1}else if(t.col){var c,l;if(((c=(l=this._permissionService.getPermissionPoint(new a.WorksheetSetColumnStylePermission(r,i).id))==null?void 0:l.value)==null?!1:c)===!1)return!1}return!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(e,t)=>{var n;let r=(0,a.getSheetCommandTarget)(this._univerInstanceService);if(!r)return!1;let{worksheet:i,unitId:o,subUnitId:s}=r;if(!this._permissionService.composePermission([new a.WorkbookEditablePermission(o).id,new a.WorksheetEditPermission(o,s).id,new a.WorksheetSetCellValuePermission(o,s).id,new a.WorksheetSetCellStylePermission(o,s).id]).every(e=>e.value))return!1;let c=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),l=c==null?void 0:c.find(e=>{let n=Nr(t.x,t.y,t.scene,t.skeleton),r=t.skeleton.getCellWithCoordByIndex(e.endRow,e.endColumn),i=Math.abs(r.endX-n.x),a=Math.abs(r.endY-n.y);return i<=5&&a<=5});if(!l)return!0;let{startRow:u,endRow:d,startColumn:f,endColumn:p}=l;for(let e=u;e<=d;e++)for(let t=f;t<=p;t++){var m;let n=(m=i.getCell(e,t))==null||(m=m.selectionProtection)==null?void 0:m[0];if((n==null?void 0:n[K.Edit])===!1||(n==null?void 0:n[K.View])===!1)return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(e,t)=>{var r;let i=(0,a.getSheetCommandTarget)(this._univerInstanceService);if(!i)return!1;let{worksheet:o,unitId:s,subUnitId:c}=i;if(!this._permissionService.composePermission([new a.WorkbookEditablePermission(s).id,new a.WorksheetEditPermission(s,c).id]).every(e=>e.value))return!1;let l=(r=this._selectionManagerService.getCurrentSelections())==null?void 0:r.map(e=>e.range),u=this._rangeProtectionRuleModel.getSubunitRuleList(s,c).reduce((e,t)=>[...e,...t.ranges],[]),d=l==null?void 0:l.filter(e=>u.some(t=>n.Rectangle.intersects(t,e)));return!(d!=null&&d.some(e=>{let{startRow:t,startColumn:n,endRow:r,endColumn:i}=e;for(let e=t;e<=r;e++)for(let t=n;t<=i;t++){var a;let n=(a=o.getCell(e,t))==null||(a=a.selectionProtection)==null?void 0:a[0];if((n==null?void 0:n[K.Edit])===!1)return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(e,t)=>{var r,i;let o=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET);return!(o!=null&&o.getActiveSheet())||!o||(r=(i=this._permissionService.getPermissionPoint(new a.WorkbookEditablePermission(o.getUnitId()).id))==null?void 0:i.value)==null?!1:r}}))}};tf=H([V(1,n.IUniverInstanceService),V(2,n.IPermissionService),V(3,(0,n.Inject)(a.SheetsSelectionsService)),V(4,(0,n.Inject)(a.RangeProtectionRuleModel)),V(5,(0,n.Inject)(Wa)),V(6,B),V(7,(0,n.Inject)(Ra)),V(8,(0,n.Inject)(a.RangeProtectionCache)),V(9,(0,n.Optional)(Qa))],tf);let nf=class extends n.Disposable{constructor(e,t,r,i,a){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._localService=r,this._sheetClipboardService=i,this._sheetPermissionCheckController=a,R(this,`disposableCollection`,new n.DisposableCollection),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:`SHEET_PERMISSION_PASTE_PLUGIN`,onBeforePaste:e=>{var t;let[r]=A([e.range]).ranges,i=(t=this._selectionManagerService.getCurrentLastSelection())==null?void 0:t.range;if(!i)return!1;let a={startRow:i.startRow+r.startRow,endRow:i.startRow+r.endRow,startColumn:i.startColumn+r.startColumn,endColumn:i.startColumn+r.endColumn},o=this._univerInstanceService.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getActiveSheet();if(!o)return!1;let{startRow:s,endRow:c,startColumn:l,endColumn:u}=a,d=!0;for(let e=s;e<=c;e++)for(let t=l;t<=u;t++){var f;let n=(f=o.getCell(e,t))==null||(f=f.selectionProtection)==null?void 0:f[0];if((n==null?void 0:n[K.Edit])===!1){d=!1;break}}return d||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localService.t(`permission.dialog.pasteErr`)),d}}))}};nf=H([V(0,n.IUniverInstanceService),V(1,(0,n.Inject)(a.SheetsSelectionsService)),V(2,(0,n.Inject)(n.LocaleService)),V(3,(0,n.Inject)(pt)),V(4,(0,n.Inject)(a.SheetPermissionCheckController))],nf);let rf=class extends n.RxDisposable{constructor(e,t,r,i,a){super(),this._context=e,this._univerInstanceService=t,this._permissionService=r,this._statusBarController=i,this._rangeProtectionCache=a,R(this,`disposableCollection`,new n.DisposableCollection),this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(e,t)=>{var n;let r=(0,a.getSheetCommandTarget)(this._univerInstanceService);if(!r)return e==null?[]:e;let{worksheet:i,unitId:o,subUnitId:s}=r;return((n=this._permissionService.getPermissionPoint(new a.WorksheetViewPermission(o,s).id))==null?void 0:n.value)===!1?t.forEach(e=>{let t=e.getArrayValue();t.forEach((e,n)=>{e.forEach((e,r)=>{t[n][r]=l.NullValueObject.create()})})}):t.forEach(e=>{let t=e.getArrayValue(),n=e.getCurrentRow(),r=e.getCurrentColumn();t.forEach((e,a)=>{e.forEach((e,c)=>{var u;if(((u=i.getCellRaw(a+n,c+r))==null?void 0:u.v)===void 0)return;let d=this._rangeProtectionCache.getCellInfo(o,s,a+n,c+r);(d==null?void 0:d[K.View])===!1&&(t[a][c]=l.NullValueObject.create())})})}),t}}))}};rf=H([V(1,n.IUniverInstanceService),V(2,n.IPermissionService),V(3,(0,n.Inject)(_d)),V(4,(0,n.Inject)(a.RangeProtectionCache))],rf);let af=(e,t,r,i,o)=>{let s=e.get(n.LocaleService),c=e.get(a.WorksheetProtectionRuleModel),l=e.get(a.RangeProtectionRuleModel),u=``;if(t.length===0)u=s.t(`permission.panel.emptyRangeError`);else if(t.length>1){let e=!1;for(let r=0;r<t.length;r++){for(let i=r+1;i<t.length;i++)if(n.Rectangle.intersects(t[r],t[i])){e=!0;break}if(e)break}e&&(u=s.t(`permission.panel.rangeOverlapError`))}if(!u){if(c.getRule(i,o)&&!r)return u=s.t(`permission.panel.rangeOverlapOverPermissionError`),u;let e=l.getSubunitRuleList(i,o).filter(e=>e.permissionId!==r).find(e=>e.ranges.some(e=>t.some(t=>n.Rectangle.intersects(e,t))));e!=null&&e.ranges.find(e=>t.some(t=>n.Rectangle.intersects(e,t)))&&(u=s.t(`permission.panel.rangeOverlapOverPermissionError`))}return u===``?void 0:u},of=(e,t)=>{if(e.length!==1)return!1;let n=e[0],r=t.getRowCount(),i=t.getColumnCount(),{startRow:a,endRow:o,startColumn:s,endColumn:c}=n;return a===0&&s===0&&o===r-1&&c===i-1},sf=(e,t)=>{var r,i;let o=e.get(n.IUniverInstanceService),s=e.get(a.SheetsSelectionsService),c=o.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),l=c.getActiveSheet(),u=a.UnitObject.SelectRange,d=(r=(i=s.getCurrentSelections())==null?void 0:i.map(e=>e.range))==null?[]:r;return t&&(u=a.UnitObject.Worksheet,d=[{startRow:0,startColumn:0,endRow:l.getRowCount()-1,endColumn:l.getColumnCount()-1,rangeType:n.RANGE_TYPE.ALL}]),{unitId:c.getUnitId(),subUnitId:l.getSheetId(),permissionId:``,unitType:u,description:``,id:``,ranges:d,editState:a.EditStateEnum.OnlyMe,viewState:a.ViewStateEnum.OthersCanView}},cf=(e,t)=>{let r=e.get(n.IUniverInstanceService).getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),{unitType:i}=t;return i===a.UnitObject.Worksheet?{...t,ranges:[{startRow:0,startColumn:0,endRow:r.getRowCount()-1,endColumn:r.getColumnCount()-1,rangeType:n.RANGE_TYPE.ALL}]}:t},lf=e=>{let{viewState:t,editState:i,permissionId:o,ranges:s,rangesErrMsg:c,desc:l,oldRule:u,id:p}=e,m=(0,r.useDependency)(Xn),h=(0,r.useDependency)(r.ISidebarService),g=(0,r.useDependency)(n.IAuthzIoService),_=(0,r.useDependency)(n.LocaleService),v=(0,r.useDependency)(n.ICommandService),y=(0,r.useDependency)(Zn),b=(0,r.useDependency)(n.IUniverInstanceService).getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),x=b==null?void 0:b.getActiveSheet();if(!b||!x)return null;let S=b.getUnitId(),C=x.getSheetId();return(0,f.jsxs)(`div`,{className:`univer-mt-auto univer-flex univer-flex-row-reverse univer-gap-2 univer-py-5`,children:[(0,f.jsx)(d.Button,{variant:`primary`,onClick:async()=>{if(c)return;let e={unitId:S,subUnitId:C,permissionId:o,id:p,viewState:t,editState:i,unitType:a.UnitObject.SelectRange,ranges:s,description:l};of(s,x)&&(e.unitType=a.UnitObject.Worksheet,e.ranges=[]);let n=y.selectUserList;e.editState===a.EditStateEnum.OnlyMe&&(n=[],y.setSelectUserList([]));let r={read:e.viewState===a.ViewStateEnum.OthersCanView?vn.AllCollaborator:vn.SomeCollaborator,edit:e.editState===a.EditStateEnum.DesignedUserCanEdit?vn.SomeCollaborator:vn.OneSelf};if(e.editState===a.EditStateEnum.DesignedUserCanEdit&&n.length===0&&(n=[],r.edit=vn.OneSelf),e.permissionId){let t=ui(n.filter(e=>e.role===hn.Editor),y.oldCollaboratorList.filter(e=>e.role===hn.Editor)),i=(u==null?void 0:u.viewState)===e.viewState,o=(u==null?void 0:u.editState)===e.editState,s=e.unitType===(u==null?void 0:u.unitType)&&e.description===u.description&&e.ranges===u.ranges,c=!t||!i||!o;if(s&&c)await g.update({objectType:e.unitType,objectID:e.permissionId,unitID:e.unitId,share:void 0,name:``,strategies:[],scope:r,collaborators:{collaborators:n}});else{let t=e.permissionId;c&&(t=e.unitType===a.UnitObject.Worksheet?await g.create({worksheetObject:{collaborators:n,unitID:e.unitId,name:``,strategies:[{role:hn.Editor,action:K.Edit},{role:hn.Reader,action:K.View}],scope:r},objectType:a.UnitObject.Worksheet}):await g.create({selectRangeObject:{collaborators:n,unitID:e.unitId,name:``,scope:r},objectType:a.UnitObject.SelectRange})),v.executeCommand(a.SetProtectionCommand.id,{rule:{...e,permissionId:t},oldRule:u})}}else if(e.unitType===a.UnitObject.Worksheet){let t=await g.create({worksheetObject:{collaborators:n,unitID:e.unitId,name:``,strategies:[{role:hn.Editor,action:K.Edit},{role:hn.Reader,action:K.View}],scope:r},objectType:a.UnitObject.Worksheet}),{ranges:i=[],...o}=e;o.permissionId=t,v.executeCommand(a.AddWorksheetProtectionCommand.id,{rule:o,unitId:e.unitId})}else if(e.unitType===a.UnitObject.SelectRange){let t=await g.create({selectRangeObject:{collaborators:n,unitID:e.unitId,name:``,scope:r},objectType:a.UnitObject.SelectRange});v.executeCommand(a.AddRangeProtectionCommand.id,{rule:e,permissionId:t})}let d={header:{title:`${_.t(`permission.panel.title`)}`},children:{label:zn,showDetail:!1},width:330};h.open(d)},children:_.t(`permission.button.confirm`)}),(0,f.jsx)(d.Button,{onClick:()=>{m.reset(),y.reset(),h.close()},children:_.t(`permission.button.cancel`)})]})},uf=e=>{let{ranges:t,onRangesChange:i,desc:o,onDescChange:s,rangesErrMsg:u,permissionId:p}=e,m=(0,r.useDependency)(r.ComponentManager),h=(0,c.useMemo)(()=>m.get(ee),[]),g=(0,r.useDependency)(n.IUniverInstanceService),_=(0,r.useDependency)(n.LocaleService),v=(0,r.useDependency)(n.Injector),y=g.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),b=y==null?void 0:y.getActiveSheet();if(!y||!b)return null;let x=y.getUnitId(),S=b.getSheetId(),C=e=>{let t=e.split(`,`).map(l.deserializeRangeWithSheet).map(e=>e.range);if(t.some(e=>!(0,n.isValidRange)(e)||e.endColumn<e.startColumn||e.endRow<e.startRow))return;let r=g.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),o=r==null?void 0:r.getActiveSheet();if(!r||!o)return;let s=r.getUnitId(),c=o.getSheetId(),u=t.map(e=>((0,a.setEndForRange)(e,o.getRowCount(),o.getColumnCount()),e));i(u,af(v,u,p,s,c))};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(d.FormLayout,{className:`univer-font-medium`,label:_.t(`permission.panel.protectedRange`),error:u,children:h&&(0,f.jsx)(h,{unitId:x,subUnitId:S,initialValue:t==null?void 0:t.map(e=>(0,l.serializeRange)(e)).join(`,`),onChange:(e,t)=>C(t)})}),(0,f.jsx)(d.FormLayout,{className:`univer-font-medium`,label:_.t(`permission.panel.permissionDirection`),children:(0,f.jsx)(d.Input,{value:o,onChange:e=>s(e),placeholder:_.t(`permission.panel.permissionDirectionPlaceholder`)})})]})},df=e=>{let{editState:t,onEditStateChange:i,viewState:o,onViewStateChange:s,permissionId:l}=e,u=(0,r.useDependency)(n.LocaleService),p=(0,r.useDependency)(r.IDialogService),m=(0,r.useDependency)(n.IAuthzIoService),h=(0,r.useDependency)(Zn),g=(0,r.useDependency)(n.UserManagerService),_=(0,r.useDependency)(n.IUniverInstanceService),v=(0,r.useObservable)(h.selectUserList$,h.selectUserList),y=_.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),b=y==null?void 0:y.getActiveSheet();if(!y||!b)return null;let x=y.getUnitId();return(0,c.useEffect)(()=>{l?(async()=>{let e=(await m.listCollaborators({objectID:l,unitID:x})).filter(e=>e.role===hn.Editor);e.length>0&&i(a.EditStateEnum.DesignedUserCanEdit),h.setSelectUserList(e),h.setOldCollaboratorList(e)})():(h.setSelectUserList([]),h.setOldCollaboratorList([]))},[]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(d.FormLayout,{className:`univer-font-medium`,label:u.t(`permission.panel.editPermission`),children:(0,f.jsxs)(d.RadioGroup,{value:t,onChange:e=>i(e),className:`univer-flex univer-flex-col`,children:[(0,f.jsx)(d.Radio,{value:a.EditStateEnum.OnlyMe,children:(0,f.jsx)(`span`,{children:u.t(`permission.panel.onlyICanEdit`)})}),(0,f.jsx)(d.Radio,{value:a.EditStateEnum.DesignedUserCanEdit,children:(0,f.jsx)(`span`,{children:u.t(`permission.panel.designedUserCanEdit`)})})]})}),t===a.EditStateEnum.DesignedUserCanEdit&&(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
209
+ univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-overflow-y-auto univer-rounded-lg
210
+ univer-p-3
211
+ `,d.borderClassName),children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-text-sm`,children:[(0,f.jsx)(`span`,{children:u.t(`permission.panel.designedPerson`)}),(0,f.jsx)(`span`,{className:`univer-cursor-pointer univer-text-primary-600`,onClick:async()=>{let e=await m.listCollaborators({objectID:x,unitID:x}),t=g.getCurrentUser();h.setCanEditUserList(e.filter(e=>{var n;return((n=e.subject)==null?void 0:n.userID)!==t.userID})),p.open({id:Un,title:{title:``},children:{label:Vn},width:280,destroyOnClose:!0,closable:!1,onClose:()=>p.close(Un),className:`sheet-permission-user-dialog`})},children:u.t(`permission.panel.addPerson`)})]}),(0,f.jsx)(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),(0,f.jsx)(`div`,{className:`univer-flex-1`,children:(v==null?void 0:v.length)>0?v.map(e=>{var t,n,r;return(0,f.jsxs)(`div`,{className:`
212
+ univer-mb-3 univer-flex univer-h-7 univer-items-center univer-leading-7
213
+ last:univer-mb-0
214
+ `,children:[(0,f.jsx)(d.Avatar,{size:24,src:(n=e.subject)==null?void 0:n.avatar}),(0,f.jsx)(`span`,{className:`
215
+ univer-ml-1.5 univer-w-[130px] univer-truncate univer-text-gray-900
216
+ dark:!univer-text-white
217
+ `,children:(r=e.subject)==null?void 0:r.name}),(0,f.jsx)(d.Select,{className:`!univer-w-[90px] univer-min-w-0 univer-cursor-pointer`,borderless:!0,value:`edit`,options:[{label:`${u.t(`permission.panel.canEdit`)}`,value:`edit`},{label:`${u.t(`permission.panel.delete`)}`,value:`delete`}],onChange:t=>{t===`delete`&&h.setSelectUserList(v.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))}})]},(t=e.subject)==null?void 0:t.userID)}):(0,f.jsxs)(`div`,{className:`
218
+ univer-flex univer-h-full univer-flex-col univer-items-center
219
+ univer-justify-center
220
+ `,children:[(0,f.jsx)(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``}),(0,f.jsx)(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:u.t(`permission.dialog.userEmpty`)})]})})]}),(0,f.jsx)(d.FormLayout,{className:`univer-font-medium`,label:u.t(`permission.panel.viewPermission`),children:(0,f.jsxs)(d.RadioGroup,{value:o,onChange:e=>s(e),className:`
221
+ univer-flex univer-flex-col
222
+ last:univer-mb-0
223
+ `,children:[(0,f.jsx)(d.Radio,{value:a.ViewStateEnum.OthersCanView,children:(0,f.jsx)(`span`,{children:u.t(`permission.panel.othersCanView`)})}),(0,f.jsx)(d.Radio,{value:a.ViewStateEnum.NoOneElseCanView,children:(0,f.jsx)(`span`,{children:u.t(`permission.panel.noOneElseCanView`)})})]})})]})},ff=e=>{var t,i;let{fromSheetBar:o,rule:s,oldRule:l}=e,u=(0,r.useDependency)(n.Injector),d=(0,r.useDependency)(r.ComponentManager),p=s?cf(u,s):sf(u,o),[m,h]=(0,c.useState)(p.ranges),[g,_]=(0,c.useState)(()=>af(u,p.ranges,p.permissionId,p.unitId,p.subUnitId)),[v,y]=(0,c.useState)(p.description),[b,x]=(0,c.useState)((t=p.editState)==null?a.EditStateEnum.OnlyMe:t),[S,C]=(0,c.useState)((i=p.viewState)==null?a.ViewStateEnum.OthersCanView:i),w=d.get(Bn),T=w==null?df:w;return(0,c.useEffect)(()=>{let e=u.get(n.IUniverInstanceService),t=u.get(r.ISidebarService),i=e.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET);if(!i)return;let a=i.getActiveSheet().getSheetId(),o=i.activeSheet$.subscribe(e=>{(e==null?void 0:e.getSheetId())!==a&&t.close()});return()=>{o.unsubscribe()}},[]),(0,f.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-h-[calc(100%-16px)] univer-flex-col`,children:[(0,f.jsx)(uf,{permissionId:p.permissionId,ranges:m,onRangesChange:(e,t)=>{h(e),_(t)},rangesErrMsg:g,desc:v,onDescChange:e=>y(e)}),(0,f.jsx)(T,{editState:b,onEditStateChange:e=>x(e),viewState:S,onViewStateChange:e=>C(e),permissionId:p.permissionId}),(0,f.jsx)(lf,{permissionId:p.permissionId,id:p.id,ranges:m,rangesErrMsg:g,desc:v,viewState:S,editState:b,oldRule:l})]})};function pf(){var e;let[t,i]=(0,c.useState)(!0),[s,u]=(0,c.useState)(!1),[p,m]=(0,c.useState)([]),h=(0,r.useDependency)(n.LocaleService),g=(0,r.useDependency)(a.RangeProtectionRuleModel),_=(0,r.useDependency)(a.WorksheetProtectionRuleModel),v=(0,r.useDependency)(n.IUniverInstanceService),y=(0,r.useDependency)(n.ICommandService),b=(0,r.useDependency)(r.ISidebarService),x=(0,r.useDependency)(n.IAuthzIoService),S=(0,r.useDependency)(n.IPermissionService),C=(0,r.useDependency)(n.UserManagerService).getCurrentUser(),w=(0,r.useDependency)(Zn),T=(0,r.useObservable)(_.ruleRefresh$,``),E=(0,r.useObservable)(g.ruleRefresh$,``),D=v.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET);if(!D)return null;let O=D.getUnitId(),k=(0,c.useCallback)(async e=>{var t;let n=D.getActiveSheet(),r=D.getUnitId(),i=n.getSheetId(),o=[],s=[];D.getSheets().forEach(e=>{let t=e.getSheetId();g.getSubunitRuleList(r,t).forEach(e=>{e.permissionId&&o.push(e.permissionId)});let n=_.getRule(r,t);n!=null&&n.permissionId&&s.push(n.permissionId)});let c=[...o,...s],l=await x.list({objectIDs:c,unitID:r,actions:a.baseProtectionActions}),u=g.getSubunitRuleList(r,i).map(e=>e.permissionId),d=(t=_.getRule(r,i))==null?void 0:t.permissionId;d&&u.push(d);let f=l.filter(e=>{var t;return u.includes(e.objectID)||e.objectID===((t=_.getRule(r,i))==null?void 0:t.permissionId)});return e?f:l},[]),[A,j]=(0,c.useState)([]);(0,c.useEffect)(()=>{let e=(0,o.merge)(g.ruleChange$,_.ruleChange$).subscribe(async()=>{j(await k(t))});return()=>{e.unsubscribe()}},[t]),(0,c.useEffect)(()=>{let e=D.activeSheet$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.getSheetId())===(t==null?void 0:t.getSheetId()))).subscribe(async()=>{j(await k(t))});return()=>{e.unsubscribe()}},[t]),(0,c.useEffect)(()=>{(async()=>{(T||E)&&j(await k(!0))})()},[T,E]);function M(e){let{unitId:t,subUnitId:n,unitType:r}=e,i;r===gn.Worksheet?i=y.executeCommand(a.DeleteWorksheetProtectionCommand.id,{unitId:t,subUnitId:n,rule:e}):r===gn.SelectRange&&(i=y.executeCommand(a.DeleteRangeProtectionCommand.id,{unitId:t,subUnitId:n,rule:e})),i&&(u(!s),e.ranges===p&&m([]))}(0,c.useEffect)(()=>{w.reset()},[]),vd(p);let N=(0,c.useMemo)(()=>{let e=new Map;return D.getSheets().forEach(t=>{let n=t.getSheetId();g.getSubunitRuleList(O,n).forEach(t=>{e.set(t.permissionId,t)});let r=_.getRule(O,n);r&&e.set(r==null?void 0:r.permissionId,r)}),e},[O,D,g,_]),P=e=>{e.subUnitId!==D.getActiveSheet().getSheetId()&&y.executeCommand(a.SetWorksheetActiveOperation.id,{unitId:e.unitId,subUnitId:e.subUnitId});let t={header:{title:`permission.panel.title`},children:{label:zn,showDetail:!0,rule:n.Tools.deepClone(e),oldRule:n.Tools.deepClone(e)},width:330};b.open(t)},F=e=>{i(e)},ee=(e=S.getPermissionPoint(new a.WorkbookCreateProtectPermission(O).id))==null?void 0:e.value;return(0,f.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-h-[calc(100%-8px)] univer-flex-col`,children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-h-[30px] univer-py-2`,children:[(0,f.jsxs)(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>F(!0),children:[(0,f.jsxs)(`div`,{className:(0,d.clsx)(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":t}),children:[` `,h.t(`permission.panel.currentSheet`)]}),(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":t})})]}),(0,f.jsxs)(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>F(!1),children:[(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":!t}),children:h.t(`permission.panel.allSheet`)}),(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":!t})})]})]}),(A==null?void 0:A.length)>0?(0,f.jsx)(`div`,{children:A==null?void 0:A.map(e=>{var t,n,r,i,a;let o=N.get(e.objectID);if(!o)return null;let s=e.actions.find(e=>e.action===K.Edit),c=s==null?void 0:s.allowed,u=e.actions.find(e=>e.action===K.View),g=u==null?void 0:u.allowed,_=e.actions.find(e=>e.action===K.ManageCollaborator),v=e.actions.find(e=>e.action===K.Delete),y=(_==null?void 0:_.allowed)||C.userID===((t=e.creator)==null?void 0:t.userID),b=(v==null?void 0:v.allowed)||C.userID===((n=e.creator)==null?void 0:n.userID),x=``,S=D.getSheetBySheetId(o.subUnitId),w=S==null?void 0:S.getName();if(o.unitType===gn.SelectRange){let e=o.ranges;x=`${w}(${e!=null&&e.length?e.map(e=>{let t=(0,l.serializeRange)(e);return t===`NaN`?``:t}).filter(e=>!!e).join(`,`):``})`}else o.unitType===gn.Worksheet&&(x=w||``);return(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
224
+ univer-mt-3 univer-rounded-lg univer-p-3
225
+ hover:univer-bg-gray-50
226
+ `,d.borderClassName),onMouseMove:()=>{let{subUnitId:e,unitType:t}=o,n=D.getActiveSheet();if(!n||e!==n.getSheetId())return!1;if(t===gn.SelectRange){let e=o.ranges||[];e!==p&&m(e)}else if(t===gn.Worksheet){let e=[{startRow:0,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1}];e!==p&&m(e)}},onMouseLeave:()=>m([]),children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-h-5 univer-justify-between univer-leading-5`,children:[(0,f.jsx)(d.Tooltip,{title:x,children:(0,f.jsx)(`div`,{className:`
227
+ univer-max-w-[200px] univer-truncate univer-text-sm univer-font-medium
228
+ `,children:x})}),(y||b)&&(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center`,children:[y&&(0,f.jsx)(d.Tooltip,{title:h.t(`permission.panel.edit`),children:(0,f.jsx)(`div`,{className:`
229
+ univer-box-border univer-h-6 univer-rounded-sm univer-p-1
230
+ hover:univer-bg-gray-200
231
+ `,onClick:()=>P(o),children:(0,f.jsx)(Ro,{})})}),b&&(0,f.jsx)(d.Tooltip,{title:h.t(`permission.panel.delete`),children:(0,f.jsx)(`div`,{className:`
232
+ univer-box-border univer-h-6 univer-rounded-sm univer-p-1
233
+ hover:univer-bg-gray-200
234
+ `,onClick:()=>M(o),children:(0,f.jsx)(fo,{})})})]})]}),(0,f.jsx)(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center`,children:[(0,f.jsx)(d.Tooltip,{title:(r=(i=e.creator)==null?void 0:i.name)==null?``:r,children:(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Avatar,{src:(a=e.creator)==null?void 0:a.avatar,className:`univer-mr-1.5`,size:24})})}),(0,f.jsx)(`span`,{className:`
235
+ univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900
236
+ dark:!univer-text-white
237
+ `,children:h.t(`permission.panel.created`)}),(0,f.jsx)(`span`,{className:`
238
+ univer-h-4 univer-text-xs univer-text-gray-900
239
+ dark:!univer-text-white
240
+ `,children:c?`${h.t(`permission.panel.iCanEdit`)}`:`${h.t(`permission.panel.iCanNotEdit`)}`})]}),(0,f.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-items-center`,children:[(0,f.jsx)(`span`,{className:`
241
+ univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900
242
+ dark:!univer-text-white
243
+ `,children:h.t(`permission.panel.viewPermission`)}),(0,f.jsx)(`span`,{className:`
244
+ univer-h-4 univer-text-xs univer-text-gray-900
245
+ dark:!univer-text-white
246
+ `,children:g?`${h.t(`permission.panel.iCanView`)}`:`${h.t(`permission.panel.iCanNotView`)}`})]}),o.description&&(0,f.jsx)(d.Tooltip,{title:o.description,children:(0,f.jsx)(`div`,{className:`
247
+ univer-text-3 univer-mt-2 univer-max-w-64 univer-truncate
248
+ univer-text-sm univer-text-gray-400
249
+ `,children:o.description})})]})]},e.objectID)})}):(0,f.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center`,children:[(0,f.jsx)(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``,draggable:!1}),(0,f.jsx)(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:h.t(`permission.dialog.listEmpty`)})]}),ee&&(0,f.jsx)(`div`,{className:`univer-mt-auto univer-py-5`,children:(0,f.jsxs)(d.Button,{className:`univer-w-full`,variant:`primary`,onClick:()=>{let e={header:{title:`${h.t(`permission.panel.title`)}`},children:{label:`UNIVER_SHEET_PERMISSION_PANEL`,showDetail:!0},width:330};b.open(e)},children:[(0,f.jsx)(`div`,{children:`+ `}),h.t(`permission.button.addNewPermission`)]})})]})}let mf=({showDetail:e,fromSheetBar:t,rule:i,oldRule:o})=>{var s;let c=(0,r.useDependency)(n.IUniverInstanceService),u=(0,r.useDependency)(a.SheetsSelectionsService);if(!(0,r.useDependency)(Xn).getVisible())return null;let d=(0,a.getSheetCommandTarget)(c);if(!d)return null;let{worksheet:p}=d,m=((s=u.getCurrentSelections())==null?void 0:s.map(e=>e.range)).reduce((e,t)=>e+(0,l.serializeRangeWithSheet)(p.getName(),t),``);return e?(0,f.jsx)(ff,{fromSheetBar:t,rule:i,oldRule:o},t?`sheet-bar`:`normal`):(0,f.jsx)(pf,{},m)},hf=({loading:e,children:t})=>(0,f.jsxs)(`div`,{className:`univer-relative univer-size-full`,children:[e&&(0,f.jsx)(`div`,{className:`
250
+ univer-absolute -univer-bottom-0.5 -univer-left-0.5 -univer-right-0.5 -univer-top-0.5 univer-z-10
251
+ univer-flex univer-items-center univer-justify-center univer-bg-white univer-backdrop-blur
252
+ dark:!univer-bg-black
253
+ `,children:(0,f.jsx)(`div`,{className:`
254
+ univer-size-10 univer-animate-spin univer-rounded-full univer-border-4 univer-border-solid
255
+ univer-border-gray-100 univer-border-t-primary-500
256
+ `})}),(0,f.jsx)(`div`,{className:e?`univer-pointer-events-none univer-blur-sm`:``,children:t})]}),gf=()=>{let e=(0,r.useDependency)(n.LocaleService),t=(0,r.useDependency)(n.IUniverInstanceService),i=(0,r.useDependency)(n.IAuthzIoService),o=(0,r.useDependency)(a.WorksheetProtectionPointModel),s=(0,r.useDependency)(r.IDialogService),l=(0,r.useDependency)(n.IPermissionService),u=t.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),p=u.getActiveSheet();if(!p)throw Error(`No active sheet found`);let[m,h]=(0,c.useState)([]),g=(0,r.useDependency)(n.ICommandService),[_,v]=(0,c.useState)(()=>!!o.getRule(u.getUnitId(),p.getSheetId())),[y,b]=(0,c.useState)(()=>Object.keys(Gn).reduce((t,n)=>(t[n]={text:e.t(`permission.panel.${Gn[Number(n)]}`),allowed:!0},t),{}));(0,c.useEffect)(()=>{(async()=>{let e=u.getUnitId();h(await i.listCollaborators({objectID:e,unitID:e}))})()},[]),(0,c.useEffect)(()=>{(async()=>{let t=u.getUnitId(),n=o.getRule(t,p.getSheetId());n&&(v(!0),b((await i.list({unitID:u.getUnitId(),objectIDs:[n.permissionId],actions:Kn}))[0].strategies.reduce((t,n)=>(Gn[n.action]&&(t[n.action]={text:e.t(`permission.panel.${Gn[n.action]}`),allowed:n.role!==hn.Owner}),t),{})),setTimeout(()=>{v(!1)},100))})()},[]);let x=async()=>{let e=t.getCurrentUnitForType(n.UniverInstanceType.UNIVER_SHEET),r=e==null?void 0:e.getActiveSheet();if(!r)throw Error(`No active sheet found`);let s=e.getUnitId(),c=r.getSheetId(),u=o.getRule(s,c),d=Object.keys(y).map(e=>({action:Number(e),role:y[e].allowed?hn.Editor:hn.Owner})),f=u==null?void 0:u.permissionId;f?i.update({objectType:gn.Worksheet,objectID:f,unitID:s,strategies:d,share:void 0,name:``,scope:{read:vn.AllCollaborator,edit:vn.AllCollaborator},collaborators:void 0}).then(()=>{(0,a.getAllWorksheetPermissionPoint)().forEach(e=>{let t=new e(s,c),n=t.subType,r=d.find(e=>e.action===n);r&&l.updatePermissionPoint(t.id,r.role===hn.Editor)})}):(f=await i.create({objectType:gn.Worksheet,worksheetObject:{unitID:s,collaborators:m,name:``,strategies:d,scope:{read:vn.AllCollaborator,edit:vn.AllCollaborator}}}),g.executeCommand(a.SetWorksheetPermissionPointsCommand.id,{rule:{permissionId:f,unitId:s,subUnitId:c}}))};return(0,f.jsx)(hf,{loading:_,children:(0,f.jsxs)(`div`,{className:(0,d.clsx)(`univer-flex univer-flex-col`,d.borderTopClassName),children:[Object.keys(y).map(e=>{let t=y[e],{text:n,allowed:r}=t;return(0,f.jsxs)(`div`,{className:`
257
+ univer-my-1.5 univer-flex univer-h-5 univer-items-center univer-justify-between
258
+ univer-leading-5
259
+ `,children:[(0,f.jsx)(`div`,{children:n}),(0,f.jsx)(d.Switch,{defaultChecked:r,onChange:()=>{b({...y,[e]:{...t,allowed:!r}})}})]},n)}),(0,f.jsxs)(`div`,{className:(0,d.clsx)(`
260
+ univer-flex univer-h-9 univer-items-center univer-justify-end univer-gap-2 univer-pt-2
261
+ `,d.borderTopClassName),children:[(0,f.jsx)(d.Button,{onClick:()=>{s.close(Wn)},children:e.t(`permission.button.cancel`)}),(0,f.jsx)(d.Button,{variant:`primary`,onClick:()=>{x(),s.close(Wn)},children:e.t(`permission.button.confirm`)})]})]})})},_f=()=>{var e;let[t,i]=(0,c.useState)(``),a=(0,r.useDependency)(n.LocaleService),o=(0,r.useDependency)(r.IDialogService),s=(0,r.useDependency)(Zn),l=(0,r.useObservable)(s.userList$,s.userList),u=(e=l==null?void 0:l.filter(e=>{var n;return((n=e.subject)==null?void 0:n.name.toLocaleLowerCase().includes(t.toLocaleLowerCase()))&&e.role===hn.Editor}))==null?[]:e,[p,m]=(0,c.useState)(s.selectUserList),h=e=>{if((p==null?void 0:p.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))===-1){let t={...e};m([...p,t])}else m(p.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))};return(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`div`,{children:(0,f.jsx)(d.Input,{className:`univer-w-full`,placeholder:a.t(`permission.dialog.search`),value:t,onChange:e=>i(e)})}),(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-h-60 univer-overflow-y-auto`,d.scrollbarClassName),children:(u==null?void 0:u.length)>0?u==null?void 0:u.map(e=>{var t,n,r;return(0,f.jsxs)(`div`,{className:`
262
+ univer-my-2 univer-flex univer-items-center univer-rounded-md
263
+ hover:univer-bg-gray-50
264
+ `,onClick:()=>h(e),children:[(0,f.jsx)(d.Avatar,{src:(n=e.subject)==null?void 0:n.avatar,size:24}),(0,f.jsx)(`div`,{className:`univer-ml-1.5 univer-flex-1`,children:(r=e.subject)==null?void 0:r.name}),(p==null?void 0:p.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))!==-1&&(0,f.jsx)(`div`,{children:(0,f.jsx)(ao,{})})]},(t=e.subject)==null?void 0:t.userID)}):(0,f.jsxs)(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-items-center`,children:[(0,f.jsx)(`img`,{className:`univer-w-full`,src:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAAA8AAAAAAt6wVXAABAAElEQVR4Aey9C5Rm11Xfee/3rEd3V78lWS2p5Qe2sAHxCGYWMMgrK8AAs0LWjDyTNcPDY7CHYTC2CWBw1rg8E3Bggh1kHMbMsGRWEmaWPQ8SB3AIGQsmLCDgxBjLOLZBJautV7f6UV2P73Xvnd9/n7u/OnW7qtVSV1VXS+dI9Z1z9tl7n332/fr87z733PNlWUrJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQMbHsg3iqmUPHDze+Dff766r5Vlf7MosvuyPDtdZdlhfckrCjkFz32kTvO6tyv3JB79oTNrodyT87oOr8e5+F2X564vo4+oG8wNdbUriV/tddVo+nA+lcXjNsX6VXa+KU+tT3JKppePK+SglbW82zI1pKEjaEJX3RnN01STrL5VuxpEn/ZPveSvJUGSjYHy2QtZ9vi5kK8Osmw8CbbDu0TzEjp+r8yz3/jZN+WfDJLpM3ng5vBA/VW/OYxNViYPbOcBAS9f5nfxd5/Aw5N/wZ3kQGDtNPokH4OhZKb8kSLxChy8zYHDaE6E30HF8ykSSlekXCKxvmmTGqaVoE+iSurTu3KgEl1jNiCu2yWu5DbauFWvaW6z6lOf1H1OeWm0cq3MdDkNue2S6YwaTQ4dbpOanGeau97ahtE4yz5/Jss+98Usm3DjMx20hOGZjkt1kvSQHoL+az/7Q/mHrJY+kgf2uQfifxP73NRkXvLAlR545JHq8OUyexcz8FvVqolZoDHNjbhZTu36KwmhDGDqZv1j0EQuWYGZt7uuzVpCraknrsflWFb9WISpQiNJxvvzXCxeVu5JvEpO87rTprrEw99W7VfwRjqn8g07m7aYXjpw0+KbCumPk9sqmtsT65Ps+ctZ9gefyrKVNXhqYbN/i7JIzTau3YfaRfbuxR/Kl2qRlCUP7EsP+Pd7XxqXjEoeuJoHBL5rVfZxJvB7Yz4HghgYNk32NfOULxIWn9H5sLLnzhMJWbvWTD0hq39Qsbw3KZ+CT/NfnfdR6/Z+JaOyJwcqr3semeSkKWCLoHa3y/KoHxcw22j07tzWuH9XEuuT8pjH2+J+XW6ay6Zazsfq+SNPZNkffzrojG2Iy5tspuL9O4/aoS21utnrFt+QQNj9lfL95wH/97b/LEsWJQ88iwc+80j1cVjui9kEALY0S0FlJZ/crWyUGpT49mvS1p8i3k0TOHy2rCueWkZ64+VtkdWmf0Tqw6JaEUmi6SPWaaSa1gQNq8sWiUU8sXxMly61NfWIrjTlDdWp3rq6SdZoPhBncLm6j7gvNWl80/FG9tZiG5n0KklAqVl3Gu1LgO+ffMa47ENjsD5q/SK6mmkbtKnpaqz117Slbit73U8lEJbrUtqHHvDv8z40LZmUPLC9Bz7/WPWuoswWncPn3mbebFc95vH27XAh5nfeprzLxrziUaqBYFPZ+Zt6jKmWsWXcmtF0OLMzRXmsz8lTGnICz1if8yjfEsigW5/GECrTumgkB3jRTTe5gbQaG6kpa831eKRHaXU9yz72R6GsT9e/QXl+Jfr+5Ki0SPji89OQpJIHds8Dnd1TnTQnD+yOB1h6Ps1G2EVFrTZ/a4ZXaoBNPbeHprrNKnw4IDkAOF35pmgP3VIvfqVNbYG06TMGuyaItNGhiM50SWlkoOSU3B7PnR4a7XP64bZ4LnWu1tR5pe7HgdKqfLjujspTrYHu4xXZxuF5xOg2Gs/0Q4UwtIg1EJuf9CtbxPeHf55lHc1GLhS1TWmRvNvkJOlRknhcpnpvN7P9AYuUU0oe2Fce8O/qvjIqGZM8cDUP/OWXqgcBj+8Xj32B9eETtxPrmVig50kkA6GYt250kqsycIE4pbseEeqyMl+GNUCo20xHLWgkCEZTXy4f8YocJxO1j5oqYZIBbShuRIi0iT4dV81bZzV34LFK1KBi3I3avdnpzrOJrsaaoEw+0IY1JTVtAvqa5h3FwOm6zzydZf/+c8FG97vrtzF759JFB9LvNzLmf+quC5Ypj5VVz7KLWS+7+21/K09RsJyS0r7xQIqA982lSIZcqweYpO+zZ7bRBqhc0bAmZmhq6/HN7tbfbpv0hQxXSTbx064JvpmuVd7BwnVcTefV+vD+PI95XafTnq3Ppo6r1b0t7iMey9XKAsLBMABjU4/ZyDXZLv3VGa5VO2oVmpKmoFpfE9OrBtW9sZmr/cp0mBeMtUt+8cqmREkeuHEeqKeoG2dA6jl54Ll44JEnOGgjz057hDTNUaKJvs1EPtcPYCy9TTCI+/I2p6nepLmOODdA0cRP8rLnoklHnHRD4El8SsrtJoLc+/S62l0m1uV9uA61ebvrkGxMV11pu3bX6Tyuz4TqD6d57jJeV64hzs0AwqM6OoXgdk4j4shn1h8feuVoxPOEjgBY7bU/1G6uso8r7TfdGr/4Ih/GOrx/6cLGHyVbVDml5IH94oEEwPvlSiQ7rskDTOb3akK3FAGb1aFrInfwqrmmIOX1OHcQeS60WMbLnsd6tio737Pl1yLb5HGd29G3at+KFstv1b4VTTLye48HrjqpylJ9nQSE02umBr9+FM8vBxnj9w+118DrpC3zrfic5vmG4OEHf6e69w3fmk7L2nBJKt1oDyQAvtFXIPX/nDzARH7YI8UYCDwKskhqG43id744OtqG/TmTXb8LNutOv5Y8lo3LklVdf/7ctdne1O/tzdz5nO515VvR4va4HPPK/3ZyFQzua7VvSgLXmqbdz9d8zaTEZZ8NoKW/wZNPsvugfpK/lJIH9oUHEgDvi8uQjLhWDzCvnhavJvV4jvVJ3uhqIDVB1usODF4P3Buf0uFtcXmDY+tSLCMOr2/NvTXV+4tl47LrjWlxeSut3t7MndfpXncbVI/L3t7MXd55VVfZ655P9Ukvf+ITWAuAxePJ5U1vRBegXqHLaQhrQYSqJckq6vZNWkbMs9OhNX0mD+wPDyQA3h/XIVlxjR7QpBpPshKzHbHMvjZhU/f8aiqvxhO3xWXpiwFgO/1NmavJNfU1ZZvt2/W5k/TYBi9fix3O63lsk8t7m+fCVy1bK/frGsvtcHlhh/UldckD1+WBBMDX5b4kvNcemCiyaXSqyX0vZm9168DRMOFZq9vJbUd3hc/W7ny7nT9XOxxw7dLUyCoddq0iY7V7ndOqzK9TGYRMRB9SEKea5uRNdllnG8yuz9G93fzibLCmUvLADfFAAuAb4vbU6fV4wCdyTbDTH0y4HoVJdsc94MDoS8B+zZod6fUjB0oD3ZpBWCq6kmRjLI7pam/WTUYfpFpFKMcVo6SP5IEb64EEwDfW/6n35+EBTbgOvD75upp4onZayvfWA7omDrh+fZTrz6+bLBKPvatNbjJG5AM+S1tdTNHiJN4mn/PEbdBagH1KyQP7yQMJgPfT1Ui2XJMHfHKPmUVLaX95oHlNBL7NHezxBizxq118nhzA42ve1CteB3DDXPTEctauj7QELS+ktI88kAB4H12MZMpz94BPzMJfD5yeu5YksZMe0DXx69LU6xGwg6hOLNO1i5Oe1ard3x1utjuvB7iqi0f4qny7vh2UYUkpeWBfeCAB8L64DMmIa/VApehIM289+1rkY7NuTbtWRYlv1zwQA2YMhn6t1G6Xj8Kmd4BFrFMs5zTlTleu5Dq3A9f6a5JuzoK70uc+80AC4H12QW6EOYvve+Sw9Xv49IAfMB/cCBuerc93/tKFu8q889eevlB+xa3HWjYR+6xqryEx0243CT+b7tS+wx4AHB1kDSBRH2HrRiN0+wWkuBFBu46uwE1znfA6CKsTsQU0D4wua3Q11boNsON+Anv6TB64oR5IAHxD3X9jOl/84Pqdw/H6V7az/h1VXi0MWRds8fCtWl+t3vmBlZzqU61OazmbVI9WRfXYz771wFM3xlIO78XW0aj4JibZO7XEmGd5Fe+slV2aVzXBip7S/vGAR6myaHpp7GJtAKeWoC3VdJWnvJQj8pbRrvdhQB8LmtKND9Ojj5SSB/aRB/zrv49MSqbslgd+4v0Xv66Tdb5xNC56WdXJq6wAtFraGmNdQlDS54lyUp6g/tK8m+U/9cDlQavVfqxqF58vWuPHfu7NRy8Z5y59LD74yMzaypHXdKrOa0bj8S15q1VVwG5ekecZ/5OwsjmfOv2Khl2yM6nd2gO+IqEv0vQ0qppVgOnXSe3+G8AqK1mbPsRHLn61eWQ7vbZq17Ni37AF75RfAi5DPu0zfM2tLX0kD+wHDyQA3g9XYZdtWHygOjSqVr6d6PFOJiP9V7byVq6yTXjqvyS0VB0mgLeewgIdUrcqy5eCfi/r8MOq7/yl5bPtPP9ikY2+8DM/fOyxnTL/nR945o5q0nv5aCUDfNu9PC8Jd1uTil052GT2hRm3HRkYep+OY6eMSXqetwcMLAWIfIumqxLUBYT6E4jqeukvfgY8BVno/gU0mupOqOW8Ov0ZSgjSN6VT9jSliSGl5IF95IEEwPvoYuyGKUSvJwb5yv2tPO8zERU2S6kjIkl9EkHkTGLga8hFZLKzqUp05wsimuAgFtmxqpUdrcr+V7/j/Zf1zPhsu2o/xomCZ45ms2ff8pacX4Z99vTAA1X/6f7wVF5Up8bF5NVVmfcVjOsmgHuEMHdjCUZqWVy2QIvvDjb34RPtZmqq7bkHuBDxtYjB023xdt/xPKXrelPRn3iUK/nrSyoLlJs6fce087t+r3su+ZSSB/aLBxIA75crsQt2/N0PDO8py/G3MlsxX1VFTlI3VrVpLKtabVveBfKmcx4zXJjeiHi1aKe5zOazguU+IhbwN8vtTANkiE276LutysuX8FOwr30yW81+6oHVQSsvz4HswzJrDwFTfnROk2l5KOOn6vJ2dQi8PwTvoQwhehPm0kmwUb1XLDcrApac6maJdNCRiEJnn4gtr/nIUrrRHuAC2TWzqxeuk0wSzfPwTbS2t3ItNz3SqNlYlOGgjvrwjIIvna82t5yBdqeZ4vojXml2VsR1V7cU86Vy8sCN9kAC4Bt9BXap/7/7vsv3TIrRX+cn6osKXAvn4IYpsMraYGah53NElsLlrNSEqPBSNC8bUDODtesjhEK0oqkMpGTmy0FSaZR+PlgpDrMlz5a7RdW+TVBN5A2cFzYPojcvFVVbzVDX5k/Zo+AcXXkb7rJqY0eRk5emmw7Vt+iAuuva8BwUEev5foOeSjfEAw60rFpY5GpGcIH0vVIK35m6nmf/7OWn8iVr2IGP099fzRzrZcUnfiUf74C6pCJ5YFc9kAB4V917Y5T/9D9a+cpJkX8TvTMFsurMxAdg2vQXlpUBO9UBQ2GXlpXFyjIfoFcHFXD7hFmiw8DaAZpNUUS48ApYWwLHXBFKUdKXdApbWwF0oUX90gxDafuY6dN0EOkShCNKU0tzNgoKVqWFqQHs2+C69Ie6pOuwyHhr8KUXBFLabx7QF8xtqgv60um7pXyn0/xqdnKlyPQFeWSndSd9yQM77YEEwDvt0Rus753sdC6K6uuY3ogetYyrp2OgrR6iWeJhqgFkq5yAyvb6EWAnvqIkECaWDZFLAGWJiD8AIhBYtYDCUlunTb/KamMuRYeBPIBqyE6d1WL0BXpLNwFGC/pLRdwk2SMwNuCHgk0dIbJWmoPNQK4tQcsObhakzzqUtMqe4rLTdivXgJXiPkWL62rfik/03U5uy7PlssN5vKy8OQ7RtktNecnanRQCuqHSJRKPvonmNuVb+Go7/c+FXsxmMyxbrz8XmcSbPHCjPJAA+EZ5fhf6fccvrn4t8ebXhOmPsFQTHTMhkx3PeslLRZuCRD33ZUJsE4MqNBZM5i1bhhboaSVZdOVBxnYj29wJMubQC9FVZhiF+BROKwXgFDijDhyuJ3Jk1b84DLu1qQr9RMPWj2yAGdCVraCsQBzdgDRwr5sDNWsshu1mSZjEpbHuwyZ11ZU0Pk/e7vWr5ZK7Gr+3i8f7iGnS7fU4d3qz71iP2rzuecwvWpxcv2jNcsynclOf15U39XrddXouPV5W7vXpvV0gTf3iffilUG7Xna+KyqajMaZaxfPLFrmT+yueG+dh6eT5KUlSyQN754EEwHvn613r6Uce+Hx/rnXra1kSfgVzW6nlWgGWrdtqMY4tU7SRM+npB3WhiUw0G0BYEeyENeBOm6Vk1u+05ssyM+W83S6kplKuZ7AkPZslFhULC9EsQ9NuAGkDpGMtFTO5ajk7dGYN9E8N3NVDYfZmwYV+0Nz6sSVrbe3K6Ydla0r2LFi4rveVecKsDomiheLsBNMMTvJJ3kEjUDfoXlcume34t9LX5Pf6Vrq8zXPvV3X9xSm2NW7bzrYmf8wXy8s1atOfuanuNObxNucTi7eL5nXRVPc2rzstzqegWo/TZaTL+UzxFvUZb9iJfDEvO3+7usSKzMpOqEs6kgd22wMJgHfbw7usf/ED1YGVyeW/no+rYwAiASPYxlYmXuIxkGxr15O2QYGv7TbAB+aqDTg0EHbzwDYWgdk6pUhYwAsjIrZMbKvDBKlsqqo6CnfoZUId1UJDYbHR/DmxZAW1kwnzL4GyNlAZpyZ0ba4iIyC3MAWYV/StB8Usgcsq7IICDjOdUxeJX2zXm79gv8B7E5x5zXPJe1m5AMBpTve6g0PME7iDDqc7v7cpj2W9H88dCGP+uBzbIbrLOT2Wb7Y1+3W9TVu97rnzKXea9+d152nWnR7zq+x1b/dcdLl904WivtW4dvrc00//7/kNO7XNx5/y5IFr9UAC4Gv11D7k+/EPrNw6mqzfx/u3fRaGJwIxOy2KGTCswhH5Yjf4lwOcYyZAbYIiltTzV0CYVWIFu/xv0bByRbRQLbLVJNoqgUMSiG2xrYpCVZ4YUwJqw1tByIVlbWbZvABdBZQtg3GWlQFi1pQ5/APQFnITXVPKO+gR6JoO8DX0H/To+bHVteELESG47h6wTY+EbYZvAoADh/LmZK8xeLsBRM2j+wmvi8eTeJv6vS2mx2W1q273KNjoOpp1t8P547pocV2ycfL+PPc2r0s2HrvK3r94Y91NWeloyqvuup3f81hXzON01+dtTnf5lCcPvNg9kAD4Jv0GvPP9q1/HGu2reBjLCLQxSuDJBGrPSgVYgq+QRK+BVou/RJqAIc0AYkvLxNp1HF7zYVEa8EWHdlkBmu1SoC3A5MgsbecKy8qGxrwSxI4oHWWpPvlP27iIigWQimr1ahHAzrNidKPAXl2qn+3KViGfzNbyuHFqos85mlDROknL2+G1KHLBSIiMicONnY8YHBiwAY8kla422cdygTvICqgcLGIQE4/osZzXY3mVY7BzHs+dd6tcPJ5i27ezQ7yu13PJiT9ui8uuV/wu47n4vF256Fsl5/E253MZz9Wua2L6vRLXvSymHUpf+6ZqTqp4BWlth1QmNckDu+qBBMC76t6dV/6Of3TxCHj5DZNycgTwCrEh+5uY+G0qswkx7DzWYq3talZurwgJFOECMAlQsS3XsRiAHuhsy7/EnNqTBUiXnP2cC2cFxuJVDhBqMRta/f6v8FXQC2CigrCWB8WwEqXyALeATTu/AG0tJKvfMNnWU7uUmx7ZiF694yuFZhdhNpKIGJ4EuUCzGw52j0Ezu+rcmGs+By0boxm0wUvV7VDRdGzSo7GiR3+evK9Yn7e7rNe9b5dV7jxXy53f+9oqdx7X4316LnqcVL/aTYV4435Ud93eFut2/U0ep8d9uV7TWX+4nJtpdbXtUFpZz26pVT2yQyqTmuSBXfVAAuBdde/OKX/TB6vukfHKl1Xj7NVo1cKkRafaK8XEp0hWS7wExSFSrSdFAa5Fp1oi1tNgRauaHBVlokQwU43teStKtFBMBKooWYBLm/GTZ8UEPO3wrBaY5TUnkUJCgyJjHhsbdKusBjRxA6ANW6bHeBWFo7u2Ua89Ta20dpcVqNtzY6w3sOfZNAwoNMOs81oyRP0mvfHhk38MHjHNQdJ1OJ80eNnbRFPZ5VWP01b83u5yqnt5q9z5BWBum2gOaN63ci9Ljyenqa6yJ/G4vrhfb1e+FT3WvZW899fsq6mL6zi1x82S2c4X23G9ZaLf7too63TH6RWk6/Vlkt87DyQA3jtfP6+eBLwHhyuv6Awuv4LfA+qhhGVicEc7o3QuIzMau5YLYlfTL4xTISzjqmBkRbB6i2fTCxo2QRLNAnY2P2oHtPNrAZslaAJZ7Y+ij45CT9sRbQoFpt6H6VEwi36VBaQAJ0X0AaLiVYJgUTlFLWnbjYE18OH6tAOb0FsgDQDp+XN4+ExfhX5AAiOkY1NS1UChpnq7T/QOGGqO22r2KU31mNfLyrdLri/m9X5jGW+PaXFZ7QI7JdcZl92Gpm7VneZlyTm/6/D+PXd6nMdtXvbc+baqq82TbPBkbqvrThYt1uG815sPLrAPgpPE6X/1enUl+eSBvfJAAuC98vRz7GcKvMO1lzF5dRW7MnEZnBqQQgSsBFT8EcJacMhcXOcAbosyQMc+aJ7NqntoJKFhAFqe14KDRRtwY+oH+KjTBhfPfm3GtO5MVmArkNQ7ugjZyVfSVkeo4iHoFYWCxOCtbal1hX6Rh1FAreXzCWDNvjFK0i9d9roUwlrCBnOlUyNFYcHthspa1dbmL/SYjTTFZaqeNNEriS+e9L3czAN34HW5OPf2mOY6RFPZ09S2mh7XncfzWIfTlMcyPgbvw+vO36THsrEul4tztbsNsZ5YztubesUTJ5OPr0dddtdIXpfN67HsdZXnswOtUVb2LmfX9EMg19VXEk4e2CEPJADeIUfuhBqB7sJweCcPQm9tDdaOT/QTuDXm8isIvNdjgBgmL65cyXs+9ntuvNur4ElxsDC6nNRRMoBWldocLZAOwMmWZMMvzYNtGAG4MTMigDhRZ3ZWM2dkaY5kTRtARrEDeB2gAcKKt4lM9dy2moQ5O5gmK5ALZ2NpCdqeCkuZTbuoxe58oihXfaMfUoj8pM9sJVKeKMq35WctPusVJLNeIE3kbwOC5FrV7BO6A4u11TzBwMDvdNEcTDx3DtfhPHEel12Xy8V152vqjnm8zXO1udx2uXiU1B4n6dhKj/PE/DGft8e5t28l4zTncTnRRTN67Xe1xXwR2b4NLrsT+biVzfG2WvWJj6YNWDvhz6RjbzyQAHhv/LxlL4uL1dzqidVDrWF1rOxkx/P1ywtiDAdeECgqSuSxq3C3NbYotsZAIkAtDetFHYWvAKF+2LwAj3luaKdMAVslZ00SNrMUzMQEiPL+L/pIPDYGkAE/dBeFol7J8RBXrSCrMunRzx5wDrR4BdQVD4vzNj+HFPoJG6iwQXJwCoGxyx4TK2LVOIStQZYbA23S0rHSvJBMv9r+he3SV/etmwQH5bCUzYYvBdUYREvQI+s1qTsQOA5BCqkmePsUFLw5BooGTdVNgBH1423e7vodeLzd684n+nbJeT13Pq97LrrrezZa3K6yy7q86jHdGOoPl/Vnzy4jeiyzVT3Wo7Kuh/FR8GtTmxPamgLXWe+W2RprN+kHGK7Tj0l8bz2QAHgP/P0mNoi85DXZ7LibHRysrix0u61ZFlSPrRTLXf0cX8kDVu041hGPhZCJpdkq7xA+avISQCnAE2J5mgjc6kQBfi3hikv0dqfDJ8u7LO2aHLoM/HKi1RYPc4ms8/bE5lf1oaR+0GNzJKvCegUJ5IUf20LfCl05RsPsE0B3FIrqSA8wHuy0vtQ/7CRbOobfcumHzJ8tKQP63DwoAsYWo2tRWjLYqYgde6XDdVE3fdaHwBje0Iu4Qqq7DQ02Cm8JucCgtmHa4LQpgYJongREuikxIKnp035gUjnmdznPXf92uevy3PlcPtbv5TgXX9y/l2M9zi9elT133kDZGEss623N3PWI1/Vc0U/D36YXRcYnhXV7U/fzrT/8ofzJ5yub5JIHbpQHEgDvgucFuPOvWj/Z65ZHiR6PlsXy3GVFfkSdbJtqDQk2CfwEInrdB0D0ZWKWdEFhHcUIEAFyITq1MFAASZqAtHptSBEnAGXv7Xr0qd9S0Cu7tT7abWe0zsSwQzCkW70G3FC/gV96VVZjsEeRM0vS9ky3nrVrOUCpAoOJZsMyNfyslEulnh27zQp90cFGrAlryB0dY8kCObYRLYvOKrn5Q/Yzh1s/wbYw/nAjQHQN3Aa9mq/VhpXWm2yeJhplfPgIoBCDhMoOEJ6L3XlUdrB1urzh4OsyMb/44tTkMW/WDC7nPCKrP6e7Hq9L1nk9d32eSybmU93lvc3zpg7ni+VFcz7PXV65J8noT75xPd62KdfXBj4l46dusoFksmLZ6ZOwavUpSx64KTyQAHiHLtOb3vSn3SNf++rbRqvDk63WKu/oMknpmapeoSHcZMLNJzyzVZSrXcdMYKJrkuI/fv/WaDz7bHWmdfHrApUWtfIeEDmgJr2kNgdPAoJEuywtmzwRqkWUvH9rU1+LoJkoNbQxX6pP64eZU5uYxD/h/SJpq3WHsgG8Jtmw7E2fZu8jo9lb7+qOntIYpEeAa2OSXdxb6AFvDbwam5aRucFQN21uHxgJz31lW20HvPTd6pRqZZnc6LRxGIduQgTq2KWNZuarMJ0TUxvdPmjXpO5AYC113elqU7mZXEZ0lWM+l3W5Zt11xXTXoTaXi/uQHxjHNKnc5IvrrnsqQMH1qc3bPZd+t8FpW8luRXO9avOyctfjudpVjschmieXtSvlF0iNkS5VdTn0HZau6z0LWq8fjVayA3/+6/kF6U4peeBm8kAC4Ou8Wu94z8Uj4/n2bQSsJ8YrQ9CT+aaYWGRb8MxUwEK8y7YilnOJ3bRDWMvFFqmyBbgYh6hRB0BqqZXHs6zHSgcTFDA2QV5bqYBUtjaxbIsuYe645MBHGPOxIlGWaClLEFDmLZ42B1BpGZk+C5Z1FQIHMMUAbZxi1zH9KuXIVnaKpezrFAJUsxlQ5fGvbZoqeLKmZ8wzq+Plj/7VzHefPDr5wjfcNfgz46u0jEyf4w5jVkdaptb4JuEmgz60mau0PqAzPv1QkvrEDv38ESvL8oneMmLZnTFiv/lAY9ANAu8e1adjIU/kb8vlMp5kQBGK07qDkQjmF4bh5bgeqIHHy1MQgRCDkNrjNuffir4Vn4NW3BaXXZ/TPJe93kdcFi0ei/j1F9NMsP5welOH83i715W7DU7bisd9HfNOy7VNDsgaigOvdNZDc/XPKx8MstvGVTbHfopLi4vh3JbnpSgJJQ/cAA8kAH6eTl98sJpZu7hyNzB2CyAHWCpC7fNjPfXyKfMXkWnW4Vlp3mUuA2GJ9ureFDkWLSI99hfxC0RVpyQ8tp/mZaK2eYmJrWp3+/ZsWDqrvD+mD8U5Fh3mpZZ06cPmsUCjkbYQ/erdYA66QCdgprd6wG6BqBC13e1UALD1x0u6wbaqk40BurZFu4wl0yYtZlDNmNgNMOe3H29f/O4j4w//+mf7P/mXf9n/ntOd8Ye++e7iz7RBKlO4TVKELhsn7HTuhA4DHQPUt8YCUGO2ZGSQfGFy4DlTd6uvvrJunxsAbMQeaAA0QJ9XAyzi6EvrIUzgWBdMhKiyPqYAoKoR1bC5HINJzBM4N4DM27YCrlhHU87rzyX3vmKZJs3rzb6d7rl0OI/nosXtqntq0iXjyds8j/X5jYXzKhefy9vrYnWjLkWzXjc9r8yi3xG7n7vZWgLf5+XCJHSDPeCIcIPNuLm6f9t7z92+vnz5rmEB8maK/MYEfhzRyKSlVWWLIok0292cAHWQdYhsieQMCgBNQQVxIruTa/4CHoCLh66KWrXMDODiEqEmz3mBZD0lBUFZ+pWn1KZ+PBdNp0rx64CAOcvWAB9Ap5sCgnA12tKvtl4RlWLrqACMOwJokHIMryw3Gwi/SejOxacI1MCRGAMOJUXVf/ue7D0P/n73pz53Z/cfLj3S+eSxQfGxl56oPvnKE8UT4hfutvmFCJSj26dtgSwjkW57Ti3dAmXo3APoLWdzkI2TQQPU3CgYg8qc14XLbHOWKbSP2iZl08iqppniq3xsWLU1U7O9WZfUtdK27uHq1BjkxNmsb9V3U6PzeO7tTV3PVX9Tn+v1/Ar9fk24wLa0QS6e600rrDr1eOt35mB27np1JfnkgRvhgQTAz8HrDzxQ9b9YrbyCleTD3PkDsO1Jm4hTy6sdAJWXdAw4dPRTh//0zLNHuZyM856OkmITEjuTDWda3cBbssRqFwFg4jxJAuKxeLQqa8me1VqgCwTzUhJr3Nam9y3sBCsVADuWnokuOqX6EzJYe7edd8BOPUeVMtZ72ccEQMOnMpNh1WfZl3OlwX/sYSe2zFO7dimD4Nhtz40ZVwdwBwTpJuO8vzd+8/jv/a+/e7BYPZl/Z3Gyc++XznWyP/1S9Vunj40+9s2nRv8umMWNRznIZ7ozHJvJknQ+zmVY0Q0RP62cHThTDtVWjhkbdunMS3zHsZi8ssTNATbxenPJj6zbuJi4bSw+ydtEbm3WrGHueXJbdrLjJsg169fT11a6tqI1+7DFkGsATumy6yIFlFWf0uzqBfqUp9nRNdRf/l9Vh8pxtsCt2dqfpx9fuAaPJZb96IEEwNd4VQS+j2drX847QzPMQVpQBpKICxXRFR2iNwEb041mKdbEJuMxwNcF1ABURIj8eDjK88wQxdm7rRyuDFazJAzqjQFBoE+/+GOPOAXwADiRL5eIvhQ9dsfEs52ugZKA0VBWh1Mq9TZfSidb5IqNsqejsFT6mLnalPktBk2nebtHpEk7IWfelV5SyZj0jFYRC+vkWlnmfA1+QLAHpurMDHh+4L7LP/Orvzu/srre+i9mThFDt/PvePjp/nd89sn+EwsHyt/6iuOT33zV8Zkn7cXirFO1J9wN9LBB6NwT2OI3xqsRtqoZxsZNBf6YJvi0oG57wiRjgszlPolD8ckd/xBti8CfRrWHKbZnD7vdk65GrKAMuBcbkus6HuCLpb846SuvFG4WQ1nXIgbYuBz76/nugp6bzQ6VRL/9A9njocf0mTxw83kgmu1uPuP3yuLFDz4+9/jltXuIdAk6u/xwkECVqb7sMvUAtBhikVrBU1SBiFZ/AQEiWRo0MUGfADzAdgFPu9UlyhtrZZgy+A0bOpRlxWhsZzNLp6oGOprgBMgCQ9qtgRaLgJkcDRABaaursU5MmBbVKnokGGdGpM+YxvIwk6HBlfZkcd+QlUOiVBI3D+oR3TbWgvsLxeH2dhRjs53cY4D9B79t5b0P/s785fNn2z9w8FXoOIGNa9ltZ59uvfFfP9174x8uVP/uxGz1L+69df33b5/Plsv1cd6lIx+HRmVjlW2j2l7ZAch3iJRlV5v7FllpGFyPTZkmdZ/oHQSi5lS8Dg+M8PsKDhcAKwlcueljT0Oox5/LoKj45vjuzzXAWXwC3BiAvRwDcazvWsqcevUU5l3gpwebX4trEU88yQP7wgM22e4LS/apEYsfrnorT+hXiIq+TPSoVmBX5V2iuABYbr7AZRxFv7Y+HEGH5MUb5LqA6JhfBeryGo/AJ+gS+KjufYlf/aE26/QE6SAUia3HLQGq+AhJmRrDXKR6ANpJu83zVvGqLrm4H9fjcuLbGNdWkIdEDY6uL8h2swd/Z+4HLw6zN8+/EhtnsU198quso7MUqHQPZpdnO9Xv3b4w+ejrbl/7RPCT/BlAN/hBNippfFoW79j0r3GKKt7X/yeH3jXfz/9T1ZU0mWuEElSfhw/AtwVIiDela/PAZSLLVZ2ojB9nAdVZLofAd7s0BKwvc6BMeDhCtIysgHgrgLWbJi6WrpWuWdXL7r7ntnyJYkrJAy86D6QI+CqX/MMfrtp//OTKy9l3y1qxwEC394RpeRfwDdM+ILFJAxubrF3Tjzbwhmkm8BSlADZMS0GO7dHoC3y2ZG26tBFKr/QU5UiRH0p66GSjUkdgLZCUDo5w5gZAvAAWjSNavB/eIGJjFTuhxxPl8LfaAmen84w39MSnomKL5Fu9bi8bwcYvAcNvy981nwA8xC3auKVXprS5qmv3Eh3aRvn3f9vog7/2sUPVM59q/bcztzNpv4T5m5c8Z08Bpev0ci47OMrz71oZd7/r888sPH7L7OSDLztcfOKeY+tfkincNDCeYGvwmU6Rru1thc1YNnYtjDNiTeAW9crFJNVT2hkPrPEd0E3MYW6krga83lufr53+tFTNTwJm6zrdjcZ53UdFyW+W/Fopry9fxLV98dX3V732QnayuJQ9/fBHckF+SskDN7UHwox9Uw9h94z//afO3dIe8iu47Z4tuQp8lVo8fNK+3Lzq6dloNR4LRHvczANUej7Krt5qAniqTjtQoo1EFc9d8xG8XYBOEWS7JR6WYy065dEvfFkXXcxeFNmMxfu+BvpD6YcPHu0WNlAOcuydIkBc4QGt8fNzwQKzHn2xX2ow4pkr4C1b6j6xLpxhNRrxUBmcB3w5JwNbMJnQRWWWq9lYxqu6JfJMokWJvnJo46nKXtbqYg82apm9TduE96yU3vCd67/8q/9iprpwpv1DFcuSM3fIFv5wTP82JmUtVT6Nvl72kieqzrufWOtkf/xE70+PzVf/7G+9cv2fy6+6jegyZvlL/qzot2Ls8rF6qbL58BoSM7cMmk7gqpuFEFO6Lg+cmA/i8TPda1E4w2zSA7gvXQaM+SLqpXhtTfDLohsmu0bk0+t2LYrhuf/+qv252ew0jylmhr1sGVIC4Gv0XWLbvx5Ii3XbXJsP8stEM4OZo62iW2SjYVkMeOmId410ogZACq1iZ65q7JSiDlgWI/iAw0m7GHFwhAJF2qBzroTxF4OqmIGXF5CMX7JFOeTYjBFgo2gW2RLdCu5yi/r0w0JsVeqySWpUSla7tUKveqrLAR3IA1klB2FwSmXQrz7FI3qwpWu2A3BgH09ysZ2NTQAsthWSZ/V7gG76YWy6UeAEkc7Y7B53gVza0V2o/3yIzcFGgueScyjNP5wcXWl8/823r//S4QPlB4a8GHL5MwF0LebXjAuCKjrWXrDRl4iMmUZHZf51T1xu/U//y5/O/faDDx/+H//ozPwrijY2YaN0W7+13+QXhb0W+VKRSk3u9uezPPWUrs8DAt7nCr7eoyLneVY+dDnqH+/yJqOF9Z/QPm24hsKnD2WneGttjvu5Z77wT3MBcErJAze9B9K0tc0l/PGfX7m1bJWH1dzu9DjcKkS0qhfFiOXdnt3EswIdbuZ5wwewqEJdsRt8yDAJVX2eHrPhaurrQOvxrGyU9ftEe6Zbj5iH9CV9TjM19iG661B5NBy1ev0DxM48Bxb48RoyUe80d8kg16dvPdQLqalLz+xkhwcV6kdjlm7CZN4MCmOP5VwXkthcYc8YezZ4f/W35n/44mrrv9d7vwLdHodzavK17dPyGH9jng+PL0Gjrc2zW09M/l86Nlf+0ssOl3/yNSfDErXaerjo9X/jwHtmZ/Pvdl7lppcRysHpGXDsmRtTfgZ4tGui7qffesq67nXd26v+sz8DfvX3VneyCfAo+xPWP/VP8v8gtSklD7wQPJAi4G2uYqts91rdHhGfolFe3Cl7her6684c4NCMXtlir5PAVOWq1YVmPzJAPcgEeR26QTs0lxeQTYh6Vfe81R2Y7qAv8LqekPewQVF16CPYMCwHen8JO7ozXc6/7PHIV/Vgt+qToqf3j41H8qEt2O7lYI9ehZI9PXL1QzRfj0n69UeEbjZIzmUDnf3g9D9gBSDUe+UP/s2VBw7Nle9XHL7+KEuSTzD3MgFr4rWJmLxzjGfEdwO+8Iwf4yZlJTRxAubtT6+23vNHX+r87v/2qQPv/78+N/86jXt13U470ePFTcnneKnejWQ2R4qb9ahpU3E7e7ajx8LXwhPze3k725zuepV7WbJx2XVdLd+OX3RdD3veGymY9t8UfJb3kF72PdVJbshO8Bhj8Mph9oVIZSomD9z0HvC566YfyE4P4McfuPgy6eSsWUsz9anxqvMqLgu0Wa4mI/Mh4BTNcn60R23OFxRs1iU++ymYWi8PVFsKUjvzPIJdBaDRYXLSI93zM/mAzmWH28QhFkSpw9aEXxaUGn7+Nzf5AvoAOhFxB5pytddDMbXSo346vKM8Ye1YRPUpmzkca1Mu29SHeLx/9T0ZD8xG1y1Z8fBbCpxypZOuqurXfvvgW5ZXW28RvQ3j7F0sb2rngTjjP6rj8/wRPbWO8lc/h4RsiUn4TK9d/dt//N9lt3/ZbflrZY3EZYDlFEQ7cpB+uK0UzZPxQHBQmMo4w1Vy0x21P1vdWb1/78votQ3OY89E64rZVivfJOPM5KIrNW0I1M30mEdlCcXjj2XkN9nyDLvWD7LKMMcjAsmYHbWc8yv3NqepPk1UFAHHycfjedyGsrvvuTtf2kSLKtp4NTyQLXz1Snb+Ix+xN/ai1v1RXHywOjxeX38V57u+tJ23T/KcRDsy+LdZDdhYeBGX/EVvbn5p8Q35xf1hcbJiv3jA/03vF3v2jR1vfc+F09qYK4M4kIkzKlR2qJmBFsCnDRAJGDnAwnzZ4fyKAFYzPOsMwBYGVcuggs1Wpks6JC9oDH3M8G8YvaBc4BlkQ8CvA5BN0Ktc+hWJui2Sc6fJxuF63urP6o0mXluiH7drw35xByj2ccV558BMXg21iXVAxLoBvNOh150JYPuzffoJ9oo8mQzNRpXVn/TK7n/y2wvfd3Ele5foeum3rdeUmOjb9V/O6rcDkPIR0fKEm5EWS9OtaGla8t/y1Vn2H70yy+69LctuPxQAQ3QlOUIArOeQONXS1DnUjMaH+lBSXcUr8ppHdEt1PaoGuYje5FXddUvO7TA+b2zQxWOgTGErWekRWLr9W9ZFJIlPSXrE73qng7XWjX60w/xJNk9pN/PxudAouVpNzR34p5W6ENukfs4BM7z5nmlTViwf8011bAHAnPE8d6mfFV94f863YH8mQHdmuLr+VexifBVvBNwF4MrVOJo9ghxqzrdQfmc3pu0ZtCY2+S8V+fj3/v4PHVkyQvp40XsgfGle9G640gF/539+cn5Ydo90O7O1j3iXxtIsvxGwXs3OznK61DptoEm2TrQ7W62vr/P7BWxeBiBdznlpyrqddSLLWZuTOGDCIs0uv9UgeenZ4F2HV1HobBSNqq+QeF3YgDuOVodrg9YMpownM5XTg17JSLcmBR8D00Nt58Y4JAtgR/2KP8jNmu1193UWxj2eaDzBXm93X0hXkM+yf/qvjt5/fjl776YZ2QXI9cqSALnDn8r8MkM2ISKesCzdvhVaHRELgL+M3dWeXsnBH19+Mstuq4H6GKAcTvbYABfntb7xohypizAFBCqqawp1muoixiDkF8Da1E5ymsqim+5poZZv6HFG45XgVZLzeC7WK8qu3/uNeJq83pWzarxSKL6zq+wU4HGAdkFz4xb8UQu4HstdWG2UYx9J3xd5tj9ga99hruOmgztq3unNQJCfRsAv/5Gq372c3ckO+yO8wXf2U/84f6Tuft9kb33fhcOz/Zmv4PbytawMMULuNPTCNLlFvUS/VglEtRmhqIFYPKQvLnTn//k73pxfgiGlF7EH9O8ppW088CZOwDo86h7mVKCqO56t8tn11hjwm81nywngIjqvWfC+Dv+6VvLWqLfGFBPCB9GDXFWN+VGGuAu1qa525ZPRWt7pzVFmDRB51UWfm0PXGjTy0WSNwDen/9mKwzimcmKRTeNxVYl/Tfwk9lATNYd+XLfGMO6u5z3eQKoOzJbj0Xo+oezt6rvXWcPuORuXVHXot3dozsayYae9XkKf65xqNVupT/lE45RuWdDBF7JncnGNunyylv36vzz6+vOXW++TfVdNNjqmLqY3zW+llqUBhfYtWXbfNwHAd24GIenS0ulLiZhf94osW6A7OTAGF1OpDxriNsnGdZUFEAbGalSiHoOMeOLk/RjNOtrM77yxnGT8W1GLBDZVzKCNPOZzHZv69A7ITa/qMLoa0er4zL44Rvd+AquNmbPGs6d1wwOEKAoWCHvy/lzW/aG6krfrZLLPP4kOaEe4ZkY3jmi89G1jkg1ZdvcP/Vp25tyj/KzgJLsF8O3Q/6XBueyvvvDb+TBEmsM72+XkTl4dmOHtuAXegxvwj+7SpBpemun0nlp88+wX6y52LVv84Pqdg8nomzkQ4E6GGBKD1VD4HU3t8dAb6uz/YBcGDC3+05HuOloWH+jNfouGLYeXw9VV/DNegfg3P/fmowmI3acvstz//bzIhn3tw7VIuD8/R1jbyogQMiYVpS6AN+ZkCauv1g20TemBLXxKBhaOQeY9YP7N1nzOYgBN+7i7lncFxJTn4VmVXivAWeuQjPSEZWjXIFlscTs2yLz+W9s5pQWdbqfUn79YVQfIBfBmX92H2+rjlkyPfjgN06bOvFonkBaQ59gdbjTEo67MN+Sie31I2//xe3P/5cWV1i+KNkUDLyu3GV6FKGkhsp71jn9lln3zN2bZS45H7XVRorMA8V08Q341YP1yNnlpSdW/5GaIeCk4gKgad2nlul1tSpJzHUbgw0Ha6547r0a9XR/ev2Sm/JSbfcQ6vew8Lud01ZW2ar9aW5AKdqisQzQuaKEERbqpOcSfJ+8zzr1NucZ8HtmzF4Ks+b5hkPvF+f/yieyet/9ytgBQtTgBbsJJa489/KH8ycUHH5kZrhz7Wt5U/zqcNGNopmervLDOL3sAbACajqnhe6GvBqeUf3Hcqj7P6+9P/8wPzz0m/debZMNg/eSr25PJl3EyzZ1cT3dlUF1/J0VnXFp6ZgU62MZGQhu5wmElscKnY3NMB/whL6tlXuT/g5/90aOfNsb08aLygP/zeFEN+rkOln9d+Rt//tyB+WJmplcDyoADsXjK0xqOqqrfW8WPGw8rxaN2zo4AmLJqpsemrJrf+5bcwVpkJCAnue5QJxRBp/M5j/i47y6lU+U4OY/0qBxsIyqt626X7Fb58spKdvDAgczlpCvmVV1t6k9j6fc2dKnNk8uIR7waV6xTNO9T9Ac/duD1q+vZzzAJLbiOq+YCBJ/6WH6+/e4s++APAK5sFmomnj0b8ImuZ5CneJFM+c2aNOwrLvR1DMbdKBXb6dUy9EW2Cei58EluzNhUt2WKbVNZx1fqFC2+VtkhnlAIbLdKTte3/mOfzF77y/8335tO9vgdd2VPPLSYT975gWfuYNvgt4FVhwSyALOwzZKOiFNBEaRybot5zYDH/kAxOyOIKtVtxakx1Rm+c1+YLbOnf/otB8+K91qSfnTlqfb6SX4q82va7fwU//RnLbJFqQBUyuPc+qPfpm7xOU2H0WgMkjNaXfcxiQbPw525sw8tvuHueK+kq0j5C9QDV3xxXqDj3JFh6WjKz5zNZp9avmRTf4tf4OWwKfuHdohnj4Mh00Zfm6TK8vKlViummQEspY4EYjPIUB70g6zaFoCi4SDPl6G7nOjS53r7yKk8Xm+3tdDlbUgjfym7fLHV6s7yRjB2SdblPBfNzhDC1v7MoerSpUtT/f2ZhWo4uGTfhwWMGQ6WN3033C6pkL7RkHFgv2wwtdh94mSwz/vfileyov/GQwuvefJ89lFqVwdhhQ7xlHQqy37y+7Lse76BSSuawaRVlmgT1naAoX7VeTywZl08Sk2665/m8EiP+PQRvKBKSC7vudM9n+rZQlY8sdx2Zdd1Lbn6U5Kdrq8mTf3RrOu3pLUM7fwC5FUA1n+UQUvVppOPFSLnVf74kYRszPVSP/rTcqwuoZa3pU+69GtKviQOy/QZsHT99AdW7iXQ/RaVN29g8iXcEG2i28BQfM2ktd3Qq9CYpau8GgDS5/i+PM2yMFsMW3Z0tb/5zgnpxPnVCWw6jp9OxvroRyYL1S16Va563QdGhfZAC+CsNxzQxb2CyVl0rLItTVNQlOz8sV5Elnnb6v9cfMsx/jWl9GLwgH2ZXgwD3ckx3n//h9t3ff1/PLNc9Do8dszWBvwzUjp6lDU4Fc5nc/wCoeizsyWbszTdHM1mZ89VFzn0se/8tcxw7UI+B5BxRFYp+dnZo8icz4foEIv4VY5z51H7cOYobRl9Zei/YNPikewIdmlykC1HTc/a4LzZ6bokq2T1uSNVdt6M36DRr4/DiPUHO61z1PP/kewC/4UkT3g52Cx/aGz9AbqDY4xV9kjuN/7lwdecvdz5TRq3BmFZy6QdHzr4rd+VXXrzf54t2A5ozaAkecmuAPzHiHjl7SlN5cBWz6QSCDSpV1J7XDZi9GG6ayXOW1eNS+3hStV20Gh8Ulozxvyu2vu0zk0g6HF9WuY2vbUe1+H21CKmLm5zW6bytRmuVwLNsttpyhr8PgxFt8v1vmSXFwgrQFafAugjRL7aBb1OFK1IejpGKa7Hs8CzfV0j6eCol7u/un4N6SceuPT1PDv9emls5UV97nkbvTqYVQerg2wGhOH3raVSfMrVtydsMdCTbfgAOVlY8LOW6OKsWOnwm4eSc2M39G7wikf6BKTqO0S6waZOh6Ptpnr4nU5ekXd+t1Nyoe9gVbA72OU8oUVnv/JL4mZrbUvW//9+7i29Pwvt6fOF7AH7kr2QB7ibY1vkNwuydy/1ns7mO3PzJ/iH/JR1t7aq6WUjeVtMv7xyorqF55RPPfVUdguFZb2Tm51tOW+W3ZKtrZ7N5+Y1jaqd05Oz2/hnejYTzXWFdm4CrM8TtD0FvxLKSa5jbfUWdD1VLa/eUh2afyoX/0ZfTKzQ11eeyg8eaOWDtTyfmdMSdVl1W+2WyqaMD2+TrHRPshOsHp5tiVfj8P68/+ATp5+oNF4l8Sr9ym+Ov2J5pfsxigGE1ZN7T2Umff0UohLz6hc/9dH89zkv+r+eYU7VpC/LtFyq8gHWJU5yH6DJzCyG5qokb4No6q8ZxC8dnrzo7N4+rYuRiuoGJuSS2dRO/YoEg/oxcPRG74y66/Am5VGz6Zct/g1Tf0qb5Oo+xKd29ad26zNmpLyVLumzZMKUPKfIxkF+VRNwVTRLrshWev13gsX6NPdxAmD9sIdWI9S/ckXHslt1ydZ2WQT8U+9f/kYw76us320+FHUih7RS2HXsUTL/FNU1OnkHgbLyUA+Rs8oxj+q2tI1dMR396NG6tjZJBT2iYavpDVGt+gg06fEU6xEtRMnSfyW/eENUrHFsLG1LTrp52P2p9/zI3B+ontIL1wP1l/mFO8C9GNni4mIr+/J3dZ55Mssvn9cEsZQdOdTJLyxPbFLIstOYsZSdvut0tvTokpl08OjpqjM50xJPgvHDvAAAQABJREFU4D1V86r9NLwcan/hDLpOZReWl2qeDd4jh0Jblp2h/RTtZ/LV5XY+f+m2Krsj0IKODDuWKvXtSTaoz0nnlMUNw/NPtEfZkLLzLGWy7/L5pfzIodPIZ6bfxyNdsm3hyKlq6VGinktn8gsLm+3XeFcvdfJTdzBJ0w+7shnrEmMMY3NbLl3I8l/96Pgrl5cNhIlfG6negMUkdfHY4eE3fPzX+u+k/D382QTOZJUtEXHpl3j0ysvtAPBth5jso81XrlG8SpJV8rrINWkKWCqILsC4GlhKj1KtelrZ1Ac6vC/vRx3GtKkNNd34nJlG6Yvt8LqB/1Q46LS+a5pUqOjjcbs2G0w7jLLHuxSf1et82iAeaLJFSWX+t1STDICn/XhbLedjlpDkzg+zV/7mv1o9DebcLVZFmg6Atahl/uxXlZJwl/vCKUj682C1CdgC+PJlsMVvUaUXIDZQjUcuno2kduwzsA38DM9WsQMYi9N51L+S2aItz+yENkJNY/ymS89/NR6lrfqXvHh93MHmemx5dq6cO/A7P//GnDe0U3ohemDzN/CFOMI9GBMAXC6+Ph+9/y358DQ3/qez05MzyyxQ33Y6/D3+Ccsf/0N+COi2Z4rV7HQ5/PQnyjPLp4y++tlTk95tGXSOW8zWSpWzRz9D+3JxZvkzRe/xZ8iXC+ldMBl4509NVuc5zOqzT3GgVWa8L/ny2yZnFj5jbdhRPv6HnyhWP6sDr9ZKdlGXj4+y4uFHM/SfNn3DflY+ef4zFcvBE+k+ePQLlfruPX66UJvkJN97PCsWTp0qTn/56VJtGTqwYyx9ZvOrTiGvfjbsl81HVp8yPxy7NasWljOzX7qQn0hW9kEfv/1bup841Mv+Gpdqib/NaTrRl3/vdX/jLx/RThslTeT1o7TsJTz31WYhTfqKhv8DW24eeSZEaxL3PxOsZZtAEPMIGFT3XHIGKCJESTqmemIF8Jh9tRLnkbj0iKyPqToKpr+WE93UxTzQpjw1H9lG/1YJOmN51zPtDILbIxEl8UhGf5YoGA+5A62YXE5R7zku9jm9byZ6yEKZytTOWkbtljZ1Ekif+OT6d/JM9A5e5ZkQ4NqvXbKkK4gdU4HGT16zRgs3513oN0UUgLNhmqLorATzClDF73YEWbAOHn7CJOdHv5Bn7Zg/tSNHWW38nInxlPx8iev0dgYJTX/wcwq6+pFdWuQWr3QZPNIum8wW+sFgbgHFA91ttlz91XabHRzdjmbZIN28kE9N9mmcWiGnzcZpH0daayvfsfiBamOHZ3Bb+nyBeGD6b+4FMp59NowqX1zM8ocfzvJXv9rmqal9W9HU2KQ/zA+fvprz+JyOvur++8MttXSK7kpVf+ihh1of//h9xbvfHeje7rxux0PZQ60TD5+1uVH6peNd78oqyXkeZD9Cy/2Zyzkt2OS2fQQb7s8+8pGslG3idTtdzm3MsnfTz7uq17++Dgsy6Q/po4/efycHOPy/1E4bRVhLBMxd4gP/w+uzt4n2n31v9iCdfa8GLaM9d+/qpw/1g/LaFPRSHsnP18+Jp15yNHBBcgGLqkqxTtEMMNVe8xkTZbUxYU7ljM6H5OPkEarkxR+nWGdcFo/0i30ruhplcxydO+8VA6ChqUP6XYf3Y7RAno7Bbfc25WvAzDI3OWKSbw/0gx3qXzTleg1JSf0quZ822VF3/K//7eqPP/l0dhYc5VApoleLOGUdF19RpiJE9jgDqGAfw9bu5ymd4zAEd5ytDoDZxid+QktnUul3O03WDKjL9MAvgNW6abAol+iz7gPTMYAt+yYrQfpWwibe2w22gZnWn76V3Awq7sVmRddBr233lw77epvtG3pNG+EyUbFpNv2KgVQLeehL46FbbSZro4w9j2x9+zc/96O7/76zmZg+9swD9T+RPesvdbQrHmB6Yo64UrXTPb+Sgymz/g64vPN63pTZih7TVFZq6hPN+TwXrZG+oTrNpquPM52dthhjRFS8ln01n5ek89N/VX0I8Pk+SdUdbVJwlCfJm05fqlvPIK1dutoAdIRDJrSTV/LutGZZYt6msrc7qHij80zbaznVlabtNYPX1eY8VqbiEabqSs5bi075Rd8EjrWs2VYLuawpqj+8P29zftWvaINm9LpzPfe9yOtgI+I+9R2fGS31Lq/y0wDwVGctbwwQp3Qxkh76k+HbvvTU5BkAh5/BBPPQjx+m78uGTVa2jmv84rMCH9gRd7ttu3BOGIx2QLNtQO1A7/o297mh19u9L9Vlk+uxTuuP0MZvf1N3i4lmsREUFQ1iAOpawL7g2sS1oZPgmw1ZQVo2yh/eN/+i/uxn33rgUy6d8pvfA/a1vPmH8WIfgYNd0w9O97zZrrra4nYve96U2Yoe01Ru1l2H0z13epT/Ub5EQPA6plnlCg5ely3pEPsgo8nUZ90pGMKmWVl/Pt973XMBrmR13OLnWaL+AkvUWkIVsLgM4pZcJu5HNCWBpP2pbJQNedfjct5ubJsqyMDkJOVMwtOkov5iPV52pqYNoosmIWVM2tOkoleNpa64DmdU2xUJopacdUKWdjXrtaRj3MDEP9ggdS6rPC6rYnUn1u2qasxEkXqSUPCTlrZMDOjokmyU87aWd3XS1AQ79KOetswrPsmJpjaV9ad2INB4nA6e1TztsLQsfpZ7Az8ZMupTufWv5ev6L+gL/Ze6PYAHCdPvfXo/pgc5/IFdhenIW21+XCzYJTnXK10c2WH2S25Stusx88vadd+cDFa4PdZXK3v1T7535StwXUovEA+wVSWl5IF95oFPAsL3VgLh+7LPUo6SIhkDGmiaNT0ZoFEXySM7tXn9JE/RTvCnKE5LqHqd5kl26Wr2V1ucHFBcvfcnHm+L+b0P53O5mEflmC7epq64/WqyrsvlXZfRayWxb5p6xS+AvhqP9y9Z8WpVQaCrJWfJuU7lskMpLls9Iji/03WN7K/T0rNTgY89mCVKFCC2FC2GyJHXhqiDVnrvO6gh8mUMtlzN94FlY38tSbGnEm/2tigrQja9JqfDOmznMbqkx+pkjEeryEG3fKMke+C3oVnZhskRdDxelke06mzL3+iMZNSf/EU/WksPyvRznx75Oq/65XmvRcXqTzuilegLzA22xHJqM9l2ds9PPrB6ZzGce+gf/HjO7WRKN7MHEgDfzFfvhWy7QDjLPtQcogDTwVbAoClOs6QmJwPeqOyTnefSdZj3VPXHRGfPifUc03UoItYxjDo56xBL1WrjiERL3qfzxrkYrH/lxr3xYbZtQRdHk3dDKpS83XU025t152/Sm3Xp0/g9xfpV1i8ZKQ/LtsGv+oEGibgvY5lI1RU83kecG/BKl4h1NKnVWKJFItQC8CXq1dqrLdGKySJTjp5p2zK1AlHZL4xWUXysjxiasXEK02ogrjPTEHSI35L6crt11BYvFIKI9ZtJOucGLQSu9kwYRGTYvK8r3S6vZXJFt9Zf3UOd6Tkyz6U3LVMjO7UPObrGZj1b5h3jYLONxjRInpuOcLY0/YgoYG6zlF2x/E3q592Vb/+xB575i194y7HP1N2m7Cb0QALgm/CiJZMDKExBRJMlU5qDoPyzFVDEfhN4LxDN+SRsOR8s+2UDIuNLALFoAuFjgE/zTGTrI1ZI2XXF5K1ocfu1lLfTEdNV1kwd51vpdp64zfXo3V6tDug57xwzg56Ve3KeZr6Vvk0yCPiNkeh+XVwPwMkqNFEw+FNNcH5bICwhQV44OKMlwCoAQxJLu4owBX78Ulgo8z2wV4dKfgfUnrPqcA2AXMApvNTGq1L8QLXgOjzD1SuCNejpmSuQb3q1XIwBAlZuBFjLlikCdX7dRCAvfXnbDtlolRMicfpCnH3ZWMVJOnyiH7BWKM/gOBYryHB5iqCDLWXSwuqLbhy00VsHe2jsYX+Won31BBuHygHm2C9L9Rq0cFwy8nun6r7ix/7hxdtnur3P7tT516hNaQ89kAB4D52dutoBD2h9ThNUI1nEwqRlM2TcFiFEVDSOJq+AVn/arKWd1Mr1pxQDsGiKDuMzpqVbSTqb/VjDNXw8XzlX7ePx3Olx3mzTTYzGo5sOAbCM1yEnWmp+vsnw0x2CEq9brnqkmLdveM6pl2+0DtwB6wKQcT05V1ygY9EfAKvtwFin3xGqOsIwIRGgChaLt8LoHIjNtd6rFtrLdilANggEXwWQ9GXwtwGyQKGAGohTfyz7WmKrNVoBdh1UxbtGBtZhQ5WWxHVDYPbBz0NsdBqjmuy0LIwCKQFni3LJFblKh76nROGhHYtBeV6p0kBlKL/3hC0as5asQz/k0GQUi97KjF4UoDXjREFvOJzc+473XX4Fg/3cXP/i+cU3v0QviKV0E3ggAfBNcJGSiRseqAgUNEF5mgIvU5TKWyWRNYPFE/9WfKKJV1Gv/pS0ThmrFVAtcdKTdGl52nlneT7qMtfSjymPPtzGiLRtscnbrG8rGDW4357kiAeLuGibYQxaeu+DBdeaNNZm/34dBLh6tqlcf0rKVHaedqvL81/2WQFSsBLYsuoL5BmsGje4CWTaGRparQWYFDAqsOyArroRCsvARJe0ESUC0GB6W8u8lZ3cFc4G10PhikCXtWbAUFGnwBLgq0ZE3q2c31NShImUImrrxwBXY2CDFNGuwL3Fa8Vl2QF89dpTwc90VhUnU2qUtmytyFZYqiS7J3yBpFcYbi9TaenZHnALabWbWm3BHmSJuBmC+GmTnzSOQFO/uDrcYOAExms3JQXmsZzeyvswvGZ1cCj7iQfWzuPH88Ph8PzqZw9d/pVfyfnWprQfPZAAeD9elWTTVT0QT+AqK2mi13JhM3l7k75dvVY3bZ4+A4aiNoHU7bzqpKVanb6lSFkbuug+e9lxwKv+F6V+tWtY/E2AmiqvC8/aDkM8DtkRyzRtltq4ve7GfgxBu8HF7/q0sUrL8Yp4NdamLgNKiE2661S+VZvrV+5lB13Pja6HvaypApI84yWipWYgJ8joCPBE7xDr6c7LwJfrPAnHOHI4q9oFomZHPrGlYSGggFTLxnppN5RVr78nwjw00q+1gWC0ICB5+oIs/bU3anndiXXG8HOBwTMAGxmdWS3AbgPu2GdJdJV5CGx6+OFELVV3OtruLeCnj1o/dnPzYRdramNtk9kmwNVZIiw20wf2Sq8GNpEdrAOw8o0CC575qc8K+2nUg+zDLFsvMPa7F15zKX/7L1xazjudMc693O1MBsWoO2gdHaz//BtPpBO25LAbmOrp4gZakLpOHniOHtg0gdeymsyd/hzVXRO7pj1P+sEBbeRSUiSmwyn07Dj+7WG9d2wHVjAlCuT4DWdbstb7szoTOU6uW7Onlze1N4jb8dnsWwtKRM9ydZMw1PIyuSZ5PdeVDZ58HF5v5g6eMd38jK6GWVMWvxbxDZFknC5GtRlNq79Vf1yM9SxU4MfzTcCGZ6kEhlrphbc10IEXOcuuZTjoIgCu7UQWkMIjwESOVVrAtxwK6ADRPo+Vhy1+PCF0KUBjxmMrF9qJF8s2uESUim+UtKzL42j6Qr/hKHKSNd9N8g7L3OpzhFxP0TL6dDNQsnTeAYwFrMEr0sNKcg20haJ7/V4D/PhAwy6LsQBeyWyzflVWt66HU9h55os/0MXqs43HInH4eFOJFej+SG6aDMFokoN7Gz9KDmUt+oHemuM9J+TzhaLki8jNwOTiTP4Tv7hO3F5c6M20znZnZp9ZfEOuI1ZS2kMPJADeQ2enrq7fAwIRZp5NyQABiib1OGlWclbnaQJKzNOUVV3yBhSuqKapTUnz8yHNoTWoOdtxXm3SSuM6E+CanrECEvqNOf3gvSJoT9p1reQ/8ecg7nq2ss/bguTGp9MVlUuvR1XSIdBXlKul8u2Sy8ftPvbYDgPSiCluU1mp6WfVY9r0emj5NB+VFsWVY373Xgu3+DzgEte0qrqsM7Myq8iR7U9spiJq7HRmWDoHLG11GmADiSRTokM/LWTPXieDrN3tmBukR7pt3xOrv15nHxfL1brMHYB4wHdLz2uFs1pT7tjaMv21OrwArZssbaQSuGN0PqnLGMx6dAc57G+FkWltGWOnYxkbyhMV8z0QyuY8POY3h9URMXUX32ggNLfGQLQi+w5vM2/4QwE436ew2Qw+bOCeRX7Ar8C6PYcW0NPnWOPQDYhuTiSE3VR0xofdgOiOQjLDMTc2rc5CuVocGgxXXvZj/+DCo7/wd448ioUp7ZEHEgDvkaNTNzvjAS35Kflk7gAhmk/qKitpIvfk/F73POZxmvKYvpVsDDqxnJe1Qes2zqj2pEhUv4ergyw86XUfHQzSTBrjcSJVRaeyQ32JV+cvO6ja5loatLN3HlC9JepLMtIxx3NsbajSMvhWp4M1+92yXjsi9of43C7lcVtcNj4Ifl38WnmudszT9mYeZBKKRr5Rm4BxMp7YdqYu6DqmHdjKQGT6HLNkTqTHsmsPMBtDb3GaR07kx3Yte4La7XKgOSBdKLJuA1Z0MCaXjUJGQMiAXtG1ASH8SsgAn52yp8fEJMBXh29UbV4D1mhbtkw9aXVn+iVo12IA9jC30+20BIq6x+HGrBrDq3IBf7sbHmYQr0LTtEsrvxiiKJkyQ+2UnTbHTNMGnSCeiFv3EdxwaGzcoLEZq5KmXGPoGF/I5ZcZ8wE+Y7w9e8ZMF3xxeeStDdkCWoG3+Uv9y29Vu1+2ifglLzvZxHXq7b+wcvjQ5fmHFxdtvRtqSrvpgQTAu+ndpHvHPaAg11ZwNTVqElUPfMSTukh1s4q7kqzf56BZgBzvmpaootK7j4Tdx1oiFsgKWAWying8qajf4l0hslXS+FlytdwAtvGvWDu2413bJvQ8PyIzrtCwXZvfsNg1QUrjMSSzj1pNfYFabKcCCLVXCaAi+mOcwqUs77I7WOu03aJi51vRHwNIXQOSlpYVukAGOgDvrBiPsz718WQMjHVZVYW33QXV4QBkOwV6gRj05S3JwS/EKfi97Ha/m09G46rbhQaxbMFTdQF+6sgLeCWiwLULxpfo1TPgvOyyA4uxCRT11hG82MniNMPV0i9tuk4Fshl22TUzUIaGHerfaIq00RGAWNucQXlk2Y5NuM76vOJhYFdjalVjxoQPGE6BvS1MVK4xj7BXgb9dExmMI1vQFQV3kAtbwSFXRNY2fg4rQX9VyNgxYNylTB9ZMXNp5sI9i4sf/4vFxdcp5k9pFz3Q+Ke7iz0l1ckDO+EBZhjFJTaX20eo26Rf19WNTUQ70d8u61BErD/9nu7VkgBVPL4CcDXe/dKma6Lr4DY7MNu1qS9Qu8+9xqQzYcWU9107LJkCKhVrBfr9AaEUB4OTgGhWUcG+kZ5SCmYmIyJeCERz2hzFbmRWngmAyxGrwYBvMSJ6FBgD78YH0rFQ3apGRIF8fYCWTg95jKJv5EJfkmFLdt7pcTbmaMxKLhzQ2EPNwvRYv1fIaq8WqdGP3mLcAdtAQrvLCIPCPH5CCaBEtpwAatiTV2PhbdbhxkImyzFtdOimq0toPS7DeErZjRx8tGmzl+zhdqRHPwLMCY99+Z7rJiFvYx/tkiXpZiHrz1Afj7g/CTr1bpXGPxmNGAvjpW5L3FqRLse2JK/+GLP5VTydTqe7NvfaW+E8I8Up7Z4HEgDvnm+T5l3ywKaJnD6muBvmv13q9cardSC78ZY8NwvsevlFqnNdKisKRdrrHIzc5RCNca7gTAlwDEAHWmnDsULj0WTEGzcBdAVGgC2cAk4efbKhmOeqFVEtADYCbAVcgBrgB2wZ+AGrdDs2oArgzVNb65BosD2ijSi5DtcFZoAw53f0APFVgS3L/USiAKDAjaX/qhwGEO4Sshso2+0Gz3OJgvUIVsAmyNXNRVnMsYw9YgE59CkdgyFL1JYHwFS7ngMH23VwFjckqNCz5dGkC29PNwtyD0H8iDER/nIjAjybj0THR1mXHX+DgdvGvYFuQnh/mr8gjC/thgPHBt+apEXQZmNrnk1fq8ff9t7H1t739jt46S6l3fJAAuDd8mzSu3seYBoJT+ci8KW3enbZvX6T5mv2QHwtrFwTFLx6m3Le5CUC5j9FwKzdahOalmgBQluO9g4FRmxS5qwrgElLpkUA4qwnLTwZHg4BLO3UYil1AuiFyBnsrYA1MJ7noBZBAszqYzQa6skqz2oFcoBYHQEboLPSULBBmE3PPDUdEj3y9LgNoNETEafeDLLl4y5bqDlCJF9nm7n0Z6Muj1EJTAHe0WhUtNs9dAN2RNvQWdYmcKevDnRbGgYQpUt7qNnJzEAARPrQy8jSVxEBM2YiXqJm7AUcaa6XlzFROosi2F9wY6IlZd53ahVD+sDOTDcoE0W/RMZE0NyWmO/k0xH/tfGhbnqCTsaEb+iTp8PDCs9kM+XJkx/+cHXp9a+3rWMSS2mHPZAAeIcdmtTtrgc03erZok1UlFVPaX95QEGkonVdG4+5dM1E8BsnWay2iqCTyHTC499qItDJe2x4ZrVZO7M6faQA1o5QFvjQ7xWRWl12J4O/ABuxph6XAnh6MSjvsfw8tH7bnTlO6xBgEWXm85w4PdQuY86rEEbRLTvThkSg2Jn3QOQCMLLfL4KfTcRVnwNJ2JtOlDpiWVfPByr4AbJ+6Jdn9digSBT4EohraZcAW79NzD4sLTsjIQ8A3kar7NUqnk3nY72ShB0hbKU/dIU+YCfJbklqDLbkjJ42S8vqn0M/CPTnUD1mvN2y2x3xehY7sLUEj5+QVeyObAB0bQNrdUY6I0zvB1ddjRX72I9QDblQ3a7OGwWhkeHuJmfXuOnSw992Z1h98vExb7dnT/GX0i54IAHwLjh1r1V+7pHqXnZvHL7n7vyhve57r/uzGZhObaWwrijThOVte21T6m+zB3zzlVMNfFWpL5CgwW+iFPCyCWmiTWWlvcsFgOZ9+41CPTqdFIAqO3knkx4R7BCQ6Vfj0dA0CdjYbQygIWKPSgWOQBsxZAdeIl7jLyYD8qxiZRZ9OjBKxgwBcvWpYzjD7meOuxIqarUZgOzDOwwgC3jrPbNWV7bRH0Ltbh8e3TAA7NgnUFMfZdln17T6GfIsFSybzOj1Ke4a9C74EDrATZlXmoy/32enNsg6tj4EvlneZ3c1VmXVYJDxWNzGKh1mHDavDwdlB3ox3vBD1tKOb+xUmE6SHRqj/IN/9c+DjXt92+gnP9rNiG4gkOngU4u4ucehnvdn+3azoT7H2fDg295bLb/v7Xn9wpw0pbRTHkgAvFOevAF6/uKR6jT/PB9kU8l9+lf62UerJV72fx1AvHQDzNmTLh1op5M6vYoWppg9MSF18iweiK+FrlNcd9EpDUjiOCfWlGdaEwMsQZ82/Wb5+mSogzKqcU44OuTdVoT1DFU7htrdGR0UmVeAMdEfYMd7ueS8MWxdVAWACYiNh4O8c4CIk81b4xn0WGxJhf9ZqSb2luzAZNtqHwwKwuNsvBbhjdHXASpOXubExxYPmlutdUL0GX71sMdzXWwA2JUPUNzi5yWqNsA7GrD/eNDqTAibZYssQ1eHcbG9WfL2HFi3AbzXzFjBXHQTIcMIgFLWdvhgZ7/qdZAjWAWI6aPHjuuhwe2A19M6B9arDmd2yAczspd/FbppGbO03e4SGfPOL9BtY5CtelguvcZJeYCcbMsGZbZSDOwa4OqW9HXbq3pzPXIItZR2xAMJgHfEjXuvRFEvs83H+ad6WMt9ultlsjvNxo8HseZ1e2/R3vWoydsAmJz/QzSFD1LaHx7QpdB1UXKgnV6zQJ5+8noqMSvvo4IRPeZ4PRatql6rNw/OTHo8N13PZ9l4NOn1eeV2negRVOixoiyQHmmpt8jFO57M0rbGyu9stW5QsabXmfI52jh+hJelFXUSkQLsHd5smnBghn5NATxl2XqOaBmhEb9hAKSpv4xVa+mZndWRZzyOZu25rNZbq6M11plnbenabLbgmc1RrTVecZrlgTD/FrtrVTGiTv88PS168+G3EUwfutdH2s4u3YyL8cm+4WStGo7oiwe53XLNvs2deRhIvJHLoNdaQ8YoHFSjnufOzvb0dlTW4/UjNj5XPYm31nMO8jK5slznHWgtu/P8m1z9aJzd3ho+mK0KDGrZ+NBh45CfeQJAf+1AZ3PcOvcAw86PPFD13/8Wwv2UdtQDCYB31J17o+wRIl/2QP4/gNBh+5dKtwIkA6Usu+/zj1X3veKO/KG9sWbve9E46xsOzSobs72KIujPHUPxeaWmjmY9VrpdW0yPy8g6IHkeq5uWGzKiX5V/KtgobKGnwbGjVXXXTLpmbrtyS9BmOnY48XgeKFm1l1Xnsvl59u3q0JEe4MESbTVggzMA2l7t87y1pKnPcm6Zgw0Ec/2szc5nAsKqN+rnIwC6Db6NCCOLAl0K8VZDVDyLPlRkHQ7e6uRz9LeWzUzmWN8uOZ6zry6zfHW9tTIoq3ktOQNE6lv0XpcbgdbshFOf9e3LRmy04keQWl2eXas9RKxlNq/v3YQol3wMyB8Et8eDtXzUm6vQl6E7P8yQAMx8ZbCG3jzvjgmYOaZsRN7r9vNVFDJcbfPOwGpAfV03FgUHdGbj7gz8RKWMd8y4xcj4s0G+xtGj8zmHg2BQGG+Jj4qcGxNsbfPjjKPxCuNi3AX94qcZ7j448sNskZ6RTg7Re2HFGrYxFmhF3jdbJpMzMikBME7YyZQAeCe9uUe6OLnmXfz7Pu3d1cBrAGyTW57dS9tD3v5Cy30C9wk9Hp9N9BA0DyptxRPT4rKA27BKwq4g0uG8ypUcVKwCLa437XB9rkPtSlfI1HpCo31OP0yWmuvYZK8Zrkb+ItslvAXJdKhNyW3ZpA/6dJzGpI+QpvRGP2pVW9wel32s3p/a2KhbtSdaEAVIiND6PPcdXDKTBRIyneVRJDhbW6DFYRhVX2/d6Od0wRoCTTvAmO1aetZZFOtBu3Rp5CUrxYo2RyMCXvRpwhtMZrGcEyrY5wtw2yjsrGx42J5UlmvYAPANATodgTnbO1CN1qv8MjLDUVUd5JhRglTpYF+T7Aage9iCvMahpLps0a8d9Hqc6YxOXRcC3eoy49EY2mOiUO2QBky1wGu2oXcWWd4iMrvkgxE28Wzb+u739AOE6IBPfVw+C/RDm6WP0To3Kixt+3jHazP5/IGylI9kq3gGo8p4QVnzq05os4R/Pa1fLrKjx8pqcCmyZXK4vbhYtRYXtW6Q0k55IAHwTnlyj/R84YvVd/NP+fub3YV/roHKfPNVzfYXSl2zkjZgaWrWZpYwRW/UFRlzx28pbjP/SI4Wm9kCy5TP2tVQ63Z/NnWorjblXpYS5/M20UydOlSZyjRqj3R4W6zPdZkgH6rrMYMlU7rRn2hqj/u1QUJ3mnKlWG9Ma9LjusnVslMTKIhHf7U5YrP+XK/q1l7zel25ksv3211+hkE/ZwGQzCzo2GKeXV5iI1JVrQ0AKnLwinyhujy6mB0+nOeXAAvWRllpbbUEegcXyvIctNk+zzRn2EO9zHakvhaHLtnrPwLvCW1rK/ByFVTu82x0/mSen19eKOcGF/P8EK/tzrI9iT4Pn1zILtHJ3ALnJVNvty/WNvA8FVt0KpkGLptk90z/kulp55f4RoakV476gHW2cDhbA8n6sxoxx4PyDHeIDnZKZ06zdWRsHGKXxtOePcSBkpfkWh2iZXwztE00Dmj2SpN00EbAuok2nCyU873ldofXmvXzEGvjoPPQIU5T06tOaJ1n47N8GMYQ7JKPeJqVZQsXs4XZW20tQja021yT2palbIm1BT09T2mnPJAAeKc8uUd6AN8ftUlOk5/9E2Uy875VgDatO/0FlOuABI1bf/XUYaNzX3jebPO6t0sopk3LovPnYCk+pWeTE4906M9vDEyGussq15/zSUZpWqdNnTuP2lwWsiXxOq0mTeVjObVtxesy3h7XnRbrn+qoDfA+PBfZy01drk86PIlXvlVSmYXRojMsitW1sjp4jPOunzmXzcwd5ynwuXz5Qr3mCX04Osfi6fGqvHwu7wxb+cFZbsO0z3n2eLZ+6TyPSMtqSNCrX346Dm20ftZ67bEMvIInEMlZcc5G6D6Ibp5+5k8vldUMK9CF9jED2rLp4OzR6umlYEMxPN8aojfnbSBdmtHwRDZcO6dilmFTfulsNZjN8+UnRDiX9ed4u5dUnDhaDlbO0eHxKrt0Fp15fk5v+pBmsCVHzwA9ObYcmD2XnzP6cW2oZuH7bNYbMcbO8XJt9WzO6rXxLcM3zyB4pFxqTPLN8WN6Q+gc/2E3+kcAbAd59qsVkoOML/jg79yTqtE/Y1l++gQ2nctX1o+zh40QOjuRtY+ebxXns3LwxCSXT/TsvNfi9C783msdt15Y0GebmCJ528lm+tLH9XkgAfD1+W9PpfVsl0joPuuUf142+VEJMwJ1CtNb8D21bG878wndxs2HIuJphNgwxWZE+wgNU1l3GmQHGWuDzk7yK5LanM8bjZ9KmOqcupE7v6Z2gbL4XGaDK5SmbfV4ZJ7Jey5ClLbS06S5TuWbQI96kzdSvWWb2VMzNX3qslOdYojsVf9xcrv0BT7Q600uZ8ujI7eezueOZNVC9zjcZ7JHHsuyU3ecQuyMia4us//40Bl+mACQXW/nl9dvm16lI4fWWBc9Zcu4Yh4fOqMl3kwyYzZc9bunADb03KrWM9nckVOV3n7NWFO+fH4pP33X6ezShSxfoP9LF87knTn1JeuO6n6vopxfWF6qTt91Ilt69Hh2xOosnR/FXs6Hzm4NNkrlheVJdWS4Zv3rzIwLyyeqtfUlWk5np+/KkKdk+XHuB5aytfXTtBGdUl69pCfHgDDRquxc05jmlqgP8rP4Y+EOcB/bZeud92TV0qNL2HI6X4D3ImMdZbeVbtuRW8+YrjFysm5+AV2ksB1sKTt58nT2NLYcOXQCPjgmWXHsrqPoXIEH2+zB9vHCbQbKZZeQ1y6fdKV0/R54MczX1++lfaKBg97fZabwT0b/Cvh/U/I6+elNDS/Aik3q9YAdfAUyUxBgzOLZ6gsunphP7hGIK4luvkXW+KBZX1Husk43vkhnXFdZfMp96dz7Ub5V0rDsry54P84rXUreT6iFupfj3Pndjqac8zqf1z3//9l7t6DNrrPOb7+H79Bft6SWD5Jlt+yWEQZsAuYQMpUKg6DI3VRBLpiL3ODUVJiqHDCegA0zqahdSU0xwGBsEqaYUIOZS8/NzE2qElKgpIaBC4TNzFgmII9adlutk9XdUn/H95T/73nWf+/1vv12S5aF+/u69+r+9lrrWc9pPWvt59lr7cOLXfU/UuBU8s3TuNFU+lvLoezxoRx90uBs68Hc88356edfbSbPHT052z3dTC+dO3f00n3nJvcJdt+r5OcmV7740OHnX316cunVV2dXmivT8woZ/G0+B8256eZDetpYZXLTNA89NKFt9y+e1N+5KfDP6695tpk+98cKOK+I5qHzM+rIeuLZJwIn6RK2+0Xp8H3NZPM54Z1Pmbt/IbmSAz36Wh4ywEPmpT8+d3Tp1afUN2jOB/5zf/zk7KLqyEPXi83F6fkfSV67Xzw/uf87z03v303a7JP61pyfw4s25FjX1OX8dPe0+iZ5f9k8dIQs7HixeUL9fSHg98mOH9Lf5nNNyA47lT6jC/qDC2/6jz3gQxs0na7gPTn92387pmbTp7fGApzifToBFnjm8uIxPfHxh97erFVedYKqX3zk3YNHapw7pfynX1p8Vn35afcnJnCZxTj2d2lrkN/oJbWOXuVVGwXCysH45CTTkNdltxu/xg1CHeq2W8Hc5ty8LQ/4urJh5E41zHzctpqv6md88wC/5u268cxvlQ/wr2lXcx0ec5dUt422m0e+7xG5+QK3/JTNgkvv/eq4qgv4Tuvaa1hXzq1TveekfV1TpwzXEncZRhtwUkeXdY43bxssyoNLvFu1hhYlCuPCp+Pf6XDhwicHjz/+OD8n2KbUs62GDnW7Wy5caAb664SowbSZd3JMsz6vdYWmT2+FBaohfSvY9Tz+uizwzHOLP9QJ9hgnjRMnHHX+bgjMh839jzwyuGrcOyUnAKvfP13bwWXs4QBsGHZh5VXbhzZwSbZh1jrntK5e09HuumUBszzKJMsBxzqYLjESBx2Na7jpzb+mq8vGX+0L8BrPfMy3lmc8cpfN13XnpqNuXi6TX3qx62vNg7UTZjcfyMeNAvB3DS4ar897C9xNFli3Q3c39f9E9FWr3/Nyeo/ZyeEA+bMjs0Nc6sxW85Gl+h1S8VYo3aH/tU3qLq7aqA5wtb1sQ9PWbcDqOgG0TpZR5zW/gBcebJNHW82glIGv8qYJOH9OtS512e3BnwhXpRov9FG7ZZm/ZWAjJ8Oog1/zqdtor+uBJxncPHVb2+7+WMeqb4ndH3sL3F0WWHEpd1fnT0pv5QAfx7GtOsJVh+r2Av+Jk9K/b0RPnDmBghz/HQ6/MGgd/QrctluVY/sZbl6rcLfD3zhLMFUcU4JWdY9F11AoqnE0L/JadzCBwcNl58araRMrdfCFBu3636baVg60qzyQ5z4GfWFgmXX7Ep6k1LwsN+6ru9JqogJjh0J96i1wl1ugD8DHfAKw+tVTuR+xmqyk+LODtX+LB5Hk1Oz41f4Y941Ndyfm9H314Sn6iW0iQLjTxeHXTj8CRoE7IJm2DfCl3WzIzSPoVUcHobUXA7RHvaINmOrWS+iRat0Ncw5NrQdwYJZLvS6rKeQ6SIJbR2CvwKHzHKFMCtySL/GEhxIwdEFfyuAv/QlntY5d+EOpaKMcgABR61NvgbveAn0APuZTYKTVbwRc6Vn8VzhByuFsyVXBMVLH4VGmvX1qWuU7NdFPdTkSjj4LCaMaAaOAKTs56EIT9iptwIOmwI1vWsto6Y1QcrcbXNdDlhrI6zK4UZcO5FHXwTKdZ0tHbz7AY+hFa72M69x8qbsc9Ea4RQ4eOlTmW6kkcasn/UOOeRbakFeAS+3G6/PeAneZBfoAfIwH/Jkrce/3J8P5Fe9nJ+dcAbpNASvOrtA89tWX7rxVsJ23HTymMQxjxEqtWCWCB+1C8F9pChrb0W3UKZPq3OVsufFoOuc1fY0deuqAzvw5mS5yAaNdB8ONR+5VLmXr5dUp+E6rwdi4tLtsdOr+q9vNi3xJl2Ijt5u2xoG30VbzoDPQTPq8t8BdZoHKfd9lPT8B3R1NmsfkwfTxvVS23jo0jJYluOq0tX9NeXc4WZz4I6YIcxTnTeCJYqm73w4IdJgm28s5TMBxcpncOOZVR0q3mc55yFPFNObndnLDwLHe5ue2wC96BU+V3baubr7mg22qbgW7dQfzqtusew2jbPneHQAWuBRKYg7WFwYogR5BG4UsQ2d+gPWTt33qLXDXWqAPwMd46PU6azx8ZcdITnLdZTs0w5fwmuax515a/FwQ3gGH1qkXW9Al+g88nH4UuiAKeF0K8ooHNrMd6zzK8C98yfkzfgFne2lDnseilm2aGkYZfg5eNW/jmY6cBA7JMtwOjMBuO8CzTjW9ac0LPNhTNyzKwCvbgEeiLWS5zD3i8nBctBc4ZVJReYk38PjpWgp96i1wF1pg5RS9Cy1wTLt8ma3jQXPeTjMespKudpw4S7afyX0PmHKN77qc3+OXtZ2t5jsihTPXgf45WNAx4K7XOeX6D9xIFZy6bRdtYu565KoHT4QqUQ544UGZv8BRO2guk/vPtHVOud4urulqPMOBWZb5uk6bk9vqepSLnuZHDr0DKjjUIxXdKVuG6YyzmotkKdV12Jr1ElJf6S1wF1qgD8DHddD1sQkHXXKcmJ3XqsOjbly6s+rg1HZWH8D73ePa1TejF/YgYNB399f5aoCAf+AVBLdbru1Zw0F1PXIEkorMKBoGWOUa38HMMPBJlpW1jsb1Ol/CLbobZr6u13Qug0P7DbiV3jWuy+Q30BSY5ZlvjdeWhVvUhVWbaEc0f7V9W4S+0FvgLrNAH4CP6YDLQf0kXsqBlXxQRivK1MtfdEFl4wNn+zHaAWfbY899/eRvRa9dKaqPOHcH5LBHgdVlcMIWN2kDd127eThvAw12vUkK269pN+1NyJbAS7hELaWAVXyN4zyxumMNp1zX3dcO+8ZSjU+r684NW63HBUjR2Vw9l4PGwD7vLXAXW6APwMdw8J97eUHw5QdNM4iqEA5ddd/Xs/Nsc9qMVxx00FRl/Vja43qyWj/6eYJTuc9YO3x6476uwld7+s221/xuxYu2W7XXfL7h8kpguxW958c6XdbBbsXrjbahXvDW3CNv/wrcdfj1D2FhhT7drRboA/AxHHm9v3vDV6zsSCPQSOe67pVFtFVB2HW6GPgK6qfnJ/yp6LKy97DZmTs3vM/TAtjlW508N2vZ/fh8q0ehl3cSLNAH4OM4SvqKlYOnc9SMchSWlTYOi92y4I0cOClWxuQabS0gf+6kP5BVO3b657pzYH26/RZYHQ/qhkX59qvYa9Bb4LZaoA/At9X8Nwp/8criwwqY5x1s6zxWul7hijQCawmyEWwp017Y4uRcNpwgrP8fKSgnL6u2oKPPVV9PXmfuTI3r94X9MFrdUwfheBqrbujLvQXuMgv0AfiYDbgC5mOoROCsg68DaQtXIdqdr+DDwAG6vm8c9Ivmo8g46al+77QOxie9X3eC/l7hMt8Iwut2wtfB7oS+933oLfBGLdAH4DdqqW8RnhzWjywFVjwYSTkOKwKNChFUBaPZ+CC4HO8I0w6Ckj9ZWdrPstLOlpN5xBb8Oa1babmtz7+1FvC4lKmXc1QqtEHZDd9atXppvQWOnQX6AHzMhkSvGp13EHXwJNjis2ILmlx1nJnrxqvpaDecLroODPrhqDmRARjnTl9W0+v59NoWdXmVz1tdfzOy3gzNW623+b0ZXeqxYKza4VIDbYbVeJbX570F7iYLjO+mzp6Qvn7YwbLWd9URuh4rYSFSd2Bym3Pzoe77c4PFyQzA4c2ry0Y793Ds7uia3LahqS6vQX1LQW9G1puheUuVrpi9GV3YjeDiMGgZGKUbysDUVpoDZ/XwV19dPKYL0o/q9bmlV+f0GED8+lOdMy90URlPGQJ38lQxjPoSneqGmaa9YpByN7RV+HVbXVanrmrH6WOPPDS42PLsC70F1ligD8BrjHK7QFf0uUicEkG1DZQ4Kf3ZEZJ7BWwY+jrYGpfcf+AZ7oAtB3Hf7ernNyN31jRb+Fl1L1LYwPYxsLT12e2xQATfIrqde6rroi9im7J2Pt5syPgd7Om0+UP9FnYETNhB5zQvY675EOcG83tGxSmECKY6MkxrFOeg12XqbRLRujZg8HQO77qMsEle4D7S8uoLvQXWWKAPwGuMcttA4+Y8J6+dlvWIIKOKAypwys7rdtMa5rpxIcNhaJVyHthxTRc+deXsdGv04Gy+ODtsBu8aDEYPzOaz+69dX3zgbfcMWqccdsBmdCQOx7VHd49erIAZFw9HOxdlgrhtooaYl7cwyWzSfNj0gQa/Qke9nf8qm3/guS58Aj6JLOQJVqdVWM2nvsity5Zr3ZybL3XE6MLh/Jd0EfFd/SrYpunzNRboA/Aao9xOkE/wOImlSNSrs9wnODrSRt33gjnzoYtUCnVbwAsvyynYtzX7+//79QebycaDw8XkXbNF86BUf9dhs9iSA1VxtNCuQPhGqgvVAmyNbZvaMG7r89tiAeaWd3BWFfDDcmV6Nk9++eiH/sffenVrvnHP1X/4Xw9eMP5kpi/Bsa+rBG4ES/JShz8N5mO+gmbyvKirghlsOgfdlq8K6D8Tf3CAhyxy2pS3tKUMTiQXhGAcN/V5b4F1FugD8Dqr3EZYBEydvWy9OUiSc27HSV0KlO2Uoh24/lwOXGhqWtVhQpucyjWq3+p04VPPnD3aeud7x8Pmwfls8F714cH54Uz32hRym5G+d60QO2eDcTRnBTNXLwfzxVBhd6FVMH1klz7sEc6TCsl51vrjbbRAzMuV8ahhMW4MmXD2d2f/sYLdo4PJ7uKXfvPViS6xnh9vjF54/uXp+971TrknzQEPODk0BMLgJx4qtqmWYWDbDo2B5OJDvaaJAAu8IJKp2r5GxbnJeWl91JTlCg8YNEuyAPapt8AaC/QBeI1Rbhto2lxsNlI6jqZNKhOMgPFnB+GtscClrSXIgnnUcDscOZOLK+hvefXC7y62J7tXH2wGo4cXc+5vjx44bObbg/l8MZmrK0PFVfm3ocKv9Bo0etrGKda6w3k8BKM1viIybUIaKBJTwh4lh6a1S8cCcJ9ugwVigNbIreEeQ4Z+OGB8m8F8pNk/Hzw8nc4fvnK9+e4H3i4mDHJZ7fq+g+c1/IInOEqBCm6VjAso2hFc8TSN5w8BlnbTOShDz6rYCTqSL5SjP2pn1c6KGfrBQeL0x94CN7NAH4BvZpnbA78aJ65OXk58B1hU4cS2A7NzCHjxBHF1LhrawKvzuivmKX5P1PC3okzAbY4OHphPZt8+GzQPHO3uvlerVsXM4WIuHzuUB1VInUvXxXSuTJ4Kz7uYaSGhfLiIPce5orII1Actf9FrMNBiWIvg0FHHVccL3H0OnP5wrCzgeYtS9dwNuKaAkuCaIAOFvpy/2gXRkOaI59gy7tDrz2Pt9pjrmi/RDgI4+jOu8aKhgtOuWx4tntsD33CApex2Mzdf59Eu3Ja+bKG3dH2ht8CKBfoAvGKQ21m9//7B1dd2F1/QCfxhAmU4EClUB9c3oh/44ZRgUJJ5UaVtOmi+4LZvJv/Ep1957+Zw/HAzHj88ub77XgXPhXQfzhVUlS9wcGwcC6SdZRyt4uqimY8UlEMXDjzWnD6zrB5iZYwfk6bDuQpD7QDoKKxcCncEwSWqCav63EGXS5DUaK7fkAuArUgoQzu2dQoF3Q6wwjeOc+M6L+jtGMOGNisW9ULM7gdwskiVnIrETTfgADCeeRS1k6f5FaTAMSy5dfQFHjilrdWdOnqWRjLbL5pKGzDjaDpw2aU9EXC5/8BcISkyw6DwCpDoEk/gEnCB60It+ME3Vp8BrEjFY4kNFXSoeASo6KUs28lLoh2dW90BKIFrWurRLwHY2jkC0KfeArewQB+Ab2Gc29T0r3SSx0cyfGI752zHwfBVK2B2YtazDQ7hQRLqIvgkHIjIn7jn1Jt7R/HC7z6zffTqOx5VXHx4MRh+uxzoVryqoT1lpVi5KOiyol0stGc31DYzcRcnK1fLCoenqNJPgRdbz6IUOTQ4X+nK4lgBV88/i0I4sfs3mBG8ccxxLzj6YqeIcGwDMTD6S19JZDVe4AgY8MDIg+uhXAV3PfjBuyAiIwWVvNAAtzxQSdYFoaFbHBIviiDqz/gONKFrcNCh0AQPlam2qdAil3kQOqrRerS0BdbSlYL7GNUih8xw9Kp5FrJOYQHoo/HRP/SIadG1Rb/AhR9MtC2iecT+BsEXMKtSzSMNdSAAUYJ34ZWAlGWZxiUPspq2ELS4qsPLY1KjrtJTNx5sLKewTLOWfi+1wfRNROC/fHbxUdnogsjPyn4f+Y73DX7Psvr8zrNAH4CP2ZhOj5rf2NjSt5rL7wH7pLYTYGXshIOrU+0sWmdTvItxqcr3fEMn9YXPLO49WOx9u3zlt012B+cUTbVUGRE8SbF1qGLUQk8FTKmmZrlVnCZhV0kfSphrZRyIxQHGNqO3mt1XIcSWdPAoCyHpjzhxSy8NWztkmKcqykvB/Y+8tId9jCu80JV6oSGDVyirQ8BLG8AWD1rwONBOvbQbJ5oKXkFp5YkizaIG2ozbwldgwENGyaFZTciteVE2Hm3IaINfCKx0rpiVMW2JQW37XhjSV/NDCGDX21yFsIVzdFCZdtMUvnFBBlhGyW1ojT/XX9Y3+HMoCbgT/FqbF3jgA9cf7cgNmoouGtXmFE06BL8CpEyyPM4h6wQcGmC+N2x82t5M0odHHtdF5AXbSflvPPPM4l898sjg6pvh19Mcfwv0AfiYjVFsQ+8vPq04+ziqEXBbB8MZrrM+HOrK2c5JSyKnvaYxLHAWzWdPnxp8NpBvcSDoHg5f+9BwMT53ON99mO1krUp4AZenoDLoylEGC0EVlEMDeU7tJMqB5n1dcGPhJMfF+tf3stmejjZxAL8hMJP4mlHQZNBmRR0JnqUf7b3BbOkcJPXAoZCahR1QzM6zgNPRYidowK9S4BTEtr2qg1rjRL20V2yiGNcfCFB7OyYrSJBaB+egFLLALn2Psg9uN/1NVDB65IGrA3mtT00bOLQXyjYol7rpSnVJT3cEnNDPTITsQGY6BDCuyjT6mhC6DawKK191Ny/LyvB3ukAsxux2cG7ErkdhaFHYClkwjvNHuG5rZatAu21Yw6GN+VKAtj23U0juh+UY5jkGnFSyrLzOUYH2vD7eccG0Bf3sZKM5r/JbcrvodVTom2+DBfoAfBuM/noitT18Yf9g8SM63x8Dtz4pKbtOjhNZhwOsdUDCCbqmuSiSTwbBmsNnPrPYeq7Z+6Di6bcdDXYf5u6ctnwXw5EeR2bNlhcD8xIk9XBV8I2tQzlCr4RZvAx+8se2/ua5B0ffbTGoaX2dAxpp2zkcWvZFR1HzxlF52hlAnQbDwXugd0oC1UofT2255RvIQ7nk0XrkSkZwWsX5BtgvoZrPErBU3EbutE4P2tzxde3r2szbfOt6KU81xAeHiVCrUJdrcpfr3POR8RC7NsGDABW8dHBdX68KENjMIQg0vwLmQAcMvoy7YZT95SvK/Fk2QVnVSODQVifzAlaEt83UaXewpQFy4OZjenLgTtbNFwX5aINbb53PNpo/5KkI8wtZqmh1fV6UfQC+tflObGsfgI/p0B1sNf/F5kHzG7qC/2mrWJ/4dmZ2CuBQNo7rbb7Qa0dbzY+eGtx47/fCZ/bOHTazv/H8YPc9Wu2ICy6nOEPdw2XpC0AJ/8D92ShLXtRVEURoupkHDB3O3jt49z2nB49CCBJpiYkBhUM4TSEkfmK6PyuorVDzpZ0EfqTCsxVcgwtObSeaqbcKCid4CWaw738aBza03SrVOG2ZQpUMD3Be4HT9ENB6Rg4diDW88AIc+lAgOXeRekFawgNc5DKn6lTQA+Sy8xpv1Q6trkKqx5AAFfVCXOqQa9WbV100Qa8voPHswFICXid0AYVdkloOZQfDsNWadngt8as7pjJttkfwKu2hc1GipTdtyVtdqL+B9PSlxUck6zzdg8T0zDldoJ59Ayx6lBNqgT4AH9OBu38Q930+sr+/eEIO8nGdnOftEHCYkThjldrzXAWfvAHTASch2Ke3Ntne6u4lsdq9PH/1w8Px8HsnTbMdTy0LW7jF7WkZsphpSzD2houkEKft47yZWxxQbBnSEs9bJbXu6w15BisSehc92twrDPSNp1gTtXOcpY7g6EupRwag1qi0AbKsAooseFgHQWyjaKx4Gb5WppBrkdbJuOTItuOPdvNWzjZuTY9s5LX4Knu73XiQt6lUbEczs1zsafnuBzly41Uv5bBwGxXqZQyD3Q0BrxWeups26Kq2dUX0IrX8C8D1lpfmG8G3YBMqueKj3kKDjw70z+Va1wKOtgiQUAsIF2+fW0LQl/bahh6f4FXaLcPoaTDZE/YCAidZhgGhQ61Uot30qIvsx4NHRRNjB+8+AN/UbndCQx+Aj/konsr7tZ9VIH5MO8IfkRP6Xp34H+ZcDSdGvqYParsoR/B725vNb9SB9x/8k7336I7bDz2/uH5OkRQnJ/IMh/oSlZxhuRkbn5eP+7a8NiSRbKjpi1W6OadvMrd1PYwl2IxA0gZc1JkSTdSGk3KwtYPyigW9cVZtKuVwnGp0Do6Di3Gj74KTO4EfzlEwwIVdNNNGikwH8wbgtsTo7Goct1uW4cY337afRY77WcugH0WVtmD+cb+ybUzbrPZzVTZ1r86R7/aaJ8y9w5EAAEAASURBVPfX4YMd2z5gKCXzp7w0FgBKsi3Ns1LRKEv2JnDVfbFOLbIK5gVMchc82U+ulrziG4zy1aRsb/W3bOsNn1YWje6nirS1+KrTZrkeG/Oh7zE20Et/4PyRgo/ajUsOfjTrYDltu2hoL6/XweKmST868RGxOA968DNmqYjnTwj0Gwb3+Z1lgT4An5DxVCB+QqrypxN+cfbi15r/6Wi2+OgmX87S2atPO/75O94++Iy81xdOb+peb7XaheYXf+vq+wezje+ZHs3eM1IsxdnJcS24B8eDMELxapctyXxhSEDdAZ4P9XDMrNxww2/L4SxGIz3qHK5SwTdXzXrjCD5DwYWlFfA02kVwk2SHdZPmBOOIxBW5xif36qSG0YnoCXlJtDvhKF2vy7RTdzIOdTtj4zuv4eAt6VHxchs5qQ7S1Gu5NU/rAIwAU8wPSZtWZa7WQYS/ZbjdDGp4wFb0bvFcuEVek1qO+UPmfhhmHMEZ2jlThnmnwDhgfkLAxZ35QkeZPw+pecE7khpYSUZwBFEp5CgP3AIj8wVdu3oVLIJmwal5qCnlmt65G2gXDFmRlFM/eANfwpIeHy1UQR/6qj9FBIXHnnlmcfaR/klom+mOyvsAfAKHk+D6Z//f4qpUX+z6JF80Vx5+aPDZ1e7o+7rfqbdxf1Afk7qHh5fl5bSyII8VKw9YyVnoIWY9aOUPZcCDAM2HEXAIs7keD8G5iYlg8oy8pClmfENSia9UKUjoth1PsapFuFN51HhfNxCKI8SrqC2Sy/Y0q/CCGo5N5UDjYLpgogPOF1rzuVm78Y1HvS67Di/zrGEu1/xr+lLGoddgyFoADda1zgOp4AEngVvw51OVjU9bjUPdAiuaFr0KTi0eNHUyTg37JssR8AqPOjiVLi0FrHIBGNgRhHnLjQ+3CLntR+EVdR0cdCNggUeD+tF2RfXQQQDxDBsh24kLoUKStKq7HXiUzUN145qePGSCCJ6y6Kfy0E2wODlUv1n66mXtamk3K9qFjwx4cMHlvkf/TscbER+7GZ8efnIt0Afgkzt2t9T847918B3D6fQH9ZWDM7glxVOtdPVVKUVTEdpP8dpH+g6WHjgSakoE367MaiQevlIE5o7iUGtbfUqSYBy40EUxAja40OOI4GFH5TK56bKkY2hRauGJBCq59Qo+oBT69FiFpoZTRh3oSeC7XMGDbyAUHMq0YyFW76ZRseUBr4oHTUuJdujJLdc5iJRJq3lCu6PbgRSdijmybkwD18mgzbo6N2xpFiQzj4tZ1+PlMaCtHYeCaDrDGXfKDiKmcdB014Iudk/yKXsu5PKzowjR1BEiuNYDPtENM6CucnSp5OC0dXSgzoFcf4FPgbL+wgwVP8MDN4iTzijWxTn4vuiyjQLXBCDcLA2bjyLHdKAV1WKFbrh0/LlLLy5+79wDgy/cjFUPP5kW6APwyRy3m2r98d/cfbccwg8008m70wdwTG8rp6FKfNoxtvs4wUnE3ixx5GUIAq6AukeccNHnKllgxeDcap5lWYEaGGtqBeQCm/NKix/CaoONmLWCkKI/6kVIigIHQNUQDr3g4ficrD+eNEjMXJXAUx4gHfL6ICmDdeFjHnaoQeetc+gr2uAlFpAu8WgVSrm6Jd7iRFORBdDF4FUYuk+hCzj6C/7mS26dKphxCpslupoXQt0P08CvLbu95BYRPFRZzd3u3O2uk9d9QI6D7w04XBnmi2jRxJwTrd4jZw6WLWjpVduoDqJ0gja3w6TEzbiAq+G+V2589K5vCbgf0V4UtY2AuR351DmrSCpGAkainXva3pxK6PLx8pXFef3m8U+ap/MWSzxgB7y0/a6q39e294U7wgJ9AL4jhpEt38GZX/hfd/+W3tx9d65AcnVK98oWn5ak8hsEVla3BC0F1WgfEF314q22moHxCm68UBSuDAx+SSGCuBDwa9pexoHHCjgDMr+2EI4+YjWsu4eyQghsSK6Ed6mqdjigCAf9IlEGVwnSIGsL2RZOSm04PlLV3MHgk80Z4EvZvKPNgVxt1OOhHBWME3rRVhjVcmAHGBgHcFwG5KgQ8GhIWHGuqVvhu0pLPXQRCaTUSSVr5RgvAlSiFAJVikyLhtZyKMOfZH2y9uaOyLe+oat4hyxkqA15ISfhQGT5fGt2rpvdMRc155jHLW5RJfgVHoC8+oxm81c7287gQs9fNAEvdfCDVxQ4JF6W8hg6GwCvllHixnyDYUlxhpRye/HpxpVc58/j2CjmFHxJ5lXk0N7aUt+H/9oLiwvveXBwIXD7wx1hgT4A3wHDqBOVD+feoyd13qW4GKErH9yZNSM90cIDVMoEn+le7yja6bYeZtbDVOn4VNU6JJZZ+ZqR9qrlFsMlgCJHoKC6mJsfQV3fleQ7zdqLHkl+ypLr5aEurSzwnrmCsX8JU6tCPZwL4nBCCM9i5BxwduC0TlLtJPCAkedavQCVOeEIaTffgANQWoUbh5xEjoHIp4VGxahDbFBNB775govTdDu6Uo6kcuBxUAIeTjxqebBDNl5BDTyXK/QoBlwHcvOz/NhNAKsQk7X6FDD1uCeqArYjhd6qO0/oGz/aBqYImUWHuqwIygMI0SKayLX7HGZwX+CBHqQI3MrbC7SAJhwc47nd+oc+9KfgO3N70KnR9q/bKVtuzcB9NA/mS4sXROZyY64V8mPWkVbO19CBShiIQp4D1mk0bh5/8cXFv3yg34pO49wBxz4An+BB5MTUwpXtX/kFvUREcGVpqjTXklhuLR6I0sv8TaOXfXm8VIFyENuZCqpyfEJkJ1lFOUEFTq2NRSMeOGIcjBwDgVnwkRa5cJZ3DDxxl6fUikW/4yr3rTKRS89LB67icTwFnbpBpT/0EA4BmueKIgHnzwmckpZWQKs4qkegjL6LoLQjr+Vd+FQsA60O7GYbvAq+Yat0hhe06E4NA586OfzqtMqrbnPZtKs863bKDEONYzraajh1Ui2bOjjr8Ng2JTmgODfMOTYmOc/a8jGCScGLa7EK34EGev0xb9JcmjsxN4cjZqX2YdqLw9jCtjzrVfNx2W0xd9RJ06AdsDrRVtPVbYYbtlqv4bQ5gFI230GnvtEjv/zS4jGJPs95YPwwFfYAQ4daHvzgH30ZN58Sxo8Go/5w4i3QB+ATOoRHR/N7Tm0TfksH8KgKnFrxaP+YTzxqS5inTwBMdUrLGRBLBeILk3rWRR/KkO+LrWWtX3kaS1XfJovXXkYjdpy1TS0HOcczToUxFohwqyU38Vvb0IOZfgkJZ4P3JOiz4iZ48yfcLrm84ghBoBvRbByAKtO/4EO11NfyVDs8jKviUloy01JLVoJ2Dfz1QNDVKr8eft3+ZmnXmK9m+4bL6+SPS2diOrxOx8BZTcAYAy5yMAwojGG7Ei916EKGNlp4WEAXd7rE05zUBNXFo5hscC846Use/GBYaCPXoebttpBLRakNvNIDnqhGqvknpIIZUOU1z6JGy8sy4AkQGZZTsYiiLnR+kgKocTGofAm/0C/JAKY/8X/spSuLx955f7yWCJs+nWAL9AH4hA3ehc8tNieX9j/86vX5t+2c8mmriMi+nVyZVhuKifwcL6/v6hyXZ5Bzm7PJp5tq0cbFtNasCsH854ER7gnPB3IMwiJMc0uYKK0TXlEaOHzxEspFxCKMG8oEcdHpFSblsmTSlijOyvqGhFOBbzhTygXDTjscmHFoE0HQZPEGZwvKnZ6K4/1r6WbNO4ZFxjaMVRdj6Do5iTGqYat1j1liJ37QreGlySfoXE8QSJie4dNnXTSR40n7+BBH0BVGzAOnMoWyqko7bwRp8QT3HAzdy3wsmVlF3tIUaFtXgTL0yAzaACRiyKWBVOBcEIB3s18j1Pn0I7SbzLzdB1jR6PZSDXABPq7KEwnojyfZAn0APkGjd+F/e/HM4YuvPab1wdubZoPTXUlLzlLSojS2grU81b3Z4YwVqiAKzKwr5Nrk6xTo4t9QTk7vB+v+LQ9dCaZGtprlHPJ+IEEX1gPuxwllOGStosAs3AGvIcnJqKSV9hQ6nAWrZG2DcyGwOJo0uzi/olr4Dcr8SUTkEBF4g1gwHlyJsmDASdTpXzgj4wtemgOnPgTeSrtpIarpVnkjxwkaqjUtbQET0Lgtj0JgGrNyf1paCsE0mdX8CgswbpqCVIdWvjBXecDfNnMbDE1DOfQChs3JA8ihw1vFD56Fd11eRxO0hbFl2VYhpMjRFNWPLxCEQy7vl2tWQc1spnU50cKq0U8vw9MXCWDSD/4QHXOrlP1QlHUReClBQyoqt7YyPnKNE4ilzly2HNNTB//Zp6ffJthF4E5XrizOaqM9vmQHP+SRkMMfdLdK4Asv3x2+FWLfdiIs0AfgEzFMTUPwPZhu/+eKf2fGG9x01blanawsFwiOWkPoLzvFt5yzNFKg5VznsaWZvnLFQ1Pp9HBnck6CgcunKHV+Kxgnfjg7Hsdiu5n1NA4SCnBDXs1fi2a+rBXtu/vNS28/2zmUokjscYe3FSG8gBMESKjNn3GBkXBMdDjgQZDwwC11yk6A7Mwow546zI0X7WqgDYfuBmxqHEHbtlZXwUB3go/bgEFbtxvP8MCX0BondBECeSTltgn1aKcgHPMx3LLph9vISbCzvAD4oAZWaZ4/ls/FV53c7pw2l01T47tcy6cMDboEbRQSk7ZXrs1fYJ4yb2XtaGDuCTfnsaDgIc8pgil9EID+M37Wq83V5nus2MbkS8FatGEfBCitygkYwIIH79ADZiojOzuWtJRb+Wp7dX/2PZ/49Kv7/+ij9/4beEUaK/gy/kUh83S+CofGbckgjmd5jemh+2/8YZUKpy+eAAv0AfgEDFKsfOfbPy6PsqOTXr+Q0Az0c4UvoXp9ci70/VyfwLTNZrqrpkUEMP0Ro7WUjSeTy2OmsTJWyJzp0WU9wKV23jECX7h65jkDrdrhhkOTW4F+FKtj4YUb4cd/Z9zBQ458KO1fvzZ79j0PjkL20jYgTqskiCOwBpfUs3aQxkMqKbKKHpjxsQOp6B459dY+FZ1hiAXMO8vQOVEGh79w3qUNXGCria1ar97N23jmFfzFB31XceICQExx6IiynFYnAcwP2Us8ASjRDh/0dQo+K32rZa/yeb1Ph5ovea1PDafsPnjcyNElZwuFpJ9M51/R7olmnXZNIFLiNSTd1IhuhIwgLPRqt/7mSZ1bHgGHgcqwClvaGMKhiIxoi0pFk2Rr+wR+qIAcynFQoSTktAkc/bkvEqZzaPGIgnDjIKzenvV4hz4IqBIwePihLuscigvP/LfHzXlVL+qvTyfYAn0APuaD9/P//PnTh9dO/5ii545OxnAd+Kg/+sLR//va7uKlcr+s+doL02fVFfxXJJ3AuciJVbBeRUpHkUcF07nuCuvJ5zj99TS0XkjSKa4VdDnBwRO9Vs7cCpaDFGMtn10PXwRtWTGH04E2t7PV8JUX58986NF0eDDD6USQUtmpKCOv0uHBFB3aNiOTg1dWaeA40VGn1iGCKyAOLC4AlNe8wziFyHCqsIp6yYHVgZE6yTiUdSM86FAtdC/6RFbKtY6AWtxCE3qqAb5OtR0CXoSij+0JrnWxnsCQYXjYrcBoc9344AKj/s2mIz2Cbj5mt6QHFSXajiaLi9pmJviqqvmlVS/jS12FeA84kHUIHoUhdsFe5CTnIMWWemkzXo1TSHKHoeAHEx1iDHSGkZPMN2RV9WjUwTo4N9w5X6PhtT/xOf/xz1yb/8rP3vcnuh4+a/7kHgN0D3jpW3QYGTArbeCyS4Fe7odl9fnJtEAfgI/xuP3Mny42Rv/mtR+bzqan9UsHnMikhd4HjIei/v2Xj55aVp/4rLuyuDLhcRUdW83c4c3nrEqbPuLMbrRw8rmsxAegk5wHn8En+JK0rcyu9DAe8IIE7Ii0CrmiD+bC0zbiYjYSqsCLK1dme7sHi6d2tgYfBB/N1qXghZxQp2BQDs+zhoILDNqMv4prOuDGAVbgQYoykhnlGkfgoDHPQABYJbc5V1M4YPGMPhY5FUVXND/lviiIRutgTLUHKgwpOAUwKxHkqBtW9AldVvmZ3rlpIFeZC4i4IpA8VsHjG2+9mvJ186uvJUrOkVIuVMDq9MIrsyckvczrfK6Adm55oBb4pVtLwRCcsJ9y9HcQW+UfNhIDusshdFKxxaNtlR48273IRwkueKwP5Za38WsZwi8pLog5l/RMxvlf/PTViUx7FVtbBwdUscmxKLn1auew4Mht00B8+nTiLdAH4GM8hPf+61e/X0u+U6PxgF/3wy0qNGplqs1iVgp5v5X3d7UrLZiC7WCk14SA8/EM58XFKaBqiZr0nMrBizeNklYbgaLRnWEhhUu2ZQjGuGgH7YDLScYDWeY50xpaDiI+30EuPQZffnbyL77r/ZuPh5Mv3GofEiABlqQVvNrxBH3n1IzR5bTxZ+bRu1I33LmpokeulNz05rfS3FZpJzmHzuU6N79ALodaN3QwrXFNbzhkddtqGXzjciETVwEQlUSbYaalyTSU4VHkHhw2zZkdgN942hftC68s00XQkywHHOfakXnx6quTi5qP5bmB1ID5GRNdEVY7LqFXxEPzKHpGV3RwIKY/5k2b5cKVaB7cXa5U1NwvgotJCn/gzLts1LkkuOsRfAsPl90GGBahS7wKGHesdQpyfo0e/aM/P3jhP/v+7RRWeAStyojjvIYB9ARceJHAcZ8Eu3jvTv9d6LTMyT72AfiYjt8vfurKeX0O472oJ2fAw0+zElT19apQmiCsFaju0/JCr5LqXHFHICX4kqCVA4oaZW2F8kIR+8tD4ejLVoEGDfeI5SaSRie/SnJwRS5leAIXv7mu3NGJoKufKlTAFR/alYdDRaen/sPRU4+c2/ji1ubgQzhKVtQo2jqS4l1CEHJVXy0XFMS3aQknKoUWZOrKW15QmYlzYOvS67WvowF2M7p1cMNulluG21f5r4MbJhvfkNx2Kz5V2/X9bzwAE2K+fq1pXqrWZNifvzpRjzmg/OuvzP7F1euL15g/ZQ4GKnOJea3pubQFvcRLYxz1iv9SuzjRZBibPRGoywVKBDNsVc2d2C1Cg5vxFDwCOTS2cwmWQVbRBX9Y6f62+jKT7JiVnH9/+IXJ2b/xvdt/uTFuPgDUOjoIh3zxTYK0F/yB23bS44mA9YcTb4E+AB/DIfz5X33+9GK8+V26h6TTjgdS4lOSEeB0QpeAp0inh58IeMIC1mxo5Vl/rUonfHyUw13EsVGW0+N6XMtmnj6NE7u9d0w7rxLF16+Ep0AdvgAZalrotlasfCUueDnPp69nQ346D4caMkTwH742+dwH3rf5SfiyvWlHU98TRQeYuS05Q6EUUpRLOs5KfAOEQw18O8PQLigCHo6t0IBHMwl4yFIZOLLdDrxtNFKhCbmBkCjUTRtkaqthyIFv5EKgbDz3pZVbcGmHJ8m86rzmCU5BTZsUHtBD0/YTuSAqLyokXcFv8QoatF/+mj6cVj4nRjsp+kKh0FEkMe9ijZfVtp/uewFHBoxxE/6LTz2z/wRA6Rs7MJpzqsWDfjG/9g5mL/FWMDoX9UGPFHZQqai21C/wbcPEVl0F4BSClwmdq4k+rJUFnZJtaqHRP/NTe/ANTJUL36PJUBvynDBJJRrdsBmM/vyvjv7lD37X5sfhiVDjB7nqth05Kfpbysqu6ifAP5kt/fGkWyDXPye9F3eY/n/zb33ye7RQfceYp0F1a4wTcaCHVeSr4tZrnKC6kcSDyrq6V5DlPmyexwq6nNRyAeBrnzjPYnah5Ze0L0xEzV1nrFbwBENG0rLGxYXo+p3vWul6O/jBP0QBELbwJTNKItdLSbra52YzFwT6z7PUenjrpZenLz74jo3TmxuDDwRXGIu7/+wsg2Fpi9WK8chLWVk4cOqk4EGuP/gYbp51Dm6NAz115NKWQkoGLgiFBhzTgkpqZRfayHRwbpzIjV+1G898IGzLxi85PEKXqg49Cd3KA3ahIzDzsQzD6AN/oaSyG/oUiDqI6b5+yoegxFiUoNnmwOOvXH0hLxLKlAQsZ0kCQqeUvfvs5cP/5dq1+RU9oSRIzCmppK0WzUs5pHj4/uru9IX3vGPzPxGTsy1/sbKoYBXUcEhZIUM4oYYO6G0daIu+Fx7Qg2je1PkD33wCBzylGmZ4TVvLge+167PPPffS0efZCeKp7tgu4g0EDdZfXZp97Xs+MH5Zz0f8ELxZ2Zq+zinTxh9J5xv3j/+rne3BnySkP550C2iI+3ScLHDhtxc7+3t7Pyp3pAvd5TQc6mbwbBo/fiAX2DZq1au7TTizCiaPpivsQTxRo6Vn4uBjFCo3ZuKjE1s0c90/5r5vtMshsqUd94HFHZgcooJp+jTzIEd40MXrR7yupBRP74ixP8as/RU5wcG4GTc//p9u/+ON8eAREHFgba4CjiwZZBus6hROCSKlmjYhN6e1DPxXIW9zaN1uPnXerngENG3dXpfRL3itIFpXcOuy6+YBLck4kQtoB1+3J+b6Y+iw0lTT1mWjmcZthrMC5p4uHavHx+302QHNtNYfnBgz5cDcMfCuvDb7Zxe/NvmDq9cne56z9bzim+RslYi35u9ocO5d4++OB8Tgo4BaHmDSLQ99Qob3x0pwonkpBa4mH5eouj7VxI6rQ3CkBxswodoSDZUio82XEBAGQhDTRfHoYNGgw/Rwsfv812fPcD7W5wrt0VddpM4Om5c/+d/e86hOmcdl3/PBTNzaXLgoiM3IdXhiNmw+dmazv/eLOe6UxPj26RhZ4BOf3n/vbDaJ3/1kW658V3kxVjnu967oiqOiTSeu1q35wworKLqCzsBqOLt9EapLvI66yqu58W+Vx484xIc5xLPwq/FjRSw/eP+9w9M/9B+d/p/H4+b9dfsbLUcQqGarHVVNvw5Wt68rQ0NysKP8ZvhA5/SN0BvXuXnU+eu1gVvrX9N+M2V9zSxuGzjQruPVBojSWA1Rix4BRLWXr00//aW/OvqDdfPYyJ6rnjcdPHZb4laL5xzzjTlLWjf3PJ8TQ6GS3ZlyMQmMdl6DiovO3M0J9c2LC9i4EIiVOvNCd20KPvToQV73x/oDr9OqLrS9evqe/+Of/t3BZH+yeEy/If1hvcL1E9pZ+BGY7pxq/h/Jv6jfDH5W169PnNrov/1c2/NOKff3gI/dSC7OSSVdZss7yB3IafD2L06CMitKnZ8KuDgMvTsZ19+061FiFqA4GbrECpc6P/U202omEKOv/CKSOLLSjfeAtUcmCtrTiQs/AikHMVCoVls4Jt4dDhbVSluA2Dhk3xBZrJb1mlQzkwLUcXjodu36/Pr/+Ud7P/fDP3Dq75zZGfxE8skjTNc6bjVE8CntbzTI3CpgIfFW7bRJ52880YFinW+U+E3LfD1BNuqb1Iv5g82ZP+hIou5y1AssdgwoA1TyWIGrObF75dr0d7705f0/oM1zlDLJc1pvug0oj8Y5ZyWZ+yYD9Cg4aCOKGYE4RsnB0nMveYx4VS/moOeu5zLigPFOu2ijV6pL75FOsZk+i865hFaRAlcNAdH5ImCcF4Kz6yMldE7oXIxdIukt4vh4jXSLk6g9d2JzXf3hnIMfOjxwdMC5/kwJrk98/kvTK2r4YSR//3cMf5S8T3e2BfoAfMzGdz6b3KsIpqioB5p0GuuE5YnjuMLXiS6PQeBUK+e3QjNX5Dib+YRAp7J8BG0jPWNVgq9+V4HvbPDhDfmHsgKQs9BTplzR4yrHcqq5jYwMQQQbxQpBDkbOKhyHoPpZJaWQmU4xnJB01OtHrMBFpzemJpPBYGMjgy8XCkJFCBcNzb/+/P7vfO93bj7z9ntH/+V4PHgA89OIJwyPqlxo4cihiTIFJXBIpZqVcnSbGYHTBgpVVutBVjMyAytBPYhKHgTlUHCjUwYJ5npNSrPZFNQuM2LBoSEClghCRGk3/VJetQVde0g9gt4wEULraluoGQponGgvB+bTlgaB1XCdYsxaIR2tbWDc6XTx75792tHvXN/TJyfLA4XMrZzDiuzMPV6jW+hNOykQgVMRn6cXmEPEsQiIA+ZeXDTG3IeGecd8Nq/BUC/Ia56rLS6iYi5LtcRLfKlMAIy5KCPrSQUeROSJBc6X+MFsbVpLviDQ65yShNRTV7zC5E33ONc0U7gykQBmuOY9550+WhMXnNiNlLzH0b/AFQoXGLQd7h/cR96nu9cCfQA+RmP/iV9+5b75aKz7VVNO8ggFWkjKgVAf62SOE14BbhqOSs5LF9xyTGrjpIYunICCnrolh6Y2grkc3myazkLricCbL/TDcxEy5RyIfbzGOxxrtdzyLo5PwT5+aTwMJf5yQeMpK2wC+oDVEY5F75JIDhVJwzEWXWkfad85+Wb7F740/b/lOH//+z648+P33zP+Cb2S8X6crAOm37nEmZe7y+nhkSOY/reJssBdolIjlBYHtqhWPCyTix1IXY+H2QqtZdQ8DCsokbndPOgTeKSWNzBV6BurRhJl8KiHHuQFBgp/Mu5SP2sZxmHC+OIFWBAICG/+Ak8HB8nQN2YZyGovbc4NI49VKDoJnwewwInAKJjL8A9ZWvFOpot/+9r+7E+08v23l188eom5JblIEBbzZ5wrUc1ZzUnNP+VKs5hQzBnFVuav5jaJnRVNsgLDTmNtrEx1g3c8UzxVQB+zehbPqQIyxMjS72cqFx/W0bmyVaDkwYY8x/jxxXwIjDxx01RcoCJXgXQxnY7FH/24WOBk4GHGnMvgxAXAVMOn8058qasAbryeJ110/kbv6AsXGrpQEGyxNToDfZ/uXgv0AfgYjf2pzftHu/oRIZ3hfFgjkj50gceSc5nGlby2diNQ4qhxMAReTnCu8qHz1X4Q6wA9K105g3Du0CgVRwFNOj6chXiynVbjCRVHouCf+rDaBi/cifGDnWQge6ifKEZX48APhzQPHum0VNfrGOPBF/5i7/cl4PcfeufmAw++ffw9WxuD929tjd4v7fgfqXgueUX5UHkxvGgIT48m0fwXLPZAqaiVKJ1YyYQjRMFzTVtgFf6BA6DgmcbyCjyiCbBA08HlIC20NJouRqdVQlgsp+gLj5hnHjpC7wR6zAYKTuatesuTtlV4wQ97ZLnVuTQtZTUvqwlLUojv+IPK80/oZhTFzRcEuv7aweLf7e5OXnzuxemXmXfMCc0B7eYQuOKiTTlbtcw7faYxR1XzSg8Y6uLP81c/YL2Y6mpyOMj5yZzJPubSkg/AaI4p4GoqSw3J0ixjnhJ8p814PFbgRHkFS83xmJPaIdI0KcaMC1EQWpmSLRkEfZ63yHNKMnL+KqdNekh/uoIe2qXSgxfSTOcXF6BhD/GPQCulyDn/LMN9UfDllODD7H26qy3QB+BjNPzXmlf1uGZ8ozl8Gyd7BjKd3HpKg3upudLM133yV43k1HSZDh7fnSUfKyhzDxhnI5qF6+VempyirurVjm93W8QBfWIjHaCdFI4jHEjQwJt3M8M/qYzp0iEpL3tuckhy2IGT8uWEeQAV/uadcrXpOEv/87UXj164/PLs/1oditS/9fGrzbEqox/0S1uk6rfMgB1wkjKRZEbdeq62wR96koNFljte1N3H4AmuuLcw6thcOpgXNOsSOKSjyUz43IvPrf3oZ9EbXjfqjQ1HethOgSx8fPKxDkEjEPxpdz2xOlzLWeIRW7DLtydqOpeRBV9WlwSiSLIxvGq54CFH7TqyfQudtlxL2KOOHYMfJe3CiIceSdCaUYywIfMY/povcV0V+gafHFuPldpDftphpA9ecLVBwtASwvvswPQ6HNpIL9okDd7M6+CPttKTrWPBlbuOrlNd8Ma8pU0XE8Cgxxb6YxXfzoewu9rhjQ7IDp7lvIx+MS9RTnja6en9L8a8i1M/AY7R4G9M5Jq3TunU1pWytoh1QpN0MheHp/NVJ3xczTdTrRj0U7yd+jhGndbyB3pVSRlb1unE5NRok+OfKkjlVlw4Djb+cHhle01y9L7iNvUmVyPWgRUtUyUcNY4HnfQHjNXFmIAU7o22XD2IVjgj4RDjCgz9oZVuQRs85HjNU+2xlVj4SQb/6ItWJBubrFrC8YUMrXPUJm7qb/YnpjMwOT56nXXuKy6O5IC5RZiywyJyk/PhaIpDJGlrXWsamU6BPG0c/MP2RT+28zPl2HhcsGPIUiP3D5cDFX2CSqEg9NcQoH/oLnx9D0VbsLIfGmNH27ezBRELG8ZTd8ELfokX4UaXZtgU2hgLmku79aFvY/3gsySxJZtjF3MkkGWzHBvoNG7ltoH7Ihho2C9k0E/xCHswh0o92nN7mTkcQZvGkMcYqk/IVFQj+KFbjiFyxLHtf85JNecYKlqJR6yGsaXMl1u9mm3M0dClyIm5IFsGPOe7sLAfCZthY8r0V3VBqOV4hDxun4QQzjdJVl/Rm8S78thafeeCIcaKcM+2vJLmu273RNk0WlFnH5FCQA5+2F8PThwFVX+4ay1gr3HXGuA4dXznh96xf/0Lu2xqEbxCtVi1yJHpxC9uIrexdKYLheFLvAX3ieV0tLUXzg4Hpm1frrK1qta9YWGOuP8bwRknkinWCjg3FfJm8AEPcXGFrnryho/e+RVE99TUFt4ryFWXI+ImsdYvkhH37HSPTRGMdYSCEv3AH+EAoQUHmfAyH/eXYE1ZnVeImCpWsN+tuvqC7hGg5MShk4z41AdbmXJqsg+BJ22jNb+2uLUA0spmQrseIFI5gp/4x31CNIh+KfixRuI+IbJ5a5T+oLPWYzqik2wqHNknAudQLzRbLnzyIoN+5cUGsmayHf3E4XNfk2Aq4Jx9R8bNQUAXDxohtUsg/Olj2kdQtZVVa+DQHvaRLhG0RbcgmOif7DOfzadDjVnwiPmiIMq4YfvkG+OHbdR32UxxfSE60fDAH/X47Ir1wIaDhYJ2uT+LnZCrDoTtsIF1pY1+SM4cu4lf9Ef3SGQ0jZn0CrtMcjyZq8xBtpglA9noIf4MOQrqv/SBJ2Ore685zu1YZOBl3GKeSH6Wc56hozSK+Q4/Tc62bzE/1Hd0Cluo777YGeiCzHYI2dIhzxX0ULndhRB/McYe6nWMJzaclOCOXWb6vcW4mmsKz3J+chGErsPRxh5dddJWwsW4ilro1aM+3RUWYP716RhZ4Bc+s//Ds8nhJiczW3LkOpXlIHObULdOh/MjtuvkHuQDyL0lV+d0KbbOtAVcl2MbTQBwa7iedS2BSR40gi30BBwcOFt5eT8PGpL1Sn4R3gscvvmzhQEI3I52lQ841oXysqzUpdVZwUueSw5xpl3w2G6P1Qy6ENBq3gQ6cNNGxYVO5aq5ZinJ+LlqzOBNE/xxtpYLD147Sd1SVmf7HJ+6DR5dnxBYBgqiNgEn1nDvMpPldbRpD7ejGeGe5D6nbp0ObstxA05iGxX7ZN1ysi11TVjHnzbbpbOT7Zw5+ghH4x0BSLI0X+MCgzpzJvWCF/Vu3DRHNBCMD23JhwBO6uZO9UtdYc/k2c2lxM9j2oHV9GFsGddtdTnxcu5zcZW65/y2bM+dtt9lLrkOP5e7nHNFtxbYj6/ao1LVwTFsOht85TMfv++vXCf//DOLs9/3yKD6qnbd2pfvNAtU7uhO69rJ7I/i60v6wvND8k8R/OiFHA+ekXucOvFVZjWg6262k7lyVxsX+UqxJSb8LdVjFULQ0O21WC3gmKI80qpDOOKVW4IEWrac5ZCCj5YFWq2kYxVQuEyTMdt+4TzAly7SgftuGaDTmaGrUJVylXEgmds4WZx/JHQzn3R+CpTZP+mDE2630kW3VfhN4acXQlI+wVcr+wU/CCGm2EAZD6m5T4JpHZb8Q0/4xEVLykBPthD94E8EpmJvVua5tdrpLCGDrRgD8YxARj9ph+9ssTWNJ7e10pHQ0lN+FjK3V0UtqPTR8pqEDr63nk4fvDY4M06SFX0Sdm6/I4d7lsGgOmgcirzQL8YUXupbwLO/cbESuiZp8k490t70RboETtLQt9hNkV3jAScu0No+C1n6aOGqb4qPuH9axkYrOOHnfVbhSN98sAn8ZiEdY+4pULP4VJ8EF8/ol+hynki+yrGjUWxFGUx2DjTx9AyXonnIxC7RwskRNvSczPMHcBecp8O0F3PDdrWuet2Op7E1vppKRbeil5biJPUr8jxkm/rPvNGYoUdcMEezcMXLMlJ/7Ao8c20QHN74k4J98K1MfBcUmbV9OkYW2J/uPb+xMX4w4qECIaoRENnrm8zKKi3g2u5Uq7Y3cU4ZPASnrK3IdNSqg4NjEg99kpaPQoZDUoAl+Ea7HILC/khex6skbbgS4KAcb4wXk1BGlZCb+sBX22ii22brU7z85DOrn21tneKs1aatWPkvHlYJnajDx8FJN2ZxpLEdOtqQX5aseO855OuDxJFiyxZIqxfOTduF9Ft/2RdkaINX4uz4wh6xzaqnvYPTSNvHyAh76iVVtFrwa484R/ynbCHXGnIUxMq9cMyniwCClLbCsWcmxoD+EqgizdL2snLYSlv/0ho7twFKaENtn4uXpCRd2KQwUL8UfJOntkL1BnfoGOPoh9/gBzqH4sxDp64Pcu68diO7YEsCC2XDxnqNDPvx7i1zS3aXTeDIhRP6YQd4IIKGNohiCPqkJHixheYVD1hHP4OvWqO/QQ9uzlXksp8rHpqLkoUNaNUcY0yK7BgL2kMn8bB9mLNhT8a86AkPzyV0JuCiC7oXXUuOTfWQg+yAPoyZ6jE3lOvZxhwLjb8uK0KO9IrzKnqLnkmHzuqHZKAvc0Q8c9xlD8YGPXTByCK/6AJv2bvwxb6y6eFv/v2dl5Jvf7xbLRAnwN3a+ePa74/9+jV9pH2wxQlMsnPMV3xYYegtRAFZaVCOrdZwlIVANMBxFFpdtNvVuaU3KQ4FXNr1G0pBG1f4rbNJesHYxlU7joaUuqQDB3R0xLYbTqjTy/XckoOKQIazwjFPQmf0ihbB6v4BI8EPveDl9mzhiHwSjjRtETUEcHd2ktu62CfQdKj7w/evoSVhx9QXx6oXRwKsKwE56tQh0MAseLxmRR/SbuiWT72Chx28VU2OTTaW+GR7wqFABuMCf48ncKdunKWz7h3P4wlbcDciaFp2fpkJfrmdSj+sW447cyW3P217ZKYNiz1kO+45I3O5L4Oy+5JjDJ3lbG7qifuwQTztLnunDXLcbDPbK/vLWCzbFnjqlvowRzOAZf/Thgpceu89g7btk7nsoYuAvF/e8cYG9L0br5QPje1DOecGDx5So97Nm4QYP+2StClzOtEwD1PfHEPmxc37SRvytKHz/K//d/f+JfU+3b0WSC909/b/WPZ8NBteXGwuPqBbbBFAtEKQI9Eqjw/eERik9aZWUXiR+aGu6OWYxuPtwKFD8SMJWr/Ejy1oW3QSD840w/GGfH3rwNLbpPMQjRzYsjEIgHIkWokMCVY8HKOVAquVWGmxCtGTxZtb2u6W55Lzi8v98QZbc1q6iW68kdvNODStOwf6aIh0Er1Qcab85h1PnYIbHyfikRk9EIQu2gCXPK2OpQXtDV9ian+eQvq09cViU6+bqJWneMRfttjQfUT0k77OUQ75fOFBqw/9ScfElQdVfcrKCH3gpCT5ITdroZ96r7WNniTf2JYNwB9pHHKMwq6hX/SdV8NSJ33MdzzY1sNX9F06hX3o70T9Gkv3scx4oG+XsHrKVSt9s+7SLfRCNanJM7R6uE7aKVhubqkvsn3YlVVu9FdjQec0vOKdvdlSzyayqx6oClpts6oPulBhy1yIU/VrQ6jYVKuzsX4+g/7oVSmGqplvpF09xlKEvui1J22nag+B36Acqo/seggq/LiYUaDRs3FCoG/ur4RJd7Z6u0CKXYZ89UqJOatvqanbeqBJc24DXVi7Mx941WwrV/PMI3SP+cIDeMzLwwNkzdWHsLWCt2bQWDf0NV/EnnNFeIiJcfb4Sth8fjhhbue5g32dsAlJD1AJP+Diq92StC3nFH0mhU7ldTzmCXMOGTHuMTbY4UAbBqPJzul7vxJE/eGutkA30e5qMxy/zn/i11/70HBzdO+hgkbGHW3jyVHhdHCiGzrpqY/k2Gc4A76Oldu5OJI20IKjpRN38XRfVPdRw7mko6TX5kFQpS4B8QQxZQcEttXaeCd4+KTCQi466MCxI4I2U64ScOaWU+PAB+eEfrmNOI3focVH8ms8Gyw1CBCR0slNVN9SfyciLveAAwf+9KH4V/UrPsCgi47xnC+HRWCQrbBlXEAUfeHnPmCjut08ui1OOV4Fyey/+qaydYAPybqhN+NBjm66rRBB0GMznx+oTduSurcOj7QPtpQNxAedgi5sgM44dI2XdIy2oqvtSTu8I9CGjtO4XiFQMIe6sRcv5B3p6WHl9IFgFxdAyk1vfeBrmdaVvnr+IWTEhU0JQjUd+npLtp4fyMvx6wLZoeYItm95C4e338GFj+cQ9pGwMl9o6WhS13GMoeHk2CvHrdPb42Z7M26WwTnl/nh+0HdfROV4ZQBOmMphhxw/5g1wZJOwFXLMs2kOLv2jj76tD8AY5y5P7SS5y+1w7LrPzxJOjvY+qIt2ndoZyJaUlAebjza0asoA2LYBj+1ReanKeQkr7sPa0a7F19YqtDhCvW4Rjm8Vr7ual7POUKyV7gZOTl+vlhQCo2j1i05aqbE9no4qYbl6gwcOy7qs5q3MNQXjNnhwkmRnWTmKFzCFkT6tBdpQ/Qq8IMgD91cV+bnXmTaELuhVoD/qC4GbLXjsLI1jVRarTS54nEKPItuwkre61nDw0TkUVa46Nm/t2o5ZBs0WD/ygK8xCrsqGlXqMPWMt+0cb/YpkOZ0t2r7THnpovErf0B1wjJVlB6+iR+GrHRLZRhdQjHNlP2ijizqk/XJnI/nmfE4bB2bMVQLurMxB5qttHnzgTaKf9Bn5hhnuCWCbACcV3LZPK3M7A2pehHTnSQZhn0M1nw7fgTr7E/bEbpVeIdN9UY/0ntvRr37s9J8Fv/5w11ugD8DHeAr8wq+8+K7F5pn3hYrF8YSjxrlWaUMOB8eFR8ptSLmu4nViy7E4Z0i61YdWBQpQOA2cmt5JVPAV33BWOLiEwQcnggzSRPBY5WzhoDfCQYeMaC2HoEUHUuqU/IqTax2khFkeqK3MXKVRJ4Vu7rNoHayM7z5mH6RXoauDE/qjeyS6UopcwIQNsqVt1/f8M4Bpw0Hbp9H/DA7wL2grPLHLtoJpjkV1gVEuTMIxi7bV0zLdT3Qh2FtP2qXrhv4hMtWetPW4sBhv6BW1CTfq59ppHVo3SBlrAvLscBKrXc8TByJwnNCJt1hHym2n1ma2V9heF2myTQQmXZRoZrT2gS5oYLrUBxgkDDldAMt5HHoWey/1ER6SaVryFjehpd3WEbCiaecJdMxzGaeeq9iVxal+D3BpjqWdjM893bQ540s5UzevYZPnJedE6jiKeYD9cz6i93B7PNud7vz73/zZAb+03KfeAjlhejscXwv8g3+89/BkMHkoT/7Us3Ng6Qipa/NYT9byME+HQ8l0ifP69ULe0lGHFr8WTjcQ9OMPevCklmc656N4WIgvQXcyKVv3Wucahr7ZlnSULbsuw8uBIC8QluXQvi6h18307uSyws0t5eSdtoVWv/Q0JCagp+VDV9t5tQ/eUl9nk7pPlo/e5pG55eo2aCXf/bMe1JOH8ax3p1+Hc6O9bBv3x3nN3zLX5cav24DV41e3Ua7tVrexjRu3VyLoLc8b2hifzq7d/EdefS5YJ+dE3FW+tR6dDnrKXit7PQk9jzsYakj7bOjJ8txetu7Q2EaWk3okt1bfyeLpX/6ls1cS2h97C1QPQvTGOL4W+MVP7Z+fzA7f7pPazhmNCSbpGLoVp4KjHlvZ0LMrE22zbsQ9xlyd6PpdgdR8YtUjHqzwsjxRO0GT+5KTCCq1Q7FcOx5WCtDacglnxcIqQSxLsLN+lgseQcy6uA/USV70gIde9IPcjhxnh4yaX1fOp4mo03f0oww95ZmeKKJvXkllv9MGyEameWU9+Xk1SBv6aqtWX4jSd49Kyj6xE0FgTpmUaU6aTi9gHpfUKWUmPtvfHo9OL2i6ZBt3+ro/xkl7YdAON/XwPEm9bBfTed7YTu4D7dDXcih7zJLesrIPprVcVoU5N9YH3sTnAof79jm+NQ90pY7NrC+5x4Yysuo+g5+w5XOlhnks6Ysvrjoe2afaTpaXML3CVM436wXv2k7oMFiMvvprv3DPi+jYp94CtsDSRDawz4+fBf6HX9t/38bm/G3cW03niKPpHBnlTfkK2tlGjLZwVDgQOSY5S31isgRVHFjC0yHKYZZ250FUHYDzm7CbER21DS1eiWtebE3n9iJkdnw38iMo8BSsbnsWR4qzqvVBf/hbt04NaEm17jvitReBkMBMAAEDW6AvzhBdgKXTtZ6dHbt+YCdstyFaB3hk1jZcpYP/kWg2i/2X7ZJ2yDHJPqEJKfnSnuOWerqcON3FkXWc6Z70aLgZtgeH8UY/25ncv93rINO1bahNjxKXCxrouzEoc6YKWNYxc7DzAgO+8ASCrOSXY+hxd79tu9U69Pr0eVxYwSd1dGBNOcBJ2CRxNYc1x5iDOT45Fu4PMsD3OHseWXZ3UQGPtB2wpOlku9+dTjn+wJNnfY7leQiPTn7qBQw5up3x/D/82OnL1PvUW6C2QDjxGtCXj68FPvZP9t4zPpi/U/cYNW6bcjQ4fpyDg4Sdeq6Ku564HSdRt8X9XF3B58rCDttX7+DCgxXsSL9DfqTbf8ZZ5gNfVn3w6finnrkC73TstMrSZtBaDiuf4UgBpt0qPpITE86s6ysrlcQ5krzENVfrkfWu37layy1xeNNuXZdpzClz02HrVVkd5qaK3Xf1sZV+Nzkde1XOQOALp8629Hl7e1M09JFEAMKO2eeaX7bn0fpTMw6wbD3SuGVwyXp9TLss25rgtWyfm49ZPd457h0uvEkZtNwP9V16MRc2lXe2qvuQdHm8cUwIfptlDuZFRyezpsxy17e0oeU4rylybuc8X8+z7lOONTQHB0fayXFw9hgsz5PpYvaVT/29+16p5fXl3gK2QDlZXe3z426B/0YPZu1s7jzglQv68qSu9Y4nj7WKo32oq3serGKrjMCJU2IFpWViu/JIh2NqAlvSOrB7mw08PR+tx31y2zXeSZVfquV1XLLEanQ8mOjbgLk6Go6OFtMjfftqM7eGaxk4ZX2LQbryvu5mbOFp2RP8zde65AVC2aYVzmC8OUQGH8lGn8TnYa0jXiDNNla2wY8AUDvULHtlSZvlwMcXI0mzerFje+Vq3bbDKWefpdsidbPMGCtdUOT4JT/GJvGTH08D62aApGc7fFnlYc8Y17CR+4mW6musSLFh9g85cBi19hDvMk86G0FLWpaDLr6nmXOI7YqjxWhrM+7nQtGOATxFbrnQEZPQ1XMu8GMupp2QBw47BwRkLqg6+8Jb46i5ANS2wQbUs/+eo0C6hK48iKbgHbgeR2RBlzZWhTGW3mkH6k6566EXkfNHMwS2/LQRePo1CfVN72uNYh4f6GKgsLA8bKNrvMlkcebip/7eYN/c+7y3wKoF+gC8apETUP/vP/P1ezePNt6tQKpvIWhlGisKrYhnR3oneFPOxysMrtZZK2cCCo5WEvp1PieVSmW0jYMUtla6zUa5vzlhS7esPoSojVYdtbqaabUr2eKnfHOADK/6ZqOyQtcqMHHKCvpIdHJO4KdQ60yAdln6C48k3OjPCD5stUoI8nndCee9pIva4Y2jVPAaysXP0QMcklfQtW7tqhF9JTLliQfiN6Gjn+iQsNyeBq+zeeBIn0Z2Mm/k6TscqTMV6UAfKGEP8pYO/dhZEBz72V4tHrbILqTJkrg9olNHm/2gMXWdDNE9gsiB+iA+lGUgjWkXeFJWdFqUyl0sUnKs05Y59oyhtqH1oYzMUwfIYuyKnAx4Ma7GV981n/TWlbfttcrXWJY5KwaMAaq1MGzXXqCEhNCqHvuiZtq2nTvWqesMZmQeMP9yPDTH2V2JC4HuIoj+x1ZzjFU3B9q5EAOSuhhW6zMezQ+2X733Kxcu6NTsU2+BW1igOINbYPRNx9ICFy58cfPa1jvfqy8/bDVHclIKIlyZx/eD5WTYrvOWJg6aTuDgNxVYjuSk9E17fbNRgbM497g/HHTg5j3F8GU4UwW3jrccepEFT8uDr358bTHGwSshg6TlbsBoA5cg6TbTzLUspuyUpEfSdxD6OfDRDq37QL/Qi1c9oDYd7b4XvnqvGptke97HhF/YSnrBw3RoT7+xGX1Qte0r5bRp2ok6/SMn1TZJu2pFFPY+KudbN170PS4rJDx1yT7ZjugzUzAflRUh/aVttV/YFR2SX9o9dclXiyi7r8ZFz7y4ytWlbZsydZ+00EBL8pzCHvr4lfSWlYRE8JkqiGkw4jWm1oZqpt/oC+/kkf1jRY9tffEQjYWX6bM/Wn2H7TTGxUbI945A2oL5qc+IxvZ2jqHnes676mE5yWy0wdJokY3utV2zT2hS5oTmCjXPTfch+59jSRsyso96umG4//Vf/fgDz0PXp94Cr2eB4hBeD61vP64W+KXPvPbOo6PF2+VI+fqhVl1eYWkLsARedFfgiZWvy5njALfKHMBByiOl81GQPMThhgMyH3xoOkHakEMgIaDyWuNWtOH40AFdTJeyVuUTJA/Ff0s8MgiFQxdPBRcFyU5ny6UPlglPkgOc8WOFFbZA98MIytnHcKrRn6Q5jL6jfxcIIrAJnhcRKSHpoEE/cNF5sDgabmxtxgNfqQe6dTZHZ/gkf63ySrAxTvILnNApZXVH9wsItsz7szlG8ATe2SVt3Y2ZVpiyLfafzTajP9Bk+5Zgh7LvVtgu+Sc/ZJp39hPZWu1HX7pxZRygX02djTZj/KwfeOadOKbEnqmfIeSpa861yWFnZ+SmHT1nu50D7CPeYRfRx1jBC/45Z5Ofz4PsHxcBnX2sI3SZcl4b3o1hB0+8o2ZjePpoOrt6+dd+4V27pu7z3gKvZwFN1D6ddAv8zG8vNs5e3X+w2Rqe5ofX9ZOkg5lWVvwWun4LPvLso4Kb4IvBpj7odKT9667NeJln4I2AE/Sb4pNX/PCBb20zaBIOnZxqkWk48jqdzFvh8fBI3xOug515p57mSZ8IeLrpFnp0eaeHZRKgM6UepdJm8Nra6uywjq+RLSf1l/NXvyhDA05n365P9N/J+NSx3xbfZJbDr+lpOzocDDe3dNuzsrVlp61TX8OgoWxbU6/Tsl4ZtJHvcUMO+DfDSxuBcaMtV3VIvh6Xer7VY9gsDhWzsDvJNLYVNhmXizDaAkkH9z3xOht4PnR4aQvq8IKH5xU80r7cSlmeE2lD67Mezzog03O4ng/w2N07evmdv3TPlQv63Qfr1Oe9Bd6IBdrJ/kaQe5zjbYFP/PIr981Gw7cNNvXJnXC4GRjS4WZgqB1oOth00AQHAiIpcbrA2DnqslIKB550o/GhHB4rkpoWZ18H7U05X/h3Tj/l1PxCdDks80JPHDROEL44QuuaBDj21Ge9Hnmh0dlBK/e4OElnD09Wy6xsSRkEjIMdOn0IntajCxbgHkaQOb2zJd2CjQ6pUwZeghPyal21ZRn92lxMtSodx27Ecj8IWr5QwfF3MrtxQnZK1Kq2BLBuDDvdM8Db5qu6JB62JYjBz+PufpDbVvr8c+U73Cfr1Nm163NqaJ6eDzXvzjbgLvME0o3fje2Mi+2TfU8dwExe5NlHbMoY2la1LLDSBr64Sz2y393cAE+Pdu1fP3Pq+X/6d/XMXJ96C7wJC1Qn0Zug7kmOpQU+9uuLt41m1+6TkxwRU2rHm8Er1cYZZgnHfRgrJNqB0UYgyTqB6TCc1lg//docDIbT8VahPSyOMTnOOY65AAAS9UlEQVRxxLmS0sk1g53TW+LlAHcYPB2kalwC4Hh0GIE2OQDZavakG3U771HIdpRL3cB0H0ybjhQ9C66yrXu34kJgPD7Qz+hlECHwod+WlRED6junsUHqBH9gKRsJlm9ptZ2tU7bB3wHWPKxrBt20VWKnfZDnOnbMvjBe6EOQJGBzYZG29RiT04+U42Db7XQUptFXcMEjeS6Yj22S8M627suqnLF+WvjQrzGV8UkcbNmNHXNhb5e51o0L+mKPGo922wg+tY6hcNjBcyXpjYNdSreiX7ad+5T0y8daH/cRW6ODMdETuw+2NnS1derl/glnW6bP36wF2sn1Zhn0dMfTAj/z23+6cWr/O982XExPEzC3trfmu5MD/ThbOvNmW3rr9+6nY35Pl3uMTYCoUx6Hg1ThQEhk+iskUR+Dh+9WnICeHy8f6xsPBItA4LC9rV8AOhhAN1V7wJEpB6mmYA0fnDdtlgFu8Gp1oT0JHIzkBeeDrcMh6m1RXhwOp/qZQOTRx1C20OCA4X1a7diA/BBCKTEeHeh9zuxb6s67sPGLic34tBy/2iwT/grJw+hv9F94dE5pqr6TU0WW+1WXaSeFHCFGH9VXaIONDsXcwSfGIn7fWG9aFTzoaxm2PfBICMS40lMb5u2WaKtfIc6+Ji42s208P2BDAp0DeqEDVRL8rJPHvqPZlg0Osg9lPjDm8I6xFz24thH8nOgz84H2lJ0KW/6WoDPp280nPaOle+RLYyTuoZ/kRfAttgs9pcd0V3O3XN9gv5SQGoxnGmPNq+YQ22kuCA990Gu4OZ+MTp195Vf+zuA169vnvQW+GQv0Afibsd4JoL1wYTE+fNv1+2f7R1v6HdeN2Xh7MJoeaHWRqyIc28YZueqDhX6GcDBUhNGP0mcQpnvgTbQaxgnVcNociMI5amU82Fagb7b0s6xyYEqsnsABPpp2zjtoFeDH4u1VDgEfOmjgRwyBFlzkUmbFur29Jfd6mM5ZbbESF0E4c+lw/To/Hp+6phPH02r1Xulv/rGyqrwv/YzIIBhg20hF/Rxs2mjVBvDSN4kHEGBDty/rrr6Ou5UU/Ejwx97Y3StQw6nTD/o8nSY9OmBHXxw5yKHtYSPbqS3l6sJC8qzztow51UrOunq119VT1nXJqscZXtCmnOQRV1yVPdGRlS/jjoyYL9KDcdIvKWo8st/orCu2IXZCT8ZmI+agV8JaXWpe2n7YwWNGTgBkTEj1uCQkj8Gz2KiGu4wO6Jj1nBeUsRM545dzLC8QPAc2Tm8evby/e+2ffeKdfeDFUH16yyzQB+C3zJTHm9GFC/rl++al7b1TZ84ezQ/HI1aLcoSKvArL2wtWFSOtFPQ78W1Oj+L1Djk/w93L1bqDmtudT6fbcqr89m2d5NRFQJB1srOlbt7k1NErQyIulpWYVrB7B7rnlwHP+ODA98w9ctgTX0QgRCFEpJZn+mCmA/0HxzpsaJX02i5BpNOllm8867e1w4/bL/cxdcLG+1JTW/YKbluncPC+kFjmPd7YV58UiEtfvbpEL/dvuQ+rfaQ3uhDZ6ODI2j7VNNdfGwzok3mDVyfzJ6cvB/v7cUHT4aQN3Sfmiq6qdLGh1aTmUNN0+ObV0WYgxQY559Ie9ZzrcJflrOppPMYPe1sW+USrXcaLNvRPeXlBQlA3Lu3wqemp005Osp30rdTD03unr164EBso2dgfewu8hRZoJ91byLNndcwt8PO/+vxpbcienswmclmn5HD2wil1ap+Kbb4MTP6Qjzy5HC34GaxxZG5LyoF+WZet4XDIG6diazVx2aKmvh/zbUMOcaLAnFTJQ6+7DggWEwUNgk8Go8UC3AOhaI9ZfE/pR3wPhuDtHWzPKWfwgy/6kTodqek7FVXfOpxaHmVwSeBTd47zxmlPpnst3DawvsYHrl/Okc7Zz+SITAUo9V9xQavlfQUD+OdFT+qvnQAFlLmCGu0Ovp1ep5qtnT2ZYGeIfeBHm+Ujp9YhbVDDUpPumDpNpqdCV9OSo8/s6HDkcQQGXTcXbhx/06fep4SfYwpdPe7UsVHcLoh+dONjHs6N674yHthWE0yBvBujdfxNAw/0hm5HuzAEZts927Bl9sd1bKIn3fZ3j76++9kLjyxfqYDUp94Cb6EFWsfzFvLsWZ0QC3zuc4vRn7187d6Dw43t2dHBCLVPnTrV7LMCisC1o5VCF0zUpNti2/wkXpk3ewLs6G9PeASqU1WwY5WxPzglhz5peezkdq0cNI4OOgIsgQneCRM7JQKR61kmGO8IplWN+N3oeJMOeEeLfk6pJ/omfQbmDXSWUyfAdm15sZA2QBfk7oV8nHsGwYTD3fbCBqd29Ou8yk0Dzw2CR2sDKNAl7eN+ZP+LTsUm4Bie9pUNpG/a3zbv7II9SXmBA6+U043PMgwdwUf/zv7JN8eNcV61IRSkbuyz3tnXbavjlnjWMW3a7VS4r4yfVrSydzenmCeJz8p2MTg1T5tiZ+ZJ2mVfuyI5B4Vf7FTbftUug8V+8pK8+YYuOyZnDt7+SnNdK9723nnq3B97C/z1WKAPwH89dj1xXC/89nM7ckCn9icj3rtoNo/2BvrA1mJTnzO2C7aLPXXm1HxylEE4ndhivrGpwCDYppzZkZxn5mxPdkEgjaKApN+PH5za131ite3t6UNeOwU/g+BOgpupdLBMYODDGyeMYz1SMLYccrFqxuKVcjhmkNgcqy/CtS7Umz0x3FG7/iMfbPSajg9G+ojvYkzfoy/swutBn63tGf2zTtjG/ICBD48uhcLBc7KRdlns63d6N7ig2dEqEOe/mG9GEJQNpjuLsIvgnT2QXYKEdNpXOc2QvKP/Gh90QQdk03/3F962EW1pA9sEFXT/WX0LI4hlrQP46J12Fs+Qk+Nj/jvqB3LhGHJV7uwClHmEfjm+aWvtEGyqL9cZ/0wdLeOQ+pG3tKWPxs88+Rt9KhzmSD3OxksbZxtjCm8uYubD7en9w9P7X2+ePvzNn/32Gx9rXxbY13oLvOUW6APwW27Sk83wp7QqPnep2RzOXzu9NR6OJhtyWHzbR5vWk6P9wY5WH1TTORKgcfw7iSIcCvqJOn7urQ3gDuR2rlGnveAFcZjNzpdKlglYrHjAgSd6GD/57g025OBDp6IrcNAmERDk1NU42NkfbkxO8VN9ESg3Nwpd8M3gdTRRoBCPVqZ40L/gL7zTYYO8V9j1SUikSq+6bF1A4Xcj9OnhxW7hdRXekklb2KvVresnQXCxp0AtfQlk9Oms8j2CcT0WhTZ1zDGBL/KRi3rY1H2hFrj0VxcWBH90g78vLKgjB/t7nLHfRLqgQ4erC4iVfsBbl0rD1D1thsywDblskJl0Knb3mGeL55H6XdrDdmrM/uSFG7jMRdPAIwJ+sTW4u4Kd5uJN/aGfZ0b66OT99+41zzZHF/rVbme6vvQtt0A1cb/lsnuBx9wCP/VTi9H9H7q89fbNM6f29DVj7sNuEeSUwmlrJeMuXFdUOSOve12O9f63yUnr0diuTc/OsppawgeWwS35ZflQDh4Zq/zNC6dPEAkaeMqhgotHN9y4wA4npwu/jq5rv7EfbluVvylZr1yV81ZgoY/uD2USwUHRZnioYHHmNMDTkp19CQQdlnQn6BV71HDjOseuWxtnbugfctGFZNtneb39wUUfcLAv/XlNgd3jaR4ZVE+rPwrIW83iyivNoJMDdTduq/3L1uXjqh1prcfL/VjFW1eH9lDjbdtTX02mq/kyb8dHV2fNvef273u1OeyD7qrV+vrtskDrJG+XAr3ck2EBVsann2o2zr/tlc33PTwcXr2aeu+cziCMQ9fvBesjCwN9eCNzMNx+5Yoc96bvHa/vM7jmAwa8mgZBZ4NP1pMn/O6/3zhyzEeLBXXSOh0MW9ceRDqcPcuqq7uoMI3lGo/c8lbb6EOtm/tvPOrmC5/VMjaCN21ONc0qH3Dcjv6My6pMcNbpa7qax83KNc9ajvW3XjeTA98at+N3TfPlvtYm0M8mw3Z7GjqPy+kzi8VLL2Sbde/45LwD3+nyS9PZF58+nH3ovnN90LVR+vxYWaAPwMdqOE6GMgvdwpWmw6eeemq0s7MzHOtR4Tei+QsvjAYPPviQgsulQB/pS/8zfeG+pk2cmX5AwG3n9HH+y4PnnmuaBx807rnmhRcuBy/aoJ/NHhLN5RV+HV7KuCRe5gsk2ym9+93w6Phbx1WcVT2MB1/aSOjpfiRET+OW9q4PbmnUl1H0oWvLPqNP3dbxeEhw+n+jnI5rysw+nQswNO5n6pc2s94gwbO2kftRw8AznHKXUk6OQ45zrX9tS+tufeBhXMpur8vAqJPATdpuPukVtPm1a9fmP/ADP6CfA+kfpEpL9cfjbIE35DiPcwd63W6/BRyQpQkrl+GlS5eGX/1q0zz8cNM4n07PyXlebC5fHg+AUx+PL+k90mk4VeAPPZQ4BHTDHdxdr3tb4wFfxj2vevKHN+0PPYSs8ypdDNxah4429QKfhNy67fLlS9Izde7gyZc2aCxntd7JTXp0sY7reGEP2uFJsg1qXNuTdmyNbNsyeZ8Lu9OecLcv98ty3N9aFuWaZz2mprNs5KSNkYetuj50dMuyL168qE9jel5km3HhtqqL+0/AffTRR3liOf4UdGMuQdOn3gInwQLtyX0SlO11PBkWUEAmEA+efPLJ4X333Rcr5On0/OLRRxWCLl6MOVc7ejnRgJ8/f35BO7jjMXk6Y+fret/hng/nC535gG9a8qaRAs3TgCPhyKGvYTQYXusL3LIok5Dz9NNPBz71VV4OFLSRTJ+6JAyd0Nnt6JLyHaS7dlMY13R1veZ96dJ4cO5cZ5fEm2oc0t7Wx/BVfYHbljUucJJteunSRdk8+2eb2Ra2Jfg5pjm21BMn4dRXk2UiBz57e+fn+/tPLrTC7QPuqrH6+om0QB+AT+SwnSylywqZuTZ88slmcN99Tw+Pjh6NgLm5+XTMQQWFxVNP0a+n+AH0CvZU88EPfrChDVzjmQ4+LtdW0Y+ni/8HRauQ9vTT+k3bxEu5CPogv18sOV1Aht54q8F6uY1al0yDzNT9UfF5akV+toFDf9Cp49CVzKuD1DrV0K68jobWTp/ExXa2BZDabm4DvkoH7OYp+0q/TbfMa3l86raap2ndF3KCLThsKStb9Cvc2mJ9+U6wwNLDDndCh/o+HD8L4Di5J6e/6Q/+4GAiJ3ykGDTR3+zSpUdn3LfT/WQpHhG4Ufsch5wBWVCBCaQ1jDJ/0IBvmg6OHZ4SbbaLPvDJacn6UwtkQyP6tj3rTcBLW5T///bOILltGIaikrvOSbKMD6BL+D4+j30JXSDbXiKrjHdpOyo+SFCwrHjSmSxq+2lGJgl+AuCTJpC8iOUv/KtARD/sVljlx7Q/VWQ9N8WXTgW/tKauNo0j9/d3rdNDSdHn/WRb0ZV1y/gxjlY5yGfEsIeftsfic95D5CSt+ET8ZZtzLn3/+tf3pnjiacutLdcwuEcOOU7NzXOyfwaiPP+Y/re1H8/P/cd2u/2ls947ft2UGwcE7oXA6lP4vWyOfdwOgfqWrIR1T/bjOPbDMGjsh96cu+41hl9q7c1psq/BF/f4i71RddW+1r+MIz8W0L5Sj7Clc25/1ZtaZ/FCpLGvM0MrHpf5NHnqvFj/0t8s0LzeDE3Vwrn+Yl/KobDTijlv5aF87VhhJLO/eXpb9lRihg+brZq8t3N2c+w5t9PpNNl1DR5e7PWA5s74gMCDEVj8cXqw3bPd/55ALszH47Hf7XbdOHqRttxHO4faWpOOWrynWsit1Zqxiz/+soe8as3vWE2Dta6ttjbOfqQN/2mtZVQeHKKo6GEibFqzpnWbrXN/T09PvQqVi+1D/sKHUrShz5lNDym+ZqnNY+tLr/1W7WBdz8nt8q1DcexY1Wri/Bg8D+Uge6yNnGRT/+1tmOySRaGV2XNXhwMCEIAABG6QgApzOjfW3xwOB/tl2OmH2nJOdVxsMaf2X079z+zQh+/sK9uqznOR3caeW7bH2ryuamu+ZR+LtS2H6sv22PJqMbLP0H0xnnxci3G2l7y3/X6vte163ODtRMoQgAAEIPCNBLwgmL9WGOwnGTcqFvm0wuHj3Kq/PLV2TZOKT16jmM1v+KrarFvr9wud+yr+5rwiH7M3fbJZ7MjX26aJXFbaFifmgpNi1OvSWH7jdcIVBCAAAQg8IoFaXKLAdGV89jbXio7m1k7jtmpPWhVa19TCeFWv6xD6T9rm75P5KLhX42itRfK9l/4j3gHsGQIQgAAE7pLAsrCtjZe2DEJz1+azlj4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgUAn8BrzesdviE5ggAAAAASUVORK5CYII=`,alt:`empty list`,draggable:!1}),(0,f.jsx)(`p`,{className:`univer-text-sm univer-text-gray-400`,children:a.t(`permission.dialog.userEmpty`)})]})}),(0,f.jsx)(`div`,{className:`univer-h-px univer-w-full univer-bg-gray-200`}),(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-end univer-gap-1 univer-py-2`,children:[(0,f.jsx)(d.Button,{onClick:()=>o.close(Un),children:a.t(`permission.button.cancel`)}),(0,f.jsx)(d.Button,{variant:`primary`,onClick:()=>{s.setSelectUserList(p),o.close(Un)},children:a.t(`permission.button.confirm`)})]})]})},vf=({errorMsg:e})=>{let t=(0,r.useDependency)(n.LocaleService);return(0,f.jsx)(`div`,{children:(0,f.jsx)(`p`,{className:`univer-m-0`,children:e||t.t(`permission.dialog.alertContent`)})})},yf=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+`,bf=`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`,xf=`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`;var Sf=class extends i.SheetExtension{constructor(e){super(),R(this,`_pattern`,null),R(this,`_img`,new Image),R(this,`renderCache`,new Set),R(this,`_shadowStrategy`,`always`),this._img.src=yf,e&&(this._shadowStrategy=e)}clearCache(){this.renderCache.clear()}setShadowStrategy(e){this._shadowStrategy=e,this.clearCache()}getShadowStrategy(){return this._shadowStrategy}draw(e,t,r){let{worksheet:i}=r;i&&(e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`)),this.renderCache.clear(),n.Range.foreach(r.rowColumnSegment,(t,n)=>{if(!i.getRowVisible(t)||!i.getColVisible(n))return;let{selectionProtection:a=[]}=i.getCell(t,n)||{};this._pattern&&(e.fillStyle=this._pattern,a.forEach(t=>{if(t.ruleId&&this.shouldRender(t)){if(this.renderCache.has(t.ruleId))return;this.renderCache.add(t.ruleId),t.ranges.forEach(t=>{let n=r.getCellWithCoordByIndex(t.startRow,t.startColumn,!1),i=r.getCellWithCoordByIndex(t.endRow,t.endColumn,!1);e.fillRect(n.startX,n.startY,i.endX-n.startX,i.endY-n.startY)})}}))}),e.restore())}},Cf=class extends Sf{constructor(e){super(e),R(this,`uKey`,bf),R(this,`Z_INDEX`,25)}shouldRender(e){return this._shadowStrategy===`none`?!1:this._shadowStrategy===`non-editable`?(e==null?void 0:e[K.View])!==!1&&(e==null?void 0:e[K.Edit])===!1:this._shadowStrategy===`non-viewable`?(e==null?void 0:e[K.View])===!1:(e==null?void 0:e[K.View])!==!1}},wf=class extends Sf{constructor(e){super(e),R(this,`uKey`,xf),R(this,`Z_INDEX`,80)}shouldRender(e){return this._shadowStrategy===`none`?!1:(e==null?void 0:e[K.View])===!1}};let Tf=`worksheet-protection`;var Ef=class extends i.SheetExtension{constructor(e){super(),R(this,`uKey`,Tf),R(this,`Z_INDEX`,25),R(this,`_pattern`,void 0),R(this,`_img`,new Image),R(this,`_shadowStrategy`,`always`),this._img.src=yf,e&&(this._shadowStrategy=e)}draw(e,t,n){let{worksheet:r}=n;if(!r)return!1;e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`));let{startRow:i,startColumn:a,endRow:o,endColumn:s}=n.rowColumnSegment,c=n.getCellWithCoordByIndex(i,a,!1),l=n.getCellWithCoordByIndex(o,s,!1),{hasWorksheetRule:u=!1,selectionProtection:d=[]}=r.getCell(i,a)||{};if(!this._pattern)return;if(d.length>0){let e=d[0];e!=null&&e[K.View]?this.setZIndex(25):this.setZIndex(80)}e.fillStyle=this._pattern;let f=u;if(this._shadowStrategy===`none`)f=!1;else if(u&&d.length>0){let e=d[0];this._shadowStrategy===`non-editable`?f=(e==null?void 0:e[K.Edit])===!1:this._shadowStrategy===`non-viewable`&&(f=(e==null?void 0:e[K.View])===!1)}f&&e.fillRect(c.startX,c.startY,l.endX-c.startX,l.endY-c.startY),e.restore()}setShadowStrategy(e){this._shadowStrategy=e}getShadowStrategy(){return this._shadowStrategy}setZIndex(e){this.Z_INDEX=e}};let Df=class extends n.Disposable{constructor(e,t){super(),this._injector=e,this._componentManager=t,this._init()}_init(){this._initComponents(),this._initUiPartComponents()}_initComponents(){[[qn,Po],[`sheet-permission-delete-icon`,fo],[`sheet-permission-edit-icon`,Ro],[`sheet-permission-check-icon`,ao],[Jn,Eo],[zn,mf],[Vn,_f],[Hn,gf],[Na,vf]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiPartComponents(){let e=this._injector.get(n.IConfigService).getConfig(ei);if(e!=null&&e.protectedRangeUserSelector){let{component:t,framework:n}=e.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Bn,t,{framework:n}))}}};Df=H([V(0,(0,n.Inject)(n.Injector)),V(1,(0,n.Inject)(r.ComponentManager))],Df);let Of=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._rangeProtectionRuleModel=t,this._sheetSkeletonManagerService=n,this._permissionService=r,this._configService=i,R(this,`_rangeProtectionCanViewRenderExtension`,void 0),R(this,`_rangeProtectionCanNotViewRenderExtension`,void 0);let a=this._configService.getConfig(ei),o=ni(a==null?void 0:a.protectedRangeShadow);this._rangeProtectionCanViewRenderExtension=new Cf(o),this._rangeProtectionCanNotViewRenderExtension=new wf(o),this._initSkeleton(),this._initRender(),this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{var t,n;((t=e.oldRule)!=null&&t.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),((n=e.oldRule)!=null&&n.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()}))}_initRender(){let e=this._context.mainComponent;e&&(e.getExtensionByKey(`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanViewRenderExtension),e.getExtensionByKey(`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanNotViewRenderExtension))}_initSkeleton(){this.disposeWithMe((0,o.merge)(this._permissionService.permissionPointUpdate$.pipe((0,o.throttleTime)(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.rangeRuleInitStateChange$,this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};Of=H([V(1,(0,n.Inject)(a.RangeProtectionRuleModel)),V(2,(0,n.Inject)(U)),V(3,n.IPermissionService),V(4,n.IConfigService)],Of);let kf=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._renderManagerService=t,this._sheetSkeletonManagerService=n,this._worksheetProtectionRuleModel=r,this._configService=i,R(this,`_worksheetProtectionRenderExtension`,void 0);let a=this._configService.getConfig(ei),o=ni(a==null?void 0:a.protectedRangeShadow);this._worksheetProtectionRenderExtension=new Ef(o),this._initSkeleton(),o!==`none`&&this._initRender()}_initRender(){let e=this._context.unitId,t=e&&this._renderManagerService.getRenderById(e),n=t&&t.mainComponent;n&&(n.getExtensionByKey(`worksheet-protection`)||n.register(this._worksheetProtectionRenderExtension))}_initSkeleton(){this.disposeWithMe((0,o.merge)(this._worksheetProtectionRuleModel.worksheetRuleInitStateChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};kf=H([V(1,(0,n.Inject)(i.IRenderManagerService)),V(2,(0,n.Inject)(U)),V(3,(0,n.Inject)(a.WorksheetProtectionRuleModel)),V(4,(0,n.Inject)(n.IConfigService))],kf);let Af=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetClipboardService=n,this._sheetClipboardController=r,this._initialize()}_initialize(){this.disposeWithMe((0,n.toDisposable)(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!(e!=null&&e.unitId)||!this._sheetClipboardService.getPasteMenuVisible())return;let t=this._sheetClipboardService.getPasteOptionsCache(),n=t==null?void 0:t.target.unitId;e.unitId===n&&this._sheetClipboardController.refreshOptionalPaste()})))}};Af=H([V(1,(0,n.Inject)(U)),V(2,pt),V(3,(0,n.Inject)(Vd))],Af);let jf=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._formatPainterService=t,this._selectionRenderService=n,this._commandService=r,this._initialize()}_initialize(){this._bindFormatPainterStatus(),this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(e=>{if(this._formatPainterService.getStatus()!==lr.OFF){var t;let{rangeWithCoord:n}=e[e.length-1];this._commandService.executeCommand(hr.id,{unitId:this._context.unitId,subUnitId:((t=this._context.unit.getActiveSheet())==null?void 0:t.getSheetId())||``,range:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn}}),this._formatPainterService.getStatus()===lr.ONCE&&this._commandService.executeCommand(mr.id)}}))}_bindFormatPainterStatus(){this.disposeWithMe((0,n.toDisposable)(this._formatPainterService.status$.subscribe(e=>{let t=this._context.scene;t&&(e===lr.OFF?t.setDefaultCursor(i.CURSOR_TYPE.DEFAULT):t.setDefaultCursor(i.CURSOR_TYPE.CELL))})))}};jf=H([V(1,ur),V(2,B),V(3,n.ICommandService)],jf);let Mf=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.HIGHLIGHT=1]=`HIGHLIGHT`,e}({}),Nf=`rgb(0, 0, 0)`,Pf=`rgb(255, 255, 255, 1)`;var Ff=class extends i.Shape{constructor(e,t){super(e,t),R(this,`_size`,12),R(this,`_iconRatio`,.4),R(this,`_mode`,Mf.NORMAL),this.setShapeProps(t)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===Mf.HIGHLIGHT&&i.Rect.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:`rgba(0, 0, 0, 0.15)`});let t=this._size*.5*this._iconRatio,n=Math.PI/180*60,r=t*Math.sin(n),a=t*Math.cos(n);i.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-a+this._size/2},{x:r+this._size/2,y:-a+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:Nf})}},If=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(If||{});let Lf=class extends n.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._contextMenuService=n,this._commandService=r,this._selectionManagerService=i,R(this,`_hoverRect`,void 0),R(this,`_hoverMenu`,void 0),R(this,`_currentColumn`,1/0),R(this,`_headerPointerSubs`,void 0),R(this,`_colHeaderPointerSubs`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._hoverRect)==null||e.dispose(),(t=this._hoverMenu)==null||t.dispose(),(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_initialize(){let e=this._context.scene;this._hoverRect=new i.Rect(`__SpreadsheetHeaderMenuSHAPEControllerShape__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1}),this._hoverMenu=new Ff(`__SpreadsheetHeaderMenuMAINControllerShape__`,{zIndex:100,visible:!1}),e.addObjects([this._hoverRect,this._hoverMenu],10),this._initialHover(If.ROW),this._initialHover(If.COLUMN),this._initialHoverMenu()}_initialHover(e=If.ROW){var t,n,r;let i=this._context.components.get(L.COLUMN),a=this._context.components.get(L.ROW),s=e===If.ROW?a:i,c=t=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(r==null)return;let{rowHeaderWidth:i,columnHeaderHeight:a}=r,{startX:o,startY:s,endX:c,endY:l,column:u}=Mr(t.offsetX,t.offsetY,this._context.scene,r);if(e===If.ROW){var d;(d=this._hoverRect)==null||d.transformByState({width:i,height:l-s,left:0,top:s})}else{var f;if(this._currentColumn=u,(f=this._hoverRect)==null||f.transformByState({width:c-o,height:a,left:o,top:0}),this._hoverMenu==null)return;if(c-o<a*2){this._hoverMenu.hide();return}let e=a*.8;this._hoverMenu.transformByState({left:c-a,top:a/2-e/2}),this._hoverMenu.setShapeProps({size:e}),this._hoverMenu.show()}},l=()=>{var e;(e=this._hoverRect)==null||e.show()},u=()=>{var e,t;(e=this._hoverRect)==null||e.hide(),(t=this._hoverMenu)==null||t.hide()};this._headerPointerSubs=new o.Subscription;let d=s.onPointerMove$.subscribeEvent(c),f=s.onPointerEnter$.subscribeEvent(l),p=s.onPointerLeave$.subscribeEvent(u);(t=this._headerPointerSubs)==null||t.add(d),(n=this._headerPointerSubs)==null||n.add(f),(r=this._headerPointerSubs)==null||r.add(p)}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnter$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Mf.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(i.CURSOR_TYPE.POINTER))}),this._hoverMenu.onPointerLeave$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Mf.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDown$.subscribeEvent(e=>{var t;let i=this._currentColumn,o=(t=this._selectionManagerService.getCurrentSelections())==null?void 0:t.map(e=>e.range);if(!(o!=null&&o.filter(e=>e.rangeType===n.RANGE_TYPE.COLUMN).find(e=>{let{startColumn:t,endColumn:n}=e;return i>=t&&i<=n}))){let e=this._getSelectionOnColumn(i);this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,e)}e.stopPropagation(),e.preventDefault(),this._contextMenuService.triggerContextMenu(e,r.ContextMenuPosition.COL_HEADER)}))}_getSelectionOnColumn(e){let t=this._context.unit,r=t.getActiveSheet();if(!r)throw Error(`No active worksheet`);return{unitId:t.getUnitId(),subUnitId:r.getSheetId(),selections:[{range:{startRow:0,startColumn:e,endRow:r.getRowCount()-1,endColumn:e,rangeType:n.RANGE_TYPE.COLUMN},primary:{startRow:0,startColumn:e,endRow:0,endColumn:e,actualRow:0,actualColumn:e,isMerged:!1,isMergedMainCell:!1},style:null}]}}};Lf=H([V(1,(0,n.Inject)(U)),V(2,r.IContextMenuService),V(3,n.ICommandService),V(4,(0,n.Inject)(a.SheetsSelectionsService))],Lf);let Rf=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}({});var zf=class extends i.Shape{constructor(e,t,n){super(e,t),R(this,`_size`,12),R(this,`_iconRatio`,.4),R(this,`_hovered`,!0),R(this,`_hasPrevious`,!0),R(this,`_hasNext`,!0),R(this,`_unhideType`,void 0),t&&this.setShapeProps(t),this.onPointerEnter$.subscribeEvent(()=>this.setShapeProps({hovered:!0})),this.onPointerLeave$.subscribeEvent(()=>this.setShapeProps({hovered:!1})),this.onPointerDown$.subscribeEvent(()=>n==null?void 0:n())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===Rf.COLUMN?2:1),height:this._size*(this._unhideType===Rf.ROW?2:1)})}_draw(e){this._unhideType===Rf.ROW?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?i.Rect.drawWith(e,{width:this._size,height:this._size,stroke:Nf,fill:Pf}):i.Rect.drawWith(e,{width:this._size,height:2*this._size,stroke:Nf,fill:Pf}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),a=t*Math.sin(n);if(this._hasPrevious&&i.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-a},{x:this._size/2-a,y:this._size/2+r},{x:this._size/2+a,y:this._size/2+r}]],fill:Nf}),this._hasNext){let t=this._hasPrevious?3:1;i.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*t/2+a},{x:this._size/2-a,y:this._size*t/2-r},{x:this._size/2+a,y:this._size*t/2-r}]],fill:Nf})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?i.Rect.drawWith(e,{width:this._size,height:this._size,stroke:Nf,fill:Pf}):i.Rect.drawWith(e,{width:2*this._size,height:this._size,stroke:Nf,fill:Pf}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),a=t*Math.sin(n);if(this._hasPrevious&&i.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+a,y:this._size/2-a},{x:this._size/2+a,y:this._size/2+a}]],fill:Nf}),this._hasNext){let t=this._hasPrevious?3:1;i.RegularPolygon.drawWith(e,{pointsGroup:[[{x:r+this._size*t/2,y:this._size/2},{x:-a+this._size*t/2,y:this._size/2-a},{x:-a+this._size*t/2,y:this._size/2+a}]],fill:Nf})}}};let Bf=`__SpreadsheetHeaderUnhideSHAPEControllerShape__`,Vf=class extends n.RxDisposable{get _workbook(){return this._context.unit}constructor(e,t,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,R(this,`_shapes`,{cols:[],rows:[]}),this._init()}dispose(){super.dispose(),this._clearShapes()}_init(){let e=``;this._context.unit.activeSheet$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(t=>{if(this._clearShapes(),!t){e=``;return}e=t.getSheetId(),this._update(this._workbook,t)}),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(t){let{unitId:n,sheetId:r}=t;if(n===this._workbook.getUnitId()&&r===e){let e=this._workbook.getSheetBySheetId(r);e&&this._update(this._workbook,e)}}}))}_update(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getSkeletonParam(t.getSheetId()))==null?void 0:n.skeleton;if(!r)return;let i=t.getHiddenRows(),o=t.getHiddenCols(),{scene:s}=this._getSheetObject(),c=t.getRowCount(),l=i.map(n=>{let{startRow:i,endRow:o}=n,l=jr(i,0,s,r),u=i!==0,d=o!==c-1;return new zf(Bf,{type:Rf.ROW,hovered:!1,hasPrevious:u,hasNext:d,top:l.startY-(u?12:0),left:l.startX-12},()=>this._commandService.executeCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))}),u=t.getColumnCount(),d=o.map(n=>{let{startColumn:i,endColumn:o}=n,c=jr(0,i,s,r),l=i!==0,d=o!==u-1;return new zf(Bf,{type:Rf.COLUMN,hovered:!1,hasPrevious:l,hasNext:d,top:8,left:c.startX-(l?12:0)},()=>this._commandService.executeCommand(a.SetSpecificColsVisibleCommand.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))});s.addObjects(d,12),s.addObjects(l,12),this._clearShapes(),this._shapes={cols:d,rows:l}}_clearShapes(){this._shapes.cols.forEach(e=>e.dispose()),this._shapes.rows.forEach(e=>e.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return Ar(this._workbook,this._context)}};Vf=H([V(1,(0,n.Inject)(U)),V(2,n.ICommandService)],Vf);let Hf=`MOBILE_PINCH_ZOOMING`,Uf=`MOBILE_EXPANDING_SELECTION`,Wf=new Set([i.SHEET_VIEWPORT_KEY.VIEW_MAIN,i.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT,i.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,i.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP]),Gf=[W.Selection,W.top,W.bottom,W.left,W.right,W.fillTopLeft,W.fillBottomRight,W.backgroundTop,W.backgroundMiddleLeft,W.backgroundMiddleRight,W.backgroundBottom];function Kf(e){return!!e&&Gf.some(t=>e.startsWith(t))}function qf(e,t){return e.some(e=>n.Rectangle.contains(`range`in e?e.range:e,t))}let Jf=class extends n.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._layoutService=t,this._contextMenuService=n,this._contextService=r,this._renderManagerService=i,this._selectionManagerService=a,this._sheetSkeletonManagerService=o,this._init()}_init(){let e=this._layoutService.getContentElement();if(!e)return;let t=this._createLongPressState(),r=n=>this._handleTouchStart(e,t,n),i=n=>this._handleTouchMove(e,t,n),a=e=>this._handleTouchEnd(t,e);e.addEventListener(`touchstart`,r,{passive:!0}),e.addEventListener(`touchmove`,i,{passive:!0}),e.addEventListener(`touchend`,a,{passive:!1}),e.addEventListener(`touchcancel`,a,{passive:!1}),this.disposeWithMe((0,n.toDisposable)(()=>{this._clearLongPressTimer(t),e.removeEventListener(`touchstart`,r),e.removeEventListener(`touchmove`,i),e.removeEventListener(`touchend`,a),e.removeEventListener(`touchcancel`,a)}))}_createLongPressState(){return{longPressTimer:null,activeTouch:null,longPressTriggered:!1,selectionSnapshot:[],shouldRestoreSelectionSnapshot:!1}}_clearLongPressTimer(e){e.longPressTimer&&(clearTimeout(e.longPressTimer),e.longPressTimer=null)}_resetLongPressState(e){this._clearLongPressTimer(e),e.activeTouch=null}_getTouchOffset(e,t){let n=e.getBoundingClientRect();return{clientX:t.clientX,clientY:t.clientY,offsetX:t.clientX-n.left,offsetY:t.clientY-n.top}}_getMainAreaViewport(e,t){let{scene:n}=this._context,r=n.getActiveViewportByCoord(i.Vector2.FromArray([e,t]));return!r||!Wf.has(r.viewportKey)?null:r}_getTargetCellByOffset(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,a=this._getMainAreaViewport(e,t),{scene:o}=this._context;if(!r||!a)return null;let s=o.getCoordRelativeToViewport(i.Vector2.FromArray([e,t])),c=o.getScrollXYInfoByViewport(s,a),{scaleX:l,scaleY:u}=o.getAncestorScale();return r.getCellWithCoordByOffset(s.x-c.x,s.y-c.y,l,u,c)}_getCurrentRenderSelections(){var e;let t=this._renderManagerService.getRenderById(this._context.unitId),n=t==null?void 0:t.with(B);return(e=n==null?void 0:n.getSelectionControls().map(e=>(0,a.convertSelectionDataToRange)(e.getValue())))==null?[]:e}_cloneSelections(e){return e.map(e=>({range:{...e.range},primary:e.primary?{...e.primary}:e.primary,style:e.style?{...e.style}:e.style}))}_getSelectionSnapshot(){let e=this._getCurrentRenderSelections();return e.length?this._cloneSelections(e):this._cloneSelections(this._selectionManagerService.getCurrentSelections())}_restoreSelectionSnapshot(e){let t=this._context.unit.getActiveSheet();!t||!e.length||this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),this._cloneSelections(e),a.SelectionMoveType.MOVE_END)}_replaceSelectionWithTargetCell(e){let t=this._context.unit.getActiveSheet();t&&this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),[{range:{startRow:e.mergeInfo.startRow,endRow:e.mergeInfo.endRow,startColumn:e.mergeInfo.startColumn,endColumn:e.mergeInfo.endColumn,rangeType:n.RANGE_TYPE.NORMAL,unitId:this._context.unitId,sheetId:t.getSheetId()},primary:(0,a.convertPrimaryWithCoordToPrimary)(e),style:null}],a.SelectionMoveType.MOVE_END)}_openMenu(e,t){this._contextMenuService.triggerContextMenu({clientX:e,clientY:t,preventDefault:()=>{},stopPropagation:()=>{}},r.ContextMenuPosition.MAIN_AREA)}_triggerLongPressMenu(e){if(!e.activeTouch||this._contextMenuService.visible||this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=this._getTargetCellByOffset(e.activeTouch.offsetX,e.activeTouch.offsetY);if(!t)return;let n=this._context.scene.pick(i.Vector2.FromArray([e.activeTouch.offsetX,e.activeTouch.offsetY])),r=e.selectionSnapshot.map(e=>e.range),a=Kf(n==null?void 0:n.oKey)||qf(r,t.mergeInfo);e.longPressTriggered=!0,e.shouldRestoreSelectionSnapshot=a,a&&(this._restoreSelectionSnapshot(e.selectionSnapshot),queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),this._openMenu(e.activeTouch.clientX,e.activeTouch.clientY),a||queueMicrotask(()=>this._replaceSelectionWithTargetCell(t))}_handleTouchStart(e,t,n){if(n.touches.length!==1||this._contextMenuService.visible){this._resetLongPressState(t);return}if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);if(!this._getTargetCellByOffset(r.offsetX,r.offsetY)){this._resetLongPressState(t);return}t.longPressTriggered=!1,t.shouldRestoreSelectionSnapshot=!1,t.selectionSnapshot=this._getSelectionSnapshot(),t.activeTouch=r,this._clearLongPressTimer(t),t.longPressTimer=setTimeout(()=>this._triggerLongPressMenu(t),500)}_handleTouchMove(e,t,n){if(!t.activeTouch||n.touches.length!==1){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);(Math.abs(r.offsetX-t.activeTouch.offsetX)>10||Math.abs(r.offsetY-t.activeTouch.offsetY)>10)&&this._resetLongPressState(t)}_handleTouchEnd(e,t){e.longPressTriggered&&(t.preventDefault(),e.shouldRestoreSelectionSnapshot&&queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),e.longPressTriggered=!1,e.shouldRestoreSelectionSnapshot=!1,this._resetLongPressState(e)}};Jf=H([V(1,r.ILayoutService),V(2,r.IContextMenuService),V(3,n.IContextService),V(4,i.IRenderManagerService),V(5,(0,n.Inject)(a.SheetsSelectionsService)),V(6,(0,n.Inject)(U))],Jf);let Yf=`__MobileHeaderResizeControllerShapeHelper__`,Xf=`rgb(199, 199, 199)`,Zf=class extends n.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=n,this._commandService=r,this._contextService=i,this._scrollManagerService=a,R(this,`_currentRow`,-1),R(this,`_currentColumn`,-1),R(this,`_rowResizeButton`,void 0),R(this,`_columnResizeButton`,void 0),R(this,`_resizeHelperShape`,void 0),R(this,`_isDragging`,!1),R(this,`_touchStartX`,0),R(this,`_touchStartY`,0),R(this,`_touchMoveHandler`,void 0),R(this,`_touchEndHandler`,void 0),R(this,`_selectionSubscription`,void 0),R(this,`_scrollSubscription`,void 0),this._init()}dispose(){var e,t,n,r,i;(e=this._rowResizeButton)==null||e.dispose(),this._rowResizeButton=null,(t=this._columnResizeButton)==null||t.dispose(),this._columnResizeButton=null,(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,(r=this._selectionSubscription)==null||r.unsubscribe(),this._selectionSubscription=null,(i=this._scrollSubscription)==null||i.unsubscribe(),this._scrollSubscription=null,this._cleanupTouchHandlers(),super.dispose()}_init(){this._initResizeShapes(),this._initSelectionListener(),this._initScrollListener()}_initResizeShapes(){let e=this._context.scene;this._rowResizeButton=new qa(`__MobileHeaderResizeControllerShapeRow__`,{visible:!1,mode:Ga.HORIZONTAL,zIndex:100}),this._columnResizeButton=new qa(`__MobileHeaderResizeControllerShapeColumn__`,{visible:!1,mode:Ga.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeButton,this._columnResizeButton],10),this._bindTouchEventsToButton(this._rowResizeButton,`row`),this._bindTouchEventsToButton(this._columnResizeButton,`column`)}_initSelectionListener(){this._selectionSubscription=this._selectionManagerService.selectionMoveEnd$.subscribe(e=>{this._handleSelectionChange(e)}),this.disposeWithMe(this._selectionSubscription)}_initScrollListener(){this._scrollSubscription=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{e&&this._updateButtonPositionOnScroll()}),this.disposeWithMe(this._scrollSubscription)}_handleSelectionChange(e){var t,r;if((t=this._rowResizeButton)==null||t.hide(),(r=this._columnResizeButton)==null||r.hide(),this._currentRow=-1,this._currentColumn=-1,!e||e.length===0)return;let i=e[0],a=i.range.rangeType;a===n.RANGE_TYPE.ROW?this._showRowResizeButton(i):a===n.RANGE_TYPE.COLUMN&&this._showColumnResizeButton(i)}_showRowResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._rowResizeButton)return;let{scene:n}=this._context,{endRow:r}=z(e,t).rangeWithCoord,i=t.getOffsetByRow(r),{rowHeaderWidth:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._rowResizeButton.transformByState({left:a/2-c/2,top:i-c/2}),this._rowResizeButton.setShapeProps({size:Math.min(44,a/3)}),this._currentRow=r,this._rowResizeButton.show()}_showColumnResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._columnResizeButton)return;let{scene:n}=this._context,{endColumn:r}=z(e,t).rangeWithCoord,i=t.getOffsetByColumn(r),{columnHeaderHeight:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._columnResizeButton.transformByState({left:i-c/2,top:a/2-c/2}),this._columnResizeButton.setShapeProps({size:a*.7}),this._currentColumn=r,this._columnResizeButton.show()}_updateButtonPositionOnScroll(){var e,t;let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let{scene:r}=this._context,{scaleX:i,scaleY:a}=r.getAncestorScale(),o=12/Math.max(i,a);if((e=this._rowResizeButton)!=null&&e.visible&&this._currentRow>=0){let e=n.getOffsetByRow(this._currentRow),{rowHeaderWidth:t}=n;this._rowResizeButton.transformByState({left:t/2-o/2,top:e-o/2})}if((t=this._columnResizeButton)!=null&&t.visible&&this._currentColumn>=0){let e=n.getOffsetByColumn(this._currentColumn),{columnHeaderHeight:t}=n;this._columnResizeButton.transformByState({left:e-o/2,top:t/2-o/2})}}_bindTouchEventsToButton(e,t){e.onPointerDown$.subscribeEvent(e=>{this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)||this._startResize(e,t)})}_startResize(e,t){let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let r=this._context.scene,i=r.getEngine(),a=i==null?void 0:i.getCanvasElement();if(!a)return;this._touchStartX=e.offsetX,this._touchStartY=e.offsetY,this._isDragging=!1;let o=t===`row`?n.getOffsetByRow(this._currentRow):n.getOffsetByColumn(this._currentColumn);this._createResizeHelper(t,o,n),r.disableObjectsEvent(),this._setupTouchHandlers(a,t,o)}_setupTouchHandlers(e,t,r){if(!this._sheetSkeletonManagerService.getCurrentSkeleton())return;let i=this._context.scene,o=this._context.unit.getActiveSheet(),s=(o==null?void 0:o.getZoomRatio())||1,c=0;this._touchMoveHandler=n=>{if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)){this._cancelResize();return}if(n.touches.length!==1)return;let i=n.touches[0],a=e.getBoundingClientRect(),o=i.clientX-a.left,l=i.clientY-a.top,u=(t===`row`?l-this._touchStartY:o-this._touchStartX)/s;Math.abs(u)>=2&&(this._isDragging=!0),this._isDragging&&(c=u,this._updateResizeHelper(t,r+u),this._updateResizeButton(t,r+u)),n.preventDefault()},this._touchEndHandler=n=>{i.enableObjectsEvent(),this._isDragging&&Math.abs(c)>=2&&(t===`row`?this._commandService.executeCommand(a.DeltaRowHeightCommand.id,{deltaY:c,anchorRow:this._currentRow}):this._commandService.executeCommand(a.DeltaColumnWidthCommand.id,{deltaX:c,anchorCol:this._currentColumn})),this._cleanupResize(),this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler)),n.preventDefault()},e.addEventListener(`touchmove`,this._touchMoveHandler,{passive:!1}),e.addEventListener(`touchend`,this._touchEndHandler,{passive:!1}),e.addEventListener(`touchcancel`,this._touchEndHandler,{passive:!1}),this.disposeWithMe((0,n.toDisposable)(()=>{this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler))}))}_createResizeHelper(e,t,n){let r=this._context.scene,{scaleX:a,scaleY:o}=r.getAncestorScale(),s=4/Math.max(a,o),c=r.getEngine(),l=(c==null?void 0:c.width)||0,u=(c==null?void 0:c.height)||0;e===`row`?this._resizeHelperShape=new i.Rect(Yf,{width:Math.max(l,n.columnTotalWidth+n.rowHeaderWidth),height:s,fill:Xf,left:0,top:t-s/2}):this._resizeHelperShape=new i.Rect(Yf,{width:s,height:Math.max(u,n.rowTotalHeight+n.columnHeaderHeight),fill:Xf,left:t-s/2,top:0}),r.addObject(this._resizeHelperShape,10)}_updateResizeHelper(e,t){if(!this._resizeHelperShape)return;let{scaleX:n,scaleY:r}=this._context.scene.getAncestorScale(),i=4/Math.max(n,r);e===`row`?this._resizeHelperShape.transformByState({top:t-i/2}):this._resizeHelperShape.transformByState({left:t-i/2})}_updateResizeButton(e,t){let n=e===`row`?this._rowResizeButton:this._columnResizeButton;if(!n)return;let{scaleX:r,scaleY:i}=this._context.scene.getAncestorScale(),a=12/Math.max(r,i);e===`row`?n.transformByState({top:t-a/2}):n.transformByState({left:t-a/2})}_cleanupResize(){var e;(e=this._resizeHelperShape)==null||e.dispose(),this._resizeHelperShape=null,this._isDragging=!1}_cleanupTouchHandlers(){let e=this._context.scene.getEngine(),t=e==null?void 0:e.getCanvasElement();t&&(this._touchMoveHandler&&(t.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchMoveHandler=null),this._touchEndHandler&&(t.removeEventListener(`touchend`,this._touchEndHandler),t.removeEventListener(`touchcancel`,this._touchEndHandler),this._touchEndHandler=null))}_cancelResize(){this._context.scene.enableObjectsEvent(),this._cleanupResize(),this._cleanupTouchHandlers()}};Zf=H([V(1,(0,n.Inject)(U)),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,n.ICommandService),V(4,n.IContextService),V(5,(0,n.Inject)(q))],Zf);let Qf=[Tr.id,Er.id],$f=class extends n.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._renderManagerService=r,this._selectionManagerService=i,this._scrollManagerService=a,this._univerInstanceService=o,this._contextService=s,this._init()}scrollToRange(e){let{endRow:t,endColumn:r,startColumn:i,startRow:a}=e,o=this._getViewportBounding();if(e.rangeType===n.RANGE_TYPE.ROW?(i=0,r=0):e.rangeType===n.RANGE_TYPE.COLUMN&&(a=0,t=0),o){let e=o.startRow>t?a:t,n=o.startColumn>r?i:r;return this._scrollToCell(e,n)}else return this._scrollToCell(a,i)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._initPointerScrollEvent(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(Qf.includes(e.id))this._scrollToSelection();else if(e.id===a.ScrollToCellOperation.id){let t=e.params.range;this.scrollToRange(t)}else if(e.id===Dr.id){let t=e.params;this._scrollToSelectionForExpand(t)}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._selectionManagerService.getCurrentLastSelection();if(t==null)return;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=t.range,s=this._getViewportBounding();if(s==null)return;let{startRow:c,startColumn:l,endRow:u,endColumn:d}=s,f=0,p=0;f=r>c?a:a<u?r:c,p=i>l?o:o<d?i:l,e.direction===n.Direction.DOWN?f=a:e.direction===n.Direction.UP?f=r:e.direction===n.Direction.RIGHT?p=o:e.direction===n.Direction.LEFT&&(p=i),this._scrollToCell(f,p)},0)}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_initScrollEventListener(){let{scene:e}=this._context;if(e==null)return;let t=e.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);t&&(this.disposeWithMe((0,n.toDisposable)(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var n;if(e==null){t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return;let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s}=e,{startX:c,startY:l}=r.getCellWithCoordByIndex(i,a,!1),u=c+o,d=l+s;t.scrollToViewportPos({viewportScrollX:u,viewportScrollY:d})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;if(!e)return;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:c,column:l,rowOffset:u,columnOffset:d}=n.getOffsetRelativeToRowCol(i,a),f={sheetViewStartRow:c,sheetViewStartColumn:l,offsetX:d,offsetY:u,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(f),this._scrollManagerService.validViewportScrollInfo$.next({...f,scrollX:o,scrollY:s,viewportScrollX:i,viewportScrollY:a})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null||e.isTrigger===!1)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e,o=this._getFreeze(),{row:s,column:c,rowOffset:l,columnOffset:u}=n.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(Lr.id,{sheetViewStartRow:s+((o==null?void 0:o.ySplit)||0),sheetViewStartColumn:c+((o==null?void 0:o.xSplit)||0),offsetX:u,offsetY:l})})))}_initSkeletonListener(){this.disposeWithMe((0,n.toDisposable)(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(e==null)return;let t={unitId:e.unitId,sheetId:e.sheetId};this._scrollManagerService.setSearchParam(t);let n=this._getSheetObject();if(!n)return;let r=n.scene.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),a=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:o,viewportScrollY:s}=this._scrollManagerService.calcViewportScrollFromRowColOffset(a);r&&(a?(r.viewportScrollX=o,r.viewportScrollY=s):(r.viewportScrollX=0,r.viewportScrollY=0),this._updateSceneSize(e))})))}_initPointerScrollEvent(){let e=this._getSheetObject();if(!e)return;let t=e.scene,r=e.spreadsheet,a=t.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),o={x:0,y:0},s=!1,c={x:0,y:0},l=null,u=[],d=0,f=0,p={x:0,y:0},m=null,h=.05,g=.26,_=()=>{let e=this._context.unit.getActiveSheet();return(e==null?void 0:e.getZoomRatio())||1},v=()=>({decelerationRate:.992,minVelocityThreshold:.22,maxVelocity:12}),y=(e,t,n)=>{let r=e>0?t/e:0,i=e<240&&t>30,a;if(i){let t=Math.min(r/2,1);a=h+(g-h)*t,e<150&&Math.abs(n)>3&&(a*=1.3)}else a=h*(.5+Math.min(Math.abs(n)/5,1)*.5);return Math.max(h*.5,Math.min(g*1.5,a))},b=()=>{if(u.length===0)return{x:0,y:0};let e=0,t=0,n=0;for(let r=0;r<u.length;r++){let i=(r+1)*(r+1);t+=u[r].x*i,n+=u[r].y*i,e+=i}return{x:t/e,y:n/e}},x=0,S=!1,C=0,w=1,T={x:0,y:0},E=()=>{l!==null&&(cancelAnimationFrame(l),l=null),x=0,c.x=0,c.y=0},D=e=>{if(!a)return;if(S){E();return}if(x===0){x=e,l=requestAnimationFrame(D);return}let t=e-x;x=e;let{decelerationRate:n,minVelocityThreshold:r}=v(),i=n**t;c.x*=i,c.y*=i;let o=-Math.log(n),s=c.x*(1-i)/o,u=c.y*(1-i)/o;(Math.abs(s)>.01||Math.abs(u)>.01)&&this._commandService.executeCommand(Ir.id,{offsetY:u,offsetX:s}),Math.sqrt(c.x*c.x+c.y*c.y)>r?l=requestAnimationFrame(D):(l=null,x=0)},O=t.getEngine(),k=O==null?void 0:O.getCanvasElement();if(!k)return;let A=null,j=null,M=null,N=this._createZoomIndicator(k),P=e=>{let t=k.getBoundingClientRect();return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top}},F=(e,t)=>{let n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(n*n+r*r)},ee=(e,t)=>{let n=P(e),r=P(t);return{x:(n.offsetX+r.offsetX)/2,y:(n.offsetY+r.offsetY)/2}},I=(e,t)=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return!1;let{rowHeaderWidthAndMarginLeft:i,columnHeaderHeightAndMarginTop:a}=r;return e>i&&t>a},L=(e,t,n)=>{var r;let i=(r=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:r.skeleton;if(!i||!a)return null;let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:s}=i,c=a.viewportScrollX||0,l=a.viewportScrollY||0,u=(e-o)/n+c,d=(t-s)/n+l,{row:f,column:p,rowOffset:m,columnOffset:h}=i.getOffsetRelativeToRowCol(Math.max(0,u),Math.max(0,d)),g=i.getCellWithCoordByIndex(f,p,!1);return{row:f,column:p,rowOffset:m,columnOffset:h,cellStartX:g.startX,cellStartY:g.startY}},te=(e,t)=>{var n;if(!a)return;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return;let{rowHeaderWidthAndMarginLeft:i,columnHeaderHeightAndMarginTop:o}=r,s=a.viewportScrollX||0,c=a.viewportScrollY||0,l=T.x-i,u=T.y-o,d,f;if(M)d=M.x-l/e,f=M.y-u/e;else if(A){let t=A.cellStartX+A.columnOffset,n=A.cellStartY+A.rowOffset;d=t-l/e,f=n-u/e}else{let n=e/t;d=s/n,f=c/n}d<0&&(d=0),f<0&&(f=0);let p=this._context.unit,m=p.getActiveSheet();if(!m)return;this._commandService.executeCommand(qr.id,{zoomRatio:e,unitId:p.getUnitId(),subUnitId:m.getSheetId()});let{row:h,column:g,rowOffset:_,columnOffset:v}=r.getOffsetRelativeToRowCol(d,f);this._commandService.executeCommand(Lr.id,{sheetViewStartRow:h,sheetViewStartColumn:g,offsetX:v,offsetY:_})};r.onPointerDown$.subscribeEvent((e,t)=>{E(),t.stopPropagation()});let ne=(e,t)=>{if(S=!0,this._contextService.setContextValue(Hf,!0),C=F(e,t),w=_(),T=ee(e,t),A=L(T.x,T.y,w),a){var n;let e=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(e){let{rowHeaderWidthAndMarginLeft:t,columnHeaderHeightAndMarginTop:n}=e;j={x:a.viewportScrollX||0,y:a.viewportScrollY||0};let r=T.x-t,i=T.y-n;M={x:j.x+r/w,y:j.y+i/w}}}},re=e=>{if(E(),e.touches.length===2){let t=e.touches[0],n=e.touches[1],r=P(t),i=P(n);if(!I(r.offsetX,r.offsetY)||!I(i.offsetX,i.offsetY))return;s=!1,ne(t,n),this._showZoomIndicator(N,Math.round(w*100)),e.preventDefault();return}if(e.touches.length!==1||S||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:r}=P(t);I(n,r)&&(o.x=n,o.y=r,d=performance.now(),f=d,p={x:0,y:0},m=null,u.length=0,s=!0,e.preventDefault())},R=e=>{if(S&&e.touches.length===2){l!==null&&E();let t=e.touches[0],n=e.touches[1],r=F(t,n)/C,i=w*r;i=Math.max(.2,Math.min(2,i)),i=Math.round(i*10)/10;let a=_();Math.abs(i-a)>=.05&&(T=ee(t,n),te(i,a),this._showZoomIndicator(N,Math.round(i*100))),e.preventDefault();return}if(!s||e.touches.length!==1||!a||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:r}=P(t),i=performance.now(),c=i-d;if(c<=0)return;let f=-(n-o.x),h=-(r-o.y),g=_(),v=f/g,y=h/g;if(p.x+=Math.abs(f),p.y+=Math.abs(h),m===null){let e=p.x,t=p.y;(e>8||t>8)&&(m=e>t?`x`:`y`)}let b=v/c*16,x=y/c*16;for(u.push({x:b,y:x,time:i});u.length>5;)u.shift();(v!==0||y!==0)&&this._commandService.executeCommand(Ir.id,{offsetY:y,offsetX:v}),o.x=n,o.y=r,d=i,e.preventDefault()},ie=e=>{if(S){e.touches.length<2&&(S=!1,this._contextService.setContextValue(Hf,!1),A=null,j=null,M=null,E(),u.length=0,this._hideZoomIndicator(N));return}if(!s)return;s=!1;let t=b(),n=y(performance.now()-f,Math.sqrt(p.x*p.x+p.y*p.y),Math.sqrt(t.x*t.x+t.y*t.y)),{maxVelocity:r,minVelocityThreshold:i}=v(),a=Math.max(-r,Math.min(r,t.x*n)),o=Math.max(-r,Math.min(r,t.y*n));c.x=m===`y`?0:a,c.y=m===`x`?0:o,Math.sqrt(c.x*c.x+c.y*c.y)>i*2&&(x=0,l=requestAnimationFrame(D)),u.length=0},ae=()=>{S&&(S=!1,this._contextService.setContextValue(Hf,!1),A=null,j=null,M=null,this._hideZoomIndicator(N)),s&&(s=!1,u.length=0),E()};k.addEventListener(`touchstart`,re,{passive:!1}),k.addEventListener(`touchmove`,R,{passive:!1}),k.addEventListener(`touchend`,ie,{passive:!1}),k.addEventListener(`touchcancel`,ae,{passive:!1}),this.disposeWithMe((0,n.toDisposable)(()=>{k.removeEventListener(`touchstart`,re),k.removeEventListener(`touchmove`,R),k.removeEventListener(`touchend`,ie),k.removeEventListener(`touchcancel`,ae),N&&N.parentElement&&N.parentElement.removeChild(N)}))}_createZoomIndicator(e){let t=e.parentElement;if(!t){let e=document.createElement(`div`);return e.style.display=`none`,e}let n=document.createElement(`div`);return n.style.cssText=`
26
265
  position: absolute;
27
266
  top: 50%;
28
267
  left: 50%;
@@ -40,4 +279,33 @@
40
279
  z-index: 10000;
41
280
  user-select: none;
42
281
  -webkit-user-select: none;
43
- `,window.getComputedStyle(o).position==="static"&&(o.style.position="relative"),o.appendChild(e),e}_showZoomIndicator(n,o){n.textContent=`${o}%`,n.style.opacity="1"}_hideZoomIndicator(n){setTimeout(()=>{n.style.opacity="0"},300)}_updateSceneSize(n){var c;if(n==null)return;const{unitId:o}=this._context,{skeleton:e}=n,t=(c=this._renderManagerService.getRenderById(o))==null?void 0:c.scene;if(e==null||t==null)return;const{rowTotalHeight:i,columnTotalWidth:r,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=e;t==null||t.transformByState({width:s+r,height:l+i})}_getSheetObject(){return Be(this._context.unit,this._context)}_scrollToSelection(n=!0){const o=this._selectionManagerService.getCurrentLastSelection();if(o==null)return;const{startRow:e,startColumn:t,actualRow:i,actualColumn:r}=o.primary,s=n?i:e,l=n?r:t;this._scrollToCell(s,l)}_getViewportBounding(){var t,i;const n=(t=this._getSheetObject())==null?void 0:t.scene;if(n==null)return;const o=n.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(o==null)return;const e=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(e!=null)return e.getRangeByViewport(o.calcViewportInfo())}_scrollToCell(n,o){var P,M,A,D;const{rowHeightAccumulation:e,columnWidthAccumulation:t}=(M=(P=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:P.skeleton)!=null?M:{};if(e==null||t==null)return!1;const i=(A=this._getSheetObject())==null?void 0:A.scene;if(i==null)return!1;const r=i.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(r==null||((D=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:D.skeleton)==null)return!1;const l=this._context.unit.getActiveSheet();if(!l)return!1;const{startColumn:c,startRow:d,ySplit:u,xSplit:h}=l.getFreeze(),g=this._getViewportBounding();if(g==null)return!1;const{startRow:S,startColumn:f,endRow:v,endColumn:p}=g;let C,b;if(n>=d&&o>=c-h&&(n<=S&&(C=n),n>=v)){const k=e[n]-r.height;for(let N=S;N<=n;N++)if(e[N]>=k){C=N+1;break}}if(o>=c&&n>=d-u&&(o<=f&&(b=o),o>=p)){const k=t[o]-r.width;for(let N=f;N<=o;N++)if(t[N]>=k){b=N+1;break}}if(C===void 0&&b===void 0)return!1;const{offsetX:E,offsetY:R}=this._scrollManagerService.getCurrentScrollState()||{};return this._commandService.syncExecuteCommand(Fe.id,{sheetViewStartRow:C,sheetViewStartColumn:b,offsetX:b===void 0?E:0,offsetY:C===void 0?R:0})}};ys=bv([nn(1,a.Inject(T.SheetSkeletonManagerService)),nn(2,a.ICommandService),nn(3,y.IRenderManagerService),nn(4,a.Inject(m.SheetsSelectionsService)),nn(5,a.Inject(T.SheetScrollManagerService)),nn(6,a.IUniverInstanceService),nn(7,a.IContextService)],ys);var wv=Object.getOwnPropertyDescriptor,Tv=(n,o,e,t)=>{for(var i=t>1?void 0:t?wv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Qc=(n,o)=>(e,t)=>o(e,t,n);let Uo=class extends a.Disposable{constructor(n,o,e){super(),this._context=n,this._sheetSkeletonManagerService=o,this._renderManagerService=e,this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(t=>{this._sheetSkeletonManagerService.disposeSkeleton(t.getSheetId())})),this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{this._updateSceneSize(t)})}_updateSceneSize(n){var u;if(n==null)return;const{unitId:o}=this._context,{skeleton:e}=n,t=(u=this._renderManagerService.getRenderById(o))==null?void 0:u.scene;if(e==null||t==null)return;const{rowTotalHeight:i,columnTotalWidth:r,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=e;this._context.unit.getActiveSheet()&&(t==null||t.transformByState({width:s+r,height:l+i}),t.getMainViewport().setMargin(s,l))}};Uo=Tv([Qc(1,a.Inject(T.SheetSkeletonManagerService)),Qc(2,y.IRenderManagerService)],Uo);var yv=Object.getOwnPropertyDescriptor,Rv=(n,o,e,t)=>{for(var i=t>1?void 0:t?yv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Jc=(n,o)=>(e,t)=>o(e,t,n);a.createIdentifier("sheets-ui.services.auto-height");function Mv(n,o){const e=[],t=[...n];let i=o;for(;t.length>0;){const r=t.shift();if(!r)break;const s=r.endRow-r.startRow+1;if(s>i){e.push({...r,startRow:r.startRow,endRow:r.startRow+i-1}),t.unshift({...r,startRow:r.startRow+i});break}else e.push(r),i-=s}return{result:e,lasts:t}}const Pv=500;let Bo=class extends a.Disposable{constructor(o,e,t){super();w(this,"_autoHeightTasks",[]);w(this,"_calculateLoopId",null);this._context=o,this._sheetSkeletonManagerService=e,this._commandService=t,this._initMarkDirty()}_initMarkDirty(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{if(o.id===m.MarkDirtyRowAutoHeightMutation.id){const e=o.params,{unitId:t,subUnitId:i,ranges:r,id:s}=e;if(t!==this._context.unitId)return;this.startAutoHeightTask({ranges:r,sheetId:i,id:s,maxTime:1e4})}if(o.id===m.CancelMarkDirtyRowAutoHeightMutation.id){const e=o.params,{unitId:t,id:i}=e;if(t!==this._context.unitId)return;this.cancelTask(i)}}))}_loopTask(o){const e=o.skeleton;let t=[],i=[];if(o.maxTime&&o.maxTime+o.startTime<=Date.now())t=o.ranges;else{const l=Mv(o.ranges,Pv);t=l.result,i=l.lasts}const s=e.calculateAutoHeightInRange(t).filter(l=>{const{row:c,autoHeight:d}=l;return!(!d||e.getRowHeight(c)===d)});if(i.length&&(o.ranges=i,this._autoHeightTasks.unshift(o)),s.length){const l={unitId:this._context.unitId,subUnitId:o.sheetId,rowsAutoHeightInfo:s};this._commandService.syncExecuteCommand(m.SetWorksheetRowAutoHeightMutation.id,l)}}_calculateLoop(o){for(;this._autoHeightTasks.length&&!(o.timeRemaining()<=0);){const e=this._autoHeightTasks.shift();if(!e){this._calculateLoopId=null;return}this._loopTask(e)}this._calculateLoopId=requestIdleCallback(e=>{this._calculateLoop(e)})}_initialCalculateLoop(){this._calculateLoopId===null&&(this._calculateLoopId=requestIdleCallback(o=>{this._calculateLoop(o)}))}startAutoHeightTask(o){const e=this._sheetSkeletonManagerService.getSkeleton(o.sheetId);if(!e)return;o.ranges=a.Rectangle.mergeRanges(o.ranges.map(i=>({...i,startColumn:0,endColumn:0})));const t=a.Rectangle.subtractMulti(o.ranges,this._autoHeightTasks.filter(i=>i.sheetId===o.sheetId).map(i=>i.ranges).flat());t.length&&(this._autoHeightTasks.push({...o,startTime:Date.now(),skeleton:e,ranges:t}),this._initialCalculateLoop())}cancelTask(o){const e=this._autoHeightTasks.findIndex(t=>t.id===o);e!==-1&&this._autoHeightTasks.splice(e,1)}};Bo=Rv([Jc(1,a.Inject(T.SheetSkeletonManagerService)),Jc(2,a.ICommandService)],Bo);function $c(n){const{popup:o}=n,{extraProps:e}=o,{options:t,defaultValue:i,onChange:r}=e,[s,l]=x.useState(i!=null?i:[]);return I.jsx(F.CascaderList,{options:t,value:s,onChange:r})}$c.componentKey="sheets.dropdown.cascader";function ed(n){const{popup:o}=n,{extraProps:e}=o,{defaultValue:t,onChange:i}=e;return I.jsx(F.ColorPicker,{value:t,onChange:i})}ed.componentKey="sheets.dropdown.color";function td(n){const{popup:o}=n,{extraProps:e}=o,{hideFn:t,patternType:i,defaultValue:r,onChange:s,showTime:l}=e,[c,d]=x.useState(r),u=x.useMemo(()=>i!=="time"?a.dayjs():a.dayjs("1900-01-01 00:00:00"),[]),h=c&&c.isValid()?c:u,g=_.useDependency(a.LocaleService),S=async()=>{if(!h)return;await(s==null?void 0:s(h))&&t()};return I.jsxs("div",{className:"univer-rounded univer-bg-white univer-p-2 univer-shadow-lg dark:!univer-bg-black",children:[i==="time"?I.jsx(F.TimeInput,{value:h.toDate(),onValueChange:f=>{d(a.dayjs(f))}}):I.jsx(F.Calendar,{value:h.toDate(),showTime:l!=null?l:i==="datetime",onValueChange:f=>{d(a.dayjs(f))}}),I.jsx("footer",{className:F.clsx("univer-mt-2 univer-flex univer-justify-end univer-pt-2",F.borderTopClassName),children:I.jsx(F.Button,{size:"small",variant:"primary",onClick:S,disabled:!h||!h.isValid(),children:g.t("dataValidation.alert.ok")})})]})}td.componentKey="sheets.dropdown.date";function Ov(n){return n.filter(Boolean).join(",")}function Av(n){return n.split(",").filter(Boolean)}function Dv(n){const{value:o,onChange:e,multiple:t,options:i,title:r,onEdit:s,style:l,location:c,showEdit:d,showSearch:u}=n,h=_.useDependency(a.LocaleService),{row:g,col:S,unitId:f,subUnitId:v}=c,p=x.useRef(null);x.useEffect(()=>{let A=null;return u&&(A=setTimeout(()=>{var D;(D=p.current)==null||D.focus()},0)),()=>{A&&clearTimeout(A)}},[u]);const[C,b]=x.useState(""),E=x.useMemo(()=>i.filter(A=>C?A.label.toLowerCase().includes(C):!0),[i,C]),R=A=>{b(A.target.value.toLowerCase())},P=_.useDependency(m.SheetPermissionCheckController),M=x.useMemo(()=>P.permissionCheckWithRanges({workbookTypes:[m.WorkbookEditablePermission],rangeTypes:[m.RangeProtectionPermissionEditPoint],worksheetTypes:[m.WorksheetEditPermission]},[{startColumn:S,startRow:g,endColumn:S,endRow:g}],f,v),[P,S,g,f,v]);return I.jsxs("div",{"data-u-comp":"sheets-dropdown-list",className:F.clsx("univer-box-border univer-rounded-lg univer-bg-white univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",F.borderClassName),style:l,children:[u&&I.jsx("div",{className:"univer-box-border univer-flex univer-w-full univer-px-2",children:I.jsx("input",{ref:p,className:"univer-w-full univer-rounded-md univer-border univer-border-[rgba(13,13,13,0.12)] univer-px-2 univer-py-1 univer-text-sm focus:univer-border-primary-500 focus:univer-outline-none dark:!univer-bg-black dark:!univer-text-white",type:"text",value:C,autoFocus:!0,onChange:R})}),I.jsx("div",{className:"univer-px-3.5 univer-py-1 univer-pt-2 univer-text-xs",children:r}),I.jsx("div",{className:F.clsx("univer-flex univer-max-h-52 univer-flex-col univer-gap-1 univer-overflow-y-auto univer-px-2 univer-py-1",F.scrollbarClassName),children:E.map((A,D)=>{const k=o.indexOf(A.value)>-1,N=()=>{let L;k?L=new Set(o.filter(U=>U!==A.value)):L=new Set(t?[...o,A.value]:[A.value]);const W=[];i.forEach(U=>{L.has(U.value)&&W.push(U.value)}),e(W)},H=A.label.toLocaleLowerCase().indexOf(C),V=new a.ColorKit(A.color).isDark();return I.jsxs("div",{className:"univer-flex univer-cursor-pointer univer-flex-row univer-items-center univer-justify-between univer-rounded-md univer-px-1.5 univer-py-1 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700",onClick:N,children:[I.jsx("div",{className:F.clsx("univer-inline-flex univer-h-4 univer-w-fit univer-items-center univer-truncate univer-rounded-full univer-px-1.5 univer-text-xs",{"univer-text-gray-900":!V,"univer-text-white":V}),style:{background:A.color},children:C&&A.label.toLowerCase().includes(C)?I.jsxs(I.Fragment,{children:[I.jsx("span",{children:A.label.substring(0,H)}),I.jsx("span",{className:"univer-font-semibold",children:A.label.substring(H,H+C.length)}),I.jsx("span",{children:A.label.substring(H+C.length)})]}):A.label}),I.jsx("div",{className:"univer-ml-3 univer-size-4 univer-flex-shrink-0 univer-flex-grow-0 univer-text-base univer-text-primary-500",children:k&&I.jsx(Qt,{className:"univer-text-primary-600"})})]},D)})},C),d&&M&&I.jsx("div",{className:F.clsx("univer-box-border univer-px-2 univer-pt-1",F.borderTopClassName),children:I.jsx("a",{className:"univer-block univer-cursor-pointer univer-rounded univer-px-1.5 univer-py-1 univer-text-xs hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",onClick:s,children:h.t("dataValidation.list.edit")})})]})}function nd(n){var C,b;const{popup:{extraProps:o,anchorRect:e}}=n,{location:t,hideFn:i,onChange:r,onEdit:s,options:l,defaultValue:c,multiple:d,showSearch:u,showEdit:h}=o,{worksheet:g}=t;if(!g)return null;const S=_.useDependency(a.LocaleService),[f,v]=x.useState(c),p=((C=e==null?void 0:e.right)!=null?C:0)-((b=e==null?void 0:e.left)!=null?b:0);return I.jsx(Dv,{style:{minWidth:p,maxWidth:Math.max(p,200)},title:d?S.t("dataValidation.listMultiple.dropdown"):S.t("dataValidation.list.dropdown"),value:Av(f!=null?f:""),multiple:d,onChange:async E=>{const R=Ov(E);v(R),await(r==null?void 0:r(E))!==!1&&i()},options:l,onEdit:s,location:t,showEdit:h,showSearch:u})}nd.componentKey="sheets.dropdown.list";const id={datepicker:td,list:nd,color:ed,cascader:$c};var kv=Object.getOwnPropertyDescriptor,Nv=(n,o,e,t)=>{for(var i=t>1?void 0:t?kv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Fo=(n,o)=>(e,t)=>o(e,t,n);const Rs=a.createIdentifier("ICellDropdownManagerService");T.SheetCellDropdownManagerService=class extends a.Disposable{constructor(o,e,t,i){super(),this._canvasPopupManagerService=o,this._zenZoneService=e,this._renderManagerService=t,this._componentManager=i,Object.values(id).forEach(r=>{this.disposeWithMe(this._componentManager.register(r.componentKey,r))})}showDropdown(o){const{location:e,onHide:t,closeOnOutSide:i=!0}=o,{row:r,col:s,unitId:l,subUnitId:c}=e;if(this._zenZoneService.visible)throw new Error("[SheetCellDropdownManagerService]: cannot show dropdown when zen mode is visible");const d=id[o.type],u=this._renderManagerService.getRenderById(a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),h=new a.DisposableCollection,g=this._canvasPopupManagerService.attachPopupToCell(r,s,{componentKey:d.componentKey,onClickOutside:()=>{i&&h.dispose()},offset:[0,3],excludeOutside:[u==null?void 0:u.engine.getCanvasElement()].filter(Boolean),extraProps:{...o,...o.props,hideFn:()=>{h.dispose()}}},l,c);if(!g)throw new Error("[SheetCellDropdownManagerService]: cannot show dropdown");return h.add(g),h.add({dispose:()=>{t==null||t()}}),h}},T.SheetCellDropdownManagerService=Nv([Fo(0,a.Inject(T.SheetCanvasPopManagerService)),Fo(1,_.IZenZoneService),Fo(2,y.IRenderManagerService),Fo(3,a.Inject(_.ComponentManager))],T.SheetCellDropdownManagerService);const Hv=a.createInterceptorKey("PRINTING_RANGE"),Vv=a.createInterceptorKey("PRINTING_COMPONENT_COLLECT"),Wv=a.createInterceptorKey("PRINTING_DOM_COLLECT");class Ms extends a.Disposable{constructor(){super();w(this,"_printComponentMap",new Map);w(this,"interceptor",new a.InterceptorManager({PRINTING_RANGE:Hv,PRINTING_COMPONENT_COLLECT:Vv,PRINTING_DOM_COLLECT:Wv}));this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_RANGE,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}}class Lv extends Jn{constructor(e,t,i,r){super(e,t,i,r);w(this,"_fillControlTopLeft");w(this,"_fillControlBottomRight");w(this,"_rangeType",a.RANGE_TYPE.NORMAL);this._scene=e,this._zIndex=t,this._themeService=i,this._rangeType=(r==null?void 0:r.rangeType)||a.RANGE_TYPE.NORMAL,this.initControlPoints()}initControlPoints(){const e=this.currentStyle,t=e.expandCornerSize||0,i=(e.expandCornerSize||0)/4,r=e.autofillStrokeWidth||0,s=e.stroke,l=e.autofillStroke,c=this.zIndex;this._fillControlTopLeft=new y.Rect(tr.fillTopLeft+c,{zIndex:c+2,width:t,height:t,radius:t/2,visualWidth:i,visualHeight:i,strokeWidth:r}),this._fillControlBottomRight=new y.Rect(tr.fillBottomRight+c,{zIndex:c+2,width:t,height:t,radius:t/2,visualHeight:i,visualWidth:i,strokeWidth:r});const d={fill:s,stroke:l,strokeScaleEnabled:!1};this._fillControlTopLeft.setProps({...d}),this._fillControlBottomRight.setProps({...d});const u=[this._fillControlTopLeft,this._fillControlBottomRight];switch(this._rangeType){case a.RANGE_TYPE.ROW:this.rowHeaderGroup.addObjects(...u);break;case a.RANGE_TYPE.COLUMN:this.columnHeaderGroup.addObjects(...u);break;case a.RANGE_TYPE.NORMAL:this.selectionShapeGroup.addObjects(...u)}this.getScene().addObjects(u,zi)}get fillControlTopLeft(){return this._fillControlTopLeft}set fillControlTopLeft(e){this._fillControlTopLeft=e}get fillControlBottomRight(){return this._fillControlBottomRight}set fillControlBottomRight(e){this._fillControlBottomRight=e}get rangeType(){return this._rangeType}set rangeType(e){this._rangeType=e}dispose(){var e,t;(e=this._fillControlBottomRight)==null||e.dispose(),(t=this._fillControlTopLeft)==null||t.dispose(),super.dispose()}_updateLayoutOfSelectionControl(e){var r,s;super._updateLayoutOfSelectionControl(e);const t=this.currentStyle;e==null&&(e=t);const{widgets:i=t.widgets}=e;if(this.currentStyle=e,this._enableAutoFill===!0&&!super._hasWidgets(i)){const{viewportScrollX:l,viewportScrollY:c}=this.getViewportMainScrollInfo(),{endX:d,endY:u}=this.selectionModel;this.transformControlPoint(l,c,d,u),this.fillControlTopLeft.show(),this.fillControlBottomRight.show()}else(r=this.fillControlTopLeft)==null||r.hide(),(s=this.fillControlBottomRight)==null||s.hide()}getViewportMainScrollInfo(){const e=this.getScene().getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);return{viewportScrollX:(e==null?void 0:e.viewportScrollX)||0,viewportScrollY:(e==null?void 0:e.viewportScrollY)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0}}transformControlPoint(e=0,t=0,i=0,r=0){const s=this.currentStyle,l=this.selectionModel.rangeType,c=s.expandCornerSize,{startX:d,startY:u,endX:h,endY:g}=this.selectionModel,S=this.getViewportMainScrollInfo(),f=S.width,v=S.height;switch(l){case a.RANGE_TYPE.NORMAL:this.fillControlTopLeft.transformByState({left:-c/2,top:-c/2}),this.fillControlBottomRight.transformByState({left:h-d-c/2,top:g-u-c/2});break;case a.RANGE_TYPE.ROW:{const p=Math.min(f/2+e,i),C=-c/2+p;this.fillControlTopLeft.transformByState({left:C,top:-c/2}),this.fillControlBottomRight.transformByState({left:C,top:-c/2+g-u})}break;case a.RANGE_TYPE.COLUMN:{const p=Math.min(+v/2+t,r),C=-c/2+p;this.fillControlTopLeft.transformByState({left:-c/2,top:C}),this.fillControlBottomRight.transformByState({left:-c/2+h-d,top:C})}break;default:console.error("unknown range type")}}}var xv=Object.getOwnPropertyDescriptor,Uv=(n,o,e,t)=>{for(var i=t>1?void 0:t?xv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},St=(n,o)=>(e,t)=>o(e,t,n);let Ps=class extends $o{constructor(o,e,t,i,r,s,l,c,d,u){super(e,t,i,s,d);w(this,"_workbookSelections");w(this,"_renderDisposable",null);w(this,"_expandingSelection",!1);w(this,"_selectionControls",[]);w(this,"expandingControlMode","bottom-right");w(this,"_anchorCellForExpanding",null);this._context=o,this._logService=l,this._commandService=c,this._contextService=d,this._scrollManagerService=u,this._workbookSelections=r.getWorkbookSelections(this._context.unitId),this._init()}_init(){const o=this._getSheetObject();this._initEventListeners(o),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._updateControlPointWhenScrolling()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(o=>{var d,u;if(o==null){this._logService.error("[SelectionRenderService]: should not receive null!");return}const e=this._context.unitId,{sheetId:t,skeleton:i}=o,{scene:r}=this._context,s=r.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),l=(u=(d=this._skeleton)==null?void 0:d.worksheet)==null?void 0:u.getSheetId();if(this._changeRuntime(i,r,s),l!==i.worksheet.getSheetId()){const h=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(m.SetSelectionsOperation.id,{unitId:e,subUnitId:t,selections:h.length!==0?h:[Xi(i)]})}const c=this._workbookSelections.getCurrentSelections();c!=null&&this.resetSelectionsByModelData(c)}))}_initSelectionChangeListener(){this.disposeWithMe(O.merge(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(o=>{o&&this.resetSelectionsByModelData(o)}))}_initEventListeners(o){const{spreadsheetRowHeader:e,spreadsheetColumnHeader:t,spreadsheet:i,spreadsheetLeftTopPlaceholder:r}=o,{scene:s}=this._context;this._initSpreadsheetEvent(o),this.disposeWithMe(e==null?void 0:e.onPointerDown$.subscribeEvent((l,c)=>{if(this._normalSelectionDisabled())return;const d=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:u}=$e(l.offsetX,l.offsetY,s,d);Ya(this._workbookSelections.getCurrentSelections(),u)||(this.createNewSelection(l,(i.zIndex||1)+1,a.RANGE_TYPE.ROW,this._getActiveViewport(l)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(t==null?void 0:t.onPointerDown$.subscribeEvent((l,c)=>{if(this._normalSelectionDisabled())return;const d=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:u}=$e(l.offsetX,l.offsetY,s,d);ja(this._workbookSelections.getCurrentSelections(),u)||(this.createNewSelection(l,(i.zIndex||1)+1,a.RANGE_TYPE.COLUMN,this._getActiveViewport(l)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(r==null?void 0:r.onPointerDown$.subscribeEvent((l,c)=>{if(this._normalSelectionDisabled())return;this._reset();const d=this._sheetSkeletonManagerService.getCurrentParam().skeleton,u=er(d);this._addSelectionControlByModelData(u),this.refreshSelectionMoveStart(),c.stopPropagation(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}))}_initSpreadsheetEvent(o){const{spreadsheet:e}=o;let t;const i=500,r={x:0,y:0},s=()=>{clearTimeout(t)},l=(u,h)=>{this._contextService.getContextValue(gt)||(this.createNewSelection(u,e.zIndex+1,a.RANGE_TYPE.NORMAL,this._getActiveViewport(u)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))};e==null||e.onPointerMove$.subscribeEvent((u,h)=>{(Math.abs(u.offsetX-r.x)>10||Math.abs(u.offsetY-r.y)>10)&&s()});const c=e==null?void 0:e.onPointerDown$.subscribeEvent((u,h)=>{this._contextService.getContextValue(gt)||(r.x=u.offsetX,r.y=u.offsetY,t=setTimeout(()=>{l(u)},i),h.stopPropagation())}),d=e==null?void 0:e.onPointerUp$.subscribeEvent((u,h)=>{if(this._normalSelectionDisabled()||this._contextService.getContextValue(gt))return;clearTimeout(t);const g=10;Math.abs(u.offsetX-r.x)>g||Math.abs(u.offsetY-r.y)>g||(l(u),h.stopPropagation())});this.disposeWithMe(a.toDisposable(c)),this.disposeWithMe(a.toDisposable(d))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(o=>this._updateSelections(o,m.SelectionMoveType.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(o=>this._updateSelections(o,m.SelectionMoveType.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(m.REF_SELECTIONS_ENABLED).pipe(O.startWith(!1),O.distinctUntilChanged()).subscribe(o=>{var e;o?((e=this._renderDisposable)==null||e.dispose(),this._renderDisposable=null,this._reset()):this._renderDisposable=a.toDisposable(this.selectionMoveEnd$.subscribe(t=>this._updateSelections(t,m.SelectionMoveType.MOVE_END)))}))}_updateSelections(o,e){const t=this._context.unit,i=t.getUnitId(),r=t.getActiveSheet().getSheetId();o.length!==0&&this._commandService.executeCommand(m.SetSelectionsOperation.id,{unitId:i,subUnitId:r,type:e,selections:o.map(s=>m.convertSelectionDataToRange(s))})}createNewSelection(o,e=0,t=a.RANGE_TYPE.NORMAL,i){this._rangeType=t;const r=this._skeleton,s=this._scene;if(!s||!r)return;i&&(this._activeViewport=i);const{offsetX:l,offsetY:c}=o,d=s.getCoordRelativeToViewport(y.Vector2.FromArray([l,c])),{x:u,y:h}=d;this._startViewportPosX=u,this._startViewportPosY=h;const g=s.getScrollXYInfoByViewport(d),{scaleX:S,scaleY:f}=s.getAncestorScale(),v=this._skeleton.getCellByOffset(u,h,S,f,g);if(!v)return;switch(t){case a.RANGE_TYPE.NORMAL:break;case a.RANGE_TYPE.ROW:v.startColumn=0,v.endColumn=this._skeleton.getColumnCount()-1;break;case a.RANGE_TYPE.COLUMN:v.startRow=0,v.endRow=this._skeleton.getRowCount()-1;break;case a.RANGE_TYPE.ALL:v.startRow=0,v.startColumn=0,v.endRow=this._skeleton.getRowCount()-1,v.endColumn=this._skeleton.getColumnCount()-1}const p={range:v,primary:v,style:null};p.range.rangeType=t;const C=Oe(p,this._skeleton);this._startRangeWhenPointerDown={...C.rangeWithCoord};let b=this.getActiveSelectionControl();const E={...C.rangeWithCoord};for(const R of this.getSelectionControls())if(R.model.isEqual(E)){b=R;break}(b==null?void 0:b.model.rangeType)!==t?(this._clearAllSelectionControls(),b=this.newSelectionControl(s,r,p)):b.updateRangeBySelectionWithCoord(C),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._expandingSelection=!1}newSelectionControl(o,e,t){const i=this.getSelectionControls(),{rowHeaderWidth:r,columnHeaderHeight:s}=e,l=t.range.rangeType,c=new Lv(o,i.length,this._themeService,{highlightHeader:this._highlightHeader,rowHeaderWidth:r,columnHeaderHeight:s,rangeType:l}),d=Oe(t,e);c.updateRangeBySelectionWithCoord(d),this._selectionControls.push(c);const{expandingModeForTopLeft:u,expandingModeForBottomRight:h}=(()=>{switch(l){case a.RANGE_TYPE.NORMAL:return{expandingModeForTopLeft:"top-left",expandingModeForBottomRight:"bottom-right"};case a.RANGE_TYPE.ROW:return{expandingModeForTopLeft:"top",expandingModeForBottomRight:"bottom"};case a.RANGE_TYPE.COLUMN:return{expandingModeForTopLeft:"left",expandingModeForBottomRight:"right"};case a.RANGE_TYPE.ALL:return{expandingModeForTopLeft:"top-left",expandingModeForBottomRight:"bottom-right"};default:return{expandingModeForTopLeft:"top-left",expandingModeForBottomRight:"bottom-right"}}})();return c.fillControlTopLeft.onPointerDown$.subscribeEvent(g=>{this._expandingSelection=!0,this._contextService.setContextValue(Zn,!0),this.expandingControlMode=u,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(g,l,this._activeViewport)}),c.fillControlBottomRight.onPointerDown$.subscribeEvent(g=>{this._expandingSelection=!0,this._contextService.setContextValue(Zn,!0),this.expandingControlMode=h,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(g,l,this._activeViewport)}),(l===a.RANGE_TYPE.ROW||l===a.RANGE_TYPE.COLUMN)&&!o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),c}_getActiveViewport(o){const e=this._getSheetObject();return e==null?void 0:e.scene.getActiveViewportByCoord(y.Vector2.FromArray([o.offsetX,o.offsetY]))}_getSheetObject(){return Be(this._context.unit,this._context)}_normalSelectionDisabled(){return this._contextService.getContextValue(m.REF_SELECTIONS_ENABLED)}getSelectionControls(){return this._selectionControls}_fillControlPointerDownHandler(o,e=a.RANGE_TYPE.NORMAL,t,i=y.ScrollTimerType.ALL){var g;const r=this._skeleton,s=this._scene;if(!s||!r)return;t&&(this._activeViewport=t);const l=s.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),c=this.getActiveSelectionControl();if(!c)return;const d=this._changeCurrCellWhenControlPointerDown();this._anchorCellForExpanding=d,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._addEndingListeners(),(g=s.getTransformer())==null||g.clearSelectedObjects();const u=s.getCoordRelativeToViewport(y.Vector2.FromArray([o.offsetX,o.offsetY]));this._setupPointerMoveListener(l,c,e,i,u.x,u.y);const h=this._shortcutService.forceEscape();this._scenePointerUpSub=s.onPointerUp$.subscribeEvent(S=>{this.endSelection(),this._expandingSelection=!1,this._contextService.setContextValue(Zn,!1),this.expandingControlMode="bottom-right",this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),h.dispose()})}_changeCurrCellWhenControlPointerDown(){const o=this.getActiveSelectionControl(),e=this._skeleton;let t;const{startRow:i,startColumn:r,endRow:s,endColumn:l}=o.model;switch(this.expandingControlMode){case"top-left":t=e.getCellWithCoordByIndex(s,l);break;case"bottom-right":t=e.getCellWithCoordByIndex(i,r);break;case"left":t=e.getCellWithCoordByIndex(i,l),t.isMerged=!1,t.isMergedMainCell=!1;break;case"right":t=e.getCellWithCoordByIndex(i,r),t.isMerged=!1,t.isMergedMainCell=!1;break;case"top":t=e.getCellWithCoordByIndex(s,r),t.isMerged=!1,t.isMergedMainCell=!1;break;case"bottom":t=e.getCellWithCoordByIndex(i,r),t.isMerged=!1,t.isMergedMainCell=!1;break;default:t=e.getCellWithCoordByIndex(i,r)}return o.updateCurrCell(t),t}_setupPointerMoveListener(o,e,t,i=y.ScrollTimerType.ALL,r,s){var c,d;this._scrollTimer=y.ScrollTimer.create(this._scene,i),this._scrollTimer.startScroll((c=o==null?void 0:o.left)!=null?c:0,(d=o==null?void 0:o.top)!=null?d:0,o);const l=this._scene;this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(u=>{if(this._contextService.getContextValue(gt))return;const{offsetX:h,offsetY:g}=u,{x:S,y:f}=l.getCoordRelativeToViewport(y.Vector2.FromArray([h,g]));this._movingHandler(S,f,e,t);const v=S,p=f;this._scrollTimer.scrolling(v,p,()=>{this._movingHandler(S,f,e,t)})})}_movingHandler(o,e,t,i){var N,H,V,L,W,U,B,X,z,Y,G,K,ee,ne;this._rangeType=i;const r=this._skeleton,s=this._scene,l={startRow:t.model.startRow,endRow:t.model.endRow,startColumn:t.model.startColumn,endColumn:t.model.endColumn},c=s.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),d=(N=this._getViewportByCell(l.endRow,l.endColumn))!=null?N:c,u=s.getScrollXYInfoByViewport(y.Vector2.FromArray([this._startViewportPosX,this._startViewportPosY]),d),{scaleX:h,scaleY:g}=s.getAncestorScale();i===a.RANGE_TYPE.ROW?o=Number.POSITIVE_INFINITY:i===a.RANGE_TYPE.COLUMN&&(e=Number.POSITIVE_INFINITY);const S=this._getSelectionWithCoordByOffset(o,e,h,g,u);if(!S)return!1;const{rangeWithCoord:f}=S,v=(H=this._anchorCellForExpanding)!=null?H:t.model.currentCell,p=(W=(L=(V=v==null?void 0:v.mergeInfo)==null?void 0:V.startRow)!=null?L:v==null?void 0:v.actualRow)!=null?W:-1,C=(X=(B=(U=v==null?void 0:v.mergeInfo)==null?void 0:U.endRow)!=null?B:v==null?void 0:v.actualRow)!=null?X:-1,b=(G=(Y=(z=v==null?void 0:v.mergeInfo)==null?void 0:z.startColumn)!=null?Y:v==null?void 0:v.actualColumn)!=null?G:-1,E=(ne=(ee=(K=v==null?void 0:v.mergeInfo)==null?void 0:K.endColumn)!=null?ee:v==null?void 0:v.actualColumn)!=null?ne:-1;let R=Math.min(f.startRow,p);p===-1&&(R=f.startRow);let P=Math.min(f.startColumn,b);b===-1&&(P=f.startColumn);let M={startRow:R,startColumn:P,endRow:Math.max(f.endRow,C),endColumn:Math.max(f.endColumn,E)};if(i===a.RANGE_TYPE.NORMAL?M=r.expandRangeByMerge(M):i===a.RANGE_TYPE.COLUMN?M={startRow:0,startColumn:Math.min(f.startColumn,b),endRow:r.getRowCount()-1,endColumn:Math.max(f.endColumn,E)}:i===a.RANGE_TYPE.ROW&&(M={startRow:Math.min(f.startRow,p),startColumn:0,endRow:Math.max(f.endRow,C),endColumn:r.getColumnCount()-1}),!M)return!1;const D=Oe({range:M,style:null,primary:null},r);(l.startRow!==M.startRow||l.startColumn!==M.startColumn||l.endRow!==M.endRow||l.endColumn!==M.endColumn)&&t&&(t.updateRangeBySelectionWithCoord(D),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_updateControlPointWhenScrolling(){const{scene:o}=this._context;if(!o.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN))return;const t=this._scrollManagerService.validViewportScrollInfo$.subscribe(i=>{var g;if(i==null)return;const{viewportScrollX:r,viewportScrollY:s}=i,l=this.getActiveSelectionControl();if(l==null)return;const c=(g=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:g.skeleton,d=c==null?void 0:c.rowTotalHeight,u=c==null?void 0:c.columnTotalWidth,h=l.rangeType;h===a.RANGE_TYPE.COLUMN?l.transformControlPoint(0,s,u,d):h===a.RANGE_TYPE.ROW&&l.transformControlPoint(r,0,u,d)});this.disposeWithMe(a.toDisposable(t))}};Ps=Uv([St(1,a.Inject(a.Injector)),St(2,a.Inject(a.ThemeService)),St(3,_.IShortcutService),St(4,a.Inject(m.SheetsSelectionsService)),St(5,a.Inject(T.SheetSkeletonManagerService)),St(6,a.ILogService),St(7,a.ICommandService),St(8,a.IContextService),St(9,a.Inject(T.SheetScrollManagerService))],Ps);var Bv=Object.defineProperty,Fv=Object.getOwnPropertyDescriptor,zv=(n,o,e)=>o in n?Bv(n,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[o]=e,Xv=(n,o,e,t)=>{for(var i=t>1?void 0:t?Fv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Wi=(n,o)=>(e,t)=>o(e,t,n),zo=(n,o,e)=>zv(n,typeof o!="symbol"?o+"":o,e);T.UniverSheetsMobileUIPlugin=class extends a.Plugin{constructor(o=oo,e,t,i,r,s){super(),this._config=o,this._injector=e,this._renderManagerService=t,this._configService=i,this._univerInstanceService=r,this._componentManager=s;const{menu:l,...c}=a.merge({},oo,this._config);if(c.protectedRangeUserSelector){const{component:d,framework:u}=c.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(ri,d,{framework:u}))}l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig(Pe,{...c})}onStarting(){a.registerDependencies(this._injector,a.mergeOverrideWithDependencies([[bn],[Ie,{useClass:T.EditorBridgeService}],[We,{useClass:T.SheetClipboardService}],[Yt,{useClass:ga}],[qe,{useClass:$i}],[Mn,{useClass:Ir}],[An,{useClass:xa}],[m.IRefSelectionsService,{useClass:m.RefSelectionsService}],[Ms],[Ai,{useClass:ds}],[Ot,{useClass:T.MarkSelectionService}],[T.HoverManagerService],[T.DragManagerService],[T.SheetCanvasPopManagerService],[T.CellPopupManagerService],[T.CellAlertManagerService],[mr],[Rs,{useClass:T.SheetCellDropdownManagerService}],[T.SheetCellEditorResizeService],[T.AutoHeightController],[T.AutoWidthController],[T.FormulaEditorController],[T.SheetsRenderService],[Ro],[T.StatusBarController],[T.AutoFillUIController],[zn],[Bn],[Fn],[Un],[T.EditingRenderController],[xt],[Xn],[bt],[Yn],[T.SheetPermissionCheckUIController],[jn]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),a.registerDependencies(this._injector,[[en]]),this._registerRenderBasics(),a.touchDependencies(this._injector,[[Ro],[T.SheetsRenderService],[T.SheetPermissionCheckUIController],[Xn]])}onRendered(){this._registerRenderModules(),a.touchDependencies(this._injector,[[jn],[xt],[en],[T.FormulaEditorController],[Bn],[T.StatusBarController],[T.AutoHeightController],[T.AutoWidthController],[Fn],[Un],[T.EditingRenderController]])}onSteady(){a.touchDependencies(this._injector,[[zn],[T.AutoFillUIController],[Yn]])}_registerRenderBasics(){[[T.SheetSkeletonManagerService],[Uo],[T.SheetRenderController],[ye,{useClass:Ps}],[T.SheetScrollManagerService],[Bo]].forEach(o=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,o))})}_registerRenderModules(){var i;const o=[[T.HeaderMoveRenderController],[xo],[T.SheetsScrollRenderController],[ys],[T.HeaderFreezeRenderController],[gi],[Ho],[No],[Io],[bo],[wo],[yo],[T.HoverRenderController],[T.DragRenderController],[To],[T.CellCustomRenderController],[Ts],[Mo],[bi],[Po],[Ao],[Do],[ko]],e=this._configService.getConfig(_.UI_PLUGIN_CONFIG_KEY);((i=e==null?void 0:e.contextMenu)==null||i)&&o.push([Lo]),o.forEach(r=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,r))})}_initAutoFocus(){const o=this._univerInstanceService;this.disposeWithMe(o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(ve.filter(e=>!!e)).subscribe(e=>o.focusUnit(e.getUnitId())))}},zo(T.UniverSheetsMobileUIPlugin,"pluginName","SHEET_UI_PLUGIN"),zo(T.UniverSheetsMobileUIPlugin,"packageName",_o.name),zo(T.UniverSheetsMobileUIPlugin,"version",_o.version),zo(T.UniverSheetsMobileUIPlugin,"type",a.UniverInstanceType.UNIVER_SHEET),T.UniverSheetsMobileUIPlugin=Xv([a.DependentOn(m.UniverSheetsPlugin,_.UniverMobileUIPlugin),Wi(1,a.Inject(a.Injector)),Wi(2,y.IRenderManagerService),Wi(3,a.IConfigService),Wi(4,a.IUniverInstanceService),Wi(5,a.Inject(_.ComponentManager))],T.UniverSheetsMobileUIPlugin);var Yv=Object.getOwnPropertyDescriptor,jv=(n,o,e,t)=>{for(var i=t>1?void 0:t?Yv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Os=(n,o)=>(e,t)=>o(e,t,n);let As=class extends a.Disposable{constructor(n,o,e,t){super(),this._context=n,this._contextMenuService=o,this._selectionManagerService=e,this._selectionRenderService=t,this._init()}_init(){var l,c;const o=((c=(l=this._context)==null?void 0:l.mainComponent)==null?void 0:c.onPointerDown$).subscribeEvent(d=>{if(d.button===2){const u=this._selectionManagerService.getCurrentSelections(),h=u==null?void 0:u[0];if(!h)return;const g=h.range.rangeType,S=this._selectionRenderService.getSkeleton(),v=Oe(h,S).rangeWithCoord,p=()=>{if(!v)return!1;const b=d.offsetX,E=d.offsetY;switch(g){case a.RANGE_TYPE.ROW:return v.startY<=E&&v.endY>=E;case a.RANGE_TYPE.COLUMN:return v.startX<=b&&v.endX>=b;default:return v.startX<=b&&v.endX>=b&&v.startY<=E&&v.endY>=E}},C=b=>{this._contextMenuService.triggerContextMenu(d,b)};p()?g===a.RANGE_TYPE.COLUMN?C(_.ContextMenuPosition.COL_HEADER):g===a.RANGE_TYPE.ROW?C(_.ContextMenuPosition.ROW_HEADER):C(_.ContextMenuPosition.MAIN_AREA):C(_.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(o);const e=this._context.components.get(_e.COLUMN),i=this._context.components.get(_e.ROW).onPointerDown$.subscribeEvent(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,_.ContextMenuPosition.ROW_HEADER)});this.disposeWithMe(i);const s=e.onPointerDown$.subscribeEvent(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,_.ContextMenuPosition.COL_HEADER)});this.disposeWithMe(s)}};As=jv([Os(1,_.IContextMenuService),Os(2,a.Inject(m.SheetsSelectionsService)),Os(3,ye)],As);var Zv=Object.getOwnPropertyDescriptor,Gv=(n,o,e,t)=>{for(var i=t>1?void 0:t?Zv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},od=(n,o)=>(e,t)=>o(e,t,n);function Kv(n){return typeof n.setShadowStrategy=="function"}T.SheetPermissionRenderManagerService=class extends a.Disposable{constructor(e,t){super();w(this,"_currentStrategy");w(this,"_strategySubject");this._configService=e,this._renderManagerService=t;const i=this._configService.getConfig(Pe);this._currentStrategy=Sr(i==null?void 0:i.protectedRangeShadow),this._strategySubject=new O.BehaviorSubject(this._currentStrategy),this.disposeWithMe({dispose:()=>{this._strategySubject.complete()}})}_updateAllWorkbooks(e){this._renderManagerService.getRenderAll().forEach(i=>{const r=i.mainComponent;if(!r)return;const s=[{key:vs},{key:ps},{key:Cs}];let l=!1;for(const{key:c}of s){const d=r.getExtensionByKey(c);d&&Kv(d)&&(d.setShadowStrategy(e),l=!0)}l&&r.makeDirty(!0)})}setProtectedRangeShadowStrategy(e){this._currentStrategy=e,this._strategySubject.next(e),this._updateAllWorkbooks(e)}getProtectedRangeShadowStrategy(){return this._currentStrategy}getProtectedRangeShadowStrategy$(){return this._strategySubject.asObservable()}dispose(){super.dispose(),this._strategySubject.complete()}},T.SheetPermissionRenderManagerService=Gv([od(0,a.IConfigService),od(1,y.IRenderManagerService)],T.SheetPermissionRenderManagerService);var qv=Object.getOwnPropertyDescriptor,Qv=(n,o,e,t)=>{for(var i=t>1?void 0:t?qv(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Mt=(n,o)=>(e,t)=>o(e,t,n);T.SheetSelectionRenderService=class extends $o{constructor(e,t,i,r,s,l,c,d,u){super(t,i,r,l,u);w(this,"_workbookSelections");w(this,"_renderDisposable",null);this._context=e,this._logService=c,this._commandService=d,this._contextService=u,this._workbookSelections=s.getWorkbookSelections(this._context.unitId),this._init()}_init(){const e=this._getSheetObject();this._contextService.setContextValue(m.SELECTIONS_ENABLED,!0),this._initEventListeners(e),this._initSelectionModelChangeListener(),this._initThemeChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener()}dispose(){var e;super.dispose(),(e=this._renderDisposable)==null||e.dispose()}_initEventListeners(e){const{spreadsheetRowHeader:t,spreadsheetColumnHeader:i,spreadsheet:r,spreadsheetLeftTopPlaceholder:s}=e,{scene:l}=this._context;this.disposeWithMe(r==null?void 0:r.onPointerDown$.subscribeEvent((c,d)=>{this.isSelectionDisabled()||this.inRefSelectionMode()||(this._onPointerDown(c,r.zIndex+1,a.RANGE_TYPE.NORMAL,this._getActiveViewport(c)),c.button!==2&&d.stopPropagation())})),this.disposeWithMe(t==null?void 0:t.onPointerDown$.subscribeEvent((c,d)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;const u=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:h}=$e(c.offsetX,c.offsetY,l,u);Ya(this._workbookSelections.getCurrentSelections(),h)||(this._onPointerDown(c,(r.zIndex||1)+1,a.RANGE_TYPE.ROW,this._getActiveViewport(c),y.ScrollTimerType.Y),c.button!==2&&d.stopPropagation())})),this.disposeWithMe(i==null?void 0:i.onPointerDown$.subscribeEvent((c,d)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;const u=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:h}=$e(c.offsetX,c.offsetY,l,u);ja(this._workbookSelections.getCurrentSelections(),h)||(this._onPointerDown(c,(r.zIndex||1)+1,a.RANGE_TYPE.COLUMN,this._getActiveViewport(c),y.ScrollTimerType.X),c.button!==2&&d.stopPropagation())})),this.disposeWithMe(s==null?void 0:s.onPointerDown$.subscribeEvent((c,d)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;this._reset();const u=this._sheetSkeletonManagerService.getCurrentParam().skeleton,h=er(u);this._addSelectionControlByModelData(h),this.refreshSelectionMoveEnd(),c.button!==2&&d.stopPropagation()}))}_initThemeChangeListener(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._initSelectionThemeFromThemeService();const e=this._workbookSelections.getCurrentSelections();e&&this.resetSelectionsByModelData(e)}))}_initSelectionModelChangeListener(){this.disposeWithMe(O.merge(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(e=>{this.resetSelectionsByModelData(e)}))}disableSelection(){this._contextService.setContextValue(m.SELECTIONS_ENABLED,!1)}enableSelection(){this._contextService.setContextValue(m.SELECTIONS_ENABLED,!0)}transparentSelection(){const e=this._themeService.getCurrentTheme(),t=a.set(e,"primary.600","transparent");this.setSelectionTheme(t);const i=this._workbookSelections.getCurrentSelections();for(let r=0;r<i.length;r++){const s=i[r];s.style=st(this._selectionTheme)}this.resetSelectionsByModelData(i)}showSelection(){const e=this._themeService.getCurrentTheme();this.setSelectionTheme(e);const t=this._workbookSelections.getCurrentSelections();for(let i=0;i<t.length;i++){const r=t[i];r.style&&(r.style=st(this._selectionTheme))}this.resetSelectionsByModelData(t)}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>this._updateSelections(e,m.SelectionMoveType.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(e=>this._updateSelections(e,m.SelectionMoveType.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(m.REF_SELECTIONS_ENABLED).pipe(O.startWith(!1),O.distinctUntilChanged()).subscribe(e=>{e&&this._reset()})),this.disposeWithMe(this._contextService.subscribeContextValue$(m.SELECTIONS_ENABLED).pipe(O.startWith(!0),O.distinctUntilChanged()).subscribe(e=>{var t;e?this._renderDisposable=a.toDisposable(this.selectionMoveEnd$.subscribe(i=>{this._updateSelections(i,m.SelectionMoveType.MOVE_END)})):((t=this._renderDisposable)==null||t.dispose(),this._renderDisposable=null,this._reset())}))}_updateSelections(e,t){const i=this._context.unit,r=i.getUnitId(),s=i.getActiveSheet().getSheetId();if(e.length===0)return;const l=e.map(c=>m.convertSelectionDataToRange(c));this._commandService.executeCommand(m.SetSelectionsOperation.id,{unitId:r,subUnitId:s,type:t,selections:l})}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var u,h;if(e==null){this._logService.error("[SelectionRenderService]: should not receive null!");return}const t=this._context.unitId,{sheetId:i,skeleton:r}=e,{scene:s}=this._context,l=s.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN),c=(h=(u=this._skeleton)==null?void 0:u.worksheet)==null?void 0:h.getSheetId();if(this._changeRuntime(r,s,l),c!==r.worksheet.getSheetId()){const g=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(m.SetSelectionsOperation.id,{unitId:t,subUnitId:i,selections:g.length!==0?g:[Xi(r)]})}const d=this._workbookSelections.getCurrentSelections();d!=null&&this.resetSelectionsByModelData(d)}))}_getActiveViewport(e){const t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(y.Vector2.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return Be(this._context.unit,this._context)}_onPointerDown(e,t=0,i=a.RANGE_TYPE.NORMAL,r,s=y.ScrollTimerType.ALL){var H,V;this._rangeType=i;const l=this._skeleton,c=this._scene;if(!c||!l)return;r&&(this._activeViewport=r);const{offsetX:d,offsetY:u}=e,h=c.getViewport(y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!h)return;const g=c.getCoordRelativeToViewport(y.Vector2.FromArray([d,u])),{x:S,y:f}=g;this._startViewportPosX=S,this._startViewportPosY=f;const v=c.getScrollXYInfoByViewport(g),{scaleX:p,scaleY:C}=c.getAncestorScale(),b=this._skeleton.getCellByOffset(S,f,p,C,v);if(!b)return;switch(i){case a.RANGE_TYPE.NORMAL:break;case a.RANGE_TYPE.ROW:b.startColumn=0,b.endColumn=this._skeleton.getColumnCount()-1,b.startRow=b.actualRow,b.endRow=b.actualRow;break;case a.RANGE_TYPE.COLUMN:b.startRow=0,b.endRow=this._skeleton.getRowCount()-1,b.startColumn=b.actualColumn,b.endColumn=b.actualColumn;break;case a.RANGE_TYPE.ALL:b.startRow=0,b.startColumn=0,b.endRow=this._skeleton.getRowCount()-1,b.endColumn=this._skeleton.getColumnCount()-1}const E={range:b,primary:b,style:null};E.range.rangeType=i;const R=Oe(E,this._skeleton);this._startRangeWhenPointerDown={...R.rangeWithCoord};let P=this.getActiveSelectionControl();const M={...R.rangeWithCoord,rangeType:i},A=this.getSelectionControls();for(const L of A)if(e.button===2&&a.Rectangle.contains(L.model,M)){P=L;return}this._checkClearPreviousControls(e);const D=P==null?void 0:P.model.currentCell,k=e.shiftKey&&D,N=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;k?this._makeSelectionByTwoCells(D,M,l,i,P):N&&P?P.updateRangeBySelectionWithCoord(R):P=this.newSelectionControl(c,l,E);for(let L=0;L<this.getSelectionControls().length-1;L++)this.getSelectionControls()[L].clearHighlight();c.disableObjectsEvent(),this._clearUpdatingListeners(),this._addEndingListeners(),(H=c.getTransformer())==null||H.clearSelectedObjects(),this._setupPointerMoveListener(h,P,i,s,S,f),this._escapeShortcutDisposable=this._shortcutService.forceEscape(),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._scenePointerUpSub=c.onPointerUp$.subscribeEvent(()=>{var L;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(L=this._escapeShortcutDisposable)==null||L.dispose(),this._escapeShortcutDisposable=null}),(V=this._scene.getEngine())==null||V.setCapture()}},T.SheetSelectionRenderService=Qv([Mt(1,a.Inject(a.Injector)),Mt(2,a.Inject(a.ThemeService)),Mt(3,_.IShortcutService),Mt(4,a.Inject(m.SheetsSelectionsService)),Mt(5,a.Inject(T.SheetSkeletonManagerService)),Mt(6,a.ILogService),Mt(7,a.ICommandService),Mt(8,a.IContextService)],T.SheetSelectionRenderService);var Jv=Object.defineProperty,$v=Object.getOwnPropertyDescriptor,ep=(n,o,e)=>o in n?Jv(n,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[o]=e,tp=(n,o,e,t)=>{for(var i=t>1?void 0:t?$v(o,e):o,r=n.length-1,s;r>=0;r--)(s=n[r])&&(i=s(i)||i);return i},Li=(n,o)=>(e,t)=>o(e,t,n),Xo=(n,o,e)=>ep(n,typeof o!="symbol"?o+"":o,e);T.UniverSheetsUIPlugin=class extends a.Plugin{constructor(o=oo,e,t,i,r,s){super(),this._config=o,this._injector=e,this._renderManagerService=t,this._configService=i,this._univerInstanceService=r,this._componentManager=s;const{menu:l,...c}=a.merge({},oo,this._config);if(c.protectedRangeUserSelector){const{component:d,framework:u}=c.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(ri,d,{framework:u}))}l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig(Pe,{...c})}onStarting(){a.registerDependencies(this._injector,a.mergeOverrideWithDependencies([[bn],[Ie,{useClass:T.EditorBridgeService}],[We,{useClass:T.SheetClipboardService}],[Yt,{useClass:ga}],[qe,{useClass:$i}],[Mn,{useClass:Ir}],[An,{useClass:xa}],[m.IRefSelectionsService,{useClass:m.RefSelectionsService}],[Ms],[Ai,{useClass:ds}],[Ot,{useClass:T.MarkSelectionService}],[T.HoverManagerService],[T.DragManagerService],[T.SheetCanvasPopManagerService],[T.CellPopupManagerService],[T.CellAlertManagerService],[mr],[Rs,{useClass:T.SheetCellDropdownManagerService}],[T.SheetCellEditorResizeService],[T.AutoHeightController],[T.AutoWidthController],[T.FormulaEditorController],[T.SheetsRenderService],[T.SheetUIController],[T.StatusBarController],[T.AutoFillUIController],[zn],[Bn],[Fn],[Un],[T.EditingRenderController],[xt],[Xn],[bt],[T.SheetPermissionRenderManagerService],[Yn],[T.SheetPermissionCheckUIController],[jn]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),a.registerDependencies(this._injector,[[en]]),this._registerRenderBasics(),a.touchDependencies(this._injector,[[T.SheetUIController],[T.SheetsRenderService],[T.SheetPermissionCheckUIController],[Xn]])}onRendered(){this._registerRenderModules(),a.touchDependencies(this._injector,[[jn],[xt],[en],[T.FormulaEditorController],[Bn],[T.StatusBarController],[T.AutoHeightController],[T.AutoWidthController],[Fn],[Un],[T.EditingRenderController]])}onSteady(){a.touchDependencies(this._injector,[[zn],[T.AutoFillUIController],[Yn]])}_registerRenderBasics(){[[T.SheetSkeletonManagerService],[Uo],[T.SheetRenderController],[ye,{useClass:T.SheetSelectionRenderService}],[Bo]].forEach(o=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,o))})}_registerRenderModules(){var i;const o=[[T.HeaderMoveRenderController],[xo],[T.HeaderResizeRenderController],[T.SheetScrollManagerService],[T.SheetsScrollRenderController],[T.HeaderFreezeRenderController],[gi],[Ho],[No],[Io],[bo],[wo],[yo],[T.HoverRenderController],[T.DragRenderController],[To],[T.CellCustomRenderController],[As],[Mo],[bi],[Po],[Ao],[Do],[ko]],e=this._configService.getConfig(_.UI_PLUGIN_CONFIG_KEY);((i=e==null?void 0:e.contextMenu)==null||i)&&o.push([Lo]),o.forEach(r=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,r))})}_initAutoFocus(){const o=this._univerInstanceService;this.disposeWithMe(o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(ve.filter(e=>!!e)).subscribe(e=>o.focusUnit(e.getUnitId())))}},Xo(T.UniverSheetsUIPlugin,"pluginName","SHEET_UI_PLUGIN"),Xo(T.UniverSheetsUIPlugin,"packageName",_o.name),Xo(T.UniverSheetsUIPlugin,"version",_o.version),Xo(T.UniverSheetsUIPlugin,"type",a.UniverInstanceType.UNIVER_SHEET),T.UniverSheetsUIPlugin=tp([a.DependentOn(m.UniverSheetsPlugin),Li(1,a.Inject(a.Injector)),Li(2,y.IRenderManagerService),Li(3,a.IConfigService),Li(4,a.IUniverInstanceService),Li(5,a.Inject(_.ComponentManager))],T.UniverSheetsUIPlugin);function np(n,o,e,t){const{from:i,to:r}=e,{column:s,columnOffset:l,row:c,rowOffset:d}=i,{column:u,columnOffset:h,row:g,rowOffset:S}=r,f=t.ensureSkeleton(o);if(f==null)throw new Error("No current skeleton");const v=sn(f,{startColumn:s,endColumn:s,startRow:c,endRow:c}),p=sn(f,{startColumn:u,endColumn:u,startRow:g,endRow:g}),{startX:C,startY:b}=v,{startX:E,startY:R}=p,P=y.precisionTo(C+l,1),M=y.precisionTo(b+d,1);let A=y.precisionTo(E+h-P,1),D=y.precisionTo(R+S-M,1);return v.startX===p.endX&&(A=0),v.startY===p.endY&&(D=0),{unitId:n,subUnitId:o,left:P,top:M,width:A,height:D}}function ip(n,o,e,t,i,r,s){const{column:l,columnOffset:c,row:d,rowOffset:u}=e,h=s.ensureSkeleton(o);if(h==null)throw new Error("No current skeleton");const g=sn(h,{startColumn:l,endColumn:l,startRow:d,endRow:d}),{startX:S,startY:f}=g,v=y.precisionTo(S+c,1),p=y.precisionTo(f+u,1),C=r.getCellWithCoordByOffset(v+t,p+i,h);if(C==null)throw new Error("No end selection cell");const b={column:C.actualColumn,columnOffset:y.precisionTo(v+t-C.startX,1),row:C.actualRow,rowOffset:y.precisionTo(p+i-C.startY,1)};return{unitId:n,subUnitId:o,sheetTransform:{from:{column:l,columnOffset:c,row:d,rowOffset:u},to:b},transform:{left:v,top:p,width:t,height:i}}}T.AddRangeProtectionFromContextMenuCommand=Ut,T.AddRangeProtectionFromSheetBarCommand=ai,T.AddRangeProtectionFromToolbarCommand=si,T.ApplyFormatPainterCommand=ui,T.BaseSelectionRenderService=$o,T.COPY_SPECIAL_MENU_ID=Pi,T.COPY_TYPE=Ze,T.CellAlertType=xn,T.CellEditorManagerService=Ir,T.ChangeSheetProtectionFromSheetBarCommand=vi,T.ChangeZoomRatioCommand=Rn,T.DeleteRangeMoveLeftConfirmCommand=un,T.DeleteRangeMoveUpConfirmCommand=Dt,T.DeleteRangeProtectionFromContextMenuCommand=Ft,T.DeleteWorksheetProtectionFormSheetBarCommand=fi,T.EMBEDDING_FORMULA_EDITOR=Ua,T.EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY=Fi,T.ExpandSelectionCommand=Ue,T.FormatPainterStatus=xe,T.FormulaBar=Bl,T.HideColConfirmCommand=ni,T.HideRowConfirmCommand=ti,T.ICellEditorManagerService=Mn,T.IEditorBridgeService=Ie,T.IFormatPainterService=qe,T.IFormulaEditorManagerService=An,T.IMarkSelectionService=Ot,T.ISheetCellDropdownManagerService=Rs,T.ISheetClipboardService=We,T.ISheetSelectionRenderService=ye,T.IStatusBarService=Ai,T.InsertRangeMoveDownConfirmCommand=Lt,T.InsertRangeMoveRightConfirmCommand=mn,T.JumpOver=Qe,T.MobileSheetBar=xc,T.MoveSelectionCommand=Ve,T.MoveSelectionEnterAndTabCommand=Je,T.PASTE_SPECIAL_MENU_ID=Oi,T.PREDEFINED_HOOK_NAME=Xd,T.PREDEFINED_HOOK_NAME_COPY=pt,T.PREDEFINED_HOOK_NAME_PASTE=pe,T.RANGE_SELECTOR_COMPONENT_KEY=Jo,T.RANGE_SELECTOR_SYMBOLS=Na,T.RemoveColConfirmCommand=Sn,T.RemoveRowConfirmCommand=gn,T.RemoveSheetConfirmCommand=ci,T.RenameSheetOperation=Ci,T.RenderSheetContent=us,T.RenderSheetFooter=Yl,T.RenderSheetHeader=jl,T.ResetRangeTextColorCommand=Ki,T.ResetScrollCommand=pu,T.SELECTION_SHAPE_DEPTH=qo,T.SHEET_UI_PLUGIN_NAME=ku,T.SHEET_VIEW_KEY=_e,T.ScrollCommand=Fe,T.ScrollToCellCommand=to,T.ScrollToRangeOperation=ro,T.SelectAllCommand=hi,T.SelectionControl=Jn,T.SelectionShape=Jn,T.SelectionShapeExtension=xs,T.SetActivateCellEditOperation=io,T.SetCellEditVisibleArrowOperation=jt,T.SetCellEditVisibleOperation=be,T.SetCellEditVisibleWithF2Operation=pi,T.SetColumnFrozenCommand=Cn,T.SetColumnHeaderHeightCommand=qn,T.SetFirstColumnFrozenCommand=In,T.SetFirstRowFrozenCommand=_n,T.SetFormatPainterOperation=di,T.SetInfiniteFormatPainterCommand=eo,T.SetOnceFormatPainterCommand=vn,T.SetRangeBoldCommand=kt,T.SetRangeFontDecreaseCommand=Gi,T.SetRangeFontFamilyCommand=Wt,T.SetRangeFontIncreaseCommand=Zi,T.SetRangeFontSizeCommand=ii,T.SetRangeItalicCommand=Nt,T.SetRangeProtectionFromContextMenuCommand=zt,T.SetRangeStrickThroughCommand=Vt,T.SetRangeSubscriptCommand=ur,T.SetRangeSuperscriptCommand=hr,T.SetRangeTextColorCommand=hn,T.SetRangeUnderlineCommand=Ht,T.SetRowFrozenCommand=pn,T.SetRowHeaderWidthCommand=Kn,T.SetScrollOperation=ct,T.SetScrollRelativeCommand=wn,T.SetSelectionFrozenCommand=lt,T.SetWorksheetColAutoWidthCommand=Tn,T.SetZoomRatioCommand=Xt,T.SetZoomRatioOperation=et,T.SheetBar=zl,T.SheetCopyCommand=Xe,T.SheetCutCommand=Ct,T.SheetMenuPosition=Ml,T.SheetPasteBesidesBorderCommand=dn,T.SheetPasteColWidthCommand=At,T.SheetPasteCommand=Ye,T.SheetPasteFormatCommand=cn,T.SheetPasteShortKeyCommand=ji,T.SheetPasteValueCommand=ln,T.SheetPermissionOpenDialogOperation=fr,T.SheetPermissionOpenPanelOperation=Ke,T.SheetPermissionUserManagerService=bt,T.SheetPrintInterceptorService=Ms,T.SheetsUIMenuSchema=Vl,T.SheetsUIPart=pr,T.ShowMenuListCommand=Si,T.SidebarDefinedNameOperation=so,T.StatusBarService=ds,T.UNIVER_SHEET_PERMISSION_USER_PART=ri,T.ViewSheetPermissionFromContextMenuCommand=Bt,T.ViewSheetPermissionFromSheetBarCommand=li,T.attachPrimaryWithCoord=Qn,T.attachRangeWithCoord=sn,T.attachSelectionWithCoord=Oe,T.calculateDocSkeletonRects=Ba,T.checkInHeaderRanges=wi,T.convertPositionCellToSheetOverGrid=ip,T.convertPositionSheetOverGridToAbsolute=np,T.deriveStateFromActiveSheet$=Re,T.functionDisplayNames=Co,T.genNormalSelectionStyle=st,T.genSelectionByRange=Vs,T.getAllSelection=er,T.getCellRealRange=fa,T.getCoordByCell=gr,T.getCoordByOffset=$e,T.getCurrentExclusiveRangeInterest$=gl,T.getCurrentRangeDisable$=oe,T.getCustomRangePosition=ph,T.getEditingCustomRangePosition=Ch,T.getEditorObject=Ui,T.getMatrixPlainText=ta,T.getObservableWithExclusiveRange$=nt,T.getRepeatRange=Wd,T.getSheetObject=Be,T.getTopLeftSelectionOfCurrSheet=Xi,T.getTransformCoord=mi,T.getViewportByCell=vr,T.isEmbeddingFormulaEditor=gh,T.isRangeSelector=Ha,T.menuClipboardDisabledObservable=Hn,T.mergeSetRangeValues=sr,T.useActiveWorkbook=Et,T.useActiveWorksheet=Au,T.useHighlightRange=Ac,T.useKeyEventConfig=cs,T.useWorkbooks=Du,T.virtualizeDiscreteRanges=vt,T.whenFormulaEditorActivated=cd,T.whenSheetEditorFocused=me,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
282
+ `,window.getComputedStyle(t).position===`static`&&(t.style.position=`relative`),t.appendChild(n),n}_showZoomIndicator(e,t){e.textContent=`${t}%`,e.style.opacity=`1`}_hideZoomIndicator(e){setTimeout(()=>{e.style.opacity=`0`},300)}_updateSceneSize(e){var t;if(e==null)return;let{unitId:n}=this._context,{skeleton:r}=e,i=(t=this._renderManagerService.getRenderById(n))==null?void 0:t.scene;if(r==null||i==null)return;let{rowTotalHeight:a,columnTotalWidth:o,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=r;i==null||i.transformByState({width:s+o,height:c+a})}_getSheetObject(){return Ar(this._context.unit,this._context)}_scrollToSelection(e=!0){let t=this._selectionManagerService.getCurrentLastSelection();if(t==null)return;let{startRow:n,startColumn:r,actualRow:i,actualColumn:a}=t.primary,o=e?i:n,s=e?a:r;this._scrollToCell(o,s)}_getViewportBounding(){var e,t;let n=(e=this._getSheetObject())==null?void 0:e.scene;if(n==null)return;let r=n.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(r==null)return;let a=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(a!=null)return a.getRangeByViewport(r.calcViewportInfo())}_scrollToCell(e,t){var n,r,a,o;let{rowHeightAccumulation:s,columnWidthAccumulation:c}=(n=(r=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:r.skeleton)==null?{}:n;if(s==null||c==null)return!1;let l=(a=this._getSheetObject())==null?void 0:a.scene;if(l==null)return!1;let u=l.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(u==null||((o=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:o.skeleton)==null)return!1;let d=this._context.unit.getActiveSheet();if(!d)return!1;let{startColumn:f,startRow:p,ySplit:m,xSplit:h}=d.getFreeze(),g=this._getViewportBounding();if(g==null)return!1;let{startRow:_,startColumn:v,endRow:y,endColumn:b}=g,x,S;if(e>=p&&t>=f-h&&(e<=_&&(x=e),e>=y)){let t=s[e]-u.height;for(let n=_;n<=e;n++)if(s[n]>=t){x=n+1;break}}if(t>=f&&e>=p-m&&(t<=v&&(S=t),t>=b)){let e=c[t]-u.width;for(let n=v;n<=t;n++)if(c[n]>=e){S=n+1;break}}if(x===void 0&&S===void 0)return!1;let{offsetX:C,offsetY:w}=this._scrollManagerService.getCurrentScrollState()||{};return this._commandService.syncExecuteCommand(Lr.id,{sheetViewStartRow:x,sheetViewStartColumn:S,offsetX:S===void 0?C:0,offsetY:x===void 0?w:0})}};$f=H([V(1,(0,n.Inject)(U)),V(2,n.ICommandService),V(3,i.IRenderManagerService),V(4,(0,n.Inject)(a.SheetsSelectionsService)),V(5,(0,n.Inject)(q)),V(6,n.IUniverInstanceService),V(7,n.IContextService)],$f);let ep=class extends n.Disposable{constructor(e,t,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=n,this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this._sheetSkeletonManagerService.disposeSkeleton(e.getSheetId())})),this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{this._updateSceneSize(e)})}_updateSceneSize(e){var t;if(e==null)return;let{unitId:n}=this._context,{skeleton:r}=e,i=(t=this._renderManagerService.getRenderById(n))==null?void 0:t.scene;if(r==null||i==null)return;let{rowTotalHeight:a,columnTotalWidth:o,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=r;this._context.unit.getActiveSheet()&&(i==null||i.transformByState({width:s+o,height:c+a}),i.getMainViewport().setMargin(s,c))}};ep=H([V(1,(0,n.Inject)(U)),V(2,i.IRenderManagerService)],ep),(0,n.createIdentifier)(`sheets-ui.services.auto-height`);function tp(e,t){let n=[],r=[...e],i=t;for(;r.length>0;){let e=r.shift();if(!e)break;let t=e.endRow-e.startRow+1;if(t>i){n.push({...e,startRow:e.startRow,endRow:e.startRow+i-1}),r.unshift({...e,startRow:e.startRow+i});break}else n.push(e),i-=t}return{result:n,lasts:r}}let np=class extends n.Disposable{constructor(e,t,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,R(this,`_autoHeightTasks`,[]),R(this,`_calculateLoopId`,null),this._initMarkDirty()}_initMarkDirty(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===a.MarkDirtyRowAutoHeightMutation.id){let{unitId:t,subUnitId:n,ranges:r,id:i}=e.params;if(t!==this._context.unitId)return;this.startAutoHeightTask({ranges:r,sheetId:n,id:i,maxTime:1e4})}if(e.id===a.CancelMarkDirtyRowAutoHeightMutation.id){let{unitId:t,id:n}=e.params;if(t!==this._context.unitId)return;this.cancelTask(n)}}))}_loopTask(e){let t=e.skeleton,n=[],r=[];if(e.maxTime&&e.maxTime+e.startTime<=Date.now())n=e.ranges;else{let t=tp(e.ranges,500);n=t.result,r=t.lasts}let i=t.calculateAutoHeightInRange(n).filter(e=>{let{row:n,autoHeight:r}=e;return!(!r||t.getRowHeight(n)===r)});if(r.length&&(e.ranges=r,this._autoHeightTasks.unshift(e)),i.length){let t={unitId:this._context.unitId,subUnitId:e.sheetId,rowsAutoHeightInfo:i};this._commandService.syncExecuteCommand(a.SetWorksheetRowAutoHeightMutation.id,t)}}_calculateLoop(e){for(;this._autoHeightTasks.length&&!(e.timeRemaining()<=0);){let e=this._autoHeightTasks.shift();if(!e){this._calculateLoopId=null;return}this._loopTask(e)}this._calculateLoopId=requestIdleCallback(e=>{this._calculateLoop(e)})}_initialCalculateLoop(){this._calculateLoopId===null&&(this._calculateLoopId=requestIdleCallback(e=>{this._calculateLoop(e)}))}startAutoHeightTask(e){let t=this._sheetSkeletonManagerService.getSkeleton(e.sheetId);if(!t)return;e.ranges=n.Rectangle.mergeRanges(e.ranges.map(e=>({...e,startColumn:0,endColumn:0})));let r=n.Rectangle.subtractMulti(e.ranges,this._autoHeightTasks.filter(t=>t.sheetId===e.sheetId).map(e=>e.ranges).flat());r.length&&(this._autoHeightTasks.push({...e,startTime:Date.now(),skeleton:t,ranges:r}),this._initialCalculateLoop())}cancelTask(e){let t=this._autoHeightTasks.findIndex(t=>t.id===e);t!==-1&&this._autoHeightTasks.splice(t,1)}};np=H([V(1,(0,n.Inject)(U)),V(2,n.ICommandService)],np);function rp(e){let{popup:t}=e,{extraProps:n}=t,{options:r,defaultValue:i,onChange:a}=n,[o,s]=(0,c.useState)(i==null?[]:i);return(0,f.jsx)(d.CascaderList,{options:r,value:o,onChange:a})}rp.componentKey=`sheets.dropdown.cascader`;function ip(e){let{popup:t}=e,{extraProps:n}=t,{defaultValue:r,onChange:i}=n;return(0,f.jsx)(d.ColorPicker,{value:r,onChange:i})}ip.componentKey=`sheets.dropdown.color`;function ap(e){let{popup:t}=e,{extraProps:i}=t,{hideFn:a,patternType:o,defaultValue:s,onChange:l,showTime:u}=i,[p,m]=(0,c.useState)(s),h=(0,c.useMemo)(()=>o===`time`?(0,n.dayjs)(`1900-01-01 00:00:00`):(0,n.dayjs)(),[]),g=p&&p.isValid()?p:h,_=(0,r.useDependency)(n.LocaleService);return(0,f.jsxs)(`div`,{className:`
283
+ univer-rounded univer-bg-white univer-p-2 univer-shadow-lg
284
+ dark:!univer-bg-black
285
+ `,children:[o===`time`?(0,f.jsx)(d.TimeInput,{value:g.toDate(),onValueChange:e=>{m((0,n.dayjs)(e))}}):(0,f.jsx)(d.Calendar,{value:g.toDate(),showTime:u==null?o===`datetime`:u,onValueChange:e=>{m((0,n.dayjs)(e))}}),(0,f.jsx)(`footer`,{className:(0,d.clsx)(`univer-mt-2 univer-flex univer-justify-end univer-pt-2`,d.borderTopClassName),children:(0,f.jsx)(d.Button,{size:`small`,variant:`primary`,onClick:async()=>{g&&await(l==null?void 0:l(g))&&a()},disabled:!g||!g.isValid(),children:_.t(`dataValidation.alert.ok`)})})]})}ap.componentKey=`sheets.dropdown.date`;function op(e){return e.filter(Boolean).join(`,`)}function sp(e){return e.split(`,`).filter(Boolean)}function cp(e){let{value:t,onChange:i,multiple:o,options:s,title:l,onEdit:u,style:p,location:m,showEdit:h,showSearch:g}=e,_=(0,r.useDependency)(n.LocaleService),{row:v,col:y,unitId:b,subUnitId:x}=m,S=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=null;return g&&(e=setTimeout(()=>{var e;(e=S.current)==null||e.focus()},0)),()=>{e&&clearTimeout(e)}},[g]);let[C,w]=(0,c.useState)(``),T=(0,c.useMemo)(()=>s.filter(e=>C?e.label.toLowerCase().includes(C):!0),[s,C]),E=e=>{w(e.target.value.toLowerCase())},D=(0,r.useDependency)(a.SheetPermissionCheckController),O=(0,c.useMemo)(()=>D.permissionCheckWithRanges({workbookTypes:[a.WorkbookEditablePermission],rangeTypes:[a.RangeProtectionPermissionEditPoint],worksheetTypes:[a.WorksheetEditPermission]},[{startColumn:y,startRow:v,endColumn:y,endRow:v}],b,x),[D,y,v,b,x]);return(0,f.jsxs)(`div`,{"data-u-comp":`sheets-dropdown-list`,className:(0,d.clsx)(`
286
+ univer-box-border univer-rounded-lg univer-bg-white univer-py-1 univer-text-gray-900 univer-shadow
287
+ dark:!univer-bg-black dark:!univer-text-white
288
+ `,d.borderClassName),style:p,children:[g&&(0,f.jsx)(`div`,{className:`univer-box-border univer-flex univer-w-full univer-px-2`,children:(0,f.jsx)(`input`,{ref:S,className:`
289
+ univer-w-full univer-rounded-md univer-border univer-border-[rgba(13,13,13,0.12)] univer-px-2
290
+ univer-py-1 univer-text-sm
291
+ focus:univer-border-primary-500 focus:univer-outline-none
292
+ dark:!univer-bg-black dark:!univer-text-white
293
+ `,type:`text`,value:C,autoFocus:!0,onChange:E})}),(0,f.jsx)(`div`,{className:`univer-px-3.5 univer-py-1 univer-pt-2 univer-text-xs`,children:l}),(0,f.jsx)(`div`,{className:(0,d.clsx)(`
294
+ univer-flex univer-max-h-52 univer-flex-col univer-gap-1 univer-overflow-y-auto univer-px-2
295
+ univer-py-1
296
+ `,d.scrollbarClassName),children:T.map((e,r)=>{let a=t.indexOf(e.value)>-1,c=()=>{let n;n=a?new Set(t.filter(t=>t!==e.value)):new Set(o?[...t,e.value]:[e.value]);let r=[];s.forEach(e=>{n.has(e.value)&&r.push(e.value)}),i(r)},l=e.label.toLocaleLowerCase().indexOf(C),u=new n.ColorKit(e.color).isDark();return(0,f.jsxs)(`div`,{className:`
297
+ univer-flex univer-cursor-pointer univer-flex-row univer-items-center
298
+ univer-justify-between univer-rounded-md univer-px-1.5 univer-py-1
299
+ hover:univer-bg-gray-50
300
+ dark:hover:!univer-bg-gray-700
301
+ `,onClick:c,children:[(0,f.jsx)(`div`,{className:(0,d.clsx)(`
302
+ univer-inline-flex univer-h-4 univer-w-fit univer-items-center univer-truncate
303
+ univer-rounded-full univer-px-1.5 univer-text-xs
304
+ `,{"univer-text-gray-900":!u,"univer-text-white":u}),style:{background:e.color},children:C&&e.label.toLowerCase().includes(C)?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{children:e.label.substring(0,l)}),(0,f.jsx)(`span`,{className:`univer-font-semibold`,children:e.label.substring(l,l+C.length)}),(0,f.jsx)(`span`,{children:e.label.substring(l+C.length)})]}):e.label}),(0,f.jsx)(`div`,{className:`
305
+ univer-ml-3 univer-size-4 univer-flex-shrink-0 univer-flex-grow-0 univer-text-base
306
+ univer-text-primary-500
307
+ `,children:a&&(0,f.jsx)(ao,{className:`univer-text-primary-600`})})]},r)})},C),h&&O&&(0,f.jsx)(`div`,{className:(0,d.clsx)(`univer-box-border univer-px-2 univer-pt-1`,d.borderTopClassName),children:(0,f.jsx)(`a`,{className:`
308
+ univer-block univer-cursor-pointer univer-rounded univer-px-1.5 univer-py-1 univer-text-xs
309
+ hover:univer-bg-gray-100
310
+ dark:hover:!univer-bg-gray-800
311
+ `,onClick:u,children:_.t(`dataValidation.list.edit`)})})]})}function lp(e){var t,i;let{popup:{extraProps:a,anchorRect:o}}=e,{location:s,hideFn:l,onChange:u,onEdit:d,options:p,defaultValue:m,multiple:h,showSearch:g,showEdit:_}=a,{worksheet:v}=s;if(!v)return null;let y=(0,r.useDependency)(n.LocaleService),[b,x]=(0,c.useState)(m),S=((t=o==null?void 0:o.right)==null?0:t)-((i=o==null?void 0:o.left)==null?0:i);return(0,f.jsx)(cp,{style:{minWidth:S,maxWidth:Math.max(S,200)},title:h?y.t(`dataValidation.listMultiple.dropdown`):y.t(`dataValidation.list.dropdown`),value:sp(b==null?``:b),multiple:h,onChange:async e=>{x(op(e)),await(u==null?void 0:u(e))!==!1&&l()},options:p,onEdit:d,location:s,showEdit:_,showSearch:g})}lp.componentKey=`sheets.dropdown.list`;let up={datepicker:ap,list:lp,color:ip,cascader:rp},dp=(0,n.createIdentifier)(`ICellDropdownManagerService`),fp=class extends n.Disposable{constructor(e,t,n,r){super(),this._canvasPopupManagerService=e,this._zenZoneService=t,this._renderManagerService=n,this._componentManager=r,Object.values(up).forEach(e=>{this.disposeWithMe(this._componentManager.register(e.componentKey,e))})}showDropdown(e){let{location:t,onHide:r,closeOnOutSide:i=!0}=e,{row:a,col:o,unitId:s,subUnitId:c}=t;if(this._zenZoneService.visible)throw Error(`[SheetCellDropdownManagerService]: cannot show dropdown when zen mode is visible`);let l=up[e.type],u=this._renderManagerService.getRenderById(n.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),d=new n.DisposableCollection,f=this._canvasPopupManagerService.attachPopupToCell(a,o,{componentKey:l.componentKey,onClickOutside:()=>{i&&d.dispose()},offset:[0,3],excludeOutside:[u==null?void 0:u.engine.getCanvasElement()].filter(Boolean),extraProps:{...e,...e.props,hideFn:()=>{d.dispose()}}},s,c);if(!f)throw Error(`[SheetCellDropdownManagerService]: cannot show dropdown`);return d.add(f),d.add({dispose:()=>{r==null||r()}}),d}};fp=H([V(0,(0,n.Inject)(Fl)),V(1,r.IZenZoneService),V(2,i.IRenderManagerService),V(3,(0,n.Inject)(r.ComponentManager))],fp);let pp=(0,n.createInterceptorKey)(`PRINTING_RANGE`),mp=(0,n.createInterceptorKey)(`PRINTING_COMPONENT_COLLECT`),hp=(0,n.createInterceptorKey)(`PRINTING_DOM_COLLECT`);var gp=class extends n.Disposable{constructor(){super(),R(this,`_printComponentMap`,new Map),R(this,`interceptor`,new n.InterceptorManager({PRINTING_RANGE:pp,PRINTING_COMPONENT_COLLECT:mp,PRINTING_DOM_COLLECT:hp})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_RANGE,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}},_p=class extends _e{constructor(e,t,r,i){super(e,t,r,i),this._scene=e,this._zIndex=t,this._themeService=r,R(this,`_fillControlTopLeft`,void 0),R(this,`_fillControlBottomRight`,void 0),R(this,`_rangeType`,n.RANGE_TYPE.NORMAL),this._rangeType=(i==null?void 0:i.rangeType)||n.RANGE_TYPE.NORMAL,this.initControlPoints()}initControlPoints(){let e=this.currentStyle,t=e.expandCornerSize||0,r=(e.expandCornerSize||0)/4,a=e.autofillStrokeWidth||0,o=e.stroke,s=e.autofillStroke,c=this.zIndex;this._fillControlTopLeft=new i.Rect(W.fillTopLeft+c,{zIndex:c+2,width:t,height:t,radius:t/2,visualWidth:r,visualHeight:r,strokeWidth:a}),this._fillControlBottomRight=new i.Rect(W.fillBottomRight+c,{zIndex:c+2,width:t,height:t,radius:t/2,visualHeight:r,visualWidth:r,strokeWidth:a});let l={fill:o,stroke:s,strokeScaleEnabled:!1};this._fillControlTopLeft.setProps({...l}),this._fillControlBottomRight.setProps({...l});let u=[this._fillControlTopLeft,this._fillControlBottomRight];switch(this._rangeType){case n.RANGE_TYPE.ROW:this.rowHeaderGroup.addObjects(...u);break;case n.RANGE_TYPE.COLUMN:this.columnHeaderGroup.addObjects(...u);break;case n.RANGE_TYPE.NORMAL:this.selectionShapeGroup.addObjects(...u)}this.getScene().addObjects(u,1)}get fillControlTopLeft(){return this._fillControlTopLeft}set fillControlTopLeft(e){this._fillControlTopLeft=e}get fillControlBottomRight(){return this._fillControlBottomRight}set fillControlBottomRight(e){this._fillControlBottomRight=e}get rangeType(){return this._rangeType}set rangeType(e){this._rangeType=e}dispose(){var e,t;(e=this._fillControlBottomRight)==null||e.dispose(),(t=this._fillControlTopLeft)==null||t.dispose(),super.dispose()}_updateLayoutOfSelectionControl(e){super._updateLayoutOfSelectionControl(e);let t=this.currentStyle;e==null&&(e=t);let{widgets:n=t.widgets}=e;if(this.currentStyle=e,this._enableAutoFill===!0&&!super._hasWidgets(n)){let{viewportScrollX:e,viewportScrollY:t}=this.getViewportMainScrollInfo(),{endX:n,endY:r}=this.selectionModel;this.transformControlPoint(e,t,n,r),this.fillControlTopLeft.show(),this.fillControlBottomRight.show()}else{var r,i;(r=this.fillControlTopLeft)==null||r.hide(),(i=this.fillControlBottomRight)==null||i.hide()}}getViewportMainScrollInfo(){let e=this.getScene().getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);return{viewportScrollX:(e==null?void 0:e.viewportScrollX)||0,viewportScrollY:(e==null?void 0:e.viewportScrollY)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0}}transformControlPoint(e=0,t=0,r=0,i=0){let a=this.currentStyle,o=this.selectionModel.rangeType,s=a.expandCornerSize,{startX:c,startY:l,endX:u,endY:d}=this.selectionModel,f=this.getViewportMainScrollInfo(),p=f.width,m=f.height;switch(o){case n.RANGE_TYPE.NORMAL:this.fillControlTopLeft.transformByState({left:-s/2,top:-s/2}),this.fillControlBottomRight.transformByState({left:u-c-s/2,top:d-l-s/2});break;case n.RANGE_TYPE.ROW:{let t=Math.min(p/2+e,r),n=-s/2+t;this.fillControlTopLeft.transformByState({left:n,top:-s/2}),this.fillControlBottomRight.transformByState({left:n,top:-s/2+d-l})}break;case n.RANGE_TYPE.COLUMN:{let e=Math.min(m/2+t,i),n=-s/2+e;this.fillControlTopLeft.transformByState({left:-s/2,top:n}),this.fillControlBottomRight.transformByState({left:-s/2+u-c,top:n})}break;default:console.error(`unknown range type`)}}},$=function(e){return e.BOTTOM_RIGHT=`bottom-right`,e.TOP_LEFT=`top-left`,e.LEFT=`left`,e.RIGHT=`right`,e.TOP=`top`,e.BOTTOM=`bottom`,e}($||{});let vp=class extends ue{constructor(e,t,n,r,i,a,o,s,c,l){super(t,n,r,a,c),this._context=e,this._logService=o,this._commandService=s,this._contextService=c,this._scrollManagerService=l,R(this,`_workbookSelections`,void 0),R(this,`_renderDisposable`,null),R(this,`_expandingSelection`,!1),R(this,`_selectionControls`,[]),R(this,`expandingControlMode`,$.BOTTOM_RIGHT),R(this,`_anchorCellForExpanding`,null),this._workbookSelections=i.getWorkbookSelections(this._context.unitId),this._init()}_init(){let e=this._getSheetObject();this._initEventListeners(e),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._updateControlPointWhenScrolling()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(e==null){this._logService.error(`[SelectionRenderService]: should not receive null!`);return}let n=this._context.unitId,{sheetId:r,skeleton:o}=e,{scene:s}=this._context,c=s.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),l=(t=this._skeleton)==null||(t=t.worksheet)==null?void 0:t.getSheetId();if(this._changeRuntime(o,s,c),l!==o.worksheet.getSheetId()){let e=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,{unitId:n,subUnitId:r,selections:e.length===0?[fe(o)]:e})}let u=this._workbookSelections.getCurrentSelections();u!=null&&this.resetSelectionsByModelData(u)}))}_initSelectionChangeListener(){this.disposeWithMe((0,o.merge)(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(e=>{e&&this.resetSelectionsByModelData(e)}))}_initEventListeners(e){let{spreadsheetRowHeader:t,spreadsheetColumnHeader:r,spreadsheet:i,spreadsheetLeftTopPlaceholder:a}=e,{scene:o}=this._context;this._initSpreadsheetEvent(e),this.disposeWithMe(t==null?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:a}=Mr(e.offsetX,e.offsetY,o,r);Ba(this._workbookSelections.getCurrentSelections(),a)||(this.createNewSelection(e,(i.zIndex||1)+1,n.RANGE_TYPE.ROW,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(r==null?void 0:r.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:a}=Mr(e.offsetX,e.offsetY,o,r);Va(this._workbookSelections.getCurrentSelections(),a)||(this.createNewSelection(e,(i.zIndex||1)+1,n.RANGE_TYPE.COLUMN,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(a==null?void 0:a.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;this._reset();let n=this._sheetSkeletonManagerService.getCurrentParam().skeleton,r=de(n);this._addSelectionControlByModelData(r),this.refreshSelectionMoveStart(),t.stopPropagation(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}))}_initSpreadsheetEvent(e){let{spreadsheet:t}=e,r={x:0,y:0},i=e=>{this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||(this.createNewSelection(e,t.zIndex+1,n.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))},a=t==null?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||(r.x=e.offsetX,r.y=e.offsetY,t.stopPropagation())}),o=t==null?void 0:t.onPointerUp$.subscribeEvent((e,t)=>{this._normalSelectionDisabled()||this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||Math.abs(e.offsetX-r.x)>10||Math.abs(e.offsetY-r.y)>10||(i(e),t.stopPropagation())});this.disposeWithMe((0,n.toDisposable)(a)),this.disposeWithMe((0,n.toDisposable)(o))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>this._updateSelections(e,a.SelectionMoveType.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(e=>this._updateSelections(e,a.SelectionMoveType.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(a.REF_SELECTIONS_ENABLED).pipe((0,o.startWith)(!1),(0,o.distinctUntilChanged)()).subscribe(e=>{if(e){var t;(t=this._renderDisposable)==null||t.dispose(),this._renderDisposable=null,this._reset()}else this._renderDisposable=(0,n.toDisposable)(this.selectionMoveEnd$.subscribe(e=>this._updateSelections(e,a.SelectionMoveType.MOVE_END)))}))}_updateSelections(e,t){let n=this._context.unit,r=n.getUnitId(),i=n.getActiveSheet().getSheetId();e.length!==0&&this._commandService.executeCommand(a.SetSelectionsOperation.id,{unitId:r,subUnitId:i,type:t,selections:e.map(e=>(0,a.convertSelectionDataToRange)(e))})}createNewSelection(e,t=0,r=n.RANGE_TYPE.NORMAL,a){this._rangeType=r;let o=this._skeleton,s=this._scene;if(!s||!o)return;a&&(this._activeViewport=a);let{offsetX:c,offsetY:l}=e,u=s.getCoordRelativeToViewport(i.Vector2.FromArray([c,l])),{x:d,y:f}=u;this._startViewportPosX=d,this._startViewportPosY=f;let p=s.getScrollXYInfoByViewport(u),{scaleX:m,scaleY:h}=s.getAncestorScale(),g=this._skeleton.getCellByOffset(d,f,m,h,p);if(!g)return;switch(r){case n.RANGE_TYPE.NORMAL:break;case n.RANGE_TYPE.ROW:g.startColumn=0,g.endColumn=this._skeleton.getColumnCount()-1;break;case n.RANGE_TYPE.COLUMN:g.startRow=0,g.endRow=this._skeleton.getRowCount()-1;break;case n.RANGE_TYPE.ALL:g.startRow=0,g.startColumn=0,g.endRow=this._skeleton.getRowCount()-1,g.endColumn=this._skeleton.getColumnCount()-1}let _={range:g,primary:g,style:null};_.range.rangeType=r;let v=z(_,this._skeleton);this._startRangeWhenPointerDown={...v.rangeWithCoord};let y=this.getActiveSelectionControl(),b={...v.rangeWithCoord};for(let e of this.getSelectionControls())if(e.model.isEqual(b)){y=e;break}(y==null?void 0:y.model.rangeType)===r?y.updateRangeBySelectionWithCoord(v):(this._clearAllSelectionControls(),y=this.newSelectionControl(s,o,_)),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._expandingSelection=!1}newSelectionControl(e,t,r){let a=this.getSelectionControls(),{rowHeaderWidth:o,columnHeaderHeight:s}=t,c=r.range.rangeType,l=new _p(e,a.length,this._themeService,{highlightHeader:this._highlightHeader,rowHeaderWidth:o,columnHeaderHeight:s,rangeType:c}),u=z(r,t);l.updateRangeBySelectionWithCoord(u),this._selectionControls.push(l);let{expandingModeForTopLeft:d,expandingModeForBottomRight:f}=(()=>{switch(c){case n.RANGE_TYPE.NORMAL:return{expandingModeForTopLeft:$.TOP_LEFT,expandingModeForBottomRight:$.BOTTOM_RIGHT};case n.RANGE_TYPE.ROW:return{expandingModeForTopLeft:$.TOP,expandingModeForBottomRight:$.BOTTOM};case n.RANGE_TYPE.COLUMN:return{expandingModeForTopLeft:$.LEFT,expandingModeForBottomRight:$.RIGHT};case n.RANGE_TYPE.ALL:return{expandingModeForTopLeft:$.TOP_LEFT,expandingModeForBottomRight:$.BOTTOM_RIGHT};default:return{expandingModeForTopLeft:$.TOP_LEFT,expandingModeForBottomRight:$.BOTTOM_RIGHT}}})();return l.fillControlTopLeft.onPointerDown$.subscribeEvent(e=>{this._expandingSelection=!0,this._contextService.setContextValue(Uf,!0),this.expandingControlMode=d,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(e,c,this._activeViewport)}),l.fillControlBottomRight.onPointerDown$.subscribeEvent(e=>{this._expandingSelection=!0,this._contextService.setContextValue(Uf,!0),this.expandingControlMode=f,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(e,c,this._activeViewport)}),(c===n.RANGE_TYPE.ROW||c===n.RANGE_TYPE.COLUMN)&&e.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),l}_getActiveViewport(e){let t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(i.Vector2.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return Ar(this._context.unit,this._context)}_normalSelectionDisabled(){return this._contextService.getContextValue(a.REF_SELECTIONS_ENABLED)}getSelectionControls(){return this._selectionControls}_fillControlPointerDownHandler(e,t=n.RANGE_TYPE.NORMAL,r,a=i.ScrollTimerType.ALL){var o;let s=this._skeleton,c=this._scene;if(!c||!s)return;r&&(this._activeViewport=r);let l=c.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),u=this.getActiveSelectionControl();if(!u)return;this._anchorCellForExpanding=this._changeCurrCellWhenControlPointerDown(),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._addEndingListeners(),(o=c.getTransformer())==null||o.clearSelectedObjects();let d=c.getCoordRelativeToViewport(i.Vector2.FromArray([e.offsetX,e.offsetY]));this._setupPointerMoveListener(l,u,t,a,d.x,d.y);let f=this._shortcutService.forceEscape();this._scenePointerUpSub=c.onPointerUp$.subscribeEvent(e=>{this.endSelection(),this._expandingSelection=!1,this._contextService.setContextValue(Uf,!1),this.expandingControlMode=$.BOTTOM_RIGHT,this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),f.dispose()})}_changeCurrCellWhenControlPointerDown(){let e=this.getActiveSelectionControl(),t=this._skeleton,n,{startRow:r,startColumn:i,endRow:a,endColumn:o}=e.model;switch(this.expandingControlMode){case $.TOP_LEFT:n=t.getCellWithCoordByIndex(a,o);break;case $.BOTTOM_RIGHT:n=t.getCellWithCoordByIndex(r,i);break;case $.LEFT:n=t.getCellWithCoordByIndex(r,o),n.isMerged=!1,n.isMergedMainCell=!1;break;case $.RIGHT:n=t.getCellWithCoordByIndex(r,i),n.isMerged=!1,n.isMergedMainCell=!1;break;case $.TOP:n=t.getCellWithCoordByIndex(a,i),n.isMerged=!1,n.isMergedMainCell=!1;break;case $.BOTTOM:n=t.getCellWithCoordByIndex(r,i),n.isMerged=!1,n.isMergedMainCell=!1;break;default:n=t.getCellWithCoordByIndex(r,i)}return e.updateCurrCell(n),n}_setupPointerMoveListener(e,t,n,r=i.ScrollTimerType.ALL,a,o){var s,c;this._scrollTimer=i.ScrollTimer.create(this._scene,r),this._scrollTimer.startScroll((s=e==null?void 0:e.left)==null?0:s,(c=e==null?void 0:e.top)==null?0:c,e);let l=this._scene;this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(e=>{if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`))return;let{offsetX:r,offsetY:a}=e,{x:o,y:s}=l.getCoordRelativeToViewport(i.Vector2.FromArray([r,a]));this._movingHandler(o,s,t,n);let c=o,u=s;this._scrollTimer.scrolling(c,u,()=>{this._movingHandler(o,s,t,n)})})}_movingHandler(e,t,r,a){var o,s,c,l,u,d,f,p,m,h,g,_,v,y;this._rangeType=a;let b=this._skeleton,x=this._scene,S={startRow:r.model.startRow,endRow:r.model.endRow,startColumn:r.model.startColumn,endColumn:r.model.endColumn},C=x.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),w=(o=this._getViewportByCell(S.endRow,S.endColumn))==null?C:o,T=x.getScrollXYInfoByViewport(i.Vector2.FromArray([this._startViewportPosX,this._startViewportPosY]),w),{scaleX:E,scaleY:D}=x.getAncestorScale();a===n.RANGE_TYPE.ROW?e=1/0:a===n.RANGE_TYPE.COLUMN&&(t=1/0);let O=this._getSelectionWithCoordByOffset(e,t,E,D,T);if(!O)return!1;let{rangeWithCoord:k}=O,A=(s=this._anchorCellForExpanding)==null?r.model.currentCell:s,j=(c=(l=A==null||(u=A.mergeInfo)==null?void 0:u.startRow)==null?A==null?void 0:A.actualRow:l)==null?-1:c,M=(d=(f=A==null||(p=A.mergeInfo)==null?void 0:p.endRow)==null?A==null?void 0:A.actualRow:f)==null?-1:d,N=(m=(h=A==null||(g=A.mergeInfo)==null?void 0:g.startColumn)==null?A==null?void 0:A.actualColumn:h)==null?-1:m,P=(_=(v=A==null||(y=A.mergeInfo)==null?void 0:y.endColumn)==null?A==null?void 0:A.actualColumn:v)==null?-1:_,F=Math.min(k.startRow,j);j===-1&&(F=k.startRow);let ee=Math.min(k.startColumn,N);N===-1&&(ee=k.startColumn);let I={startRow:F,startColumn:ee,endRow:Math.max(k.endRow,M),endColumn:Math.max(k.endColumn,P)};if(a===n.RANGE_TYPE.NORMAL?I=b.expandRangeByMerge(I):a===n.RANGE_TYPE.COLUMN?I={startRow:0,startColumn:Math.min(k.startColumn,N),endRow:b.getRowCount()-1,endColumn:Math.max(k.endColumn,P)}:a===n.RANGE_TYPE.ROW&&(I={startRow:Math.min(k.startRow,j),startColumn:0,endRow:Math.max(k.endRow,M),endColumn:b.getColumnCount()-1}),!I)return!1;let L=z({range:I,style:null,primary:null},b);(S.startRow!==I.startRow||S.startColumn!==I.startColumn||S.endRow!==I.endRow||S.endColumn!==I.endColumn)&&r&&(r.updateRangeBySelectionWithCoord(L),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_updateControlPointWhenScrolling(){let{scene:e}=this._context;if(!e.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN))return;let t=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{var t;if(e==null)return;let{viewportScrollX:r,viewportScrollY:i}=e,a=this.getActiveSelectionControl();if(a==null)return;let o=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton,s=o==null?void 0:o.rowTotalHeight,c=o==null?void 0:o.columnTotalWidth,l=a.rangeType;l===n.RANGE_TYPE.COLUMN?a.transformControlPoint(0,i,c,s):l===n.RANGE_TYPE.ROW&&a.transformControlPoint(r,0,c,s)});this.disposeWithMe((0,n.toDisposable)(t))}};vp=H([V(1,(0,n.Inject)(n.Injector)),V(2,(0,n.Inject)(n.ThemeService)),V(3,r.IShortcutService),V(4,(0,n.Inject)(a.SheetsSelectionsService)),V(5,(0,n.Inject)(U)),V(6,n.ILogService),V(7,n.ICommandService),V(8,n.IContextService),V(9,(0,n.Inject)(q))],vp);let yp=class extends n.Plugin{constructor(e=ti,t,r,i,a,o){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=i,this._univerInstanceService=a,this._componentManager=o;let{menu:s,...c}=(0,n.merge)({},ti,this._config);if(c.protectedRangeUserSelector){let{component:e,framework:t}=c.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Bn,e,{framework:t}))}s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(ei,{...c})}onStarting(){(0,n.registerDependencies)(this._injector,(0,n.mergeOverrideWithDependencies)([[Cr],[J,{useClass:Ur}],[pt,{useClass:mt}],[Jr,{useClass:Yr}],[ur,{useClass:dr}],[ji,{useClass:Ai}],[_a,{useClass:ga}],[a.IRefSelectionsService,{useClass:a.RefSelectionsService}],[gp],[vu,{useClass:_u}],[ye,{useClass:be}],[Aa],[Oi],[Fl],[zl],[Sd],[Sr],[dp,{useClass:fp}],[Mi],[Ei],[Vr],[va],[wi],[Qd],[_d],[Ti],[Jd],[Hd],[Wd],[Dd],[ua],[Xn],[ef],[Zn],[nf],[Pa],[Df]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),(0,n.registerDependencies)(this._injector,[[Vd]]),this._registerRenderBasics(),(0,n.touchDependencies)(this._injector,[[Qd],[wi],[Pa],[ef]])}onRendered(){this._registerRenderModules(),(0,n.touchDependencies)(this._injector,[[Df],[Xn],[Vd],[va],[Hd],[_d],[Ei],[Vr],[Wd],[Dd],[ua]])}onSteady(){(0,n.touchDependencies)(this._injector,[[Jd],[Ti],[nf]])}_registerRenderBasics(){[[U],[ep],[$a],[B,{useClass:vp}],[q],[np]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(n.UniverInstanceType.UNIVER_SHEET,e))})}_registerRenderModules(){var e;let t=[[Wa],[Vf],[Pr],[$f],[Ra],[Wr],[jf],[Af],[Td],[Ed],[Kd],[Yd],[ja],[ki],[qd],[Di],[Jf],[Zf],[$d],[Ni],[tf],[rf],[Of],[kf]],i=this._configService.getConfig(r.UI_PLUGIN_CONFIG_KEY);((e=i==null?void 0:i.contextMenu)==null||e)&&t.push([Lf]),t.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(n.UniverInstanceType.UNIVER_SHEET,e))})}_initAutoFocus(){let e=this._univerInstanceService;this.disposeWithMe(e.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,p.filter)(e=>!!e)).subscribe(t=>e.focusUnit(t.getUnitId())))}};R(yp,`pluginName`,`SHEET_UI_PLUGIN`),R(yp,`packageName`,yd),R(yp,`version`,bd),R(yp,`type`,n.UniverInstanceType.UNIVER_SHEET),yp=H([(0,n.DependentOn)(a.UniverSheetsPlugin,r.UniverMobileUIPlugin),V(1,(0,n.Inject)(n.Injector)),V(2,i.IRenderManagerService),V(3,n.IConfigService),V(4,n.IUniverInstanceService),V(5,(0,n.Inject)(r.ComponentManager))],yp);let bp=class extends n.Disposable{constructor(e,t,n,r){super(),this._context=e,this._contextMenuService=t,this._selectionManagerService=n,this._selectionRenderService=r,this._init()}_init(){var e;let t=((e=this._context)==null||(e=e.mainComponent)==null?void 0:e.onPointerDown$).subscribeEvent(e=>{if(e.button===2){let t=this._selectionManagerService.getCurrentSelections(),i=t==null?void 0:t[0];if(!i)return;let a=i.range.rangeType,o=z(i,this._selectionRenderService.getSkeleton()).rangeWithCoord,s=()=>{if(!o)return!1;let t=e.offsetX,r=e.offsetY;switch(a){case n.RANGE_TYPE.ROW:return o.startY<=r&&o.endY>=r;case n.RANGE_TYPE.COLUMN:return o.startX<=t&&o.endX>=t;default:return o.startX<=t&&o.endX>=t&&o.startY<=r&&o.endY>=r}},c=t=>{this._contextMenuService.triggerContextMenu(e,t)};s()?a===n.RANGE_TYPE.COLUMN?c(r.ContextMenuPosition.COL_HEADER):a===n.RANGE_TYPE.ROW?c(r.ContextMenuPosition.ROW_HEADER):c(r.ContextMenuPosition.MAIN_AREA):c(r.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(t);let i=this._context.components.get(L.COLUMN),a=this._context.components.get(L.ROW).onPointerDown$.subscribeEvent(e=>{e.button===2&&this._contextMenuService.triggerContextMenu(e,r.ContextMenuPosition.ROW_HEADER)});this.disposeWithMe(a);let o=i.onPointerDown$.subscribeEvent(e=>{e.button===2&&this._contextMenuService.triggerContextMenu(e,r.ContextMenuPosition.COL_HEADER)});this.disposeWithMe(o)}};bp=H([V(1,r.IContextMenuService),V(2,(0,n.Inject)(a.SheetsSelectionsService)),V(3,B)],bp);function xp(e){return typeof e.setShadowStrategy==`function`}let Sp=class extends n.Disposable{constructor(e,t){super(),this._configService=e,this._renderManagerService=t,R(this,`_currentStrategy`,void 0),R(this,`_strategySubject`,void 0);let n=this._configService.getConfig(ei);this._currentStrategy=ni(n==null?void 0:n.protectedRangeShadow),this._strategySubject=new o.BehaviorSubject(this._currentStrategy),this.disposeWithMe({dispose:()=>{this._strategySubject.complete()}})}_updateAllWorkbooks(e){this._renderManagerService.getRenderAll().forEach(t=>{let n=t.mainComponent;if(!n)return;let r=[{key:bf},{key:xf},{key:Tf}],i=!1;for(let{key:t}of r){let r=n.getExtensionByKey(t);r&&xp(r)&&(r.setShadowStrategy(e),i=!0)}i&&n.makeDirty(!0)})}setProtectedRangeShadowStrategy(e){this._currentStrategy=e,this._strategySubject.next(e),this._updateAllWorkbooks(e)}getProtectedRangeShadowStrategy(){return this._currentStrategy}getProtectedRangeShadowStrategy$(){return this._strategySubject.asObservable()}dispose(){super.dispose(),this._strategySubject.complete()}};Sp=H([V(0,n.IConfigService),V(1,i.IRenderManagerService)],Sp);let Cp=class extends ue{constructor(e,t,n,r,i,a,o,s,c){super(t,n,r,a,c),this._context=e,this._logService=o,this._commandService=s,this._contextService=c,R(this,`_workbookSelections`,void 0),R(this,`_renderDisposable`,null),this._workbookSelections=i.getWorkbookSelections(this._context.unitId),this._init()}_init(){let e=this._getSheetObject();this._contextService.setContextValue(a.SELECTIONS_ENABLED,!0),this._initEventListeners(e),this._initSelectionModelChangeListener(),this._initThemeChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener()}dispose(){var e;super.dispose(),(e=this._renderDisposable)==null||e.dispose()}_initEventListeners(e){let{spreadsheetRowHeader:t,spreadsheetColumnHeader:r,spreadsheet:a,spreadsheetLeftTopPlaceholder:o}=e,{scene:s}=this._context;this.disposeWithMe(a==null?void 0:a.onPointerDown$.subscribeEvent((e,t)=>{this.isSelectionDisabled()||this.inRefSelectionMode()||(this._onPointerDown(e,a.zIndex+1,n.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),e.button!==2&&t.stopPropagation())})),this.disposeWithMe(t==null?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:o}=Mr(e.offsetX,e.offsetY,s,r);Ba(this._workbookSelections.getCurrentSelections(),o)||(this._onPointerDown(e,(a.zIndex||1)+1,n.RANGE_TYPE.ROW,this._getActiveViewport(e),i.ScrollTimerType.Y),e.button!==2&&t.stopPropagation())})),this.disposeWithMe(r==null?void 0:r.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:o}=Mr(e.offsetX,e.offsetY,s,r);Va(this._workbookSelections.getCurrentSelections(),o)||(this._onPointerDown(e,(a.zIndex||1)+1,n.RANGE_TYPE.COLUMN,this._getActiveViewport(e),i.ScrollTimerType.X),e.button!==2&&t.stopPropagation())})),this.disposeWithMe(o==null?void 0:o.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;this._reset();let n=this._sheetSkeletonManagerService.getCurrentParam().skeleton,r=de(n);this._addSelectionControlByModelData(r),this.refreshSelectionMoveEnd(),e.button!==2&&t.stopPropagation()}))}_initThemeChangeListener(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._initSelectionThemeFromThemeService();let e=this._workbookSelections.getCurrentSelections();e&&this.resetSelectionsByModelData(e)}))}_initSelectionModelChangeListener(){this.disposeWithMe((0,o.merge)(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(e=>{this.resetSelectionsByModelData(e)}))}disableSelection(){this._contextService.setContextValue(a.SELECTIONS_ENABLED,!1)}enableSelection(){this._contextService.setContextValue(a.SELECTIONS_ENABLED,!0)}transparentSelection(){let e=(0,n.set)(this._themeService.getCurrentTheme(),`primary.600`,`transparent`);this.setSelectionTheme(e);let t=this._workbookSelections.getCurrentSelections();for(let e=0;e<t.length;e++){let n=t[e];n.style=P(this._selectionTheme)}this.resetSelectionsByModelData(t)}showSelection(){let e=this._themeService.getCurrentTheme();this.setSelectionTheme(e);let t=this._workbookSelections.getCurrentSelections();for(let e=0;e<t.length;e++){let n=t[e];n.style&&(n.style=P(this._selectionTheme))}this.resetSelectionsByModelData(t)}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>this._updateSelections(e,a.SelectionMoveType.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(e=>this._updateSelections(e,a.SelectionMoveType.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(a.REF_SELECTIONS_ENABLED).pipe((0,o.startWith)(!1),(0,o.distinctUntilChanged)()).subscribe(e=>{e&&this._reset()})),this.disposeWithMe(this._contextService.subscribeContextValue$(a.SELECTIONS_ENABLED).pipe((0,o.startWith)(!0),(0,o.distinctUntilChanged)()).subscribe(e=>{if(e)this._renderDisposable=(0,n.toDisposable)(this.selectionMoveEnd$.subscribe(e=>{this._updateSelections(e,a.SelectionMoveType.MOVE_END)}));else{var t;(t=this._renderDisposable)==null||t.dispose(),this._renderDisposable=null,this._reset()}}))}_updateSelections(e,t){let n=this._context.unit,r=n.getUnitId(),i=n.getActiveSheet().getSheetId();if(e.length===0)return;let o=e.map(e=>(0,a.convertSelectionDataToRange)(e));this._commandService.executeCommand(a.SetSelectionsOperation.id,{unitId:r,subUnitId:i,type:t,selections:o})}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(e==null){this._logService.error(`[SelectionRenderService]: should not receive null!`);return}let n=this._context.unitId,{sheetId:r,skeleton:o}=e,{scene:s}=this._context,c=s.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN),l=(t=this._skeleton)==null||(t=t.worksheet)==null?void 0:t.getSheetId();if(this._changeRuntime(o,s,c),l!==o.worksheet.getSheetId()){let e=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,{unitId:n,subUnitId:r,selections:e.length===0?[fe(o)]:e})}let u=this._workbookSelections.getCurrentSelections();u!=null&&this.resetSelectionsByModelData(u)}))}_getActiveViewport(e){let t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(i.Vector2.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return Ar(this._context.unit,this._context)}_onPointerDown(e,t=0,r=n.RANGE_TYPE.NORMAL,a,o=i.ScrollTimerType.ALL){var s,c;this._rangeType=r;let l=this._skeleton,u=this._scene;if(!u||!l)return;a&&(this._activeViewport=a);let{offsetX:d,offsetY:f}=e,p=u.getViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!p)return;let m=u.getCoordRelativeToViewport(i.Vector2.FromArray([d,f])),{x:h,y:g}=m;this._startViewportPosX=h,this._startViewportPosY=g;let _=u.getScrollXYInfoByViewport(m),{scaleX:v,scaleY:y}=u.getAncestorScale(),b=this._skeleton.getCellByOffset(h,g,v,y,_);if(!b)return;switch(r){case n.RANGE_TYPE.NORMAL:break;case n.RANGE_TYPE.ROW:b.startColumn=0,b.endColumn=this._skeleton.getColumnCount()-1,b.startRow=b.actualRow,b.endRow=b.actualRow;break;case n.RANGE_TYPE.COLUMN:b.startRow=0,b.endRow=this._skeleton.getRowCount()-1,b.startColumn=b.actualColumn,b.endColumn=b.actualColumn;break;case n.RANGE_TYPE.ALL:b.startRow=0,b.startColumn=0,b.endRow=this._skeleton.getRowCount()-1,b.endColumn=this._skeleton.getColumnCount()-1}let x={range:b,primary:b,style:null};x.range.rangeType=r;let S=z(x,this._skeleton);this._startRangeWhenPointerDown={...S.rangeWithCoord};let C=this.getActiveSelectionControl(),w={...S.rangeWithCoord,rangeType:r},T=this.getSelectionControls();for(let t of T)if(e.button===2&&n.Rectangle.contains(t.model,w)){C=t;return}this._checkClearPreviousControls(e);let E=C==null?void 0:C.model.currentCell,D=e.shiftKey&&E,O=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;D?this._makeSelectionByTwoCells(E,w,l,r,C):O&&C?C.updateRangeBySelectionWithCoord(S):C=this.newSelectionControl(u,l,x);for(let e=0;e<this.getSelectionControls().length-1;e++)this.getSelectionControls()[e].clearHighlight();u.disableObjectsEvent(),this._clearUpdatingListeners(),this._addEndingListeners(),(s=u.getTransformer())==null||s.clearSelectedObjects(),this._setupPointerMoveListener(p,C,r,o,h,g),this._escapeShortcutDisposable=this._shortcutService.forceEscape(),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._scenePointerUpSub=u.onPointerUp$.subscribeEvent(()=>{var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null}),(c=this._scene.getEngine())==null||c.setCapture()}};Cp=H([V(1,(0,n.Inject)(n.Injector)),V(2,(0,n.Inject)(n.ThemeService)),V(3,r.IShortcutService),V(4,(0,n.Inject)(a.SheetsSelectionsService)),V(5,(0,n.Inject)(U)),V(6,n.ILogService),V(7,n.ICommandService),V(8,n.IContextService)],Cp);let wp=class extends n.Plugin{constructor(e=ti,t,r,i,a,o){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=i,this._univerInstanceService=a,this._componentManager=o;let{menu:s,...c}=(0,n.merge)({},ti,this._config);if(c.protectedRangeUserSelector){let{component:e,framework:t}=c.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Bn,e,{framework:t}))}s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(ei,{...c})}onStarting(){(0,n.registerDependencies)(this._injector,(0,n.mergeOverrideWithDependencies)([[Cr],[J,{useClass:Ur}],[pt,{useClass:mt}],[Jr,{useClass:Yr}],[ur,{useClass:dr}],[ji,{useClass:Ai}],[_a,{useClass:ga}],[a.IRefSelectionsService,{useClass:a.RefSelectionsService}],[gp],[vu,{useClass:_u}],[ye,{useClass:be}],[Aa],[Oi],[Fl],[zl],[Sd],[Sr],[dp,{useClass:fp}],[Mi],[Ei],[Vr],[va],[wi],[pd],[_d],[Ti],[Jd],[Hd],[Wd],[Dd],[ua],[Xn],[ef],[Zn],[Sp],[nf],[Pa],[Df]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),(0,n.registerDependencies)(this._injector,[[Vd]]),this._registerRenderBasics(),(0,n.touchDependencies)(this._injector,[[pd],[wi],[Pa],[ef]])}onRendered(){this._registerRenderModules(),(0,n.touchDependencies)(this._injector,[[Df],[Xn],[Vd],[va],[Hd],[_d],[Ei],[Vr],[Wd],[Dd],[ua]])}onSteady(){(0,n.touchDependencies)(this._injector,[[Jd],[Ti],[nf]])}_registerRenderBasics(){[[U],[ep],[$a],[B,{useClass:Cp}],[np]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(n.UniverInstanceType.UNIVER_SHEET,e))})}_registerRenderModules(){var e;let t=[[Wa],[Vf],[Qa],[q],[Pr],[Ra],[Wr],[jf],[Af],[Td],[Ed],[Kd],[Yd],[ja],[ki],[qd],[Di],[bp],[$d],[Ni],[tf],[rf],[Of],[kf]],i=this._configService.getConfig(r.UI_PLUGIN_CONFIG_KEY);((e=i==null?void 0:i.contextMenu)==null||e)&&t.push([Lf]),t.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(n.UniverInstanceType.UNIVER_SHEET,e))})}_initAutoFocus(){let e=this._univerInstanceService;this.disposeWithMe(e.getCurrentTypeOfUnit$(n.UniverInstanceType.UNIVER_SHEET).pipe((0,p.filter)(e=>!!e)).subscribe(t=>e.focusUnit(t.getUnitId())))}};R(wp,`pluginName`,`SHEET_UI_PLUGIN`),R(wp,`packageName`,yd),R(wp,`version`,bd),R(wp,`type`,n.UniverInstanceType.UNIVER_SHEET),wp=H([(0,n.DependentOn)(a.UniverSheetsPlugin),V(1,(0,n.Inject)(n.Injector)),V(2,i.IRenderManagerService),V(3,n.IConfigService),V(4,n.IUniverInstanceService),V(5,(0,n.Inject)(r.ComponentManager))],wp);function Tp(e,t,n,r){let{from:a,to:o}=n,{column:s,columnOffset:c,row:l,rowOffset:u}=a,{column:d,columnOffset:f,row:p,rowOffset:m}=o,h=r.ensureSkeleton(t);if(h==null)throw Error(`No current skeleton`);let g=ce(h,{startColumn:s,endColumn:s,startRow:l,endRow:l}),_=ce(h,{startColumn:d,endColumn:d,startRow:p,endRow:p}),{startX:v,startY:y}=g,{startX:b,startY:x}=_,S=(0,i.precisionTo)(v+c,1),C=(0,i.precisionTo)(y+u,1),w=(0,i.precisionTo)(b+f-S,1),T=(0,i.precisionTo)(x+m-C,1);return g.startX===_.endX&&(w=0),g.startY===_.endY&&(T=0),{unitId:e,subUnitId:t,left:S,top:C,width:w,height:T}}function Ep(e,t,n,r,a,o,s){let{column:c,columnOffset:l,row:u,rowOffset:d}=n,f=s.ensureSkeleton(t);if(f==null)throw Error(`No current skeleton`);let{startX:p,startY:m}=ce(f,{startColumn:c,endColumn:c,startRow:u,endRow:u}),h=(0,i.precisionTo)(p+l,1),g=(0,i.precisionTo)(m+d,1),_=o.getCellWithCoordByOffset(h+r,g+a,f);if(_==null)throw Error(`No end selection cell`);let v={column:_.actualColumn,columnOffset:(0,i.precisionTo)(h+r-_.startX,1),row:_.actualRow,rowOffset:(0,i.precisionTo)(g+a-_.startY,1)};return{unitId:e,subUnitId:t,sheetTransform:{from:{column:c,columnOffset:l,row:u,rowOffset:d},to:v},transform:{left:h,top:g,width:r,height:a}}}e.AddRangeProtectionFromContextMenuCommand=er,e.AddRangeProtectionFromSheetBarCommand=nr,e.AddRangeProtectionFromToolbarCommand=$n,e.ApplyFormatPainterCommand=hr,Object.defineProperty(e,`AutoFillUIController`,{enumerable:!0,get:function(){return Ti}}),Object.defineProperty(e,`AutoHeightController`,{enumerable:!0,get:function(){return Ei}}),Object.defineProperty(e,`AutoWidthController`,{enumerable:!0,get:function(){return Vr}}),e.BaseSelectionRenderService=ue,e.COPY_SPECIAL_MENU_ID=Pc,e.COPY_TYPE=qe,Object.defineProperty(e,`CellAlertManagerService`,{enumerable:!0,get:function(){return Sd}}),e.CellAlertType=xd,Object.defineProperty(e,`CellCustomRenderController`,{enumerable:!0,get:function(){return Di}}),e.CellEditorManagerService=Ai,Object.defineProperty(e,`CellPopupManagerService`,{enumerable:!0,get:function(){return zl}}),e.ChangeSheetProtectionFromSheetBarCommand=Qr,e.ChangeZoomRatioCommand=Kr,e.DeleteRangeMoveLeftConfirmCommand=kt,e.DeleteRangeMoveUpConfirmCommand=At,e.DeleteRangeProtectionFromContextMenuCommand=ir,e.DeleteWorksheetProtectionFormSheetBarCommand=Zr,Object.defineProperty(e,`DragManagerService`,{enumerable:!0,get:function(){return Oi}}),Object.defineProperty(e,`DragRenderController`,{enumerable:!0,get:function(){return ki}}),e.EMBEDDING_FORMULA_EDITOR=ya,e.EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY=I,Object.defineProperty(e,`EditingRenderController`,{enumerable:!0,get:function(){return ua}}),Object.defineProperty(e,`EditorBridgeService`,{enumerable:!0,get:function(){return Ur}}),e.ExpandSelectionCommand=Dr,e.FormatPainterStatus=lr,e.FormulaBar=Ql,Object.defineProperty(e,`FormulaEditorController`,{enumerable:!0,get:function(){return va}}),Object.defineProperty(e,`HeaderFreezeRenderController`,{enumerable:!0,get:function(){return Ra}}),Object.defineProperty(e,`HeaderMoveRenderController`,{enumerable:!0,get:function(){return Wa}}),Object.defineProperty(e,`HeaderResizeRenderController`,{enumerable:!0,get:function(){return Qa}}),e.HideColConfirmCommand=qt,e.HideRowConfirmCommand=Kt,Object.defineProperty(e,`HoverManagerService`,{enumerable:!0,get:function(){return Aa}}),Object.defineProperty(e,`HoverRenderController`,{enumerable:!0,get:function(){return ja}}),e.ICellEditorManagerService=ji,e.IEditorBridgeService=J,e.IFormatPainterService=ur,e.IFormulaEditorManagerService=_a,e.IMarkSelectionService=ye,e.ISheetCellDropdownManagerService=dp,e.ISheetClipboardService=pt,e.ISheetSelectionRenderService=B,e.IStatusBarService=vu,e.InsertRangeMoveDownConfirmCommand=cn,e.InsertRangeMoveRightConfirmCommand=ln,e.JumpOver=wr,Object.defineProperty(e,`MarkSelectionService`,{enumerable:!0,get:function(){return be}}),e.MobileSheetBar=Xd,e.MoveSelectionCommand=Tr,e.MoveSelectionEnterAndTabCommand=Er,e.PASTE_SPECIAL_MENU_ID=Ic,e.PREDEFINED_HOOK_NAME=dt,e.PREDEFINED_HOOK_NAME_COPY=ut,e.PREDEFINED_HOOK_NAME_PASTE=G,e.RANGE_SELECTOR_COMPONENT_KEY=ee,e.RANGE_SELECTOR_SYMBOLS=oa,e.RemoveColConfirmCommand=sr,e.RemoveRowConfirmCommand=or,e.RemoveSheetConfirmCommand=cr,e.RenameSheetOperation=ai,e.RenderSheetContent=Eu,e.RenderSheetFooter=wu,e.RenderSheetHeader=Tu,e.ResetRangeTextColorCommand=sn,e.ResetScrollCommand=zr,e.SELECTION_SHAPE_DEPTH=N,e.SHEET_UI_PLUGIN_NAME=`SheetUI`,e.SHEET_VIEW_KEY=L,e.ScrollCommand=Lr,e.ScrollToCellCommand=Rr,e.ScrollToRangeOperation=oi,e.SelectAllCommand=Or,e.SelectionControl=_e,e.SelectionShape=_e,e.SelectionShapeExtension=he,e.SetActivateCellEditOperation=$r,e.SetCellEditVisibleArrowOperation=ii,e.SetCellEditVisibleOperation=Y,e.SetCellEditVisibleWithF2Operation=ri,e.SetColumnFrozenCommand=yr,e.SetColumnHeaderHeightCommand=oe,e.SetFirstColumnFrozenCommand=xr,e.SetFirstRowFrozenCommand=br,e.SetFormatPainterOperation=fr,e.SetInfiniteFormatPainterCommand=pr,e.SetOnceFormatPainterCommand=mr,e.SetRangeBoldCommand=Yt,e.SetRangeFontDecreaseCommand=rn,e.SetRangeFontFamilyCommand=an,e.SetRangeFontIncreaseCommand=nn,e.SetRangeFontSizeCommand=tn,e.SetRangeItalicCommand=Xt,e.SetRangeProtectionFromContextMenuCommand=ar,e.SetRangeStrickThroughCommand=Qt,e.SetRangeSubscriptCommand=$t,e.SetRangeSuperscriptCommand=en,e.SetRangeTextColorCommand=on,e.SetRangeUnderlineCommand=Zt,e.SetRowFrozenCommand=vr,e.SetRowHeaderWidthCommand=ae,e.SetScrollOperation=Fr,e.SetScrollRelativeCommand=Ir,e.SetSelectionFrozenCommand=_r,e.SetWorksheetColAutoWidthCommand=Hr,e.SetZoomRatioCommand=qr,e.SetZoomRatioOperation=Gr,e.SheetBar=pu,Object.defineProperty(e,`SheetCanvasPopManagerService`,{enumerable:!0,get:function(){return Fl}}),Object.defineProperty(e,`SheetCellDropdownManagerService`,{enumerable:!0,get:function(){return fp}}),Object.defineProperty(e,`SheetCellEditorResizeService`,{enumerable:!0,get:function(){return Mi}}),Object.defineProperty(e,`SheetClipboardService`,{enumerable:!0,get:function(){return mt}}),e.SheetCopyCommand=bt,Object.defineProperty(e,`SheetCopyDownCommand`,{enumerable:!0,get:function(){return a.SheetCopyDownCommand}}),Object.defineProperty(e,`SheetCopyRightCommand`,{enumerable:!0,get:function(){return a.SheetCopyRightCommand}}),e.SheetCutCommand=xt,e.SheetMenuPosition=dc,e.SheetPasteBesidesBorderCommand=Dt,e.SheetPasteColWidthCommand=Et,e.SheetPasteCommand=St,e.SheetPasteFormatCommand=Tt,e.SheetPasteShortKeyCommand=Ct,e.SheetPasteValueCommand=wt,Object.defineProperty(e,`SheetPermissionCheckUIController`,{enumerable:!0,get:function(){return Pa}}),e.SheetPermissionOpenDialogOperation=si,e.SheetPermissionOpenPanelOperation=Qn,Object.defineProperty(e,`SheetPermissionRenderManagerService`,{enumerable:!0,get:function(){return Sp}}),e.SheetPermissionUserManagerService=Zn,e.SheetPrintInterceptorService=gp,Object.defineProperty(e,`SheetRenderController`,{enumerable:!0,get:function(){return $a}}),Object.defineProperty(e,`SheetScrollManagerService`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(e,`SheetSelectionRenderService`,{enumerable:!0,get:function(){return Cp}}),Object.defineProperty(e,`SheetSkeletonManagerService`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(e,`SheetUIController`,{enumerable:!0,get:function(){return pd}}),Object.defineProperty(e,`SheetsRenderService`,{enumerable:!0,get:function(){return wi}}),Object.defineProperty(e,`SheetsScrollRenderController`,{enumerable:!0,get:function(){return Pr}}),e.SheetsUIMenuSchema=Nl,e.SheetsUIPart=Si,e.ShowMenuListCommand=Xr,e.SidebarDefinedNameOperation=li,Object.defineProperty(e,`StatusBarController`,{enumerable:!0,get:function(){return _d}}),e.StatusBarService=_u,e.UNIVER_SHEET_PERMISSION_USER_PART=Bn,Object.defineProperty(e,`UniverSheetsMobileUIPlugin`,{enumerable:!0,get:function(){return yp}}),Object.defineProperty(e,`UniverSheetsUIPlugin`,{enumerable:!0,get:function(){return wp}}),e.ViewSheetPermissionFromContextMenuCommand=tr,e.ViewSheetPermissionFromSheetBarCommand=rr,e.attachPrimaryWithCoord=le,e.attachRangeWithCoord=ce,e.attachSelectionWithCoord=z,e.calculateDocSkeletonRects=Ta,e.checkInHeaderRanges=Ha,e.convertPositionCellToSheetOverGrid=Ep,e.convertPositionSheetOverGridToAbsolute=Tp,e.deriveStateFromActiveSheet$=Z,e.functionDisplayNames=bu,e.genNormalSelectionStyle=P,e.genSelectionByRange=pe,e.getAllSelection=de,e.getCellRealRange=_i,e.getCoordByCell=jr,e.getCoordByOffset=Mr,e.getCurrentExclusiveRangeInterest$=vs,e.getCurrentRangeDisable$=Q,e.getCustomRangePosition=Da,e.getEditingCustomRangePosition=Oa,e.getEditorObject=x,e.getMatrixPlainText=ht,e.getObservableWithExclusiveRange$=ys,e.getRepeatRange=et,e.getSheetObject=Ar,e.getTopLeftSelectionOfCurrSheet=fe,e.getTransformCoord=Nr,e.getViewportByCell=mi,e.isEmbeddingFormulaEditor=ba,e.isRangeSelector=sa,e.menuClipboardDisabledObservable=Ac,e.mergeSetRangeValues=at,e.useActiveWorkbook=yi,e.useActiveWorksheet=bi,e.useHighlightRange=vd,e.useKeyEventConfig=Gl,e.useWorkbooks=xi,e.virtualizeDiscreteRanges=A,e.whenFormulaEditorActivated=O,e.whenSheetEditorFocused=C});